计算机组成原理课程设计—基于微程序控制器的简单计算机系统设计与实现.doc
《计算机组成原理课程设计—基于微程序控制器的简单计算机系统设计与实现.doc》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计—基于微程序控制器的简单计算机系统设计与实现.doc(56页珍藏版)》请在沃文网上搜索。
1、目 录1 课程设计概述71.1 课设目的71.2 设计任务71.3 设计要求82 实验原理与环境92.1 实验原理92.2 实验环境93 总体方案设计103.1 需求分析103.2 硬件设计103.3 软件设计164 详细设计与实现184.1 选用芯片184.2 硬件实现244.3 软件实现305 实验过程与调试485.1 仿真XXX485.2 主要故障与调试495.3 功能测试515.4 实验流程图536 设计总结与心得556.1 课设总结556.2 课设心得57参考文献59附录 (实验电路大图及部分重要的图)附在纸质档后面1、课程设计概述1.1课设目的计算机组成原理是计算机专业的核心专业基
2、础课,也是作为计算机专业的学生应该要好好掌握的重要学科。课程设计属于设计型实验,不仅锻炼学生简单计算机系统的设计能力,考验同学的创新思维,而且通过进行设计及实现,进一步提高分析和解决问题的能力。再者,组成原理课设也是对学生们一个学期的学习成果的检验和巩固,也是同学们提高分析、定位、排错能力的一次机会。1.2设计任务计算机系统设计的总体目标是设计模型机系统的总体结构、指令系统和时序信号。在对该模型机系统中的部件功能利用EDA软件的仿真功能进行仿真分析和功能验证的基础上,将部分电路下载到FPGA,并与适当的外围器件(包括部分芯片、输入/输出开关、LED显示等)相配合,实现模型机的主机系统。要求所设
3、计的主机系统能支持自动和单步运行方式,能正确地执行存放在主存中程序的功能,对主要的数据流和控制流通过LED适时显示信息。具体如下:l 设计微程序控制器或硬布线控制器或基于微程序和硬布线相结合方式的CPU控制器;l 利用所设计的CPU组成一台功能完整的模型机并基于实验平台实现.要求部分功能利用FPGA实现,部分功能用芯片连接实现;l 所设计的模型机支持加法减运算等基本的算术运算指令、支持逻辑运算类指令、支持存储器读写指令、支持寄存器间数据传送等几类指令、支持定点数的溢出判断;l 支持立即数寻址、直接寻址、隐含寻址、间接寻址(寄存器寻址)等几种基本的寻址方式;l 能支持10条以上的指令;l 能运行
4、由自己设计的CPU所支持的指令系统构成的一段程序,程序执行功能正确;l 根据课程设计指导书和本次课程设计的具体要求,制定出设计方案。确定CPU 的基本结构是采用总线方式还是采用专用通路方式;l 画出自己所设计计算机系统的原理框图和器件连接图,分析器件连接图中各器件不同引脚的功能,哪些可以固定连接,哪些需要通过微程序来控制,以及这些控制信号的有效形式;l 画出各指令的指令周期流程图和所需要的控制信号;l 布线、调试、验收; l 鼓励完成上述基本功能的基础上进行适当扩展,比如支持流水线、支持其他寻址方式等。1.3设计要求根据理论课程所学的至少,设计出简单计算机系统的总体方案,结合各单元实验积累和课
5、堂上所学知识,选择适当芯片,设计简单的计算机系统,具体要求如下:l 利用各单元实验和课堂上所学知识,选择适当的芯片,设计简单的计算机系统;l 在完成数据通路设计并验证数据通路功能的基础上增加指令和微指令控制的功能;l 以手动方式产生各指令执行过程中所需要的微命令,控制指令的执行;l 以自己所设计的计算机系统为硬件环境,设计出完成指定功能的各指令周期流程图,并设计出相应的微命令;l 设计时序列电路,产生满足指令周期和指令执行所需要的多级时序信号;设计控存,将各指令的微程序存放在CM中,经过适当的时序控制,通过微程序自动控制指令的执行(当采用微程序控制器时)。2、实验原理与环境2.1实验原理计算机
6、组成原理,数字逻辑, FPGA(Field Programmable Gate Array)现场可编程门阵列 、QUARTUS仿真等2.2实验环境JZYLII型计算机组成原理试验台,windows xp系统,512M内存电脑电脑一台,Quartus II 6.0版软件,导线若干。3、总体方案设计3.1需求分析在这次计算机系统设计中,我们需要根据计算机的各个部件先画出总的框图,然后在框图的基础上选择适当的芯片实现各自的功能,主要先实现运算器部分,保证运算的正确性,然后设计存储部分,选择主存和控存是合并还是分开,然后设计对应的微指令,用手动操作检验后,进行设计时序电路,转成自动执行。3.2硬件设计
7、3.2.1总体设计本次我们采用的方案是微程序控制,且主、控存分开的方案,即采用微程序控制方式,实现主存储器(MM)和微程序控制存储器(CM)不共用一个存储器的方式完成方案的设计。同时在实施的过程中,采用部分电路用FPGA方式下载、部分电路用硬件搭建的方式完成,其中运算器和存储器部分由硬件搭线完成,主存使用6116芯片实现,控存与主存分开,使用2816芯片实现,然后时序控制部分选择用FPGA方式下载,最后汇总在一起,形成实现所有功能的整体计算机系统。总体结构图如图 3.1所示。MM(6116)DR2(373)输 出 控 制 信 号181181CM(2816)CM(2816)DR1(373)AC(
8、373)PC(395)UP244DOWN244IR(373)244157PC(161)图 0.1 总体结构图3.2.2运算通路由181作运算,373锁存组合成的电路,其中包括了AC,DR1,DR2等设计如图3.2所示几点说明(包括选择芯片的理由及引脚连接情况):MM(6116)DR2(373)181181DR1(373)AC(373)UP244DOWN244244157图 0.2 运算器图3.2.3存储通路 :由6116作主存。2816作控存的主控存分开方式如图3.3所示输 出 控 制 信 号CM(2816)CM(2816)PC(395)MM(6116)IR(373)157244PC(161)
9、图 0.3 存储器图3.2.4选择电路 如图3.4所示为方便置数,直接让指令的数据部分与161的输入相连157PC(161)图 0.4 选择通路图3.2.5时序控制:通过各种控制点设计而出如图3.5所示图 0.5 时序控制图3.3软件设计3.3.1机器指令系统设计本次指令设计格式遵循常见指令格式设计原则,机器指令共占8位,其中高四位为操作码OP,低四位为操作数地址ADDR,见下表描述:74位30位OPADDR指令寻址方式设计l 顺序寻址:根据PC(74LS161)计数器自动增1,顺序读取下一条指令;l 跳跃寻址:根据PC(74LS161)的PC-SET功能,依照跳跃指令内容往计 数器中预置打入
10、数据,从而跳转到相应地址。操作数寻址方式设计l 寄存器寻址:利用AC(74LS373)寄存器进行寻址;l 直接寻址:根据指令中的ADDR所指向的地址得到主存相应数据;l 隐含寻址:利用AC(74LS373)寄存器,对于需要双操作数的机器指令只提供一个操作数,另一操作数隐含在AC中。3.3.2微指令设计微指令设计思想:此次设计共决定选取12条指令,分别是取址公操作、store存储指令、load导入指令、jump跳转指令、加、减、与、或、非、地址非、异或等运算指令,以及最后的停机指令。指令采用双周期、自动执行。微指令设计方案:根据具体的电路原理决定采取16个微程序控制点,然后通过对各个控制点的值来
11、实现对微指令的编码(即各个控制点的值取0或1),不同的指令所对应的各个控制点的编码会有不同。微指令设计流程:因为事先必须确定好电路才能得出各个控制点,因此根据完整的电路的各个可控信号确定了16个控制点,在这个过程中,实际有的控制点不止16个,因此我们采取了一些措施,部分控制点合并,另外一些改成了直接采用节拍控制,最终将控制点的数目控制在了16个,然后设计了取址公操作部分各个控制点的值,形成了取址公操作的编码,然后在此基础上修改各个控制点的值,形成了一个大概的指令编码表,然后在实践中检验、纠错、修改,最后得到完整的微指令设计表。微程序设计 对于每条指令都设计了相应的汇编程序来进行检验,将汇编程序
12、设计好,然后改写成计算机所能识别的二进制形式,事先将二进制程序存入内存的芯片中,然后开始执行检验即可。对于各条指令的微程序要考虑到指令的控制点编码,以及控制它的地址,还有内存中的存储数据的部分。将微程序分为两段,一段是所执行的操作,另一段是操作数。而每一行代码又可分为3部分,比如我们设计的微程序地址四位,数据八位,指令八位,因此我们的程序中,前四位二进制数字表示程序执行的地址,即PC计数器的内容,后八位是指令,指令的前四位对应的是操作码,需送入控存译码,进而得到具体操作,后四位是数据地址,返送回内存读取数据。各个指令所对应的微程序具体还是不同的,在后面会有详细说明。4、 详细设计与实现4.1
13、所选用芯片1. 74LS181系统使用了2片181芯片作为ALU,用于8位的运算器,负责执行阶段的各种运算。181芯片引脚图及引脚说明如Error! Reference source not found.表4.1 74181芯片引脚及其引脚说明2、74LS157如图4.2所示表4.2 74167芯片引脚及其引脚说明3、74LS161如图4.3所示表4.3 74161芯片引脚及其引脚说明4、74LS395如图4.4所示表4.4 74181芯片引脚及其引脚说明5、6116如图4.5所示表4.5 6116芯片引脚及其引脚说明6、2816如图4.6所示表4.6 2816芯片引脚及其引脚说明7、74LS
14、244如图4.7所示表4.7 74LS244芯片引脚及其引脚说明8、74LS373如图4.8所示表4.8 74181芯片引脚及其引脚说明4.2硬件实现4.2.1硬件原理图本次我们采用的方案是微程序控制,且主、控存分开的方案,即采用微程序控制方式,实现主存储器(MM)和微程序控制存储器(CM)不共用一个存储器的方式完成方案的设计。同时在实施的过程中,采用部分电路用FPGA方式下载、部分电路用硬件搭建的方式完成,其中运算器和存储器部分由硬件搭线完成,主存使用6116芯片实现,控存与主存分开,使用2816芯片实现,然后时序控制部分选择用FPGA方式下载,最后汇总在一起,形成实现所有功能的整体计算机系
15、统。具体的电路设计图如图4.9所示:图4.9 系统总框架引脚图4.2.2运算通路实现运算器部分电路是采用硬件连线实现的,但是原价努力图还是用Quartus设计的,并且为了检验其正确性,也进行了仿真.设计图如4.10所示:图4.10 运算器电路的图4.2.3存储器部分实现此部分通路中,主要为一片6116做主存,其IO输出数据通过一片373缓冲然后经过一片157选择高四位送给作为寄存器的395芯片,然后送入作为控存的2816芯片中,低四位作为数据地址传回内存,读取操作数。如图4.11所示图4.11 存储器电路引脚图4.2.4选择电路的实现采用了157芯片作为选择控制,从161芯片或者是作为IR的3
16、73芯片的两个输出中选择一个作为其输出。如图4.12所示图4.12 选择通路电路引脚图4.2.5时序电路的实现根据具体的控制信号得出的时序电路图,用16个控制点与节拍信号作为输入,通过各种逻辑门实现逻辑运算,最后将其输出作为控制开关的信号来实现各条指令。如图4.13所示图 4.13 时序电路图4.3软件实现4.3.1机器指令系统实现本次指令设计格式遵循常见指令格式设计原则,机器指令共占8位,其中高四位为操作码OP,低四位为操作数地址ADDR指令寻址方式设计l 顺序寻址:根据PC(74LS161)计数器自动增1,顺序读取下一条指令;l 跳跃寻址:根据PC(74LS161)的PC-SET功能,依照
17、跳跃指令内容往计 数器中预置打入数据,从而跳转到相应地址。操作数寻址方式设计l 寄存器寻址:利用AC(74LS373)寄存器进行寻址;l 直接寻址:根据指令中的ADDR所指向的地址得到主存相应数据;l 隐含寻址:利用AC(74LS373)寄存器,对于需要双操作数的机器指令只提供一个操作数,另一操作数隐含在AC中。1指令格式本次指令设计格式遵循常见指令格式设计原则,机器指令共占8位,其中高四位为操作码OP,低四位为操作数地址ADDR,见表4.14描述:74位30位OPADDR表 4.14 系统指令格式指令格式编码及其格式说明如表4.15所示:指令全称指令地址指令功能LOAD ADDR0001取操
18、作数指令,将ADDR所指向的内存单元中的操作数取出,然后打入AC中STORE ADDR0010回存指令,将计算结果回存打入地址ADDR所指向的内存单元MM中JMP ADDR0011跳转指令,使程序跳转到地址ADDR所指向的单元,然后读取下一条指令(依赖PC)ADD ADDR0100加法指令,实现(AC)加(ADDR),且将结果打入ACSUB ADDR0101减法指令,实现(AC)减(ADDR),且将结果打入ACAND ADDR0110与指令,实现(AC)&(ADDR),且将结果打入ACOR ADDR 0111或指令,实现(AC)&(ADDR),且将结果打入ACNOT ADDR1000取反指令,
19、实现,且将结果打入ACNOT1001取反指令,实现,且将结果打入ACA异或B1010异或指令,实现(AC)异或(ADDR),且将结果打入ACA加A1011乘2指令,实现(AC)加(AC),且将结果打入ACEND1100结束指令,程序终止运行表4.15 指令格式说明表2、指令周期流程图如下图4.16所恨死图 4.16 指令流程图具体的指令流程1、 LOAD指令,如图4.17所示RDBUSbusLDACAR清零PCMMRD、LDIR;IRAAR开始PC+1PCIRBMM取指公操作M1M24.17 LOAD指令流程图2、 STORE指令,如图4.18所示M1AR清零PCMMRD、LDIR;IRAAR
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 课程设计 基于 微程序 控制器 简单 计算机系统 设计 实现