0% found this document useful (0 votes)
14 views

15 Address Space Paging Intro

The document discusses paging and address translation. It explains that paging divides the virtual address space and physical memory into fixed-size pages. The page table maps virtual page numbers to physical page frames. During address translation, the CPU uses the page table entry corresponding to the virtual page number to obtain the physical page frame address.

Uploaded by

LaxmanPrajapat
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

15 Address Space Paging Intro

The document discusses paging and address translation. It explains that paging divides the virtual address space and physical memory into fixed-size pages. The page table maps virtual page numbers to physical page frames. During address translation, the CPU uses the page table entry corresponding to the virtual page number to obtain the physical page frame address.

Uploaded by

LaxmanPrajapat
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

University of New Mexico

Memory Virtualization: Paging Basics

Prof. Patrick G. Bridges

1
University of New Mexico

Concept of Paging
 Paging splits up address space into fixed-sized unit called
a page.
▪ Segmentation: OS and hardware map a relatively small number of
variable sized segments (code, stack, heap, etc.)
▪ Paging: OS and hardware map a large number of fixed-size
segments
 Process’s Virtual Address Space and physical memory are
divided into pages

 Segment Table per process becomes a Page table per


process.

2
University of New Mexico

Advantages Of Paging
 Flexibility: Supporting the abstraction of address space
effectively
▪ Don’t need assumption how heap and stack grow and are used.

 Simplicity: ease of free-space management


▪ The page in address space and the page frame are the same size.
▪ Easy to allocate and keep a free list

 Whence fragmentation?

3
University of New Mexico

Example: A Simple Paging


 128-byte physical memory with 16 bytes page frames
 64-byte address space with 16 bytes pages
0
page frame 0 of
reserved for OS physical memory
16
(unused) page frame 1
32
0
(page 0 of page 3 of AS page frame 2
16 the address space) 48
(page 1) page 0 of AS page frame 3
32 64
(page 2) page frame 4
(unused)
48
80
(page 3)
64 page 2 of AS page frame 5
96
A Simple 64-byte Address Space
(unused) page frame 6
112
page 1 of AS page frame 7
128
64-Byte Address Space Placed In Physical Memory

4
University of New Mexico

Address Translation
 Two components in the virtual address
▪ VPN: virtual page number
▪ Offset: offset within the page
VPN offset

Va5 Va4 Va3 Va2 Va1 Va0

 Example: virtual address 21 in 64-byte address space

VPN offset

0 1 0 1 0 1

5
University of New Mexico

Example: Address Translation


 The virtual address 21 in 64-byte address space
VPN offset

Virtual
0 1 0 1 0 1
Address

Address
Translation

Physical
1 1 1 0 1 0 1
Address

PFN offset

6
University of New Mexico

Where Are Page Tables Stored?


 Page tables can get awfully large
▪ 32-bit address space with 4-KB pages, 20 bits for VPN
▪ 4𝑀𝐵 = 220 𝑒𝑛𝑡𝑟𝑖𝑒𝑠 ∗ 4 𝐵𝑦𝑡𝑒𝑠 𝑝𝑒𝑟 𝑝𝑎𝑔𝑒 𝑡𝑎𝑏𝑙𝑒 𝑒𝑛𝑡𝑟𝑦

 Segment tables were generally on the CPU (a small set of


registers)
 Page tables for each process are stored in memory
 Processor has an OS-visible register that stores the
address of current process’s page table (CR3 on the x86)

7
University of New Mexico

Example: Page Table in Kernel Physical


Memory
0
page table page frame 0 of physical memory
3752
16
(unused) page frame 1
32
page 3 of AS page frame 2
48
page 0 of AS page frame 3
64
(unused) page frame 4
80
page 2 of AS page frame 5
96
(unused) page frame 6
112
page 1 of AS page frame 7
128
Physical Memory

8
University of New Mexico

What Is In The Page Table?


 The page table is just a data structure that is used to map
the virtual address to physical address.
▪ Simplest form: a linear page table, an array
▪ There are lots of ways to structure page tables

 The OS indexes the array by VPN, and looks up the page-


table entry.

 Like the segment table, we can put other things in each


page table entry

9
University of New Mexico

Common Flags Of Page Table Entry


 Valid Bit: Indicating whether the particular translation is
valid.
 Protection Bit: Indicating whether the page could be read
from, written to, or executed from
 Present Bit: Indicating whether this page is in physical
memory or on disk(swapped out)
 Dirty Bit: Indicating whether the page has been modified
since it was brought into memory
 Reference Bit(Accessed Bit): Indicating that a page has
been accessed

10
University of New Mexico

Example: x86 Page Table Entry


31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

PWT
PCD

R/W
PFN

U/S
PAT

A
D
G

P
An x86 Page Table Entry(PTE)
 P: present
 R/W: read/write bit
 U/S: supervisor
 A: accessed bit
 D: dirty bit
 PFN: the page frame number

11
University of New Mexico

Address Translation With a Page Table


Virtual address
n-1 p p-1 0
Page table
base register Virtual page number (VPN) Virtual page offset (VPO)
(PTBR)

Page table
Valid Physical page number (PPN)
Physical page table
address for the current
process

Valid bit = 0:
Page not in memory
Valid bit = 1
(page fault)

m-1 p p-1 0
Physical page number (PPN) Physical page offset (PPO)
Physical address

12
University of New Mexico

Address Translation: Page Hit


2
CPU Chip PTEA
1
PTE
VA
CPU MMU 3
Cache/
PA Memory
4

Data
5

1) Processor sends virtual address to MMU


2-3) MMU fetches PTE from page table in memory
4) MMU sends physical address to cache/memory
5) Cache/memory sends data word to processor

13
University of New Mexico

Paging: Too Slow


 Page tables are too big to fit on chip

 To find a location of the desired PTE, the starting location


of the page table is needed.

 For every memory reference, paging requires the OS to


perform (at least) one extra memory reference.

14

You might also like