3 ms·
The original generations referred to hardware: (1) thermionic valves, (2) transistors, (3) integrated circuits, (4) VLSI. Japan's MITI initiated and funded a
by DonaldFisk 4y ago
The original generations referred to hardware: (1) thermionic valves, (2) transistors, (3) integrated circuits, (4) VLSI. Japan's MITI initiated and funded a project to develop a fifth generation of computers, which were to be highly parallel, but MIMD (Multiple Instruction Multiple Data), specifically dataflow computers, rather than SIMD. The system language for this was to be a Prolog variant, and many of the applications running on fifth generation computers were to be Symbolic AI - expert systems, machine translation, etc.
These generations were later mapped onto software. The first two generations were machine code and assembly language. Prolog and other similarly high-level languages would be fifth generation.
The Japanese Fifth Generation Computer Project was largely unsuccessful, but after it was announced it spurred governments in various countries to start competing projects (e.g. Alvey in the UK).
- zozbot234 4y agoDataflow analysis is commonly used to extract small-scale parallelism for modern superscalar compute - either done by the compiler, or directly in hardware. On a slightly larger scale, high-performance async programming using job-stealing schedule strategies across multiple compute cores can also be viewed as a dataflow approach. So all of this stuff is in fact being commonly used today, a lot more than most people might realize. Your database queries are probably handled via methods quite indistinguishable from much "Symbolic AI" or "expert systems", and parallelization is gaining ground there too.
- DonaldFisk 4y agoYes, I'm aware of this. At the time (early 1980s), the aim was to build machines in which data was sent between separate general-purpose CPUs in a multiple CPU machine. The University of Manchester had a working prototype.
- dehrmann 4y ago> MIMD At that point, why not just have another core?
- jhgb 4y agoMIMD does include today's bog-standard multicore systems.
- notriddle 4y agoMore fine-grained. Because separate cores each have their own cache, and their own program counter, there's a lot of communication overhead between them. When you're using instruction-level parallelism[1], you can actually do stuff like "perform a single add and a single multiply in parallel, then add them together", and the system is designed so that you aren't adding any overhead when you do that. [1]: MIMD instructions are one way of doing this, but the computer you're reading HN on is probably an out-of-order superscalar, which accomplishes the same thing implicitly.
- astrobe_ 4y agoThe language Forth ("fourth" but that's one of these stories where the filesystems of the seventies didn't allow free naming) also refers to hardware evolution, but in the mind of its author it was about hard disks, which for sure were a revolution compared to punch cards and tapes.