IP Library Granted Patent US 6,851,040
Granted Patent B2
US 6,851,040 · App. 09/930,625 · Granted Feb 1, 2005

Method and apparatus for improving segmented memory addressing

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,851,040
App. No.
09/930,625
Granted
Feb 1, 2005
Kind
B2
Abstract

A method and apparatus for breaking complex X86 segment operations and segmented memory addressing into explicit sub-operations so that they may be exposed to compiler or translator-based optimizations. A method includes providing a first segment selector for deriving a linear address of a segment descriptor in a first descriptor table and providing a second segment selector for deriving a linear address of a segment descriptor in a second descriptor table. The method also includes attempting an access of the first descriptor table to derive a segment descriptor, and if the access of the first descriptor table fails, attempting an access of the second descriptor table to derive a segment descriptor. The method also includes storing a derived segment descriptor from a successful attempted access in a descriptor register.

Claims (25)

1. A method for implementing a segmentation operation comprising the steps of:

providing a first segment selector for deriving a linear address of a segment descriptor in a first descriptor table,

providing a second segment selector for deriving a linear address of a segment descriptor in a second descriptor table,

attempting an access of the first descriptor table to derive a segment descriptor,

attempting an access of the second descriptor table to derive a segment descriptor if the access of the first descriptor table fails, and

storing a derived segment descriptor from a successful attempted access in a descriptor register;

and wherein any attempt to access is divided into discrete sub-steps comprising:

checking properties of a logical address to determine whether those properties are consistent with the criteria for addressing one of the first and the second descriptor tables in a first discrete sub-step of deriving a linear address, and

performing a base-add operation to determine the linear address as a second discrete sub-step of deriving a linear address.

2. A microprocessor that implements a segmentation operation, comprising:

a first descriptor table for storing segment descriptors;

a second descriptor table for storing segment descriptors;

a first register for holding a first segment selector operable to derive a linear address of a segment descriptor in the first descriptor table;

a second register for holding a second segment selector operable to derive a linear address of a segment descriptor in the second descriptor table; and

a descriptor register for storing a derived segment descriptor from a successful attempted access of one of said first descriptor table and said second descriptor table;

wherein said microprocessor is operable for:

attempting an access of the first descriptor table to derive a segment descriptor;

if the access of the first descriptor table fails, attempting an access of the second descriptor table to derive a segment descriptor; and

storing in the descriptor register a derived segment descriptor from a successful attempted access; and

wherein the microprocessor, further comprising:

a first base register for storing a first base address; and

a second base register for storing a second base address;

wherein said microprocessor is further operable to divide attempts to access into discrete sub-steps by:

checking properties of a logical address to determine whether those properties are consistent with criteria for addressing one of the first and the second descriptor tables in a first discrete sub-step of deriving a linear address; and

performing a base-add operation to determine the linear address as a second discrete sub-step of deriving a linear address, said performing including accessing a value from one of the first and the second base registers.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR'S NAME PREVIOUSLY RECORDED AT REEL: 036711 FRAME: 0160. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 6, 2015
From: INTELLECTUAL VENTURES FUNDING LLC
To: INTELLECTUAL VENTURES HOLDING 81 LLC
Reel/Frame 036797/0356 →
MERGER Recorded Sep 29, 2015
From: INTELLECTUAL VENTURE FUNDING LLC
To: INTELLECTUAL VENTURES HOLDING 81 LLC
Reel/Frame 036711/0160 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2009
From: TRANSMETA LLC
To: INTELLECTUAL VENTURE FUNDING LLC
Reel/Frame 023268/0771 →
MERGER Recorded Mar 26, 2009
From: TRANSMETA CORPORATION
To: TRANSMETA LLC
Reel/Frame 022454/0522 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2002
From: ANVIN, H. PETER; KLAIBER, ALEX; ROZAS, GUILLERMO J.; GUPTA, PARAG
To: TRANSMETA CORPORATION
Reel/Frame 012490/0963 →