linguofreak wrote:
When Multi-CPU systems first showed up, a single CPU didn't even fit on a board. Then came the point where a CPU could finally be squeezed onto a board, and eventually the point where one could be squeezed onto a single chip. Sometime after that, boards with multiple processor slots started showing up, and then, finally, we got to the point where multi-core processors arrived.
Interestingly, one of the first - if not
the first - multiprocessor systems specifically designed for
SIMD processing (that is, applying several processors to a single task, as opposed to 'merely' having more overall throughput for separate tasks) was
ILLIAC IV, a gargantuan collection of 64, then later 128, multi-board minicomputers (the projected design called for four 'quadrants' of 64 CPUs each, though cost overruns led to it being cancelled before the third and fourth quadrants were completed). While it ran from 1972 to 1980, this was at the culmination of a long design phase, with the project originally put forward in
1952.
Note that, according to the Wicked-pedo article,
vector processing systems were also being developed at the same time, which was the line of research which led to the Cyber and eventually Cray supercomputers.
For a brief period, the half-completed system was the fastest computer in the world. While the project was considered a failure, it did contribute to the general understanding of parallel algorithms and operational techniques, some of which are currently applied by modern systems - though mainly in GPUs rather than multi-core CPUs. Much of the work would also go into the
massively parallel designs of the 1980s and early 1990s such as the
Connection Machine, as well as into the
Transputer add-on co-processor systems.
While SIMD, vector, and
systolic array were all competing design approaches in the 1970s, modern CPUs and GPUs apply all three to varying degrees for different workloads.
According to Ted Nelson, in the 1987 commemorative edition of
Computer Lib/Dream Machines, because things such as parallel processing, distributed processing,
hardware capability-addressing based security, and hardware language support (e.g.,
LispMs and the like) were seen by the academic community as the ways forward, they by and large ignored the rise of microprocessors until the hobby community was well established and the commercial and home use of 'microcomputers' began to grow, causing most of them to be blind-sided by the actual big development of the day. I personally can recall the dismissive attitude which many academics - and businesspeople coming out of the IBM sphere of influence, where mainframes were always seen as the 'real' computers and PCs were regarded as overgrown terminals even by those producing them - had towards personal computers even into the 1990s.