5 Befehlssätze und deren Klassifikation

Größe: px
Ab Seite anzeigen:

Download "5 Befehlssätze und deren Klassifikation"

Transkript

1 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 Prozessor versteht nennt man auch den Befehlssatz (Satz im Sinne von Menge; engl: instruction set) des Prozessors Befehlssätze lassen sich in mehrfacher Hinsicht klassifizieren Klassifikation nach Komplexität CISC = Complex Instruction Set Architecture CISC-Befehlssätze enthalten sehr mächtige komplexe Befehle um mit möglichst wenig Assembler-Code viel zu erreichen Beispiel: Laden von zwei Operanden aus dem Speicher Multiplikation der Operanden Abspeichern des Ergebnisses im Speicher als ein Befehl Dieses Prinzip war in den 1970er-Jahren gängig da die verfügbaren Speicher sehr klein waren und so weniger Platz benötigt wurde Zudem gab es noch keine (vernünftigen) Compiler dh Programme wurde in Assembler-Sprache geschrieben Durch die mächtigen Befehle ging das Programmieren schneller da sich die Befehle fast wie eine Hochsprache verhielten Durch die Unterschiedlichkeit der Befehle ist das Befehlswort bzgl der Länge variabel dh die Befehlswortbreite schwankt je nach Befehl zb zwischen 1 und 16 Byte RISC = Reduced Instruction Set Architecture Bei RISC-Befehlssätzen ist die Mächtigkeit der Befehle stark reduziert Komplexe Operationen werden durch mehrere einfachen Befehlen gelöst statt durch einen sehr mächtigen Befehl Beispiel Multiplikation zweier im Speicher liegender Zahlen: 2 Lade-Befehle um Operanden vom Speicher in Register zu laden 1 Multiplikation-Befehl der zwei Register-Werte multipliziert und das Ergebnis wieder in einem Register abspeichert 1 Speicher-Befehl um das Ergebnis vom Register in den Speicher zu schreiben Durch Compiler und Programmierung in Hochsprache ist die Mächtigkeit einzelner Befehle nicht mehr ausschlaggebend für die Programmiereffizienz Durch die Verfügbarkeit größerer Speicher besteht keine Notwendigkeit mehr Speicher durch mächtige Befehle zu sparen Die Befehle eines RISC-Prozessors haben in der Regel alle die selbe Befehlswortlänge zb 2 Byte oder 4 Byte was die Hardware einfacher und damit auch schneller macht

2 216 5 Befehlssätze und deren Klassifikation - Klassifikation nach Verortung der Operanden Register-Speicher-Architektur Bei einer Register-Speicher-Architektur können die Operanden der Befehle sowohl in Registern als auch im Speicher stehen Register-Register-Architektur/Load-Store-Architektur Bei Register-Register-Architekturen müssen Quell- und Zieloperand in Registern stehen Quelloperanden die im Speicher stehen müssen zunächst mit einem Lade-Befehl (engl load instruction) vom Speicher in ein Register geladen werden bevor sie verarbeitet werden können Soll das Ergebnis eines Befehls im Speicher abgelegt werden so muss das Ergebnis zunächst in einem Register abgelegt werden bevor es mit einem Speicher-Befehl (engl store instruction) vom Register in den Speicher geschrieben werden kann Da Speicherzugriffe nur über Lade- und Speicher-Befehle erfolgen nenn man Register- Register-Architekturen auch Load-Store-Architekturen Klassifikation nach der Anzahl der Operanden Drei-Adress-Maschine Bei einer Drei-Adress-Maschine können bis zu zwei Quell- und ein Zieloperand explizit angegeben werden Da das bei unserem Universalrechner ebenfalls möglich war ist unser Universalrechner eine Drei-Adress-Maschine Beispiel: ADD R0R1R2 addiere Register R1 zum Register R2 und speichere das Ergebnis in Register R0 ab Zwei-Adress-Maschine Bei einer Zwei-Adress-Maschine ist ein Quell-Operand gleichzeitig auch Zieloperand Beispiel: ADD R0R1 addiere Register R0 zum Register R1 und speichere das Ergebnis in Register R0 ab Ein-Adress-Maschine/Akkumulator-Maschine Bei einer Ein-Adress-Maschine wird nur ein einziger Quell-Operand angegeben Zweiter Quell-Operand und Ziel-Operand ist implizit immer das sog Akkumulator-Register Beispiel: ADD R1 addiere Register R1 zum Akkumulator-Register und speichere das Ergebnis wieder im Akkumulator-Register ab Null-Adress-Maschine/Stack-Maschine Bei einer Null-Address-Maschine muss bei einer Operation kein Operand angegeben

3 217 werden da als Operand immer implizit die auf einem Stack oben liegenden Werte verwendet werden Das Ergebnis wird wieder auf dem Stack abgelegt Beispiel: push 3 push 4 add Zunächst wird die Zahl 3 auf dem Stack abgelegt danach die Zahl 4 Anschließend werden beide Zahlen addiert Das Ergebnis wird wieder auf dem Stack abgelegt

4 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 entwickelt Donald Knuth ist Mathematiker und ein berühmter Computer-Pionier Von ihm stammen unter anderem die berühmten Bücher The Art of Computer Programming sowie das Text-Satzsystem TE ein Vorfahre von L A TE mit dem zb dieses Skript erstellt wurde Für mehr Infos siehe MMI steht für die römische Zahl 2009 die sich als Mittelwert mehrerer RISC-Rechner- Kennzahlen ergibt: (CrayI + IBM801 + RISCII + ClipperC300 + AMD29K + Motorola88K + IBM601 + In-teli960 + Alpha POWER2 + MIPSR400 + HitachiSuperH4 + StrongARM110 + Sparc64) / 14 = / 14 = 2009 MMI ist ein Prozessor-Modell dh kein real existierender Prozessor Damit gibt es keine Legacy-Effekte aufgrund gewünschter Rückwärtskompatibilitäten was nicht nur die Programmierung sondern auch die Implementierung des Prozessors sehr einfach und verständlich macht Simulations-Tools zum MMI-Prozessor können von der LDV- Webseite heruntergeladen werden Der MMI ist eine Register-Register-Architektur mit 256 Allzweck-Registern und 32 Spezial-Registern Die Wortbreite beträgt 64 Bit (Register Rechenwerk Daten- und Adress-Busse) der Adressbereich umfasst 2 64 Byte Der Befehlssatz umfasst 256 Befehle Für alle Befehle beträgt die Befehlswortlänge 32 Bit Donald Knuth gibt für die Ausführungszeit der meisten Befehle 1 Takt an was typisch für RISC-Prozessoren ist Diese Ausführungszeit bezieht sich jedoch auf den von Donald Knuth erstellten Simulator und nicht auf die von uns entwickelte Datenpfad-Realisierung

5 220 6 MMI-Prozessor 62 Register Die Register sind kleine jedoch sehr schnelle Speicherelemente die im Prozessor-Kern untergebracht sind Die Wortbreite der Register entspricht typischerweise der Breite der Datenworte die vom Prozessor verarbeitete werden können Beim MMI sind die Register 64 Bit groß Allzweckregister Allzweckregister (engl general purpose register) sind Register die keinen bestimmten Zweck haben sondern universell verwendet werden können Gemeint ist dass diese Register als Operanden für alle Befehle verwendet werden können Es gibt bei Allzweckregistern also keine festgelegte Bindung zwischen einem bestimmten Register und einer bestimmten auszuführenden Operation (zb Festkomma-Addition Basis-Adresse für Speicherzugriff ) Die 256 Allzweckregister des MMI haben keine besonderen Namen sondern werden von 0 bis 255 durchnummeriert und über diese Nummer angesprochen Um Register von Zahlen unterscheiden zu können wird der Registernummer ein Dollarzeichen vorangestellt $0 meint also den Inhalt von Register 0 während 0 die Zahl 0 meint Computerprogramme verwenden sowohl globale als auch lokale Variable: Globale Variable können von allen Programmteilen verwendet werden lokale nur von einem Teilausschnitt zb einer Funktion Beim MMI werden lokale Variable in den unteren Allzweckregistern ($0 $1 = lokale Register) und globale Variable in den oberen Allzweckregistern ($255 $254 = globale Register) abgelegt Die dazwischen liegenden unbenutzten Register werden beim MMI marginale Register genannt Die Nummer des ersten freien lokalen Registers ist in Spezialregister rl abgelegt die Nummer des ersten globalen Registers in Spezialregister rg $255 $(rg) Globale Register Marginale Register $(rl) $0 Lokale Register

6 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 können als eine Art Schnittstelle zwischen Hardware und Software angesehen werden die es der Software ermöglicht bestimmte Hardware-Einstellungen vorzunehmen (zb Setzen von Taktfrequenz-Multiplikatoren Konfiguration von Interrupts ) oder aufgetretene Ereignisse (zb Division durch 0 Zeitablauf bei Timer-Interrupt ) durch die Software erfassbar/auswertbar zu machen Der MMI-Prozessor hat 32 Spezialregister die ra rb rc rz rbb rtt rww r ryy und rzz genannt werden Zugriff auf die Spezialregister ist bei MMI nur über die Befehle PUT (Wert von Allzweckregister in Spezialregister kopieren) und GET (Wert von Spezialregister in Allzweckregister kopieren) möglich Nachfolgende Abbildung zeigt das Spezialregister ra das Arithmetische Status Register Interrupt Enable (Freischalten) Interrupt Event (Auftreten) 0 0 R1 R0 D V W I O U Z D V W I O U Z nicht verwendet Gleitkommazahl ungenau (zb 10 / 30) Gleitkomma-Division durch 0 Gleitkomma-Unterlauf Gleitkomma-Überlauf Unerlaubte Gleitkommaoperation zb sqrt(-10) Überlauf bei Wandlung Gleitkomma- in Festkommazahl Festkomma-Überlauf Festkomma-Division durch 0 Gleitkomma-Rundungsmodus 00: Nächster Wert (standard) 01: Abrunden (Richtung 0) 10: Aufrunden (Richtung + ) 11: Abrunden (Richtung - ) Beispiele für weitere Spezialregister: Im Falle einer Multiplikation 64 Bit 64 Bit = 128 Bit werden in rh die oberen 64 Bit des Ergebnisses abgelegt Im Falle einer Division 128 Bit : 64 Bit = 64 Bit werden in rd die oberen 64 Bit des 128 Bit breiten Dividenden abgelegt Bei einer Festkomma-Division wird in rr der Rest der Division abgelegt (Modulo- Operation)

7 222 6 MMI-Prozessor Verständnisfragen/Aufgaben Allgemein T a) Was ist ein Register? kleiner T b) Wo findet man Register in einem Computer-System? Hayptproteoow T c) Daten welcher Größenordnung kann ein Register aufnehmen: Byte kilobytes megabytes gigabytes or terabytes? in du Rgel Allzweckregister a) Was sind Allzweckregister? Programme schneller Speicher ( SRAM ftwruyn von extern Gerite nicht met Is eiige Byte boknnnk tweak kin und sonit fir d :c iwr Uwfijuyskhn b) Geben Sie ein Beispiel für eine typische Verwendung eines Allzweckregisters an Quell und Felopuawu c) Über wieviele Allzweckregister verfügt der MMI-Prozessor? Welche Namen haben sie? 256 Alltweekreg $0 - $ 255

8 62 Register 223 T d) Was ist der Unterschied zwischen einem globalen und einem lokalen Register? flotale : elle ate :b Program 1 hale : inzelne Inkhorn Spezialregister a) Was ist ein Spezialregister? Register in Pwhssw Skwy von Hardware / un Program men Status information aus d Hardware ivjinglich µ mauler b) Geben Sie eine typische Anwendung eines Spezialregisters an Runduysuodus fir Gleithoma operation fytlgn T c) Über wieviele Spezialregister verfügt der MMI-Prozessor? Wie werden sie genannt (Prinzip)? 32 Registrar T d) Kann jeder MMI-Befehl Spezialregister verwenden? Nein kgrifu nw mit PAGET T e) Welches Spezialregister stellt Informationen über Arithmetische Operationen zur Verfügung? T f) In welchem Spezialregister kann man die oberen 64 Bit eines 128 Bit breiten Festkomma-Dividenden ablegen? :D

9 Ga MMI-Prozessor 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? In du Rgdnicht 7 B Genaoigkit milt Bit fi Fi j) Was müssen Sie tun wenn Sie einzelne Bits eines Spezialregisters verändern wollen? Spetialrg GET In Alkwedereg put Spetidry bearbitn Spendnogivlvtyviff 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 MMI-Befehle in Spezialregister schreiben bzw Spezialregister lesen können? Esthonna- karma alter un bow heifige arfgtheke Faille beohkunigm hiifj uuundet #

10 63 Speicher Speicher Der Speicher des MMI ist Byte-adressiert dh das kleinste adressierbare Datenelement ist ein Byte (8 Bit) Wortbreiten Das Speichern (Allzweckregister! Speicher; engl store) bzw Laden (Speicher! Allzweckregister; engl load) wird in folgenden Wortbreiten unterstützt: 1 Byte (8 Bit) 2 Byte (16 Bit) beim MMI Wyde genannt 4 Byte (32 Bit) beim MMI Tetra genannt 8 Byte (64 Bit) beim MMI Octa genannt : Ausrichtung der Daten im Speicher - Alignment Bei Speichermodulen sind die einzelnen Byte in der Regel auf mehrere Speicherchips verteilt bei einer Wortbreite von 64 Bit kann ein Speichermodul (ohne Speicherung von Paritätsbits) beispielsweise aus 16 Chips zu je 4 Bit oder 8 Chips zu je 8 Bit aufgebaut sein Betrachten Sie das nachfolgende (einseitige) Speichermodul in dem 64 Bit breite Datenworte aus 8 Speichermodulen zu je 8 Bit aufgebaut werden (es werden keine Paritätsbits betrachtet) Bei Zugriffen auf ein einzelnes Byte wird nur auf einen einzigen Speicherchip zugegriffen Dabei können die letzten drei Adressbits dazu verwendet werden den Speicherchip auszuwählen und die übrigen Adressbits wählen dann eine Adresse innerhalb des ausgewählten Chips aus Bei Zugriffen auf 16 Bit breite Datenworte wählen die Adressbits 1 und 2 (das Adressbit 0 wird nicht ausgewertet) eine der vier Speicherchip-Gruppen (01) (23) (45) oder (67) aus Die übrigen Adressbits (ab 3 aufwärts) wählen dann eine Adresse innerhalb der ausgewählten Chips aus Das 16 Bit Datenwort setzt sich dann aus den 2 8 Bit der ausgewählten Speicherchip-Gruppe zusammen

11 226 6 MMI-Prozessor Bei Zugriffen auf 32 Bit breite Datenworte wählt das Adressbit 2 (Adressbits 0 und 1 werden ignoriert) eine der zwei Speicherchip-Gruppen (0123) oder (4567) aus Die Adressbits wählen eine Adresse innerhalb der ausgewählten Chips aus Das 32 Bit Datenwort setzt sich dann aus den 4 8 Bit der ausgewählten Speicherchip-Gruppe zusammen Bei Zugriffen auf 64 Bit breite Datenworte werden die Adressbits 0 1 und 2 ignoriert Die übrigen Adressbits wählen eine Adresse innerhalb der ausgewählten Chips aus Das 64 Bit breite Datenwort setzt sich dann aus den 8 8 Bit der ausgewählten Speicherchip-Gruppe zusammen Aus mehreren Byte zusammengesetzte Daten werden also idealerweise so im Speicher ausgerichtet (engl aligned) dass auf sie gemäß obigem Schema mit nur einem einzigen Speicherzugriff zugegriffen werden kann Datenworte können prinzipiell natürlich auch anders abgelegt werden bspw kann ein 32 Bit breites Datenwort auch auf die Chips und 4 verteilt werden Der Nachteil hierbei ist jedoch dass die Daten dann durch die Verdrahtung auf dem Speichermodul nicht automatisch richtig zusammengesetzt werden sondern entweder durch zusätzliche Hardware oder durch Software-Befehle richtig zusammengefügt werden müssen Aus diesem Grund werden aus mehreren Byte zusammengesetzte Datenworte in der Regel immer in der beschriebenen Weise ausgerichtet sind also immer aligned Der MMI unterstützt das beschriebene Alignment indem er durch Löschen der niederwertigsten Adressbits die Menge gültiger Wortadressen wie folgt einschränkt: o 0x x x x x x x x ;om@ 0x x x A Byte Wyde Tetra Octa ( eor Ioo Ono a woo

12 228 6 MMI-Prozessor Speicherorganisation Die Adressbreite des MMI beträgt 64 Bit dh der MMI kann 2 64 Byte adressieren von 0x bis 0xFFFF FFFF FFFF FFFF Dieser Speicherbereich wird wie folgt aufgeteilt: 0x = Text_Segment 0x FF 0x x1FFF FFFF FFFF FFFF 0x = Data_Segment 0x3FFF FFFF FFFF FFFF 0x = Pool_Segment 0x5FFF FFFF FFFF FFFF 0x = Stack_Segment 0x7FFF FFFF FFFF FFFF 0x Interrupt-Vektoren Text-Segment MMI-Befehle Globale Variable (Heap) Daten-Segment Lokale Variable Stack Pool-Segment Stack-Segment! Betriebssystem-Segment 0xFFFF FFFF FFFF FFFF Text-Segment: Programme und Interrupt-Vektoren Im Text-Segment wird ausführbarer Befehlscode als aufeinander folgende Befehlsworte abgelegt Da alle Befehlsworte 4 Byte breit sind beginnen die Befehlsworte immer an einer durch 4 teilbaren Adresse MMI-Programme können ab Adresse 0x100 im Speicher abgelegt werden An welcher Adresse ein Programm genau beginnt ist in der Symboltabelle der Objektdatei festgelegt Die Objektdatei enthält Befehlsworte für den jeweiligen Prozessor (hier: MMI) die vom Loader (Teil des Betriebssystems das auszuführende Programme in den Speicher lädt) beim Starten des Programms in das Textsegment geladen

13 63 Speicher 229 werden Neben den Befehlen enthält die Objektdatei auch Informationen über Vorbelegungen des Speichers sowie die Symboltabelle Die Symboltabelle spezifiziert eine Menge von (Name! Adresse)-Paaren über die Einsprungspunkte in Module Funktionen Blöcke etc gefunden werden können MMI-Programme beginnen an der Adresse die durch den Symboltabellen-Eintrag Main festgelegt ist Von Adresse 0x00 bis 0xFF ist die Interrupt-Vektor-Tabelle abgelegt Die Interrupt-Vektor- Tabelle ist der Speicherbereich in dem die Interrupt-Vektoren (su) eines Prozessors abgelegt sind Nachfolgende Abbildung zeigt den Aufbau der Interrupt-Vektor-Tabelle beim MMI 0x00 0x04 0x08 0x0C 0x10 0x14 0x18 0x1C 0x20 0x24 0x28 0x2C 0x30 0x34 0x38 0x3C 0x40 0x44 0x48 0x4C 0x50 0x54 0x58 0x5C 0x60 0x64 0x68 0x6C 0x70 0x74 0x78 0x7C 0x80 0x84 0x88 0x8C Allgemeine Trips Division durch Null Integer-Überlauf Überlauf Gleitkomma- Festkomma-Wandlung Ungültige Gleitkoma- Operation Gleitkomma-Überlauf Gleitkomma-Unterlauf Gleitkomma-Division durch NULL Gleitkommazahl ungenau

14 230 6 MMI-Prozessor Interrupts sind (asynchrone) Programm-Unterbrechungen Sie können auftreten wenn ein Fehler aufgetreten ist (zb Division durch 0 Speicherzugriffsfehler) Zeitgeber (sog Timer) abgelaufen sind angeschlossene Geräte Daten empfangen haben etc Interrupt-Service-Routinen (ISRs) sind Funktionen die zur Behandlung der Interrupts aufgerufen werden Beim Auftreten eines Timer-Interrupts können beispielsweise von einem angeschlossenen Gerät empfangene Daten verarbeitet werden Meßwerte von einem externen Sensor eingelesen werden oder im Falle des Betriebssystem-Schedulers ein Prozess unterbrochen und ein anderer Prozess gestartet werden (time slicing) Interrupt-Service-Routinen sind wie normale Funktionen werden jedoch nicht durch das laufende Software- Programm explizit (synchron) aufgerufen (wie zb printf() zur Ausgabe von Zeichen auf dem Bildschirm) Sie werden durch asynchron auftretende externe oder interne Ereignisse ausgelöst und durch die darauf folgende hardwarebasierte Änderung des Befehlszählers aufgerufen Interrupt-Vektoren beschreiben für Interrupt-fähige Ereignisse die Adressen der zugehörigen ISRs dh die Stellen im Speicher an die der Prozessor im Fehlerfall automatisch verzweigen soll Um im Ereignis-Fall automatisch in die entsprechende ISR zu verzweigen muss in der Regel die Behandlung von Interrupts allgemein freigeschaltet sein (zb Bit globally enable interrupts in einem Spezialregister) aber auch das betreffende Ereignis (zb Division durch Null explizit zur Fehlerbehandlung durch Interrupts freigeschaltet sein; beim MMI beispielsweise über das betreffende Interrupt-Enable -Bit in ra Für viele Fehler gibt es eigene Interrupt-Vektoren wie zb bei Division durch Null Andere Fehler werden oft zu einem allgemeinen Interrupt zusammengefasst Es gibt verschiedene Möglichkeiten die Sprungziele der ISRs durch die Interrupt-Vektoren zu beschreiben Die gängigsten sind: Interrupt-Vektoren enthalten direkt die Adresse der ISR Interrupt-Vektoren enthalten die Adresse der ISR indirekt dh sie enthalten eine Adresse auf ein Datenwort im Speicher in dem die Adresse der ISR steht Interrupt-Vektoren enthalten vom Prozessor ausführbare Befehle; die Befehle enthalten entweder die ISR selbst oder einen Sprungbefehl zur

15 63 Speicher 231 ISR Dieses Verfahren wird auch beim MMI verwendet Dazu werden in die Interrupt-Vektoren Befehle eingetragen die in die jeweiligen ISRs verzweigen Daten-Segment Das Datensegment dient zur Aufnahme von Daten die während der Befehlsausführung anfallen bzw verarbeitet werden Globale und statische Daten werden auf dem Heap abgelegt Dieser beginnt ab Adresse 0x und wächst in Richtung höherer Adressen Lokale Daten werden auf dem Stack abgelegt der bei Adresse 0x3FFFFFFFFFFFFFFF bzw 0x3FFFFFFFFFFFFFF8 (für Octas) beginnt und in Richtung niedrigerer Adressen wächst Pool-Segment Das Pool-Segment ist ein Speicherbereich der für den Datenaustausch zwischen Programm und Betriebssystem gedacht ist Im Pool-Segment werden beispielsweise Programmen ihre Aufruf-Parameter übergeben Dazu wird bei Programmstart in Register 0 die Anzahl der Parameter (argc = argument count) übergeben und in Register 1 die Adresse auf eine Null-terminierte Liste aus Zeigern von denen jeder auf einen Parameter zeigt Adresse 0x enthält die Adresse des ersten freien Pool-Segment-Datenworts Nachfolgende Abbildung zeigt das Poolsegment beim Aufruf eines Programms skalprodarg mit den Parametern und 40 Adresse Wert (hex) Wert (ascii) 0x \0 \0 \0 \0 \0 \0 0x \0 \0 \0 \0 \0 \0 ` 0x \0 \0 \0 \0 \0 \0 p 0x \0 \0 \0 \0 \0 \0 x 0x \0 \0 \0 \0 \0 \0 Ç 0x \0 \0 \0 \0 \0 \0 ê 0x \0 \0 \0 \0 \0 \0 É 0x \0 \0 \0 \0 \0 \0 ÿ 0x \0 \0 \0 \0 \0 \0 á 0x \0 \0 \0 \0 \0 \0 0x \0 \0 \0 \0 \0 \0 0x x \0 \0 \0 \0 \0 \0 \0 \0 0x x736b616c70726f64 s k a l p r o d 0x x a r g \0 \0 \0 \0 \0 0x x \0 \0 \0 \0 \0 \0 \0 0x x \0 \0 \0 \0 \0 \0 \0 0x x \0 \0 \0 \0 \0 \0 \0 0x x \0 \0 \0 \0 \0 \0 \0 0x x \0 \0 \0 \0 \0 \0 \0 0x x \0 \0 \0 \0 \0 \0 0x a0 0x \0 \0 \0 \0 \0 \0 0x a8 0x \0 \0 \0 \0 \0 \0 0x b0 0x \0 \0 \0 \0 \0 \0 0x b8 0x \0 \0 \0 \0 \0 \0 \0 \0

16 232 6 MMI-Prozessor Stack-Segment Das Stack-Segment dient beim sog Register-Stack des MMI zur Auslagerung von Registern Dieses Segment wird von uns nicht verwendet Betriebssystem-Segment Dieser Speicherbereich ist für das Betriebssystem vorgesehen Durch die gewählte Aufteilung kann am höherwertigsten Adress-Bit direkt abgelesen werden ob der ausgeführte Befehl zum Betriebssystem (kernel space) oder zu einem Benutzerprogramm (user space) gehört Damit lässt sich ein zwei Stufen umfassendes Privilegierungs-System aufbauen bei dem beispielsweise bestimmte Befehle nur vom Betriebssystem verwendet werden dürfen oder Zugriffe auf bestimmte Resourcen (Register angeschlossene Geräte ) nur dem Betriebssystem erlaubt sind

17 OK oaeoo 63 Speicher Virtueller Speicher Die gezeigte Einteilung des Speichers in verschiedene Segmente bezieht sich auf den sog virtuellen Speicher Virtueller Speicher meint dass die Speicheradressen auf die ein Programm zugreift nicht den realen physikalischen Speicheradressen entsprechen Die Umwandlung erfolgt durch die Hardware und wird vom Betriebssystem durch Einstellungen in Spezialregistern gesteuert Auf diese Weise gaukelt das System einem Programm zb einen 64 Bit großen Adressraum vor obwohl beispielsweise nur 8 GB Arbeitsspeicher im System installiert sind Durch die vom Betriebssystem überwachte Abbildung von virtuellen auf reale Adressen kann ein Programm auf jede beliebige Speicheradresse zugreifen ohne mit dem Speicher anderer Programme zu kollidieren Virtueller Speicher dreier Programme realer Speicher Interrupt-Vektoren 0 MMI-Befehle Text-Segment 0 Interrupt-Vektoren Globale Variable (Heap) Text-Segment Daten-Segment MMI-Befehle Lokale Variable Stack Interrupt-Vektoren Pool-Segment Globale Variable (Heap) Text-Segment Daten-Segment MMI-Befehle Lokale Variable Stack Stack-Segment Pool-Segment Globale Variable (Heap) Daten-Segment Lokale Variable Stack Stack-Segment Betriebssystem-Segment Pool-Segment Stack-Segment Betriebssystem-Segment Betriebssystem-Segment

18 234 6 MMI-Prozessor Aufgaben Verständnis Speicher T a) Wozu verwendet ein Computer Arbeitsspeicher? Speicher non Dater T b) Wo findet man den Arbeitsspeicher in einem Computersystem? Auf dem Prozessor-Kern? Auf dem Mainboard? Als externes Gerät? hainboard T c) Sind Zugriffe auf den Arbeitsspeicher in der Regel schneller oder langsamer als Zugriffe auf Register? wird T d) Begründen Sie Ihre Antwort auf die letzte Frage unit denm gearbett ni schneller Is bun Region ABER : Footplate Speicher Register k a I Layer Bus kgssk 't Erhihny nscittlih durdekht lhanpomnkn Afbdn Register oird SRAM T anstelt DRAM T 5/6 Trans : ( Cache ) ' 1 Trmoiot hepatitis

19 63 Speicher 235 Alignment T a) Welche Wortbreiten werden bei Speicherzugriffen vom MMI unterstützt? Wie werden diese genannt? 8 Bit 1-6 T b) Wofür steht der Begriff Alignment? as Dess Dehuurte ouoochlitplich 3264 ( hyde Tetra mhrem Byte Wgemnengesette Iglytwudu einm gunttdlign Vielfechn do hlalsnihe de Oleta) T c) Warum wird Alignment angewendet? ein llu Speicher tyn I 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? ±ai a

20 236 6 MMI-Prozessor T e) Welche Eigenschaft müssen Byte- Wyde- Tetra- und Octa-Adressen beim MMI haben? Byh =) lain Dnehahy Wayde Durch 2 Leiber Big- und Little-Endian Tetra =) Duch 4 Ohta =) Durch 8 a) Welche Art von Daten betrifft die Abspeicherung als Big- oder Little-Endian? von died lay b) Verwendet der MMI-Prozessor Big- oder Little-Endian? Indian nw die Asspichuuy Big c) Was bedeutet Big- und Little-Endian? Was ist der Unterschied? Big : hewwhjte " ' ' work oind ( 248 Tytul # Bykadmniut Little : niedwwwkpk Byk ( griped Byte d) Wie wird die 16 Bit-Zahl 0x1234 im Speicher an der Adresse 0x abgelegt im Falle einer Big-Endian- und einer Little-Endian-Maschine? 0x x D: 4 12 Adresse Big Endian Little Endian

21 63 Speicher 237 T e) Wie wird im Speicher an der Adresse 0x die 32 Bit-Zahl a 0x abgelegt im Falle einer Big-Endian- und einer Little-Endian-Maschine? Adresse Big Endian Little Endian 0x x x A 78 rz 7+8% x B f) Wie wird im Speicher an der Adresse 0x die 64 Bit-Zahl abgelegt im Falle einer Big-Endian- und einer Little-Endian-Maschine? Adresse Big Endian Little Endian 0x x x A 0x B 0x c 0x D 0x E 0x F

22 238 6 MMI-Prozessor Speicherorganisation T a) Was wird im Textsegment gespeichert? c Program Code ( Befelle ) - Iukrruptvektorn - Direht Operands T b) Was ist ein Interrupt? =) Program nasfihry unto broken ISR EUU Boobeikng =) Fortsetu von Program an dw mtobroehem Melle T c) Nennen Sie ein Ereignis bei dem ein Interrupt auftreten kann Division durch 0 T d) Was sind Interruptvektoren? Dueid w in Spicher ISRS gespiclot in den Adrian oder Vertwiguy week T e) Was wird im Datensegment gespeichert? " " adftkkjhn YET TSH Stech Fit

23 MMI-Prozessor T h) Geben Sie den Inhalt des Poolsegments für das Programm rm an das mit dem 000 Parameter -rf und * aufgerufen wird (Aufruf: rm -rf *) 0x Ox 4 ms#:i:i 0x x Tf :& a 6 Koistinen : 0x Felicite 0x oo ox o - 0x Ot o 726 Do # 0x At ZD & 0x Ox o A u / arge argv [ ] Parameter g- g i) Wie werden in der Programmiersprache C einem Programm Parameter übergeben? j) Wie kann man in der Programmiersprache C auf die Parameter zugreifen?

24 Die 63 Speicher 241 k) Wie kann man beim MMI auf die Paramter zugreifen? argc liytin argv Virtueller Speicher ligt in Peg :b o Parameter register ^ ( $2 +0 $^+n 's $1 xzg ) a) Wenn alle Programme an Adresse 0x100 beginnen bzw alle Programme ihre Daten ab Adresse 0x im Speicher ablegen: Überschreiben die verschiedenen Programme dann nicht gegenseitig ihre Daten? Ja/nein und warum? bin virtoelle him ibusehaibvy Speicher b) Was bedeutet virtueller Speicher? hardelt two auf die else tdiesxloxzo da es oil m in Program Wgn o ) ate dos Behieboyokn lilt die tyriffejedod auf Kenne veale vuodiedee reale Speicher and reuse fpeic c) Wozu ist virtueller Speicher gut? ieloheit - Adresorown install unethaigig von Speicher ieth

4.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.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,

Mehr

RO.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

RO.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

Mehr

4.3 Assembler. Assembler als leicht verständliche hardwarenahe Sprache Prozessor-Datenpfad

4.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

Mehr

T c) Daten welcher Größenordnung kann ein Register aufnehmen: Byte, kilobytes, megabytes, gigabytes or terabytes?

T 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

Mehr

6 MMIX-Prozessor MMIX-Prozessor

6 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

Mehr

Nachfolgende Abbildung zeigt das Spezialregister ra, das Arithmetische Status Register. Interrupt Enable (Freischalten)

Nachfolgende 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

Mehr

6 MMIX-Prozessor MMIX-Prozessor

6 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

Mehr

Speicher. T c) Daten welcher Größenordnung kann ein Register aufnehmen: Byte, kilobytes, megabytes, gigabytes or terabytes? einige Byte.

Speicher. 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

Mehr

6 MMIX-Prozessor MMIX-Prozessor

6 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

Mehr

Nachfolgende Abbildung zeigt das Spezialregister ra, das Arithmetische Status Register. Interrupt Enable (Freischalten)

Nachfolgende 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.

Mehr

4.2 Universalrechner: Schaltung unabhängig vom Problem 185

4.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

Mehr

Assembler als Übersetzer

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

Mehr

T e) Welche Eigenschaft müssen Byte-, Wyde-, Tetra- und Octa-Adressen beim MMIX haben?

T 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

Mehr

Nachfolgende Abbildung zeigt das Spezialregister ra, das Arithmetische Status Register. Interrupt Enable (Freischalten)

Nachfolgende 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

Mehr

6 MMIX-Prozessor. 6.1 Programmiermodell. S.219 alles wichtig. 6.2 Register. Allzweckregister

6 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:

Mehr

4. TÜ-Zusammenfassung zum Modul Computersysteme

4. 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

Mehr

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

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

Mehr

4 Prozessor-Datenpfad 4.1 Vom zu lösenden Problem abhängige Schaltung

4 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

Mehr

Assembler als Übersetzer

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

Mehr

T e) Wie wird im Speicher an der Adresse 0x die 32 Bit-Zahl

T 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

Mehr

Grundlagen der Rechnerarchitektur. Einführung

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

Mehr

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

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)

Mehr

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

Mehr

Welche Register werden zur Parameterübergabe verwendet? In welcher Reihenfolge werden die Parameter auf dem Stack bzw. in den Registern abgelegt?

Welche 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

Mehr

Vorlesung Rechnerarchitektur. Einführung

Vorlesung 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

Mehr

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung

Mehr

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

Zusammenhang 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

Mehr

Übungsblatt 10 (Block C 2) (16 Punkte)

Ü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

Mehr

3.8 Sequentieller Multiplizierer 167

3.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,

Mehr

N Bit Binärzahlen. Stelle: Binär-Digit:

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)

Mehr

E Mikrocontroller-Programmierung

E Mikrocontroller-Programmierung E Mikrocontroller-Programmierung E Mikrocontroller-Programmierung E.1 Überblick Mikrocontroller-Umgebung Prozessor am Beispiel AVR-Mikrocontroller Speicher Peripherie Programmausführung Programm laden

Mehr

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. 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

Mehr

ARM-Cortex-M4 / Thumb-2-Befehlssatz Adressierungsarten und arithmetische Operationen

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

Mehr

Name: ES2 Klausur Thema: ARM Name: Punkte: Note:

Name: 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

Teil 1: Prozessorstrukturen

Teil 1: Prozessorstrukturen Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium

Mehr

Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen:

Beim 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

Mehr

Betriebssysteme 1. Thomas Kolarz. Folie 1

Betriebssysteme 1. Thomas Kolarz. Folie 1 Folie 1 Betriebssysteme I - Inhalt 0. Einführung, Geschichte und Überblick 1. Prozesse und Threads (die AbstrakFon der CPU) 2. Speicherverwaltung (die AbstrakFon des Arbeitsspeichers) 3. Dateisysteme (die

Mehr

Selbststudium Informationssysteme - H1102 Christian Bontekoe & Felix Rohrer

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

Mehr

Von Assembler zu Java

Von Assembler zu Java Von Assembler zu Java Prof. Dr.-Ing. Thomas Schwotzer 1 Einführung Die erste imperativen Programme wurden in den Urzeiten der IT tatsächlich direkt auf der Hardware der Maschinen geschrieben. Die verfügbaren

Mehr

2.1 Rechnersichten 2.2 Rechnerorganisation: Aufbau und Funktionsweise

2.1 Rechnersichten 2.2 Rechnerorganisation: Aufbau und Funktionsweise Teil 1 Kapitel 2 Rechner im Überblick 2.1 Rechnersichten 2.2 Rechnerorganisation: Aufbau und Funktionsweise Frank Schmiedle Technische Informatik I 2.1 Rechnersichten Modellierung eines Rechners Zusammenspiel

Mehr

1. TÜ-Zusammenfassung zum Modul Computersysteme

1. 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

Mehr

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL3 Folie 1 Grundlagen Software steuert Computersysteme

Mehr

Rechnerstrukturen. 7. Assembler. Inhalt. Vorlesung Rechnerstrukturen. Assemblerprogrammierung SML-CPU. SML-Assembler. Binden

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

Mehr

Wie groß ist die Page Table?

Wie groß ist die Page Table? Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten

Mehr

"Organisation und Technologie von Rechensystemen 4"

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

Mehr

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel

Prozessorarchitektur. 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

Mehr

Geräteentwurf mit Mikroprozessoren 1

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

Mehr

Name : Klasse : Punkte : Note :

Name : 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

Mehr

Grundlagen der Rechnerarchitektur. MIPS Assembler

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

Mehr

Technische Informatik - Eine Einführung

Technische 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

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen 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

Mehr

Rechner- organisa-on 2 TOY. Karl C. Posch.

Rechner- 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

Mehr

Mikroprozessoren. 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 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

Mehr

... 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 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

Mehr

3. Grundlagen der Rechnerarchitektur

3. 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

Mehr

68000 Assembler. WAS ist ein Assembler? Ein System, das den Programmierer hilft, eine maschinennahe Programmierung zu realisieren.

68000 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

Mehr

3.1 Architektur des von-neumann-rechners. 3. Grundlagen der Rechnerarchitektur

3.1 Architektur des von-neumann-rechners. 3. Grundlagen der Rechnerarchitektur 3. Grundlagen der Rechnerarchitektur 3.1 Architektur des von-neumann-rechners 3.1 Architektur des von - Neumann - Rechners 3.2 Maschinentypen: Einadressmaschine, Zweiadressmaschine 3.3 Befehlsformate und

Mehr

1. räumliche Lokalität - Nach dem Zugriff auf eine bestimmte Adresse erfolgt in naher Zukunft ein erneuter Zugriff auf ein dazu benachbartes Datum.

1. räumliche Lokalität - Nach dem Zugriff auf eine bestimmte Adresse erfolgt in naher Zukunft ein erneuter Zugriff auf ein dazu benachbartes Datum. Aufgabe 1 a) Warum besitzen nahezu alle modernen Prozessoren einen Cache? Zur Überbrückung der Prozessor-Speicher-Lücke. Geschwindigkeit des Arbeitsspeichers ist nicht in gleichem Maße gestiegen wie die

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 Ü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)

Mehr

8. Beschreibung des Prozessors MSP 430

8. 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

Mehr

Rechnerstrukturen 1: Der Sehr Einfache Computer

Rechnerstrukturen 1: Der Sehr Einfache Computer Inhaltsverzeichnis 1: Der Sehr Einfache Computer 1 Komponenten.................................... 1 Arbeitsweise..................................... 1 Instruktionen....................................

Mehr

Der von Neumann Computer

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$

Mehr

Teil 1: Prozessorstrukturen

Teil 1: Prozessorstrukturen Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium

Mehr

Lö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 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

Mehr

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: 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

Mehr

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

Name: 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

Mehr

Schriftliche Prüfung

Schriftliche Prüfung OTTO-VON-GUERICKE-UNIVERSITÄT MAGDEBURG FAKULTÄT FÜR INFORMATIK Schriftliche Prüfung im Fach: Rechnersysteme Studiengang: Bachelor (PF CSE / IF; WPF CV / WIF) am: 30. Juli 2008 Bearbeitungszeit: 120 Minuten

Mehr

Echtzeit-Multitasking

Echtzeit-Multitasking Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung Rechnergrundlagen SS 2007 13. Vorlesung Inhalt Cache Lesen Schreiben Überschreiben Memory Management Unit (MMU) Translation Lookaside Buffer (TLB) Klausurvorbereitung Inhalte der Klausur Rechnergrundlagen

Mehr

Konzepte von Betriebssystem-Komponenten. Ausnahme- / Unterbrechungsbehandlung

Konzepte von Betriebssystem-Komponenten. Ausnahme- / Unterbrechungsbehandlung Konzepte von Betriebssystem-Komponenten Sommersemester 2005 Uni Erlangen Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebsysteme Tarek Gasmi Tarek.Gasmi@informatik.stud.uni-erlangen.de Tarek Gasmi

Mehr

Einführung. Übungen zur Vorlesung Virtuelle Maschinen. Stefan Potyra. SoSe 2009

Einführung. Übungen zur Vorlesung Virtuelle Maschinen. Stefan Potyra. SoSe 2009 Einführung Übungen zur Vorlesung Virtuelle Maschinen Stefan Potyra Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SoSe 2009 Übungsaufgaben 1 Entwickeln

Mehr

Echtzeit-Multitasking

Echtzeit-Multitasking Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme

Mehr

1 Rechnerstrukturen 1: Der Sehr Einfache Computer

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

Mehr

Technische Informatik II Rechnerarchitektur

Technische Informatik II Rechnerarchitektur Technische Informatik II Rechnerarchitektur 3.Unterprogramme in MMIX Matthias Dräger E-Mail: www: mdraeger@mi.fu-berlin.de www.matthias-draeger.info/lehre/sose2010ti2/ tinyurl.com/sose2010ti2 Zuletzt bearbeitet:

Mehr

Arithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9

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

Mehr

Cache Blöcke und Offsets

Cache Blöcke und Offsets Cache Blöcke und Offsets Ein Cache Eintrag speichert in der Regel gleich mehrere im Speicher aufeinander folgende Bytes. Grund: räumliche Lokalität wird wie folgt besser ausgenutzt: Bei Cache Miss gleich

Mehr

Konzepte von Betriebssystem- Komponenten Ausnahme- / Unterbrechungsbehandlung

Konzepte von Betriebssystem- Komponenten Ausnahme- / Unterbrechungsbehandlung Konzepte von Betriebssystem- Komponenten Ausnahme- / Unterbrechungsbehandlung Sommersemester 2005 Uni Erlangen Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebsysteme Tarek Gasmi Tarek.Gasmi@informatik.stud.uni-erlangen.de

Mehr

Hochschule Düsseldorf University of Applied Sciences HSD RISC &CISC

Hochschule Düsseldorf University of Applied Sciences HSD RISC &CISC HSD RISC &CISC CISC - Complex Instruction Set Computer - Annahme: größerer Befehlssatz und komplexere Befehlen höhere Leistungsfähigkeit - Möglichst wenige Zeilen verwendet, um Aufgaben auszuführen - Großer

Mehr

Übung Praktische Informatik II

Übung Praktische Informatik II Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 22.05.09 11-1 Heutige große Übung Ankündigung

Mehr

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011

Rechnerorganisation 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

Mehr

32 Bit Konstanten und Adressierung. Grundlagen der Rechnerarchitektur Assembler 78

32 Bit Konstanten und Adressierung. Grundlagen der Rechnerarchitektur Assembler 78 32 Bit Konstanten und Adressierung Grundlagen der Rechnerarchitektur Assembler 78 Immediate kann nur 16 Bit lang sein Erinnerung: Laden einer Konstante in ein Register addi $t0, $zero, 200 Als Maschinen

Mehr

Mikrocomputertechnik

Mikrocomputertechnik Mikrocomputertechnik Thema: CPU Timing XC888 und Interrupt System des XC888 und Timer/Counter 0 und 1 -Im InterruptBetrieb - CPU Timing XC888 CPU Timing XC888 Befehl Befehl Befehl Befehlszyklus Befehlszyklus

Mehr

Von-Neumann-Architektur

Von-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..

Mehr

Betriebssysteme. Tutorium 2. Philipp Kirchhofer

Betriebssysteme. Tutorium 2. Philipp Kirchhofer Betriebssysteme Tutorium 2 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 4. November 2009 Philipp

Mehr

Teil 1: Prozessorstrukturen

Teil 1: Prozessorstrukturen Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium

Mehr

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

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

Mehr

Assembler-Unterprogramme

Assembler-Unterprogramme Assembler-Unterprogramme Rolle des Stack Prinzipieller Ablauf Prinzipieller Aufbau Unterprogramme void main(void) int sub(int i) { { int i,k; return i*2; i = sub(13); } k = sub(14); } Wie macht man das

Mehr

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus 4.2 Caches é Cache kommt aus dem Französischen: cacher (verstecken). é Er kann durch ein Anwendungsprogramm nicht explizit adressiert werden. é Er ist software-transparent, d.h. der Benutzer braucht nichts

Mehr

3. Rechnerarchitektur

3. Rechnerarchitektur ISS: EDV-Grundlagen 1. Einleitung und Geschichte der EDV 2. Daten und Codierung 3. Rechnerarchitektur 4. Programmierung und Softwareentwicklung 5. Betriebssyteme 6. Internet und Internet-Dienste 3. Rechnerarchitektur

Mehr

Arithmetische und Logische Einheit (ALU)

Arithmetische und Logische Einheit (ALU) Arithmetische und Logische Einheit (ALU) Enthält Blöcke für logische und arithmetische Operationen. n Bit Worte werden mit n hintereinander geschalteten 1 Bit ALUs bearbeitet. Steuerleitungen bestimmen

Mehr

Übungsklausur Mikroprozessortechnik und Eingebettete Systeme I

Übungsklausur Mikroprozessortechnik und Eingebettete Systeme I Übungsklausur Mikroprozessortechnik und Eingebettete Systeme I Aufgabe Punkte Aufgabe 1: / 35 Aufgabe 2: / 25 Aufgabe 3: / 15 Aufgabe 4: / 15 Aufgabe 5: / 35 Aufgabe 6: / 15 Aufgabe 7: / 20 Aufgabe 8:

Mehr

Hinweise C-Programmierung

Hinweise C-Programmierung Hinweise C-Programmierung Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2016/2017 V. Sieh Hinweise C-Programmierung

Mehr

Betriebssysteme Teil 3: Laufzeitsystem für Programme

Betriebssysteme Teil 3: Laufzeitsystem für Programme Betriebssysteme Teil 3: Laufzeitsystem für Programme 23.10.15 1 Literatur [3-1] Stack: http://fbim.fh-regensburg.de/~hab39652/pg1/skriptum/ ausdruecke/maschinenmodell.html [3-2] https://de.wikipedia.org/wiki/dynamischer_speicher

Mehr

Mikrocomputertechnik

Mikrocomputertechnik Mikrocomputertechnik Bernd-Dieter Schaaf Mit Mikrocontrollern der Familie 8051 ISBN 3-446-40017-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40017-6 sowie im Buchhandel

Mehr

Vorstellung (Wdh. für die Neuen )

Vorstellung (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

Mehr

Echtzeitbetriebssysteme

Echtzeitbetriebssysteme Speicherverwaltung (Memory Management) Aufgaben der Memory-Management-Unit ist l der Speicherschutz und l die Adressumsetzung Wird durch Hardware unterstützt l Memory Management Unit (MMU) l MMU wird vom

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 21.12.2016 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr