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

下载本文档

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

文档简介

1、 CPU存存 储储 器器输入设备输入设备运算器运算器辅助存储器辅助存储器主存储器主存储器输出设备输出设备控制器控制器外外设设主主机机课程内容安排课程内容安排控 制 器微 程 序 控 制硬 布 线 控 制流 水 线 通用寄存器可用来存放原始数据和运算结果,有的还可以作为变址寄存器、计数器、地址指针等。通用寄存器一般由程序编址访问。 程序计数器又称指令计数器,用来存放正在执行的指令地址或接着要执行的下条指令地址。 指令寄存器用来存放从存储器中取出的指令。当指令从主存取出暂存于指令寄存器之后,在执行指令的过程中,指令寄存器的内容不允许发生变化,以保证实现指令的全部功能。 数据寄存器用来暂时存放由主存

2、储器读出的一个数据字;反之,当向主存存入一个数据字时,也暂时将它们存放在数据寄存器中。 地址寄存器用来保存当前CPU所访问的主存单元的地址。由于主存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到主存的读写操作完成为止。 状态标志寄存器用来存放程序状态字(PSW)。程序状态字的各位表征程序和机器运行的状态,是参与控制程序执行的重要依据之一。它主要包括两部分内容:一是状态标志,如进位标志(C)、结果为零标志(Z)等,大多数指令的执行将会影响到这些标志位;二是控制标志,如中断标志、陷阱标志等。图6.1 Intel 80386微机系统框图Intel 80386包括指令部

3、件、执行部件和存储管理部件等。完成取指及指令译码功能,并产生控制信号;包括ALU、乘法部件、寄存器组等;用来确定存储器地址。图6.2 Intel 80386引出端信号 发出满足一定时序关系的控制信号,实现指令系统所规定的各条指令的功能,并保证计算机系统正常运行。 图6.3 控制器基本组成框图 同步控制方式即固定时序控制方式,同步控制方式即固定时序控制方式,各项操作都由统一的时序信号控制。由各项操作都由统一的时序信号控制。由于不同的指令,操作时间长短不一致。于不同的指令,操作时间长短不一致。同步控制方式应以最复杂指令的操作时同步控制方式应以最复杂指令的操作时间作为统一的时间间隔标准。间作为统一的

4、时间间隔标准。 异步控制方式即可变时序控制方式,各项操作不异步控制方式即可变时序控制方式,各项操作不采用统一的时序信号控制,而根据指令或部件的具体采用统一的时序信号控制,而根据指令或部件的具体情况决定,需要多少时间,就占用多少时间。情况决定,需要多少时间,就占用多少时间。 这是一种这是一种“应答应答”方式,各操作之间的衔接是由方式,各操作之间的衔接是由“结束起始结束起始”信号来实现的。由前一项操作已经完信号来实现的。由前一项操作已经完成的成的“结束结束”信号,或由下一项操作的信号,或由下一项操作的“准备好准备好”信信号来作为下一项操作的起始信号,在未收到号来作为下一项操作的起始信号,在未收到“

5、结束结束”或或“准备好准备好”信号之前不开始新的操作。信号之前不开始新的操作。 这是同步控制和异步控制相结合的方式。实际上这是同步控制和异步控制相结合的方式。实际上现代计算机中几乎没有完全采用同步或完全采用异步现代计算机中几乎没有完全采用同步或完全采用异步的控制方式,大多数是采用联合控制方式。通常的设的控制方式,大多数是采用联合控制方式。通常的设计思想是:在功能部件内部采用同步方式或以同步方计思想是:在功能部件内部采用同步方式或以同步方式为主的控制方式,在功能部件之间采用异步方式。式为主的控制方式,在功能部件之间采用异步方式。 (1) RESET (2) 连续或单条转换开关连续或单条转换开关

6、(3) 符合停机符合停机图6.4 记忆电路图6.5 无记忆电路 取指令阶段完成的任务是将现行指令从主取指令阶段完成的任务是将现行指令从主存中取出来并送至指令寄存器中去。具体的操存中取出来并送至指令寄存器中去。具体的操作如下:作如下: 将程序计数器(将程序计数器(PC)中的内容送至地址中的内容送至地址寄存器(寄存器(AR),并送地址总线(并送地址总线(AB)。 由控制单元(由控制单元(CU)经控制总线(经控制总线(CB)向存储器发读命令。向存储器发读命令。 从主存中取出的指令通过数据总线(从主存中取出的指令通过数据总线(DB)送到数据寄存器(送到数据寄存器(DR)。 将将DR的内容送至指令寄存器

7、(的内容送至指令寄存器(IR)中。中。 将将PC的内容递增,为取下一条指令做好的内容递增,为取下一条指令做好准备。准备。 以上这些操作对任何一条指令来说都是必以上这些操作对任何一条指令来说都是必须要执行的操作,所以称为须要执行的操作,所以称为公共操作公共操作。完成取。完成取指阶段任务的时间称为取指周期。指阶段任务的时间称为取指周期。取指周期的工作流程取指周期的工作流程图图 取指周期的工作流程取指周期的工作流程PCCUMARMDRIR存储器数据总线地址总线控制总线 123514 取出指令后,指令译码器取出指令后,指令译码器ID可识别和区可识别和区分出不同的指令类型。此时计算机进入分分出不同的指令

8、类型。此时计算机进入分析取数阶段,以获取操作数。由于各条指析取数阶段,以获取操作数。由于各条指令功能不同,寻址方式也不同,所以分析令功能不同,寻址方式也不同,所以分析取数阶段的操作是各不相同的。取数阶段的操作是各不相同的。 完成分析阶段任务的时间又可以细分为完成分析阶段任务的时间又可以细分为间址周期、取数周期等。间址周期、取数周期等。 执行阶段完成指令规定的各种操作,形执行阶段完成指令规定的各种操作,形成稳定的运算结果,并将其存储起来。完成稳定的运算结果,并将其存储起来。完成执行阶段任务的时间称为执行周期。成执行阶段任务的时间称为执行周期。 计算机的基本工作过程就是取指令、取计算机的基本工作过

9、程就是取指令、取数、执行指令,然后再取下一条指令数、执行指令,然后再取下一条指令如如此周而复始,直至遇到停机指令或外来的此周而复始,直至遇到停机指令或外来的干预为止。干预为止。图6.6 运算器框图 指令功能:将寄存器中的一个数与存储器中的指令功能:将寄存器中的一个数与存储器中的一个数相加,结果放在寄存器中。一个数相加,结果放在寄存器中。 操作码操作码 rs,rd rs1 imm(disp)加法指令完成以下操作:从存储器取指令,送入指令寄存器,并进行操作码译码(分析指令)。程序计数器加1,为下一条指令做准备。计算数据地址,将计算得到的有效地址送地址寄存器AR。到存储器取数。进行加法运算,结果送寄

10、存器,并根据运算结果置状态位N,Z,V,C。1, 1/, 0/,PCIRDBOIMRWABPCARALUALUALUdispALUrsGRrs, ,) 1( ,1DRDBOIMRWABAR, 1/, 0/,rdALUGRrdALUDRALUrsGRrs, ,)( ,序号控制信号功能序号控制信号功能1PCAB指令地址送地址总线13+ALU进行加法运算2ALUPC转移地址送PC14-ALU进行减法运算3PC+1程序计数器加115ALU进行逻辑乘运算4imm(disp)ALU立即数或位移量送ALU16ALU进行逻辑加运算5DBIR取指到指令寄存器17ALUGRALU运算结果送通用寄存器6DBDR数据

11、总线上的数据送数据寄存器18ALUDRALU运算结果送数据寄存器7DRDB数据寄存器中的数据送数据总线19ALUARALU计算得的有效地址送地址寄存器8rs1GR寄存器地址送通用寄存器20ARAB地址寄存器内容送地址总线9rs,rdGR寄存器地址送通用寄存器21ADS地址总线上地址有效10(rs1)ALU寄存器内容送ALU22M/IO访问存储器或I/O11(rs)ALU寄存器内容送ALU23W/R写或读12DRALU数据寄存器内容送ALU 指令周期是指从取指令、分析取数到执指令周期是指从取指令、分析取数到执行完该指令所需的全部时间。由于各种指令行完该指令所需的全部时间。由于各种指令的操作功能不

12、同,有的简单,有的复杂,因的操作功能不同,有的简单,有的复杂,因此各种指令的指令周期不尽相同。此各种指令的指令周期不尽相同。 机器周期又称机器周期又称CPU周期。通常把一个指周期。通常把一个指令周期划分为若干个机器周期,每个机器周令周期划分为若干个机器周期,每个机器周期完成一个基本操作。一般机器的期完成一个基本操作。一般机器的CPU周期周期有取指周期、取数周期、执行周期、中断周有取指周期、取数周期、执行周期、中断周期等。所以有:期等。所以有: 指令周期指令周期i机器周期机器周期 微程序设计技术的实质是将程序设计技术和存储技术相结合,即用程序设计的思想方法来组织操作控制逻辑,将微操作控制信号按一

13、定规则进行信息编码(代码化),形成控制字(微指令),再把这些微指令按时间先后排列起来构成微程序,存放在一个只读的控制存储器中。 一条指令可以分解成很多最基本的操作,这种最基本的不可再分割的操作称为微操作。不同的机器指令具有不同的微操作序列。 在微程序控制的计算机中,将控制部件向执行部件发出的各种控制命令叫做微命令,它是构成控制序列的最小单位。例如:打开或关闭某个控制门的电位信号、某个寄存器的打入脉冲等。因此,微命令是控制计算机各部件完成某个基本微操作的命令。 微命令和微操作是一一对应的。微命令微命令和微操作是一一对应的。微命令是微操作的控制信号,微操作是微命令的是微操作的控制信号,微操作是微命

14、令的操作过程。操作过程。 微命令有兼容性和互斥性之分。微命令有兼容性和互斥性之分。兼容性兼容性微命令是指那些可以同时产生,共同完成微命令是指那些可以同时产生,共同完成某一些微操作的微命令;而互斥性微命令某一些微操作的微命令;而互斥性微命令是指在机器中不允许同时出现的微命令是指在机器中不允许同时出现的微命令。兼容和互斥都是相对的,一个微命令可以兼容和互斥都是相对的,一个微命令可以和一些微命令兼容,和另一些微命令互斥。和一些微命令兼容,和另一些微命令互斥。对于单独一个微命令,谈论其兼容和互斥对于单独一个微命令,谈论其兼容和互斥都是没有意义的。都是没有意义的。 在微程序控制的计算机中,将由同时发出的

15、控制信号所执行的一组微操作称为微指令。将一条指令分成若干条微指令,按次序执行这些微指令,就可以实现指令的功能。 一条微指令通常包含两部分:一条微指令通常包含两部分: 操作控制字段,又称微操作码字段,操作控制字段,又称微操作码字段,用以产生某一步操作所需的各微操作控制用以产生某一步操作所需的各微操作控制信号;信号; 顺序控制字段,又称微地址码字段,顺序控制字段,又称微地址码字段,用以控制产生下一条要执行的微指令地址。用以控制产生下一条要执行的微指令地址。 计算机的程序由指令序列构成,而计算机每条指令的功能均由微指令序列解释完成,这些微指令序列的集合就叫做微程序。 微程序和程序是两个不同的概念。微

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

17、储器。 仍以执行一条加法指令为例,它由四条微指令解释执行,。每条微指令所需的控制信号如下: 指令地址送地址总线:PCAB(1) 发访存控制命令:ADS(21),MIO1(22),WR0(23)。从存储器取指令送数据总线。 指令送指令寄存器:DBIR(5) 程序计数器+1:PC+1(3) 取两个源操作数(计算地址用):rs1GR(8),(rs1)ALU(10),dispALU(4)。 加法运算:“+”(13)。 有效地址送地址寄存器:ALUAR(19)。 数据地址送地址总线:ARAB(20)。 发访存控制命令:ADS(21),MIO(22),W/R(23)。由存储器将数据送数据总线DB。 数据送

18、数据寄存器:DBDR(6) 两源操作数送ALU:rsGR(9),(rs)ALU(11);DRALU(12)。 加法运算:“+”(13) 送结果:ALUGR(17)图6.9 加法指令的微指令编码图6.10 微程序流程图举例图6.11 微程序控制器简框图 图6.12 时序信号及工作脉冲 22CLKCLKTCP211CLKCLKTCP 机器加电后,首先由reset信号在PC内置入开机后执行的第一条指令的地址,同时在微指令寄存器内置入一条“取指”微指令,并将其他一些有关的状态位或寄存器置于初始状态。然后机器开始执行程序,不断地取出指令、分析指令、执行指令。 程序可以存放在固定存储器中,也可以利用一小段

19、引导程序(在固存中)将要执行的程序和数据从外部设备调入主存。实现各条指令的微程序是存放在微程序控制器中的。当前正在执行的微指令从微程序控制器中取出后放在微指令寄存器中,由微指令的控制字段中的各位直接控制信息和数据的传送,并进行相应的处理。图6.21 字段直接编译法 互斥性的微命令分在同一段内,兼容性的微命令分在不同段内; 每个小段中包含的信息位不能太多,否则将增加译码线路的复杂性和译码时间; 每个小段要留出一个状态,表示本字段不发出任何命令,通常用000表示图6.22 字段间接编译法1.以增量方式产生后继微地址2.增量与下址字段结合产生后继微地址3.多路转移方式4.微中断图6.23 “计数器”

20、方式的原理图图6.24 “增量与下址字段”方式的原理图 基本特点是在一条微指令中定义并执行多个并行操作微命令。在微指令中设置有微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能微指令格式0 1 2 3 7 8 12 13 150 0 0 源寄存器编址 目标寄存器编址 其他功能:把源寄存器数据送目标寄存器。(1) 微指令并行操作能力强,效率高,灵活性强,微指令则差。(2) 微指令执行一条指令的时间短,微指令执行时间长。(3) 由微指令解释指令的微程序,具有微指令字比较长,但微程序短的特点。微指令则相反,微指令字比较短而微程序长。(4) 微指令用户难以掌握,而微指令与指令比较相似,相对来

21、说,比较容易掌握。 1.微程序控制存储器2.动态微程序设计3.控制存储器的操作4.毫微程序设计图6.27 串行微程序控制器图6.28 并行微程序控制器 毫微程序可以看作是用以解释微程序的一种微程序,因此组成毫微程序的毫微指令就可看作是解释微指令的微指令。 采用毫微程序设计的主要目的是减少控制存储器的容量,采用的是两级微程序设计方法。通常第一级采用垂直微程序,第二级采用水平微程序。图6.29 毫微程序控制存储器 用来编制微程序的语言叫做微程序设计语言微程序设计语言,用微程序设计语言编制的程序叫做源微程序源微程序。源微程序不能直接装入控制存储器,要将它转换成二进制代码后才能装入控制存储器。将源微程

22、序翻译成二进制码的程序叫做微编译程序微编译程序。 微程序设计基本上沿用了程序设计的方法取指、计算地址、取数及执行,每一步由一个机器周期实现,如何区分一条指令的四个机器周期呢?图6.31 用计数器译码器形成机器周期信号表6.3 计数器状态变化 A指令B指令cyAcyBcyAcyBcyAcyBcyAcyB0001001001101011101111001100根据真值表列出表达式,对于A指令,其表达式为cyAcyAcyB+cyAcyB;(6.2)cyBcyA cyB+cyAcyBcyB。(6.3)对于B指令,其表达式为cyAcyA cyB+cyAcyBcyB;(6.4)cyBcyAcyB。(6.5

23、)图6.32 时序计数器逻辑图图6.33 形成操作控制信号的逻辑框图 如何组成?如何组成?来自指令译码器的输出、时序发生器的时序信号一组带有时间标志的微操作控制信号每个微操作控制信号是指令、时序等的逻辑函数,可表示为: 在计算地址周期cy2完成有效地址的计算(rs1)+Disp),为此要将rs1的内容取出与IR中的位移量一起送ALU,发出rs1GR(送通用寄存器地址),(rs1)ALU,DispALU以及“+”命令,最后将运算结果送地址总线,发出ALUAR信号。列出逻辑表达式rs1GR加法指令cy2(6.13)(rs1)ALU加法指令cy2(6.14)ALUAR加法指令cy2(6.15)图6.

24、34 实现rs1GR,(rs1)ALU的逻辑图 对每一条指令都进行同样的分析,得出。 对所有指令的全部表达式进行综合分析后可得出下述结论:(1) 取指周期cy1所产生的信号,对所有指令都是相同的,即与当前执行的指令无关,逻辑式得到最简单的形式。(2) 通常,同一个控制信号在若干条指令的某些周期中都需要,为此需要把它们组合起来。“+”加法指令(cy2+cy4)+减法指令cy2+转移指令cy2+加法指令cy2+加法指令cy4+减法指令cy2+转移指令cy2+(6.16)(3) 同种类型的指令所需的控制信号大部分是相同的,仅有少量区别。不同类型的指令,其控制信号的差别就比较大。(4) 在确定指令的操

25、作码时,注意化简以减少逻辑电路数量。例如,某机有128条指令,7位操作码(OP0OP6),其中有十六条算术逻辑运算指令,那么可以令这些指令的三位操作码完全相等(例如OP0OP2为001),而OP3OP6分别表示16条指令,设命令A是所有算术逻辑指令在cy2周期中都需产生的,则:图6.35 控制器总框图微程序控制器的控制功能是在存放微程序的控制存储器和存放当前正在执行的微指令的寄存器直接控制下实现的,而硬布线控制则由逻辑门组合实现。微程序控制的速度 硬布线控制的速度执行每条微指令都要从控存中读取一次,影响了速度,而硬布线逻辑主要取决于电路延迟取指取指1 计算地址计算地址1 取操作数取操作数1 计

26、算存结果计算存结果1 取指取指2 计算地址计算地址2 如何提高效率?如何提高效率?图6.37 指令重叠执行情况 流水线是将一个较复杂的处理过程分成m个复杂程度相当、处理时间大致相等的子过程,每个子过程由一个独立的功能部件来完成,处理对象在各子过程连成的线路上连续流动。在同一时间,m个部件同时进行不同的操作,完成对不同子过程的处理。 (1) 流水过程由多个相联系的子过程组成,每个子过程称为流水线的级或段。段的数目称为流水线的深度。(2) 每个子过程由专用的功能段实现;(3) 各个功能段所需时间应尽量相等,否则,时间长的功能段将成为流水线的瓶颈,会造成流水线的堵塞和断流。这个时间一般为一个时钟周期(拍);(4) 流水线需要有通过时间(第一个任务流出结果所需的时间),在此之后流水过程才进入稳定工作状态,每一个时钟周期

温馨提示

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

评论

0/150

提交评论