第6章 计算机的控制器部件_第1页
第6章 计算机的控制器部件_第2页
第6章 计算机的控制器部件_第3页
第6章 计算机的控制器部件_第4页
第6章 计算机的控制器部件_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

1、第第6 6章章 控制器控制器本章知识点本章知识点1 1控制器的功能、控制器的主要组成控制器的功能、控制器的主要组成2 2从控制信号生成的角度,控制器分类,各自生从控制信号生成的角度,控制器分类,各自生成信号的方式成信号的方式3 3硬连线控制器主要组成部件硬连线控制器主要组成部件4 4节拍发生器的作用是,节拍分配遵循的原则节拍发生器的作用是,节拍分配遵循的原则5 5熟悉指令的执行各个步骤及控制器应产生的控熟悉指令的执行各个步骤及控制器应产生的控制信号。制信号。6 6硬连线控制器的特点硬连线控制器的特点1. 1.控制器的功能控制器的功能计算机的功能是执行程序计算机的功能是执行程序程序是依次排列起来

2、的指令代码程序是依次排列起来的指令代码 控制器的功能就在于控制器的功能就在于: : 正确地正确地分步分步完成每一条指令规定的功能完成每一条指令规定的功能, , 正确且正确且自动地连续自动地连续执行指令执行指令; ;再进一步说,就是向计算机再进一步说,就是向计算机各功能部件各功能部件提供协调运提供协调运行行每条指令的每个步骤所需要的每条指令的每个步骤所需要的控制信号控制信号。2.2.控制器控制的各部件控制器控制的各部件运算器部件运算器部件主存储器部件主存储器部件总线总线控制器部件本身控制器部件本身控制器设计中的重点,控制器设计中的重点, 在于解决对在于解决对运算器、控制器的控制运算器、控制器的控

3、制 !输入输入/ /输出接口(输入输出接口(输入/ /输出设备)输出设备)和和也包括也包括如何设计控制器?如何设计控制器?涉及的内容?涉及的内容?3.3.控制器的设计控制器的设计(1)(1)划分指令执行步骤,及每个步骤的具体操划分指令执行步骤,及每个步骤的具体操作功能;作功能;(2)(2)确定在实现这些操作时,相关功能部件所确定在实现这些操作时,相关功能部件所需的控制信号;需的控制信号;(3)(3)选用何种逻辑线路、什么样的处理方案,选用何种逻辑线路、什么样的处理方案,向各部件提供控制信号。向各部件提供控制信号。4.4.每条指令的执行步骤每条指令的执行步骤读取指令读取指令指令地址送入主存地址寄

4、存器指令地址送入主存地址寄存器读主存,读出内容送入指定的寄存器读主存,读出内容送入指定的寄存器分析指令分析指令按指令规定内容执行指令按指令规定内容执行指令 不同指令的操作步骤数,不同指令的操作步骤数, 和具体操作内容差异很大和具体操作内容差异很大, , 检查有无中断请求检查有无中断请求若有,则响应中断并转中断处理若有,则响应中断并转中断处理若无,则转入下一条指令的执行过程若无,则转入下一条指令的执行过程形成下一条指令地址形成下一条指令地址R_RR_R类类读写内存类读写内存类输入输出类输入输出类其他类其他类 可能执行可能执行 一次或多次一次或多次 是一次读是一次读内存操作内存操作公共操作公共操作

5、公共操作公共操作是每一条指令是每一条指令的特定操作的特定操作5.5.控制器的组成控制器的组成运算器运算器Y15Y0CZVSD15D0ARDRIRPCSPPSW运算器的运算器的控制信号控制信号+1时序、控时序、控制信号生制信号生成部件成部件内内部部总总线线AB DB CB各寄存器的各寄存器的控制信号控制信号译译码码内存内存储器储器I/O接口接口+/-1控制器中主要的寄存器控制器中主要的寄存器IRIR:存放现行指令,指令从存储器中取出。存放现行指令,指令从存储器中取出。PCPC:存放指令在存储器中的地址,程序开始执行前,将起存放指令在存储器中的地址,程序开始执行前,将起始地址始地址( (第一条指令

6、地址第一条指令地址) PC) PC,PCPC应具有寄存信息和计数应具有寄存信息和计数两种功能。两种功能。ARAR:保存当前保存当前CPUCPU所访问内存单元地址或所访问内存单元地址或IOIO端口号。端口号。DRDR:暂时存放指令或数据:暂时存放指令或数据:n一条指令一条指令( (来自内存来自内存) ),或一个数据字,或一个数据字( (来自或送往内存来自或送往内存或外设或外设) )nCPUCPU与与MM、I/OI/O之间信息传送的中转站,之间信息传送的中转站,补偿速度差别补偿速度差别n在单累加器结构的运算器中,可兼作操作数寄存器在单累加器结构的运算器中,可兼作操作数寄存器PSWPSW:指示程序工

7、作方式、反映程序运行结果指示程序工作方式、反映程序运行结果SPSP:栈顶指针寄存器栈顶指针寄存器控制器的组成控制器的组成 程序计数器程序计数器 PCPC 存放指令地址,有存放指令地址,有 增量增量 或或 接收新值的功能接收新值的功能 指令寄存器指令寄存器 IRIR 存放指令内容:操作码与操作数地址存放指令内容:操作码与操作数地址 指令执行步骤标记线路指令执行步骤标记线路 指明每条指令的执行步骤和相对次序关系指明每条指令的执行步骤和相对次序关系 控制信号产生线路控制信号产生线路 给出计算机各功能部件协同运行所需要的全部控制信号给出计算机各功能部件协同运行所需要的全部控制信号主脉冲源与启停控制线路

8、主脉冲源与启停控制线路控制器组成和在整机中的地位控制器组成和在整机中的地位 在计算机硬件系统中,控制器处于指挥控制地位在计算机硬件系统中,控制器处于指挥控制地位6.6.两种不同类型的控制器两种不同类型的控制器 根据根据时序、控制信号生成部件时序、控制信号生成部件的组成和运行的组成和运行原理的不同,有原理的不同,有两类两类控制器:控制器:u 硬连线控制器硬连线控制器( (组合逻辑控制器组合逻辑控制器) ): 依据依据指令指令及其执行及其执行步骤步骤通过通过电子线路电子线路直接直接产生产生控制信号(控制信号(生成法生成法)u 微程序控制器微程序控制器:事先把所有控制信号组合事先把所有控制信号组合存

9、放在存储器中存放在存储器中,再依,再依据指令执行步骤据指令执行步骤读出读出要用到的信号组合(要用到的信号组合(查表法查表法)两种控制器对比两种控制器对比组合逻辑组合逻辑微程序微程序相同点相同点功能、控制信号功能、控制信号不不同同点点控制信号控制信号生成部件生成部件实现方式实现方式直接用电路实现直接用电路实现事先将控制信号存储在事先将控制信号存储在控存,需要时再读出控存,需要时再读出步骤标记步骤标记实现方式实现方式节拍节拍下地址下地址性能性能性能好,扩展性、兼性能好,扩展性、兼容性差,多用于容性差,多用于RISCRISC性能差,扩展性、兼容性能差,扩展性、兼容性好,多用于性好,多用于CISCCI

10、SC控制信号控制信号形成部件形成部件节拍发生器节拍发生器Timing程序计数器程序计数器PC.控制条件控制条件(如状如状态字、外部复态字、外部复位信号等位信号等)7.7.组合逻辑控制器的组成组合逻辑控制器的组成指令寄存器指令寄存器IR控制信号输出控制信号输出+1输入:输入:指令操作码、控制条件(如指令状态字、外部reset信号等)、指令步骤编码(节拍)输出:输出:全部控制信号主要解决的问题:主要解决的问题:节拍转换、控制信号生成硬连线控制器由程序计数器硬连线控制器由程序计数器PCPC、指令寄存器、指令寄存器IRIR、节、节拍发生器拍发生器Timer Timer 和和 控制信号产生部件控制信号产

11、生部件CU 4 CU 4 部分组部分组成:成:PCPC用于提供待读出指令在主存储器中的地址;用于提供待读出指令在主存储器中的地址;IR IR 用于保存从主存储器中读出的指令内容;用于保存从主存储器中读出的指令内容;Timer Timer 用于给出并维护指令执行步骤的编码;用于给出并维护指令执行步骤的编码;控制信号产生部件控制信号产生部件用于依据指令内容(在用于依据指令内容(在IRIR中)和中)和指令执行所处的操作步骤(指令执行所处的操作步骤(Timer Timer 提供),用提供),用组合组合逻辑线路逻辑线路产生计算机本操作步骤中各个部件所需要产生计算机本操作步骤中各个部件所需要的控制信号。的

12、控制信号。指令执行步骤标记指令执行步骤标记: :节拍发生器节拍发生器一条指令的执行时间被称为一条指令的执行时间被称为指令周期指令周期,一个指令周期,一个指令周期通常由几个通常由几个 CPU CPU 周期周期组成。指令的总体功能被分配组成。指令的总体功能被分配在这几个在这几个 CPU CPU 周期依次完成,每个周期完成指令的周期依次完成,每个周期完成指令的一部分功能。一部分功能。不同指令依据其功能的复杂程度,将使用不同数目的不同指令依据其功能的复杂程度,将使用不同数目的CPUCPU时钟,会造成时钟,会造成CPUCPU周期有不同的衔接次序周期有不同的衔接次序。为。为此需要设计专门的电路,实现时钟周

13、期的切换和衔接此需要设计专门的电路,实现时钟周期的切换和衔接。这个电路是用触发器构成的时序逻辑电路。这个电路是用触发器构成的时序逻辑电路。有的计算机又把一个有的计算机又把一个 CPUCPU周期划分几个更小的执行周期划分几个更小的执行步骤步骤, ,称其为称其为节拍节拍。也可以使一个。也可以使一个CPUCPU周期就是一个周期就是一个节拍,则可以把实现节拍,则可以把实现CPUCPU周期转换的电路叫做周期转换的电路叫做节拍节拍发生器发生器(Timer/TimingTimer/Timing)。)。教学计算机教学计算机TEC-2000TEC-2000的指令是如何被执行的指令是如何被执行的?的?执行步骤?执

14、行步骤?各指令所需的控制信号?各指令所需的控制信号?各指令在执行中如何协调多部件?各指令在执行中如何协调多部件?一段小程序一段小程序若若X10X10,则将,则将X X加加1010,否则不变。,否则不变。汇编程序如下:汇编程序如下:( (假设假设X X分配内存单元分配内存单元2010)2010)A 2000MVRD R0,2010LDRR R1,R0MVRD R2,000ACMP R1,R2JRC EXIT(2008)ADD R1,R2EXIT: RET2000:8800 2010 2002:81102003:8820 000A2005:03122006:44012007:00122008:8F

15、00结束,结束,判中断判中断数据传送指令数据传送指令 MVRD R0,2010 MVRD R0,2010 形成下条指令地址形成下条指令地址 AR PC PC PC + 1取指取指 读主读主存:存:IR (AR) R0 (AR) (读内存读内存)执行执行当前当前PC=2000H AR PC PC PC + 12000:8800 2010 2002:81102003:8820 000A2005:03122006:44012007:00122008:8F00数据加载指令数据加载指令 LDRR R1,R0 LDRR R1,R0 形成下条指令地址形成下条指令地址 AR PC PC PC + 1取指取指

16、读主读主存:存:IR (AR) R1 (AR) (读内存读内存)执行执行当前当前PC=2002H AR R02000:8800 2010 2002:81102003:8820 000A2005:03122006:44012007:00122008:8F00数据传送指令数据传送指令 MVRD R2,000A MVRD R2,000A 形成下条指令地址形成下条指令地址 AR PC PC PC + 1取指取指 读主读主存:存:IR (AR)执行执行当前当前PC=2003H AR PC PC PC + 12000:8800 2010 2002:81102003:8820 000A2005:031220

17、06:44012007:00122008:8F00 R2 (AR) (读内存读内存)数据比较指令数据比较指令 CMP R1,R2CMP R1,R2形成下条指令地址形成下条指令地址 AR PC PC PC + 1取指取指 读主读主存:存:IR (AR) R1-R2,更新标志位,更新标志位执行执行当前当前PC=2005H2000:8800 2010 2002:81102003:8820 000A2005:03122006:44012007:00122008:8F00转移指令转移指令 JRC 2008JRC 2008形成下条指令地址形成下条指令地址 AR PC PC PC + 1取指取指 读主读主存

18、:存:IR (AR) PC PC +IRL执行执行当前当前PC=2006H2000:8800 2010 2002:81102003:8820 000A2005:03122006:44012007:00122008:8F00加法指令加法指令 ADD R1,R2ADD R1,R2形成下条指令地址形成下条指令地址 AR PC PC PC + 1取指取指 读主读主存:存:IR (AR) R1 R1 + R2执行执行当前当前PC=2007H2000:8800 2010 2002:81102003:8820 000A2005:03122006:44012007:00122008:8F00返回指令返回指令

19、RETRET形成下条指令地址形成下条指令地址 AR PC PC PC + 1取指取指 读主读主存:存:IR (AR) AR SP SP SP+1执行执行当前当前PC=2008H2000:8800 2010 2002:81102003:8820 000A2005:03122006:44012007:00122008:8F00 PC (AR)(读内存读内存)8.8.指令执行步骤指令执行步骤l取指取指2 2步:步: PC(PC(此处为此处为R5) R5) ARAR 从内存中读指令从内存中读指令IRIRl执行若干步:执行若干步:l 算术逻辑算术逻辑运算在运算在通用寄存器之间通用寄存器之间进行进行, 1

20、步步完成,因为寄完成,因为寄存器组和存器组和 ALU在同一芯片内,已通过在同一芯片内,已通过2个锁存器连接好,个锁存器连接好,ALU的计算结果直接送回寄存器组;的计算结果直接送回寄存器组;l 读写存储器读写存储器,是在是在存储器与通用寄存器之间存储器与通用寄存器之间进行,进行,2步步完成,首先由完成,首先由ALU计算出计算出数据的内存地址数据的内存地址并送到并送到AR ,读写数据在下一步完成;读写数据在下一步完成;l 读写读写IO接口,接口,是在是在接口与通用寄存器之间接口与通用寄存器之间进行,进行,2步步完完成,成,端口地址端口地址由指令低由指令低8位给出,经位给出,经 ALU 送到送到AR

21、,读写,读写数据在下一步完成;数据在下一步完成;l 2 次访问存指令次访问存指令正常需正常需4步步完成,有些指令可完成,有些指令可3步步完成。完成。问题一:为什么要将划分指令执行步骤?问题一:为什么要将划分指令执行步骤?划分步骤可以为后面确定各步骤所需要的控制信号做准备划分步骤可以为后面确定各步骤所需要的控制信号做准备问题二:各指令的执行步骤有什么共性?问题二:各指令的执行步骤有什么共性?虽然指令功能不同,但执行步骤只有几种:虽然指令功能不同,但执行步骤只有几种:3 3、4 4、5 5、6 6步步;前两步均为取指,控制信号都相同。;前两步均为取指,控制信号都相同。问题三:取指问题三:取指2 2

22、步可否合为步可否合为1 1步?划分步骤以什么为依据?步?划分步骤以什么为依据?取指要分取指要分2 2步是因为步是因为ARAR和和IRIR不能同时接收。不能同时接收。ARAR得到地址后,得到地址后,存储器或存储器或IOIO读写要一个延时;若读写要一个延时;若IRIR和和ARAR同时锁存,锁入同时锁存,锁入IRIR的内容可能不正确。所以划分步骤是以的内容可能不正确。所以划分步骤是以寄存器先后锁存寄存器先后锁存为为依据的。依据的。确定不同的确定不同的步骤步骤所需要的控制信号,再根据指令的所需要的控制信号,再根据指令的操作码操作码,就可以发出相应的,就可以发出相应的控制信号控制信号。可以用可以用节拍发

23、生器节拍发生器发出信号来区分和表示这些不同的步骤发出信号来区分和表示这些不同的步骤指令执行步骤划分依据指令执行步骤划分依据9.TEC-20009.TEC-2000控制器组成及数据通路控制器组成及数据通路 I/O设设备备地地址址总总线线数数据据总总线线1 R5经经A送送AR, R5经经B+0+1(Cin提供提供) 送送B 读内存到读内存到IR:中指令送:中指令送 IR0FY取取指指 I/O设设备备地地址址总总线线数数据据总总线线 AR PC PC PC+ 1 读主存:读主存: R0 (AR)D100FY执执行行 I/O设设备备地地址址总总线线数数据据总总线线1取取指指执执行行DADD R0,R1

24、ADD R0,R1的执行过程与数据通路的执行过程与数据通路 R5经经A送送AR, R5经经B+0+1 (Cin提供提供) 送送B 读内存到读内存到 IR:(AR) IR B(R0)+A(R1)B(R0),存,存标志标志输入指令输入指令 IN 80IN 80 AR PC, PC PC + 1取令取令 读主读主存,存,IR (AR) R0 (AR)(读外设读外设)执行执行 AR I/O port I/O设设备备地地址址总总线线数数据据总总线线 IO端口地址端口地址(在在IR低位字节低位字节)经经 ALU (D+0) 送送 AR,读外设读外设(串口串口) 并把并把 D+0 送送 R0执行执行D0 0

25、IN IN 指令的执行过程与数据通路指令的执行过程与数据通路调用子程序指令调用子程序指令 CALA ADRCALA ADR AR PC, PC PC + 1取指取指 读主读主存,存,IR (AR) AR,SPSP-1执行执行 AR PC, PC PC + 1 读主读主存,存,Q (AR) (AR)PC(将将PC写入内存写入内存) PC Q扩展指令:扩展指令:LDRX DR,OFFSETSRLDRX DR,OFFSETSR AR PC, PC PC + 1取令取令 读主读主存,存,IR (AR) DR (AR)(再次读内存,得到数据再次读内存,得到数据)执行执行 AR SR +(AR)(读内存,

26、形成地址读内存,形成地址) AR PC, PC PC + 1依据各功能部件本身的组成和运行的依据各功能部件本身的组成和运行的控制需求来确定各部件所需要的控制控制需求来确定各部件所需要的控制信号信号10.10.各部件所需控制信号各部件所需控制信号控制器应提供的运算器控制信号控制器应提供的运算器控制信号Y15Y0 用用16个指示灯显示结果个指示灯显示结果D15D0RAM15Q15RAM0Q0CinCyF=0OverF15运运 算算 器器 部部 件件(4 片片 Am2901)A30B30I86 用用16个数据开关提供输入数据个数据开关提供输入数据CZVSSSHSSTSCII53 I20SCI SSH

27、 A口口 B口口I86 I53 I20 SST通过通过24位微型开关位微型开关 提供控制信号提供控制信号用用4个个指示灯显示状态指示灯显示状态Gal20V8Gal20V8 I/O设设备备地地址址总总线线数数据据总总线线D运算器、控制器运算器、控制器存储器、串行口存储器、串行口接口读接口读接口写接口写存储器读存储器读存储器写存储器写读写主存储器或读写主存储器或I/OI/O接口控制接口控制对内存和对内存和 I/OI/O接口的读写接口的读写-MRQ-MRQ /MIO /MIO(0 0:有内存或串口读写,:有内存或串口读写,1 1:无):无) REQ REQ (0 0:读写内存,:读写内存, 1 1:

28、读写串行口):读写串行口) /WE /WE (0 0:写操作,:写操作, 1 1:读操作):读操作)0 0 0 写内存写内存0 0 1 读内存读内存0 1 0 写串口写串口0 1 1 读串口读串口1 XX 无内存和串口的读写操作无内存和串口的读写操作读写主存储器或读写主存储器或I/OI/O接口接口 对对主存储器主存储器读写的控制,分成两步:读写的控制,分成两步: 1. 1. 传送传送主存地址主存地址,以选择读写存储单元;,以选择读写存储单元; 2. 2. 给出读写命令,给出读写命令, 读操作时,把读出数据保存起来,读操作时,把读出数据保存起来, 写操作时,还要给出写入的数据。写操作时,还要给出

29、写入的数据。 对对接口电路接口电路读写的控制,分成两步:读写的控制,分成两步: 1. 1. 传送传送IOIO端口地址端口地址,以选择读写芯片;,以选择读写芯片; 2. 2. 给出读写命令,给出读写命令, 读操作时,把读出数据保存起来,读操作时,把读出数据保存起来, 写操作时,还要给出写入的数据。写操作时,还要给出写入的数据。内部总线数据来源控制内部总线数据来源控制 I/O设设备备地地址址总总线线数数据据总总线线D运算器、控制器运算器、控制器存储器、串行口存储器、串行口状态到内部总线状态到内部总线IR低低8位进位进入数据总线入数据总线从开关到内部总线从开关到内部总线ALU到内到内部总线部总线内存

30、数据到数据总线内存数据到数据总线内内部总线数据来源选择编码控制部总线数据来源选择编码控制DC1DC1DC1译码信号译码信号说明说明000/SWTOIB送外部数据总线上的数据(可来自内存、送外部数据总线上的数据(可来自内存、外设、开关)到内部总线外设、开关)到内部总线 001/RTOIB送送 ALU 输出到内部总线,输出到内部总线,用于用于写内存、写内存、外设外设010/ETOIB送送IRL到内部总线,到内部总线,用于提供用于提供 IO 端口端口地址或相对转移的地址或相对转移的偏移量偏移量011/FTOIB送程序状态字到内部总线,用于送程序状态字到内部总线,用于PSHF 指令写程序状态字进堆栈指

31、令写程序状态字进堆栈100/101/16 位机不用位机不用110/INTV送中断向量到内部总线,如响应中断时送中断向量到内部总线,如响应中断时的中断处理的中断处理程序首地址程序首地址111NC无操作无操作专专用寄存器接收的编码控制用寄存器接收的编码控制DC2DC2DC2编码编码译码信号译码信号操作说明操作说明000NC 无寄存器接收数据无寄存器接收数据001/GIR 指令寄存器接收指令寄存器接收010/ 16 位机不用位机不用011/GAR 地址寄存器接收地址寄存器接收100/INTR 恢复原中断优先级恢复原中断优先级101/INTN 接收新中断优先级接收新中断优先级110/EI 转义转义 用

32、于开中断指令用于开中断指令111/DI 转义转义 用于关中断指令用于关中断指令控制器生成的控制信号汇总控制器生成的控制信号汇总控制运算器控制运算器 I86I86,I53I53,I20I20,A30A30,B30B30 SST20 SST20,SSH10SSH10,SCI10 SCI10 共共2424位位控制内存或控制内存或 IO IO 接口接口 MIOMIO,REQREQ,WE WE 计计3 3位位控制内部总线控制内部总线 DC1_20 DC1_20 计计3 3位位控制专用寄存器接收控制专用寄存器接收 DC2_20 DC2_20 计计 3 3位位 总合计共总合计共 3333 位位计算机的设计者

33、必须按照指令运行要求,为计算机的设计者必须按照指令运行要求,为每条指令每条指令的的每个执行步骤每个执行步骤确定这确定这3333位控制信号的正确值,位控制信号的正确值,为为0 0 还是还是 为为1 1,或是,或是 0/1 0/1 均可,即填写指令流程表,原理均可,即填写指令流程表,原理不难但却比较繁琐,容不得一点错误。不难但却比较繁琐,容不得一点错误。3.3.控制器的设计控制器的设计(1)(1)划分指令执行步骤,及每个步骤的具体操划分指令执行步骤,及每个步骤的具体操作功能;作功能;(2)(2)确定在实现这些操作时,相关功能部件所确定在实现这些操作时,相关功能部件所需的控制信号;需的控制信号;(3

34、)(3)选用何种逻辑线路、什么样的处理方案,选用何种逻辑线路、什么样的处理方案,向各部件提供控制信号。向各部件提供控制信号。已知:已知:1. 每条指令将用几步完成;每条指令将用几步完成;2. 所有指令步骤已划分好;所有指令步骤已划分好;3. 每条指令的每个步骤需要什么控制信号。每条指令的每个步骤需要什么控制信号。问:问:1. 由什么器件发出控制信号?由什么器件发出控制信号?-答:控制器答:控制器2. 控制器控制器依据依据什么什么发出发出怎样的怎样的控制信号?控制信号? -答:节拍发生器和指令操作码答:节拍发生器和指令操作码控制器设计控制器设计控制信号生成线路控制信号生成线路(现场可编程的大规模

35、集成电路,现场可编程的大规模集成电路,实现与实现与_或两级构成的组合逻辑)或两级构成的组合逻辑)全部控制信号全部控制信号(教学机教学机33个个)(分别用于各个部件分别用于各个部件)指出指令的功能,指出指令的功能,比如比如ADD, MVRR等等指出是哪一类指指出是哪一类指令的第几拍令的第几拍 节拍节拍发生器发生器时钟脉冲信号时钟脉冲信号CP指令的操作码指令的操作码OPcode某些控制信息,某些控制信息,如如Reset等等节拍的状态编码节拍的状态编码输入输入输出输出11.11.节拍发生器的设计节拍发生器的设计节拍发生器的作用是用多位触发器的输出信号的不节拍发生器的作用是用多位触发器的输出信号的不同

36、组合状态来标识每条指令的不同执行步骤同组合状态来标识每条指令的不同执行步骤节拍状态编码节拍状态编码l 教学机实现了教学机实现了29 29 条基本指令,目前使用了条基本指令,目前使用了 8 8 个节拍(不含中断响应步骤),因此,节拍发生个节拍(不含中断响应步骤),因此,节拍发生器应至少使用器应至少使用 4 4 位触发器(位触发器( 2 24 4 个节拍);个节拍);l 用用4 4个个触发器(触发器( T T3 3 T T2 2 T T1 1 T T0 0)不同的状态组合)不同的状态组合来区分每一个节拍,例如,用来区分每一个节拍,例如,用T T3 3 T T2 2 T T1 1 T T0 0 =1

37、000 =1000 来标识节拍。来标识节拍。l 节拍数和节拍状态的选定并不唯一。节拍数和节拍状态的选定并不唯一。遵循的原遵循的原则是:尽量做到从当前节拍切换到下一个节拍时,则是:尽量做到从当前节拍切换到下一个节拍时,只有一个触发器的状态发生变化,或尽量使状态只有一个触发器的状态发生变化,或尽量使状态发生变化的触发器数目最少。发生变化的触发器数目最少。作为教学用的计算作为教学用的计算机,以节拍关系更机,以节拍关系更清晰清晰、易理解易理解最重要。最重要。还要考还要考虑有利于对写出的节拍发生器的逻辑表达式的逻虑有利于对写出的节拍发生器的逻辑表达式的逻辑化简。辑化简。 PC 0 AR PCPCPC+1

38、 IR(AR)寄存器之间寄存器之间运算与传送运算与传送 读、写内存读、写内存 AR地址地址 AR地址地址 读、写内存读、写内存 或或 I/O 接口接口 读、写内存读、写内存 PC地址地址A组组B组组C组组D组组/ResetB、C、D组组10000000001000110110010001110101中断响应与处理中断响应与处理XXXX第第 2 次读写主存次读写主存读写主存或接口读写主存或接口取取指指ALU运算运算16 16 位机指令执行流程位机指令执行流程CALAADD SUB AND OR XORCMP TEST MVRRINC DEC SHL SHRJR JRC JRNC JRZ JRNZ

39、LDRR STRR PUSH POP PSHF POPF MVRDIN OUT JMPA RETPS(现现 态态 ) NS( 次次 态态 ) 转转 换换 条条 件件 T3 T2 T1 T0 T3 T2 T1 T0 1 0 0 0 C-M# /RESET 1 0 0 0 0 0 0 0 C-M# RESET 0 0 0 0 0 0 1 0 C-M# RESET 0 0 1 0 0 0 1 1 C-M# RESET A 0 1 1 0 C-M# RESET BCD 0 1 1 0 0 1 1 1 C-M# RESET C 0 1 0 0 C-M# RESET BD 0 1 1 1 0 1 0 1

40、C-M# RESET 0 1 0 0 0 1 1 1 C-M# RESET D 状态转移表状态转移表按照状态转移表,写出对应的逻辑表达式,即反映按照状态转移表,写出对应的逻辑表达式,即反映每一个触发器每一个触发器的完整的的完整的状态转换序列状态转换序列的逻辑表达式:的逻辑表达式:(1 1)用一个用一个与项与项表明在一个节拍中该触发器状态为表明在一个节拍中该触发器状态为 1 1,参加与运算的元素是:,参加与运算的元素是: 前一节拍的前一节拍的 4 4个个触发器的状态触发器的状态值;值; 前一节拍进到本节拍的前一节拍进到本节拍的限制条件限制条件,如指令组,如指令组或具体的一条指令等,也可能没有条件

41、。或具体的一条指令等,也可能没有条件。(2 2)用用多个或项多个或项汇总所有节拍中该触发器的汇总所有节拍中该触发器的 “ “1”1”。节拍发生器的设计原理节拍发生器的设计原理P S(现现 态态 ) N S( 次次 态态 ) 转转 换换 条条 件件 T 3 T 2 T 1 T 0 T 3 T 2 T 1 T 0 1 0 0 0 C -M # /R E SE T 1 0 0 0 0 0 0 0 C -M # R E SE T 0 0 0 0 0 0 1 0 C -M # R E SE T 0 0 1 0 0 0 1 1 C -M # R E SE T A 0 1 1 0 C -M # R E SE

42、 T B C D 0 1 1 0 0 1 1 1 C -M # R E SE T C 0 1 0 0 C -M # R E SE T B D 0 1 1 1 0 1 0 1 C -M # R E SE T 0 1 0 0 0 1 1 1 C -M # R E SE T D T2T2表达式为:表达式为:( (:= := 为时序逻辑赋值符为时序逻辑赋值符) ) T2 := C-M# T2 := C-M# * * RESET RESET * * /T3 /T3 * * /T2 /T2 * * T1 T1 * * /T0 /T0 * * /A /A + C-M# + C-M# * * RESETRES

43、ET * * /T3 /T3 * * T2 T2 * * T1 T1 * * /T0 /T0 * * BD BD + + C-M# C-M# * * RESETRESET * * /T3 /T3 * * T2 T2 * * T1 T1 * * /T0 /T0 * * C C + C-M# + C-M# * * RESETRESET * * /T3 /T3 * * T2 T2 * * T1 T1 * * T0 T0 + C-M# + C-M# * * RESETRESET * * /T3 /T3 * * T2 T2 * * /T1 /T1 * * /T0 /T0 * * D D写逻辑表达式写逻辑

44、表达式+ C_M# * RESET * /T3 * T2 * T1 * /T0T3 := C-M# * /RESETT1 := C-M# * RESET * /T3 * /T2* /T1 * /T0 + C-M# * RESET * /T3 * /T2* T1 * /T0 * A + C-M# * RESET * /T3 * /T2* T1 * /T0 * (B+C+D) + C-M# * RESET * /T3 * T2* T1 * /T0 * C + C-M# * RESET * /T3 * T2*/T1 * /T0 * DT0 := C-M# * RESET * /T3 * /T2* T

45、1 * /T0 * A + C-M# * RESET * /T3 * T2* T1 * /T0 * C + C-M# * RESET * /T3 * T2* T1 * T0 + C-M# * RESET * /T3 * T2*/T1 * /T0 * DPC 0AR PCPCPC+1IR(AR)寄存器之间寄存器之间运算与传送运算与传送读、写内存读、写内存AR地址地址AR地址地址读、写内存读、写内存或或 I/O 接口接口读、写内存读、写内存 PC地址地址基本指令、扩展指令执行流程图基本指令、扩展指令执行流程图A组组B组组C组组D组组B C D 组组1000000000100011011001000

46、1110101T3 := /ResetT2 := Reset* /T3*/T2* T1*/T0*IR15 + Reset* /T3* T2* T1*/T0 + Reset* /T3* T2*/T1*/T0 * IR15*IR14*IR11 + Reset* /T3* T2* T1* T0 T1 := Reset* /T3*/T2*/T1*/T0 + Reset* /T3*/T2* T1*/T0 + Reset* /T3* T2* T1*/T0 * IR15*IR14*/IR11 + Reset* /T3* T2*/T1*/T0 * IR15*IR14* IR11 T0 := Reset* /T

47、3*/T2*T1*/T0*/IR15 + Reset* /T3* T2*T1*T0 + Reset* /T3* T2*T1*/T0 * IR15*IR14*/IR11 + Reset* /T3*T2*/T1*/T0 * IR15*IR14* IR11T3 T2 T1 T0Reset节拍发生器的逻辑表达式节拍发生器的逻辑表达式0000 无无 100 011 010 000 0101 0101 000 0100 011 0000010 关关 001 000 001 000 0000 0000 000 0000 001 0000011 00000000 100 001 011 000 DR SR 0

48、01 0000 000 000节拍节拍 操作码操作码 MRW I20 I86 I53 B口口 A口口 SST SCISSH DC2 DC1指令步骤指令步骤及功能及功能MRW I2-I0来源来源I8-I6去向去向I5-I3功能功能ABSSTSCISSHDC1DC2PCARPC+1PC 无无0BFBAYR+SR5R5不变不变Cin=1无无无无AR收收存储器存储器IR 存储存储器读器读-无写无写回回-不变不变-IR收收DR+SRD DR无无ABFB FYR+SSRDR接收接收Cin=0无无无无无无ADD DR,SRADD DR,SR的三个步骤所需的控制信号的三个步骤所需的控制信号指令步骤指令步骤及功

49、能及功能MRW I2-I0 来源来源I8-I6 去向去向I5-I3 功能功能ABSSTSCISSHDC1DC2PCARPC+1PC无无0BFBAYR+SR5R5不变不变 Cin=1无无无无AR收收读存储器读存储器 DR存储存储器读器读D0FB FYR+S-DR不变不变 Cin=0无无送开关到送开关到内部总线内部总线无无MVRD DR,DATA MVRD DR,DATA 两步执行所需的控制信号两步执行所需的控制信号0110 10001000 100 011 010 000 0101 0101 000 0100 011 0000100 10001000 001 111 011 000 DR 000

50、0 000 0000 000 000节拍节拍 操作码操作码 MRW I20 I86 I53 B口口 A口口 SST SCISSH DC2 DC1指令步骤指令步骤 MRW I2-I0 I8-I6I5-I3ABSSTSCISSHDC1DC2DRAR无无0BF YR+S无无DR 不变不变 Cin=0无无无无AR收收SR存储存储器器存储器存储器写写0AF YR+SSR-不变不变 Cin=0无无Y 内内部总线部总线无无其他一些指令各执行步骤所需控制信号其他一些指令各执行步骤所需控制信号STRR DR,SR执行所需的控制信号执行所需的控制信号(两步两步)IRLAR无无D0F YR+S无无无无不变不变 Ci

51、n=0无无无无AR收收读接口读接口R0接口接口读读D0F BR+S无无R0 不变不变 Cin=0无无开关开关内内部总线部总线无无IN PORT 执行所需的控制信号执行所需的控制信号(两步两步)JRC ADR执行所需的控制信号执行所需的控制信号(1步步)IRL+R5R5无无DA0C1R+SR5R5 不变不变 Cin=0无无无无无无C=1时即时即011,FB,FYC=0时即时即001,FY0110 11001110 100 011 010 000 0101 0101 000 0100 011 0000100 11001110 001 111 000 000 0000 0000 000 0000 0

52、00 0000111 11001110 100 011 011 001 0100 0000 000 0000 011 0000101 11001110 000 010 010 000 0101 0101 000 0000 000 0010110 10000010 100 111 001 000 0000 0000 000 0000 011 0100100 10000010 011 111 011 000 0000 0000 000 0000 000 0000011 00000111 100 100 011 000 DR SR 000 0000 000 0000011 00000000 100

53、001 011 000 DR SR 001 0000 000 000节拍节拍 指令操作码指令操作码 MRW I20 I86 I53 B口口 A口口 SST SCISSH DC2 DC10000 无无 100 011 010 000 0101 0101 000 0100 011 0000010 关关 001 000 001 000 0000 0000 000 0000 001 0001 1)设计指令执行流程表;)设计指令执行流程表; 流程表中,横向给出流程表中,横向给出 33 33 位控制信号位控制信号,每条指令每条指令的的每个步每个步骤骤分配一横行,并用分配一横行,并用指令操作码指令操作码和和

54、节拍状态码节拍状态码指出是哪条指令指出是哪条指令的哪个节拍,在纵横交叉位置填写各控制信号的值。的哪个节拍,在纵横交叉位置填写各控制信号的值。12.12.控制信号生成部件的设计控制信号生成部件的设计(1)(1)ADD取指取指MVRRINCALA2 2)按流程表写出每一位控制信号的逻辑表达式;)按流程表写出每一位控制信号的逻辑表达式; 用用与项与项指明一位信号在流程表的一个横行中的指明一位信号在流程表的一个横行中的“1 1” 用用或或汇总该信号在各横行中的汇总该信号在各横行中的“1 1” 按按 和和写出每个控制信号的逻辑表达式写出每个控制信号的逻辑表达式3 3)编译得到的逻辑表达式,并写入可编程芯

55、片;)编译得到的逻辑表达式,并写入可编程芯片;4 4)对设计结果进行调试、改错,直到运行正确。)对设计结果进行调试、改错,直到运行正确。时序控制信号生成部件的设计时序控制信号生成部件的设计(2)(2)例如:例如:MRW字段中的字段中的R信号信号(只在(只在IN,OUT指令的第二拍中为指令的第二拍中为1)已知已知:第二拍的编码为:第二拍的编码为0100,IN、OUT的操作码分别的操作码分别10000010、10000110故:故:R = !T3&T2&!T1&!T0 & IR15&!IR14&!IR13&!IR12&!IR11&am

56、p;IR9&!IR8 # !T3&T2&!T1&!T0 & IR15&!IR14&!IR13&!IR12&IR11&IR9&!IR8;同理,可写出所有同理,可写出所有33个控制信号的逻辑表达式。个控制信号的逻辑表达式。写出控制信号逻辑表达式写出控制信号逻辑表达式(ABEL)(ABEL)当当1的个数远多于的个数远多于0的个数时,采用负逻辑可简化表达式:的个数时,采用负逻辑可简化表达式:如如I2I0 字段中的字段中的I0:!I0 = !T3&!T2&T1&!T0 #!T3&!T2&T1&T0&!IR15&!IR14&!IR13&!IR12&!IR11&IR10&IR9&

温馨提示

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

评论

0/150

提交评论