Rechnerarchitekturen und Betriebssysteme HS 2015



Ähnliche Dokumente
Rechnerarchitektur und Betriebssysteme (CS201): Architektur, ALU, Flip-Flop

Grundlagen der Informatik 2. Grundlagen der Digitaltechnik. 5. Digitale Speicherbausteine

Schaltwerke Schaltwerk

Hardwarearchitekturen und Rechensysteme

DuE-Tutorien 17 und 18

Schaltungen Jörg Roth 197

Grundtypen Flip-Flops

Praktikum Digitaltechnik

Flipflops. asynchron: Q t Q t+t

Grundtypen Flip-Flops

III. Asynchrone und synchrone Schaltwerke

Einteilung der Kippschaltungen (Schaltwerke) (=Flipflops)

Flip Flops allgemein - Digitale Signalspeicher

Oliver Liebold. NAND (negierte Undverknüpfung) L L H L H H H L H H H L

Praktikum Grundlagen der Elektronik

Wintersemester 2001/2002. Hardwarepraktikum. Versuch 4: Sequentielle Systeme 1. - Toralf Zemlin - Swen Steinmann - Sebastian Neubert

Füllstandsregelung. Technische Informatik - Digitaltechnik II

Eigenschaften von Zählerschaltungen (1) 1 1. Richtung

DuE-Tutorien 4 und 6. Tutorien zur Vorlesung Digitaltechnik und Entwurfsverfahren Christian A. Mandery. WOCHE 12 AM

- Strukturentwurf elementarer Rechenwerke - Grund-Flipflop (RS-Flipflop) - Register, Schieberegister, Zähler

N Bit binäre Zahlen (signed)

Technische Informatik Basispraktikum Sommersemester 2001

Digitaltechnik II SS 2007

Versuch 3: Sequenzielle Logik

Arbeitsbereich Technische Aspekte Multimodaler Systeme. Praktikum der Technischen Informatik T1 2. Flipflops. Name:...

Elektrische Logigsystem mit Rückführung

Einführung in. Logische Schaltungen

1. Speicherbausteine JK-RS-Master-Slave-Flip-Flop

Übung 1 RS-FFs mit NOR- oder NAND-Gattern

2.5.1 Das Basis-Flipflop

Grundlagen der Informationverarbeitung

Daten verarbeiten. Binärzahlen

Grundlagen der Technischen Informatik. Sequenzielle Netzwerke. Institut für Kommunikationsnetze und Rechnersysteme. Paul J. Kühn, Matthias Meyer

Informatik I Modul 4: Schaltwerke

Digital-Technik. Grundlagen und Anwendungen. Teil IV

Benutzte Quellen. Benutzte Bezeichnungen. Logik. Logik

Speicherung von Signalen - Flipflops, Zähler, Schieberegister

Angewandte Physik II: Elektronik

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

10. Elektrische Logiksysteme mit

9 Flipflops (FF) Basis-FF. (Auffang-FF, Latch) praxis verstehen chancen erkennen zukunft gestalten 9-1

FAKULTÄT FÜR INFORMATIK

3 Arithmetische Schaltungen

Eine Logikschaltung zur Addition zweier Zahlen

a) Wie viele ROM-Bausteine benötigen Sie für den Aufbau des 64x16 ROMs? c) Wie viele Bytes Daten können im 64x16 ROM insgesamt gespeichert werden?

Digitalelektronik 4 Vom Transistor zum Bit. Stefan Rothe

Aufgabensammlung. a) Berechnen Sie den Basis- und Kollektorstrom des Transistors T 4. b) Welche Transistoren leiten, welche sperren?

Rechnerarchitektur. Zustand Anzeige Untergeschoss U Erdgeschoss E 1. Stock 1

Theoretische Informatik SS 04 Übung 1

Aufgabe 1) Die folgenden Umwandlungen/Berechnungen beziehen sich auf das 32-Bit Single-Precision Format nach IEEE-754.

Versuch Nr. 8c Digitale Elektronik I

2 Darstellung von Zahlen und Zeichen

9 Multiplexer und Code-Umsetzer

2. Negative Dualzahlen darstellen

Vorbereitung zum Versuch

Labor Grundlagen der Elektrotechnik

Daten, Informationen, Kodierung. Binärkodierung

Grundlagen der Informatik

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

KLAUSUR DIGITALTECHNIK SS 00

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Protokoll Flip-Flops. Protokollanten: Torsten Görig und Michael Horstmann

Primzahlen und RSA-Verschlüsselung

Protokoll zu Grundelemente der Digitaltechnik

11. Flipflops NOR-Flipflop. Schaltung: zur Erinnerung: E 1 A 1 A 2 E 2. Funktionstabelle: Fall E 1 E 2 A 1 A

Versuch P1-63 Schaltlogik Vorbereitung

Zahlensysteme: Oktal- und Hexadezimalsystem

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird.

Die Mikroprogrammebene eines Rechners

Professionelle Seminare im Bereich MS-Office

Computeria Urdorf. Treff vom 16. Januar Was ist ein Computer?

Sequentielle Logik. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

Protokoll zum Praktikum des Moduls Technische Informatik an der JLU Gießen

Computertechnik Schaltwerke, Sequentielle Schaltungen. Flip-Flops (FF) Flip-Flops (FF) Dr. Wolfgang Koch

Basisinformationstechnologie I

Übungsaufgaben. - Vorgehensweise entsprechend dem Algorithmus der schriftlichen Multiplikation

A.3. A.3 Spezielle Schaltnetze Prof. Dr. Rainer Manthey Informatik II 1

Grundlagen der Informatik

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Binär Codierte Dezimalzahlen (BCD-Code)

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

Ergänzen Sie die Werte für y in dem unten angegebenen Ausschnitt der Schaltbelegungstabelle. Falsche Antworten führen zu Punktabzug.

Zu DT Übung 11.1 FF oben links. (Lösungsvorschlag)

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

16 Latches und Flipflops (Bistabile Kippstufen)

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73

Von Bits, Bytes und Raid

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Markus Kühne Seite Digitaltechnik

Speicherung digitaler Signale

, WS2012 Übungsgruppen: Mo.,


Tietze, Schenk: Halbleiterschaltungstechnik (Kap. 10) Keller / Paul: Hardwaredesign (Kap. 5) L. Borucki: Digitaltechnik (Kap.

BITte ein BIT. Vom Bit zum Binärsystem. A Bit Of Magic. 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen?

Konzepte der Informatik

FHZ. K01 Geschichte des Computers. Lernziele. Hochschule Technik+Architektur Luzern. Inhalt

5. Flipflops. 5.1 Nicht-taktgesteuerte Flipflops NOR-Flipflop. Schaltung: zur Erinnerung: E 1 A 1 A 2 E 2.

Kapitel 4 Schaltungen mit Delays (Schaltwerke) Literatur: Oberschelp/Vossen, Kapitel 4. Kapitel 4: Schaltungen mit Delays Seite 1

Digitaltechnik. TI-Tutorium. 29. November 2011

Zeichen bei Zahlen entschlüsseln

Transkript:

Rechnerarchitekturen und Betriebssysteme HS 2015 Corinna Schmitt, Florina Ciorba corinna.schmitt@unibas.ch, florina.ciorba@unibas.ch Christian Tschudin christian.tschudin@unibas.ch

Teil Rechnerarchitekturen - M01 Architektur, Schaltnetze, Flipflops, ALU Corinna Schmitt corinna.schmitt@unibas.ch

Architekturen 2015 Corinna Schmitt Teil Rechnerarchitekturen - 3

Rechner- / Betriebssystemarchitekturen! Turingmaschinen ein theoretisches Konzept: Wie kann in der materiellen Welt gerechnet werden? Tonband? Konrad Zuse benutzte Relais! Betriebssysteme-Software Wie soll ein Betriebssystem (OS) organisiert sein? Was für Dienste soll ein OS bieten?! Koppelung der beiden Themen Wie muß Hardware spezifische OS-Aufgaben unterstützen? Welche werden durch Hardwaresupport ermöglicht? Beispiel: Virtueller Speicher 2015 Corinna Schmitt Teil Rechnerarchitekturen - 4

Geschichte (1) Stationen von 1500-1930! A. Riese (1492-1559; Staffelstein) Rechengesetze zum Dezimalsystem! W. Schickard (1592-1635; Tübingen) Erste Rechenmaschine! B. Pascal (1623-1662; Clermont) Rechenmaschine mit 6 Stellen! G. Leibniz (1646-1716; Leipzig) Maschine für vier Grundrechenarten! P. Hahn (1739-1790; Kornwestheim) 1. mechanische Rechenmaschine 2015 Corinna Schmitt Teil Rechnerarchitekturen - 5

Geschichte (2) Stationen von 1500-1930! Charles Babbage (1792-1871) Prinzip der Analytical Engine! Hermann Hollerith (1860-1929) Erfinder der Lochkarte 2015 Corinna Schmitt Teil Rechnerarchitekturen - 6

Konrad Zuse: Erster funktionstüchtiger Computer (Z1)! Mit der aufkommenden Elektrotechnik wurde auf elektromechanische Bauteile gesetzt. Solche Maschinen wurden in den 1940er Jahren von Konrad Zuse in Berlin gebaut. Elektromechanische Z3 besaß ca. 2600 Relais und 64 Speicherplätze mit jeweils 22 Bits. Multiplikation in etwa 3 Sekunden. 2015 Corinna Schmitt Teil Rechnerarchitekturen - 7

Nachgebaute Z1, Konrad Zuse 2015 Corinna Schmitt Teil Rechnerarchitekturen - 8

Howard H. Aiken: Mark I! Howard Aiken erstellte 1944 in Zusammenarbeit mit der Harvard University und der Firma IBM die teilweise programmgesteuerte Rechenanlage Mark I. Bestand aus ca. 100.000 Teilen. War ca.15m lang. Addition in 1/3 Sekunde. Multiplikation in etwa 6 Sekunden. 2015 Corinna Schmitt Teil Rechnerarchitekturen - 9

John von Neumann: Architektur (1)! Mitte der 1940er Jahre entwickelte John von Neumann die Fundamentalprinzipien einer Rechenanlage. Rechenwerk, Steuerwerk, I/O, Verbindungen Programm und Daten im Speicher Schritt für Schritt Bearbeitung von Befehlen Bedingte Sprünge und Verzweigungen 2015 Corinna Schmitt Teil Rechnerarchitekturen - 10

John von Neumann: Architektur (2)! Das Programm ist in der Maschine und wird wie Daten behandelt. Memory beherbergt Instruktionen und Daten Zentrale Kontrolleinheit holt Instruktionen aus dem Speicher Arithmetischer Prozessor Input/output- Mechanismen für den Datentransfer. 2015 Corinna Schmitt Teil Rechnerarchitekturen - 11

John von Neumann: Architektur (3)! Modernes Diagramm der von Neumann Architektur 2015 Corinna Schmitt Teil Rechnerarchitekturen - 12

Andere (Computer-) Architekturen! Dataflow Der Kontrollfluss wird nicht durch eine Zentraleinheit bestimmt, sondern durch die Daten, die durch ein Netz von Recheneinheiten fließen.! DNA Daten werden als Proteine repräsentiert. Enzyme bearbeiten sie.! Quanten-Computing Zustandswahrscheinlichkeiten parallel bearbeiten. 2015 Corinna Schmitt Teil Rechnerarchitekturen - 13

Digitalcomputer! Hypothetische Aufgabe an Sie: Bauen Sie einen digitalen Computer von Grund auf. Welt ist analog, darin digitalen Computer realisieren.! Was wählen Sie? Elektronisch (sind wir gewohnt) Mechanisch (siehe Babbage) Optisch (immer noch Forschung, erst ansatzweise) Elektromechanisch (Z1 - Konrad Zuse 1937) Röhren Ermeth Stiefel/Rutishauser/Speiser@ETHZ 1948 2015 Corinna Schmitt Teil Rechnerarchitekturen - 14

ERMETH im Kommunikationsmuseum Bern 2015 Corinna Schmitt Teil Rechnerarchitekturen - 15

Rückgriff auf Vorlesung Theorie der Informatik 2015 Corinna Schmitt Teil Rechnerarchitekturen - 16

Aussagenlogik (1)! Aussagenlogik: UND, ODER, NICHT etc.! Abstrakte Funktionen, abstraktes Rechenmodell, Sprachen! Wie sollen Berechnungen in Realität implementiert werden?! Darstellungsfrage (in Aussagenlogik auch Modell genannt): Wahrheitswerte in reale Sachverhalte abbilden Verknüpfungsoperationen ebenso 2015 Corinna Schmitt Teil Rechnerarchitekturen - 17

Ansatz Digitalcomputer! Darstellung eines binären Wertes,! dazu logische Grundoperationen,! daraus arithmetische Operationen und Programmflusssteuerung realisieren. 2015 Corinna Schmitt Teil Rechnerarchitekturen - 18

Graphische Darstellung von Logik-Gattern! (Mind.) Drei verschiedene Darstellungen US, Europa, IEEE 2015 Corinna Schmitt Teil Rechnerarchitekturen - 19

Logische Schaltungen: Spannungspegel! Auch Logikpegel genannt! Wahrheitswerte durch unter- Verbotener Bereich schiedliche Signalpegel darstellen! Binärcodierung erfordert zwei Spannungspegel High / Low Verbotener Bereich = keine eindeutige Signalspannung " keine Logikwertzuordnung möglich! Wechsel zwischen Logikpegeln erfordert sog. Mindest-Flankensteilheit Signalflanke 2015 Corinna Schmitt Teil Rechnerarchitekturen - 20

Logische Schaltungen mit elektromechanischen Relais 2015 Corinna Schmitt Teil Rechnerarchitekturen - 21

Logische Schaltungen mit Transistoren! Verschiedene Generationen! RTL = Resistor-Transistor Logic! TTL = Transistor-Transistor Logic! MOS = Metal-Oxide Semiconductor Logic! CMOS = Complementary Metal-Oxide Semiconductor Logic! Beispiele in nachfolgenden Folien 2015 Corinna Schmitt Teil Rechnerarchitekturen - 22

RTL Implementierung: Inverter 2015 Corinna Schmitt Teil Rechnerarchitekturen - 23

RTL Implementierung: NOT (NOT-OR) 2015 Corinna Schmitt Teil Rechnerarchitekturen - 24

RTL Implementierung: NAND (NOT-AND) 2015 Corinna Schmitt Teil Rechnerarchitekturen - 25

Warum NAND und NOR?! Mit Transistoren einfach zu realisieren.! Als Grundbausteine, um die anderen Gatter zu implementieren NOT, AND, OR etc. 2015 Corinna Schmitt Teil Rechnerarchitekturen - 26

Konfektionierung von Gattern: DIL (dual in-line)! Noch heute so erhältlich Siehe Baukasten in den Übungen! Heutzutage: Custom made (ASIC) Programmable logic arrays (PLA/PAL) Fiel-programmable gate arrays (FPGA) 2015 Corinna Schmitt Teil Rechnerarchitekturen - 27

Beispiel: XOR! Es handelt sich also um eine Schaltung, bei der sich am Ausgang A ein niedriges Potential (L) einstellt, wenn an beiden Eingängen das gleiche Signal liegt.! Solche Schaltungen werden in genormten Gehäusen geliefert, die Dual In-line Packages / Gehäuse genannt werden. 2015 Corinna Schmitt Teil Rechnerarchitekturen - 28

Zurück zur Vorlesung Rechnerarchitekturen und Betriebssysteme 2015 Corinna Schmitt Teil Rechnerarchitekturen - 29

Asynchrone und synchrone Schaltwerke Flipflops 2015 Corinna Schmitt Teil Rechnerarchitekturen - 30

Definitionen für Schaltwerke! Werden alle Zustandsspeicher von einem oder mehreren zentralen Synchronisationssignal(en) T (Takt) gesteuert, so spricht man von einem synchronen Schaltwerk.! Anderenfalls spricht man von einem asynchronen Schaltwerk.! Die Synchronisation über einen Takt kann flankengesteuert und pegelgesteuert sein. 2015 Corinna Schmitt Teil Rechnerarchitekturen - 31

Pegelsteuerung! Der Speicher ist während einer Takthälfte transparent, während der anderen speichert er.! Die Eingänge wirken sich nur auf den Zustand aus, wenn der Takt z.b. den Wert 1 hat. Ist der Takt 0, wird der Zustand gespeichert.! Nachteil: Die Eingangssignale können sich während der aktiven (transparenten) Taktperiode mehrfach ändern.! Einfachste Realisierung: Konjunktive Verknüpfung jeder Eingangsvariablen mit dem Takt.! Pegelgesteuerte Zustandsspeicher werden auch Latches genannt. 2015 Corinna Schmitt Teil Rechnerarchitekturen - 32

Flankensteuerung! Nur während der positiven (0 1) oder der negativen (1 0) Taktflanke werden die Eingabewerte in den Speicher übernommen.! Vorteil: Eingänge müssen nur für eine sehr kurze Zeitspanne gültig sein (und nicht über eine ganze Takthälfte wie bei der Pegelsteuerung). die Auswertezeitpunkte sind exakter definiert 01-Übergang 10-Übergang Schaltsymbol für einen flankengesteuerten Takteingang 2015 Corinna Schmitt Teil Rechnerarchitekturen - 33

Synchrone Schaltwerke vs. Asynchrone Schaltwerke (1)! Synchrone Schaltwerke: Mittlere und größere Schaltwerke werden fast immer als synchrone Schaltwerke entworfen.! Vorteil: Leichter zu analysieren und zu entwerfen als asynchrone Schaltwerke.! Grund: Synchrone Schaltwerke sind unabhängig von (teilweise fertigungsabhängigen) Verzögerungszeiten. 2015 Corinna Schmitt Teil Rechnerarchitekturen - 34

Synchrone Schaltwerke vs. Asynchrone Schaltwerke (2)! Wird die Dauer des Taktes nun größer als die maximale Verzögerungszeit im Schaltnetz gewählt: Die Ausgänge der Schaltnetze δ und ω haben sich stabilisiert, bevor sie sich auf z neu auswirken. Zur Analyse und Synthese eines synchronen Schaltwerks muß man lediglich die Schaltnetze δ und ω betrachten.! Die Schaltung kann an den Stellen aufgetrennt werden, an denen die Speicherelemente sitzen. 2015 Corinna Schmitt Teil Rechnerarchitekturen - 35

Synchrone Schaltwerke vs. Asynchrone! Asynchrone Schaltwerke: Schaltwerke (3)! Der Entwurf asynchroner Schaltwerke ist aus zwei Gründen von Bedeutung: Die in synchronen Schaltwerken benutzten Speicherbausteine sind selbst kleine asynchrone Schaltwerke. Immer schneller werdende Bausteine zwingen zu teilweise asynchronen Entwurfstechniken. Warum? 2015 Corinna Schmitt Teil Rechnerarchitekturen - 36

Synchrone Schaltwerke vs. Asynchrone! Begründung: Schaltwerke (4) Werden die Verzögerungszeiten der verwendeten Bausteine kleiner als die Signallaufzeiten auf der Schaltungsplatine/auf dem Chip (ca. 20-30 cm/ns) dann ist der Takt ist nicht länger synchron, da er die einzelnen Bausteine je nach Entfernung zu für die Bausteine unterschiedlichen wahrnehmbaren Zeitpunkten erreicht! TAKTVERTEILUNG? 1 GHz Takt = 1 ns Taktdauer! 2015 Corinna Schmitt Teil Rechnerarchitekturen - 37

Beispiel: Asynchrones SW (Schaltbild des Speichers) Übergangsgleichung: Ausgangsgleichung: ü + = r ü s = r ( ü s )! q = ü! Speicher 1 s 0 r 1 ü 0 0 1! 1 Δ( 1! 1 1 ü + q 1 2015 Corinna Schmitt Teil Rechnerarchitekturen - 38

Beispiel: Asynchrones RS-Flipflop! Dieser Speicher ist ein Standardelement. Es wird als asynchrones RS-Flipflop (bistabile Kippstufe) bezeichnet. Es wird üblicherweise nur etwas anders gezeichnet: Der zusätzliche Ausgang p ist im allgemeinen komplementär zu q, solange r und s nicht gleichzeitig 1 sind: p = q _ Nur für die beim Entwurf ausgesparte (und damit verbotene) Eingabebelegung (r, s) = (1, 1) ist p = q = 0 2015 Corinna Schmitt Teil Rechnerarchitekturen - 39

Probleme asynchroner Schaltwerke (1)! Asynchrone Schaltwerke arbeiten ohne einen zentralen Takt: Sie reagieren sofort auf jede Änderung der Eingangs- und Zustandsvariablen. Sie sind sehr störempfindlich.! Wettläufe von Zustandsvariablen: Diese verursachen falsche Zustandsübergänge Abhilfe: Wettlauffreie Zustandskodierung! Hasardfehler in den Übergangs-Schaltnetzen: Hierauf reagieren asynchrone Schaltwerke naturgemäß sehr empfindlich. Hasardfehler können ebenfalls falsche Zustandsübergänge und Oszillationen verursachen Abhilfe: Entwurf hasardarmer Schaltnetze für die Übergangs- und Ausgabefunktionen. 2015 Corinna Schmitt Teil Rechnerarchitekturen - 40

Hazard-Beispiel 2015 Corinna Schmitt Teil Rechnerarchitekturen - 41

Probleme asynchroner Schaltwerke (2)! Zur weiteren Verringerung des Störrisikos arbeiten asynchrone Schaltwerke darüber hinaus meist im sogenannten normal fundamental mode.! Hierbei darf sich maximal eine Eingangsvariable gleichzeitig ändern.! Ein Eingabewechsel kann erst dann erfolgen, wenn alle internen Änderungen abgeklungen sind. 2015 Corinna Schmitt Teil Rechnerarchitekturen - 42

Wiederholung! Schaltnetze: Ausgabe hängt nur von Eingangssignalen ab (kombinatorische Schaltungen, combinational circuits)! Schaltwerke: Ausgabe kann auch von internem Zustand abhängen (sequentielle Schaltungen, sequential circuits)! Synchrones Schaltwerk: Zustandsspeicher ist taktgesteuert, andernfalls asynchron 2015 Corinna Schmitt Teil Rechnerarchitekturen - 43

Zeit und Speicher (Wie Daten in Hardware speichern?)! Elektronik: Keine mechanischen Teile vorhanden! Elektronen fließen die ganze Zeit! Erzeuge Elektronen- Schleifen Ausnützen der Schaltzeit von Gattern und die Übertragungsverzögerung 2015 Corinna Schmitt Teil Rechnerarchitekturen - 44

Flipflops als Zustandsspeicher! Die Probleme asynchroner Schaltwerke treten bei synchronen Schaltwerken nicht auf.! Da alle Zustandsspeicher bei synchronen Schaltwerken durch einen zentralen Takt gesteuert werden, können sich alle Übergänge und die damit verbundenen Wettläufe stabilisieren, bevor der neue Zustand eingenommen wird.! Synchrone Schaltwerke benötigen taktgesteuerte Zustandsspeicher! Hierfür werden Flipflops verwendet.! Es existieren eine Reihe verschiedener Flipflop-Typen. 2015 Corinna Schmitt Teil Rechnerarchitekturen - 45

RS-Flipflop! Verhalten (RS-Flipflop): Eingang s soll den Speicher setzen (s=1 Ausgang q=1) Eingang r soll den Speicher rücksetzen (r=1 q=0) Speichern: r und s beide 0 q behält letzten Wert _ Verboten: r und s gleichzeitig 1 die Ausgänge q und q sind komplementär _ Die Zustandsvariable q und ihre Negation q (=p) stehen am Ausgang zur Verfügung.! Schaltsymbol des asynchronen RS-Flipflops: s r S R q q 2015 Corinna Schmitt Teil Rechnerarchitekturen - 46

RS-Flipflop pegelgesteuertes RS- Latch! Um das RS-Flipflop in einem synchronen Schaltwerk verwenden zu können muß ein Taktsignal eingeführt werden, welches die Änderung der Zustandsvariablen in der inaktiven Taktphase verhindert. Dieses ist leicht zu erreichen, indem man die beiden Eingänge durch je ein UND-Gatter mit diesem Takt verknüpft:! Wir erhalten das pegelgesteuerte RS-Latch: s! T! r! &! &!!S! q!!r! q! s! T! r! 1!S! C!1! 1!R! q! q! 2015 Corinna Schmitt Teil Rechnerarchitekturen - 47

Anmerkung zur Notation! Die Ziffer 1 bei den Eingängen (1S, 1R) bedeutet, daß sie in ihrer Wirksamkeit von dem ebenfalls mit 1 gekennzeichneten Takt C1 abhängen.! Verursacht ein Eingang die Abhängigkeit, so folgt die Ziffer der Eingangsvariablen, anderenfalls geht sie voraus. s T r 1 S C 1 1 R q q 2015 Corinna Schmitt Teil Rechnerarchitekturen - 48

Ansteuertabelle (RS-Flipflop)! Beim Entwurf synchroner Schaltwerke sind Zustand und gewünschter Folgezustand bekannt.! Gesucht sind die Werte der Ansteuervariablen der Flipflops.! Diese lassen sich leicht mit Hilfe der sog. Ansteuertabelle eines Flipflops bestimmen.! Die Ansteuertabelle gibt den Zustandsübergang eines Flipflops unter den verschiedenen Eingabebelegungen wieder. Sie läßt sich i.a. auf einfache Weise aus der Funktionstabelle der Ausgabe- und Übergangsfunktionen gewinnen. 2015 Corinna Schmitt Teil Rechnerarchitekturen - 49

Ansteuertabelle (RS-Flipflop) Ansteuertabelle des asynchronen RS-Flipflops: q t q t+1 r s 0 0-0 0 1 0 1 1 0 1 0 1 1 0 - Halten Setzen Rücksetzen Halten Voraussetzung: Es dürfen keine unerlaubten Eingangsbelegungen auftreten. 2015 Corinna Schmitt Teil Rechnerarchitekturen - 50

Zeitdiagramm RS Flipflop (und Schaltgrund) 2015 Corinna Schmitt Teil Rechnerarchitekturen - 51

D-Flipflop! Bei einem RS-Flipflop ist stets die Nebenbedingung (r s = 0) zu beachten.! Führt man eine Eingangsvariable d bejaht zum S-Eingang und negiert zum R-Eingang, ist diese Bedingung stets erfüllt.! Damit erhält man ein sogenanntes D-Latch. d T 1 1S C1 1R q q d T 1D C1 q q 2015 Corinna Schmitt Teil Rechnerarchitekturen - 52

Verhalten: Verhalten des D-Flipflops! Der anliegende Eingabewert wird in allen Fällen als Flipflopzustand übernommen und einen Takt lang gespeichert.! Das Eingangssignal wird um eine Taktperiode verzögert am Ausgang zur Verfügung gestellt.! Daher der Name D-Latch von "to delay" = verzögern d q t q t+1 Funktionstabelle: 0 0 0 0 1 0 1 0 1 1 1 1 2015 Corinna Schmitt Teil Rechnerarchitekturen - 53

Ansteuertabelle des D-Latch q t q t+1 d 0 0 0 0 1 1 1 0 0 1 1 1 d q t q t+1 0 0 0 0 1 0 1 0 1 1 1 1 Leicht aus der Funktionstabelle durch Permutieren der Spalten gewinnbar. 2015 Corinna Schmitt Teil Rechnerarchitekturen - 54

Taktflankengesteuertes D-Flipflop! Ein taktflankengesteuertes D-Flipflop erhält man durch die Zusammenschaltung zweier D-Latches, die mit komplementären Taktpegeln gesteuert werden.! Das erste Latch wird Master-Latch, das zweite Slave- Latch genannt.! Ein solches Flipflop wird auch als Master-Slave-Flipflop bezeichnet. 2015 Corinna Schmitt Teil Rechnerarchitekturen - 55

Funktionsweise! Während T = 0 folgt das erste Latch den Änderungen des Eingangssignals d, während das zweite Latch verriegelt ist.! Ändert sich T von 0 auf 1 (positive Taktflanke), wird das erste Flipflop verriegelt.! Unabhängig von den nun auftretenden Änderungen von d bleibt der Ausgabewert q 1 gleich dem Wert von d, der beim 0-1-Wechsel des Taktes anlag.! Dieser Wert wird in das zweite Latch übernommen und dort auch weiter gespeichert, wenn T wieder auf 0 zurückgeht. Master Slave d T 1 1 D q 1 C 1 1 D C 1 Schaltung q q d T 1 D C 1 Symbol q q 2015 Corinna Schmitt Teil Rechnerarchitekturen - 56

Anmerkungen! D-Flipflops sind die am einfachsten zu realisierenden flankengesteuerten Speicherelemente. Sie sind wegen des geringen Flächenbedarfs die in integrierten Schaltungen am häufigsten verwendeten Speicherglieder.! Im Schaltsymbol wird die Taktflankensteuerung durch ein Dreieck am Takteingang spezifiziert. d T 1 D C 1 q q! Bei einer Steuerung mit der negativen Taktflanke wird ein Negationszeichen vor das Dreieck gesetzt. d T 1 D C 1 q q 2015 Corinna Schmitt Teil Rechnerarchitekturen - 57

JK-Flipflop! Beim RS-Flipflop war die Eingangsvariablen-Kombination r = s = 1 verboten! Ziel: Ein Flipflop entwerfen, welches diese Kombination nutzt.! Als vierte Funktion neben "speichern", "setzen" und "rück-setzen" soll bei Eingangskombination r = s = 1 der Flipflop-Inhalt komplementiert werden.! Bezeichnung: j: resultierender Setzeingang k: resultierender Rücksetzeingang JK-Flipflop! Dieses Verhalten läßt sich durch Zusatzbeschaltung schon bekannter Flipflops erreichen. 2015 Corinna Schmitt Teil Rechnerarchitekturen - 58

Schaltbild des synchronen JK-Flipflops k T j 1 & & 1 d 1D C1 q q j T k 1J C1 1K q q d = q t k q t j 2015 Corinna Schmitt Teil Rechnerarchitekturen - 59

Funktions-/Ansteuertabelle des JK- Verkürzte Funktionstabelle des JK-Flipflops: Flipflops j k q t+1 Funktion 0 0 q t speichern 0 1 0 rücksetzen 1 0 1 setzen 1 1 q t wechseln _ Aus obiger Tabelle läßt sich auch leicht die Ansteuertabelle des JK-Flipflops gewinnen: q t q t+1 j k 0 0 0-0 1 1-1 0-1 1 1-0 2015 Corinna Schmitt Teil Rechnerarchitekturen - 60

Das T-Flipflop! Ein T-Flipflop ("to toggle", kippen) hat nur einen Eingang.! Liegt an diesem Eingang eine "1", kippt das Flipflop mit jedem Taktimpuls in einen anderen Zustand, hat die Eingangsvariable den Wert "0", behält das Flipflop seinen alten Zustand bei.! Durch geeignete Eingangsbeschaltung eines JK-Flipflops läßt sich leicht das Verhalten eines T-Flipflops erzeugen. e T 1J C1 1K q q e T 1T C1 q q Synchrones T-Flipflop 2015 Corinna Schmitt Teil Rechnerarchitekturen - 61

T-Flipflop: Verkürzte Funktionstabelle! Verkürzte Funktionstabelle des T-Flipflops e q t+1 Funktion 0 q t speichern 1 q t wechseln! Ein synchrones Setzen oder Rücksetzen des T-Flipflops ist mit dem Eingang e nicht möglich.! Um das Flipflop in einen definierten Grundzustand zu bringen, ist daher ein zusätzlicher Setz- oder Rücksetzeingang notwendig. 2015 Corinna Schmitt Teil Rechnerarchitekturen - 62

Wichtige Zusammenfassung Flipflop! RS-Flipflop (asynchron): r=s=1 verboten " RS-Latch (getaktet, pegelgesteuert)! D-Flipflop, D-Latch: r und s =0 immer beachtet! Taktflankengesteuertes D-Flipflop durch Zusammenschaltung zweier D-Latches! JK-Flipflop: r und s = 1 " Ausgang komplementieren! T-Flipflop: Eingang 1 " Ausgang komplementieren, sonst speichern 2015 Corinna Schmitt Teil Rechnerarchitekturen - 63

Wichtige Hilfsmittel: Ansteuertabellen q t q t+1 r s 0 0-0 0 1 0 1 1 0 1 0 1 1 0 - RS-Flipflop q t q t+1 d 0 0 0 0 1 1 1 0 0 D-Flipflop 1 1 1 q t q t+1 j k 0 0 0-0 1 1-1 0-1 1 1-0 JK-Flipflop T-Flipflop q t q t+1 e 0 0 0 0 1 1 1 0 1 1 1 0 2015 Corinna Schmitt Teil Rechnerarchitekturen - 64

Spezielle Schaltwerke 2015 Corinna Schmitt Teil Rechnerarchitekturen - 65

Aus (NAND-) Gattern eine ALU bauen! Ziel: Arithmetic Logical Unit (ALU) aufbauen.! Ansatz: Wahrheitstafeln!! Mehrere Schritte 1-Bit-Addierer 1-Bit ALU N-Bit ALU! Später noch zu besprechen Problem des Vorzeichens (Integer Darstellung) Floating Point 2015 Corinna Schmitt Teil Rechnerarchitekturen - 66

Ein-Bit-Addierer a b carry one bit adder carry sum! Zusätzlicher Übertrag -Eingang (carry) für n-bit- Zahlen Beginnend mit der niederwertigsten Position wird der Übertrag an die jeweils höherwertige Position weitergegeben. 2015 Corinna Schmitt Teil Rechnerarchitekturen - 67

Ein-Bit-Addierer (2) S = (A B) (A B) Ü = A B Auch Volladdierer genannt! S = (A B Üin) (A B Üin) (A B Üin) (A B Üin) Ü = (A B) (A B) Üin 2015 Corinna Schmitt Teil Rechnerarchitekturen - 68

Beispiel 2015 Corinna Schmitt Teil Rechnerarchitekturen - 69

Arithmetisch Logische Einheit (ALU) 2015 Corinna Schmitt Teil Rechnerarchitekturen - 70

Arithmetisch-logische Einheit (ALU)! Arithmetisch logische Einheit (ALU, Arithmetic Logic Unit): - Rechenwerk, der funktionale Kern eines Digitalrechners zur Durchführung logischer und arithmetischer Verknüpfungen.! Eingangsdaten der ALU: - Daten und Steuersignalen vom Prozessor! Ausgangsdaten der ALU: - Ergebnisse und Statussignale an den Prozessor.! Oft können die in einen Prozessor integrierten ALUs nur Festkommazahlen verarbeiten. Gleitkommaoperationen werden dann entweder von einer Gleitkommaeinheit ausgeführt oder per Software in Folge von Festkommabefehlen umgewandelt. 2015 Corinna Schmitt Teil Rechnerarchitekturen - 71

1-Bit-ALU! Arithmetic Logical Unit für mehrere Rechenarten Addition, Subtraktion, logisches AND / OR, Vergleich! Parallele Berechnung aller (!) Operationen! Selektion mit einem Multiplexer a select b! Selektion durch die Kontrolleinheit (Control Unit) 2015 Corinna Schmitt Teil Rechnerarchitekturen - 72

1-Bit-ALU, verallgemeinert! Diese ALU beinhaltet AND, OR; ADD (with carry), NOT (bininvert) 2015 Corinna Schmitt Teil Rechnerarchitekturen - 73

32-Bits-ALU! Kombination von 1-Bit-ALUs zu einer vollen 32-Bits-ALU 2015 Corinna Schmitt Teil Rechnerarchitekturen - 74