《计算机体系结构设计》第04章 中央处理器体系结构设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

F=A-B(SUB),
F=A+1(INC),
F=A-1(DEC),F=A
求指令SUB X(R0), (R7)+
的指令流程和控制信号。
ID
F→IR IR
F→PC PC
F→R0
R0
F→R1 R1

F→R7 R7
B IR→B PC→B R0→B R1→B
R7→B
F→MDR F→TEMP
F→Y
MDR TEMP
10 MUX
DMRead DMWrite Branch DMtoReg
RegDst RegWrite
ALUSrcA
4
ADD
PC
=0?
IR[rs]
&
RR1
10 MUX
IA Ins
IR[rt]
IR[rd] IM
10 MUX
RR2 RD1
Reg WR
RD2 WD
ALU
DA RD
01 MUX
2 10 MUX
PSR),用来存放各类控制信息,如:方向标志(DF)、允许中 断(IF)、跟踪标志或陷井标志(TF)等,这些标志位通常用1位 触发器来保存。在很多计算机上,PSW还能保存各种条件码 CCR,如AF、CF、OF、PF、SF、ZF等。在有些机器中PSW 被称为标志寄存器(Flag Register,FR)。
(1)运算器 运算器(Arithmetic Unit,AU)是数据加工处理部件,
其核心部件是算术逻辑单元(Arithmetic Logical Unit, ALU)。 (2)控制器
控制器(Control unit,CU)是控制部件,完成对整个 计算机系统操作的协调与指挥。 (3)寄存器
可用来暂存指令、数据和地址。在中央处理器的控制部 件中,包含的寄存器有程序计数器(PC)和指令寄存器(IR); 在中央处理器的算术及逻辑部件中,寄存器有累加器(ACC)。
(3)地址寄存器(Address Register,AR) 用来保存CPU当前所访问的主存单元的地址。
(4)条件码寄存器(Condition Code Register,CCR) 条件码寄存器又名状态寄存器,用来存放两类信息:
一类是体现当前指令执行结果的各种状态信息(条件码), 如有无进位(CF位)、有无溢出(OV位)、结果正负(SF 位)、结果是否为零(ZF位)、奇偶标志位(P位)等。
4.3.2 控制器的组成
图 4.6 控 制 器 的基本组成框图
4.3.3 时序产生器和控制方式
1 时序系统 主状态周期(指令周期):由若干个节拍周期组成,常用一
个触发器的状态持续时间来表示。
节拍:一个机器周期(CPU周期)可以等分成若干个更小的 时间区间,即节拍,一个节拍对应一个电位信号。一个 节拍电位信号可以控制一个或几个微操作的执行,其宽 度取决于CPU完成一个基本操作的时间。
图4.12 硬连线控制器
(2)门阵列(Gate Array)控制器
门阵列控制器则使用大规模的与门、或门等可编程逻 辑器件(Programmable Logic Device,PLD)来实现上述
随机逻辑,从而克服了前者的缺点。典型的门阵列器件包 括:可编程逻辑阵列(Programmable Logic Array,PLA)、 可编程阵列逻辑(Programmable Array Logic,PAL)、复 杂 可 编 程 逻 辑 器 件 (Complex Programmable Logic Device , CPLD) 和 现 场 可 编 程 逻 辑 门 阵 列 (Field - Programmable Gate Array,FPGA)等。
DA
10 MUX
2 10 MUX
IR[rd]
WR RD2 B
WD
RD
IM IR[15:0]
WD
PCWrite ALUSrcA
DM
Branch
控 制 逻 辑
DMRead DMtoReg DMWrite RegDst
IR[adr]
符号位 32 扩展
Imm
左移 两位
ALU 控制器
图4.24 模 型机多周期
IR[15:0]
WD
ALUSrcA
DM
Branch
控 制
DMRead DMtoReg IR[adr] 符号位 32 左移

DMWrite
扩展
两位
ALU

RegDst
RegWrite
控制器 图4.23 模型机的
ALUOp ALUSrcB
IR[funct]
单周期数据通路
ALUSrcB ALUOp
根据真值表,列出各输出信号的表达式。 例如:
4.1 CPU的基本结构 4.2 CPU中的主要寄存器 4.3 控制器的结构 4.4 组合逻辑控制器设计 4.5 微程序控制器设计 4.6 流水线工作原理 4.7 典型的处理器设计 习题4
从20世纪60年代早期,计算机行业开始使用中央处理 器(Central Processing Unit,CPU)这个术语,做成单片集 成 电 路 的 CPU 通 常 又 称 为 微 处 理 器 (Microprocessor , MPU)。
Y
MAR→B TEMP→B
ADD A SUB INCDEC
G
B Gon
表4.2 指令流分析
图4.20 某双总线结构机器
4.4.3 MIPS的单周期设计方案
(1)基本构件
ALUOp( 两 位 ) : ALU 控 制 器 的 输 入 有 两 组 , 一 组 是 ALUOp,另一组是指令中最低6位的funct字段(即IR[5:0])。
10 MUX
DMRead DMWrite Branch DMtoReg
PCWrite
IRWrite RegDst RegWrite
ALUSrcA
LMD 01 MUX
4
ADD
PC
=0?
cond
&
IR[op]
10 MUX
IA
IR[rs]
RR1
IR[rt]
RR2 RD1 A
ALU ALUo
Ins
IR
Reg
4.2.1 用户可见寄存器
(1)通用寄存器(General Register,GR) 通用寄存器是那些可以根据自己的意愿使用的寄存器,
修改他们的值通常不会对计算机的运行造成很大的影响。 (2)数据寄存器(Data Register,DR)
又称数据缓冲寄存器,存放操作数(满足各种数据类 型),用以弥补CPU和主存、外设之间操作速度上的差异。
4.4.4 MIPS的多周期设计方案
解决上述问题的方法:采用多周期方案
对图4.23进行改造 ◦ 增设临时寄存器存放该部件产生且下一个时钟周期 要用的结果。 IR(指令寄存器)——存放从指令存储器读出的指令; LMD——存放从数据存储器读出的数据; 访存读取的数据来不及在同一个时钟周期中写入寄 存器组。 A和B——分别存放从寄存器组读出的两个数据; ALUo——存放ALU的运算结果; cond(1位)——存放判0部件“=0?”的结果。
图4.7 主状态周期-节拍电位-节拍脉冲
(2)微程序控制器中,时序信号则一般采用节拍电位-节拍 脉冲二级体制。
图4.8 节拍电位-节拍脉冲
图4.9 时序信号产生器
2 控制方式 (1)同步控制方式
任何指令的运行或指令中各个微操作的执行,均由确定 的具有统一基准时标的时序信号所控制。即所有的操作均由 统一的时钟控制,在标准的时间内完成。
指向方框图的箭头表示对其输入信号;从方框图出来的箭 头表示输出。
波浪线(有时候使用直线)表示开始公操作。
图4.14 某主机框图
图4.15 某单总 线计算机结构
Read Write
ID IR PC
R0
R1


MAR

MDR
0→Y ADD SUB AND
TEMP Y
Zin Z
IRin IRout PCin PCout R0in R0out R1in R1out MARin
MDRin MARout TEMPin TEMPout
Yin
1→Cin
Zout
【例4.5】 分析图4.19 F 双总线结构的CPU中,总
线连接器G可将总线B的
信息直接传 MAR F→MAR
到F总线, 其控制信 ABUS 号为Gon。 主存
Read Write
设ALU的功
DBUS
能有: F=A+B(ADD),
脉冲:一个节拍电位内可以设置一个或几个节拍脉冲。 节拍脉冲(时钟周期)表示更小的时间单位。节拍是一项基 本操作所需的时间区间,而节拍的切换也需要设置一个 或几个工作脉冲以完成同步定时。一个节拍电位往往包 括几个节拍脉冲,用于寄存器的复位和接收数据等。
(1)硬布线控制器中,时序信号往往采用主状态周期-节拍 电位-节拍脉冲三级体制。
RegWrite
实现的数据
ALUOp ALUSrcB IRWrite
IR[funct]
通路 ALUSrcB ALUOp
表4.5 MIPS指令的多周期操作
周期名称
R类指令 Op=“R类”
存储器访问指令 Op=“lw”或 Op=“sw”
分支指令 Op=“beqz”
取指令(IF)
操作:IRIM[PC] PC+4
实际上现代计算机中几乎没有完全采用同步或完全 采用异步的控制方式,大多数都采用联合控制方式。
4.4.1 组合逻辑控制器的设计原理
(1)硬连线(Hard-wired)控制器
早期设计计算机 控制器的一种方法。 把控制部件看作为产 生专门固定时序控制 信号的逻辑电路,以 使用最少门电路和取 得最高操作速度为设 计目标。
图4.4 带有中断周期的指令周期
(2)中断周期的信息流
在中断周期内需将程序断点(在PC中)保存起来,通常 把 断 点 存 入 堆 栈 。 具 体 描 述 为 : CU 控 制 , (SP)−1→SP→MAR→ 地 址 线 ; CU 发 出 写 存 储 器 命 令 ; PC→MDR→数据线→存储器;CU将向量地址(硬件向量法)或 中断识别程序入口地址(软件查询法)→PC。
执行周期
指令周期
ADD mem
执行…周期 指令周期
MUL mem
具有间接寻址的指令周期往往会花费更多的时间。
取指周期
间址周期 指令周期
执行周期
图4.3 具有间接寻址的指令周期
另外,控制器还会检查有无中断请求,若无,则形成下 一条指令地址,转入下一条指令的执行过程。
取指周期
间址周期
执行周期
指令周期
中断周期
ALUSrcB( 两 位 ) : 选 择 ALU 第 二 个 操 作 数 的 来 源 。 ALUSrcB=00时,选择寄存器组的读出端RD2;ALUSrcB=01 时,选择由指令低16位经符号位扩展的结果;ALUSrcB=10 时,选择指令低16位做符号位扩展后再左移两位的结果。
表4.3 ALU控制器的输入/输出之间的真值表
(3)指令寄存器(Instruction Register,IR) 指令寄存器用来保存当前正在执行的一条指令。
4.3.1 指令执行的基本步骤
(1)取指令
取指阶段
执行阶段
(2)分析指令 (3)执行指令
取指周期
执行周期
(取指、分析) (执行指令)
指令周期
取指周期 指令周期
NOP
取指周期
取指周期
控制信号:IRWrite=1
指令译码/ 读寄存器(ID)
操作:ARegs[rs] BRegs[rt] Imm(IR[15:0]按符号位扩展为32位数)
控制信号:不需要
操作:
操作:
ALUoA funct B ALUoA+Imm
执行/有效地址 计算(EX)
控制信号: ALUSrcA=1 ALUSrcB=00
图4.10 同步控 制方式
(2)异步控制方式 没有统一的同步信号,采用问答方式进行时序协调,将
前一操作的回答信号作为下一操作的启动信号。
图4.11 异步控制方式
(3)联合控制方式
同步控制和异步控制相结合的方式,又称准同步方 式。联合控制方式通常的设计思想:在功能部件内部采 用同步方式或以同步方式为主的控制方式;在功能部件 之间采用异步方式。例如,对可以统一的微操作采用同 步控制,对难以统一的微操作采用异步控制。
4.2.2 控制和状态寄存器
(1)程序计数器(Program Counter,PC) 程序计数器用来指出下一条指令在主存储器中的地址,
作为控制寄存器,又称指令计数器、指令地址寄存器。 (2)程序状态字寄存器(Program Status Word,PSW) 又称为程序状态寄存器(Program State Register,
4.4.2 方框图语言与指令流程分析/数据通路分析
指令流程:指令的操作过程。 数据通路:信息传送的基本路径。
矩形方框
菱形Байду номын сангаас
箭头
图4.13 方框图语言基本元素
波浪线
矩形方框代表一个CPU周期,矩形方框中的内容表示数据 通路的操作或某种控制操作。
菱形通常用来表示某种判别或测试,不过时间上不单独占 用一个CPU周期。
相关文档
最新文档