Method, system and computer program product for efficiently utilizing limited resources in a graphics device
First Claim
1. A method for managing microcode, comprising the steps of:
- evaluating a mode command to initiate or change a mode;
selecting a combination of functions and a sequence list forming a logical sequential concatenation of said functions, each function including microinstructions that, when executed, implement a phase or a sub-phase of said mode,wherein said selecting said sequence list includes validating or optimizing said sequence list, wherein said validating or optimizing comprises searching for a faster version of a first partial sequence list selectable for said sequence list, wherein said faster version is a second partial sequence list; and
delivering said combination to a microcode processor according to said sequence list.
6 Assignments
0 Petitions
Accused Products
Abstract
A memory management system provides microcode instructions that are divided into multiple tuned phases and stored as separate modules inside a phase code depository. A microcode manager, containing a mode detector, sequence identifier, code loader, drawing data processor and phase executor, interacts with a microcode processor and the phase code depository. The mode detector evaluates a user request for a desired mode. In response to a command from the mode detector, the sequence identifier selects a correct phase sequence that is needed to implement the desired mode. The code loader transfers the phase sequence from the phase code depository to the microcode processor where it is stored in a microcode instruction memory. The memory address for each module within the phase sequence is written to a microcode data memory. The drawing data for the graphics mode is sent from the drawing data processor to the microcode processor, and the phase executor instructs the microcode processor to execute the phase sequence to render the desired mode by processing the drawing data. The resulting data is forwarded to another processor for additional microcode processing, vector processing, rasterization, or the like. The ability to select interchangeable phase modules to implement a desired mode reduces microcode memory requirements and allows easy integration and reuse of previously developed features among different games and other graphics software developers without having to rely on the type of platform.
32 Citations
28 Claims
-
1. A method for managing microcode, comprising the steps of:
-
evaluating a mode command to initiate or change a mode; selecting a combination of functions and a sequence list forming a logical sequential concatenation of said functions, each function including microinstructions that, when executed, implement a phase or a sub-phase of said mode, wherein said selecting said sequence list includes validating or optimizing said sequence list, wherein said validating or optimizing comprises searching for a faster version of a first partial sequence list selectable for said sequence list, wherein said faster version is a second partial sequence list; and delivering said combination to a microcode processor according to said sequence list. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for managing microcode, comprising:
-
a mode detector for evaluating a mode command to initiate or change a mode; and a sequence identifier for selecting a combination of functions and a sequence list forming a logical sequential concatenation of said functions, each function including microinstructions that, when executed, implement a phase or a sub-phase of said mode, wherein said sequence identifier is adapted to validate or optimize said sequence list by searching for a faster version of first partial sequence list selectable for said sequence list, wherein said faster version is a second partial sequence list. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A computer program product comprising a computer useable medium having computer readable program code means embedded in said medium for causing an application program to execute on a computer used to manage microcode, said computer readable program code means comprising:
-
first computer readable program code means for causing the computer to evaluate a mode command to initiate or change a mode; second computer readable program code means for causing the computer to select a combination of functions and a sequence list forming a logical sequential concatenation of said functions, each function including microinstructions that, when executed, implement a phase or a sub-phase of said mode; and third computer readable program code means for causing the computer to produce a validated or optimized said sequence list, wherein said third computer readable program code means includes computer readable program code means for causing the computer to search for a faster version of a first partial sequence list selectable for said sequence list, wherein said faster version is a second partial sequence list. - View Dependent Claims (19, 20, 21, 22, 23)
-
-
24. A method for managing microcode, comprising the steps of:
-
accessing a library of functions, each function including microinstructions that, when executed, implement a phase or a sub-phase of a graphics mode; selecting a combination of functions from said library and a sequence list forming a logical sequential concatenation of said functions in response to a mode command to produce a desired mode mode; wherein said selecting said sequence list includes validating or optimizing said sequence list, wherein said validating or optimizing comprises searching for a faster version of a first partial sequence list selectable for said sequence list, wherein said faster version is a second partial sequence list; delivering said combination to a processor; delivering drawing data to said processor; and executing said combination to process said drawing data according to said sequence list and thereby render said desired mode. - View Dependent Claims (25, 26, 27, 28)
-
Specification