1. 计算机硬件
计算机硬件组成
运算器、控制器、存储器、输入设备和输出设备5大部件
运算器、控制器等部件集成在一起统称为中央处理单元 (CPU),用于数据的加工处理、能完成各种算术、逻辑运算及控制功能
存储器是记忆设备,分为内部存储器和外部存储器
输入设备和输出设备合称为外部设备
中央处理单元
CPU的功能:程序控制、操作控制、时间控制、数据处理 and 对系统内部和外部的中断进行响应,进行处理
CPU主要由运算器、控制器、寄存器组和内部总线等组成
运算器:由算术逻辑单元ALU (对数据的算术和逻辑运算)、累加寄存器AC (存放运算结果或源操作数)、数据缓冲寄存器DR (存放内存的指令或数据)、状态条件寄存器PSW (保存指令运行结果的条件码) 等组成
控制器:由指令寄存器IR (暂存CPU执行指令)、程序计数器PC (存放指令执行地址)、地址寄存器AR (保存当前CPU所访问的内存地址)、指令译码器ID(分析指令操作码) 等组成。
CPU依据指令周期的不同阶段区分二进制的指令和数据
校验码
码距:在两个编码中,从码A转换到码B所需要改变的位数称为码距
奇偶校验码
循环冗余码 (CRC):只检错,不能纠错;生成多项式
指令系统
计算机的指令由操作码和操作数组成,操作码决定要完成的操作,操作数指参加运算的数据及其所在的单元地址
计算机指令的执行过程:取指令 - 分析指令 - 执行指令;首先从PC取出指令地址,送入地址总线,CPU依据指令地址从内存中取出指令内容,送入指令寄存器IR;后有指令译码器 (ID) 分析操作码,最后执行指令,取出指令所需要的源操作数 (AC)
指令寻址方式
- 顺序寻址:一条指令接着一条指令顺序执行)
- 跳跃寻址:下一条指令的地址码不由PC给出,而是由本条指令直接给出,跳跃后按新的指令地址开始顺序执行
指令操作数的寻址方式
- 立即寻址:不是地址,而是操作数
- 直接寻址:直接指出操作数在主存中的地址
- 间接寻址:存储的是地址的地址
- 寄存器寻址:地址码是寄存器编号
- 基址寻址:基址寄存器中的内容 + 指令中的地址
- 变址寻址:变址寄存器中的内容 + 指令中的地址
CISC是复杂指令系统,兼容性强,指令多,长度可变,由微程序实现
RISC是精简指令系统。指令少,使用频率接近,定长,依靠硬件实现 (通用寄存器、硬布线逻辑控制)
指令流水线原理:将指令分成不同段,每段由不同的部分处理。
RISC中的流水线技术
- 超流水线技术:细化流水、增加级数、提高主频,以时间换空间
- 超标量技术:内装多条流水线来同时执行多个处理,以空间换时间
- 超长指令字:通过软件实现并行处理。
流水线周期:执行时间最长的段为流水线周期
流水线执行时间:一条指令的总执行时间 + (指令条数 - 1)*流水线周期
[HTML_REMOVED][HTML_REMOVED]流水线吞吐率计算[HTML_REMOVED][HTML_REMOVED]:单位时间内执行的指令条数 (指令条数/流水线执行时间)
流水线加速比:使用流水线后效率的提升度 (不使用流水线执行时间/使用流水线执行时间)
存储系统
分级存储,解决存储容量、成本和速度之间的矛盾问题
两级存储:Cache-主存,主存-辅存
局部性原理
- 时间局部性原理:相邻的时间里会访问同一个数据项
- 空间局部性原理:相邻的空间地址会被连续访问
高速缓存Cache用来存储当前最活跃的程序和数据,直接与CPU进行交互,位于CPU和主存之间,容量小
Cache由控制部分和存储器组成,存储器存储数据,控制器判断数据是否在Cache中
地址映射:CPU工作时,送出的是主存单元的地址,但首先从Cache存储器中读/写信息。需要将主存地址转换为Cache存储器地址,这种地址转换称为地址映射,由硬件自动完成,有下面三种方法
- 直接映像:主存中的一个块只能映射到Cache的某一个特定块上
- 全相连映像:主存中的任一个块可以映射到Cache中的任一块上
- 组组相连映像:主存中的一个块映射到Cache的某一特定组的任一块
替换算法:目的是提高命中率
- 随机替换算法
- 先进先出算法
- 近期最少使用算法
- 优化替换算法
磁头要先寻找到对应的磁道,然后等待磁盘进行后期旋转。寻道时间(耗时最长) + 等待时间
磁盘调度算法
- 先来先服务FCFS
- 最短寻道时间优先SSTF:会产生饥饿现象
- 扫码算法SCAN:电梯算法
- 单向扫码调度算法CSCAN
输入输出技术
计算机和外设之间的数据交互方式
- 程序控制 (查询) 方式:CPU主动查询外设是否完成数据传输,效率低
- 程序中断方式:外设完成数据传输后,向CPU发送中断。中断响应时间指从发出中断请求到开始进入中断处理程序;中断处理时间指中断处理开始到结束。中断向量提供中断服务的入口地址
- DMA方式 (直接主存存取):CPU只完成必要的初始化等操作,数据传输整个过程由DMA控制器完成,在主存和外设之间建立直接的数据通路
在一个总线周期后,CPU响应DMA请求开始读数据;CPU响应程序中断方式请求是在一条指令执行结束时
总线结构
总线是指计算机设备和设备之间传输信息的公共数据通道,连接计算机硬件系统内多种设备的通信线路,由总线上的所有设备共享。
- 内部总线:芯片级别的总线
- 系统总线:板级总线,计算机内各部分之间连接,具体分为数据总线 (并行数据传输位数),地址总线 (系统可管理的内存空间大小),控制总线(传输控制命令)
- 外部总线:PC和外部设备的总线