# US 4,394,736 A · Data processing system utilizing a unique two-level microcoding technique for forming microinstructions

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 4,394,736 A
- Document ID: US4394736A
- Status: Granted
- Kind: A
- Application number: 06/120,272
- Filed: 1980-02-11
- Granted: 1983-07-19
- Earliest claimed: 1980-02-11
- Assignees: Data General Corporation
- Inventors: David H. Bernstein; Richard A. Carberry; Michael B. Druke; Ronald I. Gusowski
- Web page: https://patentgrep.com/patent/US4394736A

## CPC

- H03K 23/667: {by switching the base during a counting cycle}
- G06F 9/26: Address formation of the next micro-instruction (G06F9/28 takes precedence){; Microprogram storage or retrieval arrangements}
- G06F 13/36: for access to common bus or bus system
- G06F 13/42: Bus transfer protocol, e.g. handshake; Synchronisation
- H03K: PULSE TECHNIQUE (measuring pulse characteristics G01R; modulating sinusoidal oscillations with pulses H03C; transmission of digital information H04L; discriminator circuits detecting phase difference between two signals by counting or integrating cycles of oscillation H03D3/04; automatic control, starting, synchronisation or stabilisation of generators of electronic oscillations or pulses where the type of generator is irrelevant or unspecified H03L; coding, decoding or code conversion, in general H03M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A data processing system using microcode architecture in which a two-level microcode system comprises one or more first, or "horizontal", microinstructions and a plurality of second or "vertical", microinstruction portions in a vertical microcontrol store. In a preferred embodiment the vertical microinstruction portions include one or more "modifier" fields, a selection field for selecting a horizontal microinstruction and a sequencing field for selecting the next vertical microinstruction portion of a sequence thereof, one or more fields of the horizontal microinstructions being capable of modification by the vertical modifier fields in order to form output microinstructions for performing data processing operations.

## Claims

### Claim 1

In a data processing system requiring the generation of microinstructions for performing data processing operations and including a
a central processor unit having means responsive to macroinstructions for providing decoded macroinstructions for use in generating one or more microinstructions, said central processor unit further including
first control store means for providing one or more microinstructions in response to identification signals, one or more selected fields of each of said microinstructions being capable of modification;
second control store means for providing a plurality of microinstruction portions, one or more of said second plurality of microinstruction portions providing modifier fields containing information usable for modifying said one or more selected fields of said one or more microinstructions, said second control store means being responsive to a said decoded macroinstruction for producing said plurality of microinstruction portions; and
modification means responsive to said one or more microinstructions provided by said first control store means and to the modifier fields of said one or more microinstruction portions provided by said second control store means for providing modified microinstructions for performing said data processing operation.

### Claim 2 (depends on 1)

In a data processing system in accordance with claim 1 wherein
said plurality of microinstruction portions further contain a sequencing field containing information at least capable of identifying successive microinstruction portions which are used to produce said modified instructions; and further including
sequencing means responsive to said sequencing field for providing address information for accessing the successive microinstruction portions identified thereby.

### Claim 3 (depends on 2)

In a data processing system in accordance with claim 2 wherein said plurality of microinstruction portions further contain a selection field providing said identification signals for selecting one of said plurality of microinstructions to be provided by said first control store means.

### Claim 4 (depends on 3)

In a data processing system in accordance with claim 3 wherein said first control store means is a read-only-memory.

### Claim 5 (depends on 3)

In a data processing system in accordance with claim 3 wherein said second control store means is a read-only-memory.

### Claim 6 (depends on 2, 4)

In a data processing system in accordance with claim 2 or 4 wherein said sequencing means comprises
a sequencer program counter means for supplying said address information; and
multiplexer means responsive to a plurality of input control signals from said second control store means for providing a selected control output signal generated in response to other information contained in said sequencing field of said microinstruction portions for controlling the operation of said sequencer program counter means.

### Claim 7 (depends on 1)

In a data processing system in accordance with claim 1 wherein said modification means comprises
one or more multiplexer means each responsive to a respective selected one of the fields of said one or more microinstructions provided by said first control store means and to a respective selected one of said modifier fields of said microinstruction portions provided by said second control store means, the outputs of each of said multiplexer means forming said modified output microinstructions.

### Claim 8

In a data processing system requiring the generation of microinstructions for performing data processing operations and including:
a central processor unit having means responsive to macroinstructions for providing decoded macroinstructions for use in generating one or more microinstructions, said central processor unit further including
first control store means for storing a plurality of first microinstructions, selected fields of which are capable of modification;
second control store means for storing a plurality of microinstruction portions, a first microinstruction portion identifying selected ones of said plurality of first microinstructions for readout thereof and a second microinstruction portion including two modifier fields of information usable for modifying said selected fields of said plurality of first microinstructions, said second control store means being responsive to said decoded macroinstructions for producing said plurality of microinstruction portions; and
modification means responsive to the selected ones of said plurality of first microinstructions selected by the first microinstruction portion provided by said second control store means and responsive to at least one of said modifier fields for providing output microinstructions one or more selected fields of which are modified by said one or more modifier fields.

### Claim 9

In a digital data system directed by macroinstructions, control means for providing microinstructions from a control store means for controlling operation of said data system, said control means comprising:
microinstruction control means responsive to each one of said macroinstructions for providing one or a sequence of more than one microinstruction control words, each one of said microinstruction control words including an address field used for selecting one of said microinstructions and a modifier field used from a control store means for selectively modifying said selected one of said microinstructions, and
modification means responsive to said modifier field of said control words for selectively modifying said selected one of said microinstructions and providing modified microinstructions to control said data system operations.

### Claim 10

In a digital data system, a method for providing microinstructions for controlling data system operations directed by macroinstructions, comprising the steps of:
storing one or a sequence of more than one microinstruction control words in a microinstruction control means, each one of said sequences related to one of said macroinstructions and each one of said control words having an address field and a modifier field;
storing said microinstructions in a control store means;
addressing said microinstruction control means with said macroinstructions to obtain one or a sequence of more than one of said control words;
addressing said control store means with the address field of said each of said control words to obtain microinstructions corresponding thereto;
selectively modifying said corresponding microinstructions with the modifier field of its corresponding control word; and
providing said selectively modified microinstructions to said data system to control said data system operations.
