Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Vom HW-Automaten zum Prozessor Technische Grundlagen der Informatik Prof. Dr. Michael Löwe (Grundlage: Tanenbaum/Goodman. Computerarchitektur. 1999.)

Ähnliche Präsentationen


Präsentation zum Thema: "Vom HW-Automaten zum Prozessor Technische Grundlagen der Informatik Prof. Dr. Michael Löwe (Grundlage: Tanenbaum/Goodman. Computerarchitektur. 1999.)"—  Präsentation transkript:

1 Vom HW-Automaten zum Prozessor Technische Grundlagen der Informatik Prof. Dr. Michael Löwe (Grundlage: Tanenbaum/Goodman. Computerarchitektur )

2 FHDWVom HW-Automaten zum Prozessor2 Inhalt Hardware-Automaten Speicherorganisation Prozessoren und Speicher Datenweg Micro Controller Instruction Set Architecture Instruction Set Architecture Implementation

3 FHDWVom HW-Automaten zum Prozessor3 Hardware-Automaten Logische Funktion (m+n Bit k+n Bit) Input (m Bit) Input (m Bit) Register (n Bit) Clk Register (k Bit) Output (k Bit) Output (k Bit) Last State Last State Next State (n Bit)

4 FHDWVom HW-Automaten zum Prozessor4 Hardware-Automaten: Beispiele Ampel Bedieneinheit Videorecorder Geldautomat..... ?

5 FHDWVom HW-Automaten zum Prozessor5 Hardware-Automaten Input (m Bit) Input (m Bit) Register (n Bit) Clk Register (k Bit) Output (k Bit) Output (k Bit) Last State Last State Next State (n Bit) Logische Funktion (m+n Bit k+n Bit) Speicherbaustein mit m+n Bit breitem Adressbus k+n Bit breitem Datenbus Logische Funktion (m+n Bit k+n Bit) Speicherbaustein mit m+n Bit breitem Adressbus k+n Bit breitem Datenbus Adressbus Datenbus

6 FHDWVom HW-Automaten zum Prozessor6 Register QD Clk QD QD QD D1D2D3D4 Q1Q2Q3Q4Clk

7 FHDWVom HW-Automaten zum Prozessor7 Speicherorganisation QD Clk QD QD QD Dekodierer/ Multiplexer IN Out A0A0 A1A1 WR CS ( Tri-State: IN = Out ) OE

8 FHDWVom HW-Automaten zum Prozessor8 Speicherbausteine 4 1 Bit A0A0 A1A1 WR CS OE D 16 1 Bit A0A0 A1A1 WR CS OE D A2A2 A3A Bit A0A0 A1A1 WR CS OE D0D0 A2A2 A3A3 D1D1 D2D2 D3D3

9 FHDWVom HW-Automaten zum Prozessor9 Speicher aus Bausteinen Verfügbar: 16 × 4 Bit Nachgefragt: 32 × 4 Bit 16 × 8 Bit ? 16 4 Bit A0A0 A1A1 WR CS OE D0D0 A2A2 A3A3 D1D1 D2D2 D3D3

10 FHDWVom HW-Automaten zum Prozessor10 Speicher aus Bausteinen 16 4 Bit A0A0 A1A1 WR CS OE D0D0 A2A2 A3A3 D1D1 D2D2 D3D Bit A0A0 A1A1 WR CS OE D0D0 A2A2 A3A3 D1D1 D2D2 D3D3 DatenBus D0D0 D1D1 D2D2 D3D3 AdressBus A1A1 A2A2 A3A3 A4A4 A0A0 WR OE Schaltung für 32 4 Bit

11 FHDWVom HW-Automaten zum Prozessor11 Speicher aus Bausteinen 16 4 Bit A0A0 A1A1 WR CS OE D0D0 A2A2 A3A3 D1D1 D2D2 D3D Bit A0A0 A1A1 WR CS OE D0D0 A2A2 A3A3 D1D1 D2D2 D3D3 DatenBus D0D0 D1D1 D2D2 D3D3 D4D4 D5D5 D6D6 D7D7 AdressBus A0A0 WR OE A1A1 A2A2 A3A3 CS Schaltung für 16 8 Bit

12 FHDWVom HW-Automaten zum Prozessor12 Speicherbausteine Random Access Memory (RAM) Statische RAMs (SRAM) Dynamische RAMs (DRAM) Read-Only-Memory (ROM) Vorfabrizierte ROMs Programmable ROM (PROM) Erasable PROM (EPROM) Hybride Speicherbausteine Electrically EPROMs (EEPROM) Flash Memory

13 FHDWVom HW-Automaten zum Prozessor13 Prozessor und Speicher Prozessor Datenbus Adressbus Speicher Programm Konstanten Variablen-Stack Operanden-Stack

14 FHDWVom HW-Automaten zum Prozessor14 Der Datenweg Typische ALU-Funktionen: C = A + B C = A B C = A C = B C = B + 1 C = ShiftLeft(A, 8 Bit) C = -A... MAR MDR MBR PC LV CPP SP H H ALU B A C Z Zum und vom Speicher TOS

15 FHDWVom HW-Automaten zum Prozessor15 Micro Controller: Übersicht MAR MDR MBR PC LV CPP SP TOS ALU C Bit Steuerspeicher Bit Steuerspeicher Addr J J ALU C C M M B B Decode MPC B H H A 2* read, write, fetch Z Z 1 MIR

16 FHDWVom HW-Automaten zum Prozessor16 Micro Instruction MAR MDR MBR PC LV CPP SP TOS ALU C Bit Steuerspeicher Bit Steuerspeicher Addr J J ALU C C M M B B Decode MPC B H H A 2* read, write, fetch Z Z 1 MIR Addr J J ALU C C M M B B Auswahl Register für B-Bus (dekodiert) als zweites Argument für die ALU Auswahl (mehrerer) Register für C-Bus zur Übernahme des ALU-Resultats Auswahl der ALU-Operation Adresse der nächsten auszu- führenden Micro Instruction Micro-GOTO bedingt und unbedingt Speichersteuerung (read | write); fetch

17 FHDWVom HW-Automaten zum Prozessor17 Micro Controller: Ablaufsteuerung MAR MDR MBR PC LV CPP SP TOS ALU C Bit Steuerspeicher Bit Steuerspeicher Addr J J ALU C C M M B B Decode MPC B H H A 2* read, write, fetch Z Z 1 MIR 1. Laden der nächsten Micro-Instruktion Adresse in MPC 2. Ausbreiten der Signale bis zum B-Bus 3. Ausbreiten der Signale bis zum C-Bus 4. Speichern der Ergebnisse 5. MPC für neuen Zyklus laden

18 FHDWVom HW-Automaten zum Prozessor18 Micro Programme MAR MDR MBR PC LV CPP SP TOS ALU C Bit Steuerspeicher Bit Steuerspeicher Addr J J ALU C C M M B B Decode MPC B H H A 2* read, write, fetch Z Z 1 MIR Label: R1 =..... = R <;(rd|wr)> <;fetch> <;goto label <;label>> Beispiele: H = MDR H = H + SP H = MBR << 8 SP = H or MDR; fetch TOS = MDR; goto Main

19 FHDWVom HW-Automaten zum Prozessor19 Prozessor und Speicher Prozessor Datenbus Adressbus Speicher Maschinen Programm Konstanten Variablen-Stack Operanden-Stack PC (random) CPP (bottom) LV (bottom of top) SP (top) Adr 0 Adr

20 FHDWVom HW-Automaten zum Prozessor20 Programme und Maschinenprogramme Maschinenprogramm C++ Programm C++ Programm Pascal Programm Pascal Programm VB6 Programm VB6 Programm C++ Compiler Pascal Compiler VB6 Compiler Mikro- programm Mikro- programm Prozessor Speicherzustand HW SW steuert interpretiert

21 FHDWVom HW-Automaten zum Prozessor21 Typische Instruktionen Dyadische Operatoren: add, sub, or,... Speicherbefehle: store, load (from/on stack) Sprünge: goto, goto on zero,... Prozeduraufruf: call, return Byte1: Opcode Byte1: Opcode Byte2 + Byte3:Variable Index Byte1: Opcode Byte2 + Byte3: Offset vom PC

22 FHDWVom HW-Automaten zum Prozessor22 Micro-Implementierung B1: add B1: load B2: Index B1: goto B2 + B3: Offset vom PC Main: PC = PC + 1; fetch; goto (MBR) MAR MDR MBR PC LV CPP SP TOS ALU C Bit Steuerspeicher Bit Steuerspeicher Addr J J ALU C C M M B B Decode MPC B H H A 2*2* read, write, fetch Z Z 1 MIR

23 FHDWVom HW-Automaten zum Prozessor23 Micro-Implementierung B1: add B1: load B2: Index B1: goto B2 + B3: Offset vom PC MAR = SP = SP - 1; rd H = TOS MDR = TOS = MDR + H; wr; goto Main H = LV MAR = MBR + H; rd MAR = SP = SP + 1 PC = PC + 1; fetch; wr TOS = MDR; goto Main MDR = PC - 1 PC = PC + 1; fetch H = MBR << 8 H = MBR or H PC = MDR + H; fetch wait; goto Main Main: PC = PC + 1; fetch; goto (MBR)


Herunterladen ppt "Vom HW-Automaten zum Prozessor Technische Grundlagen der Informatik Prof. Dr. Michael Löwe (Grundlage: Tanenbaum/Goodman. Computerarchitektur. 1999.)"

Ähnliche Präsentationen


Google-Anzeigen