当前位置:文档之家› 第5章 计算机执行程序的过程

第5章 计算机执行程序的过程

MDR
ALU把MDR
6
输出与AC输出 相加,结果送
①=00
AC输出计算结 果
AC
控制信号产 生电路
①②③④⑤⑥
PC ⑤
+4
CLK
1)ADD指令
时钟周期1 时钟周期2
准备指令 地址
取指
时钟周期3 时钟周期4
传送指令 译码
时钟周期5
取数
时钟周期6
计算
③=0 ④=0
②=1
⑥=1
③=1 ④=0
⑤=01
②=1
5d
pop %ebp
同?如何确定操作数是在寄
6 804839e: c3
ret
存器中还是在存储器中?一
条指令执行结束后如何正确
°对于add函数
读取到下一条指令?
✓指令按顺序存放在0x08048394开始的存储空间。
✓各指令长度可能不同,如push、pop和ret指令各占一个字节,第2行 mov指令占两个字节,第3行mov指令和第4行add指令各占3字节。
指令时,则需要根据条件码、操作码和寻址方式等确定下条指令地址。
机器指令的执行过程
° CPU执行指令的过程 - 取指令 - 指令译码 - 进行主存地址运算 - 取操作数 - 进行算术 / 逻辑运算
“1”:指一条 指令的长度,定 长指令字每次都 一样;变长指令 字每次可能不同
- 存结果
- PC+“1”
RW
3 MDR送IR
⑥=1 IR输出指令
存储体
IR操作码字段
进行译码;IR 地址码字段送 MAR
③=1

4 设置读条件 ④=0
MAACR输出数 ②
A据L地U 址,RW 输出读信号
MDR
PC+4送PC, 准备下一条指 ⑤=01 令地址
运算器 PC输出下一
条指令地址

IR
MAR ③
PC ⑤
+4
控制信号产 生电路
时间段,每一个时间段对应一个电位信号,称为节拍电 位。 工作脉冲:在一个节拍内常常设置 一个或几个工作脉冲, 工作脉冲的宽度只占节拍电位宽度的 1/n,并处于节 拍的末尾部分,以保证所有的触发器都能可靠、稳定地 翻转。
计算机系统平台
12
三级时序系统
一台计算机机内的控制信号一般均由若干个机器周期状
态,若干个节拍电位及若干个时钟脉冲这样的3级时序系统
组成。
工作脉冲1
工作脉冲2
指令周期
机器周期1 机器周期2
机器周期n
……
时钟周期1 (节拍1)
时钟周期2 (节拍2)
时钟周期m (节拍m)
….
工作脉冲k
….. ……….
….
现代计算机已不再采用三级时序系统,机器周期的概念已经消
失,取代的定时信号就是时钟,一个时钟周期就是一个节拍。
①=00
在六个节拍中,还有哪些微操作必须确定?
计算机系统平台
25
1)ADD指令
AC在第6节拍更新前需保持以便计算 PC在第4节拍更新前后需保持以维持下一条指令地址 IR在第3节拍取到指令后需保持以便译码 存储器要保持读状态防止被误修改
状态:
PC:程序计数器,用于保存指令的 存储地址;
IR:指令寄存器,用于保存当前指 令;
AC:累加器,用于保存运算结果 和载入数据;
P C
控制器 I R
Байду номын сангаас
MAR:存储器的地址寄存器;
MDR:存储器的数据寄存器;
RW:读写状态寄存器;
实例计算机
计算机系统平台
A 运算器 C
M
A存
R储
存储器

存储体
RW
AC
ALU
② MDR
MAR ③
运算器

IR
计算机系统平台
控制信号产 生电路
①②③④⑤⑥
PC ⑤ +4
20
1)ADD指令
节 拍
微操作
信号 本时钟周期末 存储器 取值 上升沿后

RW
PC送MAR ③=0 MAR输出指令
存储体
1
地址,RW输
设置读条件 ④=0 出读A信C 号

存储器取指, ①
为01表示选择PC+4的值进入PC,10和11表示PC保持内容。 ➢IR更新控制:1位。为1选择MDR内容进入IR,否则IR内容
保持。
计算机系统平台
19
3 微操作
分析指令ADD x 所涉及的微操作
“PC送MAR” “设置读条件” “访存结果送MDR” ① “MDR送IR”
“IR地址字段送MAR” “设置读条件” “访存结果送MDR” “加法” “PC+4送PC”
第五章 程序的执行
程序执行和指令执行概述 数据通路基本结构和工作原理
程序的执行机制
° 分以下两个部分介绍 • 第一讲:程序执行概述 - 程序及指令的执行过程 - CPU的基本功能和基本组成 • 第二讲:数据通路基本结构和工作原理 - 数据通路基本结构 - 数据通路的时序控制 - 数据通路基本工作原理
- 以上每步都需检测“异常”
指 令 执 执行 行 阶段 过 程
- 若有异常,则自动切换到异常处理程序
- 检测是否有“中断”请求,有则转中断处理
问题:
“译码”须在指令执行前做吗? 是
你能说出几种“异常”事件?“异常”和“中断”的差别是什么?
异常是在CPU内部发生的,中断是由外部事件引起的
程序及指令的执行过程
计算机系统平台
16
3 微操作
一条指令的处理包括一系列控制过程。在这个 控制过程中,由控制器发出的每个控制信号均 通过硬连线的方式连接到某个特定部件,在空 间上形成受控部件的操作。
计算机系统平台
17
由六个寄存器和组合逻辑构成的电路
1位
存储器

RW
存储体
AC

ALU
2位
1位

MDR
MAR ③ 1位
运算器
1位 ⑥
IR
PC
⑤ 2位
+4
控制信号产 生电路
①②③④⑤⑥
计算机系统平台
控制器
18
控制信号说明
➢ALU运算控制:2位。为00表示进行加法运算,结果送入AC; 01表示进行移位运算,结果送入AC;为10表示进行数据传送, 来自MDR输出、送到ALU右操作数入口的数据被送入AC;为 11表示AC保持;
计算机系统平台
13
● 时序关系图:
晶振输出
工作脉冲P 对微操作定时
打入IR
时钟T1 控制分步操作时间
取出指令
时钟T2
译码
机器周期1 控制不同阶段操作时间 取指
机器周期2
执行
指令周期
计算机系统平台
14
2 指令系统
由具有代表性的5条指令构成。
存储器

指令 ADD x LOAD x STORE x SHL x JUMP x
CPU
Control
Memory
Input
DDataatpaaptahth
Output
° 什么是数据通路(DataPath)? • 指令执行过程中,数据所经过的路径,包括路径中的部件。
实例计算机的执行过程
控制器在不同的时机发出不同信号控制 各个部件完成一条指令的处理,三大部
件使用六个寄存器保存一定的指令执行
° 程序和指令的关系 • 程序由一条一条指令组成,指令按顺序存放在内存连续单元
° 程序的执行:周而复始地执行一条一条指令 • 正常情况下,指令按其存放顺序执行 • 遇到需改变程序执行流程时,用相应的转移指令(包括无 条件转移指令、条件转移指令、调用指令和返回指令等) 来改变程序执行流程
° 程序的执行流的控制 • 将要执行的指令所在存储单元的地址由程序计数器PC给 出,通过改变PC的值来控制执行顺序
功能
备注
ACAC+Mem[x] 定点加
ACMem[x]
取数
Mem[x] AC
存数
ACAC<<x
逻辑左移
PCx
无条件跳转
2020 2016 2012 2008 2004 2000
x=2004
……
12 STORE
8
SHL
4
ADD
0 LOAD
AC
实例计算机:机器字长32位,指令字长32位。 2P0C04
计算机系统平台
15
4 指令格式
操作码字段
地址字段
31 30 29 28 24 23……
0
ADD 0 0 0
LOAD 0 0 1 STORE 0 1 0
Address
JUMP 0 1 1 SHL 1 1 1 5位移位值
例如:
LOAD b[0] 001 0000 0000 0000 0000 0000 0111 1101 1000 (b[0]:2008)
M器
D R

R口
W
10
控制器基本设计方法——时序控制方式
同步时序控制:所有微操作的动作均是在一个 统一时钟控制下完成。这个时钟称为系统时钟, 它的一个周期时间就是时钟周期。
最慢微操作的工作时间决定了时钟周期; 设计简单,实现代价小,便于调试;
异步时序控制:不采用统一的时钟来产生各个 控制信号,每个部件需要的控制信号都由部件 各自的时钟产生,有的甚至不需要时钟产生。
° 指令周期:CPU取出并执行一条指令的时间
程序的执行机制
° 分以下两个部分介绍 • 第一讲:程序执行概述 - 程序及指令的执行过程 - CPU的基本功能和基本组成 • 第二讲:数据通路基本结构和工作原理 - 数据通路基本结构 - 数据通路的时序控制 - 数据通路基本工作原理
相关主题