chp5中央处理器-22学时=18+4_第1页
chp5中央处理器-22学时=18+4_第2页
chp5中央处理器-22学时=18+4_第3页
chp5中央处理器-22学时=18+4_第4页
chp5中央处理器-22学时=18+4_第5页
已阅读5页,还剩162页未读 继续免费阅读

下载本文档

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

文档简介

1、1第五章 中央处理器返回2第五章 中央处理器5.1CPU功能和组成5.2指令周期5.3时序产生器5.4微程序控制器及其设计5.5硬布线控制器及其设计5.6传统CPU5.7流水CPU5.8RISC的CPU5.9多媒体CPU35.1 CPU的功能和组成的功能和组成1、CPU的功能l指令控制(程序的顺序控制)l操作控制(一条指令有若干操作信号实现)l时间控制(指令各个操作实施时间的定时)l数据加工(算术运算和逻辑运算)执行指令取指令操作控制、时间控制42、CPU的基本组成的基本组成RD/WRLDDRLDIRLDPCLDARPC+152、CPU的基本组成的基本组成(1)中央处理器CPU=运算器+控制器

2、(2)运算器lALUl累加器l暂存器62、CPU的基本组成的基本组成(3)控制器 控制器组成控制器组成:程序计数器、指令寄存器、数据缓冲器、地址寄存器、通用寄存器、状态寄存器、时序发生器、指令译码器、总线(数据通路)l程序计数器PC(Programming Counter)用来存放正在执行的指令的地址或接着将要执行的下一条指令的地址。顺序执行时,每执行一条指令,PC的值应加1要改变程序执行顺序的情况时,一般由转移类指令将转移目标地址送往PC ,可实现程序的转移。l指令寄存器IR(Instruction Register) 指令寄存器用来存放从存储器中取出的待执行的指令。在执行该指令的过程中,指

3、令寄存器的内容不允许发生变化,以保证实现指令的全部功能。72、CPU的基本组成的基本组成l指令译码器ID(Instruction Decoder) 暂存在指令寄存器中的指令只有在其操作码部分经译码后才能识别出是一条什么样的指令。译码器经过对指令进行分析和解释,产生相应的控制信号提供给时序控制信号形成部件。l机器周期、工作节拍、脉冲及启停控制线路 由脉冲源产生一定频率的脉冲信号作为整个机器的时钟脉冲l时序控制信号形成部件 时序控制信号形成部件又称微操作信号发生器,真正控制各部件工作的微操作信号是由指令部件提供的操作信号、时序部件提供的时序信号、被控制功能部件所反馈的状态及条件综合形成的。82、C

4、PU的基本组成的基本组成l地址形成部件 根据指令的不同寻址方式,用来形成操作数的有效地址功能就是指令流出的控制,实质上就是对取指令的控制。指令分析与执行的控制,对指令流中的每条指令进行分析解释,根据指令的操作性质和寻址方式形成操作数的地址,然后根据该操作数的地址找到相应的存储单元,并从中取出指令执行过程中要用到的操作数,最后还要形成相应的操作控制信号序列,通过运算器、存储器及输入输出设备的动作,来实现这条指令的功能。指令流向的控制,指令流向的控制即下条指令地址的形成控制。数据缓冲器、状态条件寄存器93、CPU中的主要寄存器中的主要寄存器lDR缓冲寄存器/地址寄存器ARl中转站l补偿速度差别lI

5、R指令寄存器lPC程序计数器AC内存或I/O指令数据DR指令数据104、操作控制器和时序产生器、操作控制器和时序产生器(1)数据通路(2)操作控制器:为数据通路的建立提供各种操作信号。操作信号提供的依据是指令操作码和时序信号,主要有三种类型:l组合类型l存储类型l混合类型114、操作控制器和时序产生器、操作控制器和时序产生器l硬布线控制器 硬布线控制器,它是采用组合逻辑技术来实现的,其时序控制信号形成部件是由门电路组成的复杂树形网络。这种方法是分立元件时代的产物,以使用最少器件数和取得最高操作速度为设计目标。组合逻辑控制器的最大优点是速度快,但是时序控制信号形成部件的结构不规整,使得设计、调试

6、、维修较困难,难以实现设计自动化。124、操作控制器和时序产生器、操作控制器和时序产生器l微程序控制器 微程序控制器是采用存储逻辑来实现的,也就是把微操作信号代码化,使每条机器指令转化成为一段微程序并存入一个专门的存储器(控制存储器)中,微操作控制信号由微指令产生。微程序控制器的设计思想和组合逻辑设计思想截然不同。它具有设计规整、调试、维修以及更改、扩充指令方便的优点,易于实现自动化设计,已成为当前控制器的主流。但是,由于它增加了一级控制存储器,所以指令执行速度比组合逻辑控制器慢。l组合逻辑和存储逻辑结合型 这种控制器称为PLA控制器,它是吸收前两种的设计思想来实现的。134、操作控制器和时序

7、产生器、操作控制器和时序产生器l时序产生器:提供定时和时序信号14155.2指令周期指令周期5.2.1 指令周期的基本概念指令周期的基本概念5.2.2 典型指令的指令周期典型指令的指令周期5.2.3 用方框图语言表示指令周期用方框图语言表示指令周期165.2 指令周期指令周期175.2.1 指令周期的基本概念指令周期的基本概念l概念l指令周期:指取指令、分析指令到执行完该指令所需的全部时间。l各种指令的指令周期相同吗?为什么?l机器周期通常又称CPU周期,l通常把一条指令周期划分为若干个机器周期,每个机器周期完成一个基本操作。l主存的工作周期(存取周期)为基础来规定CPU周期,比如,可以用CP

8、U读取一个指令字的最短时间来规定CPU周期l不同的指令,可能包含不同数目的机器周期。l一个机器周期中,包含若干个机器周期(节拍脉冲或T脉冲)。lCPU周期规定,不同的计算机中规定不同185.2.1 指令周期的基本概念指令周期的基本概念l时钟周期l在一个机器周期内,要完成若干个微操作。这些微操作有的可以同时执行,有的需要按先后次序串行执行。因而需要把一个机器周期分为若干个相等的时间段,每一个时间段称为一个节拍。节拍常用具有一定宽度的电位信号表示,称之为节拍电位。l节拍的宽度取决于CPU完成一次基本的微操作的时间,如:ALU完成一次正确的运算,寄存器间的一次数据传送等。195.2.1 指令周期的基

9、本概念指令周期的基本概念205.2.2指令周期指令周期下面我们用一个模型机来介绍指令周期概念l主要包括:取指(令)周期、(指令)执行周期l执行过程:框架原理21225.2.2MOV指令的指令周期指令的指令周期l取指周期l执行周期235.2.2MOV指令的指令周期指令的指令周期-取指取指 程序计数器程序计数器PC中装入第一条指令地址中装入第一条指令地址101(八进制);(八进制); PC的内容被放到指令地址总线的内容被放到指令地址总线ABUS(I)上,对指存进行译码,并启动读命令;)上,对指存进行译码,并启动读命令; 从从101号地址读出的号地址读出的MOV指令通过指令总线指令通过指令总线IBU

10、S装入指令寄存器装入指令寄存器IR; 程序计数器内容加程序计数器内容加1,变成,变成102,为取下一条指令做好准备;,为取下一条指令做好准备; 指令寄存器中的操作码(指令寄存器中的操作码(OP)被译码;)被译码; CPU识别出是识别出是MOV指令,至此,取指周期即告结束。指令,至此,取指周期即告结束。WR/RD245.2.2MOV指令的指令周期指令的指令周期-执行执行 操作控制器(操作控制器(OC)送出控制信号到通用寄存器,选择)送出控制信号到通用寄存器,选择R1(10)作源寄存器,)作源寄存器,选择选择R0作目标寄存器;作目标寄存器; OC送出控制信号到送出控制信号到ALU,指定,指定ALU

11、做传送操作;做传送操作; OC送出控制信号,打开送出控制信号,打开ALU输出三态门,将输出三态门,将ALU输出送到数据总线输出送到数据总线DBUS上。上。注意,任何时候注意,任何时候DBUS上只能有一个数据。上只能有一个数据。 OC送出控制信号,将送出控制信号,将DBUS上的数据打入到数据缓冲寄存器上的数据打入到数据缓冲寄存器DR(10);); OC送出控制信号,将送出控制信号,将DR中的数据中的数据10打入到目标寄存器打入到目标寄存器R0,R0的内容由的内容由00变为变为10。至此,。至此,MOV指令执行结束。指令执行结束。255.2.3LAD指令的指令周期指令的指令周期l取指周期l执行周期

12、265.2.3LAD指令的指令周期指令的指令周期275.2.5ADD指令的指令周期指令的指令周期285.2.5ADD指令的指令周期指令的指令周期295.2.5STO指令的指令周期指令的指令周期305.2.5STO指令的指令周期指令的指令周期315.2.6JMP指令的指令周期指令的指令周期325.2.6JMP指令的指令周期指令的指令周期335.2.7用方框图语言表示的指令周期用方框图语言表示的指令周期l引入目的主要是为了教学目的(控制器设计)l方法:l指令系统设计(模型机的五指令系统)l方框按CPU周期l方框内内容数据通路操作或控制操作l菱形符号判别或测试l公操作l前边所讲述的5种操作的框图描述

13、345.2.7方框图表示指令周期方框图表示指令周期取指执行355.2.7方框图表示指令周期方框图表示指令周期P139例例1双总线结构机器的数据通路图双总线结构机器的数据通路图微操作信号微操作信号36注意微操作控制信号(右边)注意微操作控制信号(右边)ALU0ALU037总结:总结:l一条指令包括一个取指令周期和一个及一个以上的执行周期组成l在每个CPU周期中数据通路是明确的l数据通路的建立及操作受到操作控制器的控制,当然决定于是什么指令。385.3 时序产生器和控制方式时序产生器和控制方式5.3.1时序产生器作用和体制5.3.2时序信号产生器5.3.3控制方式395.3.1、时序产生器作用和体

14、制、时序产生器作用和体制l作用:lCPU中的控制器用它指挥机器的工作lCPU可以用时序信号/周期信息来辨认从内存中取出的是指令(取指)还是数据(执行)l一个CPU周期中时钟脉冲对CPU的动作有严格的约束l操作控制器发出的各种信号是时间(时序信号)和空间(部件操作信号)的函数。405.3.1、时序产生器时序产生器作用和体制作用和体制l体制l组成计算机硬件的器件特性决定了时序信号的基本体制是电位脉冲制(以触发器为例)lD为电位输入端,CP(Clock Pulse)为脉冲输入端lR,S为电位输入端l特性方程如下D=0时,CP上升沿到来时,D触发器状态置0D=1时,CP上升沿到来时,D触发器状态置14

15、15.3.1、时序产生器时序产生器作用和体制作用和体制425.3.1、时序产生器时序产生器作用和体制作用和体制l硬布线控制器,采用主状态周期节拍电位节拍脉冲三级体制时序信号产生电路复杂435.3.1、时序产生器时序产生器作用和体制作用和体制l微程序控制器,节拍电位节拍脉冲二级体制利用微程序顺序执行来实现微操作时序信号产生电路简单445.3.2、时序信号产生器、时序信号产生器l功能:产生时序信号l各型计算机产生时序电路不相同l大、中型计算机的时序电路复杂,微型计算机的时序电路简单l构成:l时钟源l环形脉冲发生器l节拍脉冲和读写时序译码逻辑l启停控制逻辑45一、时钟脉冲源一、时钟脉冲源l电路左边是

16、振荡电路,右边是整形电路,左边的电路产生接近正弦波的波形,右边非门则将其整形为一个理想的方波11RC1C246二、环形脉冲发生器二、环形脉冲发生器l作用:产生一组有序间隔相等或不等的脉冲序列l毛刺产生原因:电路内部原因以及寄存器参数的影响,避免方法:采用循环移位寄存器l电路分析:S为置位端,R为复位端SRDCPQQ47三、环形脉冲发生器三、环形脉冲发生器48三、环形脉冲发生器三、环形脉冲发生器C4C1C2C349四、节拍脉冲和读四、节拍脉冲和读/写时序的编码写时序的编码l节拍脉冲的译码逻辑(一个CPU周期包含4个等间隔的节拍脉冲)l思考:假设一个CPU周期包含5个等间隔的节拍脉冲,环型脉冲发生

17、电路怎样改进?译码逻辑有什么变化?10430332022101.CTCTCCTCCT50四、节拍脉冲和读四、节拍脉冲和读/写时序的编码写时序的编码l读写时序信号的译码逻辑表达式l以上带的表示信号来自微程序控制器,持续一个CPU周期 l读写时序信号受到控制的信号,而节拍脉冲信号时计算机加上电源后就产生。DRCRD2EWCWE2QMRECMREQ2QIORCIORQ25152五、启停控制逻辑五、启停控制逻辑启动、停机是随机的,对读/写时序信号也需要由启停逻辑加以控制。当运行触发器为“1”时,打开时序电路。当计算机启动时,一定要从第1个节拍脉冲前沿开始工作。当运行触发器“0”时,关闭时序产生器。停机

18、时一定要在第4个节拍脉冲结束后关闭时序产生器。535.3.3 控制方式控制方式l机器指令所包含的CPU周期数反映了指令的复杂程度,不同CPU周期的操作信号的数目和出现的先后次序也不相同。l控制方式:控制不同操作序列时序信号的方法。l分为以下几种:l同步控制方式l异步控制方式l联合控制方式545.3.3 控制方式控制方式l同步控制方式(指令的机器周期和时钟周期数不变)l完全统一的机器周期执行各种不同的指令l采用不定长机器周期l中央控制于局部控制的结合l异步控制方式l每条指令需要多长时间就占多长时间l联合控制方式l大部分指令在固定的周期内完成,少数难以确定的操作采用异步方式l机器周期的节拍脉冲固定

19、,但是各指令的机器周期数不固定(微程序控制器采用)555.4 微程序控制器微程序控制器l发展l微程序的概念和原理是由英国剑桥大学的MVWilkes教授于1951年在曼彻斯特大学计算机会议上首先提出来的,当时还没有合适的存放微程序的控制存储器的元件。l到1964年,IBM公司在IBM 360系列机上成功地采用了微程序设计技术。l20世纪70年代以来,由于VLSI技术的发展,推动了微程序设计技术的发展和应用。l目前,从大型机到小型机、微型机都普遍采用了微程序设计技术。565.4 微程序控制器微程序控制器l基本思想:仿照解题的方法,把操作控制信号编制成微指令,存放到控制存储器里,运行时,从控存中取出

20、微指令,产生指令运行所需的操作控制信号。从上述可以看出,微程序设计技术是用软件方法来设计硬件的技术。575.4 微程序控制器微程序控制器5.4.1微程序控制原理微程序控制原理 5.4.2微程序设计技术585.4.1微程序控制原理 l微命令:控制部件向执行部件发出的各种控制命令叫作微命令,它是构成控制序列的最小单位。l例如:打开或关闭某个控制门的电位信号、某个寄存器的打入脉冲等。l微命令是控制计算机各部件完成某个基本微操作的命令。l微操作:是微命令的操作过程。l微命令和微操作是一一对应的。l微命令是微操作的控制信号,微操作是微命令的操作过程。l微操作是执行部件中最基本的操作。595.4.1微程序

21、控制原理 由于数据通路的结构关系,微操作可分为相容的和互斥的两种:l互斥的微操作,是指不能同时或不能在同一个节拍内并行执行的微操作。可以编码l相容的微操作,是指能够同时或在同一个节拍内并行执行的微操作。必须各占一位1.举一个例子看一下:见下图60615.4.1微程序控制原理3、微指令:把在同一CPU周期内并行执行的微操作控制信息,存储在控制存储器里,称为一条微指令(Microinstruction)。l它是微命令的组合,微指令存储在控制器中的控制存储器中l一条微指令通常至少包含两大部分信息:l操作控制字段,又称微操作码字段,用以产生某一步操作所需的各个微操作控制信号。某位为1,表明发微指令微指

22、令发出的控制信号都是节拍电位信号,持续时间为一个CPU周期微命令信号还要引入时间控制l顺序控制字段,又称微地址码字段,用以控制产生下一条要执行的微指令地址。625.4.1微程序控制原理4、微程序l一系列微指令的有序集合就是微程序。l一段微程序对应一条机器指令。l微地址 :存放微指令的控制存储器的单元地址l下面我们举一个十进制加法指令为实例。635.4.1微程序控制原理l微指令基本格式645.4.1微程序控制原理l以十进制加法指令流程l数据通路图l操作流程图655.4.1微程序控制原理l四条微指令如下000 000 000 000 111111000000000取指令操作信号P1判别010 10

23、0 100 100 000000010011010存结果LDR2R1-XR2 - Y+66十进制加法指令的微程序十进制加法指令的微程序010 001 001 100 000000100001001存结果LDR2R2 - XR3 - Y+P2判别P2条件为0,转到取指令的公操作010 001 001 001 000000000000001存结果LDR2R2 - XR3 - Y-转到取指令的公操作675.4.1微程序控制原理l控制存储器(CM)。l这是微程序控制器的核心部件,用来存放微程序。其性能(包括容量、速度、可靠性等)与计算机的性能密切相关。5、微程序控制器原理685.4.1微程序控制原理l

24、微指令寄存器(IR)l用来存放从CM取出的正在执行的微指令,它的位数同微指令字长相等。l微地址形成部件l用来产生初始微地址和后继微地址,以保证微指令的连续执行。l微地址寄存器(MAR) l它接受微地址形成部件送来的微地址,为下一步从CM中读取微指令作准备。695.4.1微程序控制原理l微程序控制器的工作过程(1)执行取指令的公共操作。取指令的公共操作通常由一段取指微程序来完成,在机器开始运行时,自动将取指微程序的入口微地址送MAR,并从CM中读出相应的微指令送入IR。微指令的操作控制字段产生有关的微命令,用来控制实现取机器指令的公共操作。取指微程序的入口地址一般为CM的0号单元,当取指微程序执

25、行完后,从主存中取出的机器指令就已存人指令寄存器IR中了。(2)由机器指令的操作码字段通过微地址形成部件产生出该机器指令所对应的微程序的入口地址,并送入MA(3)从CM中逐条取出对应的微指令并执行之,每条微指令都能自动产生下一条微指令的地址。705.4.1微程序控制原理(4)一条机器指令对应的微程序的最后一条微指令执行完毕后,其下一条微指令地址又回到取指微程序的人口地址,从而继续第(1)步,以完成取下条机器指令的公共操作。l以上是一条机器指令的执行过程,如此周而复始,直到整个程序的所有机器指令执行完毕。715.4.1微程序控制原理6、CPU周期和微指令周期的关系725.4.1微程序控制原理73

26、机器指令与机器指令与微指令的关系微指令的关系状态信息74 例 设某计算机运算器框图如图所示,其中ALU为16位的加法器(高电平工作),SA,SB为16位暂存器。4个通用寄存器由D触发器组成,Q端输出,其读、写控制功能见下表。 写控制读控制选择WA1WA0W选择RA1RA0R不写入*0不读出*0R3111R3111R2011R2011R1101R1101R0001R00017576 机器采用串行微程序控制方式,其微指令周期见上页图(b)。其中读ROM是从控存中读出一条微指令时间,为1s;ALU工作是加法器做加法运算,为500ns;m1是读寄存器时间,为500ns;m2是写寄存器的工作脉冲宽度,为

27、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-ALUReset77要求:用二进制代码写出如下指令的微程序:(1)“ADD R0,R1”指令,即(R0)+(R1)R1(2)“SUB R2,R3”指令

28、,即(R3)-(R2)R3(3)“MOV R2,R3”指令,即(R2)(R3)78先画出三条指令的微指令的微程先画出三条指令的微指令的微程序流程图,如下图所示。序流程图,如下图所示。 l其中未考虑“取指周期”和顺序控制问题,也即微程序仅考虑“执行周期”,微指令序列的顺序用数字标号标在每条微指令的右上角。每一框表示一条微指令。l根据给定的微指令周期时间关系,完成ADD,SUB指令的执行动作需要3条微指令,MOV指令只需2条微指令。用二进制代码写出的三条指令的微程序列于下表中,其中*表示代码随意设置(0或1均可)。 79 指令 微程序代码 ADD 00*10100000 01*10010000 *

29、0101001001 SUB 11*10100000 10*10010000 *1101000101 MOV 10*10100000 *1101001011RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset805.4.2 微程序设计技术微程序设计技术一、设计微指令应当追求的目标l有利于缩短微指令的长度l有利于缩小CM的容量l有利于提高微程序的执行速度l有利于对微指令的修改l有利于提高微程序设计的灵活性815.4.2 微程序设计技术微程序设计技术1、微命令的编码方法编码有三种方法:直接表示法编码有三种方法:直接表示法/编码表示法编码表示法/混合表示法混合表示法l直接表

30、示法:操作控制字段中的各位分别可以直接控制计算机,不需要进行译码。82l直接表示法举例,操作控制字段的每一个独立的二进制位代表一个微命令,该位为“1”表示这个微命令有效,为“0”表示这个微命令无效。5.4.2 微程序设计技术微程序设计技术后继微地址判断条件uA0uA1uA2uA3uA4uA5P0P1P2P3INTSINTCLDIRLDPCM4PC_ADDPC_INCLDIARLDAR1AR1_INCM3LDERIAR_BUS#SW_BUS#RS_BUS#ALU_BUSLRWCEL#WRDLDDR1M1S0S1S211121314151617181920212223242526272829303

31、1323334 微指令格式举例(TEC_5实验平台格式)35TJ83直接表示法特点:l这种方法结构简单,并行性强,操作速度快,但是微指令字太长,若微命令的总数为N个,则微指令字的操作控制字段就要有N位。l另外,在N个微命令中,有许多是互斥的,不允许并行操作,将它们安排在一条微指令中是毫无意义的,只会使信息的利用率下降。5.4.2 微程序设计技术微程序设计技术842、编码表示法:将操作控制字段分为若干个小段,每段内采用最短编码法,段与段之间采用直接控制法。5.4.2 微程序设计技术微程序设计技术编码表示法特点:可以避免互斥,使指令字大大缩短,但增加了译码电路,使微程序的执行速度减慢855.4.2

32、 微程序设计技术微程序设计技术3、混合编码法:将前两种结合在一起,兼顾两者特点。一个字段的某些编码不能独立地定义某些微命令,而需要与其他字段的编码来联合定义,如例2:F1与RW865.4.2 微程序设计技术微程序设计技术l编码注意几点:字段编码法中操作控制字段并非是任意的,必须要遵循如下的原则:把互斥性的微命令分在同一段内,兼容性的微命令分在不同段内。这样不仅有助于提高信息的利用率,缩短微指令字长,而且有助于充分利用硬件所具有的并行性,加快执行的速度。应与数据通路结构相适应。每个小段中包含的信息位不能太多,否则将增加译码线路的复杂性和译码时间。一般每个小段还要留出一个状态,表示本字段不发出任何

33、微命令。因此当某字段的长度为三位时,最多只能表示七个互斥的微命令,通常用000表示不操作。下面举例说明87123456789顺序控制4、5:00 无操作01 R1X10 R2 X11 DR X 6、7:00 无操作01 R3Y10 R2 Y11 R1 Y 8、9:00 无操作01 10 11 M 混和表示法1、2、3位为直接表示法4、5 6、7 8、9位为编码表示法885.4.2 微程序设计技术微程序设计技术二、微指令地址的形成l入口地址:每条机器指令对应一段微程序,当公用的取指微程序从主存中取出机器指令之后,由机器指令的操作码字段指出各段微程序的入口地址,这是一种多分支(或多路转移)的情况。

34、l机器指令的操作码转换成初始微地址的方式主要有两种。计数器的方式多路转移的方式895.4.2 微程序设计技术微程序设计技术1、入口地址形成:如果机器指令操作码字段的位数和位置固定,可以直接使操作码与微程序入口地址的部分位相对应。905.4.2 微程序设计技术微程序设计技术2、后继微地址形成方法(1)计数器的方式l方法:微程序顺序执行时,其后继微地址就是现行微地址加上一个增量(通常为1);当微程序遇到转移或转子程序时,由微指令的转移地址段来形成转移微地址。在微程序控制器中也有一个微程序计数器PC,一般情况下都是将微地址寄存器MAR作为PCl特点:优点是简单、易于掌握,编制微程序容易缺点是这种方式

35、不能实现两路以上的并行微程序转移,因而不利于提高微程序的执行速度。915.4.2 微程序设计技术微程序设计技术(2)多路转移的方式l根据条件转移如图l条件:状态条件/测试/微指令中微地址/操作码92【例【例2】微地址寄存器有6位(A5-A0),当需要修改其内容时,可通过某一位触发器的强置端S将其置“1”。现有三种情况:(1)执行“取指”微指令后,微程序按IR的OP字段(IR3-IR0)进行16路分支;(2)执行条件转移指令微程序时,按进位标志C的状态进行2路分支;(3)执行控制台指令微程序时,按IR4,IR5的状态进行4路分支。 请按多路转移方法设计微地址转移逻辑。93 按所给设计条件,微程序

36、有三种判别测试,分别为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个表达式可用“与非”门实现,最后一个用“与或非”门实现。 下图仅画出了A2、A1、A0触发器的微地址转移逻辑图。94955.4.2 微程序设计技术

37、微程序设计技术3、微指令格式分为两类:水平型微指令和垂直型微指令(1)水平型微指令 l水平型微指令是指一次能定义并能并行执行多个微命令的微指令。l格式如下控制字段判别测试字段下地址字段965.4.2 微程序设计技术微程序设计技术l水平型微指令特点: 优点:微指令字较长,速度越快。微指令中的微操作有高度的并行性。微指令译码简单。控制存储器的纵向容量小,灵活性强。缺点:微指令字比较长,明显地增加了控制存储器的横向容量。水平微指令与机器指令差别很大,一般要熟悉机器结构、数据通路、时序系统以及指令执行过程的人才能进行微程序设计,这对用户来说是很困难的。975.4.2 微程序设计技术微程序设计技术(2)

38、垂直型微指令:采用编码方式。l设置微操作控制字段时,一次只能执行一到二个微命令的微指令称为垂直型微指令。985.4.2 微程序设计技术微程序设计技术l垂直型微指令的特点:l微指令字短,一般为1020位左右。l微指令的并行微操作能力有限,一条微指令一般只包含一个微操作命令。l微指令译码比较复杂。全部微命令用一个微操作控制字段进行编码,微指令执行时需行完全译码。l设计用户只需注意微指令的功能,而对微命令及其选择、数据通路的结构则不用过多地考虑,因此,便于用户编制微程序。而且,编制的微程序规整、直观,便于实现设计的自动化。l垂直微指令字较短,使控制存储器的横向容量少。l用垂直微指令编制微程序要使用较

39、多的微指令,微程序较长;要求控制存储器的纵向容量大。垂直微指令产生微命令要经过译码,微程序执行速度慢。l不能充分利用数据通路具有多种并行操作能力995.4.2 微程序设计技术微程序设计技术水平型微指令和垂直型微指令的比较(1)水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则较差。(2)水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。(3)由水平型微指令解释指令的微程序,有微指令字较长而微程序短的特点。垂直型微指令则相反。(4)水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说,比较容易掌握。1005.4.2 微程序设计技术微程序设计技术4、动态微程序设计l对

40、应于一台计算机的机器指令只有一组微程序,这一组微程序设计好之后,一般无须改变而且也不好改变,这种微程序设计技术称为静态微程序设计。 l采用EPROM作为控制存储器,可以通过改变微指令和微程序来改变机器的指令系统,这种微程序设计技术称为动态微程序设计。1015.6 硬布线控制器硬布线控制器1、实现方法l通过逻辑电路直接连线而产生的,又称为组合逻辑控制方式2、设计目标l使用最少元件(复杂的树形网络)l速度最高1025.6 硬布线控制器硬布线控制器3、逻辑原理 (1)逻辑原理图lC为微操作控制信号Im为译码器输出,Mi为节拍电位,Tk为节拍脉冲,Bj为状态条件lC由组合电路实现,速度快,但难以修改。

41、(2)指令的执行流程l微程序控制器时序信号简单。只需要若干节拍脉冲信号即可。l组合逻辑控制器除了节拍脉冲信号外,还需要节拍电位信号。),(jkimBTMIfC返回1035.6 硬布线控制器硬布线控制器(3)微操作控制信号产生l在微程序控制器中,微操作控制信号由微指令产生,并且可以重复使用。l在硬联线控制器中,某一微操作控制信号由布尔代数表达式描述的输出函数产生。l设计微操作控制信号的方法和过程是,根据所有机器指令流程图,寻找出产生同一个微操作信号的所有条件,并与适当的节拍电位和节拍脉冲组合,从而写出其布尔代数表达式并进行简化,然后用门电路或可编程器件来实现。 1045.6 硬布线控制器硬布线控

42、制器4、设计步骤(1)画出指令流程图 (2)列出微操作时间表l将指令流程图中的微操作合理地安排到各个机器周期的相应节拍和脉冲中去;l微操作时间表形象地表明:什么时间、根据什么条件发出哪些微操作信号。1055.6 硬布线控制器硬布线控制器(3)进行微操作信号的综合l当列出所有指令的微操作时间表之后,需要对它们进行综合分析,把凡是要执行某一微操作的所有条件(哪条指令、哪个机器周期、哪个节拍和脉冲等)都考虑在内,加以分类组合,列出各微操作产生的逻辑表达式,然后加以简化,使逻辑表达式更为合理。(4)实现电路 l根据整理并化简的逻辑表达式组,可以用一系列组合逻辑电路加以实现,加根据逻辑表达式画出逻辑电路

43、图,用逻辑门电路的组合来实现之,也可以直接根据逻辑表达式,用PLA或其他逻辑电路实现。106 例3根据图5.29,写出以下操作控制信号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打入R1寄存器107数据通路图数据通路图RD/WRLDDRLDIRLDPCLDARPC+1108 图5.29 硬布线控制器的

44、指令周期流程图109列出微操作时间表(根据数据通路和操作流程图)列出微操作时间表(根据数据通路和操作流程图)节拍电位脉冲LDARLDDRLDIRM1T1T2T3ADD、STA、JMP、NOP、CLAT4ADD、STA、JMP、NOP、CLAADD、STA、JMP、NOP、CLAM2T1T2T3T4ADD、STA、JMPM3T1T2T3ADD、STAT4110进行微操作信号的综合进行微操作信号的综合 图5.29中五条指令的微操作控制信号举例。 LDAR=M1T4+M2(ADD+STA+JMP)T4 LDDR=M1T3+M3(ADD+STA)T3 LDIR=M1T4 其中M1、M2、M3是三个节拍

45、电位信号;T3、T4为时钟周期信号;ADD、STA、JMP是指令OP字段译码器的输出信号。l最后给出电路(省略)1115.6 传统传统CPU5.6.1Intel 80885.6.2 IBM3701125.6.1Intel 80881135.6.2 IBM370lIBM370 CPU(自己看)l1972年l32位lALU的三个功能部件l寄存器结构lCPU控制状态l管态l目态1145.7 流水流水CPUlEnslow统计过:l19651975间,反映器件性能级延迟大约为原来的1/10,而反映计算机系统性能之一的平均指令时间为1%。l结论:同一时期计算机系统性能比器件性能提高的速度快得多l促使计算机

46、性能提高的因素除了器件性能得提高外还有哪些呢?1155.7 流水流水CPU5.7.1并行处理技术5.7.2流水CPU的结构5.7.3流水线中的主要问题5.7.4 Pentium CPU1165.7.1并行处理技术并行处理技术l并行性(Parrelism)概念l问题中具有可以同时进行运算或操作的特性l例:在相同时延的条件下,用n位运算器进行n位并行运算速度几乎是一位运算器进行n位串行运算的n倍(狭义)l(广义)含义l只要在同一时刻(同时性)或在同一时间间隔内(并发性)完成两种或两种以上性质相同或不同的工作,他们在时间上相互重叠,都体现了并行性1175.7.1并行处理技术并行处理技术l三种形式l时

47、间并行(重叠):让多个处理过程在时间上相互错开,轮流使用同一套硬件设备的各个部件,以加快硬件周转而赢得速度,实现方式就是采用流水处理部件l空间并行(资源重复):以数量取胜l它能真正的体现同时性lLSI和VLSI为其提供了技术保证l时间+空间并行lPentium中采用了超标量流水线技术1185.7.2流水流水CPU的结构的结构l流水计算机的系统组成存储器体系:主存采用多体交叉存储器;Cache流水方式CPU:指令部件、指令队列、执行部件指令流水线指令队列:FIFO执行部件:可以有多个采用流水线方式构成的算术逻辑部件构成,可以将定点运算部件和浮点运算部件分开。1195.7.2流水流水CPU的结构的

48、结构l流水线CPU时空图lIF(Instruction Fetch取指) lID(Instruction Decode指令译码)lEX(Execution执行) lWB(Write Back写回)1205.7.2流水流水CPU的结构的结构流水CPU非流水CPU1215.7.2流水流水CPU的结构的结构具有两条以上的指令流水线上图中流水线满载时,每一个时钟周期可以执行2条指令采用时间和空间并行技术1225.7.2流水流水CPU的结构的结构l流水线(Pipelining)的分类l按级别分为l指令流水线l算术流水线l处理机流水线(宏流水线)1235.7.3流水线中的主要问题流水线中的主要问题l瓶颈问

49、题(流水线中有速度慢的段)l再分成几个段l用资源重复的方法也可以解决l资源相关:多条指令进入流水线后在同一时钟周期内争用同一功能部件。l解决办法:后边指令拖一拍再推进;增设一个功能部件1245.7.3流水线中的主要问题流水线中的主要问题l数据相关lRAW(Read After Write)后面指令用到前面指令所写的数据lWAW(Write After Write)两条指令写同一个单元在简单流水线中没有此类相关,因为不会乱序执行lWAR(Write After Read)后面指令覆盖前面指令所读的单元在简单流水线中没有此类相关l解决办法:可以推后后继指令对相关单元的读操作设置相关的直接通路(Fo

50、rwarding)1255.7.3流水线中的主要问题流水线中的主要问题例:两条指令发生数据相关冲突RAW(Read After Write)ADD R1,R2,R3R2+R3-R1SUBR4,R1,R5R1-R5-R4AND R6,R1,R7R1R7-R61265.7.3流水线中的主要问题流水线中的主要问题l控制相关l引起原因:转移指令l解决办法:延迟转移法,转移预测法127【例4】流水线中有三类数据相关冲突:写后读(RAW)相关;读后写(WAR)相关;写后写(WAW)相关。判断以下三组指令各存在哪种类型的数据相关。(1)I1 ADD R1,R2,R3 ;(R2)+(R3)-R1 I2 SUB

51、 R4,R1,R5 ;(R1)-(R5)-R4(2)I3 STO M(x),R3 ;(R3)-M(x),M(x)是存储器单元 I4 ADD R3,R4,R5 ;(R4)+(R5)-R3(3)I5 MUL R3,R1,R2 ;(R1)(R2)-R3 I6 ADD R3,R4,R5 ;(R4)+(R5)-R3解:l第(1)组指令中,I1指令运算结果应先写入R1,然后在I2指令中读出R1内容。由于I2指令进入流水线,变成I2指令在I1指令写入R1前就读出R1内容,发生RAW相关。l第(2)组指令中,I3指令应先读出R3内容并存入存储单元M(x),然后在I4指令中将运算结果写入R3。但由于I4指令进入

52、流水线,变成I4指令在I3指令读出R3内容前就写入R3,发生WAR相关。l第(3)组指令中,如果I6指令的加法运算完成时间早于I5指令的乘法运算时间,变成指令I6在指令I5写入R3前就写入R3,导致R3的内容错误,发生WAW相关。1285.7.4 Pentium CPUlPentium CPU (第一代)l1989年初0.8um工艺,310万晶体管l有60M和66MHz外频两种版本l5V电压,功耗20Wl超标量流水线结构l486有一条流水线lPentium有U和V两条指令流水线U流水线可以执行所有的整数和浮点指令V流水线可以执行简单的整数和FXCH浮点指令l双重分离式Cache,减少了等待和搬

53、移数据时间l32位CPU,外部数据总线宽度为64位,外部地址总线宽度为36位1295.7.4 Pentium CPUl非固定长度指令格式,9种寻址方式,191条指令,兼具有RISC和CISC特性,不过我们还是将其看成CISClSL电源管理技术l提供了更加灵活的存储器寻址结构,可以支持传统的4k大小的页面,也可以支持4M大小的页面l动态转移预测技术lPentium结构图lMESI(Modified Exclusion Share Invalid)lBTB(Branch Target Buffer)lTLB(Translation Lookaside Buffer)1301315.8 RISC C

54、PUl特点l(采用流水线技术)l简单而统一格式的指令译码;l大部分指令可以单周期执行l只有LOAD/STORE可以访问存储器l简单的寻址方式l采用延迟转移技术l采用LOAD延迟技术l三地址指令格式l较多的寄存器l对称的指令格式l其他。(见书)1325.8 RISC CPUl实例 MC88110lCPU结构框图(见下图)l12个执行功能部件l3个Cache(指令,数据和目标指令)l两个寄存器堆(通用寄存器堆、扩展寄存器堆)l六条80位宽的内部总线133MC88110 CPU结构框图结构框图134MC88110的指令流水线的指令流水线l超标量流水线CPUlF&D:取指和译码段需要一个时钟周

55、期,lEX:执行段,大都只需要一个时钟周期,lWB:写回段,只需要时钟周期的一半l采用了直接通路(Forwarding)技术F&DEXWB135l指令动态调度策略l按序发射l取两条指令,配对发送,一个周期可以有两条指令执行完毕l如下图:136l第一条指令由于资源相关或数据相关,则这两条指令都不发射l若第一条指令能发射,第二条不能发射,只发射第1条指令到EX段,第二条指令等待并新取一条指令与之配对等待发射1375.8 RISC CPUl几个问题:l怎样判断能否发射呢?l可以采用计分牌的方法l如何保证按序完成?lFIFO指令队列l如何对待控制相关(转移指令)?l采用延迟转移法和目标指令ca

56、che法1385.8 RISC CPUl计分牌:l计分牌是一个位向量、每一位对应寄存器堆中的一个寄存器。l指令发射时,目的寄存器在计分牌中相应位为1;写回后清0l判断指令可否发射的条件是:l该指令的所有目的寄存器、源寄存器在向量位中对应的位都为0l否则,等待这些位清除1395.8 RISC CPUlFIFO队列lFIFO队列称为历史缓冲器,每当一条指令发射后,副本传入FIFO队列队尾l只有当前面的指令执行完毕,才到达队首,l执行完毕后,离开队列1405.8 RISC CPUl延迟转移法l可选l如果采用延迟转移选项,则转移指令后的转移延迟时间内指令被发射l否则,指令照常发送l指令Cache(TI

57、C)法l是一个32位的全相联Cache,用来保存转移路径的前两条指令1415.8 RISC CPUl例5 超标量流水线结构如下1425.8 RISC CPUI1LDA R1,AI2ADDR2,R1I3ADDR3,R4I4MULR4,R5I5LDAR6,BI6MULR6,R7l画出按序完成各段推进情况图l画出按序完成流水线时空图RAWWARWAW1435.8 RISC CPUI61445.8 RISC CPU1455.9 多媒体多媒体 CPUl多媒体概念l指利用计算机来综合、集成地处理文字、图形、图象、声音、视频、动画等媒体,从而形成的一种全新的信息传播和处理的计算机技术。主要特征:l信息表示的

58、数字化l处理的集成性l系统的交互性1465.9 多媒体多媒体 CPUl主要技术问题l压缩和解压缩技术l静态640*480的256色图象约占640*480*1B=307200B300K640*480的24Bit彩色图象约占640*480B*3=921600B=900Kl动态每秒钟30桢(播放256色)则每秒钟处理300K*30=9M,而ISA总线的传输率只有5MBPSl结论:多媒体信息量大,给信息处理和传输带来了困难1475.9 多媒体多媒体 CPUl解决方法:压缩技术JPEG(Joint Photographic Experts GroupMPEG(Moving Picture group)软

59、件技术多媒体OS多媒体处理软件硬件技术MMX(多媒体扩展技术)动态执行技术1485.9 多媒体多媒体 CPUlMMX(多媒体扩展技术)lMMX是Intel为增强处理器的多媒体能力而提出的解决方案,它是57个多媒体指令集合。这些指令是为高效地处理视频、声音和图形数据而专门设计的lIntel使用SIMD(单指令流,多数据流)过程来实现这些多媒体指令。1495.9 多媒体多媒体 CPUl多媒体和通信应用中经常使用重复运行的循环,这些循环只占程序代码的10%或更少,却要占用多达90%的执行时间。lSIMD允许一条指令在多个数据上进行相同的操作。由于循环是打乱CPU内部流水线,降低CPU执行效率的一个重

60、要因素,lMMX指令,减少了循环,能大大提高原来存在大量计算性循环的视频、声音和图象等多媒体应用的性能。1505.9 多媒体多媒体 CPUlMMX指令处理的数据类型称作分组数据(packet data),每个分组数据总是64位的。l8个字节l4个16位字l2个32位双字l一个64位数据1515.9 多媒体多媒体 CPUlMMX一次可以计算64位数据,而Intel处理器上的通用寄存器是32位的,因此它借用浮点运算器80位的寄存器来存放数据。l虽然借用了浮运算器的寄存器,但数据的处理或运算并不是在浮点运算器中进行,而是在专门的整数处理单元中进行。l8个80位的浮点数据寄存器,在进行浮点运算的时候ST0ST7l在进

温馨提示

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

评论

0/150

提交评论