Programmierbare Logik Arithmetic Logic Unit

Ähnliche Dokumente
Signalverarbeitung 1


N Bit binäre Zahlen (signed)

Praktikum Grundlagen der Elektronik

GAL 16V8. 4. Laboreinheit - Hardwarepraktikum SS 2002 VCC / +5V. Eingang / Clock. 8 konfigurierbare Ausgangszellen. 8 Eingänge GND / 0V.

Mikroprozessor als universeller digitaler Baustein

Teil 1: Digitale Logik

Integrierte Schaltungen

Die Mikroprogrammebene eines Rechners

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

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

Daten, Informationen, Kodierung. Binärkodierung

Einführung in die technische Informatik

Mikrocomputertechnik. Einadressmaschine

1 Einfache diskrete, digitale Verknüpfungen

12 Digitale Logikschaltungen

Grundlagen der Computertechnik

Arbeitsblatt Logische Verknüpfungen Schaltnetzsynthese

Rechnerstrukturen Winter WICHTIGE SCHALTNETZE. (c) Peter Sturm, University of Trier 1

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

Praktikum Digitaltechnik

Institut für Informatik. Deutsche Kurzanleitung Lattice ISPLever v5.0 zum Elektronik Grundlagenpraktikum. 5. Praktikumskomplex

Elektronikpraktikum. 9 Logische Gatter. Fachbereich Physik. Stichworte. Schriftliche Vorbereitung. Hinweis. 9.1 Eigenschaften von TTL-Logikbausteinen

Digitaltechnik. Selina Malacarne Nicola Ramagnano. 1 von 21

Von der Aussagenlogik zum Computer

Informationsverarbeitung auf Bitebene

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

Darstellung eines 1-Bit seriellen Addierwerks mit VHDL. Tom Nagengast, Mathias Herbst IAV 07/09 Rudolf-Diesel-Fachschule für Techniker

Logik (Teschl/Teschl 1.1 und 1.3)

II. Grundlagen der Programmierung

Einführung in. Logische Schaltungen

Kap 4. 4 Die Mikroprogrammebene eines Rechners

Asynchrone Schaltungen

Grundlagen der Informationverarbeitung

3 Arithmetische Schaltungen

Digitalelektronik - Inhalt

13 Programmierbare Speicher- und Logikbausteine

FH Jena Prüfungsaufgaben Prof. Giesecke FB ET/IT Binäre Rechenoperationen WS 11/12

Teil 1: Digitale Logik

Von-Neumann-Rechner / Rechenwerk

Getaktete Schaltungen

Einführung in die technische Informatik

Das große All-in-All CPLD/FPGA Tutorial

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

Rechnenund. Systemtechnik

Die digitale logische Ebene

C:\WINNT\System32 ist der Pfad der zur Datei calc.exe führt. Diese Datei enthält das Rechner - Programm. Klicke jetzt auf Abbrechen.

Basisinformationstechnologie I

Technische Informatik 2

Kapitel 2. Kombinatorische Schaltungen. Codierer und Decodierer

Verwendet man zur Darstellung nur binäre Elemente ( bis lat.: zweimal) so spricht man von binärer Digitaltechnik.

Grundlagen der Rechnerarchitektur

Einführung in Automation Studio

A.1 Schaltfunktionen und Schaltnetze

Technische Informatik - Eine Einführung

Anhang zum Lehrbuch Digitaltechnik, Gehrke, Winzker, Urbanski, Woitowitz, Springer-Verlag, 2016.

FH Jena Prüfungsaufgaben Prof. Giesecke FB ET/IT Binäre Rechenoperationen WS 09/10

Versuchsvorbereitung P1-63: Digitale Elektronik, Schaltlogik

Physik in der Praxis: Elektronik

Tutorium Rechnerorganisation

KLAUSUR DIGITALTECHNIK SS 00

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt 5 1.1: VHDL 28./

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

Praktikumsanleitung. IGP Technische Informatik 1 Versuch 1: Digitale Grundschaltungen (Studiengänge BT,EIT,FZT,II,LA,MB,MT,MTR,OTR,WSW)

DesignExpert 8 Kurzeinführung. 1. Projekt (*.syn) und Datei (*.abl) anlegen

Digitalelektronik 4 Vom Transistor zum Bit. Stefan Rothe

Versuch P1-63 Schaltlogik Vorbereitung

Grundschaltungen der Digitaltechnik

Vorwort 5 1 Grundbegriffe Analoge und digitale Größendarstellung Analoge Größendarstellung Digitale Größendarstellung 17 1.

Vorlesung Rechnerarchitektur. Einführung

Vorbereitung zum Versuch

2. Aufgabenblatt

Algorithmen zur Integer-Multiplikation

Vorlesung Programmieren

Vorlesung Programmieren. Inhalt. Funktionsweise von Computern. Ein Blick zurück. 1. Ein Blick zurück. 2.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

5 Verarbeitungsschaltungen

Vorlesung Programmieren

Technische Informatik. Der VON NEUMANN Computer

VHDL Synthese. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009/2010

9. Elektronische Logiksysteme ohne Rückführung, kombinatorische Schaltungen

Übung RA, Kapitel 1.2

4 DIGITALE SCHALTUNGSTECHNIK

Laufzeitoptimierte VHDL Bibliothek zur Verifikation und Simulation kryptographischer Prozessoren

Kleiner Ausflug in Logik und Verkehrssteuerung

Rechnen mit Dualzahlen

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 -

Einführung in AVR-Assembler

5. Aussagenlogik und Schaltalgebra

1 Anmerkungen zur Entwicklung von GALs mit LOG/iC

Grundlagen der Digitaltechnik

Grundlagen der Informatik

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

2.2 Rechnerorganisation: Aufbau und Funktionsweise

3 Rechnen und Schaltnetze

Technische Informatik I

1. Polyadische Zahlensysteme:

Ernst-Moritz-Arndt-Universität Greifswald Fachbereich Physik Elektronikpraktikum

Einführung (1) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München

Drücken Sie (später) bei Speichere Änderungen in der Bibliothek default? auf Nein.

Transkript:

Eine arithmetisch-logische Einheit (englisch: arithmetic logic unit, daher oft abgekürzt ALU) ist ein elektronisches Rechenwerk, welches in Prozessoren zum Einsatz kommt. Die ALU berechnet arithmetische und logische Funktionen. Sinnvollerweise kann sie mindestens folgende Minimaloperationen durchführen: - Arithmetisch: Addition (ADD) - Logisch: Konjunktion (Und-Verknüpfung, AND) Disjunktion (Oder-Verknüpfung, OR) Negation (Nicht-Verknüpfung, NOT) Eine ALU kann meistens zwei Binärwerte (hier A und B) mit gleicher Stellenzahl (n) miteinander verknüpfen. Man spricht von n-bit ALUs. Typische Werte für n sind 8, 16, 32 und 64. Die n-bit ALU ist meist aus einzelnen 1-Bit ALUs zusammengesetzt. Die Anwahl der durchzuführenden Verknüpfung erfolgt durch die Steuereingänge (Hier und ). 1-Bit ALU L E D 3 L E D 2 A B UND O D E R E X O R (N IC H T ) A N D 1 1 = O R 1 E X O R 1 L o g is c h e E in h e it A N D 2 A N D 3 A N D 4 E rg e b n is T o r T o r T o r L E D 1 O R 2 A u s w a h l d e r F u n k tio n S3 S4 Datei: ArithmeticLogicUnit Aufgabe_Loesung Seite 1 von 7

Aufgaben: 1. Überlegen Sie sich, wie die Anwahl der Funktionen realisiert werden kann und zeichnen Sie die sich ergebende Logik in die Schaltung mit ein. Hinweis: orientieren Sie sich am Aufbau der unten stehenden Wahrheitstabelle. 2. Tragen Sie festgelegten logischen Verknüpfungen in die Felder bei der Wahrheitstabelle ein. 3. Vervollständigen Sie die Wahrheitstabelle für das Ergebnis E für die logischen Verknüpfungen. 4. Setzen Sie die Wahrheitstabelle mit Hilfe von isplever Project Navigator in ein ABEL-Programm (TRUTH_TABLE) für die PLD-Hardware um. Hinweis: Legen Sie vor dem Erstellen des Projektes einen neuen Ordner dafür an. Achten Sie darauf, dass sie als Ziel den LC4128V aus der ispmach4000 und als Typ ABEL verwenden. 5. Testen Sie ihr Programm mit Hilfe der TEST_VECOTRS und auf der Hardware. Aus Aufgabe 1 ist noch eine Kombination frei. Diese soll nun dazu verwendet werden, die Arithmetische Einheit zu realisieren. Diese soll die Funktion des Addierens erfüllen. Das Ergebnis soll mit Hilfe von Ergebnis E und dem Übertrag (Carry Out) Cout ausgegeben werden. 6. Vervollständigen Sie die Wahrheitstabelle für das Ergebnis E und Übertrag Cout für die arithmetische Verknüpfung. 7. Speichern Sie ihr aktuelles Projekt unter einem neuen Namen in einen zweiten Ordner. Ergänzen Sie nun das neue Projekt im Programm mit der Arithmetischen Einheit. 8. Testen Sie ihr erweitertes Programm auf der Hardware. 9. Zeichen Sie die sich ergebenden Verknüpfungen für die Arithmetisch Einheit in die obige Schaltung mit ein. Datei: ArithmeticLogicUnit Aufgabe_Loesung Seite 2 von 7

Wahrheitstabelle für die 1 Bit Arithmetisch-Logische Einheit B A E Cout 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 Logik- Verknüpfungen Datei: ArithmeticLogicUnit Aufgabe_Loesung Seite 3 von 7

Lösungen: Programmierbare Logik Logische Einheit LED3 LED2 A B UND ODER EXOR(NICHT) AND1 OR1 =1 EXOR1 Logische Einheit AND2 AND3 AND4 Ergebnis LED1 OR2 Auswahl der Funktion S3 S4 AND5 AND6 AND8 AND7 Datei: ArithmeticLogicUnit Aufgabe_Loesung Seite 4 von 7

MODULE LOGIC TITLE '1Bit Logische Einheit' " Programm zur Umsetzung 1Bit Logische Einheit " DECLARATIONS " Eingänge:,, A und B: Steuereingänge und Variablen,, A, B PIN 19, 20, 21, 22; " Ausgänge: Ergebnis E E PIN 53 ISTYPE 'COM'; "istype 'com' gibt an, dass die Ausgänge statisch sind. "Sie haben kein Speicherverhalten " Zuordnung der Eingangsgrößen zum Ausgang TRUTH_TABLE ([,, B, A] - [ E ]); //Anlegen einer Wahrheitstabelle [ 0, 0, 0, 0] - [ 0 ]; [ 0, 0, 0, 1] - [ 0 ]; [ 0, 0, 1, 0] - [ 0 ]; [ 0, 0, 1, 1] - [ 1 ]; [ 0, 1, 0, 0] - [ 0 ]; [ 0, 1, 0, 1] - [ 1 ]; [ 0, 1, 1, 0] - [ 1 ]; [ 0, 1, 1, 1] - [ 1 ]; [ 1, 0, 0, 0] - [ 0 ]; [ 1, 0, 0, 1] - [ 1 ]; [ 1, 0, 1, 0] - [ 1 ]; [ 1, 0, 1, 1] - [ 0 ]; [ 1, 1, 0, 0] - [ 0 ]; // Steuereingaenge 1 1 Nicht belegt [ 1, 1, 0, 1] - [ 0 ]; [ 1, 1, 1, 0] - [ 0 ]; [ 1, 1, 1, 1] - [ 0 ]; "Hinweis: Strichpunkt am Ende der Befehlszeile nicht vergessen!! END Datei: ArithmeticLogicUnit Aufgabe_Loesung Seite 5 von 7

Addierer (2) Programmierbare Logik Arithmetik Logic Unit ALU (Arithmetik Logic Unit) LED3 LED2 Arithmetische Einheit A A0 A1 B0 B1 S0 C2 B UND ODER C0 2ADD1 EXOR(NICHT) AND10 LED4 AND1 OR1 =1 EXOR1 AND9 Logische Einheit AND2 AND3 AND4 Ergebnis LED1 OR2 Auswahl der Funktion AND5 S0 S3 S4 AND6 AND8 AND7 Lösung in ABEL Datei: ArithmeticLogicUnit Aufgabe_Loesung Seite 6 von 7

MODULE ALU TITLE '1bit_ALU' Declarations "Eingaenge definieren "Programiereingaenge haben den Namen und S0, S0 pin 3,2; //Port1 D0 und D1 E1, E0 pin 6,5; "Variablen, jeweils 1 bit "Ausgaenge definieren Cout, Ausg pin 14,15, istype 'com'; "istype 'com' gibt an, dass die Ausgaenge statisch sind truth_table //Wahrheitstabelle ([, S0, E1, E0]-[Ausg, Cout]); "UND" [ 0, 0, 0, 0]-[ 0, 0]; [ 0, 0, 0, 1]-[ 0, 0]; [ 0, 0, 1, 0]-[ 0, 0]; [ 0, 0, 1, 1]-[ 1, 0]; "ODER" [ 0, 1, 0, 0]-[ 0, 0]; [ 0, 1, 0, 1]-[ 1, 0]; [ 0, 1, 1, 0]-[ 1, 0]; [ 0, 1, 1, 1]-[ 1, 0]; "exor" [ 1, 0, 0, 0]-[ 0, 0]; [ 1, 0, 0, 1]-[ 1, 0]; [ 1, 0, 1, 0]-[ 1, 0]; [ 1, 0, 1, 1]-[ 0, 0]; "+" [ 1, 1, 0, 0]-[ 0, 0]; [ 1, 1, 0, 1]-[ 1, 0]; [ 1, 1, 1, 0]-[ 1, 0]; [ 1, 1, 1, 1]-[ 0, 1]; END Datei: ArithmeticLogicUnit Aufgabe_Loesung Seite 7 von 7