1.1
基本构成
处理器、内存、系统总栈、输入输出模块(外部设备)
1.2
微处理器的发展演化
1.3
指令的执行
基本指令周期:
取指、执行
四类指令:
- 处理器-存储器:在寄存器和内存单元间传送数据
- 处理器-I/O:处理器和I/O设备间传送数据
- 数据处理:算术/逻辑运算
- 控制转移:设置PC值,改变执行顺序
1.4*
中断
中断
Interrupt
:
由于发生某些事件,暂停当前程序在
CPU
上的运行,
转而执行相应事件的中断处理程序。待处理完成后,
再返回断点继续执行或调度其它程序执行。
中断分类:
程序中断
:由程序指令的执行结果产生,如算术溢出、
除数为
0
、非法指令、地址越界、缺页、断点调试等。
时钟中断
:
CPU
内部的定时器产生。
I/O
中断
:
I/O
操作正常或异常结束时,由
I/O
控制器产生。
硬件失效中断
:掉电、内存奇偶校验错等硬件故障。
CPU
在执行完一条指令之后、执行下一条指令之
前,检测并处理中断。
![](https://img-blog.csdnimg.cn/7178e355ebae4d84b11d5f33da187108.png)
![](https://img-blog.csdnimg.cn/0b130f2639314725a4e0d13521fe13bb.png)
多个中断的两种处理方式:
怎样改善空间局部性和时间局部性?
更大的
Cache
块,
将数据预取到块里;
Cache
中保留最近
访问的代码和数据;
1.5*
存储器的层次结构
![](https://img-blog.csdnimg.cn/fb1ae056d0e44582a17fba8bd2f9cc06.png)
两级存储器有效的原因:
程序的局部性原理
在一段小的时间间隔内,被访问过的某指令或
数据,可能很快会
被再次访问
。
——
时间局部性
在一段小的时间间隔内,程序访问的地址空间
往往
集中在某个区域
(簇)。
——
空间局部性
大多顺序执行;经常有循环;过程调用深度有限;
数据常为数组、记录;不是所有代码都需执行。
因此,让内存包含所有的(或大部分)指令和数
据,而当前访问的“簇”包含在
Cache
中,可达
到高命中率。
类似地,在虚拟内存中,由
“
Cache
-内存-磁
盘”
构成
三级存储器
。
1.6
高速缓存
1.7*
直接内存存取
![](https://img-blog.csdnimg.cn/422f8eb85c8a413498f8fadb3885cb83.png)
1.8
多处理器和多核计算机组织结构