← Back to Patent Explorer
US5822607A Expired / Lapsed US ⏱️ 0.0 years remaining

Method for fast validation checking for code and data segment descriptor loads

Assignee: IP First LLC
•
Filing: 1997-06-09
•
Granted: 1998-10-13
•
Expires: 2017-06-09
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for improving the load time of code and data descriptors is provided. The invention utilizes hardware validation logic for code and data descriptors, but uses a software program to validate system descriptors. In those instances where the descriptor being loaded is a code or data descriptor, system validation checks are not performed. This allows code and data descriptors to be validated and stored into a segment register much faster than if system validation checks were also performed. If the descriptor is found invalid by the hardware validation logic, a branch is made to a software program which is used to determine whether the descriptor is invalid, or is actually a system descriptor. If it is a system descriptor, then system descriptor validation checks are performed by a software program.

Inventors

  • 👤 G. Glenn Henry
  • 👤 Terry Parks

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 23:47
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/10; G06F12/1027; G06F12/1036; G06F9/00; G06F9/06; G06F9/30; G06F9/34; G06F9/38; G06F9/3861

Claims Analysis

Total Claims: 37
Claim 1
Independent Claim 95 words
A method for loading of a segment register within a processor, the method comprising the steps of: a) loading a selector; b) loading a descriptor corresponding to the selector; c) performing segment validation checks on the descriptor utilizing a hardware validation circuit; d) if the descriptor is valid, storing the descriptor and corresponding selector in the segment register within the processor; e) if the descriptor is a system descriptor, branching to a software program that validates system descriptors; f) if the system segment is valid, storing the descriptor in the segment register within the processor.
Claim 2
Independent Claim 95 words
A method for loading of a segment register within a processor, the method comprising the steps of: a) loading a selector; b) loading a descriptor corresponding to the selector; c) performing segment validation checks on the descriptor utilizing a hardware validation circuit; d) if the descriptor is valid, storing the descriptor and corresponding selector in the segment register within the processor; e) if the descriptor is a system descriptor, branching to a software program that validates system descriptors; f) if the system segment is valid, storing the descriptor in the segment register within the processor.
Claim 3
Dependent Claim 21 words
The method for loading of a segment register, as recited in claim 1, wherein the processor is an x86 compatible microprocessor.
Claim 4
Dependent Claim 38 words
The method for loading of a segment register, as recited in claim 1, wherein said step a) further comprises the steps of: i) retrieving the selector and moving it into a temporary selector register; ii) validating the selector.
Claim 5
Dependent Claim 32 words
The method for loading of a segment register, as recited in claim 3, wherein said step i) retrieves the selector from a register within the processor that is not a segment register.
Claim 6
Dependent Claim 23 words
The method for loading of a segment register, as recited in claim 3, wherein said step i) retrieves the selector from a memory.
Claim 7
Dependent Claim 34 words
The method for loading of a segment register, as recited in claim 3, wherein the temporary selector register holds the selector, prior to validation, and prior to writing the selector into the segment register.
Claim 8
Dependent Claim 22 words
The method for loading of a segment register, as recited in claim 1, wherein said step b) occurs after said step a).
Claim 9
Dependent Claim 39 words
The method for loading of a segment register, as recited in claim 1, wherein said step b) further comprises the steps of: i) retrieving the descriptor from a memory location; ii) storing the descriptor into a temporary descriptor register.
Claim 10
Dependent Claim 34 words
The method for loading of a segment register, as recited in claim 8, wherein the temporary descriptor register holds the descriptor prior to validation, and prior to writing the descriptor into the segment register.
Claim 11
Dependent Claim 22 words
The method for loading of a segment register, as recited in claim 1, wherein said step c) performs code segment validation checks.
Claim 12
Dependent Claim 22 words
The method for loading of a segment register, as recited in claim 1, wherein said step c) performs data segment validation checks.
Claim 13
Dependent Claim 27 words
The method for loading of a segment register, as recited in claim 1, wherein said step c) does not perform validation checks applicable only to system segments.
Claim 14
Dependent Claim 25 words
The method for loading of a segment register, as recited in claim 1, wherein the hardware validation circuit is a PLA circuit within the processor.
Claim 15
Dependent Claim 31 words
The method for loading of a segment register, as recited in claim 1, wherein the hardware validation circuit provides a signal to the processor to indicate whether the descriptor is valid.
Claim 16
Dependent Claim 31 words
The method for loading of a segment register, as recited in claim 14, wherein the hardware validation circuit provides a signal to the processor to indicate whether the descriptor is invalid.
Claim 17
Dependent Claim 38 words
The method for loading of a segment register, as recited in claim 15, wherein the hardware validation circuit provides a signal to the processor to indicate that the descriptor is invalid if the descriptor is a system descriptor.
Claim 18
Dependent Claim 29 words
The method for loading of a segment register, as recited in claim 1, wherein the hardware validation circuit tests the descriptor to determine whether it is a system descriptor.
Claim 19
Dependent Claim 42 words
The method for loading of a segment register, as recited in claim 17, wherein if the descriptor is a system descriptor, the hardware validation circuit provides an indicator to the processor indicating that a system descriptor is in the temporary descriptor register.
Claim 20
Dependent Claim 39 words
The method for loading of a segment register, as recited in claim 18, wherein if the hardware validation circuit provides an indicator to the processor indicating that a system descriptor is in the temporary register, said step e) occurs.
Claim 21
Dependent Claim 38 words
The method for loading of a segment register, as recited in claim 1, wherein said step e) further comprises: i) generating an exception; ii) jumping to an exception handler which contains the software program that validates system descriptors.
Claim 22
Dependent Claim 33 words
The method for loading of a segment register, as recited in claim 18, wherein said step e) further comprises: i) recognizing the indicator; ii) branching to the software program that validates system descriptors.
Claim 23
Dependent Claim 26 words
The method for loading of a segment register, as recited in claim 1, wherein the software program is stored within a control ROM within the processor.
Claim 24
Dependent Claim 30 words
The method for loading of a segment register, as recited in claim 1, wherein the indicator provided by the hardware validation circuit is a set bit within a control register.
Claim 25
Independent Claim 145 words
A method for loading a segment register within a processor, the processor having hardware validation for code and data segments, and software validation for system segments, the method comprising the steps of: a) retrieving a selector, and storing the selector in a temporary register; b) validating the selector; c) if the selector is valid, retrieving a corresponding descriptor and storing the descriptor into a temporary register; d) providing the stored descriptor to a hardware validation circuit; e) if the hardware validation circuit indicates that the stored descriptor is valid, storing the selector and descriptor into the segment register; f) if the hardware validation circuit indicates that the stored descriptor is not valid, branching to a software program which validates system descriptors; g) if the software program determines that the stored descriptor is a valid system descriptor, storing the selector and descriptor into the segment register.
Claim 26
Independent Claim 145 words
A method for loading a segment register within a processor, the processor having hardware validation for code and data segments, and software validation for system segments, the method comprising the steps of: a) retrieving a selector, and storing the selector in a temporary register; b) validating the selector; c) if the selector is valid, retrieving a corresponding descriptor and storing the descriptor into a temporary register; d) providing the stored descriptor to a hardware validation circuit; e) if the hardware validation circuit indicates that the stored descriptor is valid, storing the selector and descriptor into the segment register; f) if the hardware validation circuit indicates that the stored descriptor is not valid, branching to a software program which validates system descriptors; g) if the software program determines that the stored descriptor is a valid system descriptor, storing the selector and descriptor into the segment register.
Claim 27
Dependent Claim 27 words
The method for loading a segment register, as recited in claim 24, wherein said step b) further comprises the step of determining whether the selector is null.
Claim 28
Dependent Claim 23 words
The method for loading a segment register, as recited in claim 24, wherein the temporary register is connected to the hardware validation circuit.
Claim 29
Dependent Claim 31 words
The method for loading a segment register, as recited in claim 24, wherein the hardware validation circuit indicates that the stored descriptor is valid by providing a signal to the processor.
Claim 30
Dependent Claim 42 words
The method for loading a segment register, as recited in claim 24, wherein said step e) further comprises the step of indicating to the processor, by the hardware validation circuit, that the stored descriptor is not a valid code or data descriptor.
Claim 31
Dependent Claim 30 words
The method for loading a segment register, as recited in claim 28, wherein said step of indicating comprises providing a signal to the processor that the stored descriptor is invalid.
Claim 32
Dependent Claim 32 words
The method for loading a segment register, as recited in claim 28, wherein said step of indicating comprises providing a signal to the processor that the stored descriptor is a system descriptor.
Claim 33
Dependent Claim 31 words
The method for loading a segment register, as recited in claim 28, wherein said step of indicating comprises setting a bit in the processor indicating that the stored descriptor is invalid.
Claim 34
Dependent Claim 24 words
The method for loading a segment register, as recited in claim 24, wherein the software program resides within a control ROM within the processor.
Claim 35
Dependent Claim 25 words
The method for loading a segment register, as recited in claim 24, wherein the software program is part of an exception handler within the processor.
Claim 36
Independent Claim 159 words
A method for loading a segment register, within a processor having hardware validation checks for code and data descriptors, and software validation checks for system descriptors, the method comprising the steps of: a) retrieving a selector; b) validating the selector; c) if the selector is valid, retrieving a descriptor corresponding to the selector; d) providing the descriptor to a hardware validation circuit which validates code and data descriptors; e) if the hardware validation circuit determines that the descriptor is a valid code or data descriptor, storing the selector and descriptor into the segment register; f) if the hardware validation circuit determines that the descriptor is not a valid code or data descriptor, branching to a software program which validates system descriptors; g) if the software program determines that the descriptor is a valid system descriptor, storing the selector and descriptor into the segment register; h) wherein said step d) does not perform validation checks applicable only to system descriptors.
Claim 37
Independent Claim 159 words
A method for loading a segment register, within a processor having hardware validation checks for code and data descriptors, and software validation checks for system descriptors, the method comprising the steps of: a) retrieving a selector; b) validating the selector; c) if the selector is valid, retrieving a descriptor corresponding to the selector; d) providing the descriptor to a hardware validation circuit which validates code and data descriptors; e) if the hardware validation circuit determines that the descriptor is a valid code or data descriptor, storing the selector and descriptor into the segment register; f) if the hardware validation circuit determines that the descriptor is not a valid code or data descriptor, branching to a software program which validates system descriptors; g) if the software program determines that the descriptor is a valid system descriptor, storing the selector and descriptor into the segment register; h) wherein said step d) does not perform validation checks applicable only to system descriptors.

References Cited (Backward Citations)

US4602328A Cited
US5144551A Cited
US5418956A Cited
US5517651A Cited
US5564030A Cited
US5598553A Cited
US5680567A Cited
US5577219A Cited
US5596735A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-10-12 2002-04-13 2002-10-13 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-10-12 2006-04-13 2006-10-13 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-10-12 2010-04-13 2010-10-13 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag