Assembler als Übersetzer
|
|
- Busso Stieber
- vor 7 Jahren
- Abrufe
Transkript
1 4 ProzessorDatenpfad Assembler als Übersetzer Um ein AssemblerProgramm für den Universalrechner zu übersetzen iteriert der Assembler der Reihe nach über alle Programmzeilen und führt für jede Zeile folgendes aus Wenn die Programmzeile leer ist (nur Leerzeichen Tabulatorzeichen und ZeilenumbruchZeichen enthält) wird die Zeile ignoriert Wenn die Programmzeile nicht leer ist wird das erste Wort (alle Zeichen bis zum ersten Leerzeichen oder Tabulator) als BefehlsZeichenkette interpretiert und das zweite Wort als OperandenZeichenkette; die OperandenZeichenkette wird bei den Kommas in zwei bzw drei Operanden aufgetrennt; entspricht die BefehlsZeichenkette der Zeichenkette INPUT wird vom erste Operanden das R entfernt das übrigbleibende Zeichen in eine Zahl gewandelt und diese im Befehlswort als D abgespeichert (zb D = für R D = für R ) der zweite Operand im Befehlswort als M abgespeichert (zb M = falls zweiter Operand den Wert hat) entspricht die BefehlsZeichenkette den Zeichenketten ADD oder SUB oder MUL oder DIV wird von den drei Operanden das R entfernt und die übrig bleibenden Zahlen im Befehlswort als D (erster Operand) M (zweiter Operand) und M4 (dritter Operand) abgespeichert und der Wert von M bei ADD auf gesetzt bei SUB auf bei MUL auf bei DIV auf und M auf gesetzt; = entspricht die BefehlsZeichenkette der Zeichenkette SQRT wird von beiden Operanden das R entfernt und die übrig bleibenden Zahlen im Befehlswort als D (erster Operand) bzw M4 (zweiter Operand) abgespeichert M auf und M auf gesetzt;
2 4 Assembler entspricht die BefehlsZeichenkette der Zeichenkette SET wird vom ersten Operanden das R entfernt und die übrig bleibende Zahl im Befehlswort als D abgespeichert der zweite Operand in K abgespeichert (zb für oder für M auf und M auf gesetzt Neben dieser Grundfunktionalität würde ein richtiger Assembler auch noch diverse Fehlerüberprüfungen durchführen beispielsweise ob nur gültige Befehle und Operanden verwendet wurden ob alle Operanden angegeben sind ob das Format der Operanden stimmt ob die Konstanten nicht zu groß sind etc Das Grundprinzip jedoch ist immer das selbe AssemblerProgramme werden durch eine eindeutige Abbildungsregel in Befehlsworte übersetzt Betrachten Sie die folgende Codesequenz INPUT R MUL RRR INPUT R MUL RRR = ADD RRR SQRT RR loon Befehlsformat K ( Bit) D ( Bit) M4 ( Bit) M ( Bit) M ( Bit) M ( Bit) a) Übersetzen Sie das Programm in Befehlsworte des Universalrechners mit Hilfe obiger Übersetzungsregeln Geben Sie für alle irrelevanten Bits x an ^^^ xxxxxxxxxxlooolxxxlxkxkxxloo XXXXXXXK X xxxkx x Kx X Xxx XXX XXX X xxxxxxxx Xx = Xxx IXXXKXH on xxxxxxx xx nod ) xxx
3 " ^ ) ' ' ' tee'+ 4 ProzessorDatenpfad 8=56 Betrachten Sie die folgende Codesequenz hhfdegbejiejdcz ^^ MUL RRR SET R55 DIV RRR ADD RRR k4m 9 M b) Übersetzen Sie das Programm in Befehlsworte des Universalrechners mit Hilfe obiger Übersetzungsregeln Geben Sie für alle irrelevanten Bits x an XXXIKXX SET O= Betrachten Sie die folgende Codesequenz SET R INPUT R ADD RRR INPUT R ADD RRR INPUT R ADD RRR SET R DIV RRR T c) Übersetzen Sie das Programm in Befehlsworte des Universalrechners mit Hilfe obiger Übersetzungsregeln Geben Sie für alle irrelevanten Bits x an
4 4 Assembler Betrachten Sie den Datenpfad des Universalrechners SUB b a ab MUL ADD DIV b a a/b D D6 D5 D D A7 A D D M M4 M M a b c Add clk reset D D R7 R6 R5 R4 R R R R M M M M4 D BZ p X 5 M A A M4 M M M D4 D7 D8 D D9 D D4 D R K MSB n n
5 4 4 ProzessorDatenpfad iii } nf in then } Gegeben ist folgende Codesequenz SET R5 M A 4 INPUT R4 ~ QUELL d) ADD RRR ZIEL DIV R7RR Übersetzen Sie das Programm in Befehlsworte des Universalrechners lediglich mit Hilfe des Datenpfads (ohne Übersetzungsregeln) Geben Sie für alle irrelevanten Bits x an XXXIXXX XXX xxxxln Xxx ^ Xxx xx Xl ^ X Xxx # Xxx xxxxxxxxxx QUEL ^ ^^^ Gegeben ist folgende Codesequenz SET R SQRT RR INPUT R MUL ^^ R5RR T e) Übersetzen Sie das Programm in Befehlsworte des Universalrechners lediglich mit Hilfe des Datenpfads (ohne Übersetzungsregeln) Geben Sie für alle irrelevanten Bits x an Xxx KXXIO ^ Xkxxxxxxxxldl ^ XXX XXXXX xxxxx xxxvixxirxx Xxktxkaqyn ^^^
6 6 MMIXProzessor Verständnisfragen/Aufgaben Allgemein T a) Was ist ein Register? Kleiner Schneller Speicher T b) Wo findet man Register in einem ComputerSystem? Hovptprozessor steering von external Geroiten T c) Daten welcher Größenordnung kann ein Register aufnehmen Byte kilobytes megabytes gigabytes or terabytes? In der Regel wenige Bytes Allzweckregister a) Was sind Allzweckregister? b) Geben Sie ein Beispiel für eine typische Verwendung eines Allzweckregisters an c) Über wieviele Allzweckregister verfügt der MMIXProzessor? Welche Namen haben sie? Hat keinen bestimmten Zweckczb Steuerung von Hardware stew fr Programme pei sur Quell 56 und Vertusuns Zidperandea to ' arithuetasne Betake $ $55 )
7 6 Register T d) Was ist der Unterschied zwischen einem globalen und einem lokalen Register? Global ; Uerwendng von allen Programmfglen lokal ; Uerwendmg von einzdna Funktionen Spezialregister a) Was ist ein Spezialregister? sie Sind dem Prozessor aof warden zur un ssfeuarvng Hardware uerwendet b) Geben Sie eine typische Anwendung eines Spezialregisters an T c) Über wieviele Spezialregister verfügt der MMIXProzessor? Wie werden sie genannt (Prinzip)? ade enthalteu status information en Rundungsinodus for Gleitkomma Operation RA RZ T d) Kann jeder MMIXBefehl Spezialregister verwenden? Nein FYY Befehle GET Clesca ) RBB NT RZZ rwwirxx PUT Scheiber ) T e) Welches Spezialregister stellt Informationen über Arithmetische Operationen zur Verfügung? D T f) In welchem Spezialregister kann man die oberen 64 Bit eines 8 Bit breiten FestkommaDividenden ablegen?
8 4 6 MMIXProzessor T g) In welchem Register werden die oberen 64 Bit des Ergebnisses einer Festkomma Multiplikation abgelegt? T h) In welchem Spezialregister legt das Rechenwerk den Rest einer Festkomma Division ab? R i) Müssen normale Programme häufig auf Spezialregister zugreifen? Nein 64 Bit Festkomma genavigkeit in de Rogel uotlig ausreidrend j) Was müssen Sie tun wenn Sie einzelne Bits eines Spezialregisters verändern wollen? o GET Kiel ist ein Altwedrgistef AR bearbeiten o PUT Czid SR ) Die letzte Aufgabe hat gezeigt dass zur Bearbeitung von Spezialregistern zwei zusätzliche Befehle ausgeführt werden müssen Diese Ausführung kostet Zeit k) Können Sie sich einen Grund vorstellen warum nicht alle MMIXBefehle in Spezialregister schreiben bzw Spezialregister lesen können? Hardware eintade schnelle 4854 Zugrilt auf * 5 langsauner Da Zugnitt of SR die seller
9 4 6 MMIXProzessor Aufgaben Verständnis Speicher T a) Wozu verwendet ein Computer Arbeitsspeicher? Speicher non Paten gearbeitetwird unit denen gerade T b) Wo findet man den Arbeitsspeicher in einem Computersystem? Auf dem ProzessorKern? Auf dem Mainboard? Als externes Gerät? Main board T c) Sind Zugriffe auf den Arbeitsspeicher in der Regel schneller oder langsamer als Zugriffe auf Register? Nein Register Sind uid Schneller As vid Schneller als Festplattenzognilte T d) Begründen Sie Ihre Antwort auf die letzte Frage Register direkt in Processor ksrze Wegetkleinere kapazitaten AS moss Tba Datenbus
10 89 BYTE TETRA 6 Speicher 5 Alignment T a) Welche Wortbreiten werden bei Speicherzugriffen vom MMIX unterstützt? Wie werden diese genannt? 8 Bit ( BYTE ) 6 Bit ( WYDE ) bit ( Tetra T b) Wofür steht der Begriff Alignment? 64 Bit ( OCTA ) OCTA Ausrichtung Konner ibarall gespeidetwede WYDE nor an A dresser die dwcszteiksra " u " n 4 teilba Sind 8 teilbarsind T c) Warum wird Alignment angewendet? Dadurd wirdsidegestekt jedes Datenwort mit einem einzigen dass Speiderzugnilt ausgelesa Werder Kann 4 Adresse T d) Was würde passieren wenn ein 64 Bit breites Datenwort an einer durch 4 aber nicht durch 8 teilbaren Adresse abgelegt werden würde? Speiderzugiftenotig A ^4567 in
11 6 6 MMIXProzessor T e) Welche Eigenschaft müssen Byte Wyde Tetra und OctaAdressen beim MMIX haben? BYTE heine Ensdroinkurg WYDE dvrd Wei teilbar bzw letdes Adressbito TETRA dvrd Vier teilba ' bzw letter Adressbits OCTA dweh 8 teilbar bzu letter Adrcssbitsc Big und LittleEndian a) Welche Art von Daten betrifft die Abspeicherung als Big oder LittleEndian? b) Verwendet der MMIXProzessor Big oder LittleEndian? c) Was bedeutet Big und LittleEndian? Was ist der Unterschied? d) Wie wird die 6 BitZahl x4 im Speicher an der Adresse x abgelegt im Falle einer BigEndian und einer LittleEndianMaschine? Adresse Big Endian Little Endian x x
12 6 Speicher 7 Hexadecimal TETRA T e) Wie wird im Speicher an der Adresse x8 die BitZahl 55 x45678 abgelegt im Falle einer BigEndian und einer LittleEndianMaschine? Adresse Big Endian Little Endian tex x8 78 x xa 56 4 xb 78 dine f) Wie wird im Speicher an der Adresse x8 die 64 BitZahl ox abgelegt im Falle einer BigEndian und einer LittleEndianMaschine? xa HEX ' Adresse Big Endian Little Endian x8 ( x9 xa xb xc o xd xe xf oxoo oooo r Bit Zahl
13 Service Das 8 6 MMIXProzessor Speicherorganisation T a) Was wird im Textsegment gespeichert? o Programme de Direktopeanden lnterruptuektoren T b) Was ist ein Interrupt? 5 Interrupt Program 5h gesprungen Routine wird unto broken end in die end Aosgetehrt Program wind an der untubrochena slellefartgefihrt T c) Nennen Sie ein Ereignis bei dem ein Interrupt auftreten kann Division durch O exlerne Hardware Times T d) Was sind Interruptvektoren? Barcia in Arbeitsspeider Actresses ode Verzweigungen Werder gespeidert in den zu 5/ T e) Was wird im Datensegment gespeichert? o Variable Von niednign hohenea Adressen ru Stack Von hoiheren zu Hdrcssen hiedrigeren
Assembler als Übersetzer
4 ProzessorDatenpfad Assembler als Übersetzer Um ein AssemblerProgramm für den Universalrechner zu übersetzen iteriert der Assembler der Reihe nach über alle Programmzeilen und führt für jede Zeile folgendes
MehrT c) Daten welcher Größenordnung kann ein Register aufnehmen: Byte, kilobytes, megabytes, gigabytes or terabytes?
222 6 MMIXProzessor Verständnisfragen/Aufgaben Allgemein T a) Was ist ein Register? Kleiner aber Schneller Speicher T b) Wo findet man Register in einem ComputerSystem? Prozessor T c) Daten welcher Größenordnung
MehrSpeicher. T c) Daten welcher Größenordnung kann ein Register aufnehmen: Byte, kilobytes, megabytes, gigabytes or terabytes? einige Byte.
R lzieloperanden rich 222 6 MMIXProzessor Verständnisfragen/Aufgaben Allgemein T a) Was ist ein Register? ein Schneller ate kleiner Speicher T b) Wo findet man Register in einem ComputerSystem? im Haupt
MehrRO.RO, ADD RO, 120,121 MUL 120,120,121 INPUT RO, MUL INPUT 120,0 ADD RO, INPUT 121,1 INPUT R 1,2 INPUT 121,2 RO, IN put 121,1 N RO, ROIRA SET 121,3
6 4 Prozessor-Datenpfad a) Schreiben Sie für den Universalrechner ein Programm in Assembler-Sprache, welches die drei Seiten eines Würfels von den Eingängen, und einliest, das Volumen des Würfels berechnet
MehrNachfolgende Abbildung zeigt das Spezialregister ra, das Arithmetische Status Register. Interrupt Enable (Freischalten)
62 Register 221 Spezialregister Spezialregister (engl special purpose registers) haben im Gegensatz zu Allzweckregistern einen bestimmten Zweck dh jedes Spezialregister hat seine ganz eigene Aufgabe Spezialregister
Mehr4.2 Universalrechner: Schaltung unabhängig vom Problem 185
4.2 Universalrechner: Schaltung unabhängig vom Problem 85 a) Geben Sie binär die Befehlsworte an, mit denen Sie die Eingänge a, b und c in die Register R, R2 und R übernehmen. K D M4 M M2 M Kommentar XXXXXXXXXXX
Mehr4.3 Assembler 207 SET R0,0 INPUT R1,0 MUL R1,R1,R1 ADD R0,R0,R1 INPUT R1,1 MUL R1,R1,R1 ADD R0,R0,R1 INPUT R1,2 MUL R1,R1,R1 ADD R0,R0,R1 SQRT R0,R0
4. Assembler 27 c) Schreiben Sie für den Universalrechner ein Programm in Assembler-Sprache, welches die an den Eingängen, 1 und 2 anliegenden Koordinaten eines Vektors im dreidimensionlen Raum einliest,
Mehr4.3 Assembler. Assembler als leicht verständliche hardwarenahe Sprache Prozessor-Datenpfad
24 4 Prozessor-Datenpfad 4.3 Assembler Die Programmierung des Universalrechners durch Niederschreiben der einzelnen Befehlswort-Bits aller Befehle ist sehr aufwendig. Aus diesem Grund wird dieser Schritt
MehrT e) Welche Eigenschaft müssen Byte-, Wyde-, Tetra- und Octa-Adressen beim MMIX haben?
236 6 MMIX-Prozessor T e) Welche Eigenschaft müssen Byte-, Wyde-, Tetra- und Octa-Adressen beim MMIX haben? Byte : Reine besondere Eigenschaft wyde : durch 2 tutbar eetztesrstto Tetra : dutch 4 teicbar
MehrT e) Wie wird im Speicher an der Adresse 0x die 32 Bit-Zahl
63 Speicher 237 T e) Wie wird im Speicher an der Adresse 0x2000000000000008 die 32 BitZahl 0x12345678 abgelegt im Falle einer BigEndian und einer LittleEndianMaschine? Adresse Big Endian Little Endian
Mehr4. TÜ-Zusammenfassung zum Modul Computersysteme
4. TÜ-Zusammenfassung zum Modul Computersysteme Kurzzusammenfassung 6. Kapitel MMIX 256 Allzweckregister um Operanden abzuspeichern 32 Spezialregister bilden Schnittstelle zwischen Soft- und Hardware ALU(Arithmetic
MehrNachfolgende Abbildung zeigt das Spezialregister ra, das Arithmetische Status Register. Interrupt Enable (Freischalten)
6.2 Register 205 Spezialregister Spezialregister (engl. special purpose registers) haben im Gegensatz zu Allzweckregistern einen bestimmten Zweck, d.h. jedes Spezialregister hat seine ganz eigene Aufgabe.
MehrNachfolgende Abbildung zeigt das Spezialregister ra, das Arithmetische Status Register. Interrupt Enable (Freischalten)
62 Register 205 Spezialregister Spezialregister (engl special purpose registers) haben im Gegensatz zu Allzweckregistern einen bestimmten Zweck, dh jedes Spezialregister hat seine ganz eigene Aufgabe Spezialregister
Mehr3.8 Sequentieller Multiplizierer 167
.8 Sequentieller Multiplizierer 67 a) Welche Organisation hat das ROM? 6=64 Datenwerte zu je 9 Bit Im ROM wird durch die Adress-Bits, und der Zustand festgelegt, durch die Adress-Bits und 4 der Rundenzähler,
MehrDividend / Divisor = Quotient + Rest 9876 : 0054= : 0054= = -10 (negativ bleibt bei 1 mal) 4476 : 0054=018
78 Arithmetische Schaltungen Division Allgemein Bei der Division gilt allgemein: Dividend / Divisor = Quotient + Rest Division zur Basis, wie in der Schule gelernt: 9876 : 54= Runde Teildividend = 9 Passt
Mehr5 Befehlssätze und deren Klassifikation
215 5 Befehlssätze und deren Klassifikation Befehlssatz Unser Universalrechner kennt 7 verschiedene Befehle: ADD SUB MUL DIV FSQRT INPUT und SET Die Menge (im mathematischen Sinne) der Befehle die ein
Mehr6 MMIX-Prozessor MMIX-Prozessor
218 6 MMIProzessor 6 MMIProzessor In diesem Kapitel beschäftigen wir uns mit dem MMIProzessor Der MMIProzessor wurde von Donald Ervin Knuth zu Lehr und Forschungszwecken an der Stanford University entwickelt
Mehr6 MMIX-Prozessor MMIX-Prozessor
218 6 MMI-Prozessor 6 MMI-Prozessor In diesem Kapitel beschäftigen wir uns mit dem MMI-Prozessor. Der MMI-Prozessor wurde von Donald Ervin Knuth zu Lehr- und Forschungszwecken an der Stanford University
Mehr6 MMIX-Prozessor. 6.1 Programmiermodell. S.219 alles wichtig. 6.2 Register. Allzweckregister
6 MMIXProzessor Modell eines Prozessors (keine LegacyEffekte) RegisterRegister Architektur mit 256 Allzweck Register und 32 Spezialregister Wortbreite der Register, des Rechenwerks, der Daten und AdressBusse:
Mehr4 Prozessor-Datenpfad 4.1 Vom zu lösenden Problem abhängige Schaltung
4 ProzessorDatenpfad 4.1 Vom zu lösenden Problem abhängige Schaltung Die Idee ist es nun nicht unflexible Schaltungen, die aus einer großen Anzahl von Komponenten bestehen und nur eine Aufgabe erledigen
Mehr6 MMIX-Prozessor MMIX-Prozessor
218 6 MMI-Prozessor 6 MMI-Prozessor In diesem Kapitel beschäftigen wir uns mit dem MMI-Prozessor. Der MMI-Prozessor wurde von Donald Ervin Knuth zu Lehr- und Forschungszwecken an der Stanford University
MehrKap.2 Befehlsschnittstelle. Prozessoren, externe Sicht
Kap.2 Befehlsschnittstelle Prozessoren, externe Sicht 2 Befehlsschnittstelle 2.1 elementare Datentypen, Operationen 2.2 logische Speicherorganisation 2.3 Maschinenbefehlssatz 2.4 Klassifikation von Befehlssätzen
MehrGrundlagen der Rechnerarchitektur. Einführung
Grundlagen der Rechnerarchitektur Einführung Unsere erste Amtshandlung: Wir schrauben einen Rechner auf Grundlagen der Rechnerarchitektur Einführung 2 Vorlesungsinhalte Binäre Arithmetik MIPS Assembler
MehrArithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9
Arithmetik, Register und Speicherzugriff Grundlagen der Rechnerarchitektur Assembler 9 Arithmetik und Zuweisungen Einfache Arithmetik mit Zuweisung C Programm: a = b + c; d = a e; MIPS Instruktionen: Komplexere
MehrMikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen
Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)
MehrN Bit Binärzahlen. Stelle: Binär-Digit:
N Bit Binärzahlen N Bit Binärzahlen, Beispiel 16 Bit: Stelle: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Binär-Digit: 0 0 1 0 1 0 0 1 1 1 0 0 1 0 0 0 Least Significant Bit (LSB) und Most Significant Bit (MSB)
MehrSUB $2,$5,10 Zeile 1 LDO $5,$0,2*8 Zeile 2 OR $1,$2,$3 Zeile 3 SRU $1,$5,$1 Zeile 4.
33 7 Pipelining Gegeben ist der folgende Ausschnitt aus einer MMIX Codesequenz: SUB $2,$5, Zeile LDO $5,$,2* Zeile 2 OR $,$2,$3 Zeile 3 SRU $,$5,$ Zeile 4 Zeile und 3 wg b) Geben Sie alle auftretenden
MehrARM-Cortex-M4 / Thumb-2-Befehlssatz Adressierungsarten und arithmetische Operationen
ARM-Cortex-M4 / Thumb-2-Befehlssatz Adressierungsarten und arithmetische Operationen Aufgabenstellung: - das beigefügte Assembler-Programm schrittweise ausführen - sich mit der Handhabung der Entwicklungswerkzeuge
MehrTechnische Informatik II Rechnerarchitektur
Technische Informatik II Rechnerarchitektur MMIX-Crashkurs Matthias Dräger, Markus Rudolph E-Mail: mdraeger@mi.fu-berlin.de rudolph@mi.fu-berlin.de www: tinyurl.com/mmix2010 www.matthias-draeger.info/lehre/sose2010ti2/mmix.php
MehrGrundlagen der Rechnerarchitektur. Einführung
Grundlagen der Rechnerarchitektur Einführung Unsere erste Amtshandlung: Wir schrauben einen Rechner auf Grundlagen der Rechnerarchitektur Einführung 2 Vorlesungsinhalte Binäre Arithmetik MIPS Assembler
Mehrstackpointer dentals Basisadresse Arbeitsspeicher, Program mdaten wte Reicksprungadreson ltbergabe parameter Dater warden immeruber stack pointer
322 6 MMIXProzessor T i) Was ist der Stack? Bereich im Program mdaten wte lokale Arbeitsspeicher der lokale Register Reicksprungadreson ltbergabe parameter enthaet T j) Wo beginnt der Stack und in welche
MehrSelbststudium Informationssysteme - H1102 Christian Bontekoe & Felix Rohrer
Übung RA, Kapitel 1.5 1. Beantworten Sie bitte folgende Repetitionsfragen 1. Beschreiben Sie in eigenen Worten und mit einer Skizze die Schichtung einer Multilevel Maschine. Folie 5, rechte Seite 2. Welche
MehrGrundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur Einführung Unsere erste Amtshandlung: Wir schrauben einen Rechner auf Grundlagen der Rechnerarchitektur Einführung 2 Vorlesungsinhalte Binäre Arithmetik MIPS Assembler
MehrAssembler am Beispiel der MIPS Architektur
Assembler am Beispiel der MIPS Architektur Frühere Einsatzgebiete MIPS Silicon Graphics Unix Workstations (z. B. SGI Indigo2) Silicon Graphics Unix Server (z. B. SGI Origin2000) DEC Workstations (z.b.
MehrERA-Zentralübung Maschinenprogrammierung
ERA-Zentralübung Maschinenprogrammierung M. Meyer LRR TU München 25.11.2016 Inhalt Aufgabe 4.1 Aufgabe 4.2 Zeichensätze Aufgabe 4.1 Leuchtbandanzeige/Bargraph Bit Nr: 15 14 13 12 11 10 9 8 7 6 5 4 3 2
MehrName: ES2 Klausur Thema: ARM Name: Punkte: Note:
Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 75 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel
MehrÜbersicht. Quelle: Kapitel 3, 4 und 5 aus Anlauff, Böttcher, Ruckert: Das MMIX-Buch. Springer, 2002
Übersicht Wiederholung: ein einfaches MMIX-Programm Speicherorganisation, Speicherzugriff Zahlen und Arithmetik Zeichenketten und Ein-/Ausgabe Kontrollstrukturen Unterprogramme Quelle: Kapitel 3, 4 und
MehrName : Klasse : Punkte : Note :
ESI Semesterendprüfung 15.6.2009 Name : Klasse : Punkte : Note : Zeit: 12.50 bis 13.35 Die Aufgaben sind möglichst direkt auf den Blättern zu lösen (Antworten bitte in ganzen Sätzen!), bei Bedarf die Rückseite
MehrTeil 2: Rechnerorganisation
Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung
MehrLösung 5. Übungsblatt
Fakultät Informatik, Technische Informatik, Lehrstuhl für Eingebettete Systeme Lösung 5. Übungsblatt Entwicklung eines Mikroprogrammsteuerwerks und Maschinen-programmierung für einen einfachen Rechner.
MehrTeil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
Mehr2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16
2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 14. Okt. 2015 Computeraufbau: nur ein Überblick Genauer: Modul Digitale Systeme (2. Semester) Jetzt: Grundverständnis
MehrWelche Register werden zur Parameterübergabe verwendet? In welcher Reihenfolge werden die Parameter auf dem Stack bzw. in den Registern abgelegt?
6.5 MMIX Befehle 291 Aufrufkonventionen Eine Aufrufkonvention (engl. calling convention) legt fest, wie einer Funktion Parameter übergeben werden und wie der Rückgabewert zurückgegeben wird. Damit spezifiziert
MehrGrundlagen der Rechnerarchitektur. MIPS Assembler
Grundlagen der Rechnerarchitektur MIPS Assembler Übersicht Arithmetik, Register und Speicherzugriff Darstellung von Instruktionen Logische Operationen Weitere Arithmetik Branches und Jumps Prozeduren 32
MehrNamensräume - der PREFIX-Befehl
65 MMIX Befehle 33 Namensräume - der PREFIX-Befehl Der PREFIX-Befehl ist ein Assembler-Befehl Er wird verwendet um in einem Programm vorkommenden Namen vom Assembler-Präprozessor durch Voranstellen einer
MehrOffenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab...
0 1 2 0 2 1 1 2 0 2 1 0 Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab... 0 1 2 0 1 2 1 1 3 2 2 3 212 Um solche Tabellen leicht implementieren zu können, stellt Java das switch-statement
MehrÜbungsblatt 10 (Block C 2) (16 Punkte)
georg.von-der-brueggen [ ] tu-dortmund.de ulrich.gabor [ ] tu-dortmund.de pascal.libuschewski [ ] tu-dortmund.de Übung zur Vorlesung Rechnerstrukturen Wintersemester 2016 Übungsblatt 10 (Block C 2) (16
MehrBeim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen:
1 ADRESSIERUNG IN MMIX Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen: no base address is close enough to the address A! relative address
Mehr6.3 Speicher 233. Virtueller Speicher dreier Programme. realer Speicher Interrupt-Vektoren. Text-Segment.
6.3 Speicher 233 Virtueller Speicher Die gezeigte Einteilung des Speichers in verschiedene Segmente bezieht sich auf den sog. virtuellen Speicher. Virtueller Speicher meint, dass die Speicheradressen,
MehrMusterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller
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
MehrZusammenhang Interrupt, Befehlszyklus, indirekte Adressierung und Mikroprogramm [Stallings, Kap. 15, S ]
2.1.2 Behandlung von Unterbrechungen (Interrupts) Zusammenhang Interrupt, Befehlszyklus, indirekte Adressierung und Mikroprogramm [Stallings, Kap. 15, S. 582-585] t 1 : MAR (PC) t 2 : MBR Memory[MAR] PC
MehrRechnergrundlagen SS Vorlesung
Rechnergrundlagen SS 2007 8. Vorlesung Inhalt Gleitkomma-Darstellung Normalisierte Darstellung Denormalisierte Darstellung Rechnerarchitekturen Von Neumann-Architektur Harvard-Architektur Rechenwerk (ALU)
MehrAssembler Programmierung Motivation. Informatik II SS 2004 Teil 4: Assembler Programmierung. Assembler vs. Maschinensprache
Assembler Programmierung Motivation Informatik II SS 2004 Teil 4: Assembler Programmierung Was ist ein Programm? Eine Reihe von Befehlen, die der Ausführung einer Aufgabe dient Dazu wird das Programm sequentiell
MehrMikroprozessortechnik Grundlagen 1
Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega28 Progammierung in C - Vergleich C und C++ - Anatomie eines µc-programmes
Mehr"Organisation und Technologie von Rechensystemen 4"
Klausur OTRS-4, 29.09.2004 Seite 1 (12) INSTITUT FÜR INFORMATIK Lehrstuhl für Rechnerarchitektur (Informatik 3) Universität Erlangen-Nürnberg Martensstr. 3, 91058 Erlangen 29.09.2004 Klausur zu "Organisation
MehrProzessor HC680 fiktiv
Prozessor HC680 fiktiv Dokumentation der Simulation Die Simulation umfasst die Struktur und Funktionalität des Prozessors und wichtiger Baugruppen des Systems. Dabei werden in einem Simulationsfenster
MehrNeues vom STRIP Forth-Prozessor
Neues vom STRIP Forth-Prozessor Tagung der Forth-Gesellschaft April 2013 in Garmisch-Partenkirchen Willi Stricker 1 STRIP Forth-Prozessor STRIP32 32 Bit-Version Eigenschaften: Die 32-Bit-Version ist nahezu
MehrProgrammiersprachen Einführung in C
Programmiersprachen Einführung in C Teil 1: Von der Maschinensprache zu C Prof. Dr. Maschinensprache: MIPS R2000 Was bewirkt folgendes Programm: 00100111101111011111111111100000 10101111101111110000000000010100
MehrProzessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel
Prozessorarchitektur Kapitel - Wiederholung M. Schölzel Wiederholung Kombinatorische Logik: Ausgaben hängen funktional von den Eingaben ab. x x 2 x 3 z z = f (x,,x n ) z 2 z m = f m (x,,x n ) Sequentielle
MehrZur Multiplikation von Gleitkommazahlen müssen die Mantissen inkl. führender 1, als Festkommazahlen multipliziert werden.
70 Arithmetische Schaltungen Multiplikation vorzeichenbehafteter Zahlen Zur Multiplikation vorzeichenbehafteter Zahlen (er-komplement) kann auf die Schaltung für vorzeichenlose Multiplikation zurückgegriffen
MehrDatenpfad einer einfachen MIPS CPU
Datenpfad einer einfachen MIPS CPU Die Branch Instruktion beq Grundlagen der Rechnerarchitektur Prozessor 13 Betrachten nun Branch Instruktion beq Erinnerung, Branch Instruktionen beq ist vom I Typ Format:
MehrRechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011
Technische Universität Graz Institut tfür Angewandte Informationsverarbeitung und Kommunikationstechnologie Rechnerorganisation 2 TOY Karl C. Posch Karl.Posch@iaik.tugraz.at co1.ro_2003. 1 Ausblick. Erste
MehrVorstellung (Wdh. für die Neuen )
Vorstellung (Wdh. für die Neuen ) Mein Name: Christian Mandery Studiengang: Diplom-Informatik im 4. Semester (ich höre also im Moment selbst noch Technische Informatik 2) E-Mail (bei Fragen und zum Senden
MehrMikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen
Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)
MehrZusammenfassung der Assemblerbefehle des 8051
Zusammenfassung der Assemblerbefehle des 8051 Seite 1 von 5 Befehl Bezeichnung Syntax Wirkung / Beispiel Befehle zum Datentransfer MOV Move MOV [Ziel],[Quelle] MOV P1,P3 Kopiert den Inhalt von P3 nach
MehrTeil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
Mehr6.3 Speicher 233. Virtueller Speicher dreier Programme. realer Speicher Interrupt-Vektoren. Text-Segment.
6.3 Speicher 233 Virtueller Speicher Die gezeigte Einteilung des Speichers in verschiedene Segmente bezieht sich auf den sog. virtuellen Speicher. Virtueller Speicher meint, dass die Speicheradressen,
MehrLOC Data_Segment A OCTA a) Bestimmen Sie das 32 Bit breite Befehlswort des Befehls JMP Start.
humpl 6.5 MMIX Befehle 299 Betrachten Sie die folgenden Befehle: LOC Data_Segment GREG @ A OCTA 1000 a IS $1 b IS $2 LOC #100 Main LDB aa Start SUB aa1 swathe 2 Befehl OR aa0 BZ aend JMP Start End TRAP
MehrLOC Data_Segment
65 MMIX Befehle 291 In folgendem Programmcode wird XXX XXXXXXXX als Platzhalter für einen einzelnen Befehl verwendet: : LOC Data_Segment a iii GREG @ :;fff ±t A OCTA #FFFFFFFFFFFFFFFF B TETRA #87654321
Mehr8. Beschreibung des Prozessors MSP 430
8. Beschreibung des Prozessors MSP 430 8.1 Die Eigenschaften des MSP 430 8.2 Die Register des MSP 430 8.3 Der Aufbau des Speichers 8.4 Interrupts 8.5 Der Watchdog Programmierkurs II Wolfgang Effelsberg
MehrRechnerstrukturen. 7. Assembler. Inhalt. Vorlesung Rechnerstrukturen. Assemblerprogrammierung SML-CPU. SML-Assembler. Binden
Rechnerstrukturen 7. Assembler Assemblerprogrammierung SML-CPU Inhalt SML-Assembler Adressierungsarten Instruktionssatz Assembler-Direktiven Binden 7.2 1 Maschinensprache Instruktion = Bitkombination Für
MehrERA-Zentralübung Maschinenprogrammierung
ERA-Zentralübung Maschinenprogrammierung M. Meyer LRR TU München 27.10.2017 Arithmetik mit 80386 Inhalt Rechenmodell Register Befehle Beispiele 80386-Rechenmodell Typisches Zwei-Address-Format Ziel :=
Mehr1 Aufgaben Wie funktioniert ein Computer. a) Welche Spannungen werden von PC-Netzteilen bereitgestellt? 5W, 12W,
81 1 Aufgaben Wie funktioniert ein Computer Netzteil a) Welche Spannungen werden von PCNetzteilen bereitgestellt? 3 BV 5W 12W 5 V 12W b) Warum können PCNetzteile hohe Leistungen liefern obwohl die eingebauten
Mehr68000 Assembler. WAS ist ein Assembler? Ein System, das den Programmierer hilft, eine maschinennahe Programmierung zu realisieren.
WAS ist ein Assembler? Ein System, das den Programmierer hilft, eine maschinennahe Programmierung zu realisieren. Ein Programm liegt der CPU in binärer Form vor und wird durch den Assembler in einer primitiven
MehrDaniel Betz Wintersemester 2011/12
Daniel Betz Wintersemester 2011/12 Digitally signed by daniel.betz@daniel-betz.com Date: 2011.12.04 17:24:40 +01'00' Insgesamt 16 Register von je 16 Bit (=WORD) Breite Untere 8 Register auch als 2 Register
MehrIT-Infrastruktur ITIS-D WS 2014/15. Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz D: Rechnerstrukturen, Teil 1. v1.
ITIS-D IT-Infrastruktur WS 2014/15 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz D: Rechnerstrukturen, Teil 1 v1.0, 2014/10/21 21.10.2014 IT-Infrastruktur, WS 2014/15, Hans-Georg Eßer Folie D-1
Mehr05. Assembler-Programmierung. Datenstrukturen des ATMega32. Literatur
0. Assembler-Programmierung Datenstrukturen des ATMega32 Literatur mikrocontroller.net avr-asm-tutorial.net asm Alles über AVR AVR-Assembler-Einführung Assembler AVR-Aufbau, Register, Befehle 2008: ouravr.com/attachment/microschematic/index.swf
MehrINFORMATIK Oberstufe. Funktionsweise eines Rechners
INFORMATIK Oberstufe Funktionsweise eines Rechners Lehrplan Inf 12.3 (ca. 17 Std.): Grundlegende Kenntnisse über den Aufbau eines Rechners und seiner prinzipiellen Funktionsweise helfen den Schülern, den
MehrDatenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren
Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren der beiden Registerwerte $t1 und $t2 in einem Zielregister
MehrName : Klasse : Punkte : Note :
Name : Klasse : Punkte : Note : Zeit: 08.00 bis 09.30 Es dürfen alle Unterlagen verwendet werden. Die Aufgaben sind möglichst direkt auf den Blättern zu lösen (Antworten bitte in ganzen Sätzen!), bei Bedarf
Mehr1 Rechnerstrukturen 1: Der Sehr Einfache Computer
David Neugebauer, Informationsverarbeitung - Universität zu Köln, Seminar BIT I Inhaltsverzeichnis 1 Rechnerstrukturen 1: Der Sehr Einfache Computer 1 1.1 Komponenten................................. 1
MehrName: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:
Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel
MehrMikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen
Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)
Mehr2 Darstellung von Zahlen und Zeichen
2.1 Bits, Byte, Datenworte und Logikpegel 89 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f (X ).
MehrRechner- organisa-on 2 TOY. Karl C. Posch.
Rechner- Technische Universität Graz Ins-tut für Angewandte Informa-onsverarbeitung und Kommunika-onstechnologie organisa-on 2 TOY Karl C. Posch Karl.Posch@iaik.tugraz.at co1.ro_2012. Ausblick. Erste HälEe
MehrPraktikum Mikrorechner 3 (Adressierungsarten)
G. Kemnitz Institut für Informatik, Technische Universität Clausthal November 5, 2014 1/15 Praktikum Mikrorechner 3 (Adressierungsarten) G. Kemnitz Institut für Informatik, Technische Universität Clausthal
MehrLösungsvorschläge zur Übungsklausur. zum Kurs 1708 Technische Informatik II. im WS 01/02
Lösungsvorschläge zur Übungsklausur zum Kurs 1708 Technische Informatik II im WS 01/02 Aufgabe 1: (10 Punkte) Welche der folgenden Aussagen sind richtig? a) Unter dem Begriff Mikroprogramm versteht man
MehrTechnische Informatik 1
Technische Informatik 1 2 Instruktionssatz Lothar Thiele Computer Engineering and Networks Laboratory Instruktionsverarbeitung 2 2 Übersetzung Das Kapitel 2 der Vorlesung setzt sich mit der Maschinensprache
MehrBesprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur
Themen heute Besprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur Besprechung des 8. Übungsblattes Aufgabe 2.6. In diesem
Mehr1. TÜ-Zusammenfassung zum Modul Computersysteme
1. TÜ-Zusammenfassung zum Modul Computersysteme Kurzzusammenfassung 1. Kapitel Netzteil: Aufbau: Bereitgestellte Spannungen: 12V, -12V, 5V, -5V und 3.3V Leistung: Da bei Transformatoren die übertragbare
MehrTechnische Informatik I - HS 18
Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik I - HS 18 Musterlösung zu Übung 3 Datum : 25.-26. Oktober 2018 Aufgabe 1: Wurzelverfahren nach Heron Das
MehrRechnernetze und Organisation
Arithmetic Logic Unit ALU Professor Dr. Johannes Horst Wolkerstorfer Cerjak, 9.2.25 RNO VO4_alu Übersicht Motivation ALU Addition Subtraktion De Morgan Shift Multiplikation Gleitkommazahlen Professor Dr.
MehrFAKULTÄT FÜR INFORMATIK
FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN Lehrstuhl für Rechnertechnik und Rechnerorganisation Prof. Dr. Arndt Bode Einführung in die Rechnerarchitektur Wintersemester 2016/2017 Tutorübung
MehrIM P label = Bedingte Verzweigungen
298 6 MMIX-Prozessor Verzweigungsbefehle Unbedingte Verzweigung 23 0 opc X 4 z Befehl Operanden Name/Aktion Definition JMP XYZ Jump @ u64 0 ( u(@) + 4 s(xyz)) IM P label = Bedingte Verzweigungen Befehl
MehrInformatik 12 Kapitel 3 - Funktionsweise eines Rechners
Fachschaft Informatik Informatik 12 Kapitel 3 - Funktionsweise eines Rechners Michael Steinhuber König-Karlmann-Gymnasium Altötting 9. Februar 2017 Folie 1/36 Inhaltsverzeichnis I 1 Komponenten eines PCs
MehrT b) Wo findet man den Arbeitsspeicher in einem Computersystem? Auf dem Prozessor-Kern? Auf dem Mainboard? Als externes Gerät?
234 6 MMIX-Prozessor Aufgaben Verständnis Speicher T a) Wozu verwendet ein Computer Arbeitsspeicher? T b) Wo findet man den Arbeitsspeicher in einem Computersystem? Auf dem Prozessor-Kern? Auf dem Mainboard?
Mehr