计算机体系结构
指令系统
- Flynn分类法
- SISD(单指令流单数据流)
- 结构
- 控制部分:一个
- 处理器:一个
- 主存模块:一个
- 代表
- 单处理器系统
- 结构
- SIMD(单指令流多数据流)
- 结构
- 控制部分:一个
- 处理器:多个
- 主存模块:多个
- 代表
- 并行处理机
- 阵列处理机
- 超级向量处理机
- 关键特性
- 各处理器以异步形式执行同一条指令
- 结构
- MIMD(多指令流多数据流)
- 结构
- 控制部分:多个
- 处理器:多个
- 主存模块:多个
- 代表
- 多处理机系统
- 多计算机
- 关键特性
- 能够实现作业、任务、指令等各级全面并行
- 结构
- MISD(多指令流单数据流)
-
结构
- 控制部分:多个
- 处理器:一个
- 主存模块:多个
-
代表
- 目前没有
-
关键特性
- 不可能,不实际
-
- SISD(单指令流单数据流)
- 计算机指令
- 组成
- 操作码
- 决定要完成的操作
- 操作数
- 参加运算的数据及其所在的单元地址
- 地址码
- 操作数地址的二进制码表示
- 操作码
- 执行过程
- 取指令
- 将程序计数器PC中的指令地址取出,送入地址总线
- CPU根据指令地址去内存中取出指令内容存入指令寄存器IR
- 分析指令
- 指令译码器进行分析,分析指令操作码
- 执行指令
- 执行指令,取出指令执行所需要的源操作数
- 取指令
- 指令寻址方式
- 顺序寻址
- 一条指令紧接着一条指令顺序执行
- 跳跃寻址
- 下一条指令的地址不是由程序计数器PC给出,而是由本条指令直接给出
- 程序跳跃后,按新的指令地址开始顺序执行
- 程序计数器的内容页必须相应改变,以便及时跟踪新的指令地址
- 顺序寻址
- 指令操作数寻址方式
- 立即寻址方式
- 操作数直接存在指令中
- 指令的地址码字段指出的不是地址,而是操作数本身
- 直接寻址方式
- 操作数在主存的地址存在指令中
- 指令的地址字段中直接指出操作数在主存中的地址
- 间接寻址方式
- 指令地址码字段所指向的存储单元中存储的是操作数的地址
- 寄存器寻址方式
- 指令中的地址码是寄存器的编号
- 立即寻址方式
- 指令系统
- 复杂指令系统(CISC)
- 特点
- 数量多
- 使用频率差别大
- 可变长格式
- 研制周期长
- 寻址方式
- 支持多种
- 实现方式
- 微程序控制技术(微码)
- 特点
- 精简指令系统(RISC)
- 特点
- 数量少
- 使用频率差别小
- 定长格式
- 大部分为单周期指令
- 操作寄存器
- 只有Load/Store操作内存
- 优化编译
- 有效支持高级语言
- 寻址方式
- 支持方式少
- 实现方式
- 增加了通用寄存器
- 硬布线逻辑控制为主
- 适合采用流水线
- 特点
- 复杂指令系统(CISC)
- 指令流水线
- 原理
- 指令分成不同段,每段由不同的部分处理,可以产生叠加的效果
- 概括一句话:串行变并行
- 分段
- 取指
- 分析
- 执行
- 计算
- 流水线周期
- 指令分成不同的段,其中执行时间最长的段为流水线周期
- 流水线执行时间
- 1条指令总执行时间+(总指令条数-1)*流水线周期
- 流水线吞吐率
- 总指令条数/流水线执行时间
- 流水线加速比
- 不使用流水线总执行时间/使用流水线总执行时间
- 加速比越大,说明流水线执行效率越高
- 最大加速比,取n条指令,趋于无穷计算
- 超标量流水线技术
- 流水线周期
- 原理
- 组成
存储系统
- 分级存储体系
- 结构(顶层到底层)
- CPU内部通用寄存器
- Cache
- 主存储器
- 联机磁盘存储器
- 脱机光盘、磁盘存储器
- 原因
- 解决存储容量、成本和速度之间的矛盾问题
- 结构(顶层到底层)
- 两级存储
- Cache-主存
- 主存-辅存(外存)
- 局部性原理
- 在CPU运行时,所访问的数据会趋向于一个较小的局部空间地址
- 程序大部分指令是顺序存储、顺序执行
- 时间局部性原理
- 相邻的时间里会访问同一个数据
- 如果一个数据项正在被访问,那么在近期它很可能会被再次访问,例如:循环
- 空间局部性原理
- 相邻的空间地址会被连续访问
- 在最近的将来会用到的数据地址和现在正在访问的数据地址很可能是相近的,例如:数据或者顺序表的访问
- 高速缓存Cache
- 半导体材料构成
- 存储当前最活跃的程序和数据
- 直接与CPU交互
- 位于CPU和主存之间,容量小,一般只有几M,速度是内存的5~10倍
- 内容是主存内存的副本拷贝,对程序员是透明的
- 组成
- 控制部分
- 判断CPU要访问的数据是否在Cache中,在则命中,不在则依据一定的算法从主存中替换
- 存储器
- 存储数据
- 控制部分
- 地址映射
- CPU工作送出的是主存单元的地址,而应该从Cache存储器中读写信息
- 需要将主存地址转换为Cache存储器地址
- 由硬件直接完成映射
- 直接映射
- 地址变换简单但不灵活,容易造成资源浪费
- 全相联映射
- 地址变换复杂,速度较慢
- 组组相联映射
- 以上两种的结合
- Cache地址映射的块冲突概率
- 直接映射>组组相联映射>全相联映射
- 直接映射
- 主存编址
- 按字节编址
- 一个内存单元代表的是一个字节(1B=8bit)
- 按字节编址
总线技术
- 广义
- 任何连接两个以上电子元器件的导线都可以称为总线
- 内部总线
- 内部芯片级别的总线
- 芯片与处理器之间通信的总线
- 系统总线
- 板级总线
- 计算机内各部分之间的连接
- 数据总线(并行数据传输位数)
- 地址总线
- 系统可管理的内存空间大小
- 32位
- 64位
- 控制总线
- 传送控制命令
- 代表
- ISA总线
- EISA总线
- PCI总线
- 系统可管理的内存空间大小
- 外部总线
- 设备一级的总线
- 微机和外部设备的总线
- 代表
- RS232
- 串行总线
- SCSI
- 并行总线
- USB
- 通用串行总线
- RS232