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 />

2.4.2 Memory Address Space<br />

2.4.2.1 Offset Mechanism<br />

The <strong>TI486</strong>SLC/E directly addresses up to 16 MBytes of physical memory and<br />

the <strong>TI486</strong>DLC/E directly addresses up to 4 GBytes of physical memory.<br />

Memory address space is accessed as bytes, words (16 bits) or doublewords<br />

(32 bits). Words and doublewords are stored in consecutive memory bytes<br />

with the low-order byte located in the lowest address. The. physical address<br />

of a word or doubleword is the byte address of the low-order byte.<br />

With the T1486, memory can be addressed using nine different addressing<br />

modes. These addressing modes are used to calculate an offset address often<br />

referred to as an effective address. Depending on the operating mode of the<br />

CPU, the offset is then combined using memory management mechanisms to<br />

create and address a physical memory location.<br />

Memory management mechanisms on the <strong>TI486</strong> consist of segmentation and<br />

paging. Segmentation allows each program to use several independent,<br />

protected address spaces. Paging supports a memory subsystem that<br />

simulates a large address space using a small amount of RAM and disk<br />

storage for physical memory. Either or both of these mechanisms can be used<br />

for management of the <strong>TI486</strong> memory address space.<br />

The offset mechanism computes an offset (effective) address by adding<br />

together up to three values: a base, an index, and a displacement. The base,<br />

if present, is the value in one of eight 32-bit general registers at the time of the<br />

execution of the instruction. The index, like the base, is a value that is<br />

determined from one of the 32-bit general registers (except the ESP register)<br />

when the instruction is executed. The index differs from the base in that the<br />

index is first multiplied by a scale factor of 1, 2, 4 or 8 before the summation<br />

is made. The third component added to the memory address calculation is the<br />

displacement which is a value of up to 32 bits in length supplied as part of the<br />

instruction. Figure 2-20 illustrates the calculation of the offset address.<br />

Nine valid combinations of the base, index, scale factor, and displacement can<br />

be used with the <strong>TI486</strong> instruction set. These combinations are listed in<br />

Table 2-17. The base and index both refer to contents of a register as<br />

indicated by [Base] and [Index].<br />

2-39

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

Saved successfully!

Ooh no, something went wrong!