Go Backindex biographiesgo to home page
John Cocke

30 May 1925, Charlotte, N.C., USA

16 July 2002, Valhalla, N.Y. USA

 



John Cocke


principal papers

 

hardware

 

software

 

keywords
RISC, compilers



related subjects

Achievement

Chief designer for the RISC chip architecture at IBM

 

Biography

Born on May 30, 1925, Mr. Cocke was raised in Charlotte, N.C. His father, Norman Cocke, was the president of the Duke Power Company and a trustee of Duke University. John Cocke's curiosity, which would prove so valuable later in his life, was evident early. As an adult, Mr. Cocke once recalled that when he was given his first bicycle at the age of 6, he dismantled it within a few hours, much to the chagrin of his mother, Mary. Mr. Cocke joined I.B.M.'s research labs in 1956 after he received a doctorate in mathematics from Duke, and he remained with the company until he retired.

Mr. Cocke (rhymes with "sock") was the principal designer of the type of microprocessor that serves as the engine of most of today's large, powerful computers and the Apple Macintosh personal computers. Machines using his chip design — a simplification of the hardware, which opened the door to faster computation — are reduced instruction-set computers, or RISC.
Advertisement

Throughout his long career as a researcher for I.B.M., Mr. Cocke was also responsible for a host of other innovations. He was a leader in the arcane but vital field of designing more efficient software compilers — the software that translates instructions written in a programming language understood by human programmers into the vernacular of all computers, the 1's and 0's of digital code. Mr. Cocke also came up with ideas that helped advance fields as diverse as speech-recognition technology and data storage.

In computer science circles, Mr. Cocke was renowned for the breadth of his intellect, his energy, his insights and his unconventional working methods.

A former colleague, Paul M. Horn, who had joined I.B.M.'s research labs after a career as a physics professor at the University of Chicago, recalled that when he worked on weekends, Mr. Cocke was invariably in the labs. The senior researcher, Mr. Horn recalled, would drop by and engage the newcomer in long discussions of the finer points of unification theory in physics. "John Cocke knew as much about high-energy physics as I did, and it wasn't even his field," said Mr. Horn, who is the director of I.B.M.'s research division.

Even after he retired in 1992, Mr. Cocke always displayed "a wonderful childlike curiosity — he was interested in everything," recalled R. Andrew Heller, who collaborated with Mr. Cocke on the RISC technology, beginning in the late 1960's.

The RISC chip design, experts say, was a striking example of Mr. Cocke's defining attribute. His deep understanding of both the computer hardware and software, and their interaction, often enabled Mr. Cocke to pierce through the complexity of computer problems with fresh insights.


cocke with prototype server pic IBM

The "Father" of RISC architecture

Among his many achievements, he was named IBM Fellow, the company's highest technical honor, in 1972, he also won National Medal of Technology, the Turing award and was awarded the National Medal of Science in 1991 by President Bush. Over his lifetime as a scientist, he made unique and creative contributions to information technology through his innovative developments in high performance system design.

His expertise in achieving high performance for a broad range of scientific applications led to remarkable advances in compiler design and machine architecture that culminated in his invention of the Reduced Instruction Set Computer (RISC) --- which profoundly affected the broad field of information technology. RISC is the basis for a Unix systems market that last year was $22.3 billion, according to industry analyst group, IDC.

"His tenure at IBM spanned an amazing time, 1956 to 1992," said Peter Capek, John's colleague at IBM and close friend. "His career was unusual in its breadth. He was known for his work in computer architecture, but he was interested in everything -- circuits, storage, compilers -- any technology that could advance the state of the art."

John is a founder and key innovator of the technology of compiler optimization, now used systematically throughout the computer industry to enable computers programmed in higher level languages such as FORTRAN, C, PASCAL and others to reach levels of efficiency comparable to -- and in some cases exceeding -- the levels of efficiency reachable by much more expensive and time-consuming programming techniques closer to the machine's instruction set.

from the IBM archives:

John's concept of the RISC resulted from his detailed study of the trade-offs between high performance machine organization and compiler optimization technology. He recognized that an appropriately defined set of machine instructions, program controls, and programs produced by a compiler -- carefully designed to exploit the instruction set -- could realize a very high performance processor with relatively few circuits. Critical to the success of RISC was the concept of an optimizing compiler able to use the reduced instruction set very efficiently and maximize performance of the machine. John's RISC concept was contrary to the established direction of the functionally more complex instruction sets and machines. RISC was a fundamentally new concept in system design.

The first RISC Machine was developed as part of the 801 Minicomputer Project. John contributed many detailed innovations in the 801 processor and associated optimizing PL.8 compiler, which was a redesign of the PL/1 compiler. The PL.8 compiler contained the first full implementation of John's earlier "classical" optimization technologies as well as new technologies needed for RISC.

His contributions have been vital to several important areas of information technology. One is the fundamental cost of computing. RISC enables computers to run about twice as fast as other machines on the same number of circuits. The RISC concept was not in the mainstream; it was an idea at variance with the dominant ideas of its time. Without John Cocke's vision it is not clear when it would have arrived.

Another critical area of John's work is "logic simulation." John invented a generalized special-purpose logic simulator, which runs many orders of magnitude faster than conventional simulations. In the 1980's a special purpose simulation machine known as the Yorktown Simulation Engine (built to John's design) was used to simulate an entire computer at the logic gate level. The logic gate simulation produced answers faster than older computers executing programs in the machine's basic instruction set. Many of these simulation engines and their descendants are in use today. They enable the designer to verify and fix logical design before committing it to silicon. This substantially shortens VLSI (very large scale integration) development times, and such special simulation engines are widely used within the industry.

 

"No matter how hard a problem appeared, he always assumed there was a simpler solution, and usually this led him to finding one," said Marvin Minsky, a computer scientist at the Massachusetts Institute of Technology.

Mr. Cocke, who was seldom in his office, worked by roaming the halls. He was a chain smoker for much of his life, and the best way to find him in the I.B.M. labs, colleagues say, was to follow the trail of cigarette butts in the ashtrays of the offices he had visited, with the freshest ones indicating where he had visited most recently.

With his eclectic intellect and itinerant working style, Mr. Cocke often kept dialogues going with people on different subjects that spanned months, even years. "He would start up a conversation with you on some detailed technical subject, plunging right in where he left off the last time he saw you a couple of months earlier," recalled Frances Allen, an I.B.M. researcher who collaborated with Mr. Cocke on compiler research. "It was one of John's traits that took a little getting used to."

A little more about compilers


In the sixties and seventies the instruction sets for computers became more and more complex. In addition to frequently executed primitive instructions such as add, multiply, shift, branch, etc., computer designers added many extremely complex instructions thought to be necessary for the programmers and for the compilers of the time. These complex instructions were relatively costly because they required more circuits and more machine time to execute.

Compilers are very large and complex programs, which accept as input programs written in higher-level languages and produce as output a program in the machine's instruction set which the machine then executes. The efficiency with which a user's program runs is determined both by the instruction set of the machine and the efficiency of the compiler.

 

Within I.B.M., Mr. Cocke's eccentric ways were legend, especially his periodic disregard for paychecks and stock certificates. His assistants, colleagues say, routinely combed through his trash to make sure he had not inadvertently discarded things of value. Before he was married in 1989 to Anne Holloway, Mr. Cocke, a longtime bachelor, would often wear the same clothes for a week or so, friends say.

John Cocke, a leading computer scientist whose inventions spanned an uncommon range of computing technology from software to microprocessors, died on Tuesday at a hospital in Valhalla, N.Y. He was 77.

The cause was a long illness, including a series of strokes, said his nephew Norman Cocke.

Mr. Cocke is survived by his wife, three nephews and a niece.

Mr. Cocke rarely published research papers, but that did little to prevent him from gaining widespread recognition in the field.

Chronology

1956 doctorate in mathematics from Duke

1956 - 1992 Researcher at IBM

1989 Married to Anne Holloway

1992 Retirement

 

Honors and awards

1994 National Medal of Science
1994 The Computers & Communications Prize (NEC Foundation)
1993 Member, National Academy of Sciences
1992 Inventor of the Year Award (with G. Radin, N. Kreitzer, F. Carrubba)
1991 National Medal of Technology
1989 IEEE Computer Society Pioneer Award
1988 Honorary Doctor of Science, Duke University
1987 ACM A.M. Turing Award
1986 Fellow, American Academy of Arts and Sciences
1985 ACM/IEEE Computer Society Eckert-Mauchly Award
1979 Member, National Academy of Engineering
1976 ACM Programming Systems and Languages Paper Award (with F. Allen)

IBM Honors and Awards
1992 Hierarchical Memory System for RISC - Corporate Patent Portfolio Award (with N. Kreitzer and G. Radin)
1990 John E. Bertram Award for Sustained Excellence
1986 Logic Simulation Machine (LSM) - Corporate Outstanding Award
1982 Low Mass Actuator - Outstanding Innovation Award
1979 System Architecture Concepts of the 801 Minicomputer System - Corporate Outstanding Award
1972 IBM Fellow (a rank recognizing sustained outstanding contributions)
1968 Algorithms for Generation Highly Efficient Code - Corporate Award (with E. Lowry, F. Allen, J. Beatty)

 

Go BackTime Line Last Updated on July 7, 2004 For suggestions  please mail the editors 

 

Footnotes & References