Cha1 计算机系统概述要求掌握 …
CPU中的寄存器有两类,分别包括什么
基本指令周期有哪两步,基本指令有哪四类
常见中断分几类,中断对指令周期的影响
在 I/O中采用中断的作用是什么
如何处理中断
多个中断如何响应
为何采取层次结构的存储体系
cache的作用是什么,其中标签的作用是什么
cache的工作原理计算机部件的顶层视图
CPU
PC
IR
MAR
MBR
I/O AR
I/O BR
I/O模块
……
缓冲区指令指令指令数据数据数据
……
……
……
内存执行单元系统总线
CPU中的寄存器
MAR-存储器地址寄存器
memory address register
MBR-存储器缓冲寄存器
memory buffer register
I/OAR- I/O地址寄存器
I/OBR- I/O缓冲寄存器
PC-程序计数器
program counter
IR-指令寄存器
instructor register
处理器寄存器
用户可见寄存器
– 数据寄存器
– 地址寄存器
变址寄存器
段指针
栈指针
控制和状态寄存器
– 程序计数器
– 指令寄存器
– 程序状态字 PSW
– 中断寄存器
– 系统栈指针应用程序系统程序系统程序index registersegment pointer
stack pointer
program status word
基本指令周期
处理器-存储器
处理器- I/O
数据处理
控制开始 取下条指令 执行指令 停止取周期 执行周期指令格式与数据格式
0001将存储器加的值放到 AC
0010将 AC内容放到存储器
0101将存储器的值加到 AC中操作码 地址符号 数值
0 3 15
指令格式数据格式
[940]+[941]? [941]
300 1940
301 5941
302 2941

940 0003
941 0002
300 PC
AC
1940 IR
300 1940
301 5941
302 2941

940 0003
941 0002
301 PC
0003 AC
1940 IR
内存 CPU
程序数据
1-取指令
2-执行指令
[940]+[941]? [941]
300 1940
301 5941
302 2941

940 0003
941 0002
301 PC
0003 AC
5941 IR
300 1940
301 5941
302 2941

940 0003
941 0002
302 PC
0005 AC
5941 IR
3+2=5
[940]+[941]? [941]
300 1940
301 5941
302 2941

940 0003
941 0002
302 PC
0005 AC
2941 IR
300 1940
301 5941
302 2941

940 0003
941 0005
303 PC
0005 AC
2941 IR
中断分类程序中断 由指令执行结果产生时钟中断 由处理器内部的计时器产生
I/O中断 由 I/O控制器产生硬件失效中断 由掉电、内存错等故障产生程序的控制流 -无中断
1
write
2
write
3
write
4
I/O命令
5
结束用户程序 I/O程序传送参数 …
真正的 I/O指令设置标记 …
程序的控制流 -有中断
1
write
2
write
3
write
4
I/O命令
5
结束用户程序 I/O程序中断处理中断中断程序的控制流 -有中断
write
write
write
I/O命令结束用户程序 I/O程序中断处理利用中断转移控制中断和指令周期用户程序 中断处理程序开始 取下条指令 执行指令 检查中断处理中断允许中断不允许中断停止取周期 执行周期 中断周期中断程序时序-短 I/O
1
4
CPU等待
5
2
4
CPU等待
5
3
1
4
2a
5
2b
4
3a
5
3b
I/O操作
I/O操作
I/O操作
I/O操作时间无中断有中断程序时序-长 I/O
1
4
CPU等待
5
2
4
CPU等待
5
3
1
4
2
5
4
3
5
I/O操作
I/O操作
I/O操作
I/O操作时间无中断 有中断
CPU等待
CPU等待简单中断处理设备控制器或其他硬件产生中断
CPU结束当前指令
CPU发送应答信号
CPU将 PSW/PC入栈
CPU加载新 PC值保存剩余的处理状态信息处理中断恢复处理状态信息恢复原 PSW/PC值硬件 软件中断引起的变化-中断
N+1
T
控制栈中断服务程序用户程序
PC
栈指针寄存器
Y
T-M
Y
N
T
处理器内存
Y+L
T-M
中断引起的变化-返回
Y+L
T-M
控制栈中断服务程序用户程序
PC
栈指针寄存器
N+1
T
Y
N
T
处理器内存多中断中的控制转移用户程序 中断处理程序顺序处理嵌套处理多中断的时间顺序用户程序打印机 ISR-2 通信 ISR-5
磁盘 ISR-4
T=25
T=40
发生中断多道程序设计
A
B
正在运行无法运行可以运行存储器层次结构设计目标-容量?、速度?,价格?
离线存储器板外存储器板上存储器 寄存器,高速缓存,内存磁盘,光盘磁带减少访问频率一个简单的二级存储器的性能
0 1
T1+T2
T1平均访问时间一级 二级CPU
T1 T2
命中率 hit ratio
访问的局部性原理短时间内,处理器主要访问内存的小范围区域所有程序、数据近期使用的程序、数据
CPU
容量小,
速度快,价格高容量大,
速度慢,价格低一级二级
CPU
存储体系寄存器
cache
内存磁盘 cache
虚拟存储器磁盘高速缓冲 Cache和主存
CPU cache 主存字传送 块传送
Cache结构
0
1
2

C-1 ……
标签 块编号块大小
K个字
0
K- 1
2n- 1
块 0#
字长
……
Cache的大小 C<< M
内存槽块 M-1#

标签的作用标签 块
00 0000 0001 0010 0011
01 0100 0101 0110 0111
10 1000 1001 1010 1011
11 1100 1101 1110 1111
0 1 32
地址长度
Cache读操作开始从 CPU接收地址 RA
包含 RA的块在 cache中从 cache获取数据访问含 RA的内存块为它分配 cache槽该块装入槽 RA数据给 CPU
结束
Y
N
Cache设计
Cache大小
块大小
映射函数
替换算法
写策略块的大小块的大小命中率
I/O通信技术-
程序控制 I/O
给 I/O模块发出读命令读 I/O模块状态检查状态从 I/O模块中读字完成向存储器中写字
yn
准备好未准备好
cpu→I/O
I/O → cpu
错误条件
I/O → cpu
cpu→ 内存下条指令
I/O通信技术-
中断驱动 I/O
给 I/O模块发出读命令读 I/O模块状态检查状态从 I/O模块中读字完成向存储器中写字
yn
准备好
cpu→I/O
I/O → cpu
错误条件
I/O → cpu
cpu→ 内存执行其他程序中断下条指令
请求读或写操作
涉及的外设地址
开始读写的内存地址
读写的字数
I/O通信技术- DMA
给 I/O模块发出读命令读 DMA模块状态
cpu→DMA
cpu ← DMA
执行其他程序中断下条指令
Direct memory access