计算机组成原理新5.2
合集下载
5_2计
5.2 I/O控制方式
主机 卡片机
in busy outarea inarea
打印机
out busy
output: if busy=1 then goto output; out:=outarea; 启动下一次输入
busy:=1;
initiate output device;
5.2 I/O控制方式
① 确定与中断或者异常关联的中断类型号i(0~255)
② 读idtr寄存器指向的IDT表中的第i个中断/陷阱门
③ 查找gdtr寄存器指向的GDT,以读取上述中断/陷阱
门中的段选择符所标识的段描述符。
④ 确定该中断是否符合保护性规则的要求:当前特权级
CPL的值(即CS寄存器中的特权级)大于等于处理
程序的DPL,且CPL值小于等于中断描述符门的DPL (仅当该中断是由INTO、INT n等指令引起时才检查 )。如不满足上述规则,则系统不能进入中断或异常 处理程序,并发生异常13。
四. I/O通道控制方式
• CPU、通道、设备均可以并行工作。 • 特点:
– 进一步减少了CPU对I/O的干预(不仅数据的传输独立 于CPU,I/O操作的组织、管理和结束处理也大部分由 通道而非CPU完成)。
*多个数据块的I/O,只需CPU发一次指令,并只需中断
CPU一次。
5.3 缓冲管理
一. 缓冲的引入
特点:CPU大部分时间浪费在循环测试上。 将控制器中的状态寄存器的值busy置为1 CPU向设备控制器发I/O指令,启动设备 同 时 进 行 CPU循环测试busy的值,直到busy=0;
设备控制器控制设备执行I/O操作
I/O完成
CPU将数 据从设备 送到内存
白中英《计算机组成原理》(第5版)笔记和课后习题详解复习答案
白中英《计算机组成原理》(第5版)笔记和课后习题详解完整版>精研学习网>无偿试用20%资料
全国547所院校视频及题库全收集
考研全套>视频资料>课后答案>往年真题>职称考试
第1章计算机系统概论
1.1复习笔记
1.2课后习题详解
第2章运算方法和运算器
2.1复习笔记
2.2课后习题详解
第3章多层次的存储器
3.1复习笔记
3.2课后习题详解
第4章指令系统
4.1复习笔记
4.2课后习题详解
第5章中央处理器
5.1复习笔记
5.2课后习题详解
第6章总线系统
6.1复习笔记
6.2课后习题详解
第7章外存与I/O设备
7.1复习笔记
7.2课后习题详解
第8章输入输出系统
8.1复习笔记
8.2课后习题详解
第9章并行组织与结构
9.1复习笔记
9.2课后习题详解
第10章课程教学实验设计
第11章课程综合设计。
第5章计算机组成原理
• 另一种是可变格式,即操作码的长度可变, 且分散地放在指令字的不同字段中。这种 格式能有效地压缩程序中操作码的平均长 度。
• 显然,操作码长度不固定将增加指令译 码和分析的难度,使控制器的设计复杂 化,因此操作码的编码对机器性能影响 极大。通常是在指令字中用一个固定长 度的字段来表示基本操作码,而对于一 部分不需要某个地址码的指令,把它们 的操作码扩展到该地址字段,这样既能 充分利用指令字的各个字段,又能在不 增加指令长度的情况下扩展操作码的长 度,使它能表示更多的指令。
图5-2 指令格式
(2)用11110000~11111110表示15条 2地址指令的操作码,剩下的编码 11111111用于把操作码扩展到A2字段。 (3)用12位操作码编码的 111111110000~111111111110表示 15条1地址指令,剩下的编码 111111111111用于表示把操作码扩展 到A3字段。
• 假设某计算机模型有7条指令 (I1~I7),它们在程序中出现的概 率用Pi表示,如表5-1所示,则可得 相应操作码扩展方案。
指令 概率Pi(%) 操作码 操作码长度 (位) I1 47 00 2 I2 26 01 2 I3 17 10 2 I4 5 1100 4 I5 3 1101 4 I6 1 1110 4 I7 1 1111 4
• 从上述分析可知,一条指令实际上包括 两种基本信息,即操作码(operation code)和地址码(address)。其基本 格式如图5-1所示。
图5-1 指令的基本格式
• 地址码字段用来指出该指令的源操作数 的地址(一个或两个)、结果的地址以 及下一条指令的地址。这里的“地址” 可以是主存的地址,也可以是寄存器的 地址,甚至可以是I/O设备的地址。根 据地址码部分所给出地址的个数,指令 格式可分为如下几种。
• 显然,操作码长度不固定将增加指令译 码和分析的难度,使控制器的设计复杂 化,因此操作码的编码对机器性能影响 极大。通常是在指令字中用一个固定长 度的字段来表示基本操作码,而对于一 部分不需要某个地址码的指令,把它们 的操作码扩展到该地址字段,这样既能 充分利用指令字的各个字段,又能在不 增加指令长度的情况下扩展操作码的长 度,使它能表示更多的指令。
图5-2 指令格式
(2)用11110000~11111110表示15条 2地址指令的操作码,剩下的编码 11111111用于把操作码扩展到A2字段。 (3)用12位操作码编码的 111111110000~111111111110表示 15条1地址指令,剩下的编码 111111111111用于表示把操作码扩展 到A3字段。
• 假设某计算机模型有7条指令 (I1~I7),它们在程序中出现的概 率用Pi表示,如表5-1所示,则可得 相应操作码扩展方案。
指令 概率Pi(%) 操作码 操作码长度 (位) I1 47 00 2 I2 26 01 2 I3 17 10 2 I4 5 1100 4 I5 3 1101 4 I6 1 1110 4 I7 1 1111 4
• 从上述分析可知,一条指令实际上包括 两种基本信息,即操作码(operation code)和地址码(address)。其基本 格式如图5-1所示。
图5-1 指令的基本格式
• 地址码字段用来指出该指令的源操作数 的地址(一个或两个)、结果的地址以 及下一条指令的地址。这里的“地址” 可以是主存的地址,也可以是寄存器的 地址,甚至可以是I/O设备的地址。根 据地址码部分所给出地址的个数,指令 格式可分为如下几种。
《计算机组成原理》5-指令系统
◆程序的指令序列在主存顺序存放。执行时从第一条指令 开始,逐 条取出并执行,这种程序的顺序执行过程,称为 顺序寻址方式。
◆ CPU中设置程序计数器(PC)对指令的顺序号进行计 数。PC开始时存 放程序的首地址,每执行一条指令,PC 加”1”,指出下条指令的地址, 直到程序结束。
跳跃寻址 Leabharlann 转移指令指出AA22AA33
…
…
…
…
1111 1110 A2 A3
12 位操作码
1111 1111 0000 1111 1111 0001
AA33
…
…
…
…
1111 1111 1110 A3
16 位操作码
…
…
1111 1111 1111 0000 1111 1111 1111 0001 1111 1111 1111 1111
24
双字
28
双字(地址32)▲
32
双字
36
边界未对准
地址(十进制)
字( 地址2)
半字( 地址0)
0
字节( 地址7) 字节( 地址6)
字( 地址4)
4
半字( 地址10)
半字( 地址8)
8
5.2.2 数据类型
2、数据在计算机中存放方式
存储字长内部字节的次序
例: 12345678H如何存储? 12 34 56 78H
5.3.1指令寻址
指令寻址----计算指令有效地址的方法
指令地址
指令
指令地址寻址方式
PC +1
0 LDA
11 ADD 22 DEC 33 JMP
4 LDA
5 SUB 6 INC
77 STA 88 LDA
◆ CPU中设置程序计数器(PC)对指令的顺序号进行计 数。PC开始时存 放程序的首地址,每执行一条指令,PC 加”1”,指出下条指令的地址, 直到程序结束。
跳跃寻址 Leabharlann 转移指令指出AA22AA33
…
…
…
…
1111 1110 A2 A3
12 位操作码
1111 1111 0000 1111 1111 0001
AA33
…
…
…
…
1111 1111 1110 A3
16 位操作码
…
…
1111 1111 1111 0000 1111 1111 1111 0001 1111 1111 1111 1111
24
双字
28
双字(地址32)▲
32
双字
36
边界未对准
地址(十进制)
字( 地址2)
半字( 地址0)
0
字节( 地址7) 字节( 地址6)
字( 地址4)
4
半字( 地址10)
半字( 地址8)
8
5.2.2 数据类型
2、数据在计算机中存放方式
存储字长内部字节的次序
例: 12345678H如何存储? 12 34 56 78H
5.3.1指令寻址
指令寻址----计算指令有效地址的方法
指令地址
指令
指令地址寻址方式
PC +1
0 LDA
11 ADD 22 DEC 33 JMP
4 LDA
5 SUB 6 INC
77 STA 88 LDA
计算机组成原理第五章 中央处理器[二]
A总线
IRi PCi ARi R/W DRi X G xi + _
CU
IR
PC
AR
M
DR R0R1 R2 R3 Y
IRo
PCo
DRo
yi
图5.15 双总线结构机器的数据通路 B总线
试画出执行以下不同指令时的指令周期流程图,并列 出相应微操作控制信号序列。 (1)ADD R2,R0; (R0)+(R2)→ R0 (2)SUB R1,R3; (R3)-(R1)→ R3
解(4):指令 MOV R3,@N 的执行阶段操作流程如下: (DR) →AR
M→DR
((N)) →R3
(DR) →AR M→DR
(DR) →R3
通过以上几种CPU结构和指令流程分析例子可 以看出,不同的指令对应不同的微操作序列。 一条指令的微操作序列不仅和指令功能有关, 而且与CPU的数据通路结构密切相关。具有相 同CPU结构的指令系统中所有指令的取指令微 操作序列是相同的。 指令流程和微操作控制信号序列的分析是设计 控制信号形成部件的基础,也是理解计算机内 部的工作过程、建立计算机整机概念的重要环 节。所以,需要大家重点掌握指令流程的分析 方法。
( R1 ) → AR
执 行
( R0 ) → DR ( MDR ) → M
略
R/W=W
xi + _
IRi PCi ARi
R/W
DRi X
A总线
控 制 器
IRo
IR
PC
AR
M
DR R0R1 R2 R3
G Y
PCo
DRo
yi
B总线ቤተ መጻሕፍቲ ባይዱ
(3) MOV R3,@R2 ((R2)) →R3 解:该指令取值阶段操作流程及相应的控制信号同(1)的取 值部分.执行阶段的操作流程及相应的控制信号如下: 略 ( R2) → AR 执 R/W=R M→ DR 行
IRi PCi ARi R/W DRi X G xi + _
CU
IR
PC
AR
M
DR R0R1 R2 R3 Y
IRo
PCo
DRo
yi
图5.15 双总线结构机器的数据通路 B总线
试画出执行以下不同指令时的指令周期流程图,并列 出相应微操作控制信号序列。 (1)ADD R2,R0; (R0)+(R2)→ R0 (2)SUB R1,R3; (R3)-(R1)→ R3
解(4):指令 MOV R3,@N 的执行阶段操作流程如下: (DR) →AR
M→DR
((N)) →R3
(DR) →AR M→DR
(DR) →R3
通过以上几种CPU结构和指令流程分析例子可 以看出,不同的指令对应不同的微操作序列。 一条指令的微操作序列不仅和指令功能有关, 而且与CPU的数据通路结构密切相关。具有相 同CPU结构的指令系统中所有指令的取指令微 操作序列是相同的。 指令流程和微操作控制信号序列的分析是设计 控制信号形成部件的基础,也是理解计算机内 部的工作过程、建立计算机整机概念的重要环 节。所以,需要大家重点掌握指令流程的分析 方法。
( R1 ) → AR
执 行
( R0 ) → DR ( MDR ) → M
略
R/W=W
xi + _
IRi PCi ARi
R/W
DRi X
A总线
控 制 器
IRo
IR
PC
AR
M
DR R0R1 R2 R3
G Y
PCo
DRo
yi
B总线ቤተ መጻሕፍቲ ባይዱ
(3) MOV R3,@R2 ((R2)) →R3 解:该指令取值阶段操作流程及相应的控制信号同(1)的取 值部分.执行阶段的操作流程及相应的控制信号如下: 略 ( R2) → AR 执 R/W=R M→ DR 行
计算机组成原理 第五章 指令系统
示例1,假设某机器的指令长度为16位,包括4位基 本操作码和三个4位地址码段。
15…12 11…8 7…4 3…0
OP
A1
A2 A3
4位基本操作码可表示16个状态,因此如用4位操 作码则能表示16条三地址指令。
用8位操作码则可表示256条二地址指令。
用12位操作码则可表示4096条一地址指令。
2011年9月
2011年9月
4
1. 20世纪50年代和60年代早期
指令系统一般只有定点加减、逻辑运算、数据传送和转移等 十几至几十条最基本的指令,而且寻址方式简单。
2. 60年代中、后期
除了具有以上最基本的指令以外,还设置了乘除法运算指 令、浮点运算指令、十进制运算指令以及字符串处理指令等, 指令数多达一、二百条,寻址方式也趋于多样化。
例: [A1]+[A2]→[A3],其中[A1]、[A2]为 源地址,[A3]为目的地址,操作后源地址内容 不变仅被拷贝
多地址指令:用于实现成批数据处理。
2011年9月
10
3、指令操作码的编码格式
指令操作码的位数限制指令系统中完成操作的指 令条数。
一般在指令字的最高位分配若干个固定位表示操作码。
若操作码占用n位,则可以表示多少条不同的指令? m2n2011Leabharlann 9月75.2 指令格式
5.2.1 指令格式 指令字:代表指令的一组二进制代码信息; 指令长度:指令字中二进制代码的位数;
1、典型的指令格式
OP
A
操作码 OP——指明操作性质的命令码,提 供指令的操作控制信息。
操作对象A——说明操作数存放的地址,有 时则就是操作数本身。
2011年9月
8
2、指令类型
