《计算机组成与结构.ppt》由会员分享,可在线阅读,更多相关《计算机组成与结构.ppt(98页珍藏版)》请在三一办公上搜索。
1、2023/9/15,计算机组成与结构 自动化专业,学时:32上课时间:每周两次周一:8:00 9:35周四:9:45 11:25,CPU,存 储 器,输入设备,运算器,辅助存储器,主存储器,输出设备,控制器,外设,主机,计算机的组成,课程内容安排,控 制 器,微 程 序 控 制,硬 布 线 控 制,中央处理器,流 水 线,基本原理,微程序设计技术,基本原理,与微程序控制的比较,控制器功能与组成,指令执行过程,基本工作原理,中央处理器,CPU中的主要寄存器,1.通用寄存器,2.专用寄存器,通用寄存器可用来存放原始数据和运算结果,有的还可以作为变址寄存器、计数器、地址指针等。通用寄存器一般由程序编
2、址访问。,CPU中的主要寄存器,2.专用寄存器,程序计数器又称指令计数器,用来存放正在执行的指令地址或接着要执行的下条指令地址。,1)程序计数器(PC),2)指令寄存器(IR),指令寄存器用来存放从存储器中取出的指令。当指令从主存取出暂存于指令寄存器之后,在执行指令的过程中,指令寄存器的内容不允许发生变化,以保证实现指令的全部功能。,CPU中的主要寄存器,数据寄存器用来暂时存放由主存储器读出的一个数据字;反之,当向主存存入一个数据字时,也暂时将它们存放在数据寄存器中。,3)数据寄存器(DR),4)地址寄存器(AR),地址寄存器用来保存当前CPU所访问的主存单元的地址。由于主存和CPU之间存在着
3、操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到主存的读写操作完成为止。,CPU中的主要寄存器,状态标志寄存器用来存放程序状态字(PSW)。程序状态字的各位表征程序和机器运行的状态,是参与控制程序执行的重要依据之一。它主要包括两部分内容:一是状态标志,如进位标志(C)、结果为零标志(Z)等,大多数指令的执行将会影响到这些标志位;二是控制标志,如中断标志、陷阱标志等。,5)状态标志寄存器(PSWR),图6.1 Intel 80386微机系统框图,6.1 计算机的硬件系统,Intel 80386包括指令部件、执行部件和存储管理部件等。指令部件完成取指及指令译码功能,并产生控制信号;执行
4、部件包括ALU、乘法部件、寄存器组等;存储管理部件用来确定存储器地址。,6.1 计算机的硬件系统,图6.2 Intel 80386引出端信号,6.1 计算机的硬件系统,6.1 计算机的硬件系统,6.2 控制器的组成,控制器的功能,取指令,分析指令,执行指令,控制器的功能,控制程序和数据的输入与结果输出,对异常情况和某些请求的处理,6.2 控制器的组成,控制器的组成,1.程序计数器(PC),2.指令寄存器(IR),6.2 控制器的组成,3.指令译码器或操作码译码器,4.脉冲源及启停线路,5.时序控制信号形成部件,图6.3 控制器基本组成框图,6.2 控制器的组成,控制器的控制方式,1.同步控制方
5、式,2.异步控制方式,6.2 控制器的组成,3.联合控制方式,4.人工控制,同步控制方式即固定时序控制方式,各项操作都由统一的时序信号控制。由于不同的指令,操作时间长短不一致。同步控制方式应以最复杂指令的操作时间作为统一的时间间隔标准。,控制器的控制方式,2.异步控制方式,6.2 控制器的组成,异步控制方式即可变时序控制方式,各项操作不采用统一的时序信号控制,而根据指令或部件的具体情况决定,需要多少时间,就占用多少时间。这是一种“应答”方式,各操作之间的衔接是由“结束起始”信号来实现的。由前一项操作已经完成的“结束”信号,或由下一项操作的“准备好”信号来作为下一项操作的起始信号,在未收到“结束
6、”或“准备好”信号之前不开始新的操作。,控制器的控制方式,3.联合控制方式,6.2 控制器的组成,这是同步控制和异步控制相结合的方式。实际上现代计算机中几乎没有完全采用同步或完全采用异步的控制方式,大多数是采用联合控制方式。通常的设计思想是:在功能部件内部采用同步方式或以同步方式为主的控制方式,在功能部件之间采用异步方式。,控制器的控制方式,4.人工控制方式,6.2 控制器的组成,(1)RESET(2)连续或单条转换开关(3)符合停机,6.2.3 指令执行过程,组成控制器的基本电路,图6.4 记忆电路,图6.5 无记忆电路,寄存器、计数器和存储单元,加法器,6.2.3 指令执行过程,取指令阶段
7、 取指令阶段完成的任务是将现行指令从主存中取出来并送至指令寄存器中去。具体的操作如下:将程序计数器(PC)中的内容送至地址寄存器(AR),并送地址总线(AB)。由控制单元(CU)经控制总线(CB)向存储器发读命令。从主存中取出的指令通过数据总线(DB)送到数据寄存器(DR)。,6.2.3 指令执行过程,取指令阶段 将DR的内容送至指令寄存器(IR)中。将PC的内容递增,为取下一条指令做好准备。以上这些操作对任何一条指令来说都是必须要执行的操作,所以称为公共操作。完成取指阶段任务的时间称为取指周期。,取指周期的工作流程,图 取指周期的工作流程,6.2.3 指令执行过程,6.2.3 指令执行过程,
8、取出指令后,指令译码器ID可识别和区分出不同的指令类型。此时计算机进入分析取数阶段,以获取操作数。由于各条指令功能不同,寻址方式也不同,所以分析取数阶段的操作是各不相同的。完成分析阶段任务的时间又可以细分为间址周期、取数周期等。,分析取数阶段,6.2.3 指令执行过程,执行阶段,执行阶段完成指令规定的各种操作,形成稳定的运算结果,并将其存储起来。完成执行阶段任务的时间称为执行周期。计算机的基本工作过程就是取指令、取数、执行指令,然后再取下一条指令如此周而复始,直至遇到停机指令或外来的干预为止。,图6.6 运算器框图,6.2.3 指令执行过程,指令功能:将寄存器中的一个数与存储器中的一个数相加,
9、结果放在寄存器中。,操作码 rs,rd rs1 imm(disp),加法指令:,6.2.3 指令执行过程,6.2.3 指令执行过程,加法指令完成以下操作:从存储器取指令,送入指令寄存器,并进行操作码译码(分析指令)。程序计数器加1,为下一条指令做准备。,计算数据地址,将计算得到的有效地址送地址寄存器AR。,到存储器取数。,进行加法运算,结果送寄存器,并根据运算结果置状态位N,Z,V,C。,控制信号:,控制信号:,控制信号:,控制信号:,表6.1 控制信号一览表,指令周期是指从取指令、分析取数到执行完该指令所需的全部时间。由于各种指令的操作功能不同,有的简单,有的复杂,因此各种指令的指令周期不尽
10、相同。机器周期又称CPU周期。通常把一个指令周期划分为若干个机器周期,每个机器周期完成一个基本操作。一般机器的CPU周期有取指周期、取数周期、执行周期、中断周期等。所以有:指令周期i机器周期,指令周期和机器周期,6.2.3 指令执行过程,6.3 微程序控制计算机,6.3.1 微程序控制的基本概念,6.3.1 微程序控制的基本概念,微命令和微操作是一一对应的。微命令是微操作的控制信号,微操作是微命令的操作过程。微命令有兼容性和互斥性之分。兼容性微命令是指那些可以同时产生,共同完成某一些微操作的微命令;而互斥性微命令是指在机器中不允许同时出现的微命令。兼容和互斥都是相对的,一个微命令可以和一些微命
11、令兼容,和另一些微命令互斥。对于单独一个微命令,谈论其兼容和互斥都是没有意义的。,6.3.1 微程序控制的基本概念,一条微指令通常包含两部分:操作控制字段,又称微操作码字段,用以产生某一步操作所需的各微操作控制信号;顺序控制字段,又称微地址码字段,用以控制产生下一条要执行的微指令地址。,6.3.1 微程序控制的基本概念,每一条机器指令都对应一个微程序。,6.3.1 微程序控制的基本概念,微程序和程序是两个不同的概念。微程序是由微指令组成的,用于描述机器指令,微程序实际上是机器指令的实时解释器,是由计算机的设计者事先编制好并存放在控制存储器中的,一般不提供给用户。而程序最终由机器指令组成,是由软
12、件设计人员事先编制好并存放在主存或辅存中的。,6.3.1 微程序控制的基本概念,执行一条指令实际上就是执行一段存放在控制存储器中的微程序。,6.3.1 微程序控制的基本概念,仍以执行一条加法指令为例,它由四条微指令解释执行,一条微指令中的所有控制信号是同时发出的。每条微指令所需的控制信号如下:(1)取指微指令 指令地址送地址总线:PCAB(1)发访存控制命令:ADS(21),MIO1(22),WR0(23)。从存储器取指令送数据总线。指令送指令寄存器:DBIR(5)程序计数器+1:PC+1(3),6.3.2 微程序控制的基本原理,(2)计算地址微指令 取两个源操作数(计算地址用):rs1GR(
13、8),(rs1)ALU(10),dispALU(4)。加法运算:“+”(13)。有效地址送地址寄存器:ALUAR(19)。,6.3.2 微程序控制的基本原理,(3)取数微指令 数据地址送地址总线:ARAB(20)。发访存控制命令:ADS(21),MIO(22),W/R(23)。由存储器将数据送数据总线DB。数据送数据寄存器:DBDR(6),6.3.2 微程序控制的基本原理,(4)加法运算和送结果微指令 两源操作数送ALU:rsGR(9),(rs)ALU(11);DRALU(12)。加法运算:“+”(13)送结果:ALUGR(17),6.3.2 微程序控制的基本原理,如何产生控制信号?,图6.9
14、 加法指令的微指令编码,6.3.2 微程序控制的基本原理,图6.10 微程序流程图举例,6.3.2 微程序控制的基本原理,图6.11 微程序控制器简框图,6.3.2 微程序控制的基本原理,图6.12 时序信号及工作脉冲,6.3.2 微程序控制的基本原理,机器加电后,首先由reset信号在PC内置入开机后执行的第一条指令的地址,同时在微指令寄存器内置入一条“取指”微指令,并将其他一些有关的状态位或寄存器置于初始状态。然后机器开始执行程序,不断地取出指令、分析指令、执行指令。,机器启动过程,6.3.2 微程序控制的基本原理,程序可以存放在固定存储器中,也可以利用一小段引导程序(在固存中)将要执行的
15、程序和数据从外部设备调入主存。实现各条指令的微程序是存放在微程序控制器中的。当前正在执行的微指令从微程序控制器中取出后放在微指令寄存器中,由微指令的控制字段中的各位直接控制信息和数据的传送,并进行相应的处理。,6.3.2 微程序控制的基本原理,微指令编译法,1.直接控制法,2.字段直接编译法,3.字段间接编译法,4.常数源字段,6.4 微程序设计技术,如何缩短微指令字长?,图6.21 字段直接编译法,6.4.1 微指令编译法,分段的原则:互斥性的微命令分在同一段内,兼容性的微命令分在不同段内;每个小段中包含的信息位不能太多,否则将增加译码线路的复杂性和译码时间;每个小段要留出一个状态,表示本字
16、段不发出任何命令,通常用000表示,图6.22 字段间接编译法,6.4.1 微指令编译法,6.4.2 微程序流的控制,所谓微程序流的控制是指当前微指令执行完毕后,怎样控制产生后继微指令的微地址。,以增量方式产生后继微地址增量与下址字段结合产生后继微地址多路转移方式微中断,图6.23“计数器”方式的原理图,6.4.2 微程序流的控制,图6.24“增量与下址字段”方式的原理图,6.4.2 微程序流的控制,1.水平型微指令,2.垂直型微指令,基本特点是在一条微指令中定义并执行多个并行操作微命令。,在微指令中设置有微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能,寄存器-寄存器传送型微指令
17、微指令格式0 1 2 3 7 8 12 13 150 0 0 源寄存器编址 目标寄存器编址 其他功能:把源寄存器数据送目标寄存器。,6.4.3 微指令格式,水平型微指令与垂直型微指令的比较(1)水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则差。(2)水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。(3)由水平型微指令解释指令的微程序,具有微指令字比较长,但微程序短的特点。垂直型微指令则相反,微指令字比较短而微程序长。(4)水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说,比较容易掌握。,6.4.3 微指令格式,6.4.4 微程序控制存储器和动态微程序设计
18、,微程序控制存储器动态微程序设计控制存储器的操作毫微程序设计,图6.27 串行微程序控制器,6.4.4 微程序控制存储器和动态微程序设计,图6.28 并行微程序控制器,6.4.4 微程序控制存储器和动态微程序设计,毫微程序可以看作是用以解释微程序的一种微程序,因此组成毫微程序的毫微指令就可看作是解释微指令的微指令。采用毫微程序设计的主要目的是减少控制存储器的容量,采用的是两级微程序设计方法。通常第一级采用垂直微程序,第二级采用水平微程序。,6.4.4 微程序控制存储器和动态微程序设计,6.4.4 微程序控制存储器和动态微程序设计,图6.29 毫微程序控制存储器,用来编制微程序的语言叫做微程序设
19、计语言,用微程序设计语言编制的程序叫做源微程序。源微程序不能直接装入控制存储器,要将它转换成二进制代码后才能装入控制存储器。将源微程序翻译成二进制码的程序叫做微编译程序。微程序设计基本上沿用了程序设计的方法,6.4.5 微程序设计语言,硬布线控制的计算机?,由指令的操作码直接控制并产生实现取指、计算地址、取数及执行等各步骤所需的控制信号。,6.5 硬布线控制的计算机,问题:取指、计算地址、取数及执行,每一步由一个机器周期实现,如何区分一条指令的四个机器周期呢?,图6.31 用计数器译码器形成机器周期信号,时序与节拍,表6.3 计数器状态变化,时序与节拍,根据真值表列出表达式,对于A指令,其表达
20、式为cyAcyAcyB+cyAcyB;(6.2)cyBcyA cyB+cyAcyBcyB。(6.3)对于B指令,其表达式为cyAcyA cyB+cyAcyBcyB;(6.4)cyBcyAcyB。(6.5),时序与节拍,图6.32 时序计数器逻辑图,时序与节拍,6.5.2 操作控制信号的产生,图6.33 形成操作控制信号的逻辑框图,如何组成?,输入:来自指令译码器的输出、时序发生器的时序信号输出:一组带有时间标志的微操作控制信号,每个微操作控制信号是指令、时序等的逻辑函数,可表示为:微操作=周期节拍脉冲指令码其他条件,6.5.2 操作控制信号的产生,在计算地址周期cy2完成有效地址的计算(rs1
21、)+Disp),为此要将rs1的内容取出与IR中的位移量一起送ALU,发出rs1GR(送通用寄存器地址),(rs1)ALU,DispALU以及“+”命令,最后将运算结果送地址总线,发出ALUAR信号。列出逻辑表达式rs1GR加法指令cy2(6.13)(rs1)ALU加法指令cy2(6.14)ALUAR加法指令cy2(6.15),6.5.2 操作控制信号的产生,图6.34 实现rs1GR,(rs1)ALU的逻辑图,6.5.2 操作控制信号的产生,对每一条指令都进行同样的分析,得出逻辑表达式。对所有指令的全部表达式进行综合分析后可得出下述结论:(1)取指周期cy1所产生的信号,对所有指令都是相同的
22、,即与当前执行的指令无关,逻辑式得到最简单的形式。(2)通常,同一个控制信号在若干条指令的某些周期中都需要,为此需要把它们组合起来。,6.5.2 操作控制信号的产生,“+”加法指令(cy2+cy4)+减法指令cy2+转移指令cy2+加法指令cy2+加法指令cy4+减法指令cy2+转移指令cy2+(6.16),6.5.2 操作控制信号的产生,(3)同种类型的指令所需的控制信号大部分是相同的,仅有少量区别。不同类型的指令,其控制信号的差别就比较大。(4)在确定指令的操作码时,注意化简以减少逻辑电路数量。,6.5.2 操作控制信号的产生,例如,某机有128条指令,7位操作码(OP0OP6),其中有十
23、六条算术逻辑运算指令,那么可以令这些指令的三位操作码完全相等(例如OP0OP2为001),而OP3OP6分别表示16条指令,设命令A是所有算术逻辑指令在cy2周期中都需产生的,则:A加法指令cy2+减法指令cy2+逻辑加指令cy2+(加法指令+减法指令+逻辑加指令+)cy2OP0OP1OP2cy2,6.5.2 操作控制信号的产生,图6.35 控制器总框图,6.5.3 控制器的组成,6.5.4 硬布线控制逻辑设计,1.指令操作码的代码分配,2.确定机器周期、节拍与主频,3.根据指令功能,确定每一条指令所需的机器周期数以及每一周期所完成的操作,4.综合所有指令的每一个操作命令(写出逻辑表示式并化简
24、),6.5.5 硬布线控制与微程序控制的比较,1.实现,2.性能,微程序控制器的控制功能是在存放微程序的控制存储器和存放当前正在执行的微指令的寄存器直接控制下实现的,而硬布线控制则由逻辑门组合实现。,设计简单,方便修改与扩展,结构复杂,设计麻烦,检查调试困难,微程序控制的速度 硬布线控制的速度,原因:执行每条微指令都要从控存中读取一次,影响了速度,而硬布线逻辑主要取决于电路延迟,6.7 流水线工作原理,蒙牛流水线,取指1 计算地址1 取操作数1 计算存结果1 取指2 计算地址2,机器指令的执行,如何提高效率?,6.7 流水线工作原理,图6.37 指令重叠执行情况,6.7 流水线工作原理,6.7
25、 流水线工作原理,6.7 流水线工作原理,(1)流水过程由多个相联系的子过程组成,每个子过程称为流水线的级或段。段的数目称为流水线的深度。(2)每个子过程由专用的功能段实现;(3)各个功能段所需时间应尽量相等,否则,时间长的功能段将成为流水线的瓶颈,会造成流水线的堵塞和断流。这个时间一般为一个时钟周期(拍);(4)流水线需要有通过时间(第一个任务流出结果所需的时间),在此之后流水过程才进入稳定工作状态,每一个时钟周期(拍)流出一个结果。,6.7 流水线工作原理,流水工作特点:,6.7 流水线工作原理,按照流水线的级别来分类:(1)部件级流水线(又叫运算操作流水线):它是把处理机的算术逻辑部件分
26、段,以便为各种数据类型进行流水操作。(2)处理机级流水线(又叫指令流水线):它是把指令的解释执行过程按照流水方式进行处理。,6.7 流水线工作原理,一般来说,流水线中的相关主要分为如下三种类型:1.结构相关:当硬件资源满足不了指令重叠执行的要求,而发生资源冲突时,就发生了结构相关。2.数据相关:当一条指令需要用到前面指令的执行结果,而这些指令均在流水线中重叠执行时,就可能引起数据相关。3.控制相关:当流水线遇到分支指令和其它能够改变PC值的指令时,就会发生控制相关。,6.7 流水线工作原理,6.7 流水线工作原理,6.7 流水线工作原理,6.7 流水线工作原理,6.7 流水线工作原理,3.控制
27、相关 在大多数流水线机器中,当遇到条件转移指令时,确定转移与否的条件码往往由条件转移指令本身或由它前一条指令形成,只有当它流出流水线时,才能建立转移条件并决定下条指令地址。因此当条件转移指令进入流水线后直到确定下一地址之前,流水线不能继续处理后面的指令而处于等待状态,因而影响流水线效率。,6.7 流水线工作原理,RISC机器中,当遇到转移指令时,可以采用延迟转移方法或优化延迟转移方法。在采取延迟转移方法时,编译程序自动在转移指令之后,插入一条(或几条,根据流水线情况而定)空指令,以延迟后继指令进入流水线的时间。所谓优化延迟转移方法,是将转移指令与前条指令对换位置,提前执行转移指令,可以节省一个机器周期。,延时转移技术,6.7 流水线工作原理,“猜测法”技术 机器先选定转移分支中的一个,按它继续取指并处理,假如条件码生成后,说明猜测是正确的,那么流水线可继续进行下去,时间得到充分利用,假如猜错了,那么要返回分支点,并要保证在分支点后已进行的工作不能破坏原有现场,否则将产生错误。,6.7 流水线工作原理,图6.49 Pentium微处理器逻辑框图,6.8 CPU举例,本 章 结 束,中央处理器,