计算机组成原理的学习笔记(11)--CPU·其三 中断和异常多处理器相关概念
1. 中断
中断的基本概念
中断是计算机用于处理异步事件的重要机制,可打断当前指令的执行,切换到对应的中断服务程序进行处理。
工作流程分为以下阶段:
中断响应:保存断点、关闭中断、切换到中断处理程序。
保护现场:保存被中断程序的状态(如寄存器等)。
中断服务:执行特定中断处理程序。
恢复现场:恢复被中断程序的状态。
中断返回:返回断点,继续原程序执行。
中断与异常
中断:由外部设备或硬件请求触发,如 I/O 设备的完成信号。
异常:由程序执行中的内部事件触发,如除零错误或非法指令。
中断屏蔽技术
定义:通过控制中断优先级和屏蔽特定中断信号,确保关键任务不被打断。
实现方式:
屏蔽字寄存器:用寄存器的每一位代表某类中断,当该位置 1 时屏蔽对应中断。
优先级控制:高优先级中断可以打断低优先级中断。
应用:
用于处理多重中断,确保关键任务先执行。
在屏蔽低优先级中断的同时,允许高优先级中断响应。
2. 多处理器相关概念
1. 费林分类法
计算机科学家迈克尔·费林根据 指令流 和 数据流 的并行性将计算机体系结构划分为四类:
SISD(单指令流单数据流):
普通的串行执行结构,如单核处理器。
CPU 同时只能执行一条指令并处理一条数据。
SIMD(单指令流多数据流):
单条指令同时对应多个数据,实现数据并行。
常用于矢量处理器、GPU 等。
MISD(多指令流单数据流):
多条指令对同一数据进行处理,实际应用较少。
MIMD(多指令流多数据流):
多条指令处理多个不同的数据,实现最高程度的并行。
应用于多核处理器、集群等。
单数据流多数据流单指令流
SISD
SIMD
多指令流
MISD
MIMD
2. SIMD 和向量处理器
SIMD(单指令流多数据流):
同一个指令控制多个执行单元处理不同数据。
程序设计风格接近串行,但要求数据高度同构。
向量处理器:
实现 SIMD 架构的一种方式。
将数据从主存加载到 向量寄存器,通过流水线对寄存器中的数据执行操作,并将结果存回主存。
3. 硬件多线程
定义:通过在硬件层面支持多个线程并行执行,充分利用处理器资源。
实现方式:
细粒度多线程:
每执行一条指令后切换到另一个线程。
避免单线程停顿导致的资源浪费。
粗粒度多线程:
在高开销停顿(如缓存失效)时切换线程。
减少流水线切换带来的开销。
同时多线程(SMT):
在单处理器内同时执行多个线程,结合多发射和动态调度技术,实现指令级和线程级并行。
典型技术:英特尔的超线程技术(Hyper-Threading)。
4. 多核处理器
定义:在一个芯片上集成多个核心(core),每个核心可独立执行任务。
特点:
每个核心有自己的寄存器和 L1/L2 缓存。
多个核心共享 L3 缓存和主存。
支持硬件多线程技术,可进一步提升性能。
逻辑内核与物理内核:
逻辑内核:硬件多线程技术下的虚拟核心。
物理内核:实际存在的核心。
5. 共享内存多处理器(SMP)
定义:多个处理器共享统一的物理地址空间。
通信方式:通过共享变量。
类型:
UMA(统一内存访问):
所有处理器对内存访问的延迟相同。
NUMA(非统一内存访问):
每个处理器有本地内存,访问本地内存更快。
访问其他处理器的内存会有额外开销。
6. MPP
定义:每个处理器拥有独立的资源和地址空间,通过显式消息传递通信。
特点:
更好的并行性和可扩展性。
各处理器完全独立,资源不共享。
7. 集群
定义:通过网络将多个独立计算机节点组成一个并行系统。
特点:
每个节点有独立资源。
通信通过网络传递消息。
是分布式系统和大数据技术的重要基础。
最后更新于