1、第5章 中央处理器(CPU)1第5章 中央处理器(CPU)5.1 控制器的基本概念5.2 时序系统与控制方式5.3 指令的执行过程5.4 微程序控制原理5.5 微程序设计举例5.6 硬布线控制器5.7 流水线处理技术5.8 CPU举例第5章 中央处理器(CPU)25.1 控制器的基本概念5.1.1 控制器的功能5.1.2 控制器的基本组成5.1.3 控制器的实现方法控制器是计算机的控制和指挥中心,它负责对指令进行译码,产生一系列控制信号,指挥和 协调计算机各部件工作。第5章 中央处理器(CPU)35.1.1 控制器的功能1)操作控制功能2)指令顺序控制功能3)时序控制功能4)对异常和某些请求的
2、处理功能(1)异常(2)中断(3)DMA请求或其它主控设备的总线请求第5章 中央处理器(CPU)4送AR5.1.2 控制器的基本组成指令部件时序部件第5章 中央处理器(CPU)51)指令部件(1)程序计数器PCPC是用来提供下一条要执行的指令的地址在程序顺序执行时,由PC自动增1功能提供下一条指令的地址。(2)指令寄存器IRIR用来存放当前从主存中取出的指令。指令存放于IR中,直到被下一条取出的指令所取代。第5章 中央处理器(CPU)6(3)指令译码器IDID的功能是对存放IR中的操作码进行译码。经ID输出的一系列控制电位反映该指令的操作性质。(4)地址形成部件地址形成部件的功能是根据指令的寻
3、址方式,形成有效地址。有效地址地址寄存器AR (操作数的地址)有效地址PC (跳转的目标地址)第5章 中央处理器(CPU)72)时序部件n时序部件是用来产生机器中的各种时序信号,对各种操作实施时间上的控制。(1)时钟脉冲发生器时钟脉冲信号是机器的主频信号,为机器提供时间基准。它由外接高稳定度的晶体振荡器产生,具有一定占空比。例如:占空比1/32 1 第5章 中央处理器(CPU)8(2)启停线路开放和封锁脉冲,控制时序信号的发生和停止;保证起动时输出的第一个脉冲和停止时的最后一个脉冲都是完整的。(3)节拍信号发生器节拍信号分为节拍电位和节拍脉冲节拍电位:用于控制数据通路中代码的传送或数据的运算。
4、节拍脉冲(工作脉冲):用于寄存器接收代码的选通信号。第5章 中央处理器(CPU)93)微操作信号发生器根据指令操作码译码结果和时序信号及状态标志,产生各种操作控制信号,以便正确地建立数据通路,完成取指令和执行指令的控制。通常把许多寄存器之间传送信息的通路,称为“数据通路”。4)中断控制逻辑中断控制逻辑是用来控制中断处理的硬件逻辑,对于某些外部中断的处理,需要外部中断逻 辑配合完成。第5章 中央处理器(CPU)105.1.3 控制器的实现方法n硬布线控制器根据译出的指令各字段的含义,并结合当前工作状态及时序信号,由组合逻辑电路形成微操作控制信号。n微程序控制器以存储逻辑取代组合逻辑,根据指令操作
5、码的译码转向控制存储器取出对应的微程序,由微指令提供微操作控制信号。第5章 中央处理器(CPU)115.2 时序系统与控制方式5.2.1 时序系统5.2.2 时序控制方式第5章 中央处理器(CPU)125.2.1 时序系统n计算机的协调动作需要时间标志,而时间标志是用时序信号来体现的。1)指令周期和机器周期(1)指令周期完成一条指令所有操作所需要的时间,称为指令周期。指令周期通常用若干机器周期(CPU周期)表示。指令周期长短不同。第5章 中央处理器(CPU)13(2)机器周期为了便于对执行时间各不相同的指令进行控制,一般根据指令的操作性质和控制功能,将各指令分成一些基本操作,每一条指令由若干个
6、不同的基本操作组成,对每一个基本操作规定一个基本时间称为机器周期。不同机器周期完成不同的操作。在时序系统中设置一组周期状态触发器,以标志不同的机器周期。任一时序只允许其中的一个触发器为1,以表明CPU当前所处的机器周期。第5章 中央处理器(CPU)142)节拍电位和工作脉冲(1)节拍电位一个机器周期内要完成若干个微操作,这些微操作有的可以同时进行,有的则按先后次序串行执行。每个微操作都需要一定的时间,因此需要将一个机器周期分为若干相等的时间段,每一个时间段,用一个电平信号宽度对应,称为节拍电位。节拍电位作为开门/关门控制信号。第5章 中央处理器(CPU)15(2)工作脉冲用于同步触发器的翻转。
7、如:运算结果打入、周期切换。一个节拍内可以设置一个或几个工作脉冲。工作脉冲一般处于节拍后部(节拍脉冲)。若机器周期由时钟组成,脉冲的前沿将运算结果打入寄存器,后沿实现周期切换。时钟电位作为开门/关门控制信号。第5章 中央处理器(CPU)16节拍电位和工作脉冲配合关系第5章 中央处理器(CPU)173)总线周期n完成一次总线操作所需的时间称为总线周期。n总线周期与机器周期的区别在于总线周期是根据要求出现的。n例如:8086基本的总线周期第5章 中央处理器(CPU)184)多级时序系统 (1)三级时序信号间的关系这些时序信号将参与形成各种微操作命令。机器周期节拍工作脉冲第5章 中央处理器(CPU)
8、19(2)时钟周期的时序系统 第5章 中央处理器(CPU)205.2.2 时序控制方式nCPU的控制方式包含时序控制方式和指令执行控制方式。n形成控制不同操作序列的时序信号的方法,称为时序控制方式,其实质反映了时序信号的定时方式。1)同步控制方式固定时序控制。受事先确定的时序信号所控制。每个时序信号的结束意味一个微操作的完成,随即开始进行后继的微操作。第5章 中央处理器(CPU)21同步控制方式可选取的三种方案:(1)定长机器周期(2)不定长机器周期。(3)中央控制与局部控制结合。n同步控制方式的特点设计简单,容易实现影响指令的执行速度第5章 中央处理器(CPU)222)异步控制方式n每条指令
9、、每个操作控制信号需要多少时间就占用多少时间。当控制器发出某一操作控制信号后,等待执行部件完成操作后发回“回答”信号,再开始新的操作。没有统一的时钟,各功能部件拥有各自的时序信号。n异步控制方式的特点没有时间上的浪费,提高了机器的效率;分散控制,比较复杂。第5章 中央处理器(CPU)233)联合控制方式n同步控制和异步控制相结合的方式。n大部分操作序列安排在固定的机器周期中,对某些时间难以确定的操作则以执行部件的“回答”信号作为本次操作的结束。例如CPU访问主存时,依靠其送来的“READY”信号作为读写周期的结束。n常用:部件内同步,部件间异步第5章 中央处理器(CPU)245.3 指令的执行
10、过程5.3.1 CPU的基本功能元素5.3.2 指令执行的基本过程5.3.3 指令执行的微操作序列第5章 中央处理器(CPU)255.3.1 CPU的基本功能元素逻辑函数启动信号二进制存储位元读写1)门n实现逻辑功能,采用电位控制数据流,无记忆功能2)存储位元n存储一位数据的元件,采用脉冲打入数据,有记忆功能第5章 中央处理器(CPU)265.3.2 指令执行的基本过程nCPU的工作过程就是执行指令序列的过程。1)取指令2)分析指令(1)指令译码产生微操作控制信号(2)计算操作数的有效地址(3)取操作数对于分页式或分段式存储器结构需要将有效地址与段或页基址组合形成物理地址送主存取出操作数。3)
11、执行指令4)响应中断或DMA请求第5章 中央处理器(CPU)27PC第5章 中央处理器(CPU)285.3.3 指令执行的微操作序列n从指令的微操作序列说明一条指令的执行过程。n微操作序列是与CPU的内部数据通路密切相关。指令格式加法指令完成的功能:(rs1)+disp)+(rs)rd (rd、rs为同一R)设加法指令采用四个机器周期(每个机器周期包含T1、T2):取指、计算有效地址、取数、运算及送结果操作码rs、rdrs1(源1)Imm(disp)第5章 中央处理器(CPU)29第5章 中央处理器(CPU)301)取指(PC)AB访存控制命令 ADS=1(T1周期)、M/IO=1、W/R=0
12、DB IR(PC)+12)计算有效地址送AR,即(rs1)+disp ARrs1 GR、(rs1)ALU、disp ALU“+”ALU AR第5章 中央处理器(CPU)313)取数(AR)AB访存控制命令 ADS=1(T1周期)、M/IO=1、W/R=0DBDR4)运算及送结果、置状态标志rs、rdGR、(rs)ALU、(DR)ALU“+”ALUGR、置N、Z、V、C标志第5章 中央处理器(CPU)32JC A1)取指(PC)AB访存控制命令ADS=1(T1周期)、M/IO=1、W/R=0DB IR(PC)+12)分析执行If c=0 then endIf c=1 then(PC)ALU、di
13、sp ALU“+”ALU PC第5章 中央处理器(CPU)335.4 微程序控制原理5.4.1 微程序控制的基本概念5.4.2 实现微程序控制的基本原理5.4.3 微指令编码法5.4.4 微程序流的控制5.4.5 微指令格式及执行方式5.4.6 微程序设计技术的应用 第5章 中央处理器(CPU)345.4.1 微程序控制的基本概念1)微命令和微操作控制部件通过控制线向执行部件发出各种控制命令,通常把这种控制命令叫做微命令,它构成控制序列的最小单位。执行部件接受微命令后所进行的操作,称为微操作,它是最基本的、不可再分解的操作。相容性的微操作:指在同一个微周期内可以并行执行的微操作。(相容性微命令
14、)互斥性的微操作:指不能在同一个微周期内并行执行的操作。(互斥性微命令)第5章 中央处理器(CPU)352)微指令和微地址在一个微周期中,一组实现一定操作功能的微命令的组合,构成一条微指令(控制字)。微指令组成操作控制字段:用来发出管理和指挥全机工作的工作信号。位信息为“1”时,表示发出微命令;位信息为“0”时,表示不发微命令。顺序控制字段(下址字段):用来控制产生下一条微指令的地址。微指令存放在控制存储器中,存放微指令的控制存储器的单元地址称为微地址。第5章 中央处理器(CPU)363)微周期(机器周期或节拍)从控存中读取一条微指令并执行相应的一组微命令所需的全部时间4)微程序 一条机器指令
15、的功能是用许多条微指令组成的序列来实现的,这个微指令序列称为微程序。第5章 中央处理器(CPU)37微程序控制计算机涉及两个层次传统机器层:机器指令工作程序主存储器微程序层:微指令微程序控制存储器第5章 中央处理器(CPU)385.4.2 实现微程序控制的基本原理1)微程序实现加法指令设ALU能进行+、-、四种运算序号控制信号序号控制信号序号控制信号1(PC)AB10(RS1)ALU19ALU GR2ALU PC11(RS)ALU20ALU DR3(PC)+1120ALU21ALU AR4DISPALU13(DR)ALU22(AR)AB5DB IR14(PC)ALU23ADS6DB DR15+
16、24M/IO7(DR)DB16-25W/R8RS1 GR179RS、RDGR18第5章 中央处理器(CPU)39加法指令对应控制信号的序号n用4个机器周期完成,每个机器周期用一条微指令产生微操作命令。取指微指令的微命令序号:1、3、5、23、24、25计算有效地址微指令的微命令序号:4、8、10、15、21取数微指令的微命令序号:6、22、23、24、25运算及送结果微指令的微命令序号:9、11、13、15、19第5章 中央处理器(CPU)40微指令格式取指微指令1010100000000000000000110 计算有效地址微指令0001000101000010000010000 00100
17、0000010取数微指令0000010000000000000001110 001000000011运算及送结果微指令0000000010101010001000000 001000000000 12252637操作控制字段顺序控制字段(PC)ABALU PCW/R设控存容量为4K字第5章 中央处理器(CPU)41微程序流程图的表示 转 移 减 加 1100Q 1005Q 1004Q 1003Q 1002Q 1001Q 取 指 PC+1 计 算 地 址 1002Q 取 数 1003Q 加 法 运 算 1000Q 计 算 地 址 1005Q 取 数 1006Q 减 法 运 算 1000Q 计 算
18、 地 址 1000Q 1000Q 1006Q 第5章 中央处理器(CPU)422)微程序控制器基本工作原理IR OP A 微地址形成部件 微地址寄存器MAR 控制存储器 CM 控制字段 下址字段 IR 第5章 中央处理器(CPU)43n工作过程:执行取指公共操作(0#单元开始)形成微程序入口地址MAR从CM中取微指令 IR:产生一组微命令控制有关操作,通过微地址形成部件形成下址下址MAR重复3)、4)直到机器指令的微程序执行完毕。返回到取指微程序的入口,重复上述过程,直到整个程序执行完毕。第5章 中央处理器(CPU)443)时序信号的形成(1)二分频电路及节拍电位、工作脉冲的产生0 1 D C
19、 0 1 D C&CLK2 CLK CP-T1 T1 T2 第5章 中央处理器(CPU)45(2)打入脉冲的形成n方法一:控制信号“与”CP DBIR CP&CPIR 0 1 C D 0 1 C D 第5章 中央处理器(CPU)46n 方法二:直接用CP DB IR CP&0 1 C D 0 1 C D 1&第5章 中央处理器(CPU)47(3)特殊控制信号的产生n例如:ADS&ADS T1 ADS 第5章 中央处理器(CPU)48(4)访存需要等待的处理方法0 1 D C 0 1 D C&CLK2 CLK CP-T1 T1 T2 1 ready T1 第5章 中央处理器(CPU)495.4.
20、3 微指令编码法n微指令编码是指对操作控制字段的编码。n实质:在微指令中如何组织微命令。n典型的微指令编译法有:1)直接控制法2)最短字长编码法3)字段直接编码法4)字段间接编码法5)常数源字段E第5章 中央处理器(CPU)501)直接控制法n操作控制字段中的每一位代表一个微命令。优点:简单直观,其输出直接用于控制,并行性强,速度快。缺点:微指令字较长,因而使控制存储器容量较大。第5章 中央处理器(CPU)512)最短字长编码法n所有微命令统一编码,每条微指令只定义一个微命令。L log2n优点:微指令字最短。缺点:译码复杂,不能充分利用硬件的并行性,微程序长,速度慢,对要求同时动作的组和性微
21、操作无法实现。第5章 中央处理器(CPU)523)字段直接编码法n把一组互斥性的微命令信号组成一个字段,然后通过字段译码器对每一个微命令信号进行译码,译码输出作为操作控制信号。第5章 中央处理器(CPU)53优点:用较少的二进制信息位表示较多的微命令信号。缺点:使微程序的执行速度减慢。n例如:3位二进制位译码后可表示7个微命令,4位二进期位译码后可表示15个微命令。第5章 中央处理器(CPU)54n例题:某运算器数据通路如图。指出哪些微操作是互斥的,哪些是相容的。分别用直接控制法和字段直接编译法设计适合该运算器的微指令格式中的操作控制字段。n解:互斥微操作:IR A、R1 A、R2 A、R3
22、A互斥;R1B、R2B、R3B互斥;+、-、M互斥。相容微操作:A选通门的任一个微操作与B选通门的任一个微操作相容;LDR1、LDR2、LDR3相容。第5章 中央处理器(CPU)55 ALU A 选 通 门 B 选 通 门 DR A R1 A R2 A R3 A R1 B R2 B R3 B V Z Cy+-M ALU BUS R1 R2 R3 LDR1 LDR2 LDR3 第5章 中央处理器(CPU)56直接控制法操作控制字段:LDR3 LDR2 LDR1 R3 B R2B R1B R3 A R2A R1 A IR A M-+ALU BUS 第5章 中央处理器(CPU)57n字段直接编码法操
23、作控制字段ALU BUSLDR1LDR2LDR31232111 00 无 01 +10 -11 M 000 无 001 IRA 010 R1 A 011 R2 A 100 R3 A00 无01 R1B10 R2 B11 R3 B第5章 中央处理器(CPU)584)字段间接编码法n一个字段的某些编码不独立地定义某些微命令,而与其他字段联合定义。第5章 中央处理器(CPU)59n例如:有一ALU,它能完成8种不同的算术运算和8种不同的移位运算,用1位字段指示是算术运算还是移位运算,3位字段指示是8种操作中的某一种。5)常数源字段En通常把直接控制法与字段编码法相混合使用,以便能综合考虑微指令字长、
24、灵活性和执行微程序速度等方面的要求。n目标:减少微指令字长,增强微操作的并行性。第5章 中央处理器(CPU)605.4.4 微程序流的控制1)微程序入口地址的形成nOP微程序入口地址一级功能转换机器指令的OP位数、位置固定(定长、定位置)二级功能转换同类机器指令的OP位数、位置固定,不同类机器指令的OP位数、位置不固定MAPROM机器指令的OP位数、位置不固定(变长、变位置)第5章 中央处理器(CPU)61(1)一级功能转换OP与入口地址的部分位相对应。l000 OPB设OP以4位二进制编码表示:MOV 0000000BADD 0000001B SUB 0001111B无条件转移微指令无条件转
25、移微指令 CM的0页 无条件转移微指令 0000000 0000001 散转表 0001111 第5章 中央处理器(CPU)62l OP 111BMOV 0000111BADD 0001111B SUB 1111111B 7FH 0FH 07H 公用段 ADD 指令 MOV 指令 SUB 指令 00H 第5章 中央处理器(CPU)63(2)二级功能转换按指令类型标志转换-区分指令类各类按OP转换 -形成入口地址(3)采用映像存储器MAPROM(2716)PROM OP 入口地址 第5章 中央处理器(CPU)642)后继微地址的形成(1)增量方式n顺序执行:后继微地址由现行微地址加上一个增量来产
26、生。n非顺序执行:由转移逻辑产生一个转移微地址。n顺序执行的微指令序列必须安排在控制存储器的连续单元中。nPC作为:微地址寄存器微程序计数器第5章 中央处理器(CPU)65IR OP A 译码器 PC 控制存储器 CM 操作控制字段 顺序控制字段 IR 公用入口 译码器+1 转移逻辑 转移 条件 转移地址 增量方式第5章 中央处理器(CPU)66n增量方式的基本特点:微指令的顺序控制字段较短,仅起选择作用。微程序转移很不灵活性,使得微程序在控制存储器中的物理空间分配困难。第5章 中央处理器(CPU)67(2)增量与下址字段结合方式n微指令顺序控制部分分成:转移控制字段BCF转移地址字段BAFn
27、当微程序转移时,将BAF送微程序计数器(PC),否则顺序执行下一条微指令(PC加1)。第5章 中央处理器(CPU)68 结 果=0 IR O P A 译 码 器 P C 控 制 存 储 器 C M 操 作 控 制 字 段 B C F B A F IR 公用入口 译 码 器 7 6 5 4 3 2 1 0 +1 R R&1 C T 0&溢 出&+1 第5章 中央处理器(CPU)69(3)多路转移方式(断定方式)n一条微指令具有多个转移分支的能力称为多路转移。当微程序不产生分支时,后继微地址直接由微指令的下址字段给出;当微程序出现分支时,有若干“后选”微地址可供选择。n下址字段由两部分组成:非测试
28、段:由设计者指定,一般为微地址的高位。测试段:根据有关状态位的测试确定后继微地址,一般为微地址低位部分。第5章 中央处理器(CPU)70n测试段有1位标志,可实现微程序2路转移;n测试段有2位标志,可实现微程序4路转移。实现两路转移实现四路转移实现三路转移第5章 中央处理器(CPU)71 OE FULL 压栈/弹出 保持/清零 清零/选择 减量/保持/装数 寄存器/计数器 R 零检测器 D R F PC 多路地址选择器 命 令 译 码 器 微堆栈指示器 SP 5 字12 位 微堆栈 F 微程序计数器 寄存器 PC 增量器 D11D0 RLD R为零 CI CP Y11Y0 CC CCEN I3
29、I0 PL MAP VECT 3)微程序定序器Am2910第5章 中央处理器(CPU)72I3I0功能2无条件转至微程序入口(/MAP=0)。3若/CC=0,则下条微指令地址来自当前微指令的下址字段(/PL=0);若/CC=1,则顺序执行(来自PC)。4进栈且条件装入计数器。把下条微指令的地址压入微堆栈,若/CC=0,则把当前微指令的下址字段内容装入计数器,然后顺序执行。8重复循环。前提:已使用4号命令,循环首址压入微堆栈,循环次数装入计数器。若R/C0,则R/C减1,微堆栈栈顶的内容作为下条微指令的地址。若R/C=0,则(SP)-1SP(弹栈),顺序执行下条微指令。14无条件顺序执行(来自P
30、C)。153路转移。前提同8号。F、D(/PL=0)、PC若R/C0,则R/C减1:若/CC=0,弹栈,选择PC;若/CC=1,选择F(栈顶)。若R/C=0,弹栈:若/CC=0,选择PC;若/CC=1,后继微指令地址来自当前微指令的地址字段。第5章 中央处理器(CPU)735.4.5 微指令格式及执行方式1)微指令格式n水平型微指令一次能定义并执行多个并行操作微命令的微指令,称为水平型微指令。n垂直型微指令控制字段的设置采用编码法,由微操作码规定微指令的功能,称为垂直型微指令。垂直型微指令的结构类似于机器指令的结构。它有操作码,在一条微指令中只有1-2个微操作命令,每条微指令的功能简单。它是采
31、用较长的微程序结构去换取较短的微指令结构。第5章 中央处理器(CPU)74(3)水平与垂直的比较:水平特征垂直特征不编码高度编码控制字段多位微指令字较短高度并行并行能力差硬件细节观点硬件总体观点编程困难编程容易很少或没有控制逻辑复杂的控制逻辑执行快执行慢实现一条机器指令对应的微程序短实现一条机器指令对应的微程序长优化性能优化编程第5章 中央处理器(CPU)752)微指令的执行方式n取微指令-从控存中取出n执行微指令-执行规定的各个操作执行方式:串行方式 并行方式执行过程(1)串行方式l取微指令和执行微指令是顺序进行。l在一条微指令取出并执行之后,才能取下一条微指令。第5章 中央处理器(CPU)
32、76取微指令阶段:CM工作,数据通路等待执行微指令阶段:CM空闲,数据通路工作微地址形成部件 微地址寄存器MAR 控制存储器 CM 第5章 中央处理器(CPU)77 取微指令 1 执行微指令 1-取微指令 2 执行微指令 2-取微指令 3 执行微指令 3-微周期(2)并行方式l在执行当前微指令的同时,预取下一条微指令。IR 微地址形成部件 微地址寄存器MAR 控制存储器 CM 操作控制字段 顺序控制字段 流水线寄存器 第5章 中央处理器(CPU)785.4.6 微程序设计技术的应用1)计算机功能固件化n硬件的固件化计算机中凡具有逻辑控制功能的部件皆可固件化,例如:微程序控制器。n软件的固件化用
33、微程序实现操作系统的内核;提供对高级语言支持;用微程序实现嵌入主机系统的专用设备。例如:驱动程序以固件而不是用软件实现。第5章 中央处理器(CPU)792)微程序仿真n使用微程序在一台机器上执行原本为另一类机器编写的程序,以支持用户程序由一种计算机移植到另一种计算机上。例如:System/370仿真IBM1401 宿主机 目标机宿主机提供二种工作方式:l本机方式l仿真方式第5章 中央处理器(CPU)803)动态微程序设计n静态微程序设计微程序设计完毕,不允许也不便于改变,这样的设计称静态微程序设计(CM使用ROM,指令系统是固定的)n动态微程序设计在一台微程序控制的计算机中,若能根据用户的要求
34、改变微程序,那么这台机器就具有动态微程序设计功能。(CM使用WCM)第5章 中央处理器(CPU)81动态微程序设计的应用系统设计人员完成两套可供切换的微程序,例如:l一套用于科学计算的指令系统l另一套用于数据处理的指令系统本机指令系统中保留的供扩充指令的操作码或未定义操作码,由用户来定义。第5章 中央处理器(CPU)825.5 微程序设计举例5.5.1 系统构成5.5.2 微指令格式5.5.3 微程序设计第5章 中央处理器(CPU)83第5章 中央处理器(CPU)845.5.1 系统构成n设置26=64条机器指令,支持的寻址方式:立即数寻址方式直接地址寻址方式寄存器寻址方式寄存器间接寻址方式相
35、对寻址方式变址寻址方式绝对寻址方式堆栈寻址方式第5章 中央处理器(CPU)85n53条指令已实现11条未实现指令的操作码为:D4、D8、DC、E0、E4、E8、EC、F0、F4、F8、FC(最低二位用于选择C、Z、V、S 四个标志作为判断条件)。这11条指令的微程序入口地址为:100h、110h、120h、130h、140h、150h、160h、170h、180h、190h、1A0h。第5章 中央处理器(CPU)86硬件构成以位片式器件Am2901、Am2910作为核心部件1)运算器n4片Am2901、1片Am2902构成16位数据处理单元。nSTR:运算结果状态寄存器IB7IB6IB5IB4
36、IB3IB2IB1IB0CZVSINTE P2P1P0第5章 中央处理器(CPU)87n4片Am2901中的16个4位寄存器构成16个16位寄存器R0R15及16位乘商寄存器Q(Q与其他寄存器联成32位寄存器,用于乘除运算)R0R3、R7R15:作为通用寄存器R4:作为SPR5:作为PCR6:作为IP(指令当前地址,与已增量的PC不同)第5章 中央处理器(CPU)88nAm2901的数据输入端D来源:来自DB(从M或I/O设备取操作数)IR的地址码字段STRn运算结果送:内部RAR或DB设置STR第5章 中央处理器(CPU)89nSTR的输入:运算结果设置 弹栈恢复nSTR的输出:IB 组织/
37、CC条件第5章 中央处理器(CPU)902)控制器n1片Am2910微程序定序器、7片6116(2K*8)与2片2716ROM(共2048个字)组成控存、56位微指令寄存器、16位指令寄存器、2片2716(2K*8)MAPROM组成。n微码装入:ROM LDR7、6 LDR5、4 LDR3、2 LDR1、0 LRCP0 LRCP1 LRCP2 LRCP3 第5章 中央处理器(CPU)91n两个地址计数器的作用:第一个计数器是由三个4位计数器组成,初值为0,每来一次工作脉冲使其计数一次。计数器输出:作为控存RAM写入单元地址;作为读ROM芯片的高9位地址。ROM的低2位地址Y1、Y0由第二个计数
38、器提供,该计数器每计满4次,第一个计数器计数一次。由Y1、Y0的4个状态可获得LRCP0LRCP3。Y11由0变1(211=2048),结束微码装入操作。第5章 中央处理器(CPU)92n微控存的地址来源:Am2910的Y9Y0存储器的地址寄存器(低10位)计数器输出nAm2910的D的来源/MAP作为MAPROM的选通信号/PL选中下址作为D的输入/VECT选中接收内部总线的IB90SmuxY11第5章 中央处理器(CPU)933)主存储器n4K字EPROM(2片2732)n2K字RAM(2片6116)4)总线n地址总线(16位):接受来自地址寄存器的值,地址寄存器接受来自运算器的结果输出。
39、送主存、接口、控存(LDMC)第5章 中央处理器(CPU)94n数据总线(16位):IB、DB两者间通过双向三态门,由/MIO和/WE控制。IB的输入来源:16个开关输入数据或地址、运算器输出、DB、中断向量寄存器、状态寄存器、IR的低位字节IB输出至:运算器的D输入端、DB、IR、送往可写控存的16位写入寄存器(4次)、Am2910的10位地址输入端。第5章 中央处理器(CPU)955.5.2 微指令格式采用水平型微指令格式。微指令字长56位:10位下址字段、3位备用、43位控制字段。B55B54B53B52B51B50B49B4810位下址字段B47B46B45B44B43B42B41B4
40、0备用Am2910命令码I3-I0B39B38B37B36B35B34B33B32SCCSC备用状态位产生SST给出2910的/CC的选择码第5章 中央处理器(CPU)96B31B30B29B28B27B26B25B24/MIOI8I7I6REQI5I4I3B23B22B21B20B19B18B17B16/WEI2I1I0A口地址B15B14B13B12B11B10B9B8B口地址SCiSSHB7B6B5B4B3B2B1B0SADC1SBDC2SA=0:A口地址来自微码 SB=0:B口地址来自微码 SA=1:A口地址来自IR3-0 SB=1:B口地址来自IR7-4第5章 中央处理器(CPU)9
41、7SCC/CC01012345SC=0SC=0SC=0SC=0/FS1/FS2/FS3/WAIT23456SC=1SC=1SC=1SC=1/C/Z/V/S/INTSCC/CC7IR10801234567/C/Z/V/SCZVS返回第5章 中央处理器(CPU)98SSTCZVS0CZVS1CYF=0OVF32IB7IB6IB5IB430ZVS41ZVS5RAM0ZVS6RAM3ZVS7Q0ZVS返回第5章 中央处理器(CPU)99 0 1B 1 1A 2 3 139 0 2B 1 2A 2 3/MREQ/IORQ NC SWA /MMW/MMR/IOW/IOR REQ/MIOREQ/WE 返回第
42、5章 中央处理器(CPU)100SCiCin00112C3TCLK左移右移SSHRAM0Q0RAM3Q30 00X0X0 1CXCX1 0Q3/F3CYRAM01 1XXF3或OVRAM0返回第5章 中央处理器(CPU)101 0 C 1 DC1 2 B 3 4 A 5 6 7 B6 B5 B4 /SWTOIB/RTOIB/ITOIB/FTOIB/INTA NC/EI/DI 返回第5章 中央处理器(CPU)102 0 C 1 DC2 2 B 3 4 A 5 6 7 B2 B1 B0 NC/GIR/GAR/INTP/CPLDR0/CPLDR1/CPLDR2/CPLDR3 返回第5章 中央处理器(
43、CPU)103A 5 h I N T=1转中断响应(A D h)A 4 h 1 9 h P C+1 P C ME MI R 1 4#A D D S UB 1 8 h 3 8 h 2 0 h 1 C h /MA P=0 2#P C A R I P 1 4#1 A h MU L /C C=/I N T 3#A D h P C A R I P /C C=/F S 3 3#1 9 h 5.5.3 微程序设计第5章 中央处理器(CPU)104以7条指令为例1)ADD、SUB、MOV(DR)+(SR)DR(DR)-(SR)DR(SR)DR15 109 8 7 4 3 0OP不用DRSR第5章 中央处理器(
44、CPU)1051Ch DR+SRDR/CC=0 3#A4h ADD 1Ch 20h DR-SRDR/CC=0 3#A4h SUB 24h SRDR/CC=0 3#A4h MOV 第5章 中央处理器(CPU)1062)JP CND15 109 87 43 0OPCND不用不用ADRJP CND功能:当条件满足时ADRPCCND测试条件码OP0=1 OP0=000CC=1转移 C=0转移01ZZ=1转移 Z=0转移10VV=1转移 V=0转移11SS=1转移 S=0转移第5章 中央处理器(CPU)107JP(双字)15 109 87 43 0OP不用不用不用ADRJP功能:ADRPC第5章 中央处
45、理器(CPU)10892h PCAR PC+1PC/CC=0 3#91h JP adr 91h MEMPC/CC=0 3#A4h 90h PCAR PC+1PC/CC=CND 3#A4h JP CND adr 第5章 中央处理器(CPU)1093)CALL(双字)15 109 87 43 0OP不用不用不用ADRCALL功能:(SP)-1SP,(PC)(SP),ADRPC第5章 中央处理器(CPU)1109 7 h C A L L a d r 9 5 h M E M Q 1 4#P C A R P C+1 P C 1 4#9 4 h 9 6 h S P-1 S P A R 1 4#P C M
46、E M /C C=0,Q P C 3#A 4 h 第5章 中央处理器(CPU)1114)乘法指令MUL15 09 87 43 0OP不用不用SR无符号乘(R1)*(SR)R0R1第5章 中央处理器(CPU)112R/C=0 R/C=0 C=0 3 D h R 1 Q 0 C 1 4#R 0|Q R 0|Q 右移 C y R A M3,Q 0 C 8#3 B h /C C=/C 3#3 E h 3 9 h 0 R 0 1 4#MU L 3 8 h 3 A h R 0|Q R 0|Q 右移 Q 0 C,/C C=0 4#0 F h 3 C h C=1 R 0+S R|Q R 0|Q 右移 C y
47、R A M3,Q 0 C 1 5#3 D h 3 E h Q R 1 /C C=0 3#A 4 h R/C 0 R/C 0 第5章 中央处理器(CPU)1135.6 硬布线控制器5.6.1 硬布线控制器与微程序控制器的比较5.6.2 硬布线控制器设计步骤5.6.3 硬布线控制器设计举例第5章 中央处理器(CPU)114逻辑网络硬布线控制器5.6.1 硬布线控制器与微程序控制器的比较第5章 中央处理器(CPU)115微程序控制器第5章 中央处理器(CPU)116n共同点基本功能都是依据当前正在执行的指令和它所处的执行步骤,形成并提供处在这一时刻整机各部件所需要的控制信号。组成部分都有程序计数器P
48、C,指令寄存器IR,时序电路。都分成几个执行步骤完成每一条指令的具体功能。第5章 中央处理器(CPU)117n不同点指令执行步骤的控制方法不同硬布线控制器是用节拍发生器指明指令执行步骤(机器周期、节拍、工作脉冲)微程序控制器是通过微指令地址的衔接区分指令执行步骤(微周期)提供微操作控制信号的方案不同硬布线控制器是用组合逻辑门电路直接提供控制计算机各功能部件协同运行所需的控制信号微程序控制器控制信号是以微程序的方式存放在控制存储器中,控制信号从控制存储器中读出,并经过一个微指令寄存器送到被控制部件。第5章 中央处理器(CPU)118硬布线控制器微程序控制器结构不规整、设计与实现复杂结构规整、设计
49、与实现简单不易修改和扩充可修改性,易于实现系列产品运行速度快运行速度慢特点比较第5章 中央处理器(CPU)1195.6.2 硬布线控制器设计步骤1)时序系统2)拟定指令流程(以机器周期为线索、以指令为线索)3)列出微操作时间表(电位型微命令、脉冲型微命令)4)综合分析,归纳出产生每个微命令的条件,写出每个微命令的逻辑表达式,并进行化简。5)实现电路第5章 中央处理器(CPU)1201)数据通路IAB 10-0 IDB7-0 判零线路 R0R3 I/O 接口 MM B3 B2 B1 ACT AC Z C ALU PC+1 IR1 IR2 CP C CP Z ODB7-0 OAB 10-0 5.6
50、.3 硬布线控制器设计举例第5章 中央处理器(CPU)1212)指令系统(15条)(单字节、双字节)指令助记符指令编码(IR1)7 6 5 4 3 2 1 0字节数功能ADD Ri,Rj0 0 0 Ri 0 Rj单(Rj)+(Ri)RiSUB Ri,Rj0 0 0 Ri 1 Rj单(Rj)-(Ri)RiAND Ri,Rj0 0 1 Ri 0 Rj单(Rj)(Ri)RiOR Ri,Rj0 0 1 Ri 1 Rj单(Rj)(Ri)RiINC Ri,Rj0 1 0 Ri 0 Rj单(Rj)+1RiSAL Ri,Rj0 1 0 Ri 1 Rj单(Rj)算术左移一位RiMOV Ri,Rj0 1 1 Ri