计算机组成原理课程设计带复杂指令的设计与实现.doc

上传人:laozhun 文档编号:2882310 上传时间:2023-03-01 格式:DOC 页数:18 大小:585.50KB
返回 下载 相关 举报
计算机组成原理课程设计带复杂指令的设计与实现.doc_第1页
第1页 / 共18页
计算机组成原理课程设计带复杂指令的设计与实现.doc_第2页
第2页 / 共18页
计算机组成原理课程设计带复杂指令的设计与实现.doc_第3页
第3页 / 共18页
计算机组成原理课程设计带复杂指令的设计与实现.doc_第4页
第4页 / 共18页
计算机组成原理课程设计带复杂指令的设计与实现.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《计算机组成原理课程设计带复杂指令的设计与实现.doc》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计带复杂指令的设计与实现.doc(18页珍藏版)》请在三一办公上搜索。

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五、参考文献.18一、 实验原理部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程

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-1二、 设计及分析据以上数据原理要求设计数据通路框图如下: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,可检查后续单元内容,注意:每次仅

28、在微地址灯显示为“010111”时,显示灯的内容才是相应地址中的机器指令内容。4.运行程序单步运行程序 A使编程开关处于“RUN”状态,STEP为“STEP”状态,STOP为“RUN”状态。B拨动总清开关CLR(01),微地址清零,PC计数器清零,程序首地址为00H。C单步运行一条微指令,每按动一次START键,即单步运行一条微指令。对照微程序流程图,观察微地址显示灯是否和流程一致。D当运行结束后,可检查存数单元(0B)中的结果是否和理论值一致。连续运行程序A使“STATE UNIT”中的STEP开关置于“EXEC”状态,STOP开关置为“RUN”状态。B拨动CLR开关,清微地址及PC计数器,

29、按动START,系统连续运行程序,稍后将STOP拨至“STOP”时,系统停机。C停机后,可检查存数单元(0B)结果是否正确。 若联机运行程序时,进入DEBUG调试界面,总清开关CLR(01)清零后,程序首地址为00H,按相应功能键即可联机运行、调试程序。四总结 本次组成原理课程设计,在老师的帮助和指导下,以及和同组队友的积极配合,努力工作,用了三天的时间基本实现了课程设计的基本要求和功能。通过紧张有序的几天的课程设计实践,不仅让我们对基本模型机原理和微程序的编辑、写入方法有了进一步的了解, 也让我们觉得自己的动手能力有了很大的提高;在课程设计中自己思考并解决遇到的问题,理论知识得到了实践,也巩

30、固和深化了自己的知识结构;我们小组成员之间紧密配合,让我们对团队合作精神有了更深的理解。本设计的难点在于微程序的设计,只要理解了它是怎么实现程序的顺序、分支、循环运行的,其它的步骤即可迎刃而解。通过这次实践,我们懂得只要自己在每一次实践中都能仔细思考,能亲自动手,课程设计中遇到的难点都可以顺利解决。我们都要多操作演示,理解各个步骤的意义,只有多操作才能从中发现问题,及时解决问题,才能更好的掌握实验的基本原理。理论和实践的结合才能产生真正完美的东西。我们在以后的学习和生活中,既要学习好各种各样的理论知识,又要经常进行实践,把理论和实践完好的结合起来。在不断的学习中,我们要一步步完善自己,为自己的将来打下良好的基础五参考文献(1)计算机组成与结构王爱英版(2)计算机组成原理实验指导书

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号