Microprogrammed digital data processing system employing tasking at a microinstruction level
First Claim
Patent Images
1. In a microprogrammed data processing system including high level instruction storage means, the combination comprising:
- task generation means for fetching high level instructions from said high level instruction storage means and in response thereto generating one or more tasks for performing each high level instruction, each task being in turn performable by the execution of one or more task microinstructions;
microinstruction storage means for storing selectably addressable task microinstructions for use in performing said tasks;
said task generating means being operative to access selected microinstructions from said microinstruction storage means;
microinstruction execution means for receiving and executing microinstructions selected from said microinstruction storage means by said task generating means; and
task control means responsive to said task generation means and to said microinstruction execution means for determining which tasks are ready for execution and for causing said task generation means to address said microinstruction storage means with addresses corresponding to ready task microinstructions, the order of addressing of microinstructions being chosen to allow for the execution of ready task microinstructions by said microinstruction execution means in an intermixed order regardless of the particular task to which each belongs so as to thereby provide for task multiprogramming at a microinstruction level.
2 Assignments
0 Petitions
Accused Products
Abstract
A microprogrammed data processing system is provided in which each high level instruction is performed by one or more tasks, each task being in turn performed by executing one or more task microinstructions in a microprogrammed manner. Dynamic resource allocation and task synchronization are additionally provided along with a three-stage pipelined architecture so as to provide both multiprogramming and multiprocessing on a microinstruction level.
83 Citations
13 Claims
-
1. In a microprogrammed data processing system including high level instruction storage means, the combination comprising:
-
task generation means for fetching high level instructions from said high level instruction storage means and in response thereto generating one or more tasks for performing each high level instruction, each task being in turn performable by the execution of one or more task microinstructions; microinstruction storage means for storing selectably addressable task microinstructions for use in performing said tasks; said task generating means being operative to access selected microinstructions from said microinstruction storage means; microinstruction execution means for receiving and executing microinstructions selected from said microinstruction storage means by said task generating means; and task control means responsive to said task generation means and to said microinstruction execution means for determining which tasks are ready for execution and for causing said task generation means to address said microinstruction storage means with addresses corresponding to ready task microinstructions, the order of addressing of microinstructions being chosen to allow for the execution of ready task microinstructions by said microinstruction execution means in an intermixed order regardless of the particular task to which each belongs so as to thereby provide for task multiprogramming at a microinstruction level. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. In a microprogrammed data processing system including high level instruction storage means and microinstruction execution means, an improved method for performing high level instructions by executing microinstructions corresponding thereto, said method comprising the steps of:
-
fetching a high level instruction to be performed from said high level instruction storage means; generating one or more tasks corresponding to each high level instruction, each task being performable by executing one or more microinstructions; determining from the generated tasks a group of tasks which are ready for execution; and deriving and executing task microinstructions corresponding to ready tasks in said group in an intermixed sequence regardless of the particular tasks to which each microinstruction corresponds so as to thereby provide for task multiprogramming on a microinstruction level, said intermixed sequence being determined in response to the results of microinstruction execution and the ready tasks in said group. - View Dependent Claims (12, 13)
-
Specification