6. Übung Informatik 1 Inhalte: Der DLX-Prozessor

Slides:



Advertisements
Ähnliche Präsentationen
Definition Überlappung und Überdeckung
Advertisements

Randomisierte Algorithmen Präfix Suche und Konsistentes Hashing
Der Einfachstrechner in Aktion
Vorlesung Compilertechnik Sommersemester 2009 Zielcodeerzeugung M. Schölzel.
4.5 Virtueller Speicher Problemsituation: Programme und Daten sind zu groß für den verfügbaren Arbeitsspeicher Frühere Lösung Aufspaltung der Programme.
CPI Der einzelne Befehl braucht immer noch 5 Zyklen (stimmt nicht ganz, einige brauchen weniger!) Was verbessert wird, ist der Durchsatz = #Befehle /
Befehlssatz und Struktur
© 1999 by MSc-AST. Dipl. Informatikerin Cornelia Pahnke
2.3 Register-Transfer-Strukturen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Das LCA – Problem in Suffixbäumen
Vortrag: Praktikum Technische Informatik Sommersemester 2007
Entwicklungstrends bei Mikroprozessoren
2.5 Vektorrechner & Multimedia-Erweiterungen
1 Energiebewusste Compilierung für digitale Signalprozessoren Markus Lorenz Peter Marwedel Universität Dortmund Lehrstuhl Informatik XII Projekt Prozessorarchitekturen.
WS 2009/10 1 Systeme 1 Kapitel 1 Aufbau von Rechnern.
Strukturgleichungsmodelle
Parser für CH3-Sprachen
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 11.1.
Aufbau und Funktionsweise von Prozessoren
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 2 Rechnerarchitektur Peter B. Ladkin Wintersemester 2001/2002 Universität Bielefeld Technische Fakultät.
Rechnerarchitektur Vorlesung 2 Peter B. Ladkin
Vorlesung, Wintersemester 2009/10M. Schölzel 1 Optimierungstechniken in modernen Compilern Einführung.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von.
Programmiermethodik SS 07 Prof. Albert Zündorf
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 1 Gliederung 1. Einführung 2. Objektdiagramme zur Analyse von Beispielen 3. Methodenentwurf.
Programmiermethodik Übung 6 Methoden verstehen und entwerfen.
Zyklus Nr 0 Instruction Queue Instruction tag Instruction Register IF Stage CDB nameb ADD1 ADD2 ADD3 MUL1 MUL2 DIV INT MU1 MU2 MU3 Reservations OPV1Q1V2Q2.
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 1 Gliederung 1. Einführung 2. Objektdiagramme zur Analyse von Beispielen 3. Methodenentwurf.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 1 Gesamtvorgehen 1. Textuelle Szenarios 2. Objektdiagramme 3. Klassendiagramm 4.
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Präsentation Teil 3 Betreuungsmitteilung
Logischen Grundverknüpfungen
Brückenschaltung 1.
Medien- Technik Datei-Formate: TIFF Tagged Image File Format.tif.tiff.
© 1999 by MSc-AST. Dipl. Informatikerin Cornelia Pahnke
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
Der Simple As Possible Computer
2.3 Register-Transfer-Strukturen
© Gabriele Sowada © Gabriele Sowada 2 Manuell Beispiel 1 demonstriert die Vorgehensweise bei der manuellen Programm- Eingabe am.
Datenformate: Text und Bild
© Gabriele Sowada © Gabriele Sowada 2 Zügig Beispiel 2 demonstriert die Vorgehensweise bei der normalerweise genutzten Art der.
Technische Hochschule Wildau
Zuordnung CacheHauptspeicher
Syntaxanalyse Bottom-Up und LR(0)
1 J4 Hash-Join R und S werden mittels der gleichen Hashfunktion h – angewendet auf R.A und S.B – auf (dieselben) Hash- Buckets abgebildet Hash-Buckets.
Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober Mikrocomputertechnik Jürgen Walter Indirekte Adressierung- Quickie Beschreibung.
Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober Mikrocomputertechnik Jürgen Walter Speicher-Quickie Beschreibung.
Aufgabe 1 In einem Mikroprozessorsystem mit 32-bit-Datenzugriff auf den Hauptspeicher ist ein Daten-Cache vorhanden. Das Laden des Caches erfolgt in Blöcken.
Benutzerhinweise: Die nächste Folie sowie die jeweils nächste
Anwendung von Microcontollern
Einfaches Maßnahmenkonzept Gefahrstoffe Tätigkeitsbeispiel aus der Praxis – Flüssigkeit Gefährdung durch Brand und Explosion.
Technische Informatik II Übung 2: Konvertieren von Zahlen
Advanced Digital Design Übung 3. Aufgabe 2 + R1R2R3 +
Advanced Digital Design Übung 3. Aufgabe 1: Algorithmus für Phasen Inverter Plazierung Systematic approach: 1. Identify combinational logic and registers/memories.
Analyseprodukte numerischer Modelle
Programmieren in Assembler
DATEISPEICHER in der S P S
Seite 1 Technische Informatik II (INF 1211) – Kurzfragenteil (Ohne Unterlagen) Am Prof. W. Adi Zeit: (20 Minuten) Bitte schreiben Sie die Lösung.
D 11 Adress- Dekoder
Informatik Formale Sprachen 1.2 Grammatiken formaler Sprachen
Technische Informatik II
Präsentation Binär.
VHDL-Modellierung der Pipeline eines DLX-Prozessors
Vom HW-Automaten zum Prozessor
CSL211 Computer Architecture
 Präsentation transkript:

6. Übung Informatik 1 Inhalte: Der DLX-Prozessor Lade/Speicher-Architektur Befehlssatz Adressierung Steuerung und Datenpfad DLX-Programmierung Der DLX-Simulator WinDLX

Aufgaben: 6.1 Erläutern Sie die 3 DLX-Befehlsformate an Hand der vorgegebenen Befehle und codieren Sie diese als binäre 32-Bit-Befehlswörter. ALU-Befehle add r3,r2,r1 andi r3,r4,0xff Verzweigebefehle bnez r3,loop j addr1 Lade/Speicher-Befehle lb r5,0x200(r4)

Hauptoperationscodes der DLX IR3..5 IR0..2 000 001 010 011 100 101 110 111 SPEZIAL J JAL BEQZ BNEZ ADDI ADDUI SUBI SUBUI ANDI ORI XORI LHI RFE TRAP JR JALR SLLI SRLI SRAI SEQI SNEI SLTI SGTI SLEI SGEI LB LH LW LBU LHU SB SH SW SEQUI SNEUI SLTUI SGTUI SLEUI SGEUI Erweiterte Operationscodes func im R-Befehlsformat der DLX(SPEZIAL) IR29..31 IR26..28 000 001 010 011 100 101 110 111 SLL SRL SRA TRAP SEQU SNEU SLTU SGTU SLEU SGEU ADD ADDU SUB SUBU AND OR XOR SEQ SNE SLT SGT SLE SGE MOVI2S MOVS2I

IR R -Type (Register) Operationscode R e g i s t e r 0 5 6 10 11 15 16 20 21 31 IR Operationscode R e g i s t e r opc rs1 rs2 rd func 000 000 00010 00001 00011 00000 100 000 ALU-Befehl add r3,r2,r1 ; r3  r2 + r1

Operationscode R e g i s t e r immediate/ displacement/ offset I -Type (Immediate) 0 5 6 10 11 15 16 31 Operationscode R e g i s t e r immediate/ displacement/ offset rs1 rd/rs2 001 100 00100 00011 0000 0000 1111 1111 000 101 00011 00000 offset von PC zu loop 100 000 00100 00101 0000 0010 0000 0000 IR (1) (2) (3) (1) ALU-Befehl andi r3, r4,0xff ; r3  r4 & 0xff (2) Verzweigebefehl bnez r3, loop ; PC  PC + (IR1616 ## IR16…31) ; offset von PC+4 zu loop (mit VZ) (3) Lade/Speicher-Bef. lb r5, 0x200(r4) ; r5  M[r4 +0x200]024 ## M[r4 +0x200]

IR J-Type (Jump) Operationscode jump-offset 0 5 6 31 Operationscode jump-offset 000 010 26-bit-offset von PC zu addr1 IR Verzweigebefehl j addr1 ; PC  PC + (IR66 ## IR6…31)

6.2 Ermitteln Sie den DLX-Code für folgende Anweisungen. a = b + c; d = e – f; a,b,c,d,e,f sind 32-Bit Worte im Speicher mit den Labels A,B,C,D,E,F Verwenden Sie dabei den nachstehend angegebenen Rahmen. .text 0x20000 start: lhi r1,0X10 ; Laden Adresse A nach R1 . . . . . . . . . . . ; . . . . . . . . . . . ; Laden a nach R2 . . . . . . . . . . . trap 0 ; steht hier für eine HALT-Anweisung, liefert ; Ausschrift “trap 0“ .data 0x102000 A: .word 0x..... B: .word 0x..... C: .word 0x..... D: .word 0x..... E: .word 0x..... F: .word 0x.....

.text 0x20000 start: lhi r1,0X10 ori r1,r1,0x2000 lw r2,4(r1) ; Laden b nach R2 lw r3,8(r1) add r3,r3,r2 sw 0(r1),r3 ; a = b + c lw r2,16(r1) lw r3,20(r1) sub r3,r2,r3 sw 12(r1),r3 trap 0 ; steht hier für HALT, liefert Ausschrift “trap 0“ .data 0x102000 A: .word 0x..... B: .word 0x..... C: .word 0x..... D: .word 0x..... E: .word 0x..... F: .word 0x.....

6.3 Gegeben ist folgender DLX-Code: addi r1,r0,0x18 lw r11,0xC(r1) addi r1,r0,4 label: sub r2,r11,r1 addi r2,r2,4 srli r1,r2,3 bnez r1,label . . . . . . . . . . . . . . . . . . . . . und die Speicherbelegung M[0x24] = 3210 Berechnen Sie Inhalt von R1 nach 1. und dem 2.Schleifendurchlauf

Befehl 1. Durchlauf 2.Durchlauf addi r1,r0,0x18 lw r11,0xC(r1) addi r1,r0,0x4 label: sub r2,r11,r1 addi r2,r2,4 srli r1,r2,3 bnez r1,label Speicherbelegung M[0x24] = 3210

Befehl 1. Durchlauf 2.Durchlauf addi r1,r0,0x18 r1 = 0x18 lw r11,0xC(r1) r11 = 3210 addi r1,r0,0x4 r1 = 4 label: sub r2,r11,r1 r2 = 3206 addi r2,r2,4 r2 = 3210 srli r1,r2,3 r1 = 401 bnez r1,label r1 = 401 Speicherbelegung M[0x24] = 3210

Befehl 1. Durchlauf 2.Durchlauf addi r1,r0,0x18 r1 = 0x18 lw r11,0xC(r1) r11 = 3210 addi r1,r0,0x4 r1 = 4 label: sub r2,r11,r1 r2 = 3206 r2 = 2809 addi r2,r2,4 r2 = 3210 r2 = 2813 srli r1,r2,3 r1 = 401 r1 = 351 bnez r1,label r1 = 401 Speicherbelegung M[0x24] = 3210

6.4 Zwei gleich große Datenfelder mit 32-Bit-Daten der Länge n sollen auf Gleichheit untersucht werden. .text start: ……… ……… .data adr_n: .byte ; Länge der Felder F1 und F2 ergebnis: .byte ; Ergebnis: 0 für ≠ , 1 für = .align 2 adr_F1: .word ; Adresse von Feld1 ………. adr_F2: .word ; Adresse von Feld2

; Test auf Gleichheit von 2 gleich großen Datenfeldern( mit 32-Bit Daten): .text start: lhi r5,adr_F1>>16 ori r5,r5,adr_F1&0xffff ; Adr. von F1 in r5 lhi r6,adr_F2>>16 ori r6,r6,adr_F2&0xffff ; Adr. von F2 in r6 lhi r7,adr_n>>16 ori r7,r7,adr_n&0xffff lb r7,0(r7) ; Länge der Felder in r7, Zähler für Test lhi r8,ergebnis>>16 ori r8,r8,ergebnis&0xffff loop: lw r9,0(r5) lw r10,0(r6) seq r10,r9,r10 beqz r10,store ; unterschiedliche Worte, Vergleichen beenden addi r5,r5,0x4 addi r6,r6,0x4 subi r7,r7,1 bnez r7,loop store: sb 0(r8),r10 trap 0