throbber
119)
`United States Patent
`[1th=.33,980,992
`[45] Sept. 14, 1976
`Levy et al.
`
`[54] MULTI-MICROPROCESSING UNIT ON A
`SINGLE SEMICONDUCTOR CHIP
`
`Primary Examiner—Mark E. Nusbaum
`Attorney, Agent, or Firm—Mervyn L. Young
`
`[75]
`
`Inventors: Bernardo Navarre Levy, Ann
`Arbor, Mich.; David Chin-Chung
`Lee, San Diego, Calif.
`
`[73] Assignee:
`
`Burroughs Corporation, Detroit,
`Mich.
`
`[22]
`
`Filed:
`
`Nov. 26, 1974
`
`[21] Appl. No.: 527,358
`
`ABSTRACT
`[57]
`This disclosure relates to a multimicroprocessor unit
`which is adapted for implementation in a single MOS
`semiconductor chip, which unit includes a plurality of
`sets of registers where each set represents a different
`processing capability. The unit further includes com-
`mon elements which are shared by the different sets of
`registers in a time multiplex manner. The shared ele-
`ments include two scratch pad memories, an arithme-
`tic logic unit, and a control unit which incorporates a
`composite read only memory from which control sig-
`nals are fetched to initiate the respective data trans-
`fers and arithmetic operations. This control memory
`acts as a decoder for encoded microinstructions re-
`trieved from outside of the multi-processor unit.
`In
`this sense, the present invention employs both vertical
`and horizontal microprogramming as those terms are
`3,597,641 B/LOT TL—AYTOS cecccccccseeesecesteeaes 340/172.5
`
`.. 340/173 R
`3,641,511
`2/1972
` Cricchi et al. .
`conventionally defined. The different sets of dedicated
`
`we. 340/172.5
`3,757,306
`9/1973
` Boone..........
`registers are formed of 4-bit shift registers so as to per-
`
`
`we 340/172.5
`3,758,761
`9/1973
` Henrion.........
`mit a four-way time slicing among the processing
`3,786,436 1/1974=Zelinski et al... 340/172.5
`
`capabilities.
`
`[52] U.S. Ch cc cccecenssenecceneceee 340/172.5
`
`Int. Ch. GO6F 9/16; GO6F 9/18
`[St]
`Field of Search... 340/172.5; 445/1
`[58]
`
`[56]
`
`References Cited.
`UNITED STATES PATENTS
`
`10 Claims, 14 Drawing Figures
`
`12 BIT ROM
`ADDRESS
`
`FROM ROM
`
`16 BIT RAM
`ADDRESS
`
`larien
`
`
`Ly a2 1/0 DATA
`
`1/0 CONTROL
`
`CONTROL
`
` LOGIC
`
`Google Exhibit 1026
`Google Exhibit 1026
`Google v. Valtrus
`Googlev. Valtrus
`
`

`

`U.S. Patent
`
`Sept. 14,1976
`
`Sheet 1of 10
`
`3,980,992
`
`FIG. |.
` («MOTORORRELAY
`
`
`CD)sOISKMEMORY
`
`C+)s«CASSETTE
`
`
`

`

`U.S. Patent
`
`Sept. 14,1976
`
` Sheet20f10
`
`3,980,992
`
`WOUWOU
`
`WOULIGcl
`
`6
`
`oY
`
`VIVOO/T
`
`nf
`
`91907
`
`TOMLNOD0/1
`dp-d—-TOULNOD
`PX¢¢
`chootSS3yddy
`I+'+])Dd]...|od|}Led]
`saany[E+4SONhy
`coqNdayWVULid91
`Te
`
`2Old
`
`bb
`
`iyPssauadyq
`
`

`

`U.S. Patent
`
`Sept. 14,1976
`
`Sheet 3 of 10
`
`3,980,992
`
`LIQAel-
`dddflnd
`
`TASWHd
`
`LfdNI
`
`14934
`
`&ASVHd
`{dNduaiNi
`
`LAIHS
`
`d0LS
`
`MO1S
`
`dIHOfdW
`
`(91)Sosuddy
`
`LOAG+
`
`8)v1Vd
`
`

`

`
`
`U.S. Patent—sept. 14,1976 Sheet 4 of 10 3,980,992
`
`
`
`Fic.|FIG
`FIG. 4A.
`
`FIG. 4.
`
`
`
`52~ppace||AD 51
`
`[10 5
`
`

`

`U.S. Patent
`
`Sept. 14,1976
`
`Sheet 5 of 10
`
`3,980,992
`
`FIG. 4B.
`
`
`
`!|| 1/0
`4|
`40
`58 a
`!
`|
`CROM
`WRITE
`
`! ||SHIFT
`ia |
`5
`9
`ELOGK Poon
`LI] wewonr
`63
`!
`|} ROTOUT
`!
`42
`6
`|1HOLD
`62
`
`,
`
`'
`
`()
`
`
`
`

`

`U.S. Patent
`
`Sept. 14, 1976
`
`Sheet 6 of 10
`
`3,980,992
`
`N
`
`( PAGE NO.)
`2
`
`j
`
`FIG.SA.
`
`BYTE
`
`utt
`BYTE
`YU|Lb IR/W3 CALI
`BYTE{8
`10
`{2
`
`0 | 2 3 p
`
`MmPO—©
`
`PROCESSOR 0
`
`PROCESSOR |
`
`PROCESSOR 2
`
`PROCESSOR 3
`
`0 2 4
`

`8
`10
`
`2 \
`
`4
`
`FIG. 5B.
`:
`
`Byte
`
`24-8 BIT
`REGISTERS
`
`FIG. 5C.
`
`L 14
`
`0 2 4 6
`
`|
`
`

`

`
`
`U.S. Patent Sheet 7 of 10—3,980,992sept. 14,1976
`
`
`
`tttHy
`SEDOSRaED
`
`FIG.6.
`
`

`

`U.S. Patent
`
`Sept. 14, 1976
`
`Sheet 8 of 10
`
`3,980,992
`
`>
`ae}
`= |) IM >
`—
`>
`
`i
`pS
`> a
`PS
`se
`
`MEMORY
`
`YT3
`
`
`
`elea
`YTI—am bDD>Se
`wemeDeENel >
`
`FIG.7.
`
`

`

`U.S. Patent
`
`Sept. 14,1976
`
` Sheet9of 10
`
`3,980,992
`
`
`
`i
`
`r, ¥
`¥2
`
`“Y/N
`1
`1

`
`1
`
`
`101GOLnARO
`1000BBRO
`
`
`1O10BEB1
`
`1000FLP)
`LDR OULIEERK||
`
`OOOTERER
`
`O}1LCCCC
`
`O1locccoe
`1
`
`O1KCCL
`
`
`OUQUOAAL
`
`
`OLOOIAAL
`
`OUUOLAAD
`
`OUOGULAO
`
`OVOGHDAD
`
`
`OJUGAAAAS
`
`03010000
`
`03010001
`
`01010010
`
`
`
`STR i 01010110
`
`F OFOLUI00
`01010101
`1
`
`
`
`
`1
`AD
`01010111
`
`n
`i
`
`Ab1 1|01011011
`ceSoot=
`=
`010111NN
`1
`= Ed
`1
`OO1OPPPP
`
`ADR
`OUT
`IN
`sto
`INA
`RID
`WRT
`RDT
`CAL
`JAR
`JUP
`JUK
`JF
`TRN
`MUD
`CF
`
`OPMHRKOOCON
`
`PemmFORMOOF
`
`X
`
`KOrOrOoOrFCO
`
`

`

`USS.
`
`Patent
`
`Sept. 14,1976
`
`Sheet 10 of 10
`
`3,980,992
`
`a.
`
`y Bb Segike FERRE
`S| Llelelelele lstelele
`
`a |=x
`
`xe;
`
`<2 |r
`
`>
`PT
`|TPT
`|TP
`fTetPT
`PeeltTTPyer
`pet2PETTTeryr
`bagiTT
`eg!Ta
`eeeLEP
`eHTTT
`SarITTTy
`|esa7
`|TT

`aoe Pyprayyy
`COETOee
`|TtPPPPaar
`ittT
`PPTea
`| PTTetTT}
`LtteeSCOTPTT
`AL||Heap Pe Pitt
`LeeTTTTTTT
`PEtTtrTTT rpTT
`PTTTeT PITT)
`| Pittttre4
`
`PtTyTT
`
`OHIFT
`
`Ij)
`
`|>
`
`YI3
`
`FIG.9.
`
`

`

`1
`
`3,980,992
`
`MULTI-MICROPROCESSING UNIT ON A SINGLE
`SEMICONDUCTOR CHIP
`
`2
`macroinstruction operation code required two or more
`clock times, then the operation code could be incre-
`mented by a counter so as to access the sequence of
`such microinstructions.
`BACKGROUND OF THE INVENTION
`As the size of the microprogram processor became
`1. Field of the Invention
`more complex, the length of the microinstruction be-
`This invention relates to a microprogram multipro-
`came longer so as to accommodate the extra control
`cessing system andin particular to such a multiprocess-
`bits required. This, in turn, required that the microin-
`ing system which resides in a single semiconductor
`struction memory within the processor had to be larger
`chip.
`and, therefore, more expensive. In order to reduce the
`2. Description of the Prior Art
`size of the microinstruction memory in more complex
`Advancesin the field of integrated circuits have led
`processors, the microinstructions were encoded asdis-
`to an increase in the numberoftransistor gates which a
`tinct from being a series of unpacked or uncodedbits.
`circuit chip can accommodate from a very few up to
`This, in turn, required that a microinstruction decoder
`hundreds and even in excess of a thousand gates. Such
`be provided which was less complex than the macroin-
`advance have made it possible to begin considering
`struction decoder replaced by the microinstruction
`placing an entire small data processor onasingle inte-
`memory. Thus, there are really two types of microin-
`grated circuit chip. This,
`in turn, provides the eco-
`structions, one of which is an unpackedseries of bits
`nomic advantage of mass production in that, once the
`and one of which is a packed or encodedseries ofbits.
`circuit masks for fabrication of the chip have been
`The concept of microprogramming has allowed the
`designed, the entire processor can be automatically
`data processor to be programmed at a very basic level
`manufactured much more cheaply than when a number
`and thus provides moreflexibility for the implementa-
`of such chips are required to accommodate the proces-
`tion or interpretation of many higher level program
`sor, and certainly more cheaply than when a processor
`languages. However, the original concept of micropro-
`is formed of discrete components. A particular exam-
`gramming was devised in order to simplify the engi-
`ple of a small processor being placed onasingle inte-
`neering design and manufacture of data processors.
`grated circuit chip is illustrated in the Faber Patent
`The trend in design of data processors, particularly for
`Application No. 307,863, filed Nov. 20, 1972, now
`mini computers and micro processors, has been to
`U.S. Pat. No. 3,878,514, which application is assigned
`implement
`the processor in a few. or as indicated
`to the assignee of the present application.
`above, even one, MOSintegrated circuit chips which
`Smaller sized data processing system have many and
`processor employes microinstruction memories. How-
`are finding many more applications, not only as data
`ever, the size of the data processor in the range of the
`concentrators, process controllers, and the like, but
`mini computerfield is still limited by the number of
`also as small data processing systems for many business
`transistor gates that can be placed on the MOSinte-
`and technical applications.
`In many instances, data
`grated circuit chip. Thus, larger size computersstill
`processing requirements of a particular business will be
`must employ an extra number of integrated circuit
`a mix of accounting and billing tasks and also other
`chips with a consequential increase in manufacturing
`processes which require larger computational capabili-
`cost of the system since the plurality of different chips
`ties. To meet this situation, intelligent terminals are
`have to be designed and fabricated. In some systems,
`provided which not only allow for time sharing of a
`increased data through-put can be achieved where a
`larger computer but which are also capable of perform-
`plurality of small processors, each on an individual
`ing specific processing routines. Terminal processors
`semiconductor chip, are coupled together in a multi-
`can also perform various pre-processing tasks such as
`processing mode. However, even then, data transfer
`editing, formatting of data, etc.
`between the chips takes an extra numberofcycle times
`A particular architectural concept that has allowed
`and the resultant system is not as fast as if a larger
`for more flexibility in computer design andparticularly
`processor could be fabricated on a single chip.
`in regard to the design of mini computers and micro
`It is, then, an object of the present invention to pro-
`computers has been the concept of microprogramming
`vide an improved data processing system on a single
`or the employment of microinstructions to implement
`integrated circuit chip, which system has increased
`or
`interpret macroinstructions and instructions of
`operating capabilities with a minimized manufacturing
`cost;
`higher level programming languages. Originally, micro-
`instructions were considered to be just those sets of
`it is still another object of the present invention to
`control bits required to activate various gates in a pro-
`provide a multiprocessing microprogrammed system
`cessor as might be required to carry out data transfer
`on a single integrated circuit chip; and
`from one register to another and through the arithmetic
`it is a further object of the present invention to pro-
`and logic unit of the processor. These bits were stored
`vide a multiprocessing microprogrammed system with
`in a small memory within the processor at locations
`a plurality of processing capabilities sharing common
`which were addressed by the operation code of a mac-
`elements of the system.
`roinstruction. In this sense, the concept of micropro-
`gramming was that of replacing the macroinstruction
`decoder by a table look-up memory.
`Asinitially defined, the microinstruction was a set of
`unpacked bits, each of which represented a control
`signal required to activate a gate, the set of control
`signals representing all gates required for activation to
`perform the function during one clock time as required
`by the macroinstruction operation code which was
`used to address the microinstruction memory. If the
`
`In order to accommodate more than one processing
`capability on a single MOSintegrated circuit chip hav-
`ing a limited number of transistor gates, the present
`invention is directed toward plural sets of registers,
`eachset representing a different processing capability,
`which registers share a commonlogic unit, control unit,
`and buses. The control unit includes a microprogram
`memory which is shared by the respective sets of pro-
`
`5
`
`20
`
`30
`
`35
`
`40
`
`45
`
`35
`
`60
`
`65
`
`SUMMARYOF THE INVENTION
`
`

`

`3,980,992
`
`cessor registers and controls data transfer between
`individual ones of the registers in each particular set
`and with the logic unit. Such data transfers are under
`control of a clock with the respective sets of processor
`registers being accessed in a sequential time slice or
`multiplexing type mode with the respective sets of reg-
`isters being activated by the clock in a successive man-
`ner.
`A particular advantage of the present invention hav-
`ing a plurality of concurrent microprocessing capabili-
`ties is that processing capabilities have free communi-
`cation with each other at different levels. One level of
`communication is through the interconnections pro-
`vided between the processing capabilities the inte-
`grated circuit chip. Communication may also be ob-
`tained through the local scratch pad memory whichis
`shared by the respective processing capabilities, and
`the respective processors can also communicate
`through main memory. Furthermore, an additional
`advantageis provided by the sharing of the same micro-
`program memorywith all processing capabilities.
`A feature, then, of the present invention resides in a
`multi-microprocessing system having a plurality of sets
`of registers, each set representing an individual pro-
`cessing capability, and a common logic unit, micro
`program control memory, buses, and scratch pad mem-
`ory shared by the respective processor registers.
`DESCRIPTION OF THE DRAWINGS
`
`The above objects, advantages, and features of the
`present invention will become more readily apparent
`from the following specification when taken in con-
`junction with the drawings wherein:
`FIG. 1 is a representation of a system employing four
`multiprocessing units of the present invention;
`FIG. 2 is a functional representation of the units of
`the multiprocessing unit of the present invention;
`FIG. 3 is a schematic diagram ofthe interfaces which
`connect to the multiprocessing unit of the present in-
`vention;
`FIG. 4 illustrates the relation of FIGS. 4A and 4B;
`FIGS. 4A and 4B are detailed schematic diagrams of
`the circuitry of the present invention;
`illustrate the
`FIGS. 5A, 5B, and 5C, respectively,
`organization of the A and B scratch pad memories;
`FIG. 6 is a schematic diagram of the arithmetic logic
`unit of the present invention;
`FIG. 7 is a schematic diagram of a set of shift regis-
`ters as employed with the present invention;
`FIG. 8 represents tables illustrating the function per-
`formed by the various microinstructions employed by
`the present invention,
`FIG. 9 is a schematic diagram of the control unit of
`the present invention; and
`FIG. 10 is a set of wave formsillustrating the time
`multiplexing of common elements among the various
`processing capabilities of the present invention.
`GENERAL DESCRIPTION OF THE [INVENTION
`The organization of the system employed in the pre-
`sent inventionis illustrated in FIG. 1 wherein a plurality
`of MOSintegrated circuit chips are coupled in a config-
`uration to form a flexible multiprocessing system. The
`system of FIG. 1 includes a plurality of multiprocessing
`units (MPU) 11, which are coupled to random access
`memory (RAM) 13 whichis provided for the storage of
`data and other information. Each MPU 11 is micropro-
`grammedand to this end is coupled to a respective read
`
`5
`
`30
`
`35
`
`40
`
`45
`
`30
`
`60
`
`65
`
`4
`only memory (ROM) 12. As indicated in FIG. lla
`variety of peripheral devices may be employed by the
`system under control of the various MPU’s which de-
`vices include disk memory 15, printer 16, cathode ray
`tube display 17, cassette drive 18, and data communi-
`cation unit 19.
`Before the detail circuitry of the MPUis described, a
`description will first be given of the functional units
`employed by each processing capability in the multi-
`processing system during that time slice when the indi-
`vidual processing capability has access to the shared
`resources in the system. A functional diagram of the
`processor with its unique and shared resourcesis illus-
`trated in FIG. 2. The shared resources include the B
`scratch pad memory 31 and A scratch pad memory 32,
`the arithmetic logic unit (ALU) 33, control logic 40,
`and F register 41, The resources with which each pro-
`cessor is separately provided include X register 35,
`microprogram counter (PC) register 36, page (PR)
`register 37, and prepage (PPR) register 38, I register
`43, N register 44, K register 34, and Y register 42.
`The unique registers of the processor will now be
`described in relation to FIG. 2. In order for these spe-
`cial purpose registers to be dedicated to specific pro-
`cessing capabilities, they are formed out of 4-bit shift
`registers so as to permit four-way time slicing among
`the processing capabilities.
`X register 35 is an 8-bit instruction register used to
`hold microinstructions during instruction decode and
`execution time. PC register 36 is an 8-bit micropro-
`gram counter register. This register holds the byte-
`within-page address of the next microinstruction to be
`executed. PR register 37 is a 4-bit microprogram
`counter page register. This register holds the page ad-
`dress of the next microinstruction to be executed.
`PPR register 38 is a 4-bit prepage register. A jump
`out-of-page operation requires two instructions: a load
`page register instruction and a jumpinstruction. PPR
`register 38 is used to hold the new page number while
`the jump instruction is being fetched. The contents of
`the PPR register are loaded into the PR register only if
`the next instruction results in a jump. In all other cases,
`the load page register instruction behaves as a no oper-
`ation. Thus, a conditional jump out-of-page operation
`remains in the same page if the condition is not satis-
`fied.
`I register 43 is a 4-bit register used to address the A
`scratch pad memory.N register 44 is a 2-bit register to
`address one of four pagesin the B scratch pad memory.
`It is used in conjunction with part of the instruction to
`address a register in the B scratch pad memory. This
`register is also used to load | register 43.
`K register 34 is a 1-bit register which is set or cleared
`only during add instructions. It may be used as an input
`to the ALU and canbetested by jump-on-carry instruc-
`tion. Y register 42 is a 4-bit state machineregister. This
`register is used to store the state of each processing
`capability during the time the other processing capabil-
`ities are executing. This is necessary since several in-
`structions require more than one clock for execution.
`The shared elements will now be described. ALU 33
`is a 4-bit arithmetic and logic unit capable of perform-
`ing binary addition, and bit-by-bit logical AND, OR,
`and EXCLUSIVE OR operations. Each operation is
`performed during a one clock time slice where byte
`Operations require two passes through the ALU. A
`scratch pad memory 32 contains 16 registers, each
`register being 8-bits in width, which registers can be
`
`

`

`3,980,992
`
`20
`
`25
`
`30
`
`35
`
`5
`processing capabilities two and three. It is this sharing
`used as general purpose registers or for special pur-
`that allows data to be passed between processing capa-
`poses. The sixteen registets are divided into four pages
`bilities without requiring a changein the value of N. It
`of four registers each. When used for special purposes,
`should be noted that since each processor can change
`the A registers are used in conjunction with B registers.
`the value ofits N register, it can communicate to other
`The special purposes for which the registers can be
`used are discussed below.
`processors through any of the A orBregisters. By using
`the shared registers (byte zero, two, and 14), communi-
`B scratch pad memory 31 contains 24 registers of 8
`cation is accomplished without need to temporarily
`bits each or it may be considered as 48 registers of 4
`changethesetting of N. In partitioning the B scratch
`bits each, which registers may be used as general pur-
`pad memory between processors, a shared register can
`pose storage registers, or in conjunction with A regis-
`be assigned only to one processor unless it is used for
`ters 32 as special purpose registers. The special pur-
`communication.
`poses for which these registers may be used are de-
`scribed below,
`As indicated above, one of the advantages of the
`present invention is that the four processors can share
`single copies of microprograms, either subroutines or
`full programs, and can be run concurrently. This is
`accomplished by first setting different values in the N
`registers for each of the processors and then having
`each processor jump to the same location in the read
`only memory. Programs written this way, however,
`cannot use any shared B register.
`The special purposes for which the elements of A and
`B scratch pad memories are used to store 16-bit ran-
`dom access memory addresses, microprogram subrou-
`tine addresses, and microprogram memory read ad-
`dresses. The elements of both scratch pad memories
`are concatenatedfor these purposes. For example, four
`pages of the A scratch pad memory and four pages of
`the B scratch pad memory can be grouped together,
`page zero of A with page zero of B, page one of A with
`page one of B, and so forth. Groups of pages for only
`one such group are shown in FIG. SC since all the
`groups of pages function in an identical manner.
`Asillustrated in FIG. 5C, each group of pages has
`four random access memory read/write address regis-
`ters. The first three of these, as indicated by R/WO,
`R/W1, R/W2, concatenate the following registers: B8
`and AO, B10 and Al, and B12 and A2, so as to form
`three 16-bit random access memoryregisters for read-
`ing and writing data into the random access memory. In
`each case, the B byte is the mostsignificant part of the
`address. The fourth address register,
`indicated by
`R/W3, concatenates A3 with all ones to form a ‘“‘di-
`rect” addressing page in the random access memory,
`the upper most page.
`Microprogram memory (ROM) addresses are all 12
`bits long and are formed by concatenation of an 8-bit A
`register and the lower four bits (an even numbered
`digit address) of a B register. Three such ROM address
`registers are included in each pair of A and B pages.
`One of these concatenates digit B2 with A1 to form the
`ROM address register. This combination is used to
`translate data. A table of codes is stored in the ROM
`and translation is performed simply by placing the
`input code in B2 and Al and reading the ROM.
`The other two 12-bit ROM address registers are used
`to store return addresses after a microprogram subrou-
`tine jump instruction is executed. The return page
`numberis stored in the B digit registers and the address
`within a page is stored in the A registers in the combi-
`nation A2 along with B4 and A3 along with B6.It is
`obvious that two levels of subroutines can be handled
`very satisfactorily.
`A description of the interfaces between the multipro-
`cessing unit of the present invention and the periphery
`of the system in which it resides will now be described
`with reference to FIG. 3. As showntherein, the various
`interfaces include data bus 20 which is 8-bits wide,
`
`logic 40 includes a composite read only
`Control
`memory and control logic which sequences operations
`of the system at the control signal level. F register 41 is
`a single flip-flop which is intended as a flag. It can be
`used by one processing capability or to communicate
`between processing capabilities.
`FIG. SA illustrates the organization of A registers 32
`and FIG. 5B illustrates the organization of B registers
`31. Each processing capability is capable of accessing
`each of the 16 A registers or 24 B registers. However,
`to prevent one processing capability from destroying
`data of another processing capability, it is necessary to
`partition the A and B registers so that each processing
`capability has its own unique set. This partitioning
`should be done before any of the processing capabili-
`ties are microprogrammed.
`Exactly how the partitioning should be done, of
`course, depends upon the tasks each processing capa-
`bility is to perform. In general, the partition of allocat-
`ing one page per processing capability reduces coding
`when the four processing capabilities are to execute
`similar tasks. In cases where one or two of the process-
`ing capabilities are to execute more complicated tasks
`than the others, it may be desirable to unevenly parti-
`tion the registers to the complex tasks. This is espe-
`cially true if by allocating more scratch pad locations to
`the tasks, fewer accesses to the random access memory
`are necessary.
`The B scratch pad memory, like the A scratch pad
`memory, consists of four pages. Generally, each pro-
`cessor is allocated one page of B registers. The page
`number which is to be used by a processoris stored in
`its 2-bit N register. Addressing within a page is done in
`two ways: by byte and by digit. Byte addresses are the
`even numbers zero through 14. Digit addresses are the
`numbers zero through 15. These addresses access the
`same data: byte zero is the same register as digits zero
`and one; byte two is the same as digits two and three;
`and so forth.
`As can be seen from FIG. 5B, the addressing space of
`the B scratch pad memory consists of 32 bytes or 64
`digits. For two reasons, however, this done not match
`the physical size of the B scratch pad memory. Thereis
`not enough space on the integrated circuit chip for 32
`bytes and inter-processing capability communications
`is enhanced bysharing physical registers. FIG. 5B illus-
`trates how the registers are shared. As shown therein,
`each rectangle, regardless of size, represents one physi-
`cal 8-bit register.
`If it is assumed that each of the four processing capa-
`bilities uses a different value for N (B scratch pad page)
`thenit is apparent that byte zero and 14 are shared by
`all processing capabilities and that one copy of byte
`two register is shared between processing capability
`zero and one and the other copy is shared between
`
`40
`
`45
`
`50
`
`35
`
`60
`
`65
`
`

`

`3,980,992
`
`7
`It will be
`lines.
`address bus 21 and various control
`remembered from the description of the system in FIG.
`2 that a 16-bit address is required to address random
`access memory 13 while a 12-bit address is required to
`address read only memory 12. A 4-bit address is re-
`quired for the input/output decoder I4A which in turn
`selects a peripheral device either by way of output logic
`14B or input logic 14C, depending upon whether the
`data transmission to the peripheryis called for to be an
`output transmission or an input transmission, respec-
`tively. Input transmission to data bus 20 is by way of
`transmission gates 28 when an input/output signal
`is
`transmitted from the multiprocessing unit and there is
`not a write signal present at the same time.
`System instruction and data transfer from random
`access memory 13 occurs by way of data bus 20 when
`there is no write signal but there is a memorysignal and
`a 16-bit address is presented to the random access
`memory 13. Microinstruction transfer from read only
`memory 12 occurs when there is no memory signal
`present, no input/output signal present and the 12-bit
`address is transmitted to the read only memory 12.
`DETAILED DESCRIPTION OF THE INVENTION
`
`A detailed description of the present invention will
`now be provided with reference to FIGS. 4A and 4B,
`whichare to be viewed together according to the rela-
`tion illustrated in FIG. 4. The functional units in FIGS.
`4A and 4B were generally described in relation to FIG.
`2. It will be remembered from discussion of FIG. 2 that
`the present invention comprisespluralsets of registers,
`each set of which is unique and representative of an
`individual processing capability and also shared ele-
`ments which are commonlyavailable to the unique sets
`of registers in a time multiplex manner so that in any
`given clock time, one of the processors thus formed is
`capable of functioning.
`In FIG. 4A, B scratch pad memory 31 comprises 24
`registers each of which are 8-bits wide, while A scratch
`pad memory 32 includes 16 registers each of which is
`8-bits wide. ALU 33 is a 4-bit arithmetic logic unit
`while K register 34 is a 4-bit register which is accessed
`a bit at a time. It will be remembered that the K register
`is one of the registers that is unique to each processing
`capability. Thus, there can be up to four carry bits in
`the K registers, one such bit for each processing capa-
`bility. PR register 37 includes four registers of 4-bits
`each. Again,
`it will be remembered that there is a
`unique PR register for each processing capability.
`Address register 50 includes eight registers of 4-bits
`each which registers are used to transmit the upper
`8-bit addresses to the random access memory. The
`reason for this organization of the address register 50 is
`that the data paths to and from address register 50
`comprise two buses each of which is 4-bits wide.
`Register 54 is an 8-bit register to supply data to A
`scratch pad memory 32. N register 44 includes four
`registers of 2-bits each. It will be remembered that the
`unique 2-bit N register is provided for each processing
`capability in the system.
`In FIG. 4B, X register 35 and PC register 36 both
`include four registers of 8-bits each, each particular
`register being assigned to a particular processing capa-
`bility. Similarly, | register 43 and Y register 42 contain
`four registers of 4-bits each with each register being
`assigned a particular processor.
`The heart of the control logic 40 is a composite read
`only memory which may be a 51 by 29 MOSdevice
`
`55
`
`60
`
`65
`
`matrix that can be reprogrammedto change the control
`signal sets which, in turn, are employed to decode mi-
`croinstructions received in a particular processing ca-
`pability’s X register 35 from external read only memory
`12 (see FIG. 3). F register 41 is a 1-bit flip-flop register
`that was described in relation to FIG. 2.
`Asillustrated in FIG. 4B, the signals required for
`memory access and input/output operations are gener-
`ated directly by the composite read only memory and
`by the status of the respective Y registers 42 which
`store the state of each processing capability during the
`time that the other processing capabilities are execut-
`ing. The signals which initiate a function of the arith-
`metic logic unit and data transfers between registers
`are also generated directly by the composite read only
`memory.
`FIG. 6 is a schematic diagram of the arithmetic logic
`unit (ALU) 33 of FIGS. 2 and 4A. The ALUis a four-
`bit adder that performs the functions AND, EXCLU-
`SIVE OR, and ADD.Asillustrated in FIG. 6, the ALU
`is formed of 4 stages to provide the ALU outputsignals
`SO, $1, $2, and S3 plus a carry signal KI. Each of the
`stages is powered bya set of voltage sources VDD. The
`inputsignals to the ALUare the data sets a0, al, a2, a3,
`and b0, b1, b2, b3 plus an initial carry signal KO. The
`control signals ALU1, ALU2, and ALU3 are received
`from control logic 40 of FIGS. 2 and 4B. Controlsignal
`ALU3 causes the ALU to perform the AND function.
`Control signal ALU2 causes the ALU to perform the
`EXCLUSIVE OR function. Control
`signal ALU3
`causes the ALU to perform the EXCLUSIVE ORfunc-
`tion with the carry signal KO and the EXCLUSIVE OR
`productof the a and b input signals. Thus, the combina-
`tion of control signals ALU2 and ALU3 causes the
`ALU to perform the ADD function on the respective
`input signals.
`,
`As has been indicated above, the respective unique
`registers of FIGS. 2, 4A, and 4Bare four-bit shift regis-
`ters so as to accommodate four-way timeslicing or time
`sharing of the common elements of the system,
`i.e.,
`ALU 33,control logic 40 and so forth as was discussed
`in relation to FIG. 2. An example of such shift registers
`is provided by FIG. 7 which is a schematic diagram of
`Y registers 42 and also K registers 34 of FIGS. 2, 4A,
`and 4B. These registers may be considered as four
`four-bit shift registers YO, Y1, Y2, and Y3 (plus the K
`shift register) or they may be considered as four paral-
`lel registers YTO, YT1, YT3, and YT4 through which
`data is sequenced in synchronization with the time
`slicing or sharing of the common elements ofthe sys-
`tem by the four (albeit virtual) processing capabilities
`formed by the system.
`Eachbit position of the respective registers is formed
`of two cells which are sequentially driven by phase
`clock signals Q1 and Q2, respectively. As illustrated in
`FIG. 7, a typical cell is formed of FET (field effect
`transistor) gates 42a and 42b and inverter amplifiers
`42and 42d which are just individual transistors in the
`integrated circuit chip. During clock phase Q1, gate
`42a of register YTO (and also registers YT1, YT2, and
`YT3) is activated to receive an input signal YTO. Dur-
`ing clock phase Q2, gate 42bis activated to receive that
`signal from gate 42a whichis then free to receive a new
`input signal during the next clock phase Q1.
`FIG. 9 is a schematic diagram of the control matrix of
`control logic 40 of FIGS. 2 and 4B. This matrix is em-
`ployed to decode the respective microinstructions
`when they reside in X register 35 of FIGS. 2 and 4B.
`
`

`

`3,980,992
`
`9
`This matrix may be reprogrammed by connecting and
`disconnecting the various ‘nodes of the matrix so that it
`is equivalent to a control memory and maybe replaced
`by such.
`The relation between these respective controlsignals
`to be generated and the respective microinstructions
`residing in the X register during execution is illustrated
`in detail in FIG. 8. The table in FIG. 8 will not be dis-
`cussed in detail; however, the functions as indicated
`therein will now be discussed for each microinstruction
`in the instruction set. In the following discussion, alpha-
`betic letters in the microins

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket