Why did the Motorola 68000 processor family fall out of use in PCs?
retrocomputing.stackexchange.com
retrocomputing.stackexchange.com
From the Mac right up to multiprocessing minis (Bull DPX/2 for example could be had with 4 68030), plus a variety of high end workstation vendors (Sun, Apollo) the 680x0 seemed like a much higher end processor than anything Intel based.
Then Sun dropped it in favour of Sparc.
It took a while but the 386 and it's replacements gradually ate everything in that space thanks to Compaq leading the way. Even Sun had intel based machines.
Mobile yes, Apple Newton was a reason why Acorn didn't just close shop in the 1980's.
Apple's M CPUs on their laptops versus Windows market share is quite close how Motorola/PowerPC vs x86 has always been.
Acorn had horrible software, the hardware did not evolve as fast as x86 and after a few years hype it was pretty much dead.
What eventually saved it was basically an accident: due to lack of manpower the design was extremely simple, which turned out to translate to power efficiency.
Edit: the original designer put a very positive spin on things by saying that leadership gave them two things they needed to succeed: no money and no people.
Even Acron knew it in 1884 when they evaluated processors.
Motorola was going nowhere quickly in the mid to late 80s.
Apple as usual was late to move and their internal RISC project went nowhere fast.
The surprising part of the story is Intel managed to keep up. They were able to do so because they had absurd volume and could pay far larger teams.
What really killed 68k was the thing no one here is qualified to talk about: Motorola simply fell off the cutting edge as a semiconductor manufacturer. The 68k was groundbreaking and way ahead of its time (shipped in 1978!), the 68020 was market leading, the '030 was still very competitive but starting to fall behind the newer RISC designs, leading its target market to switch. The 68040 was late and slow. The 68060 pretty much never shipped at all (it eventually had some success as an embedded device).
It's just that posters here are software people and so we want to talk about ISA all the time as if that's the most important thing. But it's not and never has been. Apple is winning now not because of "ARMness" but because TSMC pulled ahead of Intel on density and power/performance.
Maybe the 68000 -> 88000 transition was the problem?
The Tier 1 Unix system companies (many of whom had been Moto 68K customers) already had their own RISC designs and a lot of the second and certainly third tier companies were getting acquired or going out of business. So by the time there was really a solid 88K product--at least for the server market--almost no one was lined up to design systems around the chip.
Data General did for a while. Forget who else did. But it just never got critical mass.
Sun and DEC and IBM made CPUs for their own computers too - but not to compete for basic PCs. Motorola made a lot of phones at one point but not to the degree that they could lock in top of the line fabs.
It's not that the 68000 family was necessarily impossible to use in lower priced PCs by the way. Philips built the 68070 for use in CD-I and other consumer machines. And Apple and Amiga made it work for a while with more mainstream parts.
Arguably x86 and arm are the "RISCiest CISC" and "CISCiest RISC" architectures, and have succeeded due to ISA pragmatism (and having the flexibility to be pragmatic without breaking compatibility) as much as anything else.
And MIPS failed for the same reason ARM pulled ahead: in the late 90's Intel took a huge (really, huge) lead over the rest of the industry in process and MIPS failed along with basically every other CPU architecture of the era
Amusingly the reason ARM survived this bottleneck is because it was an "embedded" architecture in a market Intel wasn't targetting. But there's absolutely nothing technical that would prevent us from running very performant MIPS Macs or whatever in the modern world.
Had it not been the case, the market would have been driven to Itanium no matter what.
The performance (or complete lack thereof) of x86 compatibility mode was one problem. But VLIW's reliance on software to do the right thing (with compilers etc.) was another big thing even for native IA64 code. And a decent-performing Itanium was delayed enough to arrive during dot-bomb vs. dot-com.
If Itanium had really been the only 64-bit chip available for use in systems from multiple vendors maybe it would have succeeded by dint of an Intel monopoly position. But once x86_64 arrived from AMD and Intel ended up following suit, it was pretty much game over for Itanium.
The point was that ia64 was certainly not an "inferior" ISA, It did just fine by any circuit-design measure you want. Like every other ISA, it failed in the market for reasons other than logic design.
But logic design is irrelevant beyond a certain point. Intel certainly had the process chops at the time and knew how to design microprocessors given a certain set of parameters. It's just the parameters were wrong (see Intel's late step-down from frequency on x86 above all else as well--driven I was told at a very high level by Microsoft's nervousness around multicore).
And I doubt the exceedingly-advanced compiler that the Itanium ISA required contributed in any way to its fp performance.
No, that's pretty much exactly what happened. Were you there?
Beating everyone else at synthetic benchmarks is about as impressive as blowing away paper targets at the firing range. Real applications (and their operating systems) shoot back.
Itanium on the other hand was killed by x86_64, yes.
Digging through Usenet archives, I found a post from John Mashey discussing the RISC-CISC spectrum. I found a copy here:
https://userpages.umbc.edu/~vijay/mashey.on.risc.html
The M68K gets called out as having some really complicated instructions in it,
> We thought that adding more addressing modes was the way you made a machine more powerful
https://www.computerhistory.org/collections/catalog/10265816...
People get caught up in intuitive notions of “complex” or “reduced” when talking about RISC and CISC, so it’s very helpful to have specific ideas about what of problems you’re creating for yourself years down the line, when you’re designing an architecture in the 1970s or 1980s. The M68K has instructions that can do these complicated copies from memory to memory, through layers of indirection, and that creates a lot of implementation complexity even though the instruction encoding itself is orthogonal. Meanwhile, the x86 instructions are less orthogonal, but the instructions that operate on memory only operate on one memory location, and the other operands must be in registers. That turned out to be the better tradeoff, long-term, IMO.
Of course nowadays we have the transistor budgets to make even complicated instructions work.
It is interesting to see what Motorola cut from the instruction set when they defined the Coldfire subset (for those who don't know, the coldfire family of CPU used the same instruction set as 68000 but radically simplified, the indirect addressing methods, the BCD mode, a lot of RMW instructions, etc. were removed. The first coldfire after 68060 which was limited to 75Mhz, ran at up to 300MHz).
I guess it was sorta fashionable back then.
Whatever ISA pragmatism can mean whatever you happen to define it as.
AMD’s processors are also fabricated by TSMC; why aren’t they competitive with Apple?
Again, everything comes down to process. ISA isn't important.
The 3nm parts have just barely dropped in phones due to process delays and poor yields (N3B will miss targets and only N3E will meet the original N3 targets a year or 18 months late). So they are a non-factor in the pc/laptop market.
Happy to see efficiency numbers (something other than cinebench please) but there is no node deficit anymore. Apple laptops and zen laptops are on even footing now.
If there is still an efficiency deficit then the goalposts will have to be moved to something like “os advantage” (but of course Asahi exists) or “designed for different goals!” (yeah no shit, doesn’t mean it’s not more efficient).
Again, I am fairly sure that apple creams x86 efficiency in stuff like gcc (chrome compiles) or JVM / JavaScript interpreting (IntelliJ/VS Code) even without “the apple software”, but, everyone treats cinebench like it’s the end-all of efficiency benchmarking.
I absolutely know the apple stuff creams x86 by multiples of efficiency (possibly 10x or more) in openFOAM - a Xeon-w 28c (or even an epyc) pulls like, 10x the power for half the performance of a m1 ultra Mac Studio.
(And yes, “but that’s bandwidth-limited!” and yes, so are workloads like gcc too! Cinebench doesn’t work like 90% of the core, it doesn’t work cache at all, it doesn’t care about latency. That’s my whole point, treating this one microbenchmark as the sole metric of efficiency is misleading when other workloads don’t work the processor in the same way.)
https://www.extremetech.com/extreme/334856-the-apple-m1-ultr...
And that is without getting into the high-end segment, where Apple doesn't have anything that can compete with the Threadrippers and Epycs.
How does it do in JVM efficiency (IDE) or GCC (chrome compile) efficiency? How does it do in openFOAM efficiency?
But it’s always cinebench.
That's a name I don't see every day. Good to know more people are using it. :)
Doing that required a very large amount of area and transistors in its early days. So much that very smart people thought that the extra area requirements would kill that approach. It still does take a large amount of area, but less and less relative to the available die. Moore's law basically blew past any concerns there.
But it wasn't always obvious that that would be the case.
It's not the sequencing that's the issue, it's the exception correctness. Rolling back correctly and describing to the OS exactly which of the many memory accesses actually faulted in an indirect access is very complex. X86 doesn't have indirect addressing modes and never had to deal with that.
It's certainly not correct to say that the m68060 "pretty much never shipped at all". I have several m68060 systems that would disagree with you. The chip even went through six revisions, with the last two often overclocked to 200% of its official speed. It actually competed well with the Pentium on integer and mixed code, although the Pentium's FPU was faster. Considering the popularity of m68k and x86 at the time, that was pretty darned impressive.
I'd love to get one of these to help do more m68k NetBSD pkgsrc package building:
https://amiga68k.com/?product=bfg9060-68060-cpu-accelerator-...
max instruction size: 486, 12; 040, 22. (x86 has since grown to 15)
number of addressing modes: 486, 15; 040, 44
indirect addressing? 486, no; 040, yes
max number of MMU lookups: 486, 4 (but usually 1); 040, 8 (but frequently 2)
So it wasn’t just manufacturing, it was also the difficulty of the task. 680x0 was second only to the VAX in terms of the complexity of its instruction set.
Anything but simpler and completely irrational to someone coming from the orthogonal ISA design persepective.
For a start, on x86, the loading of an address is a separate instruction with its own, dedicated opcode.
On m68k (and its spiritual predecessor PDP-11), it is «mov» (00ssssss) – the same instruction is used to move the data around and to load addresses. Logically, there is no distinction between the two as an address and a numeric constant are the same thing for the CPU (the execution context defines the semantics of the number loaded into the CPU register), so why bother with making an explicit distinction?
Having 2x separate instruction for loading addresses and moving the data around would have made more sense if data and address registers were 2x distinct register files, which m68k had and x86 did not, and speaking of the registers x86 was completely starved of general purpose registers anyway effectively having five of them (index registers are semi-general purpose anyway so they do not count). Even x86-64 today has 16x kinda general purpose registers which is very poor. AMD29k, as another extreme, could have 256 general purpose registers and 32x has been the sweet spot for many ISA's for a long time.
Secondly, there was the explicitly segmented memory model with near and far addresses. Intel unceremoniously threw the programmer under the bus with having to explicitly manage segments and offsets within each segment to calculate the actual address, and the address could not cross a 64kB segment. Memory segments have been a commonplace and predate x86, yet the complexity of handling them is typically hidden in the supervisor (kernel) level. m68k, on other hand, has had a flat memory space since day 1 that only really, for all practical reasons, took off with Windows 2000 on x86 – almost 2 decades later after m68k got it.
Lastly, comparing max instruction sizes for m68k and x86 is a bit cheeky. m68k has fixed size instruction encodings that allow the CPU to use a simple lookup table to route the processing flow as well as the extracting addressing mode(s) from the opcode could instantly give an indication of the total instruction length
Whereas x86 has had the variadic ones requiring a state machine within a CPU to decode them, especially as the x86 ISA grew in size, often stalling the opcode decoder pipeline due to the non-deterministic nature of the x86 opcode encoding.
For example, if you had an array of 32 bit integers on the stack, an instruction like "MOV EAX,[ESP+offset+ESI*4]" would load the value of the element indexed by ESI. Change that MOV to LEA, and it would instead give you a pointer to that element that can be passed around to another function. Without LEA, this operation would require two extra additions and one shift instruction.
Microsoft Assembler syntax confused this issue by being designed to make some operations more convenient, "type safe", and familiar to high-level programmers, while clumsier at getting to the raw memory addresses.
That led to people using "LEA reg,MyVar" when it wasn't necessary, simply because it was shorter to type than "MOV reg,OFFSET MyVar" :)
LEA is also present on the 68K and has the same uses.
Great answer but the root cause is Motorola failed to find enough customers to drive volume. Increased volume => increased profitability => money to invest in solving scaling problems. Intel otoh gained the customers and was able to scale.
Sun was a big costumer pushing them to make aggressive new chips and they were so disappointed with Motorola that they developed SPARC and released their first SPARC machine at the same time as he 68030 and most costumers preferred the SPARC unless they had software comparability issues.
Apple Mac did get a fair amount of volume to. And there were many other uses as well.
Sure it wasn't the wealth that Intel had, but they were hardly struggling. They clearly sold enough chips to pay a design team.
> '030 was still very competitive
Questionable. A simple ARM low power chip beat it. And the RISC designs destroyed it.
ARM2 even in 1886 basically doubled up 68020 not to mention the bigger RISC designs.
Lots of companies were taping out RISC designs by 1985 and all of them basically beat them.
ColdFire can be made entirely 68k compatible with simple low-overhead emulation software. It could be have been a viable path forward for 68k, but they rolled it out almost 10 years too late, after they'd totally given up on 68k.
Motorola abandoned 68k, is what happened.
In favor of PPC.
RISC was, and still is, the way forward.
x86 was just a distraction along the way, and a dead end.
https://en.wikipedia.org/wiki/Motorola_68020#Launch,_fabrica...
- I'd say that Motorola management's motto was "Meh, whatever", while Intel management's motto was "Only the paranoid survive".
(The Galvin Center has since been demolished, replaced by a Top Golf. There's drone footage on Youtube of various stages of the demolition.)
“We build new things, we create entirely new product segments, but when markets start to mature we sell the division to someone who knows how to run that kind of business.”
They failed to do that with CPUs and then they failed to do that with mobile phones. And it pretty much killed the company.
That museum. So much stuff from one single company. It was incredible - for the first 80 years.
Most annoying flaws: sophisticated memory interface and very limited old companion chips (from 6800 family), and for original 68k need second CPU to make virtual memory.
So what happen? - When appear first 8086/88 and 68k, RAM was small in all machines, but 8086 was simpler and 8086 system was cheaper, and near same speed.
Then appear 286, which was improved 8086 with much better speed and bigger possible RAM, but Motorola answer with 68010, just fixes flaws, this was good, but not enough in race.
Fortunately for Motorola, 286 was not fully compatible with 8086, some programs need to be modified, but many old programs from 68k family also does not work on 68020, so this was good time to think, why bother too much about compatibility, if it is not achievable.
To be honest, on PC I first seen real compatibility, most programs run without any modifications on 8086/8088/80286/80386/80486, just on each iteration faster.
First really significant issues with compatibility on x86 appear on Pentium, as I remember, Pentium-Pro was first Intels microarchitecture on which 16-bit programs was slower then on previous Intel CPUs.
But all these facts was future when was first competition of 8086 and 68k, and nobody could be sure about Intel future before 80386, even many people think 80286 is unfortunate CPU.
So I think, if Motorola made simplified 68k with fixed flaws (to be cheaper and may be to integrate more on CPU chip), it was really possible to gain momentum and overcome Intel on PC market.
Unfortunately, Motorola decide to make 68020/68030, semi-compatible with 68k, but not cheap enough, and stay second in race. May be this because Motorola that time have good sales in military, so they don't bother about future.
And after 80386 for Motorola time was lost forever. PowerPC was totally another history.
The entire market dominance of the x86/x64 architecture came out of that era and came about because you could build PCs with it and run a variety of software on it including DOS, Windows, FreeBSD, commercial Unix, and later Linux.
Forced open-sourcing via clean-room reimplementation.
The modern Mac is actually more open than the classic Mac because it's a BSD system. The UI is proprietary but the underlying OS is pretty commodity and loads of software that runs on things like Linux runs on it with little or no modification.
It was really a pretty magical time. I was a kid and a teen then and it seemed like the PC was this wide open field of limitless permission-free innovation. New software, new hardware, new capabilities were constantly being introduced and you didn't need an "entitlement" in an App Store or any of that nonsense. Nothing is really like that today except maybe the open source world, and even that kind of feels like a tar pit. There's still an open PC ecosystem but it's smaller and less dynamic.
Of course I also understand what killed it. It wasn't just cloud/SaaS or mobile. It was also the fact that we now operate in a "dark forest" war zone environment where we all have to navigate a sea of malware and exploitive surveillance-driven borderline-malware. It's hard enough for knowledgeable people but for end users downloading software is terrifying. It's like going to the worst neighborhood in the city in the middle of the night and walking around among living-dead drug addicts asking people if they know where to find something.
https://en.m.wikipedia.org/wiki/Acorn_Computers
You can run RISC OS on a modern ARM like the Raspberry PI - it gets weirder the longer you work with it - menu items with input boxes and other GUI widgets, a strange DOS VMS UNIX hybrid CLI that appears at the bottom of the framebuffer, scrolling your graphic screen up as you type and full of terminology that's incredibly excessively British.
Go to 10 minutes to see the shell https://youtu.be/oL4w3AK6Qpw?si=Vdu2ur1fM0N9Tl2X&t=10m and http://www.riscos.com/support/users/userguide3/book3b/book3_... for the documentation
Also see 8:50 for the British terminology and 12:34 for an example of the weird menus
The thing I like about it is the creators clearly knew what the dominant paradigm was and made a decision to be different. It's nice.
Whoah! I didn't realize they were the same company!
It's wild how spoiled we are. The ATmega328p on a $10 Arduino Nano is 10x faster than that
(Actual usable space is less! The second processor's onboard OS uses 2 KB. The BASIC interpreter uses 16 KB for its code plus another approx 1.1 KB for workspace.)
The Acorn-type CLI is interesting (in my view), and I never realised why until I started using a PC rather than the BBC Micro: there's no shell. The idea doesn't even really exist. The fundamental system call (the OS_CLI SWI on RISC-OS, OSCLI entry point on the BBC Micro) takes an entire command line string, and do whatever that says to do. It's like the shell is permanently there. You never need to parse the string.
This is actually pretty useful, because it means that for a lot of stuff you can simply defer to the OS. No need for interfaces to select filing system, choose floppy disk/hard disk, change directory, tweak key repeat rates, print disk catalogue, etc. - there are CLI commands for all of these, and more, so a program need only provide a way to enter a command to be subsequently executed by the permanently resident CLI. And as the program calls it, any commands so entered affect its state rather than being discarded on exit.
The average file load/save UI on the BBC Micro was that you entered a file name. All the other stuff you might want to do first (select filing system, choose disk type, select drive, change current directory, check file exists or not, etc.) would be done by executing CLI commands via the program's interface for submitting such things. Feels like RISC-OS's unusual drag'n'drop file save mechanic stems from a similar mindset.
I recall that period more as a melting pot of ideas and approaches from lots of manufacturers independently trying to figure out what paradigms might stick.
There were many disparate approaches to text-based OSs: MS-DOS, Acorn MOS on the BBC which is the predecessor of the shell found in RISC OS, Sinclair, Atari, etc. Likewise, separate approaches to GUIs: Mac, Gem, RISC OS / Arthur, the Amiga, etc. Windows 2. Teams from Acorn, Research Machines, Sinclair etc all basically did things in their own way.
While the Macintosh UI paradigm was considered dominant in some market segments at the time (eg DTP), there wasn't yet a universal expectation around how GUIs would work. That started happening more after Windows 3 came out, in 1990 iirc.
Certainly there must have been cross-pollination of ideas between these different groups. Pretty sure these Docks and Task Bars with icons, that we all have at the bottom of our screens now, was an idea first seen in RISC OS.
No way. Windows 1.0 had it (https://en.m.wikipedia.org/wiki/File:Microsoft_Windows_1.0_s...) . The RISC OS workflow of click on bottom to create new instance paradigm is probably from Xerox Star 8010 although might be earlier
https://interface-experience.org/site/wp-content/uploads/201...
The GUI unification theory is fine but we're talking RISC OS 2023 being still like this. All the weird quirks are still there.
Other systems have merged. Even ArcaOS, the successor to OS/2 has dropped all those strange tab systems that OS/2 Warp 3 took from PenpointOS. It's fairly hard to find something that's notably different that's ostensibly still being worked on.
You can call it whatever you want but it's an inviolable horizontal container on the bottom of the screen reserved for iconified applications and storage controls upon which applications can not occlude.
Maybe calling it an iconify dock is more appropriate. Microsoft called it "Icon Area": https://archive.org/details/microsoft-windows-1.03-hp-150-3....
Windows 1.0 doesn't really have a desktop metaphor in the modern sense as in some rectangle with free floating icons which represent arbitrary files or folders. Windows 2.0 made the icon space the entire background which can be occluded by applications and 3.0 introduced the merging of the metaphors into a "desktop" that we're all familiar with. Stating they're all equivalent I think is a bit of stretch.
But it wasn't a concept that Microsoft was particularly wedded to. It disappeared in Windows 3.x.
IBM was still pushing its MCA based PS/2 machines at the time and the writing was on the wall when the gang of nine did EISA as a response instead of forking over a license fee.
I don't know what this has to do with anything. Claiming that RISC OS invented the dock or was the first to do it is bunk. I'm a huge fan of innovation and like RISC OS but I'm a bigger fan of accurate history.
---
* accounts differ on this. Some, like Ferguson in the Computer Wars depict as a bad faith sabotage, while others such as in hard drive, brush that off as a conspiracy theory while others such as in barbarians led by Bill Gates say there were fundamental opinion conflicts by important primadonna programmers. I think it's likely all the above, there's enough people involved and the theories don't necessarily conflict
I feel a tinge of sadness reflecting on this fact when I walk through the Computer History Museum in Silicon Valley.
There's things like Xerox Altos and Apple 1s there that you can use. Sit at and actually do things with.
They sadly do not have a Pixar image computer which is a remarkably obscure little thing I've wanted to see working for a while. I've seen 2 of them but they were just in display cases. There's a few rips online with demos https://m.youtube.com/watch?v=PhhGfdkK9Ek but nothing really going over the machine
Likely some other philanthropist would need to buy it and fund it in order for it to reopen.
Paul Allen’s sister seems to have little interest in continuing to fund his smaller philanthropies / interests after his death (Flying Heritage & Combat Armor Museum: closed 2020, sold 2022, reopened by new owner; Cinerama: closed 2020, sold 2023, reopening planned by new owner; Living Computers: closed 2020, no public updates)
Compaq was first to jump into this, but soon this opportunity created a massive ecosystem of competing clones all able to run the same binary distributed software packages which fueled both a software industry and a commoditization of the platform which made it much more accesible and affordable.
This enormous ecosystem success forced Intel to remain backward compatible with old instruction sets to run older binaries, with Microsoft forced the same way on OS api's and services. Even IBM itself tried but failed to counter this s runaway train on both the hardware and the software front.
At the processor level I loved the much more sane instruction set of the 68000 family (much like I preferred the Z80 over the 6502 before), but the dynamics of the whole PC ecosytem just steamrolled over the alternative 68000 platforms, even though Atari, Commodore and Apple produced compelling designs.
Once you have the success of DOS PCs and add growing exposure of Windows 2.x (e.g. Windows/386) filling in capabilities it's hard to compete with technically better but also much more expensive systems except in smaller or niche markets over time. Even the server market switched from the likes of Sun SPARC to x86 systems.
The theme is that cheaper and minimally viable has a larger market potential that wins if able to find a way to survive. An earlier/smaller example of this is how the 6502 ate the lunches of other/better 6800 or Z80 based systems. That success later failed due to stagnation of the hardware and operating systems, and again in-competition. The x86 PC-compatible market allowed competition between vendors while still using the same ISA and ecosystems DOS & Windows.
I grew up in this era having multiple Atari 8-bit & ST systems, using Apple ][, Macintosh, and rare access to Amigas. I was extremely disappointed with DOS+Windows prevailing over the more exciting systems from a graphics/sound gaming perspective. Market size won.
6800 and Z80 weren't much if at all better than a 6502 in terms of performance. They're all 8-bit CPUs and limited in various ways. They all also had 16-bit iterations in the 68000, 65816, and Z800.
Intel x86 and the PC and the software being written for the platform is what killed off demand for those other chips. If there were a 68090 (or whatever 68k variant it would evolve into) today inside a modern Amiga platform with a modern GPU, that people still wrote software for, I'd be using it as my daily driver.
The 6809 is a lot of fun to program. Beautiful 8 bit machine.
If you were writing code for a Commodore 64 or Atari 800XL, you largely didn't have to think about designing your software to probe the memory map or deal with larger and smaller versions of the system.
This had two toxic outcomes:
1. The platform itself had no good way to expand upwards. If you built "C64, but with a 65C816 instead", you still had loads of software that expected to hit very specific ROM and memory-mapped hardware spots, so you couldn't remap them without breaking the world.
You could potentially work around this by building the new machine with enough memory that you can just start the "enhanced-mode universe" after the hairball that exists in the bottom 64k. But if you wanted to offer a 128k or 256k machine, you can't afford to squander all that expensive RAM. And even still...
2. The software was largely incapable of exploiting extra resources if you had them. Some software learned to deal with Commodore REU devices or the bank-switched RAM in an Atari 130XE, but that requires a lot of heavy lifting to use efficiently.
In contrast, someone who took a 128k 8088 PC clone and upgraded to a 512k 286 usually got bigger spreadsheets and longer documents for free. There was no need to think about allocating from non-contiguous memory spaces-- just a larger version of the easy to manage space that starts at 1k and ends around 640k.
That's exactly what PCs did with 386 . even today, if you boot on legacy bios mode, you get the same lower 1MiB address space and mappings
Note that this was apparently a decision made in 2001. If you tried this in 1988, when 2Mb was an enormous machine, and you said to users "Yeah, only half of that will be allocated to user programs", that's not gonna fly.
No segments, no "Conventional memory 640KB" or other such cruft.
The PC was kind of simple in this way. So were some of the systems. I look at the Apple, which was very PC like, and the Atari ST, and when compared to systems offering custom silicon, it seemed like a no brainer choice. But, software ports were easier, CPU speeds could be increased easily, and the lack of custom silicon drove some longer term usability.
Today, we may be moving back toward another custom silicon era. Expensive capabilities put into hardware will be compelling, but may also be something of a dead end. Maybe the scale and speed of what we have today will marginalize how this could work too.
Interesting times ahead, as they were back then.
In my opinion this statement only holds in times of massive performance growth in hardware. This held true at that time, but does not necessarily hold anymore. There is a reason why modern SoCs contain more and more specialized blocks, say, for video decoding/encoding, NPU, graphics processing (GPU), raytracing (modern GPUs), perhaps DSP, ...
We’d write to Intel for information and they would send back a stack of manuals gratis.
Motorola wouldn’t even reply.
On the technical side, Amiga had some downsides too. Its OS was in ROM, and while it was way ahead of DOS and early Windows back in '87, it got outdated by the early '90s. Smaller Amiga models didn't support hard drives without buying a pricey add-on, making them more like game machines where you were stuck swapping floppies.
But if you look at OS and CPU architecture, it was almost like comparing a well-designed system to a mess. DOS was clunky, and x86 had its weird quirks: limited registers, awkward 8-bit compatibility, segmentation over paging, unnecessary IO mode/addressing instead of MMIO, messy assembler (prefixes, segments, adhoc instructions) you name it.
IBM PCs and clones effectively OWNED the small and medium business market entirely, and a sizeable portion of large businesses, too.
The Amiga had great graphics but especially in Europe with the 50 Hz PAL system they flickered too much. Even at that time 50 Hz were seen as unergonomic. The US and the Atari ST with 60 Hz were a bit better but in general 70 Hz was seen as necessary.
The Atari ST mono had 70 Hz but a small monitor. Still quite successful in professional places. If you just got away with it at the end of the 80th, in the early 90th the display refresh rate had to be 70 Hz.
At that point the graphic of the Atari ST and Amiga was not that impressive anymore compared to the PC (the ET4000 graphics chip was out) and if the ergonomics don’t fit either then it was hard to argue that they were a good fit for professional use where you use the computer longer during the day, like text processing etc.
I used an Amiga 1200 with a VGA monitor for a few years. Because video modes were programmable, I traded a little refresh rate for higher screen resolution: 704×520 @ 50 Hz or thereabouts.
This does not mean it wasn't upgradable by using RAM, as both SetPatch and soft kickers (mkick, skick and so on) demonstrate.
Replacing the ROMs is also possible, although not ideal, and kits with Workbench disks and ROM chips were sold cheaply.
Later, it could have been replaced by an EEPROM, too, but Commodore died first.
>Amiga had some downsides too
The main issue was the way pointers were passed around as if handing out candy, not providing IPC mechanisms not reliant in memory sharing. This hinders attempts to properly leverage memory protection in later models, as well as the ability to reasonably implement SMP later on.
In no small part, Commodore was to blame. The first Amiga released in 1985; MMU-capable m68k CPUs had been available for years. Yet they chose the plain 68000, which was not MMU-capable. A corner-cutting measure that would later bite them. E.g. move from SR/CCP discrepancy, vector base forced into low chipram and so on.
Intel played around with making fancy new alternative architectures, too (i960, i860). But it never gave any of its PC customers the impression that x86 was going to be murdered. (Well, until Itanium, but that's much later and was almost serious trouble for them.)
The switch to PowerPC almost killed Apple, in my opinion. They couldn't afford the chaos and instability. System 7.6 on PowerPC was terribly unstable, and offered little to no advantages.
Meanwhile Intel iterated on the (basically inferior) x86 architecture and we got Pentium & Pentium I and proved you didn't have to go RISC.
A few years later Motorola/Freescale rolled out ColdFire, which did for 68k what Intel did for x86. But probably about 3-4 years too late, and targeted really only for embedded devices.
68k was great. But these days I don't think I'd want a big-endian machine.
Boy does it have a complicated instruction set. Anyway, we early on negotiated with the instructor on what instructions we would support. Early education in defining scope for success I guess.
Iirc, there were no books available to me for the Motorola Assembly language programming nor do I remember having easy access to any environments for it.
https://www.amazon.com/68000-Assembly-Language-Programming-6...
We also had the Amiga and the Atari ST machines on 68K then as well, so without PC clones they would likely have become the low-price choice for a while.
Of course, any economist would say "Welcome to economics!" at this point. (-:
Without warning, one fine day we were instructed to immediately remove the cards and return them to managers. No explanations. It was the steepest edge to "this project is getting canceled" I've experienced.
At school we had lots of Sun{2,3,4}, Apollo, HP, Mac, and NeXT computers which we could practice on. Kinda saw the writing on the wall when we got a 6 CPU i386 sequent symmetry system and then SPARC, MIPS RISC, and PowerPC while nothing really from Motorola. I never enjoyed programming x86 cpus after being self taught on 6502 and then m68k systems :-)
I still have an ATARI Mega ST and a Sun 2 at home for sentimental reasons only.
One answer on SO (with only six upvotes) says that Motorola couldn't keep up the clock race.
When technology is advancing at an insane pace and you see a CPU line that is already not keeping up with the clock race, it probably doesn't make much sense to bet on that CPU line.
I remember going from my beloved Commodore Amiga (68000) to a PC felt like going back in time but the PC's 386 would clock at 40 Mhz while the Amiga would clock a... 7 Mhz.
So there's that.
A 16MHz 386 was around 2MIPS, around the same as a 12MHz 68000.
A 40MHz 68040 was around 40MIPS, a 66MHz 468DX2 was around 25MIPS.
The 68040 also had significantly faster floating point performance.
It's slightly insane that the 68000 (released 1979) was comparable in performance to a VAX 11/780 (released 1977) - for a tiny fraction of the cost.
The 68000 was great for doing what you mention: bringing VAX-like tech to the masses. Looking back I don't think it was a great "home computer" processor, and not great for games and the like, either.
In anyways, I'd say by the mid-90s the 68k architecture could not keep up with x86 because Motorola just stopped investing in it.
In 1985 when the 386 came out I believe the fastest speed you could get was 16MHz. They added higher speed variants for years afterwards. Intel made a 40MHz 386 in 1991 that was strictly aimed at embedded users who want more perf but were not ready to move to 486 based designs (386CX40), I doubt almost anyone used on in a PC. AMD made a Am386 at 40MHz which was a reverse engineered clone of the 386, but again that came out in the 90s (the big selling point was that you could reuse your existing 386 motherboards instead of replacing them like you needed to for a 486).
It was also the lowest configuration on which Doom could run decently in full screen mode.
For one because it couldn't keep pace with Moore's law and economies of scale. Custom chips are expensive and the talent to design them hard to source.
But most importantly the bus multiplexing on systems like that -- sharing video memory between CPU and dedicated coprocessor -- makes no sense in the 90s and beyond when memory became many multiples slower than the CPU.
The whole assumption of the Jay Miner design is that the coprocessor could do things faster than the CPU.
... but then CPUs just became way faster than main memory, and those fancy coprocessors would have been sitting there waiting on the bus just like anything else.
When GPUs came on the scene, they took a very different path. They have their own memory, and do very specialist things, and for a long time were very limited in the kind of bandwidth they had back to the CPU, too.
Anyways, Amiga had a nice system for 1986. By the 90s it was pointless and mass produced ISA video cards outpaced it, and they did so with a design entirely different.
Amiga and systems like it are not "paths not taken", they're design dead-ends.
But by the time they got to the late 80s with the TT030 and the Falcon 030 it become pointless because main CPU was in most cases faster than hardware blitting.
That's the problem with custom chips. An approach that was invaluable in the 70s and 80s for the 8-bit machines, but became a handicap by the 90s.
Software lock-in, first from IBM then MS contributed to massive consolidation in the industry and until the old players tapped-out.
Presumably, with Intel's budget Motorola could have paved over the 68k's flaws just like was done with x86.
Each of those projects undoubtedly cost billions. An incredibly luxurious position to be in.
https://en.wikipedia.org/wiki/Sega_Genesis#Development
https://www.siliconera.com/former-sega-president-talks-about...
It was a decade old at that point. A decent win for an aging technology I'd say, but not a money maker. Power PC consoles came much later.
We are seeing the same issue now with Macs. Apple would never have the resources to invest in the M series if they weren’t also selling 150 million A series iPhones and iPads, a few million M series iPads, 20-30 million S series Watches and miscellaneous other A series devices like AppleTVs and monitors.
The issue now is that even Apple is not willing to invest the resources needed to make high end ARM chips to compete with Intel on the very high end.
Many of the new microprocessors did come out in non-PC products like workstations - where it didn't matter as much.
I think it was powerpc but not 68k, but one notable different & distinct characteristic of ppc was that it has inverted page tables. I would not expect it to be a major make or break architectural difference, it's probably not a huge difference, but different ISAs seem not that consequential, while having totally different memory architectures makes the whole effort to optimize very very different, changes how all caches work deeply.
There were some very neat objects oriented sympathetic ways inverted page tables worked that seem potentially mechanistically sympathetic to have expressed at a hardware level. But there's also a real possibility that various caches were harder to make run fast, with inverted page tables. PPC's different memory architecture was fairly unique.
It was not so easy to port an OS back then and IBM PCs were the dominate species so too was DOS then Windows. Zilog was starting to fade also - the Z8000 never caught on. Apple became the only company keeping the 68000 alive. Motorola was not up to the challenge of competing with Intel or Apple was not making enough volume to make it worth their effort. Apple - fighting the last war - thought IBM was their competitor so eschewed any compatibility with IBM PCs and chose to go it alone. It wasn't until later (after Jobs return) that they realized they were wrong and things had moved on. Reasons for choosing a CPU where more about power and speed.
software > hardware
Then x86 DOS got Doom. Everyone had to get a PC now.
https://github.com/TCRF/old-doom-stuff
https://github.com/FreeSlave/Quake-Tools/tree/master/QuakeEd
> Processor architectures come and go. The history of the 68k architecture is perfectly normal. It's the x86 that's anomalous. I believe that is the result of Microsoft's peculiar inability to switch architectures. No other software company seems so stuck: they move opportunistically to whatever architecture suits their immediate needs. Apple has evolved 6502->68k->PPC->x86->ARM. – John Doty Sep 25 at 12:14
More like third party publishers? Windows has been released for many architectures in the past but without bringing the software ecosystem along it never worked out. They presently seem to be trying to correct that, with an x86 emulator included in their ARM version of Windows 11, but don't have the hardware offerings to create demand.
I actually don't think there has been any significant period where Microsoft was only shipping core Windows operating systems on only x86. It's possible that's actually a deliberate strategy.
But to your point, what they have never been able to do was persuade any significant part of the ecosystem to notice.
Were there any compilers for those architectures from Microsoft ?
DEC created an x86 emulator for the DEC Alpha version of Windows NT, but it still didn't get any traction, despite the Alpha being the performance king back in the day.
Xbox also showed that MS is capable of the seemingly impossible if they see the cash is there.
If it had been an actual answer, in contrast, you would have had a "Share" hyperlink to click on, bringing up a pop-up that allows you to copy a hyperlink for the answer, even on your device. The person mis-placing an answer in a question comment hasn't helped you, either.
It got abetter eventually, but by then 1st gen was already replaced, and you had to buy the next version of the software as well if eventually a PPC native version came available. Office software in those days was also much more expensive than today.
At the same time Microsoft released Windows 95, arguably the first Windows with a usable GUI. The PPC switch was a disaster for Apple, no doubt about it.
This is simply not true.
I'm running Windows right now--to post this response--on an ARM Windows laptop. Microsoft has had Windows on RISC machines. Alpha, MIPS, PowerP and Itanium. They were all reado, should any of these architecturs take off. (See: https://virtuallyfun.com/2023/08/05/come-meet-tenox-check-ou...)
Stop spreading misinformation.
The Windows NT family of operating systems has always had the "Hardware Abstraction Layer" (aka HAL) which helped with porting the operating system to other architectures.
Why do people keep forgetting that Intel was at the forefront of fab process improvements for 2-3 decades, thanks to the enormous revenue and economy of scale of manufacturing coming from the computerization of society from the '90s onward? None of the UNIX server / workstation OEMs with their own CPU architectures could keep up, not even the well heeled Sun Microsystems. AMD couldn't keep up and had to spin off GlobalFoundries. ARM / MIPS and other minor architectures eked out meager existences as embedded processors only because Intel didn't deign to pursue a low margin market. It was a combination of Intel's fab prowess and the lack of motivation from software developers to build Windows software for non-x86 platforms that kept x86 chugging along.
Your link says
> Noting the obscurity of its 1982 release, BYTE in January 1983 called the System 9000 "IBM's 'Secret' Computer"
A computer that is not advertised is not going to win.
I think it was interesting that another bit of the company did use the CPU that it is often said IBM didn't use, or similar statements. It did.
Why the PC was promoted and the 9K wasn't, I don't know. Possibly price.
IBM later used modified 68000s in the S360 compatility card for the IBM PC as well.
Also Intel just had way more money because of the mighty Wintel monopoly. They could scale up the manufacturing side.
"The designation "PC", as used in much of personal computer history, has not meant "personal computer" generally, but rather an x86 computer capable of running the same software that a contemporary IBM PC could.":
https://archive.org/details/byte-magazine-1977-05/page/n35/m...