CMP设计分享 http://blog.sciencenet.cn/u/accsys 没有逆向思维就没有科技原创。 不自信是科技创新的大敌。

博文

软件与硬件并行工作的不同之处

已有 3308 次阅读 2018-6-4 07:46 |个人分类:机器计算|系统分类:科普集锦| 硬件, 软件, 并行运算器

 


姜咏江

很多人都认为,将计算机的软件程序固化在计算机当中,就会使计算机运行的速度加快,实际上远非如此。

电子计算机硬件器件如果没有先后顺序的关系,那么这样的器件之间就可以在通电之后同时工作。这种同时工作的现象又叫并行。由于数据之间有各自独立和前者产生后者的关系,因而处理数据的计算机系统,处理数据的过程必然既有串行,又有并行。

串行与并行处理具体有何不同?举例来说,100位的二进制数中,第153276位是010的数有哪些?简单的方法就是将这2100个数的153276位一一与010比对,从中将满足条件的数找出来。这种顺序比对是一个串行过程,即使用世界上最快的计算机来做,耗时也相当巨大。一个简单的想法就是,如果有2100个比对处理器,每个处理器分配不同的百位二进制数进行比对,那么立即就可以找到所有的结果。前者是串行处理,后者是并行处理。

很显然,这个100位二进制数比对问题由串行转化为并行,是以增加大量的硬件资源为基础的。由于现在计算机众多,出现了计算机群的设计。上面的例子可以用2100个计算机同时来工作,这样耗时的问题一定可以快速解决。真要是将2100个计算机组织成机群,占据的空间之大是可想而知的,这种硬件资源消耗不是什么人都可以承担的。另一种方法,就是设计出简单的并行逐位比较器,来替代庞大的计算机群的工作,这是软件转化为硬件的最佳选择。一般所说的软件并行设计,是在多个处理器存在的计算机中,通过管理计算机处理器进行数据分配,来部分实现并行,数据分配等仍然是串行过程。

SPU处理器个人计算机,不仅能够处理传统的串行工作,而且能够快速地完成庞大的并行工作问题。一个规模如同个人计算机的设备,就可以完成一个庞大机群的工作,其发展前途可想而知。

2018/6/3




https://blog.sciencenet.cn/blog-340399-1117277.html

上一篇:技术的进步常常发生在团队,新的理论诞生基本上由个人完成
下一篇:如此浮躁的国内计算机界如何适应中国梦的需要?
收藏 IP: 36.102.208.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (8 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-3-28 21:07

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部