US5907862A - Method and apparatus for the sharing of a memory device by multiple processors - Google Patents
Method and apparatus for the sharing of a memory device by multiple processors Download PDFInfo
- Publication number
- US5907862A US5907862A US08/683,547 US68354796A US5907862A US 5907862 A US5907862 A US 5907862A US 68354796 A US68354796 A US 68354796A US 5907862 A US5907862 A US 5907862A
- Authority
- US
- United States
- Prior art keywords
- processor
- access
- storage element
- processors
- memory device
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
Definitions
- the present invention relates generally to memory access techniques for use in processor-based circuits and systems. More particularly, the invention relates to techniques for sharing a single-port random access memory (RAM) or other memory device between multiple processors.
- RAM random access memory
- a typical multifunction controller may include several independent controllers, such as a floppy disk controller, one or more serial port controllers, a parallel port controller, and a keyboard/mouse interface controller, as well as other components such as an embedded microprocessor, a single-port random access memory (RAM), a host processor interface and a real time clock (RTC).
- the embedded microprocessor directs the operation of one or more of the controllers, and may also provide power management and other functions for the system in which the multifunction controller is installed.
- a computer system with a host processor and a multifunction controller having an embedded microprocessor thus represents one example of a multiple independent processor system.
- the multiple independent processors in such a system often need to access a shared memory device.
- both the host processor and the embedded microprocessor may need to access the single-port RAM.
- RAM has only a single processor interface, and therefore only one of the host or embedded processors can access the RAM at any given time.
- Conventional memory-sharing techniques attempt to solve this problem by allocating the single-port RAM to either the host processor or the embedded processor on a first-come, first-served basis rather than in accordance with any particular need-based protocol.
- Another approach may involve utilizing a dual-port RAM in place of the single-port RAM such that both processors have a separate interface into the RAM.
- these conventional approaches are inadequate in that neither processor is given exclusive and independent control of the RAM at any particular time.
- the improved techniques should provide a simple and efficient sharing mechanism which allows a particular processor to obtain exclusive control of the shared memory device for a particular period of time, and thereby minimizes the likelihood of interference with another system processor.
- the present invention provides a method and apparatus for controlling access of multiple processors to a shared memory device.
- An exemplary embodiment includes an embedded processor and a host processor, both of which share access to a single-port random access memory (RAM).
- An access control circuit is provided which includes a control register with a first storage element corresponding to the embedded processor and a second storage element corresponding to the host processor. The access control circuit utilizes access request bits stored in the first and second storage elements to generate a select signal which is applied to the select signal inputs of a group of multiplexers.
- the multiplexers select either the embedded processor or host processor control, address and data signal lines for connection to the single-port RAM.
- the access control circuit is configured such that the first processor to successfully set the access request bit in its corresponding storage element is granted temporary exclusive access to the RAM.
- the storage elements are interconnected such that the output of a given element drives a reset input of the other element. Once a given processor sets its access request bit and is thereby granted access to the shared RAM, the storage element interconnection prevents the other processor from setting its access request bit until the given processor relinquishes control of the RAM.
- a method which includes the steps of attempting to store for a given one of a plurality of processors a predetermined value in a given one of a corresponding plurality of control register storage elements; reading the contents of the given storage element; and allowing the given processor to access the memory device if the contents read from the given storage element correspond to the predetermined value.
- the control register storage elements may be single-bit storage elements.
- Each of the plurality of processors may be permitted to read all of the control register storage elements, but can write to only its particular corresponding storage element.
- the first processor which is able to successfully write the predetermined value to its corresponding storage element is granted temporary exclusive access to the shared memory device.
- the storage elements may be interconnected such that if any one of the elements contains the predetermined value, indicating that the corresponding processor has been granted access to the shared memory, all other storage elements are held in a reset state to prevent the other processors from storing the predetermined value. The other processors will again be eligible to access the shared memory after the processor accessing the memory relinquishes control by clearing its corresponding storage element.
- an apparatus for controlling the access of a plurality of processors to a shared memory device.
- the apparatus includes a group of multiplexers having processor signal inputs coupled to control, address and data signal lines of the plurality of processors and an output corresponding to signal lines of a selected one of the plurality of processors which has been granted access to the shared memory device.
- An access control circuit has an output coupled to a select signal input of the multiplexer, and includes a control register with a storage element corresponding to each of the plurality of processors. The access control circuit is operative to provide a select signal to the multiplexer indicating which of the plurality of processors has been granted access to the memory device by successfully storing a predetermined value in its corresponding control register storage element.
- the present invention allows multiple processors to share a single-port RAM or other memory device while avoiding the interference problems and other complications inherent in the prior art techniques.
- a memory-sharing protocol in accordance with the invention ensures that a given processor obtains a temporary exclusive access to the shared memory device, and that its access will not be interfered with by any other processor. Once the given processor relinquishes its access to the shared memory, all of the multiple processors may again attempt to gain access.
- the memory-sharing protocol may be implemented in computers and other processor-based systems using relatively simple multiplexing and control register circuitry.
- FIG. 1 is a block diagram of an exemplary system which implements a memory-sharing protocol in accordance with the present invention.
- FIG. 2 is a schematic diagram of an access control logic circuit suitable for use in the system of FIG. 1.
- FIG. 3A is a flow diagram illustrating the manner in which an embedded processor accesses a shared memory device in accordance with the invention.
- FIG. 3B is a flow diagram illustrating the manner in which a host processor accesses a shared memory device in accordance with the invention.
- the present invention will be illustrated below in conjunction with an exemplary processing system which includes a host processor.
- the exemplary system also includes an embedded microprocessor which may be part of a multifunction controller or other application-specific integrated circuit (ASIC).
- ASIC application-specific integrated circuit
- the invention is more broadly applicable to memory sharing in numerous alternative applications.
- the memory sharing techniques described herein may be used in any processor-based system in which two or more processors need to access a common memory device.
- the invention is illustrated using a single-port random access memory (RAM) as the shared memory device, it will be readily apparent to those skilled in the art that the described techniques are also suitable for use with other types of memory devices.
- RAM single-port random access memory
- FIG. 1 is a block diagram of an exemplary processing system 10 which includes memory sharing features in accordance with the present invention.
- the system 10 may represent a portion of a personal computer (PC) or a portion of another type of processing system.
- PC personal computer
- the system 10 includes an embedded processor 12, a host processor 14 and a single-port static RAM 15.
- the embedded microprocessor 12 and RAM 15 may be part of a multifunction controller installed within the PC, while the host processor corresponds to the primary PC microprocessor.
- the embedded processor 12 is an 8051 8-bit microprocessor of the type available from Intel and the single-port RAM is a 128-byte static memory device.
- other types of processors and memory devices could be used in alternative embodiments.
- the system 10 further includes a control multiplexer 16, an address multiplexer 17 and a data multiplexer 18.
- An access control logic circuit 20 determines whether the embedded (E) processor 12 or the host (H) processor 14 will control the RAM 15.
- the access control logic circuit 20 supplies a select signal SEL E to the multiplexers 16, 17 and 18 via line 19.
- the select signal SEL E determines whether the control, address and data input signals supplied to the RAM 15 from the multiplexers 16, 17 and 18 will be from the embedded processor 12 or the host processor 14.
- Typical control signals supplied to the RAM 15 in the system of FIG. 1 may include read control, write control, chip enable and output enable signals.
- the access control logic circuit 20 is designed in accordance with the invention to avoid undesired activation of the RAM control signals when switching RAM access between the embedded and host processors, and thus preserves the data integrity of the RAM during the switching operation.
- the access control logic circuit 20 communicates with the embedded processor 12 via an embedded processor interface 22 and with the host processor 14 via a host processor interface 24.
- the access control circuit 20 also provides read enable signals RD E and RD H on lines 25, 26, respectively.
- the signals RD E and RD H determine whether the output of the RAM 15 will be driven via buffer 28 onto the data bus of the embedded processor 12 or via buffer 29 onto the data bus of the host processor 14.
- the RAM 15 has separate data input and data output lines, the memory-sharing techniques of the present invention are also applicable to memory devices with common input/output data lines.
- FIG. 2 is a schematic diagram of an exemplary implementation of the access control logic circuit 20 in accordance with the present invention.
- the circuit 20 includes a shared access control register which in this embodiment comprises D-type flip-flops U1, U2 and U3.
- the control register stores three bits which control the memory-sharing protocol of the present invention in a manner to be described in greater detail below. These bits are a "Smart Host" (SH) bit stored in U1, an embedded processor access request bit (REQ E) stored in U2 and a host processor access request bit (REQ H) stored in U3.
- SH Smart Host
- REQ E embedded processor access request bit
- REQ H host processor access request bit
- the host processor 14 accesses the control register via a DATA OUT H bus 50 and a DATA IN H bus 52.
- the host processor 14 can read the SH, REQ E and REQ H bits from the control register flip-flops U1, U2 and U3 by activating the READC H control signal on line 54. This enables the output buffers B1, B2 and B3 such that the contents of the control register flip-flops U1, U2 and U3 are driven onto the host processor DATA OUT H bus 50.
- the host processor 14 is able to write the REQ H bit to flip-flop U3 by activating the WRITEC H control signal which is applied via inverter U10 to the clock input of the flip-flop U3.
- Activation of the WRITEC H control signal causes a REQ H value supplied on the host processor DATA IN H bus 52 to be loaded into the flip-flop U3, provided U3 is not held in a reset mode by a high REQ E bit or a low SH bit supplied to the reset input of U3 via NOR gate U5.
- the embedded processor 12 accesses the control register flip-flops U1, U2 and U3 via a DATA OUT E bus 60 and a DATA IN E bus 62.
- the embedded processor 12 can read the SH, REQ E and REQ H bits from the control register flip-flops U1, U2 and U3 by activating the READC E control signal on line 64. This enables the output buffers B4, B5 and B6 such that the contents of the control register flip-flops U1, U2 and U3 are driven onto the embedded processor DATA OUT E bus 60.
- the embedded processor 12 is able to write the SH and REQ E bits to flip-flops U1 and U2, respectively, by activating the WRITEC E control signal which is applied via inverter U11 to the clock inputs of the flip-flops U1 and U2. Activation of the WRITEC E control signal causes SH and REQ E values supplied on the embedded processor DATA IN E bus 62 to be loaded into the control register flip-flops U1 and U2. The U2 flip-flop will not be written if U2 is held in a reset mode by a high REQ H bit supplied to the reset input of U2 via NOR gate U4.
- the SH, REQ E and REQ H bits stored in control register flip-flops U1, U2 and U3 may be reset during a system initialization by a reset signal applied to line 70.
- the reset signal on line 70 is applied via an inverter U7 to the reset input of U1, and via NOR gates U4 and U5 to the reset inputs of U2 and U3, respectively.
- the SH bit stored in flip-flop U1 of the access control register of FIG. 2 determines whether or not the memory-sharing protocol of the present invention is enabled. If the SH bit is not set, the memory-sharing protocol is not enabled and only the host processor 14 is permitted to access the RAM 15. This feature of the invention is useful in applications in which the host processor 14 is executing code which is unaware of the memory-sharing protocol and thus assumes that the host processor has exclusive control of the RAM 15. If the embedded processor 12 were to take control of the RAM 15 in such a situation, the data integrity of the RAM 15 could be compromised. This is because the host processor 14 would be unaware that the embedded processor may have changed the RAM contents. As noted above, the SH bit stored in flip-flop U1 is controlled by the WRITEC E signal applied to the clock input of U1 via inverter U11 and the data value supplied on the DATA IN E bus 62.
- both the embedded processor 12 and the host processor 14 may request control of the RAM 15 by attempting to set the REQ E and REQ H bits, respectively.
- the flip-flop U2 storing the REQ E bit is writable only by the embedded processor 12 via the WRITEC E signal
- the flip-flop U3 storing the REQ H bit is writable only by the host processor 14 via the WRITEC H signal.
- Both the REQ E and REQ H bits may be read by both the embedded and host processors at any time so that these processors may determine if a particular processor already has control of the RAM 15.
- the embedded processor 12 requests control of the RAM 15 by attempting to write a logic "1" to flip-flop U2 and then reading back the contents of U2 to determine if the REQ E bit was set by the write operation. If the REQ E bit is read back as a "1", then the RAM 15 is controlled by the embedded processor 12.
- the host processor 14 requests control of the RAM 15 by attempting to write a logic "1" to flip-flop U3 and then reading back the contents of U3 to determine if the REQ H bit was set by the write operation. If the REQ H bit is read back as a "1", then the RAM 15 is controlled by the host processor 14.
- the access control logic circuit of FIG. 2 is configured such that only one of the REQ E or REQ H bits can be set at given time. In addition, once either the REQ E or REQ H bit is set, it must be cleared before the other processor can take control of the RAM 15.
- the circuit of FIG. 2 uses NOR gates U4 and U5 to ensure that only one of the request bits is set at a time.
- the REQ H bit stored in U3 is applied via NOR gate U4 to the reset input of U2, such that if REQ H is set it will hold U2 cleared and prevent the setting of the REQ E bit.
- the access control logic circuit of FIG. 2 includes an AND gate U6 which receives as its inputs the SH bit stored in U1, and the REQ E bit stored in U2. If the SH bit is not set, the AND gate U6 in conjunction with inverter U12 forces the select signal SEL E to a logic "0" level.
- the SEL E signal is applied to the select signal inputs of the multiplexers 16, 17 and 18 of FIG. 1 such that the multiplexers are automatically configured to pass the host processor control, address and data input signals to the RAM 15. If the SH and REQ E bits are set, the select signal SEL E is at a logic "1" level, which causes the multiplexers 16, 17 and 18 to pass the embedded processor control, address and input data signals to the RAM 15.
- the select signal SEL E is at a logic "0" level, which causes the multiplexers 16, 17 and 18 to pass the host processor control, address and input data signals to the RAM 15.
- the gate U6 in conjunction with a non-set SH bit serves to override the REQ E and REQ H bits stored in the control register and to select automatically the host processor interface to the RAM 15.
- the access control logic circuit of FIG. 2 also includes AND gates U8 and U9 which serve to generate the output read enable signals RD E and RD H. These enable signals RD E and RD H drive the respective enable inputs of the buffers 28, 29 as shown in FIG. 1.
- the AND gate U8 receives as its input the signals SEL E and READD E. If both of these input signals are at a logic "1" level, the buffer 28 is enabled to supply the data output from the RAM 15 to the embedded processor 12.
- the AND gate U9 receives the signals SEL H and READD H, where SEL H is the complement of SEL E as provided by inverter U12.
- the output of U9 is therefore at a logic "0" when the output of U8 is at a logic "1", such that the buffer 29 is not enabled when the buffer 28 is enabled. If both SEL H and READD H are at a logic "1" level, the output of U9 is at a logic "1" level and the buffer 29 is enabled to supply the data output from the RAM 15 to the host processor 12, while the buffer 28 is not enabled.
- FIGS. 3A and 3B summarize the operation of the memory-sharing protocol implemented in system 10 of FIG. 1 using the exemplary access control logic circuit 20 of FIG. 2.
- the process steps shown assume that the SH bit is at a logic "1" level such that both the embedded processor 12 and the host processor 14 can attempt to access the RAM 15.
- FIG. 3A shows an exemplary set of steps performed by the embedded processor 12 in attempting to access the RAM 15.
- the embedded processor 12 in step 100 reads the contents of control register flip-flops U2 and U3 to determine the values of the REQ E and REQ H bits.
- step 102 a determination is made as to whether both of these bits are a logic "0". If both bits are not a logic "0", this indicates that access to the RAM has already been granted to one of the processors. If the REQ E bit is set, the embedded processor has already been granted access to the RAM, and it can therefore proceed to access the RAM. If the REQ H bit is set, the host processor has already been granted access, and the embedded processor is temporarily prevented from
- both of the REQ E and REQ H bits are a logic "0"
- the embedded processor therefore attempts to write a "1" to the REQ E bit in the control register flip-flop U2, and then reads back the REQ E bit from U2 as shown in step 104. If the read-back REQ E bit is a "1”, this indicates that the embedded processor has been granted access to the RAM 15 as shown in step 108. If the read-back REQ E bit is a "0”, this indicates that the embedded processor was unable to obtain access to the RAM 15, and the process then returns to step 104.
- the embedded processor may have been unable to write a "1" to the REQ E bit because the host processor had meanwhile written a "1" to the REQ H bit, which as noted above would have the effect of forcing the REQ E bit to remain in a cleared state.
- a processor once a processor is granted access to the RAM, that processor retains exclusive control of the RAM until its access request bit is cleared. If the embedded processor is initially unable to obtain access, which indicates that the host processor has already been granted access, the embedded processor may periodically repeat steps 104 and 106 until after the host processor clears the REQ H bit and thereby allows the REQ E bit to be set.
- FIG. 3B shows an exemplary set of steps performed by the host processor 14 in attempting to access the RAM 15.
- the host processor 14 in step 120 reads the contents of control register flip-flops U2 and U3 to determine the values of the REQ E and REQ H bits.
- step 122 a determination is made as to whether both of these bits are a logic "0". If both bits are not a logic "0", this indicates that access to the RAM has already been granted to one of the processors. If the REQ H bit is set, the host processor has already been granted access to the RAM, and it can therefore proceed to access the RAM. If the REQ E bit is set, the embedded processor has been granted access, and the host processor is temporarily prevented from accessing the RAM.
- both the REQ E and REQ H bits are a logic "0"
- the host processor therefore attempts to write a "1" to the REQ H bit in the control register flip-flop U3, and then reads back the REQ H bit from U3 as shown in step 124. If the read-back REQ H bit is a "1”, this indicates that the host processor has been granted access to the RAM 15 as shown in step 128. If the read-back REQ H bit is a "0”, this indicates that the host processor was unable to obtain access to the RAM 15, and the process then returns to step 124.
- the host processor may have been unable to write a "1" to the REQ H bit because the embedded processor had meanwhile written a "1" to the REQ E bit, which as noted above would have the effect of forcing the REQ H bit to remain in a cleared state. If the host processor is initially unable to obtain access, which indicates that the embedded processor has already been granted access, the host processor may periodically repeat steps 124 and 126 until after the embedded processor clears the REQ E bit and thereby allows the REQ H bit to be set.
- the above-described memory access control techniques may be readily extended to applications with more than two processors by expanding the number of multiplexer inputs in the multiplexers 16, 17 and 18 of FIG. 1 and including an additional request bit storage element in the control register of FIG. 2 for each additional processor.
- the system of FIG. 1 could be configured to allow four processors to access the RAM 15 by utilizing four-input multiplexers, four request bit storage elements, and appropriate logic circuitry to generate a two-bit select signal from the stored request bits.
Abstract
Description
TABLE 1 ______________________________________ SH REQ E REQ H PROCESSOR ______________________________________ 0 X XHOST 1 0 0NONE 1 1 0 EMBEDDED 1 0 1 HOST ______________________________________
Claims (18)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/683,547 US5907862A (en) | 1996-07-16 | 1996-07-16 | Method and apparatus for the sharing of a memory device by multiple processors |
TW086109707A TW340922B (en) | 1996-07-16 | 1997-07-10 | Method and apparatus for sharing of a memory device by multiple processors |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/683,547 US5907862A (en) | 1996-07-16 | 1996-07-16 | Method and apparatus for the sharing of a memory device by multiple processors |
Publications (1)
Publication Number | Publication Date |
---|---|
US5907862A true US5907862A (en) | 1999-05-25 |
Family
ID=24744496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/683,547 Expired - Lifetime US5907862A (en) | 1996-07-16 | 1996-07-16 | Method and apparatus for the sharing of a memory device by multiple processors |
Country Status (2)
Country | Link |
---|---|
US (1) | US5907862A (en) |
TW (1) | TW340922B (en) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6163828A (en) * | 1998-05-22 | 2000-12-19 | Lucent Technologies Inc. | Methods and apparatus for providing multi-processor access to shared memory |
US6189076B1 (en) * | 1997-11-14 | 2001-02-13 | Lucent Technologies, Inc. | Shared synchronous memory with a switching circuit controlled by an arbiter and method for glitch free switching of a clock signal |
WO2001025921A1 (en) * | 1999-10-01 | 2001-04-12 | Sun Microsystems, Inc. | An arbitration protocol for a shared data cache |
US6385704B1 (en) * | 1997-11-14 | 2002-05-07 | Cirrus Logic, Inc. | Accessing shared memory using token bit held by default by a single processor |
US20030065838A1 (en) * | 2001-09-28 | 2003-04-03 | Eidson Mark E. | Method and system for attaching multiple clock sources to an SDRAM memory array |
US20030188060A1 (en) * | 2002-03-28 | 2003-10-02 | International Business Machines Corporation | System and method for sharing PCI bus devices |
US6647468B1 (en) * | 1999-02-26 | 2003-11-11 | Hewlett-Packard Development Company, L.P. | Method and system for optimizing translation buffer recovery after a miss operation within a multi-processor environment |
US20040088459A1 (en) * | 2000-09-13 | 2004-05-06 | Sonya Gary | Shared peripheral architecture |
US6763437B1 (en) | 2000-09-07 | 2004-07-13 | Maxtor Corporation | Control system, storage device and method for controlling access to a shared memory using a bus control or handshaking protocol |
US20040177224A1 (en) * | 2003-03-07 | 2004-09-09 | Patrick Devaney | Local memory with ownership that is transferrable between neighboring processors |
US20040193668A1 (en) * | 2003-03-31 | 2004-09-30 | Patrick Devaney | Virtual double width accumulators for vector processing |
US20040193838A1 (en) * | 2003-03-31 | 2004-09-30 | Patrick Devaney | Vector instructions composed from scalar instructions |
US20040193835A1 (en) * | 2003-03-31 | 2004-09-30 | Patrick Devaney | Table lookup instruction for processors using tables in local memory |
US20040193837A1 (en) * | 2003-03-31 | 2004-09-30 | Patrick Devaney | CPU datapaths and local memory that executes either vector or superscalar instructions |
US20070130334A1 (en) * | 2002-06-13 | 2007-06-07 | Carley Jeffrey A | Out-of-band remote management station |
US20080072291A1 (en) * | 2002-06-13 | 2008-03-20 | Carley Jeffrey A | Secure management access control for computers, embedded and card embodiment |
US20090083565A1 (en) * | 2007-09-21 | 2009-03-26 | Freescale Semiconductor, Inc. | Sdram sharing using a control surrogate |
US20090187966A1 (en) * | 2003-10-01 | 2009-07-23 | Engedi Technologies, Inc. | Near real-time multi-party task authorization access control |
GB2458499A (en) * | 2008-03-20 | 2009-09-23 | Cambridge Silicon Radio Ltd | Sharing access to a data store by a host processor and a signal processor in a mobile phone |
US20100036979A1 (en) * | 2008-08-05 | 2010-02-11 | Berenbaum Alan D | External Direct Memory Access of Embedded Controller Memory |
US20110194470A1 (en) * | 2002-08-09 | 2011-08-11 | Interdigital Technology Corporation | Efficient memory allocation in a wireless transmit/receiver unit |
US8621159B2 (en) | 2009-02-11 | 2013-12-31 | Rambus Inc. | Shared access memory scheme |
US9355021B2 (en) | 2006-07-27 | 2016-05-31 | Rambus Inc. | Cross-threaded memory system |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI826252B (en) * | 2022-12-21 | 2023-12-11 | 瑞昱半導體股份有限公司 | Method for sharing a storage device among multiple processors and associated electronic device |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4009470A (en) * | 1975-02-18 | 1977-02-22 | Sperry Rand Corporation | Pre-emptive, rotational priority system |
US4282572A (en) * | 1979-01-15 | 1981-08-04 | Ncr Corporation | Multiprocessor memory access system |
US4539656A (en) * | 1982-11-01 | 1985-09-03 | Gte Automatic Electric Incorporated | Memory access selection circuit |
US4549273A (en) * | 1982-12-10 | 1985-10-22 | Ael Microtel Limited | Memory access control circuit |
US4698753A (en) * | 1982-11-09 | 1987-10-06 | Texas Instruments Incorporated | Multiprocessor interface device |
US4803618A (en) * | 1985-01-19 | 1989-02-07 | Panafacom Limited | Multiprocessor system having common memory |
US5202887A (en) * | 1989-06-21 | 1993-04-13 | Hitachi, Ltd. | Access control method for shared duplex direct access storage device and computer system therefor |
US5265223A (en) * | 1991-08-07 | 1993-11-23 | Hewlett-Packard Company | Preservation of priority in computer bus arbitration |
US5408627A (en) * | 1990-07-30 | 1995-04-18 | Building Technology Associates | Configurable multiport memory interface |
US5524255A (en) * | 1989-12-29 | 1996-06-04 | Cray Research, Inc. | Method and apparatus for accessing global registers in a multiprocessor system |
-
1996
- 1996-07-16 US US08/683,547 patent/US5907862A/en not_active Expired - Lifetime
-
1997
- 1997-07-10 TW TW086109707A patent/TW340922B/en not_active IP Right Cessation
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4009470A (en) * | 1975-02-18 | 1977-02-22 | Sperry Rand Corporation | Pre-emptive, rotational priority system |
US4282572A (en) * | 1979-01-15 | 1981-08-04 | Ncr Corporation | Multiprocessor memory access system |
US4539656A (en) * | 1982-11-01 | 1985-09-03 | Gte Automatic Electric Incorporated | Memory access selection circuit |
US4698753A (en) * | 1982-11-09 | 1987-10-06 | Texas Instruments Incorporated | Multiprocessor interface device |
US4549273A (en) * | 1982-12-10 | 1985-10-22 | Ael Microtel Limited | Memory access control circuit |
US4803618A (en) * | 1985-01-19 | 1989-02-07 | Panafacom Limited | Multiprocessor system having common memory |
US5202887A (en) * | 1989-06-21 | 1993-04-13 | Hitachi, Ltd. | Access control method for shared duplex direct access storage device and computer system therefor |
US5524255A (en) * | 1989-12-29 | 1996-06-04 | Cray Research, Inc. | Method and apparatus for accessing global registers in a multiprocessor system |
US5408627A (en) * | 1990-07-30 | 1995-04-18 | Building Technology Associates | Configurable multiport memory interface |
US5265223A (en) * | 1991-08-07 | 1993-11-23 | Hewlett-Packard Company | Preservation of priority in computer bus arbitration |
Non-Patent Citations (2)
Title |
---|
O Krafka et al., An Empirical Evaluation of Two Memory Efficient Directory Methods , IEEE, p. 139, paragraph 9, 1990. * |
O'Krafka et al., "An Empirical Evaluation of Two Memory-Efficient Directory Methods", IEEE, p. 139, paragraph 9, 1990. |
Cited By (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6189076B1 (en) * | 1997-11-14 | 2001-02-13 | Lucent Technologies, Inc. | Shared synchronous memory with a switching circuit controlled by an arbiter and method for glitch free switching of a clock signal |
US6385704B1 (en) * | 1997-11-14 | 2002-05-07 | Cirrus Logic, Inc. | Accessing shared memory using token bit held by default by a single processor |
US6163828A (en) * | 1998-05-22 | 2000-12-19 | Lucent Technologies Inc. | Methods and apparatus for providing multi-processor access to shared memory |
US6647468B1 (en) * | 1999-02-26 | 2003-11-11 | Hewlett-Packard Development Company, L.P. | Method and system for optimizing translation buffer recovery after a miss operation within a multi-processor environment |
US20040088499A1 (en) * | 1999-02-26 | 2004-05-06 | Woodward James Alan | Method and system for optimizing translation buffer recovery after a miss operation within a multi-processor environment |
US6865651B2 (en) | 1999-02-26 | 2005-03-08 | Hewlett-Packard Development Company, L.P. | Method and system for optimizing translation buffer recovery after a miss operation within a multi-processor environment |
US6704822B1 (en) | 1999-10-01 | 2004-03-09 | Sun Microsystems, Inc. | Arbitration protocol for a shared data cache |
JP2003511755A (en) * | 1999-10-01 | 2003-03-25 | サン・マイクロシステムズ・インコーポレイテッド | Arbitration protocol for shared data cache |
JP4714396B2 (en) * | 1999-10-01 | 2011-06-29 | オラクル・アメリカ・インコーポレイテッド | Arbitration protocol for shared data cache |
WO2001025921A1 (en) * | 1999-10-01 | 2001-04-12 | Sun Microsystems, Inc. | An arbitration protocol for a shared data cache |
US6763437B1 (en) | 2000-09-07 | 2004-07-13 | Maxtor Corporation | Control system, storage device and method for controlling access to a shared memory using a bus control or handshaking protocol |
US20040088459A1 (en) * | 2000-09-13 | 2004-05-06 | Sonya Gary | Shared peripheral architecture |
US6915367B2 (en) * | 2000-09-13 | 2005-07-05 | Stmicroelectronics, Inc. | Shared peripheral architecture |
US20030065838A1 (en) * | 2001-09-28 | 2003-04-03 | Eidson Mark E. | Method and system for attaching multiple clock sources to an SDRAM memory array |
US20030188060A1 (en) * | 2002-03-28 | 2003-10-02 | International Business Machines Corporation | System and method for sharing PCI bus devices |
US7185341B2 (en) * | 2002-03-28 | 2007-02-27 | International Business Machines Corporation | System and method for sharing PCI bus devices |
US20070130334A1 (en) * | 2002-06-13 | 2007-06-07 | Carley Jeffrey A | Out-of-band remote management station |
US7886340B2 (en) | 2002-06-13 | 2011-02-08 | Engedi Technologies | Secure remote management appliance |
US8745219B2 (en) | 2002-06-13 | 2014-06-03 | Infinite Bay Telecom Limited Liability Company | Out-of-band remote management station |
US8474016B2 (en) * | 2002-06-13 | 2013-06-25 | Infinite Bay Telecom Limited Liability Company | Secure management access control for computers, embedded and card embodiment |
US20080072291A1 (en) * | 2002-06-13 | 2008-03-20 | Carley Jeffrey A | Secure management access control for computers, embedded and card embodiment |
US8559452B2 (en) | 2002-08-09 | 2013-10-15 | Interdigital Technology Corporation | Efficient memory allocation in a wireless transmit/receiver unit |
US20110194470A1 (en) * | 2002-08-09 | 2011-08-11 | Interdigital Technology Corporation | Efficient memory allocation in a wireless transmit/receiver unit |
US20040177224A1 (en) * | 2003-03-07 | 2004-09-09 | Patrick Devaney | Local memory with ownership that is transferrable between neighboring processors |
US20040193838A1 (en) * | 2003-03-31 | 2004-09-30 | Patrick Devaney | Vector instructions composed from scalar instructions |
US20040193837A1 (en) * | 2003-03-31 | 2004-09-30 | Patrick Devaney | CPU datapaths and local memory that executes either vector or superscalar instructions |
US20040193835A1 (en) * | 2003-03-31 | 2004-09-30 | Patrick Devaney | Table lookup instruction for processors using tables in local memory |
US20040193668A1 (en) * | 2003-03-31 | 2004-09-30 | Patrick Devaney | Virtual double width accumulators for vector processing |
US20090187966A1 (en) * | 2003-10-01 | 2009-07-23 | Engedi Technologies, Inc. | Near real-time multi-party task authorization access control |
US7941829B2 (en) | 2003-10-01 | 2011-05-10 | Engedi Technologies | Near real-time multi-party task authorization access control |
US20110179470A1 (en) * | 2003-10-01 | 2011-07-21 | Engedi Technologies, Inc. | Near real-time multi-party task authorization access control |
US8341707B2 (en) | 2003-10-01 | 2012-12-25 | Infinite Bay Telecom Limited Liability Company | Near real-time multi-party task authorization access control |
US11194749B2 (en) | 2006-07-27 | 2021-12-07 | Rambus Inc. | Cross-threaded memory system |
US10268619B2 (en) | 2006-07-27 | 2019-04-23 | Rambus Inc. | Cross-threaded memory system |
US9355021B2 (en) | 2006-07-27 | 2016-05-31 | Rambus Inc. | Cross-threaded memory system |
US20090083565A1 (en) * | 2007-09-21 | 2009-03-26 | Freescale Semiconductor, Inc. | Sdram sharing using a control surrogate |
US7941594B2 (en) | 2007-09-21 | 2011-05-10 | Freescale Semiconductor, Inc. | SDRAM sharing using a control surrogate |
GB2458499A (en) * | 2008-03-20 | 2009-09-23 | Cambridge Silicon Radio Ltd | Sharing access to a data store by a host processor and a signal processor in a mobile phone |
US7979601B2 (en) | 2008-08-05 | 2011-07-12 | Standard Microsystems Corporation | External direct memory access of embedded controller memory |
US20100036979A1 (en) * | 2008-08-05 | 2010-02-11 | Berenbaum Alan D | External Direct Memory Access of Embedded Controller Memory |
US8621159B2 (en) | 2009-02-11 | 2013-12-31 | Rambus Inc. | Shared access memory scheme |
Also Published As
Publication number | Publication date |
---|---|
TW340922B (en) | 1998-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5907862A (en) | Method and apparatus for the sharing of a memory device by multiple processors | |
CA2307816C (en) | Buffering data that flows between buses operating at different frequencies | |
US4415972A (en) | Dual port memory interlock | |
US5041962A (en) | Computer system with means for regulating effective processing rates | |
CA2119401C (en) | Computer system which overrides write protection status during execution in system management mode | |
US4282572A (en) | Multiprocessor memory access system | |
US6795901B1 (en) | Shared memory interface with conventional access and synchronization support | |
JP2004030551A (en) | Method for dividing large capacity memory storage device | |
CN107017014B (en) | Dynamic containerized system memory protection for low energy MCU | |
JPH09146878A (en) | System and method for data processing | |
US20030149820A1 (en) | Hardware semaphore intended for a multi-processor system | |
US6446149B1 (en) | Self-modifying synchronization memory address space and protocol for communication between multiple busmasters of a computer system | |
US5845130A (en) | Mailbox traffic controller | |
US6279066B1 (en) | System for negotiating access to a shared resource by arbitration logic in a shared resource negotiator | |
US6925569B2 (en) | Secured microprocessor comprising a system for allocating rights to libraries | |
US11403003B2 (en) | Memory access | |
US6502150B1 (en) | Method and apparatus for resource sharing in a multi-processor system | |
US20030009532A1 (en) | Multiprocessor system having a shared main memory | |
US20030188076A1 (en) | Opaque memory region for I/O adapter transparent bridge | |
US20110145491A1 (en) | Method for controlling access to regions of a memory from a plurality of processes and a communication module having a message memory for implementing the method | |
US20010007114A1 (en) | Control apparatus and control method | |
JP3049125B2 (en) | CPU interrupt controller | |
US6453375B1 (en) | Method and apparatus for obtaining coherent accesses with posted writes from multiple software drivers | |
CN117389767A (en) | Data exchange method and device for shared storage pool based on SOC (system on chip) | |
JPH0351943A (en) | Sharing system for high/low speed bus lines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: STANDARD MICROSYSTEMS CORPORATION, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SMALLEY, KENNETH GEORGE;REEL/FRAME:008202/0747 Effective date: 19960913 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
CC | Certificate of correction | ||
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: STANDARD MEMS, INC., MASSACHUSETTS Free format text: RELEASE OF PATENT SECURITY AGREEMENT;ASSIGNOR:KAVLICO CORPORATION;REEL/FRAME:014210/0141 Effective date: 20030520 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FPAY | Fee payment |
Year of fee payment: 12 |
|
AS | Assignment |
Owner name: MICROCHIP TECHNOLOGY INCORPORATED, ARIZONA Free format text: MERGER;ASSIGNOR:STANDARD MICROSYSTEMS CORPORATION;REEL/FRAME:044865/0164 Effective date: 20120501 |