17.05.2015 Views

TI486 Microprocessor - Al Kossow's Bitsavers

TI486 Microprocessor - Al Kossow's Bitsavers

TI486 Microprocessor - Al Kossow's Bitsavers

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Address Spaces<br />

generated by adding the segment base address in the hidden portion of the<br />

segment register to the offset address. If paging is not enabled, this linear<br />

address is used as the physical memory address. Figure 2-23 illustrates the<br />

operation of the selector mechanism.<br />

Figure 2-23. Selector Mechanism<br />

Selector<br />

Load<br />

15<br />

o }<br />

I Index I TI I RPL I Selector<br />

....---,--1 -~--"'<br />

(Accessed<br />

Segment<br />

Register)<br />

...<br />

Segment<br />

Descriptor<br />

TI = 0 TI = 1<br />

r-------;---~8~\ 00-----+-------,<br />

Segment<br />

Descriptor<br />

...<br />

Global Descriptor Table<br />

Local Descriptor Table<br />

-----------------------------------------<br />

Memory<br />

Reference<br />

..<br />

....<br />

Descriptor<br />

Cache<br />

1----.. ~ Base Address<br />

Paging Mechanism<br />

The paging mechanism supports a memory subsystem that simulates a large<br />

address spac~ with a small amount of RAM and disk storage. The paging<br />

mechanism either translates a linear address to its corresponding physical<br />

address or generates an exception if the required page is not currently present<br />

in RAM. When the operating system services the exception, the required page<br />

is loaded into memory and the instruction is then restarted. Pages are always<br />

4 KBytes in size and are aligned to 4-KByte boundaries.<br />

A page is addressed by using two levels of tables as illustrated in Figure 2-24.<br />

The upper 10 bits of the 32-bit linear address are used to locate an entry in the<br />

page directory table. The page directory table acts as.a 32-bit master index to<br />

up to 1 K individual second-level page tables. The selected entry in the page<br />

directory table, referred to as the directory table entry, identifies the starting<br />

address of the second-level page table. The page directory table itself is a<br />

page and is, therefore, aligned to a 4-KByte boundary. The physical address<br />

of the current page directory is stored in the CR3 control register, also referred<br />

to as the Page Directory Base Register (PDSR).<br />

2-42<br />

Programming Interface

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!