8 Cache. 8.1 Motivation. 8.1 Motivation 335

Größe: px
Ab Seite anzeigen:

Download "8 Cache. 8.1 Motivation. 8.1 Motivation 335"

Transkript

1 8.1 Motiation Cache 8.1 Motiation Pipelining-Register werden gleichzeitig getaktet. Dadurch wird die Performance eines Pipelining-Systems on der langsamsten Stufe bestimmt. BD- und ES-Phase können schnell abgearbeitet werden, da hier keine aufwendigen Operationen notwendig sind. Die Dauer der AF-Phase hängt om jeweiligen Befehl ab: Manche Befehle können sehr schnell ausgeführt werden (z.b. ODER-Befehle), andere Befehle (z.b. Multiplikation, Diision, Wurzel) dauern wesentlich länger. Die BH- und SP-Phasen dauern sehr lang, da sich der Speicher ausserhalb des Prozessors befindet. Längere Verbindungsleitungen führen zu längeren Signallaufzeiten und höheren parasitären Kapazitäten. Speicherbausteine werden über ein eigenes Protokoll angesprochen, das on einer Hardware-Schaltung implementiert wird. Dadurch entstehen zusätzliche Gatterlaufzeiten. Aus Platz- und Kostengründen (Ausbeute) ist der Arbeitsspeicher in der Regel aus langsamen DRAM-Bausteinen (1 Transistor + 1 Kondensator pro Speicherstelle) aufgebaut und nicht aus schnellen SRAM-Bausteinen (6 Transistoren pro Speicherstelle). Durch die große Menge an Arbeitsspeicher (z.b. 16 Milliarden Byte RAM $ 256 Register zu je 64 Bit) dauert die Adressierung sehr lange: Es müssen iele Gatter durchlaufen werden, höhere parasitäre Kapazitäten etc. Analysen on Speicherzugriffen haben gezeigt, dass während der Ausführung on Programmen häufig auf die selben oder benachbarte Speicherstellen zugegriffen wird. Dabei wird zwischen örtlicher und zeitlicher Lokalität unterschieden.

2 336 8 Cache Örtliche Lokalität bedeutet, dass beim Zugriff auf eine Speicherstelle sehr wahrscheinlich auch auf eine Speicherstelle in der Nähe zugegriffen wird. Das hat u.a. folgende Ursachen: Die natürliche Befehlsabfolge ist sequentiell und aufeinander folgende Befehle liegen hintereinander im Speicher. Aufeinander folgende Befehle bzw. Befehle an Adressen in der Nähe beschäftigen sich in der Regel mit demselben Problem (z.b. selbe Funktion) und erwenden deswegen auch die selben Daten bzw. zusammengehörige (z.b. zur selben Funktion gehörige) Daten. Zusammengehörige Daten werden (wie zusammengehörige Befehle) im Speicher an benachbarten Adressen abgespeichert. Beispiele: Bei Arrays werden die einzelnen Elemente direkt hintereinander im Speicher abgelegt. Bei der Allokation on Daten auf dem Heap (z.b. mit malloc, new,...) wird om Betriebssystem ein Zeiger auf einen zusammenhängenden Speicherbereich zurückgegeben. Lokale Variable werden nach Funktionen gruppiert der Funktions- Aufrufreihenfolge entsprechend auf dem Stack abgelegt. Zeitliche Lokalität bedeutet, dass es bei einem Zugriff auf eine Speicherstelle sehr wahrscheinlich ist, dass innerhalb eines kurzen Zeitraums wieder auf dieselbe Speicherstelle zugegriffen wird. Das hat u.a. folgende Gründe: Variable werden in der Regel mehrfach erwendet, aus Prinzip mindestens zweimal: Auf eine Variable lesend zuzugreifen macht nur Sinn, wenn zuor etwas hineingeschrieben wurde. Ebenso macht es nur Sinn, etwas in eine Variable hineinzuschreiben, wenn das geschriebene Datenwort auch wieder ausgelesen wird. Für Zugriffe auf erschiedene Elemente eines Arrays wird immer dieselbe Basisadresse erwendet. Ein Schleifenzähler wird bei jedem Schleifendurchlauf geändert und für einen Vergleich abgefragt. Befindet sich ein Befehl in einer Schleife, so werden mit jeder Iteration die Adressen derselben Befehle in den Befehlszähler geladen und dieselben Variablen erwendet.

3 8.2 Speicher-Hierarchien 337 Aufgrund der Zeitlichen Lokalität können Speicherzugriffe dadurch beschleunigt werden, dass beim erstmaligen Zugriff auf eine Speicheradresse das adressierte Wort für zukünftige Zugriffe in einem auf dem Prozessor-Die befindlichen schnellen Puffer-Speicher, dem sog. Cache-Speicher, zwischengespeichert wird. Wird erneut auf die selbe Speicheradresse zugegriffen, kann das im Cache-Speicher orhandene Wort erwendet und der langsame Zugriff auf den Arbeitsspeicher ermieden werden. Werden zusätzlich Worte on benachbarten Adressen in den Cache-Speicher geladen, kann neben der Zeitlichen Lokalität auch die Örtliche Lokalität zur Verringerung der Speicherzugriffszeit ausgenutzt werden. Beim sog. Prefetching werden Befehle/Daten im Voraus auf Verdacht om Arbeitsspeicher angefordert, d.h. ohne Vorliegen eines konkreten Lade- oder Speicherbefehls. Wird dann tatsächlich ein Lade- oder Speicherbefehl mit einer entsprechenden Adresse ausgeführt, stehen die Daten bereits im Cache-Speicher, was den Zugriff deutlich beschleunigt. 8.2 Speicher-Hierarchien Um sehr schnell auf gespeicherte Daten zugreifen zu können, müssen diese sehr schnell adressiert werden können. Voraussetzung für eine schnelle Adressierung ist, dass die Daten nur aus einer kleinen Datenmenge ausgewählt werden müssen und nicht aus einer großen Datenmenge (parasitäre Kapazitäten, zusätzliche (mehrstufige) Adressierungs- Logik,...). Aus diesem Grund werden Speichersysteme häufig hierarchisch aufgebaut. Nachfolgende Abbildung zeigt ein Beispiel für eine Speicherhierarchie. 256 Register zu je 64 Bit Prozessor-Register 1 Prozessortakt 0,4 ns 32 kb pro Prozessorkern L1-Cache 1 Prozessortakt 0,4 ns 256 kb pro Prozessorkern L2-Cache 10 Prozessortakte 4 ns 8 MB geteilt on mehreren Prozessorkernen L3-Cache 50 Prozessortakte 20 ns 16 GB geteilt on mehreren Prozessorkernen Arbeitsspeicher 150 Prozessortakte 60 ns 1 TB geteilt on allen Prozessorkernen SSD/HDD 250 bzw Takte 100 ns bzw. 10 ms

4 338 8 Cache Je weiter oben sich ein Speicherlement in der Hierarchie befindet desto schneller und kleiner ist es. Je weiter unten sich ein Speicherelement in der Hierarchie befindet, desto mehr Daten kann es aufnehmen ist aber auch dementsprechend langsamer. 8.3 Begriffsklärungen Das Grundprinzip on Caches beruht darauf, Datenworte aus großen langsamen Speichern in kleinen schnellen Speichern (Caches) zu puffern. Das Puffern findet blockweise statt, d.h. es werden immer nur komplette Speicher-Blöcke im Cache abgelegt. Diese Blöcke werden auch Rahmen (engl. frames) oder Zeilen (engl. cache lines) genannt. Cache-Hit, Hit-Time und Hit-Rate Ist bei einem Speicherzugriff das adressierte Datenwort bereits im Cache orhanden, spricht man on einem Cache-Hit (engl. hit = Treffer). In diesem Fall ist die Zugriffszeit auf das Datenwort kurz. Die Zugriffszeit im Falle eines Cache-Hits nennt man Hit-Time, die mittlere Auftritts-Wahrscheinlichkeit für einen Cache-Hit nennt man Hit-Rate. Cache-Miss, Miss-Time und Miss-Rate Ist das adressierte Datenwort nicht im Cache erfügbar, spricht man on einem Cache- Miss. Das Datenwort muss dann erst aus dem nachgeschalteten (langsameren/größeren) Speicher in den Cache geladen werden. Die Zeit, bis das Datenwort erfügbar ist, nennt man Miss-Time. Die mittlere Auftritts-Wahrscheinlichkeit für einen Cache-Miss nennt man Miss-Rate. Verdrängungsstrategien Durch die geringe Größe der schnellen Speicher ist deren Aufnahmekapazität stark begrenzt. Ist ein kleiner schneller Speicher oll, müssen erst Daten om kleinen schnellen in den großen langsamen Speicher zurückgeschrieben werden. Erst wenn durch diese sog. Verdrängung wieder Platz geschaffen wurde, können neue Daten om großen langsamen in den kleinen schnellen Speicher geladen werden. Gibt es mehrere Cache- Rahmen, an denen ein Arbeitsspeicher-Rahmen abgelegt werden kann, muss zunächst entschieden werden, welcher Cache-Rahmen erdrängt werden soll. Dazu gibt es mehrere Strategien, z.b.: LRU: LRU steht für least recently used und meint, dass derjenige Rahmen erdrängt wird, der am längsten nicht erwendet wurde. Die Implementierung ist aufwendig. LFU: LFU steht für least frequently used und meint, dass der am seltensten benutzte Rahmen erdrängt wird.

5 8.3 Begriffsklärungen 339 FIFO: FIFO steht für first in first out und meint, dass Rahmen in der Reihenfolge erdrängt werden, in der sie in den Cache-Speicher geschrieben wurden. Random: Die Auswahl des zu erdrängenden Rahmens erfolgt zufällig, d.h. ohne feste Regel. Dieses (planlose) Vorgehen kann gegenüber den anderen Verdrängungsstrategien durchaus Vorteile bieten: Ist die Reihenfolge der Datenzugriffe beispielsweise iterati konsekuti und die Menge der Daten so groß, dass nicht alle Daten gleichzeitig in den Cache passen, dann kann durch die Zufälligkeit sehr wahrscheinlich eine Hitrate > 0 erreicht werden, während LRU definiti zu einer Hit-Rate on 0 führt. Optimal: Es werden diejenigen Daten erdrängt, die am spätesten benötigt werden. Dieses Verfahren ist zwar optimal, in der Praxis jedoch nicht einsetzbar, da in der Regel nicht im Voraus bekannt ist, auf welche Daten zukünftig zugegriffen wird (Datenabhängigkeiten etc.). Das Verfahren kann jedoch als Referenz zu Bewertung anderer Verfahren erwendet werden. Schreibstrategien Wird auf ein im Cache-Speicher orhandenes Datenwort schreibend zugegriffen, gibt es zwei mögliche Vorgehensweisen: Write-Through: Das zu schreibende Datenwort wird sowohl im Cache-Speicher als auch auf den anderen Hierarchie-Ebenen (z.b. Arbeitsspeicher) aktualisiert. Dadurch werden in einem Mehrkern-Prozessorsystem Änderungen auch für andere Prozessorkerne zugänglich. Um die Befehlserarbeitung nicht aufzuhalten, werden die Schreibzugriffe gepuffert und asynchron im Hintergrund ausgeführt. Write-Back: Das zu schreibende Datenwort wird nur im Cache-Speicher aktualisiert. Die Synchronisierung mit den anderen Hierarchie-Ebenen erfolgt erst bei der Verdrängung des entsprechenden Cache-Blocks. Wird auf ein nicht im Cache befindliches Datenwort schreibend zugegriffen, gibt es ebenfalls zwei Vorgehensweisen: Write-Allocate: Das Datenwort wird im Cache gespeichert. Dazu muss ggf. zunächst ein Cache-Block erdrängt werden, beor der zur Speicheradresse gehörige Cache-Block in den Cache geladen werden kann. Ist der passende Cache-Block geladen, wird das neue Datenwort darin abgelegt. Write-No-Allocate/Write-Around: Das Datenwort wird nicht im Cache gespeichert. Das kann sinnoll sein, wenn klar ist, dass das Datenwort nicht mehr

6 340 8 Cache benötigt wird und ein Speichern ggf. die Verdrängung eines später benötigten Datenworts zur Folge hätte. Aufgaben a) Bei der Ausführung eines Programms auf einem System mit L1 Cache-Speicher und Arbeitsspeicher wird eine Hit-Rate on 70% beobachtet. Wie groß ist die Miss-Rate? 100% - 70% = 30% b) Bei der Ausführung eines Programms wird eine Hit-Rate on 90 % gemessen. Die Hit-Time beträgt 1 ns, die Miss-Time 50 ns. Wie groß ist die mittlere Speicher- Zugriffszeit? 1ns 0,9 + 50ns (1 0,9) = 0,9ns +5ns = 5,9ns c) Ein Programm besteht aus 90 Lade- und 10 Speicher-Befehlen, für deren Ausführung insgesamt 1,28 µs beobachtet werden. Wie groß ist die Hit-Rate, wenn die Hit-Time 1 ns und die Miss-Time 60 ns betragen? (h 1ns +(1 h) 60ns) 100 = 1280ns h 1ns +(1 h) 60ns = 12,8ns h (1 60)ns = 12,8ns 60ns h = 47,2ns 59ns = 0,8 Die Hit-Rate beträgt 80%.

7 8.4 Direkt-Abgebildeter Cache Direkt-Abgebildeter Cache Beim Direkt-Abgebildeten Cache (engl. direct mapped cache) wird jeder Speicher- Adresse genau eine feste Cache-Adresse zugeordnet. Dazu wird die Speicheradresse in drei Teile aufgeteilt: Die f Bit breite Rahmen-Nummer (engl. frame number) wählt einen on 2 f Cache-Rahmen (= Cache-Block = Cache-Zeile) aus. Die b Bit breite Byte-Auswahl wählt aus den 2 b pro Rahmen abgespeicherten Byte ein Byte aus. Wird nicht ein einzelnes Byte sondern ein aus mehreren Byte zusammengesetztes Datenwort adressiert, kann durch Löschen der niederwertigsten Bits eine entsprechende Wort-Adresse erzwungen werden. Mit dem k Bit breiten Schlüssel (engl. key) kann überprüft werden, ob in dem ausgewählten Rahmen die zur Speicheradresse gehörigen Daten abgelegt sind. Diese Überprüfung ist notwendig, da bei einem 2 n = 2 k+f +b Byte großen Arbeitsspeicher jeweils 2 k unterschiedliche 2 b Byte große Arbeitsspeicher- Blöcke auf den selben durch f adressierten Cache-Rahmen abgebildet werden. Arbeitsspeicher-Adresse (k + f + b Bits) k Bits Schlüssel f Bits Rahmen-Nr. b Bits Byte-Auswahl k (key) f (frame) Rahmen (frame) b bytes 0 b f 2-1 k Bits f In diesen k 2 Bits des sog. Tag-RAMs ist der on jedem Cache-Rahmen erwendete Schlüssel abgespeichert f+b In diesen 2 Byte sind die Cache-Daten abgespeichert (Cache-Inhalt)

8 342 8 Cache Wird ein neuer Rahmen im Cache abgelegt, so wird der Schlüssel-Teil der Arbeitsspeicher-Adresse an Adresse f des sog. Tag-RAMs (engl. tag = Etikett) abgelegt. Bei einem erneuten Zugriff muss das durch die Rahmen-Nummer ausgewählte Tag mit dem Schlüssel-Teil der Arbeitsspeicher-Adresse erglichen werden. Sind der Schlüssel und das abgespeicherte Tag identisch, dann ist in dem durch f adressierten Rahmen tatsächlich das adressierte Datenwort gespeichert. Durch die Byte-Auswahl b kann das entsprechende Datenwort dann adressiert und ausgelesen werden. Sind Schlüssel und Tag unterschiedlich, dann ist im adressierten Rahmen nicht der zum Datenwort gehörige Speicher-Block abgelegt, sondern einer der 2 k 1 möglichen anderen. Beor auf den Cache zugegriffen werden kann, muss der im Cache gespeicherte Rahmen zunächst in den Arbeitsspeicher erdrängt werden. Anschließend kann der adressierte Speicher-Block om Arbeitsspeicher in den zugehörigen Cache-Rahmen kopiert werden. Um die Arbeitsspeicher- Adresse des im Cache abgespeicherten Datenworts später wieder eindeutig identifizieren zu können, wird der Schlüssel-Teil der Speicheradresse im Tag- RAM an der durch f adressierten Stelle abgelegt. Zum Vergleich des Schlüssels mit dem Tag werden k 1 Bit-Vergleicher benötigt. Das sog. Valid-Bit zeigt an, ob im adressierten Cache-Rahmen gültige Daten stehen. Zu Beginn sind alle Valid-Bits gelöscht. Wird ein Rahmen om Arbeitsspeicher in den Cache geladen, wird das Valid-Bit auf 1 gesetzt. Neben dem Valid-Bit wird bei Caches mit write-back-schreibstrategie zusätzlich ein sog. Dirty-Bit erwendet, welches anzeigt, ob die im Rahmen befindlichen Daten geändert wurden. Geänderte Daten müssen beim Verdrängen wieder in den Arbeitsspeicher kopiert werden, uneränderte nicht. Durch die einfache Rahmenauswahl sind direktabgebildeten Caches sehr schnell. Erfolgen jedoch Zugriffe on Adressen mit identischen Rahmen-Nummern, aber unterschiedlichen Schlüsseln, so erdrängen sich die Zugriffe permanent gegenseitig, auch wenn noch andere Rahmen frei wären. Verdrängungsstrategien wie LRU o.ä. zur Auswahl des zu erdrängenden Rahmens finden hier keine Anwendung, da der zu erdrängende Rahmen direkt durch f festgelegt ist. Aufgaben a) Wieiele Einträge hat das Tag-RAM, wenn zur Codierung der Rahmen-Nummer 20 Bits erwendet werden? 2 20 = 1M

9 8.4 Direkt-Abgebildeter Cache 343 b) Welcher Rahmen wird beim Zugriff mit der 64 Bit breiten Arbeitsspeicher-Adresse 0x ABCDEF ausgewählt, wenn der Schlüssel mit 40 Bits und die Byteauswahl mit 12 Bits codiert wird? 0xABC c) Welcher Rahmen wird beim Zugriff mit der 64 Bit breiten Arbeitsspeicher-Adresse 0x ABCDEF ausgewählt, wenn der Schlüssel mit 38 Bits und die Byteauswahl mit 10 Bits codiert wird? Geben Sie den Wert hexadezimal an = = 0x6AF3. d) Wieiele 1-Bit-Vergleicher sind allgemein zum Vergleich des Schlüssels mit dem adressierten Tag-RAM-Eintrag notwendig? k Bit e) Warum werden bei einem Arbeitsspeicher-/Cache-Zugriff die oberen k Bits der Arbeitsspeicher-Adresse im Tag-RAM abgelegt? Da ein Cache-Rahmen für sehr iele Arbeitsspeicher-Rahmen zuständig ist, muss man sich irgendwie merken, welcher der ielen möglichen Arbeitsspeicher-Rahmen gerade im Cache abgespeichert ist. f) Wie groß ist ein Cache-Rahmen, wenn zur Codierung der Byte-Auswahl 12 Bits erwendet werden? 2 12 = 4096 Byte = 4 kbyte g) In einem Cache-Rahmen können 16 Octas abgelegt werden. Wieiele Bits werden zur Codierung der Byteauswahl benötigt? 16 8 Byte = 128 Byte ) 7 Bits

10 344 8 Cache 8.5 Voll-Assoziatier Cache Bei einem Voll-Assoziatien Cache (engl. fully associatie cache) können die Daten eines Arbeitsspeicher-Rahmens in jedem beliebigen Cache-Rahmen abgelegt werden. So wird sichergestellt, dass erst dann Rahmen entsprechend der eingesetzten Verdrängungsstrategie (z.b. LRU) erdrängt werden müssen, wenn alle Cache-Rahmen belegt sind. Die Wahrscheinlichkeit für eine Verdrängung ist beim Voll-Assoziatien Cache somit geringer als beim Direktabgebildeten Cache. Jedoch ist beim Voll-Assoziatien Cache die Identifikation des korrekten Rahmens aufwendiger () langsamer), da der Schlüssel mit den Tags aller Rahmen erglichen werden muss. Aufgaben a) Wie muss die Arbeitsspeicher-Adresse zur Adressierung eines Voll-Assoziatien Caches aufgeteilt werden? Es muss kein Rahmen ausgewählt werden ) die Arbeitsspeicher-Adresse wird nur in Schlüssel und Byteauswahl unterteilt. b) Ein ollassoziatier MMIX-Cache-Speicher erwendet eine Rahmengröße on 256 Byte. Wieiele Bits werden zur Codierung des Schlüssels erwendet? 64-8 = 56. c) Ein 32 kbyte großer ollassoziatier MMIX-Cache-Speicher erwendet eine Rahmengröße on 256 Byte. Wieiele 1-Bit-Vergleicher sind zum Vergleich des Schlüssels mit den Tags notwendig? Anzahl der Tag-RAM-Einträge: 32 kbyte / 256 Byte = Bit-Vergleicher: 128 * (64-8) = 128 * 56 = =2 7 = 128. Anzahl der

11 8.6 Set-Assoziatier Cache Set-Assoziatier Cache Ein Set-Assoziatier Cache (engl. set associatie cache) kann als Kompromiss zwischen einem Direkt-Abgebildeten und einem Voll-Assoziatien Cache angesehen werden. Die Arbeitsspeicher-Adresse wird wie beim Direkt-Abgebildeten Cache in drei Teile aufgeteilt. Der Mittlere Teil ist hier jedoch nicht einem einzigen Rahmen zugeordnet, sondern einer Menge (engl. set) an Rahmen. Die Anzahl der Rahmen in dieser Menge heißt Assoziatiität a. Nach der Adressierung der potentiellen Rahmen müssen beim Set-Assoziatien Cache nur a Tags parallel mit dem Schlüssel erglichen werden. Verglichen mit dem Direkt-Abgebildeten Cache ist die Rahmensuche aufwendiger, die Verdrängungswahrscheinlichkeit jedoch geringer. Verglichen mit dem Voll-Assoziatien Cache ist die Rahmensuche weniger aufwendig, die Verdrängungswahrscheinlichkeit jedoch höher. Arbeitsspeicher-Adresse (k + s + b Bits) k Bits Schlüssel s Bits Set-Nr. b Bits Byte-Auswahl k (key) Assoziatiität a = 2 s (set) Rahmen (frame) b bytes 0 b s k Bits s In diesen k 2 Bits des sog. Tag-RAMs ist der on jedem Cache-Rahmen erwendete Schlüssel abgespeichert s+b In diesen a 2 Byte sind die Cache-Daten abgespeichert (Cache-Inhalt) Zur Detektion, ob ein Arbeitsspeicher-Rahmen im Cache liegt, muss der Schlüssel der Arbeitsspeicher-Adresse mit allen Tags des durch die Set-Nummer adressierten Cache- Sets erglichen werden. Die Entscheidung, welcher Rahmen eines Sets erdrängt werden muss, erfolgt entsprechend der angewendeten Verdrängungsstrategie (z.b. LRU).

12 346 8 Cache Aufgaben a) Wieiele 1-Bit-Vergleicher sind für einen 4 fach Set-Assoziatien MMIX-Cache notwendig, wenn die Rahmengröße 2048 Byte beträgt und bei jeder sten Speicheradresse auf dasselbe Set zugegriffen wird? Wieiele Sets hat der Cache? Zugriff auf dasselbe Set jede ste Arbeitsspeicher-Adresse ) s + b = 28 ) s= 28 - b = = 17. ) Der Cache hat 2 17 Sets. Schlüsselbreite: k = = 36 Anzahl der Vergleicher: 36 4 = 144. b) Über wieiele Cache-Rahmen erfügt ein 8 fach Set-Assoziatier MMIX-Cache, wenn zur Codierung der Set-Nummer 13 Bit erwendet werden? = 2 16 = Ein 8 fach Set-Assoziatier MMIX-Cache hat eine Größe on 1 MB. Die Rahmengröße beträgt 32 Byte. c) Wieiele Bits werden zur Codierung der Byteauswahl, der Setnummer und des Schlüssels erwendet? Byteauswahl: ld(32) Bit = 5 Bit Anzahl der Sets: 1 MB / (32 8) Byte = =2 12 ) 12 Bits zur Codierung der Setnummer Schlüssel: = 47

13 8.6 Set-Assoziatier Cache 347 Ein 16 fach Set-Assoziatier MMIX-Cache hat 2048 Cache Sets. Zum Vergleich des Schlüssels mit den Tags werden 688 Vergleicher erwendet. d) Welche Rahmengröße hat der Cache? Schlüssel: 688 / 16 = 43 Setnummer: ld(2048) = 11 Byteauswahl: = 10 Rahmengröße: 2 10 Byte = 1024 Byte Ein Set-Assoziatier Cache erwendet zur Codierung des Schlüssels 41 Bit, zur Codierung der Setnummer 16 Bit und zur Codierung der Byteauswahl 7 Bit. e) Geben Sie für folgende Arbeitsspeicher-Adressen die zugehörige Set-Nummer an. 0x : 0x : 0x B 0228: 0x0000 0x468A 0x1604

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 10 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

Mehr

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Speicherhierarchie In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Register Speicherzellen, direkt mit der Recheneinheit verbunden Cache-Speicher Puffer-Speicher

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

Grob-Struktur des Prozessor-Speichersystems

Grob-Struktur des Prozessor-Speichersystems 2.3.2 Speicherstruktur (1) Grob-Struktur des Prozessor-Speichersystems Chipsatz (Erklärung s. später, Folie 104) 22.4.-27.5.2013, Folie 52 2.3.2 Speicherstruktur (2) Zugriff Prozessor zumeist auf schnelle

Mehr

Grundlagen der Rechnerarchitektur. Speicher

Grundlagen der Rechnerarchitektur. Speicher Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie

Mehr

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset. Quiz Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset 32 Bit Adresse 31 3 29... 2 1 SS 212 Grundlagen der Rechnerarchitektur

Mehr

Cache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22

Cache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22 Cache Grundlagen Schreibender Cache Zugriff SS 212 Grundlagen der Rechnerarchitektur Speicher 22 Eine einfache Strategie Schreibt man nur in den Cache, werden Cache und darunter liegender Speicher inkonsistent.

Mehr

Besprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur

Besprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur Themen heute Besprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur Besprechung des 8. Übungsblattes Aufgabe 2.6. In diesem

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

Speicherhierarchie, Caches, Consistency Models

Speicherhierarchie, Caches, Consistency Models Speicherhierarchie, Caches, Consistency Models Maximilian Langknecht Lehrstuhl für Rechnerarchitektur Betreuer: Prof. Dr. Ulrich Brüning 1 Inhaltsverzeichnis Speicherhierarchie Warum gibt es Speicherhierarchie?

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie

Mehr

Grundlagen der Informationsverarbeitung:

Grundlagen der Informationsverarbeitung: Grundlagen der Informationsverarbeitung: Speicherhierarchie Prof. Dr.-Ing. habil. Ulrike Lucke Durchgeführt von Prof. Dr. rer. nat. habil. Mario Schölzel Maximaler Raum für Titelbild (wenn kleiner dann

Mehr

, 2014W Übungsgruppen: Mo., Mi.,

, 2014W Übungsgruppen: Mo., Mi., VU Technische Grundlagen der Informatik Übung 7: Speichermanagement 183.579, 2014W Übungsgruppen: Mo., 12.01. Mi., 14.01.2015 Aufgabe 1: Cache-Adressierung Ein Prozessor mit einer Adresslänge von 20 Bit

Mehr

, 2015W Übungsgruppen: Mo., Mi.,

, 2015W Übungsgruppen: Mo., Mi., VU Technische Grundlagen der Informatik Übung 7: Speichermanagement 183.579, 2015W Übungsgruppen: Mo., 11.01. Mi., 13.01.2016 Aufgabe 1: Cache-Adressierung Ihr Cachingsystem soll 32 GiB an Speicher auf

Mehr

Lösungsvorschlag zur 5. Übung

Lösungsvorschlag zur 5. Übung Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zur 5. Übung 1 Präsenzübungen 1.1 Schnelltest a) Welche Aussagen über Caches sind

Mehr

Grundlagen der Rechnerarchitektur. Speicher

Grundlagen der Rechnerarchitektur. Speicher Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie

Mehr

Technische Informatik 1 - HS 2017

Technische Informatik 1 - HS 2017 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik 1 - HS 2017 Übung 11 Datum: 21. 22. 12. 2017 Virtueller Speicher 1 Performanz Gehen Sie von einem virtuellen

Mehr

Speicherverwaltung (Swapping und Paging)

Speicherverwaltung (Swapping und Paging) Speicherverwaltung (Swapping und Paging) Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente 750k 0 Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente

Mehr

Übung zu Einführung in die Informatik # 10

Übung zu Einführung in die Informatik # 10 Übung zu Einführung in die Informatik # 10 Tobias Schill tschill@techfak.uni-bielefeld.de 15. Januar 2016 Aktualisiert am 15. Januar 2016 um 9:58 Erstklausur: Mi, 24.02.2016 von 10-12Uhr Aufgabe 1* a),

Mehr

Physische Datenorganisation

Physische Datenorganisation Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID ( B-Bäume Hashing R-Bäume ) Kapitel 7 1 Überblick: Speicherhierarchie Register Cache Hauptspeicher Plattenspeicher Archivspeicher

Mehr

Betriebssysteme (BTS)

Betriebssysteme (BTS) .Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme..007 Organisatorisches zur Übung Verteilung auf die beiden

Mehr

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes Grundlagen der Informatik III Wintersemester 2010/2011 15. Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la

Mehr

Cache-Speicher. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach

Cache-Speicher. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach Cache-Speicher Design Digitaler Systeme Prof. Dr.-Ing. Rainer Bermbach Übersicht Cache-Speicher Warum Cache-Speicher? Cache-Strukturen Aufbau und Organisation von Caches Cache-Architekturen Cache-Strategien

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

6 Exkurs: Assoziativspeicher

6 Exkurs: Assoziativspeicher 6 Exkurs: Assoziativspeicher alternative Möglichkeit der Speicherung von Informationen in einem Computer: Assoziativspeicher (inhaltsadressierbarer Speicher bzw. CAM = Content Addressable Memory) : bei

Mehr

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112

Mehr

Teil 2: Speicherstrukturen

Teil 2: Speicherstrukturen Inhalt Teil 2: Speicherstrukturen Hauptspeicher Cache Assoziativspeicher Speicherverwaltungseinheit ( Memory Management Unit ) 1 Virtueller Speicher Trennung von virtuellem Adreßraum (mit virtuellen Adressen)

Mehr

Speicherorganisation

Speicherorganisation Speicherorganisation John von Neumann 1946 Ideal wäre ein unendlich großer, undendlich schneller und undendlich billiger Speicher, so dass jedes Wort unmittelbar, d.h. ohne Zeitverlust, zur Verfügung steht

Mehr

6 Exkurs: Assoziativspeicher (2) 6 Exkurs: Assoziativspeicher. 7.1 Speicherhierarchie. 7 Caches

6 Exkurs: Assoziativspeicher (2) 6 Exkurs: Assoziativspeicher. 7.1 Speicherhierarchie. 7 Caches 6 Exkurs: Assoziativspeicher alternative Möglichkeit der Speicherung von Informationen in einem Computer: Assoziativspeicher (inhaltsadressierbarer Speicher bzw. CAM = Content Addressable Memory) : bei

Mehr

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Grundlegende Bedeutung von Speicheradressierung: Wie sind die Daten auf Dem Speicher

Mehr

, SS2012 Übungsgruppen: Do., Mi.,

, SS2012 Übungsgruppen: Do., Mi., VU Technische Grundlagen der Informatik Übung 7: Speicher und Peripherie 183.579, SS2012 Übungsgruppen: Do., 31.05. Mi., 06.06.2012 Aufgabe 1: Ihre Kreativität ist gefragt! Um die Qualität der Lehrveranstaltung

Mehr

Cache-Kohärenz und -Konsistenz. Betreuer: Prof. Brüning Veton Kajtazi Mat.-Nr.: Universität Heidelberg

Cache-Kohärenz und -Konsistenz. Betreuer: Prof. Brüning Veton Kajtazi Mat.-Nr.: Universität Heidelberg Cache-Kohärenz und -Konsistenz Betreuer: Prof. Brüning Veton Kajtazi Mat.-Nr.: 3220501 Universität Heidelberg Inhaltsverzeichnis Wozu Caches? Unterschied Kohärenz und Konsistenz MESI-Protokoll Fazit 2

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

Technische Informatik I. Übung 3 Speicherhierarchie. v t d 0 d 1 d 2 d 3 0 1 2 3. Technische Informatik I Übung 3. Technische Informatik I Übung 3

Technische Informatik I. Übung 3 Speicherhierarchie. v t d 0 d 1 d 2 d 3 0 1 2 3. Technische Informatik I Übung 3. Technische Informatik I Übung 3 Institut für Kommunikationsnetze und Rechnersysteme Technische Informatik I Paul J. Kühn, Matthias Meyer Übung 3 Speicherhierarchie Inhaltsübersicht Aufgabe 3.1 Daten-Cache Aufgabe 3.2 Virtueller Speicher

Mehr

Speicher. Speicher. Speicherhierarchie. Speicher. Interessante Zahlen:

Speicher. Speicher. Speicherhierarchie. Speicher. Interessante Zahlen: Übersicht 1 Einleitung Hauptspeicher 2 Hauptspeicher 3 Caches, Cache-Kohärenz Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009

Mehr

Einführung in die technische Informatik

Einführung in die technische Informatik Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen

Mehr

Cache. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011

Cache. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Cache Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Cache 1/53 2012-02-29 Einleitung Hauptspeicherzugriffe sind langsam die

Mehr

Freispeicherverwaltung Martin Wahl,

Freispeicherverwaltung Martin Wahl, Freispeicherverwaltung Martin Wahl, 17.11.03 Allgemeines zur Speicherverwaltung Der physikalische Speicher wird in zwei Teile unterteilt: -Teil für den Kernel -Dynamischer Speicher Die Verwaltung des dynamischen

Mehr

Technische Informatik 1 - Übung & 22. Dezember Philipp Miedl

Technische Informatik 1 - Übung & 22. Dezember Philipp Miedl Technische Informatik 1 - Übung 11 21. & 22. Dezember 2017 Philipp Miedl Philipp Miedl 21.12.2017 22.12.2017 1 Motivation Aufteilen des Hauptspeichers auf mehrere Prozesse Philipp Miedl 21.12.2017 22.12.2017

Mehr

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) J. Zhang zhang@informatik.uni-hamburg.de Universität Hamburg AB Technische Aspekte Multimodaler Systeme

Mehr

Lösung von Übungsblatt 2

Lösung von Übungsblatt 2 Lösung von Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. Lochstreifen, Lochkarte, CD/DVD beim Pressen. 2. Nennen Sie zwei rotierende

Mehr

Technische Realisierung (1)

Technische Realisierung (1) Technische Realisierung () Einfachstes Modell: Prozess (Daten+Code) befindet sich im Hintergrundspeicher Bei teilweise eingelagerten Prozessen: Zusätzlich Teile im Hauptspeicher Logische Adressen überdecken

Mehr

(Cache-Schreibstrategien)

(Cache-Schreibstrategien) Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. 2. Nennen Sie zwei rotierende magnetische digitale Datenspeicher. 3. Nennen Sie zwei

Mehr

Schreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen).

Schreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen). Schreiben von Pages Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen). Write Through Strategie (siehe Abschnitt über Caching) ist hier somit nicht sinnvoll. Eine sinnvolle

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

ADS: Algorithmen und Datenstrukturen

ADS: Algorithmen und Datenstrukturen ADS: Algorithmen und Datenstrukturen Teil X Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 13.

Mehr

Lösungsvorschlag zur 6. Übung

Lösungsvorschlag zur 6. Übung rof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 9/1 Lösungsvorschlag zur 6. Übung 1 räsenzübungen 1.1 Schnelltest a) Caches und virtueller Speicher können

Mehr

Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert

Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert 1.: Speicherung und Adressierung von Daten Bei der Speicheradressierung

Mehr

Virtueller Speicher und Memory Management

Virtueller Speicher und Memory Management Virtueller Speicher und Memory Management Speicher-Paradigmen Programmierer ein großer Adressraum linear adressierbar Betriebssystem eine Menge laufender Tasks / Prozesse read-only Instruktionen read-write

Mehr

Aufgabe 4 : Virtueller Speicher

Aufgabe 4 : Virtueller Speicher Sommer 216 Technische Informatik I Lösungsvorschlag Seite 16 Aufgabe 4 : Virtueller Speicher (maximal 27 Punkte) 4.1: Generelle Funktionsweise (maximal 5 Punkte) (a) (1 Punkt) Nennen Sie zwei Gründe, weshalb

Mehr

Fachbericht Thema: Virtuelle Speicherverwaltung

Fachbericht Thema: Virtuelle Speicherverwaltung Fachbericht 15.10.99 1 HINTERGRÜNDE/ MOTIVATION 2 2 FUNKTIONEN DER SPEICHERVERWALTUNG 2 3 ARTEN DER SPEICHERVERWALTUNG 2 3.1 STATISCHE SPEICHERVERWALTUNG 2 3.2 DYNAMISCHE SPEICHERVERWALTUNG 3 3.2.1 REALER

Mehr

1. Welche Speichereinheiten werden belegt, wenn die folgenden Strategien eingesetzt werden?

1. Welche Speichereinheiten werden belegt, wenn die folgenden Strategien eingesetzt werden? Sommersemester 009 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Hausübung 05 Abgabe am 0.07.009 (Kästen D) Aufgabe : Speicherzuteilung (6++=8 Punkte) Es sei der

Mehr

Lösung von Übungsblatt 2

Lösung von Übungsblatt 2 Lösung von Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. Lochstreifen, Lochkarte, CD/DVD beim Pressen. 2. Nennen Sie zwei rotierende

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden

Mehr

Lehrveranstaltung: PR Rechnerorganisation Blatt 10. Thomas Aichholzer

Lehrveranstaltung: PR Rechnerorganisation Blatt 10. Thomas Aichholzer Aufgabe 10.1 Gegeben sei folgendes Code-Fragment, das zwei geschachtelte Schleifen implementiert: addi $t0, $a0, 100 outer: addi $t1, $a1, 200 inner: lw $t4, 0($t0) lw $t5, 0($t1) add $t2, $t0, $t1 add

Mehr

Zeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach 10.

Zeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach  10. Zeiger C-Kurs 2012, 2. Vorlesung Tino Kutschbach tino.kutschbach@campus.tu-berlin.de http://wiki.freitagsrunde.org 10. September 2012 This work is licensed under the Creative Commons Attribution-ShareAlike

Mehr

Algorithm Engineering. Alexander Kröller, Abteilung Algorithmik, IBR

Algorithm Engineering. Alexander Kröller, Abteilung Algorithmik, IBR #7 Terminchaos Nächste Vorlesungen: 27. 5. Vertretung durch Prof. Fekete 3. 6. Exkursionswoche 10. 6. Vertretung durch N.N. 17. 6. back to normal... Experiment Durchlaufe zwei gleichgrosse Arrays: Sortierte

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

Grundlagen der Informatik III Wintersemester 2010/2011

Grundlagen der Informatik III Wintersemester 2010/2011 Grundlagen der Informatik III Wintersemester 2010/2011 Wolfgang Heenes, Patrik Schmittat 6. Aufgabenblatt mit Lösungsvorschlag 06.12.2010 Hinweis: Der Schnelltest und die Aufgaben sollen in den Übungsgruppen

Mehr

RO-Tutorien 3 / 6 / 12

RO-Tutorien 3 / 6 / 12 RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 10 AM 01./02.07.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren

Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren der beiden Registerwerte $t1 und $t2 in einem Zielregister

Mehr

Freispeicherverwaltung

Freispeicherverwaltung Freispeicherverwaltung Allgemeine Techniken und Anwendung unter Linux Martin Wahl, 17.11.03 Freispeicherverwaltung 1 Überblick Allgemeines Suchstrategien Verwaltungsstrategien externer / interner Verschnitt

Mehr

Was machen wir heute? Betriebssysteme Tutorium 11. Mounten: Vorher. Frage 11.1.a

Was machen wir heute? Betriebssysteme Tutorium 11. Mounten: Vorher. Frage 11.1.a Was machen wir heute? Betriebssysteme Tutorium 11 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1

Mehr

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper Speicherverwaltung Real Mode Nach jedem starten eines PC befindet sich jeder x86 (8086, 80386, Pentium, AMD) CPU im sogenannten Real Mode. Datenregister (16Bit) Adressregister (20Bit) Dadurch lassen sich

Mehr

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben Themen heute Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben Besprechung des 9. Übungsblattes Aufgabe 2 Ist in einer Aufgabe wie hier keine explizite Wortbreite angegeben, nicht

Mehr

Vorlesung Rechnerarchitektur. Speicher V 1.2

Vorlesung Rechnerarchitektur. Speicher V 1.2 Speicher V 1.2 Speicheranbindung früher und heute Bei der MU0 wurde der Speicher in einem Taktzyklus gelesen und geschrieben Dieses Verhalten war für ältere Rechner charakteristisch und stimmt auch noch

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

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 4 Cache el0100 copyright W.

Mehr

Grundlagen der Informatik III Wintersemester 2010/2011

Grundlagen der Informatik III Wintersemester 2010/2011 Grundlagen der Informatik III Wintersemester 2010/2011 Wolfgang Heenes, atrik Schmittat 12. Aufgabenblatt 07.02.2011 Hinweis: Der Schnelltest und die Aufgaben sollen in den Übungsgruppen bearbeitet werden.

Mehr

Philipp Grasl PROZESSOREN

Philipp Grasl PROZESSOREN 1 PROZESSOREN INHALTSVERZEICHNIS Definition/Verwendung Prozessor Historische Entwicklung Prozessor Aufbau Prozessor Funktionsweise Prozessor Steuerung/Maschinenbefehle Prozessorkern Prozessortakt 2 DEFINITION

Mehr

3.Vorlesung Systemsoftware (SYS) Hochschule Mannheim

3.Vorlesung Systemsoftware (SYS) Hochschule Mannheim Christian Baun 3.Vorlesung Systemsoftware Hochschule Mannheim WS0809 1/42 3.Vorlesung Systemsoftware (SYS) Hochschule Mannheim Christian Baun Forschungszentrum Karlsruhe Institut für Wissenschaftliches

Mehr

Virtueller Speicher und Cache. VL5 GRT, SS 2004, Kneisel

Virtueller Speicher und Cache. VL5 GRT, SS 2004, Kneisel Virtueller Speicher und Cache VL5 GRT, SS 2004, Kneisel Speicherhierarchie Übersicht! Ausgangsproblem, Motivation! Virtueller Speicher " Paging, Adressübersetzung, Pufferung " Segmentierung Abgrenzung

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

Digital Design Entwicklung der DRAMs. Richard Roth / FB Informatik und Mathematik Speicher 1

Digital Design Entwicklung der DRAMs. Richard Roth / FB Informatik und Mathematik Speicher 1 Entwicklung der DRAMs Richard Roth / FB Informatik und Mathematik Speicher 1 Entwicklung der DRAMs in Zukunft Richard Roth / FB Informatik und Mathematik Speicher 2 DRAM Speicherzelle (Trench Technology)

Mehr

Ein konfigurierbarer, visueller Cache-Simulator unter spezieller Berücksichtigung komponenten- basierter Modellierung mit Java Beans

Ein konfigurierbarer, visueller Cache-Simulator unter spezieller Berücksichtigung komponenten- basierter Modellierung mit Java Beans Ein konfigurierbarer, visueller Simulator unter spezieller Berücksichtigung komponenten- basierter Modellierung mit Java Beans Holger 6. März 2001 Universität Wilhelm-Schickard-Institut für dieser Arbeit

Mehr

G. Caches. G.1.1 Kontext & Orientierung

G. Caches. G.1.1 Kontext & Orientierung G.1.1 Kontext & Orientierung G. Caches Caches sind kleine, aber schnelle Zwischen- bzw. Pufferspeicher. Assoziative Adressierung anstelle von direkter Adressierung. Für Code, Daten & virtuelle Adressen.

Mehr

Das Konzept der Speicherhierarchie

Das Konzept der Speicherhierarchie Das Konzept der Speicherhierarchie Small is fast, daher sind kleine Speicher schneller (und kosten mehr pro Byte). Vergrößerung von Speichern und schnellerer Zugriff sind aber Schlüsselfunktionen in der

Mehr

5. Aufgabenblatt Speicherverwaltung

5. Aufgabenblatt Speicherverwaltung Faculty of Computer Science Institute for System Architecture, Operating Systems Group Betriebssysteme und Sicherheit, WS 0/. Aufgabenblatt Speicherverwaltung Geplante Bearbeitungszeit: drei Wochen Aufgabe.

Mehr

Grundlagen der Informatik III Wintersemester 2010/2011

Grundlagen der Informatik III Wintersemester 2010/2011 Grundlagen der Informatik III Wintersemester 21/211 Wolfgang Heenes, atrik Schmittat 12. Aufgabenblatt mit Lösungsvorschlag 7.2.211 Hinweis: Der Schnelltest und die Aufgaben sollen in den Übungsgruppen

Mehr

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Paging. Einfaches Paging. Paging mit virtuellem Speicher Paging Einfaches Paging Paging mit virtuellem Speicher Einfaches Paging Wie bisher (im Gegensatz zu virtuellem Speicherkonzept): Prozesse sind entweder ganz im Speicher oder komplett ausgelagert. Im Gegensatz

Mehr

One of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed. Bin Hu

One of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed. Bin Hu Bin Hu Algorithmen und Datenstrukturen 2 Arbeitsbereich fr Algorithmen und Datenstrukturen Institut fr Computergraphik und Algorithmen Technische Universität Wien One of the few resources increasing faster

Mehr

2017/01/23 15:50 1/5 Bedienung

2017/01/23 15:50 1/5 Bedienung 2017/01/23 15:50 1/5 Bedienung Bedienung (J.Müller, Hilfe zu JTCEMU) Das originale 2K-System Das 2 KByte große Betriebssystem bietet die wichtigsten Funktionen zur Eingabe und Verwaltung von BASIC-Programmen.

Mehr

11. Die PC-Schnittstelle

11. Die PC-Schnittstelle PC-Schnittstelle Funktion -1. Die PC-Schnittstelle.1. Funktion Die folgenden Angaben gelten ohne Einschränkung für den PC, PC-XT, PC-AT, AT-386, AT-486 und kompatible Rechner. Sie sind nur für jene interessant,

Mehr

Ein- Ausgabeeinheiten

Ein- Ausgabeeinheiten Kapitel 5 - Ein- Ausgabeeinheiten Seite 121 Kapitel 5 Ein- Ausgabeeinheiten Am gemeinsamen Bus einer CPU hängt neben dem Hauptspeicher die Peripherie des Rechners: d. h. sein Massenspeicher und die Ein-

Mehr

Rückblick: Architektur und Hintergrundspeicher

Rückblick: Architektur und Hintergrundspeicher Rückblick: Architektur und Hintergrundspeicher Prototypische Architektur eines RDBMS Speicherhierarchie mit Zugriffslücke (10 5 ) zwischen Primär- und Sekundärspeicher (z.b. HDD) RAIDs zur Erhöhung der

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Maren Bennewitz Version 29.1.214 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten

Mehr

Physische Datenorganisat

Physische Datenorganisat Physische Datenorganisat Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing (R-Bäume ) Objektballung Indexe in SQL Kapitel 7 1 Überblick: Speicherhierarchie Register Cache Hauptspeicher Plattenspeicher

Mehr

Physische Datenorganisat

Physische Datenorganisat Physische Datenorganisat Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing (R-Bäume ) Objektballung Indexe in SQL Überblick: Speicherhierarchie 1 8 Byte Compiler Register 8 128 Byte Cache Cache-Controller

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

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 07 Übung zur Vorlesung Einsatz und Realisierung von Datenbanksystemen im SoSe16 Moritz Kaufmann

Mehr

Speicherhierarchie. [Technische Informatik Eine Einführung] Univ.-Prof. Dr. Paul Molitor

Speicherhierarchie. [Technische Informatik Eine Einführung] Univ.-Prof. Dr. Paul Molitor [Technische Informatik Eine Einführung] Univ.-Prof. Dr. Paul Molitor Lehrstuhl für Technische Informatik Institut für Informatik Martin-Luther-Universität Halle-Wittenberg Januar 2006 1 / 100 Inhalt dieser

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 9 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

Mehr

SUB $2,$5,10 Zeile 1 LDO $5,$0,2*8 Zeile 2 OR $1,$2,$3 Zeile 3 SRU $1,$5,$1 Zeile 4.

SUB $2,$5,10 Zeile 1 LDO $5,$0,2*8 Zeile 2 OR $1,$2,$3 Zeile 3 SRU $1,$5,$1 Zeile 4. 33 7 Pipelining Gegeben ist der folgende Ausschnitt aus einer MMIX Codesequenz: SUB $2,$5, Zeile LDO $5,$,2* Zeile 2 OR $,$2,$3 Zeile 3 SRU $,$5,$ Zeile 4 Zeile und 3 wg b) Geben Sie alle auftretenden

Mehr

Quantitative Prinzipien im Hardwareentwurf. 1. Small is fast

Quantitative Prinzipien im Hardwareentwurf. 1. Small is fast Quantitative Prinzipien im Hardwareentwurf 1. Small is fast Kleine Hardwareeinheiten schalten in der Regel schneller als größere. Kleine Transistoren bilden an ihren Gates kleinere Kapazitäten die Source-Drain

Mehr

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler 1 Überlegungen Wenn wir einige Seiten eines Programms in den Speicher laden, brauchen wir eine Strategie, welche Seiten als nächstes geladen werden

Mehr