计算机体系概述
1.1 基本构成
计算机有4个主要的结构化部件:
- 处理器(Processor):控制计算机的操作,执行数据处理功能;
- 内存(Main memory):存储数据和程序;
- 输入/输出模块(I/O modules):在计算机和外部环境之间移动数据;
- 系统总线(System bus):在处理器、内存和输入输出间提供通信的设施。
计算机部件图(展示了不同部件之间的联系):
1.2 指令的执行
- 指令周期
- 程序计数器PC
- 指令寄存器IR
指令动作分成4类:
- 处理器 - 寄存器:数据可以从处理器传送到存储器,或者从存储器传送到处理器;
- 处理器 - I/O:通过处理器和 I/O 模块间的数据传送,数据可以输出到外部设备,或者从外部设备输入数据;
- 数据处理:处理器可以执行很多关于数据的算术操作或者逻辑操作;
- 控制:某些指令可以改变执行顺序。
1.4 中断
定义:中断是指提供允许其它模块(I/O,存储器)终端处理器正常处理过程的机制。
目的:提高处理器效率的一种手段;
种类:程序中断、时钟中断、I/O中断、硬件失效中断。
中断和指令周期流程:
多个中断处理方法:
- 正在处理一个中断时,禁止再发生中断;
- 定义中断优先级,允许高优先级中断打断低优先级中断的运行
1.5 存储器的层次结构
寄存器 - 高速缓存 - 内存 - 磁盘 - 磁带
存储器的三个重要特性是:
价格,容量和访问时间。 并且各层次从上到下,每 “位” 价格降低,容量递增,访问时间递增。
局部性原理: 处理器的指令访存和数据访存成簇状,
- 空间局部性是指最近被访问的元素的周围在不久的将来可能会被访问,指涉及多簇存储器单元的执行趋势,反映了处理器顺序访问指令的趋势。
- 时间局部性:是指最近被访问的元素在不久的将来可能会被再次访问,指处理器访问最近使用过的存储单元的趋势。
1.6 高速缓存
处理器和内存的速度不匹配,利用局部性原理,在处理器和内存之间提供一个容量小且速复块的存储器,称为高速缓存器。
单个高速缓存器 -> 多级高速缓存器
高速缓存设计考虑的因素?
- 高速缓存大小
- 块大小
- 映射函数
- 置换算法
- 写策略
- 高速缓存的级数
1.7 直接内存存取
执行I/O操作的技术有三种:
- 可编程I/O(处理器在执行I/O指令后,要定期检查I/O模块的状态,确定I/O操作是否已经完成,轮询导致效率下降)
- 中断驱动I/O(处理器仍需要主动干预在存储器和I/O模块之间的数据传送)
- 直接内存存取(DMA)
1.8 多处理器和多核计算机组织架构
三种并行手段:
- 对称多处理器(SMP)
- 多核计算机
- 集群