版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十章控制单元设计计算机组成原理2014年4月26日10.1硬布线控制器(组合逻辑控制器)组合逻辑线路指令译码器节拍电位/脉冲发生器微操作控制信号指令寄存器IR结果反馈信息M1MiT1TkI1ImC1CnB1Bj启动/停止时钟/复位10.1.1硬布线控制器基本原理微操作控制信号的函数表达式:
C=ƒ(Im·Mi·Tk·Bj)
例:读主存信号C3------
(RD)
取指令在M1被激活或LDAADDANDM3
C3=M1+M3(LDA+ADD+AND)
C3=T2M1+T1M3(LDA+ADD+AND)硬布线控制器基本原理微操作控制信号的函数表达式:
åå···=immjkinIBTMC)(10.1.2设计过程1、列出所有机器指令的流程图;2、确定指令周期的组成3、安排微操作的节拍,并建立指令系统的微操作清单4、列出指令的微操作序列表5、写出各微操作控制信号的布尔表达式;化简各表达式;6、利用电路或门阵列实现。1、实例机的指令系统指令符功能操作码指令类型汇编记忆码ADD加法0001地址指令ADDaddressSUBTRACT减法0011地址指令SUBTRACTaddressSTORE存储0101地址指令STOREaddressLOAD读出0111地址指令LOADaddressBRANCH条件转移1001地址指令BRANCHaddressCALL转子1011地址指令CALLaddressCLEAR清累加器1110000地址指令CLEARRETURN子程序返回1110010地址指令RETURNSHIFTR右移1111011地址指令SHIFTRcounterSHIFTL左移1111101地址指令SHIFTLcounter1五条指令的实现指令流控制的实现时间不确定指令的实现组合逻辑控制器设计与实现
2、指令周期的组成CLKT0T1T2T3时钟周期机器周期机器周期T0T1T2T3T0T1T2T3
3.微操作的节拍安排采用
同步控制方式CPU内部结构采用非总线方式一个
机器周期
内有
3
个节拍(时钟周期)控制信号C2
MDRPC
MARIRACCU时钟ALU………C1C5C9C0C10C3C7C4C6C12C11C8标志控制信号
(1).安排微操作时序的原则原则一微操作的先后顺序不得随意更改原则二被控对象不同的微操作尽量安排在一个节拍内完成原则三占用时间较短的微操作尽量安排在一个节拍内完成并允许有先后顺序(2).取指周期微操作的节拍安排PCMARM(MAR)MDRMDRIR(PC)+1PC原则二原则二原则三(3).间址周期微操作的节拍安排M(MAR)MDRMDRAd(IR)T0T1T2T0T1T21ROP(IR)IDAd(IR)MAR1R原则二原则一(4).执行周期微操作的节拍安排①CLA②COM
③SHRT0T1T2T0T1T2T0T1T2AC0AC0L(AC)R(AC)0ACACAC④CSL⑤STP⑥ADDX⑦STAXR(AC)L(AC)AC0
ACnT0T1T20GT0T1T2T0T1T2T0T1T2Ad(IR)MARM(MAR)MDR(AC)+(MDR)ACAd(IR)MARACMDRMDRM(MAR)1R1W⑧LDAX⑨JMPX⑩BANXT0T1T2Ad(IR)MARM(MAR)MDRMDRACT0T1T2T0T1T2Ad(IR)PC1RA0•Ad(IR)+A0•
PCPC(5).中断周期微操作的节拍安排T0T1T20MARPCMDRMDRM(MAR)硬件关中断向量地址
PC中断隐指令完成1W组合逻辑设计步骤4、列出操作时间表T2T1T0
FE取指JMPLDASTAADDCOMCLA微操作命令信号状态条件节拍工作周期标记PCMAR1RM(MAR)MDR(PC)+1PCMDRIROP(IR)ID1IND1EXII1111111111111111111111111111111111111111111111组合逻辑设计步骤列出操作时间表T2
IND
间址T1T0JMPLDASTAADDCOMCLA微操作命令信号状态条件节拍工作周期标记Ad(IR)MAR1RM(MAR)MDRMDRAd(IR)1EXIND11111111111111111111组合逻辑设计步骤列出操作时间表T2T1T0
EX执行JMPLDASTAADDCOMCLA微操作命令信号状态条件节拍工作周期标记Ad(IR)MAR1RM(MAR)MDRACMDR(AC)+(MDR)ACMDRM(MAR)MDRAC0AC1W11111111111115、写出微操作命令的最简表达式=FE·T1+IND·T1(ADD+STA+LDA+JMP+BAN)+EX·T1(ADD+LDA)M(MAR)MDR=T1{FE+
IND(ADD+STA+LDA+JMP+BAN)+EX(ADD+LDA)}7、画出逻辑图
庞杂调试困难修改困难
速度快(RISC)特点
思路清晰简单明了M(MAR)MDR&&&11&&&&&≥FEINDEXLDAADDJMPBANSTAT1&&101.3硬布线控制器特点组成的网络复杂;无规则;设计和调试困难;不可改变指令系统和指令功能适用于VLSI速度快1.假设CPU在中断周期用堆栈保存程序断点,且进栈时栈指针减一,出栈时栈指针加一。试写出中断返回指令(中断服务程序的最后一条指令),在取指阶段和执行阶段所需的全部微操作命令及节拍安排。答:组合逻辑设计的微操作命令:取指:
T0:PC→MART1:M[MAR]→MDR,PC+1→PCT2:MDR→IR,OP[IR]→微操作形成部件执行:T0:SP→MART1:M[MAR]→MDRT2:MDR→PC,SP+1→SP
课堂练习与思考:2.写出组合逻辑控制器完成STAX
(
X
为主存地址)指令发出的全部微操作命令及节拍安排;
T0PC→MAR1→RT1M(MAR)→MDR(PC)+1→PCT2MDR→IROP(IR)→ID
T0Ad(IR)→MAR
1→WT1ACC→MDR
T2MDR→M(MAR)
课堂练习与思考:3.数M在A寄存器中,数N在内存某单元内,请写出实现F=2M-N,并将结果保存在A寄存器的微操作序列,并加以注解(设加法器ADDER的两个输入来自A、B寄存器)。
答案:实现该功能的微操作序列如下:(1)P0:A←2A;2M送A寄存器(2)P1:B←MBR;取N送B寄存器(3)P2:ADDER←非B,CIN←1;非N+1送加法器
P3:ADDER←A,ADD;2M送加法器(4)P4:A←ADDER;
2M–N送A寄存器课堂练习与思考:CU采用组合逻辑设计,因微操作控制信号全部由硬件产生,所以速度快,可用于构成高速的RISC机和巨型机。它的缺点:(1)逻辑实现复杂(2)不易扩展和修改。采用微程序设计方法可克服上述缺点。它是利用程序设计及存储逻辑的概念,称为微程序设计技术。它解决了设计的规整性问题,它将不规则的微操作命令变成了有规律的微程序,使控制单元的设计更科学合理。存储逻辑又解决了可修改问题,简化了控制器的设计任务,即不易出错成本又较低;缺点是操作速度比较低。10.2微程序设计10.2.1微程序设计思想的产生1951英国剑桥大学教授
Wilkes完成一条机器指令微操作命令
1微操作命令
2微操作命令
n……微指令
110100000微指令n微程序00010010存储逻辑一条机器指令对应一个微程序……存入
ROM微程序的基本思想假设一条指令OnTv
:开电视机两个微操作:1插上电源插头2按下电源开关2121CM1001组合逻辑微程序微程序设计将微操作用微指令表示,固化在存储单元,编制对机器指令进行取指、译码和执行的微指令序列(微程序),执行该微程序,完成该机器指令的执行OnTv1TOnTv2T微程序控制器的基本思想
仿照程序设计的方法,编制每个指令对应的微程序每个微程序由若干条微指令构成,各微指令包含若干条微命令
(一条微指令相当于一个状态,一个微命令就是状态中的控制信号)
所有指令对应的微程序放在只读存储器中,执行某条指令时,取出对应微程序中的各条微指令,对微指令译码产生对应的微命令,这个微命令就是控制信号只读存储器称为控制存储器(ControlStorage),简称控存微程序设计的特点具有规整性、可维性和灵活性,但速度慢1、微程序控制概念一条指令的处理包含许多微操作序列这些操作可以归结为信息传递、运算将这些操作所需要的控制信号以多条微指令表示执行一条微指令就给出一组微操作控制信号执行一条指令也就是执行一段由多条微指令组成的微程序10.2.1微程序控制的基本原理微程序控制基本概念微命令微操作的控制信号控制部件通过控制线向执行部件发出的各种控制命令微操作执行部件接受微命令后所进行的最基本操作相容微操作指在同时或同一个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
LDLA
LDR1
+
LDPC
BUS
↑
IR(A)
WE¢
P2
下
址
L
↑
R0
LDLB
LDR0
PC+1
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微指令格式…
操作控制字段操作控制字段直接给出多种微操作的控制信号顺序控制字段用于控制微程序的执行顺序包括判断逻辑字段和直接地址字段
直接地址字段存放下一条微指令的地址判断逻辑非零,则按约定好的规则,根据状态修正直接地址字段,从而得到下一条微指令的地址
控制字段测试字段下址字段
微指令周期取微指令周期
取指令周期?控制存储器与主存差异?10.2.2微程序控制单元及工作原理1.机器指令对应的微程序M+1MM+2P+1KK+2PP+2K+1…取指周期微程序对应LDA操作的微程序对应STA操作的微程序间址周期微程序中断周期微程序2.工作原理控存M+1MM+2P+1QQ+2PP+2Q+1…取指周期
微程序对应
LDA
操作的微程序对应
ADD
操作的微程序Q+1Q+2MM+1M+2P+1P+2M………对应STORE
操作的微程序K+1K+2MKK+2K+1LDADXADDYSTOREZ主存STP用户程序工作原理(1)取指阶段MCMARCM(CMAR)CMDR由CMDR发命令形成下条微指令地址Ad(CMDR)CMARCM(CMAR)CMDR由CMDR发命令Ad(CMDR)CMARCM(CMAR)CMDR由CMDR发命令M+1M+2PCMAR1RM(MAR)MDR(PC)+1PCMDRIR0010000M+2…100001M+1M…010010M+2M+1…形成下条微指令地址执行取指微程序(取指令微程序的第一条微指令的微地址M)(2)执行阶段CM(CMAR)CMDR由CMDR发命令Ad(CMDR)CMARCM(CMAR)CMDR由CMDR发命令Ad(CMDR)CMARCM(CMAR)CMDR由CMDR发命令OP(IR)微地址形成部件
CMAR(PCMAR)Ad(CMDR)CMARAd(IR)MAR1RM(MAR)MDRMDRAC00000010P+2
…M执行LDA微程序
形成下条微指令地址P+1形成下条微指令地址P+2形成下条微指令地址
M(MCMAR)01
000P+2P+1…0001
00
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)MAR1RM(MAR)MBR0000000…10…0Q+2
Q+3执行ADD微程序
形成下条微指令地址Q+1形成下条微指令地址Q+2形成下条微指令地址N(N
CMAR)01000Q+2Q+1…0001001Q+1Q…ADDALUACC0000000…01…0Q+3
N形成下条微指令地址Q+3Ad(CMBR)CMARCM(CMAR)CMBR由CMBR发命令(4)取指阶段CM(CMAR)CMDR由CMDR发命令MCMARPCMAR1R100001M+1M全部微指令存在CM中,程序执行过程中只需读出关键
微指令的操作控制字段如何形成微操作命令
微指令的后继地址如何形成执行取指微程序……2、微程序控制器组成原理框图
微地址形成部件顺序逻辑CMAR地址译码控制存储器标志CLK下一地址CMBROPIR操作控制顺序控制微指令基本格式3、取指令微程序取指令取指令的微指令(简称取指微指令)地址送μAR,并自动启动控制存储器进行读操作,将读出的微指令送
IR,执行微指令,读取指令到IR4、执行指令微程序执行指令:根据IR中指令的功能,产生该指令微程序入口地址,微程序入口地址送入
AR,读CS,读出的微指令送
IR、(下址字段送
AR),控制字段的微命令控制完成一组微操作同时由微地址产生逻辑或微指令下址字段形成下条微指令地址,按取微指令,执行微指令过程重复执行完微程序实现指令的功能5、执行指令微程序…
采用微程序控制的计算机的工作过程是执行微指令序列的过程。微指令控制了取指令操作,多条微指令实现了指令的功能。而微指令中的微命令使执行部件完成微操作,计算机的工作过程是执行程序的过程,微观看,是执行指令的过程,再微观一点看,是执行部件进行微操作的过程
6、微程序存放示意图下址字段地址…
…
1000XXXX0111XXXX0110XXXX0101XXXX0100XXXX0011XXXX0010XXXX0001XXXX0000操作控制字段…
HALT64STA(R1),R0
63JO7562ADDR0,(81)61LADR0,(80)60控制存储器CM取指微指令加法微程序取数微程序存数微程序转移微程序0000000001100000000000110010主存储器
机器指令与微指令的关系机器指令对应一个微程序,这个微程序由若干微指令组成,一个微指令又包含多个微操作机器指令与内存储器有关,微指令与控制存储器有关每一个CPU周期对应一条微指令几个概念的对比微命令 VS.
微操作构成控制信号序列的最小单位,由控制部件向执行部件发送,是微操作的控制信号执行部件接受微命令后进行的最基本的操作,是微命令控制的操作过程实质是同一信号:对控制部件体现为微命令,对执行部件体现为微操作机器指令VS.
微指令提供给用户编程的基本单位,机器能完成的最基本操作,机器指令由微指令解释执行实现机器指令操作的一系列微命令的组合几个概念的对比程序VS.
微程序由机器指令构成。用户编制,存放在主存储器中,允许修改微程序是微指令的有序集合,用于描述机器指令。计算机设计者编制,存放在控制存储器中,不允许用户修改主存储器VS.
控制存储器存放系统程序和用户程序,容量大存放对应于机器指令系统的微程序,容量有限几个概念的对比微程序控制VS.
组合逻辑控制可调整、速度慢、实现复杂指令不可调整、速度快、实现简单指令典型RISC处理器一般采用组合逻辑控制实现CISC处理器采用两种控制逻辑常用的简单指令采用组合逻辑控制实现不常用的复杂指令采用微程序控制实现CPU周期与微指令周期的关系微指令周期:读出微指令的时间加上指令该条微指令的时间。如:T1T2T3T4T1T2T3T4执行微指令
微指令周期CPU周期CPU周期
读微指令
在T4节拍脉冲期间(200ns):取微指令;在T1的上升沿:微指令已经取好,在T1—T3期间(600ns):执行微操作。所以:在一个CPU周期内(800ns):取址指令:占1/4CPU周期;执行微指令:占3/4CPU周期。
设:一个CPU周期为0.8μs,它包含四个等间隔的节拍脉冲T1~T4,每个脉冲宽度为200ns。用T4作为读取微指令的时间,用T1+T2+T3时间作为执行微指令的时间。例如,在前600ns时间内运算器进行运算,在600ns时间的末尾运算器已经运算完毕,可用T4上升沿将运算结果打入某个寄存器。与此同时可用T4间隔读取下条微指令,经200ns时间延迟,下条微指令又从只读存储器读出,并用T1上升沿打入到微指令寄存器。如忽略触发器的翻转延迟,那么下条微指令的微命令信号就从T1上升沿起就开始有效,直到下一条微指令读出后打入微指令寄存器为止。因此一条微指令的保持时间恰好是0.8μs,也就是一个CPU周期的时间。CPU周期CPU周期T1T2T3T40.8μs200ns10.2.2微指令设计有利于缩短微指令字长度有利于减少控制存储器容量有利于提高微程序执行速度有利于对微指令进行修改有利于提高微程序设计的灵活性1、微命令编码直接表示法编码表示法混合表示法⑴直接表示方法微指令中每一位代表一个微命令简单直观,便于输出控制,字长太长,控制存储器容量大
.1234567891011121314151617181920212223操作控制顺序控制LDR1LDR2LDR3R1→XR3→YR2→XR2→YDR→XR1→Y+M-RDLDDRLDIRLDARPC+1P1P2直接地址1/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/0⑵编码表示方法字段直接译码法字长短,控制存储器容量小,增加了译码电路
.1234567891011121314151617181920212223操作控制顺序控制直接地址译码.译码.译码.微命令P1P2Pn1/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/0⑶混合表示法这种方法是把直接表示法与字段编码法混合使用,以便能综合考虑指令字长、灵活性、执行微程序速度等方面的要求。.1234567891011121314151617181920212223操作控制顺序控制直接地址译码.译码.译码.微命令微命令R1→Y+M-RDLDDRLDIRLDAR直接表示编码表示1/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/01/03、微地址形成方法计数器法
PC
下地址字段法微程序控制器——设计技术⑴计数器方式:设置一个微程序计数器μ
PC,在顺序执行微指令时,后继微指令地址由现行微地址加上一个增量来实现。遇到转移时,由微指令给出转移微地址。微程序控制器——设计技术用计数器方式实现的微程序控制单元结构μOP转移部分控制存储器μPC
指令寄存器入口地址及转移地址产生器条件码
状态标志
微程序控制器——设计技术计数器方式的优点是微指令字较短,便于编写微程序,后继微地址产生机构比较简单;缺点是执行速度低,原因是计数器方式不易直接实现对应于各个测试条件的多路转移,而微程序的主要特点是存在大量的分支。微程序控制器——设计技术⑵断定方式(下址字段法)所谓断定方式是指后继微指令地址可由设计者指定或由设计者指定的测试判断字段控制生产。在这种方式中,当微程序不产生分支时,后继微指令地址直接由微指令的顺序控制字段给出;当微程序出现分支时,按顺序控制字段给出的测试判别字段和状态条件来形成后继微地址。这种方式因为要在微指令格式中设置一个字段用来指明下一条要执行的微指令地址,所以也称为下址字段法。微程序控制器——设计技术用断定方式实现的微程序控制单元结构指令寄存器IRPLA微地址修改逻辑+控制存储器μAR下址μIR测试条件码状态标志微程序控制器——设计技术μOP测试判别下址2400下址01按地址转移10按Z转移11空如:采用断定方式的微指令格式如下:微地址微命令测试下址0000A0000010001B0000100010C0101000011E1010100100D0000110101H0010000110L0010010111P0010011000I0010111001M0011101010F0011001011J0011011100G0000001101K0000001110N0011111111O0000004、微指令格式水平型微指令(一次能并行多个微操作的指令)控制字段判别测试字段下地址字段000原寄存器目的寄存器其他001左输入源编址右输入源编址ALU010寄存器编址存储器编址读写其他011测试条件垂直型微指令寄存器数据传送型运算控制型访问主存型条件转移型微程序控制器——设计技术⑴水平型微指令:一次能定义并执行多个并行操作微命令的微指令,叫做水平型微指令。基本特征:微指令字较长一条微指令能控制数据通路中多个功能部件并行操作。微命令的编码简单,尽可能使微命令与控制门之间具有直接对应关系。格式如下:控制字段判别测试字段下地址字段微程序控制器——设计技术⑵垂直型微指令:在微指令中设置微操作码字段,采用为操作码编译法,由操作码规定为微指令的功能,在一条微指令中只有一、两个微操作命令称为垂直型微指令。基本特征:微指令字短。微指令的并行操作能力有限,一条微指令只能控制数据通路中的一、两个信息传送。微指令编码比较复杂,全部微命令组成一个微操作码字段,经过完全译码,微指令的各个二进制位与数据通路的各个控制点之间完全不存在直接对应关系。5、水平型与垂直型微指令比较水平型微指令并行操作能力强,效率高,灵活性强水平型微指令执行一条指令的时间短由水平型微指令编的微程序微指令字较长,微程序短,垂直型的字长短,微程序长。水平型不便于用户掌握,垂直型与指令相似,易于掌握。微程序控制器特点设计规整,设计效率高易于修改、扩展指令系统功能;结构规整、简洁,可靠性高;速度慢访存频繁执行效率不高用于速度要求不高、功能较复杂的机器中。特别适用于系列机
硬布线与微程序控制器比较硬布线控制器执行速度快微程序控制器每条微指令都需要从控制存储器中读取一次,大大影响了速度,硬布线控制取决于电路延迟。硬布线控制器设计复杂,代价昂贵微程序控制器设计简单,便于维护修改
(例)某机有8条微指令I1-I8,每条微指令所包含的微命令控制信号如下表所示。
a-j分别对应10种不同性质的微命令信号。假设一条微指令的控制字段为8位,请安排微指令的控制字段格式。
微指令ABCDEFGHIJI1√√√√√I2√√√√I3√√I4√I5√√√√I6√√√I7√√√I8√√√解:因为8位要对应10种不同的信号,所以要将原来10种信号中不冲突的信号合在一起,用不同的二进制数来表示不同的状态。分析发现E,F,H和B,I,J对于任何一条微指令,都是相斥性微操作,即不可能在同一个CPU周期中同时发生这些操作,因此可分别组成两个小组或两个字段,然后进行译码产生这六个微命令信号。剩下的a,c,d,g四个微命令信号可进行直接控制,所以分别用二位二进制数可以表示,如下:01:E,10:F,11:H;01:B,10:I,11:J。微指令的控制字段格式:GDCA##**编码表示编码表示直接表示其整个微指令控制字段组成如下:
译码译码0706050403020100efhbijacdg00:-01:e10:f11:h00:-01:b10:i11:je.f.h(b.i.j)微命令均无效10.3微程序控制器单元设计举例设计一个微程序控制器,主要用微程序设计的方法来设计其微操作序列形成部件。一般可归纳为下列四个步骤:①拟定各条机器指令的操作流程图,写出其微操作序列;②根据全机的微操作序列选用微指令的编码设计方案;③根据各条机器指令的功能编制出相应的微程序;④把已编好调试好的微程序写入一个可高速读出的只读存储器中。我们还是以前模型机的千条指令为例,来说明微程序控制器的设计过程。指令节拍ADDCLEARSUBTRACTSTORELOADIF·T0
MAR
PC,
IF·T1
IR
MBR,R
0
IF·T2
PC
PC+1
IF·T3
IF
0,EX
1
EX·T0MAR
IR,
R
1
MAR
IR,
R
1MAR
IR,W
1,MBR
AC
EX·T1R
0
R
0W
0
EX·T2ALU
AC+MBRALU
ACC-MDR
EX·T3EX·T3
EX
0,IF
1
AC
ALUAC
0AC
ALU
表4.13五条指令的控制流确定微指令的结构——指令控制流R
1MAR
IR,
R
1R
0AC
MBR微程序控制器中没有节拍问题,只有微指令的执行顺序问题微命令控制信号位含义AC
01累加器清零AC
ALU2运算器结果送累加器ALU
AC+MBR3将累加器和缓冲寄存器送运算器,启动加ALU
AC-MBR4将累加器和缓冲寄存器送运算器,启动减EX
05清除执行标志EX
16设置执行标志IF
07清除取指令标志IF
18设置取指令标志IR
MBR9存储缓冲寄存器送指令寄存器MAR
IR10指令寄存器送存储缓冲寄存器MAR
PC11程序计数器送存储缓冲寄存器MDR
AC12累加器送存储缓冲寄存器PC
IR13指令寄存器送程序计数器PC
PC+114程序计数器加1R
015清除读存储器标志R
116设置读存储器标志W
017清除写存储器标志W
118设置写存储器标志确定微指令的结构——微命令清单(1)微命令控制信号位含义FCMAR
019FCMAR清零FCMAR
CM()20微地址码送FCMARFCMAR
FCMAR+MAP(IR)21根据指令对FCMAR进行微地址码变换确定微指令的结构——微命令清单(2)注:FCMAR---控存地址缓冲寄存器2、确定微指令的结构——微指令格式(1)(1)微指令的编码方式(2)后继微指令的地址形成方式采用直接控制编码由机器指令的操作码通过微地址形成部件产生由微指令的下地址字段直接给出(3)微指令字长确定操作控制字段 由21个微操作取26位确定微指令的下地址字段 由
40
条微指令取6位微指令字长
可取26+6=32
位2、确定微指令的结构——微指令格式(2)3、微程序设计和微代码表4.13五条指令的控制流
IF·T0R
1
IF·T1IR
MBR,R
0
IF·T2
PC
PC+1
IF·T3
IF
0,EX
1
指令节拍ADDCLEARSUBTRACTSTORELOADEX·T0MAR
IR,R
1
MAR
IR,R
1W
1,MAR
IR,
MBR
AC
EX·T1R
0
R
0W
0
EX·T2ALU
AC+MBRALU
AC-MBR
EX·T3EX·T3
EX
0,IF
1
AC
ALUAC
0AC
ALU
取指令MAR
PC
MAR
IR,R
1AC
MBRR
0
取指令阶段公共部分微程序控存地址控制信号(微命令)微地址码说明0MAR
PC,R
1,FCMARCM(27..32)1
1IR
MBR,R0,FCMARCM(27..32)2
2PC
PC+1,FCMARCM(27..32)3
3IF0,EX1,FCMARFCMAR+MAP(IR)
按MAP(IR),转4-9行4FCMAR
CM(27..32)15转向ADD5FCMAR
CM(27..32)19转向CLEAR6FCMAR
CM(27..32)20转向SUBTRACT7FCMAR
CM(27..32)24转向STORE8FCMAR
CM(27..32)27转向LOAD9(从此到14号单元空闲,备新指令使用)
15MAR
IR,
R
1,FCMARCM(27..32)16ADD指令16R
0,FCMARCM(27..32)17
17ALU
AC+MBR,FCMARCM(27..32)18
18EX0,IF1,ACALU,FCMARCM(27..32)0返回19EX0,IF1,AC0,FCMARCM(27..32)0CLEAR指令,执行后返回20MAR
IR,
R
1,FCMARCM(27..32)21SUBTRACT指令21R
0,FCMARCM(27..32)22
22ALU
AC-MBR,FCMARCM(27..32)23
23EX0,IF1,ACALU,FCMAR00返回24MAR
IR,W
1,MBR
ACFCMARCM(27..32)25STORE指令25W
0,FCMARCM(27..32)2626EX0,IF1,FCMAR00返回
控制信号矩阵
微地址码
控存0
1
2
3
地址1234567890123456789012345678901200
1
1
1
1
1
1
1
1
2
1
1
11
3
11
1
4
1
1111
5
1
1
11
6
1
1
1
7
1
11
8
1
11
1
1有控制信号的地方填“1”图五条指令的微程序码点图微程序控制器的实现实例计算机的微程序实现微程序控制器的控制信号是由控制存储器发出,而不是由组合逻辑电路产生完成指令操作码的顺序编号图
采用微程序控制的实例计算机的控制系统方框图4.微程序装入控制存储器当上表所示的微程序编好之后,经检测、调试无误后,即可写入高速读出的只读存储器ROM中,得到所需的微程序控制器。为了使读者对微程序控制器有较深刻的理解,下图画出了模型机微程序控制器简框图。图中打圆点的地方,表示有微操作命令输出。即表示该微地址被选中后与信号输出线上跨接上一个导通的二极管。其工作过程与表所示微程序一一对应。地址译码器CMARFCMAR指令寄存器IR…………条件码传送控制时钟信号S控制存储器CM控制信号字段微地址码字段微指令寄存器uIR……微操作控制信号24232221201918171615141312111098765432100001020304050607080910111213141516171819微操作控制信号下地址控制存储器CM10.4典型CPU--奔腾CPU结构框图
总线接口部件64位数据总线32位地址总线控制分页部件64位数据总线32位地址总线分支目标缓冲器BTBTLB代码Cache8KB预取缓冲存储器指令译码部件控制部件控制ROM预取地址地址生成(U流水线)地址生成(V流水线)整数寄存器组ALU(U流水线)ALU(V流水线)桶形移位器数据Cache8KBTLB乘法器除法器控制寄存器组加法器浮点部件FPU256位32位32位32位32位32位32位80位80位分支监测和目标地址指令指针BIUMMUEUPentium微处理器体系结构1.奔腾CPU的结构框图(1)超标量流水线
超标量流水线是pentium系统结构的核心。它由U和V两条指令流水线构成,每条流水线都有自已的ALU、地址生成电路、与数据cache的接口。两个指令预取缓冲器,每个都是32字节,负责由指令cache或主存取指令并放入其中。(2)指令cache和数据cache奔腾CPU则分设指令cache和数据cache,各8KB。指令cache是只读的,以单端口256位(32B)向指令预取缓冲器提供超长指令字代码。数据cache是可读可写的,双端口,(3)浮点运算部件奔腾CPU内部包含了一个8段的流水浮点运算器。(4)动态转移预测技术执行转移指令时为了不使流水线断流,
2.Pentium的技术性能
Pentium是Intel公司生产的超标量流水处理器,
CPU内部的主要寄存器宽度为32位,故认为它是一个32位微处理器。但它通向存储器的外部数据总线宽度为64位,每次总线操作可以同时传输8个字节。
Pentium具有非固定长度的指令格式,9种寻址方式,191条指令,但是在每个时钟周期又能执行两条指令(超标量流水线)。因此它具有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.动态转移预测技术PentiumCPU
Pentium是Intel公司生产的超标量流水处理器,早期使用5V工作电压,后期使用3.3V工作电压。CPU的主频是片外主总线时钟频率(60MHz或66MHz)的倍频,有120,166,200MHz等多种。
CPU内部的主要寄存器宽度为32位,故认为它是一个32位微处理器。但它通向存储器的外部数总线宽度为64位,每次总线操作可以同时传输8个字节。以主总线(存储器总线)时钟频率66MHz计算,64位数据总线可使CPU与主存的数据交换速率达到528MB/s。
CPU支持多种类型的总线周期,其中一种称猝发模式,在此模式下,可在一个总线周期内读出或与入256位(32字节)的数据。
CPU外部地址总线宽度是36位,但一般使用32位宽,故物理地址空间为4096MB(4GB)。虚拟地址空间为64TB,分页模式除支持4KB页面外(与486相同),还支持2MB和4MB页面。其中2MB页面的分页模式必须使用36位地址总线。
CPU内部分别设置指令cache和数据cache,外部还可接L2cache。CPU采用U,V两条指令流水线,能在一个时钟周期内发射两条简单的整数指令,也可发射一条浮点指令。操作控制器采用硬布线控制和微程序控制相结合的方式。大多数简单指令用硬布线控制实现,在一个时钟周期内执行完毕。对微程序实现的指令,也在2—3个时钟周期内执行完毕。1、参见图5.15的数据通路。画出存数指令“STAR1,(R2)”的指令周期流程图,其含义是将寄存器R1的内容传送至(R2)为地址的主存单元中。标出个为操作信号序列。课堂练习与思考:PC→ARM→DRDR→IRR2→ARR1→DRDR→M~PC0,G,ARiDR0,G,IRiR20,G,ARiR10,G,DRiR/W=W
R/W=R2、参见图的数据通路,画出取数指令“LDA(R3),R0”的指令周期流程图,其含义是将(R3)为地址主存单元的内容取至寄存器R0中。标出个为操作信号序列。课堂练习与思考:~PC→ARM→DRDR→IRR3→ARM→DRDR→R0PC0,G,ARiDR0,G,IRiR30,G,ARiDR0,G,R0IR/W=R
R/W=RPC→AR→RAM→DBUS→DR→IRPC+1P1R1+R2→R2R2+R3→R2R2-R3→R2P2Cy=1
Cy=0
R3=6
第一条微指令PC→AR→ABUS→DBUS→DR→IRPC+1LDARRDLDDRLDIRPC+1000000000000111111234567891011121314151617101819000020212223RDLDDRLDIRLDARPC+1P1直接地址第二条微指令R1→XR2→YX+YX+Y→R2R1→XR2→Y+LDR2010100100100000001234567891011121314151617001819100120212223LDR2R1→X+直接地址R2→Y010001001100000001234567891011121314151617011819000020212223LDR2R2→XR3→Y+P2直接地址R2→XR3→YX+YX+Y→R2R2→XR3→Y+LDR2第三条微指令010001001001000001234567891011121314151617001819000020212223LDR2R2→XR3→Y-P1P2直接地址R2→XR3→YX-YX-Y→R2R2→XR3→Y-LDR2第四条微指令第十章主要内容
10.2.1组合逻辑设计1.组合逻辑控制单元框图如图10.1所示。图
控制单元框图
组合逻辑线路指令译码器节拍电位/脉冲发生器微操作控制信号指令寄存器IR结果反馈信息M1MiT1TkI1ImC1CnB1Bj启动/停止时钟/复位2.组合逻辑设计步骤(1)列出微操作命令的操作时间表(2)写出微操作命令的最简表达式(3)画出微操作命令的逻辑图10.2.2微程序设计1.微程序设计思想2.机器指令对应的微程序不同机器指令所对应的微程序如图10.2所示。
控制存储器N+1NN+2P+1Q+1Q+3PP+2Q+2…取指周期
微程序对应
LOAD
操作的微程序对应
ADD
操作的微程序Q+1Q+3NN+1N+2P+1P+2N………对应
STORE
操作的微程序K+1K+2NKK+2K+1QQ+23.微程序控制单元的基本组成图10.3虚线框内是微程序控制单元的基本组成。
微地址形成部件顺序逻辑CMAR地址译码控制存储器标志CLK下一地址CMBR至CPU内部和系统总线的控制信号
OPIR4.微指令的基本格式微指令的基本格式如图10.4所示。图微指令的基本格式5.微指令的编码方式(1)直接编码(直接控制)方式(2)字段直接编码方式(3)字段间接编码方式6.微指令序列地址的形成7.微指令格式8.微程序设计步骤(1)写出对应机器指令的微操作命令及节拍安排(2)确定微指令格式(3)编写微指令码点微操作控制字段顺序控制字段本章小结学习本章后要理解并掌握以下内容:试从设计思想、设计步骤、硬件组成和工作原理四个方面比较组合逻辑控制器和微程序控制器。组合逻辑控制器和微程序控制器的微操作命令节拍安排有何不同?为什么?解释下列概念:微程序控制、指令、微指令、微操作、微操作命令、垂直型微指令、水平型微指令、静态微程序设计、动态微程序设计、毫级程序设计。微指令的后续地址如何形成。已知一个指令系统,如何设计出全部微指令的码点。本章结束:本课程结束!第十章测试题一、选择题:
1.以下叙述中正确描述的句子是:______。
A同一个CPU周期中,可以并行执行的微操作叫相容性微操作
B同一个CPU周期中,不可以并行执行的微操作叫相容性微操作
C同一个CPU周期中,可以并行执行的微操作叫相斥性微操作
D同一个CPU周期中,不可以并行执行的微操作叫相斥性微操作2.存放微程序的存储器称为______。
A高速缓冲存储器B控制存储器
C.虚拟存储器D
主存储器
3.一般机器周期的时间是根据_______来规定的。
A主存中读取一个指令字的最短时间
B主存中读取一个数据字的最长时间
C主存中写入一个数据字的平均时间
D主存中读取一个数据字的平均时间
二、填空题:
1.微程序设计技术是利用.______方法设计.______的一门技术。具有规整性、可维护性、______等一系列优点。
2.硬布线器的设计方法是:先画出______流程图,再利用______写出综合逻辑表达式,然后用______等器件实现。第十章自测题答案
一、1.A,D2.B3.A
二、1.软件操作控制灵活性
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水生态综合治理项目可行性研究报告
- 医疗器械网络销售监管办法2026
- 食品饮料厂生产线管理规范
- 2026年四川省绵阳市中考生物试卷试题真题(含答案详解)
- 卫生高级职称面审答辩指南2026
- 耳穴压豆在围手术期的应用进展总结2026
- 2026飞行俱乐部面试题及答案
- 人工智能驱动的市场策略优化
- 2026惠水医疗岗面试题型及答案
- 2026节能环保技术国企面试题及答案
- 广东深圳市2025-2026学年高一下学期7月期末考试生物试卷
- 注塑模具开发流程和加工工艺
- 工地八大员岗位责任制度标牌
- 射箭动作图解
- 宗教场所财务报表
- 工程土石方作业安全教育培训课件
- 钢平台受力计算
- JJG 52-2013弹性元件式一般压力表、压力真空表和真空表
- SHSG0522023年石油化工装置工艺设计包(成套技术)内容规定
- 1、设计初步设计说明书
- DB44∕T 635-2009 政府投资应用软件开发项目价格评估及计算方法
评论
0/150
提交评论