throbber
1
`
`GOOGLE-1018
`Google Inc. v. Micrografx LLC
`IPR2014-00532
`
`

`
`U.S. Patent Nov. 11,1986
`
`Shcetlofll
`
`4,622,633
`
`
`
`4.5
`
`R3232
`
`I/O
`
`4'"
`
`42
`
`RS232
`
`R523
`
`seam.
`no
`
`IIO
`
`"9
`
`13:13-1
`
`s-rsrm aus
`
`30 43
`
`SYSTEM 131.13
`INTERFACE
`
`3;
`
`33
`
`RESET
`cnacuumv
`_
`35
`
`'5
`
`D
`oumr
`268i
`
`39
`‘
`a
`40
`
`I cmcunmv
`
`36‘
`
`4.:
`
`aoomo @
`
`/'
`
`3
`
`42.4
`
`LOCAL aus
`
`INTERFACE
`
`2;
`
`. LOCAL BUS
`
`1735-2’:
`
`2
`
`

`
`US. Patent Nov. 11, 1986
`
`Sheet2ofll
`
`4,622,633
`
`INTERFACE
`RS232
`
`SERIAL ho
`
`INTERFACE
`RS232
`
`I
`SERIAL I/0
`
`DUART
`
`A
`8
`519
`
`[NTE R PT
`
`INTERFACE
`
`9/
`
`30/‘
`
`4:
`
`LOCAL BUS
`INTERFACE
`
`\_
`
`35
`
`I.ocAI. aus
`
`E 15.3
`
`SYSTEM aus
`
`20
`
`75
`
`331
`{SYSTEM Bus!
`INTERFACE
`
`M
`
`m_1AI. PORT
`am
`
`,,
`
`1]
`DUART
`‘°°“"'”‘3“
`TIMER]
`
`78
`A
`
`3
`
`77
`
`INTERRUPT
`CIRCUITRY
`
`.39
`
`INTERFACE
`
`73
`
`I o
`SERIAL
`no
`
`INTERFACE
`RS232
`
`SERIAL
`1/0
`
`37
`
`86
`
`as
`
`‘"5557
`CIRCUITRY
`
`BOOT/ID
`
`72
`
`70
`
`73
`
`CIRCUITRY
`
`aoor I ID
`ROM
`
`_
`
`I.ocAI. nus
`
`I NTERFACE
`
`"2
`
`k
`
`”
`
`I.ocA1_ nus
`
`E514
`
`3
`
`

`
`U. S. Patent Nov. 11,1986
`
`Sheet 3 ofll
`
`4,622,633
`
`3.33
`
`an
`
`
`m2.ou>umqmE.E:Eh._»z_
`muoouoamazon1mmumoo4makes
`
`
`4
`
`

`
`U.S. Patent Nov. 11, 1986
`
`Sheet4 ofll
`
`4,622,633
`
`
`
`.l||mammmu¢aa<zupmrm
`
`E=.n.E._Em.
`owI\\newmI:HnH1Hown>+
`
`»m:mmu»z_
`
`3&4
`
`ass
`
`u~ou~»m
`
`-CI
`
`J¢0OJ
`
`mmumona
`
`‘\\I|lr\N.
`
`5
`
`

`
`U.S. Patent Nov. 11, 1986
`
`sheets ofll
`
`4,622,633
`
`:E}L—-m SB
`20”
`
`'T'6T§§fl""PT
`
`4""
`
`222
`
`115
`BUFFER
`
`225
`
`200-0
`
`3”’
`300
`
`*2 l- *“"
`
`spu mraanurr __
`
`*
`
`2°“
`303-0
`
`Powan
`°" "55
`
`‘mm
`
`D S O FL|P FLOP
`
`1,.
`
`220.0
`
`f
`
`no
`
`{LOCAL
`3”“
`
`
`
`2:0
`
`'55
`
`22/
`
`INTER FIUPT
`VECTOR
`
`em [ 1110-1115
`
`1115- A23
`
`no-av
`
`1:-owanon
`
`
`
`'
`f
`_
`| DOESYSTEM ausi
`i mennurr
`I
`STATUS
`wrennupr
`I
`spu
`1
`121251130,
`I
`'
`notsvsreu ausa
`I
`{SET LPU
`‘
`
`|
`
`-
`
`-
`|
`
`l
`|
`
`I
`
`|
`
`I
`I
`
`f
`S?
`LL
`
`i
`
`LPU
`mrrannupr
`
`LOCAL aus
`mreanupr
`ACKNOWLEDGE
`
`00-07
`:10
`
`
`RESET
`
`21
`
`ans:
`
`
`
`32052:
`co*.2.a.1.a:3..
`;
`
`
`2x?4Lsn5
`741.3633
`141.5133
`
`
`6
`
`

`
`U.S. Patent Nov. 11,1936
`
`Sheet6ofll
`
`4,622,633
`
` GET CONFIGUR-
`
`ATIONS FOR
`ALL LPU'3
`
`
`
`
`
`
`
`BOOTSTRAP
`
`or 3001
`
`5:‘?
`Am
`
`
`LPU INTER-
`FACE CAPABLE
`
`
`
`aasm "NORMAL"
`EXECUTION
`
`- .3 '
`
`13.3.. 75'
`400
`
`ENTER
`
`
`REQUEST EACH
`
`LPU TO INITIATE
`W W
`
`APPROPRIATE
`INTERFACE
`
`
`
`
`
`
`
`INTERFIICE
`WITH HIGHEST
`PRIORITY BOOT
`
`
`
` LOM3 BOOTSTRAP
`
`FROM INTERFACE
`
`
`
`
` EXECUTE
`
`BOOT STRAP
`PROGRAM
`
`LON} BOOTCTRAP
`FROII SELECTED
`INTERFACE
`
`GET SELECTED
`BOOT INTERFACE
`FROM SPU
`
`EXECUTE
`BOOTSTRRP
`PROGRAM
`
`PERFORM
`LEVEL 0
`INITIALIZATION
`
`PERFORM
`LEVEL “‘
`5°°"'5"'"“"
`
`PERFORH
`LEVEL 0
`INITIALIZATION
`
`BEGIN
`"NORMAL"
`INITIALIZATION
`
`PERFORM
`LEVEL 0
`INITIALIZATION
`
`PERFORM
`LEVEL IB
`IN ITIALIZATION
`
`P ER FORM
`LEVE L IB
`BOOT STRAP
`
`PERFORM
`LEVEL 0
`
`7
`
`

`
`U.S. Patent Nov. 11, 1986
`
`sheen ofll
`
`4,622,633
`
`
`
`
`
`HIITIAIIZT
`
`MhXlAIlNIT|A
`HINIAIO
`
`
`
`INITIA
`RESPONSE
`
`REGNI MAXIMUM
`OF MEMORY AID
`I/0 REGIONS FDR
`INTERFACE
`
`
`
`
`
`SET INTERFACE
`ADDRESS TO
`AVMI N
`
`AV M II X
` CONDITION
`
`AVMAX-REGN
`
`I08
`
`‘E3o'15tE%"F6°‘
`
`SATISFIED
`
`?
`
`8
`
`

`
`U.S. Patent Nov. 11,1986
`
`Sheet8ofll
`
`4,622,633
`
`3%
`
`gz;
`
`
`
`
`
`REQUEST ; H:
`SERML NO.-MID.
`s'i:aEss§'%E3'~3’5%
`“°°
`" —IF SERML no ‘ "D" ' °
`' ""°*
`:22
`TERMINATE.
`SET NEXT-
`NExT H
`
`I-HGHIMAX. SERIAL NUMBER
`
`DIRECTION IDCMN 122.4
`RESPONSE was FALSE
`
`mo -i
`
`
`no
`
`124
`
`'9
`
`s
`
`"'5
`
`:25
`
`:25-
`
`sR§a?REsnTu'§a"En
`<mn;
`ACKNOWLEDGE"
`
`I23
`
`NO
`
`ms‘
`
`271
`
`no
`
`was
`
`°'R§f;"°"
`1»
`
`
`
`REQUEST = " IF
`s1-znm. uuuasn
`>MlD ;.
`ACKNOWLEDGE"
`
`/30
`
`an 0 mt
`
`N0
`
`
`
`‘(ES
`
`I36‘
`
`LOW‘ MID -|- I
`RESPONSE
`I TRUE
`
`Down
`
`YES,t_y
`
`.132
`
`RESPONSE
`‘TRUE
`
`.
`
`up
`
`.
`
`137
`
`139
`
`:2-"—_n_=..4 0
`
`RESPONSE-FALSE
`LOW 3 O
`
`9
`
`

`
`U.S. Patent Nov.l1,1986
`
`Sheet9ofll
`
`4,622,633
`
`3" J:
`
`OBJECT
`Paocess
`
`300
`aun.nmc
`
`r_ _ _._ _ _f£‘?:?.'_.__|
`/J ADDRESS -—_—-aonao NAME
`-
`/ I ADDRESS -—‘L—p some NAME J!
`,0, // /L——————-..
`a cave man
`Era u
`or
`/ /
`HARDWARE
`/
`nascnurrons /
`303/
`/
`
`nescnm-on
`
`YES
`
`no ,0,
`ear NEXT
`
`aw
`
`coro um anse
`*°H%%'oH§£€'
`
`307
`E —~’
`
`START uses
`paocass
`
`TERIHINATE
`a‘.&Fc£.";.‘.—I
`I
`PROCESS
`
`rsoa
`__ ._... __ 5. .._ __
`fin»: _ __ __,____ _j
`//"I UART
`I
`In»
`I
`/-'| AID
`
`I I
`
`was
`
`
`
`Q——'__—___J
`
`3/:
`
`3:4
`
`
`
`
`
`3b‘5%3‘r“'+‘§°
`GET oaascr
`1'Egp|_g1'E
`DATA BASE
`son NAMED
`MANAGER
`
`COIIPONEIT
`mom can ans:
`
`
`
`usme
`
`\
`
`
`If
`\ FI nescsurrnous or mm s'Fn'u'c'ruREs fl
`
`75""-‘W '\ \ I ZDATA 10 as PUT in mm srnucrun-as
`\ ‘I 3.NA|J|ES OF CODE ELEMENTS TO INCLUDE
`\ |
`IN THE OBs£CT TO I BUILT
`4.POlNTER T0 CODE TO BE EXECUTED
`
`\
`
`I1-5
`
`E--I-:1-uxj-ujjsj-E:-——n——
`
`TO BUILD THE OBJECT
`
`i
`
`J
`
`10
`
`10
`
`

`
`U.S. Patent Nov. 11,1986
`
`Sheet 10 ofll 4,622,633
`
`
`
`
`DESTINATION
`OF MESSAGE A
`LOCAL PROC
`?
`
`
`
`
`PERFORM LPU
`RI-‘on
`LOW-
`PE REMC':‘T'EPU
`
`Tggusmf TRANSM IT
`
`63!
`
`STEP TO NEXT
`PROCESSOR
`
`
`
`
`
`
`
`
`
`Afgfi
`THIN IN
`SPU TRANSMIT
`OUEUE FOR THIS
`PROCESSOR
`
`
`9
` ANY-
`
`
`
`
`
`THING IN
`SPU TRANSMIT
`OUEUE FOR THIS
`PROCESSOR
`
`
`
`PUT MESSAGE
`IN RECEIVE
`OUEUE OF
`DESTINATION
`
`
`
`
`
`
`
`
`
`
`
`INFORM DESTIN-
`
`ATION =- -2. ~---
`09 usssaet-'.
`IN ITS SPU
`
`RECEIVE ouaue
`
`J4
`
`
`
`
`
`PUT MESSAGE
`LOCATE ADDRESS
`IN PROCESSOR
`OF PROCESSOR
`SPU TRANSNIIT
`PROCESS IS
`LOCATED IN
`OUEUE
`
`
`
` ATTACH ADDRESS
`OF DESTINATION
`PROCESSOR TO
`
`MESSAGE
`
`I15 -_’lB_C'
`
`11
`
`HAVE MESSAGE
`TO DESTINATION
`PROCESSOR SPU
`RECEIVE OLEIJE
`
`11
`
`

`
`U.S. Patent Nov. 11,1986
`
`Sheet 11 ofll 4,622,633
`
`
`
`MESSAGE
`IN PROCESS
`RECEIVE OUEUE
`
`
`
`9
`
`N0
`
`
`
`6'41
`
`uassacs
`
`
`
`
`Messass
`
`m PROCESSOR
`spu RECEIVE
`
`°"5"‘
`
`-
`
`6'42
`
`
`
`
`
`
`RECEIVE MSAGE
`
`FROM PROCESSOR
`
`
`SPU RECEIVE
`
`OUEUE
`
`
`
`
`REMOVE PROCESS-
`OR ADDRESS
`FRCN MESSAGE
`
`
`
`
`
`REMOVE l\ESS$E
`FROM PROCESS
`RECEIVE OUEUE
`
`
`
`
`
`
`BOARD
`
`12'
`
`12
`
`

`
`1
`
`4,622,633
`
`OBJECT BUILDING ME'I'I'IOD FOR SELF
`CONFIGURING COMPUTER NETWORK
`
`BACKGROUND OF THE INVENTION
`
`The invention relates to computer networks, espe-
`cially computer networks having a large number of
`nodes, for example, up to one hundred. and relates more
`particularly to networks wlich autornatically reconfig-
`ure themselves when hardware modules or software
`modules are added to or removed from the network.
`Various computer networks are known in which
`multiple individual computers are interconnected and
`cooperate in various ways with each other. For exam-
`ple. one well known computer network is widely anar-
`keted under the trademark ETI-IERNET. For more
`general
`information on computer networks, see the
`textbook "Computer Networks", by A. S. Tannen-
`baum. Prentice-Hall, Inc.. 1931. Also see U.S. Pat. No.
`4,131,936. which represents the closest prior art pres-
`ently known. Other U.S. patents that generally disclose
`computer networks include U.S. Pat. Nos. 3.735.365.
`4,181,936. 3.753.234, 3.934.232, 3,818,114. 3310.351.
`4.099.233. 4.079.433, 4.110.823, 3,4-8{l,9l4. 3.593.300,
`3,629,854, 4,240,140, 4,385,350 and 4,360,369.
`One area of growth in the use of computer networks
`has been in the field of “factory control", i.e.. use of
`computer networks to accomplish control of manufac-
`turing processes and controlling robots in manufactur-
`ing operations. Although state-of-the-art microproces-
`sors and microcomputers have quite limited computing
`power,
`they nevertheless have sufiicient computing
`power to perform one or more related or unrelated
`control functions. But they do not have enough com-
`puting power to control all related interfaces in the
`system. In accordance with the concept of computer
`networking. additional processors or microcomputers
`are connected to the same bus, i.e., the network system
`bus. in order to provide computing needed for control-
`ling additional processing operations, robots, etc.
`In
`many instarlces. there is no requirement for the separate
`processors to be able to communicate with each other,
`but in other instances. it would be very desirable if they
`could efficiently communicate with each other.
`The prior networking systems have had some serious
`shortcomings, including the requirement of requiring
`custom wiring or rewiring of hardware when additional
`processors or 1/0 interface boards are added to the
`system. Furthermore. addition of additional processors
`and/or "interfaces" has generally required that
`the
`software in the computer network also be modified,
`usually requiring considerable time. eifort and expense.
`in order to allow continued operation of the computer
`network. In computer networks in which there are a
`large number (more than four or live) separate proces-
`sors, bus arbitration systems including complex hard-
`ware and software have been required. The amount of
`time each processor spends “waiting” for accem to the
`network system bus rises rapidly as the number of pro-
`cessors incresses. In factory control environments, reli-
`ability is of extreme importance for network control
`systems, since system "down time" can be extremely
`expensive. Therefore, it is extremely important in fac-
`tory control computer systems to avoid hardware and
`software errors that typically accompany expansion or
`modification of the system. As mentioned above. cus-
`tom hardware reconfiguration and software modifica-
`tion is usually required and errors frequently occur. For
`
`5
`
`l0
`
`25
`
`30
`
`35
`
`45
`
`55
`
`60
`
`65
`
`13
`
`2
`example, strapping switches frequently are improperly
`reset when new module are added to the systems. Soft-
`ware modifications and software "modules" added to
`the system frequently contain errors and need consider-
`able debugging to make the entire system function prop-
`erly.
`In prior network systems in which multiple proces-
`sors and their associated memories are connected to a
`common network system bus. a particular procmsor
`that requests access to the system bus often has to wait
`in a "queueing" line, unless there is complex software in
`a system that maintains that processor's position in the
`queueing line while it continues another task.
`In prior networking systems, every time a new func-
`tion is added to a new network. every processor in the
`system needs to know how to obtain acess to the new
`function. This ordinarily requires modification of all of
`the software programs already in the system. since each
`of the local procasors in prior systems completely ef-
`fectuate their own messages.
`Indefinite amounts of waiting time for a processor
`requesting access to the network bus are unacceptable
`in a real time operating system. In order to avoid this
`problem, sortie prior systems. for example, the Intel
`MUI..'I'I-BUS structure. has been used in conjunction
`with dual port random access memories which isolate
`the various local processors from the network bus. This
`technique has the advantage that it eliminates the. re-
`quirement for a processor initiating a communication
`and a dwlination processor to both stop their present
`tasks and make themselves available in order to accom-
`plish the communication between them. but the initiat-
`ing processor needs to stop its present task and make
`itself available until the message is communicated.
`A practical limitation of previous networking systems
`is related to the physical structure of the printed circuit
`boards and the mother board into which the various
`boards (including the processors and the interface
`boards) are plugged. Some manufacturers have pro-
`vided "piggyback" boards which are plugged into a
`main processor board. but this is a very clumsy ap-
`proach and limits the number of interface boards that
`can be used. Another approach that has been used is to
`run ribbon cables from connectors on various processor
`boards to a separate board rack into which interface
`boards are connected. Again, this has been a clumsy
`solution. Another approach that has been used is to
`provide separate "local" buses for the individual pro-
`cessors. But this approach has generally. required "cus-
`tom" wiring when additional interface boards are added
`to the system. because there has been no practical way
`of achieving a satisfactory length for the local printed
`circuit conductors constituting the local buses as addi-
`tioual interface boards are plugged in.
`Up to now, no one has ever provided a satisfactory
`solution of the problems amociated with a computer
`network that needs to be operable on any scale from
`very small (wherein only one or two processors are
`required) to very large (where. for example. up to one
`hundred or more processors are needed). No one has
`adequately addressed or solved the problems that arise
`when it is desired to add computing power to a preexist-
`ing computer network in which additional computing
`power is required in such a manner that tasks presently
`assigned to certain processors need to be shared with
`the newly added processors, without requiring exten-
`sive hardware. and/or especially software modification.
`
`13
`
`

`
`4,622,633
`
`3
`Up to now. no one has solved the problems associated
`with long waiting tints by individual local processors
`that need to transmit messages to other procemors when
`large numbers of local processors are connected to the
`network and concurrently request access to the system
`bus.
`
`SUMMARY OF THE INVENTION
`
`25
`
`35
`
`45
`
`Accordingly. it is an object of the invention to pro-
`vide a computer network that can be conveniently
`scaled from small smile operation with only one or a few
`processors to a large number of processors.
`It is another object of the invention to provide a
`computer network in which a large number of proces-
`sors can be added without proportionately increasing
`the amount of time that is required for a particular pro-
`cessor to spend sending and/or receiving message to
`other processors.
`It is another object of the invention to greatly reduce
`the complexity of the problems associated with com-
`plex bus arbitration schemes of the prior art.
`It is another object of the invention to provide a
`computer network which can be expanded by merely
`plugging in additional processors or interface modules
`and which is operable without modification of either
`hardware or software presently in the system.
`It is another object of the invention to avoid the need
`for resetting strapping switches when interfaces (i.e..
`input/output interface circuit board) or processors are
`added to or removed from a computer network system.
`It is another object of the invention to provide a
`completely modular network system,
`in which both
`hardware and software are modular and can be added to
`or removed from the system without undue difficulty.
`It is another object of the invention to provide a
`computer network system that automatically reconfig-
`ures itself when hardware modules or software modula
`are added to or removed.
`Briefly described. and in accordance with one em-
`bodiment thereof. the invention provides a method of 40
`operating a computer system including a first processor
`and a plurality of removable interface circuits by stor-
`ing in a data base a plurality of hardware descriptors
`each including a separate identifier for each interface
`circuit that can be plugged into the computer system.
`and also storing in the data base a plurality of compo-
`nent lists each corresponding to separate interface cir-
`cuits and each including a name and at least one attri-
`bute of each component of the interface circuit. and also
`storing in the data base software templates each includ-
`ing descriptions of data structures descriptive of the
`various components, names of code elements to be in-
`cluded in a software object to be built and representing
`a particular one of the interface circuits, and pointers to
`software to be executed to build such software objects.
`To build a software object corresponding to one of the
`interface circuits. one of the hardware dacriptors is
`obtained from the data base. ‘I‘hat hardware descriptor
`is used to obtain a list of components of the subject
`interface circuit. The name of the component is then
`used to obtain a software template from the data base
`corresponding to a component of the interface circuit.
`The software template then is used by the software
`pointed to in order to build a software object that it
`represents at least one function that can be performed
`by that component. An object name is assigned to the
`built software object and entered with the software
`object into the data base. During execution of the user
`
`65
`
`4
`process. the ob}ect name is used to obtain the software
`object from the data base. Any interface circuit that
`contains only components for which templates are
`stored in the data base can be inserted into or removed
`from the computer system without modification to the
`operating software of the computer system.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a block diagram of the self-configuring
`computer network system of the present invention.
`FIG. 2 is a block diagram of the system processor unit
`(SPU) in the diagram of FIG-. 1.
`FIG. is a block diagram of a dedicated processor unit
`that can be used in an alternate embodiment of the in-
`vention.
`FIG. 4 is a bloclt diagram of a local processor unit
`[LPU) in a diagram of FIG. I.
`FIG. 5 is a detailed block diagram of an interface
`circuit in the diagram of FIG. 1.
`FIG. 6 is a detailed block diagram showing interface
`circuitry included in the local processors in the diagram
`of FIG. 1.
`FIG. 6A is a detailed block diagram of one of the
`address decode circuits in FIG. 6.
`FIG. 6B is a detailed block diagram of the interrupt
`circuit in FIG. 6.
`FIGS. ‘IA-TF constitute a program flow chart of the
`start up procedures for the processors in FIG. 1.
`FIG. I is a flow diagram of an initialization procedure
`executed by the local mm in the block diagram of
`FIG. 1.
`FIG. 9 is a flow chart of an initialization program
`executed by the local processors in FIG. 1 in conjunc-
`tion with the system procemor therein to assign ad-
`dresses to the individual local processors.
`routine in
`FIG. ltl is a flow chart of an
`which the system processor of FIG. I automatically
`assigns addresses to the local processors therein.
`FIG. 11 is a flow chart of a routine which can be
`executed by the system processor and local processors
`in the diagram of FIG. 1 to automatically build subrou-
`tines which represent the circuitry on the various inter-
`face boards connected to the systems.
`FIGS. 12A—‘.l2F constitute a program flow chart of
`the message-passing procedure between different user
`programs that can be executed by the system of FIG. 1.
`FIG. 13 is a perspective diagram that better illustrates
`the connections to the segmented local bus of FIG. 1.
`DESCRIPTION OF THE INVENTION
`
`Before describing the basic functions that the self
`configuring computer network system of the present
`invention provides in order to meet the foregoing objec-
`tives,
`it will be helpful to first understand the basic
`structure of the system as indicated in FIG. 1. and the
`structure of the system processor unit (SPU). local pro-
`cessor units (LPUs}, and interface circuits or boards.
`The structure shown in FIGS- 1-4 will therefore be
`described first. Then, the local bus interface circuitry
`and its basic operation will be described with reference
`to FIG. 5 and the system bus interface and its basic
`operation will be described with reference to FIGS. 6,
`6A and 6B. Then.
`initialization procedures. object
`building, and message passing processes that are parts of
`the present invention will be described in detail.
`Referring now to FIG. 1, self-configuring computer
`network 10 includes a system bus 20 which is connected
`to system processor 18 and a plurality of local proces-
`
`14
`
`14
`
`

`
`5
`
`ll}
`
`15
`
`20
`
`25
`
`35
`
`40
`
`5
`sors 11, 14, 16, etc. System processor 18 is occasionally
`alternately referred to herein as the "communications
`processor", as its primary function is to coordinate
`communications between user programs or "processes"
`that reside in the various local processors 11, 14, etc.
`Eachofthelocalprocessorsisalsoconnectedtoa
`"local bus". For example, local processor 11 is con-
`nected to local bus 21, local promor 12 is connected
`tolocalbus22and localprocessor ltiisconnectedto
`local bus 23.
`As shown in FIGS. 1 and 13, each local bus is con-
`nected to a plurality of removable interface circuits,
`referred to herein as interface boards. Interface boards
`12 and 13 are connected to local bus 21. interface board
`15 is connected to local bus 22 and interface boards 17
`are connected to local bus 23. Each local procmor,
`each interface board, and the system processor is dis-
`posed on a separate printed circuit board with an edge
`connecter that is pluggable into a “mother board" 801
`(FIG. 13) on which the local buses and the systems bus
`are printed.
`System processor 18 also has a local bus 24 connected
`to it. to which one or more interface boards such as 19
`can be connected (although often it would not be neces-
`sary for system processor 18 to utilize a local bus.)
`In accordance with the present invention. each of the
`local buses such as 21 through 24 is “segmented” on the
`mother board 301 into which the various processor
`boards and interface boards are inserted. Any number
`of local processor boards and associated interface
`boards can be plugged into the mother board in such a
`way as to automatically "define" the needed local buses
`to effectuate communication between the local proces-
`sors and their associated interface boards. The physical
`act of plugging in a local processor board connects it to
`only one adjacent segment of the local bus structure.
`The act of plugging in an interface board in the adjacent
`slot of the mother board automatically connects both
`adjacent local bus segments together and hence. extends
`the local bus to the next adjacent slot. However, plug-
`ginginalocalprocessorboardbreakstheconnection,
`because it does not connect one segment of the local bus
`to the next.
`This structure can be understood by reference to
`FIGS. 1 and 13, in which, (by way of example) local
`processor 11 has an edge connector conductor 26.
`Local bus 21 consists of three "segments" 27A. 2'73, and
`27C, etc. These three segments are separated from each
`other by edge connector receiving slots 28A, 28B, 28C,
`and 28D. The opposed ends ofeach ofthebussegments
`27A, 27B, 27C, et.c.. each of which is composed of cor-
`responding segments of all of the conductors that con-
`stitute local bus 21, are connected to edge connector
`receiving slot conductors. FIG. 13 illustrates this struc-
`ture more clearly. In FIG. 13, reference numeral 801
`designates the mother board. Reference numerals 27A-1
`and 27A-2 designate several of the conductors of local
`bus segment 27A in FIG. 1, reference numerals 27D-2
`and 2713-2 designate several conductors of local bus
`segment 27D in FIG. 1 and reference numerals 2713-2
`and 278-2 designate several conductors of local bus
`segment 273 in FIG. 1. Reference numerals 25A-1 and
`2513-1 designate female connectors which are connected
`to local bus segment conductors 27A-2 and 2713-2. re-
`spectively. Rigid male connector conductors 26-1 and
`26-2 are attached to the front side of local procr
`board 11, and are connected to appropriate conductors
`(not shown) thereon. Male connector conductors 26-1
`
`4,622,633
`
`6
`and 26-1 extend into female connectors 25A-I and 25B-
`I, respectively, but are not short circuited together and
`do not electrically connect local bus segment conduc-
`tors 2?D-2 and 27A-2 together. Similarly, male connec-
`tor conductors 26-3 and 26-4 are not short circuitcd
`together and do not electrically connect bus conductors
`27A-1 and 27D-1 together. In contrast. however, each
`pair of male connector conductors such as 26-3 and 26-4
`on every interface board such as 12 is short-circuited
`together by a "jumper” such as 62A or 62]! in FIG. 13.
`Hence. local bus conductor 27B-2 is shorted to local bus
`conductor 273-2, and local bus conductor I'M-1 is
`shorted to local bus conductor 27B-1. Thus, inserting a
`processor board such as 11 does not extend the local bus
`20 by shorting corresponding conductors of adjacent
`local bus segments together, but
`inserting interface
`boards such as 12 into consecutively adjacent "slots"
`(i.e.. female connectors such as 25A-1 and 2513-!) of
`mother board I01 does extend the local bus to the
`needed length.
`Titus. the edge connectors of each of the interface
`boards shown in FIG. 1 includes a plurality of edge
`connectors which, in efiect, “jumper” the correspond-
`ing edge connector slot conductors together by means
`of the jumpers 62. For example. if interface board 12 is
`inserted into slot 2813, the edge connector
`con-
`ductors, designated by reference numeral 29, electri-
`cally connect the conductors of local bus segment 27A
`to corresponding ones of local bus segment 2713. Thus.
`it can be seen how continued insertion of interface cards
`12, 13. etc. into consecutively adjacent slots extends the
`length oflocal bus 21 as needed.
`The interfaces (i.e.. interface boards} such as 12, 13,
`15, etc.
`typically include memory, digital-to-analog
`converters,
`analog-to-digital
`converters.
`keyboard
`monitors. disc controllers, etc.
`Referring now to FIG. 2, system processor 18 of
`FIG. 1 includes a system bus interface circuit 43, which
`simply includes ordinary three-state buffers. some of
`which are bi-directional. Both system bus 20 and inter-
`nal bus 38 include an address bus, a data bus, and a
`control bus including one or more interrupt conductors
`and an acknowledge conductor. A microprocessor 35 is
`a connected to internal bus 38. Power on reset circuitry
`37 is connected to microprocessor 35 and. in fact, is
`connected to other circuitry in the system requiring a
`power on reset signal, as subsequently explained, by
`conductor 122 of FIGS. 5 and 6A and 6B. A DUART
`(universal asynchronous receiver-transmitter), which
`can be implemented by means of a Signetics 2681 inte-
`grated circuit, designated by reference numeral 39, is
`connected to internal bus 38. Conventional RS232 ports
`44 and 45 are connected to the A and B inputs of
`DUART 39. An RS422 interface is connected to port B
`of DUART 39. These components are readily available
`from various manufacturers. Also. a read only memory,
`interrupt circuitry ill and memory circuitry 41 are con-
`nected to internal bus 38. ROM 36 contains identifica-
`tion information and a routine which bootstraps the user
`program into memory 41 for system processor 18. Inter-
`cal bus 38 is coupled to local bus 21 (which also includes
`an address bus. a data bus, and a control bus) by means
`of local bus interface circuitry 42A, subsequently de-
`scribed with reference to FIGS. 6, GA and GB.
`The read only memory 36 can be implemented by any
`of various electrically programmable read only memo-
`ries that are readily commercially available. Micro-
`processor 35 can be implemented by means of a two-
`
`15
`
`15
`
`

`
`4,622,633
`
`7
`chip pair consisting of a 16032 and a 16201 microproces-
`sor and timing chip set manufactured by National Semi-
`conductor Corporation. A Motorola 68(1)’)
`Inicro-
`processor could also be used, although the specific pro-
`gram printouts enclosed herewith pertain to the Na-
`tional Semiconductor chip pair.
`The local bus interface 42A of system processor 18
`has the property that it makes connection only to local
`bus segments on the right hand side of its edge connec-
`tor, so it does not "extend" the local bus 24 by the rrrere
`act of plugging system processor 18 into an edge con-
`nector receiving slot of the abovt.~mentioned mother
`board.
`
`Referring now to FIG. 3. a “dedicated“ processor
`that can be used in one embodiment of the invention is
`shown, and is designated by reference numeral 85. This
`dedicated
`r is used where only one local pro-
`cemor unit is required. and there is only one local bus in
`the entire system. In this instance. no system bus 20 is
`needed, nor is the system processor 18 needed, since
`there is no inulti-processor communication. The dedi-
`cated processor unit 85 is similar to the local processor
`next described with reference to FIG. 4. except that it
`makes no connection to system bus 20 and therefore
`needs no system bus interface circuitry 35, nor does it
`require any dual port RAM 74 (FIG. 4) Instead. a mem-
`ory 91 that is similar to memory 41 of system processor
`18 is connected to internal bus 38. The DUART 88 and
`the serial communication interface device generally
`designated by 90 can be identical to those in the system
`processor 18 and local processor 11, as can local bus
`interface circuit 42. Therefore, it will be convenient to
`now thoroughly describe the bloclt diagram of local
`processor 11 with reference to FIG. 4.
`Referring now to FIG. 4, local processor 11 includes
`system bus interface circuitry 75, which includes a. plu-
`rality of suitable buffer circuits that connect the individ-
`ual conductors ofsystem bus 20 to one port of dual port
`RAM 74. Dual port RAM 74 iucluda an Intel 8206 and
`S207 chip set, which includes a dynamic RAM control-
`ler and an error correction chip. It also includes a plu-
`rality of 64K by 1 dynamic RAMs that are readily avail-
`able from Intel and others. The second port of dual port
`RAM 74 is connected to bus 71. As before. the system
`bus 20 and the internal bus '71 each include a bi-direc-
`tional data bus, an address bus, and a control bus includ-
`ing interrupt and acknowledge lines. Internal bus 11 is
`connected to microprocessor '70, an identification ROM
`1'3 which also includes a bootstrap subroutine, interrupt
`circuitry 77, and a DUART 76. Ports A and B of
`DUART '16 are connected to conventional serial I/0
`circuits, as previously described with reference to FIG.
`2. Internal bus 72 is also connected to local bus interface
`circuit 42 and includes a plurality ofjumper conductors
`62 corresponding to each conductor of each of the local
`bus segments of local bus 21. The details of local bus
`interface circuit 42 are described thoroughly with refer-
`ence to FIG. 5.
`It should be noted that the lower port of dual port
`RAM '74 has priority over the upper port, which is
`coupled to the system bus 20. because the task being
`executed by microprocessor '70 (which is identical to
`microprocessor 35 in FIG. 2) is usually a real time task
`which cannot be interrupted (for example, in a machine
`control or process control application), unless permis-
`sion for the interrupt is given by microprocessor ‘T0 of
`local processor 11.
`
`8
`Referring now to FIG. 5. the circuitry in a typical
`interface circuit, designated by reference numeral 120,
`is shown. This circuit could be any of the interface
`circuits such as 12, I3, 15, 1'! of FIG. 1. Interface board
`120 includes base address register 12!, which has its
`data inputs connected to data bus 21D, which has 16
`conductors. The ruet input R of base address register
`121 (which is implemented by means of 2?4LSl75 quad
`D type integrated circuits. has its reset input cormected
`to "power on reset" conductor 122. Power on reset
`conductor 12 can be considered to be a conductor of
`system bus 120 and goes to a logical "1" level when the
`system 10 (FIG. 1) is "
`up",
`i.e., when the
`power is turned on.
`The outputs of base address register 121 are respec-
`tively connected to one set of inputs of an 8-bit digital
`comparator, which is implemented by means of a
`7-=|LS683 integrated circuit, and also are connected to
`the inputs of a 8-bit interrupt vector butfer 124, which
`can be implented by means of any ordinary buffer
`circuits. The outputs of interrupt buffer 124 are con-
`nected to respective conductors of data bus 21D.
`A set of inputs of comparator 123 are also connected
`to the respective eight conductors of data bus 21D.
`When a "1" level is applied on conductor 125 to the
`enable input of comparator 123, and the address on
`address bus 21A matches that stored in address bus 121,
`a "I" level called BEN (board Enable) is produced on
`conductor 126; this signal enables an address decoder
`127. Address decoder 121 is implemented by a 741.8133
`3-to-8 line decoder/demultiplexer integrated circuit,
`and has as its address inputs the four most significant
`bits of addras bus 21A. The eight outputs of decoder
`127 are generally designated by reference number 128,
`some of which go to a block of circuitry daignated by
`reference numer 129. Block 129 represents the main
`functional part of interface circuit 120. and performs
`various analo9 and/or di9ital interfacing functions to
`couple peripheral devices into data network 7|}. This
`function is not per se part of the invention, and so its
`details are not set forth. One of the address decoder
`outputs 123A is connected to an enable input of identifi-
`cation ROM 130. which contains information indicating
`the type of interface circuitry block 129 contains. and
`how much memory space or 1/0 (input/output) address
`space must be allocated to interface circuit 120.
`One output 12813 of address decoder 121
`fed back
`to the clock input of base address register 121. An “ini-
`tialization” llip flop 131 has its D input connected to the
`D0 conductor 21B-0 conductor of local data bus 2113.
`This Dll conductor of local data bus 213 is also con-
`nected to the D-input of interrupt flip-flop 132. The
`cloclt input of initialization flip-flop 131 is conn

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