DIGITALE SCHALTUNGEN II

Ähnliche Dokumente
Was ist die Performance Ratio?

Neue Prozessor-Architekturen für Desktop-PC

Technische Informatik - Eine Einführung

Name: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden.

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU

Computer-Architektur Ein Überblick

Pipelining. Die Pipelining Idee. Grundlagen der Rechnerarchitektur Prozessor 45

Mikroprozessoren. Aufbau und Funktionsweise. Christian Richter. Ausgewählte Themen der Multimediakommunikation SS 2005

Instruktionssatz-Architektur

Wichtige Rechnerarchitekturen

L3. Datenmanipulation

Auch hier wieder. Control. RegDst Branch MemRead MemtoReg ALUOp MemWrite ALUSrc RegWrite. Instruction[31 26] (also: das Opcode Field der Instruktion)

Inhalt. Prozessoren. Curriculum Manfred Wilfling. 28. November HTBLA Kaindorf. M. Wilfling (HTBLA Kaindorf) CPUs 28. November / 9

Data Hazards. Grundlagen der Rechnerarchitektur Prozessor 74

Das Prinzip an einem alltäglichen Beispiel

Arbeitsfolien - Teil 4 CISC und RISC

Teil 1: Prozessorstrukturen

Technische Informatik 1 - HS 2016

Technische Informatik 1 Übung 8 Instruktionsparallelität (Rechenübung) Andreas Tretter 8./9. Dezember Bitte immer eine Reihe freilassen

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register

ARM: Befehlssatz (Forts.)

Datenpfad einer einfachen MIPS CPU

Technische Informatik 1 Übung 6 Pipelining (Rechenübung) Andreas Tretter 24./25. November 2016

Mikroprozessor als universeller digitaler Baustein

Samsungs Exynos 5 Dual

Grundlagen der Rechnerarchitektur

Die ARM-Mikroarchitektur. Acorn RISC Machine ARM. Asm Prak SS03 p.1/13

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller

früher: CISC ( Complex Instruction Set Computer )

RISC: Reduced Instruction Set Computer. Technische Informatik I Wintersemester 14/15 1. J. Kaiser, IVS-EOS

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9

Aktuelle Techniken zur Leistungssteigerung von Mikroprozessoren

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel

Kapitel 11 RISC-Rechner

Technische Grundlagen der Informatik 2 SS Einleitung. R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt E-1

Technische Informatik I, SS 2001

Vorlesung Rechnerarchitektur. Einführung

1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3

Grundlagen der Rechnerarchitektur

MikroController und Mikroprozessoren

Von-Neumann-Architektur

Teil 1: Prozessorstrukturen

H E F B G D. C. DLX Rechnerkern

B Einführung. 1 Historische Entwicklung. 1 Historische Entwicklung (3) 1 Historische Entwicklung (2)

Instruktionen pro Takt

Der Toy Rechner Ein einfacher Mikrorechner

Mikrocontroller und Mikroprozessoren

Digitaltechnik und Rechnerstrukturen. 2. Entwurf eines einfachen Prozessors

Teil 1: Prozessorstrukturen

2.1 Rechnersichten 2.2 Rechnerorganisation: Aufbau und Funktionsweise

Technische Informatik 1 - HS 2016

Rechner Architektur. Martin Gülck

11.0 Rechnerarchitekturen

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

3. Grundlagen der Rechnerarchitektur

9. Assembler: Der Prozessor Motorola 68000

Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega128

Befehle zur Verarbeitung von Daten ( data processing ):

Beispiele von Branch Delay Slot Schedules

Prinzipieller Aufbau und Funktionsweise eines Prozessors


Architektur und Organisation von Rechnersystemen

RISC: Reduced Instruction Set Computer. Technische Informatik I Wintersemester 12/13 1. J. Kaiser, IVS-EOS

Grundlagen der Rechnerarchitektur. Einführung

Technische Informatik 1 - HS 2017

9.1. Aufbau einer Befehlspipeline

Rechnergrundlagen SS Vorlesung

, 2014W Übungsgruppen: Mo., Mi.,

Rechnergrundlagen SS Vorlesung

Grundlagen der Informationsverarbeitung:

Prinzipien und Komponenten eingebetteter Systeme

1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3

Philipp Grasl PROZESSOREN

CISC ( Complex Instruction Set Computer ) mächtige Instruktionssätze zur Unterstützung von Hochsprachenkonstrukten

Rechneraufbau und Rechnerstrukturen

Von - Neumann - Rechner. Zentraleinheit ( CPU )

Systeme 1: Architektur

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

System-Architektur und -Software

Integrierte Schaltungen

Grundlagen der Rechnerarchitektur

Die Mikroprogrammebene eines Rechners

Geräteentwurf mit Mikroprozessoren 1

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit)

Besprechung des 5. Übungsblattes Parallelität innerhalb der CPU Pipelining

Teil Rechnerarchitekturen. Repetitorium. Corinna Schmitt

Brückenkurs / Computer

a) Erläutern Sie die Begriffe CISC und RISC. Worin liegen die Unterschiede zwischen diesen beiden Architekturen?

Arithmetische und Logische Einheit (ALU)

Echtzeit Videoverarbeitung

Transkript:

DIGITALE SCHALTUNGEN II 3. Sequentielle Schaltkreise 3.1 Vergleich kombinatorische sequentielle Schaltkreise 3.2 Binäre Speicherelemente 3.2.1 RS Flipflop 3.2.2 Getaktetes RS Flipflop 3.2.3 D Flipflop 3.2.4 JK Flipflop 3.2.5 Master Slave JK Flipflop 3.3 Schaltungen mit Flipflops 3.3.1 Zähler und Teiler 3.3.2 Register 1/40

Vergleich von kombinatorischem Schaltkreis mit sequentiellem Schaltkreis Kombinatorischer Schaltkreis i j Der Zustand der Ausgänge j wird eindeutig von den Zuständen der Eingänge i bestimmt. Sequentieller Schaltkreis i j k Der Zustand der Ausgänge j wird von den Zuständen der Eingänge i und den Rückführungen k bestimmt. Die Rückführungen implementieren die Funktionälitat eines Gedächtnisses. 2/40

RS-Flipflop S 1 1 1 1 Q Q R Wahrheitstabelle Q v S R Q n Q n 0 0 0 0 1 0 0 1 0 1 0 1 0 1 0 0 1 1 1 1 1 0 0 1 0 1 0 1 0 1 1 1 0 1 0 1 1 1 1 1 Komprimierte Wahrheitstabelle Q v S R Q n Q v 0 0 Q v X 1 0 1 X 0 1 0 Nebenbedingung: R S = 0 3/40

4/40 34

5/40 35

Getaktetes RS-Flipflop Takt 1 t 0 t Getakteter Eingang a T & a, 0 Getaktetes RS-Flipflop S & & Q T R & & Q 6/40

JK-Flipflop J & & Q T K & & Q Komprimierte Wahrheitstabelle J K Q n 0 0 Q n 1 0 1 0 1 0 1 1 1 Q n 1 7/40

Master Slave JK-Flipflop J & & & & Q T T 1 K & & & & Q Master Slave 8/40

9/40 39

10/40 40

11/40 41

12/40 42

13/40 43

4. Struktur und Arbeitsweise eines Rechners 4.1 Register 4.2 Bus 4.3 Einfache Operationen 4.4 Steuerung 4.5 Hauptspeicher 4.6 von Neumann-Struktur eines Rechners 4.7 Memory mapped IO 4.8 Einfache Mikroprozessoren 4.9 Architekturen: CISC und RISC 4.10 Neue Architekturen 14/40

15/40 44

16/40 45

17/40 46

18/40

19/40 48

20/40 49

21/40 50

22/40 51

Memory-mapped IO Ein-/Ausgabe Seiten F F FFFF F y 0000 23/40 E/A Bus Speicher Bus Adapter Bus Hauptspeicher 0 x FFFF 0 0 0000 Bus Logischer Adressraum Prozessor

24/40 52

25/40 53

Intel 4004 Der Intel 4004 ist ein 4-Bit-Mikroprozessor des Mikrochipherstellers Intel, der am 15. November 1971 auf den Markt kam. Er gilt als der erste Ein-Chip-Mikroprozessor, der in Serie produziert und am freien Markt vertrieben wurde. Meist wird er auch als erster Mikroprozessor überhaupt bezeichnet, was aber nicht richtig ist, da bei Texas Instruments bereits 1968 ein Mikroprozessor als Auftragsarbeit entwickelt wurde, der aber nie in Serie ging. 26/40

Rockwell 6502 (1975) Taktrate 1-3 MHz 8 Bit Register ausser PC (16 Bit) 16 Bit Adressen 64k Byte Adressraum 56 Instruktionstypen; 151 Instruktionen Instruktionen 1 3 Byte, erstes Byte immer Op-Code Ausführungsdauer: 1 Byte Befehl 2 µs 3 Byte Befehl 7 µs Beispiele von Adressierungsmodi Immediate Addressing LDA #$3F 2 Byte # immediate, $ hexadezimal Lade die Konstante 3F H in den Akkumulator Absolute Addressing 3Byte LDA $12BA Lade den Inhalt von Speicheradresse 12BA H in den Akkumulator Absolute Indexed Addressing 3Byte LDA $12BA, X Lade den Inhalt von Speicheradresse, gegeben durch 12BA H Indexregister X, in den Akkumulator + Inhalt von 27/40

28/40 55

29/40 56

ARM-Architektur Die ARM-Architektur ist ein 1983 vom britischen Computerunternehmen Acorn entwickeltes 32-Bit-Chip-Design. Das Unternehmen begann die Entwicklung eines leistungsfähigen Prozessors für einen Nachfolger seines bis dahin auf dem 6502 basierenden Computer. ARM steht für Advanced RISC Machines. Das Unternehmen ARM Limited stellt keine eigenen Elektronikchips her, sondern vergibt unterschiedliche Lizenzen an Halbleiterhersteller. Die Vielzahl dieser Lizenznehmer und verschiedene Vorteile der Architektur (z. B. geringer Energiebedarf) führten dazu, dass ARM-Chips im Embedded-Bereich die meistgenutzte Architektur sind. Fast alle derzeitigen Smartphone und Tablet-Computer haben beispielsweise einen oder mehrere lizenzierte ARM-Prozessoren. Nachdem der ARM2 1989 zum ARM3 (mit Cache und höherer Taktfrequenz) weiterentwickelt worden war und immer mehr Unternehmen Interesse an diesen Prozessoren bekundet hatten, gründete Acorn im Jahre 1990 zusammen mit Apple und VLSI Technology das Unternehmen Advanced RISC Machines Ltd. mit Sitz in Großbritannien, welches später in ARM Ltd. umbenannt wurde. Architektur Familie(n) Erscheinungsjahr Takt ARMv1 ARM1 1985 4 MHz ARMv2 ARM2, ARM3 1986, 1989 8 25 MHz ARMv3 ARM6, ARM7 1991, 1993 12 40 MHz ARMv4 ARMv5 ARMv6 ARMv7 ARM7TDMI, ARM8, StrongARM ARM9TDMI ARM7EJ, ARM9E, ARM10E, XScale 1995, 1997 2002 ARM11, 2002 ARM Cortex-M0, ARM Cortex-M0+, ARM Cortex-? M1 ARM Cortex-M3, ARM Cortex-M4 ARM Cortex-A (A8, A9, A5, A15, A7 und A12), ARM Cortex-R 2004 2005? 16,8 75 MHz, 203 206 MHz 180 MHz 104 369 MHz 133 1250 MHz 400 772 MHz bis 200 MHz [3]? bis 2 GHz? ARMv8 ARM Cortex-A53, ARM Cortex-A57 *[4] 2013 3 GHz Quelle: Wikipedia: ARM-Architektur 30/40

Vergleich CISC RISC Complex Instruction Set Computer Vertreter: 6502, PDP11, VAX11 Oft Implementierung des Orthogonal Instruction Set Anfang 70-iger: Semantische Lücke; die meisten komplexen Instruktionen werden von Compilern nicht oder nur wendig genutzt. Reduced Instruction Set Computer auch Load/Store Architektur genannt Vertreter: Alpha Unterscheiden sich nicht durch die Zahl der Instruktion sondern durch die Pipeline Verarbeitung der Befehle. Die Pipeline hat eine fixe Anzahl von Schritten. Dadurch sind komplexe Adressierungsmodi ausser bei Load oder Store Operationen nicht möglich. Beispiel CISC ADD adr1, adr2, adr3 einfache Adressierung ADD @(adr1), @(adr2), @(adr3) komplexe Adressierung Beispiel RISC Es gibt separate Load und Store Befehle, die auch komplexe Addressierungsmodi unterstützen. Die anderen Operationen finden ausschliesslich in/zwischen den Registern statt LOA LOA ADD STO @(adr1), R1 @(adr2), R2 R1, R2, R1 R1, @(adr3) 31/40

Befehlpipelining A IF, Instruction Fetch B ID, Instruction Decoding C EX, Execution D WB, Write Back Wenn jede Phase des Befehls mit einem Taktzyklus durchgeführt wird, wird effektiv ein Befehl pro Takt ausgeführt. Falls die Phasen mehrere Taktzyklen zur Ausführung benötigen, bestimmt die längste Phase die effektive Ausführungszeit. Quelle: Wikipedia 32/40

Beschleunigung der Befehlsbearbeitung Superpipelining: Aufteilen jeder Phase in Teilschritte mit einem Taktzyklus. Trotz einer grösseren Zahl von (Teil-)Phasen wird pro Takt effektiv ein Befehl ausgeführt! Superskalare Architektur: Mehrere parallele Pipelines Quelle: D.W. Hoffmann 33/40

Hazards: Probleme, derart dass effektiv weniger als ein Befehl pro Taktzyklus ausgeführt wird. Control Hazard Probleme bei bedingten Sprüngen start: BEQ R1, R2, else: // if (R1 == R2) ADD R1, #1; // R1 = R1 + 1; JMP end: // else else: ADD R2, #1; // R2 = R2 + 1; end:... Lösen des Problems durch Einschieben von leeren Operationen NOP start: BEQ R1, R2, else: NOP NOP NOP ADD R1, #1; JMP end: NOP NOP NOP else: ADD R2, #1; end:... Quelle: D.W. Hoffmann 34/40

Lösen des Problems durch Spekulative Befehlsausführung Nach bedingtem Sprung Einfüllen der Befehle des wahrscheinlicheren Zweiges Trifft die Vorhersage nicht zu, muss die Pipeline entleert und der Prozessorstatus zurückgesetzt werden Statische Vorhersage schlechte Trefferquote << 85% Dynamische Vorhersage Erhöhung der Trefferquote (bis 98%) durch Aufzeichnen des Sprungverhaltens in Branch History Table (BHT) Reaktion auf den ersten Wechsel des Sprungverhaltens ist zu ineffizient, daher Aufzeichnung zweier (oder mehr) Wechsel BHT mit 2 Bit Prediction Index aus den niederwertigen Bits der Adresse Sprungstatus 0 0 0 1 35/40

Sprungstati und Übergänge Sprungstatus Bedeutung 00 Sprung 2 oder mehrere Male ausgeführt 01 Sprung zum ersten Mal nicht ausgeführt 10 Sprung zum ersten Mal wieder ausgeführt 11 Sprung 2 oder mehrere Male nicht ausgeführt Vorhersage springen? ja ja nein nein 00 01 10 11 Kein Sprung Sprung 36/40

37/40 58

Entwicklung der RISC Prozessoren Beispiel Alpha-Chip 21064 21164 21264 CMOS6 Technologie: Leiterbahnen 0.35 µm, 6 Schichten 3 cm 2 Fläche 15,2 10 6 Transistoren weiteres Parallelisieren der Instruktionsbearbeitung mehr Pipelines 4 Befehle pro Zyklus Superskalar 4 Integer Pipelines 2 Floatingpoint Pipelines Takt 500 MHz 4 500 MHz 2000 MIPS Vorhersage der Geschwindigkeitserhöhung durch Reduktion der Grösse 38/40

39/40 60

Und wie geht es weiter? Explicitly Parallel Instruction Computing (EPIC) Vertreter: Itanium Prozessor speziell konzipiert für die Parallelverarbeitung. Die Entscheidung über die Parallelisierung wird schon vom Compiler vorgenommen, damit Vereinfachung des Prozessors im Vergleich zur superskalaren Architektur. 40/40