Patent US2246404A successfully refreshed from Google Patents.
Patent FR2461997A1 successfully refreshed from Google Patents.
Patent US3408238A successfully refreshed from Google Patents.
← Back to Patent Explorer
US4179737A Expired / Lapsed US ⏱️ 0.0 years remaining

Means and methods for providing greater speed and flexibility of microinstruction sequencing

Assignee: Unisys Corp
•
Filing: 1977-12-23
•
Granted: 1979-12-18
•
Expires: 1997-12-23
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Improved means and methods for providing highly flexible microinstruction sequencing in a microprogrammed digital data processing system particularly with regard to the handling of specialized types of sequencing situations such as are involved in wait-loop and repeat situations. The microprogramming control system is implemented using a plurality of programmable read only memories storing control words chosen so as to provide for microinstruction sequencing in a manner which in the first instance assumes that no branching possibilities are present, even though one or more branching possibilities may in fact be present in the microinstruction flow path, thereby permitting very fast microinstruction sequencing when the assumed sequencing is correct. Means are provided for monitoring the correctness of microinstruction sequencing concurrently with the execution of a microinstruction during each cycle for which a branching decision is required, and for correcting an incorrect assumed sequence in a highly flexible manner with minimum penalty on processing time using microinstruction indexing and inhibiting signals which are selectively provided in response to the states of selected system conditions during the cycle. Means and methods are also provided to permit the implementation provided for monitoring and correction to also be used to provide greater flexibility in the handling of specialized types of sequencing situations such as are involved in wait-loop and repeat situations.

Inventors

  • 👤 Dongsung R. Kim

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 20:15
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/22; G06F9/26; G06F9/262; G06F9/264; G06F9/265

Claims Analysis

Total Claims: 19
Claim 1
Independent Claim 296 words
In a cyclically operating microprogrammed data processing system having a plurality of possible states indicating system conditions and wherein a cycle corresponds to the time between clock pulses, the combination comprising: microinstruction memory means for storing selectively addressable microinstruction control words each containing a microinstruction to be executed and an accompanying sequencing control portion; microinstruction memory output means for storing a microinstruction control word read out from said microinstruction memory means; microinstruction execution means for executing during a cycle a microinstruction contained in a microinstruction control word stored in said output means; addressing means operable concurrently with said execution means during a cycle for addressing said microinstruction memory means so as to read out a next microinstruction control word therefrom for storage in said output means; and sequencing control means operable concurrently with said execution means and said addressing means during a cycle, said sequencing control means being responsive to a sequencing control portion stored in said output means during a cycle and the states of selected system conditions for providing during the same cycle a microinstruction control indication, and a plurality of inhibit indications; said sequencing control means including logic circuit means responsive to said inhibit indications for selectively controlling storage in said output means of a microinstruction control word read out of said microinstruction memory means and also selectively controlling execution of the microinstruction contained in said output means during a current cycle and during the next occuring cycle; said logic circuit means being responsive to said microinstruction control indication when it is of a first type for controlling the addressing provided by said addressing means in the next cycle and when it is of a second type for modifying the operations provided by said logic circuit means in response to said inhibit indications.
Claim 2
Dependent Claim 296 words
In a cyclically operating microprogrammed data processing system having a plurality of possible states indicating system conditions and wherein a cycle corresponds to the time between clock pulses, the combination comprising: microinstruction memory means for storing selectively addressable microinstruction control words each containing a microinstruction to be executed and an accompanying sequencing control portion; microinstruction memory output means for storing a microinstruction control word read out from said microinstruction memory means; microinstruction execution means for executing during a cycle a microinstruction contained in a microinstruction control word stored in said output means; addressing means operable concurrently with said execution means during a cycle for addressing said microinstruction memory means so as to read out a next microinstruction control word therefrom for storage in said output means; and sequencing control means operable concurrently with said execution means and said addressing means during a cycle, said sequencing control means being responsive to a sequencing control portion stored in said output means during a cycle and the states of selected system conditions for providing during the same cycle a microinstruction control indication, and a plurality of inhibit indications; said sequencing control means including logic circuit means responsive to said inhibit indications for selectively controlling storage in said output means of a microinstruction control word read out of said microinstruction memory means and also selectively controlling execution of the microinstruction contained in said output means during a current cycle and during the next occuring cycle; said logic circuit means being responsive to said microinstruction control indication when it is of a first type for controlling the addressing provided by said addressing means in the next cycle and when it is of a second type for modifying the operations provided by said logic circuit means in response to said inhibit indications.
Claim 3
Dependent Claim 51 words
The invention in accordance with claim 1, wherein said sequencing control means operates to select particular system conditions from those provided by said data processing system during a cycle in response to selection information derived from the sequencing control portion contained in a microinstruction control word stored in said output means.
Claim 4
Dependent Claim 125 words
The invention in accordance with claim 1, wherein said inhibit indications provided by said sequencing control means during a cycle selectively comprise neither, one or both of first and second inhibit signals, wherein said system includes storing means for storing the results of microinstruction execution during a cycle, wherein said logic circuit means is responsive to said first inhibit signal being provided during a cycle so as to prevent storage of microinstruction execution results obtained during the cycle in said storage means, and wherein said logic circuit means is responsive to said second inhibit signal being provided during a cycle so as to prevent a microinstruction control word read out from said microinstruction memory means during the cycle from being stored in said output means.
Claim 5
Dependent Claim 43 words
The invention in accordance with claim 3, wherein said logic circuit means is additionally responsive to said second inhibit signal being provided during a cycle so as to prevent storage of microinstruction execution results in said storage means during the next following cycle.
Claim 6
Dependent Claim 79 words
The invention in accordance with claim 4, wherein said logic circuit means is responsive to a next microinstruction control indication of said second type provided during a current cycle to modify its operations in a manner so as to permit storage of microinstruction execution results in said storage means during the next following cycle, while still preventing a microinstruction control word read out from said microinstruction memory means during a current cycle from being stored in said output means.
Claim 7
Dependent Claim 112 words
The invention in accordance with claim 5, wherein each microinstruction control word contains an assumed next microinstruction address portion, wherein said microinstruction control indication of said first type indicates whether the assumed next microinstruction is the correct next microinstruction to be executed, wherein said sequencing control means is responsive to an indication that the assumed next microinstruction is the correct next microinstruction for causing neither of said first and second inhibit signals to be produced, and wherein said sequencing control means is responsive to an indication that the assumed next microinstruction is not the correct next microinstruction to cause at least one of said first and second inhibit signals to be produced.
Claim 8
Dependent Claim 66 words
The invention in accordance with claim 6, wherein said sequencing control means is additionally responsive to an incorrect next microinstruction indication for determining the correct next microinstruction address, and wherein said logic circuit means is responsive to an incorrect next microinstruction indication to cause said addressing means to next address said microinstruction memory means with the correct next microinstruction address determined by said sequencing control means.
Claim 9
Dependent Claim 154 words
The invention in accordance with claim 1, wherein said sequencing control means includes sequence control memory means for storing selectively addressable sequence control words each containing a branch index portion and a condition select portion; wherein said sequence control memory is addressed during a cycle to read out a selected sequence control word in response to the sequencing control portion contained in a microinstruction control word stored in said output means; wherein said selected system conditions are selected by said sequencing control means during a cycle in response to the conditions select portion of a sequence control word read out from said sequence control memory means during the cycle; and wherein said microinstruction control indication and said plurality of inhibit indications are provided by said sequencing control means during the cycle in response to the branch index portion of a sequence control word read out from said sequence control memory means during the cycle.
Claim 10
Dependent Claim 69 words
The invention in accordance with claim 8, wherein each sequence control word additionally includes an alternate address portion indicating at least one alternate next microinstruction address, and wherein said logic circuit means is selectively operable in response to a microinstruction control indication of said first type to select said alternate next microinstruction address as the correct next microinstruction address for use by said addressing means in the next cycle.
Claim 11
Dependent Claim 24 words
The invention in accordance with claim 8, wherein said microinstruction memory means and said sequence control memory means each comprise a programmable read-only memory.
Claim 12
Dependent Claim 369 words
In a cyclically operating microprogrammed data processing system having a plurality of possible states indicating system conditions and wherein a cycle corresponds to the time between clock pulses and wherein the system performs an operation using a microinstruction flow structure containing at least one branching point, the combination comprising: microinstruction memory means for storing selectively addressable microinstruction control words, each microinstruction control word containing (a) a microinstruction to be executed, (b) an assumed next address portion indicating the address of the microinstruction control word containing an assumed next microinstruction, and (c) a sequencing contol portion for use in providing correct next microinstruction sequencing; microinstruction memory output means for storing a microinstruction control word read out from said microinstruction memory means; microinstruction execution means for executing during a cycle a microinstruction contained in a microinstruction control word stored in said output means; addressing means operable concurrently with said microinstruction execution means during a cycle for normally addressing said microinstruction memory means so as to read out therefrom for storage in said output means in the next cycle the microinstruction control word indicated by the next address portion contained in a microinstruction control word stored in said output means during a current cycle; sequencing control means operable concurrently with said execution means and said addressing means during a cycle, said sequencing control means being responsive to the sequencing portion of a microinstruction control word stored in said output means and the states of selected system condition signals for providing a microinstruction control indication, and a plurality of inhibit indications; said sequencing control means including logic circuit means responsive to said inhibit indications for selectively controlling storage in said output means of said next microinstruction control word read out of said microinstruction memory means and also selectively controlling execution of the microinstruction contained in said output means during a current cycle and during the next occurring cycle; said logic circuit means being responsive to said microinstruction control indication when it is of a first type for controlling the addressing provided by said addressing means in the next cycle and when it is of a second type for modifying the operations provided by said logic circuit means in response to said inhibit indications.
Claim 13
Dependent Claim 369 words
In a cyclically operating microprogrammed data processing system having a plurality of possible states indicating system conditions and wherein a cycle corresponds to the time between clock pulses and wherein the system performs an operation using a microinstruction flow structure containing at least one branching point, the combination comprising: microinstruction memory means for storing selectively addressable microinstruction control words, each microinstruction control word containing (a) a microinstruction to be executed, (b) an assumed next address portion indicating the address of the microinstruction control word containing an assumed next microinstruction, and (c) a sequencing contol portion for use in providing correct next microinstruction sequencing; microinstruction memory output means for storing a microinstruction control word read out from said microinstruction memory means; microinstruction execution means for executing during a cycle a microinstruction contained in a microinstruction control word stored in said output means; addressing means operable concurrently with said microinstruction execution means during a cycle for normally addressing said microinstruction memory means so as to read out therefrom for storage in said output means in the next cycle the microinstruction control word indicated by the next address portion contained in a microinstruction control word stored in said output means during a current cycle; sequencing control means operable concurrently with said execution means and said addressing means during a cycle, said sequencing control means being responsive to the sequencing portion of a microinstruction control word stored in said output means and the states of selected system condition signals for providing a microinstruction control indication, and a plurality of inhibit indications; said sequencing control means including logic circuit means responsive to said inhibit indications for selectively controlling storage in said output means of said next microinstruction control word read out of said microinstruction memory means and also selectively controlling execution of the microinstruction contained in said output means during a current cycle and during the next occurring cycle; said logic circuit means being responsive to said microinstruction control indication when it is of a first type for controlling the addressing provided by said addressing means in the next cycle and when it is of a second type for modifying the operations provided by said logic circuit means in response to said inhibit indications.
Claim 14
Dependent Claim 55 words
The invention in accordance with claim 11, wherein the assumed next address portion contained in each microinstruction control word indicates the next following microinstruction when a no branch situation is presented by said microinstruction flow structure and indicates the most likely following next microinstruction when a branch situation is presented by said microinstruction flow structure.
Claim 15
Dependent Claim 131 words
The invention in accordance with claim 12, wherein said sequencing control means selectively produces neither, one or both of first and second inhibit signals during a cycle in response to said inhibit indications provided during the same cycle, wherein said system includes storing means for storing the results of microinstruction execution during a cycle, wherein said logic circuit means is responsive to said first inhibit signal being provided during a cycle so as to prevent storage of microinstruction execution results obtained during the cycle in said storage means, and wherein said logic circuit means is responsive to said second inhibit signal being provided during a cycle so as to prevent a microinstruction control word read out from said microinstruction memory means during the cycle from being stored in said output means.
Claim 16
Dependent Claim 43 words
The invention in accordance with claim 13, wherein said logic circuit means is additionally responsive to said second inhibit signal being provided during a cycle so as to prevent storage of microinstruction execution results in said storage means during the next following cycle.
Claim 17
Dependent Claim 77 words
The invention in accordance with claim 14, wherein said logic circuit means is responsive to a next microinstruction control indication of said second type provided during a current cycle to modify its operations in a manner so as to permit storage of microinstruction execution results in said storage means during the next following cycle, while still preventing a microinstruction control word read out from said microinstruction during a current cycle from being stored in said output means.
Claim 18
Dependent Claim 359 words
In a cyclically operating microprogrammed data processing system including storing means for storing the results of microinstruction execution performed during a cycle wherein a cycle corresponds to the time between clock pulses, an improved method of providing for the sequencing of microinstructions in a microinstruction flow structure containing at least one branch point, said method comprising the steps of: addressing a microinstruction memory during a first cycle so as to read out therefrom a first one of a plurality of microinstruction control words stored therein, each microinstruction control word containing a microinstruction to be executed, an assumed next address portion indicating the address of the microinstruction control word containing an assumed next microinstruction, and a sequencing control portion, said assumed next address portion being chosen to indicate the next following microinstruction when a no branch situation is presented by said microinstruction flow structure and to indicate the most likely following next microinstruction in said microinstruction flow struction when a branch situation is presented by said microinstruction flow structure; normally addressing said microinstruction memory during a second cycle in accordance with the assumed next address portion contained in said first microinstruction control word so as to read out therefrom a second microinstruction control word; executing the microinstruction contained in said first microinstruction control word during said second cycle and the microinstruction contained in said second microinstruction control word during a third cycle; generating during said second cycle a microinstructure contol indication and a plurality of inhibit indications in response to selected system conditions and the sequencing control portion contained in said first microinstruction control word; selectively controlling storing in said storage means of the results of microinstruction execution during said second and third cycles in response to said inhibit indications; selectively controlling modification of normal addressing during said third cycle in response to the microinstruction control indication generated during the second cycle being of a first type; and modifying the selective controlling of storing of microinstruction execution results in said storage means normally produced by the inhibit indications generated during said second cycle in response to the microinstruction control indication generated during the second cycle being of a second type.
Claim 19
Dependent Claim 359 words
In a cyclically operating microprogrammed data processing system including storing means for storing the results of microinstruction execution performed during a cycle wherein a cycle corresponds to the time between clock pulses, an improved method of providing for the sequencing of microinstructions in a microinstruction flow structure containing at least one branch point, said method comprising the steps of: addressing a microinstruction memory during a first cycle so as to read out therefrom a first one of a plurality of microinstruction control words stored therein, each microinstruction control word containing a microinstruction to be executed, an assumed next address portion indicating the address of the microinstruction control word containing an assumed next microinstruction, and a sequencing control portion, said assumed next address portion being chosen to indicate the next following microinstruction when a no branch situation is presented by said microinstruction flow structure and to indicate the most likely following next microinstruction in said microinstruction flow struction when a branch situation is presented by said microinstruction flow structure; normally addressing said microinstruction memory during a second cycle in accordance with the assumed next address portion contained in said first microinstruction control word so as to read out therefrom a second microinstruction control word; executing the microinstruction contained in said first microinstruction control word during said second cycle and the microinstruction contained in said second microinstruction control word during a third cycle; generating during said second cycle a microinstructure contol indication and a plurality of inhibit indications in response to selected system conditions and the sequencing control portion contained in said first microinstruction control word; selectively controlling storing in said storage means of the results of microinstruction execution during said second and third cycles in response to said inhibit indications; selectively controlling modification of normal addressing during said third cycle in response to the microinstruction control indication generated during the second cycle being of a first type; and modifying the selective controlling of storing of microinstruction execution results in said storage means normally produced by the inhibit indications generated during said second cycle in response to the microinstruction control indication generated during the second cycle being of a second type.

References Cited (Backward Citations)

US3418638A Cited
US3654448A Cited
US3736566A Cited
US3766532A Cited
US3956738A Cited
US4037202A Cited
US4038643A Cited
US4070703A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1982-12-17 1983-06-18 1983-12-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1986-12-17 1987-06-18 1987-12-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1990-12-17 1991-06-18 1991-12-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag