[HN Gopher] Reverse-engineering a mysterious Univac computer board ___________________________________________________________________ Reverse-engineering a mysterious Univac computer board Author : picture Score : 87 points Date : 2022-04-03 17:15 UTC (5 hours ago) (HTM) web link (www.righto.com) (TXT) w3m dump (www.righto.com) | tyingq wrote: | The real-life "spaghetti code" visual is pretty neat: | https://upload.wikimedia.org/wikipedia/commons/b/b7/IBM402pl... | zw123456 wrote: | Always thanks to Ken for all the fun "memory" lane stuff. | | That board reminded me of an old PDP1 board from way back when I | was doing undergrad in the 1970's and we had a "junker" PDP1 that | no longer ran (replaced with new PDP8) but people would salvage | things off it. It had that same old timer Resistor, Diode, | Transistor type logic circuits on it. | | Would love to see some of the old PDP's stuff reversed engineered | if they have any of it around there. Ken if you take requests :) | quercusa wrote: | That plugboard brings back long-suppressed nightmares of bad | wire-wrapping jobs. | GrumpyNl wrote: | I still have one, given to me by IBM. Nice decoration piece. | marcodiego wrote: | "many customers found plugboard programming easier than | programming with code, both because they were more familiar with | it and because it is visual and direct." | | If your program has only 31 steps, I'd also would prefer to | program it using a plugboard panel. | rep_lodsb wrote: | Seems like it quickly turns into spaghetti code: | | > https://static.righto.com/images/univac-board/plugboard.jpg > | A plugboard for the Univac 1004. This board was used for | payroll consolidation from 1965 to 1972. | aftbit wrote: | Today I learned about excess-3 encoding, from footnote 10 in the | linked article. Its interesting to see how clearly the early | computers were intended to work with decimal while retaining the | simplicity brought by using the two signal levels of binary. | Footnote reproduced here: | | The computer uses excess-three encoding for digits, adding 3 to | the value before converting to binary. For example, 6 is | represented as binary 1001. The advantage of this encoding is | that flipping the bits yields the 9's-complement decimal value, | simplifying subtraction. For example, flipping the bits of 6 | yields binary 0110, which is 3 in excess-3 notation. Excess-3 | representation also handles carries correctly; if you add two | numbers that sum to 10, the excess-3 values will sum to 16, | causing a binary carry. To convert the sum to excess-3, The value | 3 must be added (if a carry) or subtracted (if no carry). | | To see how addition works with excess-3, 2 + 4 in excess-3 is | binary 0101 + 0111 = 1100. Subtracting 3 yields 1001, which is 6 | in excess-3. But 2 + 9 is binary 0101 + 1100 = 10001, generating | a carry out of the 4 bit value. Adding 3 yields 0100, which is 1 | in excess-3. Considering the carry-out, this is the desired | result of 11. | kragen wrote: | Some early computers, as early as the 01940s, used binary; | others used decimal, typically BCD but sometimes excess-3 BCD | or one-hot encoding. Knuth's MIX was originally specified to be | either binary _or_ decimal, as you prefer, but by the later | volumes of TAOCP he switched to requiring binary for things | like tries. | | Typically an early (pre-01960) computer was either "scientific" | or "business". A "scientific" computer was binary, had word- | oriented memory of at least 16 bits width and sometimes as much | as 60 or more, was measured by its calculation speed, and had | floating point. (Some didn't even have separate integer | arithmetic.) A "business" computer was decimal, had character- | oriented memory of 6-9 bits, was measured by its I/O speed, and | had only integer arithmetic, or not even that (as in the case | of the IBM 1620). These categories were blurring a lot by the | 01960s, and the IBM 360 largely put an end to the division: it | had 8-bit-wide memory, 32-bit-wide CPU registers, floating | point and binary integer and binary decimal arithmetic, and | different binary-compatible models with varying degrees of | speed at I/O and calculation. A few years later there were even | models that supported paging and timesharing. | rst wrote: | The 1620 was an odd duck: variable-word-length decimal, as | you point out, but targeted at the scientific market -- there | was even a variant, sold as the 1710, which added extra | hardware for industrial controls. (The 1401 and its | successors were the nearly-contemporary low-end business | models; there are a bunch of differences, but perhaps the | most significant is that a single 1401 memory location could | hold a decimal _or alphabetic_ character; the 1620 's memory | locations were digits, which had to be paired when | representing characters, making coding for anything involving | character data a whole lot more awkward.) | kragen wrote: | Oh my. I had no idea. Thank you. | kens wrote: | Yes, the IBM System/360 was designed to support the full | 360deg circle of applications (scientific and business), | which was a rather revolutionary idea at the time. | kragen wrote: | Exactly! But in terms of design, there were earlier | machines that spanned the gap like the astounding Burroughs | B5000, which was marketed almost entirely to businesses | (because that was the Burroughs customer base), but with a | 48-bit word length and floating-point-only arithmetic, and | including both "numerical" and "character" instruction set | operating modes. The first delivery was, I think, to NASA. | | Also, as Robert points out in | https://news.ycombinator.com/item?id=30900280, the earlier | IBM 1620 was similarly ambiguously positioned. | tenken wrote: | Why do you reference a year via 01960 or 01940? ... Surely | you don't mean Hexadecimal... You won't live past 20x0 so why | the importance? | krallja wrote: | Y10K compliance. | | https://longnow.org/ideas/02013/12/31/long-now-years-five- | di... | allenrb wrote: | Like aftbit, I also learned about excess-3. It's amazing to see | what was done to save a few gates back when "a few gates" | wasn't just a 74-series chip, but an entire handmade board. | | But before that, the unidisc blew my mind. I had to do some | further research and then send to a half-dozen friends before | finishing Ken's article. Halfway assumed it was a fake photo | until digging a bit further. Couldn't have looked much more | like a giant 3.5" floppy if it tried. | kens wrote: | Author here if anyone has questions about the board or the Univac | 1004. | prashnts wrote: | Long time reader of your blog, thanks for doing what you do! | | So I've been into "connector technologies" (if that's a thing) | for a while -- more specifically I really admire the simplicity | of edge connectors that nowadays are basically free (except the | higher amount of metal than traces, (gold?) plating etc.). | Anything you'd like to add about these sort of connectors from | this era? Were they reliable in mating-cycle sense? Could you | just casually insert them or was there a specific process? Was | there a standard? | | As you can see I don't have a precise question, I'm looking | more towards the considerations that an engineer at that time | would have to take into account. Unfortunately it's not very | easy to google this these days. | kens wrote: | The IBM 1401 team analyzed the gold on the SMS card edge | connectors and found they have 100 microinches of gold, which | is a lot by modern standards: | http://ibm-1401.info/SMS_Tabs_IBM_Report_Dec2007.pdf | | The connectors were generally reliable; I don't think we've | had any problems with them. You could clean them with | isopropyl alcohol if necessary. There was one IBM manual that | described a process for removing SMS cards where you'd put a | punch card on either side of the board to protect the board | against catching on neighboring boards, and then use a | special puller to remove the board. But we just pull the | boards out by hand without problems. | chiph wrote: | Not about the board, Ken. But I am curious about how you have | the time to work on projects with the Computer History Museum | and with Marc on his projects. Seems like you're a very busy | man. :) | kens wrote: | The secret to having enough time is to retire :-) | Animats wrote: | Oh, the UNIVAC 1004. Those were often used as peripherals for | UNIVAC mainframes. | | My UNIVAC 1004 story.[1] | | [1] | https://hardware.slashdot.org/comments.pl?sid=957001&cid=249... | GnarfGnarf wrote: | I worked for Univac and had occasion to work with the 1001 card | reader. The 1004 was also popular as a RJE (Remote Job Entry) | unit and printer attached to the more powerful 1100 series | computers. | | The unit behind the female operator is a row card punch (200 | cards/min.) ___________________________________________________________________ (page generated 2022-04-03 23:00 UTC)