7 Ein einfacher CISC-Prozessor
|
|
|
- Frank Dominik Schmitt
- vor 9 Jahren
- Abrufe
Transkript
1 7 Ein einfacher CISC-Prozessor In diesem Kapitel wird ein einfacher Prozessor vorgestellt. Die Architektur, die wir implementieren, wurde von R. Bryant und D. O Hallaron entworfen und verwendet eine Untermenge der Befehle der IA32-Architektur. Wir geben zunächst eine Architekturspezifikation in Form eines C++ Modells an. Anschließend wird die Architektur in Verilog implementiert. 7.1 Die Y86 Instruction Set Architecture Frei programmierbare Mikroprozessoren sind sicherlich die wichtigste Anwendung der Digitaltechnik. Sie stellen die Schnittstelle zwischen der Hardwareund der Softwarewelt dar. Es gibt eine Vielzahl an Architekturen und Modellen. Im Server- und Desktopbereich hat sich die 32-Bit Intel Architektur (IA32) durchgesetzt. Entsprechende Prozessoren werden aber auch von anderen Anbietern hergestellt, etwa von AMD. Bei der IA32-Architektur handelt es sich um eine CISC-Architektur (Complex Instruction Set Computer), was darauf hinweist, dass die Architektur eine große Anzahl von Mikroprozessorbefehlen bietet. In der Tat findet sich in den Handbüchern von Intel eine Liste von etwa 300 Befehlen mit einer Vielzahl an Optionen. Die Architektur, die wir implementieren, wurde von R. Bryant und D. O Hallaron zu pädagogischen Zwecken entworfen und ist auf eine sehr kleine Auswahl dieser Liste beschränkt. Sie wird als Y86 - Architektur bezeichnet, in Anlehnung daran, dass die Produktnummern der ersten entsprechenden Intel-Prozessoren auf 86 endeten Befehle, Register und Speicher Wir gehen davon aus, dass der Leser die Grundlagen der sequenziellen Programmierung beherrscht. In höheren Programmiersprachen, wie C oder Java, werden alle Daten in Variablen abgelegt, wobei jeder Variablen eine Speicherzelle zugeordnet ist. Die Speicherzellen sind nummeriert. Die Nummer einer Speicherzelle wird als Adresse bezeichnet. Wir gehen davon aus, dass jede Speicherzelle genau ein Byte (also 8 Bit) speichert. Wir schreiben Mem[ea] für den Inhalt der Speicherzelle mit der Adresse ea (ea steht für effective address). Sowohl die Befehle als auch die Daten, mit denen das Programm arbeitet, werden im gleichen Speicher hinterlegt (Abbildung 7.1). Eine derartige Architektur wird als von-neumann-architektur bezeichnet. Unser Prozessor verwendet einen gemeinsamen Datenbus, um auf den Speicher und die I/O-Geräte zuzugreifen (siehe Abschnitt 6.4). Wir nehmen an,
2 Ein einfacher CISC-Prozessor Befehl Befehl 0 Daten Daten {z } 8Bits Abbildung 7.1. Schematische Darstellung des Speichers: Die Befehle und Daten werden in einem gemeinsamen Adressraum abgelegt dass unser Prozessor die einzige Komponente ist, die diesen Bus steuert (Abbildung 7.2). Wir nennen diesen Bus Systembus (engl. system bus). Speichermodul Speichermodul I/O (Maus,...) Y86-Prozessor IP eax ebx ecx... ZF... Datenleitungen Adressleitungen Steuerleitungen Abbildung 7.2. Der Y86-Prozessor und die anderen Systemkomponenten Die Register Da der Zugriff auf den Speicher über den Systembus mehrere Takte dauern kann und somit vergleichsweise langsam ist, können Datenworte im Prozessor in Registern zwischengespeichert werden. Diese Register sind in einer höheren Programmiersprache nicht direkt sichtbar. Es ist die Aufgabe des Compilers, die Register bei der Übersetzung des Programms effizient zu nutzen. Die Y86-Architektur hat acht Datenregister mit jeweils 32 Bit, die wie folgt bezeichnet werden: Index Name eax ecx edx ebx esp ebp esi edi
3 7.1 Die Y86 Instruction Set Architecture 195 Die ersten vier Register (eax bis ebx) dienendazu,datenzuhalten. 1 Die Register esp und ebp werden im Normalfall verwendet, um einen Stack zu implementieren und werden daher Stackregister genannt. Da sie üblicherweise eine Adresse enthalten, werden sie auch Zeigerregister genannt. Die Register esi und edi sind für Array-Indizes gedacht. Der Instruction Pointer (IP) Damit der Prozessor auch weiß, wo im Speicher der nächste Befehl liegt, den er ausführen soll, gibt es ein weiteres Zeigerregister, das auf die Adresse des nächsten Befehls zeigt. Dieser Zeiger wird Instruction Pointer (IP) genannt. Sprunganweisungen verschieben diesen Zeiger, um das Programm an einer anderen Stelle fortzuführen. Befehle, die keine Sprunganweisung sind, ändern den IP ebenfalls: Der Zeiger wird einfach auf die Adresse der nächsten Instruktion des Programms gesetzt. Die Befehle, die unser einfacher Prozessor ausführen kann, sind in drei Kategorien eingeteilt: 1. Die arithmetischen und logischen Befehle führen Berechnungen wie z. B. die Addition aus. 2. Die Datentransfer-Befehle ermöglichen es, Daten aus dem Prozessor über den Systembus in einem RAM-Modul abzulegen und wieder einzulesen. Diese Befehle werden auch zur Kommunikation mit den I/O-Geräten verwendet (sog. Memory-mapped I/O). 3. Die Sprungbefehle steuern den Kontrollfluss. Es handelt sich also um Befehle, die (möglicherweise bedingt) zu anderen Befehlen springen. Zusätzlich zu den Datenregistern und dem Instruction Pointer verwendet die Y86-Architektur Flag-Register. Die Flag-Register speichern weitere Informationen über das Ergebnis des jeweils letzten arithmetischen oder logischen Befehls. Ein Flag-Register ist genau ein Bit breit. Wir betrachten zunächst nur ein einziges Flag-Register: Das Zero-Flag (ZF) wird gesetzt, wenn das Ergebnis der letzten arithmetischen Operation null (zero) war. Es wird als Bedingung für Sprungbefehle verwendet. Die Befehle der Y86-Architektur Bevor wir die einzelnen Befehle spezifizieren, gehen wir zuerst auf deren Kodierung ein. Jeder Befehl entspricht einer Folge von Bytes. Die Länge dieser Folge hängt von dem jeweiligen Befehl ab einfachere Befehle benötigen weniger Platz. Dadurch soll erreicht werden, dass der Programmcode insgesamt 1 Man beachte die etwas sonderbare, nicht-alphabetische Reihenfolge der Register.
4 Ein einfacher CISC-Prozessor kleiner wird. 2 Der Befehl, der ausgeführt werden soll, wird durch den Wert des ersten Bytes der Folge bestimmt. Dieses Byte wird daher auch als Opcode bezeichnet. Da Zahlen schwer zu merken sind, wird der Opcode im Assembler-Programm durch ein Mnemonic (eine kurze Zeichenfolge) ersetzt. Ein Programm, das eine solche Textdatei wieder in Zahlen (Maschinencode) übersetzt, wird als Assembler bezeichnet. Die Befehle, die wir implementieren, sind in Abbildung 7.3 zusammengefasst. Alle Befehle erhöhen den IP um die Länge des jeweiligen Befehls. 1. Die Befehle add und sub führen eine Addition bzw. Subtraktion durch. Im Befehl sind zwei Register kodiert, genannt RD (Destination) und (Source). Die Summe RD+ (bzw. die Differenz RD-) wird in RD abgelegt. Falls der neue Wert von RD null ist, wird das Flag ZF gesetzt, und ansonsten gelöscht. 2. Der Befehl RRmov (kurz für Register-Register mov) 3 kopiert den Wert des Registers in das Register RD. 3. Der Befehl RMmov (kurz für Register-Memory mov) kopiert den Wert des Registers in den Speicher. Die Adresse (ea) wird dabei als Summe des Registers esi und des 8-Bit Displacements (Byte 3) berechnet: ea = esi + Displacement Beachten Sie, dass sich die Befehle RRmov und RMmov nur durch die oberen Bits des zweiten Bytes unterscheiden lassen. Dieses Feld wird als mod (wie Modifier) bezeichnet. 4. Der Befehl MRmov (kurz für Memory-Register mov) kopiert einen Wert aus dem Speicher in das Register. Die Adresse (ea) wird dabei genau wie beim Befehl RMmov berechnet. 5. Der Befehl jnz addiert den im Befehl angegebenen Offset (genannt Distance) zum Instruction Pointer, falls das Flag ZF nicht gesetzt ist (das Ergebnis der arithmetischen Operation also nicht null war). 6. Der Befehl hlt stoppt die Ausführung des Programms. Die Kodierung und die Bedeutung dieser Befehle ist in Abbildung 7.3 zusammengefasst. Die Notation R1 R2 ist wie folgt zu lesen: Der Wert in Register R2 wird in das Register R1 kopiert. Die im rechten Teil der Abbil- 2 Andere Architekturen, wie z. B. die MIPS-Architektur, verwenden Befehlsworte, die immer gleich lang sind, was die Decodierung vereinfacht. 3 Wir verwenden eine Langform der Befehlsnamen, um die Art der Operation klarzustellen. Ein Assembler kann die Unterscheidung anhand der Operanden durchführen und generiert den passenden Opcode.
5 7.1 Die Y86 Instruction Set Architecture 197 Mnemonic add Bedeutung RD RD+ Opcode RD sub RD RD RD jnz if( ZF) IP IP+Distance 75 Distance RRmov RD RD RMmov MEM[ea] Displacement MRmov MEM[ea] 8b 110 Displacement hlt f4 Abbildung 7.3. Die Befehle unseres Y86-Prozessors dung dargestellten Opcodes sind in hexadezimaler Schreibweise notiert. Bei den in den Befehlen enthaltenen Offsets ist zu beachten, dass es sich um vorzeichenbehaftete Zahlen handelt (im Zweierkomplement). Im Falle des jnz Befehls bewirkt eine negative Zahl einen Rückwärtssprung. Der Offset bei Sprungbefehlen bezieht sich auf den Befehl nach dem Sprungbefehl, da der IP ja schon um zwei erhöht worden ist Ein kleines Assembler-Beispiel Mit den oben angeführten Befehlen ist es schon möglich, ein erstes Assembler-Programm zu schreiben, das von einem Y86-Prozessor ausgeführt werden kann. Da die Kodierung der Befehle unseres Y86-Prozessors mit denen der Intel-Prozessoren übereinstimmt, können die Programme auch auf jedem IA32-Prozessor ausgeführt werden. Umgekehrt klappt dies in der Regel nicht: Von Compilern generierte IA32-Programme verwenden viele zusätzliche Befehle, die unsere Y86-Architektur nicht kennt. Ein Assembler-Befehl wie sub R1, R2 ist wie folgt zu lesen: Der Inhalt des Registers R2 wird von dem Inhalt des Registers R1 abgezogen. Das Resultat wird schließlich im Zielregister R1 gespeichert.
Hinweise 80x86-Architektur
Hinweise 80x86-Architektur Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Hinweise 80x86-Architektur
Assembler - Adressierungsarten
Assembler - Adressierungsarten Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Adressierungsarten 1/31 2008-04-01
Digitaltechnik. Ein einfacher CISC-Prozessor. Revision 2.1
Digitaltechnik 7 Ein einfacher CISC-Prozessor A Revision 2.1 Die Y86 Instruction Set Architecture Die Y86-ISA in C++ Eine sequenzielle Y86-Implementierung Erweiterung: Vergleiche Eine Y86-Implementierung
U23 Assembler Workshop
Ike e.v. http://koeln.ccc.de 2016-11-05 Überblick 1 CPU, Assembler Überblick x86 x86 Assembler 2 RAM, Stack, Calling Conventions Stack Calling Conventions Stackframes 3 Branches Jumps 4 Speicher, C-Interface
Teil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
Assembler. Dr.-Ing. Volkmar Sieh. Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg
Assembler Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2017/2018 V. Sieh Assembler (WS16/17) 1 15 Einleitung
U23 Assembler Workshop
Ike e.v. http://koeln.ccc.de 2016-11-05 Überblick 1 CPU, Assembler Überblick x86 x86 Assembler 2 RAM, Stack, Calling Conventions Stack Calling Conventions Stackframes 3 Branches Jumps 4 Speicher, C-Interface
TECHNISCHE 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
Der von Neumann Computer
Der von Neumann Computer Grundlagen moderner Computer Technologie 1 Der moderne Computer ein weites Spektrum Typ Preis Anwendungsbeispiel embeded Computer 10-20 $ in Autos, Uhren,... Spielcomputer 100-200$
Arithmetik, 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
Technische 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
Der Intel 8086 Reto Gurtner 2005
Der Intel 8086 Reto Gurtner 2005 1 1. DIE INTERNEN REGISTER... 3 1.1 ALLGEMEINE REGISTER AX, BX, CX UND DX... 3 DAS AX-REGISTER... 4 DAS BX-REGISTER... 4 DAS CX-REGISTER... 5 DAS DX-REGISTER... 5 1.2 DIE
Teil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
Algorithmen und Datenstrukturen 1 Kapitel 4.1
Algorithmen und Datenstrukturen 1 Kapitel 4.1 Technische Fakultät [email protected] Vorlesung, U. Bielefeld, Winter 2005/2006 Kapitel 4: Maschinenmodelle [Dieses Kapitel hält sich eng an
Teil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013
x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013 1 / 53 Inhaltsverzeichnis 1 Einführung 2 Assembler Syntax, Register und Flags 3 Hauptspeicher 4 Stack 5 Assemblerbefehle
1 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
H. Intel x86 CPU. Höhere Informatik. Systemprogrammierung: - Betriebssystemkonzepte, Ein- & Ausgabe
H. Intel x86 CPU Historische Entwicklung des x86 Registersatzes. Complex Instruction Set Computer (CISC), Deskriptoren & Adressierung, Cacheausstattung. Höhere Informatik Systemprogrammierung: - Betriebssystemkonzepte,
Offenbar 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
INFORMATIK 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
Übung Praktische Informatik II
Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim [email protected] 20.03.09 4-1 Heutige große Übung Ankündigung
Datenpfad 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:
Gerä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
Übersicht der wichtigsten Assemblerbefehle in ATT-Syntax. Operanden, Statusflags und Registersatz
Übersicht der wichtigsten Assemblerbefehle in ATT-Syntax Autoren: Wolfgang Heenes, Patrik Schmittat Version: 0.4 Datum: 26. März 2011 Operanden, Statusflags und Registersatz Die vier Operanden sind: Direkter
Vorwort 8. Kap. 1: Grundlagen 10
Inhaltsverzeichnis Vorwort 8 Kap. 1: Grundlagen 10 1.1 Analogie zwischen der Spieluhr und einem Prozessor 10 1.2 Unterschiede zwischen Mikroprozessor und Spieluhr 11 1.3 Die Programmierung eines Mikroprozessors
Rechnerstrukturen 1: Der Sehr Einfache Computer
Inhaltsverzeichnis 1: Der Sehr Einfache Computer 1 Komponenten.................................... 1 Arbeitsweise..................................... 1 Instruktionen....................................
Grundlagen 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
Grundlagen 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
Teil 2: Rechnerorganisation
Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung
Assembler Tutorial Grundlagen und Theorie
Assembler Tutorial http://wwwamoknotrixde http://wwwamoknotrixde Vorwort In diesem Tutorial werden wir Grundlagenarbeit betreiben Diese besteht daraus, daß wir Begriffe wie Register, oder Stack erläutern
Datenpfad 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:
Maschinensprache. 2.5 x86 Speicherzugriff. Universität Mannheim
Maschinensprache 2.5 x86 Speicherzugriff Hauptspeicher Speicheraufbau Linearer, zusammenhängender Adressraum Kleinste adressierbare Einheit: 1 Byte Unterteilung in physikalischen, linearen und virtuellen
Assembler 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.
!!! Der Mikroprozessor ist überall!!!
Fachbereich Intelligent Elektrotechnik Systems Design!!! Der Mikroprozessor ist überall!!! Vorlesung im Rahmen des Junior Campus Prof. Dr.-Ing. Michael Karagounis 25.09.2015 Berufskolleg Ahlen Was ist
... Adressierung und Befehlsfolgen (1) Speicherbelegung. Hauptspeicheradressen. Inhalt von Speicherbelegungen: Operanden - Zahlen - Zeichen Befehle
Adressierung und Befehlsfolgen (1) Speicherbelegung Hauptspeicheradressen Inhalt von Speicherbelegungen: Operanden - Zahlen - Zeichen Befehle Address 0 1 i k 2-1 n bits...... word 0 word 1 b n-1 b 1 b
FAKULTÄ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 Zentralübung
DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE
D - CA - IV - AA - 1 HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK Vorlesung 4 DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE Sommersemester 2003 Leitung:
Assembler Unterprogramme
Assembler Unterprogramme Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler Unterprogramme 1/43 2008-06-03 Unterprogramme
Assembler Integer-Arithmetik
Assembler Integer-Arithmetik Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler Integer-Arithmetik 1/23 2008-04-01 Arithmetik
Mikrocomputertechnik. Adressierungsarten
Adressierungsarten Ein Mikroprozessor bietet meist eine Reihe von Möglichkeiten, die Operanden für eine Rechenoperation zu bestimmen. Diese Möglichkeiten bezeichnet man als Adressierungsarten. unmittelbare
9. 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
9. 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
Vorlesung "Struktur von Mikrorechnern" (SMR)
Unterscheidung nach Instruktionsstruktur Kap. 6 / 34 Unterscheidung nach Befehlstypen: Übersicht Register-Register MOV r r, r 2 A Speicher/Peripherie Register Transferbefehle LDA addr STA addr Konstante
FAKULTÄ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
Prozessor 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
Tutorium Rechnerorganisation
Woche 3 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
Computersysteme. Fragestunde
Computersysteme Fragestunde 1 Dr.-Ing. Christoph Starke Institut für Informatik Christian Albrechts Universität zu Kiel Tel.: 8805337 E-Mail: [email protected] 2 Kurze Besprechung von Serie 12,
6. Intel IA-32 Prozessoren Aufbau und Adressierungsarten
6. Intel IA-32 Prozessoren Aufbau und Adressierungsarten 6.1 Gegenstand der Vorlesung Interne Organisation - Architektur - Register - Statusbits - Speicherstruktur Basis-Adressierungsarten - direct - absolute
Rechnergrundlagen SS Vorlesung
Rechnergrundlagen SS 2007 10. Vorlesung Inhalt Rechenwerk (ALU) Steuerwerk Instruktionssatz-Architekturen Assembler-Programmierung Synchroner/asynchroner Systembus RISC vs. CISC Kontrollfluss/Datenfluss
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
Datenpfad 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:
Rechnernetze 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.
ARM-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
Lö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
Musterlö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
Mikroprozessortechnik Grundlagen 1
Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega28 Progammierung in C - Vergleich C und C++ - Anatomie eines µc-programmes
Kap 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.).
N 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)
L3. Datenmanipulation
L Datenmanipulation Aufbau eines Computers Prozessor, Arbeitsspeicher und system Maschinensprachen und Maschinenbefehle Beispiel einer vereinfachten Maschinensprache Ausführung des Programms und Befehlszyklus
Informatikgrundlagen I Grundlagen der Informatik I
Informatikgrundlagen I Grundlagen der Informatik I Dipl.-Inf. Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik [email protected] Raum 2.202 Tel. 03943 / 659 338 1 Inhalt 1. Einführung,
Kap.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
Selbststudium 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
Mikroprozessoren 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)
Rechnerstrukturen. 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
Assembler 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
Prinzipieller 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
Daniel Betz Wintersemester 2011/12
Daniel Betz Wintersemester 2011/12 Digitally signed by [email protected] 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
Die 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.
Assembler - Einleitung
Assembler - Einleitung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Einleitung 1/19 2008-04-01 Teil 1: Hochsprache
Computer-Systeme. Teil 5: Central Processing Unit (CPU)
Computer-Systeme Teil 5: Central Processing Unit (CPU) Computer-Systeme WS 12/13- Teil 5/CPU 05.11.2012 1 Literatur [5-1] [5-2] [5-3] Bauer, F.L.: Wer erfand den von Neumann-Rechner? Informatik Spektrum,
Computer-Systeme Teil 5: Central Processing Unit (CPU)
Computer-Systeme Teil 5: Central Processing Unit (CPU) Computer-Systeme WS 12/13- Teil 5/CPU 05.11.2012 1 Literatur [5-1] [5-2] [5-3] Bauer, F.L.: Wer erfand den von Neumann-Rechner? Informatik Spektrum,
Mikrocomputertechnik. Systembus. Ein Mikroprozessor kommuniziert über den Systembus mit Speicher und I/O
Systembus Ein Mikroprozessor kommuniziert über den Systembus mit Speicher und I/O Der Ablauf erfolgt in zwei Schritten: o Anlegen von Adressen und Schreib/LeseRichtung o Schreiben bzw. Lesen der Daten
Multiplizierer. Beispiel komplexer arithmetischer Schaltung. Langsamer als Addition, braucht mehr Platz. Sequentielle Multiplikation
Multiplizierer 1 Beispiel komplexer arithmetischer Schaltung Langsamer als Addition, braucht mehr Platz Sequentielle Multiplikation Kompakte kombinatorische Variante mit Carry-Save-Adders (CSA) Vorzeichenbehaftete
5.1 Beschreibung des Prozessors M Programmierung in Maschinensprache. 5.1 Beschreibung des Prozessors M 68000
5. Programmierung in Maschinensprache (Assembler) 5.1 Beschreibung des Prozessors M 68000 5.1 Beschreibung des Prozessors M 68000 5.2 Adressierungsarten des M 68000 5.3 Maschinenbefehle des M 68000 5.4
Rechnergrundlagen 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
