Cyhist Feb 15 1997 C
Date: Sat, 15 Feb 1997 19:59:48 -0800
Reply-To: les@cs.stanford.edu
Sender: "CYHIST Community Memory: Discussion list on the History of
Cyberspace" <CYHIST@MAELSTROM.STJOHNS.EDU> From: Les Earnest <les@STEAM.STANFORD.EDU>
Subject: CM: Emulation vs microcode
______________________________________________________________________
Community Memory: Discussion List on the History of Cyberspace ______________________________________________________________________
At the end of an earlier posting about the fact that the TX-0 computer used microcode, I said:
The main designer of TX-0 was a young engineer named Ken Olson, who a short time later started a small company called Digital Equipment Corporation.
I subequently received a gentle correction in the form of email from Wes Clark, a former colleague at MIT Lincoln Lab and a true pioneer of computer architecture. Wes is too modest to blow his own horn but I managed to talk him into letting me forward his informative notes, which follow.
-Les Earnest
------------------------------------------------------------------
From: "Wesley A. Clark" <wac@ClarkRockoff.com> To: les@steam.stanford.edu
Subject: TX-0 & TX-2
It's been fun watching people rediscovery history, hasn't it? I've very much enjoyed your responses to the various inquiries on this and that. But there are a couple of facts that aren't quite right yet.
It's not quite accurate to say that Ken Olsen was the main designer of the TX-0 (or the TX-2, for that matter), though this nicely set the stage for your laconic observation re DEC. Ken's work was entirely in the *engineering* of both of these machines, which was superb. But ordinarily one distinguishes between engineering and *architecture*, no? And indeed it was yr. hmbl. svt. who thought up and "architected" these machines. I had a lot of help with the TX-2, of course; Jim Forgie, John Frankovich, and Phil Petersen were the main members of my team, as reported in the literature.
Ken and I had first proposed to the Division management that we be authorized to design and build what I called the TX-1, which was to have been a large gadget of many unknown circuits and Bill Papian's new 65Kword, 36-bit magnetic-core memory, which was then in the works without a home. The management -- primarily Bob Everett and Norm Taylor -- said no. Too big, too new for a fledgling group in advanced computer development that hadn't yet earned its stripes (though Ken had already engineered MTC -- the Memory Test Computer -- for Papian's first and second memories, (1K, 16-bit & 4Kword, 16-bit). So we put it on hold and rethought our program. [The Tx-1 design was inspired by the giant, awkward SAGE computers that the rest of Lincoln was busy putting together with the expert help of IBM -- inspired, but quite different in features. I had thought up the multi-sequencing gimmick, for example, and was eager to include a rich arithmetic unit as well -- including the multiple sub-word structure that now appears in Intel's MMX.]
My response was the TX-0, which was the simplest thing I could think of. Yes, it had a form of microcode -- though I'm not sure it was the first machine with this feature. Just after we had begun to build the darn thing, I attended a seminar at MIT that was devoted to discussions of some new work in England on the subject, and I don't remember just how far along the Brits were at the time; in any case, I kept my mouth shut -- to the dismay of my colleagues -- as we heard about the wonderful promise of microprogramming. [At a later seminar, where John Cocke and I were the principal lecturers, I described in complete detail an even simpler machine and demonstrated its Turing-equivalence, after which John went home and "invented" RISC.] Ken had wanted instead to build a transistor version of MTC, and I think never quite recovered from his disappointment that the TX-0 wasn't at the MTC level, which was about that of the Whirlwind machine.
So we built the TX-0 -- 65Kword, 18-bit memory -- while Papian completed the "top" half of the larger memory, and then went on to design and build the TX-2, which included the main features of the rejected TX-1 and then some. Little known fact: It was Ken's impatience with the final long year of TX-2 work, taking so much effort as it did to work out the details of the arithmetic unit, that helped to send him forth to seek his fortune with the new start-up, DEC. Ken's conviction that computers ought to be "stamped out like television sets," as he put it (meaning that they ought to be simple, easily-manufactured units, not that they ought to be eliminated, of course) continued to drive him and his company throughout its long and amazing history.
To be more accurate historically, then, Ken was the principal engineer of the TX-0 (and the TX-2) and I was the principal architect.
Keep those responses a-comin'!
-- Wes
P.S. Ken did build a transistorized version of the MTC, the PDP-1. Its principal architect was Ben Gurley, and I helped him from time to time.
----------------------------------------------------------------------
In my response to Wes I said:
I didn't know that PDP-1 was modelled after the MTC. I knew that it had a number of similarities to TX-0. However, as I recall the MTC was an asynchronous machine whereas I thought the PDP-1 was pretty much centrally clocked.
Wes replied as follows.
----------------------------------------------------------------------
Yes, the PDP-1 was modelled to some extent after the *modified* TX-0, the form in which we sent the machine to the campus. The modified TX-0 had 4Kwords, 18-bit, and pretty much the MTC/Whirlwind order-code. The memory was a new transistorized unit built by Papian and friends.
I forgot to tell you that the MTC architects were Harlan Anderson [subsequent co-founder of DEC, who didn't stay there very long. -Les] and Bill Hosier (who designed the clock-free control by stringing together chains of delay units each of which took in a pulse and delivered a delayed pulse in response, with the delay settable by panel-knobs). Hosier also wrote an MTC emulator that ran in the MTC itself, and named this type of operation "periphrastic" -- a delicious word probably never seen before or since. This was in 1953-4, so pretty early. We used Hosier's program in diagnostic work, though not often. I believe that Whirlwind had a similar program, probably written earlier. No doubt other academic computers around the world had similar emulators. Emulation is an old art; Turing did it first (though he didn't describe it that way).
I was very mindful of the ease of designing control circuits using delay lines or whatever, and this greatly influenced my thinking about control structures in the subsequent macromodular systems work my group took with it to Washington University in St. Louis (after I had been fired by MIT for the second of three times for insubordination).
By the way, in 1962-3 the entire assembly-program/operating-system for the LINC, LAP-3, was written and debugged on a LINC emulator running on the TX-2. The work was done by Mary Allen Wilkes, who did a remarkably fine job. We ran LAP-3 on the real LINCs shortly thereafter.
-- Wes
Followed by a postscript:
-----------------------------------------------------------------------
I happened to look up "periphrastic" in my new dictionary, expecting to find nothing. But it's there, along with "paraphrastic" (I wasn't sure which one Hosier had used) and the meanings of both words seem applicable to the emulation mode of operation. Both remain delicious.
-- Wes
______________________________________________________________________
Reply-To: les@cs.stanford.edu
Sender: "CYHIST Community Memory: Discussion list on the History of
Cyberspace" <CYHIST@MAELSTROM.STJOHNS.EDU> From: Les Earnest <les@STEAM.STANFORD.EDU>
Subject: CM: Emulation vs microcode
______________________________________________________________________
Community Memory: Discussion List on the History of Cyberspace ______________________________________________________________________
At the end of an earlier posting about the fact that the TX-0 computer used microcode, I said:
The main designer of TX-0 was a young engineer named Ken Olson, who a short time later started a small company called Digital Equipment Corporation.
I subequently received a gentle correction in the form of email from Wes Clark, a former colleague at MIT Lincoln Lab and a true pioneer of computer architecture. Wes is too modest to blow his own horn but I managed to talk him into letting me forward his informative notes, which follow.
-Les Earnest
------------------------------------------------------------------
From: "Wesley A. Clark" <wac@ClarkRockoff.com> To: les@steam.stanford.edu
Subject: TX-0 & TX-2
It's been fun watching people rediscovery history, hasn't it? I've very much enjoyed your responses to the various inquiries on this and that. But there are a couple of facts that aren't quite right yet.
It's not quite accurate to say that Ken Olsen was the main designer of the TX-0 (or the TX-2, for that matter), though this nicely set the stage for your laconic observation re DEC. Ken's work was entirely in the *engineering* of both of these machines, which was superb. But ordinarily one distinguishes between engineering and *architecture*, no? And indeed it was yr. hmbl. svt. who thought up and "architected" these machines. I had a lot of help with the TX-2, of course; Jim Forgie, John Frankovich, and Phil Petersen were the main members of my team, as reported in the literature.
Ken and I had first proposed to the Division management that we be authorized to design and build what I called the TX-1, which was to have been a large gadget of many unknown circuits and Bill Papian's new 65Kword, 36-bit magnetic-core memory, which was then in the works without a home. The management -- primarily Bob Everett and Norm Taylor -- said no. Too big, too new for a fledgling group in advanced computer development that hadn't yet earned its stripes (though Ken had already engineered MTC -- the Memory Test Computer -- for Papian's first and second memories, (1K, 16-bit & 4Kword, 16-bit). So we put it on hold and rethought our program. [The Tx-1 design was inspired by the giant, awkward SAGE computers that the rest of Lincoln was busy putting together with the expert help of IBM -- inspired, but quite different in features. I had thought up the multi-sequencing gimmick, for example, and was eager to include a rich arithmetic unit as well -- including the multiple sub-word structure that now appears in Intel's MMX.]
My response was the TX-0, which was the simplest thing I could think of. Yes, it had a form of microcode -- though I'm not sure it was the first machine with this feature. Just after we had begun to build the darn thing, I attended a seminar at MIT that was devoted to discussions of some new work in England on the subject, and I don't remember just how far along the Brits were at the time; in any case, I kept my mouth shut -- to the dismay of my colleagues -- as we heard about the wonderful promise of microprogramming. [At a later seminar, where John Cocke and I were the principal lecturers, I described in complete detail an even simpler machine and demonstrated its Turing-equivalence, after which John went home and "invented" RISC.] Ken had wanted instead to build a transistor version of MTC, and I think never quite recovered from his disappointment that the TX-0 wasn't at the MTC level, which was about that of the Whirlwind machine.
So we built the TX-0 -- 65Kword, 18-bit memory -- while Papian completed the "top" half of the larger memory, and then went on to design and build the TX-2, which included the main features of the rejected TX-1 and then some. Little known fact: It was Ken's impatience with the final long year of TX-2 work, taking so much effort as it did to work out the details of the arithmetic unit, that helped to send him forth to seek his fortune with the new start-up, DEC. Ken's conviction that computers ought to be "stamped out like television sets," as he put it (meaning that they ought to be simple, easily-manufactured units, not that they ought to be eliminated, of course) continued to drive him and his company throughout its long and amazing history.
To be more accurate historically, then, Ken was the principal engineer of the TX-0 (and the TX-2) and I was the principal architect.
Keep those responses a-comin'!
-- Wes
P.S. Ken did build a transistorized version of the MTC, the PDP-1. Its principal architect was Ben Gurley, and I helped him from time to time.
----------------------------------------------------------------------
In my response to Wes I said:
I didn't know that PDP-1 was modelled after the MTC. I knew that it had a number of similarities to TX-0. However, as I recall the MTC was an asynchronous machine whereas I thought the PDP-1 was pretty much centrally clocked.
Wes replied as follows.
----------------------------------------------------------------------
Yes, the PDP-1 was modelled to some extent after the *modified* TX-0, the form in which we sent the machine to the campus. The modified TX-0 had 4Kwords, 18-bit, and pretty much the MTC/Whirlwind order-code. The memory was a new transistorized unit built by Papian and friends.
I forgot to tell you that the MTC architects were Harlan Anderson [subsequent co-founder of DEC, who didn't stay there very long. -Les] and Bill Hosier (who designed the clock-free control by stringing together chains of delay units each of which took in a pulse and delivered a delayed pulse in response, with the delay settable by panel-knobs). Hosier also wrote an MTC emulator that ran in the MTC itself, and named this type of operation "periphrastic" -- a delicious word probably never seen before or since. This was in 1953-4, so pretty early. We used Hosier's program in diagnostic work, though not often. I believe that Whirlwind had a similar program, probably written earlier. No doubt other academic computers around the world had similar emulators. Emulation is an old art; Turing did it first (though he didn't describe it that way).
I was very mindful of the ease of designing control circuits using delay lines or whatever, and this greatly influenced my thinking about control structures in the subsequent macromodular systems work my group took with it to Washington University in St. Louis (after I had been fired by MIT for the second of three times for insubordination).
By the way, in 1962-3 the entire assembly-program/operating-system for the LINC, LAP-3, was written and debugged on a LINC emulator running on the TX-2. The work was done by Mary Allen Wilkes, who did a remarkably fine job. We ran LAP-3 on the real LINCs shortly thereafter.
-- Wes
Followed by a postscript:
-----------------------------------------------------------------------
I happened to look up "periphrastic" in my new dictionary, expecting to find nothing. But it's there, along with "paraphrastic" (I wasn't sure which one Hosier had used) and the meanings of both words seem applicable to the emulation mode of operation. Both remain delicious.
-- Wes
______________________________________________________________________