计算机组成原理课设_第1页
计算机组成原理课设_第2页
计算机组成原理课设_第3页
计算机组成原理课设_第4页
计算机组成原理课设_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

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

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

3、设计过程:25分; (3)完成调试:25分;(4)回答问题:10;(5)格式规范性 :20分。5)参考文献:(1)计算机组成与结构(第五版) 王爱英 主编 清华大学出版社(2)计算机组成原理 蒋本珊 著 清华大学出版社(3)微机原理与汇编语言程序设计 荆淑霞 主编 中国水利水电出版社(4)电子技术基础 数字部分 康华光 主编 高等教育出版社(5)EL-JY-II型计算机组成原理实验系统实验指导书 北京精仪达盛科技有限公司6)课程设计进度安排内容 天数 地点构思及收集资料 2 图书馆上级调试 2 实验室撰写论文 3 图书馆、教室学生签名: 2015 年 6 月 15 日课程设计(论文)评审意见(

4、1)完成原理分析(20分):优()、良()、中()、一般()、差(); (2)设计分析(25分):优()、良()、中()、一般()、差(); (3)完成调试(25分):优()、良()、中()、一般()、差();(4)回答问题(10分):优()、良()、中()、一般()、差();(5)格式规范性 :(20分):优()、良()、中()、一般()、差();评阅人: 职称: 2015 年 6 月 21 日 目录一、设计目的11.1课程设计的目的11.2课设设计的要求1二、设计内容12.1总体设计方案12.2设计具体内容2三、设计原理33.1模型机结构33.2模型机内部工作原理43.3机器指令代码功能分

5、析83.4微程序实现过程及分析8四、详细设计264.1实验连线:264.2写微代码:264.3读微代码及校验微代码:274.4写机器指令284.5读机器指令及校验机器指令:294.6运行程序294.7实验结果说明29五、心得体会31六、参考文献31一、设计目的1.1课程设计的目的计算机组成原理课程设计是为计算机组成原理课程而独立开设的实践性课程。计算机组成原理课程设计对于巩固计算机组成原理知识,加强学生的实际动手能力和提高学生综合素质十分必要。计算机组成原理课程设计的主要目的是:(1)通过对一个简单计算机的设计,以达到对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令的编

6、制与调试等过程有更深的了解,加深对理论课程的理解。(2)通过设计模型机,连贯运用计算机组成原理课程学到的知识,建立计算机整机概念。(3)培养独立工作和创新思维的能力,取得设计与调试的实践经验。1.2课设设计的要求在掌握“EL-JY-II型计算机组成原理实验系统”原理的基础上,以此实验系统为平台,设计实验一台微程序控制的模型计算机。要求学生动手操作实验设备,掌握微程序设计思想和设计方法,设计实现一个带复杂指令的模型机,该模型机由运算器、寄存器、译码电路、存储器、和存储微指令用的控制存储器组成,并能实现一些自行设计的复杂机器指令,并根据设计好的指令设计复杂的机器指令程序,实现输入、输出、存储器读写

7、和带复杂的控制指令。二、设计内容2.1总体设计方案描述模型机的逻辑框图;描述模型机指令执行流程。(1)模型机指令系统的设计:描述模型机的数据表示和寻址方式;描述模型机的指令格式;描述模型机的指令系统和相应的二进制形式的机器编码。设计模型机指令系统(含设计机器指令、微指令格式、每条指令所对应的微程序等。)(2)模型机指令系统的实现:描述实现指令系统的微程序设计的思想;描述实现机器指令的微指令的指令格式;描述微指令操作控制字段的编码方式;描述微指令后续微地址的形成方式。模型机指令实现的微程序流程图。(3)在以上软设计的基础上,针对不同的功能要求,设计机器指令程序,验证机器指令的功能。2.2设计具体

8、内容1、课程设计准备:(1)分析实验模型机结构(2)分析给出的机器指令的功能(3)在CPU模型图上画出每条指令的指令执行流程,并分析相应的微程序控制信号序列,理解各条微指令的编码意义。2、课程设计具体内容:(1)按要求在模型机上接好线路(2)分析设计基本机器指令的微程序,在实验指导书的基础上自行设计并添加复杂指令(3)手工或通过串口连接计算机输入微程序(4)测试指令执行过程是否与要求相符(5)记录每条指令的执行流程(6)改写微程序完成指定的指令功能并实现多种寻址方式。(7)验证改写后指令的执行情况是否符合设计要求(8)记录实验运行结果(9)完成课程设计论文或报告(10)做好实验小结(11)课程

9、设计论文答辩三、设计原理3.1模型机结构图中运算器ALU由U7U10四片74LS181构成,暂存器1由U3、U4两片74LS273构成,暂存器2由U5、U6两片74LS273构成。微控器部分控存由U13U15三片2816构成。除此之外,CPU的其它部分都由EP1K10集成(其原理见系统介绍部分)。存储器部分由两片6116构成16位存储器,地址总线只有低八位有效,因而其存储空间为00HFFH。输出设备由底板上的四个LED数码管及其译码、驱动电路构成,当D-G和W/R均为低电平时将数据总线的数据送入数码管显示。在开关方式下,输入设备由16位电平开关及两个三态缓冲芯片74LS244构成,当DIJ-G

10、为低电平时将16位开关状态送上数据总线。在键盘方式或联机方式下,数据可由键盘或上位机输入,然后由监控程序直接送上数据总线,因而外加的数据输入电路可以不用。注:本系统的数据总线为16位,指令、地址和程序计数器均为8位。当数据总线上的数据打入指令寄存器、地址寄存器和程序计数器时,只有低8位有效。3.2模型机内部工作原理在本实验中我们将学习读、写机器指令和运行机器指令的完整过程。在机器指令的执行过程中,从CPU从内存取出一条机器指令到执行结束为一个指令周期,指令由微指令组成的序列来完成,一条机器指令对应一段微程序。另外,读、写机器指令也分别由相应的微程序段来完成。为了向RAM中装入程序和数据,检查写

11、入是否正确,并能启动程序执行,必须设计三个控制操作微程序。存储器读操作(MRD):拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“00”时,按“单步”键,可对RAM连续读操作。存储器写操作(MWE):拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“10”时,按“单步”键,可对RAM连续写操作。启动程序(RUN):拨动开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“11”时,按“单步”键,即可转入到第01号“取指”微指令,启动程序运行。注:CA1、CA2由控制总线的E4、E5给出。键盘操作方式时由监控程序直接对E4、E5赋值,

12、无需接线。开关方式时可将E4、E5接至控制开关CA1、CA2,由开关来控制。本系统设计的微指令字长24位,其控制位顺序如下:24232221201918171615 14 1312 11 109 8 7654321S3S2S1S0MCnWE1A1BF1F2F3uA5uA4uA3uA2uA1uA0、三个字段的编码方案如表71,其余控制位的含义见实验五。F1字段F2字段F3字段15 14 13选择12 11 10选择9 8 7选择0 0 0LDRi0 0 0RAG0 0 0P10 0 1LOAD0 0 1ALU-G0 0 1AR0 1 0LDR20 1 0RCG0 1 0P30 1 1自定义0 1

13、 1自定义0 1 1自定义1 0 0LDR11 0 0RBG1 0 0P21 0 1LAR1 0 1PC-G1 0 1LPC1 1 0LDIR1 1 0299-G1 1 0P 41 1 1无操作1 1 1无操作1 1 1无操作 表71微指令译码电路如下: 图53 微指令译码电路图中MS24MS16对应于微指令的第2416位,S3S2S1S0MCn为运算器的方式控制。ALU(算术逻辑单元)能进行多种算术运算和逻辑运算。一个4位的ALU74LS181运算功能发生器能进行16种算术运算和逻辑运算。功能表如下:方式M=1逻辑运算M=0算术运算S3 S2 S1 S0逻辑运算CN=1(无进位)CN=0(有

14、进位)0 0 0 0F=/AF=AF=A加10 0 0 1F=/(A+B)F=A+BF=(A+B)加10 0 1 0F=(/A)BF=A+/BF=(A+/B)加10 0 1 1F=0F=负1F=00 1 0 0F=/(AB)F=A加A(/B)F=A加A/B加10 1 0 1F=/BF=(A+B)加A/BF=(A+B)加A/B加10 1 1 0F=ABF=A减B减1F=A减B0 1 1 1F=A/BF=A(/B)减1F=A(/B)1 0 0 0F=/A+BF=A加ABF=A加AB加11 0 0 1F=/(AB)F=A加BF=A加B加11 0 1 0F=BF=(A+/B)加ABF=(A+/B)加A

15、B加11 0 1 1F=ABF=AB减1F=AB1 1 0 0F=1F=A加AF=A加A加11 1 0 1F=A+/BF=(A+B)加AF=(A+B)加A加11 1 1 0F=A+BF=(A+/B)加AF=(A+/B)加A加11 1 1 1F=AF=A减1F=A(上表中的“/”表示求反)由上表可知,该实验中主要运用的算数加法和算数减法所对应的(S3 S2 S1 S0)分别是(1001)和(0110),主要运用的逻辑与运算、逻辑或运算、逻辑异或运算以及逻辑非运算所对应的(S3 S2 S1 S0)分别是(1011)、(1110)、(0110)和(0000)。 WE为外部器件的读写信号,1表示写,0

16、表示读;1A、1B用于选通外部器件,通常接至底板IO控制电路的1A1B端,四个输出Y0Y1Y2Y3接外部器件的片选端。(注:在实验六及以后的实验中,Y3被系统占用,用于输入中断,Y0Y1Y2仍能被用户使用)图5-3中,MS15MS13对应于微指令中的F1,经锁存译码后产生6个输出信号:LDRi、LDR1、LDR2、LDIR、LOAD、LAR。其中LDR1、LDR2为运算器的两个锁存控制(见实验一);LDIR为指令寄存器的锁存控制(见系统介绍中指令寄存器电路);LRi为寄存器堆的写控制,它与指令寄存器的第0位和第1位共同决定对哪个寄存器进行写操作(见系统介绍中寄存器堆电路和图5-4);LOAD为

17、程序计数器的置数控制,LAR为地址寄存器的锁存控制(见系统介绍中程序计数器和地址寄存器电路)。以上6个输出信号均为1有效。图5-3中MS12MS10对应于微指令中的F2,经锁存译码后产生6个输出信号:RAG、RBG、RCG、299-G、ALU-G、PC-G。其中RAG、RBG、RCG分别为寄存器Ax、Bx、Cx的输出控制(见系统介绍中寄存器堆电路);299-G为移位寄存器的输出控制(见实验二);ALU-G为运算器的输出控制(见实验一);PC-G为程序计数器的输出控制(见系统介绍中程序计数器和地址寄存器电路)。以上信号均为0有效。图5-3中MS9MS9对应于微指令中的F3,经锁存译码后产生6个输

18、出信号:P1、P2、P3、P4、AR、LPC。其中P1、P2、P3、P4位测试字,其功能是对机器指令进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支和循环运行(见实验4的图4-1(b)和图5-4);AR为运算器的进位输出控制(见实验一);LPC为程序计数器的时钟控制(见系统介绍中程序计数器电路)。以上信号均为1有效 图5-4 指令译码器电路系统涉及到的微程序流程见图6-2(图中各方框内为微指令所执行的操作,方框外的标号为该条微指令所处的八进制微地址)。控制操作为P4测试,它以CA1、CA2作为测试条件,出现了写机器指令、读机器指令和运行机器指令3路分支,占用3个固定微地址单元

19、。当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写。机器指令的执行过程如下:首先将指令在外存储器的地址送上地址总线,然后将该地址上的指令传送至指令寄存器,这就是“取指”过程。之后必须对操作码进行P1测试,根据指令的译码将后续微地址中的某几位强制置位,使下一条微指令指向相应的微程序首地址,这就是“译码”过程(其原理见图5-4)。然后才顺序执行该段微程序,这是真正的指令执行过程。在所有机器指令的执行过程中,“取指”和“译码”是必不可少的,而且微指令执行的操作也是相同的,这些微指令称为公用微指令,对应于图6-2中01、02、31地址的微指令。31地址为“译码”微指

20、令,该微指令的操作为P(1)测试,测试结果出现多路分支。本实验用指令寄存器的前4位(I7-I4)作为测试条件,出现5路分支,占用5个固定微地址单元。当全部微程序流程图设计完毕后,应将每条微指令代码化,表6-2即为将图6-2的微程序流程按微指令格式转化而成的“二进制微代码表”。3.3机器指令代码功能分析本实验采用条机器指令,根据上面所说的工作原理,设计参考实验程序如下:地址(二进制) 机器指令码 助记符 说 明0000 0000 0000 0000 IN AX, KIN 数据输入电路 AX0000 0001 0010 0001 MOV Bx, 01H 0001H Bx0000 0010 0000

21、 0001 0000 0011 0110 0000 ROR Ax Ax循环右移一位0000 0100 0001 0000 SUB Ax, Bx Ax-Bx Ax0000 0101 0101 0000 ROL Ax Ax循环左移一位0000 0110 0111 0000 ADD Ax,Bx Ax+Bx Ax0000 0111 0011 0000 OUT DISP, Ax Ax 输出显示电路0000 1000 0100 0000 JMP 00H 00H PC0000 1001 0000 0000注:其中MOV、JMP为双字长(32位),其余为单字长指令。对于双字长指令,第一字为操作码,第二字为操作

22、数;对于单字长指令只有操作码,没有操作数。上述所有指令的操作码均为低8位有效,高八位默认为0。而操作数8位和16位均可。KIN和DISP分别为本系统专用输入、输出设备。3.4微程序实现过程及分析(1)表72为根据本实验程序流程图设计的二进制微代码表:微地址S3 S2 S1 S0 M CN WE 1A 1BF1F2F3UA5UA00000000 0 0 0 0 0 0 0 01111111100100000000010 0 0 0 0 0 0 0 01011011010000100000100 0 0 0 0 0 0 1 01101111110110010000110 0 0 0 0 0 0 0

23、 00101001110001100001100 1 1 0 0 0 0 0 00000011110000010001110 0 0 0 0 0 0 1 00001111110000010010000 0 0 0 0 0 0 1 10001110000000010010010 0 0 0 0 0 0 0 01000001110000110010100 0 0 0 0 0 0 0 01011011010001110010110 0 0 0 0 0 1 0 11110001110000010011000 0 0 0 0 0 0 0 01011011010110100011010 0 1 1 0 0

24、 0 0 0 0000001110110110011100 0 1 1 0 0 0 0 0 0000001110111010011110 0 0 0 0 0 0 0 0 1000001110111110100000 0 0 0 0 0 0 0 01011011010100100100010 0 0 0 0 0 0 0 01011011010101000100100 0 0 0 0 0 0 1 01001111110101110100110 0 0 0 0 0 0 0 01111111110000010101000 0 0 0 0 0 0 1 11001111110110000101110 0

25、0 0 0 1 1 0 11110011110100000110001 1 1 1 1 1 1 1 01110011110100010110010 0 0 0 0 0 0 1 01101110000010000110100 0 0 0 0 0 0 1 00011111010000010110110 0 0 1 0 0 0 0 01111101110111000111000 0 0 0 0 0 0 0 00001101110000010111010 0 1 0 0 0 0 0 01111101110111100111100 0 0 0 0 0 0 0 0000110111000001011111

26、0 0 0 0 0 0 0 0 0010 100111100000100001 0 0 1 0 1 0 0 0000001111000001表7-2 实验七的二进制微代码表(2)微程序流程图 控制开关 00 P(4)测试 MWE(10) MRD(00) RUN(11) PC AR,PC+1 21 PC AR,PC+1 20 23 (D_INPUT) D_BUS LT1 24 RAM D_BUS LT1 22 01 LT1 RAM 30 LT1 LED 27 图7-2 微程序流程图(3)分析微指令1、通用指令微地址S3 S2 S1 S0 M CN WE 1A 1BF1F2F3UA5UA00000

27、010 0 0 0 0 0 0 0 01011011010000100000100 0 0 0 0 0 0 1 01101111110110010110010 0 0 0 0 0 0 1 0110111000001000分析说明:PC AR,PC+1F1=101 LAR为地址寄存器的锁存控制打开;F2=101 PC-G为程序计数器的输出控制打开;F3=101 LPC为程序计数器的时钟控制打开,因此下地址字段为000010(2)作为下一条微指令地址;WE为外部器件的读写信号,0表示读。功能是把程序计数器PC值送往AR地址寄存器中,并且PC+1。分析说明:RAM D_

28、BUS IRF1=110 LDIR为指令寄存器的锁存控制打开;F2=111 无操作;F3=111 无操作;下地址字段为011001(3)作为下一条微指令地址。WE为外部器件的读写信号,0表示读;1A、1B用于选通外部器件。功能是把RAM中的数据送往数据总线,再由数据总线送往IR指令寄存器中。01,02指令共同完成取指操作。分析说明:P(1)测试 F1=110 LDIR 为指令寄存器的锁存控制打开;F2=111 无操作;F3=000 为P1测试,其功能是对机器指令进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支和循环运行。31指令完成指令译码操作。WE为外部器件的读写信号,0表

29、示读;1A、1B用于选通外部器件。2、IN指令微地址S3 S2 S1 S0 M CN WE 1A 1BF1F2F3UA5UA00010000 0 0 0 0 0 0 1 1000111000000001分析说明:D_INPUT AxF1=000(LDRi)表示寄存器堆的写控制,它与指令寄存器的第0位和第1位共同决定对哪个寄存器进行写操作,这里是对AX进行写控制;F2=111无操作;F3=000 P1位测试字,其功能是对机器指令进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支和循环运行,因此下地址字段为000001(01)作为下一条微指令地址。WE为外部器件的读写信号

30、,0表示读;1A、1B用于选通外部器件。功能是输入数据并写入AX中。3、SUB指令微地址S3 S2 S1 S0 M CN WE 1A 1BF1F2F3UA5UA00010010 0 0 0 0 0 0 0 01000001110000110000110 0 0 0 0 0 0 0 00101001110001100001100 1 1 0 0 0 0 0 0000001111000001分析说明:Ax D_BUS LT1F1=100 LDR1为运算器的两个锁存控制打开;F2=000 其中RAG为寄存器Ax的输出控制打开;F3=111 无操作。下址字段为000011代表下一条微指令的微地址为00

31、0011(03)。WE为外部器件的读写信号,0表示读。功能为将AX中的数据送往数据总线,再由数据总线将数据送往ALU运算器的一个暂存器暂存等待操作。分析说明:Bx D_BUS LT2 F1=010 LDR2为运算器的两个锁存控制打开;F2=100 其中RBG为寄存器Bx的输出控制打开;F3=111 无操作。下址字段为000110代表下一条微指令的微地址为000110(06)。WE为外部器件的读写信号,0表示读。功能为将BX中的数据送往数据总线,再由数据总线将数据送往ALU运算器的一个暂存器暂存等待操作。分析说明: LT1-LT2 Ax F1=000 (LDRi)表示寄存器堆的写控制,它与指令寄

32、存器的第0位和第1位共同决定对哪个寄存器进行写操作,这里是对AX进行写控制;F2=001 ALU-G为运算器的输出控制;F3=111 无操作。下址字段为000001代表下一条微指令的微地址为0000 1(01)。WE为外部器件的读写信号,0表示读。由S3 S2 S1 S0 M CN=011000可知,ALU做的减法操作。功能为将ALU两个暂存器中的数据相减,送往Ax中。4、MOV指令微地址S3 S2 S1 S0 M CN WE 1A 1BF1F2F3UA5UA00010100 0 0 0 0 0 0 0 01011011010001110001110 0 0 0 0 0 0 1 0000111

33、111000001分析说明:PC AR,PC+1 F1=101 LAR为地址寄存器的锁存控制打开;F2=101 PC-G为程序计数器的输出控制打开;F3=101 LPC为程序计数器的时钟控制打开,因此下地址字段为000111(07)作为下一条微指令地址;WE为外部器件的读写信号,0表示读。功能是把程序计数器PC值送往AR地址寄存器中,并且PC+1。分析说明:RAM D_BUS Bx F1=000 (LDRi)表示寄存器堆的写控制,它与指令寄存器的第0位和第1位共同决定对哪个寄存器进行写操作,这里是对BX进行写控制;F2=111 无操作;F3=111 无操作。下址字

34、段为000001代表下一条微指令的微地址为00001(01)。WE为外部器件的读写信号,0表示读;1A、1B用于选通外部器件。功能是将RAM中的数据送往数据总线,然后通过数据总线将数据送往BX寄存器5、OUT指令微地址S3 S2 S1 S0 M CN WE 1A 1BF1F2F3UA5UA00010110 0 0 0 0 0 1 0 1111000111000001分析说明:Ax LED F1=111 无操作;F2=000 RAG为寄存器Ax的输出控制打开;F3=111 无操作;WE为外部器件的读写信号,1表示写;1A、1B用于选通外部器件。功能是将AX数据送往LED并显示出来。6、JMP指令

35、微地址S3 S2 S1 S0 M CN WE 1A 1BF1F2F3UA5UA00011000 0 0 0 0 0 0 0 01011011010110100110100 0 0 0 0 0 0 1 0001111101000001分析说明:PC AR,PC+1 F1=101 LAR为地址寄存器的锁存控制打开;F2=101 PC-G为程序计数器的输出控制打开;F3=101 LPC为程序计数器的时钟控制打开,因此下地址字段为011010(32)作为下一条微指令地址;WE为外部器件的读写信号,0表示读。功能是把程序计数器PC值送往AR地址寄存器中,并且PC+1。分析说

36、明:RAM D_BUS PCF1=001 LOAD为程序计数器的置数控制打开;F2=111 无操作;F3=101 LPC为程序计数器的时钟控制打开,下地址字段为000001(01)作为下一条微指令地址。WE为外部器件的读写信号,0表示读;1A、1B用于选通外部器件。功能是将RAM中的数据送往数据总线,再由数据总线将数据送往PC实现跳转。7、ROL指令微地址S3 S2 S1 S0 M CN WE 1A 1BF1F2F3UA5UA00011010 0 1 1 0 0 0 0 0 0000001110110110110110 0 0 1 0 0 0 0 01111101

37、110111000111000 0 0 0 0 0 0 0 0000110111000001分析说明:F1=000 (LDRi)表示寄存器堆的写控制,它与指令寄存器的第0位和第1位共同决定对哪个寄存器进行写操作,这里是对AX进行写控制;F2=000 RAG为寄存器Ax的输出控制打开;F3=111 无操作;WE为外部器件的读写信号,0表示读;下址字段为011011(33)作为下一条微指令地址。功能是将AX数据存往移位寄存器sreg。分析说明:F1=111 无操作;F2=110 299-G为移位寄存器的输出控制打开;F3=111 无操作;WE为外部器件的读写信号,0表示读;下址字段为011100(

38、34)作为下一条微指令地址。功能是将sreg移位寄存器中的数据循环左移一位。分析说明:F1=000 (LDRi)表示寄存器堆的写控制,它与指令寄存器的第0位和第1位共同决定对哪个寄存器进行写操作,这里是对AX进行写控制;F2=110 299-G为移位寄存器的输出控制打开;F3=111 无操作;WE为外部器件的读写信号,0表示读;下址字段为000001(01)作为下一条微指令地址。功能是将sreg移位寄存器中的数据转存到Ax寄存器中。8、ROR指令微地址S3 S2 S1 S0 M CN WE 1A 1BF1F2F3UA5UA00011100 0 1 1 0 0 0 0 0 00000011101

39、11010111010 0 1 0 0 0 0 0 01111101110111100111100 0 0 0 0 0 0 0 0000110111000001分析说明:F1=000 (LDRi)表示寄存器堆的写控制,它与指令寄存器的第0位和第1位共同决定对哪个寄存器进行写操作,这里是对AX进行写控制;F2=000 RAG为寄存器Ax的输出控制打开;F3=111 无操作;WE为外部器件的读写信号,0表示读;下址字段为011101(35)作为下一条微指令地址。功能是将AX数据存往移位寄存器sreg。分析说明:F1=111 无操作;F2=110 299-G为移位寄存器的输出控制打开;F3=111

40、无操作;WE为外部器件的读写信号,0表示读;下址字段为011110(36)作为下一条微指令地址。功能是将sreg移位寄存器中的数据循环右移一位。分析说明:F1=000 (LDRi)表示寄存器堆的写控制,它与指令寄存器的第0位和第1位共同决定对哪个寄存器进行写操作,这里是对AX进行写控制;F2=110 299-G为移位寄存器的输出控制打开;F3=111 无操作;WE为外部器件的读写信号,0表示读;下址字段为000001(01)作为下一条微指令地址。功能是将sreg移位寄存器中的数据转存到Ax寄存器中。9、ADD指令微地址S3 S2 S1 S0 M CN WE 1A 1BF1F2F3UA5UA00

41、011110 0 0 0 0 0 0 0 0 1000001110111110111110 0 0 0 0 0 0 0 0010 100111100000100001 0 0 1 0 1 0 0 0000001111000001分析说明:Ax D_BUS LT1F1=100 LDR1为运算器的两个锁存控制打开;F2=000 其中RAG为寄存器Ax的输出控制打开;F3=111 无操作。下址字段为011111代表下一条微指令的微地址为011111(37)。WE为外部器件的读写信号,0表示读。功能为将AX中的数据送往数据总线,再由数据总线将数据送往ALU运算器的一个暂存器暂存等待操作。分析说明:Bx

42、 D_BUS LT2 F1=010 LDR2为运算器的两个锁存控制打开;F2=100 其中RBG为寄存器Bx的输出控制打开;F3=111 无操作。下址字段为100000代表下一条微指令的微地址为100000(40)。WE为外部器件的读写信号,0表示读。功能为将BX中的数据送往数据总线,再由数据总线将数据送往ALU运算器的一个暂存器暂存等待操作。分析说明: LT1+LT2 Ax F1=000 (LDRi)表示寄存器堆的写控制,它与指令寄存器的第0位和第1位共同决定对哪个寄存器进行写操作,这里是对AX进行写控制;F2=001 ALU-G为运算器的输出控制;F3=111 无操作。下址字段为00000

43、1代表下一条微指令的微地址为0000 1(01)。WE为外部器件的读写信号,0表示读。由S3 S2 S1 S0 M CN=100101可知,ALU做的加法操作。功能为将ALU两个暂存器中的数据相加,送往Ax中。四、详细设计单片机键盘操作方式实验在进行单片机键盘操作实验时,必须把K4开关置于“OFF”状态,否则系统处于自锁状态,无法进行实验。4.1实验连线:实验连线图如图7-3所示。连线时应按如下方法:对于横排座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。4.2写微代码:(1)将开关K1K2K3K4拨到写状态即K1 off、K2 on、K3

44、off、K4 off,其中K1、K2、K3在微程序控制电路,K4在24位微代码输入及显示电路上。在监控指示灯滚动显示【CLASS SELECt】状态下按【实验选择】键,显示【ES-_ _ 】输入07或7,按【确认】键,显示为【ES07】,再按下【确认】键。(2)监控显示为【CtL1=_】,表示对微代码进行操作。输入1显示【CtL1_1】,表示写微代码,按【确认】。(3)监控显示【U-Addr】,此时输入【000000】6位二进制数表示的微地址,然后按【确认】键,监控指示灯显示【U_CodE】,此时输入微代码【007F90】,该微代码是用6位十六进制数来表示前面的24位二进制数,注意输入微代码的

45、顺序,先右后左,按【确认】键则显示【PULSE】,按【单步】完成一条微代码的输入,重新显示【U-Addr】提示输入表7-3第二条微代码地址。按照上面的方法输入表7-3微代码,观察微代码与微地址显示灯的对应关系(注意输入微代码的顺序是由右至左,加粗为自行设计并加入的代码)。微地址(八进制)微地址(二进制)微代码(十六进制)00000000007F9001000001005B4202000010016FD9030000110029C6060001106003C107000111010FC110001000018E01110010010041C312001010005B471300101102F1C

46、114001100005B5Aa150011013001DB160011103001DD170011110041DF20010000005B5221010001005B5422010010014FD723010011007FC12401010001CFD82501010106F3C126010110011F412701011106F3D030011000FF73D131011001016E0832011010011F4133011011107DDC34011100000DC135011101207DDE36011110000DC1370111110029E0401000009403C1表73

47、实验七微代码表4.3读微代码及校验微代码:(1)先将开关K1K2K3K4拨到读状态即K1 off、K2 off、K3 on、K4 off,按【RESET】按钮对单片机复位,使监控指示灯滚动显示【CLASS SELECt】状态。(2)按【实验选择】键,显示【ES-_ _ 】输入07或7,按【确认】键,显示【ES07】。按【确认】键,显示【CtL1=_】时,输入2,按【确认】进入读代码状态。(3)监控显示【U_Addr】,此时输入6位二进制微地址,再按【确认】显示【PULSE】,此时按【单步】键,微地址指示灯显示输入的微地址,微代码显示电路上显示该地址对应的微代码,至此完成一条微指令的读过程。(4)此时监控显示【U_Addr】,按照上述步骤继续输入微地址,对照表7-2表检查微代码是否有错误,如有错误,可按步骤2重新输入微代码。4.4写机器指令(1)先将K

温馨提示

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

评论

0/150

提交评论