Friday, October 16, 2020

John Cocke, the father of RISC architecture

In 1974, researcher John Cocke and his team at IBM Research began work on designing a controller for a telephone exchange. They wound up creating the first prototype computer employing a reduced instruction set computer (RISC) architecture. The new architecture design enabled computers to run much faster than was previously possible, and is still used in nearly every computational device today.

John Cocke was considered a brilliant man whose deep understanding of computer hardware and software, and the way they interact, made it possible for him to see innovative solutions to problems in many different fields. He was often found walking from office to office at IBM, engaging colleagues in insightful discussions about their current project, even if it was not his specialty. He always seemed to be one step ahead of everyone else, leading them forward in their work by talking through the details. As Harwood Kolsky recalls, “He would sort of go from one room to another, and from one lab to another, you know, spreading ideas and trailing cigarette ashes as he went along.”

His ability to look at things differently led Cocke to the concept of RISC architecture. At the time, the complex instruction set computer (CISC) architecture was the norm, although that name wouldn’t come about for many years. The goal of the CISC design was to complete a task in as few lines of assembly code as possible. Architects would build complex instructions directly into the hardware—a microprocessor would come with a specific instruction set in which each single instruction executed a series of operations. In this design, the compiler had to do very little work to translate a high-level language statement into assembly language.

Cocke and his team reduced the size of the instruction set, eliminating certain instructions that were seldom used. "We knew we wanted a computer with a simple architecture and a set of simple instructions that could be executed in a single machine cycle—making the resulting machine significantly more efficient than possible with other, more complex computer designs," recalled Cocke in 1987.

With the new design, the CPU was only able to execute a limited set of instructions, but it could execute them much faster because the instructions were so simple. Each task, such as fetching an instruction, accessing memory or writing data, could be completed within a single machine cycle, or electronic pulse; with CISC, tasks often required multiple machine cycles, taking at least twice as long to execute a task.

Because each instruction executed in the same amount of time, pipelining was possible. With pipelining, instructions could be set up like an assembly line with multiple instructions executing at the same time. For example, one instruction could be fetched, while another was decoded, while a third was executed and a fourth was writing the result. Each stage processed simultaneously, improving throughput for the entire workload. In addition, external memory was only accessed by load and store instructions; all other instructions were limited to internal registers. This simplified processor design opened the door to faster computation.

Although IBM’s original telephone exchange controller project was terminated, Cocke and his team completed what would be the first prototype computer employing RISC architecture in 1980—dubbed the IBM ® 801 for the number of the building in which it was developed. The 801 CPU was used in IBM hardware, and then spun off as the IBM ROMP processor when introduced in the IBM RISC Technology Personal Computer (RT PC) in 1986.

Around the time that Cocke and his team were developing the 801, two other groups sponsored by the US Department of Defense Advanced Research Projects Agency (DARPA) were working on similar projects that employed a reduced instruction set. One was a project at the University of California, Berkeley, under the direction of David Patterson and Carlo H. Sequin—who coined the term “RISC.” The other project was led by John L. Hennessy at Stanford University.

Back at IBM, the RT PC didn’t meet with much success, but it did spur further development of the microprocessor. In 1990, IBM released the RISC System/6000, shortened to IBM RS/6000 ® . The multi-chip architecture of this new system was given the name POWER1, standing for “Performance Optimized With Enhanced RISC,” and is the direct ascendant of today’s high-performance, low-energy-consumption line of IBM Power Systems™.

Soon after the release of the RS/6000, IBM formed an alliance with Apple and Motorola to develop a single-chip microprocessor family based on the IBM POWER ® architecture. In 1993, the AIM alliance introduced the PowerPC ® architecture. First featured in the Apple Power Macintosh 6100, PowerPC architecture, known as Power ISA today, has a strong presence in the consumer electronics industry within gaming systems, automobiles and communication devices.

In the years since the introduction of RISC architecture design, processors have advanced and become more powerful than many would have believed possible. IBM has been there along the way, driving innovation in processor design. Throughout the past 20 years, IBM’s RISC-based processors have been used in servers and routers, automobile engines and jet control systems, and even spacecraft—an IBM POWER processor was used in the onboard computer of NASA’s Mars Pathfinder from 1996 to 1997.

IBM also uses RISC-based processors in all of its supercomputers. The IBM Blue Gene ® series of supercomputers and Watson, the machine that competed on, and won, the Jeopardy! quiz show in February 2011, feature POWER processors. Cell Broadband Engine Architecture™, developed by IBM, Sony Group and Toshiba Corporation, is also based on RISC architecture. The first Cell-based supercomputer, IBM Roadrunner, consists of 12,240 IBM PowerXCell™ 8i processors, along with 6562 AMD Opteron processors, and was the first supercomputer to break the petaflop barrier, reaching a processing speed of 1.026 petaflops in 2008.

Today, just about every microprocessor is based on RISC architecture. Billions of ARM RISC-based processors are shipped each year to be used in cell phones and other small devices, and PowerPC processors dominate gaming systems and the automotive area.

For his part, in 1987 John Cocke won the prestigious Turing Award given annually by the Association for Computing Machinery. “In his Turing Award paper, which is really the essence of his quest for high performance … it's quite clear that as early as 1960, he had the very clear idea in his head of what is a very high performance computer,” remembered Abe Peled. “All he had to do was wait for the technology to make it really possible.”



from Hacker News https://ift.tt/2SVXwVl

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.