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

Multiple control stores for a pipelined microcontroller

Assignee: Unisys Corp
•
Filing: 1982-11-03
•
Granted: 1986-04-29
•
Expires: 2002-11-03
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A microcontroller for controlling a digital device which controller is formed of a plurality of control stores each of which is provided with a register counter to address different locations within corresponding control store. Each control store is accessed each clock cycle and an instruction register is provided to receive one of the fetched microinstructions from the selected control store. In this manner, a microinstruction is presented to the instruction register each clock cycle even though the previous microinstruction was a conditional branch, a jump to subroutine or a return to subroutine instruction. In order to accommodate jump to subroutine and corresponding return from subroutine instructions, the respective address of the return subroutine is stored in a push-down stack for presentation to a selected one of the above-referred-to register counters in an order the reverse of the order in which those addresses were placed on the top of the stack.

Inventors

  • 👤 Carlos F. Horvath

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 02:05
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/22; G06F9/28; G06F9/26; G06F9/262; G06F9/264; G06F9/267

Claims Analysis

Total Claims: 11
Claim 1
Independent Claim 324 words
A microcontroller for controlling a digital device said microcontroller comprising: at least three control memories each for storing a set of miroinstructions, each microinstruction being formed of a control field for controlling said digital device, a jump address field specifying the location in another control memory of the next microinstruction to be executed should a jump to subroutine or a return from subroutine be required and an instruction field specifying whether that particular microinstruction is a jump microinstruction, return microinstruction or requires neither action; at least three address registers one for each control memory to address the corresponding control memory for the next microinstruction to be fetched; means for fetching said microinstructions from each of said control memories in every clock cycle; an instruction register coupled to the respective memories and said digital device for receiving the control field and instruction field of one of said microinstructions fetched from said control memories; a multiplexer coupled between said instruction register and said control memories to select the instruction field of one of the microinstructions being fetched from said respective control memories; interconnection means coupled between each of said control memories and the address register of said another control memory for supplying a jump address to said address register of said another control memory; logic means coupled to said instruction field portion of said instruction register and to said address registers to specify one of said registers as a program counter, one of said registers as a jump address register and one of said address registers as a return from subroutine register; means responsive to said logic means to increment said program counter, to load a new address into said jump address register and to keep said return from subroutine register current contents; and push-down stack means coupled to said address registers to receive one or more return from subroutine addresses in a first-in last-out manner to accommodate the execution of a series of nested subroutines.
Claim 2
Dependent Claim 324 words
A microcontroller for controlling a digital device said microcontroller comprising: at least three control memories each for storing a set of miroinstructions, each microinstruction being formed of a control field for controlling said digital device, a jump address field specifying the location in another control memory of the next microinstruction to be executed should a jump to subroutine or a return from subroutine be required and an instruction field specifying whether that particular microinstruction is a jump microinstruction, return microinstruction or requires neither action; at least three address registers one for each control memory to address the corresponding control memory for the next microinstruction to be fetched; means for fetching said microinstructions from each of said control memories in every clock cycle; an instruction register coupled to the respective memories and said digital device for receiving the control field and instruction field of one of said microinstructions fetched from said control memories; a multiplexer coupled between said instruction register and said control memories to select the instruction field of one of the microinstructions being fetched from said respective control memories; interconnection means coupled between each of said control memories and the address register of said another control memory for supplying a jump address to said address register of said another control memory; logic means coupled to said instruction field portion of said instruction register and to said address registers to specify one of said registers as a program counter, one of said registers as a jump address register and one of said address registers as a return from subroutine register; means responsive to said logic means to increment said program counter, to load a new address into said jump address register and to keep said return from subroutine register current contents; and push-down stack means coupled to said address registers to receive one or more return from subroutine addresses in a first-in last-out manner to accommodate the execution of a series of nested subroutines.
Claim 3
Dependent Claim 18 words
A microcontroller according to claim 1 wherein: each of said control memories contain the same sets of microinstructions.
Claim 4
Dependent Claim 41 words
A microcontroller according to claim 1 further including: a plurality of multiplexers, one between each of said address registers and said jump address outputted from said another control memory, said multiplexers also being coupled to an outside source of microinstruction addresses.
Claim 5
Dependent Claim 31 words
A microcontroller according to claim 1 wherein: each address register is a register counter that can be incremented to fetch, in order, a sequence of microinstructions from its corresponding control memory.
Claim 6
Dependent Claim 33 words
A microcontroller according to claim 1 further including: timing means coupled to the respective address registers and memories so that a microinstruction control field is supplied to said instruction register each clock time.
Claim 7
Dependent Claim 337 words
A microcontroller for controlling a digital device, said microcontroller comprising: at least three control memories each for storing a set of microinstructions, each microinstruction being formed of a control field for controlling said digital device, a jump address field specifying the location in another control memory of the next microinstruction to be executed should a jump to subroutine or a return from subroutine be required and an instruction field specifying whether that particular microinstruction is a jump microinstruction, return microinstruction or requires neither action; at least three address registers one for each control memory to address the corresponding control memory for the next microinstruction to be fetched; means for fetching said microinstructions from each of said control memories in every clock cycle; an instruction register coupled to the respective memories and said digital device for receiving the control field and instruction field of one of said microinstructions fetched from said control memories; a multiplexer coupled between said instruction register and said control memories to select the instruction field of one of the microinstructions being fetched from said respective control memories; interconnection means, coupled between each of said control memories and the address register of said another control memory for supplying a jump address to the address register of said another control memory; condition select means for receiving a condition signal from said digital device specifying that a conditional branch is required in the execution of a sequence of said microinstructions; logic means coupled between said condition select means and said plurality of address registers to select which control memory supplies the next microinstruction upon receipt of a condition signal from said digital device; means responsive to said logic means to increment said program counter, to load a new address into said jump address register and to keep said return from subroutine register current contents; and push-down stack means coupled to said address registers to receive one or more return from subroutine addresses in a first-in last-out manner to accommodate the execution of a series of nested subroutines.
Claim 8
Dependent Claim 337 words
A microcontroller for controlling a digital device, said microcontroller comprising: at least three control memories each for storing a set of microinstructions, each microinstruction being formed of a control field for controlling said digital device, a jump address field specifying the location in another control memory of the next microinstruction to be executed should a jump to subroutine or a return from subroutine be required and an instruction field specifying whether that particular microinstruction is a jump microinstruction, return microinstruction or requires neither action; at least three address registers one for each control memory to address the corresponding control memory for the next microinstruction to be fetched; means for fetching said microinstructions from each of said control memories in every clock cycle; an instruction register coupled to the respective memories and said digital device for receiving the control field and instruction field of one of said microinstructions fetched from said control memories; a multiplexer coupled between said instruction register and said control memories to select the instruction field of one of the microinstructions being fetched from said respective control memories; interconnection means, coupled between each of said control memories and the address register of said another control memory for supplying a jump address to the address register of said another control memory; condition select means for receiving a condition signal from said digital device specifying that a conditional branch is required in the execution of a sequence of said microinstructions; logic means coupled between said condition select means and said plurality of address registers to select which control memory supplies the next microinstruction upon receipt of a condition signal from said digital device; means responsive to said logic means to increment said program counter, to load a new address into said jump address register and to keep said return from subroutine register current contents; and push-down stack means coupled to said address registers to receive one or more return from subroutine addresses in a first-in last-out manner to accommodate the execution of a series of nested subroutines.
Claim 9
Dependent Claim 18 words
A microcontroller according to claim 6 wherein: each of said control memories contain the same sets of microinstructions.
Claim 10
Dependent Claim 41 words
A microcontroller according to claim 6 further including: a plurality of multiplexors, one between each of said address registers and said jump address outputted from said another control memory, said multiplexors also being coupled to an outside source of microinstruction addresses.
Claim 11
Dependent Claim 31 words
A microcontroller according to claim 6 wherein: each address register is a register counter that can be incremented to fetch, in order, a sequence of microinstructions from its corresponding control memory.

References Cited (Backward Citations)

US4008462A Cited
US4027291A Cited
US4179731A Cited
US4253142A Cited
US4210960A Cited
US4155120A Cited
US4373180A Cited
US4467415A Cited
US4390946A Cited
US4439827A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1989-04-28 1989-10-28 1990-04-29 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1993-04-28 1993-10-28 1994-04-29 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1997-04-28 1997-10-28 1998-04-29 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag