并发与并行
并行:一组程序按独立异步的速度执行,无论从微观还是宏观,程序都是一起执行的。
并发:在同一个时间段内,两个或多个程序执行,有时间上的重叠(宏观上是同时,微观上仍是顺序执行)
线程级并发:
单处理器系统:实际的计算是由一个处理器来完成的处理器必须在多个任务间切换。
多处理器:将多个CPU集成到一个集成电路芯片上。
多线程:允许一个CPU执行多个控制流的技术,多线程的处理器可以在单个周期的基础上决定要执行哪一个线程
指令级并行:现代处理器可以同时执行多条指令的属性称为指令级并行。
流水线:在流水线中,将执行一条指令所需要的活动划分成不同的步骤,将处理器的硬件组织成一系列的阶段,每个阶段执行一个步骤。这些阶段可以并行地操作,用来处理不同指令的不同部分。
超流水:处理器可以达到比一个周期一条指令更快的执行速率
单指令、多数据并行:处理器拥有特殊的硬件,允许一条指令产生多个可以并行执行的操作,提供这些SIMD指令多是为了提高处理影像、声音和视频数据应用的执行速度