Duke and Beginning at IBM
How did I meet John? I'd been in IBM for a couple years, a normal kind of IBM. You know, wing tip shoes,
that sort of stuff. And then I moved into this project - and I had an office - John was on one
side, another woman by the name of Elaine Boehm, who unfortunately has passed away, was on the other side.
Now, as you know, John was different from many people. Well, John was and Elaine was. And here I come in [straightens
his tie] out of the Ivy League, you know, and I've got these two on either side. And John would show up in the
office and ramble on about something which I thought I was supposed to know - cripes, what am I going to do now?
That's how I first got introduced to John.
We had two desks in the office but it was essentially a one man office because I was in it in the daytime, and
he was in it at night.
He took a doctorate in mathematics, but then did all work in computing. He had a degree in engineering - I believe in
mechanical engineering, with a specialization in refrigeration. I would never wish to have my home air conditioned
[We wanted] to find people with some very special characteristics. We wanted people with the very highest intellect.
We also wanted people with excellent academic credentials in the fields of mathematics, linguistics, that sort.
We wanted to have people who were pleasant to be with, and who made good team people. On the other hand, people who
wouldn't be so overwhelmed by a team they wouldn't be able to do original work, and sometimes bring a team around to a new
direction. And John seemed to be just the kind of person we were looking for.
John had not finished his dissertation, and one of the considerations in hiring him was that he must
finish the dissertation, get his doctorate, and so for the first year or so we were trying to get the most we could
out of John, at the same time push him as hard as we could to finish up his remaining work.
Well, I first knew John Cocke when I walked into a laboratory class in undergraduate physics at Duke University during WWII.
We were both apprentice seamen in the United States Navy. Very unlikely sailors. And we were in a physics
laboratory together. We took other classes together, too. And John, in fact, remembers that better than I do
because he's told more than one person at IBM that the reason I made a better grade than he did in the lab course
is because my girlfriend typed up my lab reports, and nobody typed up his, which were largely illegible, even though
the physics was okay.
After I'd known John at Duke in WWII, of course we both separated and went our separate ways.
I first met John Cocke in the spring of 1951. At that time I was an instructor of philosophy at Duke
University, and was in process of giving the final examination and was proctoring the exam. It was a very
rainy day. Now suddenly this man walked into the room, face dripping with water, went to the blackboard and started asking me
questions about logic, logic being my specialty. That was John.
Well, one of the students in the class was a man named Edgar Toms, who was the son of the president of
Liggett Myers, tobacco company and belonged to the country club. So he and another student would challenge
John and me to a golf game and we would play each afternoon.
So we got into this routine where I would give a lecture on modern philosophy in the morning, which
John would attend, and then the two of us would take on these two boys that afternoon.
Audited a course in modern philosophy. He started to take a course in logic, but he didn't complete
the course because he was called back into military service.
Now I received word that he was sort of on the market from a Mr. Fulham, who is now with IBM, and had been in
the mathematics department at Duke, that John Cocke was available. Now the circumstances of his joining IBM
were the following: we had a project, which was called Project Stretch, that was under Mr. Dunwell. The objective
was that we would build a computer which was essentially 100x faster than the most powerful computer that
existed at the time. This was something which enlisted the resources of the entire laboratory, which was then
centered in Poughkeepsie. The people who were experts in semiconductors were trying to make faster transisters.
The people who were in magnetic cores were trying to make faster magnetic cores, and so on.
Now I had quite a bit of interaction with Mr. Dunwell because, you see, I was a person that knew the most
about logic, and I did have some interaction, so to speak. Now John was going to Boston to interview at
Arthur D. Little, and I learned of this and I said, "Will you come by the laboratory in order to visit me?"
So John came by the laboratory and I went to see Mr. Dunwell and I said, "Now there's this young gentleman coming
by, who I think would be a great asset to your effort.
In order to take theoretical physics, I would have to take a lab.
We had a compound pendulum experiment where they had a big pendulum and a small pendulum that hung from it.
And we thought of a scheme for just having a motor drive a pivot in simple harmonic motion and hang the
second pendulum from the simple harmonic motion and that way we would not have problems with the bigger pendulum
slowing down. In other words, the motor drive and the harmonic motion, it ran as long as we needed to do the
Oh my heaven, there was no comparison. I used to just write my lab reports up very slash dash, and Lewis had
a girlfriend, at the time, who typed his lab reports which were very, very neat, and he drew his drawings very neat
and made much more serious calculations about things. I mean he was much more serious about the lab than I was.
Lewis Branscomb and I were both in V12 during the second world war, and which was a very good deal. The navy
paid for us to go to Duke.
Fred Brooks and Jim Pomerain had desks in the same place that I did, sort of in the hall in the 701 building.
Red Dunwell hired me. I came to visit Brad Dunham at IBM, and Brad said you might like to come to work on our
project. We're building a big computer. And I said that sounds interesting to me.
I remember several things about that conversation. Dunwell was describing the fact that they were going to have
what he called "lookahead" on the computer, and I thought that meant that trace down ahead and examine the instruction
counter, go ahead of the instruction counter, down a whole bunch of different branches. I mean trace out some trees.
which would be fantastically complicated and elaborate. Red said that we didn't have anything quite so
intricate in mind.
I was interested in some problems in symbolic logic and I went to see Brad Dunham at a class he was giving.
On the committee at Los Alamos, which was looking over Stretch, and we later hired him to come into the product
planning department of Stretch, and he and I had a joint project writing a simulator for Stretch.
When I came home, she [Mrs. Cocke] thought I'd been kicked out of school, and actually I had graduated.
My doctorate, not only did she come, but she brought the cook who, at the time that I was walking across the stage,
she leaned over to mother and said, "We didn't think you was going to make anything out of him, did you, Mrs. Cocke?"
I graduated, and I went to Midshipman School, and then Gunnery School, and I went on the Fargo, which was a Cruiser.
I was the assistant to the Fox Division Officier, which is the Fire Control Officer, which meant they had
analog computers to figure out where to shoot the thing.
Later I was called back for the Korean War and I was on the USS Midway, and we made the Med Cruise.
I got out of the Navy and came back to Duke and went back to graduate school in Mathematics.
I knew something. I mean, I didn't seem like just some PhD in mathematics who knew absolutely nothing about computers.
I mean I was someone who was interested in computers and knew something about them.
So I took a programming course down in New York City, which mostly consisted of my ducking out from the lectures and going and
talking to Elaine Boehm about how things should be done. She was a lot better about it than the courses.
That would be a given. She actually knew quite a lot.
I got my degree on Thursday, Nancy and on got married on Saturday and, after a short honeymoon, we went
to the IBM laboratory in Poughkeepsie, where we joined the Stretch project. Steve Dunwell had recruited each of
us, and Nancy was a physicist and circuit analyst. I was a computer architect, and John was a computer architect,
so we all met in a group of about forty people that joined the forty person project that summer.
Well, adding forty people to forty people creates massive project indigestion, and so they left us in one big
bullpen in a training exercise while we learned to program the 704 computer, and the management tried to figure
out who was going to do what.
Well, Steve Dunwell came around to various universities that had computer science programs, whatever they were
called, and explained to us that he was undertaking to build a machine a hundred times faster than the 704.
It would be the world's fastest machine. And all of those who were crazy about computers found that an almost
My first reaction on meeting John was how fine to have another North Carolinian here in this enterprise.
In the Stretch project, we had a chance to build a machine for speed, without worrying about cost, and this drove us to
attempt things that no one had ever attempted before.
That led to John and Harwood's development of the instruction box - execution box - concept of pipelining
of instructions. Dura Sweeney and I worked on the interruption system. Dura Sweeney and John and several others worked
on the floating point - trying to do floating point better than it had been done before. Jim Pomerain and
and others, and Owen McSorley worked on new multiplication abd division algorithms. The whole notion that you could
use circuits to get speed - what can you do with that - was very exciting.
Werner Buckholtz and Jerry Blough and I worked on the character processing part of the Stretch computer, and
on the indexing facilities. And just having the freedom, together with the opportunity to collaborate with real
users who had challenging problems.
The closeness of the collaboration with users, the freedom from limitations on how much power we could bring to
bear, led us to explore many, many ideas that had never been explored before.
Protection, supervisory programming, real time capabilities, long precision floating point, very
powerful character operations, the eight bit byte, lower case characters - many, many innovations in the Stretch
Steve Dunwell raised our sights, and tried to make us see that we were designing a high
performance machine for general applicability. And the fact that a national security agency application was
character oriented, and the Los Alamos one was floating point oriented, made us look over the whole scope of computer
It became a questtion of how could we make a machine that would do the kinds of things that, for example, the Atomic
Energy Commission and the Natinal Security Agency would be having machines for.
Since the hardware had some shortcomings, the memory wasn't as fast as we would like it to be, we
had to, for example, interleave memories. Well, how many memories should we interleave? We finally wound
up with interleaving four memories. And then there was another question. We had a faster - small, faster
cache memory. How much effect would this have? And how would that be balanced against the cost and the
difficulties of designing it.
He, and the others working with him, were breaking new ground. No one - as far as I knew, no one had simulated a computer
in this way before. No one had ever endeavoured to make a computer that multiplexed its operations. In other
words, in all previous computers the total speed of the machine was determined by the speed of the individual
parts, and there had never been a machine in which there were several memories that one could work with with
different cycles, so that one could be reading out of one of these memories some data while one was looking up the
next instruction in another of the memories, if one wanted to get the information. So it was all technically
new ground, and he got in the beginning of it, and dove in and did his part.
There's a very extensive documentation of the Stretch project as to why, for example, why we chose an eight bit
byte, and what the logic was behind that. And that stuck with us and it was a real good choice, and it stuck with
us and we know now what considerations went on with that thing.
Incidentally, it was one of the members of the Stretch project that came up with the word "byte",
that's now in the dictionary.
So one of our people, that was Werner Buckholtz, and I well remember the discussions and how it had to be
spelled "byte" to distinguish it from "bit" and so it would be easily distinguishable.
Werner Buckholtz's book, which put together the most significant of the Stretch documents, was published and
was used extensively in colleges and universities as a guide for the design of future computers. And the USSR
thought well enough of it to have it translated into Russian.
Ralph Palmer, who was then head of the Development Laboratory, called about 20 of us and said that
we weren't going on vacation that year.
Instead of having - the plant had a regular vacation period that we all went - instead of taking
a vacation at that time, we were all going
to get together and decide what we were going to do about the next generation of computers
from the hardware standpoint.
A direct order came down that no one was allowed to be seen with vaccum tube equipment. No one was allowed to
have any on a bench.
If you wanted to work on vaccum tube equipment you had to hide it. Literally. Physically. You had to
hide it. And that was the way in which
the word was gotten through to everybody that if they couldn't fall back on what they knew about
vaccum tubes, if they ran into a problem
with transistors they didn't know how to solve. They had to solve their problem.
The first technology involving fast transisters, and the first technology involving fast ferrite memories
driven by transisters, was actually funded by the National Security Agency.
However, at this point, John von Neumann stepped forward and said, "I would like you to do this at
Was a member of this planning group for the Stretch computer, Stretch being a project between IBM and Los Alamos,
and I was working at Los Alamos at the time, and there was a planning group, and I was a member of the group
from the Los Alamos side. And then later on when I joined IBM, I just changed sides of the table - became
a member from the other side.
Steve asked John to please describe how he saw we could improve the concurrency of operation on the Stretch, and speed it up.
And John started describing this in his usual enthusiasm, and he ended up drawing on all of our napkins timing diagrams, timing charts.
One of his few failings was that the fact that he didn't write, and it was hard to get him to ever write anything.
And I know that when I was working with him, from the period of 1957 to 60, or thereabouts, that
I used to go around, sort of follow him around, taking notes and trying to capture his brilliant ideas as they were bubbling forth.
Stretch was originally designed to have an instruction memory and data memory made out of different technologies.
And our simulation results showed that there was no reason to do this, that you should make them all of the same technology,
which also then made the memories larger, which the customer appreciated.
Awards and Impact
I don't really like characterizing John as the person who invented Risc, but that characterization would be enough to make any other
You know if you were to ask me what is my most memorable picture of John, I would say it's of his suddenly
appearing in my office and starting to talk about everything.
Most people, when they think about John, think about the twenty year fight to bring RISC into the major
product line of IBM, and they view the 6000 and the work that was done on the 801 as a primary success.
But there were a number of things that were as fundamental to the computing industry that John did that
people tend to forget about. Most of the modern concepts of compiler technology were concepts that John
was responsible for seeding throughout universities and IBM.
His career is remarkable in that sense because most scientists are absolutely dependent on written
publications. You know, you don't exist unless you publish. John has had this unqiue ability to think up the ideas
and get other people to write them down. It's that his ideas are so good that you can't stand that they shouldn't be
The ability to see into the future and to perceive what is going to be important in technological development and
to see what the real balance of things is. Still very instructive.
That is a prime source for a number of key ideas in the computer field. He really is the key inventor of
modern optimization technology.
But his most distinguished work on the software side by far
is the origination of the compiler optimization technology. And that
then was taken up by quite a number of people. It was published. It became known through Fran Allen's writings.
A little school of compiler optimization was built up at NYU because I had had contact with John, and
so I knew about that technology and teach it in compiler courses. And other people, like Ken Kennedy, and
Ken Kennedy's students, all sort of flow out of that stream of ideas.
The things that he has recently brought to fruition are things that he was already thinking about in 1967.
But it's taken a while for the world to catch up, and for the technology to make everything feasible.
I would think of John's most important contribution as being the compiler optimization technology.
If John is still remembered in 3000, he'll be remembered as the originator of these optimization techniques
still being used in quite different settings and highly transmogrified forms.
For any young person looking at John's career, it's very natural to ask the question, "What does this mean to me?
It was all fine for John. He had these opportunities a third of a century ago. He's taken advantage of
them over this third of a century, but what lies ahead? Do I have an equal opportunity?" And it seems to me
that people do. It isn't to say that everytime is as good as any other. Shakespeare said that there is a tide
in the affairs of men which, taken at the flood, leads on to fortune. That was true when John came with IBM.
We were at one of those periods of very rapid change, and he used that opportunity and other people used that
opportunity. It seems to me that we're really at the same point. The tide is now turning and we have opportunities today
that we didn't have ever before. These opportunities come in slightly different directions.
It seems to me
that they're primarily in the field of software. And that there is as much opportunity today for influencing the
future by the development of new and better software techniques, as there was at that time in the things that John did.
Well, I think John's probably single most contribution to computer science is the one that has been recognized by the
Turing Award, and that's for computer architecture of very high performance machines. And really the unique
copmbination of machine architecture and compiler technology, the marriage of which makes for a very effective
Well, I had the actual honor to be John's manager at the time when he received the Turing Award.
John is not what you would call a person who sits down
at desk for any length of time. On the other hand, the Turing Award has a great tradition.
You have to submit a paper, which is subsequently published, and there's an interview, and so on.
And we all felt that this would be an important thing for John to have such a paper. So
John and I sat down and, you know,
I would walk with him and solicit what he would really like to say. And, eventually - as a matter of fact, Al Chang would join us and
Fran Allen - and we reconstructed something that was really fascinating to me, because I didn't know many of the things - how, chronologically,
John's ideas developed over the years.
And I think his Turing Award paper, which is really the essence of his quest for high performance, in which it's
quite clear that as early as the 1960+ he had the very clear idea in his head of what IS a very high performance
computer. All he had to wait for the technology to make it really possible.
I think John's impact on the field of computing is seminal, pervasive, profound. Will be enduring.
From what I understand, a lot of John's contributions in circuit simulation and parallel machines are having a great
impact in IBM and, I guess, indirectly in many other places. And I think there is hardly anything that I know
of in the whole computing spectrum at Yorktown, at least as it was until 1980 when I left, that John didn't
influence in a positive way, whether it was a project of signature verification or speech recognition, or
signal processing architectures, or any of the other activities that related to either system architecture, machine
design, or software systems. So John's influence in IBM - I find it hard to believe there's ever been a person
in the company that influenced so many people in so many different areas. So I would hope that IBM will build
a big statue to John someday because I think he's been one of the most important people, certainly in the
last twenty-five years in the computing [field].
John has been, as much as anything else, a catalyst for great work in many fields, for example, in
mechanical engineering in disk business on the other side. He made a very important role in a lot of those developments,
even though, perhaps, some of the final work in inventions weren't his own.