|||
姜咏江
很多人都认为,将计算机的软件程序固化在计算机当中,就会使计算机运行的速度加快,实际上远非如此。
电子计算机硬件器件如果没有先后顺序的关系,那么这样的器件之间就可以在通电之后同时工作。这种同时工作的现象又叫并行。由于数据之间有各自独立和前者产生后者的关系,因而处理数据的计算机系统,处理数据的过程必然既有串行,又有并行。
串行与并行处理具体有何不同?举例来说,100位的二进制数中,第15、32、76位是010的数有哪些?简单的方法就是将这2100个数的15、32、76位一一与0、1、0比对,从中将满足条件的数找出来。这种顺序比对是一个串行过程,即使用世界上最快的计算机来做,耗时也相当巨大。一个简单的想法就是,如果有2100个比对处理器,每个处理器分配不同的百位二进制数进行比对,那么立即就可以找到所有的结果。前者是串行处理,后者是并行处理。
很显然,这个100位二进制数比对问题由串行转化为并行,是以增加大量的硬件资源为基础的。由于现在计算机众多,出现了计算机群的设计。上面的例子可以用2100个计算机同时来工作,这样耗时的问题一定可以快速解决。真要是将2100个计算机组织成机群,占据的空间之大是可想而知的,这种硬件资源消耗不是什么人都可以承担的。另一种方法,就是设计出简单的并行逐位比较器,来替代庞大的计算机群的工作,这是软件转化为硬件的最佳选择。一般所说的软件并行设计,是在多个处理器存在的计算机中,通过管理计算机处理器进行数据分配,来部分实现并行,数据分配等仍然是串行过程。
SPU处理器个人计算机,不仅能够处理传统的串行工作,而且能够快速地完成庞大的并行工作问题。一个规模如同个人计算机的设备,就可以完成一个庞大机群的工作,其发展前途可想而知。
2018/6/3
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-21 22:20
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社