EP0532542B1 - Multiprozessor-system mit anteiliger nutzung eines speichers - Google Patents

Multiprozessor-system mit anteiliger nutzung eines speichers Download PDF

Info

Publication number
EP0532542B1
EP0532542B1 EP91909894A EP91909894A EP0532542B1 EP 0532542 B1 EP0532542 B1 EP 0532542B1 EP 91909894 A EP91909894 A EP 91909894A EP 91909894 A EP91909894 A EP 91909894A EP 0532542 B1 EP0532542 B1 EP 0532542B1
Authority
EP
European Patent Office
Prior art keywords
memory
processor
group
section
references
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
EP91909894A
Other languages
English (en)
French (fr)
Other versions
EP0532542A1 (de
Inventor
George W. Leedom
Alan J. Schiffleger
Ram K. Gupta
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.)
Cray Research LLC
Original Assignee
Cray Research LLC
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 Cray Research LLC filed Critical Cray Research LLC
Publication of EP0532542A1 publication Critical patent/EP0532542A1/de
Application granted granted Critical
Publication of EP0532542B1 publication Critical patent/EP0532542B1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake

Definitions

  • the present invention pertains generally to the field of multiprocessor computer systems and more particularly to a multiprocessor system including means for sharing a memory system between multiple processors.
  • the data processing speed of a computer system can be greatly enhanced by providing one or more additional processors to form a multiprocessor system in which a common or central RAM memory is shared.
  • the sharing of resources, particularly the memory results in conflicts between the processors' various memory reference requests, such that if the memory, memory paths, and the memory access control logic is not properly designed much of the potential increase in efficiency and economy of the system can be lost to access delays.
  • Minimizing conflicts and delays in accessing a shared memory is typically accomplished in two different but cooperative ways.
  • One way is to segment the shared memory into many independently addressable banks such that each reference to a bank ties up a relatively small percentage of the memory, leaving the rest of the memory accessible. Segmenting memory, however, increases the complexity and thus size and cost can also impose limitations on the speed at which each reference may be accomplished.
  • the design of this "memory interface" and the design of the memory organization are interrelated and interdependent.
  • the memory interface should provide for maximum utilization of the available memory access paths and that each processor has substantially equal accessibility to the memory at most times, particularly where there is no master-salve relationship between the processors.
  • memory access conflicts be resolved in as few system clock periods as possible so that reference start up time and data buffering requirements are held to a minimum.
  • the attainment of these goals is, however, restrained by the cost and particularly the quantity of logic which may be employed.
  • logic and wiring requirements be held down.
  • the memory is multi-sectional and each section has a plurality of interleaved, individually addressable memory banks and a section conflict resolution network.
  • Each processor in the system includes several ports and a gating network, permitting each port to access any section of memory, but restricting access to no more than one reference per processor per clock period. References generated from different ports of the same processor are automatically synchronized.
  • Each processor has a conflict resolution circuit to resolve conflicts between different ports seeking access to the same section of memory.
  • Conflict resolution is achieved in two clock periods, with conflicts between different ports of a processor resolved in the first clock period, and conflicts between different processors seeking access to the same banks of any particular section of memory resolved in the second clock period.
  • the section conflict resolution circuits communicate with one another to prevent references from proceeding out of order. When a reference from X particular port is held in one section, the other sections are signaled and prevent subsequent references from the same port from proceeding until the held reference is released.
  • the present invention provides a multiprocessor system including means for sharing memory between a plurality of processors as set out in claim 1.
  • the invention further comprises reference control circuit means for each group for controlling references to the group, with each reference control circuit means for receiving from each processor a reference request comprising a Go-section signal, a write signal, and address signals designating the memory to be referenced, bank busy means for tracking which banks in the group are busy, and means responsive to the bank busy means for determining the availability of banks to be referenced, for arbitrating conflicts between requests issued by different processors and for directing the group level reference means to apply selected references to the memory.
  • reference control circuit means for each group for controlling references to the group, with each reference control circuit means for receiving from each processor a reference request comprising a Go-section signal, a write signal, and address signals designating the memory to be referenced, bank busy means for tracking which banks in the group are busy, and means responsive to the bank busy means for determining the availability of banks to be referenced, for arbitrating conflicts between requests issued by different processors and for directing the group level reference means to apply selected references to the memory.
  • the present invention relates to a system for interfacing a plurality of CPUs to a central or shared memory.
  • the invention is tailored for a multiprocessor system in which each processor is capable of generating memory references from several independent ports each of which may operate substantially independently of the CPU to carry out data and instruction transfers.
  • An example of a CPU of the type of which the present invention is adapted to interface to a memory is shown in U.S. Patent No. 4,661,900 to Chen et al., entitled "FLEXIBLE CHAINING IN A VECTOR PROCESSOR".
  • the present invention is specifically designed for a multiprocessor system 10 having sixteen CPU's. It shall be understood, however, that the principles of the invention can be applied to multiprocessor systems having a greater or lesser number of CPUs.
  • Memory 12 of system 10 is organized into eight sections. Each of the CPUs is connected to each of these sections through a memory path 14. As will be described below, internal to each CPU represented in Figure 1 are a plurality of reference generating ports, any one of which can be connected to any one of the eight paths 14 between each CPU and the respective sections of memory 12. Each path 14 consists of the following:
  • the 80 bits of Write Data of path 14 comprise the data to be written from a CPU to the memory.
  • the Go Sectioo signals ANDED with 3-5 indicate which of the eight Subsections within each memory section the reference is to.
  • the section to which a reference is directed is controlled by the first three bits of the address. These three bits determine which of the paths 14 the reference will use to access the proper section of memory.
  • the Write Reference signal on path 14 indicates whether the reference is a write or a read reference.
  • the Abort Reference signal allows a reference to be aborted if an address range error is detected by range checking circuits in the CPU's memory reference geeeration circuits (not shown).
  • the read data lines of each path 14 carry data from the memory to the CPU. Finally, three bits of Subsection Read Select Data is also carried on each path 14.
  • the system 10 provides that one read or write reference can be made every clock period on each path 14, for a total of 128 references per clock period.
  • Figure 2 shows that each section of memory is organized into eight subsections (SS0-SS7) 20 each of which contain two groups of memory banks. Each group includes eight banks of memory (shown in Figure 4A).
  • Each CPU is connected to each one of the subsections 20 via one of paths 14a, each terminating in input logic 25.
  • Path 14a constitutes that portion of path 14 carrying the data, address and control information into the memory necessary for a read or write operation.
  • Logic 25, includes input registers and latches and provides a gateway to each of the memory subsections 20 via paths 27.
  • each of CPUs 0-15 has a path through its respective logic 25 to each subsection 20 of memory.
  • Read data is carried out of each of subsections 20 on paths 28. There are two paths out for each subsection, one for data from memory bank group 0 (banks 0-7) and one for data from bank group 1 (banks 8-15). Each of these paths are connected to each of circuits 40a and 40b, which handle read data for CPUs 0-7 and CPUs 8-15, respectively. Paths 14b, which constitute the read data lines of paths 14 carry the read data for an associated CPU out of the section and back to the CPU ports.
  • FIG. 3 there is shown in simplified but more detailed form the interface of a CPU (CPU 0 for the sake of illustration) and a section.
  • Section write data and address are staged at 32 and 34, respectively, for application to a subsection.
  • Logic 36 receives the write reference and abort signals, along with a go-section signal.
  • Reference control 60 (one of these is provided for each group of banks so that there are two for each sub-section) controls referencing to the memory.
  • Logic 38 is responsive to reference control 60 and the sub-section read-out signal to control multiplexing of read data out of the sub-sections 20 via multiplexor/logic 42, which also receive for control input a sub-section read select signal.
  • FIG. 4A there is shown a simplified block diagram of one subsection 20 of memory 12.
  • Each subsection includes sixteen banks of memory.
  • memory 12 includes a total of 1024 banks of memory.
  • the banks within each subsection are organized into two groups--group 0 and group 1--with one containing the first eight banks and the other the last eight.
  • Each of the banks 52 contain a number of individually addressable memory locations each with its own unique address.
  • Each bank may function independently of the others and can be referenced individually and/or simultaneously with another bank.
  • the memory is preferably constructed with 64K x 4 ECL chips available from Fujistu Electronics of Japan and its U.S. agents.
  • Figure 4A shows that each of paths 27 from circuits 25 (as illustrated in Figure 3) have a two-to-one fan-out and terminate in a pair of latches 30a and 30b, one for each group of memory banks.
  • Latches 30a are connected to a selector 54a, which in turn is connected to a latch 55a.
  • Latch 55a is in turn fanned-out on two paths 57a and 57b. Paths 57a and registers 59a are provided to advance the reference address from latch 55a to the memory banks, with paths 57b and registers 59b carrying write data from latch 55a. Thus, each CPU may access any one of the first eight banks within the subsection through selector 54a and latch 55a. The last eight banks are accessed in the same manner through selector 54b and latch 55b.
  • Banks 0-7 are connected to selector 39a, the output of which is fanned-out on two paths, one for CPUs 0-7 and one for CPUs 8-15.
  • Selector 39b is similarly connected to provide an output path for data read from banks 8-15.
  • circuits 40a and 40b illustrated in Figure 2.
  • circuit 40 includes a plurality of latches 41a and 41b.
  • One of latches 41a and 41b is provided for each subsection of memory.
  • Latches 41a each receive, from each subsection in the section, the output from selector 39a carried on path 37a (the output from banks 0-7--see Figure 4A).
  • Latches 41b receive the output carried on paths 37c from selector 39b (for banks 8-15).
  • a selector 42a and 42b is provided for each CPU, and each is connected to select from any one of latches 41a and 41b, respectively.
  • the output of each selector 42 is in turn fanned out to a plurality of registers 43, one for each subsection within the section.
  • the registers 43 associated with each CPU may hold a word of read data from each subsection of memory.
  • a further selector 44 is provided for each of CPUs 0-7, and is connected to select from any one of registers 43 and to provide its output to a latch 45. Latch 45 in turn delivers its output to path 14b. Thus, selector 44 and latch 45 can output one read word per clock cycle. As said above, another one of circuits 40 (40b) is provided for handling the output for CPUs 8-15.
  • Each bank group includes a reference control circuit 60 (Fig. 3) which controls the generation of references to the group.
  • Reference control circuit 60 is schematically illustrated in Figure 5.
  • a reference request holding register 70 receives eight (8) signal lines from each of the sixteen (16) CPUs (for a total of 128). These signals are:
  • Circuit 72 is a bank and write busy selector. It receives eight (8) bank busy and four (4) write busy signals from the bank and write busy circuit 92. Subsection selection circuit 74 receives three force signals that define which subsection the reference control circuit 60 is to respond to. They must match ADDR 3 - 5 signals. Circuit 76 prioritizes valid requests and assures that the requested banks are free and that the request is for this subsection and if a write reference that write is free. It also evaluates requests based upon the present state of the priority counter. Request arbitration circuit 78 looks at all valid requests and the present state of the priority counter (described below) and determines which reference request to release.
  • Circuit 80 includes release delay latches and valid subsection request delay latches.
  • the release delay latches provide that release latches are set for a reference request that is going to be released.
  • the valid subsection request delay latches are set for a request that is presented to the subsection.
  • the bank and write Decoder 82 decodes the bank number that a reference request is made to and the bank number to which a write request is made.
  • Set bank and write busy merge Circuit 84 provides that the decoded bank and write signals are ANDED with the release signals from the release delay latches (circuit 80) and then OR'd to form the set bank and write busy signals.
  • Hold reference request circuit 86 provides that if a request for the subsection is not going to be released (i.e. the release latches are not set in circuit 80) it is held and evaluated during the next clock period. It is held by causing latch 70 to hold the pending request.
  • CPU select encode circuit 88 encodes as a request number the number of the CPU making the reference request to the group.
  • the select encode out circuit 90 provides that the encoded CPU number (from circuit 88) is latched and presented to the memory (via circuit 54a of Figure 4A).
  • the bank and write busy circuit 92 keeps track of which of the banks is busy with a read or write reference.
  • the requested bank is set busy and write busy is set if a write is requested.
  • the above described reference control operates as follows. When a CPU (1 or more of 16) makes a reference request to a memory section, the go-section signal is ANDED with bit 9 and also bit 9 not. If bit 9 is a zero all of the reference control circuits 60 for the lower bank groups (banks 0 - 7) will receive a go-section signal. If bit 9 is a one the reference control circuits 60 for the upper bank groups (8-15) will receive a go section signal. A write request is sent to all reference control circuits 60 together with the ADDR 3 - 8 signals. When a request is presented to the control circuit 60 it is clocked into the latches 70. If the request is not for the bank group associated with circuit 60 (circuit 72 compares ADDR bits 3-5 and the 3 force IDs to determine this), circuit 84 will not issue a hold to the latch 70 so that it will be enabled to receive the next reference request presented to it.
  • circuit 72 will enable circuit 76 to evaluate the request provided that the requested bank is not busy (as determined by circuit 72). This evaluation, based on the priority counter, is passed on to circuit 78 to determine which reference request will be honored the clock period of the request.
  • Request arbitration circuit 78 looks at the priorities of each valid request and determines which request (CPU) should be honored/released in the present clock period, should a conflict exist between requested banks.
  • Circuit 80 merges the output of circuit 78 and the delay latches capture the CPU/Request to be honored (from circuit 78) and also captures the valid Subsection Request from the subsection selection circuit 74.
  • the bank and write decoder 82 decodes the bank and write numbers for each of the 16 CPUs/requests (there are sixteen parallel circuits for this).
  • Circuit 84 uses the release from circuit 80 and the decodes from decoder 82 to form set bank and set write signals.
  • Hold request circuit 86 uses the release from circuit 80 and the valid request from Selection circuit 74 to determine if the Request Register 70 should be allowed to clock or capture new information on the next clock cycle or hold a non-released reference for evaluation on the next clock cycle.
  • Circuit 88 uses the release from circuit 80 to encode the request/CPU number.
  • Select encode out 90 is a set of latches that present the encoded requesting CPU number to the referencing holding and selector circuits (circuits 30, 54 and 55 or Figure 4A, collectively). These signals tell the holding and selector circuits which CPU information, address, write data, etc. to send to the bank address register 59a and the bank write data register 59b.
  • Bank and write busy circuit 92 uses the set bank/write signals from circuit 84 to actually set the bank busy latches and the write busy latches. This information is then returned to the selector circuit 72 for the next reference request evaluation on the next clock period.
  • Circuit 60 also generates a go-bank signal to the bank address registers 59a. This is determined by a release and a bank decode, then delayed to meet the correct information from the reference holding and selector circuit at the bank address registers 59a.
  • a go-bank write signal is also generated by circuit 60 to the bank write data registers 59b. This is determined by a release and a bank write decode then delayed to meet the correct information from the reference holding and selector circuit at the bank write data register 59b.
  • Circuit 60 times each bank busy to be a designated number of clock periods (e.g. 5,6,7 or 8) in length, depending on the speed of the memory, with the number being programmable by two force signals sent from a clock control module (not shown).
  • a designated number of clock periods e.g. 5,6,7 or 8
  • circuit 60 Based upon bank busy timing, circuit 60 generates a signal which is delayed and presented to selector 39a at the correct time to sample read data. Also, circuit 60, based upon the bank busy timing, produces a signal which is delayed and presented to circuit 40 (Figure 4B) at the correct time to route the read data to the proper holding register (comprised of circuits 42, 43 and 44 of Figure 4B) for the requesting CPU. Circuit 40 routes the read data to the proper subsection register 43 (i.e. one of 0-7) based on which signal path 28 it is received on (i.e. based on its subsection of origin).
  • circuit 60 also includes a priority counter which is used to set the priority between CPUs.
  • the counter is 4 bits in length. After master clear it has a value of "o" and will increment only on command from the clock control module (not shown).
  • the counters for all circuits 60 are synchronized so that each has the same-value at the same time.
  • the counter can have values from 0 to 15, one for each CPU. The value of the count is the highest priority CPU.
  • CPU 12 has highest priorty and CPU 3 the lowest.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Nitrogen Condensed Heterocyclic Rings (AREA)

Claims (7)

  1. Multiprozessor-Computersystem, mit Mitteln zur gemeinsamen Benutzung eines Speichers von einer Vielzahl von Prozessoren, wobei jeder Prozessor eine Vielzahl von Ports zur Erzeugung von Speicherreferenzen besitzt, gekennzeichnet durch:
    a) eine Vielzahl von Speichersektionen (Sektionen 4-7), wobei jede Sektion mit jedem Prozessor durch einen separaten Speicherpfad (14) verbunden ist;
    b) eine Vielzahl von Speicheruntersektionen (20) in jeder Sektion, wobei jede Untersektion eine Vielzahl von Speichergruppen (Gruppen 0, 8), jede Gruppe eine Vielzahl von Speicherblöcken (52), und jeder Block eine Vielzahl von individuell adressierbaren Speicherbereichen enthält; und
    c) Mittel zum Verbinden der Speicherblöcke mit den separaten Speicherpfaden, so daß die Prozessoren den gemeinsam benutzten Speicher über die Ports referenzieren können, wobei die Mittel zum Verbinden für jede Sektion enthalten:
    Prozessor/Sektion-Schnittstellenmittel (25) für jede CPU, wobei die Prozessor/Sektion-Schnittstellenmittel zum Empfangen von Referenzen von einem zugehörigen Prozessor und zum Weiterleiten der Referenzen an die Untersektionen (20) in der Sektion vorgesehen sind;
    Gruppenschnittstellenmittel für jede Gruppe in jeder Untersektion, wobei die Gruppenschnittstellenmittel eine Vielzahl von Verriegelungen (30a, b) enthalten, für jeden Prozessor jeweils eine, und jede zum Empfangen von Referenzen einschließlich Adressinformation und Schreibdaten für die Gruppe von ihrem zugehörigen Prozessor vorgesehen ist;
    Verzweigungsmittel (25, 27) für jede Untersektion, um Referenzen von den Prozessor/Sektions-Schnittstellenmitteln an alle korrespondierenden Verriegelungen in den Gruppen der Untersektion zu leiten, so daß Verriegelungen für denselben Prozessor in allen Gruppen dieselben Referenzen zur selben Zeit empfangen;
    Gruppenebenen-Referenzmittel (54, 55, 57, 59) in jeder Gruppe zum Weiterleiten von Referenzen an die Blöcke (52), die in den Verriegelungen gespeichert sind, um individuelle Speicherbereiche zu adressieren; und
    Mittel zum Aussenden von Daten (40) von jeder Sektion zu jedem Prozessor.
  2. System nach Anspruch 1,
    dadurch gekennzeichnet, daß es weiterhin Referenzsteuerkreismittel (60) für jede Gruppe zur Steuerung von Referenzen für die Gruppe enthält, wobei jedes Referenzsteuerkreismittel enthält:
    a) Mittel zum Empfangen (70, 72, 74) einer Referenzanfrage von jedem Prozessor, die ein Go-Sektionssignal, ein Schreibe-Signal und Adress-Signale enthält, die den zu referenzierenden Speicher bezeichnen;
    b) Block-Besetzt-Mittel (92) zum Verfolgen, welche Blöcke der Gruppe besetzt sind; und
    c) antwortende Mittel (76-90) auf die Block-Besetzt-Mittel zur Bestimmung der Verfügbarkeit von zu referenzierenden Blöcken, zum Schlichten von Konflikten zwischen Anfragen, die von verschiedenen Prozessoren erzeugt wurden, und zum Steuern der Gruppenebenenreferenzmittel, um ausgewählte Referenzen dem Speicher zuzuweisen.
  3. System nach Anspruch 2,
    dadurch gekennzeichnet, daß das Referenzsteuerkreismittel (60) ein Prozessorprioritätszählwerk enthält, und daß die antwortenden Mittel weiterhin Mittel (78) enthalten, die auf das Prioritätszählwerk ansprechen und zum Schlichten von Konflikten basierend auf einer von dem Prioritätszählwerk ermittelten Priorität für jeden Prozessor vorgesehen sind, wobei die Prioritätszählwerke für alle Referenzsteuerkreismittel synchronisiert sind.
  4. System nach Anspruch 3,
    dadurch gekennzeichnet, daß die Referenzsteuerkreismittel Mittel zum Speichern von konkurrierenden Referenzen (70, 86) und zum Zurückschicken gespeicherter Referenzen im darauffolgenden Arbeitstakt des Systems enthalten, so daß die zurückgeschickte Referenz von dem Referenzsteuerkreismittel erneut ausgewertet wird.
  5. System nach Anspruch 4,
    dadurch gekennzeichnet, daß das Referenzsteuerkreismittel (60) auf eine Referenzanfrage anspricht, die von dem Status des Go-Sektionssignals abhängt.
  6. System nach Anspruch 5,
    dadurch gekennzeichnet, daß das Referenzsteuerkreismittel (60) Mittel (80) enthält, die bewirken, daß die Verriegelungen Anfragen verriegeln, die an eine zugehörige Gruppe gerichtet sind, so daß die Anfrage nachfolgend an den Speicher gegeben werden kann.
  7. System nach Anspruch 1,
    dadurch gekennzeichnet, daß das Mittel zum Leiten von Daten (40) eine Vielzahl von Datenausgabemitteln für jede Speichersektion enthält, wobei jedes Datenausgabemittel die ausgegebenen Daten für eine bestimmte Gruppe von Prozessoren in dem System handhabt, und jede der Datenausgabemittel für jeden Prozessor, für den es Ausgabedaten handhabt, enthält: Mittel (41a, b) zum Speichern eines Wortes aus Lesedaten für jede Untersektion in der Sektion und Mittel zum Leiten (42, 43, 44) eines gelesenen Datenwortes, das in dem Mittel zum Speichern enthalten ist, zu dem Speicherpfad für den Prozessor.
EP91909894A 1990-06-01 1991-02-06 Multiprozessor-system mit anteiliger nutzung eines speichers Expired - Lifetime EP0532542B1 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US531861 1990-06-01
US07/531,861 US5247637A (en) 1990-06-01 1990-06-01 Method and apparatus for sharing memory in a multiprocessor system
PCT/US1991/000821 WO1991019257A1 (en) 1990-06-01 1991-02-06 Method and apparatus for sharing memory in a multiprocessor system

Publications (2)

Publication Number Publication Date
EP0532542A1 EP0532542A1 (de) 1993-03-24
EP0532542B1 true EP0532542B1 (de) 1994-06-08

Family

ID=24119359

Family Applications (1)

Application Number Title Priority Date Filing Date
EP91909894A Expired - Lifetime EP0532542B1 (de) 1990-06-01 1991-02-06 Multiprozessor-system mit anteiliger nutzung eines speichers

Country Status (5)

Country Link
US (1) US5247637A (de)
EP (1) EP0532542B1 (de)
AT (1) ATE107055T1 (de)
DE (1) DE69102431T2 (de)
WO (1) WO1991019257A1 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481743A (en) * 1993-09-30 1996-01-02 Apple Computer, Inc. Minimal instruction set computer architecture and multiple instruction issue method
US5673415A (en) * 1993-12-03 1997-09-30 Unisys Corporation High speed two-port interface unit where read commands suspend partially executed write commands
ES2116852B1 (es) * 1994-08-29 1999-03-16 Univ Catalunya Politecnica Sincronizacion del acceso a memoria en multiprocesadores vectoriales.
US5623685A (en) * 1994-12-01 1997-04-22 Cray Research, Inc. Vector register validity indication to handle out-of-order element arrival for a vector computer with variable memory latency
US6012135A (en) * 1994-12-01 2000-01-04 Cray Research, Inc. Computer having multiple address ports, each having logical address translation with base and limit memory management
US5761455A (en) * 1995-02-06 1998-06-02 Cpu Technology, Inc. Dynamic bus reconfiguration logic
US5717646A (en) * 1996-12-05 1998-02-10 Kyi; Ben-I Random access multiport memory capable of simultaneously accessing memory cells from a plurality of interface ports
US6108756A (en) * 1997-01-17 2000-08-22 Integrated Device Technology, Inc. Semaphore enhancement to allow bank selection of a shared resource memory device
US6212607B1 (en) 1997-01-17 2001-04-03 Integrated Device Technology, Inc. Multi-ported memory architecture using single-ported RAM
US6081873A (en) * 1997-06-25 2000-06-27 Sun Microsystems, Inc. In-line bank conflict detection and resolution in a multi-ported non-blocking cache
US6862563B1 (en) 1998-10-14 2005-03-01 Arc International Method and apparatus for managing the configuration and functionality of a semiconductor design
US6701429B1 (en) 1998-12-03 2004-03-02 Telefonaktiebolaget Lm Ericsson(Publ) System and method of start-up in efficient way for multi-processor systems based on returned identification information read from pre-determined memory location
DE19937176A1 (de) * 1999-08-06 2001-02-15 Siemens Ag Multiprozessor-System
AU2001243463A1 (en) * 2000-03-10 2001-09-24 Arc International Plc Memory interface and method of interfacing between functional entities
KR20050079862A (ko) * 2004-02-07 2005-08-11 삼성전자주식회사 접근 금지 신호를 갖는 듀얼 포트 메모리 장치
US7539825B2 (en) * 2001-10-25 2009-05-26 Samsung Electronics Co., Ltd. Multi-port memory device providing protection signal
US20070223940A1 (en) * 2006-03-23 2007-09-27 Smolyaninov Igor I Plasmonic systems and devices utilizing surface plasmon polaritons
US8127113B1 (en) 2006-12-01 2012-02-28 Synopsys, Inc. Generating hardware accelerators and processor offloads
US9224454B2 (en) * 2013-10-25 2015-12-29 Cypress Semiconductor Corporation Multi-channel physical interfaces and methods for static random access memory devices
US9361973B2 (en) 2013-10-28 2016-06-07 Cypress Semiconductor Corporation Multi-channel, multi-bank memory with wide data input/output

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1218761B (de) * 1963-07-19 1966-06-08 International Business Machines Corporation, Armonk, N. Y. (V. St. A.) Datenspeidbereinrichtung
US3348210A (en) * 1964-12-07 1967-10-17 Bell Telephone Labor Inc Digital computer employing plural processors
FR2253421A5 (de) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
US4400771A (en) * 1975-12-04 1983-08-23 Tokyo Shibaura Electric Co., Ltd. Multi-processor system with programmable memory-access priority control
JPS5841538B2 (ja) * 1975-12-04 1983-09-13 株式会社東芝 マルチプロセツサシステム ノ ユウセンセイギヨホウシキ
US4212057A (en) * 1976-04-22 1980-07-08 General Electric Company Shared memory multi-microprocessor computer system
US4051551A (en) * 1976-05-03 1977-09-27 Burroughs Corporation Multidimensional parallel access computer memory system
US4402046A (en) * 1978-12-21 1983-08-30 Intel Corporation Interprocessor communication system
US4280176A (en) * 1978-12-26 1981-07-21 International Business Machines Corporation Memory configuration, address interleaving, relocation and access control system
JPS55112651A (en) * 1979-02-21 1980-08-30 Fujitsu Ltd Virtual computer system
US4449183A (en) * 1979-07-09 1984-05-15 Digital Equipment Corporation Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
US4365292A (en) * 1979-11-26 1982-12-21 Burroughs Corporation Array processor architecture connection network
US4392200A (en) * 1980-01-28 1983-07-05 Digital Equipment Corporation Cached multiprocessor system with pipeline timing
US4380798A (en) * 1980-09-15 1983-04-19 Motorola, Inc. Semaphore register including ownership bits
US4480304A (en) * 1980-10-06 1984-10-30 International Business Machines Corporation Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment
US4509140A (en) * 1980-11-10 1985-04-02 Wang Laboratories, Inc. Data transmitting link
KR860001434B1 (ko) * 1980-11-21 1986-09-24 후지쑤 가부시끼가이샤 데이타 처리시 스템
US4394727A (en) * 1981-05-04 1983-07-19 International Business Machines Corporation Multi-processor task dispatching apparatus
US4455602A (en) * 1981-05-22 1984-06-19 Data General Corporation Digital data processing system having an I/O means using unique address providing and access priority control techniques
DE3151120C2 (de) * 1981-12-23 1983-12-01 Siemens AG, 1000 Berlin und 8000 München Datenverarbeitungsanlage mit Arbeitsspeicher und mehreren in Serie geschalteten Prozessoren
US4442487A (en) * 1981-12-31 1984-04-10 International Business Machines Corporation Three level memory hierarchy using write and share flags
US4489381A (en) * 1982-08-06 1984-12-18 International Business Machines Corporation Hierarchical memories having two ports at each subordinate memory level
US4493036A (en) * 1982-12-14 1985-01-08 Honeywell Information Systems Inc. Priority resolver having dynamically adjustable priority levels
US4636942A (en) * 1983-04-25 1987-01-13 Cray Research, Inc. Computer vector multiprocessing control
US4630230A (en) * 1983-04-25 1986-12-16 Cray Research, Inc. Solid state storage device
EP0389001B1 (de) * 1983-04-25 1997-06-04 Cray Research, Inc. Mehrprozessorsteuerung für Vektorrechner
US4661900A (en) * 1983-04-25 1987-04-28 Cray Research, Inc. Flexible chaining in vector processor with selective use of vector registers as operand and result registers
US4901230A (en) * 1983-04-25 1990-02-13 Cray Research, Inc. Computer vector multiprocessing control with multiple access memory and priority conflict resolution method
US4754398A (en) * 1985-06-28 1988-06-28 Cray Research, Inc. System for multiprocessor communication using local and common semaphore and information registers
US4745545A (en) * 1985-06-28 1988-05-17 Cray Research, Inc. Memory reference control in a multiprocessor
US4945479A (en) * 1985-07-31 1990-07-31 Unisys Corporation Tightly coupled scientific processing system
US4766535A (en) * 1985-12-20 1988-08-23 International Business Machines Corporation High-performance multiple port memory

Also Published As

Publication number Publication date
WO1991019257A1 (en) 1991-12-12
US5247637A (en) 1993-09-21
DE69102431T2 (de) 1994-09-29
EP0532542A1 (de) 1993-03-24
ATE107055T1 (de) 1994-06-15
DE69102431D1 (de) 1994-07-14

Similar Documents

Publication Publication Date Title
EP0532542B1 (de) Multiprozessor-system mit anteiliger nutzung eines speichers
US5142638A (en) Apparatus for sharing memory in a multiprocessor system
US5016167A (en) Resource contention deadlock detection and prevention
US4745545A (en) Memory reference control in a multiprocessor
US5434970A (en) System for distributed multiprocessor communication
JP2574967B2 (ja) マルチプロセッサシステム用アービトレーション装置および同方法
US4875161A (en) Scientific processor vector file organization
US4636942A (en) Computer vector multiprocessing control
US4481572A (en) Multiconfigural computers utilizing a time-shared bus
EP0464715B1 (de) Warteschlangen für gegenseitige Verriegelung
JP2577865B2 (ja) ベクトル処理装置及びその制御方法
US5136500A (en) Multiple shared memory arrangement wherein multiple processors individually and concurrently access any one of plural memories
EP0242882A2 (de) Verfahren und Vorrichtung zur Speichersteuerung
CA1089107A (en) Channel bus controller
JPS62189549A (ja) 多重階層レベルマルチプロセツサ装置
US5165038A (en) Global registers for a multiprocessor system
EP0402891A2 (de) Multiprozessorsystem mit Vektorpipelinen
US5202970A (en) Method for sharing memory in a multiprocessor system
US5249297A (en) Methods and apparatus for carrying out transactions in a computer system
US5586289A (en) Method and apparatus for accessing local storage within a parallel processing computer
US5526487A (en) System for multiprocessor communication
US5036456A (en) Apparatus for controlling concurrent operations of a system control unit including activity register circuitry
US5367701A (en) Partitionable data processing system maintaining access to all main storage units after being partitioned
US5568631A (en) Multiprocessor system with a shared control store accessed with predicted addresses
EP0587370A1 (de) Verfahren und Vorrichtung zur gemeinsamen Nutzung von Software zwischen mehreren Steuerwerken

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

17P Request for examination filed

Effective date: 19921112

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IT LI LU NL SE

17Q First examination report despatched

Effective date: 19930826

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE CH DE DK ES FR GB GR IT LI LU NL SE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED.

Effective date: 19940608

Ref country code: LI

Effective date: 19940608

Ref country code: CH

Effective date: 19940608

Ref country code: DK

Effective date: 19940608

Ref country code: ES

Free format text: THE PATENT HAS BEEN ANNULLED BY A DECISION OF A NATIONAL AUTHORITY

Effective date: 19940608

Ref country code: AT

Effective date: 19940608

Ref country code: BE

Effective date: 19940608

Ref country code: NL

Effective date: 19940608

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 19940608

REF Corresponds to:

Ref document number: 107055

Country of ref document: AT

Date of ref document: 19940615

Kind code of ref document: T

REF Corresponds to:

Ref document number: 69102431

Country of ref document: DE

Date of ref document: 19940714

ET Fr: translation filed
PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Effective date: 19940908

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

NLV1 Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents act
PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Effective date: 19950206

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 19950228

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

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

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed
GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 19950206

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20080218

Year of fee payment: 18

Ref country code: DE

Payment date: 20080331

Year of fee payment: 18

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

Effective date: 20091030

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20090901

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20090302