《计算机组成原理课程设计报告.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计报告.docx(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机组成原理课程设计报告 课 程 设 计 报 告 课程名称 计算机组成原理 课题名称 困难模型计算机的设计 专 业 网络工程 班 级 班 学 号 姓 名 指导老师 2011年 X月X 日 XX学院 课 程 设 计 任 务 书 课程名称 计算机组成原理 课 题 困难模型计算机的设计 专业班级 网络工程班 学生姓名 学 号 指导老师 审 批 任务书下达日期 2011年7月8 日 任务完成日期 2011年9月2日 一、设计内容与设计要求 1设计内容 模型机是由五个部分组成的计算机,通过它可以理解计算机整机的结构及功能,理解CPU、存储器、中断限制器、总线的结构及实现逻辑和各部件之间的接口关系。本次
2、课程设计的主要内容是利用西安唐都公司的TDN-CM+的内部可编程资源,设计一个模型计算机。本课程设计的主要目的是通过部件级的模型机的设计和调试,使学生理解计算机由5部分组成,驾驭计算机的工作过程,从“指令微指令微操作”概念的理解,从而清楚地建立计算机的整机概念,并培育学生分析和解决实际问题的实力,同时增加学生的动手实力。 2设计要求: (1) 借助于TDN-CM+的内部可编程资源,运算器单元,限制存储器,微吩咐寄存器,地址转移逻辑,微地址寄存器,限制时序信号单元,寄存器组,总线,输入输出单元等,用微程序的方式设计一台的模型计算机。设计包括模型计算机组成的设计,指令系统的设计,并用汇编语言完成设
3、计并调试胜利。(2) 困难模型机的设计要求 (参考P107-115) 模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O 指令、访问及转移指令和停机指令。设计9条算术逻辑指令并用单字节表示,寻址方式采纳寄存器干脆寻址。设计2条访内指令,即存数(STA)、取数(LDA),2 条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC)。设计2 条I/O 指令,输入(IN)和输出(OUT)指令采纳单字节指令。设计停机指令1条用单字节表示。(3) 调试的程序 第一组 地址(H) 内容(H) 助记符 说明 $P00 44 IN 01 R0 INPUT device->R0 $P
4、01 46 IN 01 R2 INPUT device->R2 $P02 98 ADC R2 R0 R2+R0+CY->R0 $P03 81 MOV R0 R1 R0->R1 $P04 F5 RLC R1 R1 R1右移一位 $P05 0C BZC 00 00 00->PC $P06 00 其次组 地址(H) 内容(H) 助记符 说明 $P00 45 IN 01 R1 INPUT device->R1 $P01 00 LDA 00 00 R0 (20)-> R0 $P02 20 $P03 86 MOV R1 R2 R1->R2 $P04 A8 SBC
5、R2 R0 R2-R0-CY->R0 $P05 F5 RLC R1 R1 R1右移一位 $P06 0C BZC 00 00 00->PC $P07 00 第三组 地址(H) 内容(H) 助记符 说明 $P00 46 IN 01 R2 INPUT device->R2 $P01 84 MOV R2 R0 R2-> R0 $P02 44 IN 01 R0 INPUT device->R0 $P03 98 ADC R2 R0 R2+R0+CY->R0 $P04 E2 COM R2 NOT R2 ->R0 $P05 D6 STA 00 0A R2 R2 -&g
6、t;(0A) $P06 0A $P07 0C BZC 00 00 00->PC $P08 00 在规定的时间内以小组为单位完成相关的系统功能实现、数据测试和记录并进行适当的分析。要求,同一小组的每个同学必需分析一条不同的机器指令的微程序的组成,说明组成该机器指令的每一条微指令的微吩咐(不同的限制信号的组成)。要求修改一条微指令。(4)按本任务书的要求,编写课程设计报告(Word文档格式)。并用A4的复印纸打印并装订。 (5)在规定的时间内,请各班学习委员收齐课程设计报告在星期五交陈华光老师。 3分组及支配 分5组,学号除以5取余数,余数为0的同学做困难模型机1、余数为1的同学做困难模型机
7、2,余数为2的同学做困难模型机3,余数为3的同学做基于RISC的模型机,余数为4的做流水线模型机,每个组必需独立完成指定的题目,每个同学按要求独立完成课程设计报告。4成果评定 程序设计方案是否合理;程序设计是否正确;调试结果;设计说明书的质量凹凸;答辩时回答问题状况;课程设计周表现状况;总评成果记入“课程设计成果评分表”。二、进度支配 第 1周-2 周,详细支配如下: 星期 时间 班级 内容 地点 第1周 一 上午8:00-12.00 计算机0981 接线 E-510 二 下午2.3:0-6.30 计算机0981 系统调试实现 E-510 三 上午8:00-12.00 计算机0981 调试 E
8、-510 三 下午2.3:0-6.30 计算机0901/02 调试 E-510 四 下午2.3:0-6.30 计算机0901/02 接线 E-510 五 下午2.3:0-6.30 计算机0901/02 系统调试实现 E-510 一 下午2.3:0-6.30 网工0901/02 接线 E-510 二 上午8:00-12.00 网工0901/02 调试 E-510 四 下午2.3:0-6.30 网工0901/02 系统调试实现 E-510 书目 一 课题的主要功能 1 二 总体设计方案 2 2.1 困难模型机的逻辑框图 2 2.2用框图语言表示模型机的指令执行流程 3 三 数据格式和寻址方式的设计
9、 3 3.1数据格式 3 3.2模型机的寻址方式 4 3.3 指令格式 5 四 指令和和微程序的设计 8 4.1指令系统 8 4.2微程序的设计 8 五 线路连接图 12 六 微程序流程及说明 13 七 课程设计的收获及体会 17 八 参考资料 19 一 课题的主要功能 此次课题的目的是完整设计一台模型计算机,进一步建立整机的概念。借助于TDN-CM+的内部可编程资源,运算器单元,限制存储器,微吩咐寄存器,地址转移逻辑,微地址寄存器,限制时序信号单元,寄存器组,总线,输入输出单元等,用微程序的方式设计一台的模型计算机。设计包括模型计算机组成的设计,指令系统的设计,并用汇编语言完成设计并调试胜利
10、因此我们先通过一个困难模型机的设计试验来进行实际的计算机设计和实现,然后支配了用CPLD 来实现一个CPU 中的大部分功能的设计试验,接着探讨了输入输出系统的概念、分类、接口、寻址、基本限制方式等,依据后续微地址的形成方法,确定每条微程序地址及分支转移地址。依据微指令格式,将微程序流程中的全部微指令代码化,转化成相应的二进制代码,写入到限制存储器中的相应单元中。在总调试前,先按功能模块进行组装和分调,因为只有各功能模块工作正常后,才能保证整机的运行正确。当全部功能模块都调试正常后,进入总调试。连接全部模块,用单步微指令方式执行机器指令的微程序流程图,当全部微程序流程图检查完后,若运行结果正确,
11、则在内存中装入一段机器指令,进行其他的运行方式等功能调试及执行指令的正确性验证。在验证正确后再自己修改几条微程序,再调试验证是否达到自己的目的。 二 总体设计方案 2. 1 困难模型机的逻辑框图 以限制器为中心,首限制器从指令寄存器取得指令,编译指令,再输出微限制信号,限制ALU的运算,PC加一,并且从RAM中取出数据运算,运算后再把结果通过数据总线存到RAM,在指令寄存器读去下一条指令,依次循环。 图1 困难模型计算机逻辑框图 2.2 用框图语言表示模型机的指令执行流程 图2 模型计算机逻辑框图 三 数据格式和寻址方式的设计 3.1 数据格式 模型机规定采纳定点补码表示法表示数据,且字长为位
12、,其格式如下: 符号 尾 数 其中第 7 位为符号位,相对于十进制数值表示范围是:2 7X2 71。 3.2 模型机的寻址方式 操作数的寻址就是找寻形成操作数在主存中的地址的方法。 设指令格式如下: 操作码(OP) 寻址特征 形式地址 形式地址(D):指令地址字段中给出的地址。 有效地址(EA):形式地址经过肯定计算而得到的操作数的实际地址。 常用寻址方式如下: (1)隐含寻址:指令中不指出操作数的地址,而是隐含在累加器或堆栈等,由它们给出操作数。 (2)马上寻址:指令的地址字段指出的不是操作数的地址,而是操作数本身。即数据 data = D。 (3) 干脆寻址:操作数的地址干脆在指令中给出,
13、即操作数的有效地址为 EA = D。 (4)间接寻址:指令的形成地址 D 在主存相应单元中的内容是操作数的地址,即操作数的有效地址为 EA =(D)。 (5)寄存器寻址:指令中给出的是寄存器号 R,操作数就是寄存器中的内容,即 data=(R)。 (6) 寄存器间接寻址:指令中给出的是寄存器号 R,而操作数的地址就是寄存器中的内容, 即 EA =(R)。 (7)相对寻址:操作数地址为程序计数器 PC 中的内容与指令中给出的地址偏移量 D 之 和,位移量 D 通常以补码形式给出,可正可负。 即 EA=(PC)+D。 (8) 基址寻址:操作数地址为基址寄存器中的内容与指令中给出的地址偏移量 D 之
14、和,即 EA=(R)基址 +D (9)变址寻址:操作数地址为变址寄存器中的内容与指令中给出的地址偏移量 D 之和, 3.3 指令格式 由于本模型机机器字长只有8位二进制长度,故运用单字长指令和双字长指令。依据要求,设计该模型机能执行的不同指令,例指令格式及功能如下: (1) 算术逻辑运算指令 9 条算术逻辑指令的名称、功能和详细格式见表 3.1-1 表 3.1-1 算术逻辑运算指令用单字节表示,寻址方式采纳寄存器干脆寻址,其格式如下: OP-CODE rs rd 其中,OP-CODE 为操作码,rs 为源寄存器,rd 为目的寄存器,并规定: Rs 或 rd 选定的寄存器 00 01 10 R0
15、 R1 R2 (2) 访问指令及转移指令 模型机设计 2 条访内指令,即存数(STA)、取数(LDA),2 条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC),指令格式为: 7 6 5 4 3 2 1 0 00 M OP-CODE RD D 其中,OP-CODE 为操作码,rd 为目的寄存器地址(LDA、STA 指令运用)。D 为位移量 (正负均可),M 为寻址模式,其定义如下: 寻址模式 M 有效地址 E 说 明 00 01 10 11 E= D E=(D) E=(RI)+D E=(PC)+D 干脆寻址 间接寻址 RI 变址寻址 相对寻址 (3) I/O 指令 输入(IN
16、)和输出(OUT)指令采纳单字节指令,其格式如下: 其中,addr=01 时,选中“INPUT DEVICE”中的开关组作为输入设备,addr=10 时,选中“OUTPUT DEVICE”中的数码块作为输出设备。 (4) 停机指令 指令格式如下: HALT 指令,用于实现停机操作。 四 指令和和微程序的设计 4.1 指令系统 本模型机共有16 条基本指令,其中算术逻辑指令条,访问内存指令和程序限制指令条,输入输出指令条,其它指令1 条。表X列出了各条指令的格式、汇编符号、指令功能。 根据系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码表, 表X 即为将图X微程序流程图
17、按微指令格式转化而成的“二进制微代码表”。并将二进制代码表转换为联机操作时的十六进制格式文件,见下表X。表 X 24 23 22 21 20 19 18 17 16 1514 13 12 11 10 9 8 7 6 5 4 3 2 1 S3 S2 S1 S0 M Cn WE A9 A8 A B C A5 A5 A5 A5 A5 A5 4.2 微程序的设计 修改程序:把ADC机器指令的进行了修改,原来是执行:DR0+DR2BUSR0,把微程序改了,这条指令就执行:DR0或DR2BUSR0,其中把这条微程序M2B959B41改成M2B159B41就执行上条指令。得到的结果如图所示: 在微程序流程图
18、中找到ADC执行的数序号为53(八进制数),转化为十六进制数为2B。在给定的微程序中找到含2B的程序,为$M2B959B41将9,5转化为2进制数为1001,0101.其中,1001代表执行的运算,0101中的前两位中的0代表M=0,1代表Cn=1,比照74LS181的逻辑功能表,找到ADC所代表的是F=A加B,在F=A加B所在列找寻合适的算法即可。我找到的F=A或 B。其S3到S0为0001。转化为十进制数为1.将$M2B959B41中的9改为1,保存微程序。 修改后测试程序: 地址(H) 内容(H) 助记符 说明 $P00 44 IN 01 R0 INPUT device->R0 $
19、P01 46 IN 01 R2 INPUT device->R2 $P02 98 ADC R2 R0 R2或R0 ->R0 $P03 81 MOV R0 R1 R0->R1 $P04 E2 COM R2 NOT R2 ->R0 $P05 D6 STA 00 0A R2 R2 ->(0A) $P06 0A $P07 0C BZC 00 00 00->PC $P08 00 图1输入03至R0 图2输入03至R0 图3执行后得到正确结果送至R1 五 线路连接图 六 微程序流程及说明 (1)第一条指令是通过取址把INaddress中的数03存入到R0,如图1所示 图
20、1 (2) 其次条指令是通过取址把INaddress中的数03存入到R2,如图2所示 图2 (3)第三条指令是把R2中的数03送入到DR1中(图3),把R1中的数03送入到DR2中(图4),再在算数逻辑运算器ALU中对DR1和DR2中的数进行求或运算后存入R0(图5)。 图3 图4 图5 (4) 第四条指令MOV是把R0中的数送到R1,此时R1变成02,如(图6)所示 图6 (5)第五条指令是移位运算,把R1中的数送到299-BUS中进行移位运算,在将移位后的结构存入R1(图7) 图7 七 课程设计的收获及体会 经过这次课程设计我了解了许多学问,也学到了一些课本中没有的学问点,实践给我们带来了
21、许多欢乐,但是在这欢乐中我们有着艰辛,在我们接完线的时候,去运行机器总是出错,我们一步一步的检查,到最终一遍又一遍的重新连线,到最终最终胜利了,心里有着一般人没有的喜悦。 计算机设计与实践试验课程不仅仅是对理论的验证,重要的是技术训练和实力培育,包括动手实力、分析问题和解决问题的实力、书写实力和表达实力、团队协作实力等的培育也就是要注意学生的工程实力,培育学生完成项目实践的实力,同时,要培育学生沟通的实力,能够很好地表达自己的设计思想,这也是工程实践中必不行少的。因此,在整个课程中,指导老师多次与学生沟通设计方案,让学生在与老师的沟通中渐渐理解处理器的工作原理。同时,培育学生书写报告的实力,许
22、多学生只注意编程序,而不重视课程报告的撰写,这须要老师的引导和成果比例安排的导向,让学生真正理解报告不仅是写给老师看的,更重要的是真正通过报告的形式提交自己的设计思想。通过口头沟通和文字的书写,引导学生明确设计思路,体会整机的设计思想,使“设计”真正成为完成该“项目”的第一步。这次课程设计对于我个人有很大的收获,对于困难模型计算机的设计有了肯定的了解,意识到专业学问的重要性,要想学好肯定要下狠功夫,没有付出,怎有回报,同时也体会到理论的学问的理解必需依靠实践是的有力结合,才能对学习的学问融会贯穿,了解透彻,实践恒久是检验真理的唯一标准,我希望在学习的过程能够多开展这样的有意义的课程设计,对于学
23、生的学问的提高有很大的帮助,期盼下一次这样课题的课程设计,我将一如既往热忱地投入到学习的过程中,求知,求学,更好学好专业,优秀完成专业任务,丰富自己的专业学问,求得更快成长! 八 参考资料 1 陈华光. 计算机组成原理M.北京:机械工业出版社,2004 2 杨小龙. 计算机组成原理与系统结构试验教程M,西安:西安电子科技高校出版社,2004 附件(程序清单): $P0044 $P01B0 $P0245 $P03C1 $P0486 $P050c $P0600 $M00018108 $M0101ED82 $M0200C050 $M0300A004 $M0400E0A0 $M0500E006 $M0
24、600A007 $M0700E0A0 $M0801ED8A $M0901ED8C $M0A00A03B $M0B018001 $M0C00203C $M0D00A00E $M0E01B60F $M0F95EA25 $M1001ED83 $M1101ED85 $M1201ED8D $M1301EDA6 $M14001001 $M15030401 $M16018016 $M173D9A01 $M18019201 $M1901A22A $M1A01B22C $M1B01A232 $M1C01A233 $M1D01A236 $M1E318237 $M1F318239 $M20009001 $M2102
25、8401 $M2205DB81 $M230180E4 $M24018001 $M2595AAA0 $M2600A027 $M2701BC28 $M2895EA29 $M2995AAA0 $M2A01B42B $M2BB59B41 $M2C01A42D $M2D65AB6E $M2E0D9A01 $M2F01AA30 $M300D8171 $M31959B41 $M32C19A01 $M3301B435 $M3405DB81 $M35699B41 $M36CD9A01 $M37298838 $M38019801 $M3919883A $M3A019801 $M3B070A08 $M3C068A09 计算机科学与技术系课程设计评分表 课题名称:困难模型计算机的设计 项 目 评 价 设计方案的合理性与创建性 设计与调试结果 设计说明书的质量 答辩陈述与回答问题状况 课程设计周表现状况 综合成果 老师签名: 日 期: