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

Please download to get full document.

View again

of 67
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Categories
Published
Technische Informatik 1 - Übung & 22. Dezember 2017 Philipp Miedl Philipp Miedl Motivation Aufteilen des Hauptspeichers auf mehrere Prozesse Philipp Miedl
Technische Informatik 1 - Übung & 22. Dezember 2017 Philipp Miedl Philipp Miedl Motivation Aufteilen des Hauptspeichers auf mehrere Prozesse Philipp Miedl Motivation Aufteilen des Hauptspeichers auf mehrere Prozesse Jeder Prozess hat eigenen privaten Speicherbereich/unabhängigen Adressraum Philipp Miedl Grundprinzip Vorlesungsfolie 6-59 Philipp Miedl Adressabbildung Vorlesungsfolie 6-61 Philipp Miedl Translation Lookaside Buffer Vorlesungsfolie 6-75 Philipp Miedl Ziele der Übungen TLB Einfluss auf die Performanz Philipp Miedl Ziele der Übungen TLB Einfluss auf die Performanz Zusammenhang TLB, Seitentabelle und Cache Philipp Miedl Ziele der Übungen TLB Einfluss auf die Performanz Zusammenhang TLB, Seitentabelle und Cache Voraussetzung: Vorlesung Kapitel 6 - Speicherhierachie (Virtueller Speicher) Philipp Miedl Aufgabe 1: Performanz Philipp Miedl Lösung Aufgabe ( 1a ) II Ergibt sich aus: Philipp Miedl Lösung Aufgabe ( 1a ) II Ergibt sich aus: Zeit bei notwendigen Datenzugriff (Suchzeit im TLB und Zugriffszeit Hauptspeicher) EAT = (h + s) + m (o + s) + p (f + s) Philipp Miedl Lösung Aufgabe ( 1a ) II Ergibt sich aus: Zeit bei notwendigen Datenzugriff (Suchzeit im TLB und Zugriffszeit Hauptspeicher) Zeit bei TBL-Miss (Suchzeit im TLB und TLB-Miss-Bearbeitungszeit) EAT = (h + s) + m (o + s) + p (f + s) Philipp Miedl Lösung Aufgabe ( 1a ) II Ergibt sich aus: Zeit bei notwendigen Datenzugriff (Suchzeit im TLB und Zugriffszeit Hauptspeicher) Zeit bei TBL-Miss (Suchzeit im TLB und TLB-Miss-Bearbeitungszeit) Zeit bei Seitenfehler (Suchzeit im TLB und Seitenfehler-Bearbeitungszeit) EAT = (h + s) + m (o + s) + p (f + s) Philipp Miedl Lösung Aufgabe ( 1a ) II Ergibt sich aus: Zeit bei notwendigen Datenzugriff (Suchzeit im TLB und Zugriffszeit Hauptspeicher) Zeit bei TBL-Miss (Suchzeit im TLB und TLB-Miss-Bearbeitungszeit) Zeit bei Seitenfehler (Suchzeit im TLB und Seitenfehler-Bearbeitungszeit) EAT = (h + s) + m (o + s) + p (f + s) = 18.1 ns Philipp Miedl Lösung Aufgabe ( 1b ) I #virtuelle Seiten = virtueller Adressraum Seitengröße = 232 = Philipp Miedl Lösung Aufgabe ( 1b ) I #virtuelle Seiten = virtueller Adressraum Seitengröße = 232 = TLB-Missrate m = 1 TLB-Hitwahrscheinlichkeit = 1 TLB-Seiteneinträge #virtuelle Seiten = = Philipp Miedl Lösung Aufgabe ( 1b ) II #physikalische Seiten = physikalischer Adressraum Seitengröße Seitenfehlerrate p = 1 Seiten-Hitwahrscheinlichkeit = 1 #physikalische Seiten #virtuelle Seiten = = = 229 = Philipp Miedl Lösung Aufgabe ( 1b ) II #physikalische Seiten = physikalischer Adressraum Seitengröße Seitenfehlerrate p = 1 Seiten-Hitwahrscheinlichkeit = 1 #physikalische Seiten #virtuelle Seiten = = = 229 = ETA = (h + s) + p (f + s) + m (o + s) = ms Philipp Miedl Aufgabe 2: TLB, Seitentabelle und Cache I Philipp Miedl Hinweis Aufgabe ( 2b ) virtuelle Adresse? Seitentabelle?? physikalische Adresse? Cache Adresse Philipp Miedl Lösung Aufgabe ( 2a ) - Grösse Cache #Bytes in Cache = #Zeilen k-assoziativität #Byte pro Block = = = 2 15 Philipp Miedl Lösung Aufgabe ( 2b ) - Addressaufteilung 31 virtuelle Adresse virtuelle Seitennummer Seitenoffset 0 20 Seitentabelle 12 physikalische Adresse phys. Seitennummer Seitenoffset Cache Adresse Cachetag Cacheindex BO Philipp Miedl Lösung Aufgabe ( 2c ) - Grösse Seitentabelle #virtuelle Seiten adressierbar in Seitentabelle: 2 #Adressbits #Bytes in Seite = = 2 20 Philipp Miedl Lösung Aufgabe ( 2c ) - Grösse Seitentabelle #virtuelle Seiten adressierbar in Seitentabelle: 2 #Adressbits #Bytes in Seite = = 2 20 Größe Seitentabelle in Bits: #Einträge #Bits = #Einträge ( (26 12) B Z ) Philipp Miedl Lösung Aufgabe ( 2c ) - Grösse Seitentabelle #virtuelle Seiten adressierbar in Seitentabelle: 2 #Adressbits #Bytes in Seite = = 2 20 Größe Seitentabelle in Bits: #Einträge Bits für physikalische Seitennummer #Bits = #Einträge ((26 12) B Z ) Philipp Miedl Lösung Aufgabe ( 2c ) - Grösse Seitentabelle #virtuelle Seiten adressierbar in Seitentabelle: 2 #Adressbits #Bytes in Seite = = 2 20 Größe Seitentabelle in Bits: #Einträge Bits für physikalische Seitennummer Validbit #Bits = #Einträge ( (26 12) B Z ) Philipp Miedl Lösung Aufgabe ( 2c ) - Grösse Seitentabelle #virtuelle Seiten adressierbar in Seitentabelle: 2 #Adressbits #Bytes in Seite = = 2 20 Größe Seitentabelle in Bits: #Einträge Bits für physikalische Seitennummer Validbit Dirtybit #Bits = #Einträge ( (26 12) B Z ) Philipp Miedl Lösung Aufgabe ( 2c ) - Grösse Seitentabelle #virtuelle Seiten adressierbar in Seitentabelle: 2 #Adressbits #Bytes in Seite = = 2 20 Größe Seitentabelle in Bits: #Einträge Bits für physikalische Seitennummer Validbit Dirtybit Referencebit #Bits = #Einträge ( (26 12) B Z ) Philipp Miedl Lösung Aufgabe ( 2c ) - Grösse Seitentabelle #virtuelle Seiten adressierbar in Seitentabelle: 2 #Adressbits #Bytes in Seite = = 2 20 Größe Seitentabelle in Bits: #Einträge Bits für physikalische Seitennummer Validbit Dirtybit Referencebit Bits für Zugriffsberechtigung B Z #Bits = #Einträge ( (26 12) B Z ) Philipp Miedl Lösung Aufgabe ( 2c ) - Grösse Seitentabelle #virtuelle Seiten adressierbar in Seitentabelle: 2 #Adressbits #Bytes in Seite = = 2 20 Größe Seitentabelle in Bits: #Einträge Bits für physikalische Seitennummer Validbit Dirtybit Referencebit Bits für Zugriffsberechtigung B Z #Bits = #Einträge ( (26 12) B Z ) = 2 20 (17 + B Z ) Philipp Miedl Lösung Aufgabe ( 2d ) - Maximale Anzahl Valid Seiten Philipp Miedl Lösung Aufgabe ( 2d ) - Maximale Anzahl Valid Seiten Maximaler #Seiten mit Valid == 1 entspricht maximalen Anzahl physikalischer Seiten im Hauptspeicher Philipp Miedl Lösung Aufgabe ( 2d ) - Maximale Anzahl Valid Seiten Maximaler #Seiten mit Valid == 1 entspricht maximalen Anzahl physikalischer Seiten im Hauptspeicher Maximale Anzahl physikalische Seiten im Hauptspeicher = Hauptspeichergröße Seitengröße = 226 = Philipp Miedl Lösung Aufgabe ( 2e ) - Wieviele Blöcke konkurrieren um Cachzeile Cache hat 2 10 Cachezeilen Philipp Miedl Lösung Aufgabe ( 2e ) - Wieviele Blöcke konkurrieren um Cachzeile Cache hat 2 10 Cachezeilen Virtueller Adressraum hat = 229 Blöcke Philipp Miedl Lösung Aufgabe ( 2e ) - Wieviele Blöcke konkurrieren um Cachzeile Cache hat 2 10 Cachezeilen Virtueller Adressraum hat = 229 Blöcke = 2 19 Blöcke im virtuellen Adressraum konkurrieren um 4 Blöcke in einer Cachezeile Philipp Miedl Lösung Aufgabe ( 2f ) I - Abbildung Virtuelle Adresse auf Cache eindeutig? virtuelle Adresse Seitentabelle 12 physikalische Adresse unbekannt u Cache Adresse u unbekannt Philipp Miedl Lösung Aufgabe ( 2f ) II - Abbildung Virtuelle Adresse auf Cache eindeutig? Normalerweise nur an 4 Blöcken im Cache aufgrund 4-fach Assoziativität Philipp Miedl Lösung Aufgabe ( 2f ) II - Abbildung Virtuelle Adresse auf Cache eindeutig? Normalerweise nur an 4 Blöcken im Cache aufgrund 4-fach Assoziativität Bit 12 der physikalischen Adresse durch Seitentabelle bestimmt kann 0 oder 1 sein 8 Blöcken im Cache Philipp Miedl Lösung Aufgabe ( 2f ) II - Abbildung Virtuelle Adresse auf Cache eindeutig? Normalerweise nur an 4 Blöcken im Cache aufgrund 4-fach Assoziativität Bit 12 der physikalischen Adresse durch Seitentabelle bestimmt kann 0 oder 1 sein 8 Blöcken im Cache Berechnung Cachezeilen: Philipp Miedl Lösung Aufgabe ( 2f ) II - Abbildung Virtuelle Adresse auf Cache eindeutig? Normalerweise nur an 4 Blöcken im Cache aufgrund 4-fach Assoziativität Bit 12 der physikalischen Adresse durch Seitentabelle bestimmt kann 0 oder 1 sein 8 Blöcken im Cache Berechnung Cachezeilen: Aufteilen virtuelle Adresse auf Seitenoffset und Seitennummer physikalischer Seitenoffset Philipp Miedl Lösung Aufgabe ( 2f ) II - Abbildung Virtuelle Adresse auf Cache eindeutig? Normalerweise nur an 4 Blöcken im Cache aufgrund 4-fach Assoziativität Bit 12 der physikalischen Adresse durch Seitentabelle bestimmt kann 0 oder 1 sein 8 Blöcken im Cache Berechnung Cachezeilen: Aufteilen virtuelle Adresse auf Seitenoffset und Seitennummer physikalischer Seitenoffset Physikalischer Seitenoffset Byteoffset im Cache (3 LSBs) sowie Teil des Index (9 MSBs) Philipp Miedl Lösung Aufgabe ( 2f ) II - Abbildung Virtuelle Adresse auf Cache eindeutig? Normalerweise nur an 4 Blöcken im Cache aufgrund 4-fach Assoziativität Bit 12 der physikalischen Adresse durch Seitentabelle bestimmt kann 0 oder 1 sein 8 Blöcken im Cache Berechnung Cachezeilen: Aufteilen virtuelle Adresse auf Seitenoffset und Seitennummer physikalischer Seitenoffset Physikalischer Seitenoffset Byteoffset im Cache (3 LSBs) sowie Teil des Index (9 MSBs) Letztes Index-Bit unbestimmt Philipp Miedl Lösung Aufgabe ( 2f ) II - Abbildung Virtuelle Adresse auf Cache eindeutig? Normalerweise nur an 4 Blöcken im Cache aufgrund 4-fach Assoziativität Bit 12 der physikalischen Adresse durch Seitentabelle bestimmt kann 0 oder 1 sein 8 Blöcken im Cache Berechnung Cachezeilen: Aufteilen virtuelle Adresse auf Seitenoffset und Seitennummer physikalischer Seitenoffset Physikalischer Seitenoffset Byteoffset im Cache (3 LSBs) sowie Teil des Index (9 MSBs) Letztes Index-Bit unbestimmt Lösungen: Zeilen 0x10c und 0x30c Philipp Miedl Aufgabe 3: TLB, Seitentabelle und Cache II Philipp Miedl Lösung Aufgabe ( 3a ) I Aufteilung der Virtuellen Adresse: Philipp Miedl Lösung Aufgabe ( 3a ) I Aufteilung der Virtuellen Adresse: Seitenoffset: 64 Byte pro Seite 6 Bits (0-5) Philipp Miedl Lösung Aufgabe ( 3a ) I Aufteilung der Virtuellen Adresse: Seitenoffset: 64 Byte pro Seite 6 Bits (0-5) virtuelle Seitennummer: Verbleibenden 8 Bits (6-13) Philipp Miedl Lösung Aufgabe ( 3a ) I Aufteilung der Virtuellen Adresse: Seitenoffset: 64 Byte pro Seite 6 Bits (0-5) virtuelle Seitennummer: Verbleibenden 8 Bits (6-13) TLB besitzt 4 Zeilen 2 Bits (6-7) TLB-Index Philipp Miedl Lösung Aufgabe ( 3a ) I Aufteilung der Virtuellen Adresse: Seitenoffset: 64 Byte pro Seite 6 Bits (0-5) virtuelle Seitennummer: Verbleibenden 8 Bits (6-13) TLB besitzt 4 Zeilen 2 Bits (6-7) TLB-Index Verbleibenden 6 Bits (8-13) TLB-Tag Philipp Miedl Lösung Aufgabe ( 3a ) I Aufteilung der Virtuellen Adresse: Seitenoffset: 64 Byte pro Seite 6 Bits (0-5) virtuelle Seitennummer: Verbleibenden 8 Bits (6-13) TLB besitzt 4 Zeilen 2 Bits (6-7) TLB-Index Verbleibenden 6 Bits (8-13) TLB-Tag Aufteilung der physikalischen Adresse: Philipp Miedl Lösung Aufgabe ( 3a ) I Aufteilung der Virtuellen Adresse: Seitenoffset: 64 Byte pro Seite 6 Bits (0-5) virtuelle Seitennummer: Verbleibenden 8 Bits (6-13) TLB besitzt 4 Zeilen 2 Bits (6-7) TLB-Index Verbleibenden 6 Bits (8-13) TLB-Tag Aufteilung der physikalischen Adresse: Seitenoffset: 64 Byte pro Seite 6 Bits (0-5) Philipp Miedl Lösung Aufgabe ( 3a ) I Aufteilung der Virtuellen Adresse: Seitenoffset: 64 Byte pro Seite 6 Bits (0-5) virtuelle Seitennummer: Verbleibenden 8 Bits (6-13) TLB besitzt 4 Zeilen 2 Bits (6-7) TLB-Index Verbleibenden 6 Bits (8-13) TLB-Tag Aufteilung der physikalischen Adresse: Seitenoffset: 64 Byte pro Seite 6 Bits (0-5) physikalische Seitennummer: Verbleibenden 6 Bits (6-11) = 2 6 Seiten im physikalischen Speicher Philipp Miedl Lösung Aufgabe ( 3a ) I Aufteilung der Virtuellen Adresse: Seitenoffset: 64 Byte pro Seite 6 Bits (0-5) virtuelle Seitennummer: Verbleibenden 8 Bits (6-13) TLB besitzt 4 Zeilen 2 Bits (6-7) TLB-Index Verbleibenden 6 Bits (8-13) TLB-Tag Aufteilung der physikalischen Adresse: Seitenoffset: 64 Byte pro Seite 6 Bits (0-5) physikalische Seitennummer: Verbleibenden 6 Bits (6-11) = 2 6 Seiten im physikalischen Speicher Cache: Philipp Miedl Lösung Aufgabe ( 3a ) I Aufteilung der Virtuellen Adresse: Seitenoffset: 64 Byte pro Seite 6 Bits (0-5) virtuelle Seitennummer: Verbleibenden 8 Bits (6-13) TLB besitzt 4 Zeilen 2 Bits (6-7) TLB-Index Verbleibenden 6 Bits (8-13) TLB-Tag Aufteilung der physikalischen Adresse: Seitenoffset: 64 Byte pro Seite 6 Bits (0-5) physikalische Seitennummer: Verbleibenden 6 Bits (6-11) = 2 6 Seiten im physikalischen Speicher Cache: Blockgröße 4 Byte 2 Bits (0-1) Cache-Byteoffset Philipp Miedl Lösung Aufgabe ( 3a ) I Aufteilung der Virtuellen Adresse: Seitenoffset: 64 Byte pro Seite 6 Bits (0-5) virtuelle Seitennummer: Verbleibenden 8 Bits (6-13) TLB besitzt 4 Zeilen 2 Bits (6-7) TLB-Index Verbleibenden 6 Bits (8-13) TLB-Tag Aufteilung der physikalischen Adresse: Seitenoffset: 64 Byte pro Seite 6 Bits (0-5) physikalische Seitennummer: Verbleibenden 6 Bits (6-11) = 2 6 Seiten im physikalischen Speicher Cache: Blockgröße 4 Byte 2 Bits (0-1) Cache-Byteoffset 16 Cache Zeilen 4 Bits (2-5) Cacheindex Philipp Miedl Lösung Aufgabe ( 3a ) I Aufteilung der Virtuellen Adresse: Seitenoffset: 64 Byte pro Seite 6 Bits (0-5) virtuelle Seitennummer: Verbleibenden 8 Bits (6-13) TLB besitzt 4 Zeilen 2 Bits (6-7) TLB-Index Verbleibenden 6 Bits (8-13) TLB-Tag Aufteilung der physikalischen Adresse: Seitenoffset: 64 Byte pro Seite 6 Bits (0-5) physikalische Seitennummer: Verbleibenden 6 Bits (6-11) = 2 6 Seiten im physikalischen Speicher Cache: Blockgröße 4 Byte 2 Bits (0-1) Cache-Byteoffset 16 Cache Zeilen 4 Bits (2-5) Cacheindex Verbleibenden 6 Bits (6-11) Cachetag Philipp Miedl Lösung Aufgabe ( 3a ) II 13 virtuelle Adresse TLB Adresse virtuelle Seitennummer 8 13 TLB Tag TIDX Seitenoffset 0 Seitentabelle 6 physikalische Adresse phys. Seitennummer Seitenoffset Cache Adresse Cachetag Cacheindex BO Philipp Miedl Lösung Aufgabe ( 3b ) I Virtuelle Adresse: 0x0268 0b TLB: Seitentabelle: Übersetzung der virtuellen Adresse: Parameter Wert Index 1 VPN 09 VPN 09 Tag 02 PPN 20 TLB-Index 1 PPN 20 Valid 1 TLB-Tag 02 Valid 1 TLB-Hit (j/n) j Tag 04 Seitenfehler (j/n) n PPN Valid 0 PPN 20 Philipp Miedl Lösung Aufgabe ( 3b ) II Physikalische Adresse {PPN, Seitenoffset} 0x828 0b Cache: Index a Tag 20 Valid 1 Byte[0] 0d Byte[1] 1f Byte[2] f 1 Byte[3] d0 Daten: Parameter Wert Byteoffset 0 Cacheindex Cachetag 20 Cachehit (j/n) resultierendes Datenbyte a j 0d Philipp Miedl Lösung Aufgabe ( 3c ) I Virtuelle Adresse: 0x0197 0b TLB: Seitentabelle: Übersetzung der virtuellen Adresse: Parameter Wert Index 2 VPN 06 VPN 06 Tag 01 PPN 22 TLB-Index 2 PPN 22 Valid 1 TLB-Tag 01 Valid 1 TLB-Hit (j/n) j Tag 07 Seitenfehler (j/n) n PPN Valid 0 PPN 22 Philipp Miedl Lösung Aufgabe ( 3c ) II Physikalische Adresse {PPN, Seitenoffset} 0x8a7 0b Cache: Index 5 Tag 22 Valid Byte[0] Byte[1] Byte[2] Byte[3] Daten: Parameter Wert Byteoffset 3 Cacheindex 5 Cachetag 22 Cachehit (j/n) resultierendes Datenbyte n Philipp Miedl Lösung Aufgabe ( 3d ) I Virtuelle Adresse: 0x035e 0b TLB: Seitentabelle: Übersetzung der virtuellen Adresse: Parameter Wert Index 1 VPN 0d VPN 0d Tag 02 PPN 04 TLB-Index 1 PPN 20 Valid 1 TLB-Tag 03 Valid 1 TLB-Hit (j/n) n Tag 04 Seitenfehler (j/n) n PPN 32 PPN 04 Valid 1 Philipp Miedl Lösung Aufgabe ( 3d ) II Physikalische Adresse {PPN, Seitenoffset} 0x11e 0b Cache: Index f Tag 22 Valid 1 Byte[0] cf Byte[1] 7a Byte[2] 9b Byte[3] a0 Daten: Parameter Wert Byteoffset 0 Cacheindex Cachetag 20 Cachehit (j/n) resultierendes Datenbyte a j 0d Philipp Miedl Lösung Aufgabe ( 3e ) I Virtuelle Adresse: 0x021a 0b TLB: Seitentabelle: Übersetzung der virtuellen Adresse: Parameter Wert Index 0 VPN VPN 08 Tag 05 PPN TLB-Index 0 PPN Valid TLB-Tag 02 Valid 0 TLB-Hit (j/n) n Tag 12 Seitenfehler (j/n) j PPN 42 PPN Valid 1 Philipp Miedl Questions? Philipp Miedl ETZ G Philipp Miedl
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks