计算机组成原理:第五章 中央处理机_第1页
计算机组成原理:第五章 中央处理机_第2页
计算机组成原理:第五章 中央处理机_第3页
计算机组成原理:第五章 中央处理机_第4页
计算机组成原理:第五章 中央处理机_第5页
已阅读5页,还剩132页未读, 继续免费阅读

付费下载

下载本文档

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

文档简介

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

控制器组成:程序计数器、指令寄存器、数据缓冲器、地址寄存器、通用寄存器、状态寄存器、时序发生器、指令译码器、总线(数据通路)程序计数器PC(ProgrammingCounter)用来存放正在执行的指令的地址或接着将要执行的下一条指令的地址。顺序执行时,每执行一条指令,PC的值应加1要改变程序执行顺序的情况时,一般由转移类指令将转移目标地址送往PC,可实现程序的转移。指令寄存器IR(InstructionRegister)

指令寄存器用来存放从存储器中取出的待执行的指令。在执行该指令的过程中,指令寄存器的内容不允许发生变化,以保证实现指令的全部功能。2、CPU的基本组成指令译码器ID(InstructionDecoder)

暂存在指令寄存器中的指令只有在其操作码部分经译码后才能识别出是一条什么样的指令。译码器经过对指令进行分析和解释,产生相应的控制信号提供给时序控制信号形成部件。机器周期、工作节拍、脉冲及启停控制线路

由脉冲源产生一定频率的脉冲信号作为整个机器的时钟脉冲时序控制信号形成部件

时序控制信号形成部件又称微操作信号发生器,真正控制各部件工作的微操作信号是由指令部件提供的操作信号、时序部件提供的时序信号、被控制功能部件所反馈的状态及条件综合形成的。2、CPU的基本组成地址形成部件

根据指令的不同寻址方式,用来形成操作数的有效地址功能就是指令流出的控制,实质上就是对取指令的控制。指令分析与执行的控制,对指令流中的每条指令进行分析解释,根据指令的操作性质和寻址方式形成操作数的地址,然后根据该操作数的地址找到相应的存储单元,并从中取出指令执行过程中要用到的操作数,最后还要形成相应的操作控制信号序列,通过运算器、存储器及输入/输出设备的动作,来实现这条指令的功能。指令流向的控制,指令流向的控制即下条指令地址的形成控制。数据缓冲器、状态条件寄存器3、CPU中的主要寄存器DR缓冲寄存器/地址寄存器AR中转站补偿速度差别IR指令寄存器PC程序计数器AC内存或I/O指令数据DR指令数据4、操作控制器和时序产生器(1)数据通路(2)操作控制器:为数据通路的建立提供各种操作信号。操作信号提供的依据是指令操作码和时序信号,主要有三种类型:硬布线控制器微程序控制器混合类型4、操作控制器和时序产生器硬布线控制器硬布线控制器,它是采用组合逻辑技术来实现的,其时序控制信号形成部件是由门电路组成的复杂树形网络。这种方法是分立元件时代的产物,以使用最少器件数和取得最高操作速度为设计目标。组合逻辑控制器的最大优点是速度快,但是时序控制信号形成部件的结构不规整,使得设计、调试、维修较困难,难以实现设计自动化。4、操作控制器和时序产生器微程序控制器

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

这种控制器称为PLA控制器,它是吸收前两种的设计思想来实现的。4、操作控制器和时序产生器时序产生器:提供定时和时序信号5.2指令周期5.2.1指令周期的基本概念5.2.2典型指令的指令周期5.2.3用方框图语言表示指令周期5.2指令周期5.2.1指令周期的基本概念概念指令周期:指取指令、分析指令到执行完该指令所需的全部时间。各种指令的指令周期相同吗?为什么?机器周期通常又称CPU周期,通常把一条指令周期划分为若干个机器周期,每个机器周期完成一个基本操作。主存的工作周期(存取周期)为基础来规定CPU周期,比如,可以用CPU读取一个指令字的最短时间来规定CPU周期不同的指令,可能包含不同数目的机器周期。一个机器周期中,包含若干个时钟周期(节拍脉冲或T脉冲)。CPU周期规定,不同的计算机中规定不同5.2.1指令周期的基本概念时钟周期在一个机器周期内,要完成若干个微操作。这些微操作有的可以同时执行,有的需要按先后次序串行执行。因而需要把一个机器周期分为若干个相等的时间段,每一个时间段称为一个节拍。节拍常用具有一定宽度的电位信号表示,称之为节拍电位。节拍的宽度取决于CPU完成一次基本的微操作的时间,如:ALU完成一次正确的运算,寄存器间的一次数据传送等。5.2.1指令周期的基本概念5.2.2指令周期下面我们用一个模型机来介绍指令周期概念主要包括:取指(令)周期、(指令)执行周期执行过程:框架原理5.2.2MOV指令的指令周期取指周期执行周期225.2.2MOV指令的指令周期-取指①程序计数器PC中装入第一条指令地址101(八进制);②PC的内容被放到指令地址总线ABUS(I)上,对指存进行译码,并启动读命令;③从101号地址读出的MOV指令通过指令总线IBUS装入指令寄存器IR;④程序计数器内容加1,变成102,为取下一条指令做好准备;⑤指令寄存器中的操作码(OP)被译码;⑥CPU识别出是MOV指令,至此,取指周期即告结束。WR/RD①操作控制器(OC)送出控制信号到通用寄存器,选择R1(10)作源寄存器,选择R0作目标寄存器;②OC送出控制信号到ALU,指定ALU做传送操作;③OC送出控制信号,打开ALU输出三态门,将ALU输出送到数据总线DBUS上。注意,任何时候DBUS上只能有一个数据。④OC送出控制信号,将DBUS上的数据打入到数据缓冲寄存器DR(10);⑤OC送出控制信号,将DR中的数据10打入到目标寄存器R0,R0的内容由00变为10。至此,MOV指令执行结束。5.2.3LAD指令的指令周期取指周期执行周期5.2.3LAD指令的指令周期5.2.5ADD指令的指令周期5.2.5ADD指令的指令周期5.2.5STO指令的指令周期5.2.5STO指令的指令周期5.2.6JMP指令的指令周期5.2.6JMP指令的指令周期5.2.7用方框图语言表示的指令周期引入目的主要是为了教学目的(控制器设计)方法:指令系统设计(模型机的五指令系统)方框——按CPU周期方框内内容——数据通路操作或控制操作菱形符号——判别或测试~——公操作前边所讲述的5种操作的框图描述5.2.7方框图表示指令周期取指执行5.2.7方框图表示指令周期P139例1双总线结构机器的数据通路图微操作信号微操作信号注意微操作控制信号(右边)ALU0ALU0总结一条指令包括一个取指令周期和一个及一个以上的执行周期组成在每个CPU周期中数据通路是明确的数据通路的建立及操作受到操作控制器的控制,当然决定于是什么指令。5.3时序产生器和控制方式5.3.1时序产生器作用和体制5.3.2时序信号产生器5.3.3控制方式5.3.1、时序产生器作用和体制作用:CPU中的控制器用它指挥机器的工作CPU可以用时序信号/周期信息来辨认从内存中取出的是指令(取指)还是数据(执行)一个CPU周期中时钟脉冲对CPU的动作有严格的约束操作控制器发出的各种信号是时间(时序信号)和空间(部件操作信号)的函数。5.3.1、时序产生器作用和体制体制:电位—脉冲和状态周期—节拍电位—节拍脉冲5.3.1、时序产生器作用和体制硬布线控制器,采用主状态周期—节拍电位—节拍脉冲三级体制时序信号产生电路复杂5.3.1、时序产生器作用和体制微程序控制器,节拍电位—节拍脉冲二级体制利用微程序顺序执行来实现微操作时序信号产生电路简单5.3.2、时序信号产生器功能:产生时序信号各型计算机产生时序电路不相同大、中型计算机的时序电路复杂,微型计算机的时序电路简单构成:时钟源环形脉冲发生器节拍脉冲和读写时序译码逻辑启停控制逻辑一、时钟脉冲源

电路左边是振荡电路,右边是整形电路,左边的电路产生接近正弦波的波形,右边非门则将其整形为一个理想的方波11RC1C2二、环形脉冲发生器作用:产生一组有序间隔相等或不等的脉冲序列毛刺产生原因:电路内部原因以及寄存器参数的影响,避免方法:采用循环移位寄存器电路分析:S为置位端,R为复位端SRDCPQQ三、环形脉冲发生器三、环形脉冲发生器C4C1C2C3Φ四、节拍脉冲和读/写时序的编码节拍脉冲的译码逻辑(一个CPU周期包含4个等间隔的节拍脉冲)四、节拍脉冲和读/写时序的编码读写时序信号的译码逻辑表达式以上带’的表示信号来自微程序控制器,持续一个CPU周期

读写时序信号受到控制的信号,而节拍脉冲信号时计算机加上电源后就产生。五、启停控制逻辑启动、停机是随机的,对读/写时序信号也需要由启停逻辑加以控制。当运行触发器为“1”时,打开时序电路。当计算机启动时,一定要从第1个节拍脉冲前沿开始工作。当运行触发器“0”时,关闭时序产生器。停机时一定要在第4个节拍脉冲结束后关闭时序产生器。5.3.3控制方式机器指令所包含的CPU周期数反映了指令的复杂程度,不同CPU周期的操作信号的数目和出现的先后次序也不相同。控制方式:控制不同操作序列时序信号的方法。分为以下几种:同步控制方式异步控制方式联合控制方式5.3.3控制方式同步控制方式(指令的机器周期和时钟周期数不变)完全统一的机器周期执行各种不同的指令采用不定长机器周期中央控制于局部控制的结合异步控制方式每条指令需要多长时间就占多长时间联合控制方式大部分指令在固定的周期内完成,少数难以确定的操作采用异步方式机器周期的节拍脉冲固定,但是各指令的机器周期数不固定(微程序控制器采用)5.4微程序控制器发展微程序的概念和原理是由英国剑桥大学的M·V·Wilkes教授于1951年在曼彻斯特大学计算机会议上首先提出来的,当时还没有合适的存放微程序的控制存储器的元件。到1964年,IBM公司在IBM360系列机上成功地采用了微程序设计技术。20世纪70年代以来,由于VLSI技术的发展,推动了微程序设计技术的发展和应用。目前,从大型机到小型机、微型机都普遍采用了微程序设计技术。5.4微程序控制器基本思想:仿照解题的方法,把操作控制信号编制成微指令,存放到控制存储器里,运行时,从控存中取出微指令,产生指令运行所需的操作控制信号。从上述可以看出,微程序设计技术是用软件方法来设计硬件的技术。5.4微程序控制器5.4.1微程序控制原理

5.4.2微程序设计技术5.4.1微程序控制原理

微命令:控制部件向执行部件发出的各种控制命令叫作微命令,它是构成控制序列的最小单位。例如:打开或关闭某个控制门的电位信号、某个寄存器的打入脉冲等。微命令是控制计算机各部件完成某个基本微操作的命令。微操作:是微命令的操作过程。微命令和微操作是一一对应的。微命令是微操作的控制信号,微操作是微命令的操作过程。微操作是执行部件中最基本的操作。5.4.1微程序控制原理

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

:存放微指令的控制存储器的单元地址下面我们举一个十进制加法指令为实例。5.4.1微程序控制原理微指令基本格式5.4.1微程序控制原理以十进制加法指令流程数据通路图操作流程图5.4.1微程序控制原理四条微指令如下000000000000111111000000000取指令操作信号P1判别64RD/WRLDDRLDIRLDPCLDARPC+15.4.1微程序控制原理R1+R2->R2010100100100000000010011010存结果LDR2R1->XR2->Y+5.4.1微程序控制原理十进制加法指令的微程序010001001100000000100001001存结果LDR2R2->XR3->Y+P2判别P2条件为0,转到取指令的公操作010001001001000000000000001存结果LDR2R2->XR3->Y-转到取指令的公操作R2+R3->R2R2-R3->R25.4.1微程序控制原理控制存储器(μCM)。这是微程序控制器的核心部件,用来存放微程序。其性能(包括容量、速度、可靠性等)与计算机的性能密切相关。5、微程序控制器原理5.4.1微程序控制原理微指令寄存器(μIR)用来存放从μCM取出的正在执行的微指令,它的位数同微指令字长相等。微地址形成部件用来产生初始微地址和后继微地址,以保证微指令的连续执行。微地址寄存器(μMAR)它接受微地址形成部件送来的微地址,为下一步从μCM中读取微指令作准备。5.4.1微程序控制原理微程序控制器的工作过程(1)执行取指令的公共操作。取指令的公共操作通常由一段取指微程序来完成,在机器开始运行时,自动将取指微程序的入口微地址送μMAR,并从μCM中读出相应的微指令送入μIR。微指令的操作控制字段产生有关的微命令,用来控制实现取机器指令的公共操作。取指微程序的入口地址一般为μCM的0号单元,当取指微程序执行完后,从主存中取出的机器指令就已存人指令寄存器IR中了。(2)由机器指令的操作码字段通过微地址形成部件产生出该机器指令所对应的微程序的入口地址,并送入μMA(3)从μCM中逐条取出对应的微指令并执行之,每条微指令都能自动产生下一条微指令的地址。5.4.1微程序控制原理(4)一条机器指令对应的微程序的最后一条微指令执行完毕后,其下一条微指令地址又回到取指微程序的人口地址,从而继续第(1)步,以完成取下条机器指令的公共操作。以上是一条机器指令的执行过程,如此周而复始,直到整个程序的所有机器指令执行完毕。机器指令与微指令的关系状态信息

例设某计算机运算器框图如图所示,其中ALU为16位的加法器(高电平工作),SA,SB为16位暂存器。4个通用寄存器由D触发器组成,Q端输出,其读、写控制功能见下表。写控制读控制选择WA1WA0

W选择RA1RA0

R不写入**

0不读出**

0

R3

1

1

1

R3

1

1

1

R2

0

1

1

R2

0

1

1

R1

1

0

1

R1

1

0

1

R0

0

0

1

R0

0

0

1

机器采用串行微程序控制方式,其微指令周期见上页图(b)。其中读ROM是从控存中读出一条微指令时间,为1μs;ALU工作是加法器做加法运算,为500ns;m1是读寄存器时间,为500ns;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-ALUReset~要求:用二进制代码写出如下指令的微程序:(1)“ADDR0,R1”指令,即R0+R1→R1(2)“SUBR2,R3”指令,即R3-R2→R3(3)“MOVR2,R3”指令,即R2→R3先画出三条指令的微指令的微程序流程图,如下图所示。下面不考虑“取指周期”和顺序控制问题,也即微程序仅考虑“执行周期”,微指令序列的顺序用数字标号标在每条微指令的右上角。每一框表示一条微指令。根据给定的微指令周期时间关系,完成ADD,SUB指令的执行动作需要3条微指令,MOV指令只需2条微指令。用二进制代码写出的三条指令的微程序列于下表中,其中*表示代码随意设置(0或1均可)。RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALU取反加1Reset~

指令微程序代码

ADD00**1010000001**10010000**0101001001SUB11**1010000010**10010000**1101000101MOV10**10100000**11010010115.4.2微程序设计技术一、设计微指令应当追求的目标有利于缩短微指令的长度有利于缩小CM的容量有利于提高微程序的执行速度有利于对微指令的修改有利于提高微程序设计的灵活性5.4.2微程序设计技术一、微指令格式分为两类:水平型微指令和垂直型微指令(1)水平型微指令

水平型微指令是指一次能定义并能并行执行多个微命令的微指令。格式如下控制字段判别测试字段下地址字段5.4.2微程序设计技术水平型微指令特点:优点:微指令字较长,速度越快。微指令中的微操作有高度的并行性。微指令译码简单。控制存储器的纵向容量小,灵活性强。缺点:微指令字比较长,明显地增加了控制存储器的横向容量。水平微指令与机器指令差别很大,一般要熟悉机器结构、数据通路、时序系统以及指令执行过程的人才能进行微程序设计,这对用户来说是很困难的。5.4.2微程序设计技术(2)垂直型微指令:采用编码方式。设置微操作控制字段时,一次只能执行一个微命令的微指令称为垂直型微指令。5.4.2微程序设计技术垂直型微指令的特点:微指令字短,一般为10~20位左右。微指令的并行微操作能力有限,一条微指令一般只包含一个微操作命令。微指令译码比较复杂。全部微命令用一个微操作控制字段进行编码,微指令执行时需行完全译码。设计用户只需注意微指令的功能,而对微命令及其选择、数据通路的结构则不用过多地考虑,因此,便于用户编制微程序。而且,编制的微程序规整、直观,便于实现设计的自动化。垂直微指令字较短,使控制存储器的横向容量少。用垂直微指令编制微程序要使用较多的微指令,微程序较长;要求控制存储器的纵向容量大。垂直微指令产生微命令要经过译码,微程序执行速度慢。不能充分利用数据通路具有多种并行操作能力5.4.2微程序设计技术水平型微指令和垂直型微指令的比较(1)水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则较差。(2)水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。(3)由水平型微指令解释指令的微程序,有微指令字较长而微程序短的特点。垂直型微指令则相反。(4)水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说,比较容易掌握。5.4.2微程序设计技术二、水平格式的微命令的编码方法编码有三种方法:直接表示法/编码表示法/混合表示法1、直接表示法:操作控制字段中的各位分别可以直接控制计算机,不需要进行译码。5.4.2微程序设计技术直接表示法特点:这种方法结构简单,并行性强,操作速度快,但是微指令字太长,若微命令的总数为N个,则微指令字的操作控制字段就要有N位。另外,在N个微命令中,有许多是互斥的,不允许并行操作,将它们安排在一条微指令中是毫无意义的,只会使信息的利用率下降。直接表示法举例,操作控制字段的每一个独立的二进制位代表一个微命令,该位为“1”表示这个微命令有效,为“0”表示这个微命令无效。5.4.2微程序设计技术后继微地址判断条件uA0uA1uA2uA3uA4uA5P0P1P2P3INTSINTCLDIRLDPCM4PC_ADDPC_INCLDIARLDAR1AR1_INCM3LDERIAR_BUS#SW_BUS#RS_BUS#ALU_BUSLRWCEL#WRDLDDR1M1S0S1S2111213141516171819202122232425262728293031323334

微指令格式举例(TEC_5实验平台格式)35TJ5.4.2微程序设计技术2、编码表示法:将操作控制字段分为若干个小段,每段内采用最短编码法,段与段之间采用直接控制法。编码表示法特点:可以避免互斥,使指令字大大缩短,但增加了译码电路,使微程序的执行速度减慢5.4.2微程序设计技术3、混合编码法:将前两种结合在一起,兼顾两者特点。一个字段的某些编码不能独立地定义某些微命令,而需要与其他字段的编码来联合定义,如例2:F1与RW5.4.2微程序设计技术编码注意几点:字段编码法中操作控制字段并非是任意的,必须要遵循如下的原则:①把互斥性的微命令分在同一段内,兼容性的微命令分在不同段内。这样不仅有助于提高信息的利用率,缩短微指令字长,而且有助于充分利用硬件所具有的并行性,加快执行的速度。②应与数据通路结构相适应。③每个小段中包含的信息位不能太多,否则将增加译码线路的复杂性和译码时间。④一般每个小段还要留出一个状态,表示本字段不发出任何微命令。因此当某字段的长度为三位时,最多只能表示七个互斥的微命令,通常用000表示不操作。下面举例说明123456789顺序控制4、5:00无操作01R1->X10R2->X11DR->X

6、7:00无操作01R3->Y10R2->Y11R1->Y

8、9:00无操作01+10-11M

混和表示法1、2、3位为直接表示法4、56、7 8、9位为编码表示法5.4.2微程序设计技术三、微指令地址的形成入口地址:每条机器指令对应一段微程序,当公用的取指微程序从主存中取出机器指令之后,由机器指令的操作码字段指出各段微程序的入口地址,这是一种多分支(或多路转移)的情况。机器指令的操作码转换成初始微地址的方式主要有两种。计数器的方式多路转移的方式5.4.2微程序设计技术1、入口地址形成:如果机器指令操作码字段的位数和位置固定,可以直接使操作码与微程序入口地址的部分位相对应。5.4.2微程序设计技术2、后继微地址形成方法(1)计数器的方式方法:微程序顺序执行时,其后继微地址就是现行微地址加上一个增量(通常为1);当微程序遇到转移或转子程序时,由微指令的转移地址段来形成转移微地址。在微程序控制器中也有一个微程序计数器μPC,一般情况下都是将微地址寄存器μMAR作为μPC特点:优点是简单、易于掌握,编制微程序容易缺点是这种方式不能实现两路以上的并行微程序转移,因而不利于提高微程序的执行速度。5.4.2微程序设计技术(2)多路转移的方式根据条件转移如图条件:状态条件/测试/微指令中微地址/操作码【例2】微地址寄存器有6位(μA5-μA0),当需要修改其内容时,可通过某一位触发器的强置端S将其置“1”。现有三种情况:(1)执行“取指”微指令后,微程序按IR的OP字段(IR3-IR0)进行16路分支;(2)执行条件转移指令微程序时,按进位标志C的状态进行2路分支;(3)执行控制台指令微程序时,按IR4,IR5的状态进行4路分支。请按多路转移方法设计微地址转移逻辑。

按所给设计条件,微程序有三种判别测试,分别为P1,P2,P3。由于修改μA5-μA0内容具有很大灵活性,现分配如下:(1)用P1和IR3-IR0修改μA3-μA0;(2)用P2和C修改μA0;(3)用P3和IR5,IR4修改μA5,μA4。另外还要考虑时间因素T4(假设CPU周期最后一个节拍脉冲),故转移逻辑表达式如下:

μA5=P3·IR5·T4

μA4=P3·IR4·T4

μA3=P1·IR3·T4

μA2=P1·IR2·T4

μA1=P1·IR1·T4

μA0=P1·IR0·T4+P2·C·T4

由于从触发器强置端修改,故前5个表达式可用“与非”门实现,最后一个用“与或非”门实现。下图仅画出了μA2、μA1、μA0触发器的微地址转移逻辑图。5.4.2微程序设计技术四、动态微程序设计对应于一台计算机的机器指令只有一组微程序,这一组微程序设计好之后,一般无须改变而且也不好改变,这种微程序设计技术称为静态微程序设计。

采用EPROM作为控制存储器,可以通过改变微指令和微程序来改变机器的指令系统,这种微程序设计技术称为动态微程序设计。5.5硬布线控制器1、实现方法通过逻辑电路直接连线而产生的,又称为组合逻辑控制方式2、设计目标使用最少元件(复杂的树形网络)速度最高5.5硬布线控制器3、逻辑原理(1)逻辑原理图C为微操作控制信号Im为译码器输出,Mi为节拍电位,Tk为节拍脉冲,Bj为状态条件C由组合电路实现,速度快,但难以修改。 (2)指令的执行流程微程序控制器时序信号简单。只需要若干节拍脉冲信号即可。组合逻辑控制器除了节拍脉冲信号外,还需要节拍电位信号。5.5硬布线控制器

(3)微操作控制信号产生在微程序控制器中,微操作控制信号由微指令产生,并且可以重复使用。在硬联线控制器中,某一微操作控制信号由布尔代数表达式描述的输出函数产生。设计微操作控制信号的方法和过程是,根据所有机器指令流程图,寻找出产生同一个微操作信号的所有条件,并与适当的节拍电位和节拍脉冲组合,从而写出其布尔代数表达式并进行简化,然后用门电路或可编程器件来实现。5.5硬布线控制器4、设计步骤(1)画出指令流程图(2)列出微操作时间表将指令流程图中的微操作合理地安排到各个机器周期的相应节拍和脉冲中去;微操作时间表形象地表明:什么时间、根据什么条件发出哪些微操作信号。5.5硬布线控制器(3)进行微操作信号的综合当列出所有指令的微操作时间表之后,需要对它们进行综合分析,把凡是要执行某一微操作的所有条件(哪条指令、哪个机器周期、哪个节拍和脉冲等)都考虑在内,加以分类组合,列出各微操作产生的逻辑表达式,然后加以简化,使逻辑表达式更为合理。(4)实现电路根据整理并化简的逻辑表达式组,可以用一系列组合逻辑电路加以实现,加根据逻辑表达式画出逻辑电路图,用逻辑门电路的组合来实现之,也可以直接根据逻辑表达式,用PLA或其他逻辑电路实现。

例3根据图5.29,写出以下操作控制信号RD(I)、RD(D)、WE(D)、LDPC、LDIR、LDAR、LDDR、PC+1、LDR2的逻辑表达式。其中每个操作控制信号的含义是:RD(I)—指存读命令RD(D)—数存读命令WE(D)——数存写命令LDPC—打入程序计数器LDIR—打入指令寄存器LDAR—打入数存地址寄存器LDDR—打入数据缓冲寄存器PC+1—程序计数器加1LDR2—打入R1寄存器数据通路图RD/WRLDDRLDIRLDPCLDARPC+1

图5.29硬布线控制器的指令周期流程图列出微操作时间表(根据数据通路和操作流程图)节拍电位脉冲LDARLDDRLDIRM1T1ADD、STA、JMP、NOP、CLAT2T3ADD、STA、JMP、NOP、CLAT4ADD、STA、JMP、NOP、CLAM2T1T2T3T4ADD、STA、JMPM3T1T2T3ADD、STAT4进行微操作信号的综合

图5.29中五条指令的微操作控制信号举例。

LDAR=M1·T4+M2(ADD+STA+JMP)·T4

LDDR=M1·T3+M3(ADD+STA)·T3

LDIR=M1·T4

其中M1、M2、M3是三个节拍电位信号;T3、T4为时钟周期信号;ADD、STA、JMP是指令OP字段译码器的输出信号。最后给出电路(省略)5.7流水CPUEnslow统计过:1965~1975间,反映器件性能级延迟大约为原来的1/10,而反映计算机系统性能之一的平均指令时间为1%。结论:同一时期计算机系统性能比器件性能提高的速度快得多促使计算机性能提高的因素除了器件性能得提高外还有哪些呢??-体系结构改善5.7流水CPU5.7.1并行处理技术5.7.2流水CPU的结构5.7.3流水线中的主要问题5.7.4PentiumCPU5.7.1并行处理技术并行性(Parrelism)概念问题中具有可以同时进行运算或操作的特性例:在相同时延的条件下,用n位运算器进行n位并行运算速度几乎是一位运算器进行n位串行运算的n倍(狭义)(广义)含义只要在同一时刻(同时性)或在同一时间间隔内(并发性)完成两种或两种以上性质相同或不同的工作,他们在时间上相互重叠,都体现了并行性5.7.1并行处理技术三种形式时间并行(重叠):让多个处理过程在时间上相互错开,轮流使用同一套硬件设备的各个部件,以加快硬件周转而赢得速度,实现方式就是采用流水处理部件空间并行(资源重复):以数量取胜它能真正的体现同时性LSI和VLSI为其提供了技术保证时间+空间并行Pentium中采用了超标量流水线技术浮点运算流水线1、提高并行性的两个渠道:空间并行性:增加冗余部件,如增加多操作部件处理机和超标量处理机时间并行性:改善操作流程如:流水线技术浮点运算流水线2、流水技术原理在流水线中必须是连续的任务,只有不断的提供任务才能充分发挥流水线的效率把一个任务分解为几个有联系的子任务。每个子任务由一个专门的功能部件实现在流水线中的每个功能部件之后都要有一个缓冲寄存器,或称为锁存器流水线中各段的时间应该尽量相等,否则将会引起“堵塞”和“断流”的现象流水线需要有装入时间和排空时间,只有当流水线完全充满时,才能充分发挥效率流水线原理设过程段

Si所需的时间为τi,缓冲寄存器的延时为τl,线性流水线的时钟周期定义为

τ=max{τi}+τl=τm+τl流水线处理的频率为

f=1/τ。流水线原理一个具有k级过程段的流水线处理

n个任务需要的时钟周期数为Tk=k+(n-1),所需要的时间为:T=Tk×τ而同时,顺序完成的时间为:T=n×k×τk级线性流水线的加速比:Ck=TL

=

n·k

Tkk+(n-1)流水线浮点运算器A=a×2P,

B=b×2q在4级流水线加法器中实现上述浮点加法时,分为以下操作:(1)求阶差(2)对阶(3)相加(4)规格化5.7.2流水CPU的结构流水计算机的系统组成存储器体系:主存采用多体交叉存储器;Cache流水方式CPU:指令部件、指令队列、执行部件指令流水线指令队列:FIFO执行部件:可以有多个采用流水线方式构成的算术逻辑部件构成,可以将定点运算部件和浮点运算部件分开。5.7.2流水CPU的结构流水线CPU时空图IF(InstructionFetch取指)ID(InstructionDecode指令译码)EX(Execution执行)WB(WriteBack写回)5.7.2流水CPU的结构流水CPU非流水CPU5.7.2流水CPU的结构具有两条以上的指令流水线上图中流水线满载时,每一个时钟周期可以执行2条指令采用时间和空间并行技术5.7.2流水CPU的结构流水线的分类按级别分为指令流水线算术流水线处理机流水线(宏流水线)5.7.3流水线中的主要问题1、瓶颈问题(流水线中有速度慢的段)再分成几个段用资源重复的方法也可以解决2、资源相关:多条指令进入流水线后在同一时钟周期内争用同一功能部件。解决办法:后边指令拖一拍再推进;增设一个功能部件5.7.3流水线中的主要问题3、数据相关RAW(ReadAfterWrite)后面指令用到前面指令所写的数据WAW(WriteAfterWrite)两条指令写同一个单元在简单流水线中没有此类相关,因为不会乱序执行WAR(WriteAfterRead)后面指令覆盖前面指令所读的单元在简单流水线中没有此类相关解决办法:可以推后后继指令对相关单元的读操作设置相关的直接通路(Forwarding)5.7.3流水线中的主要问题例:两条指令发生数据相关冲突RAW(ReadAfterWrite)ADD R1, R2, R3 ;R2+R3-->R1SUB R4, R1, R5 ;R1-R5-->R4AND R6, R1, R7 ;R1^R7-->R6【例4】流水线中有三类数据相关冲突:写后读(RAW)相关;读后写(WAR)相关;写后写(WAW)相关。判断以下三组指令各存在哪种类型的数据相关。(1)I1ADDR1,R2,R3;(R2)+(R3)->R1I2SUBR4,R1,R5;(R1)-(R5)->R4(2)I3STOM(x),R3;(R3)->M(x),M(x)是存储器单元

I4ADDR3,R4,R5;(R4)+(R5)->R3(3)I5MULR3,R1,R2;(R1)×(R2)->R3I6ADDR3,R4,R5;(R4)+(R5)->R3解:第(1)组指令中,I1指令运算结果应先写入R1,然后在I2指令中读出R1内容。由于I2指令进入流水线,变成I2指令在I1指令写入R1前就读出R1内容,发生RAW相关。第(2)组指令中,I3指令应先读出R3内容并存入存储单元M(x),然后在I4指令中将运算结果写入R3。但由于I4指令进入流水线,变成I4指令在I3指令读出R3内容前就写入R3,发生WAR相关。第(3)组指令中,如果I6指令的加法运算完成时间早于I5指令的乘法运算时间,变成指令I6在指令I5写入R3前就写入R3,导致R3的内容错误,发生WAW相关。5.7.3流水线中的主要问题4、控制相关引起原因:转移指令解决办法:延迟转移法,转移预测法5.7.4PentiumCPUPentiumCPU(第一代)1989年初0.8um工艺,310万晶体管有60M和66MHz外频两种版本5V电压,功耗20W超标量流水线结构486有一条流水线Pentium有U和V两条指令流水线U流水线可以执行所有的整数和浮点指令V流水线可以执行简单的整数和FXCH浮点指令双重分离式Cache,减少了等待和搬移数据时间32位

温馨提示

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

评论

0/150

提交评论