几十年来,软件开发人员受益于能够使用相同的软件代码,同时使用日益强大的硬件。由于硬件制造商经常通过提高晶体管密度和时钟速度来改善半导体的性能,软件开发享受了“免费便车”——他们能够在这些新设备上开发,而无需改变软件架构。
然而,由于增加的时钟速度的限制,处理能力遇到了瓶颈。因此,芯片制造商一直在转向戏剧性的新方法来实现进一步的性能提升。首先是超线程和同构架构,然后是异构的多核架构。为了从这些硬件更改中获益,现有的软件必须并行化和修改,以处理异构性。
几十年来,软件开发人员受益于能够使用相同的软件代码,同时使用日益强大的硬件。由于硬件制造商经常通过提高晶体管密度和时钟速度来改善半导体的性能,软件开发享受了“免费便车”——他们能够在这些新设备上开发,而无需改变软件架构。
然而,由于增加的时钟速度的限制,处理能力遇到了瓶颈。因此,芯片制造商一直在转向戏剧性的新方法来实现进一步的性能提升。首先是超线程和同构架构,然后是异构的多核架构。为了从这些硬件更改中获益,现有的软件必须并行化和修改,以处理异构性。