您好,欢迎访问三七文档
第五章中央处理(器)机计算机的核心部分称为中央处理器(CentralProcessingUnit),简称CPU,它(早期)由运算器、控制器和寄存器组成。现代CPU中增加了Cache器件。5.1CPU的功能和组成计算机(微型机)的工作过程为:加电→产生Reset信号→执行指令→停机→断电对于冯.诺曼结构的计算机而言,一旦程序进入存储器后,就由控制器负责协调并控制计算机的各部件执行程序的指令序列,其基本工作过程为:取指令分析指令执行指令•CPU的功能:(1)指令控制:控制指令的执行顺序,逐条执行或跳转执行。(2)操作控制:解释并控制指令的运行,即产生完成每条指令所需的控制命令。(3)时间控制:产生操作时序,按时间顺序启动各类操作,即对各种操作实施时间上的控制。(4)数据加工:对数据进行算术运算和逻辑运算。(5)处理中断:对异常情况进行处理。•CPU的基本组成CPU通常由以下四部分组成:(1)CU:能发出各种操作命令序列的控制部件。(2)ALU:能实现算逻运算的部件。(3)寄存器组:能存放指令或数据、指令地址或数据地址、状态信息等。(4)中断系统:能处理异常情况和特殊请求。CPUALUCU寄存器中断系统控制总线数据总线地址总线•CPU的寄存器CPU中的寄存器大致可分为两类:一类属用户可见寄存器,用户可对这类寄存器编程,以及通过优化使CPU因使用这类寄存器而减少对主存的访问次数。另一类属控制和状态寄存器,用户不可对这类寄存器编程,它们被控制部件使用,以控制CPU的操作,也可被带有特权的操作系统程序使用,从而控制程序的执行。(1)数据缓冲寄存器DR用于暂存由CPU送往内存的数据信息,或由内存送往CPU的指令信息和数据信息。(2)指令寄存器IR保存现行指令,从存储器取出的指令存放在IR中。指令寄存器中操作码字段输出作为指令译码器的输入,经译码转换为具体操作信号。(3)程序计数器PC保存下一条指令地址,又称为指令地址寄存器。PC是具有计数功能的寄存器。(4)地址寄存器AR用于保存当前CPU所访问的内存单元地址。由于内存与CPU的速度差异,地址需保存至内存读/写操作完成为止。(5)通用寄存器组GR由多个寄存器组成,可存放操作数及地址信息。CPU中的通用寄存器有多个,可组成通用寄存器堆结构。使用时对寄存器进行编号,按寄存器号进行访问。(6)累加寄存器ACAC简称为累加器,它是特殊的通用寄存器。其功能是暂存ALU运算结果,运算器中至少要有一个累加寄存器。(7)程序状态寄存器PSW(SR)SR是一个由各种状态条件标志组成的寄存器,用于存放程序状态字PSW。PSW包含按算术、逻辑指令运行或测试的结果建立的条件码,如进位标志(C),溢出标志(V),结果为零标志(Z),负标志(N)等,这些标志分别由1位触发器保存。除此之外,PSW还包含中断和系统工作状态等信息,以便使系统及时了解机器运行状态和程序运行状态。•操作控制器与时序发生器(1)数据通路通常把许多寄存器之间传送信息的通路称为数据通路。信息由源传送到目的,其传输路径、传输方法由操作控制器决定。操作控制器的功能是根据指令操作码和时序信号,产生各种操作控制信号,从而建立数据通路,完成取指令和执行指令的控制。(2)操作控制器为数据通路的建立提供各种操作信号。根据设计方法不同,可分为时序逻辑型(硬布线控制器)和存储逻辑型(微程序控制器)。(3)时序产生器对各种操作实施时间上的控制,即提供定时和时序信号提供定时和时序信号。5.2指令周期计算机所以能自动地工作,是因为CPU能从存放程序的内存里取出一条指令并执行这条指令;紧接着又是取指令,执行指令……,如此周而复始,构成了一个封闭的循环。除非遇到停机指令,否则这个循环将一直继续下去。•指令周期的基本概念(1)指令周期:CPU从内存取出一条指令并执行这条指令的时间总和。通常一个指令周期包含3~4个机器周期。如取指令周期、取操作数周期、指令执行周期等。(2)机器周期:又称CPU周期,通常把一条指令周期划分为若干个机器周期,每个机器周期完成一个基本操作。机器周期对应指令执行的不同阶段,如取指令、取操作数、执行等阶段。各阶段长短不一,按最长的阶段划分机器周期。不同的指令,可能包含不同数目的机器周期。一个机器周期包含若干个时钟周期。(3)时钟周期:两次时钟脉冲的时间间隔(主振频率的倒数)。又称节拍或T周期,对应基本定时信号在一个机器周期内,要完成若干个微操作。因而需要把一个机器周期分为若干个相等的时间段,每一个时间段称为一个节拍。节拍常用具有一定宽度的电位信号表示,称之为节拍电位。多级时序系统反映了指令周期、机器周期和时钟周期之间的关系。一个指令周期包含若干个机器周期,一个机器周期又包含若干个时钟周期。每个指令周期内的机器周期数可以不等,每个机器周期内的时钟周期数也可以不等。例1:定长的机器周期。时钟T0机器周期机器周期机器周期T1T2T3T0T1T2T3T0T3T2T1(取指令)(取有效地址)(执行指令)指令周期节拍(状态)设某处理机的主振频率f,p个时钟周期组成一个机器周期,且平均q个机器周期完成一条指令,则:时钟周期:t=1/f平均一条指令的执行时间:T=p*q*t平均运算速度:V=1/T=1/(p*q*t)例2:某微机的主振频率为40MHz,平均指令执行速度为5MIPS,每个机器周期平均含有4个时钟周期,则该机每个指令周期平均含有多少个机器周期?q=1/(p*V*t)=f/(p*V)=40/(4*5)=2非访内(MOV)指令的指令周期开始取指令PC+1对指令译码执行指令取下条指令PC+1一个CPU周期一个CPU周期取指周期执行周期直接访内(LAD、ADD、STO)指令的指令周期译地址码取出操作数送操作数地址执行操作取下条指令PC+1开始取指令PC+1指令译码一个CPU周期一个CPU周期一个CPU周期取指周期执行周期程序控制指令的指令周期地址译码取下条指令PC+1对指令译码执行周期取指周期取指令PC+1开始一个CPU周期一个CPU周期送转移地址•用方框图语言表示指令周期在进行计算机设计时,可以采用方框图语言来表示一条指令的指令周期。(1)方框:代表一个CPU周期,方框中的内容表示数据通路的操作或某种控制操作。(2)菱形:通常用来表示某种判别或测试,不过时间上它依附于紧接它的前面一个方框的CPU周期,而不单独占用一个CPU周期。指令执行过程可分解为一组操作序列,这些操作是功能级的。还可把它再细分为微操作序列,微操作序列是最基本的、不可再分割的操作。用方框图语言表示指令周期PCABUS(I)IBUSIRPC+1R1+R2R2译码IRARR1R0R3ARIRPCARABUS(D)DBUSDRDRR1R2DBUS开始RD(I)RD(D)MOVLADADDSTOJMP例3:下图所示为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器(具有自增功能),M为主存(受R/W信号控制),AR为地址寄存器,DR为数据缓冲寄存器,ALU由加、减控制信号决定完成何种操作,控制信号G控制的是一个门电路。另外,线上标注有小圈表示有控制信号,例中yi表示y寄存器的输入控制信号,R1o为寄存器R1的输出控制信号,未标字符的线为直通线,不受控制。(1)“ADDR2,R0”指令完成(R0)+(R2)→R0的功能操作,画出其指令周期流程图,假设该指令的地址已放入PC中。并列出相应的微操作控制信号序列。(2)“SUBR1,R3”指令完成(R3)-(R1)→R3的操作,画出其指令期流程图,并列出相应的微操作控制信号序列。5.3时序产生器和控制方式•时序信号的作用和体制时序信号的作用是按一定的时间序列产生一系列脉冲与电位信号,控制器根据电位和定时脉冲的顺序和间隔指挥机器运作。组成计算机硬件的器件决定了时序信号最基本的体制是电位–脉冲制。如寄存器由多个触发器组成,在触发器的数据输入端D提供电平信号,在触发器的时钟端CLK提供脉冲信号,脉冲的上升沿时将电平信号打入,实现数据存储。用二进制码表示的指令和数据都放在内存里,那么CPU是怎样识别出它们是数据还是指令呢?(1)从时间上来说,取指令事件发生在指令周期的第一个CPU周期中,即发生在“取指令”阶段,而取数据事件发生在指令周期的后面几个CPU周期中,即发生在“执行指令”阶段。(2)从空间上来说,如果取出的代码是指令,那么一定送往指令寄存器,如果取出的代码是数据,那么一定送往运算器。总之,计算机的协调动作需要时间标志,而时间标志则是用时序信号来体现的。控制器发出的各种控制信号一般都是时间因素(时序信号)和空间因素(部件位置)的函数,只要在要求的时间产生与要求部件相对应的控制信号,就可以控制计算机自动、连续、协调地运行。硬布线控制器中,时序信号往往采用主状态周期-节拍电位-节拍脉冲三级体制。在微程序控制器中,时序信号比较简单,一般采用节拍电位-节拍脉冲二级体制。⑴周期电位——机器周期持续时间,标志该周期对应的状态触发器被置“1”。⑵节拍电位——节拍持续时间,即一个时钟周期。一次寄存器之间的传送或一次ALU操作称为一个节拍。⑶节拍脉冲——节拍电位内的控制脉冲,对应最基本的定时信号和最基本的操作动作。•时序信号产生器微程序控制器中使用的时序信号产生器由时钟源、环形脉冲发生器、节拍脉冲和读写时序译码逻辑、启停控制逻辑等部分组成。(1)时钟源:时钟源用来为环形脉冲发生器提供频率稳定且电平匹配的方波时钟脉冲信号。它通常由石英晶体振荡器和与非门组成的正反馈振荡电路组成,其输出送至环形脉冲发生器。(2)环形脉冲发生器:环形脉冲发生器的作用是产生一组有序的间隔相等或不等的脉冲序列,以便通过译码电路对时钟脉冲信号进行分频、组合,产生所需周期电位、节拍电位和节拍脉冲。(3)节拍脉冲和存储器读/写时序:节拍脉冲T1—T4的脉冲宽度均为200ns,因此一个CPU周期便是800ns,在下一个CPU周期中,它们又按固定的时间关系,重复T1,T2,T3,T4的先后次序,以供给机器工作所需的原始节柏脉冲。信号RD’和WE’是来自微程序控制器的控制信号,它们都是持续时间为一个CPU周期的节拍电位信号。节拍电位与节拍脉冲时序关系•控制方式控制方式即控制不同操作序列时序信号的方法。常用的有同步控制、异步控制、联合控制三种方式,其实质反映了时序信号的定时方式。(1)同步控制方式(又称固定时序方式)在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期数都固定不变。根据不同情况,同步控制方式可选取如下方案:–采用完全统一的机器周期执行各种不同的指令。–采用不定长机器周期。–中央控制与局部控制结合。(2)异步控制方式(又称可变时序方式)各部件不采用统一的周期和节拍。可设置独立的时序系统,也可以使用同一时钟系统,但按不同的需要选择时间。时间上的衔接通过应答通讯方式实现,即以前一部件的结束信号作为后一部件的启动信号。其特点是:每条指令、每个操作控制信号需要多少时间就占用多少时间。(3)联合控制方式为同步控制和异步控制相结合的方式。机器周期数不固定,对大多数指令采用同步控制,对少部分指令采用异步控制,即局部性异步控制。5.4微程序控制器微程序设计思想是英国剑桥大学教授M.V.Wilkes在1951年首先提出来的。他指出:一条机器指令可以分解为许多基本的操作序列,这些操作可以归结为信息的传送控制,其关键就是对逻辑门的控制。而对逻辑门的控制则可以通过存储阵列中的信息位来实现,从而用一种规则的,类似于程序设计的方法来设计计算机的控制逻辑,这就是微程序设计的基本思想。微程序设计的本质是用软件方法组织和控制系统中的信息传送,并用硬件结构加以管理。微程序的出现给计算机控制器的设计和实现技术带来了巨大影响。它与纯硬件方法相比,大大减少了硬连逻辑控制器的复杂程度。由于微程序在设计上象软件,在制作上象硬件,于是人们将它称为“固件”。•微程序控制原理微程序控制的基本思想,就是仿照通常的解题程序的方法,把操作控制信号编成所谓的“微指令”,存放到一个只读存储器里。当机器运行时,一条
本文标题:第五章中央处理机.
链接地址:https://www.777doc.com/doc-2083651 .html