MetaTech Consulting, Inc. White Paper. Evaluation of Prominent Instruction Set Architectures: RISC versus CISC

Similar documents
RISC Principles. Introduction

Overview. EE 4504 Computer Organization. This section. Items to be discussed. Section 9 RISC Architectures. Reading: Text, Chapter 12

SALVO-a fourth-generation language for personal computers

Outline Marquette University

Lecture 4: RISC Computers

Modern Design Principles RISC and CISC, Multicore. Edward L. Bosworth, Ph.D. Computer Science Department Columbus State University

Chapter 1. Introduction To Computer Systems

Fundamentals of Computer Design

How What When Why CSC3501 FALL07 CSC3501 FALL07. Louisiana State University 1- Introduction - 1. Louisiana State University 1- Introduction - 2

Why Parallel Architecture

New Advances in Micro-Processors and computer architectures

Chapter One. Computers in Context

Reduced Instruction Set Computers

Fundamentals of Computers Design

From CISC to RISC. CISC Creates the Anti CISC Revolution. RISC "Philosophy" CISC Limitations

Paper. Delivering Strong Security in a Hyperconverged Data Center Environment

Instruction Set And Architectural Features Of A Modern Risc Processor

Computer and Information Sciences College / Computer Science Department CS 207 D. Computer Architecture

Historical Perspective and Further Reading 3.10

Lecture 4: RISC Computers

Architecting the High Performance Storage Network

Chapter 14 Performance and Processor Design

Previously. Principles for Modern Processor. History 1. Fetch execute cycle Pipelining and others forms of parallelism Basic architecture

Topics/Assignments. Class 10: Big Picture. What s Coming Next? Perspectives. So Far Mostly Programmer Perspective. Where are We? Where are We Going?

Running Head: APPLIED KNOWLEDGE MANAGEMENT. MetaTech Consulting, Inc. White Paper

BUYING SERVER HARDWARE FOR A SCALABLE VIRTUAL INFRASTRUCTURE

4.16. Historical Perspective and Further Reading. supercomputer: Any machine still on the drawing board.

Computer Architecture. R. Poss

THE STATE OF IT TRANSFORMATION FOR RETAIL

Advanced Computer Architecture

Power Struggles: Revisiting the RISC vs. CISC Debate on Contemporary ARM and x86 Architectures

Introduction to Parallel Processing

instruction set computer or RISC.

CS 5803 Introduction to High Performance Computer Architecture: RISC vs. CISC. A.R. Hurson 323 Computer Science Building, Missouri S&T

WWW. FUSIONIO. COM. Fusion-io s Solid State Storage A New Standard for Enterprise-Class Reliability Fusion-io, All Rights Reserved.

Cache Justification for Digital Signal Processors

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. 5 th. Edition. Chapter 1. Computer Abstractions and Technology

Performance measurement. SMD149 - Operating Systems - Performance and processor design. Introduction. Important trends affecting performance issues

Measurement of real time information using GPU

What is Computer Architecture?

Instruction Set Architecture

ARSITEKTUR SISTEM KOMPUTER. Wayan Suparta, PhD 17 April 2018

Computer Architecture and Organization

CISC Attributes. E.g. Pentium is considered a modern CISC processor

Computer Systems Laboratory Sungkyunkwan University

Utilizing Concurrency: A New Theory for Memory Wall

A New Trend for CISC and RISC Architectures

COMPUTER ORGANISATION CHAPTER 1 BASIC STRUCTURE OF COMPUTERS

Cloud Security Gaps. Cloud-Native Security.

W H I T E P A P E R U n l o c k i n g t h e P o w e r o f F l a s h w i t h t h e M C x - E n a b l e d N e x t - G e n e r a t i o n V N X

Overview of Computer Organization. Chapter 1 S. Dandamudi

FICON Drives Fibre Channel Security

REDUCED INSTRUCTION SET COMPUTERS (RISC)

1DT157 Digitalteknik och datorarkitekt. Digital technology and computer architecture, 5p

Business Benefits of Policy Based Data De-Duplication Data Footprint Reduction with Quality of Service (QoS) for Data Protection

Overview of Computer Organization. Outline

Lecture 8: RISC & Parallel Computers. Parallel computers

Enterprise Linux vs. Embedded Linux

Instruction Set Usage Analysis for Application-Specific Systems Design

Networking for a dynamic infrastructure: getting it right.

Smallworld Core Spatial Technology 4 Smallworld MAGIK : The object oriented language for an object oriented world

Computer Architecture

Computer Architecture, RISC vs. CISC, and MIPS Processor

Computer Organization & Assembly Language Programming. CSE 2312 Lecture 2 Introduction to Computers

HARDWARE/SOFTWARE CODESIGN OF PROCESSORS: CONCEPTS AND EXAMPLES

Worldwide Workstation Shipments Rebound in Third Quarter

A CELLULAR, LANGUAGE DIRECTED COMPUTER ARCHITECTURE. (Extended Abstract) Gyula A. Mag6. University of North Carolina at Chapel Hill

Von Neumann architecture. The first computers used a single fixed program (like a numeric calculator).

Computer Architecture s Changing Definition

Technology challenges and trends over the next decade (A look through a 2030 crystal ball) Al Gara Intel Fellow & Chief HPC System Architect

Major Advances (continued)

21ST century enterprise. HCL Technologies Presents. Roadmap for Data Center Transformation

Computer Architecture Computer Architecture. Computer Architecture. What is Computer Architecture? Grading

The Impact of Write Back on Cache Performance

Accelerate Your Enterprise Private Cloud Initiative

THE STATE OF IT TRANSFORMATION FOR TELECOMMUNICATIONS

Computer Architecture!

Reduced Instruction Set Computer

Beyond Latency and Throughput

ASSEMBLY LANGUAGE MACHINE ORGANIZATION

Computer Organization CS 206T

URL: Offered by: Should already know: Will learn: 01 1 EE 4720 Computer Architecture

Computer Architecture. Prologue. Topics Computer Architecture. Computer Organization. Organization vs. Architecture. History of Computers

GPU Architecture. Alan Gray EPCC The University of Edinburgh

IBM i: JOURNEY TO THE CENTER OF THE CLOUD

Software Architecture

Lecture Notes on Programming Languages

AMD Disaggregates the Server, Defines New Hyperscale Building Block

Chapter 13 Reduced Instruction Set Computers

A Firewall Architecture to Enhance Performance of Enterprise Network

EITF20: Computer Architecture Part1.1.1: Introduction

(Advanced) Computer Organization & Architechture. Prof. Dr. Hasan Hüseyin BALIK (4 th Week)

Impact of the Mead-Conway innovations in VLSI chip design and implementation methodology:

BUT HOW DID THE CLOUD AS WE KNOW IT COME TO BE AND WHERE IS IT GOING?

Profile of CopperEye Indexing Technology. A CopperEye Technical White Paper

Supporting Advanced-Node FinFET SoCs with 16Gbps Multi-Protocol SerDes PHY IP

RISC Processors and Parallel Processing. Section and 3.3.6

Navigating the RTL to System Continuum

Ten Reasons to Optimize a Processor

Chapter 7 The Potential of Special-Purpose Hardware

Transcription:

Architecture Evaluation 1 Running Head: ARCHITECTURE EVALUATION MetaTech Consulting, Inc. White Paper Evaluation of Prominent Instruction Set Architectures: RISC versus CISC Jim Thomas September 13, 2003

Architecture Evaluation 2 Evaluation of Prominent Instruction Set Architectures: RISC versus CISC The general construct known as the von Neumann machine is the blueprint for the majority of digital computers of today as it has been for more than fifty years. The design of these components of a von Neumann machine, the patterns used to interconnect them, together with the instructions that direct the program execution (within the CPU), are components of a computer s architecture. The architecture of a system determines its characteristics (e.g. capabilities and performance) as well as the complexity of producing the programs that it is to execute. As invention and innovation has made available more capable hardware, computer architects have attempted to exploit it to the fullest to ensure computers provide the greatest capabilities and performance with reasonable expense and effort. The number and complexity of the set of instructions supported by the hardware increased steadily over time. Such was the trend that dominated the field of computer architecture through the middle of the 1980 s. From approximately 1980, an alternate approach began to emerge that focused on revolution of the supported instruction set rather than its continued evolution. This paper provides an assessment of two diametrically opposed computer architectures followed by some of the implications of each. It concludes by asserting how they will influence the future of computing. It is assumed that the reader has a functional understanding of the principles supporting modern computer systems architecture. Characterization of Architectures As advances in hardware technology continued to make available an ever increasing number of digital switches (first evident as vacuum tubes, then as transistors, and more recently

Architecture Evaluation 3 as semiconductors on silicon chips), computer architects have addressed the challenge of how to best exploit the increasing density. The seemingly obvious approach was simply to increase the number and complexity of the instructions the new chip would support to the greatest extent possible. Patterson and Ditzel (1980) presented an argument for a revolutionary approach that stressed the utility of sustaining only a limited instruction set and using the available chip real estate for other uses such as memory registers that could be accessed more quickly than main memory. Their paper polarized the debate by characterizing traditional architecture as a Complex Instruction Set Computer (CISC) Architecture and their proposed architecture as a Reduced Instruction Set Computer (RISC) Architecture. Though the two architectural constructs have matured somewhat over the past three decades, they remain identifiably similar to their original characterizations. The following paragraphs distinguish between RISC and CISC as they are characterized in the literature of today. In the interest of brevity, only a limited number of key factors are presented. Number of Available Instructions A compiler is used to transform the high level language (HLL) statements to instructions executable by the hardware. The CISC architectural philosophy strives to provide a single machine instruction for each of the HLL statements (Mano, 1993). The RISC approach is to only provide a limited number of machine instructions. This approach requires the compiler to decompose some HLL instructions into more rudimentary instructions that are supported. Table 1 illustrates that RISC computers implement approximately only a quarter of the number of instructions used by CISC computers. Patterson and Ditzel (1980) reported measurements from an IBM compiler that only 10 instructions of approximately 200 available accounted for 80% of

Architecture Evaluation 4 all executed instructions and that only 30 instructions accounted for a full 99% of executed instructions. Simply put, CISC architects are expending a terrific percentage of CPU resource for instructions that will execute very infrequently and that can be accommodated through compiler transformations. Complexity of Instructions As mentioned previously, it is the aim of CISC architects to accommodate every HLL statement in machine instructions. Complex CISC instructions must be decoded within the CPU prior to execution. Multiple clock-cycles are necessary to execute a complex CISC instruction as illustrated in Figure 1 (Bhandarkar and Clark, 1991) that reflects that the ratio of cycles per instruction increases as the ratio of RISC to CISC instructions increases. Additionally, hundreds of thousands of bits of memory are dedicated to control memory to accommodate the CISC instructions where none is needed for the RISC computer. Also, Patterson and Ditzel (1980) illustrated a case in which replacing a single complex instruction with several simple instructions could perform the function 45% faster. Novel Use of Registers Coupled with the notion of using reduced count and complexity of instructions for the new architecture was a novel approach to the use of registers. Registers, due in part to their collocation on the CPU chip, are much quicker to access than main memory. Computers optimize the use of this resource by transferring their contents to and from main memory as portions of code are moved in and out of scope. RISC architectures employ far more registers than do CISC architecture. By using a greater number of registers, the frequency of exchanges to

Architecture Evaluation 5 and from main memory are reduced. Furthermore, the registers are structured such that adjoining registers overlap to allow processes in adjacent registers to pass parameters by passing only the address (Figure 2). This is an efficiency issue not available to CISC computers through the mid 1990 s. Architectural Implications Through layers of abstraction more simplistic views (i.e. data types, operations, and features) of the system are exposed to interface and manipulate the system (Tanenbaum, 1999). Views appropriate for those needing to interface with the hardware can be tailored for each class of user (i.e. programmer, user, other components, etc.). An appropriate level of abstraction is characterized as exposing only those details necessary for the user to perform necessary tasks. Additionally, the abstracted view must expose the underlying hardware in such a way that the user can interface with it in a meaningful way that is sufficiently easy. An interface that is too cumbersome or complex to use will likely result in errors and unintentional features (e.g. bugs). User and Software Developer The RISC and CISC architectures have available abstractions that are suitable for the application user and software developer alike. Though there are architecture specific software libraries available for each class of architectures for developers, an appropriate semantic taxonomy exists for each such that they are generally equivalent to the developer.

Architecture Evaluation 6 Machine Designer Perspective As mentioned previously in this essay, the machine designer, the architect, concerns himself with a balance between performance, cost, functionality, and complexity. Performance has been the prominent issue driving the RISC versus CISC debate. The challenge confronting architects was for many years the absence of a comparable hardware set to execute benchmark test to achieve a reasonable comparison. Bhandarkar and Clark (1991) demonstrated through execution of industry SPEC benchmarks on comparable hardware with similar hardware organizations. They found from an architectural point of view (that is, neglecting cycle time), RISC as exemplified by MIPS offers a significant processor performance advantage over a VAX of comparable hardware organization (p. 318). Findings such as these support the notion that greater performance can be achieved with a RISC architecture than a CISC architecture with a given chip space real estate. Manufacturer Perspective Muller and Paul (1995) suggested a formal method for measuring development factors including cost and time in respect to the fabrication of computer chipsets. They assert that the RISC design is approximately twice as cost-effective as CISC designs given a common technology and workload constraints. Furthermore, they determined that in general terms that RISC architectures are designed for a good cost/performance, whereas CISC architectures are designed for a good performance on slow memories (p. 6). In addition to the cost and performance of the chipsets themselves, the manufacturer must also consider the potential market for planned products prior to undertaking an effort to produce RISC chipsets. Claunch and Enck (2002) summarized the market allocation in stating that the vast majority of servers

Architecture Evaluation 7 and mainframes worldwide are powered by CISC chipsets. As it requires substantial investment to migrate from one platform to another, most companies are reluctant to replace their server environments even to gain better computing performance. The maxim that the best product does not always dominate the market is equally true in the semiconductor industry as any other industry. First to market is a powerful position. Conclusions The RISC versus CISC debate has been waged for a little more than twenty years with advocates of both positions engaging with nearly religious vigor. As is common in philosophical debates, though it may be cast as a choice between diametrically opposed options, the most correct answer likely lies somewhere in between as a compromise. The computers of today, though they bear the brand of RISC or CISC, are in fact not pure implementations of either one they are truly hybrid systems. RISC architects have adopted a larger set of instructions and CISC architects have realized the benefit of implementing a core set of instructions that can execute in a single CPU cycle (Tanenbaum, 1999). However, the market provides the impetus for evolution. As stated by Machanick (2001), In practice, the biggest market is for code which is already compiled (p. 36). This implies that the CISC-centric architectural approach which stresses the importance of evolving an instruction set that continues to support backward compatibility is likely to dominate the marketplace for the near term. This paper has, in the interest of brevity, focused on only a few of the issues germane to the CISC versus RISC debate. Interested readers are encouraged to reference current research materials available on the subject, particularly those dealing with the implications of the architecture trade-offs on the operating systems and the shortfalls that both RISC and CISC have regarding multimedia applications.

Architecture Evaluation 8 References Patterson, D. A., Ditzel, D. R. (1980). The case for the reduced instruction set computer. ACM SIGARCH Computer Architecture News, 8(6), 23-33. Bhandarkar, D. & Clark, D. W. (1991). Performance from architecture: Comparing a RISC and a CISC with similar hardware organization. Proceedings of the fourth international conference on architectural support for programming languages and operating systems. AMC Press, New York, NY. Claunch, S. & Enck, J. (2002). Itanium: A qualified Success. Gartner research notes, SPA-17-5669. Mano, M. M. (1993). Computer systems architecture (3 rd ed.). Prentice-Hall, Inc., Englewood Cliffs, NJ, 07632. Machanick, P. (2001). Computer architecture: A qualitative overview of Hennessy and Patterson. Retrieved from http://citeseer.nj.nec.com/machanick01computer.html. Muller, S. M. (1995). A formal method for pre-hardware cost/time trade-off analysis and selected results. Retrieved September 12, 2003 from http://citeseer.nj.nec.com/188515.html. Stallings, W. (1996). Computer organization and architecture: Designing for performance (4 th ed.). Prentice-Hall, Inc., Upper Saddle River, NJ, 07458. Tanenbaum, A. S. (1999). Structured computer organization (4 th ed.). Prentice-Hall, Inc., Upper Saddle River, NJ, 07458.

Modeling Architecture Characteristics 9 Table 1 Table 1. Characteristics of Computer Architectures (derived from Stallings, 1996, p. 430)

Modeling Architecture Characteristics 10 Figure 1 Figure 1. Instruction ratio v. cycles per instruction ratio. (Bhandarkar & Clark, 1991, p. 315)

Modeling Architecture Characteristics 11 Figure 2 Figure 2. Input Overlapped register windows (Mano, 1993, p. 278)