Select a topic or year
Yorktown Heights, NY, USA - 17 Jun 2002: IBM Fellow, John Cocke, the "father of RISC architecture," passed away on July 16th, 2002 after a long illness. Among his many honors, John was awarded the National Medal of Science in 1994 by President Clinton and the National Medal of Technology in 1991 by President Bush. He also received the prestigious Turing Award and was named IBM Fellow, the company's highest technical honor, in 1972. 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 valued at $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.
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 revolved around "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.
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 that 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.
John Cocke's External 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)
Chemistry, computer science, electrical engineering, materials and mathematical sciences, physics and services science