电信网站备案查询,wordpress网站在线安装,地板网站模板免费下载,app推广平台接单渠道在开始前刚好我有一些资料#xff0c;是我根据网友给的问题精心整理了一份「C语言的资料从专业入门到高级教程」#xff0c;
点个关注在评论区回复“888”之后私信回复“888”#xff0c;全部无偿共享给大家#xff01;#xff01;#xff01;
用老石的一句话其实很好说…在开始前刚好我有一些资料是我根据网友给的问题精心整理了一份「C语言的资料从专业入门到高级教程」
点个关注在评论区回复“888”之后私信回复“888”全部无偿共享给大家
用老石的一句话其实很好说明本质cpu运行时固定数据流底层硬件在变化。而fpga运行是固定底层硬件数据流在硬件上流动。我知道很多初学者看到这段并不能理解不是说fpga是可以对硬件进行编程的器件吗为什么运行的时候底层硬件是固定的
这其实跟他们处理数据的思路有关cpu是通过指令集去完成指定操作而fpga实现功能的思路与数字硬件电路一样需要加法器那我就用与非门搭建一个加法器只不过fpga内部就把与或非这些逻辑门用查找表这一个器件替代了查找表本质就是ram这个ram只能通过综合软件进行初始化每次写完程序后使用vivadoquartus综合然后烧录烧录的是什么其实就是给这些查找表赋值确定这些查找表的功能有的查找表根据写的代码可能是加法器减法器数据选择器比较器等等。当工程烧录进fpga之后那fpga内的每个查找表的功能和连接方式其实就已经确定了其实fpga内部的电路就已经确定了后续需要处理的数据只需要从输入端流出到输出端就完成了相关了运算所以说fpga运行是数据流在底层硬件上流动因此速度就很快。
从而也得知编写fpga本质就是搭建数字电路只不过使用查找表替换了与或非这些基本逻辑。比如在学数字电路的时候想要实现两个加法运算怎么做如果不考虑速度那就按顺序执行。如果想电路简单速度快那是不是直接搭两套加法器电路每个电路完成一个加法运算最后把两个电路计算结果使用一个数据选择器选择输出就行了这其实跟fpga的思路是一样的想速度快直接搭两套完全相同的电路实现两个运算即可。
而单核cpu想要完成两组运算怎么办那就只有按顺序一组一组的来了。cpu他需要取址译码等操作每次只能执行一条指令当他取到需要运算的数据后如果要执行加法运算就需要调用底层加法器如果要执行除法就要调用除法器去完成本质是数据固定根据运算类型不同调用底层不同硬件去计算所以速度相对较慢。 当然现在cpu和fpga都已经不是当年那个简单的器件了fpga内部也早就不只有查找表cpu内部运算也进步了但本质的东西还是没变。