ARM: Befehlssatz (Forts.)
|
|
- Jacob Heinrich
- vor 6 Jahren
- Abrufe
Transkript
1 ARM: Befehlssatz (Forts.) Befehl SWI zum Auslösen eines Software-Interrupts: Instruktionsformat: Ausführung von SWI überführt CPU in den supervisor mode (nach Retten des PC in r14_svc und des CPSR in SPSR_svc) und setzt PC auf 0x08 24-Bit Operand wird von CPU vollständig ignoriert und dient zur Übergabe eines Parameters an die Interrupt-Behandlungsroutine, z.b. wie folgt: 0x08 B svc ; Sprung an Interrupt-Behandlungsroutine... svc LDR r13,[r14,#-4] ; Laden des Befehlswortes in r13 BIC r13,r13,#0xff ; Löschen von Bit ; in r13 steht nun Operand zur Analyse bereit MOVS PC,r14 ; Rücksprung ins unterbrochene Programm Weitere ARM-Befehle (hier nicht behandelt) ermöglichen z.b. den Transfer mehrerer Registerinhalte und Zugriff auf Statusregister 33 ARM: Beispielprogramm 1 ; Berechnung des größten gemeinsamen Teilers ( greatest common divisor ) ; zweier ganzer Zahlen AREA calcgcd, CODE, READONLY ENTRY ; nachfolgende Instruktion repräsentiert den ; ersten auszuführenden Befehl (Einsprung) start MOV r0, #15 ; Lade zwei Zahlen in r1 und r2 MOV r1, #6 BL gcd ; Aufruf von Unterprogramm gcd SWI 0x11 ; Ende durch Software-Interrupt gcd CMP r0, r1 SUBGT r0, r0, r1 ; bilde r0 r0-r1, wenn r0 > r1 SUBLT r1, r1, r0 ; bilde r1 r1-r0, wenn r1 > r0 BNE gcd ; fertig, wenn r1=r0 (entspricht Ergebnis) MOV pc,lr ; Rücksprung ins Hauptprogramm END ; Ende des Code-Blocks 34 1
2 ARM: Beispielprogramm 2 AREA palindrom, CODE, READONLY ; Routine palindrom ENTRY ; testet, ob ein String ein Palindrom darstellt start LDR r0,=string ; in r0 steht Zeiger i auf String-Anfang MOV r1,r0 ; in r1 wird Zeiger j auf String-Ende ermittelt loop LDRB r10,[r1],#1 ; lade nächstes Zeichen (Suffix B heißt Byte) CMP r10,#0 ; Ende des Strings erkannt? BNE loop SUB r1,r1,#2 ; Korrektur von r2 BL pal ; Aufruf von Unterprogramm pal SWI 0x11 string DCB ABCCBA,0 ; Definition eines Strings als Beispiel ALIGN ; neue Ausrichtung auf 32-Bit Grenze pal LDRB r3,[r0],#1 ; Lade string[i] in r3, i i+1 in r0 LDRB r4,[r1],#-1 ; Lade string[j] in r4, j j-1 in r1 CMP r3,r4 ; string[i] = string[j]? MOVNE pc,lr ; wenn ungleich, dann kein Palindrom CMP r0,r1 ; i < j? BMI pal ; wenn ja, dann noch nicht fertig MOV r10,#1 ; Palindrom gefunden setze r10 auf 1 MOV pc,lr ; Rücksprung aus Unterprogramm END 35 Weiterentwicklung RISC Nach den Erfolgen von RISC (University of Berkeley, 1982) und MIPS (University of Stanford, 1984) begannen neben ARM auch einige etablierte Prozessorhersteller mit der Entwicklung eigener RISC CPUs: Sun SPARC (offenes Architekturkonzept, basierend auf Berkeley RISC, bis zu 520 Register in bis zu 32 überlappenden Registerfenstern, 1988) Motorola 88x00 (1988) Intel i860 (1989) IBM RS/6000 (1990) DEC Alpha 21x64 (erste 64-Bit Architektur, 1992) Motorola/IBM/Apple PowerPC (1994) Die letzten RISC CPUs weichen wieder etwas vom RISC-Konzept ab, z.b. durch eine hohe Instruktionsanzahl (bei PowerPC: 184) 36 2
3 RISC Registerfenster in Berkeley RISC und Sun SPARC implementiertes Konzept zum effizienten Unterprogrammaufruf Registerfenster für Unterprogrammebene i enthält 32 Register, z.b. wie folgt: 10 global registers für globale, in allen Fenstern sichtbare Variablen 6 input registers für Eingabeparameter 10 local registers für lokale Variablen 6 output registers für Ausgabeparameter Ausgaberegister der Ebene i entprechen den Eingaberegistern der Ebene i+1 bei n Fenstern insgesamt 16+n 16 Register bei Überlauf werden Register des ältesten Fensters auf Stack gesichert und verwendet 37 RISC Instruktionspipelining Ziel: hoher Durchsatz an Instruktionen Problem: bei hohen Taktraten kann jedoch selbst ein einfacher Befehl (wie z.b. ADD r1,r2,r3) nicht in einem Taktzyklus geholt, dekodiert und ausgeführt werden Idee: Zerlegung der Befehlsarbeitung in mehrere Phasen, die nach dem Prinzip eines Fließbandes verarbeitet werden, z.b.: 1. Instruction Fetch (IF) : Holen des nächsten Befehls aus dem Speicher und Inkrementieren des PC 2. Instruction Decode (ID) : Dekodieren der Instruktion 3. Operand Fetch (OF) : Holen der Operanden aus Registern und/oder Berechnung der effektiven Adresse (bei Load/Store-Befehlen) 4. Execute (EX) : Ausführen der Operation oder Lesen/Schreiben eines Wertes in/aus Speicher bzw. Cache (bei Load/Store-Befehlen) 5. Write Back (WB) : Zurückschreiben des Ergebnisses in Register 38 3
4 Instruktionspipelining (Forts.) durch eine Fließbandverarbeitung (Pipelining) der Instruktionen in n Phasen anstatt sequentieller Verarbeitung kann ein bis zu n-facher Geschwindigkeitsgewinn erreicht werden: Ausführungszeit jeder einzelnen Instruktion unverändert, aber Durchsatz wächst mit der Anzahl n der Pipelinestufen Aufteilung und Anzahl der Phasen ist von Prozessor zu Prozessor unterschiedlich 39 Instruktionspipelining (Forts.) Instruktionspipelining bei CISC-Prozessoren: prinzipiell möglich (und in letzten Generationen der CISC-Prozessoren zum Teil auch realisiert) jedoch bedingt durch stark variierende Instruktionslängen und unterschiedliche Ausführungszeiten in den einzelnen Phasen nur mit sehr hohem Aufwand zu realisieren ineffizient, da einige Phasen der Pipeline nur schlecht ausgelastet sind komplexester Teilschritt bestimmt Dauer einer Pipelinephase und damit die maximale Taktfrequenz Voraussetzungen für effizientes Pipelining: alle Instruktionen müssen in der gleichen Anzahl n von Teilschritten abgearbeitet werden jeder Teilschritt sollte ungefähr die gleiche Ausführungszeit benötigen Instruktionspipeline sollte stets zu 100% gefüllt sein 40 4
5 Instruktionspipelining (Forts.) Probleme des Instruktionspipelining: Ressourcenkonflikte ( structural hazards ) können entstehen, wenn zwei Instruktion in verschiedenen Phasen ihrer Befehlsarbeitung auf das gleiche interne Register zugreifen oder das gleiche Rechenwerk benötigen Lösung: Register oder Rechenwerke müssen mehrfach vorhanden sein wenn gleichzeitig in IF eine Instruktion und in EX ein Datenwert geholt wird Lösung: separate interne Busse sowie Caches für Instruktionen und Daten Datenkonflikte ( data hazards ) können entstehen, wenn die nächste Instruktion oder ein Speicheroperand nicht im Cache vorhanden ist und aus dem langsamen Arbeitsspeicher geholt werden muß nachfolgende Instruktionen auf noch nicht verfügbare Ergebnisse vorhergehender sich noch in der Pipeline befindlicher Befehle warten Kontrollkonflikte ( control hazards ) können entstehen, wenn bedingte oder unbedingte Sprünge ausgeführt werden und somit die bereits in der Instruktionspipeline vorhandenen nachfolgenden Befehle ungültig werden 41 Instruktionspipelining (Forts.) Beispiel für Datenkonflikt: ohne besondere Maßnahmen würde in r4 ein falsches Ergebnis berechnet! Lösungsmöglichkeiten: manuelles/autom. Einfügen von NOP Instruktionen, frühes Weiterreichen von Ergebnissen ( internal forwarding ) in Pipeline oder Anhalten der Pipeline durch Einfügen von bubble Zyklen: 42 5
6 Instruktionspipelining (Forts.) Beispiel für Kontrollkonflikt: die unmittelbar nach einem bedingten Sprungbefehl folgenden Instruktionen müssen verworfen werden, wenn sich Bedingung als erfüllt herausstellt! Lösungsmöglichkeiten: delayed branch Technik: die einem Sprungbefehl unmittelbar folgende(n) Instruktion(en) werden stets ausgeführt, d.h. Programmierer oder Compiler muß hier Befehle einfügen, die eigentlich vor dem Sprung auszuführen wären branch prediction Technik: durch einfache Heuristiken (wie z.b. backward branch always taken ) oder Speicherung des letzten Sprungverhaltens für jeden Sprungbefehl im branch prediction buffer wird Sprungverhalten vorhergesagt 43 Vergleich CISC/RISC RISC führt zu einfacheren und schnelleren Steuerwerken (typisches RISC-Steuerwerk nimmt 10% der Chipfläche ein, während das Steuerwerk des Motorola fast 70% der Chipfläche benötigt) RISC-Prozessoren sind einfacher zu entwerfen aufgrund der vielen Register und wenigen Adressierungsarten kann ein Compiler RISC-Code einfacher optimieren einheitliche RISC-Instruktionslänge von einem Wort ermöglicht die Realisierung eines effizienten Instruktionspipelining (CPI-Werte zwischen 1 und 1.7 können erreicht werden!) RISC-Code ist länger als CISC-Code, da mächtige CISC- Befehle Sequenzen einfacher RISC-Instruktionen ersetzen (typischer RISC-Code ist um 30% länger als CISC-Code) RISC-CPUs benötigen höhere Speicherbandbreite für Befehle 44 6
Arbeitsfolien - Teil 4 CISC und RISC
Vorlesung Informationstechnische Systeme zur Signal- und Wissensverarbeitung PD Dr.-Ing. Gerhard Staude Arbeitsfolien - Teil 4 CISC und RISC Institut für Informationstechnik Fakultät für Elektrotechnik
MehrCPU. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011
CPU Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 CPU 1/62 2012-02-29 CPU Übersicht: Pipeline-Aufbau Pipeline- Hazards CPU
MehrName: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden.
Name: Vorname: Matr.-Nr.: 4 Aufgabe 1 (8 Punkte) Entscheiden Sie, welche der folgenden Aussagen zum Thema CISC/RISC-Prinzipien korrekt sind. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen
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
MehrBefehle zur Verarbeitung von Daten ( data processing ):
ARM: Befehlssatz Befehle zur Verarbeitung von Daten ( data processing ): Register/Register-Befehle: ,, (Achtung! Andere Interpretation: ) Transport-Befehl: MOV ,
MehrDas Prinzip an einem alltäglichen Beispiel
3.2 Pipelining Ziel: Performanzsteigerung é Prinzip der Fließbandverarbeitung é Probleme bei Fließbandverarbeitung BB TI I 3.2/1 Das Prinzip an einem alltäglichen Beispiel é Sie kommen aus dem Urlaub und
MehrTechnische Informatik - Eine Einführung
Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Technische Informatik - Eine Einführung Rechnerarchitektur Aufgabe
Mehrfrüher: CISC ( Complex Instruction Set Computer )
Hochleistungs-CPUs früher: CISC ( Complex Instruction Set Computer ) mächtige Instruktionssätze zur Unterstützung von Hochsprachenkonstrukten durch Hardware (Idee: don t do in software what you can do
MehrWas ist die Performance Ratio?
Was ist die Performance Ratio? Wie eben gezeigt wäre für k Pipeline Stufen und eine große Zahl an ausgeführten Instruktionen die Performance Ratio gleich k, wenn jede Pipeline Stufe dieselbe Zeit beanspruchen
MehrVorlesung Rechnerarchitektur. Einführung
Vorlesung Rechnerarchitektur Einführung Themen der Vorlesung Die Vorlesung entwickelt an Hand von zwei Beispielen wichtige Prinzipien der Prozessorarchitektur und der Speicherarchitektur: MU0 Arm Speicher
MehrTeil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
MehrTeil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
MehrInstruktionssatz-Architektur
Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Übersicht 1 Einleitung 2 Bestandteile der ISA 3 CISC / RISC Übersicht 1 Einleitung 2 Bestandteile
MehrTechnische Informatik 1 - HS 2016
Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik 1 - HS 2016 Lösungsvorschläge für Übung 8 Datum: 8. 9. 12. 2016 1 Instruktionsparallelität VLIW Gegeben
MehrBesprechung des 5. Übungsblattes Parallelität innerhalb der CPU Pipelining
Themen heute Besprechung des 5. Übungsblattes Parallelität innerhalb der CPU Pipelining Organisatorisches Wie schon in den vorhergehenden Tutorien erwähnt, ist Mehrfachabgabe, außer bei Programmieraufgaben,
MehrRISC-Prozessoren (1)
RISC-Prozessoren (1) 1) 8 Befehlsklassen und ihre mittlere Ausführungshäufigkeit (Fairclough): Zuweisung bzw. Datenbewegung 45,28% Programmablauf 28,73% Arithmetik 10,75% Vergleich 5,92% Logik 3,91% Shift
Mehr9.1. Aufbau einer Befehlspipeline
Kapitel 9 - Befehlspipelining Seite 191 Kapitel 9 Befehlspipelining 9.1. Aufbau einer Befehlspipeline Ein typischer Befehl in einer Maschine mit einem RISC-artigen Befehlssatz besteht aus den Operationen:
MehrDIGITALE SCHALTUNGEN II
DIGITALE SCHALTUNGEN II 3. Sequentielle Schaltkreise 3.1 Vergleich kombinatorische sequentielle Schaltkreise 3.2 Binäre Speicherelemente 3.2.1 RS Flipflop 3.2.2 Getaktetes RS Flipflop 3.2.3 D Flipflop
MehrPipelining. Die Pipelining Idee. Grundlagen der Rechnerarchitektur Prozessor 45
Pipelining Die Pipelining Idee Grundlagen der Rechnerarchitektur Prozessor 45 Single Cycle Performance Annahme die einzelnen Abschnitte des MIPS Instruktionszyklus benötigen folgende Ausführungszeiten:
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
MehrTutorium Rechnerorganisation
Woche 7 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
MehrDatenpfad einer einfachen MIPS CPU
Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:
MehrCISC ( Complex Instruction Set Computer ) mächtige Instruktionssätze zur Unterstützung von Hochsprachenkonstrukten
Hochleistungs-CPUs CISC ( Complex Instruction Set Computer ) mächtige Instruktionssätze zur Unterstützung von Hochsprachenkonstrukten durch Hardware (Idee: don t do in software what you can do in hardware
MehrDatenpfad einer einfachen MIPS CPU
Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:
MehrTeil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
MehrTechnische Informatik 1 Übung 8 Instruktionsparallelität (Rechenübung) Andreas Tretter 8./9. Dezember Bitte immer eine Reihe freilassen
Technische Informatik 1 Übung 8 Instruktionsparallelität (Rechenübung) Andreas Tretter 8./9. Dezember 2016 Bitte immer eine Reihe freilassen Ziele der Übung Verschiedene Arten von Instruktionsparallelität
MehrMotorola 680x0: function codes
Motorola 680x0: function codes CPU unterscheidet mittels function codes fünf Adressräume: CPU-Adreßraum wird für E/A, Interrupts und Koprozessoren eingesetzt Realisierung z.b. durch Speicherverwaltungseinheit
MehrMotorola 680x0: function codes
Motorola 680x0: function codes CPU unterscheidet mittels function codes fünf Adressräume: CPU-Adreßraum wird für E/A, Interrupts und Koprozessoren eingesetzt Realisierung z.b. durch Speicherverwaltungseinheit
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
MehrInstitut für Informatik Prof. Dr. D. Hogrefe Dipl.-Inf. R. Soltwisch, Dipl.-Inform. M. Ebner, Prof. Dr. D. Hogrefe Informatik II - SS 04.
Kontrollstrukturen Informatik II SS 2004 Teil 4: Assembler Programmierung Sprünge (bedingte und unbedingte) If-then-else, Case Loop (n Durchläufe) While (Abbruchbedingung) Institut für Informatik Prof.
MehrRechnernetze und Organisation
RISC 1 Übersicht Motivation RISC-Merkmale RISC-Instruktionsformat Pipelining Sparc, MIPS, Arm, PowerPC 2 Motivation Warum RISC Compiler nutzen komplexe CISC-Instruktionen kaum Nur 80% der Instruktionen
MehrVon-Neumann-Architektur
Von-Neumann-Architektur Bisher wichtig: Konstruktionsprinzip des Rechenwerkes und Leitwerkes. Neu: Größerer Arbeitsspeicher Ein- und Ausgabewerk (Peripherie) Rechenwerk (ALU) Steuerwerk (CU) Speicher...ppppp...dddddd..
MehrTECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl
Mehr2.2 Rechnerorganisation: Aufbau und Funktionsweise
2.2 Rechnerorganisation: Aufbau und Funktionsweise é Hardware, Software und Firmware é grober Aufbau eines von-neumann-rechners é Arbeitsspeicher, Speicherzelle, Bit, Byte é Prozessor é grobe Arbeitsweise
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
MehrStruktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register
Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Prog. Counter Memory Adress Register Befehl holen Incrementer Main store Instruction register Op-code Address Memory Buffer Register CU Clock Control
MehrRechner Architektur. Martin Gülck
Rechner Architektur Martin Gülck Grundlage Jeder Rechner wird aus einzelnen Komponenten zusammengesetzt Sie werden auf dem Mainboard zusammengefügt (dt.: Hauptplatine) Mainboard wird auch als Motherboard
MehrDie Mikroprogrammebene eines Rechners
Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.
MehrTechnische Informatik 1 - HS 2016
Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik 1 - HS 2016 Lösungsvorschläge für Übung 6 Datum: 24. 25. 11. 2016 Pipelining 1 Taktrate / Latenz In dieser
MehrTeil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
Mehr1 Einleitung zum RISC Prozessor
1 Einleitung zum RISC Prozessor Wesentliche Entwicklungsschritte der Computer-Architekturen [2, 3]: Familienkonzept von IBM mit System/360 (1964) und DEC mit PDP-8 (1965) eingeführt: Gleiche Hardware-Architekturen
MehrÜbungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9
Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9 Dominik Schoenwetter Erlangen, 30. Juni 2014 Lehrstuhl für Informatik 3 (Rechnerarchitektur)
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
MehrAuch hier wieder. Control. RegDst Branch MemRead MemtoReg ALUOp MemWrite ALUSrc RegWrite. Instruction[31 26] (also: das Opcode Field der Instruktion)
Auch hier wieder Aus voriger Wahrheitstabelle lässt sich mechanisch eine kombinatorische Schaltung generieren, die wir im Folgenden mit dem Control Symbol abstrakt darstellen. Instruction[31 26] (also:
Mehrnutzt heute Diese Prinzipien werden wir im Kapitel 3 behandelt Lehrstuhl für Informatik 3 - D. Fey Vorlesung GRa - SS
3.1 Einführung (1) Nahezu jeder Prozessor in einem Desktop-Rechner (der auf oder unter dem Tisch steht) und in einem Server- Rechner (auf dem man sich von der Ferne einloggt und dort rechnet) nutzt heute
MehrBeispiele von Branch Delay Slot Schedules
Beispiele von Branch Delay Slot Schedules Bildquelle: David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 2012 Grundlagen der Rechnerarchitektur Prozessor 97 Weniger
MehrComputer-Architektur Ein Überblick
Computer-Architektur Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur Ein Überblick p.1/27 Computer-Aufbau: Motherboard Computer-Architektur Ein Überblick p.2/27
MehrRISC: Reduced Instruction Set Computer. Technische Informatik I Wintersemester 12/13 1. J. Kaiser, IVS-EOS
RISC: Reduced Instruction Set Computer 1 The CMOS Generations: Speedup through Miniaturization 10-fache Leistungssteigerung 2 Was ist ein Reduced Instruction Set Computer (RISC*)? * Der Begriff RISC wurde
MehrGrundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega128
Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega128 Progammierung in C - Vergleich C und C++ - Anatomie eines µc-programmes
MehrInstruktionen pro Takt
(c) Peter Sturm, Universität Trier (u.a.) 1 Instruktionen pro Takt 500 MIPS (Dhrystone) Taktfrequenz 450 400 350 300 250 200 150 100 50 0 8086 80286 80386 80486 Pentium Pentium Pro Die-Größen: Intel Vorlesung
MehrMikroprozessoren. Aufbau und Funktionsweise. Christian Richter. Ausgewählte Themen der Multimediakommunikation SS 2005
Mikroprozessoren Aufbau und Funktionsweise Christian Richter Ausgewählte Themen der Multimediakommunikation SS 2005 Christian Richter (TU-Berlin) Mikroprozessoren AT MMK 2005 1 / 22 Gliederung Was ist
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
MehrNeue Prozessor-Architekturen für Desktop-PC
Neue Prozessor-Architekturen für Desktop-PC Bernd Däne Technische Universität Ilmenau Fakultät I/A - Institut TTI Postfach 100565, D-98684 Ilmenau Tel. 0-3677-69-1433 bdaene@theoinf.tu-ilmenau.de http://www.theoinf.tu-ilmenau.de/ra1/
MehrGrundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur Prozessor Übersicht Datenpfad Control Pipelining Data Hazards Control Hazards Multiple Issue Grundlagen der Rechnerarchitektur Prozessor 2 Datenpfad einer einfachen MIPS
MehrMikroprozessor als universeller digitaler Baustein
2. Mikroprozessor 2.1 Allgemeines Mikroprozessor als universeller digitaler Baustein Die zunehmende Integrationsdichte von elektronischen Schaltkreisen führt zwangsläufige zur Entwicklung eines universellen
MehrL3. Datenmanipulation
L Datenmanipulation Aufbau eines Computers Prozessor, Arbeitsspeicher und system Maschinensprachen und Maschinenbefehle Beispiel einer vereinfachten Maschinensprache Ausführung des Programms und Befehlszyklus
MehrInhalt. Prozessoren. Curriculum Manfred Wilfling. 28. November HTBLA Kaindorf. M. Wilfling (HTBLA Kaindorf) CPUs 28. November / 9
Inhalt Curriculum 1.4.2 Manfred Wilfling HTBLA Kaindorf 28. November 2011 M. Wilfling (HTBLA Kaindorf) CPUs 28. November 2011 1 / 9 Begriffe CPU Zentraleinheit (Central Processing Unit) bestehend aus Rechenwerk,
MehrRechnergrundlagen SS 2007. 11. Vorlesung
Rechnergrundlagen SS 2007 11. Vorlesung Inhalt Evaluation der Lehre (Auswertung) Synchroner/asynchroner Systembus Kontrollfluss/Datenfluss RISC vs. CISC Speicherhierarchie Cache Lesen Schreiben Überschreiben
Mehr9. Fließbandverarbeitung
9. Fließbandverarbeitung Nachteile der Mikroprogrammierung Von CISC zu RISC Fließbandverarbeitung Pipeline-Hazards Behandlung von Daten- und Kontroll-Hazards 334 Nachteile mikroprogrammierter CPUs Zusätzliche
MehrGeräteentwurf mit Mikroprozessoren 1
Geräteentwurf mit Mikroprozessoren 1 Vorlesung am Institut für Elektronik der TU Graz Dipl.-Ing. Dr. Gerhard Stöckler SS 2003 Vorausgesetzte Kenntnisse: Grundlagen der Digitaltechnik Binäre Informationsdarstellung
MehrLeistung und Pipelining. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck
Leistung und Pipelining Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Übersicht Leistung Leistungsmessung Leistungssteigerung Pipelining Einführung in die
MehrTeil 2: Rechnerorganisation
Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung
MehrDie ARM-Mikroarchitektur. Acorn RISC Machine ARM. Asm Prak SS03 p.1/13
Die -Mikroarchitektur Acorn RISC Machine Asm Prak SS03 p.1/13 Die -Mikroarchitektur Acorn RISC Machine Advanced RISC Machine Asm Prak SS03 p.1/13 Designziele Kostengünstig Asm Prak SS03 p.2/13 Designziele
MehrF Ein einfacher Modellprozessor
F ein einfacher Modellprozessor F Ein einfacher Modellprozessor Einordnung in das Schichtenmodell:. Prozessor 2. Aufbau des Modellprozessors 3. Organisation eines SRAM 4. Beschreibung in RTL 5. Adresspfad
MehrTeil VIII Von Neumann Rechner 1
Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only
MehrCPU II. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011
CPU II Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 CPU II 1/77 2012-02-29 CPU Bisher: Pipeline mit 5 sequentiellen Pipeline-Stufen
MehrThema 4. Prozessoren
Thema 4 Prozessoren Wo sind wir? Rechenwerk Steuerwerk CPU Speicherwerk Ein- und Ausgabekanal Befehle Daten Adressen Datenbus Adressbus Steuerbus }Sammelleitungen Abgrenzung Mikroprozessor Im wesentlichen
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)
MehrARM9 Kern Jiri Spale, Programmierung eingebetteter Systeme 1
ARM9 Kern 2008 Jiri Spale, Programmierung eingebetteter Systeme 1 Architektur des Prozessor-Kerns #1 Wie tiefe Kenntnisse muss der netx-c-programmier haben? Viele Design-Merkmale bereits durch den Compiler
Mehr4. Übung - Rechnerarchitektur/Betriebssysteme
4. Übung - Rechnerarchitektur/Betriebssysteme 1. Aufgabe: Caching Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen a) Was ist ein Cache? Wann kommt Caching zum Einsatz? b) Welchen Vorteil
MehrMikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit)
Der Demo-Computer besitzt einen 4Bit-Mikroprozessor. Er kann entsprechend Wörter mit einer Breite von 4 Bits in einem Schritt verarbeiten. Die einzelnen Schritte der Abarbeitung werden durch Lampen visualisiert.
MehrTechnische Informatik 2 Adressierungsarten
Technische Informatik 2 Adressierungsarten Prof. Dr. Miroslaw Malek Sommersemester 2009 www.informatik.hu-berlin.de/rok/ca Thema heute X-Adressmaschine 0-Adressmaschine 1-Adressmaschine 2-Adressmaschine
MehrPrinzipieller Aufbau und Funktionsweise eines Prozessors
Prinzipieller Aufbau und Funktionsweise eines Prozessors [Technische Informatik Eine Einführung] Univ.- Lehrstuhl für Technische Informatik Institut für Informatik Martin-Luther-Universität Halle-Wittenberg
MehrLösungsvorschlag 9. Übung Technische Grundlagen der Informatik II Sommersemester 2009
Fachgebiet Rechnerarchitektur Fachbereich Informatik Lösungsvorschlag 9. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Aufgabe 9.1: Dinatos-Algorithmus-Analyse Die folgenden Verilog-Zeilen
MehrEinführung in die Systemprogrammierung
Einführung in die Systemprogrammierung Speedup: Grundlagen der Performanz Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 30. April 2015 Eine Aufgabe aus der Praxis Gegeben ein
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:
MehrCPU-Technik. Stand der Technik, Trends und Entwicklungen. Vortrag im Informatikseminar WS 2000/2001. (C) 2000 Heiko Panther
CPU-Technik Stand der Technik, Trends und Entwicklungen Vortrag im Informatikseminar WS 2000/2001 (C) 2000 Heiko Panther heikop@mac.com Inhalt 1. CISC und RISC 2. Vektorrecheneinheiten 3. VLIW 4. Weitere
MehrDigitaltechnik und Rechnerstrukturen. 2. Entwurf eines einfachen Prozessors
Digitaltechnik und Rechnerstrukturen 2. Entwurf eines einfachen Prozessors 1 Rechnerorganisation Prozessor Speicher Eingabe Steuereinheit Instruktionen Cachespeicher Datenpfad Daten Hauptspeicher Ausgabe
MehrKap 4. 4 Die Mikroprogrammebene eines Rechners
4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).
MehrH E F B G D. C. DLX Rechnerkern
C. DLX Rechnerkern C.1. Einordnung DLX Architektur und Konzepte: Einfache "Gesamtzyklus"-DLX Maschine (non-pipelined), Verarbeitungsschritte einer Instruktion, Taktverhalten im Rechner, RISC & CISC...
MehrHardware Praktikum 2008
HaPra 2008 - Versuchsreihe 5 - ALU Hardware Praktikum 2008 Prof. Dr. H.-J. Wunderlich Dipl.-Inf. M. Imhof Dipl.-Inf. S. Holst Agenda Die HaPra-CPU Eine kleine Übersicht VHDL Projekt-Organisation Entwurf
MehrParallele Rechnerarchitekturen. Bisher behandelte: Vorlesung 7 (theoretische Grundkonzepte) Nun konkrete Ausprägungen
Parallele Rechnerarchitekturen Bisher behandelte: Vorlesung 7 (theoretische Grundkonzepte) Nun konkrete Ausprägungen Pipelining Beispiel aus dem realen Leben (;-)) Wäschewaschen in WG Füllen der Waschmaschine
MehrDer Toy Rechner Ein einfacher Mikrorechner
Der Toy Rechner Ein einfacher Mikrorechner Dr. Gerald Heim Haid-und-Neu-Str. 10-14 76131 Karlsruhe 16. Mai 1995 Allgemeine Informationen 2 Quelle: Phil Kopmann, Microcoded versus Hard-Wired Logic, Byte
Mehr9. Assembler: Der Prozessor Motorola 68000
9.1 Architektur des Prozessors M 68000 9.2 Adressierungsarten des M 68000 9-1 9.1 Beschreibung des Prozessors M 68000 Charakteristische Daten des 56 Maschinenbefehle 14 Adressierungsarten Zweiadressmaschine
Mehr3. Grundlagen der Rechnerarchitektur
3. Grundlagen der Rechnerarchitektur 3.1 Architektur des von-neumann-rechners 3.2 Maschinentypen: Einadressmaschine, Zweiadressmaschine 3.3 Befehlsformate und Adressierungstechniken 3.4 Beispiel: der Prozessor
MehrStack, Stackpointer, Unterprogramm HP: 0 * 1 * 2 * 3 CAL UP1 4 * 5 * 6 CAL UP2 7 *... UP1: 30 * 33 RET UP2: 40 * 41 CAL UP1 42 * 43 RET
Stack, Stackpointer, Unterprogramm HP: 0 * 1 * 2 * 3 CAL UP1 4 * 5 * 6 CAL UP2 7 *... UP1: 30 * 33 RET UP2: 40 * 41 CAL UP1 42 * 43 RET Stack, Stackpointer, UP Stack (Stapel, FIFO) wird benötigt UP-Ruf:
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
MehrUmsetzung in aktuellen Prozessoren
Kapitel 8: Umsetzung in aktuellen Prozessoren 4 Realisierung elementarer Funktionen Reihenentwicklung Konvergenzverfahren 5 Unkonventionelle Zahlensysteme redundante Zahlensysteme Restklassen-Zahlensysteme
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
MehrJohann Wolfgang Goethe-Universität
Flynn sche Klassifikation SISD (single instruction, single data stream): IS IS CU PU DS MM Mono (Mikro-)prozessoren CU: Control Unit SM: Shared Memory PU: Processor Unit IS: Instruction Stream MM: Memory
MehrVorlesung 5: Interrupts
Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorlesung 5: Interrupts Peter B. Ladkin Kommunikation über den Bus CPU läuft zu einer Taktfrequenz I/O Geräte laufen zu anderen
Mehr, WS2013 Übungsgruppen: Di., Fr.,
VU Technische Grundlagen der Informatik Übung : Stack, Pipelining., WS20 Übungsgruppen: Di., 0.01. Fr.,.01.201 Aufgabe 1: Stack - Funktionsweise Erläutern Sie die Funktionsweise eines Stacks bzw. Kellerspeichers
MehrImplementierung: Direkt abgebildeter Cache
Implementierung: Direkt abgebildeter Cache Direkt-abgebildeter Cache von 64 KB mit 16-Byte-Linien (Adress- und Wortlänge 32 Bit, Byteadressierung) Address (showing bit positions) 31 30 29 28..... 19 18
MehrInhaltsangabe. 2.1 DieCPU Der Speicher Die Busse Klassifikation der von-neumann-rechner... 37
2 Rechnerarchitektur - Grundlegende Rechnerarchitektur - Bestandteile eines Rechners - Klassifikation von Rechnern Inhaltsangabe 2.1 DieCPU... 33 2.2 Der Speicher...... 35 2.3 Die Busse........ 37 2.4
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
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
MehrRechnerarchitektur Atmega 32. 1 Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7
1 Vortrag Atmega 32 Von Urs Müller und Marion Knoth Urs Müller Seite 1 von 7 Inhaltsverzeichnis 1 Vortrag Atmega 32 1 1.1 Einleitung 3 1.1.1 Hersteller ATMEL 3 1.1.2 AVR - Mikrocontroller Familie 3 2 Übersicht
Mehr10. Die Adressierungsarten des MSP 430
10. Die Adressierungsarten 10.1 Übersicht über die Adressierungsarten 10.2 -Operanden 10.3 Indexregister mit Distanz 10.4 Symbolische (relativ zum ) 10.5 Absolute 10.6 Indirekte 10.7 Indirekte Adressierung
Mehr