并行是提高内核性能最主要的方法,并行可以分为时间并行和空间并行,空间并行又可分为指令并行、数据并行和线程并行。
现代处理器,都是这几种并行结构的混合体。
在空间并行的3种类型中,
(1)指令并行和数据并行是底层并行,更多的由处理器或编译器实现。
(2)线程并行是高层的并行,硬件只是提供支持,并行由程序员实现。
超标量并行不需要程序员干预,VLIW和数据并行通常需要程序员协助编译器优化以获得更好的并行性。
线程并行几乎完全靠程序员根据应用来决定并行性,某些并行编程平台能帮助程序员更方便的编写多线程程序。
发展空间:
指令并行和数据并行受到处理器结构限制,已经基本成熟,线程并行由于可利用的信息更多,并行空间更大,是未来处理器设计和程序设计的重点。