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

Multiple control stores in a pipelined microcontroller for handling jump and return subroutines

Assignee: Unisys Corp
•
Filing: 1982-11-03
•
Granted: 1985-10-08
•
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 summer, 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-10-25 22:49
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3802; G06F9/3814; G06F9/22; G06F9/26; G06F9/262; G06F9/264; G06F9/267

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 288 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 other control memory of the next microinstruction to be executed should said each microinstruction be a jump to subroutine or a return from subroutine instruction 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 and containing the address of 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 digital device for receiving the control field and instruction field of a microinstruction fetched from one of said control memories; a multiplexor coupled between said instruction register to select the instruction field of one of the microconstructions being fetched from said respective control memories; interconnection means coupled between each of said control memories and the address registers of the other control memories for supplying a jump address to the address registers of said other control memories; 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; and 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.
Claim 2
Dependent Claim 288 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 other control memory of the next microinstruction to be executed should said each microinstruction be a jump to subroutine or a return from subroutine instruction 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 and containing the address of 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 digital device for receiving the control field and instruction field of a microinstruction fetched from one of said control memories; a multiplexor coupled between said instruction register to select the instruction field of one of the microconstructions being fetched from said respective control memories; interconnection means coupled between each of said control memories and the address registers of the other control memories for supplying a jump address to the address registers of said other control memories; 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; and 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.
Claim 3
Dependent Claim 40 words
A microcontroller according to claim 1 wherein: said logic circuit means specifies a different address register as a program counter according to whether the microinstruction currently being executed is a jump to subroutine microinstruction or a return from subroutine microinstruction.
Claim 4
Dependent Claim 18 words
A microcontroller according to claim 1 wherein: each of said control memories contain the same sets of microinstructions.
Claim 5
Dependent Claim 41 words
A microcontroller according to claim 1 further including: a plurality of multiplexors, one between each of said address registers and the jump address output of the other control memory, said multiplexors also being coupled to an outside source of microinstruction addresses.
Claim 6
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 7
Dependent Claim 32 words
A microcontroller according to claim 1 further including: timing means coupled to the respective registers and memories so that a microinstruction control field is supplied to said instruction register each clock time.
Claim 8
Dependent Claim 359 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 other control memory of the next microinstruction to be executed should said each microinstruction be a jump to subroutine or a return from subroutine instruction 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 and containing the address of 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 digital device for receiving the control field and instruction field of a microinstruction fetched from one of said control memories; a multiplexor coupled between said respective control memories and said instruction register to select the instruction field and control 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 registers of the other control memories for supplying a jump address to the address registers of said other control memories; 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; 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; and said logic means being 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.
Claim 9
Dependent Claim 359 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 other control memory of the next microinstruction to be executed should said each microinstruction be a jump to subroutine or a return from subroutine instruction 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 and containing the address of 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 digital device for receiving the control field and instruction field of a microinstruction fetched from one of said control memories; a multiplexor coupled between said respective control memories and said instruction register to select the instruction field and control 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 registers of the other control memories for supplying a jump address to the address registers of said other control memories; 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; 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; and said logic means being 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.
Claim 10
Dependent Claim 18 words
A microcontroller according to claim 7 wherein: each of said control memories contain the same sets of microinstructions.
Claim 11
Dependent Claim 41 words
A microcontroller according to claim 7 further including: a plurality of multiplexors, one between each of said address registers and the jump address output of the other control memory, said multiplexors also being coupled to an outside source of microinstruction addresses.
Claim 12
Dependent Claim 31 words
A microcontroller according to claim 7 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
US3980991A Cited
US4027291A Cited
US4179731A Cited
US4156900A 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) 1988-10-07 1989-04-08 1989-10-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1992-10-07 1993-04-08 1993-10-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1996-10-07 1997-04-08 1997-10-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag