Specifications
Intel
®
 Quark SoC X1000 Core
October 2013 Developer’s Manual
Order Number: 329679-001US 91
Protected Mode Architecture—Intel
®
 Quark Core
Figure 40. GDT Descriptors for Simple System
6.4 Paging
6.4.1 Paging Concepts
Paging is another type of memory management useful for virtual memory multi-tasking 
operating systems. Unlike segmentation, which modularizes programs and data into 
variable length segments, paging divides programs into multiple uniform size pages. 
Pages bear no direct relation to the logical structure of a program. Whereas segment 
selectors can be considered the logical “name” of a program module or data structure, 
a page most likely corresponds to only a portion of a module or data structure.
By taking advantage of the locality of reference displayed by most programs, only a 
small number of pages from each active task need be in memory at any moment.
6.4.2 Paging Organization
6.4.2.1 Page Mechanism
The Intel
®
 Quark SoC X1000 Core uses two levels of tables to translate the linear 
address (from the segmentation unit) to a physical address. There are three 
components to the paging mechanism of the Intel
®
 Quark SoC X1000 Core: the page 
directory, the page tables, and the page itself (page frame). All memory-resident 
elements of the Intel
®
 Quark SoC X1000 Core paging mechanism are 4 Kbytes. A 
uniform size for all of the elements simplifies memory allocation and reallocation 
schemes by eliminating problems with memory fragmentation. 
6.4.2.2 Page Descriptor Base Register
CR2 is the Page Fault Linear Address register. It holds the 32-bit linear address that 
caused the last page fault detected.
CR3 is the Page Directory Physical Base Address register. It contains the physical 
starting address of the page directory. The lower 12 bits of CR3 are always zero to 
ensure that the page directory is always page aligned. Loading it via a MOV CR3 reg 
instruction causes the page table entry cache to be flushed, as does a task switch 
through a TSS that changes the value of CR0 (see Section 6.4.8).
2
Base 31...24
00(H)
G
1
D
1
00
Limit
19.16
F(H) 1
001001
0
Base 23...16
00(H)
Data 
Descriptor
Segment Base 15...0
0118(H)
Segment Base 15...0
FFFF(H)
1
Base 31...24
00(H)
G
1
D
1
00
Limit
19.16
F(H) 1
001001
1
Base 23...16
00(H)
Code 
Descriptor
Segment Base 15...0
0118(H)
Segment Base 15...0
FFFF(H)
NULL DESCRIPTOR
0
31 24 16 15 8 0










