US5544331A - System and method for generating a read-modify-write operation - Google Patents
System and method for generating a read-modify-write operation Download PDFInfo
- Publication number
- US5544331A US5544331A US08/128,720 US12872093A US5544331A US 5544331 A US5544331 A US 5544331A US 12872093 A US12872093 A US 12872093A US 5544331 A US5544331 A US 5544331A
- Authority
- US
- United States
- Prior art keywords
- bus
- data
- coupled
- read
- adapter
- 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 OR CALCULATING; 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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/36—Handling requests for interconnection or transfer for access to common bus or bus system
Definitions
- the present invention relates generally to computer based systems and methods, and more particularly to computer based systems and methods for generating a read-modify-write operation.
- Some computer systems support a read-modify-write (R/M/W) operation.
- the following operations occur during the processing of a R/M/W operation in a computer system.
- a processor reads data from a memory location of a memory device over a bus.
- the processor modifies the data in some way.
- the processor writes the modified data to the memory location of the memory device over the bus.
- the read, modify, and write operations which comprise a R/M/W operation are performed atomically. That is, the read, modify, and write operations are performed during a single memory cycle (or during one indivisible acquisition of the memory system) such that, once the R/M/W operation is initiated, it is not possible for any device (other that the processor) to access the data contained in the memory location of the memory device until after the write portion of the R/M/W operation is complete.
- R/M/W operations are useful for implementing semaphores and various lock operations, such as test and set operations.
- the classical test and set operation involves reading data from a memory location, modifying the data, writing the modified data to the memory location, and returning the unmodified data to the requestor of the test and set operation.
- Test and set operations and other locking mechanisms are discussed in a number of publicly available documents, such as Computer Architecture A Quantitative Approach by Hennessy and Patterson (Morgan Kaufmann Publishers, 1990).
- the present invention is directed to a computer based system comprising a first bus and a second bus.
- the second bus is non-transaction based such that when control of the second bus is granted to a second bus requestor, the second bus requestor retains control of the second bus until the second bus requestor releases its control of the second bus.
- the system also includes a bus adapter which is coupled to the first bus and the second bus.
- the bus adapter includes first means for determining whether the bus adapter has been addressed using a predetermined trigger address by a first device connected to the first bus, and second means for acquiring the second bus.
- the bus adapter also includes third means for reading data via the second bus from a second device connected to the second bus, fourth means for modifying in a predetermined manner the data read from the second device, and fifth means for writing the modified data to the second device via the second bus.
- the bus adapter additionally includes means for releasing the second bus after the fifth means has written the modified data to the second device via the second bus, means for acquiring the first bus after the third means has read the data from the second device via the second bus, and means for transferring the data read from the second device to the first device via the first bus.
- FIG. 1 is a block diagram of a computer system in accordance with a preferred embodiment of the present invention
- FIG. 2 is a block diagram of a bus adapter in accordance with a preferred embodiment of the present invention.
- FIGS. 3A and 3B collectively illustrate a flow chart depicting the operation of the bus adapter in accordance with a preferred embodiment of the present invention.
- FIG. 4 is a block diagram of a bus adapter in accordance with an alternate embodiment of the present invention.
- FIG. 1 is a high level structural block diagram of a computer system 102 in accordance with a preferred embodiment of the present invention.
- the computer system 102 includes a central processing unit (CPU) 104 and a memory 106 (such as a random access memory, or RAM) connected to a system, or primary bus 108.
- a central processing unit CPU
- a memory 106 such as a random access memory, or RAM
- One or more input/output devices such as a disk controller 114 and a communication controller 116, are connected to an input/output, or secondary bus 112.
- a memory device 118 (such as a RAM) may also be connected to the secondary bus 112.
- the primary bus 108 is connected to the secondary bus 112 via a bus adapter 110, which is connected to both the primary bus 108 and the secondary bus 112.
- the bus adapter 110 may be connected to the primary bus 108 via a bus bridging module (not shown) which performs some preliminary electrical and/or bus protocol translations between the primary bus 108 and the secondary bus 112.
- the bus bridging module is not necessary to achieve the features of the present invention, and therefore shall not be described further.
- the primary bus 108 is allocated to requestors of the primary bus 108 in accordance with a bus arbitration protocol.
- the detailed operation and implementation of the arbitration protocol used in conjunction with the primary bus 108 is beyond the scope of the present invention, although any number of well known arbitrary protocols could be used.
- the arbitration protocol used in conjunction with the primary bus 108 is transaction based. That is, a device is granted the primary bus 108 for the purpose of performing a single transaction. The device does not retain the bus after performing the transaction. Instead, after the device performs the transaction, the device automatically relinquishes the bus.
- the arbitration protocol used in conjunction with the primary bus 108 is preferably "split read" transaction based (other types of arbitration protocols could be alternatively used).
- Read transactions are split into two transactions: a read request transaction and a data response transaction.
- a requesting device wishing to read from a responding device issues a read request transaction on the primary bus 108. Once the read transaction is issued, the requesting device automatically loses control of the primary bus 108.
- the responding device requests (that is, arbitrates for) the primary bus 108 when it has data to send back to the requesting device. Once it is granted the primary bus 108, the responding device issues a data response transaction to thereby convey the data to the requesting device over the primary bus 108.
- Transaction based buses and split read transaction based buses are well known.
- some computer systems implemented in accordance with the MIPS computer architecture include split read transaction based buses.
- the secondary bus 112 is similar to the primary bus 108, in that devices (such as the disk controller 114) which are connected to the secondary bus 112 must request the secondary bus 112, and be granted use of the secondary bus 112, in order to exchange data, commands, and/or other messages with other devices via the secondary bus 112.
- the secondary bus 112 is allocated to requestors of the secondary bus 112 in accordance with a bus arbitration protocol.
- the arbitration protocol used in conjunction with the secondary bus 112 is not transaction based. Once a device is granted the secondary bus 112, the device retains control of the secondary bus 112 until the device relinquishes the secondary bus 112. For example, once a device is granted the secondary bus 112, the device may perform any number of read and/or write operations using the secondary bus 112. While one device has control of the secondary bus 112, all other devices connected to the secondary bus 112 cannot communicate over the secondary bus 112.
- Non-transaction based buses are well known.
- VME Versa Module Europe
- devices which are connected to the primary bus 108 utilize the secondary bus 112 to perform read-modify-write operations.
- a bus adapter 110 is provided which connects the primary bus 108 to the secondary bus 112 (alternatively, the bus adapter 110 could be directly connected to the CPU 104, such that the CPU 104 is connected to the secondary bus 112 via the bus adapter 110).
- the bus adapter 110 performs many well known functions, such as receiving programmed input/output (PIO) instructions from the CPU 104, transmitting the PIO instructions to the disk controller 114 and/or the communication controller 116, and transmitting data received from the disk controller 114 and/or the communication controller 116 to the CPU 104 and/or the memory device 106.
- PIO programmed input/output
- the bus adapter 110 also includes many structural and operational features for the purpose of using the secondary bus 112 to implement a read-modify-write operation. Such structural and operational features of the bus adapter 110 shall now be described.
- FIG. 2 is a more derailed structural block diagram of those portions of the bus adapter 110 pertaining to implementing a R/M/W operation.
- the bus adapter 110 includes an address register 202 which is connected to the primary bus 108, and which preferably stores a memory address transferred from the CPU 104 via the primary bus 108.
- the bus adapter 110 also preferably includes a pattern 1 register 204 and a pattern 2 register 206, each of which is connected to the primary bus 108.
- the pattern 1 register 204 and the pattern 2 register 206 each preferably stores a data pattern or mask transferred from the CPU 104 via the primary bus 108.
- the secondary bus 112 is shown in FIG. 2 as including an address bus 112A and a data bus 112B.
- the address register 202 is connected to the address bus 112A.
- a read data register 212 is provided which stores data that is read from a device (such as the disk controller 114 or memory device 118) connected to the secondary bus 112 via the data bus 112B.
- a write data register 214 is provided which stores data that is to be written to a device (such as the disk controller 114 or memory device 118) connected to the secondary bus 112 via the data bus 112B.
- the bus adapter 110 also preferably includes a multi-bit AND module 208 which performs a logical AND operation on data received from the pattern 1 register 204 and the read data register 212.
- the AND module 208 can be implemented in any well known manner. Note that the output of the read data register 212 is also connected to the primary data bus 108.
- the bus adapter 110 further preferably includes a multi-bit OR module 210 which performs a logical OR operation on data received from the pattern 2 register 206 and on data from the output of the AND module 208.
- the OR module 210 can be implemented in any well known manner.
- a control module 211 is preferably provided for controlling the operation of the bus adapter 110 such that the bus adapter implements a read-modify-write operation.
- the control module 211 is preferably implemented as a hardware implemented state machine.
- the control module 211 is implemented using a processing device (such as a central processing unit) which operates in accordance with computer software.
- FIGS. 3A and 3B collectively illustrate a flow chart 302 depicting the operation of the bus adapter 110.
- Implementation of the control module 211 such that the control module 211 causes the bus adapter 110 to operate as shown in FIGS. 3A and 3B will be apparent to persons skilled in the relevant art.
- the flow chart 302 of FIGS. 3A and 3B starts at step 304, where control immediately passes to step 306.
- the bus adapter 110 determines whether a trigger address (described below) has been received over the primary bus 108.
- the registers of the bus adapter 110 are within the address space of the CPU 104. That is, each of the registers of the bus adapter 110 is assigned an address relative to the primary bus 108.
- the CPU 104 wishes to access one of the registers in the bus adapter 110, the CPU 104 places the address of the register on the address lines (not shown) of the primary bus 108.
- the CPU 104 issues a trigger address to the bus adapter 110 by sending a read request transaction to the bus adapter 110 via the primary bus 108, wherein the read request transaction addresses the read data register 212.
- the CPU 104 issues a trigger address to the bus adapter 110 (specifically the read data register 212), the CPU 104 is commanding the bus adapter 110 to perform a read-modify-write operation.
- the bus adapter 110 performs steps 310-322 through control module 211.
- step 306 the bus adapter 110 determines that a trigger address (described below) was not received, then the bus adapter 110 performs step 308.
- step 308 the bus adapter 110 performs other processing, such as receiving programmed input/output (PIO) instructions from the CPU 104, transmitting the PIO instructions to the disk controller 114 and/or the communication controller 116, etc.
- PIO programmed input/output
- the bus adapter 110 may receive from the CPU 104 parameters for performing a subsequent read-modify-write operation.
- the bus adapter 110 may receive from the CPU 104 a memory address.
- the bus adapter 110 stores the memory address in the address register 202.
- the memory address specifies the memory location that is read during the "read" portion of the subsequent read-modify-write operation.
- the bus adapter 110 may receive from the CPU 104 data patterns which the bus adapter 110 stores in the pattern 1 register 204 and the pattern 2 register 206. These data patterns are used to modify the data during the "modify" portion of the subsequent read-modify-write operation.
- the data patterns sent to the bus adapter 110 during step 308 must be of the type (that is, the proper bit patterns) necessary to carry out the modifications desired to be performed during the "modify" portion of the subsequent R/M/W operations. Such desired modifications are implementation specific and task specific.
- the CPU 104 preferably issues write transactions over the primary bus 108 to transfer the memory address and the data patterns to the bus adapter 110. These write transactions respectively target the address register 202, the pattern 1 register 204, and the pattern 2 register 206. The CPU 104 issues these write transactions before sending the trigger address (in a read request transaction) to the bus adapter 110.
- step 306 the bus adapter 110 determines that the trigger address was received from the CPU 104. If, in step 306, the bus adapter 110 determined that the trigger address was received from the CPU 104, then the bus adapter 110 performs steps 310-322.
- step 310 the bus adapter 110 acquires use of the secondary bus 112.
- the bus adapter 110 performs step 310 by following the predetermined protocol established by the bus arbitrator (not shown) associated with the secondary bus 112 for acquiring the secondary bus 112.
- Bus arbitrators and procedures for interacting with bus arbitrators to acquire buses are well known.
- the bus adapter 110 uses the secondary bus 112 to perform the read-modify-write operation. This is shown in steps 312-318. Specifically, in step 312 the bus adapter 110 performs a read operation over the secondary bus 112 using the memory address stored in the address register 202. That is, the bus adapter 110 accesses a device connected to the secondary bus 112 (or, alternatively, accesses a memory location in the memory device 118) by placing the address stored in the address register 202 on the address bus 112A of the secondary bus 112. The addressed device responds by placing data on the data bus 112B. The bus adapter 110 latches this data into the read data register 212.
- the bus adapter 110 modifies the data stored in the read data register 212.
- the bus adapter 110 modifies the data using the AND module 208 and the OR module 210.
- the bus adapter 110 performs a logical AND operation between the data in the read data register 212 and the data pattern in the pattern 1 register 204.
- the bus adapter 110 performs a logical OR operation between the data pattern in the pattern 2 register 206 and the data output of the AND module 208.
- the output of the OR module 210 is stored in the write data register 214. Note that the operation of the AND module 208 and the OR module 210 has not changed the data contained in the read data register 212.
- step 316 the bus adapter 110 uses the secondary bus 112 to perform a write operation using the data contained in the write data register 214 and the address contained in the address register 202. In other words, the bus adapter 110 writes the data contained in the write data register to the location on the secondary bus 112 addressed by the memory address stored in the address register 202.
- step 318 the bus adapter 318 releases the secondary bus 112.
- the procedures and mechanisms for releasing a bus are well known.
- Steps 312, 314, and 316 represent a read-modify-write operation since the read operation in step 312 and the write operation in step 316 are atomically performed. That is, after the bus adapter 110 acquires the secondary bus 112 in step 310, it is not possible for any device other than the bus adapter 110 to access the memory location (or device) addressed by the memory address stored in the address register 202 until after the bus adapter 110 releases the secondary bus 112 in step 318. In other words, the read operation and the write operation are performed during a single uninterruptable acquisition of the secondary bus 112.
- the bus adapter 110 transfers the contents of the read data register 212 to the CPU 104. In other words, during steps 320 and 322, the bus adapter 110 issues a data response transaction in response to the read request transaction (that contained the trigger address) that was previously issued by the CPU 104.
- step 320 the bus adapter 110 acquires the primary bus 108.
- step 322 after the primary bus 108 has been acquired, the bus adapter 110 sends the data contained in the read data register 212 to the CPU 104 via the primary bus 108 in a data response transaction.
- step 322 the bus adapter 110 loops back to step 306. Note that the bus adapter 110 automatically relinquished the primary bus 108 after issuing the data response transaction.
- FIG. 4 is a structural block diagram of the bus adapter 402 in accordance with an alternate embodiment of the present invention.
- the data contained in the read data register 212 is modified by operation of a logical AND operation (performed by the AND module 208) followed by a logical OR operation (performed by the OR module 210).
- the data contained in the read data register 212 may be modified using any combination of logical and/or arithmetic operations.
- Such logical and/or arithmetic operations are performed using a processing device 406, which may be an arithmetic logic unit (ALU), for example.
- ALU arithmetic logic unit
- the combination of logical and/or arithmetic operations to be performed on the data in the read data register 212 are specified by an operation code, which is transferred from the CPU 104 via the primary bus 108 (during step 308 of FIG. 3A) and stored in an operation register 404.
- Additional pattern registers may be provided (indicated by pattern N register 408) to store additional data patterns, and/or to store intermediate processing results.
- the CPU 104 directly transmits the memory address, the trigger address, and the data patterns to the bus adapter 110 via the primary bus 108.
- the CPU 104 calls an operating system routine (or other low level routine) to initiate a read-modify-write operation.
- the CPU 104 preferably passes the memory address and the data patterns with the call to the operating system routine.
- the operating system routine transmits the memory address and the data patterns to the bus adapter 110 via the primary bus 108 in the manner described above.
- the operating system routine then initiates the read-modify-write routine by transmitting a read request transaction (containing the trigger address) to the bus adapter 110 via the primary bus 108 in the manner described above.
- the bus adapter 110 then performs the read-modify-write operation as discussed above.
- the operating system routine preferably operates (in a well-known manner) to ensure that only one processor (or task) has access to those registers in the bus adapter 110 associated with implementing the read-modify-write operation.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
Abstract
Description
Claims (17)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/128,720 US5544331A (en) | 1993-09-30 | 1993-09-30 | System and method for generating a read-modify-write operation |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/128,720 US5544331A (en) | 1993-09-30 | 1993-09-30 | System and method for generating a read-modify-write operation |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US5544331A true US5544331A (en) | 1996-08-06 |
Family
ID=22436648
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US08/128,720 Expired - Lifetime US5544331A (en) | 1993-09-30 | 1993-09-30 | System and method for generating a read-modify-write operation |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US5544331A (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5754802A (en) * | 1995-05-14 | 1998-05-19 | Hitachi, Ltd. | Increasing data transfer efficiency for a read operation in a non-split transaction bus environment by substituting a write operation for the read operation |
| US20030217203A1 (en) * | 2002-05-15 | 2003-11-20 | Takashi Miyake | DMA circuit with bit handling function |
| US20070174113A1 (en) * | 2003-04-29 | 2007-07-26 | Marc Rowen | Enterprise incentive management |
| US20120054381A1 (en) * | 2010-08-30 | 2012-03-01 | International Business Machines Corporation | Delaying acknowledgment of an operation until operation completion confirmed by local adapter read operation |
Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4716525A (en) * | 1985-04-15 | 1987-12-29 | Concurrent Computer Corporation | Peripheral controller for coupling data buses having different protocol and transfer rates |
| US4821185A (en) * | 1986-05-19 | 1989-04-11 | American Telephone And Telegraph Company | I/O interface system using plural buffers sized smaller than non-overlapping contiguous computer memory portions dedicated to each buffer |
| US4935894A (en) * | 1987-08-31 | 1990-06-19 | Motorola, Inc. | Multi-processor, multi-bus system with bus interface comprising FIFO register stocks for receiving and transmitting data and control information |
| US4979097A (en) * | 1987-09-04 | 1990-12-18 | Digital Equipment Corporation | Method and apparatus for interconnecting busses in a multibus computer system |
| US5072369A (en) * | 1989-04-07 | 1991-12-10 | Tektronix, Inc. | Interface between buses attached with cached modules providing address space mapped cache coherent memory access with SNOOP hit memory updates |
| US5083259A (en) * | 1988-12-07 | 1992-01-21 | Xycom, Inc. | Computer bus interconnection device |
| US5204864A (en) * | 1990-08-16 | 1993-04-20 | Westinghouse Electric Corp. | Multiprocessor bus debugger |
| US5218690A (en) * | 1989-06-08 | 1993-06-08 | Bull Hn Information Systems Inc. | Vme-multibus ii interface adapter for protocol conversion and for monitoring and discriminating accesses on the multibus ii system bus |
| US5315706A (en) * | 1992-05-27 | 1994-05-24 | National Instruments Corporation | High speed IEEE 488 bus interface system and method |
-
1993
- 1993-09-30 US US08/128,720 patent/US5544331A/en not_active Expired - Lifetime
Patent Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4716525A (en) * | 1985-04-15 | 1987-12-29 | Concurrent Computer Corporation | Peripheral controller for coupling data buses having different protocol and transfer rates |
| US4821185A (en) * | 1986-05-19 | 1989-04-11 | American Telephone And Telegraph Company | I/O interface system using plural buffers sized smaller than non-overlapping contiguous computer memory portions dedicated to each buffer |
| US4935894A (en) * | 1987-08-31 | 1990-06-19 | Motorola, Inc. | Multi-processor, multi-bus system with bus interface comprising FIFO register stocks for receiving and transmitting data and control information |
| US4979097A (en) * | 1987-09-04 | 1990-12-18 | Digital Equipment Corporation | Method and apparatus for interconnecting busses in a multibus computer system |
| US5083259A (en) * | 1988-12-07 | 1992-01-21 | Xycom, Inc. | Computer bus interconnection device |
| US5072369A (en) * | 1989-04-07 | 1991-12-10 | Tektronix, Inc. | Interface between buses attached with cached modules providing address space mapped cache coherent memory access with SNOOP hit memory updates |
| US5218690A (en) * | 1989-06-08 | 1993-06-08 | Bull Hn Information Systems Inc. | Vme-multibus ii interface adapter for protocol conversion and for monitoring and discriminating accesses on the multibus ii system bus |
| US5204864A (en) * | 1990-08-16 | 1993-04-20 | Westinghouse Electric Corp. | Multiprocessor bus debugger |
| US5315706A (en) * | 1992-05-27 | 1994-05-24 | National Instruments Corporation | High speed IEEE 488 bus interface system and method |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5754802A (en) * | 1995-05-14 | 1998-05-19 | Hitachi, Ltd. | Increasing data transfer efficiency for a read operation in a non-split transaction bus environment by substituting a write operation for the read operation |
| US20030217203A1 (en) * | 2002-05-15 | 2003-11-20 | Takashi Miyake | DMA circuit with bit handling function |
| US20070174113A1 (en) * | 2003-04-29 | 2007-07-26 | Marc Rowen | Enterprise incentive management |
| US20120054381A1 (en) * | 2010-08-30 | 2012-03-01 | International Business Machines Corporation | Delaying acknowledgment of an operation until operation completion confirmed by local adapter read operation |
| US8589603B2 (en) * | 2010-08-30 | 2013-11-19 | International Business Machines Corporation | Delaying acknowledgment of an operation until operation completion confirmed by local adapter read operation |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5283870A (en) | Method and apparatus for avoiding processor deadly embrace in a multiprocessor system | |
| US4737932A (en) | Processor | |
| US8082378B1 (en) | Master and slave side arbitrators associated with programmable chip system components | |
| US5627976A (en) | Crossing transfers for maximizing the effective bandwidth in a dual-bus architecture | |
| US5619726A (en) | Apparatus and method for performing arbitration and data transfer over multiple buses | |
| US6141715A (en) | Method and system for avoiding live lock conditions on a computer bus by insuring that the first retired bus master is the first to resubmit its retried transaction | |
| US6292860B1 (en) | Method for preventing deadlock by suspending operation of processors, bridges, and devices | |
| US5301282A (en) | Controlling bus allocation using arbitration hold | |
| US5901295A (en) | Address and data bus arbiter for pipelined transactions on a split bus | |
| US5289585A (en) | Multiprocessor system having a system bus for the coupling of several processing units with appertaining private cache memories and a common main memory | |
| JPH0642225B2 (en) | Computer system having DMA function | |
| GB2286910A (en) | Apparatus and method for prefetching data to load buffers in a bridge between two buses in a computer | |
| JPS62500549A (en) | Method and apparatus for ordering multiprocessor operations in a multiprocessor system | |
| JPH0683763A (en) | Method and system for converting central arbiter into slave arbiter | |
| JPH06324988A (en) | Data processing system using asynchronous multiplexed address / data bus system | |
| US5341495A (en) | Bus controller having state machine for translating commands and controlling accesses from system bus to synchronous bus having different bus protocols | |
| US5241661A (en) | DMA access arbitration device in which CPU can arbitrate on behalf of attachment having no arbiter | |
| JPH05257657A (en) | Sequencer at power on | |
| EP0674273B1 (en) | Atomic operation control scheme | |
| US5544331A (en) | System and method for generating a read-modify-write operation | |
| US5778441A (en) | Method and apparatus for accessing split lock variables in a computer system | |
| JPS6119062B2 (en) | ||
| US5454082A (en) | System for preventing an unselected controller from transferring data via a first bus while concurrently permitting it to transfer data via a second bus | |
| US5906659A (en) | Computer system buffers for providing concurrency between CPU accesses, local bus accesses, and memory accesses | |
| US6502150B1 (en) | Method and apparatus for resource sharing in a multi-processor system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: SILICON GRAPHICS, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KOLB, RONALD LEE;REEL/FRAME:006724/0253 Effective date: 19930928 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| FPAY | Fee payment |
Year of fee payment: 4 |
|
| AS | Assignment |
Owner name: FOOTHILL CAPITAL CORPORATION, CALIFORNIA Free format text: SECURITY AGREEMENT;ASSIGNOR:SILICON GRAPHICS, INC.;REEL/FRAME:012428/0236 Effective date: 20011109 |
|
| FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| AS | Assignment |
Owner name: U.S. BANK NATIONAL ASSOCIATION, AS TRUSTEE, CALIFO Free format text: SECURITY INTEREST;ASSIGNOR:SILICON GRAPHICS, INC.;REEL/FRAME:014805/0855 Effective date: 20031223 |
|
| FPAY | Fee payment |
Year of fee payment: 8 |
|
| AS | Assignment |
Owner name: GENERAL ELECTRIC CAPITAL CORPORATION,CALIFORNIA Free format text: SECURITY INTEREST;ASSIGNOR:SILICON GRAPHICS, INC.;REEL/FRAME:018545/0777 Effective date: 20061017 Owner name: GENERAL ELECTRIC CAPITAL CORPORATION, CALIFORNIA Free format text: SECURITY INTEREST;ASSIGNOR:SILICON GRAPHICS, INC.;REEL/FRAME:018545/0777 Effective date: 20061017 |
|
| AS | Assignment |
Owner name: MORGAN STANLEY & CO., INCORPORATED, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GENERAL ELECTRIC CAPITAL CORPORATION;REEL/FRAME:019995/0895 Effective date: 20070926 Owner name: MORGAN STANLEY & CO., INCORPORATED,NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GENERAL ELECTRIC CAPITAL CORPORATION;REEL/FRAME:019995/0895 Effective date: 20070926 |
|
| FPAY | Fee payment |
Year of fee payment: 12 |
|
| REMI | Maintenance fee reminder mailed | ||
| AS | Assignment |
Owner name: SILICON GRAPHICS INTERNATIONAL, CORP., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SILICON GRAPHICS, INC. ET AL.;SGI INTERNATIONAL, INC.;SIGNING DATES FROM 20090508 TO 20120208;REEL/FRAME:027717/0868 |
|
| AS | Assignment |
Owner name: SILICON GRAPHICS, INC., CALIFORNIA Free format text: ORDER...AUTHORIZING THE SALE OF ALL OR SUBSTANTIALLY ALL OF THE ASSETS OF THE DEBTORS FREE AND CLEAR OF ALL LIENS, CLAIMS, ENCUMBRANCES, AND INTERESTS..;ASSIGNOR:MORGAN STANLEY & CO., INCORPORATED;REEL/FRAME:032757/0847 Effective date: 20090508 Owner name: SILICON GRAPHICS, INC., CALIFORNIA Free format text: ORDER...AUTHORIZING THE SALE OF ALL OR SUBSTANTIALLY ALL OF THE ASSETS OF THE DEBTORS FREE AND CLEAR OF ALL LIENS, CLAIMS, ENCUMBRANCES, AND INTERESTS..;ASSIGNOR:FOOTHILL CAPITAL CORPORATION;REEL/FRAME:032757/0001 Effective date: 20090430 Owner name: SILICON GRAPHICS, INC., CALIFORNIA Free format text: ORDER...AUTHORIZING THE SALE OF ALL OR SUBSTANTIALLY ALL OF THE ASSETS OF THE DEBTORS FREE AND CLEAR OF ALL LIENS, CLAIMS, ENCUMBRANCES, AND INTERESTS..;ASSIGNOR:U.S. BANK NATIONAL ASSOCIATION, AS TRUSTEE;REEL/FRAME:032757/0467 Effective date: 20090430 |
|
| AS | Assignment |
Owner name: SGI INTERNATIONAL, INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:SILICON GRAPHICS INTERNATIONAL, INC.;REEL/FRAME:040459/0157 Effective date: 20090513 Owner name: SILICON GRAPHICS INTERNATIONAL, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SILICON GRAPHICS, INC;REEL/FRAME:040459/0026 Effective date: 20090508 Owner name: SILICON GRAPHICS INTERNATIONAL CORP., CALIFORNIA Free format text: MERGER;ASSIGNOR:SGI INTERNATIONAL, INC.;REEL/FRAME:040459/0518 Effective date: 20120808 |
|
| AS | Assignment |
Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SILICON GRAPHICS INTERNATIONAL CORP.;REEL/FRAME:044128/0149 Effective date: 20170501 |