计算机组成原理课程设计带复杂指令的设计与实现_第1页
计算机组成原理课程设计带复杂指令的设计与实现_第2页
计算机组成原理课程设计带复杂指令的设计与实现_第3页
计算机组成原理课程设计带复杂指令的设计与实现_第4页
计算机组成原理课程设计带复杂指令的设计与实现_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计(论文)任务书 信息工程 学院 计算机科学与技术 专业 1 班一、课程设计(论文)题目 带复杂指令的设计与实现 二、课程设计(论文)工作自 2011 年 6 月 26 日起至 2011 年 7 月 1 日止。三、课程设计(论文) 地点: 5-301 四、课程设计(论文)内容要求:1本课程设计的目的通过课程设计,使学生将掌握的计算机组成基本理论应用于实践中,在实际操作中加深对计算机各部件的组成和工作原理的理解,掌握微程序计算机中指令和微指令的编码方法,深入理解机器指令在计算机中的运行过程。2课程设计的任务及要求1)基本要求: 要求学生动手操作实验设备,掌握微程序设计思想和设计方法,设计实

2、现一个简单的模型机,该模型机由运算器、寄存器、译码电路、存储器、和存储微指令用的控制存储器组成,并能实现一些简单的机器指令,并根据设计好的指令设计简单的机器指令程序,实现输入、输出、存储器读写和简单的控制指令。2)创新要求: 要求学生根据要求,设计符合要求的指令程序实现简单的任务,并为设计的机器指令编写相应的微程序代码,并在模型机上验证和测试。3)课程设计论文编写要求(1)要按照书稿的规格打印誊写毕业论文。(2)论文包括目录、绪论、正文、小结、参考文献、附录等。(3)课程设计论文装订按学校的统一要求完成。4)答辩与评分标准: 及格:能按时完成基本指令微程序的设计与在模型机上实现,课程设计报告基

3、本符合要求。中:能按时完成基本指令微程序的设计与在模型机上实现,课程设计报告符合要求,能够分析设计基本指令之外指定的指令,能实现复杂寻址方式的指令。良:能按时完成基本指令微程序的设计与在模型机上实现,课程设计报告符合要求,能够分析设计基本指令之外指定的指令,能设计实现复杂寻址方式和能够自由设计功能相对简单的机器指令并为其编写微程序代码。优秀:能按时完成基本指令微程序的设计与在模型机上实现,课程设计报告符合要求,能够分析设计基本指令之外指定的指令,能设计实现复杂寻址方式和能够自由设计功能灵活的机器指令并为其编写微程序代码,能够自由控制微指令执行流程,代码设计有一定的创新性。指定的复杂指令包括:

4、(1)设计减法指令sub功能:1ah-1bh 1ch 寻址方式:寄存器间寻址指令执行流程:输入两个数05,01分别送到存储器地址单元1ah,1bh, 05h1ah /in,sta 01h1bh /in,sta 1ahr0 /in r0 r0 /自己设计 r0-1bh r0 /自己设计 r01ch 1ch led显示存储单元1ch内容(2)设计加法指令add2功能:1ah+ 1bh 1ch 寻址方式:存储器间接寻址指令执行流程:输入两个数05,01分别送到存储器地址单元1ah,1bh, 1dh1ah /in,sta05h1dh/ in,sta 01h1bh /in,sta 1ahr0 /in r

5、0 r0 /自己设计 r0+1bh r0 /自己设计 r01ch 1ch led显示存储单元1ch内容(3)寄存器加法指令功能:(r0)+(r1)r0其中r0、r1的起始内容由输入开关输入,r0输入1ah,存储器1ah单元中 预先存放数05h,r1的起始内容输入01h,然后ro完成一次存储器间接寻址将数05h取出,加上寄存器r1的内容01h,加法结果存到r0寄存器,最后将加法结果存储到单元1ch中并在led灯上显示出来。寻址方式:寄存器间寻址、寄存器寻址指令执行流程:输入两个数05,01分别送到存储器地址单元1ah,1bh, 05h1ah /in,sta 1ahr0 /in r0 r0 /自己

6、设计 01hr1 /自己设计 r0+ r1 r0 /自己设计 r01ch 1ch led显示存储单元1ch内容注意:以上三条复杂指令可以选择实现任意一条即可。5)参考文献:(1)(2)张 . 某出版社(3)6)课程设计进度安排内容 天数地点构思及收集资料 1图书馆上级调试 3实验室撰写论文 2图书馆、教室学生签名: 2011 年 6 月 26 日课程设计(论文)评审意见(1)完成原理分析(20分):优()、良()、中()、一般()、差(); (2)设计分析(30分):优()、良()、中()、一般()、差(); (3)完成调试(20分):优()、良()、中()、一般()、差();(4)回答问题(

7、10分):优()、良()、中()、一般()、差();(5)格式规范性 (20分):优()、良()、中()、一般()、差();评阅人: 职称: 2011 年 7 月 2 日目 录一、 实验原理5二、 设计及分析61.微程序流程图设计112.微指令代码设计123.机器指令设计134.in指令分析135.sub机器指令146.sta机器指令147.out机器指令158.jmp机器指令15三、调试程序.16 1.实物接线图.16 2.写入程序.173.检查程序.174.运行程序.17四、总结.18五、参考文献.181、 实验原理部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程

8、序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,cpu从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。本实验采用五条机器指令:in(输入)、sub(二进制减法)、sta(存数)、out(输出)、jmp(无条件转移)。其中in为单字长,其余为双字长指令。为了向ram中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。存储器读操作(krd):拨动总清开关clr后,控制台开关swb、swa为“00”时,按start微动开关,可对ram连续手动读操

9、作。存储器写操作(kwe):拨动总清开关clr后,控制台开关swb、swa为“01”时,按start微动开关,可对ram进行连续手动写入。启动程序:拨动总清开关clr后,控制台开关swb、swa置为“11”时,按start微动开关,即可转入到第01号“取址”微指令,启动程序运行。上述三条控制台指令用两个开关swb、swa的状态来设置,其定义如下:swb swa 控制台指令001011读内存(krd)写内存(kwe)启动程序(rp)微代码定义如表1所示。24232221201918171615 14 1312 11 109 8 7654321s3s2s1s0mcnwea9a8 a b cua5u

10、a4ua3ua2ua1ua0a字段 b字段 c字段 表4-12、 设计及分析据以上数据原理要求设计数据通路框图如下:in的数据流通图:sta的数据流通图: out的数据流通图: sub的数据流通图: jmp的数据流通图:1. 微程序流程图设计系统涉及到的微程序流程见图1,当拟定“取址”微指令时,该微指令的判别测试字段为p(1)测试。由于“取址”微指令是所有微程序都使用的公用微指令,因此p(1)的测试结果出现多路分支。本机用指令寄存器的前4位(ir7-ir4)作为测试条件,出现5路分支,占用5个固定微地址单元。控制台操作为p(4)测试,它以控制台开关swb、swa作为测试条件,出现了3路分支,占

11、用3个固定微地址单元。当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用一个微地址单元随意填写。注意:微程序流程图上的单元地址为8进制。运行微程序 控制台pcarpc+1 01 00 八进制微地址 p(4)rambusbusir 02 20 (swb swa) kwe(01) krd(00) rp(11) 10 p(1) 21 20 23pcar pc+1pcar pc+1 in sub sta out jmp 10 11 12 13 14 24 22 (sw) busbusdr1pcar pc+1rambusbusdr1pcarpc+1pcarpc+1pcarpc+1swr0 01

12、03 07 16 26 30 27dr1leddr1ramrambusbusarrambusbusarrambusbuspcrambusbusar 01 04 15 17 rambusbusdr1r0busbusramrambusbusdr2 01 05 25r0ardr1led 01 31 01ram-busbus-ar ram-busbus-dr132(dr1)-(dr2)r006 01微程序流程图2. 微指令代码设计当全部微程序设计完毕后,应将每条微指令代码化,表2即为将微程序流程图按微指令格式转化而成的“二进制微代码表”。 二进制代码表微地址s3 s2 s1 s0 m cn we a9

13、 a8a bcua5ua0 0 00 0 0 0 0 0 0 1 10 0 00 0 01 0 00 1 0 0 0 0 0 10 0 0 0 0 0 0 1 11 1 01 1 01 1 0 0 0 0 0 1 0 0 20 0 0 0 0 0 0 0 11 0 00 0 00 0 10 0 1 0 0 0 0 30 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 0 1 0 0 0 40 0 0 0 0 0 0 0 10 1 10 0 00 0 00 0 0 1 0 1 0 50 0 0 0 0 0 0 1 11 1 00 0 10 0 00 1 1 0 0 1 0 6

14、0 1 1 0 0 0 0 1 10 0 11 0 10 0 00 0 0 0 0 1 0 70 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 1 1 0 1 1 00 0 0 0 0 0 0 0 00 0 10 0 00 0 00 0 0 0 0 1 1 10 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 1 1 20 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 1 1 1 1 30 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 1 1 1 0 1 40 0 0 0 0 0 0 1 11

15、 1 01 1 01 1 00 1 0 1 1 0 1 50 0 0 0 0 0 1 0 10 0 00 0 10 0 00 0 0 0 0 1 1 60 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 1 1 1 1 1 70 0 0 0 0 0 0 0 10 1 00 0 00 0 00 1 0 1 0 1 2 00 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 0 0 1 0 2 10 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 0 1 0 0 2 20 0 0 0 0 0 0 0 10 1 00 0 00 0 00 1

16、0 1 1 1 2 30 0 0 0 0 0 0 1 10 0 00 0 00 0 00 0 0 0 0 1 2 40 0 0 0 0 0 0 0 00 1 00 0 00 0 00 1 1 0 0 0 2 5 0 0 0 0 0 1 1 1 00 0 01 0 10 0 00 0 0 0 0 1 2 60 0 0 0 0 0 0 0 11 0 10 0 01 1 00 0 0 0 0 1 2 70 0 0 0 0 1 1 1 00 0 01 0 10 0 00 1 0 0 0 0 3 00 0 0 0 0 1 1 0 10 0 01 0 10 0 00 1 0 0 0 1 3 10 0 0

17、0 0 0 0 0 11 1 00 0 00 0 00 1 1 0 1 0 3 20 0 0 0 0 0 0 0 10 1 00 0 00 0 00 0 0 1 1 03. 机器指令设计本实验设计机器指令程序如下:地 址(二进制) 内 容(二进制) 助记符 说 明0000 0000 0000 0000 in “input device”r00000 0001 0001 0000 sub 0ah r0-0ah r00000 0010 0000 10100000 0011 0010 0000 sta 0bh r00bh0000 0100 0000 10110000 0101 0011 0000 o

18、ut 0bh 0bh bus0000 0110 0000 10110000 0111 0100 0000 jmp 00h 00hpc0000 1000 0000 00000000 1001 0000 0010 被减数0000 1010 0000 0001 减数0000 1011 求和结果4. in指令分析(1)机器指令格式:地 址(二进制) 内 容(二进制) 助记符 说 明0000 0000 0000 0000 in “input device”r0 i7i6i5i4i3i2i1i0输入的是被减数的地址(2)微指令格式:微地址s3 s2 s1 s0 m cn we a9 a8a bcua5ua

19、0微指令功能 0 10 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 0pcarpc+1 0 20 0 0 0 0 0 0 0 11 0 00 0 00 0 1 0 0 1 0 0 0rambusbusir 1 00 0 0 0 0 0 0 0 00 0 10 0 00 0 00 0 0 0 0 1swr0本机用指令寄存器的前4位(ir7-ir4)作为测试条件,出现5路分支,占用5个固定微地址单元。3. 5. sub机器指令0000 0001 0001 0000 sub 0ah r0-0ah r0i7i6i5i4i3i2i1i00000 0010 0000 1

20、010sub机器指令微程序微地址s3 s2 s1 s0 m cn we a9 a8a bcua5ua0微指令功能 0 10 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 0pcarpc+1 0 20 0 0 0 0 0 0 0 11 0 00 0 00 0 1 0 0 1 0 0 0rambusbusir 1 10 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 1pcarpc+1 0 30 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 0 1 0 0rambusbusar 0 40 0 0 0 0 0 0

21、 0 10 1 10 0 00 0 00 0 0 1 0 1rambusbusdr2 0 50 0 0 0 0 0 0 1 11 1 00 0 10 0 00 1 1 0 0 1r0ar 3 10 0 0 0 0 0 0 0 11 1 00 0 00 0 00 1 1 0 1 0rambusbusar 3 20 0 0 0 0 0 0 0 10 1 00 0 0 0 0 00 0 0 1 1 0rambusbusdr1 0 61 0 0 1 0 1 0 1 10 0 11 0 10 0 00 0 0 0 0 1(dr1)+(dr2)r04. sta机器指令0000 0011 0010 0000

22、 sta 0bh r0 0bhi7i6i5i4i3i2i1i00000 0100 0000 1011sta机器指令微程序微地址s3 s2 s1 s0 m cn we a9 a8a bcua5ua0微指令功能 0 10 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 0pcarpc+1 0 20 0 0 0 0 0 0 0 11 0 00 0 00 0 1 0 0 1 0 0 0rambusbusir 1 20 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 1 1 1pcarpc+1 0 70 0 0 0 0 0 0 0 11 1 00

23、0 00 0 00 0 1 1 0 1rambusbusar 1 50 0 0 0 0 0 1 0 10 0 00 0 10 0 00 0 0 0 0 1robusbusram5. out机器指令0000 0101 0011 0000 out 0bh 0bhbusi7i6i5i4i3i2i1i00000 0110 0000 1011微地址s3 s2 s1 s0 m cn we a9 a8a bcua5ua0微指令功能 0 10 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 0pcarpc+1 0 20 0 0 0 0 0 0 0 11 0 00 0 00 0

24、1 0 0 1 0 0 0rambusbusir 1 30 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 1 1 1 0pcarpc+1 1 60 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 1 1 1 1rambusbusar 1 70 0 0 0 0 0 0 0 10 1 00 0 00 0 00 1 0 1 0 1rambusbusdr1 2 5 0 0 0 0 0 1 1 1 00 0 01 0 10 0 00 0 0 0 0 1dr1led6. jmp机器指令0000 0111 0100 0000 jmp 00h 00hpci7i6i5i

25、4i3i2i1i00000 1000 0000 0000微地址s3 s2 s1 s0 m cn we a9 a8a bcua5ua0微指令功能 0 10 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 0pcarpc+1 0 20 0 0 0 0 0 0 0 11 0 00 0 00 0 1 0 0 1 0 0 0rambusbusir 1 40 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 0 1 1 0pcarpc+1 2 60 0 0 0 0 0 0 0 11 0 10 0 01 1 00 0 0 0 0 1rambusbuspc三调

26、试程序1.实物接线图2.写入程序 先将机器指令对应的微代码正确地写入2816中,由于在实验(三)微程序控制实验中已将微代码写入eprom芯片中,对照表4-2校验正确后就可使用。 使用控制台kwe和krd微程序进行机器指令程序的装入和检查。a使编程开关处于“run”,step为“step”状态,stop为“run”状态。b拨动总清开关clr(01),微地址寄存器清零,程序计数器清零。然后使控制台swb、swa开关置为“0 1”。按动一次启动开关start,微地址显示灯显示“010001”,再按动一次start,微地址灯显示“010100”,此时数据开关的内容置为要写入的机器指令,按动一次star

27、t键,即完成该条指令的写入。若仔细阅读kwe的流程,就不难发现,机器指令的首地址只要第一次给入即可,pc会自动加1,所以,每次按动start,只有在微地址灯显示“010100”时,才设置内容,直到所有机器指令写完。3.检验程序写完程序后须进行检验。拨动总清开关clr(01)后,微地址清零,pc程序计数器清零,然后使控制台开关swb、swa为“0 0”,按动启动start,微地址灯将显示“010000”,再按start,微地址灯显示为“010010”,第三次按start,微地址灯显示为“010111”,此时总线单元的显示灯显示为该首地址的内容。不断按动start,可检查后续单元内容,注意:每次仅在微地址灯显示为“010111”时,显示灯的内容才是相应地址中的机器指令内容。4

温馨提示

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

评论

0/150

提交评论