课程设计计算机组成原理复杂模型机的组成与运行_第1页
课程设计计算机组成原理复杂模型机的组成与运行_第2页
课程设计计算机组成原理复杂模型机的组成与运行_第3页
课程设计计算机组成原理复杂模型机的组成与运行_第4页
课程设计计算机组成原理复杂模型机的组成与运行_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、 计算机组成原理计算机组成原理课程设计报告课程设计报告题目五题目五: :复杂模型机的组成与运行复杂模型机的组成与运行 姓姓 名名学学 号号班班 级级0808计算机科学与技术汉师范班计算机科学与技术汉师范班指导教师指导教师职称职称讲师讲师日日 期期20112011年年7 7月月 1515日日 1 目目 录录1 任务描述任务描述.21.1 题目名称.21.2 要 求.21.3 实验目的.22 设计设备设计设备.23 设计原理和方法设计原理和方法.23.1 设计原理.23.1.1 数据格式.23.1.2 指令设计.23.1.3 指令格式.33.1.4 指令系统.43.2 设计依据.53.2.1 详细

2、设计.53.3.2 实验操作.74 代码清单代码清单.84.1 微程序流图.84.2 机器指令代码.94.3 微程序代码.105 设计运行结果分析设计运行结果分析.125.1 实验结果:.125.2 出错情况:.126 设计小结设计小结.127致谢致谢.138参考文献参考文献.14附录一:数据通路框图附录一:数据通路框图.15附录二:复杂模型机实验电路连线图附录二:复杂模型机实验电路连线图.16 2题目五题目五 复杂模型机的组成与程序运行复杂模型机的组成与程序运行11 任务描述任务描述 1.11.1 题目名称题目名称:复杂模型机的组成与程序运行1.21.2 要要 求求:基于 td-cma 计算

3、机组成原理教学实验系统,设计一个复杂计算机整机系统模型机,分析其工作原理。根据模型机的数据通路以及微程序控制器的工作原理,设计完成以下几条机器指令和相应的微程序,输入程序并运行。in r0,00h ;从端口00h读入计数初值到r0ldi r2,50h ;读入数据始地址ldi r1,00h ;累加和初值00h start: lad 10,00h,r3 ;从mem 读入数据送r3,变址寻址,偏移量为00h add r1,r3 ;累加求和inc ri ;变址寄存加1,指向下一数据ldi r3, 01h ;送立即数入r3sub r0, r3 ;r0-r3 -r0,与上一条指令一起实现dec r0bzc

4、 result ;为0 则跳转jmp start ;跳转至startresult: out 40h,r1 ;和在out 单元显示hlt ;停机50h、51h、52h、53h、54h单元内容分别为02h、03h、04h、05h、06h。 1.31.3 实验目的实验目的:该实验通过从端口 00h 读入一个计数初值,以该计数初值为基准从mem 的 50h 单元开始的连续的计数初值个数的累加和,最后将求得的累加和从端口 40h输出显示。2 2 设计设备设计设备 实验设备:西安唐都科教仪器公司生产的td-cma 实验系统一套,pc机一台,数据连接导线若干,电源。3 3 设计原理和方法设计原理和方法 通过

5、已经学过的计算机组成原理知识,在td-cma实验系统上设计一个复杂模型机。 3.13.1 设计原理设计原理3.1.13.1.1 数据格式数据格式模型机规定采用定点补码表示法表示数据,字长为位,8 位全用来表示数据(最高位不表示符号),数值表示范围是: 0x281。3.1.23.1.2 指令设计指令设计该复杂模型机设计包含运算类指令、控制类指令、数据传输类指令三大类指令。运算类指令仅用到了算术运算,算术运算设计有3 条运算类指令,分别为:add(两寄存器值加法)、inc(寄存器值自加1)、sub(两寄存器值减法)。所有运算类指令都为单 3字节,寻址方式采用寄存器直接寻址。控制转移类指令有三条hl

6、t(停机)、jmp(无条件跳转到指定的指令地址)、bzc(判断寄存器内容是否为0,为0则跳转到指定的指令地址),用以控制程序的分支和转移,其中hlt为单字节指令,jmp 和bzc 为双字节指令。数据传送类指令有in、out、ldi、lad、sta 共5 条,用以完成寄存器和寄存器、寄存器和i/o、寄存器和存储器之间的数据交换,均为双字节指令。 3.1.33.1.3 指令格式指令格式 a、算术逻辑运算指令格式如下格式如下 其中rs为源操作数寄存器,rd为目的操作数寄存器。并且规定了用两位二进制数来表示r0、r1、r2、r3寄存器,规定其表示方式如下表所示: b、i/o指令格式(in和out指令)

7、如下 其中括号中的1 表示指令的第一字节,2 表示指令的第二字节, rs为源寄存器,rd 为目的寄存器, i/o 端口号占用一个字节。c、访问指令及控制转移指令格式如下: a、 ldi 的指令格式如下,第一字节同前一样,第二字节为立即数。 b、lad、sta、jmp 和bzc 指令格式如下表所示:7 6 5 4 3 21 0操作码rsrdrs或rd对应的寄存器 00 r0 01 r1 10 r2 11 r37 6 5 4(1)3 2(1)1 0(1)7 6 5 4 3 2 1 0(2) 操作码rsrd i/o端口号7 6 5 4(1)3 2(1)1 0(1)7 6 5 4 3 2 1 0(2)

8、 操作码rsrd data 4其中m 为寻址模式,具体见表3-1-1所示,以r2 做为变址寄存器ri。表3.1.1 寻址模式说明表寻址模式 m有效地址 e说 明00e = d直接寻址01e = (d)间接寻址10e = (ri) + dri变址寻址11e = (pc) + d相对寻址d、停机指令格式如下7 6 5 4 3 2 1 0 操作码* * *3.1.43.1.4 指令系统指令系统本模型机共有 11 条基本指令,其中算术逻辑运算单元3条,分别为sub、add、inc.控制转移指令两条,分别为jmp、bzc.输入输出指令两条,分别为in和out。寻址数据转移指令两条,分别为ldi、lad。

9、停机指令一条,为halt.表3-1-2 列出了各条指令的汇编符号、指令格式及指令功能说明。详细说明见表3.1.2。 表3.1.2 指令描述表3.1.2 指令描述7 6 5 4(1)3 2(1)1 0(1)7 6 5 4 3 2 1 0(2) 操作码mrd d 53.23.2 设计依据设计依据该复杂模型机通过已经学过的计算机组成原理知识,根据提供的实验箱,设计出了相应的机器指令,根据机器指令,由各种译码电路分析各条机器指令所要完成的工作,翻译分析得到相应的多条微程序指令,由微程序控制硬件及软件完成相应的操作。其中由p(1)、p(2)、p(3)测试得到相应的微程序入口,由微指令的低六位得到微指令的

10、后继地址,一直到执行完所有的机器指令完成相应的工作,到停机指令为止。3.2.13.2.1 详细设计详细设计由于复杂模型机实验的指令较多,寻址方式也较复杂,仅采用一种测试是不能够满足要求的,因此参照实验手册上的指令译码电路设计了电路图,如图2二所示: 图二 指令译码原理图该复杂模型机实验涉及到四个通用寄存器r0、r1、r2、r3,对寄存器的选择通过对指令低四位进行测试,判断得到相应的寄存器号。如:涉及到寄存器r0,则可能在低两位或者低三、四位为0表示。该功能寄存器译码电路,在ir 单元的reg_dec(gal16v8)中实现。译码电路如图三所示。 图三 寄存器译码原理图 6b 微指令格式微指令格

11、式根据机器指令系统要求,设计确定微地址。微指令格式如下所示:232221201918-1514-1211-98-65-0m32cnwrrdioms3-s0a字段b字段c字段ua5-ua0 c 二进制代码表二进制代码表参照微指令流程图,将每条微指令代码化,译成二进制代码表(表3.1.3),并将二进制代码表转换为联机操作时的十六进制格式文件。 表3.1.3 二进制代码表 73.3.23.3.2 实验操作实验操作a 复杂模型机系统实验连线图复杂模型机系统实验连线图(见附录一)(见附录一) 该实验图是复杂模型机在根据设计的指令系统设计出来的(此处借鉴了实验指导书的复杂模型机的实验连线图) 。b 实验步

12、骤实验步骤在该复杂模型机实验中,我采用的是联机写入和校验的方式。1根据实验连线图(见附录二)正确连接电路。2联机写入和校验联机软件提供了微程序和机器程序下载功能,以代替手动读写微程序和机器程序,但是微程序和机器程序得以指定的格式写入到以txt 为后缀的文件中,本次实验程序见代码清单,程序中分号;为注释符,分号后面的内容在下载时将被忽略掉。在软件界面上可以通过单步、单拍、运行、结束等按钮执行程序。记录运行结果。 84 4 代码清单代码清单 4.14.1 微程序流图微程序流图 图 1 微程序流图微程序流程图说明了微指令执行过程中指令流和数据流的方向。能更具体地看到具体的指令流和数据流的起点和和终点

13、。其中起点可能是 pc 程序计数器、ar 地址寄存器、主存 mem、通用寄存器 r0、r1、r2、r3、in 端口等。终点可能是 ar、mem、out 端口、暂存器 a、b 等。 94.24.2 机器指令代码机器指令代码; /* start of main memory data */;/*其中地址和机器指令均为十六进制*/;/地址 机器指令 助记符 功能描述说明$p 00 20 ; in r0,00h 从 in 单元读入计数初值$p 01 00 $p 02 62 ; ldi r2,50h 立即数 50h 送 r1$p 03 50$p 04 61 ; ldi r1,00h 装入和初值 00h$

14、p 05 00 $p 06 cb ;start: lad 10,00h,r3 从 mem 读入数据送 r3,变址寻址,偏移量为 00h $p 07 00 $p 08 0d ; add r1,r3 累加求和$p 09 72 ; inc ri 变址寄存加 1,指向下一数据 $p 0a 63 ; ldi r3,01h 送立即数 01h 入 r3$p 0b 01 $p 0c 8c ; sub r0,r3 dec r0,r0-r3-r0$p 0d f0 ; bzc result 为 0 跳转到 result 处。$p 0e 11 ;$p 0f e0 ; jmp start 无条件跳转到 start 处。

15、$p 10 06$p 11 34 ;result:out 40h,r1 从端口 40 将所求得的累加和输出显示$p 12 40$p 13 50 ; hlt 停机$p 50 02 ; 数据$p 51 03$p 52 04$p 53 05 10$p 54 06$p 55 07; /* end of main memory data */4.34.3 微程序代码微程序代码; /* start of microcontroller data */;/*其中地址和微指令均为十六进制*/;/地址 微指令 操作*/$m 00 000001 ; nop$m 01 006d43 ; pc-ar, pc 加 1$

16、m 03 107070 ; mem-ir, p$m 04 002405 ; rs-b$m 05 04b201 ; a 加 b-rd$m 06 002407 ; rs-b$m 07 013201 ; a 与 b-rd$m 08 106009 ; mem-ar$m 09 183001 ; io-rd$m 0a 106010 ; mem-ar$m 0b 000001 ; nop$m 0c 103001 ; mem-rd$m 0d 200601 ; rd-mem$m 0e 005341 ; a-pc$m 0f 0000cb ; nop, p$m 10 280401 ; rs-io$m 11 10300

17、1 ; mem-rd$m 12 06b201 ; a 加 1-rd$m 13 002414 ; rs-b$m 14 05b201 ; a 减 b-rd$m 15 002416 ; rs-b$m 16 01b201 ; a 或 b-rd 11$m 17 002418 ; rs-b$m 18 02b201 ; a 右环移-rd$m 1b 005341 ; a-pc$m 1c 10101d ; mem-a$m 1d 10608c ; mem-ar, p$m 1e 10601f ; mem-ar$m 1f 101020 ; mem-a$m 20 10608c ; mem-ar, p$m 28 1010

18、29 ; mem-a$m 29 00282a ; ri-b$m 2a 04e22b ; a 加 b-ar$m 2b 04928c ; a 加 b-a, p$m 2c 10102d ; mem-a$m 2d 002c2e ; pc-b$m 2e 04e22f ; a 加 b-ar$m 2f 04928c ; a 加 b-a, p$m 30 001604 ; rd-a$m 31 001606 ; rd-a$m 32 006d48 ; pc-ar, pc 加 1$m 33 006d4a ; pc-ar, pc 加 1$m 34 003401 ; rs-rd$m 35 000035 ; nop$m 3

19、6 006d51 ; pc-ar, pc 加 1$m 37 001612 ; rd-a$m 38 001613 ; rd-a$m 39 001615 ; rd-a$m 3a 001617 ; rd-a$m 3b 000001 ; nop$m 3c 006d5c ; pc-ar, pc 加 1$m 3d 006d5e ; pc-ar, pc 加 1 12$m 3e 006d68 ; pc-ar, pc 加 1$m 3f 006d6c ; pc-ar, pc 加 1; /* end of microcontroller data */5 5 设计运行结果分析设计运行结果分析 5.15.1 实验结果

20、:实验结果:实验结果分析:本实验通过复杂模型机实现了从内存50h单元开始的几个数据的累加求和。从in单元的ooh端口输入数4,实现了从50h单元开始的2、3、4、5的求和,求得的累加和的结果在out单元的40h端口输出,输出结果为“0eh”.结果与用笔在所编程序上得结果相符。该结果验证了程序的正确性。5.25.2 出错情况:出错情况:出错原因:解决方法:对所设计题目的运行结果给出尽可能全面的分析,包括出错情况和出错原因分析6 6 设计小结设计小结 通过课程设计,加深了我对计算机整机的综合理解,掌握微程序控制器的组成原理以及微程序的编制、调试技术及模型机设计的基本方法,强化设计能力和实验动手能力

21、。计算机组成原理是计算机科学与技术专业一门非常重要的课程,在计算机专业的学习中起着相当重要的作用,是掌握计算机硬件知识和计算机内部处理过程的理论基础,因此,本次课程设计是对计算机组成原理所学理论知识的一次大检阅,是集知识的综合应用和动手能力于一体的一次大型的演练。通过本次课程设计,我对计算机的基本组成、工作原理,以及他们之间的通信方式 ,微程序控制器的设计、微指令和微程序的编制、调试以及执行等过程在理论的基础上面有了更加深刻的理解,并加深了对理论课程的理解。在实践过程中,老师的指导,与其他同学相互协作、相互交流,加强了我们之间的团队精神,并从以下几方面得到较深体会:1、加深了对实验原理的认识

22、本实验主要运用的原理是微程序控制的控制器工作原理。计算机所识别的全部指令都是由微指令组成的微程序,指令的执行是通过来执行相应的微程序来完成的。实验中将所要求的所有指令变成对应的微程序,写入控制存储器中,以后在执行用户程序的过程中,每次都先从内存储器中取出一条机器指令,其解释执行过程都是从控制存储器中读出相应的微程序,执行每条微指令的过程。2、熟悉了微程序流程图的画法和微指令的设计方法 13画微程序流程图,要先确立每条机器指令所需要的微周期数,此时要注意遵循确立的原则。即写总线的微操作不能安排在同一条微指令中;当一微指令使用 t4 节拍时,其后续微操作不能与它安排在同一条微指令中;互斥微操作不能安排在同一条微指令中。3、对理论在实践中的应用有深刻的理解 这次课程设计提供了理论用于实践的机会,使我们真正弄懂了微指令的编写过程。指令的构成是设计过程中的一个难点,我们一定要真正地弄懂它,进而弄清楚指令的功能,理解整个设计的目的。

温馨提示

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

最新文档

评论

0/150

提交评论