2. Teilklausur Informatik II

Ähnliche Dokumente
DLX Befehlsübersicht

5.BMaschinensprache und Assembler

Mikroprozessortechnik. 03. April 2012

Stephan Brumme, SST, 2.FS, Matrikelnr

Die Maschinenprogrammebene eines Rechners Jörg Roth 294

Integrierte Schaltungen

Heute nur MIPS-Praxis (4 Aufgaben)

Die Mikroprogrammebene eines Rechners

Datenpfad einer einfachen MIPS CPU


Kap 4. 4 Die Mikroprogrammebene eines Rechners

Technische Informatik 1

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

Technischen Informatik I, WS 2004/05

DLX-Assembler-Programmierung Kutil, 2010

Mikroprozessor als universeller digitaler Baustein

Besprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online

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

Programmieren in C Teil 3: Mikrocontrollerprogrammierung

N Bit binäre Zahlen (signed)

Grundlagen der Digitaltechnik GD. Aufgaben

Technische Informatik 1

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

Informationsverarbeitung auf Bitebene

B1 Stapelspeicher (stack)

Rechnergrundlagen SS Vorlesung

3 Rechnen und Schaltnetze

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

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

Zusammenfassung der Assemblerbefehle des 8051

Einführung in die Informatik

Teil 2: Rechnerorganisation

Mikrocomputertechnik. Einadressmaschine

Klausur zur Vorlesung

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

Darstellung von Informationen

Name: ES2 Klausur Thema: ARM Name: Punkte: Note:

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

Instruktionssatz-Architektur

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

Microcontroller Kurs Programmieren Microcontroller Kurs/Johannes Fuchs 1

Grundlagen der Informationverarbeitung

Aufgabe 1 Minimieren Sie mit den Gesetzen der Booleschen Algebra 1.1 f a ab ab 1 = + + Aufgabe 2. Aufgabe 3

Synchronisation. Grundlagen der Rechnerarchitektur Assembler 91

MIMA Die Sicht von außen

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

Von der Aussagenlogik zum Computer

Prof. Dr. Heinrich Müller; Dr. Frank Weichert 7. September 2015

Teil 1: Prozessorstrukturen

Der Toy Rechner Ein einfacher Mikrorechner

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

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

Schaltwerke Schaltwerk

Klausur zur Vorlesung Rechnerarchitektur

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79

Von-Neumann-Rechner / Rechenwerk

3 Arithmetische Schaltungen

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

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

L3. Datenmanipulation

H Hypothetischer Prozessor

JAVA für Nichtinformatiker - Probeklausur -

Grundlagen der Informatik

Technische Informatik 2: Addressierung und Befehle

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

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt : Grundlagen des Cyclic redundancy code (CRC)

8.3 PCA2.D12 Display-Modul mit 4 Ziffern

VU Grundlagen digitaler Systeme

Digitaltechnik. Digitaltechnik, Addierer Gottfried Straube Fjeldså, Steinerskolen i Stavanger

Über die Status-Befehle kann die Peripherie der gesamten Hard- und Firmware abgefragt werden.

Assembler-Programme. Systemprogrammierung (37-023) Elementare Komponenten eines Assembler-Programmes

2. Aufgabenblatt

Technische Informatik - Eine Einführung

Speicherung digitaler Signale

Barcode- Referenzhandbuch

Übungen zur Vorlesung Technische Informatik I, SS 2001 Strey / Guenkova-Luy / Prager Übungsblatt 2 Sequentielle Logik. Aufgabe 1:

Informatik 2 / Systemarchitektur SS07

Antwort: h = 5.70 bit Erklärung: Wahrscheinlichkeit p = 1/52, Informationsgehalt h = ld(1/p) => h = ld(52) = 5.70 bit

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

Programmiersprachen Einführung in C

Das Prinzip an einem alltäglichen Beispiel

5. Aussagenlogik und Schaltalgebra

Java Einführung Operatoren Kapitel 2 und 3

HC680 PROGRAMMER'S REFERENCE MANUAL

Parallel-IO. Ports am ATmega128

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

1 Random Access Maschine

0 C (Carry) Überlauf des 8ten Bits. 1 DC (Digit Carry) Überlauf des 4ten Bits. Mnemonic Parameter Beschreibung Status-Flags.

5. Übung: Binäres Rechnen und Fließkommazahlen Abteilung Verteilte Systeme, Universität Ulm

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?

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

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

DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE

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

Versuch D3: Busse, Speicher und Ampelsteuerung mit Speicher

Teil VIII Von Neumann Rechner 1

Repräsentation von Daten: Binär-, Oktal- u. Hexadezimalcodierung von ganzen und rationalen Zahlen

Besprechung des 4. Übungsblattes Was ist MIPS? SPIM-Simulator MIPS-Befehlsformate MIPS-Befehle Assemblerdirektiven Syscalls in MIPS

MikroController der 8051-Familie

Hochschule Niederrhein Einführung in die Programmierung Prof. Dr. Nitsche. Bachelor Informatik WS 2015/16 Blatt 3 Beispiellösung.

Transkript:

1. Aufgabe (4 + 6 Punkte) Beweise: n (a) i = (b) i=0 n i 2 = i=0 n (n + 1) 2 n (n + 1) (2n + 1) 6 2. Aufgabe (10 Punkte) Seien a, b {0, 1} n. Wir definieren: a < lex b i {0,..., n 1} : a[n 1 : i + 1] = b[n 1 : i + 1] und a i < b i. Beweise: a < b a < lex b. 3. Aufgabe (3 + 3 Punkte) Seien a {0, 1} n. Beweise: (a) a = a 1 (mod 2 n ). (b) a = [a] + a n 1 2 n. 4. Aufgabe (5 Punkte) Seien x 1,..., x n {0, 1}, n 2. n n Beweise: x i i=1 i=1 x i 5. Aufgabe (5 Punkte) n Für a, x {0, 1} n definieren wir c(a) := T (f) sei der Träger von f. Beweise den Darstellungssatz für konkunktive Normalformen: Für jede n-stellige Schaltfunktion f gilt i=1 x a i i f(x 1,..., x n ) a/ T (f) 6. Aufgabe (3 Punkte) Gib einen booleschen Ausdruck an, der aus den Inhalten von IR, P C und MAR das Signal misaligned berechnet. c(a)

7. Aufgabe (5 + 5 Punkte) Def.: Ein kombinierter n-incrementer/decrementer ist ein Schaltkreis mit Eingängen a {0, 1} n, dec {0, 1} und Ausgängen b {0, 1} n, so dass gilt: { a + 1 (mod 2 b = n ) ; dec = 0 a 1 (mod 2 n ) ; dec = 1 (a) Baue einen kombinierten n-incrementer/decrementer aus einem n-incrementer und maximal 2n xor-gattern. (b) Beweise die Korrektheit deiner Konstruktion. Dabei darf die Korrektheit des Incrementers vorausgesetzt werden. 8. Aufgabe (6 + 12 Punkte) Seien a, b {0, 1} n ; s, t {0, 1} n+1 ; n = 2 k. Zur Erinnerung: Ein n-bit Modified Conditional Sum Addierer berechnet die Schaltfunktion MCSA n : ( s, t ) := ( a + b, a + b + 1). Gegeben sei ein n-bit Carry Lookahead Addierer, dessen Carry-In Signal fest auf 0 gezogen ist. (a) Erweitere diesen Schaltkreis unter Verwendung der Propagate-Ausgänge zu einem n-bit MCSA. Die zusätzlichen Kosten dürfen maximal n + 1 betragen. (b) Beweise die Korrektheit deiner Konstruktion. Dabei darf die Korrektheit des Carry Lookahead Addierers vorausgesetzt werden. 9. Aufgabe (2 + 2 + 2 Punkte) Die Interrupts der DLX können in verschiedene Kategorien eingeteilt werden. Erkläre mit wenigen Worten die folgenden in diesem Zusammenhang auftretenden Begriffe und gib jeweils ein Beispiel für einen Interrupt dieser Kategorie: (a) maskierbar (b) repeat (c) continue

10. Aufgabe (5 + 5 Punkte) Du bist auf einer einsamen Insel gestrandet. Um nicht selber die ganze Zeit SOS funken zu müssen konstruierst du aus zufällig vorhandenen Einzelteilen einen Automaten. Dieser soll folgende Eigenschaften besitzen: Der momentane Zustand des Automaten ist binär codiert. Der Automat hat die Eingangssignale start, stop {0, 1} und die Ausgangssignale S, O {0, 1}. Sobald start aktiviert wurde soll der Automat immer wieder die Folge S O S ausgeben. Sobald stop aktiviert wurde sendet der Automat, sofern er gerade am senden ist, die aktuelle Folge noch fertig und springt dann in den Startzustand. (a) Spezifiziere den Automaten durch einen Graphen. (b) Gib einen booleschen Ausdruck an, der die Next State Funktion berechnet. 11. Aufgabe (6 + 4 Punkte) Zu entwerfen ist ein kaskadierbarer Zählerautomat für 7-Segment-Anzeigen. LED 1 Zahlendarstellung: 0 1 2 3 4 LED 2 LED 5 LED 4 LED 6 LED 3 5 6 7 8 9 LED 7 Der Automat hat die Eingangssignal reset, c in {0, 1} und die Ausgangssignale LED[1:7] {0, 1} 7 und c out {0, 1}. Sei led : {0,..., 9} {0, 1} 7 die durch obige Abbildung definierte Funktion, die Ziffern ihre 7-Segment-Darstellung zuordnet mit weiss = 0 und schwarz = 1. Für den Automaten soll gelten: Der momentane Zustand z des Automaten ist binär codiert. Für z = δ(z, reset, c in ) soll gelten: 0 ; reset = 1 z = z + 1 (mod 10) ; reset = 0 c in = 1 z ; sonst c out = 1 z = 9 reset = 0 c in = 1 LED[1:7]= led( z ). (a) Spezifiziere den Automaten durch einen Graphen. (b) Gib boolesche Ausdrücke an, die die Ausgabefunktionen für c out, LED2, LED4 und LED6 berechnen.

12. Aufgabe (8 Punkte) Schreibe ein RTL-Programm, das eine vorzeichenbehaftete Integer-Division ausführt (ganzzahliger Anteil und Divisionsrest). Dabei soll gelten: Die Source-Operanden stehen in den Registern R1 und R2 mit [R2] 0. Das Programm berechnet R3 und R4 mit [R4] < 0 [R1] < 0 und [R4] < [R2], so dass gilt: [R1] = [R3] [R2] + [R4]. 13. Aufgabe (8 Punkte) Die Fibonacci-Zahl F (n), n N berechnet sich nach der Formel: F (0) = 0; F (1) = 1; F (n) = F (n 2) + F (n 1) für n 2. In Speicherzelle 1000 stehe der Wert a {0, 1} 8, a 46. Schreibe ein RTL-Programm, dass die Fibonacci-Zahl F ( a ) berechnet und in Register R1 ablegt. 14. Aufgabe (3 + 4 Punkte) (a) Schreibe ein RTL-Programm, das in jede Speicherzelle von 1024 bis 32767 die Adresse der jeweiligen Speicherzelle modulo 2 8 als neuen Inhalt hineinschreibt. (b) Schreibe ein Programm, das das gleiche tut wie das Programm aus Teil (a). Dabei gelten jedoch folgende Voraussetzungen: Es sind nur absolute Adressierungen erlaubt, d.h. bei allen Speicherzugriffen berechnet sich der mem-teil als (R0 + imm). Gehe davon aus, dass es einen gemeinsamen Speicher für Instruktionen und Daten gibt und dass das Programm ab Speicherzelle 0 in diesem Speicher liegt. 15. Aufgabe (4 Punkte) Was tut folgendes Programm? Beweise die Korrektheit deiner Antwort. R1 = R2 xor R1 R2 = R1 xor R2 R1 = R2 xor R1

IR[31 : 26] Mnem. d Effect Data Transfer, mem = M[RS1 + imm] 100000 0x20 lb 1 RD=Sext(mem) 100001 0x21 lh 2 RD=Sext(mem) 100011 0x23 lw 4 RD=mem 100100 0x24 lbu 1 RD=0 24 mem 100101 0x25 lhu 2 RD=0 16 mem 101000 0x28 sb 1 mem=rd[7 : 0] 101001 0x29 sh 2 mem=rd[15 : 0] 101011 0x2b sw 4 mem=rd Arithmetic, Logical Operation 001000 0x08 addi RD=RS1 + imm 001001 0x09 addiu RD=RS1 + imm (no overflow) 001010 0x0a subi RD=RS1 - imm 001011 0x0b subiu RD=RS1 - imm (no overflow) 001100 0x0c andi RD=RS1 imm 001101 0x0d ori RD=RS1 imm 001110 0x0e xori RD=RS1 imm 001111 0x0f lhgi RD=imm 0 16 Test Set Operation 011000 0x18 clri RD=(false? 1 : 0) 011001 0x19 sgri RD=(RS1 > imm? 1 : 0) 011010 0x1a seqi RD=(RS1 = imm? 1 : 0) 011011 0x1b sgei RD=(RS1 imm? 1 : 0) 011100 0x1c slsi RD=(RS1 < imm? 1 : 0) 011101 0x1d snei RD=(RS1 imm? 1 : 0) 011110 0x1e slei RD=(RS1 imm? 1 : 0) 011111 0x1f seti RD=( true? 1 : 0) Control Operation 000100 0x04 beqz PC=PC+(RS1 = 0? imm : 4) 000101 0x05 bnez PC=PC+(RS1 0? imm : 4) 000110 0x06 jr PC=RS1 000111 0x07 jalr R31=PC+4; PC = RS1 Tabelle 1: I-type instruction layout

IR[31 : 26] IR[5 : 0] Mnem. Effect Shift Operation 000000 0x00 000000 0x00 slli RD=RS1<<SA 000000 0x00 000001 0x01 slai RD=RS1<<SA (arith.) 000000 0x00 000010 0x02 srli RD=RS1>>SA 000000 0x00 000011 0x03 srai RD=RS1>>SA (arith.) 000000 0x00 000100 0x04 sll RD=RS1<<RS2[4:0] 000000 0x00 000101 0x05 sla RD=RS1<<RS2[4:0] (ar.) 000000 0x00 000110 0x06 srl RD=RS1>>RS2[4:0] 000000 0x00 000111 0x07 sra RD=RS1>>RS2[4:0] (ar.) Data Transfer 000000 0x00 010000 0x10 movs2i RD=SA 000000 0x00 010001 0x11 movi2s SA=RS1 Arithmetic, Logical Operation 000000 0x00 100000 0x20 add RD=RS1+RS2 000000 0x00 100001 0x21 addu RD=RS1+RS2 (no overfl.) 000000 0x00 100010 0x22 sub RD=RS1-RS2 000000 0x00 100011 0x23 subu RD=RS1-RS2 (no overfl.) 000000 0x00 100100 0x24 and RD=RS1 RS2 000000 0x00 100101 0x25 or RD=RS1 RS2 000000 0x00 100110 0x26 xor RD=RS1 RS2 000000 0x00 100111 0x27 lhg RD=RS2[15:0] 0 16 Test Set Operation 000000 0x00 101000 0x28 clr RD=( false? 1 : 0) 000000 0x00 101001 0x29 sgr RD=(RS1 > RS2? 1 : 0) 000000 0x00 101010 0x2a seq RD=(RS1 = RS2? 1 : 0) 000000 0x00 101011 0x2b sge RD=(RS1 RS2? 1 : 0) 000000 0x00 101100 0x2c sls RD=(RS1 < RS2? 1 : 0) 000000 0x00 101101 0x2d sne RD=(RS1 RS2? 1 : 0) 000000 0x00 101110 0x2e sle RD=(RS1 RS2? 1 : 0) 000000 0x00 101111 0x2f set RD=( true? 1 : 0) Tabelle 2: R-type instruction layout IR[31 : 26] Mnem. Effect Control Operation 000010 0x02 j PC = PC + imm 000011 0x03 jal R31 = PC + 4; PC = PC + imm 111110 0x3e trap trap = 1; EDATA = imm; 111111 0x3f rfe SR = ESR; PC = EPC; DPC = EDPC Tabelle 3: J-type instruction layout