70
Rechnerarchitektur Prof. Dr. Rolf Drechsler Institut für Informatik Universität Bremen

Prof. Dr. Rolf Drechsler Institut für Informatik ... · Zentraleinheit als wesentlichen Bestandteil z ... Zentraleinheit Speicher-einheit RAM/ROM Steuerbus Adressbus Datenbus. Überblick

  • Upload
    vukien

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Rechnerarchitektur

Prof. Dr. Rolf DrechslerInstitut für InformatikUniversität Bremen

Ansprechpartner und Organisation

zRolf Drechsler3. Flur, Zi. [email protected]

zMontag, 15:15 h - 16:45 h: Vorlesung

zDienstag, 13:15 h - 14:45 h: Vorlesung/Übung

Vorschlag für Scheinvergabe

zÜbungszettel ca. alle drei WochenÜ dienen der SelbstkontrolleÜ nicht relevant für Scheinvergabe

zSchein durch (Fach-)Gespräch in letzter Semesterwoche bzw. nach VereinbarungÜ Dauer ca. 10-20 Minuten

LiteraturzPatterson/Hennessy: Computer Organization

and Design - The Hardware/Software-Interface, Morgan Kaufmann, 1998zHennessy/Patterson: Computer Architecture -

A Quantitative Approach, Morgan Kaufmann, 1996zHayes: Computer Architecture and

Organization, McGraw-Hill, 1998zBähring: Mikrorechnersysteme, Springer-

Verlag, 1991zMärtin, Rechnerarchitektur, Fachbuchverlag

Leibzig, 2001

Motivation (1)

Motivation (2)

zErste frei programmierbare Rechnery1934-41 Zuse Z1, Z3y1946 ENIAC

zPentium VI

Motivation (3)

Motivation (4)

zThomas Watson (IBM):„I think there is a world market formaybe five computers.”

zPopular Mechanics:„Computers in the future may weigh

no more than 1.5 tons.”

1943-50

Motivation (5)

zENIAC on a chip

zLaptop = alle Rechner der Welt von 1950

Motivation (6)

Motivation (7)

zMoore‘s Law

zVerdopplung der

Transistor-Dichte

alle 18 Monate(Gordon Moore,

Mitbegründer von

Intel, 1965)

kein Gesetz, sondern Voraussage, was technologisch möglich

Motivation (8)

Motivation (9)

zMars Pathfinder Mission

zAriane 5

z...

zPentium Bug

Pentium Bug

u Fehler in FP-Unit

u Imageverlust

u 475 Millionen $

Motivation (10)

x = 4195835

y = 3145727

z = x - (x/y)•y

Pentium Bug

z = 256 !!

Motivation (11)

n Was tun mit all den Transistoren?

Architekturkonzepte

n Wie entwerfen?

VLSI CAD

Motivation (12)

Überblick

zEinleitungyv. Neumann-Modell, Entwurfsprozess

zBefehlsschnittstellezMikroarchitekturzSpeicherarchitekturzEin-/AusgabezMultiprozessorsysteme, ...

Geschichte des Rechners (1)

zAltertum: griechische Zahnräder, römisches RechenbrettzRechenmaschine von SchickardzLochkartenmaschine (um die

Jahrhundertwende)zDifferentialanalysator (Bush, 1930)

Geschichte des Rechners (2)zTheoretische Abhandlungen:yTuring (1936): “On Computable

Numbers”yShannon (1936): Verbindung zwischen

symbolischer Logik und elektrischen Schaltungen

zBinäre Addiermaschine (Stibitz, 1937)zAllzweck-Computer (Zuse, 1941)

Geschichte des Rechners (3)

z‘Colossus’ (1943): Knacken von Geheimcodeszvon Neumann beschreibt wesentliche

Elemente eines Computersystems (1945)z‘ENIAC’ (1946): erster (großer)

elektronischer Digitalrechner

Geschichte des Rechners (4)zErfindung des Transistors (1947) durch

Bardeen, Shockley und Brattainz‘LEO’ (1951): erster Rechner für kauf-

männische ZweckezComputergestützte Wahlprognose in USA

(1952)zErster Magnetspeicher (Forrester, 1953),

zuvor Elektronenröhrenspeicher

Geschichte des Rechners (5)

zIBM 650 (1954): in 15 Jahren 1500mal verkauftzTransistoren auf Silizium (Teal, 1954)z‘TRADIC’ (1955): erster Transistor-

Computer der Bell Labs mit 800 TransistorenzIntegrierte Schaltungen und MOS (metal

oxide semiconductors)

Geschichte des Rechners (6)

zPDP-8 (DEC, 1965): erster Minicomputer mit kommerziellem Erfolg (20.000 Dollar)zIntel 4004 (Hoff, 1971): Chip, mit

Zentraleinheit als wesentlichen Bestandteil z‘Altair’ (Roberts, 1974): Bausatz eines

Mikrocomputers für 397 Dollar

Geschichte des Rechners (7)

zzBASICBASIC für Altair (Gates, Allen, 1975)zPCs für den ‘Massenmarkt’ (1977), z.B.

Apple II, Radio Shack TRS-80, Commodore PETzzVisiCalcVisiCalc (1979): erste kaufmännische

Software für PCzIBM PC (1981)

Klassifikation von Rechnern

zAnforderungenyLeistungyFehlersicherheityProgrammierfreundlichkeity...

zMethoden zur Einordnung

Kiviat Graphen (1)

zSeit 1978zAllgemeines BewertungsmaßzGraphische DarstellungzBewertung des GesamtsystemszAcht messbare Größen aus vier Gruppen

Kiviat Graphen (2)

zProzessorleistung Pc[access/sec] yverarbeitete Bytezugriffe des Prozessors auf

den Speicher pro Sekunde

zHauptspeicheryKapazität Mp[byte]yZugriffszeit Mp speed[byte/sec]

Kiviat Graphen (3)zPeripheriespeicheryKapazität Ms[byte]yZugriffszeit Ms speed[byte/sec]

zÜbertragungsrate aufyPeripherie für ‘menschliche’ I/O

T.human[byte/sec]yRechner-Rechner Verbindungen

T.communication[byte/sec]yweitere externe Geräte

T.external[byte/sec]

Kiviat Graphen (4)zAbtragen auf

kreisförmiger logarithmischer SkalazErmöglicht schnellen

Überblick

Mp Mp speed

Ms

Ms speed

T.human

T.communicationT.external

Pc

Kiviat Graphen (5)

zEigenschaften:yallgemeines BewertungsmaßyBewertungsgrundlage für GesamtsystemyÜberprüfung der Amdahl-Regeln leicht

möglich → Aussage über Systembalanceyinnere Struktur des Rechners wird nicht

weiter bewertet

Amdahl-RegelnyDie Kapazität des Hauptspeichers in Byte

sollte mindestens der Anzahl der auszu-führenden Instruktionen pro Sekunde entsprechen.yDie I/O-Übertragungsrate in Bit pro Sekun-de

sollte mindestens der Anzahl der auszu-führenden Operationen pro Sekunde ent-sprechen.

Klassifikation durch Flynn (1)

zSeit 1972zEinfache KlassifikationzHoher AbstraktionsgradzGrundlage ist Unterscheidung nachyBefehlsstrom undyDatenstrom

Klassifikation durch Flynn (2)

zSISD=single instruction stream - single data stream

yRechner mit einfachem Befehls- und Datenstrom

zMISD=multiple instruction stream -single data stream

yRechner mit mehrfachem Befehls- und einfachem Datenstrom

Klassifikation durch Flynn (3)zSIMD=single instruction stream -

multiple data streamyRechner mit einfachem Befehls- und

mehrfachem Datenstrom

zMIMD=multiple instruction stream -multiple data stream

yRechner mit mehrfachem Befehls- und Datenstrom

Klassifikation durch Flynn (4)Beispiele

zSISD: ‘klassische’ RechnerzSIMD: ILLIAC IV, STARAN,

Vektorrechner, FeldrechnerzMISD: (Pipelinerechner)zMIMD: Parallelrechner, Transputernetze

Verfeinerung von Higbie

zSeit 1973zVerfeinerung der Klasse SIMD in:yFeldrechneryAssoziativrechneryAssoziative FeldrechneryOrthogonalrechner

Klassifikation nach Shore

zRechner werden nach vier Basiskomponenten klassifiziert:yKontrolleinheityALUyDatenspeicheryBefehlsspeicher

zTyp 1: wortseriell/bitparallelzTyp2: wortparallel/bitseriellz...

Operationsprinzip-Struktur-Matrix nach Giloi

zUnterteilung eines Rechners in yOperationsprinzip⌧Informationskonzept⌧Kontrollkonzept

yStruktur⌧Hardware-Betriebsmittel und ihre Struktur

zNur anwendbar auf Rechner mit zentralisierter Kontrolle

Überblick

zEinleitungyv. Neumann-Modell, Entwurfsprozess

zBefehlsschnittstellezMikroarchitekturzSpeicherarchitekturzEin-/AusgabezMultiprozessorsysteme, ...

von Neumann-Architektur

Ein-/Ausgabeeinheit

Zentraleinheit

Speicher-einheit

RAM/ROM

SteuerbusAdressbusDatenbus

Überblick

zEinleitungyv. Neumann-Modell, Entwurfsprozess

zBefehlsschnittstellezMikroarchitekturzSpeicherarchitekturzEin-/AusgabezMultiprozessorsysteme, ...

Hardware-Beschreibung und Entwurf

SpezifikationSpezifikation Funktionale SimulationFunktionale Simulation TestbenchTestbench

LogiksyntheseLogiksynthese

ScanpathScanpath Place and Route

Place and Route

Gate-Level SimulationGate-Level Simulation

Formale VerifikationFormale Verifikation

Mikroprozessorsysteme (1)

zViele Anwendungen, z.B.yTextverarbeitung, Lohnabrechnung, ...ySteuerung von Maschinen im Haushalt

(Waschmaschine, Geschirrspülautomat, ...)ysicherheitskritische Anwendungen (ABS,

medizinische Anwendungen)

Mikroprozessorsysteme (2)

zMPs sind komplexe SchaltwerkezMPs bearbeiten Sequenz von

Steuerungsschritten (Programme) in Abhängigkeit von DatenzUniversell EinsetzbarzÄnderungen/Erweiterungen einfachzAnpassung an neue Umgebung

möglich/unproblematisch

Mikroprozessorsysteme (3)

zWir unterscheiden im folgenden:yProgrammdaten (Befehle), die die Art der

Verarbeitung festlegen (Operationen)yRechendaten, das sind die Daten, die

verarbeitet werden (Operanden)

zProgramm ist Folge von BefehlenzAbarbeitung in fester ReihenfolgezPro Verarbeitungsschritt ein Befehl

Grundarchitekturen (1)

zKernstück ist ZentraleinheitzSpeicher, in denen Daten abgelegt

werdenzEin- und Ausgabebausteine, mit denen

Kommunikationen mit Außenwelt hergestellt wird

Grundarchitekturen (2)

Ein-/Ausgabeeinheit

Harward-Architektur

Programm-speicher

RAM/ROM

Zentraleinheit

Daten-speicher

RAM

SteuerbusAdressbusDatenbus

Grundarchitekturen (3)

Ein-/Ausgabeeinheit

Princeton-(von Neumann-)Architektur

Zentraleinheit

Speicher-einheit

RAM/ROM

SteuerbusAdressbusDatenbus

Grundarchitekturen (4)

zKomponenten durch Busse verbundenzVorteile:yVerringerung der Anzahl der Leitungen yErweiterbarkeit/Skalierbarkeit

zProbleme bei bidirektionalen Bussenyzu jedem Zeitpunkt nur ein Zugriff

zHarward-Architektur hier überlegen

Grundarchitekturen (5)

zZentraleinheit besteht aus zwei Teilen:ybefehlsverarbeitendydatenverarbeitend

zSpeicher beinhalten Daten und ProgrammezPrinceton: Es muss Mechanismus geben,

um zwischen Daten und Befehlen zu unterschieden.

Grundarchitekturen (6)

zZweiphasensystem:yBefehl aus Speicher holen und interpretierenySpeicherinhalt holen und Befehl verarbeiten

und Folgeadresse berechnen

zBussystem kann zum Flaschenhals (bottleneck) eines MPs werden

Zentraleinheit

zAuch Mikroprozessor oder CPU (=central processing unit)zAufgaben:ySteuerungyHolen und Interpretieren von BefehlenyAusführen von BefehlenyOrganisation des Datenaustauschs mit der

Umwelt

Architektur einer ZentraleinheitzKomponenten:ySteuerwerkyOperationswerk

zSteuerwerk für BefehlsverarbeitungzOperationswerk für DatenverarbeitungzAusführung eines Befehls:yHolphaseyAusführungsphase

Steuerwerk (1)

zSteuerwerk ist endlicher AutomatzSteuert und überwacht interne und

externe Funktionen des MPszBefehl wird zerlegt in Folge von

Elementarbefehlen

Steuerwerk (2)

zBefehlsbearbeitungyLaden des BefehlszählersyEntschlüsselung des Befehlsregisters

(Befehlsdekodierung) und Einstellen des ProgrammzählersyLaden weiterer OperandenyAusführen des BefehlsyAbspeicherung der Ergebnisse

Steuerwerk (3)

zMan unterscheidet

yfestverdrahtetes Steuerwerk

ymikroprogrammiertes Steuerwerk

Steuerwerk (4)

zFestverdrahtetes Steuerwerk:yAblauf fest vorgegebenyMikroprozessor leicht handhabbarykompakter und schneller Aufbau des MPsyes existieren umfangreiche Programment-

wicklungs- und OptimierungswerkzeugeyBefehle werden in mehreren Taktphasen

ausgeführt

Steuerwerk (5)

zMikroprogrammiertes Steuerwerk:ySatz von Grundbefehlen (Mikrobefehle)yflexible Gestaltung des BefehlssatzesyEmulation anderer MPs möglichyAnpassung an Anforderungen möglichyerhöhter Hardwareaufwandyes existieren weniger Entwicklungswerk-

zeuge, da z.B. selbstdefinierte Befehls-sätzenicht unterstützt werden müssen

Operationswerk (1)

zDurchführung von Operationen:ylogischeyarithmetische

zBekannte Operationen: Addition, Konjunktion, Negation, Vergleich, Inkrementieren, Schieben, ...zJe nach Operation ein oder zwei

Operanden

Operationswerk (2)

zSchaltnetzykombinatorisches Netzwerk (ALU=arithmetic

logical unit)

zRegisterbankyAbspeicherung der Operanden und

Ergebnisse

zDiverse RegisteryStatusinformationen, Programmzähler, etc.

Operationswerk (3)

ALUF=f(A,B)

ACC BACC A

Erg.Reg Status.R

Funktions-auswahl

1. Operand 2. Operand

Maschinenzyklus (1)

zKomponenten des Steuerwerks:yBefehlszähler (PC=program counter)

enthält immer die Adresse des nächsten im Speicher folgenden BefehlswortesyBefehlsregister (IR=instruction register)

dient zur Zwischenspeicherung des (ersten) BefehlswortesyAdressregister (AR) beinhaltet die auf

das erste Wort eines Befehls folgende Operandenadresse

Maschinenzyklus (2)zSteuerlogik des Steuerwerks dekodiert

Operationscode eines Befehls zSteuerlogik ist für Befehlsausführung

verantwortlichzAnsteuerungssignale für ALU, interne Daten-,

Adress- und Steuersignale werden erzeugtzSignale für externen Systembus

(angeschlossene Funktionseinheiten, z.B. Quittierung für Datentransport)

Maschinenzyklus (3)zRechenwerk umfasst:yALUyRegisterspeicher⌧haben Register innerhalb des Registerspei-

chers gleiche Funktionalität, so nennt man sie auch ‘allgemeine Register’

yPufferregister am Eingang der ALU ⌧durch Pufferspeicher unterstützte ALU heißt

auch Register ALU (RALU)⌧vor Verknüpfung der Operanden sind diese in

Pufferregister zu laden

Maschinenzyklus (4)

zProzessorientiertes Bussystem als Verbindung zwischen Registerspeicher, den einzelnen Registern, ALU und externem SystembusyDatenbusyAdressbusySteuerbusySignale zur Auswahl der Register im

Registerspeicher

Maschinenzyklus (5)

zAbarbeitung eines Befehls erfolgt in einem BefehlszykluszZeittakt für Mikrooperation liefert

TaktgeneratorzMaschinenzyklus ist Verarbeitungsab-lauf

innerhalb eines TaktesyBeispiel: 50 ns bei 20 MHz-Takt

Maschinenzyklus (6)z Transport des Befehls vom Speicher in

Befehlsregister, Erhöhen des Befehlszählersz Transport des ersten Operanden vom Speicher

oder einem allgemeinen Prozessorregister in das Rechenwerk

z Transport des zweiten Operanden vom Speicher oder einem allgemeinen Prozessorregister in das Rechenwerk

z Ausführen der Operation durch Verknüpfen der Operanden

z Transport des Resultats vom Rechenwerk in den Speicher oder in ein allgemeines Prozessorregister

Registerfunktionen (1)

zAkkumulator-Register (ACCU)yspeichert einen Operandenyunterstützt Ausführung von ‘Schieben’

zProgrammzähler (Befehlszähler)yerzeugt durch Inkrementieren

aufeinanderfolgende Programmadressenybei Sprungbefehlen neuen Wert laden

Registerfunktionen (2)

zInstruktionsregisterynimmt den aus dem Speicher gelesenen

Befehl auf

zNotizblockregisterytemporäre Speicherung von Daten,

Operanden, Statusinformationen, ...

zStatusregisteryInformationen, die aus Operationen resul-

tieren (Überlauf, Übertrag, Vorzeichen)

Registerfunktionen (3)

zStack-Register (Stapel-Register)yaktueller Stand des StackpointersyVerwaltung von Rücksprungadressen und

lokalen Variablen bei Unterprogrammen

zIndexregisterzEin-AusgaberegisterzAdressregister