计算机组成与结构6教案资料_第1页
计算机组成与结构6教案资料_第2页
计算机组成与结构6教案资料_第3页
计算机组成与结构6教案资料_第4页
计算机组成与结构6教案资料_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

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

文档简介

计算机组成与结构6中央处理器

CPU中的主要寄存器1.通用寄存器2.专用寄存器

通用寄存器可用来存放原始数据和运算结果,有的还可以作为变址寄存器、计数器、地址指针等。通用寄存器一般由程序编址访问。CPU中的主要寄存器2.专用寄存器程序计数器又称指令计数器,用来存放正在执行的指令地址或接着要执行的下条指令地址。1)程序计数器(PC)2)指令寄存器(IR)指令寄存器用来存放从存储器中取出的指令。当指令从主存取出暂存于指令寄存器之后,在执行指令的过程中,指令寄存器的内容不允许发生变化,以保证实现指令的全部功能。CPU中的主要寄存器数据寄存器用来暂时存放由主存储器读出的一个数据字;反之,当向主存存入一个数据字时,也暂时将它们存放在数据寄存器中。3)数据寄存器(DR)4)地址寄存器(AR)地址寄存器用来保存当前CPU所访问的主存单元的地址。由于主存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到主存的读写操作完成为止。CPU中的主要寄存器状态标志寄存器用来存放程序状态字(PSW)。程序状态字的各位表征程序和机器运行的状态,是参与控制程序执行的重要依据之一。它主要包括两部分内容:一是状态标志,如进位标志(C)、结果为零标志(Z)等,大多数指令的执行将会影响到这些标志位;二是控制标志,如中断标志、陷阱标志等。5)状态标志寄存器(PSWR)图6.1Intel80386微机系统框图6.1计算机的硬件系统Intel80386包括指令部件、执行部件和存储管理部件等。指令部件完成取指及指令译码功能,并产生控制信号;执行部件包括ALU、乘法部件、寄存器组等;存储管理部件用来确定存储器地址。6.1计算机的硬件系统图6.2Intel80386引出端信号

6.1计算机的硬件系统控制器主要作用——发出满足一定时序关系的控制信号,实现指令系统所规定的各条指令的功能,并保证计算机系统正常运行。

6.1计算机的硬件系统6.2控制器的组成控制器的功能取指令分析指令执行指令控制器的功能控制程序和数据的输入与结果输出对异常情况和某些请求的处理6.2控制器的组成控制器的组成1.程序计数器(PC)2.指令寄存器(IR)6.2控制器的组成3.指令译码器或操作码译码器4.脉冲源及启停线路5.时序控制信号形成部件图6.3控制器基本组成框图

6.2控制器的组成控制器的控制方式1.同步控制方式2.异步控制方式6.2控制器的组成3.联合控制方式4.人工控制 同步控制方式即固定时序控制方式,各项操作都由统一的时序信号控制。由于不同的指令,操作时间长短不一致。同步控制方式应以最复杂指令的操作时间作为统一的时间间隔标准。控制器的控制方式2.异步控制方式6.2控制器的组成

异步控制方式即可变时序控制方式,各项操作不采用统一的时序信号控制,而根据指令或部件的具体情况决定,需要多少时间,就占用多少时间。

这是一种“应答”方式,各操作之间的衔接是由“结束-起始”信号来实现的。由前一项操作已经完成的“结束”信号,或由下一项操作的“准备好”信号来作为下一项操作的起始信号,在未收到“结束”或“准备好”信号之前不开始新的操作。控制器的控制方式3.联合控制方式6.2控制器的组成

这是同步控制和异步控制相结合的方式。实际上现代计算机中几乎没有完全采用同步或完全采用异步的控制方式,大多数是采用联合控制方式。通常的设计思想是:在功能部件内部采用同步方式或以同步方式为主的控制方式,在功能部件之间采用异步方式。控制器的控制方式4.人工控制方式6.2控制器的组成(1)RESET(2)连续或单条转换开关(3)符合停机6.2.3指令执行过程组成控制器的基本电路图6.4记忆电路图6.5无记忆电路寄存器、计数器和存储单元加法器6.2.3指令执行过程取指令阶段

取指令阶段完成的任务是将现行指令从主存中取出来并送至指令寄存器中去。具体的操作如下:

①将程序计数器(PC)中的内容送至地址寄存器(AR),并送地址总线(AB)。

②由控制单元(CU)经控制总线(CB)向存储器发读命令。

③从主存中取出的指令通过数据总线(DB)送到数据寄存器(DR)。6.2.3指令执行过程取指令阶段

④将DR的内容送至指令寄存器(IR)中。⑤将PC的内容递增,为取下一条指令做好准备。

以上这些操作对任何一条指令来说都是必须要执行的操作,所以称为公共操作。完成取指阶段任务的时间称为取指周期。取指周期的工作流程图取指周期的工作流程6.2.3指令执行过程6.2.3指令执行过程取出指令后,指令译码器ID可识别和区分出不同的指令类型。此时计算机进入分析取数阶段,以获取操作数。由于各条指令功能不同,寻址方式也不同,所以分析取数阶段的操作是各不相同的。完成分析阶段任务的时间又可以细分为间址周期、取数周期等。分析取数阶段6.2.3指令执行过程执行阶段执行阶段完成指令规定的各种操作,形成稳定的运算结果,并将其存储起来。完成执行阶段任务的时间称为执行周期。

计算机的基本工作过程就是取指令、取数、执行指令,然后再取下一条指令……如此周而复始,直至遇到停机指令或外来的干预为止。图6.6运算器框图

6.2.3指令执行过程指令功能:将寄存器中的一个数与存储器中的一个数相加,结果放在寄存器中。操作码rs,rdrs1 imm(disp)加法指令:6.2.3指令执行过程6.2.3指令执行过程加法指令完成以下操作:①从存储器取指令,送入指令寄存器,并进行操作码译码(分析指令)。程序计数器加1,为下一条指令做准备。②计算数据地址,将计算得到的有效地址送地址寄存器AR。③到存储器取数。④进行加法运算,结果送寄存器,并根据运算结果置状态位N,Z,V,C。控制信号:控制信号:控制信号:控制信号:表6.1控制信号一览表序号控制信号功能序号控制信号功能1PC→AB指令地址送地址总线13+ALU进行加法运算2ALU→PC转移地址送PC14-ALU进行减法运算3PC+1程序计数器加115∧ALU进行逻辑乘运算4imm(disp)→ALU立即数或位移量送ALU16∨ALU进行逻辑加运算5DB→IR取指到指令寄存器17ALU→GRALU运算结果送通用寄存器6DB→DR数据总线上的数据送数据寄存器18ALU→DRALU运算结果送数据寄存器7DR→DB数据寄存器中的数据送数据总线19ALU→ARALU计算得的有效地址送地址寄存器8rs1→GR寄存器地址送通用寄存器20AR→AB地址寄存器内容送地址总线9rs,rd→GR寄存器地址送通用寄存器21ADS地址总线上地址有效10(rs1)→ALU寄存器内容送ALU22M/IO访问存储器或I/O11(rs)→ALU寄存器内容送ALU23W/R写或读12DR→ALU数据寄存器内容送ALU指令周期是指从取指令、分析取数到执行完该指令所需的全部时间。由于各种指令的操作功能不同,有的简单,有的复杂,因此各种指令的指令周期不尽相同。

机器周期又称CPU周期。通常把一个指令周期划分为若干个机器周期,每个机器周期完成一个基本操作。一般机器的CPU周期有取指周期、取数周期、执行周期、中断周期等。所以有:

指令周期=i×机器周期指令周期和机器周期6.2.3指令执行过程6.3微程序控制计算机基本原理——微程序设计技术的实质是将程序设计技术和存储技术相结合,即用程序设计的思想方法来组织操作控制逻辑,将微操作控制信号按一定规则进行信息编码(代码化),形成控制字(微指令),再把这些微指令按时间先后排列起来构成微程序,存放在一个只读的控制存储器中。

6.3.1微程序控制的基本概念微操作——一条指令可以分解成很多最基本的操作,这种最基本的不可再分割的操作称为微操作。不同的机器指令具有不同的微操作序列。

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

6.3.1微程序控制的基本概念微命令和微操作是一一对应的。微命令是微操作的控制信号,微操作是微命令的操作过程。

微命令有兼容性和互斥性之分。兼容性微命令是指那些可以同时产生,共同完成某一些微操作的微命令;而互斥性微命令是指在机器中不允许同时出现的微命令。兼容和互斥都是相对的,一个微命令可以和一些微命令兼容,和另一些微命令互斥。对于单独一个微命令,谈论其兼容和互斥都是没有意义的。6.3.1微程序控制的基本概念微指令——在微程序控制的计算机中,将由同时发出的控制信号所执行的一组微操作称为微指令。将一条指令分成若干条微指令,按次序执行这些微指令,就可以实现指令的功能。

一条微指令通常包含两部分:

①操作控制字段,又称微操作码字段,用以产生某一步操作所需的各微操作控制信号;

②顺序控制字段,又称微地址码字段,用以控制产生下一条要执行的微指令地址。6.3.1微程序控制的基本概念微程序——计算机的程序由指令序列构成,而计算机每条指令的功能均由微指令序列解释完成,这些微指令序列的集合就叫做微程序。

每一条机器指令都对应一个微程序。6.3.1微程序控制的基本概念

微程序和程序是两个不同的概念。微程序是由微指令组成的,用于描述机器指令,微程序实际上是机器指令的实时解释器,是由计算机的设计者事先编制好并存放在控制存储器中的,一般不提供给用户。而程序最终由机器指令组成,是由软件设计人员事先编制好并存放在主存或辅存中的。6.3.1微程序控制的基本概念控制存储器——微程序是存放在存储器中的,由于该存储器主要存放控制命令(信号)与下一条执行的微指令地址(简称为下址),所以被叫做控制存储器。

执行一条指令实际上就是执行一段存放在控制存储器中的微程序。6.3.1微程序控制的基本概念仍以执行一条加法指令为例,它由四条微指令解释执行,一条微指令中的所有控制信号是同时发出的。每条微指令所需的控制信号如下:(1)取指微指令①指令地址送地址总线:PC→AB(1)②发访存控制命令:ADS(21),M/IO=1(22),W/R=0(23)。从存储器取指令送数据总线。③指令送指令寄存器:DB→IR(5)④程序计数器+1:PC+1(3)6.3.2微程序控制的基本原理(2)计算地址微指令①取两个源操作数(计算地址用):rs1→GR(8),(rs1)→ALU(10),disp→ALU(4)。②加法运算:“+”(13)。③有效地址送地址寄存器:ALU→AR(19)。6.3.2微程序控制的基本原理(3)取数微指令①数据地址送地址总线:AR→AB(20)。②发访存控制命令:ADS(21),M/IO(22),W/R(23)。由存储器将数据送数据总线DB。③数据送数据寄存器:DB→DR(6)6.3.2微程序控制的基本原理(4)加法运算和送结果微指令①两源操作数送ALU:rs→GR(9),(rs)→ALU(11);DR→ALU(12)。②加法运算:“+”(13)③送结果:ALU→GR(17)6.3.2微程序控制的基本原理如何产生控制信号?图6.9加法指令的微指令编码6.3.2微程序控制的基本原理图6.10微程序流程图举例6.3.2微程序控制的基本原理图6.11微程序控制器简框图

6.3.2微程序控制的基本原理图6.12时序信号及工作脉冲

6.3.2微程序控制的基本原理

机器加电后,首先由reset信号在PC内置入开机后执行的第一条指令的地址,同时在微指令寄存器内置入一条“取指”微指令,并将其他一些有关的状态位或寄存器置于初始状态。然后机器开始执行程序,不断地取出指令、分析指令、执行指令。

机器启动过程6.3.2微程序控制的基本原理程序可以存放在固定存储器中,也可以利用一小段引导程序(在固存中)将要执行的程序和数据从外部设备调入主存。实现各条指令的微程序是存放在微程序控制器中的。当前正在执行的微指令从微程序控制器中取出后放在微指令寄存器中,由微指令的控制字段中的各位直接控制信息和数据的传送,并进行相应的处理。6.3.2微程序控制的基本原理微指令编译法1.直接控制法2.字段直接编译法3.字段间接编译法4.常数源字段6.4微程序设计技术如何缩短微指令字长?图6.21字段直接编译法6.4.1微指令编译法分段的原则:互斥性的微命令分在同一段内,兼容性的微命令分在不同段内;每个小段中包含的信息位不能太多,否则将增加译码线路的复杂性和译码时间;每个小段要留出一个状态,表示本字段不发出任何命令,通常用00…0表示图6.22字段间接编译法6.4.1微指令编译法6.4.2微程序流的控制所谓微程序流的控制是指当前微指令执行完毕后,怎样控制产生后继微指令的微地址。以增量方式产生后继微地址增量与下址字段结合产生后继微地址多路转移方式微中断图6.23“计数器”方式的原理图6.4.2微程序流的控制图6.24“增量与下址字段”方式的原理图

6.4.2微程序流的控制1.水平型微指令2.垂直型微指令基本特点是在一条微指令中定义并执行多个并行操作微命令。在微指令中设置有微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能寄存器-寄存器传送型微指令微指令格式012378121315000源寄存器编址目标寄存器编址其他功能:把源寄存器数据送目标寄存器。6.4.3微指令格式水平型微指令与垂直型微指令的比较(1)水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则差。(2)水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。(3)由水平型微指令解释指令的微程序,具有微指令字比较长,但微程序短的特点。垂直型微指令则相反,微指令字比较短而微程序长。(4)水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说,比较容易掌握。6.4.3微指令格式6.4.4微程序控制存储器和动态微程序设计微程序控制存储器动态微程序设计控制存储器的操作毫微程序设计图6.27串行微程序控制器6.4.4微程序控制存储器和动态微程序设计图6.28并行微程序控制器6.4.4微程序控制存储器和动态微程序设计毫微程序可以看作是用以解释微程序的一种微程序,因此组成毫微程序的毫微指令就可看作是解释微指令的微指令。采用毫微程序设计的主要目的是减少控制存储器的容量,采用的是两级微程序设计方法。通常第一级采用垂直微程序,第二级采用水平微程序。6.4.4微程序控制存储器和动态微程序设计6.4.4微程序控制存储器和动态微程序设计图6.29毫微程序控制存储器用来编制微程序的语言叫做微程序设计语言,用微程序设计语言编制的程序叫做源微程序。源微程序不能直接装入控制存储器,要将它转换成二进制代码后才能装入控制存储器。将源微程序翻译成二进制码的程序叫做微编译程序。微程序设计基本上沿用了程序设计的方法6.4.5微程序设计语言硬布线控制的计算机?由指令的操作码直接控制并产生实现取指、计算地址、取数及执行等各步骤所需的控制信号。6.5硬布线控制的计算机问题:取指、计算地址、取数及执行,每一步由一个机器周期实现,如何区分一条指令的四个机器周期呢?图6.31用计数器译码器形成机器周期信号6.5.1时序与节拍表6.3计数器状态变化

A指令B指令cyAcyBcyA′cyB′cyAcyBcyA′cyB′00010010011010111011110011006.5.1时序与节拍根据真值表列出表达式,对于A指令,其表达式为 cyA′=cyAcyB+cyAcyB; (6.2) cyB′=cyAcyB+cyAcyB=cyB。 (6.3)对于B指令,其表达式为 cyA′=cyAcyB+cyAcyB=cyB; (6.4) cyB′=cyAcyB。 (6.5)6.5.1时序与节拍图6.32时序计数器逻辑图6.5.1时序与节拍6.5.2操作控制信号的产生图6.33形成操作控制信号的逻辑框图

如何组成?输入:来自指令译码器的输出、时序发生器的时序信号输出:一组带有时间标志的微操作控制信号每个微操作控制信号是指令、时序等的逻辑函数,可表示为:微操作=周期·节拍·脉冲·指令码·其他条件6.5.2操作控制信号的产生在计算地址周期cy2完成有效地址的计算((rs1)+Disp),为此要将rs1的内容取出与IR中的位移量一起送ALU,发出rs1→GR(送通用寄存器地址),(rs1)→ALU,Disp→ALU以及“+”命令,最后将运算结果送地址总线,发出ALU→AR信号。列出逻辑表达式 rs1→GR=加法指令·cy2 (6.13) (rs1)→ALU=加法指令·cy2 (6.14) … ALU→AR=加法指令·cy2 (6.15)6.5.2操作控制信号的产生图6.34实现rs1→GR,(rs1)→ALU的逻辑图6.5.2操作控制信号的产生对每一条指令都进行同样的分析,得出逻辑表达式。对所有指令的全部表达式进行综合分析后可得出下述结论:(1)取指周期cy1所产生的信号,对所有指令都是相同的,即与当前执行的指令无关,逻辑式得到最简单的形式。(2)通常,同一个控制信号在若干条指令的某些周期中都需要,为此需要把它们组合起来。6.5.2操作控制信号的产生“+”=加法指令(cy2+cy4)+减法指令·cy2+转移指令·cy2+…=加法指令·cy2+加法指令·cy4+减法指令·cy2+转移指令·cy2+… (6.16)6.5.2操作控制信号的产生(3)同种类型的指令所需的控制信号大部分是相同的,仅有少量区别。不同类型的指令,其控制信号的差别就比较大。(4)在确定指令的操作码时,注意化简以减少逻辑电路数量。6.5.2操作控制信号的产生例如,某机有128条指令,7位操作码(OP0~OP6),其中有十六条算术逻辑运算指令,那么可以令这些指令的三位操作码完全相等(例如OP0~OP2为001),而OP3~OP6分别表示16条指令,设命令A是所有算术逻辑指令在cy2周期中都需产生的,则:A=加法指令·cy2+减法指令·cy2+逻辑加指令·cy2+…=(加法指令+减法指令+逻辑加指令+…)cy2=OP0·OP1·OP2·cy26.5.2操作控制信号的产生图6.35控制器总框图6.5.3控制器的组成6.5.4硬布线控制逻辑设计1.指令操作码的代码分配2.确定机器周期、节拍与主频3.根据指令功能,确定每一条指令所需的机器周期数以及每一周期所完成的操作4.综合所有指令的每一个操作命令(写出逻辑表示式并化简)6.5.5硬布线控制与微程序控制的比较1.实现2.性能微程序控制器的控制功能是在存放微程序的控制存储器和存放当前正在执行的微指令的寄存器直接控制下实现的,而硬布线控制则由逻辑门组合实现。设计简单,方便修改与扩展结构复杂,设计麻烦,检查调试困难微程序控制的速度<硬布线控制的速度原因:执行每条微指令都要从控存中读取一次,影响了速度,而硬布线逻辑主要取决于电路延迟6.7流水线工作原理蒙牛流水线取指1计算地址1取操作数1计算存结果1取指2计算地址2…机器指令的执行如何提高效率?6.7流水线工作原理图6.37指令重叠执行情况6.7流水线工作原理流水线——流水线是将一个较复杂的处理过程分成m个复杂程度相当、处理时间大致相等的子过程,每个子过程由一个独立的功能部件来完成,处理对象在各子过程连成的线路上连续流动。在同一时间,m个部件同时进行不同的操作,完成对不同子过程的处理。

6.7流水线工作原理6.7流水线工作原理

(1)流水过程由多个相联系的子过程组成,每个子过程称为流水线的级或段。段的数目称为流水线的深度。

(2)每个子过程由专用的功能段实现;

(3)各个功能段所需时间应尽量相等,否则,时间长的功能段将成为流水线的瓶颈,会造成流水线的堵塞和断流。这个时间一般为一个时钟周期(拍);

(4)流水线需要有通过时间

(第一个任务流出结果所需的时间),在此之后流水过程才进入稳定工作状态,每一个时钟周期(拍)流出一个结果。6.7流水线工作

温馨提示

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

评论

0/150

提交评论