输入输出(I/O)接口
- I/O系统的工作方式
- 程序控制:CPU使用I/O指令编程控制,需要不停的查询I/O系统是否完成指令
- DMA 使用DMA控制器(Direct Memory Access)和CPU共享系统总线,在进行DMA时 CPU放弃系统总线控制器 [处理速度最快,CPU无需介入]
- 程序中断 当I/O系统与设备交换数据时,CPU无需等待数据交换,当数据交换完成时I/O系统发送中断信号通知CPU,CPU保存现场后,完成I/O系统后续动作后,返回中断现场 [对突发时间做处理]
-
通道 通过通道程序管理I/O系统和控制器,每当用户请求启动外设时,会构造通道程序和通道状态字
- 字节多路通道
- 选择通道
- 数据多路通道
- I/O处理机 相比通道方式,指令更丰富,有局部存储器,适用于大型机
- 总线原理:从两个或两个以上源部件传送信息(指令、数据和地址)到一个或多个部件的一组传输线, 如一根传输线仅用于连接 一个源部件(输出)和一个或多个目的部件(输入),则不称为总线
- 总线分类
- CPU与其他芯片位置划分
- 内部总线(适用范围:CPU内部的ALU,寄存器,控制部件之间的数据通信)
- 外部总线(适用范围:***CPU与其他组件 ***RAM、ROM和I/O设备的数据通路)
- 功能划分
- 数据总线 传输数据
- 地址总线 传输地址
- 控制总线 传输控制信号量
- 工业标准 ISA总线 划分 98条线,数据线16条,地址线24条,其余是控制线
- 总线在计算机的位置
- 机内总线 CPU与其他芯片的连接
- 机外总线 与外设相连的接口标准
- 总线扩展
- 局部总线 在原有总线规范成为性能瓶颈时,在CPU和ISA之间增加的一级总线或者是管理层
- 系统总线 插背板之间数据通信一组信号线
- 通信总线 和外设通信的一组信号线
- CPU与其他芯片位置划分
- 总线速度 最终会成为 性能的瓶颈
-
总线接口
-
串行接口:一次发送1 bit信息,通信连线少,适合长距离传输,传输慢,控制复杂
- 同步通信
- 异步通信
- 并行接口:一次发送多 bit信息(8的倍数),通信连接多,高速数据传输,传输快,控制简单
-
串行接口:一次发送1 bit信息,通信连线少,适合长距离传输,传输慢,控制复杂
- 设备接口
- SCSI
- 大容量存储设备设备的标准。SCSI设备彼此独立运行,相互交互数据,数据以分组方式传输,最大可以达到5Gbps(640MB/s)
- ESDI
- IDE
- PCMCIA
- IEEE-1394
- USB
- SCSI
各种体系结构
指令系统
-
复杂指令系统计算机(CISC)
- 指令多
- 指令使用频率相差悬殊
- 支持多种寻址方式
- 指令长度不固定
- 大量指令对存储器单元中的数据直接处理(读取存储器的效率很低,应该读取寄存器)
-
精简指令系统计算机(RISC)
- CPU 寄存器多
- 选择频率高的简单指令、使用率搞不复杂的指令
- 指令长度固定、种类少、寻址种类少
- 较少访问存储器、尽可能的放在寄存器
- 大多数采用Cache,以及 流水线 组织
流水线技术
- 采用并行硬件提高性能,将一个指令拆分成多个指令任务,各指令任务串行执行并且由不同机构执行,而不同机构执行时之间可以并行执行
- 一般一个指令分为 取指、分析、执行 三个任务
- 如果有100个指令,取指令1ns,分析2ns,执行2ns
- 由于第一条指令需要拆分串行运行,耗时为 1+2+2=5ns
- 拆分的指令可以并行执行,任务中耗时最长的是2ns(这就是并行的流水周期),在第一个指令被拆分为3个子任务耗时5ns后,还剩下100-1个指令,在最长的耗时(100-1)*2ns的情况里,其余的子任务都会完成
- (1)标量流水处理机 耗时为 (1+2+2) + (100-1)*2 = 203ns
- (1)标量非流水处理机 耗时为 (1+2+2)*100=500ns
- (4)标量流水处理机 耗时为 (1+2+2) + (100/4-1)*2 = 53ns
- 流水线计算公式是time=(n*t) + [(k-1)*t] n是子任务数,t是每个子任务耗时,k是指令个数
- 有时候可能会使用 周期时间累加作为第一次取值总耗时
-
吞吐率TP 单位时间内流水线完成的任务数量
- 吞吐率 100/203ns
-
加速比 不使用流水线耗时与使用流水线的耗时比
- 加速比 500/203=2.46(感兴趣的可以去套下高数公式)
- 复杂的流水线计算使用画时空图更快
- 流水线技术被破坏的条件(流水线技术采用的是重叠时间多执行器并行执行)
- 转移指令 流水线无法确认下一步指令地址
-
共享资源冲突 前后数据冲突,导致指令无法继续执行,这种大多数都是局部性的资源冲突,比如前一条指令还在写寄存器,另一条指令已经准备读寄存器了,解决方法如下
- 推后法 推后相关read操作,等待wait执行完成
- 通路法 不将结果write into storage unit后供read,而是通过专用通路直接读取,可以加快s剫
-
响应中断
- 精确中断 立即停止当前流水线,CPU指令变复杂
- 不精确中断 封闭流水线指令入口,让当前指令执行完成,执行中断处理程序,实现简单
并行处理
- 超标量处理机
- 超级流水线处理机
- 超长指令字处理机
- 向量处理机
- 多处理机系统(MIMD 中高端机通过高速通信网络进行通信,相比SIMD 有更高的并行层面)
- 共享存储器多处理机
- 分布式存储器多处理机
- 大规模并行处理机(阵列处理机 MPP 有独立主空间 SIMD)
- 对称多处理机(SMP 共享主存空间 通过网络)
- 紧耦合系统 SMP
- 松耦合系统 MPP
互联网络
- ICN 连接计算机中各个处理单元、存储模块以及I/O设备,一般结构有
- 总线
- 交叉开关
- 多级互联网
- 并行处理机互联方法
- 恒等置换 I 相同编号的输入输出地址一致
- 交换置换 E 二进制地址编号 第0位位值不同 的是输入/输出
- 方体置换 Cube 二进制地址编号 第k位位值不同 的是输入/输出
- 均匀洗牌置换 Shuffle 输入端二进制地址编号 左移一位得到输出端二进制地址
- 蝶式置换 B 输入端二进制地址编号 最高位和最低位互换得到输出端二进制地址
- 位置颠倒置换 P 输入端二进制地址编号 位置顺序颠倒得到输出端二进制地址
- 计算机系统由 硬件 和 软件组成,软件 又区分为 系统软件 和 应用软件
- 计算机只能读懂二进制指令,需要通过编译程序转码,然后由指令系统执行
- 总线控制线路包括 总线判优或仲裁逻辑、驱动器和中断逻辑