感悟:FPGA的并行处理与PC的多线程处理
前言
FPGA的并行设计是其高速处理的核心之一, 通过并行地处理大量的数据实现预期的功能;
PC的多线程设计则是处理大量的内容而衍生出的一种处理方式, 其本质是利用CPU的高速处理能力, 将单个线程以难以察觉的速度处理, 从而实现多线程的稳步运行;
两者的目标有所不同, 实现的手段也是存在差异;
内容
FPGA的并行处理
FPGA的并行处理依靠的是数字电路的时钟构建的时序, 通过时钟不停地触发不同地模块, 实现数据按照预期地目标推进; 期间各个模块地推进只通过信号进行控制, 不依赖于其他地资源;
这种处理模式, 可以保证FPGA的并行是实时且不干扰的发生的, 从而达到处理效率的提升; 换言之, FPGA处理的数据量取决于逻辑资源的量, 处理的速度取决于时钟及对应的时序资源;
这样做的好处显而易见, 速度可以随着资源的增加而快速提升; 与之对应的缺点是资源利用率的降低; FPGA中的逻辑资源一旦确定, 就无法修改, 也就是说其他模块无法调用已经分配的
逻辑资源;
PC的多线程处理
PC的CPU属于ASIC, 通过各种版图构建的高速处理模块; 一般而言, ASIC的时钟及时序要远高于FPGA; ASIC可以在设计时对时序进行MOS层次的优化, 所能实现的效果是FPGA将时序以
固定的模块约束所不能比的; CPU每个模块的资源是固定的, 在设计之初就将所有的资源按照需求进行了完整的分配, 在底层逻辑及操作系统的控制下, 硬件资源进行高速地处理;
目前地多核技术可以提高数据地处理速度, 但是操作系统还是需要按照指令进行解析, 所有底层的执行逻辑还是单线程的; 利用单线程的高速处理能力, 实现多个短时任务的合并处理;
PC的优势在于资源利用率高, CPU可以将大量的重复操作交给指定的模块, 实现资源的高效利用; 其缺点在于过早固化的硬件难以满足一些特定的情形, 比如高并发数据的处理;
两者对比
FPGA追求硬件的灵活性, 利用硬件的并发处理能力处理特定的需求;
PC追求软件的速度, 利用硬件的重复利用提高处理的能力, 满足大部分的需求;
一般而言, FPGA中比较常用的模块会慢慢转化为一些专用模块, PC中一些比较极端的需求也会以独立的芯片脱离出CPU;
两者在专用和通用的两面发挥重要的作用;
总结
对比, 才能知道优劣所在;
感悟:FPGA的并行处理与PC的多线程处理的更多相关文章
- FPGA IN 金融领域
何为金融: 金融指货币的发行.流通和回笼,贷款的发放和收回,存款的存入和提取,汇兑的往来等经济活动.金融(FIN)就是对现有资源进行重新整合之后,实现价值和利润的等效流通. 金融主要包括银行.证券.基 ...
- PCIE_DMA实例四:xapp1052在Xilinx 7系列(KC705/VC709)FPGA上的移植
PCIE_DMA实例四:xapp1052在Xilinx 7系列(KC705/VC709)FPGA上的移植 一:前言 这段时间有个朋友加微信请求帮忙调试一块PCIe采集卡.该采集卡使用xilinx xc ...
- AC6102开发板USB3.0测试和使用说明
AC6102开发板USB3.0测试和使用说明 概述 AC6102上集成了一颗Cypress 推出的高性能USB3.0传输芯片CYUSB3014,Cypress称之为EZ-USBFX3.该芯片性能强劲, ...
- 串口发送浮点型数据及int(2个字节)long int(4个字节)的方法
方法一: 直接把float数据拆分为4个unsigned char(由于数字没法拆分,所以只能用指针的),发过去,在合并为float. 其中有两点要注意. (1)大端存储,小端存储:如果搞错读取数据就 ...
- Virtex6 PCIe 超简版基础概念学习(二)
Virtex6 PCIe 超简版基础概念学习(二) 分类:FPGAPCIe (2081) (0) 举报 收藏 文档版本 开发工具 测试平台 工程名字 日期 作者 备注 V1.0 ise14.7 ...
- USB3.0测试和使用说明
概述 AC6102上集成了一颗Cypress 推出的高性能USB3.0传输芯片CYUSB3014,Cypress称之为EZ-USBFX3.该芯片性能强劲,功能强大,接口简单,非常适合用于各种需要高速数 ...
- 基于FPGA的红外遥控解码与PC串口通信
基于FPGA的红外遥控解码与PC串口通信 zouxy09@qq.com http://blog.csdn.net/zouxy09 这是我的<电子设计EDA>的课程设计作业(呵呵,这个月都拿 ...
- PC和FPGA间的串口通信实现
应用笔记 V1.0 2015/03/26 PC和FPGA间的串口通信实现 概述 本文将介绍PC和FPGA间的串口通信实现的基本思路和Verilog代码,对于通信而言,收发双方都要有相应的控制. ...
- 如何保证FPGA PCIe唤醒能满足PC的100ms 的时间要求(Autonomous Mode)?
原创By DeeZeng [ Intel FPGA笔记 ] PC 需要PCIe设备在 100ms 内启动,这样PC 才能扫描到PCIe 设备.对于 FPGA PCIe 板卡,同样也需要满足这个时间要 ...
- PHP PC端接入支付宝和微信感悟
想着中秋节的时候把异步线程学习完,同事说有个PHP的支付要帮忙做一下,虽然中秋节计划是把C#的异步学完,不过还是喜欢挑战,好久没有像大学一样这么认真的熬夜解决问题了.由于在大学学过asp,它和php有 ...
随机推荐
- 延时队列 DelayQueue
当用户超时未支付时,给用户发提醒消息.另一种场景是,超时未付款,订单自动取消.通常,订单创建的时候可以向延迟队列种插入一条消息,到时间自动执行.其实,也可以用临时表,把这些未支付的订单放到一个临时表中 ...
- CORS就是跨域吗?
首先,跨域的域是什么? 跨域的英文是:Cross-Origin. Origin 中文含义为:起源,源头,出生地. 在跨域中,"域"指的是一个 Web 资源(比如网页.脚本.图片等) ...
- Redis能保证数据不丢失吗?
大家即使没用过Redis,也应该都听说过Redis的威名. Redis是一种Nosql类型的数据存储,全称Remote Dictionary Server,也就是远程字典服务器,用过Dictionar ...
- 【Android 逆向】【攻防世界】人民的名义-抓捕赵德汉1-200
1. 这一题下载下来是个jar文件,感觉很android关系不大,但还是放在了mobile这个分类下了 2. 直接java jar运行,提示需要输入密码 # java -jar 169e139f152 ...
- 具备有效期的sessionStorage存储
具备有效期的sessionStorage存储 类方式 // 具备有效期的sessionStorage存储-类方式. class SessionStorageWrapper { // 存储数据到sess ...
- java怎么打印一个对象的内存地址
在Java一般使用HashCode来代表对象的地址,但是两个相同的对象就不行了,两个相同的对象的hashcode是相同的. 如果要对比两个相同的对象的地址可以使用,System.identityHas ...
- SVN培训笔记(下拉项目、同步修改、添加文件、修改文件、删除文件、改名文件等)
前言 为了方便新加入团队的员工熟悉团队协作开发. 为了将好东西整理分享给有需要的网友. 将SVN内部员工培训文档公开,以方便更多的人,提高知识获取速度,尽快熟悉协同开发. 本文档培训员工对于 ...
- 用random.simple来解决从0-99这100个数中随机取10个不重复的数
语法: random.simple(list,k) 返回以长度为k的新列表,新列表存放list所产生k个随机不重复的元素 import random print(random.simple(range ...
- 【Azure Fabric Service】Service Fabric 托管群集通过 Connect-ServiceFabricCluster 连接时候报错 CertificatedNotMatched
问题描述 Service Fabric 托管群集, 使用Key Vault中证书,把证书导入到本地安装后,使用该证书的 Thumbprint 作为指令 Connect-ServiceFabricClu ...
- 使用beyond compare或kompare作为git的对比、合并工具
两种方法 方法1: 直接使用命令 # 执行下面命令,参看支持对比合并工具名称,比如bc就是指beyond compare(收费软件,推荐使用开源的kompare) $ git difftool --t ...