EEVblog Electronics Community Forum

General => General Technical Chat => Topic started by: aqarwaen on March 25, 2023, 09:47:35 pm

Title: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: aqarwaen on March 25, 2023, 09:47:35 pm
so my question is why did 70/80/90 only have 1 cpu if cpus where so slow?if i understand most computer only had 1 single main cpu.
for example why it was possible use for example multiple Intel 4004
instead single main cpu to make faster computers.
if money was not issue,what would prevent 4 same cpus running in single system?
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: DavidAlfa on March 25, 2023, 09:53:47 pm
Money was definitely an issue!
Technology was very primitive, slow buses, limited complexity...
Multicore systems existed, but only on very expensive mainframes.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: abeyer on March 25, 2023, 10:11:42 pm
if money was not issue,what would prevent 4 same cpus running in single system?

As pointed out already, money absolutely was an issue. You could buy multiprocessor machines but they were expensive. (the CM-1 was commercially available in the mid-80s with up to 64k individual processors... but it wasn't exactly competing in the same market as a 4004  :-DD)

Also, you can't just throw two cpus on the same memory bus and let them duke it out. They need to be designed to share a bus, or need to have separate memory spaces and some sort of communications channel. Either way adds hardware and software complexity and cost.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: nightfire on March 25, 2023, 10:16:38 pm
Back in the 90s, I was diving deeper into computing, and was in '99 proud owner of a Tyan Tomcat 4 with dual Pentium 233MMX and a whopping 128 MB RAM.
Was able to run only under Windows NT and later FreeBSD- where I had to compile myself the SMP kernel.

The SMP stuff was mostly the issue: It required some additional hardware, the hardware designers really had to be careful about timings of the various components, and then came the big issue: The software.
Most operating systems were not suited for SMP, and those that were, imposed quite a overhead over the operations there. Like having global locks for interrupts from the network card etc.
So usually the 2nd CPU gave about 50% performance increase, and 4-way boards in servers were only deemed fit for database operations, where massive parallelization of queries in big databases could be made.
Also the user software had to be fit for SMP to have some real performance boost, otherwise one would only have the advantage of being able to run a few more singlethreaded programs on the box simultaneously.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: Kleinstein on March 25, 2023, 10:24:19 pm
Using more than 1 CPU needs extra effort. This is extra hardware to transfer data and also extra support from the OS or compiler to actually use more than 1 CPU. So the return for more than 1 CPU is not that great. AFAIR Linux only started to support more than 1 CPU core from around 2000 on and initially the support was somewhat limited. So much software could not use a 2nd CPU, even if present.
Even today 2 CPUs does not mean 2 x the speed.

There were a few systems with more than one CPU. A have an old CPU board with 2 x MOS6502A from the early 1980s / late 70s  (from a Comodore external dual floppy like 4040). So there were a few cases using more than 1 CPU, but that was more like the exception for a special task. AFAIK it is a somewhat crazy system with 2 CPUs capable of 2 MHz run at 1.5 MHz interleaving the access to a common memory (at least the RAM, the ROM part could be separate).
Other computers had 2 different CPUs like 6502 and Z80 to run different software, but usually not at the same time.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: Bud on March 25, 2023, 11:10:06 pm
Jack Tramiel, the head of Commodore, said "I build computers for the masses, not for the classes".
Does this explain ?
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: rstofer on March 25, 2023, 11:30:54 pm
A couple of the Control Data CPUs had multiple processors.  The most powerful was CDC 6500, released in 1967.  In addition to 2 processors, it had 10 peripheral units to handle primarily IO and such but could also execute user code.

https://en.wikipedia.org/wiki/CDC_6000_series

There were later series like the 7600 and the 7700 was just two 7600s running together.  Very expensive!

Yes, they were expensive since a single flop probably required 2 discrete transistors.  Sixty bit registers were expensive.

Core memory wasn't very fast and it seriously limited the speeds for early machines.

I understand the Apple M2 Max chip has over 67 BILLION transistors on the chip.  I have one and it seems to scoot pretty well.

https://9to5mac.com/2023/01/31/m2-pro-max-vs-m1-pro-max

Can you even imagine a discrete implementation?
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: Benta on March 25, 2023, 11:33:16 pm
"why did 1930's Ford A not have turbocharging?"
"why did "Spirit of St. Louis" not have jet engine?"
I get a feeling of some chatbot here...
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: floobydust on March 26, 2023, 03:56:04 am
In that era memory was also quite slow, expensive, and DRAM needs refresh - all of which gets in the way when you add cores.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: SiliconWizard on March 26, 2023, 04:02:43 am
Plus, multi-CPU designs with the CPUs they had back then was highly inefficient anyway, due to bottlenecks everywhere, from busses to RAM to a lot of other stuff, plus very few software developers who could have used that well.

That said, some even modest machines had two CPUs, like a main CPU and a secondary one for peripherals and such. But each was dedicated to its own tasks rather than potentially sharing the same tasks like we do now.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: Brumby on March 26, 2023, 07:17:33 am
... you can't just throw two cpus on the same memory bus and let them duke it out.
I didn't get past the title of this thread before this thought was screaming around my head.

Quote
They need to be designed to share a bus, or need to have separate memory spaces and some sort of communications channel. Either way adds hardware and software complexity and cost.
Indeed.

Asking this question is, as others have stated, an indication that there is a distinct lack of understanding on how technology evolves.

You could just as well ask why the Sopwith Camel didn't have a delta wing design.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: Kleinstein on March 26, 2023, 09:36:19 am
Many of the early private computers in the 1970s/1980s were not really made to be fast. E.g. they still sold lots of 1 MHz 6502 systems when a 2 MHz version was available for not much more money.  Adding a 2nd CPU add much most complications (e.g. SW compatibility) than just increasing the clock. So a faster clock was the more obvious way to more speed, not a 2nd parallel running CPU.

Sharing a single task over 2 or more CPUs is by no means easy from the software side. Even now only some software can make real use of mulitple CPUs is the modern PCs.
Without the SW support the second CPU is pretty useless and only adds costs and complications.
The early mainframes with multiple CPUs often did separate tasks (e.g. different users) on the added CPUs, as this was the easier part and the coputers were anyway shared between users.

To a certain degree I am wondering why the modern PCs do so many jobs with the main CPUs and not split of more tasks to dedicated parts. It would part with the old PC architecture, but it may be about time for that.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: Siwastaja on March 26, 2023, 10:29:02 am
For the same reason multicore performance still sucks: it is very hard to write truly parallel (efficient at that) programs. People think in "do this, then do that" sequences, and reflect this thinking in programming languages. In order to get any advantage of multiple CPUs, you need to write programs like "do this, and simultaneously do that", and the problem then is getting everyone do useful work all the time and not just wait for others to finish their part of the result.

It was way easier to just push performance up, to get job done earlier, so that next job can be started earlier; giving illusion of things being finished simultaneously. Only after physical limitations of how fast things can be done were hit, we had to start thinking how to do things simultaneously.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: m k on March 26, 2023, 11:45:31 am
if money was not issue,what would prevent 4 same cpus running in single system?

Check transputer.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: tooki on March 26, 2023, 02:47:53 pm
so my question is why did 70/80/90 only have 1 cpu if cpus where so slow?if i understand most computer only had 1 single main cpu.
for example why it was possible use for example multiple Intel 4004
instead single main cpu to make faster computers.
if money was not issue,what would prevent 4 same cpus running in single system?
Gotta love questions that start with a premise that isn't even necessarily true, coming from the place of "I don't know anything about that topic, so I'll just make assumptions based on thin air".

Note that the question just said "computer", not "personal computer", so this query technically includes minicomputers, servers, and mainframes, which commonly did have multiple processors.

So there were multiprocessor systems back then, but they were expensive. Very expensive. Thus, "if money was not an issue" then very little prevented one from getting a multiprocessor system back then.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: mendip_discovery on March 26, 2023, 04:00:24 pm
They existed, mostly on servers. I remember Apple had them on the G4 machines in the early 2000s and it's how they were able to outperform the windoes PCs for graphics for a while. It wasn't cheap. The cpu was always one of the more expensive parts and I remember having a 200mhz Citrix and a few years later the processor speeds had jumped so we were often quite happy with the speed as things moved quite quickly. We also had software and a OS that was rather efficient, not like all the bloat we have now.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: BillyO on March 26, 2023, 04:20:28 pm
In the 70's Ohio Scientific had the C3.  It had 3 processors.  I'm sure there were others.

In the 80's DEC had many systems with multiple processors (VAX clusters) and even had a PC, the DEC Rainbow 100 that had 2 processors.

By the 90's there were multi-processor systems all over the place and they were quite common.  In 1998 I had a Dell machine under my desk that had two Pentium II processors in it.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: alm on March 26, 2023, 04:43:30 pm
As a research project, the massively parallel (designed for 256 CPUs, but built with 64 CPUs) ILLiAC IV (https://en.wikipedia.org/wiki/ILLIAC_IV) was already conceived in the fifties, designed in the sixties and delivered in the seventies. although not a successful project on its own, this certainly inspired other development of large multi-processor systems.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: xrunner on March 26, 2023, 04:57:16 pm
so my question is why did 70/80/90 only have 1 cpu if cpus where so slow?if i understand most computer only had 1 single main cpu.
for example why it was possible use for example multiple Intel 4004
instead single main cpu to make faster computers.
if money was not issue,what would prevent 4 same cpus running in single system?

I was told by my friends back in the day I was crazy for buying a 20 MHz clocked 386 PC. Why would I need such a powerful CPU?  ::)
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: tooki on March 26, 2023, 07:11:33 pm
They existed, mostly on servers. I remember Apple had them on the G4 machines in the early 2000s and it's how they were able to outperform the windoes PCs for graphics for a while.
And that was far from the first. The first dual-processor Mac from Apple* was the Power Mac 9500/180MP from August 1996.

And of course there’s the philosophical question of whether the 1980s-90s Macs with PC daughtercards — a full PC motherboard shrunk down into an expansion card plugged into a host Mac — count as multiprocessor, since they contained a separate Intel CPU just for DOS/Windows to run on. Third parties sold such cards, but Apple also sold “PC Compatible” versions of some Mac models, with such a thing factory installed.

*”From Apple” because the very first dual- and quad-processor Macs were actually licensed Mac clones by DayStar. It worked so well that DayStar actually made the dual-processor CPU daughtercard in the 9500/180MP, and it was DayStar’s multiprocessing API that became the classic Mac OS multiprocessing API.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: pcprogrammer on March 26, 2023, 07:48:29 pm
There was also the Basis 108 (https://www.old-computers.com/museum/computer.asp?st=1&c=92) that had a 6502 and a Z80 and if I recall correctly also had a 6809 extension card made for it.

Also the BBC micro was able to get a second CPU unit, and probably some more that offered this multiple CPU setup to allow running the different operating systems.

Sure nothing like what there is now and not intended to speed up processing, but available non the less.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: coppercone2 on March 26, 2023, 07:49:05 pm
they had dual access memory or whatever in some stuff, but the thing is
1) parallel programming problems were and are being solved
2) personal computers were deemed to be a solution to a particular problem (mostly relating to replacing paperwork), people saw that a single core is basically capable of this, since its replacing essentially a type writer and calculators


I would say that most people do not realize the complex engineering heritage of busses/protocols/datapath designs/etc.. fairly obvious digital circuits but all that stuff had to be figured out. And good interconnects and even PCB related stuff. Reliable cheap many layer PCB with internal vias and stuff. IMO people imagined the wire wrap version and thought 'there is no fucking way'. Even PCB trace minaturization is pretty complicated, sure you just etch it smaller, but the amount of trust you get from such fine pin spacings to make these systems portable? You need advanced knowledge of glue, silk screens, etc to make that kind of design decision for something you want to be durable. Tons of pioneers IMO.

If you wanted to implement that kind of density in 1970 on a large scale people would just think "manufacturing problems" and that they are gonna go out of business if they offer a warentee past 2 weeks. Low production for the air force maybe, but they would have a legion of technicians inspecting and checking everything, and probobly the throughput would be so pathetically low that for anything but national defense the 'efficiency' of the business would be beyond dismal. When you look at the advanced military semiconductor tech of the past, 'scared stupid' (rightfully so) comes to mind, because what they got for how much it cost is abysmal, thankfully we figured out how to use some of it.


Like if you never did it, you just think 'etching foils' duh. But if you do it you know that you need the right photo resist. If the awesome high reliability low cost good shelf life DOW corning blue whatever was not around for etching fine geometry, you would be stuck fiddling with the old process for a long time. And developments in PCB manufacturing/glue.

Like look at how dismal BGA reliability was for maybe 15 years when they start to use it for consumer electronics lol, its still a problem, and thats just some mechanical BS. I feel like there is a ton of invisible esoteric technologies that were coincidentally developed in different fields that allow this stuff to be made now. Its common to still hear that a design has 'too many parts' and that the design is viewed as unreliable for that reason.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: SiliconWizard on March 26, 2023, 08:01:45 pm
I remember having read some 80's articles on multiprocessing and it all seemed like breakthrough stuff at the time and nothing really practical outside of research centers and extremely expensive hardware.
Usually the key issue was quickly diminishing returns due to the bottlenecks of having to share resources. Along with much more complex software design.
That made it all unpractical for personal computers, and even for pro computers outside of maybe "supercomputers".

As I and some others have said, you still had small computers with several CPUs, but each was usually dedicated to its own thing, so while they were still "multiprocessor" systems, that was much, much simpler. They often didn't even share main memory.

But several identical CPUs sharing the same resources in a typical multi-CPU architecture? That was rarely worth it except maybe in niche applications.
Say with a typical "consumer" CPU of the time, you'd be lucky if you could get about 1.5x the computing power of a single-CPU system with a dual-CPU one, all this with much higher cost and much more complex software. While getting 2x the power just by clocking at twice the frequency quickly became possible, for a much lower cost and complexity.

Interestingly, while many-core computing is now the norm, things are running a bit in circles - different types of cores in recent CPUs, instead of all the same, along with dedicated accelerators, are coming back.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: tooki on March 26, 2023, 08:13:24 pm
Usually the key issue was quickly diminishing returns due to the bottlenecks of having to share resources.
This is a really good point that bears repeating. It’s easy to forget how back then, the CPU was just one of multiple potential bottlenecks all vying for the honor of limiting overall system performance. CPU was one, expansion bus throughout and memory bandwidth were others, but IO (including storage) and IO latency were huge bottlenecks back then (and in some ways, remained so until SSDs took over from hard disks).

Remember when memory access was so slow that we had to set hard disk interleave factors to artificially slow down the throughout of hard disks? :p
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: Kleinstein on March 26, 2023, 09:11:23 pm
In the early days I would consider the lack of suitable software and the still existing complications in using more than 1 core for many problems as the large hurdles than sharing other resources. The other bottlenecks still existed and this was in part limiting the useful clock speed. So the need for a much faster CPU was limited. If needed there were often better alternatives to multiple CPUs to share the load.
A thing was more havine a dedicated FPU and the first steps towards graphics acceleration.

We don't use PCs with multiple cores because it is a very efficient way, but more like because most of the alternatives (high clock, wider words) have reached there limits. The SW side is still limiting in how muliple CPU cores can be used. A 16 core CPU may not be any faster (maybe even slower) than a single core CPU if the SW does allow for parallel execution. The point is more than modern PCs go a bid overboard with just adding more cores that are rarely used.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: alm on March 26, 2023, 09:20:09 pm
We don't use PCs with multiple cores because it is a very efficient way, but more like because most of the alternatives (high clock, wider words) have reached there limits. The SW side is still limiting in how muliple CPU cores can be used. A 16 core CPU may not be any faster (maybe even slower) than a single core CPU if the SW does allow for parallel execution. The point is more than modern PCs go a bid overboard with just adding more cores that are rarely used.
What helps is that on modern computers there are usually multiple things running at any one time, unlike back in the '80s when multi-tasking was the exception. Now your average computer is running a bunch of browser tabs, likely a virus scanner, maybe playing a video, downloading a data sheet, etc all at the same time, so there's at least a bunch of processes that can be spread out over cores. And the high loads like matrix computations, simulations, games etc are generally optimized to use as many cores as possible efficiently.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: EPAIII on March 28, 2023, 06:26:40 am
IIRC, around the time of the Apple II, I was trying to find a way to get a single one into the budget of the company I worked for. I wondered if multiple users could use it at the same time from separate terminals, which would have been a great selling point.

Aren't dreams nice?
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: DrGeoff on March 28, 2023, 06:42:35 am
so my question is why did 70/80/90 only have 1 cpu if cpus where so slow?if i understand most computer only had 1 single main cpu.
for example why it was possible use for example multiple Intel 4004
instead single main cpu to make faster computers.
if money was not issue,what would prevent 4 same cpus running in single system?

The CPUs weren't considered "slow" at the time. Any more than today's processors are considered "slow".

Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: coppercone2 on March 28, 2023, 07:43:10 am
In the early days I would consider the lack of suitable software and the still existing complications in using more than 1 core for many problems as the large hurdles than sharing other resources. The other bottlenecks still existed and this was in part limiting the useful clock speed. So the need for a much faster CPU was limited. If needed there were often better alternatives to multiple CPUs to share the load.
A thing was more havine a dedicated FPU and the first steps towards graphics acceleration.

We don't use PCs with multiple cores because it is a very efficient way, but more like because most of the alternatives (high clock, wider words) have reached there limits. The SW side is still limiting in how muliple CPU cores can be used. A 16 core CPU may not be any faster (maybe even slower) than a single core CPU if the SW does allow for parallel execution. The point is more than modern PCs go a bid overboard with just adding more cores that are rarely used.

I would say given that the driving force behind computer development is corporations, that "have reached their limits" means that parallel computing was found to be slightly cheaper to develop in the short term based on financial analysis by the major players ;)

Like how four screws and are not commercially viable compared to one screw and a plastic clip in that $500 ecu

Just going by what I know. And it might not have enough synergy with neural networks, I think we just decided its time to squeeze the mathematicians a little bit instead of all that touchy chemistry and EM problems. I noticed there is just too much heralding about parallel computation, it starts to feel like a sales pitch. And for the last like.. 15 years? there has been this massive push to teach people how to code and push them into CS, from grade school even. Well they don't know about making things faster but they can write code, so they will work on logical problems rather then physics problems.... they certainly mustered quite a big work force that is trained at solving those types of problems. Number of people encouraged to learn about optimization algorithms vs transistor EM physics/engineering. Lots of piggy backing of skill sets too, teach logic and it is supposedly applicable to numerous fields (for now).

Not that I disagree too much, because its frustrating as hell to wonder 'well why can't I put two of these together...' but I do wonder what kind of other things we miss out on, could be something real nice. maybe less downplaying of cascade failure scenarios would be a result?
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: tooki on March 28, 2023, 09:00:17 am
I would say given that the driving force behind computer development is corporations, that "have reached their limits" means that parallel computing was found to be slightly cheaper to develop in the short term based on financial analysis by the major players ;)

Like how four screws and are not commercially viable compared to one screw and a plastic clip in that $500 ecu
LOL no.

If you look at the history of computing, technologies tend to first emerge in extremely high-performance computing (HPC, that is, supercomputers and mainframes) and then trickles down. HPC is not nearly as price-sensitive as desktop hardware.

Parallel computing was, and is, done because all the other measures are at their technical limits. Clock speeds don’t scale cleanly. Word size doesn’t help with many things (I don’t think we will see 128-bit CPUs any time soon). Etc etc etc.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: tom66 on March 28, 2023, 12:18:02 pm
One of the biggest issues with multiple CPUs is maintaining coherency between different processors.

Cache coherency is probably the biggest headache.  If two threads are operating on similar areas of memory, it's possible that threads could have a different view of the memory.  This is important as most operating systems depend upon the fundamental idea of a processor-width data type being atomic, for instance x86-64 guarantees that 64-bit loads and stores are atomic.  So you need a mechanism to broadcast "incoherency" data across the bus to ensure that the caches know to flush invalid lines out.

The other issue is that in the 90's, CPUs used to be quite big, on 300nm+ processes.  Once an SRAM cache was on the die (which was far more important than multi-core functionality), there wasn't really enough space to fit additional cores and data-buses to link those cores to each other.  A multi-core CPU also needs multiple caches, as each core needs a local cache to give acceptable performance, whereas a single-core CPU at a lower speed might get away with a single larger cache.  The size is an issue especially for cores like x86 which functionally are very complicated, having long instruction words and pipelines.  It really was process nodes falling below 65nm that made it possible to have dual and quad core CPUs in consumer hands, and then once things fell below 20nm we see 8/16 core CPUs as commonplace.  Improved architectural design allows those CPUs to execute more than one thread per core with certain limitations.

Parallel computing also requires changes to the operating system and different approaches to programming,  programmers need to be familiar with the traps of multi-threading and things like mutexes, semaphores, thread-safe data structures etc., and operating systems need to have schedulers which can cope well with multithreaded programs (especially ones with a lot of I/O -- historically Linux and Windows both sucked at this, but improvements in the last decade have been noticeable, like Linux's CFS.)
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: dmills on March 28, 2023, 02:00:14 pm
As a teenager I wirewrapped a dual 68000 system, it was effectively a NUMA box and had each processor with its own memory space that could be read or written to from the other core at the cost of forcing a bus request/bus grant on the target.

Clock speed was IIRC 8MHz.
It worked, but then teenage me found out that I REALLY needed some locking primitives.

Would have been late 1980s or so.

Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: Codex on March 29, 2023, 03:58:26 am
Some did. The Z80 systems I worked on had multiple Z80 CPUs, one to handle all the communications, one to handle and manage the disk drives, another for Analogue IO and one for the general control processes.  You could use Z80 bus controls like ~BUSRQ to control the address and data bus (blocking) and so each CPU could have access to memory and IO.  Alternatively we used dual port memory, IO ports and interrupts to allowed each of the CPUs to run with almost no blocking. This was in the early 80s.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: ejeffrey on March 29, 2023, 05:14:08 am
The question is backwards, it's why do we have multi-core CPUs now.  Paralleling CPUs has a cost in terms of complexity and performance, and a *huge* cost of developing parallel applications to actually use them.  1 fast CPU is almost always better than 2 slower CPUs.

The 80s and 90s were full of startups trying to do something really clever, but most of them failed because it didn't matter what you did, you were going to get shown up by a new micro-architecture on a new fab process in 12-18 months.  That sets a very narrow window to make back your development costs before it is obsolete. 

Multi processor systems did exist, as everyone else here has pointed out, but in the mainstream market, people were busy adding things like caches, pipelining, multi-issue, vector units, out-of-order execution, branch prediction, and process other improvements that give orders of magnitude performance improvement for roughly the same hardware cost instead of adding multiple processors that could get you less than 2x the performance for a substantially higher cost -- well over double the cost for the processors themselves, although you didn't necessarily need to double the memory and IO.

What happened in the late 2000s and early 2010s was that the huge rush of micro-architectural improvements  had mostly played out.  There were still improvements to be made, but a good feature is one that gives single digit percentage increase in a handful of important workloads.  At the same time, process node improvements stopped producing significantly higher clock speeds, hitting a practical wall around 4-5 GHz.  Process node improvements however still continued to allow more transistors on a single die, and so the practical way to use them became multi-core CPUs.  For mainstream systems, multi-core CPUs improve a lot of the problems with traditional SMP that used multiple sockets.  The cores can share a memory controller and L3 cache, running fewer wide/fast buses off chip. They can also do fast and low-latency cache coherence communication between cores. You don't need multiple 1000+ pin sockets, and motherboards need no special design to support multi-core configurations.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: tooki on March 29, 2023, 07:46:45 am
The question is backwards, it's why do we have multi-core CPUs now.  Paralleling CPUs has a cost in terms of complexity and performance, and a *huge* cost of developing parallel applications to actually use them.  1 fast CPU is almost always better than 2 slower CPUs.

Great explanation.

The only thing I’d say is that I do think that going from 1 to 2 CPUs almost always helps overall system performance, since one CPU can make sure system housekeeping and other OS stuff, background tasks, etc stay out of the way of your application, even if your application is single-threaded. (Fewer context switches.)

But from there, the marginal benefits of each additional CPU drop asymptotically.

I remember this very clearly in the early 2000s when multi-CPU Macs finally made sense, since Mac OS X has real SMP support. Few applications back then were meaningfully multithreaded, but adding that second CPU massively improved system responsiveness.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: m k on March 29, 2023, 10:50:50 am
In the 80's DEC had many systems with multiple processors (VAX clusters) and even had a PC, the DEC Rainbow 100 that had 2 processors.

April 19, 1988
long-awaited true multiprocessing release 5.0 of the VMS
https://techmonitor.ai/technology/dec_accompanies_vax_6200_multi_processors_with_vms_50_release_new_software_pricing
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: David Hess on March 30, 2023, 12:44:01 am
Without caches, CPU clock speeds were limited by memory access time so adding additional CPUs would have little benefit; they would have had to wait for memory access anyway.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: abeyer on March 30, 2023, 01:45:51 am
but adding that second CPU massively improved system responsiveness.

I kinda wonder how much of that was early OSX just being so abysmally unresponsive that anything would have improved it massively, though.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: tooki on March 30, 2023, 06:51:54 am
but adding that second CPU massively improved system responsiveness.

I kinda wonder how much of that was early OSX just being so abysmally unresponsive that anything would have improved it massively, though.
By and large I don’t think “unresponsive” was something to describe Mac OS X. In my experience even early versions stayed way more responsive under heavy load than both classic Mac OS and Windows. (As a cooperative multitasking OS, Mac OS 9 felt very, very “snappy” under light loads, but under heavy loads it struggled.) For sure, versions 10.0 and 10.1 weren’t as snappy as 10.2 an onwards, when the graphics compositing engine (Quartz Compositor) was moved into hardware (Quartz Extreme).

Regardless, though, the point is that when you had an app that was CPU-bound, even if that app wasn’t multithreaded, having two CPUs meant one CPU could be entirely dedicated to that process, and all the app’s system calls, IO, user interface, and anything the OS or used wanted to do could run on a second CPU. In fact, this even helped if the app wasn’t maxing out a CPU, since reducing CPU context switches still improved performance on everything.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: tom66 on March 30, 2023, 09:33:55 am
The only thing I’d say is that I do think that going from 1 to 2 CPUs almost always helps overall system performance, since one CPU can make sure system housekeeping and other OS stuff, background tasks, etc stay out of the way of your application, even if your application is single-threaded. (Fewer context switches.)

In particular, some modern CPU architectures influence OS scheduler behaviour.  The Ryzen processors for instance have 'fast' and 'not so fast' cores, which is a difference in the peak boost capability of any given core.  The OS tries to schedule tasks that are high utilisation on the faster cores, whereas interactive tasks (user interface, lots of I/O) go on the slower cores, to avoid context switching the faster cores. 

I did some tests at one point in my VM with compiling a build using G++10 on Linux on my 16 thread, 8 core Ryzen laptop.  Peak performance wasn't at 8 threads as many had predicted, but around 12-13 threads, though there were diminishing returns above 8 threads.  Once more than 13 threads were in use, the performance fell.  My guess is that the kernel will reschedule tasks using I/O onto the slower cores, whilst allowing other tasks to thread more effectively across the remaining 'actual' cores.  Although without diving deep into a timing analysis profile, it is hard to say for sure.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: mendip_discovery on March 30, 2023, 09:48:14 am
Iirc we had also just gone from mainframe PCs where you worked at a terminal to a place where you could each have a pc on your desk and there was a boom in sales from 95 onwards that meant the processors were getting faster and cheaper and we were mostly happy with the speed.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: Gyro on March 30, 2023, 06:29:18 pm
Iirc we had also just gone from mainframe PCs...

An interesting concept! ;D

The closest I got was a small PDP11 on a table, but that counted as a minicomputer.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: madires on March 30, 2023, 06:54:34 pm
Sun SPARCstation 10 (also 20): up to 4 CPUs
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: mendip_discovery on March 30, 2023, 07:16:34 pm
Iirc we had also just gone from mainframe PCs...

An interesting concept! ;D

The closest I got was a small PDP11 on a table, but that counted as a minicomputer.

I find it interesting we had cloud computing before it was called cloud computing. Then we all got machines at work and at home. Now we are going back to the cloud.

I started in computers when I was a kid with a BBC Electron, then a 64, Amiga 600 and then a 486...I am almost 40 so not as old. But I know types that do the whole 4 Yorkshiremen sketch when talking about computers. "You were lucky to have punch cards, we had to move valves and relays" "pah valves, young whipper snapper when I was a lad..."
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: Gyro on March 30, 2023, 07:23:21 pm
I am one of those Yorkshiremen, in both senses. I started out on an ICL1902... with punched cards!
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: RJSV on April 01, 2023, 03:44:08 am
   To help answer that, you need to think like
'Its 1978'.
   Culture, man, culture.  A 'multi-CPU' system was, virtually, almost a joke...like 'Flux Capacitor'.  That's because it was new and exotic, and somewhat 'unnatural' sounding...like a two-headed lion would seem.
Folks that were in the know could dream, lazily into a good cup of coffee (going nowhere), while the truly ignorant would outright dismiss multi-cpu layouts as, well,...unnatural, but I repeat.
   Meanwhile two things;
   Folks designed and built separate systems, each with traditional single CPU controller, such as the hard disk storage.
   Secondly, the true multiples really took off (IMO) with gaming system stimulus, including also the overclocking.

   The 1978 tech culture was just getting used to an APPLE Computer on the market and in the news.  Teachers started doing heads-up, maybe computers would be popular...yes?
Memory chips avail speed and price was a huge deal, and many, many of us didn't have the orientation and focus, on that one aspect, of architecture...barely flowing the idea of having ONE CPU running things all day.  (Computer could do your taxes, but then what ?).
   People had enough mystery just considering using a single CPU.  In 1978, that was still a few years, before the '1 MHZ' barrier was, practically, met in home systems. Commodore64 was approx 1 mhz, but that was a few years, still, 1983.
Title: Re: why did 70/80/90 only have 1 cpu if cpus where so slow?
Post by: tooki on April 01, 2023, 09:21:29 am
   To help answer that, you need to think like
'Its 1978'.

   People had enough mystery just considering using a single CPU.  In 1978, that was still a few years, before the '1 MHZ' barrier was, practically, met in home systems. Commodore64 was approx 1 mhz, but that was a few years, still, 1983.
As I said before: the OP doesn’t even specify “personal computers”, they just said “computers”, and there were already various multiprocessor computers in use. They just weren’t home computers.