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

Ähnliche Dokumente
Ein ROM soll aus mehreren ROMs (vgl. Abbildung rechts: Enable-Leitung EN, Adressleitungen ADDR, Datenleitungen DATA) aufgebaut werden.

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

, SS2012 Übungsgruppen: Do., Mi.,

Grundlagen der Technischen Informatik

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

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?

Zahlensysteme und Kodes. Prof. Metzler

Rechnergrundlagen SS Vorlesung

Prinzipieller Aufbau und Funktionsweise eines Prozessors

, 2015S Übungstermin: Mi.,

VU Grundlagen digitaler Systeme

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

Vorlesung 1 Medizininformatik. Sommersemester 2017

Datenpfad einer einfachen MIPS CPU

Übung 7 Rechnerstrukturen

, SS2012 Übungsgruppen: Do., Mi.,

, 2014W Übungstermin: Fr.,

Welche Informatik-Kenntnisse bringen Sie mit?

Speichern von Zuständen

Klausur "Informatik I" vom Teil "Rechnerstrukturen"

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

Carry Lookahead Adder

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU

, 2017S Übungstermin: Di.,

Musterlösung 1. Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016

Kap.3 Mikroarchitektur. Prozessoren, interne Sicht

FAKULTÄT FÜR INFORMATIK

9. Assembler: Der Prozessor Motorola 68000

9. Assembler: Der Prozessor Motorola 68000

Übung Praktische Informatik II

Mikrocomputertechnik

Microcomputertechnik

Was ist die Performance Ratio?

Minimierung nach Quine Mc Cluskey Ermitteln der Primtermtabelle

Arithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9

Grundlagen der Rechnerarchitektur

1 Rechnerstrukturen 1: Der Sehr Einfache Computer

Teil 2: Rechnerorganisation

Darstellung von negativen binären Zahlen

Schriftliche Prüfung. Aufgaben OTTO-VON-GUERICKE-UNIVERSITÄT MAGDEBURG FAKULTÄT FÜR INFORMATIK. Technische Informatik II. am:

Datenpfad einer einfachen MIPS CPU

Rechnergrundlagen SS Vorlesung

Pipelining. Die Pipelining Idee. Grundlagen der Rechnerarchitektur Prozessor 45

Wandeln Sie die folgenden Zahlen in Binärzahlen und Hexadezimalzahlen. Teilen durch die Basis des Zahlensystems. Der jeweilige Rest ergibt die Ziffer.

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

Klausur zur Vorlesung Technische Informatik 1 im WS 06/07 Donnerstag, den von Uhr Uhr, HS 5

Minimierung nach Quine Mc Cluskey

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

Schriftliche Prüfung

Computer-Architektur Ein Überblick

Rechnernetze und Organisation

N Bit binäre Zahlen (signed)

Technische Informatik I - HS 18

Aufbau und Funktionsweise eines Computers

Rechnerstrukturen 1: Der Sehr Einfache Computer

Anmerkungen zu den Aufgabenstellungen, Lösungen und Bewertungen. Beachten Sie also bei Ihrer Lösung unbedingt

Assembler am Beispiel der MIPS Architektur

Zwischenklausur Informatik, WS 2016/17. Lösungen zu den Aufgaben

Grundlagen der Technischen Informatik

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

Elektronikerin. Beispielhafte Situation. integriert integriert. Semester. Lernkooperation Betrieb Bemerkungen. ID Ressourcen

Vorstellung (Wdh. für die Neuen )

3AA. Prof. Dr. Wolfgang P. Kowalk. Universität Oldenburg WS 2005/2006

Handelt es sich um ein taktzustands- oder taktflankengesteuertes D-Flipflop?

Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen:

Die HAM. Die Hypothetische Akku-Maschine

Technische Informatik I - HS 18

Rechnergrundlagen SS Vorlesung

Praktikum ASP Blatt 2 1. LEHRSTUHL FÜR RECHNERARCHITEKTUR UND PARALLELE SYSTEME Aspekte der systemnahen Programmierung bei der Spieleentwicklung

, 2015W Übungstermin: Do.,

Technische Grundlagen der Informatik Test Minuten Gruppe A

Der von Neumann Computer

Lehrveranstaltung: PR Rechnerorganisation Blatt 8. Thomas Aichholzer

Theoretische Informatik II. WS 2007/2008 Jun.-Prof. Dr. Bernhard Beckert Ulrich Koch. 1. Teilklausur Vorname:... Nachname:...

Fachprüfung. Nachrichtencodierung

Schriftliche Prüfung

Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab...

Data Hazards. Grundlagen der Rechnerarchitektur Prozessor 74

Zum Nachdenken. Welche Eigenschaften einer Vorzeichendarstellung. erreichen? Wie könnte man Vorzeichenzahlen darstellen?

, 2016W Übungstermin: Fr.,

Rechnerorganisation. H.-D. Wuttke `

Abschlussklausur Informatik, SS 2012

Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14

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

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

Programmierung mit NQC: Kommunikation zwischen zwei RCX

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

Grundlagen der Rechnerarchitektur. MIPS Assembler

Lehrveranstaltung: Praktikum: Rechnerorganisation Thomas Aichholzer

Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren

Mikroprozessortechnik Grundlagen 1

13.2 Übergang zur realen Maschine

ARM-Cortex-M4 / Thumb-2-Befehlssatz Adressierungsarten und arithmetische Operationen

Aufgaben zum Elektronik - Grundlagenpraktikum


Transkript:

VU Technische Grundlagen der Informatik Übung 5: ikroprozessor (icro16) 183.579, 2014W Übungsgruppen: o., 01.12. i., 03.12.2014 Aufgabe 1: Schaltwerksentwicklung Hexapod / Teil 2 a) Befüllen Sie die untenstehende Tabelle für Übergangs- und Ausgangsfunktion des ealy-automaten aus Aufgabe 8 a) von Übung 4. Verwenden Sie für die Zustände nebenstehende dichte Zustandscodierung! Die Tabelle soll in weiterer Folge als Basis für die Programmierung eines O-Bausteins dienen. Lösen Sie daher Don t Cares auf und geben Sie in der Zeile O an, wie Sie die Signalleitungen den O-Anschlüssen zuordnen! Zustand Z Bereit 0 Fehler 1 O Z G F Z V D L 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 b) Zeichnen Sie die Gesamtschaltung des Hexapods! Übergangs- und Ausgangsfunktion sollen mit einem O-Baustein realisiert werden. Für die Zustandsspeicherung und Taktung (ein Wechsel zwischen Zuständen soll nur zum Takt möglich sein) ist ein Flip-Flop zu verwenden. Vergessen Sie nicht, sämtliche Signale bzw. Leitungen Ihrer Schaltung entsprechend zu beschriften!

Aufgabe 2: icro16 Architektur Wahr oder falsch? Welche Aussagen treffen zu? Begründen Sie Ihre Antwort! (1) Bei der icro16 Architektur sind Datenwörter zwei Byte lang. (2) Bei der icro16 Architektur werden ikroinstruktionen durch eine 4 Bit Adresse adressiert. (3) Alle 16 egister des egister File können zum Zwischenspeichern von Daten verwendet werden. (4) Ein Zugriff auf den externen Datenspeicher benötigt genau zwei Takte. (5) Über den mit dem emory Buffer egister (B) verbundenen Adress-Bus kann ein A-Speicher angeschlossen werden. (6) Die icro Sequencing Logic kann bedingte und unbedingte Sprünge ausführen, indem Sie den Folgewert des icro Instruction Counters bestimmt. (7) Bei einem schreibenden Zugriff auf den Speicher muss die Leitung read/write für mindestens 2 Takte im Zustand logisch 1 gehalten werden. (8) Am Ausgang C der ALU liegt genau dann logisch 1 an, wenn bei einer arithmetischen Operation ein Übertrag entsteht. (9) Bei der Operation right shift werden alle Bits des Datenwortes um eine Stelle nach rechts verschoben, an der Stelle des SB steht danach logisch 0. (10) Die Control-Unit teilt den Takt in 4 Phasen und steuert damit die Ausführung der ikroinstruktionen. Aufgabe 3: icro16 Korrektheit von Instruktionen Analysieren Sie die nachfolgenden icro16-instruktionen. Sofern Labels verwendet werden, gehen Sie davon aus, dass diese in gleicher Form definiert wurden. Kreuzen Sie korrekte Instruktionen an und begründen Sie Ihre Antwort! (1) 7 rsh(5+6) (2) 5 6+ 7 (3) 8 lsh( (-1)) (4) 9 FFF1 (5) 0 1+1+2 (6) PC 2+(-1) (7) 3 4*5 (8) goto.4 (9) (3 2); if C goto.zeile128 (10) (B); if Z goto 999 (11) B 1; 5 0+1 (12) A 1; B 0+1; 2 0+1; wr

Allgemeiner Hinweis: Speziell für diese Aufgabe und die nachfolgenden Implementierungsaufgaben steht Ihnen optional ein icro16-simulator im TUWEL-Kurs zur Verfügung. Details zur Handhabung entnehmen Sie bitte den Dokumenten im TUWEL-Abschnitt icro16. Für die Implementierungsaufgaben (Aufgaben 6 bis 8) gibt es eine zusätzliche TUWEL-Aktivität Hochladen icro16-code, in der bei Verwendung des Simulators bis zu zwei Zusatzpunkte erreicht werden können (für Details siehe Aktivität). Sämtliche Aufgaben können aber auch ohne Verwendung des Simulators gelöst werden! Aufgabe 4: icro16 ultiplikation Entnehmen Sie Ihrer atrikelnummer die beiden Zahlen x und y wie folgt: x entspricht der 2., 4. und 6. Stelle, y der 5. und 7. Stelle Ihrer atrikelnummer. Beispiel: Für die atrikelnummer 1234567 ist somit x = 246 und y = 57. a) Wandeln Sie die Zahlen x und y ins Binärsystem um! b) Stellen Sie die beiden Zahlen in Zweierkomplementdarstellung dar! Verwenden Sie dabei die Datenwortlänge des icro16. c) Konstruieren Sie die beiden Zweierkomplement-Zahlen durch möglichst wenige icro16-instruktionen und legen Sie diese in egister 5 (x) bzw. 6 (y) ab! Sie können auf die Konstanten 0, +1, 1 direkt zugreifen. Geben Sie Ihre Instruktionen in symbolischer Notation an: 5 lsh(1+1) # lege (+4) 10 in 5 ab 5 lsh(5+1) # überschreibe 5 mit (+10) 10 d) Führen Sie anschließend den nachfolgenden Programmcode mit Ihren Werten für 5 und 6 aus. Geben Sie die Inhalte der egister 5 und 6 immer zum Zeitpunkt von loop: (2. Programmzeile) in Binärdarstellung in untenstehender Tabelle an! Sobald das Programm terminiert, lassen Sie nachfolgende Zeilen leer. Hinweis: Im TUWEL-Kurs steht der Programmcode als ultiplikation UE.txt zur Verfügung. 7 0 # loop: (6 1); if Z goto zero # 7 7+5 # zero: 6 rsh(6) # (6); if Z goto end # 5 lsh(5) # goto loop end: loop egister 5 egister 6 1 2 3 4 5 6 7 e) Überlegen Sie sich die Funktionsweise dieses ultiplikationsalgorithmus und ergänzen Sie entsprechende Kommentare in obigem Programmcode nach den #-Symbolen!

Aufgabe 5: icro16 Analyse von Hex-Code Gegeben ist der folgende icro16-code in hexadezimaler Notation: 04 1D 02 00 18 1D 0D 00 10 1C DE 00 02 1E 0E 00 40 00 0C 06 08 1E 1E 00 a) Übersetzen Sie die Instruktionen in binären icro16-code! A U X CO ND ALU SH B A D/ W S E N S S- B- A- AD b) Geben Sie die Instruktionen in symbolischer Notation (vgl. Aufgabe 4) an! Die Adressierung der egister und der Konstanten erfolgt in Anlehnung an die Architektur der Vorlesung wie folgt: egister Adresse 0 0000 +1 0001-1 0010 0 0100 1 0101...... 10 1110 c) Welche Funktion wird durch Ausführung dieser ikroinstruktionen realisiert? Aufgabe 6: icro16 Implementierung einer Bit-Sortierung Schreiben Sie ein icro16-programm, das eine in egister 0 abgelegte Bitfolge wie folgt sortiert: Alle enthaltenen Nullen sollen rechts angeordnet werden, alle enthaltenen Einsen links. Beispiel: 0 vor Programmausführung: 00100101 00001100 0 nach Programmausführung: 11111000 00000000

Aufgabe 7: icro16 Implementierung Nichtinvertierender ingzähler Entwerfen Sie ein icro16-programm für einen rechtslaufenden, nichtinvertierenden ingzähler. Bei dieser Form eines Schieberegisters wird der ursprüngliche Wert des niederwertigsten Bits (lsb) eines egisters auf das höchstwertige Bit (msb) desselben egisters übertragen, nachdem alle anderen Bits dieses egisters um eine Stelle nach rechts verschoben wurden. Beispiel: Ist die Bitfolge 10000000 00000011, so lautet das Ergebnis nach einem Schritt 11000000 00000001. 1 1 Die zu schiebende Bitfolge liegt in egister 0. Die Anzahl auszuführender Schiebeoperationen ist in egister 1 abgelegt. Nach jedem Schiebeschritt soll außerdem der aktuelle egisterinhalt auf die Speicheradresse (7F F F ) 16 geschrieben werden.. Aufgabe 8: icro16 Implementierung eines ealy-automaten Gegeben ist der folgende Automat mit 1 Bit Eingabe und 2 Bit Ausgabe: Start 1/00 0/10 Z 0 BZ 10 1/11 1/10 0/10 Notation: BZ 30 1/11 BZ 20 0/01 Z i e/a 1 a 2 0/01 Entwerfen Sie ein icro16-programm, das dieselbe Funktion wie der gegebene Automat ausführt. Das Programm soll eine 16 Bit lange Eingabefolge aus dem egister 0 von links (msb) nach rechts (lsb) lesen. Die Ausgabe soll jeweils von rechts (lsb) nach links (msb) in die egister 1 (Bit a 1 ) und 2 (Bit a 2 ) nachgeschoben werden. Beispiel: 0: 10001011 01011111 1: 01101010 11010000 2: 00011100 01100000