第1章.计算机系统概述
1.计算机的基本组成
处理器:控制计算机的操作、执行数据处理功能
主存储器:存储数据和程序、容易丢失
输入输出模块:在计算机和外部设备间移动数据
系统总线:在上述三者模块间提供通讯功能
交换数据
处理器↔存储器
存储器地址寄存器(MAR):放下次要读写的存储器地址
存储器缓冲寄存器 (MBR):从存储器读或写的数据缓存
存储器↔I/O
I/O 地址寄存器(I/O AR):确定io设备
I/O缓冲寄存器(I/O BR):从io读或写的数据缓存
2.指令的执行(取指、执行两阶段指令周期)
2.1两阶段
1.取指:根据pc的值去获取指令,并存入IR且PC+1
2.执行指令:根据IR执行指令
程序中如果有分支,跳转,循环,直接设置PC的值,指向下一个要执行指令的地址
2.2三指令执行阶段
1.取指
2.执行
3.中断处理(是否开中断、是否优先级高于当前正在执行程序、是否有中断源)=》转中断处理(保护现场、中断处理、恢复现场)
3.什么是中断、为什么要中断
中断:用于提高处理器效率的一种手段。对处理器正常执行过程进行中断。
中断分为:程序中断、时钟中断、I/O中断、硬件失效中断
原因:
–大多数的 I/O 设备都比处理器慢
–处理器必须等待I/O设备
–处理器的利用率不高、浪费
4.中断处理的过程
三步骤:保护现场、中断处理、恢复现场
详细处理过程
处理多个中断方法:(多中断)
1.顺序执行
2.嵌套中断,定义中断优先级
5.多道程序设计
串行=》并行
道数:内存中进程的数量
所谓多道程序设计指的是允许多个程序同时进入一个计算机系统的 主存储器并启动进行计算的方法。也就是说,计算机内存中可以同时存放多道(两个以上相互独立的)程序,它们都处于开始和结束之间。
从宏观上看是并行的, 多道程序都处于运行中,并且都没有运行结束;从微观上看是串行的,各道程序轮流使用CPU,交替执行。
引入多道程序设计技术的根本目的是为了提高CPU的利用率,充分发挥计算机系统部件的并行性,现代计算机系统都采用了多道程序设计技术。
6.存储器的层次结构
金字塔结构
每"位"价格↓ 容量↑ 存取时间↑ 处理器访问存储器频率↓
平均存取时间和命中率的关系
例子:一级存储器存取时间为0.1 μs,二级为0.1μs,一级命中率为0.95,则平均存取时间为:
0.950.1μs+0.05(0.1μs+1μs)=0.15μs
二级存储器或辅助存储器特点
•外部
•非易失性
•存储程序和数据文件
•做虚拟存储器
•提高速度:磁盘高速缓冲存储器
–用一部分主存储器作为缓冲区临时保存数据
–磁盘成簇写:次数少、数据量大的传输方式
–“写出”缓存:写到磁盘的数据缓存在磁盘高速缓冲存储器中,访问的时候从disk cache读
7. 高速缓冲寄存器Cache
在处理器和内存之间的一个容量小且速度快的存储器.目的是使得访问速度接近现有的最快存储器,同时支持价格较低的大存储容量.
工作原理
局部性原理:在执行程序期间,处理器的指令访存和数据访存呈"簇"状.
1.空间局部性:当程序进入一个循环或者子程序执行,就会重复访问一个小范围内的指令集合.
2.时间局部性:在较短时间内,处理器主要访问存储器中固定"簇".
处理器读取存储器内容时的两种途径:
Cache的设计考虑因素
Cache自身大小
块的大小(Cache与内存间数据交换单位)
映射函数(确定块与高速缓存单元的对应关系)
替换算法(新块与旧块的更替)
写策略(Cache中块被修改,要写回内存)
Cache级数
8. I/O通讯技术
1.可编程I/O
CPU参与了I/O工作轮询,I/O处于被动状态.处理器定期检查I/O的状态,以确定I/O操作是否已经完成.
2.中断I/O
I/O主动向处理器汇报状态,当I/O准备好与处理器交换数据时,将打断处理器的执行并请求服务。
3.DMA(直接存储访问)
I/O工作交给专门的设备或块处理,处理器只需要处理少量的中断工作,其余工作交给DMA。
DMA负责数据传送时会使用系统总线,若处理器使用总线时DMA正在使用,则要等待DMA一个指令周期完成后再使用总线。