SLIDE 3 ENCM 501 W14 Slides for Lecture 12
slide 13/19
PTE formats in x86-64 Linux (3)
And here is a PTE for a page that exists, but is not present in physical memory.
63 1
P page location on disk, other info about page
We won’t go into detail about bits 63–1, but if the assumption
- n slide 11 is correct, they must not all be zero.
Source for information on this slide and slide 12: Bryant, R. E. and O’Hallaron, D. R., Computer Systems: A Programmer’s Perspective, 2nd ed., published by Prentice Hall.
ENCM 501 W14 Slides for Lecture 12
slide 14/19
Review of P3/P4 memory system structure
CORE DRAM MODULES UNIFIED L2 CACHE L1 I- CACHE I-TLB L1 D- CACHE D-TLB DRAM CONTROLLER
On every instruction fetch, the I-TLB must attempt to translate a virtual instruction address into a physical instruction address. On every data read or write, the D-TLB must attempt to translate a virtual data address into a physical data address.
ENCM 501 W14 Slides for Lecture 12
slide 15/19
TLB structure
A TLB is essentially a cache for page table information. A page table is a complete list of the statuses of all of the virtual pages belonging to a process. A TLB contains some of the most recently accessed information in a page table.
ENCM 501 W14 Slides for Lecture 12
slide 16/19
TLB hits
Let’s outline:
◮ how a TLB hit is detected; ◮ what happens as a result of a TLB hit.
ENCM 501 W14 Slides for Lecture 12
slide 17/19
Simple TLB misses
The simplest form of a TLB miss occurs when there is a valid VPN-to-PPN translation, which is in the page table, but not in the TLB. Let’s describe how such a TLB miss is handled.
ENCM 501 W14 Slides for Lecture 12
slide 18/19
DRAM, disk storage and flash memory
Here’s a story that is simple, easy to understand, but not actually true . . .
◮ Instructions and data belonging to the kernel and to
processses are in DRAM.
◮ I-caches and D-caches allow processor cores to access
instructions and data much faster than if all such accesses really had to go to DRAM.
◮ Non-volatile storage, such as magnetic disks and flash
memory arrays, are used for file storage. That’s actually a good model to start with, but it’s wrong! What is a more accurate model?