Computersysteme. Fragestunde

Ähnliche Dokumente
Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU

Grundlagen der Rechnerarchitektur

Datenpfad einer einfachen MIPS CPU

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

Computersysteme. Serie 11

Arithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9

Lehrveranstaltung: PR Rechnerorganisation Blatt 8. Thomas Aichholzer

Assembler am Beispiel der MIPS Architektur

Hier: Soviele Instruktionen wie möglich sollen in einer Zeiteinheit ausgeführt werden. Durchsatz.

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

Name: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden.

Grundlagen der Rechnerarchitektur. MIPS Assembler

H E F B G D. C. DLX Rechnerkern

Technische Informatik - Eine Einführung

Teil 2: Rechnerorganisation

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

Technische Informatik I - HS 18

Digitaltechnik und Rechnerstrukturen. 2. Entwurf eines einfachen Prozessors

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

Rechnerarchitektur. Marián Vajteršic und Helmut A. Mayer

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

RISC-Prozessoren (1)

Kap.3 Mikroarchitektur. Prozessoren, interne Sicht

Die DLX-560 Befehlssatzarchitektur

05. Assembler-Programmierung. Datenstrukturen des ATMega32. Literatur

Was ist die Performance Ratio?

Computersysteme. Die DLX-560 Architektur

Technische Informatik 1 Übung 8 Instruktionsparallelität (Rechenübung) Andreas Tretter 8./9. Dezember Bitte immer eine Reihe freilassen

Das Prinzip an einem alltäglichen Beispiel

... Adressierung und Befehlsfolgen (1) Speicherbelegung. Hauptspeicheradressen. Inhalt von Speicherbelegungen: Operanden - Zahlen - Zeichen Befehle

Zusammenfassung: Grundlagen der Informatik Zahlensysteme, b-adische Darstellung, Umrechnung Beispiel: Umrechnung von ( ) 10 ins Dualsystem

28. März Name:. Vorname. Matr.-Nr:. Studiengang

Mikroprozessor als universeller digitaler Baustein

1. TÜ-Zusammenfassung zum Modul Computersysteme

Lösungsvorschlag 10. Übung Technische Grundlagen der Informatik II Sommersemester 2009

Prinzipieller Aufbau und Funktionsweise eines Prozessors

Von-Neumann-Architektur

Klausur "Informatik I" vom Teil "Rechnerstrukturen"

Modul Computersysteme Prüfungsklausur SS Prof. Dr. J. Keller LG Parallelität und VLSI Prof. Dr.-Ing. W. Schiffmann LG Rechnerarchitektur

Lösungsvorschlag zu 1. Übung

Technische Informatik 1

Technische Informatik 1

Klausur zur Vorlesung Grundlagen der Rechnerarchitektur SS 2013

32 Bit Konstanten und Adressierung. Grundlagen der Rechnerarchitektur Assembler 78

Grundlagen der Informationsverarbeitung:

Pipelining. Die Pipelining Idee. Grundlagen der Rechnerarchitektur Prozessor 45

Computersysteme. Die DLX-560 Architektur

Rechnergrundlagen SS Vorlesung

Neues vom STRIP Forth-Prozessor

Rechnernetze und Organisation

Assembler Programmierung Motivation. Informatik II SS 2004 Teil 4: Assembler Programmierung. Assembler vs. Maschinensprache

Übungsklausur - Beispiellösung

Lösungsvorschlag 9. Übung Technische Grundlagen der Informatik II Sommersemester 2009

Technische Informatik 1 - HS 2017

2.3 Register-Transfer-Strukturen

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

Selbststudium Informationssysteme - H1102 Christian Bontekoe & Felix Rohrer

Klausur "Informatik I" vom Teil "Rechnerstrukturen"

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

Lösungsvorschlag zur 3. Übung

Praktische Übungen zu Computertechnik 2. Versuchsprotokoll

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

Rechnerorganisation. (10,11) Informationskodierung (12,13,14) TECHNISCHE UNIVERSITÄT ILMENAU. IHS, H.- D. Wuttke `09

ALU ALU. ALU-Aufbau. Eine ALU (arithmetisch-logische Einheit) besteht in der Regel aus. Addierer. Logischer Einheit. Shifter

Zusammenhang Interrupt, Befehlszyklus, indirekte Adressierung und Mikroprogramm [Stallings, Kap. 15, S ]


Übung Rechnerstrukturen. Aufgabenblatt 10 Ausgabe: , Abgabe: :00. Aufgabe 10.1 (Punkte 25) Gruppe Matrikelnummer(n)

Darstellung von Instruktionen. Grundlagen der Rechnerarchitektur Assembler 21

21. Februar Name:. Vorname. Matr.-Nr:. Studiengang

Aufbau und Funktionsweise eines Computers

1 Rechnerstrukturen 1: Der Sehr Einfache Computer

Kapitel 2. Pipeline-Verarbeitung. Technologie- Entwicklung. Strukturelle Maßnahmen. Leistungssteigerung in Rechnersystemen

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

Kap.3 Mikroarchitektur. Prozessoren, interne Sicht

Grundlagen der Technischen Informatik. 3. Übung

Informatikgrundlagen I Grundlagen der Informatik I

Klausur Technische Informatik 1 WS 2015/2016 Prüfer: Sutter Hilfsmittel: keine

Übungsblatt 7 Implementierung von Programmsteuerbefehlen in einer Befehlspipeline Abgabefrist: Mittwoch , 14:00 Uhr

14.3 Kontrollogik. Allgemeines: Kontrollogik wird in 3 Stufen realisiert: Clock - Erzeugung. 2 Uhrzeit. PALs. /ck. Kontrollsignale.

Teil 2: Rechnerorganisation

Transkript:

Computersysteme Fragestunde 1

Dr.-Ing. Christoph Starke Institut für Informatik Christian Albrechts Universität zu Kiel Tel.: 8805337 E-Mail: chst@informatik.uni-kiel.de 2

Kurze Besprechung von Serie 12, Aufgabe 1 1. Schritt: Programmablaufplan 3

Kurze Besprechung von Serie 12, Aufgabe 1 2. Registerbelegung 3. DLX-Code mit Kommentaren 4. Programmbeschreibung (darauf verzichte ich hier wegen PAP) 4

Alte Klausuren Google: klausur fachschaft informatik cau => Nur aus CAU-Netz aufrufbar. Dort Computersysteme (z.t. 2 Klausuren unter einem Eintrag) Weniger relevant: Ältere Klausuren unter Digitale Systeme Weniger relevant als in den älteren Klausuren: CMOS und MOSFET Rekursion 5

Aus dem Inhalt der Fragestunde können Sie keinen Rückschluss auf den Inhalt der Klausuren stellen. Denn Sie haben die Fragen gestellt und damit den Inhalt der Fragestunde bestimmt. Nichtsdestotrotz könnten Ihre Fragen größtenteils auch in einer Klausur oder einer mündlichen Prüfung vorkommen. 6

Allgemein gilt für alle Aufgaben: Auch wenn nicht ausdrücklich nach Rechenwegen, Legenden, Kommentaren, gefragt ist, müssen Ihre Lösungen eindeutig und leicht nachvollziehbar sein, damit Sie die volle Punktzahl erhalten. Auch wenn in einer Aufgabe nicht ausdrücklich nach einer Optimierung gefragt ist, sollten Sie eine gute Lösung anstreben. Umständliche Lösungen sind meistens weniger gut, brauchen oft länger in der Bearbeitung und können zu Punktabzug führen. 7

Nun zu Ihren konkreten Fragen: Wie sollen wir das Horner-Schema aufschreiben? 8

Wie sollen wir das Horner-Schema aufschreiben? 9

Zahlendarstellung zu -2-142 in IEEE (Aufgabe 2a/Serie 3) 10

Zahlendarstellung zu -2-142 in IEEE (Aufgabe 2a/Serie 3) 11

Wie konstruiert man einen Carry-Select-Addierer mit möglichst geringer Schaltzeit (Serie 8)? 12

Wie konstruiert man einen Carry-Select-Addierer mit möglichst geringer Schaltzeit (Serie 8)? Ähnlich wie den 10-Bit-Carry-Select-Addierer aus der Beispiellösung zur Präsenzaufgabe: Im allgemeinen Fall, beginnend bei LSB: 2-2-3-4-5-6- 13

14

Wertetabelle => Maxterme => Konjunktion 15

Wie wird eine größere KV Tafel mit dem Gray Code aufgestellt und wie werden die Werte der Wertetabelle zugeordnet? 16

Wie wird eine größere KV Tafel mit dem Gray Code aufgestellt und wie werden die Werte der Wertetabelle zugeordnet? 17

Wie kommt bei der Bedarfsrolltreppe (Serie 10) auf die Eingänge und den Automatengraphen? 18

Wie kommt bei der Bedarfsrolltreppe (Serie 10) auf die Eingänge und den Automatengraphen? 19

Wie kommt bei der Bedarfsrolltreppe (Serie 10) auf die Eingänge und den Automatengraphen? Mit dem folgenden Schaltnetz erhalten wir x1 und x0: (In der Klausur könnten Sie darauf verzichten, wenn nicht explizit gefordert) 20

Wie kommt bei der Bedarfsrolltreppe (Serie 10) auf die Eingänge und den Automatengraphen? 21

Wie kommt bei der Bedarfsrolltreppe (Serie 10) auf die Eingänge und den Automatengraphen? Daraus ergibt sich folgender Automatengraph: 22

Allgemeine Hinweise zu Automatenaufgaben: Versuchen Sie, Ein- und Ausgänge sinnvoll zu kodieren, wenn dadurch der Automat mit weniger Ein- bzw. Ausgabebits realisiert werden kann. Ein Eingabebit weniger reduziert die Wertetabelle um 50%! Fassen Sie dafür beispielsweise gleichartige Eingabemöglichkeiten zusammen. Wenn beispielsweise beim Pizzaautomaten die Extrazutaten Salami, Pepperoni, Oliven, gleich behandelt werden, müssen diese zusammengefasst werden. Wenn sich Eingabemöglichkeiten gegenseitig ausschließen, wie z.b. bei der Bedarfsrolltreppe, gibt es oft eine effizientere Codierung. Entsprechendes gilt für die Ausgänge. 23

Wie entwirft man eine 4-Bit ALU mit arithmetischer und logischer Einheit (Serie 10)? 24

Wie entwirft man eine 4-Bit ALU mit arithmetischer und logischer Einheit (Serie 10)? Zusätzlich zu der Arithmetik-Einheit aus der Präsenzübung bauen wir noch eine kleine Logik-Einheit: Durch eine zusätzliche Steuerleitung, die wir aus dem Op- Code abzweigen, wählt ein Datenweg-Mux das Ergebnis der Arithmetik- oder der Logik-Einheit aus. 25

Bezüglich der Speicheradressierung (Skript S. 138) verstehe ich nicht ganz den Teil über Ausrichtung auf Wortgrenzen. (insbesondere die mittlere Spalte "ausgerichtet auf Byte". Wieso ist ein Byte auf Byte 0,1,2,3,4,5,6,7 ausgerichtet?) Mit LB kann man jedes Byte adressieren, mit LH jedes gerade Byte, mit LW jede durch 4 teilbare Adresse und mit LD jede durch 8 teilbare Adresse. Hinweis: Im Hüser-Tool werden LB, LH, LD nicht unterstützt. 26

Was ist bei einem Register-Register Befehl der Unterschied zwischen dem Opcode Teil und dem Function Teil? Ich hatte es ursprünglich so verstanden, dass alle Befehle (Funktionen) im Opcode kodiert sind, deswegen weiß ich nicht was diese 11 Bit für function genau darstellen/kodieren sollen. (Skript S. 145 bzw. 157) 27

Befehlsformate I - Befehl 6 5 5 16 Opcode rs1 rd Immediate R - Befehl 6 Typische Immediate-Befehle (rd rs1 op immediate) Loads und Stores von Bytes, Worten, Halbworten (rs1 unbenutzt) Bedingte Verzweigungen (rs1 : register, rd unbenutzt) Jump register, Jump and link register (rd = 0, rs1 = destination, immediate = 0) Opcode 5 rs1 5 rs2 5 rd 11 Function Register-Register ALU Operationen: rd rs1 func rs2 func (Function) sagt, was gemacht werden soll: Add, Sub,... Read/write auf Spezialregistern und moves J - Befehl 6 Opcode Jump und Jump and link Trap und Return from exception 26 Displacement (wird zu PC addiert) 28

Was ist bei einem Register-Register Befehl der Unterschied zwischen dem Opcode Teil und dem Function Teil? Ich hatte es ursprünglich so verstanden, dass alle Befehle (Funktionen) im Opcode kodiert sind, deswegen weiß ich nicht was diese 11 Bit für function genau darstellen/kodieren sollen. (Skript S. 145 bzw. 157) Bei den R-Befehlen ist der Opcode 000000. Die Unterscheidung, ob ADD, SUB, wird im function- Teil codiert. Ohne diesen Kniff wären nur 2^6 verschiedene Befehle möglich. Mit diesem Kniff sind 2^6-1 + 2^11 möglich. 29

Bedeutung von "op" und "func" in den Befehlen der Pipelining-Register in den Pipelining Phasen (letzte VL, Folie 23). Im Sinne der vorangegangenen Folien: Bei den R-Befehlen ist der Befehl im func-teil codiert, bei I-Befehlen im opcode. 30

Was ist ein Mikrocontroller? 31

Was ist ein Mikrocontroller? Ein einfacher Mikrocontroller ist ein Chip mit einem Prozessor und beinhaltet oft auch Arbeits- und Programmspeicher. Also so etwas wie den DLX, den wir nach dem Verstehen der Vorlesung Computersysteme bauen können. Moderne Mikrocontroller können noch wesentlich mehr Peripherie enthalten, wie z.b. USB- und LAN- Schnittstellen. 32

Welche Speedup-Formel ist relevant für die Klausur? In den Folien sind drei gegeben: Speedup (gesamt), Speedup (nach Amdahls Gesetz) und allgemein eine Gleichung namens Speedup. Antwort: Bei richtiger Anwendung sollten alle 3 Formeln zum selben Ergebnis führen. Wichtig ist dabei die Unterscheidung zwischen dem Zeitanteil und dem Anteil der Anzahl der Operationen. Beispiel: 90% R-Befehle, 10% LW-Befehle. Ein R-Befehl benötigt 2 Takte, ein LW-Befehl 10 Takte. Der Zeitanteil beträgt für die R-Befehle 1,8/(1,8+1), also ca. 64%, für die LW-Befehle 1/(1,8+1), also ca. 36%. 33

Wie werden Verzweigungsbefehle in den DLX-Taktphasen behandelt, vor allem in der EX & MEM-Phase? 34

Instruction fetch Instruction decode/ register fetch Execute/ address calculation Memory access Write back 4 Add + NPC Zero? Branch taken Cond M u x PC Instruction memory IR Registers A B M u x M u x ALU + ALU output Data memory LMD M u x BEQZ R20, #68 16 Sign 32 extend Imm lmm DLX-Datenpfad mit Taktzyklen 35

Wo werden im DLX-Datenpfad die Labels verarbeitet, wie zum Beispiel ein Label für einen Branch-Befehl? 36

Wo werden im DLX-Datenpfad die Labels verarbeitet, wie zum Beispiel ein Label für einen Branch-Befehl? Gar nicht. Die Labels werden vorher von einem Pre-Compiler in relative Adressen übersetzt: J label bedeutet PC <--- PC+4 + offset mit -2 25 <= offset < +2 25 37

Bitte die alte Klausuraufgabe vorrechnen: Schreiben Sie ein DLX-Assemblerprogramm, das die Konvertierung einer 32Bit Integer-Zahl im 2er- Komplement in eine 32Bit Gleitkommazahl realisiert. Die Eingabezahl ist größer als Eins und im Speicher an der Adresse 100 hinterlegt. Die Ausgabe des Programms soll eine entsprechende Gleitkommazahl im IEEE754-Format sein und an der Adresse 104 im Speicher abgelegt werden. Das Runden der Mantisse soll vernachlässigt werden. Die Interpretation einer solchen Zahl lautet: (-1) Vorzeichen (1,Mantisse) 2 Exponent-127 Welche Bitfolge steht am Ende Ihres Programms an Adresse 104, wenn zu Beginn des Programms die Dezimalzahl 17 an der Speicheradresse 100 steht? 38