7.多处理器的基本概念
警告
考基本概念,也就是只考选择题
SISD、SIMD、MIMD
单指令流单数据流结构(SISD)
传统的串行计算机结构,通常仅包含一个处理器和一个存储器,处理器在一段时间内仅执行一条指令,按指令流规定的顺序串行执行指令流中的若干条指令。为了提高速度,有些SISD计算机采用流水线的方式,因此,SISD处理器有时会设置多个功能部件,并且采用多模块交叉方式组织存储器。本书前面介绍的内容多属于SISD结构
单指令流多数据流(SIMD)
一个指令流同时对多个数据流进行处理,一般称为数据级并行技术。这种结构的计算机通常由一个指令控制部件、多个处理单元组成。对循环处理数组最有效。
多指令流单数据流(MISD)结构
MISD是指同时执行多条指令,处理同一个数据,实际上不存在这样的计算机
多指令流多数据流(MIMD)结构
MIMD是指同时执行多条指令分别处理多个不同的数据,MMD分为多计算机系统和多处理器系统。
硬件多线程的基本概念
在支持硬件多线程的CPU中,必须为每个线程提供单独的通用寄存器组、单独的程序计数器等,线程的切换只需激活选中的寄存器,从而省略了与存储器数据交换的环节,大大减少了线程切换的开销

多核处理器的基本概念
- 多核处理器是指将多个处理单元集成到单个CPU 中,每个处理单元称为一个核 (core)。每个核可以有自己的 Cache,也可以共享同一个Cache。所有核一般都是对称的,并且共享主存储器,因此多核属于共享存储的对称多处理器
- 在多核计算机系统中,如要充分发挥硬件的性能,必须采用多线程(或多进程)执行,使得每个核在同一时刻都有线程在执行。
- 多核上的多个线程是在物理上并行执行的,是真正意义上的并行执行,在同一时刻有多个线程在并行执行。而单核上的多线程是一种多线程交错执行,实际上在同一时刻只有一个线程在执行。
通过一个例子来理解相关的概念。假设要将四颗圆石头滚到马路对面,滚动每颗石头平均需花费1分钟。串行处理器会逐一滚动每颗石头,花费4 分钟。拥有两个核的多核处理器让两个人去滚石头,即每人滚两颗,花费2分钟。向量处理器找到一根长木板,放在四颗石头后面, 推动木板即可同时滚动四块石头,理论上只要力量够大,就只需要1分钟。多核处理器相当于拥有多名工人,而向量处理器拥有一种方法,可以同时对多件事进行相同的操作。
超线程技术
超线程技术(HT)是在一个 CPU 中,提供两套线程处理单元,让单个处理器实现线程级并行。虽然采用超线程技术能够同时执行两个线程,但是当两个线程同时需要某个资源时,其中一个线程必须暂时挂起,直到这些资源空闲后才能继续运行。因此,超线程的性能并不等于两个 CPU 的性能。而且,超线程技术的 CPU 需要芯片组、操作系统(如Windows 98 不支持超线程技术)和应用软件的支持,才能发挥该项技术的优势。双核技术是指将两个一样的 CPU 集成到一个封装内(或者直接将两个 CPU 做成一个芯片),而超线程技术在 CPU 内部仅复制必要的线程资源来让两个线程同时运行,能并行执行两个线程,模拟实体双核心。
