Rechnerarchitektur Vorlesung 2 Peter B. Ladkin

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Vom HW-Automaten zum Prozessor
Programmierung: Einführung
4.5 Virtueller Speicher Problemsituation: Programme und Daten sind zu groß für den verfügbaren Arbeitsspeicher Frühere Lösung Aufspaltung der Programme.
Kapitel 5 5 Rechnerorganisation
Leistung.
Befehlssatz und Struktur
2.3 Register-Transfer-Strukturen
Claas J. Cornelius - Ogg-on-a-chip - MDCT MDCT Funktionsweise und Limitierende Faktoren.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Zentraleinheit CPU, Motherbord, RAM
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Agenda Die Hardwearkomponenten und ihre Funktionen - Mikroprozessor
Zentraleinheit CPU, Motherbord, RAM
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
E / IDE Enhanced / Integrated Device Elektronics
WS 2009/10 1 Systeme 1 Kapitel 1 Aufbau von Rechnern.
Neumannrechner.
Basisinformationstechnologie 1 Tanja Lange WS 2003/04 am
W. Oberschelp G. Vossen Kapitel 7.
Aufbau und Funktionsweise von Prozessoren
Studiengang Informatik FHDW
2.5. Mikrocontroller-Komponenten
Vorl. 6: Single- und Multitasking Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 4: Memory Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester.
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 10 Mutual Exclusion Peter B. Ladkin Sommersemester 2001 Universität Bielefeld Technische Fakultät.
Vorlesung 9.2: Specification Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 5: Interrupts Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester.
Technische Informatik II Rechnerarchitektur und Betriebssysteme Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter.
Vorlesung 9.1: Erinnerung Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 5 Interrupts Peter B. Ladkin
1 Vorlesung 14 Mehr über Security Peter B. Ladkin Sommersemester 2001.
Vorlesung 2 Rechnerarchitektur Peter B. Ladkin Wintersemester 2001/2002 Universität Bielefeld Technische Fakultät.
Netze Vorlesung 11 Peter B. Ladkin
4. Mikrocontroller-Komponenten
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Von: Antoni Gazali Clarkson Laryea
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
Der Prozessor - zentraler Bestandteil eines jeden Computers
Der Simple As Possible Computer
2.3 Register-Transfer-Strukturen
EDO-RAM,SDRAM,RDRAM,DDR2-SDRAM.
© Gabriele Sowada © Gabriele Sowada 2 Zählschleife Beispiel 3 demonstriert die Implementation einer Zählschleife, einer häufig.
© Gabriele Sowada © Gabriele Sowada 2 Manuell Beispiel 1 demonstriert die Vorgehensweise bei der manuellen Programm- Eingabe am.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Aufbau eines von-Neumann- Rechners Marcel Waldvogel.
INTEL Pentium 4 Prozessor
Zuordnung CacheHauptspeicher
Universelle Registermaschine
3.4 CPU-Chips und Busse CPU-Chips
Signal-Prozessoren DSV1, 2009, Hhrt, 1 Mikro-Prozessor Von Neumann-Architektur Daten und Programmcode im gleichen Speicher => Sequenzieller Zugriff auf.
Rechnersysteme: Halbzeit Marcel Waldvogel. Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 2 Daten und Information.
DATEISPEICHER in der S P S
Rechnerarchitekturen
Johann Baron von Neumann
… erste Schritte mit einem programmierbaren Mikrocontroller
Mikrocomputertechnik Jürgen Walter
Der Prozessor Von Stephan Blum.
Funktionsweise und Aufbau einer CPU & der zeitliche Ablauf des x86

1 Technische Informatik II Rechnerarchitektur und Betriebssysteme Peter B. Ladkin
Rechnerstrukturen Rechnerarchitektur von Intel 8088 BIT WiSe , Referent: Euvhen Berlev.
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Aufbau und Funktionsweise einer CPU
oder Womit genau ein Prozessor seine Zeit verbringt
Vom Prozessor zum System
Vom HW-Automaten zum Prozessor
מבוא למערכות מחשב ואסמבלי
 Präsentation transkript:

Rechnerarchitektur Vorlesung 2 Peter B. Ladkin ladkin@rvs.uni-bielefeld.de

Inhalt Allgemeine von Neumann Architektur Architektur der CPU Wie sie funktionieren Assembly Sprache Befehls-Ausführung

Von Neumann Architektur Stored Program Architektur Speicher beinhaltet Daten Speicher beinhaltet auch das Programm Befehle werden vom Speicher geholt Sowie Daten Speicher in Daten-/Programm-Speicher geteilt

Vorher Programme per Laufbandleser gelesen "Paper Tape" - Papierband mit Löcher Oder per "punched card". Hollerith (IBM) Auch Daten Aber Zwischenresultate gespeichert

Allgemeine vN-Achitektur

Adressen Speicher ist ein Feld von erheblicher Größe Adressen sind wie Feld-Indizes Die Speicherhardware "interpretiert" eine Adresse Adressen werden zum Speicher auf dem Adressbus übertragen

Daten Daten sind der Inhalt eines Array-Elementes Wenn eine Adresse "hereinkommt", wird das Datum, das in der Adresse gespeichert ist, auf den Datenbus gegeben

Bits und Strom Wie "laufen" Daten und Adressen auf dem Bus? Ein Beispiel: Daten und Adressen sind "8-bit" breit Ein Bus besteht auf 8 parallelen Leitungen Für eine "1" wird die entsprechende Leitung "hoch" gesetzt (die Spannung ist “high”) Für eine "0" auf null gesetzt (Spannung “low”) Für eine entsprechende Zeit

Bits und Strom Nicht die einzige Methode, aber am weitesten verbreitet "Zeit" kommt von einer Uhr Z.B. die selbe Uhr, die die Taktfrequenz gibt

Architektur nochmal

Wie es funktioniert Tick: Adresse auf Adress-Bus (entsprechende Leitungen hochgesetzt) Tick: erreicht Speicher Tick, Tick: Speicherelektronik öffnet Adresse Tick: Daten auf Datenbus eingeschaltet Tick: Datenwelle erreicht CPU Tick: CPU schaltet Daten auf ein Register ein

Wie es funktioniert Daten laufen auf dem Bus nicht unbedingt im Takt Speicher reagiert nicht undedingt auf den Takt Aber es gibt eine Anzahl von Ticks in dem man auf jeden Fall die Daten bekommt Dieser wird "Memory latency" genannt und für alle Speicher-Datenanschlussoperationen benutzt

Wie es funktioniert Die meisten CPUs haben internen Speicher: "Register" (wenig) und “Cache” (mehr) Register sowie Cache reagieren auf Taktfrequenz Dann muss Speicher nicht mehr synchron mit der CPU arbeiten Er könnte asynchron mit der CPU arbeiten

Wie es funktioniert Es gibt eine Menge kluger Algorithmen, die Cache und Speicher effizient benutzten Die Algorithmen werden in Hochleistungsprozessoren verwendet

I/O Funktioniert wirklich asynchron mit der CPU Und sehr langsam Von Software bedient: "Drivers" Adressen von I/O-Geräten alle höher als Adressen vom Speicher

CPU

CPU

CPU PC hält die Adresse des nächsten Befehls Tick: wird in MAR gespeichert Tick: wird auf den Adressbus gestellt; PC gleichzeitig inkrementiert Tick...tick: Daten (Befehl) kommt in MBR rein Tick: Befehl wird in IR transferiert Tick: Befehl wird in Dekodierer transferiert Wird in Befehl und Argumente geteilt

CPU: "Jump"-Befehl Falls "Jump <Befehl-Adresse>" Wird in "Jump" und "<Befehl-Adresse>" geteilt <Befehl-Adresse> wird in MAR gesetzt Tick...tick neuer Befehl kommt in MBR rein Wird in IR transferiert Zurück zum Anfang

CPU: "Add"-Befehl Falls "Add"-Befehl "Add" wird an ALU weitergegeben "Add <Speicher-Adresse>" bedeutet: ACC <- <Sp.Ad.-Inhalt> + ACC Speicher-Adressen werden MAR -> MBR Zyklus folgen

CPU: "Add"-Befehl Tick...tick; Inhalt der <Sp.-Adresse> wird in MBR erscheinen ALU transferiert MBR-Inhalt in die ALU Dieser Inhalt wird zum Inhalt des ACCs addiert innerhalb der ALU Resultat wird in den ACC transferiert PC wird in MAR transferiert usw.

Assembly-Sprache Es wird "Jump xxyyzz" geschrieben statt Binärcode Ein "Assembler" convertiert die Programme in binäre Notation Die binäre Notation ist die Maschinen-Sprache Maschinen-Sprache wird von der Maschine ausgeführt

Assembly-Sprache Arithmetische Operationen Add: ACC <- ACC + <Sp.Ad.-Inhalt> Subtract: ACC <- ACC - <Sp.Ad.-Inhalt> Shift (multiply by 2): ACC <- ACC * 2 == alle Bits in ACC einmal nach links gestellt mit 0 in Low-Order Bit Multiply: ACC <- ACC * <Sp.Ad.-Inhalt> Divide: ACC <- ACC / <Sp.Ad.-Inhalt>

Assembly-Sprache Logische Operationen "Jump <Befehl-Ad.>" : Inhalt der <Bef.-Ad.> wird in IR geladen; PC wird <Bef.-Ad.> + 1 "Load <Sp.-Ad.>": Inhalt der <Sp.-Ad.> wird in ACC geladen; PC wird PC + 1 "Store <Sp.-Ad.>": Inhalt des ACCs wird in <Sp.Ad.> gespeichert; PC wird PC + 1 "If ACC then <Bef.-Ad.>": ACC > 0 then PC wird <Bef.-Ad.>; ACC </= 0 then No-Op.

Übung Nimm die 9 Befehle Beschreibe genau, was bei jedem Tick passieren muss, um den Befehl endgültig auszuführen Zähl die Ticks pro Befehl Bau zusätzliche "null"-Ops ein, um die Anzahl der Ticks für jeden Befehl auszugleichen

Eine abstrakte CPU

CPU - fehlende Teile Interrupt-Werk ist nicht beschrieben Genaue Funktionsweise der Uhr ist nicht beschrieben

CPU des DEPs