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

Microprogrammed digital data processing system employing tasking at a microinstruction level

Assignee: Unisys Corp
•
Filing: 1980-05-06
•
Granted: 1983-05-17
•
Expires: 2000-05-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Dongsung R. Kim
  • 👤 John H. McClintock, Jr.

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 08:15
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4843; G06F9/4881; G06F9/50

Claims Analysis

Total Claims: 15
Claim 1
Independent Claim 200 words
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.
Claim 2
Dependent Claim 200 words
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.
Claim 3
Dependent Claim 41 words
The invention in accordance with claim 1, wherein said microinstruction execution means includes microinstruction sequencing control means for providing next address and status data to task control means for use thereby in determining the order of execution of ready task microinstructions.
Claim 4
Dependent Claim 88 words
The invention in accordance with claim 2, wherein said system includes a plurality of resources which are assignable for use by said microinstruction execution means for executing microinstructions, wherein said resources include data storage devices, wherein said task generation means includes means responsive to fetched high level instructions for determining resource requirements for each of the one or more tasks generated thereby for each high level instruction, and wherein said task control means is responsive to these task resource requirements for dynamically assigning said resources to said tasks.
Claim 5
Dependent Claim 72 words
The invention in accordance with claim 3, wherein said resources includes a stack having a predetermined plurality of floating top-of-stack registers, wherein said microinstruction execution means provides for communication of the results of microinstruction execution via said top-of-stack registers, and wherein said task control means is operative to dynamically assign particular ones of the inputs and outputs of said top-of-stack registers to a task when the task is inserted into said group.
Claim 6
Dependent Claim 101 words
The invention in accordance with claim 3, wherein said task control means operates in response to said microinstruction sequencing control means and said task generation means to provide a predetermined group of tasks which are currently ready for execution by said microinstruction execution means, said task control means also being operative to insert into said group new tasks received from said task generation means until all of said resources are used up, after which new tasks are inserted into said group by said task control means when resources become available as a result of the completion of tasks in said group.
Claim 7
Dependent Claim 31 words
The invention in accordance with claim 5, wherein said task control means is operative to place a task in a waiting state when no task microinstruction thereof is ready for execution.
Claim 8
Dependent Claim 34 words
The invention in accordance with claim 3, wherein said system is constructed and arranged to permit operations of said task generation means, said task control means and said microinstruction execution means to occur concurrently.
Claim 9
Dependent Claim 70 words
The invention in accordance with claim 1, 2, 3, 5 or 7, wherein said system includes synchronization means for controlling said task generation means, said task control means and said microinstruction execution means so as to insure that changes in the state of said system required as a result of the performance of said tasks are made to occur in proper sequence as required for performing said high level instructions.
Claim 10
Dependent Claim 40 words
The invention in accordance with claim 8, wherein said synchronization means comprises a first-in-first-out change queue into which task results affecting changes of state are placed one task at a time and then caused to be removed in proper sequence.
Claim 11
Dependent Claim 83 words
The invention in accordance with claim 1, 2, 3, 5 or 7, wherein said system includes means defining clock periods, wherein said microinstruction execution means is capable of executing a different task microinstruction during each clock period, wherein said task control means is capable of providing a new microinstruction address to said microinstruction storage means during each clock period, and wherein said microinstruction sequencing means is capable of providing next address and status data to said task control means during each clock period.
Claim 12
Dependent Claim 144 words
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.
Claim 13
Dependent Claim 144 words
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.
Claim 14
Dependent Claim 44 words
The invention in accordance with claim 11, wherein said method also includes the steps of: determining resource requirements for each of the one or more tasks generated for each instruction; and dynamically assigning required resources to each of said tasks prior to execution thereof.
Claim 15
Dependent Claim 45 words
The invention in accordance with claim 11 or 12, wherein said method additionally includes the step of: synchronizing changes in the state of said system required as a result of the performance of said tasks by causing state changes to occur in a predetermined sequence.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1986-05-16 1986-11-15 1987-05-17 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1990-05-16 1990-11-15 1991-05-17 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1994-05-16 1994-11-15 1995-05-17 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag