FPGA

谈谈GPU与FPGA的一些看法

从几个方面来介绍一下GPU和FPGA。

从峰值性能来说,GPU(10Tflops)远远高于FPGA(<1TFlops)。GPU上面成千上万个core同时跑在GHz的频率上还是非常壮观的,最新的GPU峰值性能可达10TFlops以上。GPU的架构经过仔细设计(例如使用深度流水线,retiming等技巧),在电路实现上是基于标准单元库而在critical path上可以用手工定制电路,甚至在必要的情形下可以让半导体fab依据设计需求微调工艺制程,因此可以让许多core同时跑在非常高的频率。相对而言,FPGA首先设计资源受到很大的限制,例如GPU如果想多加几个core只要增加芯片面积就行,但FPGA一旦你型号选定了逻辑资源上限就确定了(浮点运算在FPGA里会占用很多资源)。而且,FPGA里面的逻辑单元是基于SRAM-查找表,其性能会比GPU里面的标准逻辑单元差好多。最后,FPGA的布线资源也受限制(有些线必须要绕很远),不像GPU这样走ASIC flow可以随意布线,这也会限制性能。

除了芯片性能外,GPU相对于FPGA还有一个优势就是内存接口。GPU的内存接口(传统的GDDR,最近更是用上了HBM和HBM2)的带宽远好于FPGA的传统DDR接口,而众所周知服务器端机器学习算法需要频繁访问内存。

[FPGA]MIPS CPU及ISA设计

CPU

CPU功能简介

该CPU支持32条基础MIPS汇编指令(包含mfc0, mtc0, syscall三条中断相关的特权指令)。支持32位加减运算、逻辑判断、内存操作等操作。

对于各种外设的控制是由lw,sw两条命令对于特定地址空间操作来实现
支持16个中断设备,并且支持中断嵌套。

支持指令

中断

中断相关指令

● 读CP0指令 mfc0 rt, rd : GPR[rt] <= CP0[rd]
● 写CP0指令 mtc0 rd, rt : GPR[rd] <= CP0[rt]

【半导体老兵观点】为什么现在半导体行业中合作伙伴很重要?

作者: Robert Owen
我依然清晰的记得1980年我第一次进入全球最大半导体公司的情景。那个时代很多芯片供应商的座右铭就是“非我发明(not-invented-here)”(指拒绝使用不是自己发明的技术或者产品)。如果这个东西不是自己发明的,则他们会说服大家相信市场也不需要这个东西。

那时半导体公司习惯什么都做从芯片设计、制造到封装甚至到销售环节都介入。他们甚至开发测试软件和EDA软件。
总而言之,那时的芯片供应商做的就是垂直集成,有时甚至开发终端产品,如晶体管收音机、小型电子玩具、计算器以及家庭电脑等。

在这种氛围下,“非我发明(not-invented-here)”现象盛行,但我总有一种感觉这些公司在冒险,然后就出现了一些比较激进的竞争,我开始发现一些习以为常的观念并不靠谱,业界并不很愿意接受我们提供的一些解决方案。我仍然清晰的记得一个案例:我们的一个FAE说他的客户需要更大的RAM供DSP使用,但他却被告知“我们已经集成了足够多的RAM,可以支持所有可以想到的应用”。结果不久就出现了问题,这个客户开发的DSP应用采用的是一种新方式,结果他是需要更大的RAM。

MIPS-Verilog.FPGA

时至今日,终于将全部的计划55条MIPS指令在FPGA上全部验证完毕,通过这近一个月的不断的修改调试、修改调试,我对整个流程对MIPS有了深刻的体会和认识。借着刚刚现阶段任务的兴奋和短暂的空闲时间,将自己这段时间以来的心得体会记录下来,希望可以帮到感兴趣的同学。

首先我想说一下MIPS,最开始接触MIPS时,我还认为是百万指令集的缩写,百度了一下才知道是一家公司名,后来才知道这里所说的MIPS是一种体系结构。说实话,计组原学的不是很好,微机原理学的倒还行。但是对RISC的理解和认识也只是停留在考试题目上,还记得背过的题目IntelXXX系列处理器包含应用了RISC流水线及超标量技术。记不得了。

说句老实话,Intel的指令集我们也学过,根本记不住,指令格式很复杂。相对而言,MIPS的指令格式很清晰。当然,MIPS的寄存器很多,但是用处却很大。

PIC与FPGA的区别在什么地方?

PIC与FPGA的区别在什么地方? 或者说FPGA能做的事PIC可以么?

同步内容
--电子创新网--
粤ICP备12070055号