计算机组成原理实验4-微程序控制器.ppt

上传人:小飞机 文档编号:6606672 上传时间:2023-11-17 格式:PPT 页数:49 大小:1.17MB
返回 下载 相关 举报
计算机组成原理实验4-微程序控制器.ppt_第1页
第1页 / 共49页
计算机组成原理实验4-微程序控制器.ppt_第2页
第2页 / 共49页
计算机组成原理实验4-微程序控制器.ppt_第3页
第3页 / 共49页
计算机组成原理实验4-微程序控制器.ppt_第4页
第4页 / 共49页
计算机组成原理实验4-微程序控制器.ppt_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《计算机组成原理实验4-微程序控制器.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理实验4-微程序控制器.ppt(49页珍藏版)》请在三一办公上搜索。

1、任课教师:郝尚富信息科学与工程学院Email:Tel:18931318102,微程序控制器实验,1.控制器的功能,计算机的功能是执行程序程序是依次排列起来的指令代码 控制器的功能就在于:正确地分步完成每一条指令规定的功能,正确且自动地连续执行指令;再进一步说,就是向计算机各功能部件提供协调运行每一个步骤所需要的控制信号。,2.控制器的组成,程序计数器PC:存放指令地址,有+1或接收新值功能。指令寄存器IR:存放指令内容:操作码与操作数地址。指令执行步骤标记线路:指明每条指令的执行步骤。控制信号记忆或产生线路:给出计算机各功能部件部件协同运行所需要的控制信号。,运算器部件,主存储器部件,总线及输

2、入/输出接口(输入/输出设备),控制器部件,各部件包括,也包括,设计中的难点,在于解决对运算器、控制器的控制,时序控制 信号形成部件,译码,OP IR,PC,输 出 设 备,输 入 设 备,主存储器部件,运算器 部件,启停,地址寄存器,数据总线,地址总线,控制总线,.,控制条件,主振,组合逻辑控制器的组成和运行原理,节拍发生器,程序计数器,指令寄存器,控制存储器,映射,IR,PC,接口输出设备,主 存储 器,运算器部件,下地址,启停,地址寄存器,数据总线,地址总线,控制总线,.,控制条件,微指令寄存器,主振,微程序方案的控制器,接口输入设备,TEC-2000 教学机系统的组成,计算机终端,PC

3、机,微程序控制器,运算器(8/16 位),主存储器(8/16位),按键 开关 指示灯,串行接口,接口实验 中断实验内存扩展实验,电 源+5V,硬布线控制器,二、指令的执行过程,冯.诺依曼 结构的计算机 即存储程序的计算机,设置内存,存放程序和数据,在程序运行之前存入。执行程序:正确从程序首地址开始;正确分步执行每一条指令,并形成下条待执行指令的地址;正确并自动地连续执行指令,直到程序的最后一条指令。,每条指令的执行步骤,读取指令指令地址送入主存地址寄存器读主存,读出内容送入指定的寄存器分析指令按指令规定内容执行指令 不同指令的操作步骤数,和具体操作内容差异很大,检查有无中断请求若有,则响应中断

4、并转中断处理若无,则转入下一条指令的执行过程,R_R类型指令读写内存类型指令输入输出类型指令其他类型指令,可能执行 一次或多次,是一次读内存操作,公共操作,公共操作,是每一条指令的特定操作,(1)指令执行步骤与信息流动图示部分,典型指令的执行过程举例:2000:0001 ADD r0,r1;加法指令2001:0790 MVRR r9,r0;传送指令2002:8280 IN 80;读串行口数据到R0低8位2003:E709 STRA 2007,r9;写内存指令,是一条双字指令 2007;第二个字中的 2007 是直接地址2005:44FA JRC 2000;若C为1转到2000,否则顺序执行20

5、06:8F00 RET;子程序返回指令 其他一些指令与这里的几条指令有相当多的共同特性,属于同一组的指令的执行步骤非常类似。,读取指令 AR PC,PC PC+1 读主存,IR 读出内容 执行指令 ALU R0 ALU R1 执行+R0 ALU,记忆结果特征结束,判中断,指令执行步骤简单的文字描述加法指令 ADD R0,R1,形成下条指令的地址,寄存器内容传送指令MVRR R9,R0,读取指令 AR PC,PC PC+1 读主存,IR 读出内容 执行指令 ALU 0 ALU R0 执行+R9 ALU结束,判中断,形成下条指令的地址,输入指令 IN 80,读取指令 AR PC,PC PC+1 读

6、主存,IR 读出内容 执行指令 AR I/O Port 读外设,ALU 读出数据 ALU 0 执行+R0 ALU结束,判中断,形成下条指令的地址,写寄存器内容到主存STRA 2007,R9,读取指令 AR PC,PC PC+1 读主存,IR 读出内容 执行指令 AR PC,PC PC+1 读主存,AR 读出内容 ALU 0,ALU R9,+写主存,总线 ALU,结束,判中断,(地址 2007 存在指令的第二个字中),形成下条指令的地址,相对转移指令 JRC 2000,读取指令 AR PC,PC PC+1 读主存,IR 读出内容执行指令 若 c=1 则:ALU PC ALU offset(IR低

7、字节)二者相加,结果送PC 否则,PC 不接收二者之和结束,判中断,形成下条指令的地址,子程序返回指令 RET,读取指令 AR PC,PCPC+1 读主存,IR 读出内容 执行指令 AR SP SP SP+1 读主存,PC读出内容 结束,判中断,形成下条指令的地址,PC 0,AR PCPCPC+1,IR(AR),寄存器之间运算与传送,读、写内存AR地址,AR地址,读、写内存 或 I/O 接口,读、写内存 PC地址,教学计算机的基本指令、扩展指令执行流程图,A组,B组,C组,D组,/Reset,B、C、D组,C 组指令也是 2 次读写内存,第 1 次的读操作和第 2 次的送地址操作同时完成,只用

8、 3 步执行了两次内存读写过程。,仅在教学机加电启动时执行1次,三、微程序控制器的运行原理,每条指令一个执行步骤用到的全体控制信号组成一微指令,每条微指令可以包括一到多个微操作。用多条微指令(一个微程序)解释每条指令的执行过程,全部的微程序有机地组合在一起,被保在控制存储器中。执行一条微指令所用的时间被称为一个微周期。微指令的格式和内容:下地址字段 控制命令字段,读与执行微指令的并行流水技术,微程序控制器实验,Am2910,MAPROM,SCC Gal,控制存储器(ROM),指令操作码,微指令转移的控制条件,/CC低有效,微指令寄存器,0MRW SA I86 B口 0SST DC2 0 I20

9、 SB I53 A口 SSHSCI DC1,CP,/G,读命令,1.确定指令功能与格式 2.划分指令执行步骤 3.分配微指令地址 4.设计微指令内容5.把新微指令写入控存 6.需要时修改 MAPROM 和 SCC Gal 等 7.调试并且运行,B 口二选一,A 口二选一,IR.SR,IR.DR,/MAP(2#),/PL(3#),SB,SA,CM1 CM2 CM3 CM4 CM5 CM6 CM7,0#14#,0#2#3#14#,CI=0#MAR为00h;CI=2#MAR来自MAPROM;CI=14#是 顺序执行;CI=3#且/CC为低,MAR来自微下地址,/CC为高,则是 顺序执行。,MAR,R

10、ESET,377,CP,MAPROM 用于从操作码 映射出 微指令地址,微程序控制器部件56位的微指令字长 微下地址字段16位 控制命令字段40位7 片 28C64 组成控存1 片 28C65,从指令操 作码产生微地址1 片 374 存 8 位下地址1 片 273 存 8 位条件码1 片377存8位现微地址1 片Am2910给出下一条 微指令地址1 片GAL 按判断条件产 生微指令转移信号/CC5 片GAL用作为 5 片 8位 的 D 触发器的寄存器2 片GAL 实现两个4 位的 2 选 1 芯片功能16位的指令寄存器 IR16位的程序计数器 PC,PC,下地址字段的内容,得到下地址的方法:1

11、.由指令操作码得到 2.微指令顺序执行 3.微指令必转或条件转移 多路微地址转移 4.微子程序调用和返回 5.按次数循环一段微程序 6.其他:如特定入口微地址,在微指令下地址字段中表示清楚:使用哪种方法,哪个(些)判断条件,要用的有关地址等,并用专门电路完成必要支持和处理,微指令的下地址是微程序设计中要重点解决的问题之一,技术、技巧性强,应学得好些。,在教学计算机中,解决下地址使用了 Am2910 器件,微堆桟指针SP,5字*12位 微堆桟 F,微程序计数器 PC,寄存器/计数器R/C,D R F PC多路选择器,命令译码器,增 量 器,零检测,D11D0,Y11Y0,CP,/FULL,CI,

12、/CC,/CCEN,I3I0,/PL/MAP/VECT,/RLD,/OE,出栈/入栈保持/清零,装数减量保持,清零选择,R为零,Am2910器件,非零循环 零/PL PC 弹出 PC 弹出,4 入栈与装数 注1/PL PC 压入 PC 压入,6 读手拨开关/VECT PC D,3 条件微转移/PL PC D,2 功能分支/MAP D D,1 条件转微子/PL PC D 压入,完成 R/C R/C 使能/CC=高/CC=低 功能 内容 操作 信号 Y输出 堆栈 Y输出 堆栈,0 初始化/PL 0 清除 0 清除,8 R/C 非零 减1/PL F F,10 微子返回/PL PC F 弹出,14 顺

13、序执行/PL PC PC,15 三路转移 非零 减1/PL F PC 弹出,零/PL D 弹出 PC 弹出,8 位微下地址字段用于直接给出下一条微指令的地址,,下地址字段的内容,微下地址 2910的命令码 微转移条件,8位,4位,4位,分成 3 个子字段,总共使用17位码(微指令中用16位),4 位的命令码,用于选择 Am2910 的 16 个命令,如前面的表格内容所示。,4 位的微转移条件编码,用于给出微指令转移所依据的条件,与教学机具体设计有关。,四、微指令控制信号组成和微指令格式设计,控制命令字段,给出计算机各功能部件协同运行所需要的控制信号,把它们划分成若干字段,分别用于控制各部件(1

14、)对运算器部件的控制 例如:运算功能,数据来源,结果处理等(2)对主存和输入输出接口(设备)的控制 例如:是主存读、写还是入出设备读、写(3)对总线的控制 例如:把什么信息发送到有关总线(4)对几个特定的寄存器的接收操作控制 即在此时刻让哪一个寄存器接收发送给它的输入信息,(5)对控制器部件本身的控制(下地址字段)主要是正确给出形成下条微指令的地址的信息,控制器应提供的控制信号,Y15Y0 用16个指示灯显示结果,D15D0,RAM15,Q15,RAM0,Q0,Cin,CyF=0OverF15,运 算 器 部 件(4 片 Am2901),A30,B30,I86,用16个数据开关提供输入数据,C

15、ZVS,SSH,SST,SCI,I53,I20,SCI SSH A口 B口,I86 I53 I20 SST,通过24位微型开关 提供控制信号,各用四个指示灯显示状态,Gal20V8,Gal20V8,(1)对运算器的控制,26 位控制信号,其中24位同微型开关内容,加SA、SB两位 A3A0,B3B0 I8I6,I5I3,I2I0 SST20,SSH10,SCI10 SA、SB 的用法:表明送ALU的A口、B口地址来源 为1:来自 IR 的 SR、DR字段 为0:来自微指令的A、B字段寄存器分配:R4:SP R5:PC约定用法:R0:I/O指令约定使用 也是通用累加器,二选一芯片,微指令.B I

16、R.DR,B口地址(送ALU),线路实现,IN 80 SHR R3PCPC+1,SB,读写主存储器或I/O接口,从学习指令执行步骤考虑,理解对主存储器读写的控制,分成两步:1.传送主存地址,以选择被读写的存储单元;2.给出读写命令,读操作时,把读出数据保存起来,写操作时,还要给出写入的数据。从学习指令执行步骤考虑,理解对接口电路读写的控制,分成两步:1.传送IO端口地址,以选择被读写的芯片;2.给出读写命令,读操作时,把读出数据保存起来,写操作时,还要给出写入的数据。,(2)对内存和 I/O接口的读写,/MIO(0:有内存或串口读写,1:无)REQ(0:读写内存,1:读写串行口)/WE(0:写

17、操作,1:读操作),0 0 0 写内存,0 0 1 读内存,0 1 0 写串口,0 1 1 读串口,1 XX 无内存和串口的读写操作,对总线的控制,总线是用于连接计算机各个功能部件的线路和连接线,通常由具有三态输出功能的器件构成,以便用分时地方式,在不同时刻把不同的数据发送到总线上,任何时刻仅能有一个数据发送到总线上;总线上的数据可以被送到需要接收数据的部件或者线路,多个线路可以同时接收同一个来源数据。计算机中总要使用 3 种类型的总线:数据总线,地址总线,控制总线,(3)对内部总线和(4)特定寄存器的控制,选择送内部总线的信息来源DC120 信号名称 注释 000/SWTOIB 来自开关 0

18、01/RTOIB ALU的输出 010/ETOIB 符号扩展16位 011/FTOIB 状态位输出 100 未用 101/INTVH 中断向量的 110/INTVL 高、低 8 位 110 NC 不用,控制指定寄存器接收信息DC220 信号名称 注释 000 NC 不用 001/GIR 指令寄存器 010 未用 011/GAR 地址寄存器 100/INTR 取原中断优先级 101/INTN 置新中断优先级 110/EI 开中断 110/DI 关中断,8 位微下地址字段用于直接给出下一条微指令的地址,,(5)对控制器本身的控制(下地址字段的内容),微下地址 2910的命令码 微转移条件,8位,4

19、位,4位,分成 3 个子字段,总共使用17位码(微指令中用16位),4 位的命令码,用于选择 Am2910 的 16 个命令,如前面的表格内容所示。,4 位的微转移条件编码,用于给出微指令转移所依据的条件,与教学机具体设计有关。,确定微指令格式,M R W I2I0 SA I8I6 SB I2I0,微下地址 微命令码 转移条件,B地址 A地址 SST20 SSH SCI,DC2-20 DC1-20,55 48 47 44 43 40,39 43 35 32 31 28 27 24,23 20 19 16 15 12 11 8,7 4 3 0,位序号,微指令字段划分和微命令名,微指令字长56位,

20、微下地址字段8位,其它字段都是4位,微程序控制器实验,Am2910,MAPROM,SCC Gal,控制存储器(ROM),指令操作码,微指令转移的控制条件,/SCC,微指令寄存器,0MRW SA I86 B口 0SST DC2 0 I20 SB I53 A口 SSHSCI DC1,CP,/G,读命令,1.确定指令功能与格式 2.划分指令执行步骤 3.分配微指令地址 4.设计微指令内容5.把新微指令写入控存 6.需要时修改 MAPROM 和 SCC Gal 等 7.调试并且运行,B 口二选一,A 口二选一,IR.SR,IR.DR,/MAP,/PL,SB,SA,微程序控制器部件56位的微指令字长 微

21、下地址字段16位 控制命令字段40位7 片 28C64 组成控存1 片 28C65,从指令操 作码产生微地址1 片 374 存 8 位下地址1 片 273 存 8 位条件码1 片377存8位现微地址1 片Am2910给出下一条 微指令地址1 片GAL 按判断条件产 生微指令转移信号/CC5 片GAL用作为 5 片 8位 的 D 触发器的寄存器2 片GAL 实现两个4 位的 2 选 1 芯片功能16位的指令寄存器 IR16位的程序计数器 PC,PC,微命令字段的编码译码方法,1.直接控制法直接用微指令字的一位作一个控制信号则简单且速度快,但会使微指令字变得很长。2.字段直接编译法把互斥的命令分在

22、一组加以编码,经译码器给出命令,速度会稍慢,但可大大减短微指令字长度,确保互斥。3.字段间接编译法是对直接译码的的一种改进,可进一步缩短微指令字长度,即一个字段的某些微命令还受另一字段的制约。4.常数源字段微指令中分配几位,用于给出特定用途的有关数值。,五、为每一条微指令分配微地址,需要为每一条微指令在控存中分配一个合适的地址,这是合理地组织微程序的重要工作;1.首先确定微指令中下地址字段的组成;2.再按每一条微指令在控存中的位置,来安排下地址字段各部分的编码,这与控制器的 具体线路与方案 有关。,PC 0,AR PCPCPC+1,/MAP,寄存器之间运算与传送,读、写内存AR地址,AR地址,

23、读、写内存 或 I/O 接口,读、写内存 PC地址,教学计算机的基本指令、扩展指令执行流程图,A组,B组,C组,D组,/Reset,B、C、D组,C 组指令也是 2 次读写内存,第 1 次的读操作和第 2 次的送地址操作同时完成,只用 3 步执行了两次内存读写过程。,仅在教学机加电启动时执行1次,IR(AR),加电启动时,执行 0PC,接下来的两步,完成取指操作,按指令操作码,读出相应微指令,按指令具体功能,再分别用 1、2、3、4 步完成不同指令组的中各条指令的执行过程,最后检查中断请求信号,有请求时则响应中断,否则开始下一条指令的执行过程,六、微指令控制信号字段编码,为每一条微指令各项微操

24、作确定 其所要求的控制信号 如:使 IR,AR 等寄存器接收的信号 控制 PC 增量和接收的信号 读写主存,读写外设的信号 控制运算器操作的信号 等这要看被控制的具体对象的具体要求 通过已有结果看一下微码设计过程,下址 CI30 SCC30 0MRW 0 I20 SA I86 SB I53 B口 A口 0 SST SSH SCI DC2 DC1,00 E 0 4 3 2 0 5 5 0 1 3 000 E 0 1 0 1 0 0 0 0 0 1 000 2 0 4 0 1 0 0 0 0 0 0 0,30 3 0 4 1 B 8 0 0 1 0 0 0 3 0 4 4 B 8 0 0 0 0

25、0 0 3 6 4 7 1 0 0 0 0 0 3 230 3 0 3 7 3 0 0 0 0 0 0 000 E 0 4 3 2 0 5 5 0 1 3 000 E 0 1 7 0 0 0 0 0 0 0 000 E 0 4 3 3 1 4 0 0 0 3 030 3 0 0 2 2 0 5 5 0 0 0 1,指令执行流程表举例,ADD DR,SR MVRR DR,SR IN IO-PORT CALA ADR,下址 CI30 SCC30 0MRW 0 I20 SA I86 SB I53 B口 A口 0 SST SSH SCI DC2 DC1,00 E 0 4 3 2 0 5 5 0 1 3

26、 000 E 0 1 0 1 0 0 0 0 0 1 000 2 0 4 0 1 0 0 0 0 0 0 0,指令执行流程表举例,ADD DR,SR MVRR DR,SR IN IO-PORT CALA ADR,第 1 条微指令和第 2 条微指令用于完成读取指令,具体操作功能是:PCAR,PC+1PC;PC 是 R5,A口 和 B口 均选5,B口内容+1 送 B口;输出A口的内容送AR寄存器。读主存,读出内容 IR;微指令都是顺序执行,故 2910选 14#命令。第 3 条微指令按读出的指令的操作码,形成相应微指令的地址,读出该条微指令并将其写入微指令寄存器,2910选 2#命令,控制运算器的

27、 I8I6 选 001 码,保证运算器的各寄存器内容不变化。无存储器和IO读写,故/MIO REQ/WE 选 100 码。,下址 CI30 SCC30 0MRW 0 I20 SA I86 SB I53 B口 A口 0 SST SSH SCI DC2 DC1,00 E 0 4 3 2 0 5 5 0 1 3 000 E 0 1 0 1 0 0 0 0 0 1 000 2 0 4 0 1 0 0 0 0 0 0 0,30 3 0 4 1 B 8 0 0 1 0 0 0 3 0 4 4 B 8 0 0 0 0 0 0,指令执行流程表举例,ADD DR,SR MVRR DR,SR IN IO-PORT

28、 CALA ADR,第 3 条微指令和第 4 条微指令 用于完成两个累加器之间的相加和传送操作。具体操作是:2 累加器相加,DR+SRDR,A口和 B口 编码来自指令寄存器,故SA 和 SB都给 1 值;下微指令转判中断请求,故 2910选 3#命令且 SCC 为 0000,必转 30。第 4 条微指令,完成两个累加器之间的数据传送,累加器SR的内容和 0相加,存入DR寄存器中,不保存标志位的值,故SST为000。上条微指令SST为001,保存标志位的值。两条微指令都无存储器和 IO读写,MRW为100。,下址 CI30 SCC30 0MRW 0 I20 SA I86 SB I53 B口 A口

29、 0 SST SSH SCI DC2 DC1,14 3 6 4 7 1 0 0 0 0 0 3 230 3 0 3 7 3 0 0 0 0 0 0 0,指令执行流程表举例,ADD DR,SR MVRR DR,SR IN IO-PORT CALA ADR,第 5、6 两条微指令完成读串行接口,具体操作是:先送 IO 端口地址(在 IR 的低 8位)到地址寄存器AR,DC1 为 2 选 IR 的低 8位送内部总线,经 ALU(送出 D+0)到 AR,DC2 为 3 是 AR 接收;IN 指令的第1条微指令中的下地址的 3 个子字段分别为 14 3 6,条件码为 6 时(是 IN指令)转地址14,否

30、则(是 OUT 指令)顺序执行;下一微指令完成读串口输入到内部总线,把D+0 送到 ALU并写进 R0(B 口选 0000);转判中断请求,故 CI 选 3#且 SCC 为 0000,必转 30。,下址 CI30 SCC30 0MRW 0 I20 SA I86 SB I53 B口 A口 0 SST SSH SCI DC2 DC1,00 E 0 4 3 2 0 5 5 0 1 3 000 E 0 1 7 0 0 0 0 0 0 0 000 E 0 4 3 3 1 4 0 0 0 3 0 3 0 0 2 2 0 5 5 0 0 0 1,指令执行流程表举例,ADD DR,SR MVRR DR,SR

31、IN IO-PORT CALA ADR,后 4 条微指令之间顺序执行,前 3 条的 CI 都是 E,依次完成:1.PCAR,PC+1 PC;(控制命令同读取指令的第1步);2.读内存(MRW=001)送 Q(D+0 Q)(子程序入口);3.修改堆栈指针并送AR,SP-1 SP,AR;SP 是 R4,即R4 的内容-1 R4 和 AR(DC2 为 3 是 AR 接收);4.写断点(PC的内容)到堆栈,即 A 口指定的寄存器(R5)的内容经数据总线送到内存并写入;子程序的入口地址(在 Q 中)(Q的内容+0)送入 PC(B 口指定 R5)。下地址控制完成转向判中断请求的微指令的地址 30 处。,下

32、址 CI30 SCC30 MRW I20 SA I86 SB I53 B口 A口 SST SSH SCI DC2 DC1,30 3A 3 2 4 7 0 0 0 0 0 0 0 0 331 02 3 0 4 3 2 0 5 5 0 0 1 b 03A 00 E 0 4 0 1 0 0 0 0 0 0 7 03B 00 E 0 4 3 3 1 4 0 0 0 0 3 03C 00 E 0 0 4 1 0 0 5 0 0 0 5 1,中断隐指令,一条指令特定的几个加长出来、用于相应中断请求的执行步骤,30 STRQ,CC#=INT#把程序状态字暂存于 Q,判有中断请求否 有中断请求则转 3A,无中断请求顺序执行 3131 PC AR,PC+1 PC,无条件转 02,是读取指令的第 1 个步骤3A DI#,关中断,顺序执行下一条微指令 3B、3C 把 PC 内容写入堆栈3D、3E 把暂存于 Q 中的程序状态字写入堆栈3F INTV#,IB PC,把中断服务程序入口送进 PC,无条件转 31,3D 00 E 0 4 3 3 1 4 0 0 0 0 3 0,3E 00 E 0 0 2 1 0 0 0 0 0 0 0 1,3F 31 3 0 4 7 3 0 5 0 0 0 0 0 5,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号