- 积分
- -14
- 下载分
- 分
- 威望
- 点
- 原创币
- 点
- 下载
- 次
- 上传
- 次
- 注册时间
- 2017-10-31
- 精华
|
21#
发表于 2018-4-12 10:59:00
|
只看该作者
来自: LAN 来自 LAN
导致这一方案被提出的根源是来自于CPU和FPGA两者的架构。
CPU:冯诺依曼结构,采用标准的指令,基本的运算器,共享的存储器,总线这些标准设备组成。目的是采用可大量复制的同架构硬件配合无限灵活的软件来完成无限多种类的工作。
这好比是手工作坊,给你足够多的通用工具,只要给你提供详细的图纸便可以制造出任何产品。但你的每一个步骤都需要完成以下的工作:放下当前的工件,取来工具,查看图纸的当前要求,使用该工具加工零件,放回工具,完成该步的零件组装或将当前零件暂时存放到临时货架,下一个零件。而这一步里面唯一的核心价值是——使用该工具加工零件。
FPGA: 本质上是可编程逻辑门和寄存器,可编程连接线,片内的DSP和RAM资源组成的集合。通过编程可以形成无限可能(只要硬件资源足够丰富)的数字电路。
继续以制造产品来举例。如果设计得当,那么原则上你可以设计出针对某一个产品的自动化生产线,每一个工序所需的工具和图纸已经完全准备完毕,只需要产品顺着流水线到达该工序的时候进行相应的加工操作,有需要暂时存放的半成品的也会进入专用货架等待取用。
相比之下,流水线方式可以省去所有的工具准备(调用运算器)、图纸查看(获取指令和数据)、半成品暂存(运算结果暂存),中间所有的行动损耗(总线消耗)。所以不言而喻,像生产流水线一样的数字电路集合能够获得高得多的处理效率和少得多的能量消耗。
FPGA与ASIC的巨大不同在于,ASIC是预先设计好的固定电路;而FPGA只要通过重配置便可在几百毫秒内变身为另外一套电路,以不变(同架构硬件)应万变。
微软现在的打法就是注意到了FPGA的原始价值,以同架构的FPGA加速板卡作为CPU进行复杂大负荷运算的加速器,以不同的FPGA软配置来获得足够丰富的灵活性,功能性。CPU做复杂逻辑判断和任务调度,FPGA做高速高负荷的多样性运算加速。 |
|