zhiweiqiang33 发表于 2014-7-29 11:26:57

可编程能力出现了两个极端

在可编程技术发展的最初阶段,可编程能力出现了两个极端。一个极端的代表是单核CPU和DSP单元。这些器件使用含有一系列可执行指令的软件来进行编程。对于编程人员,在概念上以连续的方式来开发这些指令,而高级处理器能够对指令重新排序,在运行时从这些连续程序中提取出指令级并行处理操作。作为对比,可编程技术另一极端的代表是FPGA。通过开发可配置硬件电路对这些器件编程,完全并行执行。使用FPGA的设计人员实际上是大规模开发粒度非常精细的并行应用。多年以来,这两个极端同时存在,每一类型的可编程功能适用于不同的应用领域。但是,最近的技术发展趋势表明,有更好的技术同时实现了可编程和并行处理操作。

软件可编程器件的第二种趋势是复杂硬件的出现,从顺序程序中提取出指令级并行处理操作。单核体系结构输入指令流,在器件中执行它们,这些器件会有很多并行功能单元。处理器硬件的很大一部分必须专门用于从顺序代码中动态提取出并行处理操作。此外,硬件还会尝试去补偿存储器延时。一般而言,编程人员开发程序时没有考虑处理器的底层存储器结构,好像只有大规模的统一快速存储器。相比较而言,处理器必须处理实际延时,以及与外部存储器的有限带宽链接。为保持功能单元能够传送数据,处理器必须从外部存储器中预先获取数据,放入片内高速缓存中,这样,数据更接近要进行计算的地方。使用这些技术,性能经过多年的提高后,这类体系结构的改动已经不大了。

页: [1]
查看完整版本: 可编程能力出现了两个极端