第五章中央处理器5.1CPU功能和组成5.2指令周期5.3时序产生器和控制方式5.4微程序控制器5.5硬连线控制器5.6传统CPU5.7流水CPU5.8RISC的CPU5.9多媒体CPU5.1CPU的功能和组成执行指令取指令操作控制、时间控制5.1.1中央处理机(CPU)的功能指令控制(程序执行顺序的控制)操作控制(根据指令的功能发出若干个操作信号)时间控制(指令的各个操作实施时间的定时)数据加工(算术运算和逻辑运算)每条指令的定时每个微操作的定时5.1.2CPU的基本组成RD/WRLDDRLDIRLDPCLDARPC+1控制器运算器术(1)中央处理器CPU(3)运算器ALU暂存器累加器(2)控制器控制器组成:+cache=运算器+控制器数据缓冲器、地址寄存器、通用寄存器、状态寄存器控制器的主要功能①取指令,形成下一条指令地址②译码,产生相应的控制信号,启动规定的动作。③指挥并控制各个部件之间数据流动的方向。程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器组成。5.1.3CPU中的主要寄存器(1)数据缓冲寄存器DR②补偿速度差别①作为ALU运算结果和通用寄存器之间信息传送中时间上的缓冲CPU内存或I/O指令数据DR指令数据通用寄存器(2)指令寄存器IR(InstructionRegister)指令寄存器用来存放从存储器中取出的待执行的指令。在执行该指令的过程中,指令寄存器的内容不允许发生变化,以保证实现指令的全部功能。(3)程序计数器PC(ProgrammingCounter)用来存放正在执行的指令的地址或接着将要执行的下一条指令的地址。顺序执行时,每执行一条指令,PC的值应加1要改变程序执行顺序的情况时,一般由转移类指令将转移目标地址送往PC,可实现程序的转移。(4)地址寄存器AR:(6)状态字寄存器PSW(5)通用寄存器R0-R3保存当前CPU所访问的数据cache存储器单元的地址。为ALU提供一个工作区。5.1.4操作控制器和时序产生器(1)数据通路:(2)操作控制器:根据设计方法不同,操作控制器分为:时序逻辑型存储逻辑型寄存器之间传送信息的通路根据指令操作码和时序信号,产生各种操作控制信号;选择正确的数据通路。•硬连线控制器•微程序控制器•硬连线控制器硬连线控制器,它是采用时序逻辑技术来实现的,其时序控制信号形成部件是由门电路组成的复杂树形网络。时序逻辑控制器的最大优点是速度快,但是时序控制信号形成部件的结构不规整,使得设计、调试、维修较困难,难以实现设计自动化。该方法是分立元件时代的产物,以使用最少器件数和取得最高操作速度为设计目标•微程序控制器微程序控制器是采用存储逻辑来实现的,也就是把微操作信号代码化,使每条机器指令转化成为一段微程序并存入一个专门的存储器(控制存储器)中,微操作控制信号由微指令产生。微程序控制器的设计思想和时序逻辑设计思想截然不同。由于它增加了一级控制存储器,所以指令执行速度比时序逻辑控制器慢。它具有设计规整、调试、维修以及更改、扩充指令方便的优点,易于实现自动化设计,已成为当前控制器的主流。习题.CPU中有哪些主要寄存器?简述这些寄存器的功能。解:CPU有以下寄存器:指令寄存器(IR):用来保存当前正在执行的一条指令。程序计数器(PC):用来确定下一条指令的地址。地址寄存器(AR):用来保存当前CPU所访问的内存单元的地址。缓冲寄存器(DR):1作为CPU和内存、外部设备之间信息传送的中转站。2补偿CPU和内存、外围设备之间在操作速度上的差别。3在单累加器结构的运算器中,缓冲寄存器还可兼作为操作数寄存器。通用寄存器(AC):当运算器的算术逻辑单元(ALU)执行全部算术和逻辑运算时,为ALU提供一个工作区。状态条件寄存器:保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容。除此之外,还保存中断和系统工作状态等信息,以便使CPU和系统能及时了解机器运行状态和程序运行状态。5.2指令周期5.2.1指令周期的基本概念5.2.2典型指令的指令周期5.2.3用方框图语言表示指令周期5.2.1指令周期的基本概念概念指令周期:指取指令、分析指令到执行完该指令所需的全部时间。思考:各种指令的指令周期相同吗?机器周期通常又称CPU周期指令周期由若干个机器周期组成,每个机器周期完成一个基本操作不同的指令,可能包含不同数目的机器周期。一个机器周期中,包含若干个时钟周期(节拍脉冲或T脉冲)。表5.15.2.2MOV指令的指令周期1、取指周期2、执行周期MOV指令的指令周期-取指①程序计数器PC中装入第一条指令地址101(八进制);②PC的内容被放到指令地址总线ABUS(I)上,对指存进行译码,并启动读命令;③从101号地址读出的MOV指令通过指令总线IBUS装入指令寄存器IR;④程序计数器内容加1,变成102,为取下一条指令做好准备;⑤指令寄存器中的操作码(OP⑥CPU识别出是MOV指令,至此,取指周期即告结束。5.2.2MOV指令的指令周期-执行①操作控制器(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指令的指令周期取指周期执行周期LADR1,6LAD指令的执行周期④OC发出命令,将DBUS上的数据100装入缓冲寄存器DR;③OC发出读命令,将数存6号单元中的数100读出到DBUS上;②OC发出操作命令,将地址码6装入数存地址寄存器AR;LAD指令的执行周期见图58所示。CPU执行的动作如下:⑤OC发出命令,将DR中的数100装入通用寄存器R1,原来R1中的数10被冲掉。至此,LAD指令执行周期结束①操作控制器OC发出控制命令打开IR输出三态门,将指令中的直接地址码6放到数据总线DBUS上;LADR1,65.2.4ADD指令的指令周期5.2.5ADD指令的指令周期①操作控制器OC送出控制命令到通用寄存器,选择R1做源寄存器,R2做目标寄存器②OC送出控制命令到ALU,指定ALU做R1(100)和R2(20)的加法操作③OC送出控制命令,打开ALU输出三态门,运算结果120放到DBUS上④OC送出控制命令,将DBUS上数据打入缓冲寄存器DR;ALU产生的进位信号保存状态字寄存器在PSW中⑤OC送出控制命令,将DR(120)装入R2,R2中原来的内容20被冲掉。至此ADD指令执行周期结束ADDR1,R25.2.5STO指令的指令周期STOR2,(R3)图5.11STO指令的执行周期①操作控制器OC送出操作命令到通用寄存器,选择(R3)=30为数据存储器的地址单元;②OC发出操作命令,打开通用寄存器输出三态门将地址30放到DBUS上;③OC发出操作命令,将地址30打入AR④OC发出操作命令到通用寄存器,选择(R2)=120,⑤OC发出操作命令,打开通用寄存器输出三态门,将数据120放到DBUS上。⑥OC发出操作命令,将数据120写入数存30号单元,它原先的数据40被冲掉。至此,STO指令执行周期结束。5.2.6JMP指令的指令周期图5.13JMP指令的指令周期①OC发生操作控制命令,打开指令寄存器IR的输出三态门,将IR中的地址码101发送到DBUS上;②OC发出操作控制命令,将DBUS上的地址码101打入到程序计数器PC中,PC中的原先内容106被更换。于是下一条指令不是从106号单元取出,而是转移到101号单元取出。至此JMP指令执行周期结束。5.2.7用方框图语言表示的指令周期指令系统(模型机的五指令系统)方框——一个CPU周期方框内内容——数据通路操作或某种控制操作菱形符号——判别或测试~——公操作符号前边所讲述的5种操作的框图描述如下:取下一条指令或与外围设备交换数据。取指执行用方框图语言表示指令周期指存读指存地址总线数存读公操作例1双总线结构机器的数据通路图微操作信号微操作信号注意微操作控制信号(右边)ALU0ALU0