Bemerkungen: zu 1. Deswegen evtl. sogar keine Multiplikation/Division, die dann in Runtime-

Bibliotheken angeboten werden muß. zu 2. Vorhandene RISC-Varianten: (load|store) (signed|unsigned) (byte|halfword|word) zu 3. – delayed load/store: Codereorganisation bzw. NOP’s

– Pipeline: _{Zyklus  1  2  3  4  5  6  7 … instr1 fetch decode exec  write instr2  fetch decode exec write instr3  fetch decode exec write ⋮}

zu 4. in RISC viel Chip-Platz frei: mehr Register realisierbar zu 5. Die variable Länge benötigte Microcode (oder aufwendige Decoder). zu 6. – Befehlsdecoder-Länge wächst exponentiell mit der Anzahl der Befehle.

– Geschwindigkeit/Komplexität: wenige Adressierungsmodi zu 7. In RISC-Systemen sind gute Compiler unumgänglich. zu 8. Registerstack:

– ∼ 500 Register, von denen 32 gleichzeitig verfügbar sind – überlappende Register-Fenster (s.u.)

– Register-Mehrfachbenutzung (”Lebenszeit“ von Variablen)

Der Registerstack ist auch bei CISC möglich, wenn genügend Chip-Platz verfügbar ist.

Abbildung 1.7: Registerstack am Beispiel SPARC

[figure: Globale Vars; In; Lokale Vars; Out; R0; ⋮; R7; R8; ⋮; R15; R16; ⋮; R23; R24; ⋮; R31; Globale Vars; R0; ⋮; R7; In; Lokale Vars; Out; R8; ⋮; R15; R16; ⋮; R23; R24; ⋮; R31; Überlappung; = Parameter-; übergabe; unzugänglich; CWP=8; CWP=24]

Aktuelle Übersicht: (4/97)

Tabelle 1.4: RISC-CPUs im Vergleich zu Intel 80x86-CPUs

MIPS SPARC  DEC-  Intel  HP  IBM  MIPS  SPARC  Intel
4400  SS20  Alpha  Pentium P5 PA7100 Power 6264 R4000SC  SS10  486DX2
Taktrate (MHz)  200  75  nom.200  66  100  62,5  100  40  66
# Pipelinestufen  4  7  5  6  8  4  5
max # Instr./Zyklus  3  2  2  4  1  3  1
Cache Instr.  16 KB  20 KB  8 KB  16 KB  —  32 KB  8 KB  20 KB  8 KB
Cache Data  16 KB  16 KB  8 KB  gemeinsam  —  —  8 KB  16 KB  gemeins.
max Durchsatz (MB/s)  3200  k.A.  1000  1200  960  1067
sek. Cache Instr.  1 MB  1 MB  32 MB  256 KB  1 MB  –  4 MB  2 MB  512 KB
sek. Cache Data  insges. insges.  insges.  gemeinsam  2 MB  64 KB  insges.  gemeins.  gemeins.
max Durchsatz (MB/s)  1067  k.A.  1600  500  800  320  133
Bus-Taktrate (MHz)  67  67  62,5  50  40  33
Bus-Durchsatz (MB/s)  1200  1067  267  1000  400  320  133
SPECint92  140  125,8  69,6  64,5  80,0  59,2  61,7  53,2  32,2
SPECfp92  131  121,2  182,1  56,9  150,6  124,8  63,4  63,4  16,0
SPECint95  3,11  3,13  1,0
SPECfp95  3,10  4,0  1,0

Tabelle 1.5: 64 Bit RISC-CPUs

UltraSPARC Ultra-SPARC  MIPS  DEC-alpha  HP  IBM
II  I  R10000  21164  PA8200 PowerPC 604e
Taktrate (MHz)  336  200  250  533  240  332
Cache Instr.  16 KB  16 KB  32 KB  8 KB  2 MB  32 KB
Cache Data  16 KB  16 KB  32 KB  8 KB  2 MB  32 KB
sek. Cache  4 MB  1 MB  4 MB  96 KB + 4 MB  —  256 KB
SPECint95  14,9  7,81  14,7  16,9  17,4  14,4
SPECfp95  37,6  10,4  62,5  56,7  28,5  12,6

Zum Vergleich: Der MPC620 ist ein 64 Bit-Prozessor, der MPC604e hat zwar einen 64 Bit-Datenbus, aber nur einen 32 Bit-Adreßbus.

Tabelle 1.6: PC-Bussysteme und Durchsatzraten

ISA  MCA  EISA  EISA  VL-Bus VL-Bus  PCI PCI
1.0  EMB-133  64-bit  32  64

Datenbus-

breite (bit)  16  32  32  64  32  64  32  64
Taktrate (MHz)  8  4  8  8  33  50  33  33
Bus-Durchsatz (MB/s)  8  16  33  125  75  160  117  234

Tabelle 1.7: RISC PC-CPUs: PowerPC (Apple und IBM)

MPC620  PowerPC ”G3“  MPC604e MPC604  MPC603e MPC603  MPC601
Taktrate (MHz)  ∼133  250  332  166  200 … 240  66/80  50/60/66/80
Cache Instr.  32 KB  32 KB  32 KB  16 KB  8 KB  32 KB
Cache Data  32 KB  32 KB  32 KB  16 KB  8 KB  gemeins.
sek. Cache  1 … 128 MB  256 … 1024 KB  256 KB  1 MB  1 MB  1 MB
SPECint92  ∼225  ∼60/75 ∼62 … 85
SPECfp92  ∼300  ∼70/85 ∼72 … 105
SPECint95  ∼5,6  ∼10  14,4  5,2  7,1
SPECfp95  ∼5,6  12,6  4,3  4,2

Tabelle 1.8: CISC PC-CPUs: i80x86

i486DX2 i486DX4  Pentium Pentium Pentium Pentium  PentiumPro

MMX

Taktrate (MHz)  66  100  100  133  200  200  200
Cache Instr.  8 KB  16 KB  8 KB  8 KB  8 KB  8 KB  8 KB
Cache Data  gemeins. gemeins.  8 KB  8 KB  8 KB  8 KB  8 KB
sek. Cache  256 KB  256 KB  512 KB  512 KB  512 KB  512 KB  512 KB
SPECint92  32,2  51,4  100,0
SPECfp92  16,0  26,6  80,6
SPECint95  3.05  4,1  5,5  6,41  8,58
SPECfp95  2,07  2,5  3,92  4,66  6,48

Tabelle 1.9: CISC PC-CPUs: i80x86 (Forts.)

Pentium II  ”Deschutes“
MMX, AGP, SDRAM MMX, AGP
Taktrate (MHz) 333 300 …
Cache Instr.  16 KB
Cache Data  16 KB
sek. Cache  512 KB
SPECint95  12,8  ∼12
SPECfp95  9,25  ∼10

MMX (”matrix manipulation extensions“) stellt eine Erweiterung des Befehlssatzes für Bild/Audio/Video zu Lasten der FloatingPoint-Befehle dar. Der PentiumPro (P6) ist intern ein RISC-Prozessor mit eingebautem ”CISC-RISC translator“ (Kompatibilität!). Für den Pentium II wird ein schnelleres Motherboard mit SDRAM (”synchr. dyn. RAM“) benötigt; die Graphikkarte wird aus Geschwindigkeitsgründen nicht mehr über den PCI-Bus sondern über den dedizierten AGP (”accelerated graphics ports“) angeschlossen.

Aktuelle Daten entnehme man dem WWW:

http://www.specbench.org, http://www.ibm.org, http://www.intel.com,
...

Eine Präsentation Intels vom 24. März 1997 enthält etwa folgende interessante Pentium II Informationen:

            http://www.intel.com/intel/march24/foils/yu/sld001.htm

14 15 16