计算机组成原理课程设计报告-8位机微程序控制器模型计算机的设计与实现.doc_第1页
计算机组成原理课程设计报告-8位机微程序控制器模型计算机的设计与实现.doc_第2页
计算机组成原理课程设计报告-8位机微程序控制器模型计算机的设计与实现.doc_第3页
计算机组成原理课程设计报告-8位机微程序控制器模型计算机的设计与实现.doc_第4页
计算机组成原理课程设计报告-8位机微程序控制器模型计算机的设计与实现.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机组成原理课程设计报告 序号: 学号: 计算机组成原理 课程设计报告题 目: 8位机微程序控制器模型计算机的设计与实现 学 生 姓 名: 学 号: 学 院(系): 专 业 班 级: 校内指导教师: 专业技术职务: 实 习 时 间: 年 月 日 年 月 日第 2 页,共16页计算机组成原理课程设计任务书一、设计题目8位机微程序控制器模型计算机的设计与实现二、设计目的深入了解计算机各种指令的执行过程,以及控制器的组成,指令系统微程序设计的具体知识,进一步理解和掌握动态微程序设计的概念;完成微程序控制的特定功能计算机的指令系统设计和调试。3、 设计说明要完成该课程设计,必须清楚地懂得:(1)TEC-9机的功能部件及其连接关系;(2)TEC-9机每个功能部件的功能与具体组成;(3)TEC-9机支持的指令格式;(4)TEC-9机的微指令格式;(5)已实现的典型机器指令的执行实例,即相应的微指令与其执行次序的安排与衔接;(6)要实现的新指令的格式与功能。4、 内容及目标设计内容:1、通过知识的综合运用,设计一台新的微程序控制器模型计算机。2、根据设计图纸,在TEC-9实验台上进行组装、调试。3、画出微程序控制器设计图,根据设计图编写控制器代码。设计目标:1、掌握模型计算机的微程序控制器功能与结构特点;2、熟悉TEC-9教学实验系统的微指令格式;3、设计新的机器指令,并编写对应的微程序;4、在TEC-9教学实验系统中调试机器指令程序,确认运行结果。五、进度安排周次工 作 内 容预 定 目 标第17周周一任务安排;图书馆查相关资料查阅相关资料第17周周二至周四设计新的机器指令,并编写对应的微程序实现微程序方案设计第17周周五设计成果检查及指导确定设计成果第18周周一至周五上机调试完善微程序调试,并验证结果是否正确第19周周一至周三完成实习报告写好实习报告,调试好系统第19周周四答辩并且验收实习报告答辩并且验收实习报告第19周周五修改实验报告,提交所有资料归档 完成实习资料归档六、设计时间:2016 年 12 月 26 日到2017 年 1 月 13 日 计算机科学与技术 系 指导教师 目 录1、课程设计的目的12、课程设计的环境13、课程设计的内容13.1课程设计的原理13.2课程设计机器指令33.3微指令格式43.4数据通路图64、设计方案74.1设计指令94.2微程序流程图104.3微指令二进制微代码表105、验证与结果分析135.1课设过程中所遇问题235.2对应问题的解决236、课程设计总结246.1任务分工246.2心得体会24参考文献261、 课程设计的目的深入了解计算机各种指令的执行过程,以及控制器的组成,指令系统微程序设计的具体知识,进一步理解和掌握动态微程序设计的概念;完成微程序控制的特定功能计算机的指令系统设计和调试。总体概括而言,分为两点:1、在掌握部件单元电路实验的基础上,进一步将其组成系统,构造一台基本模型计算机。2、为其定义两条以上的机器指令,并编写相应的微程序,上机调试,掌握整机概念。2、 课程设计的环境硬件环境:TEC-9实验系统一台,排线若干,连接有关联的开关,使信号同步。软件环境:HQFC-B1计算机组成原理软件,进行微程序的写入。3、 课程设计的内容1、通过知识的综合运用,设计一台新的微程序控制器模型计算机。2、选择合适的寻址方式,进行数据的提取。3、确定你需要做的两条指令,并画出对应指令的流程图。4、根据流程图,设计控制器代码。5、根据控制器代码,在TEC-9实验系统上进行连线、调试,修改控制器代码。6、最后,得出正确的控制器代码并完成实验报告、答辩,课程设计完成3.1课程设计的原理TEC-9实验系统的组成:控制台、数据通路、控制器、时序电路、数字逻辑实验区、电源模块时序发生器时序发生器产生计算机模型所需的时序和数字逻辑实验所需的时钟。时序电路由一个500KHz晶振、2片GAL22V10组成。根据本机的设计,执行一条微程序指令需要4个节拍脉冲T1、T2、T3、T4,执行一条机器指令需要三个节拍电位W1、W2、W3,因此本机的基本时序如下: 图1 时序发生器微程序控制器1、微程序控制器由5片58C65/28C64组成,存储容量为8K,本实验系统共使用128个字节。微指令格式采用全水平型,微指令字长37位,其中顺序控制 部分10位:后继微地址uA5uA0,判断标志位P3P0操作控制字段:27位,全部采用直接表示法,用于控制数据通路 的操作2、标志位P3和控制台开关SWCSWA结合在一起确定微程序的分支,完成不同的控制台操作。3、标志位P2和指令操作码(IR寄存器的高4位IR7IR4)结合确定微程序的分支,转向各种指令的不同微程序流程。4、标志位P1标志一条指令的结束,与中断请求信号INTQ结合,实现对程序的中断处理。5、标志位P0与C结合确定微程序的分支,实现条件转移指令。图2 微程序控制器的组成3.2课程设计机器指令1、取立即数时,立即数的地址为取值后的当前PC地址( PC自动加1)。2、从数据通路图中可以看出从存储器中读取数据到数据总线只能从左端口读出,而P C地址为右端口数据,因此取立即数,需要通过中间把P C地址数赋值给存储器左端口地址寄存器。3、从数据通路图中观察可以发现,PC地址可以通过中断地址寄存器。暂存后送到数据总线,左端口地址和右端口地址都可以从数据总线上得到数据。4、寄存器与立即数运算时,运算器一个操作数从寄存器取数,另一个从数据总线取数(存储器输出),因此M1、M2、 LDDR1、LDDR2不能合并成1组信号,微程序控制器输出有2个空余的信号NC0、NC1,因此可使用NC0输出到M2,NC1输出LDDR2。使运算的二个操作数从不同的数据来源取数表1 指令表名称助记符功能指令格式IR7 IR4IR3、IR2IR1、IR0取数LDR Rd,datadata - Rd0 0 0 0X XRD1 RD0相加ADD Rd,dataRd + data-Rd0 0 0 1X X RD1 RD03.3微指令格式1、微指令格式采用全水平型,微指令字长37位,其中顺序控制 部分10位:后继微地址uA5uA0,判断标志位P3P0操作控制字段:27位,全部采用直接表示法,用于控制数据通路 的操作2、标志位P3和控制台开关SWCSWA结合在一起确定微程序的分支,完成不同的控制台操作。3、标志位P2和指令操作码(IR寄存器的高4位IR7IR4)结合确定微程序的分支,转向各种指令的不同微程序流程。4、标志位P1标志一条指令的结束,与中断请求信号INTQ结合,实现对程序的中断处理。5、标志位P0与C结合确定微程序的分支,实现条件转移指令。 TEC-9实验系统有11条机器指令功能,和数据通路总体图的控制信号,采用的微指令格式见下图。微指令字长共38位。其中顺序控制部分10位:后继微地址位,判别字段位,操作控制字段28位,各位进行直接控制。微指令格式中,信号名为高有效信号。为了适合运算器LS181,进位信号与其一至,CN#为运算器最低进位/借位,低有效。 图3 微指令格式控制存储器采用5片EEPROM 28C64(U8、U9、U10、U11、U12)。28C64的输出是D0D7,分别与引脚11、12、13、15、16、17、18、19相对应,CM0是最低字节,CM4是最高字节。微地址寄存器位,用一片8D触发器74LS273组成,带有清零端。两级与门、或门构成微地址转移逻辑,用于产生下一微指令的地址。在每个T1上升沿时刻,新的微指令地址会打入微地址寄存器中,控制存储器随即输出相应的微命令代码。微地址转移逻辑生成下一地址,等下一个T1上升沿时打入微地址寄存器。5片EEPROM的地址A6(引脚4)直接与控制台开关SWC连接,当SWC = 1时,微地址大于或者等于40H,当SWC = 0时,微地址的范围为00H3FH。SWC主要用于实现读寄存器堆的功能。控制信号1. SW_BUS: 为1时,允许开关数据送数据总线。2. LDER: 为1时,将数据总线的数据写入暂存寄存器ER;在T4上3. 升沿保存C、Z标志位。4. WRD: 为1时,允许对寄存器堆RF进行写操作。5. WR1WR0: 选择写入寄存器堆的寄存器号。6. RD1RD0: 选择从A端口读出的寄存器。7. RS1RS0: 选择从B端口读出的寄存器。8. RS_BUS: 为1时,允许从B端口读出的数据送往数据总线。9. LDDR1: 为1时,对运算器操作数DR1加载(运算器B口)。10. LDDR2: 为1时,对运算器操作数DR2加载(运算器A口)。11. M1: DR1数据来源选择,1=寄存器堆,0=数据总线。12. M2: DR2数据来源选择,1=寄存器堆,0=数据总线。13. ALU_BUS: 为1时,运算器运算结果允许送数据总线。14. S3S0: 运算器运算功能选择。15. LDAR1/LDAR2: 为1时,加载地址寄存器AR1/AR216. AR1_INC: 为1时,地址突破口AR1加1。17. M3: AR2数据来源选择,1=数据总线,0=程序计数器PC。18. M4: R4数据来源选择,1=数据总线,0=指令寄存器IR。19. LDPC(LDR4): 为1时,允许对程序计数器(R4)加载。20. PC_ADD: 为1时,进行PC+D操作。21. PC_INC: 为1时,时行PC+1操作。22. LDIR(CER): 为1时,对指令寄存器IR(右端口)加载。23. LDIAR: 为1时,对中断地址寄存器IAR加载。24. IAR_BUS: 为1时,允许中断地址寄存器IAR数据送数据总线。 25. CEL: 为1时,允许双端口存储器左端口读写操作。26. LRW: 为1时,左端口读操作;为0时,左端口写操作。3.4数据通路图图4 数据通路图TEC-9的数据通路采用了数据总线和指令总线双总线形式。他还使用了大规模在系统编程器件作为寄存器堆,使得设计简单明了,可修改性强。1、 运算器ALU运算器是由两片74LS181组成,在选择端M和S0-S3控制下,ALU对数据进行各种算术、逻辑运算。2、 运算操作数寄存器DR1和DR2DR1和DR2是运算操作数寄存器,DR1和ALU的B口相连,DR2和ALU的A口相连。DR1和DR2各由2片74LS298构成。两个操作数寄存器的获取数据通过M1、LDDR1、M2和LDDR2四个信号来确定数据的来源。3、 多端口通用寄存器堆RF多端口通用寄存器堆由一片ispLSI1016构成,包含4个8位寄存器,3个控制端口:2个控制读操作,1个控制写操作,3个端口可以同时操作。RD1、RD0、RS1和RS0控制寄存器从哪个口读数据,WRD控制寄存器的写操作。4、 暂存寄存器ER暂存寄存器是一片74LS374,主要用于暂时保存运算器的结果。由LDER控制。5、 开关寄存器SW_BUS开关寄存器是一片74LS244,用于将控制台数据开关SW7SW0的数据总线送往数据总线DBUS。6、 双端口存储器RAM双端口存储器由一片IDT7132及少量控制电路构成。在本实验系统中,RAM左端口连接数据总线DBUS,可进行读、写操作,右端口连接指令总线IBUS,输出指令到指令寄存器IR,作为只读端口使用。CEL、LRW、OEL、CER、RRW、OER控制端口的读、写操作。7、 地址寄存器AR1和AR2地址寄存器提供双端口存储器的地址。AR1是一片GAL22V10,其控制信号是LDAR1和AR1_INC。AR2是由两片74LS298构成。由M3、LDAR2控制。8、 程序计数器PC、地址加法器ALU2、地址缓存器R4这三者联合起来完成三种操作:PC加载、PC+1、PC+D9、 指令寄存器IR指令寄存器是一片74LS374。控制信号是LDIR。4、 设计方案这次的课设的目的是:8位机微程序控制器模型计算机的设计与实现,该目的的实现除了利用微程序还可以采用硬布线的方式解决。1.硬布线控制器 硬布线控制器是将控制部件做成产生专门固定时序控制信号的逻辑电路,产生各种控制信号,因而又称为组合逻辑控制器。这种逻辑电路以使用最少元件和取得最高操作速度为设计目标,因为该逻辑电路由门电路和触发器构成的复杂树型网络,所以称为硬布线控制器。 缺点: (A)一旦控制部件构成后,除非重新设计和物理上对它重新布线,否则要想增加新的控制功能是不可能的 (B)当执行不同的机器指令时,通过激活一系列彼此很不相同的控制信号来实现对指令的解释,其结果使得控制器往往很少有明确的结构而变得杂乱无章 组合逻辑控制器的最大优点是速度快,但是时序控制信号形成部件的结构不规整,使得设计、调试、维修较困难,难以实现设计自动化。 硬布线控制器逻辑设计中注意的事项 (1) 采用适宜指令格式,合理分配指令操作码; (2) 确定机器周期、节拍与主频; (3) 确定机器周期数及一周期内的操作; (4) 进行指令综合; 综合所有指令的每一个操作命令,写出逻辑表达式,并进行化简。 (5) 明确组合逻辑电路。 将简化后的逻辑表达式用组合逻辑电路来实现。操作命令的控制信号先用逻辑表达式列出,进行化简,考虑各种条件的约束,合理选用逻辑门电路、触发器等器件,采用组合逻辑电路的设计方法产生控制信号。 总之,控制信号的设计与实现,技巧性较强,目前已有一些专门的开发系统或工具供逻辑设计使用,但是,对全局的考虑主要依靠设计人员的智慧和经验实现。 2.微程序控制器 采用微程序控制方式的控制器称为微程序控制器。所谓微程序控制方式是指微命令不是由组合逻辑电路产生的,而是由微指令译码产生。一条机器指令往往分成几步执行,将每一步操作所需的若干位命令以代码形式编写在一条微指令中,若干条微指令组成一端微程序,对应一条及其指令。在设计CPU时,根据指令系统的需要,事先编制好各段微程序 ,且将它们存入一个专用存储器(称为控制存储器)中。微程序控制器由指令寄存器IR、程序计数器PC、程序状态字寄存器PSW、时序系统、控制存储器CM、微指令寄存器以及微地址形成电路。微地址寄存器等部件组成。执行指令时,从控制存储器中找到相应的微程序段,逐次取出微指令,送入微指令寄存器,译码后产生所需微命令,控制各步操作完成。 微程序控制器是采用存储逻辑来实现的,也就是把微操作信号代码化,使每条机器指令转化成为一段微程序并存入一个专门的存储器(控制存储器)中,微操作控制信号由微指令产生。 微程序控制器的设计思想和组合逻辑设计思想截然不同。它具有设计规整、调试、维修以及更改、扩充指令方便的优点,易于实现自动化设计,已成为当前控制器的主流。但是,由于它增加了一级控制存储器,所以指令执行速度比组合逻辑控制器慢。 但是,在同样的半导体工艺条件下,硬布线控制器速度要比微程序控制的快,随着新一代机器及VLSI技术的发展与不断进步,硬布线的随机逻辑设计思想又得到了重视,现代新型计算机体系结构如RISC中多采用硬布线控制逻辑。4.1设计指令表2 自己设计的指令指令助记符寻址方式取数LDA寄存器间接寻址加法ADD寄存器寻址4.2微程序流程图图5 程序流程图4.3微指令二进制微代码表表3 二进制微代码表LDAADD微址00070510303B113A3FCM4NC0(M2)NC1(LDDR2)1TJCN#1MS31S2S1CM3S01M1LDDR11WRD1LRW1CEL1ALU_BUS1RS_BUS1CM2SW_BUS1IAR_BUSLDER11M3AR1_BUSLDAR111LDIARM41CM1PC_INC1PC_ADDLDPC1LDIR1INTCINTSP31P21P1P0下址070510303B3F3A3F055、 验证与结果分析第一次QD07H图6 第一次QD第一次QD加载程序计数器PC,开启数据总线从数据总线接收数据。第二次QD05H图7 第二次QD取PC的地址,取指令,PC地址+1。第三次QD30H图8 第三次QD加载操作数寄存器DR1,从寄存器读取一个操作数A。第四次QD3BH图9 第四次QD加载地址寄存器AR1,读取寄存器中的地址。第五次QD3FH图10 第五次QD加载暂存器ER,读取上一次QD从寄存器中取得的形式地址在主存当中所存储的数据。第六次QD05H图11 第六次QD将暂存器当中的数据写入寄存器。第七次QD11H图12 第七次QD跳转到加法指令,加载操作数寄存器DR2,从寄存器中读取数据。第八次QD3AH图13 第八次QD实现两数的相加,并将数据写入暂存器。第九次QD3FH图14 第九次QD将暂存器ER中的运算结果写入寄存器。第十次QD 05H图15 第十次QD完成两条指令,进入下一个循环。5.1课设过程中所遇问题1. 一开始实现微程序写入实验系统时,发现不能写入,总是出现通讯错误。2. 在实现老师的例程的时候,发现无法跳入下一条指令。3. 在指令调试阶段,总是无法按照我们设计的流程图进行指令的跳变。4. 在接线过程中,不能理解为什么把不同的信号接在一起。5. 最后,微程序写入之后,指令执行完,并不能进行循环。5.2对应问题的解决1换了另外一台实验系统就可以了。2在写入老师的微程序的时候,在指令分支处没有加上标志位P2。3发现是我们在原来的微程序上改的比较多,然后直接重新写入之后,就可以了。4有信号多余,但是还有的信号无法再微程序中体现,就将这两个信号连接起来,方便控制。5在最后写入微程序的时候,没有给最后一步添加下址。6、 课程设计总结6.1任务分工表4 任务分工表指令设计段取数指令加数指令指令调试段控制台作图片收集课程设计告整理排版素材收集6.2心得体会通过课程设计,加深了我对计算机整机的综合理解,掌握微程序控制器的组成原理以及微程序的编制、调试技术及模型机设计的基本方法,强化设计能力和实验动手能力。计算机组成原理是计算机科学与技术专业一门非常重要的课程,是掌握计算机硬件知识和计算机内部处理过程的理论基础,因此,本次课程设计是对计算机组成原理所学理论知识的一次大检阅,是集知识的综合应用和动手能力于一体的一次大型的演练。通过本次课程设计,我对计算机的基本组成、工作原理,以及他们之间的通信方式,微程序控制器的设计、微指令和微程序的编制、调试以及执行等过程在理论的基础上面有了更加深刻的理解,并加深了对理论课程的理解。在实践过程中,老师的指导,与其他同学相互协作、相互交流,加强了我们之间的团队精神,并从以下几方面得到较深体会:1、加深了对实验原理的认识本实验主要运用的原理是微程序控制的控制器工作原理。计算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论