基本模型计算机设计与实现(18页).doc
《基本模型计算机设计与实现(18页).doc》由会员分享,可在线阅读,更多相关《基本模型计算机设计与实现(18页).doc(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基本模型计算机设计与实现-第 16 页 课程设计说明书 课程设计名称: 计算机组成原理 课程设计题目: 基本模型计算机设计与实现 学 院 名 称: 信息工程学院 专业: 计算机科学与技术 班级: 学号: 姓名: 袁东 评分: 教师: 20 15 年 6 月 日 摘要 随着大规模集成电路技术和计算机技术的不断发展,在涉及通信、国防、工业自动化、计算机应用、仪器仪表等领域的电子系统设计工作中,现场可编程(FPGA)技术含量正以惊人的速度上升。特别是随着VHDL 等硬件描述语言综合工具功能和性能的提高,计算机中许多重要的元件,包括CPU 都用硬件描述语言来设计和表达。GW48 C+计算机组成原理实
2、验台采用模块化的系统结构,本文通过一系列基本单元实验和模型计算机综合设计,对CPU 的运算功能、控制功能、总线结构、指令系统的设计和微指令的实现,最终形成一个功能较为完整的片上模型计算机系统, 在进行各个单元实验和综合实验时,既可以通过系统计算机进行综合设计,Quartus-软件仿真、观察仿真波形,更重要的是可以在GW48 CP+实验平台上,将设计的CPU 电路下载到FPGA 中进行硬件仿真。观察CPU 内部的各种信息:包括数据总线、地址寄存器、程序计数器、指令译码器、指令寄存器、控制信号、内部寄存器、数据寄存器、微指令存储器LPM_ROM中的数据等,实时观察每条指令及微指令的执行情况,从而对
3、计算机的原理、结构,从部件到系统,直到计算机整机有一个形象的、生动的、本质的认识。关键字:FPGA、模型机、微程序控制、Quartus- 前言计算机组成原理是计算机科学技术学科的一门核心专业基础课程。从课程的地位来说,它在先导课程和后续课程之间起着承上启下的作用。再结合着所学的数字逻辑以及电路的相关知识,就基本上对现代计算机的组成结构和原理有了一定的理解,此次的课程设计便是一次将理论应用到实际的一个非常好的机会。并且可以加深对计算机的时间和空间概念的理解,增强对计算机硬件和计算机指令系统的更进一步了解。 美国一些知名大学计算机实验室,那里计算机方面的硬件实验,包括计算机组成原理实验早已不用那种
4、传统接插式实验,而是全部采用EDA 技术进行所有的软硬件实验!显然,使用大规模 FPGA、EDA 软件工具和IEEE 标准硬件描述语言构建的现代计算机组成原理实验系统取代传统的计算机组成原理实验已成为势在必行。利用 FPGA 技术,在实验中能方便灵活地设计出简单完整的模型机。基于查找表硬件结构的商用FPGA 是当前进行快速系统原型设计最流行的ASIC 手段。ALTERA 的ACEX 系列FPGA 产品具有片上EAB,可以构成构成各种类型的存储器结构,利用在其内部的LPM 可以实现微程序控制和管理复杂逻辑电路。本次课程设计便是在GW48 C+平台上实现的 ,首先用Quartus- 软件对基本模型
5、机的各个组成部分进行设计仿真,然后将各个部分有机的组合起来,形成一个可以完成某些操作的CPU,在软件上仿真成功之后,下载到平台上然后具体的在硬件上实现各个功能。 目录第一章 设计内容及要求.4 1.1 设计任务.4 1.2 设计要求.4第二章 系统组成及工作原理.5 2.1 系统组成.5 2.2 工作原理.5第三章 系统设计.10 3.1 CPU顶层设计.10 3.2 取指令和指令译码.12 3.3 设计微代码表.12 3.4控制执行单元.14第四章 系统调试和分析.15 4.1 模型机的软件执行.15 4.2 模型CPU的硬件仿真.15第五章 总结.18 参考文献.19附录.20 第一章 设
6、计内容及要求1.1 设计任务(1) 定义五条机器指令,并编写响应的微程序作为模型计算机的控制器;(2) 使用电路框图设计模型计算机电路,并下载编程芯片为定制的简单模型 CPU;(3) 在实验系统上连接输入按键和输出显示为输出的模型计算机系统。 1.2 设计要求 (1) 深入理解基本模型计算机的功能和组成知识; (2)深入学习计算机各类典型指令的执行流程 (3)学习微程序控制器的设计过程和相关技术,掌握LPM_ROM的配置方法; (4)掌握微程序的设计方法,学会编写二进制微指令代码表; (5)在掌握部件单元电路实验的基础上,进一步将单元电路组成系统,构造一 台基本模型计算机。 第二章 系统组成及
7、工作原理2.1系统组成 模型机主要由算术逻辑运算单元ALU, 数据暂存寄存器DR0、DR1, 数据寄存器R0 R2, 程序计数器PC, 地址寄存器AR, 程序/数据存储器RAM, 指令寄存器IR, 微控制器,输入单元INPUT和输出单元OUTPUT 所组成。如其功能模块框图2-1 所示。图中虚线框内部分包括运算器、控制器、程序存储器、数据存储器和微程序存储器等,实测时,它们都可以在单片FPGA 中实现。虚线框外部分主要是输入/输出装置,包括键盘、数码管、LCD 显示器等,用于向CPU 输入数据,或CPU 向外输出数据,以及观察CPU 内部工作情况及运算结果。 图2-1模型机通路框图 2.2工作
8、原理本模型能在微过程控制下自动产生各部件单元控制信号,实现特定的功能。模型中,计算机数据通路的控制将由微过程控制器来完成,CPU 从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。(1) 指令系统。本实验采用五条机器指令。指令编码如下表: 表2.1 指令编码助记符操作码addr地址码功能描述IN00H“INPUT”R0,键盘输入数据ADD addr10HXXHR0+addr R0STA addr20HXXHR0addrOUT addr30HXXHBUS“OUTPUT”,显示输出数据JMP addr40HXXHaddrPC指令分单字
9、节和双字节,单字节指令只有IN一条,其余都是双字节指令。指令各式如表2.2和表2.3。表2.2 单字节指令格式7 6 5 43 21 0操作码源寄存器目的寄存器 表2.3 双字节指令格式7 6 5 4 3 2 1 07 6 5 4 3 2 1 0操作码操作数(内存地址码)源和目的寄存器可以是三个工作寄存器之一,寄存器标号R0为00,R1为01,R2为10。为了在试验台上用键盘输入程序和数据到内存,以及通过液晶屏显示输出,设计了3个控制台操作命令,通过按键SWB 和SWA组合实现(括号中是SWB,SWA的键值): 1.存储器读操作(KRD):下载实验程序后按总清除按键(CLR)后,控制台SWA、
10、SWB为“0 0”时,可对RAM连续手动读入操作。2.存储器写操作(KWE):下载实验程序后按总清除按键(CLR)后,控制台SWA、SWB为“0 1”时,可对RAM连续手动写操作。3.启动程序(RP):下载实验程序后按总清除按键(CLR)后,控制台SWA、SWB为“1 1”时,即可转入到微地址“01”号“取指令”微指令,启动程序运行。(2)模型计算机硬件模型机硬件有以下部分组成:运算器:采用8位运算器ALU181,实现算术逻辑运算。该电路的两个操作数输入端设置两个寄存器DR0和DR1。程序计数器PC:用来指示执行指令的地址,以便从内存取得指令。地址寄存器AR:存放并输出访问内存单元的地址。指令
11、寄存器IR:锁存取得的指令,供控制电路解码分析执行。此外,还提供了3个工作寄存器R0,R1和R2。存放可编程程序和数据的存储器RAM也在芯片上实现(像单片机一样)。各个功能模块通过总线连接。控制器采用微程序设计。整个模型机各功能部件的工作及通路连接的微操作代码如表2.4和表2.5所示。采用字宽24位的ROM存放微程序,3个3-8译码器组成24位输出译码电路。表2.4 24位微代码定义24232221201918171615 14 1312 11 109 8 7654321S3S2S1S0MCnWEA9A8A字段B字段C字段uA5uA4uA3uA2uA1uA0操作控制信号译码器下址字段表2.5微
12、指令译码字段说明A字段B字段C字段151413选择121110选择987选择000000000001LDRi001RS_B001P(1)010LDR1010RD_B010P(2)011LDR2011RJ_B011P(3)100LDIR100SFT_B100P(4)101LOAD101ALU_B101LDAR110LDAR110PC_B110LDPC24位微代码信号的功能解释如下: S3-S1,ALU的操作选择信号,控制执行16种算术逻辑操作之一种; M,ALU操作方式选择,等于O为算术操作,等于1时执行逻辑操作; CN ,进位标志,等于0时,最低位有进位输入,等于1表示无进位; WE,控制RA
13、M的读写信号,0值为读,1值为写; A9,A8,经译码产生键盘SW_B,存储器RAM,输出显示LED通路选择信号; A字段, 经译码产生各部件从总线输入选通信号,参考表2.5; B字段, 经译码产生各部件到总线输出选通信号,参考表2.5; C字段, 经译码产生测试转移P1P4,装入程序计数器LDPC,参考表3-18; A5A0,微程序地址信号(3) 微程序设计 微程序的设计是根据运行指令微程序流程图设计出来的,因此在设计微程序时,必须先画好运行指令微程序流程图,该模型机的微指令程序流程图如图2-2所示。 图2-2微程序流程图 1. IN 指令 根据PC里面的地址将其存放到地址寄存器中,然后根据
14、地址寄存器中的地址找到RAM中的对应存储单元将第一条指令的IN取出放到指令寄存器中,然后译码,经地址转移逻辑在ROM中找到对应微指令的入口地址开始执行,将SW输入的值送入R0中。 2. ADD 指令 在执行上一条指令IN时PC里面的值已经加一,此时PC中的值已经是RAM中ADD 指令的操作码的地址了,在将PC里面的值送到地址寄存器时,PC的值也随之加一,指向了ADD指令的地址码,根据地址码,将对应存储空间的数据放入到DR2中,将第一条指令的中输入到R0中的数据放到DR1中,两个数相加放到R0中。3. STA 指令 PC-AR:将PC里的值放入到地址寄存器AR中, PC+1:计数器的值加一,指向
15、这条指令的地址码, PC-AR:将PC里的值放入到地址寄存器中, PC+1:计数器中的值是指向下一条指令的操作码。 RAM-BUS :将STA的地址码放到总线上, BUS-AR:将STA的地址码放到地址寄存器上, R0-BUS:将R0中的数据放到总线上, BUS-RAM:将BUS上的数据放到地址寄存器的对应的存储单元中。 4. OUT 指令 根据PC里面的数值将OUT指令的操作码取出放入到指令寄存器,PC+1,又根据PC里的内容取出指令的地址码,根据地址码,取出对应存储单元的数据通过总线,放到DR1中,最后输出到显示屏上。 5. JMP 指令无条件转移指令JMP,以紧跟在操作码后的字节的内容作
16、为转移地址。将该字节的内容送给程序计数器PC,实现程序的转移:ARPC,PCPC+1 ;以PC 的内容作为取数据的地址BUSRAM,PCBUS ;将RAM 内容送PC,实现程序转移将每一条指令的微操作编辑在一起,就得到全部指令的微程序流程图,如图2-2所示。 第三章 系统设计3.1 CPU 顶层设计 根据图2-1将各个部件设计出来,然后进行仿真,仿真成功之后,将各个部件通过总线连接起来,完成顶层的设计。 算术逻辑单元ALU 是ALU181,其运算功能与74LS181 类似,但用VHDL 语言编写,是一个8 位的运算器。,其代码如下LIBRARY IEEE;USE IEEE.STD_LOGIC_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 模型 计算机 设计 实现 18
限制150内