课程设计基本模型机的设计.doc_第1页
课程设计基本模型机的设计.doc_第2页
课程设计基本模型机的设计.doc_第3页
课程设计基本模型机的设计.doc_第4页
课程设计基本模型机的设计.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

学 号: 0121110860304课 程 设 计题 目基本模型机的设计加减法指令的实现学 院计算机科学与技术学院专 业物联网工程班 级1103姓 名母世涛指导教师程艳芬2013年1月17日目录课程设计任务书31.设计的目的及设计原理41.1设计的目的41.2设计的原理42.模型机设计52.1模型机的逻辑框图52.2指令系统及其指令格式53.微程序设计及实现83.1 微程序入口地址的形成84.模型机中时序的设计。94.1时序图94.2 指令执行流程105.源程序,程序的指令代码及微程序115.1源程序115.2程序的指令代码116.上机实现116.1运行流程图126.2累加器A、寄存器、存储器的数据变化以及数据流程137.课程设计总结13课程设计任务书学生姓名: 母世涛 专业班级: 物联网1103班 指导教师: 程艳芬 工作单位: 计算机科学与技术学院 题 目: 基本模型机的设计加减法指令的实现初始条件: 理论:学完“电工电子学”、“数字逻辑”、和“计算机组成原理”课程,掌握计算机组成原理实验平台的使用。 实践:计算机学院科学系实验中心提供计算机、实验的软件、硬件平台,在实验中心硬件平台验证设计结果。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、基本模型机系统分析与设计,利用所学的计算机组成原理课程中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念。2、根据课程设计题目的要求,编制实验所需的程序,上机测试并分析所设计的程序。3、课程设计的书写报告应包括: (1)课程设计的题目。 (2)设计的目的及设计原理。 (3)根据设计要求给出模型机的逻辑框图。 (4)设计指令系统,并分析指令格式。 (5)设计微程序及其实现的方法(包括微指令格式的设计,后续微地址的产生方法以及微程序入口地址的形成)。 (6)模型机当中时序的设计安排。 (7)设计指令执行流程。 (8)给出编制的源程序,写出程序的指令代码及微程序。 (9)说明在使用软件HKCPT的联机方式与脱机方式的实现过程(包括编制程序中加减法指令的时序分析,累加器A和有关寄存器、存储器的数据变化以及数据流程)。 (10)课程设计总结(设计的特点、不足、收获与体会)。时间安排: 周一:熟悉相关资料。 周二:系统分析,设计程序。 周三、四:编程并上实验平台调试 周五:撰写课程设计报告。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日模型机的设计加减法指令的实现1.设计的目的及设计原理1.1设计的目的1.掌握各单元模块的工作原理,进一步将其组成完整的系统,构造成1台基本的模型计算机。2.掌握计算机组成原理实验平台的使用,加深对计算机各模块协同工作的认识,建立清晰完整的整机概念。3.通过使用软件HKCPT,了解程序编译、加载的过程。4.通过微单步、单拍调试,理解模型机中的数据流向。1.2设计的原理CPU是计算机核心,它是通过指令和微指令的执行来工作的。一个微命令驱动某个硬件部件执行某种操作,从而达到由计算机指令来驱动计算机各个硬部件的协调工作以实现一条指令的执行。本实验中的各个模块中,各模块控制信号都是手动模拟产生。而在真正的实验中,模型机的运行是在微程序的控制下,实现特定指令的功能。在此实验平台中,一条机器指令对应一个微程序,模型机从内存中取出、解释、执行机器指令都将由微指令和之相配合的时序来完成。2.模型机设计2.1模型机的逻辑框图简单的模型计算机是由算术逻辑单元、微程序单元、堆栈寄存器单元、累加器,启停、时序单元、总线和存储器单元组成。在模型机中,我们将要实现RAM的读写指令,寄存器的读写指令,跳转指令,ALU的加、减、与、或指令。把通用寄存器作为累加器A,进行左、右移等指令,整体构成一个单累加器多寄存器的系统。IR2-OPC-OALU-OCYZD微地址ALUDR1DR2AR0R1R2R3245245 PC245245IR2RAMIR6264*3指令译码163*2 微地址寄存器图如上:2.2指令系统及其指令格式2.2.1指令类型::此实验涉及的指令如下几种: MOV A , #55; /将立即数55传送到累加器A中MOV R0,#66; /将立即数66传送到寄存器R0中 ADD A,R0; /将累加器A和寄存器R0中的内容相加,结果送入累加器A中MOV R1,#33; /将立即数33传送到寄存器R1中SUB A,R1; /将累加器A中的内容减去寄存器R1中的内容,结果送入累加器A;STA 10; /A-RAMHALT ; /停机指令系统如下表:指令助记符指令功能指令编码微周期微操作取指微指令T0PC-地址总线-RAMRAM-数据总线-IR1ADD A,R0ADD A,R1ADD A,R2ADD A,R3(A)+(Ri)- A0C0D0E0FT0T1T2T3A-数据总线-DR1Ri-数据总线-DR2ALU-数据总线-A、置CY取指微指令SUB A,R0SUB A,R1SUB A,R2SUB A,R3(A)-(Ri)- A1C1D1E1FT0T1T2T3A-数据总线-DR1Ri-数据总线-DR2ALU-数据总线-A、置CY取指微指令MOV A,R0MOV A,R1MOV A,R2MOV A,R3(RI)-A3C3D3E3FT0T1RI-数据总线-A取指微指令MOV R0,AMOV R1,AMOV R2,AMOV R3,AA-(RI)4C4D4E4FT0T1A-数据总线-RI取指微指令MOV A,#dataData-A5FT0T1RAM-数据总线-A取指微指令STA addr(A)-addr8FT0T1T2RAM-数据总线-IR2IR2-地址总线,A-RAM取指微指令HALT停机FFT0停机微指令如下指令助记符微程序控制单元微指令00H4D FF FFMOV A,#5517HDD FB FF18H4D FF FFMOV R0,#661BHDD BF FF1CH4D FF FFADD A,R003HFF FC F904HFF 7F 7905HFF FB A906H4D FF FFMOV R1,#331BHDD BF FF1CH4D FF FFSUB A,R107HFF FC D608HFF 7F 5609HFF FB 860AH4D FF FFSTA 1023HD5 FF FF24HBB FD FF25H4D FF FFHALTSFHFF DF FF2.2.2指令格式一般指令由操作码和操作码组成,如下所示:操作码地址码 3.微程序设计及实现3.1 微程序入口地址的形成当微指令格式确定后,就需要确定后续微指令地址。通常是先确定微程序分支处的微地址,因为微程序分支处需要进行判断测试。微指令由ROM读出后直接给出下一条微指令的地址,这个地址就放在微地址寄存器中。当微程序出现分支时,通过地址转移逻辑去修改微地址寄存器内容,并按修改好的微地址读出下条微指令。微程序首地址形成MD7MD6MD5MD4MD3MD2MD1MD000I7I6I5I411按操作码散转指令操作码微程序首地址MD7、MD6I7I6I5I4MD1、MD0MD7MD0000001003H000011007H00010100BH00011100FH001001013H001011017H00110101BH00111101FH010001023H010011027H01010102BH01011102FH011001033H011011037H01110103BH01111103FH在00H放置了一条取址指令,当实验平台开始运行时,微地址从00H开始运行,根据程序开始地址从内存中读出第一条指令。微指令的运行顺序采用计数增量方法,下一条微指令的地址确定方法,是通过上一条微指令执行后微地址自动加一得到的。4.模型机中时序的设计。4.1时序图在此次实验中,由监控单元产生一个PLS-O的信号来控制时序产生。PLS-O信号经过时序单元的处理产生了4个脉冲信号(如下图所示:)。4个脉冲信号组成一个微周期,为不同的寄存器提供工作脉冲。PLS1:微地址寄存器的工作脉冲,用来设置微程序的首地址及微地址加1。PLS2:PC 计数器的工作脉冲,根据微指令的控制实现PC 计数器加1和重置PC 计数器(跳转指令)等功能。PLS3:把24位微指令打入3片微指令锁存器。PLS4:把当前总线上的数据打入微指令选通的寄存器中。SIGNPLS1PLS2PLS3PLS44.2 指令执行流程根据模型机整机逻辑图和目前硬件条件来设计指令系统中每条指令的执行流程。我们选取MOV R1,#33为列;指令功能为:66H-R0,需执行如下微操作:(PC)+1-PC ;PC加1,为取本指令下一字节准备(RAM)-ODB-IDB-R0 ;取出本指令第二字节(即33H)送R1(PC)+1-PC ;PC加1,为取下条指令字节做准备(PC)-IAB-OAB ;PC计数器内容作访问内存地址(RAM)-ODB-IDB-IR1 ;从内存该地址单元读出指令字节送指令寄存器IR1。设计流程时,保证每条微指令所含的微操作的必要性和合理性。总线IAB、IDB、OAB、ODB仅是传输信息的通路,没有寄存信息的功能。5.源程序,程序的指令代码及微程序5.1源程序MOV A,#55MOV R0,#66ADD A,R0MOV R1,#33SUB A,R1STA 10HALT5.2程序的指令代码内存地址指令助记符指令码或立即数说明00HMOV A,#555FH立即数 55H-A01H55H02HMOV R0,#666CH立即数 66H-寄存器R003H66H04HADD A,R00CHA内容+R0内容-A05HMOV R1,#336DH立即数33H-寄存器R106H33H07HSUB A,R11DHA内容-R1内容-A08HSTA 108FH将A内容写入RAM地址10H09H10H0AHHALTFFH停机6.上机实现我们以MOV R1,#33为列6.1运行流程图6.2累加器A、寄存器、存储器的数据变化以及数据流程 第一步:数据流程:取值指令 各寄存器数据变化如下表:寄存器执行前数据执行后数据ABBHBBHR066H66HR133H33HDR155H55HDR266H66HALUBBH55H第二步:数据流程:Dbus-Ri 各寄存器数据变化如下表:寄存器执行前数据执行后数据ABBHBBHR066H66HR133H33HDR155H55HDR266H66HALU55H55H7.课程设计总结在做实验之前,我把这个实验的流程以及资料仔细看了一遍,大致的了解到所做实验内容,因为有着充足的准备和老师的指点,很快我便完成了本次课程设计。本次课程设计主要装载课程设计指导书上设计的程序并测试运行,通过观察运行情况和数据在总线上的流动,了解各功能部件的工作原理和机制。在本次课程设计中,我们实现了读写内存、寄存器、数值计算等功能,并且编写相应的微程序,具体上机调试了各个模块单元,进一步掌握整机的概念。通过使用软件HKCPT,执行所设计的源程序的微程序,掌握到了源程序是如何通过执行微程序而被执行的。而在使用软件HKCPT的过程中发现该平台配套的此软件并不十分实用,调试窗口在程序执行后便不能再缩放,一缩放便出现错误,系统崩溃。最后我们通过移动不窗口不缩放,实现了清楚的观察到了运行过程中各个变量的变化。亲自到实验室做实验,让我们近距离的观测了实验的神奇和奇妙。这次课程设计过程中,让我解开了计算机神秘面纱,将掌握的计算机组成基本理论知识应用与实践中,通过实际的操作对计算机各部件的组成和工作原理的理解,了解了微程序计算机中指令和微指令的编码方法和指令在计算机中的运行,这极大激发了我对计算机内部结构探索的兴趣。在执行过程中出现了很多问题,注入系统崩溃等让我明白,课程设计不仅仅是完成任务那么简单,最主要的是通过这次课程设计来加深对计算机的认识和理解。本次课程设计我觉得不足的地方是实验室里的机器设备数量不够,很多机器有问题,包跨软件也是如此,常常的系统崩溃还有寄存器A的值一直不变,给我们实验造成太多的麻烦。 通过本次设计,我系统地了解模型机的设计流程,以及模型机的

温馨提示

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

评论

0/150

提交评论