Thursday, August 25, 2016

How did the KI-10 do paging? (A long post - with history and motivations

Sent: Tuesday, August 23, 2016 5:49 PM
This back dated post gets me to current 

OK I am a little bit ahead of myself, but if I’d ever stayed on track in life I’d be a different guy. For example, I should be working RIGHT NOW and not writing this note. The goal is to do this project in retirement, but here I am spending time on it, which probably delays my retirement. (That’s how I roll)

So, I have been researching parts for my “KI clone” When I was at Fermi I learned a lot about ”bipolar” TTL logic and the KI was mostly made out of that stuff, so it was pretty easy to get into it when I went to KI school in Marlboro.

This project rattling around in my head is to build one similar, but a bit more advanced and smaller (because who needs that big a box in their living room). Why? Because I want to say I engineered a computer. It was not so different for Alan Kotok. (No, not comparing myself ). The point being, there was a KA-10, so when he designed the KI-10, it was kind of just an upgrade.

While doing this, I have come to some realization that it is almost 40 years later, and I feel a bit like I’ve been in a coma for a while.
What I know for sure is that a number of my life decisions were fear based. Path’s I didn’t take because they seemed ‘hard’ or might require work I was unwilling to do at the time. So, I didn’t go to Engineering school, I went to Tech school. I had good success at Dec, but I didn’t study for the next level of support at Dec because that seemed like too much work at the time. So I went to work setting up pioneering PC networks because I could bring mainframe expertise to that world.

I ended up having my successes and finding things to study and excel at, but felt that I had avoided certain paths.   Here we are, 40 years later. I have made a living solving technical problems for people for all of that time. I am getting ready to retire. It’s time to design a computer, like maybe I wanted to do so long ago, and never got to.

The industry has passed me by. This machine was obsolete 25 years ago.  There are others whom I have read about, who have already done what I am working on. Foonley designed the “Ten on a Desk” and sold some many years back. Another company Systems Concepts made even more advanced ones.  That’s not the point. The point is showing that I could. Maybe it counts less. There is less cost to failing now, life will go on. But, I’d like to say I did it.

So my plan is to re-engineer this thing. It will have the KI-instruction set (maybe with KL additions) and have somewhat of a similar data flow, but virtually none of the original components will be used. It will be mostly SSI integrated circuits, but several years newer than the original bipolar chips that were used in the KI. Where convenient, I will use some LSI memory to reduce chip count in that area. I also plan on micro coding the processor. Hopefully this will reduce some of the instruction decode logic, and it will allow me to fix some errors that I make.

The original 74xx series is what is mostly in the KI.
A word here about these IC’s. Integrated circuits. DEC (Digital Equipment Corp.) did not ( in the early days) make their own electronic parts. They purchased commercially available parts from what is known as ‘the merchant vendors’. These are the semiconductor houses which turned into the IC makers, which sold standardized parts to anyone building electronics. These were the Fairchild's, Motorola’s , Signetics' and Texas Instrument crowd, later joined by Intel and Advanced Micro Devices.
The point being that DEC didn’t make IC’s they bought easily available standard stuff. (cheaper)

A few years later the industry came up with 74LSxx. This was “low-power Schottky”. Faster, with about the same power consumption.
Then they came up with CMos, which was much lower power consumption, but slower.
Finally there were 74HCTxx chips. “High speed” CMos (low power) TTL compatible, so you could mix it in with other TTL chips.
So the machine will be mostly 74HCTxx chips and require far less power than the original.
And let me add that while one company may have done the R&D on a design, they usually gave or licensed it to the others, because companies wanted to know there was more than one supplier for every part.

About reducing chip count. Well before that lets discuss Dec modules. The modules were originally like the chips which followed them. The point being that you got a unit that did some small function, and then wired a bunch of them together. The modules in the KI were small, so you needed a lot of them to get higher functionality. So, there was a significant amount of space wasted, as compared to putting more chips on a larger board. This is in fact exactly what Dec did with all of its later machines. It increased the size of the boards by 10 times or more, to reduce wasted space, reduce board count and get to smaller systems.

Seems like I was gonna talk about chip count. There are several factors that will dramatically reduce chip count.
The KI was built with fairly early TTL chips, so for example the registers are mostly made out of 7474 chips. This venerable chip is 2 flip-flop’s. That is, it is “2 bits’ of whatever register we are taking about. So in a KI (36 bit word), you need 18 of these for EACH register. AR reg, BR reg,, PC reg, ARx reg, and so on.

I will be using mostly 74HCT574 chips. These are 8 bit chips. So the chip count for each KI register will go down from 18 / register to 5 / register.
Also, these chips have “tri-state” output. This means you can turn on only the output of the register you want to affect the next step. This allows the elimination of most of the “input mixer” chips. Voila!

One final tangent. Following this discreet logic came FPGA’s. These ‘Field Programmable Gate Arrays’ got more logic on a chip, so density went up and could lead to smaller designs. And then of course, we get to LSI. There is no reason why the whole PDP-10 could not be on a chip, and I believe one or 2 companies already did that. So again, I’m not creating a state of the art computer. It will, however, allow me to do all of the design work necessary for that process, and I believe it will be affordable for me to produce, which would not be the case were I to actually have someone fabricate a chip for me.

About the AC’s (or sometimes referred to as fast memory). The KI used the available at the time 7489 chip. It is a 16 word by 4 bit memory chip. So 36 of these chips were necessary to make 4 sets of 16 (36 bit) accumulators. Turns out they never made a bigger bipolar memory chip. (I think too much power, heat, etc) So, I have found some really high speed CMos static ram which could be used I haven’t decide which for sure yet, but it will probably be a 2k by 8 bit chip. So my chip count goes from 36 down to 5. Yes, you read that correctly. I need 64 words and will have 2048 words, so virtually the whole chip will be wasted. But it will take less real estate!

I am doing something similar with memory, having found a good 512k x 8 bit static CMos chip, I should be able to get a full 4M word PDP10 memory on a single board.

There are significant engineering and timing tests that will need to be done along the way, but I am making headway in defining the technology I will be using. I have actually started purchasing sample quantities of the chips, and they should start coming in soon. A lot of this is coming from somewhere in China, because somehow there are still stocks of some of this old stuff there. I have purchased some stuff on Alibaba. (Maybe if I did not get scammed [ more later] )

==============================================
Oh yeah, I started this with a question about KI-10 paging. The reason for that is that there are basically 2 things which  have been difficult (or impossible) to find regarding this KI-clone.

One is a Quicklatch connector. This (as you may recall) was the connector for the cables to the memory bus AND the I/O bus. I have not yet found one. IT was a fairly large clunky connector. Was not Mil-spec. Clearly hasn’t been used by anyone in years. So, how my processor would connect to any “KI peripherals” remains to be seen. It isn’t clear that I have to connect it to “real” peripherals. I could do emulation on various levels to replace them, but that is a decision for far down the line. Maybe I’ll come across an old MA10 memory  somewhere and get the connectors.

The second item which is unavailable has to do with the paging system. If you remember your KI-10 class, it had “associative memory” or sometimes called content addressable memory. This is memory you can load with a data word and then “read” the memory to see if that data word exists. Significant time was spent explaining this. The point was you could load a page address in there when that page was available in memory. So this memory  would tell you if a page did NOT exist meaning you had to drag it in from the disk. (paging)

Dec was pretty proud of this technology. Associative memory. Turns out, maybe they were the only ones. They had a special chip custom made for them! The DEC2104 chip. I believe it was made for them by Intel. There were 3 DEC2014’s on a DEC M260 “magenta” flipchip board. There were 8 Dec M260’s in the KI for a total of 24 DEC2104 associative memory chips.

These, in combination with the (8) M250 scratch pad modules, made up the bulk of the paging system. The M250 is somewhat noteworthy in that it ALSO had a custom chip. The DEC9035. This was an oddly designed 16 x 4 bit memory chip. This is noteworthy as it appears in the KA10 as the fast memory! Yes the KA10 had these TTL IC’s! Anyway, these are replaceable by some other memory chip.

The DEC2104 however is pretty lonely. So far in my research, none of the "Merchant suppliers" came up with any similar CAM in that technology, so DEC was apparently somewhat isolated in how they were managing paging. I could make an equivalence using some random logic, but that seems like it would take my chip count in the wrong direction(more). I have found one chip that was made (later) by Advanced Micro Devices for a while. The AM99C10. It was meant to manage (I think) Ethernet address’s and bridges. I think I can get some from China. I need to see if I can make it do the job.

No comments:

Post a Comment