计算机体系结构
计算机体系结构的分类
- 从宏观上按处理机的数量分类
- 单处理系统:利用一个处理单元与其他外部设备结合起来,实现存储,计算,通信,输入和输出等功能的系统
- 并行处理与多处理系统:为了充分发挥问题求解过程中处理的并行性,将两个以上的处理机互联起来,彼此进行通信协调,便于共同求解一个大问题的计算机系统
- 分布式处理系统:物理上远距离且耦合的多计算机系统,物理上的远距离意味着通信时间与处理时间相比已不可忽略,在通信线路上的数据传输速率要比在处理机总线上传满的多
- 从微观上按并行程度分类
- Flynn分类法:1996年,由Flynn提出按指令流的多少进行分类,将计算机系统结构分为单指令流单数据流(SISD),单指令流多数据流(SIMD),多指令流单数据流(MISD)和多指令流多数据流(MIMD)四类
- 马泽云分类法:1972年由美籍华人马泽云提出按并行度对各种计算机系统进行结构分类,将计算机分为字串行位串行(WSBS)计算机,字并行位串行(WPBS)计算机,字串行位并行(WSBP)计算机,字并行位串行(WPBP)计算机四类
- Handler分类法:1977年由德国汉徳勒(Wolfgang Handler)提出基于硬件并行程度和计算并行程度的方法,把计算机的硬件分为三个层次,处理机级,每个处理机中的算术逻辑单元级,每个算术逻辑单元中的逻辑门电路级
- Kuck分类法:1978年美国的库克(David J.Kuck)提出与Flynn分类法类似的方法,用指令流和执行流及多重性来描述计算机系统控制结构的特征,主要分为单指令流单执行流(SISE),单指令流多执行流(SIME),多指令流单执行流(MISE),多指令流多执行流(MIME)四类
指令系统
-
指令的格式
指令格式:操作码OP + 地址码A
操作码
指定要完成的操作或功能,地址码
指定参与操作的操作数的地址 -
指令的寻址方式
- 顺序寻址:下一条指令的地址由程序计数器PC给出,PC每次自增+1
- 跳跃寻址:下一条指令的地址由指令本身给出
-
操作数的寻址方式
- 立即寻址:指令的地址码字段不是操作数的的地址,而是操作数本身,速度最快
- 直接寻址:指令的地址码字段给出操作数在内存的地址(操作数在内存中)
- 间接寻址:指令的地址码字段给出操作数在内存的地址的地址(操作数在内存中),需要访问2次内存
- 寄存器寻址:指令的地址码字段给出的操作数在寄存器的编号(操作数在寄存器中)
- 寄存器间接寻址:指令的地址码字段给出寄存器的编号,寄存器中所存的内容为操作数在内存的地址(操作数在内存中)
-
指令集分类
- CISC指令集:复杂指令集,各种指令按顺序串行执行
- RISC指令集:精简指令集,减少指令总数,采用优化便衣,硬布线,重叠寄存器窗口等技术
№ 特性 CISC RISC 0 指令数目 多 少 1 指令长度 可变长指令 大部分等长指令 2 控制器复杂性 复杂 简单 3 寻址方式 较丰富,提高编程灵活性 较少,以提高效率 4 编程遍历性 指令多,灵活 编程量大,采用较多通用寄存器 5 实现方式 微程序控制技术 采用硬布线逻辑控制优化编译程序,采用流水线技术
-
指令的流水处理
- 非流水执行时间:一条指令执行的时间 * 指令总数
- 流水执行时间:一条指令执行的时间 + 指令中最长流水的时间 * (n-1), n为指令总数
- 加速比:非流水方式与流水方式所用时间之比
- 流水线的操作周期:为最长流水段时间
- 流水线的吞吐率:为最长流水段时间的倒数
- 连续 n 条指令的吞吐率:指令总数/总时间
存储系统
-
高速缓存 Cache
高速缓存 Cache 位于 CPU 和主存之间,用于存储当前活跃的程序和数据- Cache 的功能:解决 CPU 和主存之间速度不匹配的问题
- Cache 的理论依据:程序的局部性原理
CPU 对主存中指令和数据的访问,在一小段时间内,总是集中在一小块存储空间里
- 时间局部性:最近被访问过的指令和数据很可能被再次访问
- 空间局部性:最近访问过的指令和数据往往集中在一小片存储区域中
-
主存与 Cache 的地址映射
在 CPU 工作时,送出去的是主存单元的地址,而应从 Cache 中读写信息,这就需要将主存地址转换成 Cache 地址,这种地址的转换称为地址映射- 全相联映像,映射方法:多对多。优点:冲突概率小,Cache 利用率高。缺点:硬件很难实现,且需要一个访问速度快,成本高的相联存储器。适用场合:小容量Cache
- 直接映像,映射方法:一对多。优点:硬件实现简单,成本低,地址变换速度快。缺点:冲突率高,且Cache空间利用率不高。适用场合:大容量Cache
- 组相联映像,映射方法:一组对多。优点:综合前两者的优点,又尽量避免其缺点,故被普遍采用
-
虚拟存储器:由主存和辅存组成,主要解决主存容量不足的问题
-
磁盘
- 存取时间:寻道时间 + 旋转等待时间 + 数据传输时间
- 寻道时间:将磁头定位至所要求的磁道上所需要的时间
- 旋转等待时间:寻道完成后至磁道需要访问的信息到达磁头下的信息,平均等待时间为磁盘旋转一周的所需时间的一半
- 数据传输速率:磁盘单位时间传输的字节数
输入输出技术
- CPU 与外围设备之间的信息交换方式
- I/O 接口与外设之间的信息交换
- CPU 与I/O接口之间的信息交换
- 程序查询方式:CPU 执行程序来轮询查询外设的状态,判断外设是否准备好接受数据或向 CPU 输入数据
- 特点:
- CPU 与外设串行工作
- 硬件结构简单
- CPU 大量时间都在查询等待,资源浪费较多
- 需要 CPU 保存现场,由 CPU 将数据放入内存
- 一次读写单位为 字
- 适用场合
- 低速外设或 CPU 任务不繁忙的情况
- 程序中断方式:CPU 暂时中止现行程序,转去处理随机发生的紧急事件,处理完成后自动返回原程序的功能和技术。当 I/O 接口与外设交换数据过程中,CPU 无需等待,当交换数据完成时,I/O接口产生中断,通知 CPU 处理数据
- 特点
- CPU 与外设可并行工作
- 硬件结构相对复杂,服务开销时间大
- 需要 CPU 保存现场,由 CPU 将数据放入内存
- 一次读写单位为 字
- 适用场合
- 微型机中随机出现的任务
- 对 I/O 处理的实时性要求高的系统
- 直接内存存取 DMA 方式:DMA 控制器接管总线的控制权,数据交换不经过 CPU,直接在内存和 I/O 设备间进行成块传送
- 特点
- CPU 与外设可并行工作
- 仅在传送数据快的开始和结束时才需要 CPU 干预
- 不需要 CPU 保存现场
- 由外设直接将数据放入内存(或相反)
- 一次读写单位为 块,传输一个数据块占用一个存储周期
- 适用场合
- 微型机中内存与高速外围设备进行大批数据交换
- 通道方式(输入/输出处理机 IOP):由通道(输入/输出处理机 IOP)控制外围设备
- 特点
- 大大提高了 CPU 的效率
- 但需要更多的硬件
- 适用场合
- 处理外设较多,规模较大的情形(大型机)
总线结构
总线(Bus) 是指在计算机中,设备与设备之间传输信息的公共数据通道
总线的分类
- 内部总线:CPU 内部连接运算器,控制器,各寄存器部件之间的总线
- 系统总线:CPU 和计算机系统中其他高速功能部件相互连接的总线。按系统总线传输信息内容的不同又可分为以下三类
- 数据总线:用来传输各功能部件之间的数据信息,它是双向传输总线,其位数与机器字长,存储字长有关
- 地址总线:用来指出数据总线上的源数据或目的数据所在的主存单元或 I/O 端口的地址,它是单向传输总线,地址总线的位数与主存地址空间大小有关
- 控制总线:传输的是控制信息,包括 CPU 送出去的控制命令和主存(或外设)返回 CPU 的反馈信号
- I/O 总线:中低速 I/O 设备相互连接的总线