第10章控制单元设计2014_第1页
第10章控制单元设计2014_第2页
第10章控制单元设计2014_第3页
第10章控制单元设计2014_第4页
第10章控制单元设计2014_第5页
已阅读5页,还剩115页未读 继续免费阅读

下载本文档

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

文档简介

1、第十章第十章 控制单元设计控制单元设计2014年4月26日10.1 硬布线控制器(组合逻辑控制器)组合逻辑线路指令 译码 器节拍电位/脉冲发生器微操作控制信号指令寄存器IR结果反馈信息M1MiT1TkI1ImC1CnB1Bj启动/停止 时钟/复位10.1.1 硬布线控制器基本原理微操作控制信号的函数表达式: C=C=(I (ImmMMi iTTk kBBj j) ) 例:读主存信号C3 - (RD) 取指令在M1被激活 或LDA ADD AND M3 C3=MC3=M1 1+M+M3 3(LDA+ADD+ANDLDA+ADD+AND) C3=TC3=T2 2MM1 1+T+T1 1MM3 3(

2、LDA+ADD+ANDLDA+ADD+AND)硬布线控制器基本原理微操作控制信号的函数表达式: =immjkinIBTMC)(10.1.2 设计过程1、列出所有机器指令的流程图;2、确定指令周期的组成3、安排微操作的节拍,并建立指令系统的微操作清单4、列出指令的微操作序列表5、写出各微操作控制信号的布尔表达式; 化简各表达式; 6、利用电路或门阵列实现。 1、 实例机的指令系统指指 令令 符符功功 能能操作码操作码指令类型指令类型汇汇 编编 记记 忆忆 码码ADD加法加法0001 1地址指令地址指令ADD addressADD addressSUBTRACT减法减法0011 1地址指令地址指令

3、SUBTRACT addressSUBTRACT addressSTORE存储存储0101 1地址指令地址指令STORE addressSTORE addressLOAD读出读出0111 1地址指令地址指令LOAD addressLOAD addressBRANCH条件转移条件转移1001 1地址指令地址指令BRANCH addressBRANCH addressCALL转子转子1011 1地址指令地址指令CALL addressCALL addressCLEAR清累加器清累加器1110000地址指令地址指令CLEARCLEARRETURN子程序返回子程序返回1110010地址指令地址指令RE

4、TURNRETURNSHIFTR右移右移1111011 1地址指令地址指令SHIFTR counterSHIFTR counterSHIFTL左移左移1111101 1地址指令地址指令SHIFTL counterSHIFTL counter1 1五条指令的实现五条指令的实现指令流控制的实现指令流控制的实现时间不确定指令的实现时间不确定指令的实现组合逻辑控制器设计与实现 2、 指令周期的组成指令周期的组成CLKT0T1T2T3时钟周期时钟周期机器周期机器周期机器周期机器周期T0T1T2T3T0T1T2T3 3.3.微操作的节拍安排微操作的节拍安排采用采用 同步控制方式同步控制方式CPU CPU

5、内部结构采用非总线方式内部结构采用非总线方式一个一个 机器周期机器周期 内有内有 3 3 个节拍(时钟周期)个节拍(时钟周期)控制信号控制信号C C2 2 M M D D R RPCPC M M A A R RIRIRACACCUCU时钟时钟ALUALUC C1 1C C5 5C C9 9C C0 0C C1010C C3 3C C7 7C C4 4C C6 6C C1212C C1111C C8 8标志标志控制控制信号信号 (1). (1). 安排微操作时序的原则安排微操作时序的原则原则一原则一 微操作的微操作的 先后顺序不得先后顺序不得 随意随意 更改更改原则二原则二 被控对象不同被控对象

6、不同 的微操作的微操作 尽量安排在尽量安排在 一个节拍一个节拍 内完成内完成原则三原则三 占用占用 时间较短时间较短 的微操作的微操作 尽量尽量 安排在安排在 一个节拍一个节拍 内完成内完成 并允许有先后顺序并允许有先后顺序(2). (2). 取指周期取指周期 微操作的微操作的 节拍安排节拍安排PC MARPC MARM ( MAR ) MDRM ( MAR ) MDRMDR IRMDR IR( PC ) + 1 PC( PC ) + 1 PC原则二原则二原则二原则二原则三原则三(3). (3). 间址周期间址周期 微操作的微操作的 节拍安排节拍安排M ( MAR ) MDRM ( MAR )

7、 MDRMDR AdMDR Ad(IRIR)T T0 0T T1 1T T2 2T T0 0T T1 1T T2 21 R1 ROP ( IR ) IDOP ( IR ) IDAd ( IR ) MARAd ( IR ) MAR1 R1 R原则二原则二原则一原则一(4). (4). 执行周期执行周期 微操作的微操作的 节拍安排节拍安排 CLA COM SHRT0T1T2T0T1T2T0T1T2AC0 AC0L ( AC ) R ( AC )0 ACAC AC CSL STP ADD X STA XR ( AC ) L ( AC )AC0 ACnT0T1T20 GT0T1T2T0T1T2T0T1

8、T2Ad ( IR ) MARM ( MAR ) MDR ( AC ) + ( MDR ) ACAd ( IR ) MARAC MDRMDR M ( MAR )1 R1 W LDA X JMP X BAN XT0T1T2Ad ( IR ) MARM ( MAR ) MDRMDR ACT0T1T2T0T1T2Ad ( IR ) PC1 RA0 Ad ( IR ) + A0 PC PC(5). (5). 中断周期中断周期 微操作的微操作的 节拍安排节拍安排T0T1T20 MARPC MDRMDR M ( MAR )硬件关中断硬件关中断向量地址向量地址 PC中断隐指令完成中断隐指令完成1 W组合逻辑

9、设计步骤组合逻辑设计步骤4 4、列出操作时间表列出操作时间表T2T1T0 FE取指取指 JMPLDASTAADDCOMCLA微操作命令信号微操作命令信号状态状态条件条件节拍节拍工作工作周期周期标记标记PC MAR1 RM(MAR) MDR ( PC ) +1 PCMDR IROP( IR ) ID1 IND1 EXII1111111111111111111111111111111111111111111111组合逻辑设计步骤组合逻辑设计步骤列出操作时间表列出操作时间表T2 IND 间址间址T1T0JMPLDASTAADDCOMCLA微操作命令信号微操作命令信号状态状态条件条件节拍节拍工作工作周

10、期周期标记标记Ad (IR) MAR1 RM(MAR) MDR MDR Ad (IR)1 EXIND11111111111111111111组合逻辑设计步骤组合逻辑设计步骤列出操作时间表列出操作时间表T2T1T0 EX执行执行 JMPLDASTAADDCOMCLA微操作命令信号微操作命令信号状态状态条件条件节拍节拍工作工作周期周期标记标记Ad (IR) MAR1 RM(MAR) MDR AC MDR(AC)+(MDR) ACMDR M(MAR) MDR AC0 AC1 W11111111111115 5、 写出微操作命令的最简表达式写出微操作命令的最简表达式= FE T1 + IND T1 (

11、 ADD + STA + LDA + JMP + BAN ) + EX T1 ( ADD +LDA )M ( MAR ) MDR= T1 FE + IND ( ADD + STA + LDA + JMP + BAN ) + EX ( ADD +LDA ) 7 7、 画出逻辑图画出逻辑图 庞杂庞杂 调试困难调试困难 修改困难修改困难 速度快速度快(RISCRISC)特点特点 思路清晰思路清晰 简单明了简单明了M ( MAR) MDR&11&FEINDEXLDAADDJMPBANSTAT1&101.3 硬布线控制器特点o组成的网络复杂; o无规则; o设计和调试困难; o不

12、可改变指令系统和指令功能 o适用于VLSI o速度快 1.假设 CPU 在中断周期用堆栈保存程序断点,且进栈时栈指针减一,出栈时栈指针加一。试写出中断返回指令(中断服务程序的最后一条指令),在取指阶段和执行阶段所需的全部微操作命令及节拍安排。答: 组合逻辑设计的微操作命令: 取指: T0:PC MAR T1:MMAR MDR, PC+1 PC T2:MDR IR, OPIR 微操作形成部件 执行: T0:SP MAR T1:MMAR MDR T2:MDR PC, SP+1 SP 课堂练习与思考:课堂练习与思考:2.写出组合逻辑控制器完成 STA X ( X 为主存地址)指令发出的全部微操作命令

13、及节拍安排; T0 PCMAR 1R T1 M(MAR)MDR (PC)+1PC T2 MDRIR OP(IR)ID T0 Ad(IR)MAR 1W T1 ACCMDR T2 MDRM(MAR) 课堂练习与思考:课堂练习与思考:3数M在A寄存器中,数N在内存某单元内,请写出实现F=2M-N,并将结果保存在A寄存器的微操作序列,并加以注解(设加法器ADDER的两个输入来自A、B寄存器)。 答案:实现该功能的微操作序列如下:(1)P0:A2A; 2M送A寄存器(2)P1:BMBR; 取N送B寄存器(3)P2:ADDER非B,CIN1; 非N+1送加法器 P3:ADDERA,ADD;2M送加法器(4

14、)P4:AADDER; 2MN送A寄存器课堂练习与思考:课堂练习与思考:CU采用组合逻辑设计,因微操作控制信号全部由硬件产生,所以速度快,可用于构成高速的RISC机和巨型机。它的缺点:(1)逻辑实现复杂(2)不易扩展和修改。采用微程序设计方法可克服上述缺点。它是利用程序设计及存储逻辑的概念,称为微程序设计技术。它解决了设计的规整性问题,它将不规则的微操作命令变成了有规律的微程序,使控制单元的设计更科学合理。存储逻辑又解决了可修改问题,简化了控制器的设计任务,即不易出错成本又较低;缺点是操作速度比较低。10.2 微程序设计10.2.1 10.2.1 微程序设计思想的产生微程序设计思想的产生195

15、1 1951 英国剑桥大学教授英国剑桥大学教授 WilkesWilkes 完成完成一条机器指令一条机器指令微操作命令微操作命令 1 1微操作命令微操作命令 2 2微操作命令微操作命令 n n微指令微指令 1 11010000010100000微指令微指令 n n微程序微程序0001001000010010存储逻辑存储逻辑一条机器指令对应一个微程序一条机器指令对应一个微程序存入存入 ROMROMp微程序的基本思想微程序的基本思想假设一条指令假设一条指令OnTv :开电视机开电视机两个微操作:两个微操作:1 插上电源插头插上电源插头 2 按下电源开关按下电源开关2121CM1 00 1 组合组合逻

16、辑逻辑 微程序微程序微程序设计微程序设计将微操作用微指令表示,固化将微操作用微指令表示,固化在存储单元,编制对机器指令在存储单元,编制对机器指令进行取指、译码和执行的微指进行取指、译码和执行的微指令序列(微程序),执行该微令序列(微程序),执行该微程序,完成该机器指令的执行程序,完成该机器指令的执行OnTv1TOnTv2T微程序控制器的微程序控制器的基本思想基本思想 仿照程序设计的方法,编制每个指令对应的微程序 每个微程序由若干条微指令构成,各微指令包含若干条微命令 (一条微指令相当于一个状态,一个微命令就是状态中的控制信号) 所有指令对应的微程序放在只读存储器中,执行某条指令时,取出对应微程

17、序中的各条微指令,对微指令译码产生对应的微命令,这个微命令就是控制信号只读存储器称为控制存储器(Control Storage),简称控存p微程序设计的特点微程序设计的特点n具有规整性、可维性和灵活性,但速度慢具有规整性、可维性和灵活性,但速度慢 0 1 2 n-2 n-1 微微指指令令 PC复复位位 PC+1 IR送送PC 1、微程序控制概念o一条指令的处理包含许多微操作序列 o这些操作可以归结为信息传递、运算 o将这些操作所需要的控制信号以多条微指令表示 o执行一条微指令就给出一组微操作控制信号 o执行一条指令也就是执行一段由多条微指令组成的微程序 10.2.1 微程序控制的基本原理微程序

18、控制基本概念微命令微操作的控制信号控制部件通过控制线向执行部件发出的各种控制命令微操作执行部件接受微命令后所进行的最基本操作 相容微操作指在同时或同一个CPU时钟周期内并行执行的微操作 不相容(互斥)微操作指不能在同时或同一个CPU时钟周期内并行执行的微操作微程序控制器基本概念程序机器指令机器指令1机器指令机器指令2机器指令机器指令i机器指令机器指令n.微指令微指令2微指令微指令1微指令微指令i微指令微指令n.微程序 2、微指令基本格式1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

19、 LDLA LDR1 LDPC BUS IR(A) WE P2 下 址 L R0 LDLB LDR0 PC1 LDIR RD LDAR LDDR P1 顺序控制 L R1 L R2 bus L L bus bus BUS BUS bus BUS ALU BUS PC BUS DR DR(D) BUS 控制字段(微命令字段) (下地址字段) 1/01/01/01/0微指令格式 o操作控制字段 n操作控制字段直接给出多种微操作的控制信号 o顺序控制字段 n用于控制微程序的执行顺序 n包括判断逻辑字段和直接地址字段 n直接地址字段存放下一条微指令的地址 n判断逻辑非零,则按约定好的规则,根据状态修正

20、直接地址字段,从而得到下一条微指令的地址 NoImage控制字段测试字段下址字段 微指令周期 微取指令 微取指令 执行微指令 执行微指令 T1 T2 T3 T4 T1 T2 T3 T4 微指令周期 微指令周期 o取微指令周期 取指令周期? o控制存储器与主存差异?10.2.2 10.2.2 微程序控制单元及工作原理微程序控制单元及工作原理1. 1. 机器指令对应的微程序机器指令对应的微程序M+1M+1MMM+2M+2P+1P+1K KK+2K+2P PP+2P+2K+1K+1取指周期微程序取指周期微程序对应对应 LDA LDA 操作的微程序操作的微程序对应对应 STA STA 操作的微程序操作

21、的微程序间址周期微程序间址周期微程序中断周期微程序中断周期微程序2. 2. 工作原理工作原理控存控存M+1MM+2P+1QQ+2PP+2Q+1取指周期取指周期 微程序微程序对应对应 LDA 操操作的微程序作的微程序对应对应 ADD 操操作的微程序作的微程序Q+1Q+2MM+1M+2P+1P+2M对应对应 STORE 操操作的微程序作的微程序K+1K+2MKK+2K+1LDAD XADD YSTORE Z主存主存STP用户程序用户程序工作原理工作原理(1) (1) 取指阶段取指阶段M CMARCM ( CMAR ) CMDR由由 CMDR CMDR 发命令发命令形成下条微指令地址形成下条微指令地

22、址Ad (CMDR ) CMARCM (CMAR ) CMDR由由 CMDR CMDR 发命令发命令Ad (CMDR ) CMARCM (CMAR ) CMDR由由 CMDR CMDR 发命令发命令M + + 1M + + 2PC MAR1 RM ( MAR ) MDR( PC ) + + 1 PCMDR IR0 0 1 0 0 0 0M + + 21 0 0 0 0 1M+ +1M0 1 0 0 1 0M+ +2M + + 1形成下条微指令地址形成下条微指令地址执行取指微程序执行取指微程序(取指令微程序的第一条微指令的微地址取指令微程序的第一条微指令的微地址M)(2) (2) 执行阶段执行阶

23、段CM ( CMAR ) CMDR由由 CMDR CMDR 发命令发命令Ad (CMDR ) CMARCM (CMAR ) CMDR由由 CMDR CMDR 发命令发命令Ad (CMDR ) CMARCM (CMAR ) CMDR由由 CMDR CMDR 发命令发命令OP ( IR ) 微地址形成部件微地址形成部件 CMAR( P CMAR )Ad (CMDR ) CMARAd ( IR ) MAR1 RM ( MAR ) MDRMDR AC0 0 0 0 0 0 1 0P + + 2 M执行执行 LDA LDA 微程序微程序 形成下条微指令地址形成下条微指令地址 P + 1P + 1形成下条

24、微指令地址形成下条微指令地址 P + 2P + 2形成下条微指令地址形成下条微指令地址 M( M CMAR )0 1 0 0 0P+ +2P + + 10 0 0 1 0 0 1P+ +1P(3) 执行阶段执行阶段CM ( CMAR ) CMBR由由 CMBR 发命令发命令Ad (CMBR ) CMARCM (CMAR ) CMBR由由 CMBR 发命令发命令Ad (CMBR ) CMARCM (CMAR ) CMBR由由 CMBR 发命令发命令OP ( IR ) 微地址形成部件微地址形成部件 CMAR( Q CMAR )Ad (CMBR ) CMARAd ( IR ) MAR1 RM ( M

25、AR ) MBR0 0 0 0 0 0 0 1 0 0Q+2 Q+3执行执行 ADD微程序微程序 形成下条微指令地址形成下条微指令地址 Q + 1形成下条微指令地址形成下条微指令地址 Q + 2形成下条微指令地址形成下条微指令地址 N( N CMAR )0 1 0 0 0Q+2Q+10 0 0 1 0 0 1Q+1QADDALU ACC0 0 0 0 0 0 0 0 1 0Q+3 N形成下条微指令地址形成下条微指令地址 Q + 3Ad (CMBR ) CMARCM (CMAR ) CMBR由由 CMBR 发命令发命令(4) (4) 取指阶段取指阶段CM ( CMAR ) CMDR由由 CMDR

26、 CMDR 发命令发命令M CMAR PC MAR1 R1 0 0 0 0 1M+ +1M全部微指令存在全部微指令存在 CM CM 中,程序执行过程中中,程序执行过程中 只需读出只需读出关键关键 微指令的微指令的 操作控制字段如何形成微操作命令操作控制字段如何形成微操作命令 微指令的微指令的 后继地址如何形成后继地址如何形成执行取指微程序执行取指微程序2、微程序控制器组成原理框图 微地址微地址 形成部件形成部件顺序逻辑顺序逻辑CMAR地址译码地址译码控制存储器控制存储器标志标志CLK下一地址下一地址CMBROPIR操作控制操作控制顺序控制顺序控制微指令基本格式微指令基本格式3、取指令微程序o取

27、指令 o取指令的微指令(简称取指微指令)地址送AR,并自动启动控制存储器进行读操作,将读出的微指令送IR,执行微指令,读取指令到IR 4、执行指令微程序o执行指令: o根据IR中指令的功能,产生该指令微程序入口地址,微程序入口地址送入AR,读CS,读出的微指令送IR、(下址字段送AR), o控制字段的微命令控制完成一组微操作 o同时由微地址产生逻辑或微指令下址字段形成下条微指令地址,按取微指令,执行微指令过程重复执行完微程序实现指令的功能5、执行指令微程序 o采用微程序控制的计算机的工作过程是执行微指令序列的过程。 o微指令控制了取指令操作, o多条微指令实现了指令的功能。 o而微指令中的微命

28、令使执行部件完成微操作,计算机的工作过程是执行程序的过程,微观看,是执行指令的过程,再微观一点看,是执行部件进行微操作的过程 6、微程序存放示意图下址字段地址 1000XXXX0111XXXX0110XXXX0101XXXX0100XXXX0011XXXX0010XXXX0001XXXX0000操作控制字段 HALT64STA (R1) ,R0 63JO 7562ADD R0,(81)61LAD R0,(80)60控制存储器CM取指微指令加法微程序取数微程序存数微程序转移微程序0000000001100000000000110010主存储器 机器指令与微指令的关系o机器指令对应一个微程序,这个

29、微程序由若干微指令组成,一个微指令又包含多个微操作 o机器指令与内存储器有关,微指令与控制存储器有关 o每一个CPU周期对应一条微指令几个概念的对比 微命令 VS. 微操作构成控制信号序列的最小单位,由控制部件向执行部件发送,是微操作的控制信号执行部件接受微命令后进行的最基本的操作,是微命令控制的操作过程 实质是同一信号:对控制部件体现为微命令,对执行部件体现为微操作 机器指令 VS. 微指令提供给用户编程的基本单位,机器能完成的最基本操作,机器指令由微指令解释执行实现机器指令操作的一系列微命令的组合几个概念的对比 程序 VS. 微程序由机器指令构成。用户编制,存放在主存储器中,允许修改微程序

30、是微指令的有序集合,用于描述机器指令。计算机设计者编制,存放在控制存储器中,不允许用户修改 主存储器 VS. 控制存储器存放系统程序和用户程序,容量大 存放对应于机器指令系统的微程序,容量有限几个概念的对比 微程序控制 VS. 组合逻辑控制可调整、速度慢、实现复杂指令 不可调整、速度快、实现简单指令典型RISC处理器一般采用组合逻辑控制实现CISC处理器采用两种控制逻辑 常用的简单指令采用组合逻辑控制实现 不常用的复杂指令采用微程序控制实现CPU周期与微指令周期的关系微指令周期:读出微指令的时间加上指令该条微指令的时间。如:T1 T2 T3 T4 T1 T2 T3 T4执行微指令执行微指令 微

31、指令周期微指令周期CPU周期周期CPU周期周期 读微指令读微指令 在在T4T4节拍脉冲期间(节拍脉冲期间(200ns200ns): :取微指令;在取微指令;在T1T1的上升的上升沿:微指令已经取好,在沿:微指令已经取好,在T1T3T1T3期间(期间(600ns600ns):执行微操):执行微操作。所以:在一个作。所以:在一个CPUCPU周期内(周期内(800ns800ns):取址指令:占):取址指令:占1/4CPU1/4CPU周期;执行微指令:占周期;执行微指令:占3/4CPU3/4CPU周期。周期。 设:一个设:一个CPUCPU周期为周期为0.8s0.8s,它包含四个等间隔的节拍,它包含四个

32、等间隔的节拍脉冲脉冲T1T1T4T4,每个脉冲宽度为,每个脉冲宽度为200ns200ns。用。用T4T4作为读取微指令作为读取微指令的时间,用的时间,用T1+T2+T3T1+T2+T3时间作为执行微指令的时间。例如,在时间作为执行微指令的时间。例如,在前前600ns600ns时间内运算器进行运算,在时间内运算器进行运算,在600ns600ns时间的末尾运算器时间的末尾运算器已经运算完毕,可用已经运算完毕,可用T4T4上升沿将运算结果打入某个寄存器。上升沿将运算结果打入某个寄存器。与此同时可用与此同时可用T4T4间隔读取下条微指令,经间隔读取下条微指令,经200ns200ns时间延迟,时间延迟,

33、下条微指令又从只读存储器读出,并用下条微指令又从只读存储器读出,并用T1T1上升沿打入到微指上升沿打入到微指令寄存器。如忽略触发器的翻转延迟,那么下条微指令的微令寄存器。如忽略触发器的翻转延迟,那么下条微指令的微命令信号就从命令信号就从T1T1上升沿起就开始有效,直到下一条微指令读上升沿起就开始有效,直到下一条微指令读出后打入微指令寄存器为止。因此一条微指令的保持时间恰出后打入微指令寄存器为止。因此一条微指令的保持时间恰好是好是0.8s0.8s,也就是一个,也就是一个CPUCPU周期的时间。周期的时间。CPU周期周期CPU周期周期T1T2T3T40.8s0.8s200ns200ns10.2.2

34、 微指令设计o有利于缩短微指令字长度 o有利于减少控制存储器容量 o有利于提高微程序执行速度 o有利于对微指令进行修改 o有利于提高微程序设计的灵活性1、微命令编码o直接表示法 o编码表示法 o混合表示法直接表示方法o微指令中每一位代表一个微命令 o简单直观,便于输出控制, o字长太长,控制存储器容量大 .123456789 10 11 12 13 14 15 16 17 18 19 20 21 22 23操作控制顺序控制LDR1LDR2LDR3R1XR3YR2XR2YDRXR1Y+M-RDLDDRLDIRLDARPC+1P1 P2直接地址1/0 1/0 1/0 1/0 1/0 1/0 1/0

35、 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0NoImageNoImageNoImage编码表示方法o字段直接译码法 o字长短,控制存储器容量小,增加了译码电路 .123456789 10 11 12 13 14 15 16 17 18 19 20 21 22 23操作控制顺序控制直接地址译码.译码.译码.微命令P1 P2 Pn1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0NoI

36、mageNoImageNoImage混合表示法这种方法是把直接表示法与字段编码法混合使用,这种方法是把直接表示法与字段编码法混合使用,以便能综合考虑指令字长、灵活性、执行微程序速以便能综合考虑指令字长、灵活性、执行微程序速度等方面的要求。度等方面的要求。.123456789 10 11 12 13 14 15 16 17 18 19 20 21 22 23操作控制顺序控制直接地址译码.译码.译码.微命令微命令R1Y+M-RDLDDRLDIRLDAR直接表示编码表示1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/

37、0 1/0 1/0 1/0 1/0 1/0 1/03、微地址形成方法o计数器法 PC o下地址字段法微程序控制器设计技术计数器方式:计数器方式:设置一个微程序计数器设置一个微程序计数器 PCPC,在顺序执,在顺序执行微指令时,后继微指令地址由现行微地址行微指令时,后继微指令地址由现行微地址加上一个增量来实现。遇到转移时,由微指加上一个增量来实现。遇到转移时,由微指令给出转移微地址。令给出转移微地址。微程序控制器设计技术用计数器方式实现的微程序控制单元结构用计数器方式实现的微程序控制单元结构 OP 转移部分控制存储器控制存储器 PC 指令寄存器入口地址及转移地址产生器条件码 状态标志 微程序控制

38、器设计技术计数器方式的优点是微指令字较短,便于编计数器方式的优点是微指令字较短,便于编写微程序,后继微地址产生机构比较简单;写微程序,后继微地址产生机构比较简单;缺点缺点是执行速度低,原因是计数器方式不易是执行速度低,原因是计数器方式不易直接实现对应于各个测试条件的多路转移,直接实现对应于各个测试条件的多路转移,而微程序的主要特点是存在大量的分支。而微程序的主要特点是存在大量的分支。微程序控制器设计技术断定方式 (下址字段法)所谓断定方式是指后继微指令地址可由设计者指定或由设计者指定的测试判断字段控制生产。在这种方式中,当微程序不产生分支时,后继微指令地址直接由微指令的顺序控制字段给出;当微程

39、序出现分支时,按顺序控制字段给出的测试判别字段和状态条件来形成后继微地址。这种方式因为要在微指令格式中设置一个字段用来指明下一条要执行的微指令地址,所以也称为下址字段法。微程序控制器设计技术用断定方式实现的微程序控制单元结构用断定方式实现的微程序控制单元结构 指令寄存器IRPLA微地址修改逻辑微地址修改逻辑+控制存储器AR下址 IR 测试条件码状态标志微程序控制器设计技术OP OP 测试判别测试判别 下址下址 2400 下址01 按地址转移10 按Z 转移11 空如如:采用断定方式的微指令格式如下:采用断定方式的微指令格式如下:微地址微地址微命令微命令测试测试下址下址0000A00000100

40、01B0000100010C0101000011E1010100100D0000110101H0010000110L0010010111P0010011000I0010111001M0011101010F0011001011J0011011100G0000001101K0000001110N0011111111O0000004、微指令格式o水平型微指令(一次能并行多个微操作的指令) 控制字段判别测试字段下地址字段000原寄存器目的寄存器其他001左输入源编址 右输入源编址ALU010寄存器编址存储器编址读写其他011测试条件o垂直型微指令寄存器数据传送型运算控制型访问主存型条件转移型微程序控制

41、器设计技术水平型微指令:水平型微指令:一次能定义并执行多个并行操一次能定义并执行多个并行操作微命令的微指令,叫做水平型微指令。作微命令的微指令,叫做水平型微指令。基本特征:基本特征:微指令字较长微指令字较长一条微指令能控制数据通路中多个功能部件并行操作。一条微指令能控制数据通路中多个功能部件并行操作。微命令的编码简单,尽可能使微命令与控制门之间具有微命令的编码简单,尽可能使微命令与控制门之间具有直接对应关系。直接对应关系。格式如下格式如下:控控 制制 字字 段段判别测试字段判别测试字段下地址字段下地址字段垂直型微指令:垂直型微指令:在微指令中设置微操作码字在微指令中设置微操作码字段,采用为操作

42、码编译法,由操作码规定为微指段,采用为操作码编译法,由操作码规定为微指令的功能,在一条微指令中只有一、两个微操作令的功能,在一条微指令中只有一、两个微操作命令称为垂直型微指令。命令称为垂直型微指令。基本特征:基本特征:微指令字短。微指令字短。微指令的并行操作能力有限,一条微指令只能控制数微指令的并行操作能力有限,一条微指令只能控制数据通路中的一、两个信息传送。据通路中的一、两个信息传送。微指令编码比较复杂,全部微命令组成一个微操作码微指令编码比较复杂,全部微命令组成一个微操作码字段,经过完全译码,微指令的各个二进制位与数据字段,经过完全译码,微指令的各个二进制位与数据通路的各个控制点之间完全不

43、存在直接对应关系。通路的各个控制点之间完全不存在直接对应关系。5、水平型与垂直型微指令比较o水平型微指令并行操作能力强,效率高,灵活性强 o水平型微指令执行一条指令的时间短 o由水平型微指令编的微程序微指令字较长,微程序短,垂直型的字长短,微程序长。 o水平型不便于用户掌握,垂直型与指令相似,易于掌握。微程序控制器特点o设计规整,设计效率高 o易于修改、扩展指令系统功能; o结构规整、简洁,可靠性高; o速度慢 n访存频繁 o执行效率不高 o用于速度要求不高、功能较复杂的机器中。 n特别适用于系列机 NoImageNoImageNoImage硬布线与微程序控制器比较o硬布线控制器执行速度快 n

44、微程序控制器每条微指令都需要从控制存储器中读取一次,大大影响了速度,硬布线控制取决于电路延迟。 o硬布线控制器设计复杂,代价昂贵 o微程序控制器设计简单,便于维护修改 ( (例)某机有例)某机有8 8条微指令条微指令I1-I8I1-I8,每条微指令所包含的微命令控制,每条微指令所包含的微命令控制信号如下表所示。信号如下表所示。 a- ja- j分别对应分别对应1010种不同性质的微命令信号。假设一条微指令的种不同性质的微命令信号。假设一条微指令的控制字段为控制字段为8 8位,请安排微指令的控制字段格式。位,请安排微指令的控制字段格式。 微指令微指令ABCDEFGHIJI1I2I3I4I5I6I

45、7I8解:因为位要对应10种不同的信号,所以要将原来10种信号中不冲突的信号合在一起,用不同的二进制数来表示不同的状态。分析发现E,H和B,I,J对于任何一条微指令,都是相斥性微操作,即不可能在同一个CPU周期中同时发生这些操作,因此可分别组成两个小组或两个字段,然后进行译码产生这六个微命令信号。剩下的a, c, d, g 四个微命令信号可进行直接控制,所以分别用二位二进制数可以表示,如下:01:E,10:F,11:H;01:B,10:I,11:J。微指令的控制字段格式:GDCA#*编码表示编码表示编码表示编码表示直接表示直接表示其整个微指令控制字段组成如下: 译码译码070605040302

46、0100efhbijacdg00: -01:e10:f11:h00: -01:b10:i11:je. f. h(b. i. j)e. f. h(b. i. j)微命令均无效微命令均无效10.3 微程序控制器单元设计举例设计一个微程序控制器,主要用微程序设计的方法来设计其微操作序列形成部件。一般可归纳为下列四个步骤:拟定各条机器指令的操作流程图,写出其微操作序列;根据全机的微操作序列选用微指令的编码设计方案;根据各条机器指令的功能编制出相应的微程序;把已编好调试好的微程序写入一个可高速读出的只读存储器中。我们还是以前模型机的千条指令为例,来说明微程序控制器的设计过程。指令指令节拍节拍ADDCLE

47、ARSUBTRACTSTORELOADIFT0 MARPC, IFT1 IR MBR , R0 IFT2 PCPC+1 IFT3 IF0, EX1 EXT0MARIR, R1 MARIR, R1MARIR,W1, MBRAC EXT1R0 R0W0 EXT2ALUAC+MBRALUACC-MDR EXT3EXT3 EX0, IF 1 ACALUAC0ACALU 表表4.13 4.13 五条指令的控制流五条指令的控制流l确定微指令的结构指令控制流R1MARIR, R1R0ACMBR微程序控制器中没有节微程序控制器中没有节拍问题,只有微指令的拍问题,只有微指令的执行顺序问题执行顺序问题微命令微命令

48、控制信号位控制信号位含义含义AC01累加器清零累加器清零ACALU2运算器结果送累加器运算器结果送累加器ALUAC+MBR3将累加器和缓冲寄存器送运算器,启动加将累加器和缓冲寄存器送运算器,启动加ALUAC-MBR4将累加器和缓冲寄存器送运算器,启动减将累加器和缓冲寄存器送运算器,启动减EX05清除执行标志清除执行标志EX16设置执行标志设置执行标志IF07清除取指令标志清除取指令标志IF18设置取指令标志设置取指令标志IRMBR9存储缓冲寄存器送指令寄存器存储缓冲寄存器送指令寄存器MARIR10指令寄存器送存储缓冲寄存器指令寄存器送存储缓冲寄存器MARPC11程序计数器送存储缓冲寄存器程序计

49、数器送存储缓冲寄存器MDRAC12累加器送存储缓冲寄存器累加器送存储缓冲寄存器PCIR13指令寄存器送程序计数器指令寄存器送程序计数器PCPC+114程序计数器加程序计数器加1R015清除读存储器标志清除读存储器标志R116设置读存储器标志设置读存储器标志W017清除写存储器标志清除写存储器标志W118设置写存储器标志设置写存储器标志 确定微指令的结构确定微指令的结构微命令清单(微命令清单(1 1)微命令微命令控制信号位控制信号位含义含义FCMAR019FCMAR清零清零FCMARCM( )20微地址码送微地址码送FCMARFCMARFCMAR +MAP(IR)21根据指令对根据指令对FCMA

50、R进行进行微地址码变换微地址码变换 确定微指令的结构确定微指令的结构微命令清单(微命令清单(2 2)注:注:FCMAR-控存地址缓冲寄存器控存地址缓冲寄存器2 2、确定微指令的结构、确定微指令的结构微指令格式(微指令格式(1)(1) 微指令的编码方式微指令的编码方式(2) 后继微指令的地址形成方式后继微指令的地址形成方式 采用直接控制编码采用直接控制编码 由机器指令的操作码通过微地址形成部件产生由机器指令的操作码通过微地址形成部件产生 由微指令的下地址字段直接给出由微指令的下地址字段直接给出(3) 微指令字长微指令字长 确定确定 操作控制字段操作控制字段由由 21 个微操作个微操作 取取 26

51、 位位 确定微指令的确定微指令的 下地址字段下地址字段由由 40 条微指令条微指令 取取6 位位微指令字长微指令字长 可取可取 26 6 32 位位2、确定微指令的结构微指令格式(2)1 2 3 2 5 2 6 2 7 3 1 3 2 控控制制信信号号字字段段 微微地地址址码码字字段段 3、微程序设计和微代码表表4.13 五条指令的控制流五条指令的控制流 IFT0R1 IFT1IR MBR, R0 IFT2 PCPC+1 IFT3 IF0, EX1 指令指令节拍节拍ADDCLEARSUBTRACTSTORELOADEXT0MARIR, R1 MARIR, R1W1,MARIR, MBRAC E

52、XT1R0 R0W0 EXT2ALUAC+MBRALUAC-MBR EXT3EXT3 EX0, IF 1 ACALUAC0ACALU 取取指指令令MARPC MARIR, R1ACMBRR0 取指令阶段取指令阶段公共部分公共部分微微程序程序控存控存地址地址控制信号(微命令)控制信号(微命令)微地微地址码址码说明说明0M A R P C , R 1 ,FCMARCM(27.32)1 1IR MBR,R0,FCMARCM(27.32)2 2PCPC+1,FCMARCM(27.32)3 3IF0,EX1, FCMARFCMAR+MAP(IR) 按按MAP(IR),转,转4-9行行4FCMARCM(2

53、7.32)15转向转向ADD5FCMARCM(27.32)19转向转向CLEAR6FCMARCM(27.32)20转向转向SUBTRACT7FCMARCM(27.32)24转向转向STORE8FCMARCM(27.32)27转向转向LOAD9(从此到(从此到14号单元空闲,备新指号单元空闲,备新指令使用)令使用) 15MARIR, R1,FCMARCM(27.32)16ADD指令指令16R0,FCMARCM(27.32)17 17ALUAC+MBR,FCMARCM(27.32)18 18EX0,IF1,ACALU,FCMARCM(27.32)0返回返回19EX0,IF1,AC0,FCMARCM

54、(27.32)0CLEAR指令,执行后返回指令,执行后返回20MARIR, R1,FCMARCM(27.32)21SUBTRACT指令指令21R0,FCMARCM(27.32)22 22ALUAC-MBR,FCMARCM(27.32)23 23EX0,IF1,ACALU,FCMAR00返回返回24MARIR,W1, MBRACFCMARCM(27.32)25STORE指令指令25W0, FCMARCM(27.32)2626EX0,IF1,FCMAR00返回返回 控控制制信信号号矩矩阵阵 微微地地址址码码 控控存存 0 1 2 3 地地址址 1 2 3 4 5 6 7 8 9 0 1 2 3 4

55、 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 20 0 1 1 1 1 1 1 1 1 2 1 1 1 1 3 1 1 1 4 1 1 1 1 1 5 1 1 1 1 6 1 1 1 7 1 1 1 8 1 1 1 1 1图五条指令的微程序码点图图五条指令的微程序码点图微程序控制器的实现 FCMAR MAP(IR) 指指令令寄寄存存器器 IR 控控制制信信号号 微微地地址址码码 FCMAR0 FCMARCM() FCMARFCMAR+MAP(IR) 控控制制存存储储器器 CM 实例计算机的微程序实现图图 采用微程序控制的实例计算机的控制系统方框图采用微程序控制的实例计算

56、机的控制系统方框图4微程序装入控制存储器当上表所示的微程序编好之后,经检测、调试无误后,即可写入高速读出的只读存储器ROM中,得到所需的微程序控制器。为了使读者对微程序控制器有较深刻的理解,下图画出了模型机微程序控制器简框图。图中打圆点的地方,表示有微操作命令输出。即表示该微地址被选中后与信号输出线上跨接上一个导通的二极管。其工作过程与表所示微程序一一对应。地地址址译译码码器器CMARFCMAR指令寄存器指令寄存器 IR 条件码条件码传送控制传送控制时钟信号时钟信号S控制存储器控制存储器CMCM控制信号字段控制信号字段 微地址码字段微地址码字段微指令寄存器微指令寄存器uIR微操作控制信号微操作

57、控制信号24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 00001020304050607080910111213141516171819微微 操操 作作 控控 制制 信信 号号下地址下地址控制存储器控制存储器CM10.4 典型CPU- 奔腾CPU结构框图结构框图 总线接口部件64位数据总线32位地址总线控制分页部件64位数据总线32位地址总线分支目标缓冲器BTBTLB代码Cache 8KB预取缓冲存储器指令译码部件控 制 部 件控制ROM预取地址地址生成(U流水线)地址生成(V流水线)整数寄存器组ALU(U流水线)

58、ALU(V流水线)桶形移位器数据Cache8KBTLB乘法器除法器控制寄存器组加法器浮点部件FPU256位32位32位32位32位32位32位80位80位分支监测和目标地址指令指针BIUMMUEUPentium微处理器体系结构微处理器体系结构1. 1.奔腾奔腾CPUCPU的结构框图的结构框图(1)超标量流水线 超标量流水线是pentium系统结构的核心。它由U和V两条指令流水线构成,每条流水线都有自已的ALU、地址生成电路、与数据cache的接口。两个指令预取缓冲器,每个都是32字节,负责由指令cache或主存取指令并放入其中。(2)指令cache和数据cache 奔腾CPU则分设指令cach

59、e和数据cache,各8KB。指令cache是只读的,以单端口256位(32B)向指令预取缓冲器提供超长指令字代码。数据cache是可读可写的,双端口,(3)浮点运算部件奔腾CPU内部包含了一个8段的流水浮点运算器。(4)动态转移预测技术执行转移指令时为了不使流水线断流, 2.Pentium的技术性能Pentium是Intel公司生产的超标量流水处理器,CPU内部的主要寄存器宽度为32位,故认为它是一个32位微处理器。但它通向存储器的外部数据总线宽度为64位,每次总线操作可以同时传输8个字节。 Pentium具有非固定长度的指令格式,9种寻址方式,191条指令,但是在每个时钟周期又能执行两条指

60、令(超标量流水线)。因此它具有CISC和RlSC两者的特性,不过具有的CISC特性更多一些,因此被看成为一个CISC结构的处理器。以CISC结构实现超标量流水线,并有BTB(转移目标缓冲器)方式的转移预测能力,堪称为当代CISC机器的经典之作。 主要技术主要技术1 超标量流水线,由U、V两条指令流水线构成;2 独立指令Cache和数据Cache,采用2路组相联结构;3 流水浮点运算部件,采用8段子过程结构。前4段为指令预取(PF)、指令译码(DI)、地址生成(D2)、取操作数(EX),在U、V流水线中完成;后4段为执行1(X1)、执行2(X2)、结果写回寄存器对(WF)、错误报告(ER),在浮点运算部件中完成;4

温馨提示

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

评论

0/150

提交评论