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

Ähnliche Dokumente
Teil VIII Von Neumann Rechner 1

Mikroprozessor als universeller digitaler Baustein

Mikrocomputertechnik. Einadressmaschine

2.2 Rechnerorganisation: Aufbau und Funktionsweise

Johann Wolfgang Goethe-Universität

Prozessor HC680 fiktiv

Assembler und Hochsprachen

N Bit binäre Zahlen (signed)

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

Im Original veränderbare Word-Dateien

Technische Informatik. Der VON NEUMANN Computer

Übung -- d001_7-segmentanzeige

1. Übung - Einführung/Rechnerarchitektur

1 Anmerkungen zur Entwicklung von GALs mit LOG/iC

C. BABBAGE ( ): Programmgesteuerter (mechanischer) Rechner

Rechner Architektur. Martin Gülck

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

Computer-Architektur Ein Überblick

Compiler: Vom Code zum Maschinen-Code. C Programmierung - Vorlesung 2 Hochschule Regensburg Universitätsstraße 31, Regensburg

Praktikum Grundlagen der Elektronik

Protokoll zu Grundelemente der Digitaltechnik

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at

Das Prinzip an einem alltäglichen Beispiel

Instruktionssatz-Architektur

Die Mikroprogrammebene eines Rechners

Programmieren. Kapitel 3: Wie funktioniert ein moderner Computer? Wintersemester 2008/2009. Prof. Dr. Christian Werner

Technische Informatik 1

Zahlendarstellungen und Rechnerarithmetik*

Grundlagen der Rechnerarchitektur

Aufbau und Funktionsweise eines Computers

Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c

Technische Informatik 1

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?

Füllstandsregelung. Technische Informatik - Digitaltechnik II

Prozess-rechner. auch im Büro. Automation und Prozessrechentechnik. Prozessrechner. Sommersemester Prozess I/O. zu und von anderen Rechnern

Projekt Nr. 15: Einen elektronischen Würfel erstellen

9 Codes. Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK DIGITALTECHNIK 9-1

Rechnerarchitektur. M. Jakob. 1. Februar Gymnasium Pegnitz

Technische Informatik - Eine Einführung

Midterm-Klausur Technische Grundlagen der Informatik

COMPUTERGESTÜTZTES EXPERIMENTIEREN I P R A K T I K U M

Brückenkurs / Computer

L3. Datenmanipulation

Martin V. Künzli Marcel Meli. Vom Gatter zu VHDL. Eine Einführung in die Digitaltechnik. : iasms!wil5i-8sb*l!f. 3. Auflage. zh aw

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

Technische Informatik

Die Daten (Befehle und numerische Daten) werden in Form von BIT-Folgen verarbeitet.

Daten, Informationen, Kodierung. Binärkodierung

Das Rechnermodell von John von Neumann

1 Digital vs. Analog. 2 Zahlendarstellungen und Codes. 1.1 Analog. 1.2 Digital. 1.3 Unterschied Analog zu Digital. 1.4 Von Analog zu Digital

Logik mit Gedächtnis : Sequentielle Logik

Mikroprozessortechnik. 03. April 2012

Programmierung mit NQC: Kommunikation zwischen zwei RCX

a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF

Daten verarbeiten. Binärzahlen

Rechnenund. Systemtechnik

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

Signalverarbeitung 1

Vorlesung Programmieren

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

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

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = binär

1 Einleitung zum RISC Prozessor

DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE

Lösung 1. Übungsblatt

KLAUSUR DIGITALTECHNIK SS 00

1. Übung aus Digitaltechnik Aufgabe. Die folgende CMOS-Anordnung weist einen Fehler auf:

Binärcodierung elementarer Datentypen: Darstellung negativer Zahlen

Technische Informatik 2 Adressierungsarten

Mikrocomputertechnik

Fehlerkorrektur Bild Demoprozessor

Microcontroller Kurs Microcontroller Kurs/Johannes Fuchs 1

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

2.5.2 Prinzipieller Aufbau eines Boundary-Scan-fähigen Bausteins. 2.5 Boundary Scan (JTAG)

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13

B1 Stapelspeicher (stack)

SC18IM700-Tester v Einleitung

Einführung in Automation Studio

Versuch P1-63 Schaltlogik Vorbereitung

Versuch 3: Sequenzielle Logik

TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems

Programmieren in C Teil 3: Mikrocontrollerprogrammierung

Grundlagen der Rechnerarchitektur. Einführung

Serielle Kommunikation mit dem Arduino. Teil 1: Das Serial Peripheral Interface (SPI)

bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke

Computertechnik Schaltwerke, Sequentielle Schaltungen Register. Register. Dr. Wolfgang Koch

Fachhochschule Kaiserslautern Fachbereich Angewandte Ingenieurwissenschaften WS2010/11. Zeitpunkt der Prüfung: Beginn: 10.

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

Schaltwerke Schaltwerk

Klausur. Grundlagen der Datenverarbeitung/ Technische Informatik

Digitale Elektronik, Schaltlogik

Zahlensysteme: Oktal- und Hexadezimalsystem

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

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

FH Darmstadt FB Informatik Klausurensammlung Rechnergrundlagen Prof. Komar

13 Programmierbare Speicher- und Logikbausteine

Grundlagen der Informationverarbeitung

Prüfungsklausur 1609 WS 2012/2013

Digitaltechnik II SS 2007

Teil I: Wat isse ne Mikrokontroller?

Transkript:

SS 2004 VAK 18.004 Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller Aufgabenblatt 2.5 Lösung 2.5.1 Befehlszähler (Program Counter, PC) enthält Adresse des nächsten auszuführenden Befehls. Nach Aussenden Adresse wird Befehl über interne Eingangsschaltung in Befehlsregister (InstructionRegister, IC) gebracht, entschlüsselt und ausgeführt. Register ist Speicherelement für ein Datenwort. Register sind aus FF s zusammengesetzt, besitzen so viele parallele Bitstellen, wie es spezielle Funktion innerhalb der Architektur erfordert. Befehlsdekoder interpretiert Bit-Information des Operations-Code, dahingehend, ob es sich um Konstante-Register-Transferbefehle (MVI) und andere Befehle (00) Register-Register-Transferbefehle (MOV) und HLT-Befehl (01) arithmetische und logische 1-Byte-Befehle () Sprungbefehle (JMP, I/0-Befehle (IN/OUT) und andere Befehle (11) handelt. Es werden jeweils die beiden höchstwertigen Bit des OP-Codes verwendet (bei 8 Bit Befehlsregister das Bit 7 und 6).

Lösung 2.5.2 Fetch: Trage nächste Instruktion ins IR ein; PC zeigt auf nächste Instruktion; IR: hält die abgeholte Instruktion Prozessor Steuerwerk Controller Control /Status Rechenwerk ALU Registers PC 0 IR load R0, M[500] R0 R1 0 load R0, M[500] 1 inc R1, R0 2 store M[501], R1 I/O Speicher 500 501

Decode: Bestimme Aussage (Inhalt) der Instruktion Prozessor Steuerwerk Controller Control /Status Rechenwerk ALU Registers PC 0 IR load R0, M[500] R0 R1 0 load R0, M[500] 1 inc R1, R0 2 store M[501], R1 I/O Speicher 500 501

Fetch Operanden: Verschiebe Daten aus dem Speicher ins RW Register Prozessor Steuerwerk Controller Control /Status Rechenwerk ALU Registers PC 0 IR load R0, M[500] R0 R1 0 load R0, M[500] 1 inc R1, R0 2 store M[501], R1 I/O Speicher 500 501

Execute: Transferiert Daten durch ALU Register. Die Instruktion ist nicht aktiv während dieser Sub-Operation Prozessor Steuerwerk Controller Control /Status Rechenwerk ALU Registers PC 0 IR load R0, M[500] R0 R1 0 load R0, M[500] 1 inc R1, R0 2 store M[501], R1 I/O Speicher 500 501

Store results: Schreibe Daten aus Registern in den Speicher zurück. Die Instruktion ist nicht aktiv während dieser Sub-Operation Prozessor Steuerwerk Controller Control /Status Rechenwerk ALU Registers PC 0 IR load R0, M[500] R0 R1 0 load R0, M[500] 1 inc R1, R0 2 store M[501], R1 I/O Speicher 500 501 Aufgabe 2.5.3 In Mikroprozessorentwicklungssystemen werden Daten häufig auf einem Display mit hexadezimalem Format (0 bis 9 und A bis F) dargestellt. Mit Hilfe eines GAL soll die hexadezimalen Werte eines 4-Bit-Datenwortes (D0 bis D3) im 7-Segmentcode dargestellt werden. Die Schaltung verfügt über einen Segmenttest (ST). Die Wahrheitstabelle lautet wie folgt:

Hex ST D3 D2 D1 D0 Segmente 0 0 0 0 0 0 A B C D E F 1 0 0 0 0 1 B C 2 0 0 0 1 0 A B D E G 3 0 0 0 1 1 A B C D G 4 0 0 1 0 0 B C F G 5 0 0 1 0 1 A C D F G 6 0 0 1 1 0 A C D E F G 7 0 0 1 1 1 A B C 8 0 1 0 0 0 A B C D E F G 9 0 1 0 0 1 A B C D F G A 0 1 0 1 0 A B C E F G B 0 1 0 1 1 C D E F G C 0 1 1 0 0 A D E F D 0 1 1 0 1 B C D E G E 0 1 1 1 0 A D E F G F 0 1 1 1 1 A E F G 1 x x x x A B C D E F G Geben Sie die Eingabedatei des hexadezimal Siebensegmentdecoders an, wenn der Segmenttest an Pin 8 anliegt, das 4-Bit-Datenwort folgende Zuordnung aufweist: D0 = Pin 1, D1 = Pin 2, D2 = Pin 3 und D3 = Pin 4 und zur Ansteuerung der Segmente A bis kombinatorische Ausgänge im Betriebsmodus 1 verwendet werden mit der Zuordnung A = Pin 18, B = Pin 19, C = Pin 13, D = Pin 14, E = Pin 15, F = Pin 17 und G = Pin 16. Lösung: Um die Logik-Gleichungen in einer angenehmen Form zu erhalten müssen wir eine Optimierung per KV- Diagrammen durchführen. Dies erfordert für A-G jeweils ein KV-Diagramm: A D2-D3 \\ D0-D1 D0 & /D1 D0 & D1 /D0 & D1 /D0 & /D1 D2 & /D3 1 1 1 0 D2 & D3 0 1 1 1 /D2 & D3 1 0 1 1 /D2 & /D3 0 1 1 1 B D2-D3 \\ D0-D1 D0 & /D1 D0 & D1 /D0 & D1 /D0 & /D1 D2 & /D3 0 1 0 1 D2 & D3 1 0 0 0 /D2 & D3 1 0 1 1 /D2 & /D3 1 1 1 1 C D2-D3 \\ D0-D1 D0 & /D1 D0 & D1 /D0 & D1 /D0 & /D1 D2 & /D3 1 1 1 1 D2 & D3 1 0 0 0 /D2 & D3 1 1 1 1 /D2 & /D3 1 1 0 1

D D2-D3 \\ D0-D1 D0 & /D1 D0 & D1 /D0 & D1 /D0 & /D1 D2 & /D3 1 0 1 0 D2 & D3 1 0 1 1 /D2 & D3 1 1 0 1 /D2 & /D3 0 1 1 1 E D2-D3 \\ D0-D1 D0 & /D1 D0 & D1 /D0 & D1 /D0 & /D1 D2 & /D3 0 0 1 0 D2 & D3 1 1 1 1 /D2 & D3 0 1 1 1 /D2 & /D3 0 0 1 1 F D2-D3 \\ D0-D1 D0 & /D1 D0 & D1 /D0 & D1 /D0 & /D1 D2 & /D3 1 0 1 1 D2 & D3 0 1 1 1 /D2 & D3 1 1 1 1 /D2 & /D3 0 0 0 1 G D2-D3 \\ D0-D1 D0 & /D1 D0 & D1 /D0 & D1 /D0 & /D1 D2 & /D3 1 0 1 1 D2 & D3 1 1 1 0 /D2 & D3 1 1 1 1 /D2 & /D3 0 1 1 0 *IDENTIFICATION HEXDEZSIEBEBSEGMENT; *TYPE GAL16V8; *PINS D0 = 1, D1 = 2, D2 = 3, D3 = 4, ST = 8, C.0 = 13, D.0 = 14, E.0 = 15, G.0 = 16, F.0 = 17, A.0 = 18, B.0 = 19; *BOOLEAN EQUATION /A = D0 & D2 & /D3 + /D1 & /D2 & D3 + D1 & /D3 + /D0 & /D2 + D1 & D2 + /D0 & D3 + ST; /B = D0 & D1 & /D3 + /D0 & /D1 & /D3 + D0 & /D1 & D3 + /D2 & /D3 + /D0 & /D2 + ST; /C = D0 & /D3 + /D1 & /D3 + D0 & /D1 + D2 & /D3 + /D2 & D3 + ST; /D = D1 & /D2 & /D3 + /D0 & /D2 & /D3 + D0 & D1 & /D2 + D0 & /D1 & D2 + /D0 & D1 & D2 + /D1 & D3 + ST; /E = /D0 & D1 + /D0 & /D2 + D1 & D3 + D2 & D3 + ST; /F = /D1 & D2 & /D3 + /D0 & D2 + /D0 & /D1 + /D2 & D3 + D1 & D3 + ST; /G = /D1 &D2 & /D3 + D1 & /D2 + /D0 & D1 + /D2 & D3 + D0 & D3 + ST; *END

Aufgabe 2.5.4 Entwerfen Sie einen BCD Code Tester welcher seriell empfangene 4-stellige Bi-närworte auf 8421-BCD-Zahlen überprüft. Die Eingabe beginnt mit der höchstwerten Stelle (MSB). Wird eine 8421-BCD-Zahl erkannt, soll das durch ein 1-Signal am Ausgang angezeigt werden. Lösung: Zuerst muß überlegt werden welche Funktion ein BCD-Tester zu erfüllen hat. Der BCD-Code ist eine Codierung der Dezimalzahlen durch die zugehörigen Binärzahlen der Länge 4 (siehe T1). Diese Codierung wird durch die folgende Tabelle dargestellt: Dezimalzahl BCD-Code(c 3 c 0 ) 0 0000 1 0001 2 00 3 0011 4 00 5 01 6 01 7 0111 8 00 9 01 - - 11-10 - 11-11 - 1111 Wobei die letzten 6 Zeilen der Tabelle die als falsch zu erkennenden Codes enthält, da ihnen keine Dezimalziffern zugeordnet sind. Es sind nun die gemeinsamkeiten der richtigen oder falschen Kombinationen zu analysieren um den Automaten zu konzipieren. Es ergibt sich, dass Falsch durch ( c3 c1 ) ( c3 c2 ) gegeben ist. Da die Verarbeitung seriell erfolgen soll benötigen wir Zustände um die momentane Position im Codewort und den momentanen Fehlerstatus zu speichern. Der Automatentyp ist erstens mit Ausgabe und zweitens mit Ausgabe im Zustand (Moore-Automat) zu wählen, damit unser Automat nach Erhalt des BCD-Codes durch den Wert seines Endzustands das Ergebnis der Prüfung signalisiert. Die Anzahl der Zustände wird zusätzlich erhöht durch die implizite Forderung, dass nach dem ersten Codewort auch ein zweites,.. geprüft werden kann. Somit ist beim 5.Zeichen wieder neu mit der Prüfung zu beginnen. Dazu ist es notwendig, dass alle Zustände die Stellenzahl gespeichert haben.

Brainstorming der Zustände: S0 Startzustand S1 2.Stelle mit 1.Stelle Null S2 2.Stelle mit 1.Stelle Eins S3 3.Stelle Fehler S4 3.Stelle kein Fehler, führend S5 3.Stelle kein Fehler S6 4.Stelle kein Fehler S7 4.Stelle Fehler S8 Eingabe komplett, kein Fehler Ausgabe 0 S9 Eingabe komplett, FEHLER Ausgabe 1 Aufgabe 2.5.5 Konstruieren Sie mit einen GAL einen elektronischen Würfel Die Ausgänge des GAL sind dazu al Registerausgänge zu definieren, da für eine Änderung der Ausgangszustände das Taktsignal an Pin 1 maßgebend ist. Die Wahrheitstabelle des Würfels ist nachfolgend angegeben, wobei zu beachten ist, das die Ausgänge Q1 bis Q4 mit Hilfe der disjunktiven Normalform ermittelt werden können. Zahl Momentaner Zustand Folgezustand Start Q1 Q2 Q3 Q4 Q1+ Q2+ Q3+ Q4+ 1 0 1 1 1 0 1 0 1 1 2 0 1 0 1 1 1 0 1 0 3 0 1 0 1 0 0 0 1 1 4 0 0 0 1 1 0 0 1 0 5 0 0 0 1 0 0 0 0 1 6 0 0 0 0 1 1 1 1 0 Ablesen 1 x x x x Q1 Q2 Q3 Q4 Geben Sie die Eingabedatei des elektronischen Würfels an, wenn der Takt an Pin1 anliegt, das Startsignal an Pin 2 und die Ausgänge folgend Zuordnung aufweisen: Q1 = Pin 19, Q2 = Pin 18, Q3 = Pin 17 und Q4 = Pin 16.

Lösung: *IDENTIFICATION WÜRFEL; *TYPE GAL16V8; *PINS TAKT = 1, START = 2, Q1.R = 19, Q2.R = 18, Q3.R = 17, Q4.R = 16 ; *BOOLEAN EQUATION Q1 = Q1 & Q2 & Q3 & /Q4 & /START + Q1 & /Q2 & /Q3 & Q4 & /START + /Q1 & /Q2 & /Q3 & Q4 & /START + Q1 & START; Q2 = /Q1 & /Q2 & /Q3 & Q4 & /START + Q2 & START; Q3 = /Q1 & /Q2 & Q3 & /Q4 & /START + /Q3 & START; Q4 = Q1 & Q2 & Q3 & /Q4 & /START + Q1 & /Q2 & Q3 & /Q4 & /START + Q1 & /Q2 & Q3 & /Q4 & /START + Q4 & START; *END