1、1第五章 中央处理器返回2第五章 中央处理器5.1CPU功能和组成5.2指令周期5.3时序产生器5.4微程序控制器及其设计5.5硬布线控制器及其设计5.6传统CPU5.7流水CPU5.8RISC的CPU5.9多媒体CPU35.6 硬布线控制器硬布线控制器1、实现方法l通过逻辑电路直接连线而产生的,又称为组合逻辑控制方式2、设计目标l使用最少元件(复杂的树形网络)l速度最高45.6 硬布线控制器硬布线控制器3、逻辑原理 (1)逻辑原理图lC为微操作控制信号Im为译码器输出,Mi为节拍电位,Tk为节拍脉冲,Bj为状态条件lC由组合电路实现,速度快,但难以修改。(2)指令的执行流程l微程序控制器时序
2、信号简单。只需要若干节拍脉冲信号即可。l组合逻辑控制器除了节拍脉冲信号外,还需要节拍电位信号。),(jkimBTMIfC返回55.6 硬布线控制器硬布线控制器(3)微操作控制信号产生l在硬联线控制器中,某一微操作控制信号由布尔代数表达式描述的输出函数产生。l设计微操作控制信号的方法和过程是,根据所有机器指令流程图,寻找出产生同一个微操作信号的所有条件,并与适当的节拍电位和节拍脉冲组合,从而写出其布尔代数表达式并进行简化,然后用门电路或可编程器件来实现。65.6 硬布线控制器硬布线控制器4、设计步骤(1)画出指令流程图 (2)列出微操作时间表l将指令流程图中的微操作合理地安排到各个机器周期的相应
3、节拍和脉冲中去;l微操作时间表形象地表明:什么时间、根据什么条件发出哪些微操作信号。75.6 硬布线控制器硬布线控制器(3)进行微操作信号的综合l当列出所有指令的微操作时间表之后,需要对它们进行综合分析,把凡是要执行某一微操作的所有条件(哪条指令、哪个机器周期、哪个节拍和脉冲等)都考虑在内,加以分类组合,列出各微操作产生的逻辑表达式,然后加以简化,使逻辑表达式更为合理。(4)实现电路 l根据整理并化简的逻辑表达式组,可以用一系列组合逻辑电路加以实现,加根据逻辑表达式画出逻辑电路图,用逻辑门电路的组合来实现之,也可以直接根据逻辑表达式,用PLA或其他逻辑电路实现。8 例3根据图5.29,写出以下
4、操作控制信号RD(I)、RD(D)、WE(D)、LDPC、LDIR、LDAR、LDDR、PC+1、LDR2的逻辑表达式。其中每个操作控制信号的含义是:lRD(I)指存读命令lRD(D)数存读命令lWE(D)数存写命令lLDPC打入程序计数器lLDIR打入指令寄存器lLDAR打入数存地址寄存器lLDDR打入数据缓冲寄存器lPC+1程序计数器加1lLDR2打入R2寄存器9数据通路图数据通路图RD/WRLDDRLDIRLDPCLDARPC+110 图5.29 硬布线控制器的指令周期流程图RD(I),LDIR,PC+1,LDPC LDDR,LDR0LDARRD(D)LDDR,LDR1LDDR,LDR2
5、LDARWE(D)LDPC(R1)DR(DR)R0IRARCache(D)DR(DR)R1(R1)+(R2)DR(DR)R2(R2)Cache(D)Cache(I)IR(PC)+1 PC11进行微操作信号的综合进行微操作信号的综合图5.29中五条指令的微操作控制信号举例。RD(I)=M1 RD(D)=M3LADWE(D)=M3T3STO PC+1=M1LDPC=M1T4+M2T4JMPLDIR=M1T4 LDAR=M2T4(LAD+STO)LDDR=M2T3(MOV+ADD)+M3T3LADLDR2=M2T4ADDRD(I),LDIR,PC+1,LDPC LDDR,LDR0LDARRD(D)L
6、DDR,LDR1LDARWE(D)LDPCLDDR,LDR2125.4 微程序控制器微程序控制器l发展l微程序的概念和原理是由英国剑桥大学的MVWilkes教授于1951年在曼彻斯特大学计算机会议上首先提出来的,当时还没有合适的存放微程序的控制存储器的元件。l到1964年,IBM公司在IBM 360系列机上成功地采用了微程序设计技术。l20世纪70年代以来,由于VLSI技术的发展,推动了微程序设计技术的发展和应用。l目前,从大型机到小型机、微型机都普遍采用了微程序设计技术。135.4 微程序控制器微程序控制器l基本思想:仿照解题的方法,把操作控制信号编制成微指令,存放到控制存储器里,运行时,从
7、控存中取出微指令,产生指令运行所需的操作控制信号。从上述可以看出,微程序设计技术是用软件方法来设计硬件的技术。145.4 微程序控制器微程序控制器5.4.1微程序控制原理微程序控制原理 5.4.2微程序设计技术15l基本思想l将微操作序列代码化,存放于控制存储器中l执行指令时,依次读取微指令,产生控制信号指令代码运行状态控制存储器CM微指令存储器IR微命令序列5.4 微程序控制器微程序控制器核心!核心!16l基本概念和术语l微程序与微程序设计l微指令与微周期l微指令:若干微命令的组合,存放在一个控制存储器单元中l微周期:读取一条微指令并执行所需的时间l微命令与微操作l微命令:构成控制信号序列的
8、最小单位l微操作:由微命令控制实现的最基本操作l工作程序与微程序、主存储器与控制存储器5.4 微程序控制器微程序控制器175.4.1微程序控制原理 1.微命令:控制部件向执行部件发出的各种控制命令叫作微命令,它是构成控制序列的最小单位。l例如:打开或关闭某个控制门的电位信号、某个寄存器的打入脉冲等。l微命令是控制计算机各部件完成某个基本微操作的命令。2.微操作:是微命令的操作过程。l微命令和微操作是一一对应的。l微命令是微操作的控制信号,微操作是微命令的操作过程。l微操作是执行部件中最基本的操作。185.4.1微程序控制原理 由于数据通路的结构关系,微操作可分为相容的和互斥的两种:1.互斥的微
9、操作,是指不能同时或不能在同一个节拍内并行执行的微操作。可以编码2.相容的微操作,是指能够同时或在同一个节拍内并行执行的微操作。必须各占一位l举例:见下图19205.4.1微程序控制原理3、微指令:把在同一CPU周期内并行执行的微操作控制信息,存储在控制存储器里,称为一条微指令(Microinstruction)。l它是微命令的组合,微指令存储在控制存储器的一个单元中l一条微指令通常至少包含两大部分信息:l操作控制字段,又称微操作码字段,用以产生某一步操作所需的各个微操作控制信号。某位为1,表明发微指令微指令发出的控制信号都是节拍电位信号,持续时间为一个CPU周期微命令信号还要引入时间控制l顺
10、序控制字段,又称微地址码字段,用以控制产生下一条要执行的微指令地址。215.4.1微程序控制原理l微指令基本格式测试“操作码字段”测试“进位标志Cy”225.4.1微程序控制原理4、微程序l一系列微指令的有序集合就是微程序。l一段微程序对应一条机器指令。l下面举一个十进制加法指令为实例235.4.1微程序控制原理l以十进制加法指令流程l数据通路图l操作流程图R2-R3245.4.1微程序控制原理l四条微指令如下000 000 000 000 111111000000000取指令操作信号P1判别010 100 100 100 000000010011010存结果LDR2R1-XR2-Y+-R32
11、5十进制加法指令的微程序十进制加法指令的微程序010 001 001 100 000000100001001存结果LDR2R2-XR3-Y+P2判别Cy=0:0001Cy=1:0000010 001 001 001 000000000000001存结果LDR2R2-XR3-Y-转到取指令的公操作-265.4.1微程序控制原理l控制存储器(CM)。l这是微程序控制器的核心部件,用来存放微程序。其性能(包括容量、速度、可靠性等)与计算机的性能密切相关。5、微程序控制器原理275.4.1微程序控制原理l微指令寄存器(IR)l用来存放从CM取出的正在执行的微指令,它的位数同微指令字长相等。l微地址形成
12、部件l用来产生初始微地址和后继微地址,以保证微指令的连续执行。l微地址寄存器(MAR)l它接受微地址形成部件送来的微地址,为下一步从CM中读取微指令作准备。28l微程序控制器的工作过程l取指令周期l转微程序入口l执行首条微指令CM取指微指令IR微命令字段译码器微命令机器指令IR主存IR操作码微地址形成电路入口ARIRCMIR微命令字段译码器微命令操作部件5.4.1微程序控制原理29l微程序控制器的工作过程l取后续微指令l执行后续微指令:同3l返回:微程序执行完,返回CM微地址字段微地址形成电路后续微地址ARIRCM后续微指令现行微地址运行状态5.4.1微程序控制原理305.4.1微程序控制原理
13、6、CPU周期和微指令周期的关系31机器指令与机器指令与微指令的关系微指令的关系状态信息32 例 设某计算机运算器框图如图所示,其中ALU为16位的加法器(高电平工作),SA,SB为16位暂存器。4个通用寄存器由D触发器组成,Q端输出,其读、写控制功能见下表。写控制读控制选择WA1WA0W选择RA1RA0R不写入*0不读出*0R3111R3111R2011R2011R1101R1101R0001R00013334 机器采用串行微程序控制方式,其微指令周期见上页图(b)。其中读ROM是从控存中读出一条微指令时间,为1s;ALU工作是加法器做加法运算,为500ns;m1是读寄存器时间,为500ns
14、;m2是写寄存器的工作脉冲宽度,为100ns。微指令字长12位,微指令格式如下:RA0RA1:读R0-R3的选择控制 WA0WA1:写R0-R3的选择控制R:寄存器读命令 W:寄存器写命令 LDSA:打入SA的控制信号 LDSB:打入SB的控制信号 SB-ALU:传送SB的控制信号 SB-ALU:传送SB的控制信号,并使加法器最低位加1.Reset:清暂存器SB为零的信号:一段微程序结束,转入取机器指令的控制信号RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset35要求:用二进制代码写出如下指令的微程序:(1)“ADD R0,R1”指令,即(R0)+(R1)R1(2
15、)“SUB R2,R3”指令,即(R3)-(R2)R3(3)“MOV R2,R3”指令,即(R2)(R3)36先画出三条指令的微指令的微程先画出三条指令的微指令的微程序流程图,如下图所示。序流程图,如下图所示。l其中未考虑“取指周期”和顺序控制问题,也即微程序仅考虑“执行周期”,微指令序列的顺序用数字标号标在每条微指令的右上角。每一框表示一条微指令。l根据给定的微指令周期时间关系,完成ADD,SUB指令的执行动作需要3条微指令,MOV指令只需2条微指令。用二进制代码写出的三条指令的微程序列于下表中,其中*表示代码随意设置(0或1均可)。R2SA 0SB37 指令 微程序代码 ADD 00*10
16、100000 01*10010000 *0101001001 SUB 11*10100000 10*10010000 *1101000101 MOV 10*10100010 *1101001001RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUResetR2SA 0SB385.4.2 微程序设计技术微程序设计技术一、设计微指令应当追求的目标l有利于缩短微指令的长度l有利于缩小CM的容量l有利于提高微程序的执行速度l有利于对微指令的修改l有利于提高微程序设计的灵活性395.4.2 微程序设计技术微程序设计技术1、微命令的编码方法编码有三种方法:直接表示法编码有三种方法:直接表
17、示法/编码表示法编码表示法/混合表示法混合表示法l直接表示法:操作控制字段中的各位分别可以直接控制计算机,不需要进行译码。40l直接表示法举例,操作控制字段的每一个独立的二进制位代表一个微命令,该位为“1”表示这个微命令有效,为“0”表示这个微命令无效。5.4.2 微程序设计技术微程序设计技术后继微地址判断条件uA0uA1uA2uA3uA4uA5P0P1P2P3INTSINTCLDIRLDPCM4PC_ADDPC_INCLDIARLDAR1AR1_INCM3LDERIAR_BUS#SW_BUS#RS_BUS#ALU_BUSLRWCEL#WRDLDDR1M1S0S1S21112131415161
18、71819202122232425262728293031323334 微指令格式举例(TEC_5实验平台格式)35TJ41直接表示法特点:l这种方法结构简单,并行性强,操作速度快,但是微指令字太长,若微命令的总数为N个,则微指令字的操作控制字段就要有N位。l另外,在N个微命令中,有许多是互斥的,不允许并行操作,将它们安排在一条微指令中是毫无意义的,只会使信息的利用率下降。l最短编码法:所有微命令统一编码5.4.2 微程序设计技术微程序设计技术422、编码表示法:将操作控制字段分为若干个小段,每段内采用最短编码法(互斥微命令),段与段之间采用直接控制法(兼容微命令)。5.4.2 微程序设计技术
19、微程序设计技术编码表示法特点:可以避免互斥,使指令字大大缩短,但增加了译码电路,使微程序的执行速度减慢435.4.2 微程序设计技术微程序设计技术3、混合编码法:将前两种结合在一起,兼顾两者特点。一个字段的某些编码不能独立地定义某些微命令,而需要与其他字段的编码来联合定义l设置解释位或解释字段l分类编译l常数源字段E的设置C=解释位1 A为某类命令0 A为常数CA微操作控制字段E顺序控制字段445.4.2 微程序设计技术微程序设计技术l编码注意几点:字段编码法中操作控制字段并非是任意的,必须要遵循如下的原则:把互斥性的微命令分在同一段内,兼容性的微命令分在不同段内。应与数据通路结构相适应。每个
20、小段中包含的信息位不能太多,否则将增加译码线路的复杂性和译码时间。一般每个小段还要留出一个状态,表示本字段不发出任何微命令。因此当某字段的长度为三位时,最多只能表示七个互斥的微命令,通常用000表示不操作。下面举例说明45123456789顺序控制4、5:00 无操作01 R1X10 R2 X11 DR X 6、7:00 无操作01 R3Y10 R2 Y11 R1Y 8、9:00 无操作01 10 11 M 混和表示法1、2、3位为直接表示法4、5 6、7 8、9位为编码表示法465.4.2 微程序设计技术微程序设计技术二、微指令地址的形成l入口地址:每条机器指令对应一段微程序,当公用的取指微
21、程序从主存中取出机器指令之后,由机器指令的操作码字段指出各段微程序的入口地址,这是一种多分支(或多路转移)的情况。l后续微地址的形成方式主要有两种:计数器的方式多路转移的方式475.4.2 微程序设计技术微程序设计技术1、入口地址形成:如果机器指令操作码字段的位数和位置固定,可以直接使操作码与微程序入口地址的部分位相对应。485.4.2 微程序设计技术微程序设计技术2、后继微地址形成方法(1)计数器的方式l方法:微程序顺序执行时,其后继微地址就是现行微地址加上一个增量(通常为1);当微程序遇到转移或转子程序时,由微指令的转移地址段来形成转移微地址。在微程序控制器中也有一个微程序计数器PC,一般
22、情况下都是将微地址寄存器MAR作为PCl特点:优点是简单、易于掌握,编制微程序容易缺点是这种方式不能实现两路以上的并行微程序转移,因而不利于提高微程序的执行速度。495.4.2 微程序设计技术微程序设计技术(2)多路转移的方式l根据条件转移如图l条件:状态条件/测试/微指令中微地址/操作码50【例例2】微地址寄存器有6位(A5-A0),当需要修改其内容时,可通过某一位触发器的强置端S将其置“1”。现有三种情况:(1)执行“取指”微指令后,微程序按IR的OP字段(IR3-IR0)进行16路分支;(2)执行条件转移指令微程序时,按进位标志C的状态进行2路分支;(3)执行控制台指令微程序时,按IR4
23、,IR5的状态进行4路分支。请按多路转移方法设计微地址转移逻辑。51 按所给设计条件,微程序有三种判别测试,分别为P1,P2,P3。由于修改A5-A0内容具有很大灵活性,现分配如下:(1)用P1和IR3-IR0修改A3-A0;(2)用P2和C修改A0;(3)用P3和IR5,IR4修改A5,A4。另外还要考虑时间因素T4(假设CPU周期最后一个节拍脉冲),故转移逻辑表达式如下:A5=P3IR5T4A4=P3IR4T4A3=P1IR3T4A2=P1IR2T4A1=P1IR1T4A0=P1IR0T4+P2CT4 由于从触发器强置端修改,故前5个表达式可用“与非”门实现,最后一个用“与或非”门实现。下
24、图仅画出了A2、A1、A0触发器的微地址转移逻辑图。52535.4.2 微程序设计技术微程序设计技术3、微指令格式分为两类:水平型微指令和垂直型微指令(1)水平型微指令 l水平型微指令是指一次能定义并能并行执行多个微命令的微指令。l格式如下控制字段判别测试字段下地址字段545.4.2 微程序设计技术微程序设计技术l水平型微指令特点:优点:微指令字较长,速度越快。微指令中的微操作有高度的并行性。微指令译码简单。控制存储器的纵向容量小,灵活性强。缺点:微指令字比较长,明显地增加了控制存储器的横向容量。水平微指令与机器指令差别很大,一般要熟悉机器结构、数据通路、时序系统以及指令执行过程的人才能进行微
25、程序设计,这对用户来说是很困难的。555.4.2 微程序设计技术微程序设计技术(2)垂直型微指令:采用编码方式。l设置微操作控制字段时,一次只能执行一到二个微命令的微指令称为垂直型微指令。565.4.2 微程序设计技术微程序设计技术l垂直型微指令的特点:l微指令字短,一般为1020位左右,使控制存储器的横向容量少。l微指令的并行微操作能力有限,一条微指令一般只包含一个微操作命令。l微指令译码比较复杂。全部微命令用一个微操作控制字段进行编码,微指令执行时需行完全译码。l设计用户只需注意微指令的功能,而对微命令及其选择、数据通路的结构则不用过多地考虑,因此,便于用户编制微程序。而且,编制的微程序规
26、整、直观,便于实现设计的自动化。l用垂直微指令编制微程序要使用较多的微指令,微程序较长;要求控制存储器的纵向容量大。垂直微指令产生微命令要经过译码,微程序执行速度慢。l不能充分利用数据通路具有多种并行操作能力575.4.2 微程序设计技术微程序设计技术水平型微指令和垂直型微指令的比较(1)水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则较差。(2)水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。(3)由水平型微指令解释指令的微程序,有微指令字较长而微程序短的特点。垂直型微指令则相反。(4)水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说,比较容易掌握。585.4.2 微程序设计技术微程序设计技术4、动态微程序设计l对应于一台计算机的机器指令只有一组微程序,这一组微程序设计好之后,一般无须改变而且也不好改变,这种微程序设计技术称为静态微程序设计。l采用EPROM作为控制存储器,可以通过改变微指令和微程序来改变机器的指令系统,这种微程序设计技术称为动态微程序设计。59作业作业l书本第181页,6l书本第182页,10
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。