a graphical comparison of risc processors - freie...

7

Click here to load reader

Upload: votuyen

Post on 07-Mar-2018

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: A graphical comparison of RISC processors - Freie …page.mi.fu-berlin.de/rojas/1992/A_graphical_comparison.pdf · A graphical comparison of RISC processors Margarita ... This graphical

A graphical compar i son o f RISC processors

Margarita Esponda, Ra61 Rojas

Institut f'tir Informatik - Fachbereich Mathematik

Freie Universit~t Berlin

[email protected], roj [email protected]

Abstract

A graphical approach for the comparison of RISC processors is presented in this note. Kiviat graphs summarize some of the most relevant architectural

parameters of RISC designs in a more appealing manner as tables of

parameters.

1. I n t r o d u c t i o n

When discussing RISC designs and the difference between RISC and CISC processors, it is often helpful to look at the different architectural parameters in a graphical form. Patterson and Hennessy [1990] include a table of characteristics of some common RISC engines and other

authors have conducted similar surveys [Gimarc and Milutinovic 1987]. In this short note we

summarize this information, as taken from several sources, and let the pictures speak by

themselves. This graphical approach is very appealing for discussions about RISC and CISC

processors and has been used with success in the classroom.

We review some of the most important and popular RISC processors. Only the most relevant

features of each design are summarized. We have drawn for each processor the corresponding

Kiviat graph. This type of graphical representation has been used in other architectural studies

[Siewiorek/Bell/Newell 1985, Ferrari et al 1983] and in many fields in which the representation of several dimensions of data must be handled in just two dimensions. We choose for the

Kiviat graphs the most relevant parameters for RISC architectures. It is well known that a

graphical approach can be superior to numerical tables when several data dimensions are

involved [Tufte 1990].

In this note we assume a general knowledge of the RISC design concept as given.

2. The re levant parameters

The variables considered in the comparison of processors are the following:

- 2 -

Page 2: A graphical comparison of RISC processors - Freie …page.mi.fu-berlin.de/rojas/1992/A_graphical_comparison.pdf · A graphical comparison of RISC processors Margarita ... This graphical

• number of pipeline stages

• number of addressing modes

• number of instructions

• method of branch handling

• average cycles per instruction (CPI) according to some authors

• number of registers

• instruction length (fixed or variable)

• levels of instruction decoding

The circle shows which points in each axis could be considered as "typical" RISC values: 1) A

pipelining depth of four stages, for example, could be considered a normal feature of RISC

technology; 2) A single addressing mode is normally associated with a RISC architecture; 3)

Several RISC processors use 6 bits for the encoding of instructions: this means that typically

only 64 instructions can be encoded; 4) One delayed branch slot could be considered normal in

most RISC designs, but there are other alternatives. The IBM RS/6000 for example uses a

powerful branch handling method superior in average to delayed branching, but which is also

more hardware intensive; 5) The cycles per instruction (CPI) should be ideally one for a RISC

engine; 6) Thirty-two registers are typical for most RISC designs; 7) RISC processors have a

fixed instruction length; and 8) Hardware decoding of instructions is faster than

microprogrammed decoding.

Figures 1 to 6 summarize the architectural parameters of six different RISC processors.

Architectural Parameters of the MIPS R3000 Processor

Instruction length

Pipeline depth [i

Decoding [2 Number of

h ~ l w ~ I

• ~ :.;i i:.:iiii;i :i!ilil :if:: :::.!i!:::.ii:.iii:i.!i~i ::::::::::::::::::::::::::::::::::::::::: Instructions :iii~ :::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::

::::::::::::::::::::::::::::::::::::::::::::::: :~:.~ ~ ! : ,

32 ::::::::::::::::::::::::::: : ~.ay.d b~.h

Number of Integer registers Branching

CPI

Figure 1

- 3 -

Page 3: A graphical comparison of RISC processors - Freie …page.mi.fu-berlin.de/rojas/1992/A_graphical_comparison.pdf · A graphical comparison of RISC processors Margarita ... This graphical

Architectural Parameters of the SPARC Processor

Pipeline depth

I' 2 Number o f 7 / Addressing; modes

Instruction length

we'iabl~ ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 128 7.56

g unit

delayed brmch

lUmdard bnmc,b

N--ro,/ I;; \ Integer registers Branching

CPI

Number o f Instructions

Figure 2

Architectural Parameters of the IBM RS/6000 Processor

Pipeline depth

Decoding I_ 2 Number of \ / . / Adch'essin~ modes

mkaoprogrammed + - 5

Instruction length

v~iabk:

unit

ed Immc.h

l~dard branch

256 Number of Instructions

Number of " Integer registers

CPI

Branching

Figure 3

- 4 -

Page 4: A graphical comparison of RISC processors - Freie …page.mi.fu-berlin.de/rojas/1992/A_graphical_comparison.pdf · A graphical comparison of RISC processors Margarita ... This graphical

Architectural Parameters of the M88000 Processor

Pipeline depth

Decoding Number of ~ 77 / Addressing modes

mk:r q P m l l r ~ +

:::::::::::::::::::::::::::::::::::::::::::::::::::::::

~i!ii::::iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii:: ~ o ~ i o ~ s

Number of 12s Intcg~ registers Branching

Instruction length

CPI

Figure 4

Architectural Parameters of the Intel 80860 Processor

Pipeline depth

Dec(x qumber of ~ddressing modes

Instruction length -

3.56 Number of Instructions

Numbe Integer

CPI

Branching

Figure 5

- 5 -

Page 5: A graphical comparison of RISC processors - Freie …page.mi.fu-berlin.de/rojas/1992/A_graphical_comparison.pdf · A graphical comparison of RISC processors Margarita ... This graphical

Architectural Parameters of the HP PA Processor

Instruction l~8 th

Pipeline depth

t' Da:oding 2 Number of | 7 / Addressing roods

n~lilralv ~'I $

miaq~al~ma: I 4 3

blcl:bvlle

.~6 Numbex of i i~i~iiii:iiiiiiiill :iiii:i:iiiiiiiii:: :::iiiiiii: 711111!~ ~iiiiiiiiiiiii: iiii:ii:!ilil :~ h l s t . m c t i o ~ ii:ii!ii~ ::~ . . . . ii i i ii

16 I t ~ t l d I x ~ . h

Integer registers Branching

CPl

Figure 6

3 . C o m m e n t s

The six graphs shown before let us make some qualitative judgements about the processors involved. First of all, it is clear that every one of the processors considered approaches fairly

good the ideal RISC circle. The MIPS R3000 processor is an example of a specially RISCy

design. The SPARC falls apart of the other processors because of its large number of registers

(used in conjunction with a special windowing technique). The IBM RS/6000 is a very

complex design, with an instruction count well above typical RISC processors, with a special

branching unit and more addressing modes as common. The M88000 and the i80860 look very

similar (because in this comparison the floating point capabilities of each processor were not

considered). The i80860 is the one with the lowest pipeline depth. The HP Precision

Architecture is similar to the RS/6000 in its huge instruction count. The graphical comparison shows considerable differences when we consider CISC designs.

Figures 7 and 8 show the architectural parameters of the Transputer and the Motorola 68020.

Both processors make use of similar technology and both are far away from the ideal RISC

circle. It would be interesting to compare in this way some of the new CISC processors with a

"RISC Kernel," like the 80486 or the 68040.

- 6 -

Page 6: A graphical comparison of RISC processors - Freie …page.mi.fu-berlin.de/rojas/1992/A_graphical_comparison.pdf · A graphical comparison of RISC processors Margarita ... This graphical

Architectural Parameters of the Transputer Processor

pi~ai~, d~h

Instructicm length

Decodin$ Number of ~ =i~*t~ / Add.teasing modes

Number of ii::i::iii::i::: t

Integer registers Branching

CPl

Figure 7

Architectural Parameters of the M68020 Processor

Pipeline depth

De~oa~ mlr.ropcognlmmlxi + uanopcogmmmod

Number of Addressimz modes

Instruction length

vttiJble Numbe, of Instructions

~ . m d ~ tremor

Number of' " Integex registers Branching

Figure 8

- 7 -

Page 7: A graphical comparison of RISC processors - Freie …page.mi.fu-berlin.de/rojas/1992/A_graphical_comparison.pdf · A graphical comparison of RISC processors Margarita ... This graphical

4 . E p i l o g u e

One picture says more than thousand words. We hope that the graphs shown can be used in the

classroom to initiate st imulating discussions about the principles which lay behind the great

success o f the RISC concept in the marketplace. It wou ld be interest ing to look at the

parameters o f new RISC processors in this way when more informat ion becomes widely

available.

Literature

[1] Mitch Alsup, "Motorola's 88000 Family Architecture", IEEE Micro, February 1990, pp. 48-66. [2] J. Bodenkamp, "I860 Mikroprocessor", in Arndt Bode (ed), RISC-Architekturen, Reihe Informatik, Band 60,

Wissenschaftsverlag, Mannheim, 1990, pp. 431- 447. [3] Robert F. Cmelik, Shing I. Kong, David R. Ditzel and Edmund J. Kelly, "An Analysis of SPARC and

MIPS Instruction Set Utilization on the SPEC Benchmarks", Proceedings of the Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, Santa Clara, California, April 8-11, 1991, pp. 290-302.

[4] Cypress Semiconductor, SPARC RISC User's Guide, February 1990. [5] Margarita Esponda and Raul Rojas, The RISC Concept - A Survey of Implementations, Technical Report

B-91-12, Freie Universit/tt Berlin, September 1991, 42 pages. [6] Domenico Ferrari, Giuseppe Serazzi and Alessandro Zeigner, Measurement and Tuning of Computer

Systems, Prentice Hail, London, 1983. [7] Charles E. Gimarc and Veljko M. Milutinovic, "A Survey of RISC Processors and Computers of the Mid-

1980s", Computer, September 1987, pp. 59-69. [8] G.F. Grohoski, "Machine organisafion of the IBM RISC System/6000 processor", IBM Journal of Research

and Development, Vol. 34, No. 1, January 1990, pp. 37-58. [9] Thomas R. Gross, John L. Hennessy, Steven A. Przybylski and Christopher Rowen, "Measurement and

Evaluation of the MIPS Architecture and Processor", ACM Transactions on Computer Systems, Vol. 6, No. 3, August 1988, pp. 229-257.

[10] Brian Hall, Kevin O'Brien, "Performance Characteristics of Architectural Features of the IBM RISC System/6000", Proceedings of the Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, Santa Clara, California, April 8-11, 1991,pp. 303- 309.

[11] John L. Hennessy, David A. Patterson, Computer Architecture A Quantitative Approach, Morgan Kaufmann Publishers, San Mateo, 1990.

[12] Gerry Kane, MIPS R2000 RISC Architecture, Prentice Hall, Englewood Cliffs, 1987. [13] Ruby B. Lee, "Precision Architecture", Computer, Vol. 22, No. 1, January 1989, pp. 78-91. [14] Motorola, MC68020 32-Bit Microprocessor User's Manual, Prentice-Hall, London, 1984. [15] R.R. Oehler and R.D. Groves, "IBM RISC System/6000 processor architecture", IBM Journal of Research

and Development, Vol. 34, No. 1, January 1990, pp. 23-36. [16] David Patterson, "Reduced Instruction Set Computers", Communications of the ACM, Vol. 28, No.l,

January 1985, pp. 9- 21. [17] Daniel P. Siewiorek, Gordon Bell and Allen Newell, Computer Structures: Principles and Examples,

McGraw-Hill, Auckland, 1985. [18] Chriss Stephens, Bryce Cogswell, John Heinlein, Gregory Palmer, John P. Shen, "Instruction Level

Profiling and Evaluation of the IBM RS/6000", Proceedings of the 18th Annual International Symposium on Computer Architecture, ACM, New York, 1991, pp. 180-189.

[19] E. Thurner, "Die MIPS Prozessor Familie", in Arndt Bode (ed), RISC-Architekturen, Reihe Informatik, Band 60, Wissenschaftsverlag, Mannheim, 1990, pp. 379-401.

[20] Edward R. Tufte, The Visual Display of Quantitative Information, Graphics Press, Cheshire, 1990.

- 8 -