[go: nahoru, domu]

US4366535A - Modular signal-processing system - Google Patents

Modular signal-processing system Download PDF

Info

Publication number
US4366535A
US4366535A US06/111,942 US11194280A US4366535A US 4366535 A US4366535 A US 4366535A US 11194280 A US11194280 A US 11194280A US 4366535 A US4366535 A US 4366535A
Authority
US
United States
Prior art keywords
memory
cpu
signal
microprocessors
microprocessor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US06/111,942
Inventor
Riccardo Cedolin
Wolmer Chiarottino
Giuseppe Giandonato
Silvano Giorcelli
Giorgio Martinengo
Giorgio Sofi
Sergio Villone
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telecom Italia SpA
Original Assignee
CSELT Centro Studi e Laboratori Telecomunicazioni SpA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CSELT Centro Studi e Laboratori Telecomunicazioni SpA filed Critical CSELT Centro Studi e Laboratori Telecomunicazioni SpA
Application granted granted Critical
Publication of US4366535A publication Critical patent/US4366535A/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1654Error detection by comparing the output of redundant processing systems where the output of only one of the redundant processing components can drive the attached hardware, e.g. memory or I/O
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1633Error detection by comparing the output of redundant processing systems using mutual exchange of the output between the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1683Temporal synchronisation or re-synchronisation of redundant processing components at instruction level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1691Temporal synchronisation or re-synchronisation of redundant processing components using a quantum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • H04Q3/54541Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme using multi-processor systems
    • H04Q3/5455Multi-processor, parallelism, distributed systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • H04Q3/54575Software application
    • H04Q3/54591Supervision, e.g. fault localisation, traffic measurements, avoiding errors, failure recovery, monitoring, statistical analysis

Definitions

  • Our present invention relates to a data-processing system and, in particular, to a system for processing telephone signals.
  • sequences of repetitive operations with low decision levels are performed on enormous amounts of data, e.g. on subscriber-line signal-level transitions accompanying the selection of call-number digits.
  • Such repetitive operations are generally performed by a specialized computing device, called a "preprocessor", which is connected via an interface to a main processor.
  • a preprocessor which is connected via an interface to a main processor.
  • Disadvantages inherent in the utilization of two basically different devices include a higher probability of failure aggravated by the necessarily specialized communication interfaces, higher maintenance and operating costs, and increasingly difficult technical control due to the necessity of providing two different checking systems, one for the preprocessor and one for the main processor.
  • An object of our present invention is to provide a reliable and inexpensive data-processing system which is easily adapted to a broad range of operational requirements.
  • Another object of our invention is to provide a modular processing system having individual modules specialized for predetermined functions and arrangeable in a wide variety of configurations satisfying different needs.
  • a further object of this invention is to provide a data-processing system with efficient self-checking means.
  • An electronic signal-processing system dialoguing with associated peripheral units comprises, according to our present invention, a plurality of modular processing units, a plurality of memory banks storing general processing information utilizable by any of these processing units, and access means individual to each memory bank for facilitating communication thereof with any processing unit, in response to a request therefrom, via a corresponding external two-way extension.
  • Each processing unit includes a pair of substantially identical micro-processors, i.e. an active component and a dummy or standby, interlinked by a correlating connection and provided with input connections for receiving incoming messages from an internal signal path, only the active or "hot" microprocessor having output connections for transmitting outgoing messages to the respective internal signal path.
  • each processing unit an interface is inserted between the signal path and an associated peripheral unit while an internal memory is connected to the signal path for storing processing information individual to the associated peripheral unit.
  • a coupling component is provided in each processing unit for selectively connecting its signal path to any of a plurality of external two-way extensions thereof.
  • each microprocessor includes logical circuitry for performing calculations and other processing operations in response to microinstructions periodically read out from a microprogram memory under the control of a sequencer which advances the microprogram by emitting the addresses of these microinstructions.
  • the advance of the microprogram may be modified by monitoring means operatively connected to both sequencers to detect an out-of-step condition, specifically by a comparator connected across two conductors that are tied to the stepping inputs of the two sequencers.
  • a time base works into the logic circuitry and the sequencer of each microprocessor for establishing their operating cycle; when the comparator detects the aforementioned out-of-step condition, it causes the time base to double the normal duration of that operating cycle so as to facilitate resynchronization of the two microprocessors if this condition is terminated after not more than one normal operating cycle.
  • At least the dummy or "cold" microprocessor may further include additional comparators connected between its logical circuitry and the signal path for checking the results of parallel processing operations performed by the two microprocessors; these additional comparators signal an alarm condition, preferably with deactivation of the paired microprocessors, upon detecting a divergence in their outputs (e.g. as a result of an out-of-step condition lasting more than one cycle).
  • each microprocessor of a processing unit includes an address store for transmitting memory-bank addresses to the coupler of that unit, a source of data and addresses of data-storage locations in the memory banks and in the internal memory, and a decoder connected to the data source and to the store for enabling the emission of memory-bank addresses therefrom to the associated coupler upon detecting the generation of an external-memory address by this source.
  • the decoder is a comparator which emits an enabling signal to the store upon detecting a locally generated address whose numerical value exceeds a predetermined threshold.
  • the memory banks are subdivided into at least a first group and a second group, each bank in the first group containing information identical with information stored in a corresponding bank in the second group.
  • Each microprocessor includes a microprogram memory linked to the store for alternately reading, whenever the local source emits data to be loaded into a bank of the first group, the addresses of such bank and the corresponding bank in the second group. It is advantageous to form the store as a read/write memory controlled by the microprogram memory for addressing only a normally operating member of a memory-bank pair having a malfunctioning member.
  • the coupler of each processing unit includes a plurality of transmitter/receivers for selectively connecting the signal path to respective external two-way extensions thereof.
  • a decoder in the coupler is tied to the read/write memory and to the transmitter/receivers for controlling same to connect the signal path to an extension selected in accordance with an address emitted by the read/write memory.
  • At least one processing unit may include a bi-port memory connecting the signal path of the processing unit to an additional microprocessor.
  • FIG. 1 is a block diagram of a configuration of a data-processing system according to our invention
  • FIG. 2a is a block diagram of a microprocessor forming part of a modular processing unit shown in FIG. 1;
  • FIG. 2b is a graph of control signals used in the microprocessor of FIG. 2a;
  • FIG. 2c is a graph similar to FIG. 2b, representing other control signals
  • FIG. 3 is a block diagram of an input/output port included in a processing unit shown in FIG. 1;
  • FIG. 4 is a block diagram of an input/output port associated with a memory bank shown in FIG. 1;
  • FIG. 5 is a block diagram of a processing unit generally as shown in FIG. 1;
  • FIG. 6 is a block diagram similar to FIG. 5, illustrating a modification
  • FIG. 7 is a block diagram of a pair of parallel processing units
  • FIG. 8 is a block diagram similar to FIG. 7, showing a combination of processing units of the type illustrated in FIG. 6;
  • FIG. 9 is a block diagram similar to FIG. 1, showing a modified system
  • FIG. 10 is a block diagram of a system having a plurality of preprocessing units working into a single main processing unit;
  • FIG. 11 is a block diagram similar to FIGS. 1 and 9, showing a modification of the system of FIG. 10.
  • a multiconfigurable modular processing system comprises k memory banks BM 1 , BM 2 -BM k connected by n.k bidirectional buses C 11 , C 21 -C n1 , C 12 , C 22 -C n2 -C 1k , C 2k -C nk to n modular processing units UP 1 , UP 2 -UP n .
  • Each memory bank BM 1 -BM k includes at least one memory module MM linked by means of an asynchronous bidirectional bus h 1 , h 2 -h k to an input/output port MAC which has a logic circuit ARB (FIG. 4) for arbitrating requests of access to the respective memory MM.
  • the ports MAC of memory banks BM 1 -BM k are tied via buses C 11 -C nk to input/output ports or couplers MEI of processing units UP 1 -UP n .
  • each unit UP 1 -UP n includes at least one input/output interface I communicating with one or more associated peripheral units (not shown) via a lead g 1 , g 2 -g n , at least one internal data store or memory M similar in structure to the external memories MM of units BM 1 -BM k , and a microprocessor CPU with a twin CPU' operating in parallel.
  • the various components of each processor UP 1 -UP n are interconnected by means of an asynchronous bidirectional internal signal path in the form of a bus b 1 , b 2 -b n .
  • Microinstructions read from memory MMP are decoded by register RMI and emitted thereby as writing commands, W 1 , W 2 , W 3 , W 4 , W 5 , a switching signal S 1 for a multiplexer MXC, an enabling signal S 2 for a pair of driver circuits or transmitters BD 3 and BD 4 , or a blocking signal a passed via a NOR gate OG and a lead 215 to a transmitter BD 2 for inhibiting the emission of commands by microprocessor CPU to a multiple 32 forming part of its associated bus b n .
  • Transmitters BD 2 , BD 3 , BD 4 and respective receivers BR 2 , BR 3 , BR 4 in parallel therewith translate the logic levels of the microprocessor into those handled by bus b n and vice versa.
  • register RMI may generate a signal on a lead 278 extending to a counter CTR, this signal serving to reset that counter.
  • register RMI transmits instructions specifying logical and arithmetic operations to be carried out on data pairs stored in registers inside the calculator or received via input port BR 3 and a lead 217 from a bidirectional multiple 31 of bus b n .
  • Another output lead 22 extends from register RMI to a logic network LCB and carries signals for resetting internal registers and activating signal-generating circuits of this network.
  • Register RMI transmits to sequencer SEQ, over a lead 23, instructions relating to a subsequent microinstructions address to be fed to memory MMP on a connection 24; in particular, the signal carried by lead 23 may code a pair of addresses to be alternatively selected by sequencer SEQ depending for example upon the arrival or nonarrival of an acknowledgment or execution signal rpl on a lead 310 of bus b n as determined by a bit present on an output lead 277 of a multiplexer MXB.
  • This multiplexer is connected via a lead 29 to register RMI for receiving therefrom a command controlling its internal switching operations.
  • Multiplexer MXB has four data inputs served by leads 210, 211, 227, 279, a switching input tied to output lead 29 of register RMI, and another switching input connected to a lead carrying a discriminating bit sd from a register RS, as more fully described hereinafter.
  • Lead 210 extends from a register RSY, having a pair of cascaded stages (not shown), loaded by a receiver or input port BR 1 which is in turn linked to lead 310 carrying the aforementioned acknowledgment signals rpl from interface I, memory M and port MEI (FIG. 1) as an indication of the execution of operations commanded by logic network LCB.
  • Lead 211 extends to multiplexer MXB from calculator ULAR and transmits information relating to the results of logical and arithmetic operations performed by this device, e.g. whether such results are negative or zero.
  • a selection signal ip applied to lead 227 by a nonillustrated switch determines in a semipermanent manner whether microprocessor CPU or its twin CPU' may actively transmit data on bus b n . It is to be noted that microprocessors CPU and CPU' both have the structure shown in FIG. 2a and are interconnected by leads 27, 28, 215, 228 as well as by bus b n , as more fully described hereinafter.
  • Signal ip is also fed to inhibiting inputs of transmitters BD 3 , BD 4 and is of different binary value in the two paired microprocessors CPU, CPU' so as to disable the transmitters of component CPU' connected to the outgoing lines of bus b n ; initially, either of these microprocessors could be selected as the nontransmitting or dummy component.
  • Lead 279 extends to multiplexer MXB from counter CTR which generates an output signal upon reaching a predetermined count, thereupon restarting its counting operation.
  • counter CTR may be reset at any time by microinstruction memory MMP via register RMI and lead 278.
  • sequencer SEQ The signal switched onto output lead 277 by multiplexer MXB in response to energization of lead 29 is transmitted to a stepping input of sequencer SEQ of component CPU and over correlating lead 27 to the corresponding device of twin microprocessor CPU'.
  • Multiplexer MXB of microprocessor CPU' emits a signal to sequencer SEQ of FIG. 2a on the other correlating lead 28.
  • Each sequencer SEQ has registers for storing various internal states of the respective microprocessor and a logic circuit for deciding on a microinstruction address according to conditions present at the inputs of the sequencer. Thus, for example, the address chosen or generated by the sequencer will reflect the presence or absence of signal identity on correlating leads 27 and 28.
  • Sequencer SEQ has another input lead 25 extending from a read-only memory MDI for the transmission of initial addresses of respective microinstruction sequences; read-only memory MDI is addressed by incoming signals arriving over bidirectional multiple 31, receiver BR 3 and lead 217.
  • a comparator CF 1 having respective inputs tied to leads 27 and 28 generates a signal on a lead 26 upon detecting a disparity of their voltage levels.
  • Lead 26 works into sequencer SEQ of component CPU and into a time base BT 1 which determines the operating cycle of sequencer SEQ and derives a recurrent signal t of period T (see FIG. 2b) from clock pulses ck received on a lead 214, timing signal t being fed to counter CTR and to register RSY.
  • the period T of signal t is the time interval set for the execution of any microinstruction read out from memory MMP.
  • Time base BT 1 has a conventional self-checking circuit which may include a monoflop retriggerable during its off-normal period by the leading edge of an incoming clock pulse.
  • the monoflop advantageously has an off-normal period equal to two clock cycles and is fed the clock pulse via an AND gate having a negated input connected to lead 26.
  • this self-checking circuit emits a signal on lead 216 extending to NOR gate OG, transmitters BD 2 of both components CPU and CPU' being consequently disabled by a "0" level present on lead 215 which interlinks the outputs of their gates OG in a "wired OR" connection.
  • transmitters are also disabled if comparator CF 1 of microprocessor CPU' detects a disparity in the signal levels of leads 27 and 28; component CPU' receives the clock pulses on lead 214 concurrently with component CPU.
  • a zero-level signal produced by NOR gate OG upon receiving a disabling signal a from register RMI or a disparity signal on lead 216 is transmitted to a lead 282 of bus b n for activating an alarm light (not shown) alerting an operator to a microprocessor malfunction or failure; in addition, the signal on lead 282 may be sent via ports MEI and MAC to other processing units.
  • control signal tc emitted by time base BT 1 to register RMI, logic network LCB, sequencer SEQ and calculator ULAR.
  • signal tc has the same form, and therefore the same period T, as signal t.
  • control signal tc is transformed to have a period 2T through suppression of every other zero-going transition of signal t as long as the disparity persists, as indicated in a graph tc' of FIG. 2b.
  • signal tc will form a single pulse spanning the consecutive cycles t 1 , t 2 rather than two pulses separated by a trough (signal t), as indicated in FIG. 2b.
  • the error will be detected before the microprograms even have an opportunity to respond to the misread bit.
  • register RMI While the operations of register RMI, logic network LCB, sequencer SEQ and calculator ULAR are temporarily suspended by signal tc, signal t induces the unloading of a stage of register RSY containing the misread bit. If the next bit is read correctly by both microprocessors, their correlation will be restored when the address which was to appear on connection 24 in cycle t 1 is read out from the corresponding sequencer in the next-following cycle t 2 . If the disparity persits, however, an error will be registered with deactivation of the paired components CPU, CPU' as described hereinafter.
  • a logic circuit in device UEA combines address bits from register RA with information regarding the internal status of microprocessor CPU, transmitted from register RS over a lead 222, to generate a ⁇ -bit address ( ⁇ > ⁇ ) consisting of ⁇ 1 least-significant bits emitted on a connection 220 and ⁇ a most-significant bits emitted on another connection 221.
  • Connection 220 feeds a reading input of a fast read/write memory or code converter RIC which stores addresses of memory banks BM 1 -BM k and emits these addresses on an output connection 223 extending to a comparator CF 5 and to an outgoing multiple 33 of bus b n .
  • the reading of addresses from memory RIC is effectuated by the ⁇ 1 bit-signal arriving from address expander UEA on connection 220 and by a single bit carried by a lead 226 from multiplexer MXC; a total of 2.sup. ⁇ .sbsp.1 +1 addresses are located into as many cells of memory RIC from register RU via a connection 224 in the presence of writing signal W 1 .
  • Multiplexer MXC has inputs connected to register RS, directly and through an inverter IN, via a lead 225 carrying a supplemental bit.
  • Signal S 1 appearing at the switching input of multiplexer MXC, thus modifies the address code specifying reading and writing operations such as "read instructions", “read data” or “test and set” to be performed in a selected memory bank BM 1 -BM k .
  • Signal S 1 is emitted by register RMI in response to the discriminating bit sd fed to multiplexer MXB.
  • multiplexer MXC is induced by microprogram memory MMP via register RMI and signal S 1 to connect output lead 226 to input lead 225 first directly and then via inverter IN.
  • Output line 221 of address expander UEA extends to a comparator CF 4 , a decoder D and transmitter BD 4 .
  • Decoder D functions as a comparator which emits a signal to memory RIC via a lead 280 whenever a predetermined theshold is exceeded by the numerical value of the address portion present on lead 221.
  • the energization of lead 280 modifies the output of memory RIC to indicate that the information read out therefrom concerns one of the external memories BM 1 -BM k (or a primary/secondary combination thereof), as determined by the address code traversing the transmitter BD 4 , rather than the associated internal memory M (FIG. 1).
  • Comparator CF 4 connected at a first input to lead 221 and at a second input to data-and-address multiple 31 via receiver BR 4 , is functionless in component CPU but its counterpart in component CPU' emits an error signal e r to sequencers SEQ of both components, via lead 228, upon detecting a divergence between an address generated by device UEA on lead 221 and a parallel address produced in microprocessor CPU' by the corresponding device thereof. Such a discrepancy may be detected by the twin of comparator CF 4 since transmitter BD 4 of component CPU is enabled by signal ip to permit it to pass the ⁇ 2 -bit address from lead 221 of that component to multiple 31.
  • the operation of comparator CF 4 is triggered by signal S 2 which establishes the writing phase of a clock cycle as described hereinafter with reference to FIG. 2c.
  • comparator CF 3 is connected to lead 217 at the output of receiver BR 3 and to the output lead 224 of register RU, working into transmitter BD 3 , for monitoring the results of the arithmetic operations performed by the calculators ULAR of microprocessors CPU and CPU'. Since transmitter BD 3 of dummy CPU' is disabled by signal ip, its comparator CF 3 will emit error signal e r to sequencers SEQ upon detecting a disparity of the results produced by these calculators operating in parallel. Like comparator CF 4 and transmitters BD 3 , BD 4 , comparator CF 3 is activated by switching command S 2 .
  • Logic network LCB is tied via a lead 212 to transmitter BD 2 which in turn works into multiple 32 of bus b n via a lead 213.
  • the receiver or input port BR 2 connected to multiple 32 feeds a comparator CF 2 linked at another input to lead 212.
  • Comparator CF 2 transmits error signal e r to sequencers SEQ upon detecting the mismatching of command signals generated by microprocessors CPU, CPU' whenever their transmitters BD 2 are blocked by the de-energization of lead 215.
  • Signal e r is also emitted by comparator CF 5 in the event of a diversity between an address read out from memory RIC and a verification signal from port MEI (see FIG. 3).
  • each sequencer SEQ forwards to its memory MMP a predetermined microinstruction address independent of signals present on leads 23, 25, 26, 27/28 and 277.
  • memory MMP acting upon multiplexer MXB via lead 29, the contents of a register in calculator ULAR are checked to determine if the error is spurious, i.e. due to a programmed perturbation of the outputs of devices LCB, ULAR and UEA by the periodic readout of incongruous instructions from memories MMP of the two microprocessors to ascertain whether comparators CF 2 -CF 5 are functioning correctly.
  • both microprocessors resume normal operations; otherwise, i.e. if the error is legitimate as established by the absence of a special bit on lead 211, at least one memory MMP emits signal a via register RMI, thereby disabling both transmitters BD 2 and effectively isolating both microprocessors CPU, CPU' from the rest of the system.
  • Logic networks LCB are cleared at the same time, via their respective input connections 22, as the microprogram jumps to a cutoff phase.
  • the alarm signal generated by the de-energization of leads 215 and 282 may be transmitted to other processors, coacting with the disabled unit UP n (FIG. 1), and to the associated peripheral unit or units.
  • any occurring error is detected within a single reading or writing cycle and is prevented from spreading beyond the originating processor UP n . It is not unlikely that a malfunction will go by undetected, because the probability of simultaneous failure in both components of a microprocessing pair CPU, CPU' canceling the error signal is extremely small.
  • stepping pulse tc delays the advance of both memories MMP, by the respective sequencers SEQ, for one clock cycle. If there is no failure, i.e. if lead 26 is de-energized in the next time interval t 2 , logic network LCB, sequencer SEQ and calculator ULAR of each microprocessor will then be activated by signal tc to perform those operations which would have been accomplished in interval t 1 if there had been no offset. Thus, there is no loss of information and processing unit UP n continues to function.
  • checking in a processing system takes place on at least two levels, at the reading and writing level by means of comparators CF 2 -CF 5 and during each microcycle by means of comparator CF 1 , and that the paired microprocessors CPU, CPU' function as a single element and are interconnected basically by only three leads 27, 28, 228, which greatly facilitates installation.
  • a first signal ⁇ delivered by network LCB of component CPU over lead 212, transmitter BD 2 and multiple 32 to interface I, memory M and port MEI of unit UP n is a sequence of pulses whose trailing edges induce the storage of addresses generated on multiple 31 by transmitter BD 4 of that component.
  • a second signal ⁇ emitted onto multiple 32 enables the reading from components I, M, MEI (FIG. 1) onto multiple 31 of data to be loaded into internal registers of calculators ULAR by way of receivers BR 3 and leads 217.
  • Another signal ⁇ produced by network LCB identifies the times during which devices addressed by transmitter BD 4 of microprocessor CPU may read data generated on multiple 31 by the associated calculator ULAR via its respective register RU and transmitter BD 3 .
  • Writing operations by the "hot" microprocessor CPU, confined to a time interval TS, include the emission of addresses onto lead 31 during a subinterval iS and the emission of data during a subinterval dS.
  • Reading operations by the microprocessor pair take place during an interval TL which comprises a subinterval iL for the emission of addresses onto multiple 31 by the active transmitter BD 4 and a subinterval dL for the emission of data onto multiple 31 by components I, M, MEI.
  • FIG. 2c also shows a sample of signal S 2 coinciding with intervals TS and iL.
  • Preprocessing of telephone signals by microprocessors CPU, CPU' is initated periodically through conventional interrupt procedures effectuated by interface I (FIG. 1) or upon the energization of leads 279 by counters CTR at the end of N microcycles of period T.
  • Preprocessing results are stored in internal memory M (FIG. 1) for utilization by microprocessors CPU, CPU' in subsequent processing operations, normal processing being resumed upon completion of outstanding preprocessing steps. It is to be noted that use of the same memory M for both preprocessing and final processing greatly facilitates information flow and increases the diagnosability of memory areas accessed predominantly during telephone-signal preprocessing.
  • ⁇ signals are preprocessed simultaneously; a sample of a signal and parameters concerning the preprocessing of this signal are carried in corresponding bit positions of a plurality of such words.
  • microprocessors CPU, CPU' store resulting data in one or more locations in memory M.
  • a processor operating according to conventional procedures would divide the 16 counters into two groups, horizontally distributing their 32 read-out bits to form four 8-bit words. Multiple shifts (by two positions) would be required of the memory locations occupied by these four words; moreover, at every vertical step the counters would be incremented or decremented according to the conditions heretofore assumed.
  • Such conventional procedures could necessitate 90 elementary logic operations, whereas a microprocessor utilizing an algorithm according to our present invention will execute only 10 elementary logic operations for each signal level being preprocessed.
  • a x is a bit less significant than the reading of the x th counter before sampling
  • B x is a bit more significant than the reading of the x th counter before sampling
  • a x ' is a bit less significant than the reading of the x th counter after sampling
  • B x ' is a bit more significant than the reading of the x th counter after sampling:
  • Each logic operation is executed by a calculator ULAR simultaneously on 16 sets of data, according to microinstructions stored in memory MMP. After 10 microcycles each having a period T, 16 sampled signal levels have been integrated into previously preprocessed data stored in memory M (FIG. 1). Because the preprocessing operations are carried out at a microinstructional level rather than at the instructional level typical of conventional processors, components CPU, CPU' can effect in real time both normal processing and preprocessing of signals necessary in the field of telecommunications.
  • port MEI comprises k transmitter/receiver circuits DR 1 , DR 2 -DR k connected to respective memory banks BM 1 , BM 2 -BM k (FIG. 1) via respective buses C n1 , C n2 -C nk .
  • Circuits DR 1 -DR k work into a logic network LS 1 through a bidirectional multiple 314 and into a buffer register BB 1 through another bidirectional multiple 313, this register being linked to microprocessors CPU, CPU' by means of multiple 31 of bus b n .
  • Register BB 1 includes bidirectional gates for the two-way transfer of data and addresses via multiple 31 between transmitter/receivers DR 1 -DR k and microprocessors CPU, CPU'.
  • network LS 1 In response to commands arriving over lead 32 from logic network LCB (FIG. 2), network LS 1 emits instructions to circuits DR 1 -DR k over multiple 314 and a clock signal to register BB 1 over a lead 315'. Control signals are generated by network LS 1 on a lead 38 tied to lead 310.
  • port MEI further comprises a decoder DC, an interrupt-signal generator IT, two additional buffer registers IR 1 , IR 2 and a logic circuit RM.
  • Decoder DC has input leads 315 and 33 extending from logic network LS 1 and from memory RIC, respectively, and output leads r 1 , r 2 -r k working into transmitter/receivers DR 1 , DR 2 -DR k ; circuits DR 1 -DR k are selectively activated by decoder DC in accordance with addresses arriving from memory RIC over lead 33 and commands generated by logic network LS 1 on a line 315, comparator CF 5 (FIG.
  • generator IT supplies circuits DR 1 -DR k via leads j 1 , j 2 -j k with interrupt signals requesting information transfer to or from other processors UP 1 -UP n-1 (FIG. 1).
  • Buffer register IR 1 receives on leads u 1 , u 2 -u k , extending from transmitter/receivers DR 1 -DR k , requests for inter-processor information transfer, the reception of interrupt signals on leads u 1 -u k being communicated to components CPU, CPU' via leads 321, 310; upon receiving a command from logic network LCB (FIG. 2a) over multiple 32 and a lead 35, register IR 1 transmits its stored interrupt requests to the microprocessors CPU, CPU' over a lead 311 and multiple 31.
  • Register IR 2 connected to circuits DR 1 -DR k by respective leads v 1 , v 2 -v k , receives and temporarily stores signals alerting processing unit UP n to any memory-bank malfunction and informs microprocessors CPU, CPU' via leads 322, 310 of the reception of such alert signals; upon receiving a command on a lead 36 tied to multiple 32, register IR 2 transfers its stored alert signals to components CPU, CPU' via a lead 312 and multiple 31.
  • Logic circuit RM having a pair of inputs connected to network LCB (FIG.
  • port MAC includes a gated register BB 2 and a logic network LS 2 having the same internal structures as register BB 1 and network LS 1 (FIG. 3), respectively.
  • Register BB 2 and logic network LS 2 are linked via bidirectional multiples 42 and 45 to n transmitter/receiver circuits TR 1 , TR 2 -TR n which are analogous to blocks DR 1 -DR k and work into processing units UP 1 -UP n by way of respective buses C 1k , C 2k -C nk .
  • circuits TR 1 -TR n Upon receiving information on these buses, circuits TR 1 -TR n emit access-request signals on leads p 1 , p 2 -p n extending to the logic circuit ARB already referred to. This circuit recurrently scans leads p 1 -p n and generates on leads SW 1 , SW 2 -SW n , extending to transmitter/receivers TR 1 -TR n , signals enabling the readout of stored information to register BB 2 over multiple 42, the order in which enabling signals are generated on leads SW 1 -SW n during any scanning or sampling cycle being determined by pre-established priorities with respect to energized leads p 1 -p n .
  • Arbitrating circuit ARB has an output lead 49 joined to network LS 2 for informing same of the initiation and termination of transmission from an enabled transmitter/receiver TR 1 -TR n , device LS 2 in turn sending to register BB 2 via a lead 46 an activation signal indicating the direction of transmission.
  • Logic network LS 2 is tied by a bidirectional multiple 47 to a timer TD which is linked by an output lead 48 to transmitter/receivers TR 1 -TR n .
  • Timer TD is activated by logic network LD 2 and may temporarily inhibit the functioning of transmitter/receivers TR 1 -TR n by emitting an interrupt signal on lead 48; network LS 2 is informed by a signal on multiple 47 of any interruption by this timer.
  • Logic circuits LS 2 , ARB and timer TD are fed a clock signal on a lead 41 extending from a time base BT 2 .
  • Network LS 2 and register BB 2 are tied to memory-bank bus h k via respective leads 44 and 43.
  • the multiprocessor illustrated in FIG. 1 has a range of processing speeds, storage capacities and reliabilities at least partially determined by the number of processing units UP 1 -UP n and memory banks BM 1 -BM k .
  • the microprocessors CPU, CPU' in each processing unit UP 1 -UP n have direct access to their associated internal memories M and indirect access, via ports MEI and MAC, to bank memories MM. Because access to the internal memories M will generally be more rapid than access to the external memories MM, the former will store program instructions which are utilized most frequently, in addition to data being handled by the respective microprocessor pairs. Whether a signal emitted by expander UEA on lead 221 (FIG.
  • decoder D specifies an internal or an external memory address is determined by decoder D: if the address ⁇ 2 on lead 221 is less than a predetermined threshold, it will be transmitted over multiple 31 only to memory M, whereas if ⁇ 2 has a numerical value surpassing the decoder threshold, code converter RIC will be enabled by a signal on lead 280 to emit a memory-bank address on lead 223, this address being transmitted to decoder DC (FIG. 3) for activating a transmitter/receiver DR 1 -DR k corresponding to the memory bank BM 1 -BM k being addressed.
  • the address generated on lead 221 by expander UEA is then conducted, under the control of logic network LS 1 , from register BB 1 through the activated transmitter/receiver to the addressed memory bank.
  • Data and instruction words are stored in memory banks BM 1 -BM k according to an interleaving technique whereby, in every group of k p words having consecutive addresses, successive words are stored in consecutively addressed memory banks.
  • k p words have addresses z+1, z+2-z+k p
  • the first word is stored in memory bank BM 1
  • connection of units UP 1 -UP n to banks BM 1 -BM k via bidirectional buses C 11 -C nk greatly facilitates information flow, owing to this reduction of congestion in memory-bank accessing, and increases system reliability, owing to speedy and efficient isolation of faulty or malfunctioning units.
  • each data or instruction word is stored in a primary-memory location and in a parallel location in a corresponding secondary memory bank.
  • the standby banks are called into operation only upon failure of a primary or a secondary bank.
  • Duplication of memory stores allows continued functioning of the processing system shown in FIG. 1, even upon failure of up to k p +k r memory banks, as described more fully hereinafter. Duplication also increases processing speed, because the units UP 1 -UP n may be divided into a first group reading information only from the primary banks and a second group reading only from the secondary banks.
  • the parallel memory configuration of primary and secondary banks is especially advantageous in the field of telecommunications, owing to the possibility of continued operation in the presence of failed or malfunctioning units.
  • a unit UP 1 -UP n Upon writing information according to "test and set” instructions, however, a unit UP 1 -UP n will check such writing operation by reading the newly written information only from the primary bank of the involved pair, in accordance with a "test and set” reading bit carried by lead 225 (FIG. 2a).
  • one of the k r standby banks is loaded with the contents of the faulty memory bank and has its address written in corresponding locations of memories RIC (FIG. 2a) which had held the address of the faulty bank. If all k r standby banks are being utilized as replacements and a malfunction arises in one of the members of a memory-bank pair, the address of the normally functioning member is substituted for the address of the malfunctioning member in each memory RIC, according to microinstructions stored in memory MMP. If a failure occurs in a memory bank without an operating mate, a secondary member of a normally functioning pair is appropriated as a replacement, memory MMP (FIG.
  • a processing system is provided with modalities, including converters RIC, for effectuating a reconfiguration of remote memories BM 1 -BM k upon failure of as many as k p +k.sub. r banks; the system illustrated in FIG. 1 will continue processing operations until the failure of a (k p +k r +1) th bank.
  • modalities including converters RIC, for effectuating a reconfiguration of remote memories BM 1 -BM k upon failure of as many as k p +k.sub. r banks; the system illustrated in FIG. 1 will continue processing operations until the failure of a (k p +k r +1) th bank.
  • reconfiguration generally occurs rapidly, i.e. without any information loss due to exchanges between processing units UP 1 -UP n and banks BM 1 -BM k . Such rapid and reliable performance is particularly advantageous in processing systems designed to control telephone operations.
  • New methods of handling telephone signals may be instituted in a system according to our present invention without interrupting normal operations.
  • a new program may be loaded into the k s secondary memory banks and one of the processing units UP 1 -UP n (FIG. 1) may be consigned to testing this program while the remaining units have access to the k p primary banks for executing normal processing operations according to the old program.
  • the new program Once the new program has been completely checked by the testing processing unit, the remaining units are progressively given total access to the k s secondary banks.
  • this program is then duplicated in the k p primary banks.
  • a unit UP 1 -UP n storing, in its respective internal memory M, a message to be transmitted to other such units has an interrupt signal generated by block IT (FIG. 3) and emitted to one or more memory banks BM 1 -BM k , according to the microprogram stored in memory MMP (FIG. 2a).
  • An interrupt signal generated by a block IT is received by an input/output port MAC which distributes the signal to various processing units UP 1 -UP n via transmitter/receivers TR 1 -TR n and bus network C 11 -C nk .
  • communication among the processing units is effectuated by means of components MEI, MAC and C 11 -C nk (FIG. 1) normally serving to connect microprocessors CPU, CPU' with memories MM; no additional inter-processor connections need be formed.
  • information exchange among units UP 1 -UP n may take place according to a "mailbox" technique whereby data to be transferred are stored in special locations in common memories BM 1 -BM k which are periodically sampled by these units.
  • FIG. 5 shows a monoprocessor unit UP o , generally similar to units UP 1 -UP n of FIG. 1, with a microprocessor pair CPU, CPU' according to our present invention.
  • Interface module I, memory module M and microprocessors CPU, CPU' are all connected to a bidirectional bus b o , interface I communicating with peripheral units (not shown) via a lead g o .
  • another modular processing unit UPA o comprises a preprocessing assembly XP o and a main processing assembly YP o , the former including an interface I, twin microprocessors CPU x , CPU x ' and a bi-port memory MB all connected to an asynchronous bidirectional bus d o similar to bus b n (FIGS. 1 and 2a).
  • Assembly YP o has a pair of microprocessors CPU y , CPU y ' tied to a memory module M and to bi-port memory MB via an asynchronous bidirectional bus f o similar to bus d o .
  • Memory MB includes a conventional data store and a logic network (not shown) arbitrating access requests from microprocessors CPU x , CPU x ' and CPU y , CPU y ' primarily according to priority of arrival and secondarily with alternation of precedence in the case of simultaneous access requests.
  • Microprocessors CPU x , CPU x ', CPU y , CPU y ' serve as self-checking preprocessing and main processing components, respectively.
  • unit UPA o (FIG. 6), already exceeding that of monoprocessor unit UP o (FIG. 5), may be further increased by the addition of other assemblies.
  • FIG. 10 we have illustrated a plurality of such assemblies XP 1 , XP 2 -XP m each having modular components including an interface I, a microprocessor CPU x and a bi-port memory MB; memories MB are all connected to a single processing assembly YP 1 which includes an interface module I in addition to a modular memory M and a microprocessor CPU y .
  • Telephone signals arriving via leads gg 1 , gg 2 -gg m at assemblies XP 1 -XP m are preprocessed thereby and transferred to assembly YP 1 via their respective bi-port memories MB, the results of the processing operations being passed on by an output lead y 1 .
  • the system shown in FIG. 10 may represent a two-stage module in a multistage hierarchical processing system in which assembly YP 1 is linked in parallel with a plurality of identical assemblies to a higher-level unit. Assembly YP 1 may work via lead y 1 into an identical assembly for performing self-diagnostic operations, as described more fully hereinafter with reference to FIGS. 7 and 8.
  • FIG. 7 we have shown two identical processing units UP a , UP b interconnected by respective input/output interfaces IOP and a bidirectional multiple 81.
  • Each unit UP a , UP b includes an interface module I, a memory M, twin microprocessors CPU and CPU' and the respective interface module IOP tied together via respective internal buses b a , b b which are identical in structure with bus b n (FIGS. 1 and 2a).
  • One of the two processing units UP a , UP b is generally disabled by the program from emitting data resulting from processing operations and serves only to check the results of the other unit.
  • Telephone signals received simultaneously by units UP a , UP b via parallel multiples g a , g b are checked by interfaces IOP prior to processing (and preprocessing) by components CPU, CPU'. Any error detected by the twin microprocessors CPU, CPU' in either unit UP a , UP b , including the failure or malfunction of the respective microprocessor pair CPU, CPU', is communicated to the interface IOP of the other processing unit whereupon this interface generates an interrupt signal toward its associated microprocessor pair, inducing same to sample a register in the interface which has been loaded with a code indicating failure.
  • unit UP a is the transmitting member of pair UP a , UP b and that unit UP b is blocked.
  • results produced by unit UP a are compared via interfaces IOP with those of unit UP b so that any error undetected by microprocessors CPU, CPU' will be recognized by these interfaces.
  • transmission onto multiple g a is blocked and a subprogram is initiated by microprocessors CPU, CPU' for localizing the source of error. Because microprocessors CPU, CPU' are self-checking structures, as heretofore described with reference to FIG. 2a, any error detected by interfaces IOP will generally be unattributable to the microprocessors.
  • interfaces IOP include logical circuitry relating to the generation of signal rpl on lead 310, heretofore described with reference to FIG. 2a.
  • Signal rpl is conventionally produced at the output of an OR gate receiving at its inputs two signals rpl t and rpl r in turn generated by the interface in response to signals ⁇ and ⁇ (FIG. 2c), these latter signals enabling the transmission and reception of data from multiple 31 (FIG. 2a) by the interface.
  • CPU' FIGS.
  • signal rpl is generated at the output of a nonillustrated logic circuit which includes an OR gate receiving signals from a pair of AND gates that in turn are fed signals rpl t , dr t and rpl r , dr r , respectively.
  • Interface IOP generating signal rpl according to this formula, facilitates data exchange between interfaces IOP of processing units UP a and UP b because microprocessors CPU, CPU' are no longer required to monitor "check and status" registers for the presence of signals dr t , dr r .
  • FIG. 8 we have shown two identical processing units UPA a and UPA b connected by respective interface modules IOP and a bidirectional multiple 82 having the same structure as multiple 81 of FIG. 7.
  • Each unit UPA a , UPA b has an interface module I, twin microprocessors CPU x , CPU x ', a bi-port memory MB, a memory module M and another pair of microprocessors CPU y , CPU y ', in addition to interface module IOP.
  • the incoming data are preprocessed by components CPU x , CPU x ', temporarily stored in bi-port memories MB and processed by components CPU y , CPU y '.
  • units UP 1 -UP n of the multiprocessor shown in FIG. 1 may be replaced by processing units UPA 1 , UPA 2 -UPA n similar to unit UPA o shown in FIG. 6.
  • each unit UPA 1 -UPA n includes an input/output port MEI as heretofore described with reference to FIGS. 1 and 3.
  • Ports MEI serve to connect processing units UPA 1 -UPA n via bidirectional buses C 11 -C 1k , C 21 -C 2k -C n1 -C nk to input/output ports MAC (see FIG. 4) of k memory banks BM 1 -BM k which also include modular data stores MM.
  • the system shown in FIG. 9 operates as heretofore described with respect to FIG. 1, except for the separate performance of preprocessing operations by components CPU x , CPU x ' connected to bidirectional buses d 1 , d 2 -d n and of processing operations by components CPU y , CPU y ' tied to bidirectional buses f 1 , f 2 -f n .
  • Such separation of preprocessing and final processing operations increases the capacity of the system shown in FIG. 1 without overloading buses C 11 -C nk and without requiring further buses linking units UPA 1 -UPA n to memory banks BM 1 -BM k .
  • FIG. 11 shows a two-stage system whose first stage comprises n remote processing units UPC 1 , UPC 2 -UPC n tied by means of 2 n bidirectional buses F 11 , F 12 and F 22 , F 23 -F nn , F n1 and respective pairs of interface modules I to n local processing units UPD 1 , UPD 2 -UPD n included, for instance, in an exchange.
  • each local unit UPD 1 -UPD n includes a memory module M, a pair of identical microprocessors CPU, CPU' and an input/output port MEI connected to k memory banks BM 1 -BM k , which in turn comprise arbitrating input/output modules MAC and data stores MM.
  • Remote units UPC 1 -UPC n include interface modules I tied via bidirectional multiples G 1 , G 2 -G n to peripheral units such as subscriber stations (not shown and further include twin microprocessors CPU, CPU', memories M and interfaces I linked to buses F 11 , F 12 , F 22 , F 23 -F nn , F n1 .
  • the processing system shown in FIG. 11 implements operations heretofore described with reference to FIG. 1.
  • remote units UPC 1 -UPC n continue normal preprocessing or processing operations even upon failure of a central processing unit UPD 1 -UPD n , owing to the fact that each lower-level unit UPC 1 -UPC n is coupled to two higher-level units UPD 1 -UPD n .

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Abstract

A signal-processing system, e.g. for a telephone exchange, comprises n modular processing units each including a pair of identical microprocessors operating in parallel on binary signals arriving over an internal bus, only one microprocessor of each pair being enabled to transmit outgoing messages to that bus while the other operates as a dummy. The two microprocessors are interlinked by a correlating connection enabling verification of their correct operation in response to microinstructions read out from respective microprogram memories thereof under the control of a common clock. A momentary divergence, resulting from a relative lag in the response of one microprocessor to an asynchronously arriving signal bit, results in a delay of the microprogram by one clock cycle to permit resynchronization; longer-lasting disparities lead to a deactivation of the microprocessor pair and to the emission of an alarm signal. Processing information individual to the associated peripheral unit is stored in an internal memory connected to the bus; general information utilizable by any processing unit is stored in several outside memory banks accessible through external extensions of the internal bus of any such unit. The processing units may be hierarchically organized in several tiers of different ranks.

Description

CROSS-REFERENCE TO RELATED APPLICATION
This is a continuation-in-part of our copending application Ser. No. 013,273 filed Feb. 21, 1979 and now abandoned.
FIELD OF THE INVENTION
Our present invention relates to a data-processing system and, in particular, to a system for processing telephone signals.
BACKGROUND OF THE INVENTION
In the field of data processing, different tasks may require respective electronic systems widely divergent as to processing speed, storage capacity and reliability. Commercially available data processors are generally rigidly structured and are frequently adapted to a specific purpose only through the utilization of a duly designed logic network. It is of course possible to use a processor whose speed and capacity are larger than those required, yet such a more complex system involves a higher failure probability; furthermore, its cost is higher than that of a commercially available processor whose speed, capacity and reliability matches the existing requirements.
In the area of telecommunications, sequences of repetitive operations with low decision levels are performed on enormous amounts of data, e.g. on subscriber-line signal-level transitions accompanying the selection of call-number digits. Such repetitive operations are generally performed by a specialized computing device, called a "preprocessor", which is connected via an interface to a main processor. Disadvantages inherent in the utilization of two basically different devices include a higher probability of failure aggravated by the necessarily specialized communication interfaces, higher maintenance and operating costs, and increasingly difficult technical control due to the necessity of providing two different checking systems, one for the preprocessor and one for the main processor.
OBJECTS OF THE INVENTION
An object of our present invention is to provide a reliable and inexpensive data-processing system which is easily adapted to a broad range of operational requirements.
Another object of our invention is to provide a modular processing system having individual modules specialized for predetermined functions and arrangeable in a wide variety of configurations satisfying different needs.
A further object of this invention is to provide a data-processing system with efficient self-checking means.
SUMMARY OF THE INVENTION
An electronic signal-processing system dialoguing with associated peripheral units comprises, according to our present invention, a plurality of modular processing units, a plurality of memory banks storing general processing information utilizable by any of these processing units, and access means individual to each memory bank for facilitating communication thereof with any processing unit, in response to a request therefrom, via a corresponding external two-way extension. Each processing unit includes a pair of substantially identical micro-processors, i.e. an active component and a dummy or standby, interlinked by a correlating connection and provided with input connections for receiving incoming messages from an internal signal path, only the active or "hot" microprocessor having output connections for transmitting outgoing messages to the respective internal signal path. In each processing unit, an interface is inserted between the signal path and an associated peripheral unit while an internal memory is connected to the signal path for storing processing information individual to the associated peripheral unit. A coupling component is provided in each processing unit for selectively connecting its signal path to any of a plurality of external two-way extensions thereof.
According to another feature of our present invention, each microprocessor includes logical circuitry for performing calculations and other processing operations in response to microinstructions periodically read out from a microprogram memory under the control of a sequencer which advances the microprogram by emitting the addresses of these microinstructions. The advance of the microprogram may be modified by monitoring means operatively connected to both sequencers to detect an out-of-step condition, specifically by a comparator connected across two conductors that are tied to the stepping inputs of the two sequencers. A time base works into the logic circuitry and the sequencer of each microprocessor for establishing their operating cycle; when the comparator detects the aforementioned out-of-step condition, it causes the time base to double the normal duration of that operating cycle so as to facilitate resynchronization of the two microprocessors if this condition is terminated after not more than one normal operating cycle. At least the dummy or "cold" microprocessor may further include additional comparators connected between its logical circuitry and the signal path for checking the results of parallel processing operations performed by the two microprocessors; these additional comparators signal an alarm condition, preferably with deactivation of the paired microprocessors, upon detecting a divergence in their outputs (e.g. as a result of an out-of-step condition lasting more than one cycle).
According to another feature of our present invention, each microprocessor of a processing unit includes an address store for transmitting memory-bank addresses to the coupler of that unit, a source of data and addresses of data-storage locations in the memory banks and in the internal memory, and a decoder connected to the data source and to the store for enabling the emission of memory-bank addresses therefrom to the associated coupler upon detecting the generation of an external-memory address by this source. Preferably, the decoder is a comparator which emits an enabling signal to the store upon detecting a locally generated address whose numerical value exceeds a predetermined threshold.
Pursuant to a further feature of our present invention, the memory banks are subdivided into at least a first group and a second group, each bank in the first group containing information identical with information stored in a corresponding bank in the second group. Each microprocessor includes a microprogram memory linked to the store for alternately reading, whenever the local source emits data to be loaded into a bank of the first group, the addresses of such bank and the corresponding bank in the second group. It is advantageous to form the store as a read/write memory controlled by the microprogram memory for addressing only a normally operating member of a memory-bank pair having a malfunctioning member.
Pursuant to yet another feature of our present invention, the coupler of each processing unit includes a plurality of transmitter/receivers for selectively connecting the signal path to respective external two-way extensions thereof. A decoder in the coupler is tied to the read/write memory and to the transmitter/receivers for controlling same to connect the signal path to an extension selected in accordance with an address emitted by the read/write memory.
At least one processing unit may include a bi-port memory connecting the signal path of the processing unit to an additional microprocessor.
BRIEF DESCRIPTION OF THE DRAWING
These and other features of our present invention will now be described in detail with reference to the accompanying drawing in which:
FIG. 1 is a block diagram of a configuration of a data-processing system according to our invention;
FIG. 2a is a block diagram of a microprocessor forming part of a modular processing unit shown in FIG. 1;
FIG. 2b is a graph of control signals used in the microprocessor of FIG. 2a;
FIG. 2c is a graph similar to FIG. 2b, representing other control signals;
FIG. 3 is a block diagram of an input/output port included in a processing unit shown in FIG. 1;
FIG. 4 is a block diagram of an input/output port associated with a memory bank shown in FIG. 1;
FIG. 5 is a block diagram of a processing unit generally as shown in FIG. 1;
FIG. 6 is a block diagram similar to FIG. 5, illustrating a modification;
FIG. 7 is a block diagram of a pair of parallel processing units;
FIG. 8 is a block diagram similar to FIG. 7, showing a combination of processing units of the type illustrated in FIG. 6;
FIG. 9 is a block diagram similar to FIG. 1, showing a modified system;
FIG. 10 is a block diagram of a system having a plurality of preprocessing units working into a single main processing unit; and
FIG. 11 is a block diagram similar to FIGS. 1 and 9, showing a modification of the system of FIG. 10.
SPECIFIC DESCRIPTION
As illustrated in FIG. 1, a multiconfigurable modular processing system according to our present invention comprises k memory banks BM1, BM2 -BMk connected by n.k bidirectional buses C11, C21 -Cn1, C12, C22 -Cn2 -C1k, C2k -Cnk to n modular processing units UP1, UP2 -UPn. The set of k memory banks BM1 -BMk may be subdivided into a group of primary banks, a group of secondary banks and a group of reserve or standby banks, the identity of any particular bank BMi (i=1,2-k) varying in time according to the progress of the processing operations as described in detail hereinafter. Each memory bank BM1 -BMk includes at least one memory module MM linked by means of an asynchronous bidirectional bus h1, h2 -hk to an input/output port MAC which has a logic circuit ARB (FIG. 4) for arbitrating requests of access to the respective memory MM. The ports MAC of memory banks BM1 -BMk are tied via buses C11 -Cnk to input/output ports or couplers MEI of processing units UP1 -UPn.
In addition to its port MEI, each unit UP1 -UPn includes at least one input/output interface I communicating with one or more associated peripheral units (not shown) via a lead g1, g2 -gn, at least one internal data store or memory M similar in structure to the external memories MM of units BM1 -BMk, and a microprocessor CPU with a twin CPU' operating in parallel. The various components of each processor UP1 -UPn are interconnected by means of an asynchronous bidirectional internal signal path in the form of a bus b1, b2 -bn.
As shown in FIG. 2a, microprocessor CPU of unit UPn --representative of corresponding components of all other processors of FIG. 1--includes a read-only microprogram memory MMP feeding microinstructions to a buffer register RMI under the control of a reading device or sequencer SEQ. Microinstructions read from memory MMP are decoded by register RMI and emitted thereby as writing commands, W1, W2, W3, W4, W5, a switching signal S1 for a multiplexer MXC, an enabling signal S2 for a pair of driver circuits or transmitters BD3 and BD4, or a blocking signal a passed via a NOR gate OG and a lead 215 to a transmitter BD2 for inhibiting the emission of commands by microprocessor CPU to a multiple 32 forming part of its associated bus bn. Transmitters BD2, BD3, BD4 and respective receivers BR2, BR3, BR4 in parallel therewith translate the logic levels of the microprocessor into those handled by bus bn and vice versa.
In response to the microinstruction read out from memory MMP, register RMI may generate a signal on a lead 278 extending to a counter CTR, this signal serving to reset that counter. On a lead 21 working into a calculator ULAR, register RMI transmits instructions specifying logical and arithmetic operations to be carried out on data pairs stored in registers inside the calculator or received via input port BR3 and a lead 217 from a bidirectional multiple 31 of bus bn. Another output lead 22 extends from register RMI to a logic network LCB and carries signals for resetting internal registers and activating signal-generating circuits of this network. Register RMI transmits to sequencer SEQ, over a lead 23, instructions relating to a subsequent microinstructions address to be fed to memory MMP on a connection 24; in particular, the signal carried by lead 23 may code a pair of addresses to be alternatively selected by sequencer SEQ depending for example upon the arrival or nonarrival of an acknowledgment or execution signal rpl on a lead 310 of bus bn as determined by a bit present on an output lead 277 of a multiplexer MXB. This multiplexer is connected via a lead 29 to register RMI for receiving therefrom a command controlling its internal switching operations.
Multiplexer MXB has four data inputs served by leads 210, 211, 227, 279, a switching input tied to output lead 29 of register RMI, and another switching input connected to a lead carrying a discriminating bit sd from a register RS, as more fully described hereinafter. Lead 210 extends from a register RSY, having a pair of cascaded stages (not shown), loaded by a receiver or input port BR1 which is in turn linked to lead 310 carrying the aforementioned acknowledgment signals rpl from interface I, memory M and port MEI (FIG. 1) as an indication of the execution of operations commanded by logic network LCB. Lead 211 extends to multiplexer MXB from calculator ULAR and transmits information relating to the results of logical and arithmetic operations performed by this device, e.g. whether such results are negative or zero.
A selection signal ip applied to lead 227 by a nonillustrated switch determines in a semipermanent manner whether microprocessor CPU or its twin CPU' may actively transmit data on bus bn. It is to be noted that microprocessors CPU and CPU' both have the structure shown in FIG. 2a and are interconnected by leads 27, 28, 215, 228 as well as by bus bn, as more fully described hereinafter. Signal ip is also fed to inhibiting inputs of transmitters BD3, BD4 and is of different binary value in the two paired microprocessors CPU, CPU' so as to disable the transmitters of component CPU' connected to the outgoing lines of bus bn ; initially, either of these microprocessors could be selected as the nontransmitting or dummy component.
Lead 279 extends to multiplexer MXB from counter CTR which generates an output signal upon reaching a predetermined count, thereupon restarting its counting operation. In addition, counter CTR may be reset at any time by microinstruction memory MMP via register RMI and lead 278.
The signal switched onto output lead 277 by multiplexer MXB in response to energization of lead 29 is transmitted to a stepping input of sequencer SEQ of component CPU and over correlating lead 27 to the corresponding device of twin microprocessor CPU'. Multiplexer MXB of microprocessor CPU' emits a signal to sequencer SEQ of FIG. 2a on the other correlating lead 28. Each sequencer SEQ has registers for storing various internal states of the respective microprocessor and a logic circuit for deciding on a microinstruction address according to conditions present at the inputs of the sequencer. Thus, for example, the address chosen or generated by the sequencer will reflect the presence or absence of signal identity on correlating leads 27 and 28. Sequencer SEQ has another input lead 25 extending from a read-only memory MDI for the transmission of initial addresses of respective microinstruction sequences; read-only memory MDI is addressed by incoming signals arriving over bidirectional multiple 31, receiver BR3 and lead 217.
A comparator CF1 having respective inputs tied to leads 27 and 28 generates a signal on a lead 26 upon detecting a disparity of their voltage levels. Lead 26 works into sequencer SEQ of component CPU and into a time base BT1 which determines the operating cycle of sequencer SEQ and derives a recurrent signal t of period T (see FIG. 2b) from clock pulses ck received on a lead 214, timing signal t being fed to counter CTR and to register RSY. The period T of signal t is the time interval set for the execution of any microinstruction read out from memory MMP.
Time base BT1 has a conventional self-checking circuit which may include a monoflop retriggerable during its off-normal period by the leading edge of an incoming clock pulse. The monoflop advantageously has an off-normal period equal to two clock cycles and is fed the clock pulse via an AND gate having a negated input connected to lead 26. Thus, upon the generation by comparator CF1 of a disparity signal at least two clock cycles in duration, this self-checking circuit emits a signal on lead 216 extending to NOR gate OG, transmitters BD2 of both components CPU and CPU' being consequently disabled by a "0" level present on lead 215 which interlinks the outputs of their gates OG in a "wired OR" connection. These transmitters are also disabled if comparator CF1 of microprocessor CPU' detects a disparity in the signal levels of leads 27 and 28; component CPU' receives the clock pulses on lead 214 concurrently with component CPU. A zero-level signal produced by NOR gate OG upon receiving a disabling signal a from register RMI or a disparity signal on lead 216 is transmitted to a lead 282 of bus bn for activating an alarm light (not shown) alerting an operator to a microprocessor malfunction or failure; in addition, the signal on lead 282 may be sent via ports MEI and MAC to other processing units.
We shall now refer to FIG. 2b in describing a control signal tc emitted by time base BT1 to register RMI, logic network LCB, sequencer SEQ and calculator ULAR. During any time that lead 26 is de-energized, signal tc has the same form, and therefore the same period T, as signal t. On the other hand, upon the generation of a disparity signal by comparator CF1, control signal tc is transformed to have a period 2T through suppression of every other zero-going transition of signal t as long as the disparity persists, as indicated in a graph tc' of FIG. 2b. If lead 26 is energized in a clock cycle t1 and is de-energized in the immediately succeeding cycle t2, signal tc will form a single pulse spanning the consecutive cycles t1, t2 rather than two pulses separated by a trough (signal t), as indicated in FIG. 2b. Thus, in the event that microprocessors CPU, CPU' are desynchronized for one cycle so that different logic levels are read for the same bit on lead 310, as when one register RSY picks up a voltage change near the end of a reading period while its counterpart in the other microprocessor does so only in the next cycle, the error will be detected before the microprograms even have an opportunity to respond to the misread bit. While the operations of register RMI, logic network LCB, sequencer SEQ and calculator ULAR are temporarily suspended by signal tc, signal t induces the unloading of a stage of register RSY containing the misread bit. If the next bit is read correctly by both microprocessors, their correlation will be restored when the address which was to appear on connection 24 in cycle t1 is read out from the corresponding sequencer in the next-following cycle t2. If the disparity persits, however, an error will be registered with deactivation of the paired components CPU, CPU' as described hereinafter.
The results of logic and arithmetic operations performed on pairs of σ-bit words by calculator ULAR under the control of microprogram memory MMP are emitted on a connection 218 and distributed among three registers RU, RA, RS in response to writing signals W3, W4, W5, respectively. A σ-bit address temporarily stored in register RA is transferred to the internal registers of an address expander UEA under the control of writing signal W2. A logic circuit in device UEA combines address bits from register RA with information regarding the internal status of microprocessor CPU, transmitted from register RS over a lead 222, to generate a τ-bit address (τ>σ) consisting of τ1 least-significant bits emitted on a connection 220 and τa most-significant bits emitted on another connection 221. Connection 220 feeds a reading input of a fast read/write memory or code converter RIC which stores addresses of memory banks BM1 -BMk and emits these addresses on an output connection 223 extending to a comparator CF5 and to an outgoing multiple 33 of bus bn . The reading of addresses from memory RIC is effectuated by the τ1 bit-signal arriving from address expander UEA on connection 220 and by a single bit carried by a lead 226 from multiplexer MXC; a total of 2.sup.τ.sbsp.1+1 addresses are located into as many cells of memory RIC from register RU via a connection 224 in the presence of writing signal W1.
Multiplexer MXC has inputs connected to register RS, directly and through an inverter IN, via a lead 225 carrying a supplemental bit. Signal S1, appearing at the switching input of multiplexer MXC, thus modifies the address code specifying reading and writing operations such as "read instructions", "read data" or "test and set" to be performed in a selected memory bank BM1 -BMk. Signal S1 is emitted by register RMI in response to the discriminating bit sd fed to multiplexer MXB. Writing takes place only in a primary bank when that bit has one logical value ("s" for "single") but is effected first in a primary bank and thereafter in a secondary bank when the bit is at its alternate logical level ("d" for "duplication"). In the latter instance, multiplexer MXC is induced by microprogram memory MMP via register RMI and signal S1 to connect output lead 226 to input lead 225 first directly and then via inverter IN.
Output line 221 of address expander UEA extends to a comparator CF4, a decoder D and transmitter BD4. Decoder D functions as a comparator which emits a signal to memory RIC via a lead 280 whenever a predetermined theshold is exceeded by the numerical value of the address portion present on lead 221. The energization of lead 280 modifies the output of memory RIC to indicate that the information read out therefrom concerns one of the external memories BM1 -BMk (or a primary/secondary combination thereof), as determined by the address code traversing the transmitter BD4, rather than the associated internal memory M (FIG. 1).
Comparator CF4, connected at a first input to lead 221 and at a second input to data-and-address multiple 31 via receiver BR4, is functionless in component CPU but its counterpart in component CPU' emits an error signal er to sequencers SEQ of both components, via lead 228, upon detecting a divergence between an address generated by device UEA on lead 221 and a parallel address produced in microprocessor CPU' by the corresponding device thereof. Such a discrepancy may be detected by the twin of comparator CF4 since transmitter BD4 of component CPU is enabled by signal ip to permit it to pass the τ2 -bit address from lead 221 of that component to multiple 31. The operation of comparator CF4 is triggered by signal S2 which establishes the writing phase of a clock cycle as described hereinafter with reference to FIG. 2c.
Another comparator CF3 is connected to lead 217 at the output of receiver BR3 and to the output lead 224 of register RU, working into transmitter BD3, for monitoring the results of the arithmetic operations performed by the calculators ULAR of microprocessors CPU and CPU'. Since transmitter BD3 of dummy CPU' is disabled by signal ip, its comparator CF3 will emit error signal er to sequencers SEQ upon detecting a disparity of the results produced by these calculators operating in parallel. Like comparator CF4 and transmitters BD3, BD4, comparator CF3 is activated by switching command S2.
Logic network LCB is tied via a lead 212 to transmitter BD2 which in turn works into multiple 32 of bus bn via a lead 213. The receiver or input port BR2 connected to multiple 32 feeds a comparator CF2 linked at another input to lead 212. Comparator CF2 transmits error signal er to sequencers SEQ upon detecting the mismatching of command signals generated by microprocessors CPU, CPU' whenever their transmitters BD2 are blocked by the de-energization of lead 215. Signal er is also emitted by comparator CF5 in the event of a diversity between an address read out from memory RIC and a verification signal from port MEI (see FIG. 3).
Upon the generation of signal er by any of the aforementioned comparators CF2 -CF5, each sequencer SEQ forwards to its memory MMP a predetermined microinstruction address independent of signals present on leads 23, 25, 26, 27/28 and 277. Under the control of memory MMP, acting upon multiplexer MXB via lead 29, the contents of a register in calculator ULAR are checked to determine if the error is spurious, i.e. due to a programmed perturbation of the outputs of devices LCB, ULAR and UEA by the periodic readout of incongruous instructions from memories MMP of the two microprocessors to ascertain whether comparators CF2 -CF5 are functioning correctly. If this is the case, both microprocessors resume normal operations; otherwise, i.e. if the error is legitimate as established by the absence of a special bit on lead 211, at least one memory MMP emits signal a via register RMI, thereby disabling both transmitters BD2 and effectively isolating both microprocessors CPU, CPU' from the rest of the system. Logic networks LCB are cleared at the same time, via their respective input connections 22, as the microprogram jumps to a cutoff phase. The alarm signal generated by the de-energization of leads 215 and 282 may be transmitted to other processors, coacting with the disabled unit UPn (FIG. 1), and to the associated peripheral unit or units.
Thus, any occurring error is detected within a single reading or writing cycle and is prevented from spreading beyond the originating processor UPn. It is not unlikely that a malfunction will go by undetected, because the probability of simultaneous failure in both components of a microprocessing pair CPU, CPU' canceling the error signal is extremely small.
Owing to the asynchronous nature of the system, however, care must be taken to avoid minor temporal offsets in the operations of the two paired microprocessors CPU, CPU' from being registered as an error. If an asynchronous acknowledgment signal rp2, i.e. a change in the voltage level of lead 310, happens to arrive at such a time--as discussed above--that the event is reported to the register RSY of microprocessor CPU in one clock cycle and to the corresponding register of its twin CPU' in an adjoining clock cycle, comparator CF1 will detect a disparity on the output leads 27, 28 of the respective multiplexers MXB and will energize lead 26 in time interval t1 (FIG. 2b) representing the first of these clock cycles. The resulting lengthening of stepping pulse tc delays the advance of both memories MMP, by the respective sequencers SEQ, for one clock cycle. If there is no failure, i.e. if lead 26 is de-energized in the next time interval t2, logic network LCB, sequencer SEQ and calculator ULAR of each microprocessor will then be activated by signal tc to perform those operations which would have been accomplished in interval t1 if there had been no offset. Thus, there is no loss of information and processing unit UPn continues to function. If, on the other hand, there is a failure causing a continued energization of lead 26 by comparator CF1, devices LCB, SEQ and ULAR will continue their operations in response to pulses tc' (FIG. 2b), whereupon the failure will eventually be detected, generally in the immediately following clock cycle, by comparators CF2 -CF5. Loss of synchronism between microprocessors CPU, CPU' will also be detected in the event that results of the respective calculators diverge (lead 211). It is to be noted that checking in a processing system according to our present invention takes place on at least two levels, at the reading and writing level by means of comparators CF2 -CF5 and during each microcycle by means of comparator CF1, and that the paired microprocessors CPU, CPU' function as a single element and are interconnected basically by only three leads 27, 28, 228, which greatly facilitates installation.
We shall now refer to FIG. 2c in describing the command signals emitted by each logic network LCB. A first signal α delivered by network LCB of component CPU over lead 212, transmitter BD2 and multiple 32 to interface I, memory M and port MEI of unit UPn is a sequence of pulses whose trailing edges induce the storage of addresses generated on multiple 31 by transmitter BD4 of that component. A second signal β emitted onto multiple 32 enables the reading from components I, M, MEI (FIG. 1) onto multiple 31 of data to be loaded into internal registers of calculators ULAR by way of receivers BR3 and leads 217. Another signal γproduced by network LCB identifies the times during which devices addressed by transmitter BD4 of microprocessor CPU may read data generated on multiple 31 by the associated calculator ULAR via its respective register RU and transmitter BD3. Writing operations by the "hot" microprocessor CPU, confined to a time interval TS, include the emission of addresses onto lead 31 during a subinterval iS and the emission of data during a subinterval dS. Reading operations by the microprocessor pair take place during an interval TL which comprises a subinterval iL for the emission of addresses onto multiple 31 by the active transmitter BD4 and a subinterval dL for the emission of data onto multiple 31 by components I, M, MEI. FIG. 2c also shows a sample of signal S2 coinciding with intervals TS and iL.
Preprocessing of telephone signals by microprocessors CPU, CPU' is initated periodically through conventional interrupt procedures effectuated by interface I (FIG. 1) or upon the energization of leads 279 by counters CTR at the end of N microcycles of period T. Preprocessing results are stored in internal memory M (FIG. 1) for utilization by microprocessors CPU, CPU' in subsequent processing operations, normal processing being resumed upon completion of outstanding preprocessing steps. It is to be noted that use of the same memory M for both preprocessing and final processing greatly facilitates information flow and increases the diagnosability of memory areas accessed predominantly during telephone-signal preprocessing.
In a processing system according to our present invention, using a σ-bit code words, σ signals are preprocessed simultaneously; a sample of a signal and parameters concerning the preprocessing of this signal are carried in corresponding bit positions of a plurality of such words. Upon the completion of a sequence of Boolean operations on the several words containing the preprocessing information of the σ signals, microprocessors CPU, CPU' store resulting data in one or more locations in memory M.
In the processing of telephone signals, actual signal-level transitions must be differentiated from spurious transitions due to the interference of overlapping signals and to random spike generation. Actual transitions are generally determined by "up-down" counters which measure the permanence of logic levels of respective telephone signals. Let us assume that σ=16, i.e. that 16 signals are preprocessed simultaneously, and that each calculator ULAR contains 16 two-bit counters each decremented if the associated signal has a logic level "0" and incremented if that signal has a logic level "1". Let us further assume that any counter in a 0--0 status will remain unchanged if the respective signal has a "0" level and that any counter in a 1--1 status will retain such status if the respective signal has a "1" level. A processor operating according to conventional procedures would divide the 16 counters into two groups, horizontally distributing their 32 read-out bits to form four 8-bit words. Multiple shifts (by two positions) would be required of the memory locations occupied by these four words; moreover, at every vertical step the counters would be incremented or decremented according to the conditions heretofore assumed. Such conventional procedures could necessitate 90 elementary logic operations, whereas a microprocessor utilizing an algorithm according to our present invention will execute only 10 elementary logic operations for each signal level being preprocessed. This algorithm is defined by the following pair of Boolean equations wherein Fx is the sampled logic level of a generic lead x (x=0, 1-15), Ax is a bit less significant than the reading of the xth counter before sampling, Bx is a bit more significant than the reading of the xth counter before sampling, Ax ' is a bit less significant than the reading of the xth counter after sampling, and Bx ' is a bit more significant than the reading of the xth counter after sampling:
A.sub.x '=B.sub.x (A.sub.x +F.sub.x)+A.sub.x F.sub.x
B.sub.x '=A.sub.x B.sub.x +F.sub.x (A.sub.x +B.sub.x).
Each logic operation is executed by a calculator ULAR simultaneously on 16 sets of data, according to microinstructions stored in memory MMP. After 10 microcycles each having a period T, 16 sampled signal levels have been integrated into previously preprocessed data stored in memory M (FIG. 1). Because the preprocessing operations are carried out at a microinstructional level rather than at the instructional level typical of conventional processors, components CPU, CPU' can effect in real time both normal processing and preprocessing of signals necessary in the field of telecommunications.
We shall now describe the structure of input/output port MEI with respect to generic processing unit UPn. As illustrated in FIG. 3, port MEI comprises k transmitter/receiver circuits DR1, DR2 -DRk connected to respective memory banks BM1, BM2 -BMk (FIG. 1) via respective buses Cn1, Cn2 -Cnk. Circuits DR1 -DRk work into a logic network LS1 through a bidirectional multiple 314 and into a buffer register BB1 through another bidirectional multiple 313, this register being linked to microprocessors CPU, CPU' by means of multiple 31 of bus bn. Register BB1 includes bidirectional gates for the two-way transfer of data and addresses via multiple 31 between transmitter/receivers DR1 -DRk and microprocessors CPU, CPU'. In response to commands arriving over lead 32 from logic network LCB (FIG. 2), network LS1 emits instructions to circuits DR1 -DRk over multiple 314 and a clock signal to register BB1 over a lead 315'. Control signals are generated by network LS1 on a lead 38 tied to lead 310.
As illustrated in FIG. 3, port MEI further comprises a decoder DC, an interrupt-signal generator IT, two additional buffer registers IR1, IR2 and a logic circuit RM. Decoder DC has input leads 315 and 33 extending from logic network LS1 and from memory RIC, respectively, and output leads r1, r2 -rk working into transmitter/receivers DR1, DR2 -DRk ; circuits DR1 -DRk are selectively activated by decoder DC in accordance with addresses arriving from memory RIC over lead 33 and commands generated by logic network LS1 on a line 315, comparator CF5 (FIG. 2a) receiving a signal from decoder DC over lead 39 for checking the selective activation of these circuits. In response to commands arriving from active microprocessor CPU over a lead 34 (included in multiple 31) and from logic network LS1 over line 315, generator IT supplies circuits DR1 -DRk via leads j1, j2 -jk with interrupt signals requesting information transfer to or from other processors UP1 -UPn-1 (FIG. 1). Buffer register IR1 receives on leads u1, u2 -uk, extending from transmitter/receivers DR1 -DRk, requests for inter-processor information transfer, the reception of interrupt signals on leads u1 -uk being communicated to components CPU, CPU' via leads 321, 310; upon receiving a command from logic network LCB (FIG. 2a) over multiple 32 and a lead 35, register IR1 transmits its stored interrupt requests to the microprocessors CPU, CPU' over a lead 311 and multiple 31. Register IR2, connected to circuits DR1 -DRk by respective leads v1, v2 -vk, receives and temporarily stores signals alerting processing unit UPn to any memory-bank malfunction and informs microprocessors CPU, CPU' via leads 322, 310 of the reception of such alert signals; upon receiving a command on a lead 36 tied to multiple 32, register IR2 transfers its stored alert signals to components CPU, CPU' via a lead 312 and multiple 31. Logic circuit RM, having a pair of inputs connected to network LCB (FIG. 2a) via multiple 32 and a lead 37 and to network LS1 via line 315, temporarily stores masking commands transmitted from component CPU and arriving on lead 37, and emits disabling signals to registers IR1, IR2 via leads 316, 317, upon receiving an enabling signal from network LS1.
Input/output ports MEI function as bus expanders, while ports MAC function as input and arbitrating circuits. We shall now describe the structure of ports MAC with respect to generic memory bank BMk. As illustrated in FIG. 4, port MAC includes a gated register BB2 and a logic network LS2 having the same internal structures as register BB1 and network LS1 (FIG. 3), respectively. Register BB2 and logic network LS2 are linked via bidirectional multiples 42 and 45 to n transmitter/receiver circuits TR1, TR2 -TRn which are analogous to blocks DR1 -DRk and work into processing units UP1 -UPn by way of respective buses C1k, C2k -Cnk. Upon receiving information on these buses, circuits TR1 -TRn emit access-request signals on leads p1, p2 -pn extending to the logic circuit ARB already referred to. This circuit recurrently scans leads p1 -pn and generates on leads SW1, SW2 -SWn, extending to transmitter/receivers TR1 -TRn, signals enabling the readout of stored information to register BB2 over multiple 42, the order in which enabling signals are generated on leads SW1 -SWn during any scanning or sampling cycle being determined by pre-established priorities with respect to energized leads p1 -pn. Arbitrating circuit ARB has an output lead 49 joined to network LS2 for informing same of the initiation and termination of transmission from an enabled transmitter/receiver TR1 -TRn, device LS2 in turn sending to register BB2 via a lead 46 an activation signal indicating the direction of transmission. Logic network LS2 is tied by a bidirectional multiple 47 to a timer TD which is linked by an output lead 48 to transmitter/receivers TR1 -TRn. Timer TD is activated by logic network LD2 and may temporarily inhibit the functioning of transmitter/receivers TR1 -TRn by emitting an interrupt signal on lead 48; network LS2 is informed by a signal on multiple 47 of any interruption by this timer. Logic circuits LS2, ARB and timer TD are fed a clock signal on a lead 41 extending from a time base BT2. Network LS2 and register BB2 are tied to memory-bank bus hk via respective leads 44 and 43.
The multiprocessor illustrated in FIG. 1 has a range of processing speeds, storage capacities and reliabilities at least partially determined by the number of processing units UP1 -UPn and memory banks BM1 -BMk. The microprocessors CPU, CPU' in each processing unit UP1 -UPn have direct access to their associated internal memories M and indirect access, via ports MEI and MAC, to bank memories MM. Because access to the internal memories M will generally be more rapid than access to the external memories MM, the former will store program instructions which are utilized most frequently, in addition to data being handled by the respective microprocessor pairs. Whether a signal emitted by expander UEA on lead 221 (FIG. 2a) specifies an internal or an external memory address is determined by decoder D: if the address τ2 on lead 221 is less than a predetermined threshold, it will be transmitted over multiple 31 only to memory M, whereas if τ2 has a numerical value surpassing the decoder threshold, code converter RIC will be enabled by a signal on lead 280 to emit a memory-bank address on lead 223, this address being transmitted to decoder DC (FIG. 3) for activating a transmitter/receiver DR1 -DRk corresponding to the memory bank BM1 -BMk being addressed. The address generated on lead 221 by expander UEA is then conducted, under the control of logic network LS1, from register BB1 through the activated transmitter/receiver to the addressed memory bank.
Data and instruction words are stored in memory banks BM1 -BMk according to an interleaving technique whereby, in every group of kp words having consecutive addresses, successive words are stored in consecutively addressed memory banks. Thus, if kp words have addresses z+1, z+2-z+kp, the first word is stored in memory bank BM1, the second word in bank BM2 and the kp th word in bank BMkp. For example, let us assume that kp =4, i.e. that there are four primary memory banks BM1 -BM4 ; then addresses 0, 4, 8-are located in bank BMk, addresses 1, 5, 9-in bank BM2, addresses 2, 6, 10-in bank BM3 and addresses 3, 7, 11-in bank BM4. Interleaving data and instructions in memory banks BM1 -BMk inhibit any loss of global processing capacity due to the queuing up of processing units UP1 -UPn in requesting access to the memory banks. It is to be noted that the connection of units UP1 -UPn to banks BM1 -BMk via bidirectional buses C11 -Cnk greatly facilitates information flow, owing to this reduction of congestion in memory-bank accessing, and increases system reliability, owing to speedy and efficient isolation of faulty or malfunctioning units.
If memory banks BM1 -BMk are grouped into kp primary banks, ks secondary banks and kr standby banks, each data or instruction word is stored in a primary-memory location and in a parallel location in a corresponding secondary memory bank. The standby banks are called into operation only upon failure of a primary or a secondary bank. Duplication of memory stores allows continued functioning of the processing system shown in FIG. 1, even upon failure of up to kp +kr memory banks, as described more fully hereinafter. Duplication also increases processing speed, because the units UP1 -UPn may be divided into a first group reading information only from the primary banks and a second group reading only from the secondary banks. The parallel memory configuration of primary and secondary banks is especially advantageous in the field of telecommunications, owing to the possibility of continued operation in the presence of failed or malfunctioning units.
Alternatively, storage facilities BM1 -BMk may be divided only into kp operating banks and Kr =kp standby banks, with ks =0. Whether facilities BM1 -BMk are arranged in singular or in duplicate configuration, i.e. whether there are any secondary banks, is determined by the logic level of bit sd stored in register RS (FIG. 2a): if bit sd has logical value "s", the active microprocessor CPU will write a word only in a single location in memory banks BM1 -BMk, whereas if bit sd has logical value "d", microprogram memory MMP will let multiplexer MXC successively feed to code converter RIC a pair of bits having different logic levels whereby converter RIC reads out the addresses of both a primary memory bank and a parallel secondary memory bank in which data generated on multiple 31 are to be written. Thus, in the case of duplicate memory-bank configuration, primary and secondary processing units read data and instructions only from primary or secondary banks, respectively, while each unit UP1 -UPn writes information in both primary and corresponding secondary banks. Upon writing information according to "test and set" instructions, however, a unit UP1 -UPn will check such writing operation by reading the newly written information only from the primary bank of the involved pair, in accordance with a "test and set" reading bit carried by lead 225 (FIG. 2a).
Upon the failure of one of the kp primary memory banks or one of the ks secondary banks, one of the kr standby banks is loaded with the contents of the faulty memory bank and has its address written in corresponding locations of memories RIC (FIG. 2a) which had held the address of the faulty bank. If all kr standby banks are being utilized as replacements and a malfunction arises in one of the members of a memory-bank pair, the address of the normally functioning member is substituted for the address of the malfunctioning member in each memory RIC, according to microinstructions stored in memory MMP. If a failure occurs in a memory bank without an operating mate, a secondary member of a normally functioning pair is appropriated as a replacement, memory MMP (FIG. 2a) substituting in code converters RIC the address of the primary member of this pair for the address of the appropriated secondary member. The replacement bank then assumes the contents of the malfunctioning bank and has its address relocated in memory RIC, as heretofore described. Thus, a processing system according to our present invention is provided with modalities, including converters RIC, for effectuating a reconfiguration of remote memories BM1 -BMk upon failure of as many as kp +k.sub. r banks; the system illustrated in FIG. 1 will continue processing operations until the failure of a (kp +kr +1)th bank. It is to be noted that, owing to the versatility of memory RIC, reconfiguration generally occurs rapidly, i.e. without any information loss due to exchanges between processing units UP1 -UPn and banks BM1 -BMk. Such rapid and reliable performance is particularly advantageous in processing systems designed to control telephone operations.
New methods of handling telephone signals, i.e. new processing programs, may be instituted in a system according to our present invention without interrupting normal operations. For example, a new program may be loaded into the ks secondary memory banks and one of the processing units UP1 -UPn (FIG. 1) may be consigned to testing this program while the remaining units have access to the kp primary banks for executing normal processing operations according to the old program. Once the new program has been completely checked by the testing processing unit, the remaining units are progressively given total access to the ks secondary banks. Upon the switching of all units UP1 -UPn onto the new program, this program is then duplicated in the kp primary banks.
Information exchange among processing units UP1 -UPn (FIG. 1) occurs via common remote memories BM1 -BMk. A unit UP1 -UPn storing, in its respective internal memory M, a message to be transmitted to other such units has an interrupt signal generated by block IT (FIG. 3) and emitted to one or more memory banks BM1 -BMk, according to the microprogram stored in memory MMP (FIG. 2a). An interrupt signal generated by a block IT is received by an input/output port MAC which distributes the signal to various processing units UP1 -UPn via transmitter/receivers TR1 -TRn and bus network C11 -Cnk. Thus, communication among the processing units is effectuated by means of components MEI, MAC and C11 -Cnk (FIG. 1) normally serving to connect microprocessors CPU, CPU' with memories MM; no additional inter-processor connections need be formed.
Alternatively, information exchange among units UP1 -UPn may take place according to a "mailbox" technique whereby data to be transferred are stored in special locations in common memories BM1 -BMk which are periodically sampled by these units.
FIG. 5 shows a monoprocessor unit UPo, generally similar to units UP1 -UPn of FIG. 1, with a microprocessor pair CPU, CPU' according to our present invention. Interface module I, memory module M and microprocessors CPU, CPU' are all connected to a bidirectional bus bo, interface I communicating with peripheral units (not shown) via a lead go.
As illustrated in FIG. 6, another modular processing unit UPAo according to our present invention comprises a preprocessing assembly XPo and a main processing assembly YPo, the former including an interface I, twin microprocessors CPUx, CPUx ' and a bi-port memory MB all connected to an asynchronous bidirectional bus do similar to bus bn (FIGS. 1 and 2a). Assembly YPo has a pair of microprocessors CPUy, CPUy ' tied to a memory module M and to bi-port memory MB via an asynchronous bidirectional bus fo similar to bus do. Memory MB includes a conventional data store and a logic network (not shown) arbitrating access requests from microprocessors CPUx, CPUx ' and CPUy, CPUy ' primarily according to priority of arrival and secondarily with alternation of precedence in the case of simultaneous access requests. Microprocessors CPUx, CPUx ', CPUy, CPUy ' serve as self-checking preprocessing and main processing components, respectively.
The processing capacity and reliability of unit UPAo (FIG. 6), already exceeding that of monoprocessor unit UPo (FIG. 5), may be further increased by the addition of other assemblies. In FIG. 10 we have illustrated a plurality of such assemblies XP1, XP2 -XPm each having modular components including an interface I, a microprocessor CPUx and a bi-port memory MB; memories MB are all connected to a single processing assembly YP1 which includes an interface module I in addition to a modular memory M and a microprocessor CPUy. Telephone signals arriving via leads gg1, gg2 -ggm at assemblies XP1 -XPm are preprocessed thereby and transferred to assembly YP1 via their respective bi-port memories MB, the results of the processing operations being passed on by an output lead y1. The system shown in FIG. 10 may represent a two-stage module in a multistage hierarchical processing system in which assembly YP1 is linked in parallel with a plurality of identical assemblies to a higher-level unit. Assembly YP1 may work via lead y1 into an identical assembly for performing self-diagnostic operations, as described more fully hereinafter with reference to FIGS. 7 and 8.
In FIG. 7 we have shown two identical processing units UPa, UPb interconnected by respective input/output interfaces IOP and a bidirectional multiple 81. Each unit UPa, UPb includes an interface module I, a memory M, twin microprocessors CPU and CPU' and the respective interface module IOP tied together via respective internal buses ba, bb which are identical in structure with bus bn (FIGS. 1 and 2a). One of the two processing units UPa, UPb is generally disabled by the program from emitting data resulting from processing operations and serves only to check the results of the other unit.
Telephone signals received simultaneously by units UPa, UPb via parallel multiples ga, gb are checked by interfaces IOP prior to processing (and preprocessing) by components CPU, CPU'. Any error detected by the twin microprocessors CPU, CPU' in either unit UPa, UPb, including the failure or malfunction of the respective microprocessor pair CPU, CPU', is communicated to the interface IOP of the other processing unit whereupon this interface generates an interrupt signal toward its associated microprocessor pair, inducing same to sample a register in the interface which has been loaded with a code indicating failure. Let us assume that unit UPa is the transmitting member of pair UPa, UPb and that unit UPb is blocked. Prior to emission on an output lead of multiple ga, results produced by unit UPa are compared via interfaces IOP with those of unit UPb so that any error undetected by microprocessors CPU, CPU' will be recognized by these interfaces. Upon divergence of the results of the two processing units UPa, UPb, transmission onto multiple ga is blocked and a subprogram is initiated by microprocessors CPU, CPU' for localizing the source of error. Because microprocessors CPU, CPU' are self-checking structures, as heretofore described with reference to FIG. 2a, any error detected by interfaces IOP will generally be unattributable to the microprocessors. If one or both components CPU, CPU' of unit UPa fails, however, a signal generated on lead 282 (see FIG. 2a) of bus ba will be transmitted to unit UPb, enabling same to commence data emission on an output lead of multiple gb while unit UPa is disabled.
In order to facilitate the exchange of signals between processing units UPa, UPb, interfaces IOP include logical circuitry relating to the generation of signal rpl on lead 310, heretofore described with reference to FIG. 2a. Signal rpl is conventionally produced at the output of an OR gate receiving at its inputs two signals rplt and rplr in turn generated by the interface in response to signals β and γ (FIG. 2c), these latter signals enabling the transmission and reception of data from multiple 31 (FIG. 2a) by the interface. Before a microprocessor pair CPU, CPU' (FIGS. 2a and 7) can exchange data with a conventional interface, however, it must be determined whether "check and status" registers in the interface are storing signals drt and drr generated by a peripheral unit and fed to the interface upon the transmission or the reception of data by the peripheral unit; signals drt and drr cause the emission of an interrupt signal from the involved interface to its associated microprocessor pair. In an interface IOP according to our present invention, signal rpl is generated at the output of a nonillustrated logic circuit which includes an OR gate receiving signals from a pair of AND gates that in turn are fed signals rplt, drt and rplr, drr, respectively. Thus,
rpl=rpl.sub.t ·dr.sub.t +rpl.sub.r ·dr.sub.r.
Interface IOP, generating signal rpl according to this formula, facilitates data exchange between interfaces IOP of processing units UPa and UPb because microprocessors CPU, CPU' are no longer required to monitor "check and status" registers for the presence of signals drt, drr.
In FIG. 8 we have shown two identical processing units UPAa and UPAb connected by respective interface modules IOP and a bidirectional multiple 82 having the same structure as multiple 81 of FIG. 7. Each unit UPAa, UPAb has an interface module I, twin microprocessors CPUx, CPUx ', a bi-port memory MB, a memory module M and another pair of microprocessors CPUy, CPUy ', in addition to interface module IOP. As heretofore described with reference to FIG. 6, the incoming data are preprocessed by components CPUx, CPUx ', temporarily stored in bi-port memories MB and processed by components CPUy, CPUy '. Prior to the emission of results by the energized interface I of the active processing unit, for example unit UPAa, these results are checked via interfaces IOP and multiple 82 with the results of parallel processing operations in the dummy unit UPAb. Upon divergence of the results produced by the two units UPAa and UPAb, the actively transmitting interface I (of unit UPAa) is disabled and a subprogram is initiated by the microprocessors CPUy, CPUy ' of each unit UPAa, UPAb to locate any source of error. Owing to the intrinsic self-diagnostic procedures of microprocessor pairs CPUx, CPUx ' and CPUy, CPUy ', these components need not be examined by the error-localizing subprogram.
As illustrated in FIG. 9, units UP1 -UPn of the multiprocessor shown in FIG. 1 may be replaced by processing units UPA1, UPA2 -UPAn similar to unit UPAo shown in FIG. 6. In addition to an interface module I, preprocessing microprocessors CPUx and CPUx ', a bi-port memory MB, a memory module M and microprocessors CPUy and CPUy ', each unit UPA1 -UPAn includes an input/output port MEI as heretofore described with reference to FIGS. 1 and 3. Ports MEI serve to connect processing units UPA1 -UPAn via bidirectional buses C11 -C1k, C21 -C2k -Cn1 -Cnk to input/output ports MAC (see FIG. 4) of k memory banks BM1 -BMk which also include modular data stores MM. The system shown in FIG. 9 operates as heretofore described with respect to FIG. 1, except for the separate performance of preprocessing operations by components CPUx, CPUx ' connected to bidirectional buses d1, d2 -dn and of processing operations by components CPUy, CPUy ' tied to bidirectional buses f1, f2 -fn. Such separation of preprocessing and final processing operations increases the capacity of the system shown in FIG. 1 without overloading buses C11 -Cnk and without requiring further buses linking units UPA1 -UPAn to memory banks BM1 -BMk.
As heretofore described with reference to FIG. 10, preprocessing components, CPUx, CPUx ' form a first level of a processing system and work via bi-port memories MB into components CPUy, CPUy ' forming a second or next-higher processing level. FIG. 11 shows a two-stage system whose first stage comprises n remote processing units UPC1, UPC2 -UPCn tied by means of 2 n bidirectional buses F11, F12 and F22, F23 -Fnn, Fn1 and respective pairs of interface modules I to n local processing units UPD1, UPD2 -UPDn included, for instance, in an exchange. In addition to two interfaces I for communicating with two remote processing units, each local unit UPD1 -UPDn includes a memory module M, a pair of identical microprocessors CPU, CPU' and an input/output port MEI connected to k memory banks BM1 -BMk, which in turn comprise arbitrating input/output modules MAC and data stores MM. Remote units UPC1 -UPCn include interface modules I tied via bidirectional multiples G1, G2 -Gn to peripheral units such as subscriber stations (not shown and further include twin microprocessors CPU, CPU', memories M and interfaces I linked to buses F11, F12, F22, F23 -Fnn, Fn1. The processing system shown in FIG. 11 implements operations heretofore described with reference to FIG. 1.
It is to be noted that remote units UPC1 -UPCn continue normal preprocessing or processing operations even upon failure of a central processing unit UPD1 -UPDn, owing to the fact that each lower-level unit UPC1 -UPCn is coupled to two higher-level units UPD1 -UPDn.

Claims (7)

We claim:
1. An electronic signal-processing system dialoguing with associated peripheral units, comprising:
a plurality of modular processing units each including a pair of substantially identical microprocessors interlinked by a correlating connection, each microprocessor being provided with parallel input connections for receiving incoming messages from an internal signal path, only one of said microprocessors having an active output connection for transmitting outgoing messages to said signal path, the other of said microprocessors being available as a standby, each processing unit further including interface means inserted between said signal path and an associated one of said peripheral units, an internal memory connected to said signal path for storing processing information individual to the associated peripheral unit, and coupling means for selectively connecting said signal path to any one of a plurality of external two-way buses forming extensions of said signal path;
a plurality of external memory banks storing general processing information utilizable by any of said processing units; and
access means individual to each of said memory banks for facilitating communication thereof with any of said processing units, in response to a request therefrom, via a corresponding one of said external two-way buses;
each microprocessor of said pair including logical circuitry for performing processing operations, a microprogram memory connected to said logical circuitry for controlling said processing operations, a sequencer linked to said microprogram memory for advancing the microprogram thereof by the emission of addresses of microinstructions to be successively read out therefrom, a time base connected to said logical circuitry and said sequencer for generating a control pulse to establish an operating cycle therefor, and monitoring means in each microprocessor operatively connected to the sequencers of both microprocessors of said pair via said correlating connection and being further connected to said time base for causing same to lengthen the control pulse thereof to double the normal duration of said operating cycle upon detecting an out-of-step condition of said sequencers, thereby enabling resynchronization of said microprocessors upon termination of said out-of-step condition after not more than one normal operating cycle, said one of said microprocessors having said logical circuitry linked with said signal path via said active output connection for sending out the results of said processing operations.
2. A system as defined in claim 1 wherein each of said microprocessors includes comparison means connected between said logical circuitry and said signal path for signaling, in the standby mode of the respective microprocessor, an alarm condition upon detecting a divergence of the results of said processing operations performed by the two paired microprocessors.
3. A system as defined in claim 1 or 2 wherein said correlating connection includes two conductors each connected to a stepping input of the sequencer of a respective microprocessor of said pair, said monitoring means comprising a comparator connected across said conductors.
4. A system as defined in claim 1 wherein each microprocessor of said pair includes an address store connected to said coupling means for transmitting memory-bank addresses thereto, logic means connected to said microprogram memory for identifying addresses of data-storage locations in said external banks and said internal memory, and a decoder connected to said logic means and to said address store for enabling the emission of memory-bank addresses therefrom to said coupling means upon detecting the identification of an external-memory address by said logic means.
5. A system as defined in claim 4 wherein said external memory banks are subdivided into at least a first group and a second group, the latter being available for standby purposes, each memory bank in said first group containing information identical with information stored in a corresponding memory bank in said second group, the microprogram memory of each microprocessor being connected to said address store for controlling, upon the identification by said logic means of data-storage locations in an external memory bank of said first group, the readout of the addresses of such memory bank and a corresponding external memory bank in said second group to be loaded with the same data.
6. A system as defined in claim 4 or 5 wherein said decoder is a comparator delivering emission-enabling signal to said address store upon detecting an address code generated by said logic means whose numerical value exceeds a predetermined threshold.
7. A system as defined in claim 4 or 5, wherein said coupling means includes a plurality of transmitter/receivers for selectively connecting said signal path to respective external two-way buses thereof, said coupling means further including decoding means connected to said address store and to said transmitter/receivers for controlling same to connect said signal path to an extension selected in accordance with an address emitted by said store.
US06/111,942 1978-03-03 1980-01-14 Modular signal-processing system Expired - Lifetime US4366535A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IT67447A/78 1978-03-03
IT67447/78A IT1111606B (en) 1978-03-03 1978-03-03 MULTI-CONFIGURABLE MODULAR PROCESSING SYSTEM INTEGRATED WITH A PRE-PROCESSING SYSTEM

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US06013273 Continuation-In-Part 1979-02-21

Publications (1)

Publication Number Publication Date
US4366535A true US4366535A (en) 1982-12-28

Family

ID=11302453

Family Applications (1)

Application Number Title Priority Date Filing Date
US06/111,942 Expired - Lifetime US4366535A (en) 1978-03-03 1980-01-14 Modular signal-processing system

Country Status (12)

Country Link
US (1) US4366535A (en)
JP (1) JPS5935057B2 (en)
BE (1) BE873220A (en)
BR (1) BR7901049A (en)
CA (1) CA1121513A (en)
DE (1) DE2908316C2 (en)
ES (1) ES478130A1 (en)
FR (1) FR2418989B1 (en)
GB (1) GB2016176B (en)
IT (1) IT1111606B (en)
NL (1) NL184297C (en)
SE (1) SE439701B (en)

Cited By (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4462075A (en) * 1981-01-21 1984-07-24 Hitachi, Ltd. Job processing method utilizing a plurality of information processing devices
EP0116863A1 (en) * 1983-01-21 1984-08-29 CSELT Centro Studi e Laboratori Telecomunicazioni S.p.A. Interface for controlling the bidirectional data transfer between an asynchronous bus and a synchronous bus
US4509120A (en) * 1982-09-30 1985-04-02 Bell Telephone Laboratories, Inc. Variable cycle-time microcomputer
US4511959A (en) * 1980-11-07 1985-04-16 Thomson-Csf - Telephone Decentralized arbitration device for several processing units of a multiprocessor system
US4520442A (en) * 1980-07-04 1985-05-28 Thomson-Csf Digital data processing and storage system especially for a tomodensitometer, and a tomodensitometer equipped with said system
WO1985002698A1 (en) * 1983-12-12 1985-06-20 Parallel Computers, Inc. Computer processor controller
US4628436A (en) * 1983-02-24 1986-12-09 Hitachi, Ltd. Digital controller
US4638453A (en) * 1983-03-28 1987-01-20 Motorola, Inc. Signal processing unit
US4656592A (en) * 1983-10-14 1987-04-07 U.S. Philips Corporation Very large scale integrated circuit subdivided into isochronous regions, method for the machine-aided design of such a circuit, and method for the machine-aided testing of such a circuit
EP0232859A2 (en) * 1986-01-27 1987-08-19 International Business Machines Corporation Processor intercommunication network
US4736317A (en) * 1985-07-17 1988-04-05 Syracuse University Microprogram-coupled multiple-microprocessor module with 32-bit byte width formed of 8-bit byte width microprocessors
EP0270064A2 (en) * 1986-12-01 1988-06-08 Siemens Aktiengesellschaft High-availability computer system with a support logic for a warm start
US4754396A (en) * 1986-03-28 1988-06-28 Tandem Computers Incorporated Overlapped control store
US4816990A (en) * 1986-11-05 1989-03-28 Stratus Computer, Inc. Method and apparatus for fault-tolerant computer system having expandable processor section
US4825404A (en) * 1985-11-27 1989-04-25 Tektronix, Inc. Interface system which generates configuration control signal and duplex control signal for automatically determining the configuration of removable modules
US4860333A (en) * 1986-03-12 1989-08-22 Oread Laboratories, Inc. Error protected central control unit of a switching system and method of operation of its memory configuration
US4912698A (en) * 1983-09-26 1990-03-27 Siemens Aktiengesellschaft Multi-processor central control unit of a telephone exchange system and its operation
US4943969A (en) * 1988-11-28 1990-07-24 Unisys Corporation Isolation for failures of input signals supplied to dual modules which are checked by comparison
US5157673A (en) * 1989-03-07 1992-10-20 Digital Equipment Corporation Comparison circuit for masking transient differences
US5239641A (en) * 1987-11-09 1993-08-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
US5276823A (en) * 1988-12-09 1994-01-04 Tandem Computers Incorporated Fault-tolerant computer system with redesignation of peripheral processor
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
US5732406A (en) * 1990-01-31 1998-03-24 Hewlett-Packard Company Microprocessor burst mode with external system memory
US5737513A (en) * 1995-05-24 1998-04-07 Hitachi, Ltd. Method of and system for verifying operation concurrence in maintenance/replacement of twin CPUs
AU704411B2 (en) * 1994-10-31 1999-04-22 Alcatel N.V. Exchange control arrangement
US6173357B1 (en) * 1998-06-30 2001-01-09 Shinemore Technology Corp. External apparatus for combining partially defected synchronous dynamic random access memories
USRE37496E1 (en) * 1981-01-21 2002-01-01 Hitachi, Ltd Method of executing a job
US20020040429A1 (en) * 1997-08-01 2002-04-04 Dowling Eric M. Embedded-DRAM-DSP architecture
US6414368B1 (en) * 1982-11-26 2002-07-02 Stmicroelectronics Limited Microcomputer with high density RAM on single chip
US20020152419A1 (en) * 2001-04-11 2002-10-17 Mcloughlin Michael Apparatus and method for accessing a mass storage device in a fault-tolerant server
US20020152418A1 (en) * 2001-04-11 2002-10-17 Gerry Griffin Apparatus and method for two computing elements in a fault-tolerant server to execute instructions in lockstep
US20020166038A1 (en) * 2001-02-20 2002-11-07 Macleod John R. Caching for I/O virtual address translation and validation using device drivers
US6633996B1 (en) 2000-04-13 2003-10-14 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus architecture
US6687851B1 (en) 2000-04-13 2004-02-03 Stratus Technologies Bermuda Ltd. Method and system for upgrading fault-tolerant systems
US6691257B1 (en) 2000-04-13 2004-02-10 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus protocol and method for using the same
US6691225B1 (en) 2000-04-14 2004-02-10 Stratus Technologies Bermuda Ltd. Method and apparatus for deterministically booting a computer system having redundant components
US6708283B1 (en) 2000-04-13 2004-03-16 Stratus Technologies, Bermuda Ltd. System and method for operating a system with redundant peripheral bus controllers
US6718474B1 (en) 2000-09-21 2004-04-06 Stratus Technologies Bermuda Ltd. Methods and apparatus for clock management based on environmental conditions
US6735715B1 (en) 2000-04-13 2004-05-11 Stratus Technologies Bermuda Ltd. System and method for operating a SCSI bus with redundant SCSI adaptors
US6766413B2 (en) 2001-03-01 2004-07-20 Stratus Technologies Bermuda Ltd. Systems and methods for caching with file-level granularity
US6766479B2 (en) 2001-02-28 2004-07-20 Stratus Technologies Bermuda, Ltd. Apparatus and methods for identifying bus protocol violations
US6802022B1 (en) 2000-04-14 2004-10-05 Stratus Technologies Bermuda Ltd. Maintenance of consistent, redundant mass storage images
US6820213B1 (en) 2000-04-13 2004-11-16 Stratus Technologies Bermuda, Ltd. Fault-tolerant computer system with voter delay buffer
US6862689B2 (en) 2001-04-12 2005-03-01 Stratus Technologies Bermuda Ltd. Method and apparatus for managing session information
US6874102B2 (en) 2001-03-05 2005-03-29 Stratus Technologies Bermuda Ltd. Coordinated recalibration of high bandwidth memories in a multiprocessor computer
US6901481B2 (en) 2000-04-14 2005-05-31 Stratus Technologies Bermuda Ltd. Method and apparatus for storing transactional information in persistent memory
US6948010B2 (en) 2000-12-20 2005-09-20 Stratus Technologies Bermuda Ltd. Method and apparatus for efficiently moving portions of a memory block
US6996750B2 (en) 2001-05-31 2006-02-07 Stratus Technologies Bermuda Ltd. Methods and apparatus for computer bus error termination
US20060092828A1 (en) * 2004-11-04 2006-05-04 Makoto Aoki Information processing system and access method
US7065672B2 (en) 2001-03-28 2006-06-20 Stratus Technologies Bermuda Ltd. Apparatus and methods for fault-tolerant computing using a switching fabric
US7072615B1 (en) * 1999-08-25 2006-07-04 Cedardell Limited Automatic installation process for wireless communication system
US10523350B1 (en) * 1981-11-03 2019-12-31 Personalized Media Communications LLC Signal processing apparatus and methods

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4412281A (en) * 1980-07-11 1983-10-25 Raytheon Company Distributed signal processing system
DE3028407A1 (en) * 1980-07-26 1982-04-29 Siemens AG, 1000 Berlin und 8000 München Data system with high transmission rate - has added broad band channel switched by standard processor
DE3176869D1 (en) * 1980-12-15 1988-10-13 Texas Instruments Inc Multiple digital processor system
DE3266636D1 (en) * 1981-05-29 1985-11-07 Gen Electric Co Plc Telecommunications system
JPS5856277A (en) * 1981-09-29 1983-04-02 Toshiba Corp Method and device for information processing
JPS58221453A (en) * 1982-06-17 1983-12-23 Toshiba Corp Multi-system information processor
DE3325791C2 (en) * 1983-07-16 1985-05-09 Telefonbau Und Normalzeit Gmbh, 6000 Frankfurt Circuit arrangement for peripheral units cooperating with a central control device
EP0236803B1 (en) * 1986-03-12 1992-01-15 Siemens Aktiengesellschaft Method for the operation of a fault-protected and highly available multiprocessor central controller of a switching system
JPH05220285A (en) * 1992-02-12 1993-08-31 Sanei Kk Sewn object feeding device for sewing machine
DE19837216C2 (en) * 1998-08-17 2000-06-08 Siemens Ag Troubleshooting in a switching center of a communication system

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3252149A (en) * 1963-03-28 1966-05-17 Digitronics Corp Data processing system
US3641505A (en) * 1969-06-25 1972-02-08 Bell Telephone Labor Inc Multiprocessor computer adapted for partitioning into a plurality of independently operating systems
US3768074A (en) * 1972-05-12 1973-10-23 Burroughs Corp Multiprocessing system having means for permissive coupling of different subsystems
US3828321A (en) * 1973-03-15 1974-08-06 Gte Automatic Electric Lab Inc System for reconfiguring central processor and instruction storage combinations
US3889237A (en) * 1973-11-16 1975-06-10 Sperry Rand Corp Common storage controller for dual processor system
US3898621A (en) * 1973-04-06 1975-08-05 Gte Automatic Electric Lab Inc Data processor system diagnostic arrangement
US4015246A (en) * 1975-04-14 1977-03-29 The Charles Stark Draper Laboratory, Inc. Synchronous fault tolerant multi-processor system
US4030074A (en) * 1974-06-03 1977-06-14 Centro Studi E Laboratori Telecomunicazioni System for checking two data processors operating in parallel
US4044337A (en) * 1975-12-23 1977-08-23 International Business Machines Corporation Instruction retry mechanism for a data processing system
US4099241A (en) * 1973-10-30 1978-07-04 Telefonaktiebolaget L M Ericsson Apparatus for facilitating a cooperation between an executive computer and a reserve computer

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2182259A5 (en) * 1972-04-24 1973-12-07 Cii
GB1411182A (en) * 1973-01-04 1975-10-22 Standard Telephones Cables Ltd Data processing
CH547590A (en) * 1973-03-21 1974-03-29 Ibm REMOTE COMMUNICATION SYSTEM.
FR2259507B1 (en) * 1974-01-24 1980-01-18 Cit Alcatel
FR2298915A2 (en) * 1975-01-22 1976-08-20 Cit Alcatel ARTICULATION AND MANAGEMENT SYSTEM FOR TELECOMMUNICATIONS CENTRAL

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3252149A (en) * 1963-03-28 1966-05-17 Digitronics Corp Data processing system
US3641505A (en) * 1969-06-25 1972-02-08 Bell Telephone Labor Inc Multiprocessor computer adapted for partitioning into a plurality of independently operating systems
US3768074A (en) * 1972-05-12 1973-10-23 Burroughs Corp Multiprocessing system having means for permissive coupling of different subsystems
US3828321A (en) * 1973-03-15 1974-08-06 Gte Automatic Electric Lab Inc System for reconfiguring central processor and instruction storage combinations
US3898621A (en) * 1973-04-06 1975-08-05 Gte Automatic Electric Lab Inc Data processor system diagnostic arrangement
US4099241A (en) * 1973-10-30 1978-07-04 Telefonaktiebolaget L M Ericsson Apparatus for facilitating a cooperation between an executive computer and a reserve computer
US3889237A (en) * 1973-11-16 1975-06-10 Sperry Rand Corp Common storage controller for dual processor system
US4030074A (en) * 1974-06-03 1977-06-14 Centro Studi E Laboratori Telecomunicazioni System for checking two data processors operating in parallel
US4015246A (en) * 1975-04-14 1977-03-29 The Charles Stark Draper Laboratory, Inc. Synchronous fault tolerant multi-processor system
US4044337A (en) * 1975-12-23 1977-08-23 International Business Machines Corporation Instruction retry mechanism for a data processing system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Braun et al., "Parallel Processing with Minicomputers Increases Performance, Availability", Electronics, Jul. 5, 1979, pp. 125-129. *
Enslow Jr., "Multiprocessor Organization-A Survey", Computing _Surveys, vol. 9, No. 1, Mar. 1977, pp. 104-128. *

Cited By (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4520442A (en) * 1980-07-04 1985-05-28 Thomson-Csf Digital data processing and storage system especially for a tomodensitometer, and a tomodensitometer equipped with said system
US4511959A (en) * 1980-11-07 1985-04-16 Thomson-Csf - Telephone Decentralized arbitration device for several processing units of a multiprocessor system
US4462075A (en) * 1981-01-21 1984-07-24 Hitachi, Ltd. Job processing method utilizing a plurality of information processing devices
USRE37496E1 (en) * 1981-01-21 2002-01-01 Hitachi, Ltd Method of executing a job
US10523350B1 (en) * 1981-11-03 2019-12-31 Personalized Media Communications LLC Signal processing apparatus and methods
US4509120A (en) * 1982-09-30 1985-04-02 Bell Telephone Laboratories, Inc. Variable cycle-time microcomputer
US6414368B1 (en) * 1982-11-26 2002-07-02 Stmicroelectronics Limited Microcomputer with high density RAM on single chip
EP0116863A1 (en) * 1983-01-21 1984-08-29 CSELT Centro Studi e Laboratori Telecomunicazioni S.p.A. Interface for controlling the bidirectional data transfer between an asynchronous bus and a synchronous bus
US4639861A (en) * 1983-01-21 1987-01-27 Cselt Centro Studi E Laboratori Telecomunicazioni S.P.A. Interface controlling bidirectional data transfer between a synchronous and an asynchronous bus
US4628436A (en) * 1983-02-24 1986-12-09 Hitachi, Ltd. Digital controller
US4638453A (en) * 1983-03-28 1987-01-20 Motorola, Inc. Signal processing unit
US4912698A (en) * 1983-09-26 1990-03-27 Siemens Aktiengesellschaft Multi-processor central control unit of a telephone exchange system and its operation
US4656592A (en) * 1983-10-14 1987-04-07 U.S. Philips Corporation Very large scale integrated circuit subdivided into isochronous regions, method for the machine-aided design of such a circuit, and method for the machine-aided testing of such a circuit
WO1985002698A1 (en) * 1983-12-12 1985-06-20 Parallel Computers, Inc. Computer processor controller
US4736317A (en) * 1985-07-17 1988-04-05 Syracuse University Microprogram-coupled multiple-microprocessor module with 32-bit byte width formed of 8-bit byte width microprocessors
US4825404A (en) * 1985-11-27 1989-04-25 Tektronix, Inc. Interface system which generates configuration control signal and duplex control signal for automatically determining the configuration of removable modules
EP0232859A2 (en) * 1986-01-27 1987-08-19 International Business Machines Corporation Processor intercommunication network
EP0232859A3 (en) * 1986-01-27 1989-08-30 International Business Machines Corporation Processor intercommunication network
US4860333A (en) * 1986-03-12 1989-08-22 Oread Laboratories, Inc. Error protected central control unit of a switching system and method of operation of its memory configuration
US4754396A (en) * 1986-03-28 1988-06-28 Tandem Computers Incorporated Overlapped control store
US4816990A (en) * 1986-11-05 1989-03-28 Stratus Computer, Inc. Method and apparatus for fault-tolerant computer system having expandable processor section
EP0270064A3 (en) * 1986-12-01 1990-09-19 Siemens Aktiengesellschaft High-availability computer system with a support logic for a warm start
EP0270064A2 (en) * 1986-12-01 1988-06-08 Siemens Aktiengesellschaft High-availability computer system with a support logic for a warm start
US5353436A (en) * 1987-11-09 1994-10-04 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
US5384906A (en) * 1987-11-09 1995-01-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
US5239641A (en) * 1987-11-09 1993-08-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
US4943969A (en) * 1988-11-28 1990-07-24 Unisys Corporation Isolation for failures of input signals supplied to dual modules which are checked by comparison
US5276823A (en) * 1988-12-09 1994-01-04 Tandem Computers Incorporated Fault-tolerant computer system with redesignation of peripheral processor
US5157673A (en) * 1989-03-07 1992-10-20 Digital Equipment Corporation Comparison circuit for masking transient differences
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
US6073251A (en) * 1989-12-22 2000-06-06 Compaq Computer Corporation Fault-tolerant computer system with online recovery and reintegration of redundant components
US5732406A (en) * 1990-01-31 1998-03-24 Hewlett-Packard Company Microprocessor burst mode with external system memory
AU704411B2 (en) * 1994-10-31 1999-04-22 Alcatel N.V. Exchange control arrangement
US5737513A (en) * 1995-05-24 1998-04-07 Hitachi, Ltd. Method of and system for verifying operation concurrence in maintenance/replacement of twin CPUs
US20020040429A1 (en) * 1997-08-01 2002-04-04 Dowling Eric M. Embedded-DRAM-DSP architecture
US7272703B2 (en) * 1997-08-01 2007-09-18 Micron Technology, Inc. Program controlled embedded-DRAM-DSP architecture and methods
US20100070742A1 (en) * 1997-08-01 2010-03-18 Micron Technology, Inc. Embedded-dram dsp architecture having improved instruction set
US6173357B1 (en) * 1998-06-30 2001-01-09 Shinemore Technology Corp. External apparatus for combining partially defected synchronous dynamic random access memories
US7072615B1 (en) * 1999-08-25 2006-07-04 Cedardell Limited Automatic installation process for wireless communication system
US6633996B1 (en) 2000-04-13 2003-10-14 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus architecture
US6687851B1 (en) 2000-04-13 2004-02-03 Stratus Technologies Bermuda Ltd. Method and system for upgrading fault-tolerant systems
US6691257B1 (en) 2000-04-13 2004-02-10 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus protocol and method for using the same
US6708283B1 (en) 2000-04-13 2004-03-16 Stratus Technologies, Bermuda Ltd. System and method for operating a system with redundant peripheral bus controllers
US6820213B1 (en) 2000-04-13 2004-11-16 Stratus Technologies Bermuda, Ltd. Fault-tolerant computer system with voter delay buffer
US6735715B1 (en) 2000-04-13 2004-05-11 Stratus Technologies Bermuda Ltd. System and method for operating a SCSI bus with redundant SCSI adaptors
US6802022B1 (en) 2000-04-14 2004-10-05 Stratus Technologies Bermuda Ltd. Maintenance of consistent, redundant mass storage images
US6691225B1 (en) 2000-04-14 2004-02-10 Stratus Technologies Bermuda Ltd. Method and apparatus for deterministically booting a computer system having redundant components
US6901481B2 (en) 2000-04-14 2005-05-31 Stratus Technologies Bermuda Ltd. Method and apparatus for storing transactional information in persistent memory
US6718474B1 (en) 2000-09-21 2004-04-06 Stratus Technologies Bermuda Ltd. Methods and apparatus for clock management based on environmental conditions
US6948010B2 (en) 2000-12-20 2005-09-20 Stratus Technologies Bermuda Ltd. Method and apparatus for efficiently moving portions of a memory block
US6886171B2 (en) 2001-02-20 2005-04-26 Stratus Technologies Bermuda Ltd. Caching for I/O virtual address translation and validation using device drivers
US20020166038A1 (en) * 2001-02-20 2002-11-07 Macleod John R. Caching for I/O virtual address translation and validation using device drivers
US6766479B2 (en) 2001-02-28 2004-07-20 Stratus Technologies Bermuda, Ltd. Apparatus and methods for identifying bus protocol violations
US6766413B2 (en) 2001-03-01 2004-07-20 Stratus Technologies Bermuda Ltd. Systems and methods for caching with file-level granularity
US6874102B2 (en) 2001-03-05 2005-03-29 Stratus Technologies Bermuda Ltd. Coordinated recalibration of high bandwidth memories in a multiprocessor computer
US7065672B2 (en) 2001-03-28 2006-06-20 Stratus Technologies Bermuda Ltd. Apparatus and methods for fault-tolerant computing using a switching fabric
US20020152419A1 (en) * 2001-04-11 2002-10-17 Mcloughlin Michael Apparatus and method for accessing a mass storage device in a fault-tolerant server
US6971043B2 (en) 2001-04-11 2005-11-29 Stratus Technologies Bermuda Ltd Apparatus and method for accessing a mass storage device in a fault-tolerant server
US6928583B2 (en) 2001-04-11 2005-08-09 Stratus Technologies Bermuda Ltd. Apparatus and method for two computing elements in a fault-tolerant server to execute instructions in lockstep
US20020152418A1 (en) * 2001-04-11 2002-10-17 Gerry Griffin Apparatus and method for two computing elements in a fault-tolerant server to execute instructions in lockstep
US6862689B2 (en) 2001-04-12 2005-03-01 Stratus Technologies Bermuda Ltd. Method and apparatus for managing session information
US6996750B2 (en) 2001-05-31 2006-02-07 Stratus Technologies Bermuda Ltd. Methods and apparatus for computer bus error termination
US7577158B2 (en) * 2004-11-04 2009-08-18 Hitachi, Ltd. Information processing system and access method
US20090271541A1 (en) * 2004-11-04 2009-10-29 Makoto Aoki Information processing system and access method
US20060092828A1 (en) * 2004-11-04 2006-05-04 Makoto Aoki Information processing system and access method
US8036238B2 (en) * 2004-11-04 2011-10-11 Hitachi, Ltd. Information processing system and access method

Also Published As

Publication number Publication date
JPS5935057B2 (en) 1984-08-27
DE2908316C2 (en) 1984-10-25
IT1111606B (en) 1986-01-13
FR2418989B1 (en) 1987-11-13
BE873220A (en) 1979-04-17
ES478130A1 (en) 1979-05-16
SE7901812L (en) 1979-09-04
CA1121513A (en) 1982-04-06
SE439701B (en) 1985-06-24
JPS54124652A (en) 1979-09-27
DE2908316A1 (en) 1979-09-06
FR2418989A1 (en) 1979-09-28
GB2016176B (en) 1982-08-25
BR7901049A (en) 1979-11-20
NL7901708A (en) 1979-09-05
NL184297C (en) 1989-06-01
NL184297B (en) 1989-01-02
GB2016176A (en) 1979-09-19
IT7867447A0 (en) 1978-03-03

Similar Documents

Publication Publication Date Title
US4366535A (en) Modular signal-processing system
US4345319A (en) Self-correcting, solid-state-mass-memory organized by bits and with reconfiguration capability for a stored program control system
US5185877A (en) Protocol for transfer of DMA data
US4933940A (en) Operations controller for a fault tolerant multiple node processing system
EP0306252B1 (en) Fault tolerant computer system input/output interface
US5255367A (en) Fault tolerant, synchronized twin computer system with error checking of I/O communication
EP0381334B1 (en) Apparatus for management, comparison, and correction of redundant digital data
EP0514075A2 (en) Fault tolerant processing section with dynamically reconfigurable voting
US3735357A (en) Priority system for a communication control unit
JPH0734179B2 (en) Automatic flight controller with multiple heterogeneous data processing channels.
US5163138A (en) Protocol for read write transfers via switching logic by transmitting and retransmitting an address
US5048022A (en) Memory device with transfer of ECC signals on time division multiplexed bidirectional lines
US5421002A (en) Method for switching between redundant buses in a distributed processing system
GB2086104A (en) Circuit Arrangement for Detecting Malfunctioning in Data Processing Systems
JPS6235144B2 (en)
JPH07281915A (en) Information processor for integrated circuit module synchrinizing duplex system
EP0076494B1 (en) Data transmission bus system for a plurality of processors
RU2054710C1 (en) Multiprocessor control system
US5418794A (en) Error determination scan tree apparatus and method
JPS584427A (en) Multi-computer system having plural serial bus loops
JP2956385B2 (en) Bus line monitoring method
RU1819116C (en) Three-channel redundant system
RU1805497C (en) Multichannel memory device
JPS5838808B2 (en) Data transfer method in multiprocessor system
SU1288707A2 (en) Device for exchanging data between group of input-output channels and internal memory

Legal Events

Date Code Title Description
STCF Information on status: patent grant

Free format text: PATENTED CASE