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 (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 (7)
zMoore‘s Law
zVerdopplung der
Transistor-Dichte
alle 18 Monate(Gordon Moore,
Mitbegründer von
Intel, 1965)
Ü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 (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.
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)
Top Related