demonlapin writes:
"Brian Benchoff at Hackaday has an ambitious new project: a homebrew computer based not on a classic 8-bit processor like the Z80 or 6502, but on the 16-bit Motorola 68000. It's a backplane-based machine with wire-wrapped connections planned. His first summary post is here. Blinkenlights are planned."
[ED Note: With so much commercially available hardware getting more and more locked down, projects like this are a good reminder of what is possible for a dedicated enthusiast.]
(Score: 3, Interesting) by fleg on Friday February 21 2014, @09:28AM
anyone know which workstations he is talking about?
"Putting a 68k C compiler on this computer isn't hard, but UNIX is. The first UNIX workstations used two 68000 CPUs - one for normal processing, and another to reset the first if a page fault occurred."
(Score: 1) by pixeldyne on Friday February 21 2014, @09:50AM
What was the limitation of the 68000? Because I ran bsd quite comfortably on an 020 (no mmu) with 2mb ram.
(Score: 2, Informative) by Uncle_Al on Friday February 21 2014, @03:40PM
Apollo DN100
There were two 68000's. When the first page faulted, the second cleaned up
the fault and restarted the first.
(Score: 0) by Anonymous Coward on Friday February 21 2014, @06:13PM
Animats posted on an old (similar) article that the 68000 didn't do instruction backout properly. Not sure how that works, though.
(Score: 1, Informative) by Anonymous Coward on Friday February 21 2014, @06:55PM
I believe Unix needs a MMU to run properly. The 68020 was the first m68k with a MMU chip, and the 68030 was the first to have the MMU on-die.
(Score: 2, Interesting) by Uncle_Al on Friday February 21 2014, @07:16PM
> I believe Unix needs a MMU to run properly. The 68020 was the first m68k with a MMU chip, and the 68030 was the first to have the MMU on-die.
68000 unix machines were built, using designs including variations of the "SUN" MMU design or the Moto 68451
You just couldn't do demand paging with the 68000 because you couldn't restart an instruction.
(Score: 0) by Anonymous Coward on Friday February 21 2014, @10:33PM
> I believe Unix needs a MMU to run properly.
As other people have mentioned, uCLinux can run on a 68000 [eetimes.com] without an MMU!
(Score: 1) by darinbob on Saturday February 22 2014, @12:23AM
Yea, but that's not really Unix. And I'm saying that as someone who believes Linux is Unix.
Basically you're left without memory protection; which doesn't really make something non-Linux by itself.
However you are unable to dynamically grow the size of heap or stack for processes. So like Minix you either allocate a standard stack size for everything or you specify a specific stack individually for each process. All memory is shared, everyone presumably allocates from the same heap, etc.
(Score: 0) by Anonymous Coward on Saturday February 22 2014, @01:02AM
> Yea, but that's not really Unix. And I'm saying that as someone who believes Linux is Unix.
True. But given the limitations of the 68000, I would rather run something Linux-like than System 7-like. If you can't have memory protection, you might as well have preemptive multitasking!
(Score: 3, Informative) by shortscreen on Friday February 21 2014, @10:38AM
I'm not sure which system used dual 68Ks in the way described, but there were a bunch of 68K-based UNIX systems. For instance:c =254 [old-computers.com]c =767 [old-computers.com]
http://www.old-computers.com/museum/computer.asp?
http://www.old-computers.com/museum/computer.asp?
(Score: 1) by den Os on Friday February 21 2014, @11:40AM
I used to run minix on my ST1040
(Score: 2, Informative) by darinbob on Friday February 21 2014, @11:18PM
I had always thought this was the early Sun-1, however it appears this used a custom designed MMU. Sun-2 used 68010 and again with a custom MMU.
A big problem with 68000 was that some exceptions could not be restarted after an interrupt, which is where the trick of using two CPUs in parallel came from. One would be cycle or half cycle behind and then be halted if the earlier CPU detected a fault. I can't discover what computers actually used this technique though but it's been talked about for decades.
The 68010 fixed this problem and added some privileged instructions, and was pin compatible. However it wasn't only slightly faster so most companies just waited for the 68020 instead.
So I don't know how the Sun-1 really managed this with only one 68000. I suspect there were some operations that just couldn't be recovered but it could do enough to run System 7.