why did 70/80/90 only have 1 cpu if cpus where so slow? - Page 1
Forum section: electronics / general

author: aqarwaen
author_rank: Regular Contributor
timestamp: March 25, 2023, 09:47:35 pm
content: 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 4004instead single main cpu to make faster computers.if money was not issue,what would prevent 4 same cpus running in single system?

author: DavidAlfa
author_rank: Super Contributor
timestamp: March 25, 2023, 09:53:47 pm
content: Money was definitely an issue!Technology was very primitive, slow buses, limited complexity...Multicore systems existed, but only on very expensive mainframes.

author: abeyer
author_rank: Frequent Contributor
timestamp: March 25, 2023, 10:11:42 pm
content: Quote from: aqarwaen on March 25, 2023, 09:47:35 pmAs 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)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.

author: nightfire
author_rank: Frequent Contributor
timestamp: March 25, 2023, 10:16:38 pm
content: 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.

author: Kleinstein
author_rank: Super Contributor
timestamp: March 25, 2023, 10:24:19 pm
content: 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.

author: Bud
author_rank: Super Contributor
timestamp: March 25, 2023, 11:10:06 pm
content: Jack Tramiel, the head of Commodore, said "I build computers for the masses, not for the classes".Does this explain ?

author: rstofer
author_rank: Super Contributor
timestamp: March 25, 2023, 11:30:54 pm
content: 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_seriesThere 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-maxCan you even imagine a discrete implementation?

author: Benta
author_rank: Super Contributor
timestamp: March 25, 2023, 11:33:16 pm
content: "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...

author: floobydust
author_rank: Super Contributor
timestamp: March 26, 2023, 03:56:04 am
content: In that era memory was also quite slow, expensive, and DRAM needs refresh - all of which gets in the way when you add cores.

author: SiliconWizard
author_rank: Super Contributor
timestamp: March 26, 2023, 04:02:43 am
content: 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.

author: Brumby
author_rank: Unknown
timestamp: March 26, 2023, 07:17:33 am
content: Quote from: abeyer on March 25, 2023, 10:11:42 pmI didn't get past the title of this thread before this thought was screaming around my head.QuoteIndeed.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.

author: Kleinstein
author_rank: Super Contributor
timestamp: March 26, 2023, 09:36:19 am
content: 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.

author: Siwastaja
author_rank: Super Contributor
timestamp: March 26, 2023, 10:29:02 am
content: For the same reason multicore performancestillsucks: it is very hard to write truly parallel (efficient at that) programs. Peoplethinkin "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, wehadto start thinking how to do things simultaneously.

author: m k
author_rank: Super Contributor
timestamp: March 26, 2023, 11:45:31 am
content: Quote from: aqarwaen on March 25, 2023, 09:47:35 pmCheck transputer.

author: tooki
author_rank: Super Contributor
timestamp: March 26, 2023, 02:47:53 pm
content: Quote from: aqarwaen on March 25, 2023, 09:47:35 pmGotta 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 commonlydidhave 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.

author: mendip_discovery
author_rank: Super Contributor
timestamp: March 26, 2023, 04:00:24 pm
content: 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.

author: BillyO
author_rank: Super Contributor
timestamp: March 26, 2023, 04:20:28 pm
content: 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.

author: alm
author_rank: Super Contributor
timestamp: March 26, 2023, 04:43:30 pm
content: As a research project, the massively parallel (designed for 256 CPUs, but built with 64 CPUs)ILLiAC IVwas 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.

author: xrunner
author_rank: Super Contributor
timestamp: March 26, 2023, 04:57:16 pm
content: Quote from: aqarwaen on March 25, 2023, 09:47:35 pmI 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?

author: tooki
author_rank: Super Contributor
timestamp: March 26, 2023, 07:11:33 pm
content: Quote from: mendip_discovery on March 26, 2023, 04:00:24 pmAnd 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.

author: pcprogrammer
author_rank: Super Contributor
timestamp: March 26, 2023, 07:48:29 pm
content: There was also theBasis 108that 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.

author: coppercone2
author_rank: Super Contributor
timestamp: March 26, 2023, 07:49:05 pm
content: they had dual access memory or whatever in some stuff, but the thing is1) parallel programming problems were and are being solved2) 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 calculatorsI 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.

author: SiliconWizard
author_rank: Super Contributor
timestamp: March 26, 2023, 08:01:45 pm
content: 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.

author: tooki
author_rank: Super Contributor
timestamp: March 26, 2023, 08:13:24 pm
content: Quote from: SiliconWizard on March 26, 2023, 08:01:45 pmThis is areallygood 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 IOlatencywere 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

author: Kleinstein
author_rank: Super Contributor
timestamp: March 26, 2023, 09:11:23 pm
content: 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.

author: alm
author_rank: Super Contributor
timestamp: March 26, 2023, 09:20:09 pm
content: Quote from: Kleinstein on March 26, 2023, 09:11:23 pmWhat 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.

author: EPAIII
author_rank: Super Contributor
timestamp: March 28, 2023, 06:26:40 am
content: 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?

author: DrGeoff
author_rank: Frequent Contributor
timestamp: March 28, 2023, 06:42:35 am
content: Quote from: aqarwaen on March 25, 2023, 09:47:35 pmThe CPUs weren't considered "slow" at the time. Any more than today's processors are considered "slow".

author: coppercone2
author_rank: Super Contributor
timestamp: March 28, 2023, 07:43:10 am
content: Quote from: Kleinstein on March 26, 2023, 09:11:23 pmI 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 playersLike how four screws and are not commercially viable compared to one screw and a plastic clip in that $500 ecuJust 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?

author: tooki
author_rank: Super Contributor
timestamp: March 28, 2023, 09:00:17 am
content: Quote from: coppercone2 on March 28, 2023, 07:43:10 amLOL 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.

author: tom66
author_rank: Super Contributor
timestamp: March 28, 2023, 12:18:02 pm
content: 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.)

author: dmills
author_rank: Super Contributor
timestamp: March 28, 2023, 02:00:14 pm
content: 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.

author: Codex
author_rank: Contributor
timestamp: March 29, 2023, 03:58:26 am
content: 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.

author: ejeffrey
author_rank: Super Contributor
timestamp: March 29, 2023, 05:14:08 am
content: 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.

author: tooki
author_rank: Super Contributor
timestamp: March 29, 2023, 07:46:45 am
content: Quote from: ejeffrey on March 29, 2023, 05:14:08 amGreat 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.

author: m k
author_rank: Super Contributor
timestamp: March 29, 2023, 10:50:50 am
content: Quote from: BillyO on March 26, 2023, 04:20:28 pmApril 19, 1988long-awaited true multiprocessing release 5.0 of the VMShttps://techmonitor.ai/technology/dec_accompanies_vax_6200_multi_processors_with_vms_50_release_new_software_pricing

author: David Hess
author_rank: Super Contributor
timestamp: March 30, 2023, 12:44:01 am
content: 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.

author: abeyer
author_rank: Frequent Contributor
timestamp: March 30, 2023, 01:45:51 am
content: Quote from: tooki on March 29, 2023, 07:46:45 amI kinda wonder how much of that was early OSX just being so abysmally unresponsive thatanythingwould have improved it massively, though.

author: tooki
author_rank: Super Contributor
timestamp: March 30, 2023, 06:51:54 am
content: Quote from: abeyer on March 30, 2023, 01:45:51 amBy 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.

author: tom66
author_rank: Super Contributor
timestamp: March 30, 2023, 09:33:55 am
content: Quote from: tooki on March 29, 2023, 07:46:45 amIn 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.

author: mendip_discovery
author_rank: Super Contributor
timestamp: March 30, 2023, 09:48:14 am
content: 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.

author: Gyro
author_rank: Super Contributor
timestamp: March 30, 2023, 06:29:18 pm
content: Quote from: mendip_discovery on March 30, 2023, 09:48:14 amAn interesting concept!The closest I got was a small PDP11 on a table, but that counted as a minicomputer.

author: madires
author_rank: Super Contributor
timestamp: March 30, 2023, 06:54:34 pm
content: Sun SPARCstation 10 (also 20): up to 4 CPUs

author: mendip_discovery
author_rank: Super Contributor
timestamp: March 30, 2023, 07:16:34 pm
content: Quote from: Gyro on March 30, 2023, 06:29:18 pmI 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..."

author: Gyro
author_rank: Super Contributor
timestamp: March 30, 2023, 07:23:21 pm
content: Iamone of those Yorkshiremen, in both senses. I started out on an ICL1902... with punched cards!

author: RJSV
author_rank: Super Contributor
timestamp: April 01, 2023, 03:44:08 am
content: 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.

author: tooki
author_rank: Super Contributor
timestamp: April 01, 2023, 09:21:29 am
content: Quote from: RJHayward on April 01, 2023, 03:44:08 amAs 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.