1.2.1 计算机体系结构的发展
按处理机的数量(宏观上)
- 单处理系统:利用一个处理单元和其他外部设备结合起来。
- 并行处理与多处理系统:将两个以上的处理机连接起来,彼此进行通信协调,以便共同求解一个大问题的计算机系统。
- 分布式处理系统:指物理上远距离而松耦合的多计算机系统。
按并行程度(微观上)
- Flynn分类法:按指令流和数据流的多少进行分类。
体系结构类型 结构 关键特性 代表 单指令流单数据流SISD 控制部分:1个
处理器:1个
主存模块:1个单处理器系统 单指令流多数据流SIMD 控制部分:1个
处理器:多个
主存模块:多个各处理器以异步形式执行同一条指令 并行处理器
阵列处理器
超级向量处理机多指令流单数据流MISD 控制部分:多个
处理器:1个
主存模块:多个不实际不可行❌ 目前没有(or 流水线计算器) 多指令流多数据流MIMD 控制部分:多个
处理器:多个
主存模块:多个能够实现作业、任务、指令等各级全面并行 多处理机系统
多计算机- 冯泽云分类法:按并行度对各种计算机系统进行结构分类。
- Handle分类法:在系统中三个层次上按并行程度及流水线处理程度分类。
- Kuck分类法:用指令流和执行流及其多重性来描述计算及系统控制结构的特征。
指令集体系结构(ISA):一个处理器支持的指令和指令的字节级编码称为其指令集体系结构。
- 从体系结构的观点:
1)操作数在CPU中的存储方式,即操作数从主存中取出后保存在什么地方。
2)显示操作数的数量,即在典型的指令中有多少个显示命名的操作数。
3)操作数的位置,即任一个ALU指令的操作数能否放在主存中,以及如何定位。
4)指令的操作,即在指令集中提供哪些操作。
5)操作数的类型与大小。 - 按暂存机制:堆栈、累加器、寄存器组。
- 从体系结构的观点:
CISC和RISC:CISC和RISC是指令集发展的两种途径。
RISC 精简指令集计算机 |
CISC 复杂指令集计算机 |
|
---|---|---|
指令种类 | 少,精简 | 多,丰富 |
指令复杂度 | 低,简单 | 高,复杂 |
指令长度 | 固定 | 变化 |
寻址方式 | 少 | 复杂多样 |
实现(译码)方式 | 硬布线控制逻辑 | 微程序控制技术 |
通用寄存机数量 | 多,大量 | 一般 |
流水线技术 | 支持 | 不支持 |
- 指令的流水控制:
- 流水线的种类
1)从流水级别:部件级流水、处理级流水、系统级流水。
2)从流水功能:单功能流水线、多功能流水线。
3)从流水连接:静态流水线、动态流水线。
4)从流水是否有反馈回路:线性流水线、非线性流水线。
5)从流水流动顺序:同步流水线、异步流水线。
6)从流水的数据表示:标量流水线、向量流水线。 - 指令控制的方式:顺序方式、重叠方式、流水方式。
- RISC采用的流水技术有:超流水线,超标量和超长指令字。
- 流水线的种类
- 吞吐率和流水建立时间
吞吐率是指单位时间内流水线处理机流出的结果数。对指令而言,就是单位时间内执行的指令数。吞吐率 = 指令条数 / 流水线总时间
流水线总时间 = 一条完整指令的时间 + 一条完整指令的时间 + (n -1) * 流水线周期
其中n = 指令数,流水线周期 = 最长的操作时间
1.2.2 存储系统
- **按访问方式区分:**按地址访问的存储器、按内容访问的存储器。
- 按储存器所处位置:
- 内存:也称主存,用来存放机器当前运行所需的程序和数据。
- 外存:也称辅存,用来存放当前不参加运行的大量信息,而在需要时调入内存。
- 按存储器的构成材料区分:
- 磁存储器:用磁介质做成。
- 半导体存储器:
- 根据所用元件:双极型、MOS型。
- 根据数据:静态、动态。
- 光存储器:利用光学方法读/写数据的存储器。
- 按存储器的工作方式:
- 读/写存储器(RAM):既能读取数据也能存入数据。
- 只读存储器
- 固定只读存储器(ROM):内容只能读出,不能改变。
- 可编程的只读存储器(PROM):其中的内容可以由用户一次性地写入,写入后不能改变。
- 可擦除可编程的只读存储器(EPROM):其中的内容既可以读出,也可以由用户写入,写入后还可以修改。
- 电擦除可编程的只读存储器(EEPROM):与EPROM相似,既可以读出,也可以写入,只不过这种。
- 存储器采用电擦除的方式进行数据的改写。
- 闪速存储器(FM):简称闪存,其特性介于EPROM和EEPROM之间,类似于EEPROM。
- 按寻址方式区分:
- 立即寻址:操作数就包含在指令中。
- 直接寻址:操作数存放在内存单元中,指令中直接给出操作数所在存储单元的地址。
- 寄存器寻址:操作数存放在某一寄存器中,指令中给出存放操作数的寄存器名。
- 寄存器间接寻址:操作数存放在内存单元中,操作数所在存储单元的地址在某个寄存器中。
- 间接寻址:指令中给出操作数地址的地址。
- 相对寻址:指令地址码给出的是一个偏移量(可正可负),操作数地址等于本条指令的地址加上该偏移量。
- 变址寻址:操作数地址等于变址寄存器的内容加偏移量。
寻址速度:立即寻址>寄存器寻址>直接寻址>寄存器间接寻址>间接寻址
- 相联存储器是一种按内容访问的存储器。
- 高速缓存的组成部分:控制部分、存储部分
- 高速缓存中的地址映像方法:
- 直接映像:指主存的块与Cache块的对应关系是固定的。优点是地址变换简单,缺点是灵活性差、
Cache块冲突率高。 - 全相联映像:允许主存的任一块可以调入Cache存储器的任何一个块的空间中。优点是Cache块冲突率低、灵活性好,缺点是访问速度慢、地址变换较复杂、成本太高。
- 组相联映像:是前两种方式的折中方案,即组采用直接映像方式、块采用全相联映像方式。
- 直接映像:指主存的块与Cache块的对应关系是固定的。优点是地址变换简单,缺点是灵活性差、
发生块冲突从少到多的顺序:全相联映射–>组相联映射–>直接映射。
- 替换算法:随机替换算法、先进先出算法、近期最少使用算法、优化替换算法。
- 性能分析:
- 命中率是Cache的一个重要指标,但不是最主要的指标。
- Cache的命中率与Cache容量的关系是:容量越大,命中率越高。
- 多级Cache: 在多级Cache计算机中分为 一级(L1Cache),二级(L2Cache) 等。
- 虚拟存储器技术: 是把很大的程序(数据)分成许多较小的块,全部存储在辅存中。运行时把要用到的程序(数据)块先调入主存,并且马上就要用到的程序块从主存调入高速缓存。这样就可以一边运行程序,一边进行所需程序(数据)块的调进或调出。
- 虚拟存储器管理方式:段式虚拟存储器、页式虚拟存储器、段页式虚拟存储器。
- 磁表面存储器: 磁盘存取速度较快,具有较大的存储容量,是目前广泛使用的外存储器。硬盘就是最常见的外存储器。
- 光盘存储器
- 是一种采用聚焦激光束在盘式介质上非接触地记录高密度信息的新型存储装置。
- 根据性能和用途分为:只读型光盘(CD-ROM)、只写一次型光盘(WORM)、可擦除光盘。
- 固态硬盘
1)存储介质:闪存(FLASH芯片)、DRAM。
2)具有传统机械硬盘不具备的读写快速,质量轻,能耗抵以及体积小等特点,但其价格仍较昂贵,容量较地,一旦硬件损坏,数据较难恢复。 - 磁盘阵列是由多台磁盘存储器组成的一个快速,大容量,高可靠的外存子系统,常见的磁盘阵列称为廉价冗余磁盘阵列(RAID)。
1.2.3 输入输出技术
- 直接程序控制是指外设数据的输入/输出过程是在CPU执行程序的控制下完成的。
直接程序控制的两种情况:
- 程序查询方式
- 在此情况下,利用查询方式进行输入/输出,就是通过CPU执行程序来查询外设的状态,判断外设是否准备好接受数据或准备好向CPU输入数据。
- 两大缺点:降低了CPU的效率、对外部的突发事件无法做出实时响应。
- 无条件传送
在此情况下,外设总是准备好的,它可以无条件地随时接受CPU发来的输出数据,也能够无条件地随时向CPU提供需要的输入数据。
- 中断方式:即由程序控制I/O的方法,缺点在于CPU必须等待I/O系统完成数据的传输任务,而且要定期查询I/O系统的状态,确认传输是否完成。因此大大降低了整个系统的性能。
- 中断处理方法:多中断信号线法、中断软件查询法、菊花链法、总线仲裁法、中断向量表法。
- 中断优先级控制:
- 当不同优先级的多个中断源同时提出中断请求时,CPU应优先响应优先级最高的中断源。
- 当CPU在对某一个中断源服务时,有比它优先级更高的中断源提出中断请求,CPU应暂时中断正在执行的中断服务程序而转去对优先级更高的中断源服务,结束后再回到之前被中断的优先级较低的中断源服务程序继续执行,这种情况称为中断嵌套,即一个中断服务程序中嵌套着另一个中断服务程序。
- 直接内存存取(DMA):是指数据在内存与I/O设备间的直接成块传送,即在内存与IO设备间传送一个数据块的过程中,不需要CPU的任何干涉,只需要CPU在过程开始启动(即向设备发出“传送一块数据”的命令)与过程结束(CPU通过轮询或中断得知过程是否结束和下次操作是否准备就绪)时的处理,实际操作由DMA硬件直接执行完成,CPU在此传送过程中可做别的事情。
1.2.4 总线结构
- 一般来说,任何连接两个以上电子元器件的导线都可以称为总线。微机中的总线分为数据总线、地址总线、控制总线。
- 数据总线(DB):用来传送数据信息,是双向的。CPU既可以通过DB从内存或输入设备读入数据,也可以通过DB将内部数据送至内存或输出设备。DB的宽度决定了CPU和计算机其他设备之间每次交换数据的位数。
- 地址总线(AB):用于传送CPU发出的地址信息,是单向的。传送地址总线的目的是指明与CPU交换信息的内存单元或I/O设备,地址总线的宽度决定了CPU的最大寻址能力。
- 控制总线(CB):用来传送控制信号、时序信号和状态信息,双向线表示等。其中有的信号是CPU向内存或外部设备发出的信息,有的信号是内存或外部设备向CPU发出的信息。CB中的每一条线的信息传送方向是单方向且确定的,但CB作为一个整体则是双向的。