第五章 中央处理器-1.ppt
第五章第五章中央处理器中央处理器5.1CPU功能和组成功能和组成5.2指令周期指令周期5.3时序产生器和控制方式时序产生器和控制方式5.4微程序控制器微程序控制器5.5硬连线控制器硬连线控制器5.6传统传统CPU5.7流水流水CPU5.8RISC的的CPU5.9多媒体多媒体CPU5.1 CPU的功能和组成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):):作为作为CPU和内存、外部设备之间信息传送的中转站。和内存、外部设备之间信息传送的中转站。补偿补偿CPU和内存、外围设备之间在操作速度上的差别。和内存、外围设备之间在操作速度上的差别。在单累加器结构的运算器中,缓冲寄存器还可兼作为操作数寄存器。在单累加器结构的运算器中,缓冲寄存器还可兼作为操作数寄存器。通用寄存器(通用寄存器(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指令的指令周期指令的指令周期取指周期取指周期执行周期执行周期LAD R1,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上;上;LAD R1,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指令执行周期结束指令执行周期结束ADD R1,R25.2.5STO指令的指令周期指令的指令周期STO R2,(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