[go: up one dir, main page]

EP0059731A4 - Processor interconnection system. - Google Patents

Processor interconnection system.

Info

Publication number
EP0059731A4
EP0059731A4 EP19810902530 EP81902530A EP0059731A4 EP 0059731 A4 EP0059731 A4 EP 0059731A4 EP 19810902530 EP19810902530 EP 19810902530 EP 81902530 A EP81902530 A EP 81902530A EP 0059731 A4 EP0059731 A4 EP 0059731A4
Authority
EP
European Patent Office
Prior art keywords
circuit
processors
bus
processor
local
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.)
Withdrawn
Application number
EP19810902530
Other languages
German (de)
French (fr)
Other versions
EP0059731A1 (en
Inventor
Allen Leonard Larson
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.)
AT&T Corp
Original Assignee
Western Electric Co Inc
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 Western Electric Co Inc filed Critical Western Electric Co Inc
Publication of EP0059731A1 publication Critical patent/EP0059731A1/en
Publication of EP0059731A4 publication Critical patent/EP0059731A4/en
Withdrawn legal-status Critical Current

Links

Classifications

    • 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/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • 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/54508Configuration, initialisation
    • H04Q3/54533Configuration data, translation, passwords, databases
    • 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

Definitions

  • This invention relates to a multiprocessor computer system comprising a plurality of processors, each of the processors has associated therewith a plurality of resources, a plurality of local bus circuits, each associated on a one-to-one basis with the processors, each of the local bus circuits connects the plurality of resources to the associated processor.
  • the computer system further comprises an intercommunication circuit connected to all of the processors, wherein the intercommunication circuit provides any requesting one of the processors with direct access to resources which may be associated with another selected one of the processors.
  • Each processor has a local bus which connects the processor to its associated resources, which resources may be memory devices, I/O ports, serial communication devices, etc.
  • Each processor also has memory management circuitry, interrupt systems and the other standard elements which are normally associated witn a processor.
  • the multiprocessor computer system operates in this environment by using a global bus to interconnect all the processors in the system.
  • Each processor generates a virtual address when requesting access to a resource and the memory management circuit associated with the processor translates this virtual address into an actual hardware resource address. If the resource requested is associated with another processor, the processor interconnection system directly connects the requesting processor, via the global bus, to the local bus to which the resource requested is connected. Thus, each processor can directly access all resources in this multiprocessing environment.
  • FIG. 1 illustrates the preferred embodiment of the processor interconnection system in block diagram form
  • FIG. 2 illustrates the details of a typical Processor-Memory-Interface Module shown in FIG. 1;
  • FIGS. 3 and 4 illustrate typical applications of the subject system. Detailed Description
  • the disclosed invention comprises a processor interconnection system which can be used to build a multiprocessor computer system from a number of independent or quasi-independent processor-based modules.
  • Each module contains a local data bus that connects the processor to its associated memory and various interface circuits.
  • Each such processor-memory-interface (PMI) module therefore, will be a small computer in its own right.
  • the subject processor interconnection system serves to combine a multitude of these small computers to form an efficient multiprocessing environment.
  • Such a system is shown in FIG. 1, and includes a priority arbiter module 101, a packet switch network 105, and a number (n) of PMIs (102-1 to 102-n).
  • a global data bus 106 interconnects the several PMIs.
  • the priority arbiter 101 controls access to global data bus 106 and resolves priority of access to global data bus 106 among the PMIs according to any of several conventional formulae.
  • the packet switch network 105 serves as an interface between any pair of serial data links including those from outside of tne system as well as those within the PMIs.
  • Central to the invention is the PMI module which is shown in detail in FIG. 2.
  • Each PMI assembly includes a processor 209-1, global bus access circuits 202-1 to 204-1, 208-1, 215-1 accessible local resources 205-1, 205-1, 207-1, and a local data bus 214-1 which connects local resources 205-1 to 207-1 to global bus 213 via bus connect circuit 202-1 or to processor 209-1 via local buffer 216-1 and memory management circuit 208-1. Only a real time clock 212-1 and an interrupt system 210-1 are dedicated solely to processor 209-1 and, therefore, these circuits are not connected to either bus.
  • the global access circuitry within each assembly include a memory management circuit 208-1, bus connection circuit 202-1, and local and global bus arbiters 204-1, 203-1.
  • each assembly includes one or more memory modules 205-1, one or more parallel input/output ports 206-1, and one or more serial communication interfaces 207-1.
  • Both local and global busses 213 and 214-1 are considered, for illustrative purposes, to carry parallel data.
  • Bus Selection is the function of the memory management module 208-1 which works as follows. When seeking information, processor 209-1 requests the contents of a virtual memory address. The memory management module 208-1 consults an internal address mapping memory which may be realized by either Read Only Memory (ROM) or Random Access Memory (RAM). whether its contents are fixed or dynamically loaded, however, each mapping memory holds translations of virtual memory addresses to physical memory addresses. Using these data, the memory management circuit 208-1 can accept a virtual memory address from its dedicated processor 209-1 and thereby access the physical memory address sought.
  • ROM Read Only Memory
  • RAM Random Access Memory
  • Each processor 209-1 normally executes software instructions located in its local memory 205-1, but it can access software instructions in any of the memory modules in tne system. So data called for by dedicated processor 209-1 outputting a virtual memory address may be either in the local memory 205-1 or in a remote memory 205-i which is its opposite number in another (i th ) PMI module 202-i.
  • the first step taken by the local memory management circuitry 208-1 is to find the physical address in its mapping memory that is the translation of the requested virtual memory address. If the physical address is in the local memory 205-1, memory management 208-1 signals the local/remote arbiter 204-1 via lead SELECT that the processor 209-1 needs access to the local bus 214-1.
  • the local/global selection line, lead SELECT, from memory management 208-1 to the global arbiter 203-1 and the local/renote arbiter 204-1 carries only a single bit, so one or the other is always selected and a change of state calls for a change of bus access.
  • the local/remote arbiter 204-1 enables the local buffer 216-1, thereby connecting processor 209-1 to the local bus 214-1 by way of memory management 208-1.
  • memory management 208-1 signals global arbiter 203-1 via lead SELECT that processor 209-1 needs access to global bus 213.
  • the global arbiter 203-1 then notifies the priority arbiter 201 via lead REQUEST-1.
  • the priority arbiter 201 only decides which of several competing PMIs will get the global bus 213 at a given time. When access to the global bus 213 is granted by the priority arbiter 201, priority arbiter 201 transmits a bus access signal to global arbiter 203-1.
  • the global arbiter 203-1 In response to this bus access signal, the global arbiter 203-1 enables the global Duffer 215 via lead CONTROL G to connect memory management 208-1 to the global bus. Memory management 208-1 then requests the resources of the remote PMI 202-i by placing the hardware address on leads DATA G, which address is placed on global bus 213 by global buffer 215-1.
  • the local/remote arbiter 204-1 receives any request for access from the global bus 213. If the addressed local bus 214-i is free, the local/remote arbiter 204-i immediately grants access. If the local bus 214-i is busy, access is denied until it is free. The local/remote arbiter 2C4-i then grants access to the processor with the highest priority. Any processor can lock the bus it is currently using until completion of a semaphore operation. Alternate Communication Methods
  • each processor 209-1 has two other communication means. These are the serial communication interface 207-1 and parallel data input/output port 206-1, means that are known to the art and are included here to complete the illustration of this invention.
  • Each local serial communication interface 207-1 connects to a packet switch network 211 which in turn distributes serial data to external serial links and to other serial communication interface modules opposite numbers of 207-1 systemwide.
  • the parallel input/output ports 206-1 the processors can control widely diverse peripheral devices.
  • the several serial communications interfaces 207-1 combined with the packet switch network 211 comprise a serial data communication subsystem
  • the input/output ports 206-1 combined with the dual bus system comprise a parallel data communication subsystem.
  • FIG. 3 shows a system composed of a number (n) of PMIs.
  • the illustrated PMIs are connected to function in several ways.
  • One PMI 301 of FIG. 3 connects the system to any of several kinds of system or network: a processor network 308 is the example given in FIG. 3.
  • Another PMI 302 joins a terminal 305 to the system for the operator's use.
  • the program in the memory of PMI 302 arranges the output of the terminal so that it can communicate in the language of the PMIs, thus creating a virtual terminal for system use. So given a programmable memory, PMI 302 would make it possible for the system to use a wide variety of terminals with no change of hardware.
  • the third PMI 303 of FIG. 3 is shown controlling a small set of telephones 306 and the associated telephone switching network 309.
  • PMI 30n is depicted as an interface between the system and a mass storage unit 307, such as a disc or tape drive.
  • each PMI Since each local processor has dedicated I/O and memory, each PMI amounts to a separate computer and can execute an operating system program. Each PMI also includes a dedicated real time clock and interrupt system connected to the processor so that PMIs can be operated in logical parallelism. Because of the speed of the subject dual bus system, this distributed computer system compares quite favorably with a centrally operated system.
  • An operation can be performed by a system such as the subject system regardless of the limitations of any given component processor. Assume, for example, that a function were called for by the operator of terminal 305. PMI 302 would then use the subject dual bus system to call for the required program from mass storage unit 307. According to a protocol given in the program, PMI 302 might send subroutines to the memory modules of several other PMIs according to the computing power available to each and regardless of their nominal functions. Finally, PMI 302 might order subroutines and supply data as needed until the requested function is performed. Description of an Alternate Application
  • FIG. 4 reveals a Private Branch Exchange PBX telephone system organized as taught by the subject invention.
  • This embodiment comprises switching network 404 and port circuits 406, 407 controlled by a network PMI 403 and scanner PMIs 405, 409 supplemented by feature processing PMI 401, console 402, mass storage devices 412, mass storage control PMI 411 and a maintenance PMI 413.
  • Each PMI in this system would be configured as illustrated in FIG. 2 wherein each PMI has a local bus 214-i, processor 209-i, etc.
  • PMI e.g. 405 for such signals as "off-hook or on-hook" from its associated telephones e.g. 408-1 in response to which it can connect or disconnect them from the ports by use of port selection means within the port circuits e.g. 406.
  • a scanner PMI 405 or 409 can then use the dual bus system comprising busses 400 and 214-i (wherein 214-i is the local bus of the scanner) to find from the feature PMI 401 what privileges are assigned to a calling telephone, for example, whether it is allowed to call long distance. Dialing signals into the switching network 404 from the port circuits 406 or 407 are interpreted by the network PMI 403 and used as data on which to base connection from the calling port to the addressed port.
  • the dual bus system may be used by the network PMI 403 to determine from the feature PMI 401 what privileges accrue to the telephone being called. Requests for data beyond that contained in the memories of the several PMIs are referred to the mass storage device 412 by way of the dual bus system and the mass store control PMI 411. Because it interacts with all system components, a description of maintenance PMI 413 operation -will be used to illustrate how the subject embodiment works. In the course of ordinary system operation, maintenance PMI 413 constantly monitors the global bus 213 for commands and responses among the system PMIs. Within PMI 413, these messages are routed through bus connect 202-1 (see FIG. 2) and memory management 208-1 to the processor 209-1.
  • Processor 209-1 compares these command/response sets read from the global bus to master patterns in memory 205-1. If the messages from the global bus match these ideal patterns, the system is known to be working. Besides these online test routines, the maintenance PMI 413 can interrupt system operation for offline routines.
  • a programmed schedule for example, it can transmit commands on the global bus 213 to the other PMIs. These commands are transmitted by the means described in the paragraphs on bus selection. Then maintenance PMI 413 can compare the response to these commands to master patterns stored in its memory 205-1. It can also perform any or all of these offline system tests upon orders entered by an operator on system console 402.
  • maintenance PMI 413 In case of an apparent malfunction, therefore, tne operator can invoke the resources of maintenance PMI 413.
  • a command is routed from the operator's console 402 through feature PMI 401 and the dual bus structure to maintenance PMI 413.
  • maintenance PMI 413 selects appropriate tests according to a test procedure in its internal memory and applies them to the system as described above.
  • the maintenance processor 209-1 analyzes the errata to determine the source of the malfunction. It then searches mass storage device 412 by way of mass store control PMI 411 and the dual bus structure for a program designed to deal with the bad component.
  • maintenance PMI 413 might isolate defective processor 209-i (see FIG. 2) by instructing memory management module 208-i to pass no data from defective processor 209-i to either bus. Maintenance PMI
  • the 413 might then distribute scanning duties among the remaining PMIs according to their capacities.
  • the substitute PMIs would use the global data bus 213 both to access data from scanner 409's memory 205-i and to command the port circuits 407 via scanner 409's internal input/output port 206-i.
  • the system. would be made temporarily functional although at a slower speed than before.
  • the repaired system would run much faster than a similarly repaired distributed system of the previous art.
  • the maintenance PMI 413 would send repair instructions to the operator via the dual bus structure and modules 401 and 402. So programmable maps, privileges, and priorities will have made the temporary repair possible without hardware changes.
  • troubleshooting problems cannot be handled within the system, they can be referred to a remote expert.
  • This troubleshooter can connect a terminal or computer to the resources of maintenance module 413 by means of a telephone line to the remote maintenance link 414.
  • the remote maintenance link 414 connects to the system by means of the input/output port 206-1 in the maintenance PMI 413.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)

Description

PROCESSOR INTERCONNECTION SYSTEM
Field of the Invention
This invention relates to a multiprocessor computer system comprising a plurality of processors, each of the processors has associated therewith a plurality of resources, a plurality of local bus circuits, each associated on a one-to-one basis with the processors, each of the local bus circuits connects the plurality of resources to the associated processor. Description of the Prior Art
Prior art multiprocessor systems either employ a single set of common resources that are shared by all the processors, or employ a plurality of resources, each of which are dedicated to a particular processor. In this latter situation, serial intercommunication links are typically used to transmit data between processors. Both the transmitting and the receiving processors are required to participate in this data transfer and this unnecessarily burdens the two processors. Summary of the Invention
The problem is solved in a multiprocessor computer system in which the computer system further comprises an intercommunication circuit connected to all of the processors, wherein the intercommunication circuit provides any requesting one of the processors with direct access to resources which may be associated with another selected one of the processors. Each processor has a local bus which connects the processor to its associated resources, which resources may be memory devices, I/O ports, serial communication devices, etc. Each processor also has memory management circuitry, interrupt systems and the other standard elements which are normally associated witn a processor. The multiprocessor computer system operates in this environment by using a global bus to interconnect all the processors in the system. Each processor generates a virtual address when requesting access to a resource and the memory management circuit associated with the processor translates this virtual address into an actual hardware resource address. If the resource requested is associated with another processor, the processor interconnection system directly connects the requesting processor, via the global bus, to the local bus to which the resource requested is connected. Thus, each processor can directly access all resources in this multiprocessing environment. Brief Description of the Drawing
FIG. 1 illustrates the preferred embodiment of the processor interconnection system in block diagram form; FIG. 2 illustrates the details of a typical Processor-Memory-Interface Module shown in FIG. 1; and
FIGS. 3 and 4 illustrate typical applications of the subject system. Detailed Description
The disclosed invention comprises a processor interconnection system which can be used to build a multiprocessor computer system from a number of independent or quasi-independent processor-based modules. Each module contains a local data bus that connects the processor to its associated memory and various interface circuits. Each such processor-memory-interface (PMI) module, therefore, will be a small computer in its own right. The subject processor interconnection system serves to combine a multitude of these small computers to form an efficient multiprocessing environment. Such a system is shown in FIG. 1, and includes a priority arbiter module 101, a packet switch network 105, and a number (n) of PMIs (102-1 to 102-n). A global data bus 106 interconnects the several PMIs. The priority arbiter 101 controls access to global data bus 106 and resolves priority of access to global data bus 106 among the PMIs according to any of several conventional formulae. The packet switch network 105 serves as an interface between any pair of serial data links including those from outside of tne system as well as those within the PMIs. Central to the invention is the PMI module which is shown in detail in FIG. 2.
Each PMI assembly includes a processor 209-1, global bus access circuits 202-1 to 204-1, 208-1, 215-1 accessible local resources 205-1, 205-1, 207-1, and a local data bus 214-1 which connects local resources 205-1 to 207-1 to global bus 213 via bus connect circuit 202-1 or to processor 209-1 via local buffer 216-1 and memory management circuit 208-1. Only a real time clock 212-1 and an interrupt system 210-1 are dedicated solely to processor 209-1 and, therefore, these circuits are not connected to either bus. The global access circuitry within each assembly include a memory management circuit 208-1, bus connection circuit 202-1, and local and global bus arbiters 204-1, 203-1. Other resources contained in each assembly are: one or more memory modules 205-1, one or more parallel input/output ports 206-1, and one or more serial communication interfaces 207-1. Both local and global busses 213 and 214-1 are considered, for illustrative purposes, to carry parallel data. Bus Selection Although a given processor 209-1 normally uses the resources 205-1 to 207-1 connected to its local bus 214-1, processor 209-1 does not discriminate between busses. Bus selection is the function of the memory management module 208-1 which works as follows. When seeking information, processor 209-1 requests the contents of a virtual memory address. The memory management module 208-1 consults an internal address mapping memory which may be realized by either Read Only Memory (ROM) or Random Access Memory (RAM). whether its contents are fixed or dynamically loaded, however, each mapping memory holds translations of virtual memory addresses to physical memory addresses. Using these data, the memory management circuit 208-1 can accept a virtual memory address from its dedicated processor 209-1 and thereby access the physical memory address sought.
Each processor 209-1 normally executes software instructions located in its local memory 205-1, but it can access software instructions in any of the memory modules in tne system. So data called for by dedicated processor 209-1 outputting a virtual memory address may be either in the local memory 205-1 or in a remote memory 205-i which is its opposite number in another (ith) PMI module 202-i. The first step taken by the local memory management circuitry 208-1 is to find the physical address in its mapping memory that is the translation of the requested virtual memory address. If the physical address is in the local memory 205-1, memory management 208-1 signals the local/remote arbiter 204-1 via lead SELECT that the processor 209-1 needs access to the local bus 214-1. The local/global selection line, lead SELECT, from memory management 208-1 to the global arbiter 203-1 and the local/renote arbiter 204-1 carries only a single bit, so one or the other is always selected and a change of state calls for a change of bus access. Thus, in the present situation, when the local bus 214-1 is free, the local/remote arbiter 204-1 enables the local buffer 216-1, thereby connecting processor 209-1 to the local bus 214-1 by way of memory management 208-1.
If tne physical address generated is of a remote memory 205-i which is the opposite number of 205-1 in module 202-i, memory management 208-1 signals global arbiter 203-1 via lead SELECT that processor 209-1 needs access to global bus 213. The global arbiter 203-1 then notifies the priority arbiter 201 via lead REQUEST-1. The priority arbiter 201 only decides which of several competing PMIs will get the global bus 213 at a given time. When access to the global bus 213 is granted by the priority arbiter 201, priority arbiter 201 transmits a bus access signal to global arbiter 203-1. In response to this bus access signal, the global arbiter 203-1 enables the global Duffer 215 via lead CONTROL G to connect memory management 208-1 to the global bus. Memory management 208-1 then requests the resources of the remote PMI 202-i by placing the hardware address on leads DATA G, which address is placed on global bus 213 by global buffer 215-1.
At the addressed PMI (2C2-i), the local/remote arbiter 204-1 receives any request for access from the global bus 213. If the addressed local bus 214-i is free, the local/remote arbiter 204-i immediately grants access. If the local bus 214-i is busy, access is denied until it is free. The local/remote arbiter 2C4-i then grants access to the processor with the highest priority. Any processor can lock the bus it is currently using until completion of a semaphore operation. Alternate Communication Methods
Besides the global and local busses 213 & 214-1, each processor 209-1 has two other communication means. These are the serial communication interface 207-1 and parallel data input/output port 206-1, means that are known to the art and are included here to complete the illustration of this invention. Each local serial communication interface 207-1 connects to a packet switch network 211 which in turn distributes serial data to external serial links and to other serial communication interface modules opposite numbers of 207-1 systemwide. By way of the parallel input/output ports 206-1, the processors can control widely diverse peripheral devices. Thus, the several serial communications interfaces 207-1 combined with the packet switch network 211 comprise a serial data communication subsystem, and the input/output ports 206-1 combined with the dual bus system comprise a parallel data communication subsystem. Description of a Typical Application
FIG. 3 shows a system composed of a number (n) of PMIs. The illustrated PMIs are connected to function in several ways. One PMI 301 of FIG. 3 connects the system to any of several kinds of system or network: a processor network 308 is the example given in FIG. 3. Another PMI 302 joins a terminal 305 to the system for the operator's use. The program in the memory of PMI 302 arranges the output of the terminal so that it can communicate in the language of the PMIs, thus creating a virtual terminal for system use. So given a programmable memory, PMI 302 would make it possible for the system to use a wide variety of terminals with no change of hardware. The third PMI 303 of FIG. 3 is shown controlling a small set of telephones 306 and the associated telephone switching network 309. Finally, PMI 30n is depicted as an interface between the system and a mass storage unit 307, such as a disc or tape drive.
Since each local processor has dedicated I/O and memory, each PMI amounts to a separate computer and can execute an operating system program. Each PMI also includes a dedicated real time clock and interrupt system connected to the processor so that PMIs can be operated in logical parallelism. Because of the speed of the subject dual bus system, this distributed computer system compares quite favorably with a centrally operated system.
An operation can be performed by a system such as the subject system regardless of the limitations of any given component processor. Assume, for example, that a function were called for by the operator of terminal 305. PMI 302 would then use the subject dual bus system to call for the required program from mass storage unit 307. According to a protocol given in the program, PMI 302 might send subroutines to the memory modules of several other PMIs according to the computing power available to each and regardless of their nominal functions. Finally, PMI 302 might order subroutines and supply data as needed until the requested function is performed. Description of an Alternate Application
FIG. 4 reveals a Private Branch Exchange PBX telephone system organized as taught by the subject invention. This embodiment comprises switching network 404 and port circuits 406, 407 controlled by a network PMI 403 and scanner PMIs 405, 409 supplemented by feature processing PMI 401, console 402, mass storage devices 412, mass storage control PMI 411 and a maintenance PMI 413. Each PMI in this system would be configured as illustrated in FIG. 2 wherein each PMI has a local bus 214-i, processor 209-i, etc.
Operating features available to the system depend on two things: the configuration of the hardware and the contents of the feature PMI's memory. The system operator uses the console 402 to call up routines from the feature PMI 401. Because of the characteristics of the subject system, features can be added or subtracted by programming the feature PMI and, if necessary, adding or removing PMIs. Port circuits are monitored by the scanner
PMI e.g. 405 for such signals as "off-hook or on-hook" from its associated telephones e.g. 408-1 in response to which it can connect or disconnect them from the ports by use of port selection means within the port circuits e.g. 406. A scanner PMI 405 or 409 can then use the dual bus system comprising busses 400 and 214-i (wherein 214-i is the local bus of the scanner) to find from the feature PMI 401 what privileges are assigned to a calling telephone, for example, whether it is allowed to call long distance. Dialing signals into the switching network 404 from the port circuits 406 or 407 are interpreted by the network PMI 403 and used as data on which to base connection from the calling port to the addressed port. Before connection, the dual bus system may be used by the network PMI 403 to determine from the feature PMI 401 what privileges accrue to the telephone being called. Requests for data beyond that contained in the memories of the several PMIs are referred to the mass storage device 412 by way of the dual bus system and the mass store control PMI 411. Because it interacts with all system components, a description of maintenance PMI 413 operation -will be used to illustrate how the subject embodiment works. In the course of ordinary system operation, maintenance PMI 413 constantly monitors the global bus 213 for commands and responses among the system PMIs. Within PMI 413, these messages are routed through bus connect 202-1 (see FIG. 2) and memory management 208-1 to the processor 209-1. Processor 209-1 then compares these command/response sets read from the global bus to master patterns in memory 205-1. If the messages from the global bus match these ideal patterns, the system is known to be working. Besides these online test routines, the maintenance PMI 413 can interrupt system operation for offline routines.
According to a programmed schedule, for example, it can transmit commands on the global bus 213 to the other PMIs. These commands are transmitted by the means described in the paragraphs on bus selection. Then maintenance PMI 413 can compare the response to these commands to master patterns stored in its memory 205-1. It can also perform any or all of these offline system tests upon orders entered by an operator on system console 402.
In case of an apparent malfunction, therefore, tne operator can invoke the resources of maintenance PMI 413. Such a command is routed from the operator's console 402 through feature PMI 401 and the dual bus structure to maintenance PMI 413. In response to the said command, maintenance PMI 413 selects appropriate tests according to a test procedure in its internal memory and applies them to the system as described above. Having received suspect responses from the system, the maintenance processor 209-1 analyzes the errata to determine the source of the malfunction. It then searches mass storage device 412 by way of mass store control PMI 411 and the dual bus structure for a program designed to deal with the bad component.
Assume, for the sake of illustration, that the processor has failed in PMI 409 and consequently that no connection can be made to half the telephones 410-1 to 410-n in the system. Using the repair program mentioned in the last paragraph, maintenance PMI 413 might isolate defective processor 209-i (see FIG. 2) by instructing memory management module 208-i to pass no data from defective processor 209-i to either bus. Maintenance PMI
413 might then distribute scanning duties among the remaining PMIs according to their capacities. The substitute PMIs would use the global data bus 213 both to access data from scanner 409's memory 205-i and to command the port circuits 407 via scanner 409's internal input/output port 206-i. Thus, the system. would be made temporarily functional although at a slower speed than before. Because of the high speed of the subject dual bus system, however, the repaired system would run much faster than a similarly repaired distributed system of the previous art. Having confirmed proper operation of the system, the maintenance PMI 413 would send repair instructions to the operator via the dual bus structure and modules 401 and 402. So programmable maps, privileges, and priorities will have made the temporary repair possible without hardware changes.
If troubleshooting problems cannot be handled within the system, they can be referred to a remote expert. This troubleshooter can connect a terminal or computer to the resources of maintenance module 413 by means of a telephone line to the remote maintenance link 414. The remote maintenance link 414 connects to the system by means of the input/output port 206-1 in the maintenance PMI 413. Thus, all tests and results available to module 413 are available for outside use and module 413 can be programmed from anywhere. While a specific embodiment of the invention has been disclosed, variations in structural detail, within the scope of the appended claims, are possible and are contemplated. There is no intention of limitation to what is contained in the abstract or the exact disclosure as herein presented. The above-described arrangements are only illustrative of the application of the principles of the invention. Normally, other arrangements may be devised by those skilled in the art without departing from the spirit and the scope of the invention.

Claims

Claims
1. A multiprocessor computer system comprising: a plurality of processors (209-1 to 209-n), each of the processors (209-1 to 209-n) has associated therewith a plurality of resources (205-i to 207-i), a plurality of local bus circuits (214-1 to 214- n), each associated on a one-to-one basis with the processors (209-1 to 209-n), each of the local bus circuits connects the plurality of resources (205-i to 207-i) to the associated processor (209-i); and
CHARACTERIZED IN THAT the computer system further comprises: an intercommunication circuit (200) connected to all of the processors (209-1 to 209-n), wherein the intercommunication circuit (200) provides any requesting one of the processors (209-1 to 209-i) with direct access to resources (205-i) which may be associated with another selected one of the processors (209-i).
2. A multiprocessor computer system in accordance with claim 1
CHARACTERIZED IN THAT the intercommunication circuit (200) comprises: a global bus circuit (213) connected to all of the processors (209-1 to 209-n) for carrying data signals therebetween; a priority arbiter (201) connected to all of the processors (209-1 to 209-n) and responsive to the busy/idle status of the global bus circuit (213) for regulating the access of the requesting processor (209-1) to the global bus circuit (213); and a plurality of memory management circuits (208-1 to 208-n) associated on a one-to-one basis with each of the processors (209-1 to 209-n), wherein each of the memory management circuits (208-1) interconnects the associated processor (209-1) with the global bus circuit (213) when the associated processor (209-1) requests access to the resources (205-i) associated with another selected one of the processors (209-i).
3. A multiprocessor computer system in accordance with claim 2
CHARACTERIZED IN THAT each of the memory management circuits (208-1) is responsive to a virtual memory address generated by the associated processor (209-1) for mapping the virtual memory address into a resource address; and wherein each of the memory management circuits (203-1) is responsive to a resource address which identified a resource (205-i) not connected to the associated local bus (214-1) for generating a global bus circuit request and for applying the global bus circuit request to the priority arbiter (201). 4. A multiprocessor computer system in accordance with claim 3
CHARACTERIZED IN THAT the priority arbiter (201) is responsive to the global bus circuit request for generating a bus access signal when the global bus circuit (213) is idle and for applying the bus access signal to the memory management circuit (208-1) generating the global bus circuit request; wherein the last mentioned memory management circuit (208-1) is responsive to the bus access signal for applying the resource address to the global bus circuit
(213) thereby signalling the selected processor (209-i) of the request.
5. A multiprocessor computer system in accordance with claim 4 CHARACTERIZED IN THAT the intercommunication circuit (200) comprises: a plurality of bus connect circuits (202-1 to 209-n) associated on a one-to-one basis with the processors (209-1 to 209-n) for directly connecting the global bus circuit (213) with the local bus circuit (214-i) associated with the selected processor (209-i) for providing access from the global bus circuit (213) to the resources (205-i to 207-i) associated with the selected processor (209-i) via the associated local bus circuit (214-i).
6. A multiprocessor computer system in accordance with claim 5 CHARACTERIZED IN THAT the intercommunication circuit (200) comprises: a plurality of local arbiter circuits (204-1 to 204-n) associated on a one-to-one basis with the processors (209-1 to 209-n), wherein each of the local arbiter circuits (204-i) is responsive to the application of the resource address to the global bus circuit (213) by the requesting memory management circuit (208-1) for comparing the resource address to the addresses of the resources (205-i to 207-i) connected to the associated local bus circuit (214-i) and for generating a receive enable signal when the resource address matches the address of one of the plurality of resources (205-i) connected to the local bus circuit (214-i); and wherein the bus connect circuit (202-i) is responsive to the receive enable signal for directly connecting the global bus circuit (213) to the associated local bus circuit (214-i).
EP19810902530 1980-09-23 1981-09-02 Processor interconnection system. Withdrawn EP0059731A4 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US19008580A 1980-09-23 1980-09-23
US190085 1980-09-23

Publications (2)

Publication Number Publication Date
EP0059731A1 EP0059731A1 (en) 1982-09-15
EP0059731A4 true EP0059731A4 (en) 1985-10-01

Family

ID=22699959

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19810902530 Withdrawn EP0059731A4 (en) 1980-09-23 1981-09-02 Processor interconnection system.

Country Status (5)

Country Link
EP (1) EP0059731A4 (en)
JP (1) JPS57501653A (en)
CA (1) CA1191920A (en)
GB (1) GB2086624B (en)
WO (1) WO1982001095A1 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58501602A (en) * 1981-09-18 1983-09-22 クリスチャン ロプシング エ−・エス multiprocessor computer system
DE3218277A1 (en) * 1982-05-14 1983-11-17 Siemens AG, 1000 Berlin und 8000 München CIRCUIT ARRANGEMENT FOR TELECOMMUNICATION SWITCHING SYSTEMS, ESPECIALLY TELECOMMUNICATION SWITCHING SYSTEMS, WITH A DEVELOPMENT OF THE SWITCHING SYSTEM PROCESSING MULTIPLE COMPUTER SYSTEMS
DD273911A1 (en) * 1988-07-11 1989-11-29 Zeiss Jena Veb Carl METHOD AND ARRANGEMENT FOR THE BUS AWARD OF DATA PROCESSING DEVICES
DE3917730A1 (en) * 1989-05-31 1990-12-06 Teldix Gmbh Decision logic for priority setting and synchronising async. signals - arbitrating access to global resource in multiprocessor system
EP0408810B1 (en) * 1989-07-20 1996-03-20 Kabushiki Kaisha Toshiba Multi processor computer system
US5442690A (en) 1992-08-25 1995-08-15 Bell Communications Research, Inc. Telecommunication service record structure and method of execution
WO1994005112A1 (en) 1992-08-25 1994-03-03 Bell Communications Research, Inc. System and method for creating, transferring, and monitoring services in a telecommunication system
JP3098344B2 (en) * 1992-12-18 2000-10-16 富士通株式会社 Data transfer processing method and data transfer processing device
US5483656A (en) * 1993-01-14 1996-01-09 Apple Computer, Inc. System for managing power consumption of devices coupled to a common bus
US5579486A (en) * 1993-01-14 1996-11-26 Apple Computer, Inc. Communication node with a first bus configuration for arbitration and a second bus configuration for data transfer
US5493657A (en) * 1993-06-21 1996-02-20 Apple Computer, Inc. High speed dominant mode bus for differential signals
DE4331004B4 (en) * 1993-07-15 2009-06-18 Tenovis Gmbh & Co. Kg Circuit arrangement of an interface for interconnected via a parallel bus system control of a switching system
DE4323704B4 (en) * 1993-07-15 2006-06-14 Tenovis Gmbh & Co. Kg Circuit arrangement of an interface for interconnected via a parallel bus system controls a switching system
DE10081049D2 (en) * 1999-04-20 2001-08-09 Siemens Ag Scalable multi-processor system for real-time applications in telecommunications

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4123794A (en) * 1974-02-15 1978-10-31 Tokyo Shibaura Electric Co., Limited Multi-computer system
US3934232A (en) * 1974-04-25 1976-01-20 Honeywell Information Systems, Inc. Interprocessor communication apparatus for a data processing system
US4276594A (en) * 1978-01-27 1981-06-30 Gould Inc. Modicon Division Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same
US4253144A (en) * 1978-12-21 1981-02-24 Burroughs Corporation Multi-processor communication network
US4264954A (en) * 1979-09-04 1981-04-28 Ncr Corporation Distributed function communication system for remote devices

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
COMPUTER DESIGN, vol. 17, no. 3, March 1978, pages 81-89, Concord, US; G. ADAMS et al.: "Design motiviations for multiple processor microcomputer systems" *
COMPUTER DESIGN, vol. 18, no. 5, May 1979, pages 181-189, Concord, US; A.D. HIRSCHMAN et al.: "Standard modules offer flexible multiprocessor system design" *
See also references of WO8201095A1 *
WESCON CONFERENCE RECORD, September 18-20, 1979, San Francisco, US, 28/1, pages 1-6; L. SOLTESZ: "Multiprocessing with single board computers - hardware considerations" *

Also Published As

Publication number Publication date
GB2086624A (en) 1982-05-12
JPS57501653A (en) 1982-09-09
GB2086624B (en) 1984-02-22
CA1191920A (en) 1985-08-13
EP0059731A1 (en) 1982-09-15
WO1982001095A1 (en) 1982-04-01

Similar Documents

Publication Publication Date Title
EP0029975B1 (en) Multiprocessor system
KR0131339B1 (en) Interprocessor switching network
CA1191920A (en) Processor interconnection system
KR100762388B1 (en) Low-overhead processor interfacing
US4633392A (en) Self-configuring digital processor system with logical arbiter
US4001790A (en) Modularly addressable units coupled in a data processing system over a common bus
CA1160712A (en) Arbitration controller providing for access of a common resource by a duplex plurality of central processing units
CA1243386A (en) Processing sequence calls in a distributed control switching system
US4744023A (en) Processor access control arrangement in a multiprocessor system
EP0318221A2 (en) Controlling responding by users of an intercommunications bus
US4379950A (en) Distributed control memory network
WO1983001135A1 (en) Multiprocessor computer system
US4759017A (en) Telecommunications exchange allocating variable channel bandwidth
US4982325A (en) Applications processor module for interfacing to a database system
KR830008577A (en) Modul transmission system
CA2074849C (en) Very large scale modular switch
CA1164575A (en) Arbitration controller providing for access of a common resource by a duplex plurality of central processing units
JPH0158540B2 (en)
US4672604A (en) Time slot polling arrangement for multiple stage time division switch
FI88220C (en) Multiprocessor counters, in particular a multiprocessor central controller in a telephone switching system
EP0073239A1 (en) Multi-processor office system complex
US4376975A (en) Arbitration controller providing for access of a common resource by a plurality of central processing units
US3629851A (en) Scanner control circuit for a program-controlled communication switching system
US5264842A (en) Generalized usage of switch connections with wait chain
US4633461A (en) Switching control for multiple stage time division switch

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Designated state(s): DE FR SE

17P Request for examination filed

Effective date: 19820902

17Q First examination report despatched

Effective date: 19861205

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 19870416

RIN1 Information on inventor provided before grant (corrected)

Inventor name: LARSON, ALLEN LEONARD