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.

Virtual 8086 Mode<br />

2.9 Virtual 8086 Mode<br />

Both Real Mode and Virtual 8086 (V86) Mode are supported by the <strong>TI486</strong> CPU<br />

allowing execution of 8086 application programs and 8086 operating systems.<br />

V86 Mode allows the execution of 8086-type applications, yet still permits use<br />

of the <strong>TI486</strong> protection mechanism. V86 tasks run at privilege level 3. Upon<br />

entry, all segment limits are set to FFFFh (64K) as in real mode.<br />

2.9.1 Memory Addressing<br />

While in V86 mode, segment registers are used in an identical fashion to Real<br />

Mode. The contents of the segment register are shifted left four bits and added<br />

to the offset to form the segment base linear address. The <strong>TI486</strong> CPU permits<br />

the operating system to select which programs use the V86 address<br />

mechanism and which programs use protected mode addressing for each<br />

task.<br />

The <strong>TI486</strong> also permits the use of paging when operating in V86 mode. Using<br />

paging, the 1-MByte address space of the V86 task can be mapped to<br />

anywhere in the 4-GByte linear address space of the <strong>TI486</strong> CPU. As in real<br />

mode, linear addresses that exceed 1 MByte cause a segment limit overrun<br />

exception.<br />

The paging hardware allows multiple V86 tasks to run concurrently, and<br />

provides protection and operating system isolation. The paging hardware<br />

must be enabled to run multiple V86 tasks or to relocate the address space of<br />

a V86 task to physical address space greater than 1 MByte.<br />

2.9.2 Protection<br />

<strong>Al</strong>l V86 tasks operate with the least amount of privilege (level 3) and are<br />

subject to all of the <strong>TI486</strong> protected mode protection checks. As a result, any<br />

attempt to execute a privileged instruction within a V86 task results in a general<br />

protection fault.<br />

In V86 mode, a slightly different set of instructions is sensitive to the I/O<br />

privilege level (IOPL) than in protected mode. These instructions are: CLI,<br />

INT n, IRET, POPF, PUSHF, and STI. The INT3, INTO and BOUND variations<br />

of the INT instruction are not 10PL sensitive.<br />

2-61

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

Saved successfully!

Ooh no, something went wrong!