660 likes | 891 Views
第 3 章 CPU 原理. 学习目标:. 理解全加器的逻辑式和结构,并行加法器及所采用的进位链、多功能算术逻辑运算部件 SN74181 的功能。 掌握模型机的基本组成、数据通路及数据传送,掌握微命令的基本形式。 理解控制器的功能,掌握指令流程及组合逻辑控制器的工作原理。 掌握微型程序控制的概念,了解微指令的编码方式和顺序控制方式,了解微指令的格式。. § 3.1 算术逻辑运算部件 ALU. ALU 是一种功能较强的组合逻辑电路,有时被称为多功能函数发生器。 ALU 的核心是加法器。 ALU 主要完成对二进制代码的定点算术运算和逻辑运算。.
E N D
学习目标: • 理解全加器的逻辑式和结构,并行加法器及所采用的进位链、多功能算术逻辑运算部件SN74181的功能。 • 掌握模型机的基本组成、数据通路及数据传送,掌握微命令的基本形式。 • 理解控制器的功能,掌握指令流程及组合逻辑控制器的工作原理。 • 掌握微型程序控制的概念,了解微指令的编码方式和顺序控制方式,了解微指令的格式。
§ 3.1 算术逻辑运算部件ALU • ALU是一种功能较强的组合逻辑电路,有时被称为多功能函数发生器。 • ALU的核心是加法器。 • ALU主要完成对二进制代码的定点算术运算和逻辑运算。
§ 3.1.1 加法单元 低位送进来的进位Ci • 全加器与半加器: An An-1…Ai…A2 A1 A0 Bn Bn-1…Bi …B2 B1 B0 + Cn Cn-1…Ci …C2 C1 C0 • 全加器为考虑三个输入的加法单元,半加器为考虑两个输入的加法单元。 输入量 输出量 全加和Σi+向高位的进位Ci
+ • 用半加器构成全加器 (1)半加求和可用异或门实现: 半加和=AiOBi (半加器的逻辑式) 半加器又称为异或门 (2)全加器=两个半加,其逻辑式: Σi=AiOBiOCi C i+1=AiBi+(AiOBi)Ci 因逻辑门电路均存在延迟时间,全加器电路是一个延迟部件,其特性将影响全加器的速度。 + + +
§ 3.1.2 并行加法器与进位链结构 • 并行加法器:是用n位全加器实现两个n位操作数各位同时相加,其中的全加器的位数与操作数的位数相同。 • 并行加法器的最长时间是由进位信号的传递时间决定的,而每位全加器本身的求和延迟是次要的因素。所以,加快进位的产生和传递是提高其速度的关键。 • 进位链:并行加器中传递进位信号的逻辑线路,称为~
+ Gi为进位产生函数 Pi为进位传递函数 • 1. 基本进位公式: • C i+1=AiBi+(AiOBi)Ci • 2. 并行加法器的串行进位: (1)串行进位的并行加法器是将n个全加器串接起来,就可进行两个n 位数相加。 (2)串行进位方式:是指相加的进位逐级形成的,每一级的进位直接依赖于前一级的进位。称为~(行波进位)
(3)串行进位的延迟时间较长。 (4)串行进位的逻辑表达式:见教材P61。 • 3. 并行进位(先行进位,同时进位) (1)定义:同时形成各级进位信号的方法,称为~。 (2)采用并行进位的加法器的运算速度较快,但是以增加硬件逻辑线路为代价的。
§ 3.3 CPU模型的组成及其数据通路 • CPU的组成: • 控制器:完成取指令、分析指令、执行指令的操作。 • 运算部件:实现指令所指定的各种算术逻辑运算操作。 • 各种寄存器:用于存放指令、指令地址、操作数及运算结果。 • CPU内部数据通路:用以连接CPU内部各部件,为信息提供通路。
地址总线 数据总线 控制总线 EMAR EMDR SMDR RD WR MAR MDR 主存M I/O接口 ALU总线 I/O设备 IR R0 C D R1 PC ALU A B R2 PSW R3 Z SP
§ 3.3.1 基本组成 • 1. 寄存器: • 存放控制信息的寄存器,如指令寄存器、程序计数器和程序状态字寄存器。 • 存放所处理的数据的寄存器,如通用寄存器和暂存器。
寄存器的种类: (1)通用寄存器: • 4个:R0、R1、R2、R3 • 一组可编程访问、具有多种功能的寄存器。 • 指令系统为其分配编号,即寄存器地址。 • 其本身在逻辑上只有接收信息、存储信息和发送信息的功能,但通过编程与运算部件的配合可实现多种功能。
(2)暂存器: • 3个:C、D、Z • C用来暂存从主存储器读出的数据 • D设置在ALU的输入端,用来存放一个操作数,还可暂存从主存储器读出的数据,并设有左移和右移的功能。 • Z设置在ALU的输出端,用来存放运算结果。 • 指令系统中没有为其分配编号,故不能编址访问。
(3)指令寄存器IR: • 指令寄存器IR——用来存放当前正在执行的一条指令。IR的输出是控制器产生控制信号的主要逻辑依据。 (4)程序计数器PC: • 程序计数器又称为指令计数器或指令指针IP。 • 作用是提供指令的地址。当遇到转移指令时,需改变程序的执行顺序,则由转移指令形成转移地址送往PC作为后续地址。 • 具有加1计数功能,并可编程访问。
(5)程序状态字寄存器PSW: • 程序状态字寄存器又称为标志寄存器。 • 作用:用来存放现行程序的运行状态和工作方式,其内容称为程序状态字PSW。 • PSW是参与控制程序执行的重要依据。 (6)堆栈指针SP: • SP用来指示堆栈栈顶的位置,其内容是栈顶单元的地址。 • SP也是可编程访问的寄存。
(7)与主存接口的寄存器MAR、MDR: • 地址寄存器MAR用来存放CPU访问主存或I/O接口的地址。MAR连接地址总线的输出门是三态门。 • 数据寄存MDR用来存放CPU与主存或I/O接口之间传送的数据。 • CPU对主存的控制信号有两个: 读信号RD—控制对主存的读操作 写信号WR—控制对主存的写操作
2. 运算部件: • 控制ALU运算的控制信号有:
3. 总线与数据通路结构: (1)ALU总线 • CPU内部采用单总线结构,即设置一组由16根双向数据传送组成的ALU总线(CPU内总线),ALU和所有的寄存器通过这组公共总线连接起来。 • 在单总线结构中,CPU的任何两个部件间的数据传送都必须通过这组总线,控制较简单,但传送速度受到限制。
CPU通过控制总线向主存或I/O设备发出(或接收)有关控制信号。CPU通过控制总线向主存或I/O设备发出(或接收)有关控制信号。 CPU通过MAR向地址总线提供访问主存单元或I/O接口的地址,由控制信号EMAR决定是否发送地址。 (2)系统总线:16根地址总线、16根数据总线,以及控制总线。 地址总线 数据总线 控制总线 总线 CPU 主存 接口 接口 CPU通过MDR向数据总线发送或接收数据,以完成与主存单元或I/O接口之间的数据传送。又控制信号RD、WR决定传送方向。 I/O设备 I/O设备 常见计算机硬件系统结构
4. 控制器及微命令的基本形式: (1)微命令的基本形式 • 微操作命令:是最基本的控制信号,是指直接作用于部件或控制门电路的控制信号,简称微命令。 • 微命令的两种形式: ①电位型微命令:见教材P81页 ②脉冲型微命令:各寄存器均采用同步打入脉冲将ALU总线上的数据打入其中。 • 其种类有:CPR0, CPR1, CPPC, CPIR, CPSP, CPMAR, CPMDR 等…..……
(2)控制器 • 控制器:基本功能就是执行指令,即根据指令产生控制信号序列以命令相应部件分步完成指定的操作。 • 传统控制器的主要部件包括:指令寄存器IR、指令译码器、程序计数器PC、状态字寄存器PSW、时序系统和微操作信号发生器。 • 微操作信号发生器的输入由IR中的指令经译码后的输出、PSW的状态位、时序信号及外部的控制信号组成。微操作信号发生器则依据它的输入产生指令执行时所需要的微操作信号(即控制信号)。见课本图3-13
§ 3.3.2 数据传送 • 1.寄存器之间的数据传送:直接通过ALU总线传送数据,具体传送由输出门和打入脉冲控制。 • 例如:图3-13,寄存器R1的输出和打入分别由R1out和CPR1控制。R1的输出门控制信号为高电平时,输出门打开,R1的内容就送到了ALU总线上; R1out为低电平时,输出门关闭使得R1的输出呈高阻状态,与ALU总线隔离。当打入脉冲CPR1有效时,将ALU总线上的数据打入R1。
2. 主存数据传送到CPU 例如从存储器中取指令到指令寄存器IR (1)PC MAR;PC中的指令地址送存储器地址寄存器; (2)M MDR IR;从存储器中读指令到IR
(1)R1 MAR (2)R2 MDR (3)MDR M 3. CPU数据传送到主存 CPU数据要写入主存,首先要将寄存器中的数据装入 MDR,要写入主存单元的地址送MAR,然后发写命令; 主存将按MAR中的地址把MDR的内容写入对应单元中。 例如要写入主存的数据在R2中,存储单元地址R1中,则写一个数据到存储器可通过以下操作序列实现:
4. 执行算术或逻辑操作 例如要执行“把寄存器R1和R2的内容相加,结果送到R3” (1)R1 D (2)D+R2 Z (3)Z R3
§ 3.4 时序控制方式 • 计算机中的一条指令的执行过程需要分成读取指令、读取操作数、运算、存放结果等步骤。每一步操作则是由控制器产生相应的一些控制信号实现的,每条指令都可分解为一个控制信号序列。 • 指令的执行过程就是依次执行一个确定的控制信号序列的过程。 • 时序控制方式就是指微操作与时序信号之间采取何种关系,它不仅直接决定时序信号的产生,也影响到控制器及其它部件的组成,以及指令的执行速度。
§ 3.4.1 指令执行过程 1. 指令的分段执行过程 (1)取指令 根据指令计数器PC提供的地址从主存储器中读取现行指令,送到主存数据缓冲器MDR中,然后在送往CPU内的指令寄存器IR中。
§ 3.4.1 指令执行过程 1. 指令的分段执行过程 (2)分析指令 如果采用组合逻辑控制器,则通过译码电路译出IR中指令各字段表示什么操作,并在时序系统的配合下产生该指令对应的微操作命令序列.如采用微程序控制器,则可根据指令的操作码与标志位转向控制存储器取出对应的微程序,由微指令提供微操作命令序列。
§ 3.4.1 指令执行过程 1. 指令的分段执行过程 (3)执行指令 • 取操作数 • 执行操作 • 形成下条指令地址
取指 分析 执行 指令周期 取指 分析 执行 取指 分析 执行 取指 分析 执行 取指 分析 执行 取指 分析 执行
§ 3.4.2 时序控制方式 • 时序控制方式就是指微操作与时序信号之间采取保种关系,它不仅直接决定时序信号的产生,也影响到控制器及其它部件的组成,以及指令的执行速度。 • 本节介绍: 同步控制方式 同步控制方式的多级时序系统
1. 同步控制方式: • 定义:指各项操作由统一的时序信号进行同步控制,这就意味着各个微操作必须在规定时间内完成,到达规定时间就自动执行后继的微操作。 • 基本特征:是将操作时间分为若干长度相同的时钟周期(也称节拍),要求在一个或几个时钟周期内完成各个微操作。 • 采用范围:CPU内部、CPU、主存、各I/O接口之间. • 优点:时序关系简单、结构上易于集中,相 应的设计和实现较方便。 缺点:对时间少的微操作,存在时间上的浪费
2. 同步控制方式的多级时序系统: • 在CPU中为实现同步控制,必须设置一时序系统,以产生统一的时序信号对各种操作进行定时控制。 (1)多时序概念:指在同步控制方式中,通常将时序信号划分几级(其中包括指令周期),称为多级时序。 • 在组合逻辑控制器中,是依靠不同的时间标志使CPU分步执行指令,其时序信号常划分为3级:机器周期、节拍、时钟脉冲。 • 在微程序控制器中,一条指令对应一段微程序(微指令序列),其时序信号划分为2级:节拍、时钟脉冲。
CPU取出并执行一条指令,都要完成一系列的操作,这一系列操作所需要的时间通常叫做一个指令周期。简单地说,指令周期是取出并执行一条指令的时间。CPU取出并执行一条指令,都要完成一系列的操作,这一系列操作所需要的时间通常叫做一个指令周期。简单地说,指令周期是取出并执行一条指令的时间。 取指令 开始 分析指令 执行指令 取指令——执行指令序列
时序信号划分为3级: • 机器周期: 在组合逻辑控制器中,通常将指令周期划分为几个不同的阶段,每个阶段所需的时间,称为机器周期,又称为CPU工作周期或基本周期。 • 节拍(时钟周期): • 将一个机器周期划分若干相等的时间段,每个时间段内完成一步基本操作,这个时间段用一个电平信号宽度对应,称为~。 • 节拍长度由CPU内部的操作的需要 • 在时序系统中设置节拍发生器,用以产生节拍信号。 • 时钟脉冲:在时序系统中由时钟发生器产生时钟脉冲信号,作为的基本定时信号。
(2)多级时序信号之间的关系: 见教材P86页,图3-14三级时序信号之间的关系。 (3)时序系统的组成: 见教材P87页,图3-15时序系统框图。
§ 3.5 指令的执行与组合逻辑控制器 • 按产生控制信号的方式不同,控制器可分:组合逻辑控制器和微程序控制器。 • 组合逻辑控制器:是指产生控制信号即微命令的部件,是用组合逻辑线路来实现。 • 微程序控制器:即将机器指令的操作(从取指令到执行)分解为若干个更基本的微操作序列,并将有关的控制信息(微命令)以微码形式编成微指令,输入控制存储器中。
§ 3.5.1 模型机的指令系统 1 . 指令格式: (1)双操作数指令: 例如:MOV目的操作数 源操作数 (2)单操作数指令 例如:INC目的操作数 (3)转移指令 • 可编程寄存器7个,编号如下: • 通用寄存器R0~R3 000~011 • 堆栈指针SP 100 • 程序状态字PSW 101 • 程序计数器PC 111 (留有一种编码未用,可扩展110)
2 . 寻址方式 采用定字长指令格式,指令字长16位,操作数字长16位。 (1)立即数寻址,操作数紧跟着指令,即在指令代码之中; (2)操作数在寄存器中,即寄存寻址方式 (3)操作数在主存中,相应的寻址方式有: • 直接寻址方式,地址紧跟指令给出; • 寄存器间址方式,地址在寄存器中; • 自增型寄存器间址方式; • 自减型寄存器间址方式: • 变址方式。
3. 操作类型: (1)传送指令 MOV——传送,操作码0000 MOV指令可用预置寄存器或存储单元内容,还可用进行I/O操作,不再专门设置显示I/O指令。 (2)双操作数算逻指令: ADD——加,操作码0001(带进位) SUB——减,操作码0010(带进位) AND——逻辑与,操作码0011 OR——逻辑或,操作码0100 EOR——异或,操作码0101
(3)单操作数算逻指令 COM——求反,操作码0110 NEG——求补,操作码0111 INC——加1,操作码1000 DEC——减1,操作码1001 SL——异或,操作码0101 SR——右移,操作码1011 (4)程序控制类指令 转移指令JMP,操作码1100 返回指令RST,操作码1100 转子指令JSR,操作码1101
§ 3.5.2 模型机的时序系统 时序信号划分为3级: • 工作周期:在组合逻辑控制器中,通常将指令周期划分为几个不同的阶段,每个阶段所需的时间,称为机器周期,又称为CPU工作周期或基本周期或机器周期。 • 节拍(时钟周期):将一个机器周期划分若干相等的时间段,其间仅完成一步基本操作,这个时间段用一个电平信号宽度对应,称为~。 • 工作脉冲(时钟脉冲):时序系统的基本定时信号。
1. 工作周期划分: • 模型机设置了6种工作周期,分别利用6个周期状态触发器来表示它们的状态。任一时刻只允许一个触发器为1,表明CPU现在所处的工作周期状态,为该阶段的工作提供时间标志与依据。 • 6种工作周期: 取指周期FT、源周期ST、 目的周期DT、执行周期ET、 中断响应周期IT、DMA传送周期DMAT
(1)取指周期FT:完成取指所需的操作,与指令操作码无关的公共性操作,但FT结束后将转向哪个工作周期,与FT中取出的指令类型有关。(1)取指周期FT:完成取指所需的操作,与指令操作码无关的公共性操作,但FT结束后将转向哪个工作周期,与FT中取出的指令类型有关。 (2)源周期ST:在ST中将依据指令寄存器IR的源地址字段信息进行操作,形成源地址,读取源操作数。 (3)目的周期DT:依据指令寄存器IR的目的地址字段信息进行操作,从主存读取目的地址或目的操作数。 (4)执行周期ET:依据IR中的操作码执行相应操作。
(5)中断响应周期IT:在IT中将直接依靠硬件进行关中断、保存断点、转服务入口等操作。(5)中断响应周期IT:在IT中将直接依靠硬件进行关中断、保存断点、转服务入口等操作。 • 中断方式:见教材P92页 (6)DMA传送周期DMAT:在DMAT中,CPU交出系统总线的控制权,改由DMA控制器控制系统总线,实现主存与设之间的数据直接传送。 • DMA即直接访存方式,其基本思想是在主存储器和I/O设备之间建立直接的数据传送通路。 • DMA请求的优先级高于中断请求。
FT CPU控制流程 ST DT ET N N 中断请求 DMA请求 Y Y DMAT IT
2. 节拍(时钟周期): • 节拍宽度为最长微操作所需的时间,即访问主存操作所需的时间。 • 在时序系统中设置节拍发生器,用以产生节拍信号。节拍发生器由计数器T与节拍译码器组成。 3. 工作脉冲: • 工作脉冲:时序系统的基本定时信号。 • 模型机在每个节拍的未尾发出一个工作脉冲P,作为各种同步脉冲的来源。
§ 3.5.3 指令流程 • 分析指令流程是为了在寄存器这一层次分析指令序列的读取与执行过程,也就是讨论CPU的工作机制,这是全书的重点之一。通常采用寄存器传送语句形式描述指令流程,例如R1 MAR