您好,欢迎访问三七文档
第三章CPU子系统本章主要讨论:运算器控制器数据通路结构与外部的连接指令的执行过程CPU组成CPU工作原理第一节CPU概论CPU的基本功能:l数据加工:l时间控制:l操作控制:l指令控制:程序的顺序控制,称为指令控制。产生每条指令的操作信号,并将各种操作信号送往相应的部件,控制这些部件按指令的要求进行动作。对各种操作实施时间上的定时,称为时间控制。所谓数据加工,就是对数据进行算术运算和逻辑运算处理。3.1CPU的基本组成传统CPU的组成:现代的CPU的基本部分有:运算部件Cache控制器运算部件控制器(在诺曼机的定义中)1、运算部件l应能完成数据输入(参与运算的数据)l应能对输入的数据进行运算(或加工)l应能输出运算(或加工)后的结果因此运算器有以下构成:输出逻辑ALU输入逻辑操作数输入逻辑操作数运算结果(1)输入逻辑选择器或暂存器(2)算术逻运算部件①设置一个ALU,完成基本的加减运算,复杂运算由软件完成;②设置一个ALU,与相应时序电路配合,硬件完成定点乘除法运算;③设置一个ALU,但将乘除法和浮点运算部件作为ALU的基本配置;④配置多个运算部件(3)输出逻辑通常完成:直送、左右移位、字节交换等功能。2、寄存器组CPU内部需要若干寄存器来存放需要加工、运算的数据、中间结果、最终结果等。(1)寄存器的两种基本组成独立结构寄存器由若干单独的寄存器构成小型RAM每一个单元作为一个寄存器使用....(2)寄存器的分类按寄存器存放的信息的类型(或使用的方式)进行分类(七类):①通用寄存器一般是指可以通过程序访问的、具有多种用途的寄存器,每一个通用寄存器有编号与之对应。作用如:存放数据(原始数据、中间结果、最终结果等),也可以存放地址进行间接寻址、变址寻址等。标识方法:不同的CPU可能各不相同。如:Intel8086的AX、BX、CX、DX、DI等PDP-11小型机的R0、R1、R2等②暂存器暂存器不能通过程序访问,也没有编号。主要作用是存放指令执行过程中的中间信息。比如:l从一个主存单元读数据存到另一个单元,则有以下过程单元暂存器单元;l为运算器两个输入端提供数据,分两次将操作数送往两个不同的暂存器。③指令寄存器(IR)存放从存贮单元中读出的指令。一个指令寄存器存放一条指令,也可以设置一个指令队列,存放多条指令④程序计数器(PC、IC、IP)用于跟踪程序的地址。PC的初值为所要执行的程序的首地址。如果一条指令占据1个单元,则一条指令被读出以后,则进行:PC+1PC操作;如果一条指令占据2个单元,则一条指令被读出以后,则进行:PC+2PC操作;依次类推。⑤程序状态字寄存器(PSW)用于记录程序指令过程中运行的状态和程序的工具方式。主要由以下两个部分构成:l特征位进位位C:指令执行后,如果结果产生进位,则将C置为1,否则置0;溢出位V:如果运算结果产生溢出,则将V置为1,否则置0;零标志Z:如果运算结果为0,则将Z置为1,否则置0;正负标志N:如果运算结果为负,则将N置为1,否则置0;奇偶标志P:如果运算结果中1的个数为奇数,将P置为1,否则置0;(Intel8086的规定与此相反)以上标志位的状态是由指令执行的结果决定的。PSW的另一部分状态的设置是由编程来决定,其典型的设置有:跟踪位T:称为断点标志,主要用于程序调试。如果编程时,将T置为1,且在程序中安排一条测试指令,当程序执行到该测试指令时,程序将转入测试程序。单步标志TF将单步标志置1,则程序每执行一条指令,就产生一次内部中断。其功能主要用于程序调试。中断允许标志或程序优先级字段:—中断允许标志I(或TI):根据当前运行程序与外部中断的紧要程度,处理器通过对该标志的设置,决定是否响应中断请求。—为每一程序和中断请求设置优先级,仅当中断请求的优先级高于正在执行的程序的优先级,才响应中断请求。(在微型计算机中,一般采用前一种方式)⑥地址寄存器MARCPU访问存储器和访问I/O端口的地址首先存入MAR,再有MAR送往外部地址总线。⑦数据缓冲寄存器MBR(或MDR)用于暂存CPU与存储器和外设之间通信的数据。可以看出,MAR、MBR是CPU联系存储器和外设之间的桥梁,如下图所示:CPUMARMBR存储器I/O接口和设备3、微命令产生部件“第一章概论”中的描述:计算机工作过程:信息以电信号形式的流动流动过程是受控的受控的表现是:流动方向流动时机流动时间控制过程的实现:电子开关器件这从指令执行的角度,指令执行过程:取指阶段(取指)指令分析阶段(译码)指令执行阶段(执行)程序下一条指令(可包含取操作数、运算、存结果、设置标志位等)l每一步操作都需要相应控制信号,也需要相应的时序信号来控制操作的时间;l上述的控制信号(命令)即称为微命令;l因此需要有控制逻辑电路和时序电路来产生微命令和时序信号;l该控制逻辑电路和时序电路即为控制器的核心。程序计数器指令寄存器时序产生器操作控制器指令译码器根据以上描述,控制器应由以下部件构成:跟踪指令地址,取指令控制存放取出的指令识别指令功能产生微操作信号序列,控制信息的流动过程控制器的构成框图:微操作信号序列形成部件..............微操作命令时序信号及控制指令译码器启停控制指令寄存器脉冲源程序计数器总线控制逻辑......总线输出自运算器自存储器自外设4、时序系统l功能:控制操作时间和操作时刻。时序信号是产生微命令的依据之一。l时序:即时间控制电路,也称为时序系统。功能完成的时间、时刻的控制l时钟振荡器提供基本的时序源如下图所示:振荡器时钟脉冲工作脉冲时钟周期(节拍)产生电位型微命令,控制操作时间段(时间控制)产生脉冲型微命令,控制定时操作(时机控制)分频器启停控制逻辑(产生稳定脉冲,生成RESET信号)取指令指令译码执行一个节拍T1T2T4T3执行阶段的时间长度.....操作的时机时序控制例:5、CPU内部的数据通路的结构CPU内部由许多部件构成,如运算器、微命令发生器、各种寄存器、时序控制逻辑等。就数据信息的传送,需要为数据的传送提供传送的通路(即通信线路)。完成如:寄存器中的数据怎样送往ALU;ALU的结果怎样送往寄存器;寄存器之间的数据怎样传送等功能。不同功能、性能的处理器,其数据通路是不同的。问题:如何设计数据通路?典型的数据通路结构:l单总线通路—设置一组数据通信总线,数据传送均通过该总线进行;—结构简单、但不能实现多组数据并发;l多总线通路—设置多组数据通信总线,可实现不同数据在不同的通路上传送;—结构复杂、但能实现多组数据并行传送;不同结构即是在复杂性与性能之间的选择。(1)单组内总线、分立的寄存器结构主要特点:l各寄存器有自己独立的输入口和输出口;l数据总线为单向,运算器ALU只能通过移位器向总线发送数据,而不能直接从总线接收数据;l寄存器可接收总线上的数据,但不能直接向总线发送数据;移位器ALU选择器AR0...Rn选择器BR0...RnR0R1Rn.....lALU通过选择器接收寄存器的数据。—根据上述特点,以下数据传送功能的完成:①寄存器运算器寄存器选择器运算器②运算器寄存器运算器移位器寄存器(由选择控制信号)(由移位控制信号)③寄存器寄存器寄存器ALU移位器寄存器这是一种以ALU为中心的单总线结构—需要的主要控制信号l寄存器开门信号l移位控制信号l寄存器打入脉冲(2)单组内总线、集成寄存器结构l与第一种方式的主要区别在于寄存器的结构。lCPU内部集成小型的存储器,存储器的每一个单元作为一个寄存器使用(称为寄存器组)。l一组双向数据总线连接ALU和寄存器组。l暂存器取代了(独立寄存器结构中的)选择器—结构图:移位器ALU暂存器C暂存器DR0R1Rn...内总线主要特点:l数据总线为双向,运算器ALU既能向总线发送数据,也能直接从总线接收数据(由暂存器接收);l各寄存器可从总线接收和向总线发送数据;—完成R0+R1R2,步骤如下:•R0内总线暂存器C•R1内总线暂存器D•执行加法•结果经移位器(直送)内总线•内总线R2(3)多组内总线结构CPU内部设置多组总线,用于传输不同类别的信息(地址信息、数据信息、指令信息等分别用不同的总线传送)。如Pentium处理器的内部结构:8K指令Cache指令预取部件指令译码器微指令ROM分支预测部件控制部件U流水线V流水线U流水线地址生成逻辑V流水线地址生成逻辑双端口数据Cache浮点处理部件FPU总线接口部件32位内部地址总线64位内部数据总线3.2时序控制方法“时序控制方法”的提出:计算机由若干不同功能、不同速度的部件和设备构成,这些部件之间通信时,怎样才能做到时间上同步?所谓“时序控制方法”,即根据不同的部件和设备,采用不同的时间同步方式。也称为操作与时序信号之间的关系。主要的时序控制方法有:l同步控制l异步控制l上述方式的变形1、同步控制①定义:②特点:l有明显时序时间划分;l时钟周期时间固定;l各步操作的衔接、各部件之间的数据传送受严格同步定时控制。各项操作受统一时序控制。由CPU或其它设备提供例:工作周期1工作周期3工作周期2将数据总线内容打入指令寄存器取数,打入数据寄存器,并进行加法操作从此处开始,执行将结果存入存储单元的操作认定结果已存入存储单元执行一条加法指令:Ri+(M)M假设需要三个工作周期:⑤应用场合:用于CPU内部、设备内部、系统总线操作l时序关系简单,时序划分规整,控制不复杂;l时间安排不合理(缺点)。l控制逻辑易于集中,便于管理。③优缺点:④采用同步控制的一些条件l发送、接收部件(或设备)传送时间确定;l各部件速度相近,传送距离较近。l一次通信时间不太长2、异步控制各项操作按不同需要安排时间,不受统一时序控制。①定义:例.异步传送操作l主设备:申请并掌握总线权的设备。l从设备:响应主设备请求的设备。②特点:无统一时钟周期划分,各操作间的衔接和部件之间的信息交换采用应答方式。总线发/接接/发从设备主设备l操作流程:主设备获得总线控制权主设备询问从设备主设备发送/接收数据主设备释放总线控制权从设备准备好?YN主设备输出端与总线连接主设备输出端与总线断开l操作流程:也可以描述为(以读数据为例):(1)主设备发出RQ请求信号、地址以及读命令从设备(2)(RQ信号一直保持有效)从设备收到主设备命令,将数据放到数据总线上,主设备发出应答信号ACK(3)主设备收到ACK后,采样数据总线(读数据)将RQ信号变为无效(4)从设备检测到RQ信号无效,停止驱动数据总线,将ACK变为无效从时序上看:RQData时延ACK主设备检测到ACK,采样数据总线地址/读命令主设备将RQ变为无效从设备停止驱动数据总线将ACK变为无效主设备从设备l时间安排紧凑、合理;l控制复杂。③优缺点:④应用场合:用于异步总线操作(各挂接部件速度差异大、传送时间不确定、传送距离较远等)。(3)同步方式的变化指令周期长度可变,时钟周期长度不变。可用计数器指示时钟周期数的变化。①不同指令安排不同时钟周期数既有一套时序系统,但不同指令又有不同时序。时序及控制电路非常复杂(一般不采用)。总线周期长度可变,时钟周期长度不变。总线周期(4T)例.一个总线周期包含4个时钟周期时钟T1T3T2T4送地址读/写数据结束同步方式②总线周期中插入延长周期经总线传送一次数据所用的时间(送地址、读/写)总线周期(5T)扩展同步方式时钟T1T3T2T4T4T4Tw送地址读/写数据结束Intel8086系统的总线操作采用了与上述类似的方式。比如在Intel80286中,一次总线操作的基本长度为三个T时钟。不需要和需要插入Tw的时序如下:(1)无等待周期的存储器读TsTcTcReadyData地址CPU采样数据(2)需要插入等待周期的存储器读假设:每个T为50s,存储器读数据的建立时间为140s(从地址有效到数据总线上数据有效的时间长度)。从进入Ts到第二个Tc下降沿为125s,需要插入一个Tw。ReadyData地址CPU采样数
本文标题:基本组成与概念
链接地址:https://www.777doc.com/doc-2539086 .html