64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009...
Transcript of 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009...
![Page 1: 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009 · Memory Management--Gang Zhang--Yang Luan 9/18/2009 1. Abbreviations EA Effective](https://reader033.fdocuments.us/reader033/viewer/2022051916/6007b71e9aa55151593393c8/html5/thumbnails/1.jpg)
64-bit PowerPC Microprocessors
Memory ManagementMemory Management
-- Gang Zhang
-- Yang Luan
9/18/2009 1
![Page 2: 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009 · Memory Management--Gang Zhang--Yang Luan 9/18/2009 1. Abbreviations EA Effective](https://reader033.fdocuments.us/reader033/viewer/2022051916/6007b71e9aa55151593393c8/html5/thumbnails/2.jpg)
Abbreviations
EA Effective Address 64-bit
VA Virtual Address 80-bit
PA Physical Address 62-bit
SDR1 Storage Description Register 1
MSR Machine State RegisterMSR Machine State RegisterPR[49]: Privilege level
If set, run in user mode
IR[58] / DR [59]: Instruction address translation / Data address translation
If set, Instruction/Data address translation is enabled
9/18/2009 2
![Page 3: 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009 · Memory Management--Gang Zhang--Yang Luan 9/18/2009 1. Abbreviations EA Effective](https://reader033.fdocuments.us/reader033/viewer/2022051916/6007b71e9aa55151593393c8/html5/thumbnails/3.jpg)
9/18/2009 3
![Page 4: 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009 · Memory Management--Gang Zhang--Yang Luan 9/18/2009 1. Abbreviations EA Effective](https://reader033.fdocuments.us/reader033/viewer/2022051916/6007b71e9aa55151593393c8/html5/thumbnails/4.jpg)
Memory Addressing Overview
• PowerPC processors support two types of
address translation:
Real addressing mode
EA = PAEA = PA
Page address translation
translates the EA to VA then to PA.
9/18/2009 4
![Page 5: 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009 · Memory Management--Gang Zhang--Yang Luan 9/18/2009 1. Abbreviations EA Effective](https://reader033.fdocuments.us/reader033/viewer/2022051916/6007b71e9aa55151593393c8/html5/thumbnails/5.jpg)
Real Addressing Mode
MSR[IR] = 0 or MSR[DR] = 0
• EA is treated as PA.
• Bypass all memory protection checks.
• Processor would set MSR[IR] = 0 and MSR[DR] = 0 after exceptions occur. Must explicitly enable translation if needed.
• Attempts to access PA not physically present will cause a machine check exception
9/18/2009 5
![Page 6: 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009 · Memory Management--Gang Zhang--Yang Luan 9/18/2009 1. Abbreviations EA Effective](https://reader033.fdocuments.us/reader033/viewer/2022051916/6007b71e9aa55151593393c8/html5/thumbnails/6.jpg)
Page address translation
• The page translation proceeds in the following
two steps:
• 1. From effective address to the virtual
address, andaddress, and
• 2. From virtual address to physical address.
9/18/2009 6
![Page 7: 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009 · Memory Management--Gang Zhang--Yang Luan 9/18/2009 1. Abbreviations EA Effective](https://reader033.fdocuments.us/reader033/viewer/2022051916/6007b71e9aa55151593393c8/html5/thumbnails/7.jpg)
9/18/2009 7
![Page 8: 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009 · Memory Management--Gang Zhang--Yang Luan 9/18/2009 1. Abbreviations EA Effective](https://reader033.fdocuments.us/reader033/viewer/2022051916/6007b71e9aa55151593393c8/html5/thumbnails/8.jpg)
EA to VA
• Segment Lookaside Buffer (SLB)
Each SLB entry maps one ESID (Effective Segment ID) to one VSID (Virtual Segment ID).
SLB entry format
9/18/2009 8
• SLB Search
Success if
SLBE[V] = 1 and SLBE[ESID] = EA[0-35]
SLB entry format
![Page 9: 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009 · Memory Management--Gang Zhang--Yang Luan 9/18/2009 1. Abbreviations EA Effective](https://reader033.fdocuments.us/reader033/viewer/2022051916/6007b71e9aa55151593393c8/html5/thumbnails/9.jpg)
9/18/2009 9
![Page 10: 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009 · Memory Management--Gang Zhang--Yang Luan 9/18/2009 1. Abbreviations EA Effective](https://reader033.fdocuments.us/reader033/viewer/2022051916/6007b71e9aa55151593393c8/html5/thumbnails/10.jpg)
VA to PA
Translation Lookaside Buffer (TLB)
• Holds PTEs that have recently been used.
• Prior to searching the page table.
• Needs to keep consistency with the page • Needs to keep consistency with the page
table.
• Not required in 64-bit PowerPC architecture.
9/18/2009 10
![Page 11: 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009 · Memory Management--Gang Zhang--Yang Luan 9/18/2009 1. Abbreviations EA Effective](https://reader033.fdocuments.us/reader033/viewer/2022051916/6007b71e9aa55151593393c8/html5/thumbnails/11.jpg)
VA to PA cont.
9/18/2009 11
![Page 12: 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009 · Memory Management--Gang Zhang--Yang Luan 9/18/2009 1. Abbreviations EA Effective](https://reader033.fdocuments.us/reader033/viewer/2022051916/6007b71e9aa55151593393c8/html5/thumbnails/12.jpg)
VA to PA cont.
• Hashed Page Tables
If the PTE we search is not resident in a TLB.
• Page table entry groups (PTEG)
The page table contains a number of PTEGs. The page table contains a number of PTEGs.
A PTEG contains eight page table entries (PTE).
• Page table Entry (PTE)
A PTE can reside in two possible PTEGs,
primary and secondary.
9/18/2009 12
![Page 13: 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009 · Memory Management--Gang Zhang--Yang Luan 9/18/2009 1. Abbreviations EA Effective](https://reader033.fdocuments.us/reader033/viewer/2022051916/6007b71e9aa55151593393c8/html5/thumbnails/13.jpg)
VA to PA cont.
• Locate PTEG
The address of PTEG is derived from the
HTABORG field of the SDR1 register and
output of hashing function of VA.output of hashing function of VA.
9/18/2009 13
![Page 14: 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009 · Memory Management--Gang Zhang--Yang Luan 9/18/2009 1. Abbreviations EA Effective](https://reader033.fdocuments.us/reader033/viewer/2022051916/6007b71e9aa55151593393c8/html5/thumbnails/14.jpg)
VA to PA cont.
• Storage Description Register (SDR1)
SDR1 defines the physical base address of
page table and the size of the table.
9/18/2009 14
![Page 15: 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009 · Memory Management--Gang Zhang--Yang Luan 9/18/2009 1. Abbreviations EA Effective](https://reader033.fdocuments.us/reader033/viewer/2022051916/6007b71e9aa55151593393c8/html5/thumbnails/15.jpg)
VA to PA cont. (Hashing function)
9/18/2009 15
![Page 16: 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009 · Memory Management--Gang Zhang--Yang Luan 9/18/2009 1. Abbreviations EA Effective](https://reader033.fdocuments.us/reader033/viewer/2022051916/6007b71e9aa55151593393c8/html5/thumbnails/16.jpg)
VA to PA cont.
9/18/2009 16
![Page 17: 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009 · Memory Management--Gang Zhang--Yang Luan 9/18/2009 1. Abbreviations EA Effective](https://reader033.fdocuments.us/reader033/viewer/2022051916/6007b71e9aa55151593393c8/html5/thumbnails/17.jpg)
9/18/2009 17
![Page 18: 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009 · Memory Management--Gang Zhang--Yang Luan 9/18/2009 1. Abbreviations EA Effective](https://reader033.fdocuments.us/reader033/viewer/2022051916/6007b71e9aa55151593393c8/html5/thumbnails/18.jpg)
VA to PA cont. (Secondary Hash fun.)
9/18/2009 18
![Page 19: 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009 · Memory Management--Gang Zhang--Yang Luan 9/18/2009 1. Abbreviations EA Effective](https://reader033.fdocuments.us/reader033/viewer/2022051916/6007b71e9aa55151593393c8/html5/thumbnails/19.jpg)
VA to PA cont. (PTE)
• Page Table Entry Format
• Page Table Entry Search
PTE[H] = 0 for primary PTEG; PTE[H] = 1 for secondary PTEG
PTE[V] = 1
PTE[VSID] = VA[0-51]
PTE[API] = VA[52-56]
9/18/2009 19
![Page 20: 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009 · Memory Management--Gang Zhang--Yang Luan 9/18/2009 1. Abbreviations EA Effective](https://reader033.fdocuments.us/reader033/viewer/2022051916/6007b71e9aa55151593393c8/html5/thumbnails/20.jpg)
Summary
9/18/2009 20
![Page 21: 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009 · Memory Management--Gang Zhang--Yang Luan 9/18/2009 1. Abbreviations EA Effective](https://reader033.fdocuments.us/reader033/viewer/2022051916/6007b71e9aa55151593393c8/html5/thumbnails/21.jpg)
Summary
9/18/2009 21
![Page 22: 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009 · Memory Management--Gang Zhang--Yang Luan 9/18/2009 1. Abbreviations EA Effective](https://reader033.fdocuments.us/reader033/viewer/2022051916/6007b71e9aa55151593393c8/html5/thumbnails/22.jpg)
Reference
• “Programming Environments Manual for 64-
Bit Microprocessors” Chapter 7.
9/18/2009 22
![Page 23: 64-bit PowerPC Microprocessors Memory Management412/lectures/2009-09-18_ppc64vm.pdf · 9/18/2009 · Memory Management--Gang Zhang--Yang Luan 9/18/2009 1. Abbreviations EA Effective](https://reader033.fdocuments.us/reader033/viewer/2022051916/6007b71e9aa55151593393c8/html5/thumbnails/23.jpg)
Thanks!
9/18/2009 23