📜  并行系统中的处理器

📅  最后修改于: 2020-12-13 15:20:29             🧑  作者: Mango


在80年代,一种特殊用途的处理器流行于制造称为Transputer的多计算机。晶片机由一个核心处理器,一个小型SRAM存储器,一个DRAM主存储器接口和四个通信通道组成,所有这些器件都集成在一个芯片上。为了进行并行计算机通信,连接了通道以形成Transputers网络。但是它缺乏计算能力,因此无法满足并行应用程序不断增长的需求。 RISC处理器的开发解决了这个问题,而且价格便宜。

现代并行计算机使用微处理器,该微处理器在多个级别使用并行性,例如指令级并行性和数据级并行性。

高性能处理器

RISC和RISCy处理器主导着当今的并行计算机市场。

传统RISC的特点是-

  • 寻址方式很少。
  • 具有固定的指令格式,通常为32位或64位。
  • 具有专用的加载/存储指令,以将数据从存储器加载到寄存器以及将数据从寄存器存储到存储器。
  • 算术运算始终在寄存器上执行。
  • 使用流水线。

如今,大多数微处理器都是超标量的,即在并行计算机中使用多个指令流水线。因此,超标量处理器可以同时执行多个指令。超标量处理器的有效性取决于应用程序中可用的指令级并行度(ILP)的数量。为了保持流水线填充,硬件级别的指令以与程序顺序不同的顺序执行。

许多现代微处理器使用超级流水线方法。在超级流水线中,为了增加时钟频率,可以减少流水线级内完成的工作,并增加流水线级数。

超大型指令字(VLIW)处理器

这些来自水平微编程和超标量处理。 VLIW处理器中的指令非常大。单个指令内的操作并行执行,并转发到适当的功能单元执行。因此,在提取VLIW指令后,其操作将被解码。然后,将操作分派到并行执行的功能单元中。

向量处理器

向量处理器是通用微处理器的协处理器。向量处理器通常是寄存器-寄存器或存储器。提取并解码向量指令,然后对操作数向量的每个元素执行特定操作,而在常规处理器中,向量操作需要代码中的循环结构。为了使效率更高,矢量处理器将多个矢量运算链接在一起,即,一个矢量运算的结果作为操作数转发到另一矢量运算。

快取

高速缓存是高性能微处理器的重要元素。每隔18个月,微处理器的速度就会提高一倍,但是用于主存储器的DRAM芯片无法与之匹敌。因此,引入了缓存来弥合处理器和内存之间的速度差距。高速缓存是快速而小型的SRAM存储器。在现代处理器中应用了更多的缓存,例如转换后备缓冲区(TLB)缓存,指令和数据缓存等。

直接映射缓存

在直接映射的缓存中,“模”函数用于将主内存中的地址一对一映射到缓存位置。由于同一高速缓存条目可以具有映射到其上的多个主内存块,因此处理器必须能够确定高速缓存中的数据块是否为实际需要的数据块。通过将标签与高速缓存块一起存储来完成此标识。

完全关联缓存

完全关联的映射允许将缓存块放置在缓存中的任何位置。通过使用某些替换策略,高速缓存确定用于存储高速缓存块的高速缓存条目。完全关联的缓存具有灵活的映射,可以最大程度地减少缓存项冲突。由于完全关联的实现很昂贵,因此永远不会大规模使用它们。

集关联缓存

集关联映射是直接映射和完全关联映射的组合。在这种情况下,将高速缓存条目细分为高速缓存集。与直接映射一样,内存块到高速缓存中的集合有固定的映射。但是在高速缓存集中,内存块以完全关联的方式映射。

缓存策略

除了映射机制外,缓存还需要一系列策略,这些策略指定在某些事件下应该发生的情况。对于(集合)关联缓存,缓存必须确定要用进入缓存的新块替换哪个缓存块。

一些著名的替换策略是-

  • 先进先出(FIFO)
  • 最近最少使用(LRU)