浅谈FPGA电脑
0赞转载:http://lych.yo2.cn/articles/%E4%B9%9F%E6%9D%A5%E8%B0%88fpga%E7%94%B5%E8%84%91%EF%BC%81.html
处于我的专业,不谈FPGA计算机是不可能的事——当然这仅仅是我认为,因为好像很多同专业的人都不怎么谈,他们只是讨论FPGA的应用系统,而我一直顽 固 地认为,这就和用P4 CPU来制作数字电视一样浪费。FPGA是一匹千里马,你不应该去拉车磨面,战场才是你最好的归宿。我是说,它应该用来做电脑,对,不是那些尖端研究机构 里的专用机,而是来取代你正在用来看这篇文章的电脑。未来你学校附近的装机小店应该是摆满了印着Xilinx Inside的机箱,天极网上应该讨论Altera比Xilinx更适合玩极品飞车的理由,而看到同学新装了一台电脑,第一个问题仍然应该是:多少兆的? ——当然,这个不是指兆字节内存或主频之类,而是512MLE(兆逻辑单元)。
毫无疑问FPGA是一种远优于冯·诺伊曼结构的计算模式,问 题是它来得太晚了,在这个向下兼容的世界中,存在无比庞大的既得利益,所以这FPGA的革对角绷着黑色命 看上去着实有点渺茫。然而,正因为这是个巨大的商机,世界上为 了这个伟大理想而努力的人们并不是没有,比如美国starbridge、quicksilver等公司,只是他们的局限也显而易见:技术不成熟,缺乏统一 标准,缺乏有影响力的力量支持。——当然这都是废话,因为这是任何新生事物共同的弱点,凭此断定他们没有前途是浅薄的。窃以为,要是有一个真正的因素可能 导致他们的失败,应该就是这个:他们都提供整机的解决方案,就是说立志于一上来就取代整个旧有体制,来个翻天覆地的变化。这导致多种的不适应:比如架设服 务器,对x86/Sparc/Alpha等硬件平台、Unix/Linux/Windows等软件平台熟悉的专家多多,技术成熟,而换了FPGA的产品之 后,你让谁去架设?FPGA工程师不懂服务器,服务器工程师不懂FPGA,整个技术体系陌生,导致维护困难,费尽千辛万苦找到能做的人,而万一他辞职,对 公司会是致命的,就算不辞职,人员方面的成本恐怕也足以抵消采用新技术而得到的优势。换句话说,这些公司推出的产品太过领先于时代,所以难以被时代所接 受。技术的发展不应该突变,而应该渐变。要取代如今固若金汤的冯·诺伊曼架构,从外面几乎是不可能的,或许,一个可行的方法是,从内部入手。
渐变或者从内部入手这些观点其实并不陌生,现在较普遍的观点之一就是,FPGA应该作为CPU的协处理器出现:你的Intel CPU的电脑,在执行不同程序的时候把FPGA配置成不同的专门硬件,你将发现你的电脑不再需要其他各种扩展卡。什么?你的机器不能一边玩极品飞车一边听 高保真音响?怎么提示来着?"逻辑门不足"?再去买一块FPGA卡插在空闲的扩展槽上吧!什么?你的机器只有PII却能顺畅地玩魔兽世界还用最佳效果?当 然,你看我插了多少FPGA卡呢!——当你发现你把CPU拔下来电脑也照样能跑的时候,当你习惯了把BIOS设置成"从FPGA扩展卡启动"的时候,恭 喜,我们的革对角绷着黑色命就发生了!从配角开始,渐渐地"篡权",也许是这个革对角绷着黑色命发生的最好方式吧。当然, 那个时候你也可能就在使用着Intel或AMD品牌的 FPGA卡,也可能听到"Intel因为轻视FPGA而被AMD在这一领域领先"的报道,甚至是"Intel为了打压竞争对手而故意不兼容Xilinx的 FPGA扩展卡"的爆料,谁知道呢?呵呵!
当然即使这样,这个过程也不是那么容易的事。FPGA扩展卡的推广受到以下因素制约:首先必须让 人们明白它是什么,你为什么要用它。电视卡、网卡、SCSI卡之类让人们一眼就看出是干什么用的,可FPGA卡的用途相当模糊。“用来提高运算速度”也许 是最好懂的说法了,但并不全面。另外,其驱动程序的编写,与普通扩展卡的驱动编写恐怕要有本质的不同,可能要求人员受过专业的培训才可以,至少要精通硬件 描述语言,或者那时候已经有了相应的C++语法设施?从《程序员》杂志上刊出《FPGA卡驱动原理简析》到网上铺天盖地的“FPGA驱动菜鸟入门教程”出 现这一段时间,或可以算作一个阶段吧。或者会有一天,初学者们会学着用Verilog写俄罗斯方块游戏,这时候也许也是革对角绷着黑色命成功的另一个标志。
我决定还是不再写了,因为我可以写一部科幻小说,描写FPGA计算机世界里的病毒或者黑客之类,相信会比这篇文章更吸引人一百倍呀一百倍,呵呵!那么,886先~