Well, here’s something you don’t see every day.
The Fairchild Symbol Computer.
Fairchild’s Symbol computer had both the compiler and operating system built with hardware, not software.
Well, here’s something you don’t see every day.
The Fairchild Symbol Computer.
Fairchild’s Symbol computer had both the compiler and operating system built with hardware, not software.
Wow, that’s quite the machine! Some 10000 chips, by the sound of it, and in the late 60s. And the memory controller does everything from demand paging to garbage collection.
A very interesting approach. Doing it all in hardware, and in a much better way than the (referenced) later IAPX32 of Intel.
Also, it never quite worked. OS, Compiler, TextEditor in gates? Do you have any idea how difficult it is to fix a bug in your compiler or OS with a soldering iron? Any idea how to ensure there are no bugs to begin with
The one-and-only version built still exists in the Computer History Museum back rooms; I’ve seen it.
You use TECO and program with your text editor.
Text editing is not hard logic wise, just use a new card coding form.
It also makes the key punch girl happy.
I suspect the motive was still from the punched cards batch era,
In goes the cards, out punches the program or the results,
depending on just what the symbol computer does.
Makes computer scence easy, none of this mouse or password stuff;
just use the correct hole in the wall: programs:input:output:bribes
Ben.
I was talking about debugging the hardware, since the compiler is in hardware - not ROM, but in gates, Fixing bugs means cutting traces, unsoldering chips, soldering and wiring up new ones, etc, and sometimes it meant designing a new circuit board, procuring parts, worrying about timing…
Slow, not for the faint of heart, and no one could do anything else while it was being fixed.
Totally stupid idea.
It would have been worse, if they’d been successful - the idea, as I understand it, was to replace the 10,000 logic chips with a smaller number of custom LSI chips. I suppose you’d have to call the result a computing appliance - it behaves as-shipped. In fact, perhaps we could think of this as extreme early-binding, whereas the best ideas seem to be around late binding.
Fixing bugs means cutting traces
My guess it was on wire wrapped panels, easy to change a connection, or add spare gate.
PCB’s where mostly flip chip sizes, for the late 60’s,for mass production.
computing appliance - it behaves as-shipped
This would never do in real life. No modern program behaves as shipped, or expected.
There is never a bug in a program, just a new feature.
Doing it gates is a different model than regular computing, just more work to get it right.
Nope, you guessed wrong.
No wirewrap, all tightly packed (blue) PC boards full of dual inline TTL, with edge connecters on 3 (yes!) sides- which is tricky.
The head of the project was the inventor of the dual inline package and the zero insertion force connectors which made it possible to have edge connectors on more than 1 side.
Maybe the backplanes (and sideplanes) were wire wrapped, but you still need to cut/jump traces on the PC board.
Really ugly. Never worked after years of trying.
Still for that scale of chips,it is impressive, working or not.
I wonder if could get a FPGA version working?
Nice! I never quite got to visit the CHM - got quite close, but it was closed that day. Unlikely to travel that way again.
The CHM was closed at least one “sample day” in February 2022. Not sure about more recently. I imagine they’ve been suffering a shortage of old-timers like us to staff the place.
Maybe now is the time to beg/borrow/buy a team of robots to cruise around the exhibits on our behalf and let us “visit” the museum through their eyes. Wheels seem expensive. Drones are cheap. You just need an air traffic control system.
What Fairchild needed was (okay, maybe with the help of a time machine) access to a “silicon compiler” and a hardware simulator. I wonder if anyone has written a useful compiler in Verilog and burned it into an FPGA. (Yes, yes, let me Google that for you…).
Addendum: a minute later appears one path: FpgaC - Wikipedia
The problem with hardware-based compilers, I can see already: recursive descent. But with the right coding style and a stack, it should be doable. The original Bell Labs C compiler was probably very small, BTW. A minimal BASIC interpreter fits in 1,500 bytes of C code, heavily macro-iced. But we already know you can implement an interpreter in hardware.
Computer science has state based versions of compilers everywhere. Never a comple version,
as students have to finish that on thier own. Forth also decomposes nicely into a simple computing machine. The symbol computer may be just a demo version, ample to comple a simple program
but not a large one as memory was quite dear in the 1960’s.
As noted by Ben, a chapter (“SYMBOL: A Large Experimental System”) in one of Gordon Bell’s books:
Also not far away:
Fairchild Symbol Computer by Stanley Mazor (4 pages)
Just adding a couple of notes on the Symbol Computer at Fairchild
R&D in 1965…my previous published paper gives the short overview
of the computer, hardware compiler and in hardware OS.
the background story is the leader of the dept at Fairchild was
Rex Rice who had been at IBM and had no success there as
there were a lot of software people interfering with his ideas…
Regrettably, and immature, he felt that software is a problem area
and it should be avoided. Meanwhile IBM had built a family
of successful CPU’s using microcode for the instruction execution,
but Rex thought of that as more software…
Clearly had Symbol used some micro code it might have been
more successful. As it was we did everything in hard wired
PCB hardware and the logic was all quite complex. So debugging
is a problem and fixing or modifying is almost impossible.
It turns out of the dozen designers I was the only one who
had access to a logic simulator (also at Fairchild) and I did
run one large piece of my project on this simulator and caught
a couple of logic errors before the PCB"s were made.
I think Symbol might have had a chance if we had used micro code
and did some testing prior to building the hardware and using CAD
tools and simulations.
Some of my logic in the 2 units I designed, the FPU and String
processors had some life and I could do one big test
which was a digital division as it used about 80% of my logic.
BTW I had 12 PCB’s of ~200 chips each, so it was a big project.
stan mazor age 83, Los Altos, CA 94022
Was there a lot of chip failures in the design or many bad race conditions?
Playing around with CPLD’s I wonder if the CAD tools have really improved
much unless you spend the big money.
While mostly random logic, I did have a need a 256 x 16 rom for microcode, and 64 x 9 rom for boot strapping hitting the limit of what 128 macro cell CPLD could do and stay in loose concept
of emulating TTL logic, and having visible logic. Modern programmable logic while looking impressive to replace TTL, may have more design got you’s than ssi logic had, thus I wonder if a more modern design is possible.
The Symbol computer was based upon a virtual memory system with pages allocated
from a disk free list for each job. The memory controller functional unit handled
memory requests from the other functional units. As explained in my short paper
when I was doing a division or multiplication (FPU) I needed separate work space
for the partial products and issued a request to Assign a group. This was
the minimum unit of space for a request and was an 8 word group (64-bit words),
the processor could then do a store and assign to save a single word in that
group, and the MC responded with the address of the next free word in that
same group, or if the group of 8 words was full, it would link in another
group and return that address to the FPU if needed for another
write (store and assign). Upon finishing a multiply or divide the
FPU would finally command the MC to do a discard of those
memory areas.
So if you can imagine a simple floating point multiply required
a bunch of memory controller functions to allocate and then
free a space for the multiplier.partial products.
This is an exceptional amount of overhead and and somewhat
over built, and using a bunch of memory cycles to boot.
An even slightly more elegant solution would be to allocate
a storage area for the FPU to use for a single job until
the job ends…
stan mazor CPU designer
Thanks for posting some details about the Symbol project. I think there are many things to be learned from it, though as you point out some of them are negative. It reminds me of the quote by Catherine Aird -
If you can’t be a good example, then you’ll just have to be a horrible warning
I suspect Symbol is not talked about due to having its place as a horrible warning taken over by Intel’s iAPX432.
A friend had a book (looking for a reference I found an online copy of a book that seems to include the material from the book I was thinking of in addition to things from other books I am familiar with) where each chapter described an interesting computer architecture. There was a chapter on the Symbol but since he only lent it to me for a very limited time and I was focused on the Xerox Alto I was only able to quickly glance at the Symbol stuff.
I worked for Rex at a startup in the early 80s ( that failed partially because of a flawed understanding of how the semiconductor industry worked). I believe he was working on a more modern version of it after he retired. I volunteered in the Computer Histoey Museum warehouse cataloging donations that had been tucked away for years when I was presented with a very odd looking PC board: deep blue, instead of the usual green, edge connectors on 3 sides ( think about how you plug that in!) identified only by “Fairchild Computer Systems Division”. I said
“Fairchild made chips, not computers…
Except for one:Symbol.
And the only one made is in an aisle over there”.
We wandered over, and sure enough, it fit perfectly into the chassis
.
Rex was the inventor of the DIP package, and the Zero-Insertion-Force connector that allowed those boards to plug into 3 backplanes simultaneously.
I did a web search to see what else that Fairchild Sivision might have made, and the only thing
I found was an IBM/360 replacement memory card, so I was pretty sure that the board was from Symbol.
I also rummaged through the donation record, and found a list of employees on the project and was shocked at the number I had worked with at various times.
I think it listed Rex’s boss at Fairchild as Gordon Moore .