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.

Register Set<br />

Table 2-6. Segment Descriptor Bit Definitions<br />

BIT<br />

POSITION<br />

MEMORY<br />

OFFSET<br />

31-24 +4<br />

7-0 +4<br />

31-16 +0<br />

19-16 +4<br />

15-0 +0<br />

23 +4<br />

22 +4<br />

20 +4<br />

15 +4<br />

14-13 +4<br />

12 +4<br />

11-8 +4<br />

NAME<br />

BASE<br />

LIMIT<br />

G<br />

D<br />

AVL<br />

P<br />

DPL<br />

DT<br />

TYPE<br />

DESCRIPTION<br />

Segment base address.<br />

32-bit linear address that points to the beginning of the segment.<br />

Segment limit. In real mode, segment limit is always 64 KBytes<br />

(OFFFFh)<br />

Limit granularity bit:<br />

O=byte granularity, 1=4 KBytes (page) granularity.<br />

Default length for operands and effective addresses.<br />

Valid for code and stack segments only: 0=16 bit, 1=32-bit.<br />

Segment available.<br />

Segment present.<br />

Descriptor privilege level.<br />

Descriptor type:<br />

O=system, 1 =application<br />

Segment type.<br />

System descriptor (DT =0):<br />

001 O=LDT descriptor<br />

1001 = TSS descriptor, task not busy<br />

1011 = TSS descriptor, task busy<br />

11<br />

E Application descriptor (DT =1):<br />

O=data, 1 =executable<br />

10<br />

9<br />

8<br />

C/D<br />

R/W<br />

A<br />

IfE=O:<br />

O=expand up, limit is upper bound of segment.<br />

1 =expand down, limit is lower bound of segment<br />

If E=1:<br />

O=non-conforming<br />

1=conforming (runs at privilege level of calling procedure)<br />

IfE=O:<br />

O=non-readable<br />

1=readable<br />

If E=1:<br />

O=non-writable<br />

1=writable<br />

0=notaccessed,1=accessed<br />

Gate Descriptors provide protection for executable segments operating at<br />

different privilege levels. Figure 2-9 illustrates the format for Gate Descriptors<br />

and Table 2-7 lists the corresponding bit definitions.<br />

Task Gate descriptors are used to switch the CPU's context during a task<br />

switch. The selector portion of the Task Gate descriptor locates a Task State<br />

Segment. Task Gate descriptors can be located in the GDT, LDT or IDT.<br />

Interrupt Gate descriptors are used to enter a hardware interrupt service<br />

routine. Trap Gate descriptors are used to enter exceptions or software<br />

interrupt service routines. Trap Gate and Interrupt Gate descriptors can be<br />

located only in the IDT.<br />

2-23

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

Saved successfully!

Ooh no, something went wrong!