《微程序控制器的CPU设计课程设计(15页).doc》由会员分享,可在线阅读,更多相关《微程序控制器的CPU设计课程设计(15页).doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-微程序控制器的CPU设计课程设计-第 12 页课程设计(大作业)报告课程名称: 计算机组成原理 设计题目:微程序控制器模型机CPU设计院 系: 信息技术学院 班 级: 2011级3班 设 计 者: 蒋兴发 学 号: 201111010309 指导教师: 华 瑞 设计时间: 2013.7.12013.7.5 信息技术学院昆明学院课程设计(大作业)任务书姓 名:蒋兴发 院(系): 信息技术学院专 业:计算机科学与技术 学 号:201111010309任务起止日期:2013-07-012013-07-05课程设计题目:1、 采用硬连线控制器或微程序控制器的模型机CPU设计。2、 分析Intel公司
2、Pentium系列CPU结构设计,提出改进设计思想。3、 新一代或未来计算机大致结构框架及主要设计原理构想。课程设计要求:1、 可以单人设计,也可分组设计。若分组,组员自由组合,每组2-3人,通过组员协作共同完成设计任务,各组员工作量要均衡饱满,组内各组员设计内容不得雷同。2、 根据个人或小组的实际情况,以上三个设计题目任选其一作为正式课程设计题目。也可自拟设计题目,但必须经指导教师认可批准后才能作为正式课程设计题目。3、 对于设计题目1,要求在完成基本模型机实验与复杂模型机实验的基础上,并且结合上网搜索与图书馆查找相关资料进行具体设计。4、 对于设计题目2,要求在完成基本模型机实验与复杂模型
3、机实验的基础上,参考主教材P.166P.171并结合上网搜索与图书馆查找相关资料进行较为全面到位的分析,以支持主教材中对该CPU“堪称为当代CISC机器的经典之作”的评价。并且提出你对该CPU的若干改进设计思想(原设计何处有何不足,如何改进?)。5、 对于设计题目3,要求在完成基本模型机实验与复杂模型机实验的基础上,到图书馆查找相关资料并结合上网搜索,再加上自己大胆与合理的想象进行设计。“不怕做不到,只怕想不到”。6、 不管上述哪个设计题目,均要求有较完善的设计文档,并结合实际,按后文要求写出课程设计报告并打印装订与电子版一起提交(大作业),纸质版与电子版缺一不可。7、 请自觉遵守课程设计纪律
4、,出勤、实验情况、设计态度等平时设计过程表现将与最终设计成果一起综合评定本次课程设计总成绩,过程与结果同样重要。工作计划及安排:1、 分组,明确设计目标,搜集相关设计资料,熟悉基本模型机原理实验。 2、 整体结构框架设计,撰写初步设计文档,进一步搜集设计资料,熟悉复杂模型机实验。 3、 按分工要求进行具体内容设计,撰写具体设计文档,熟悉复杂模型机实验。 4、 具体设计内容进一步修改完善,继续撰写并修改完善设计文档(大作业报告)。 5、 按设计要求提交最终设计成果及课程设计大作业报告,指导教师检查评阅。 (共 一 周)指导教师签字 年 月 日 课程设计(大作业)成绩学号:201111010309
5、 姓名:蒋兴发指导教师:华 瑞 课程设计题目:微程序控制器模型机CPU设计总结: 指导教师评语:成绩:填表时间: 指导教师签名:目录课程设计(大作业)报告0一、课题分析4、设计目的4、设计任务4、课程设计题目分析4课题设计准备4读/写操作的认识5二、总体设计5、设计原理6功能设计6三、方案比较7四、分步设计8小组成员设计任务分配8微程序控制器的设计84.2.1 设计要求84.2.2 设计内容8、指令周期流程图9、机器指令设计9系统组成框图10、各部件功能11微指令格式12微程序流程图13数据连通图和接线图14五、设计成果15运行结果15复杂模型机实图连接16课程设计的收获16六、存在问题及改进
6、建议16七、实验器材17八、参考文献及相关网址17课程设计(大作业)报告一、 课题分析通过计算机组成原理理论课和几次实验的学习,编写相应的微程序,完成由基本单元电路构成一台基本模型机,再经过调试指令和模型机使其在微程序的控制下自动产生各部件单元的正常工作控制信号。在设计基本模型机的实验基础上,完成这次的课程设计。这次的课程设计将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一条微程序。1.1、设计目的计算机组成与结构课程
7、设计是“计算机组成与结构”课程的后续设计性课程,通过设计一台模型计算机,使学生更好地理解计算机组成与结构课程的基本内容,掌握计算机设计与实现的基本方法,培养学生实验动手能力和创新意识,为以后进行计算机应用系统的设计与开发奠定基础。1.2、设计任务设计一个8位模型计算机系统,包括运算器,微程序控制器,存储器,简单输入输出接口和设备。在计算机组成原理与系统结构实验系统上搭建模型计算机系统,完成运算器、微程序控制器的设计调试任务,并用所设计的指令系统编写一个实现简单功能的程序,在搭建的模型机系统上输入、调试和运行程序。最后总结实验结果,完善所设计的模型机系统方案和电路图,写出完整的设计报告。1.3、
8、课程设计题目分析 基于我们对简单和复杂模型机的理解和实验,我们对课程设计分析、课题设计准备、确定设计目标确定所设计计算机的功能和用途。、确定指令系统确定数据的表示格式、位数、指令的编码、类型、需要设计哪些指令及使用的寻址方式。确定相对应指令所包含的微操作。、总体结构与数据通路总体结构设计包括确定各部件设置以及它们之间的数据通路结构。在此基础上,就可以拟出各种信息传输路径,以及实现这些传输所需要的微命令。综合考虑计算机的速率、性能价格比、可靠性等要求,设计合理的数据通路结构,确定采用何种方案的内总线及外总线。数据通路不同,执行指令所需要的操作就不同,计算机的结构也就不一样。、设计指令执行流程数据
9、通路确定后,就可以设计指令系统中每条指令所需要的机器周期数。对于微程序控制的计算机,根据总线结构,需考虑哪些微操作可以安排在同一条微指令中,哪些微操作不能安排在同一条微指令中。、确定微程序地址根据后续微地址的形成方法,确定每个微程序地址及分支转移地址。、微指令代码化根据微指令格式,将微程序流程中的所有微指令代码化,转化成相应的二进制代码写入到控制存储器中的相应单元中。、组装、调试在总调试前,先按功能模块进行组装和分调,因为只有各功能模块工作正常后,才能保证整机的正常运行。读/写操作的认识 机器指令码的前4位为操作码。其中IN为单字长,其余为双字长指令,XXXXXXXX为addr对应的二进制地址
10、码。为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。存储器读操作(READ):拨动总清开关CLR后,控制台开关SWB、SWA为“00”时,按START微动开关,可对RAM连续手动读操作。存储器写操作(WRITE):拨动总清开关CLR后,控制台开关SWB、SWA设置为“01”时,按START微动开关可对RAM进行连续手动写入。启动程序(RUN):拨动总清开关CLR后,控制台开关SWB、SWA设置为“11”时,按START微动开关,即可转入到第01号“取址”微指令,启动程序运行。上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如下:S
11、WBSWA控制台命令00读内存(READ)01写内存(WRITE)11启动程序运行(RUN)二、 总体设计2.1、设计原理CPU由运算器(ALU)、微程序控制器(MC)、通用寄存器(RO)、指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成,如图1所示。这个CPU在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU必须和主存挂接后,才有实际的意义,所以还需要在该CPU的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。图1 基本CPU构成原理图本模型机和前面微程序控制器实验相比,共有5条指令:IN(输入)、ADD(二进制加法)、
12、OUT(输出)、JMP(无条件转移)、HLT(停机),其指令格式如下:助记符 实现功能 机器指令代码IN0(R0) A-R0 0010 0000IN1(R1) B-R1 0011 0000ADD(R0,R1)A+B-R0 0000 0000MUL(R0,R1)AvB-R0 0101 0000AND(R0,R1) AB-R0 0110 0000OUT(R0) A-OUT 0111 0000 HLT NOP 1000 0000均为单字节指令,*为addr对应的二进制地址码。微程序控制器实验的指令是通过手动给出的,现在要求CPU自动从存储器读取指令并执行。三、 方案比较方案一:(1) 选定CPU中所
13、使用的产要器件;(2) 根据指令系统、选用的器件和设计指标,设计指令流的数据通路;(3) 根据指令系统、选用的器件和设计指标,设计数据流的数据通路。计算机的工作过程,实质上是不同的数据流在控制信号作用下在限定的数据通路中进行传送。数据通路不同,指令所经过的操作过程也不同,机器的结构也就不样,因此数据通路的设计是至关重要的。所谓数据通路的设计,也就是确定机器各逻辑部件相对位置的总框图。数据远路的设计,目前还没有非常标准的方法。主要是依据设计者的经验,并参考现有机器的三种典型形式(单总线、双总线或三总线结构),根据指令系统的要求,可采用试探方法来完成。其主要步骤如下:(1) 对指令系统中的各条指令
14、进行分析,得出所需要的指令周期与操作序列,以便决定各器件的类型和数量。(2) 构成一个总框图草图,进行各逻辑部件之间的互相连接,即初步确定数据通路,使得由指令系统所包涵的数据通路都能实现,并满足技术指标的要求。(3) 检验全部指令周期的操作序列,确定所需要的控制点和控制信号。(4) 检查所设计的数据通路,尽可能降低成本,简化线路。方案二: 、用基本的五条机器指令编写实验程序。程序如下:(地址和内容都是十六进制,机器指令的前4位为操作码。)地址内容助记符说明0000IN R0, 80H80H R0。数据80H从实验仪左下方“INPUT DEVICE”中的8位数据开关D7D0输入,存入R0寄存器。
15、0110ADD R0, (0A)(R0)+(0A) R0。R0寄存器的内容与存储器0A地址单元的内容相加,结果存入R0寄存器。020A 0320STA(0B), R0R0 (0B)。R0寄存器的内容与存入存储器0B地址单元。040B 0530OUT BUS, (0B)(0B) BUS。通过总线输出存储器0B地址单元的内容。060B 0740JMP 0000 PC。无条件转移到00地址。0800 0A01 存储器0A地址单元的数据,可自定。0B 求和结果保存在存储器0B地址单元。微指令的微代码如下:(内容是十六进制)十六进制地址八进制地址内容十六进制地址八进制地址内容00001081010D15
16、018202010182ED010E160FE000020248C0000F1715A000030304E000102092ED01040405B000112194ED01050506A201122217A0000606019A95132301800107070DE000142418200008100110001525010A07091183ED01162681D1000A1287ED011727100A070B138EED011830118A060C1496ED01 、修改和编写实验仪RAM和ROM数据。 方案比较:由于方案二更符合本次课程设计的内容,而且是基于我们平时做的基本模型机(包括简
17、单模型机和复杂模型机两部分)的基础,所以做起来比较容易。因此,我们选择了方案二。四、 分步设计 表一 任务分配表小组成员任务蒋兴发廖宇梅设计机器指令执行流程微程序流程图指令周期流程图数据通路图二进制代码表微指令格式微指令代码化 设计要求1将所编写的微程序存储到控制存储器中;2用单步执行微指令方式执行微程序并观测所发出的控制信号;3每组编写的程序必须有助记符表示的汇编语言源程序,并把源程序翻译成机器指令代码,并记录相关实验结果;4. 提交微程序流程图、对应的二进制微代码表 设计内容1编写出实现自定义指令系统的微程序;2将所编写的微程序存储到控制存储器中;3在实验箱调试和完成微程序控制器的设计工作
18、;4.3、指令周期流程图开始MMDIRMMAC取指指令MOV指令运算指令MMIRMMIRALU运算PC+1IRuIRDR2ACMMIRMMIRIRuIRIRuIR结束图 2 指令周期流程4.4、机器指令设计表二 机器指令码设计:助记符实现功能机器指令代码IN0(R0)A-R00010 0000IN1(R1)B-R10011 0000ADD(R0,R1)A+B-R00000 0000MUL(R0,R1)AvB-R00101 0000AND(R0,R1)AB-R00110 0000OUT(R0)A-OUT0111 0000 HLTNOP1000 0000表三 机器指令程序地址(二进制)内容(二进制
19、)助记符说明0000 00000000 0000IN R0INPUT DEVICER00000 00010001 0000ADD 10H,R0R0+10HR00000 00100001 00000000 00110010 0000STA R0,11HR011H0000 01000001 00010000 0101 0011 0000OUT 11H11HLED0000 01100001 00010000 01110000 0000IN R0INPUT DEVICER00000 10000101 0000ADD 10H,R0R0-10HR00000 10010001 00000000 101000
20、10 0000STA R0,12HR012H0000 1011 0001 00100000 11000011 0000OUT 12H12HLED0000 11010001 00100000 11100100 0000JMP 00H00HPC0000 11110000 00000001 00000000 0001自定0001 0010求和结果0001 0011求差结果4.5系统组成框图 图3 复杂模型机控制器4.6、各部件功能1LDPC 微程序控制器输出的PC加1信号。2LOAD 微程序控制器的输出信号。LOAD0时,PC程序计数器处于并行置数状态;LOAD1时,PC处于计数状态。3ALUBUS
21、 微程序控制器的输出信号,控制运算器的运算结果是否送到总线BUS,低电平有效。4PCBUS 微程序控制器的输出信号,控制程序计数器的内容是否送到总线BUS,低电平有效。5R0BUS 微程序控制器的输出信号,控制寄存器R0的内容是否送到总线BUS,低电平有效。6SWBUS 微程序控制器的输出信号,控制8位数据开关SW7SW0的开关量是否送到总线,低电平有效。7LDR0 微程序控制器的输出信号,控制把总线上的数据打入寄存器R0。8LDDR1 微程序控制器的输出信号,控制把总线上的数据打入运算暂存器DR1。9LDDR2 微程序控制器的输出信号,控制把总线上的数据打入运算暂存器DR2。10LDIR 微
22、程序控制器的输出信号,控制把总线上的数据(指令)输入到指令寄存器IR中。4.7微指令格式表四 微指令格式232221201918-1514-1211-98-65-0M23M22WRRDIOMS3-S0A字段B字段C字段MA5-MA0A、B、C各字段功能说明:A字段B字段C字段141312选择11109选择876选择000NOP000NOP000NOP001LDA001ALU_B001P010LDB010R0_B010保留011LDR0011保留011保留100保留100保留100保留101保留101保留101保留110保留110保留110保留111LDIR111保留111保留4.8微程序流程图
23、33IN-R001R0-OUT3101OUTOUTHUOADDININ0101320705060430343635030100NOPPC-ARPC+1MEM-IRR0-AIN-R1R0-AR1-OUTPR1-BR1-BA+B=R0AB=R00101图4 微程序流程图4.9二进制代码表 表五 二进制代码表地址十六进制高五位S3S0A字段B字段C字段MA5MA00000 00 010000000000000000000000010100 6D 430000000001101101010000110310 70 700001000001110000011100000400 26 0500000000
24、00100110000001010504 B2 01 0000000010110010000000010600 26 070000000000100110000001110700 32 010000000000110010000000011D10 51 410001000001010001010000011100 24 120000000000100001000100101202 32 01000000100011001000000013000 14 040000000000010100000001003118 40 010001100001000000000000013218 30 0100
25、01100000110000000000013328 04 010010100000000100000000013400 14 060000000000010100000001103500 00 350000000000000000001101013628 06 010010100000000110000000013C00 6D 5D000000000110110101011101数据连通图和接线图 图5 数据通路图五、 设计成果按照以下功能分别执行:外设输入指令IN0 R0、IN1 R1二进制加法指令add R0,R1输出到外设指令OUT0 R0、OUT1 R1停机指令HLT 在此次课程设计
26、中,通过华瑞老师的悉心教导,让我从中获得了很多,一开始,我们这学期学习的是理论知识,动手能力很差,在课程设计中,老师让我们理论联系实际,不仅加强了理论知识,还提高了我们的动手能力,并更加深入的了解了理论知识,特别是微程序控制器模型机的CPU设计相关知识的认识。我从中学到的有设计指令流程和微程序控制器,以及他的具体操作和控制。六、 存在问题及改进建议 通过这次课程设计,加强了我们动手、思考和解决问题的能力。我终于知道了只有亲自动手才能过学到知识的道理! 在设计过程中,经常会遇到这样那样的情况,就是心里想老着这样的接法可以行得通,但实际接上电路,总是实现不了,因此耗费在这上面的时间用去很多。 我沉
27、得做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用各个元件的功能,而且考试内容有限,所以在这次课程设计过程中,我们了解了很多元件的功能,并且对于其在电路中的使用有了更多的认识。 平时看课本时,有时问题老是弄不懂,做完课程设计,那些问题就迎刃而解了。而且还可以记住很多东西。比如一些芯片的功能,平时看课本,这次看了,下次就忘了,通过动手实践让我们对各个元件映像深刻。认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准。所以这个期末测试之后的课程设计对我们的作用是非常大的。 此次课程设计,学到了很多课内学不到的东西,比如独立思考解决问题,出现差错的随机应变,和与人合作共同提高,都受益非浅,今后的制作应该更轻松,自己也都能扛的起并高质量的完成项目。 在此,感谢曾老师的细心指导,也同样谢谢其他各组同学的无私帮助!七、 实验器材1、 湖北众友公司ZY15CompSys12BB计算机组成原理及系统结构教学实验箱;2、 PC机与网络。八、 参考文献及相关网址1、 计算机组成原理(第四版立体化教材),白中英主编,08年1月第四版,科学出版社。2、 计算机组成原理及系统结构实验指导书(V1.01),湖北众友科技实业股份有限公司。