Decoupled store address and data in a multiprocessor system
First Claim
1. In a computer system having a plurality of processors connected to a shared memory, a method of decoupling an address from write data in a store to the shared memory, comprising:
- generating a write request address for a memory write, wherein the write request address points to a memory location in shared memory;
issuing a write request to the shared memory, wherein the write request includes the write request address;
noting the write request address in the shared memory;
comparing, in the shared memory, addresses in subsequent load and store requests to the write request address;
transferring the write data to the shared memory;
matching, within the shared memory, the write request address to the write data; and
storing the write data into the shared memory as a function of the write request address.
1 Assignment
0 Petitions
Accused Products
Abstract
In a computer system having a plurality of processors connected to a shared memory, a system and method of decoupling an address from write data in a store to the shared memory. A write request address is generated for a memory write, wherein the write request address points to a memory location in shared memory. A write request is issued to the shared memory, wherein the write request includes the write request address. The write request address is noted in the shared memory and addresses in subsequent load and store requests are compared in share memory to the write request address. The write data is transferred to the shared memory and matched, within the shared memory, to the write request address. The write data is then stored into the shared memory as a function of the write request address.
115 Citations
38 Claims
-
1. In a computer system having a plurality of processors connected to a shared memory, a method of decoupling an address from write data in a store to the shared memory, comprising:
-
generating a write request address for a memory write, wherein the write request address points to a memory location in shared memory;
issuing a write request to the shared memory, wherein the write request includes the write request address;
noting the write request address in the shared memory;
comparing, in the shared memory, addresses in subsequent load and store requests to the write request address;
transferring the write data to the shared memory;
matching, within the shared memory, the write request address to the write data; and
storing the write data into the shared memory as a function of the write request address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. In a computer system having a plurality of processors connected to a shared memory, a method of decoupling an address from write data in a write to the shared memory, comprising:
-
generating a write request address for a memory write, wherein the write request address points to a memory location in shared memory;
issuing a first write request to the shared memory, wherein the first write request includes the write request address;
noting the write request address in the shared memory;
comparing, in the shared memory, addresses in subsequent read and write requests to the write request address;
stalling subsequent read requests to the write request address until the write data is written into the shared memory; and
if the address in a subsequent write request matches the write request address stored in shared memory and there are no stalled read requests to the write request address, discarding the first write request. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. In a computer system having a plurality of processors connected to a shared memory, a method of decoupling an address from write data in a store to the shared memory, comprising:
-
generating a write request address for a vector store to memory, wherein the write request address points to a memory location in shared memory;
issuing a vector store request to the shared memory, wherein the write request includes the write request address;
noting the write request address in the shared memory;
comparing, in the shared memory, addresses in subsequent load and store requests to the write request address;
transferring the write data from a vector register to the shared memory;
matching, within the shared memory, the write request address to the write data; and
storing the write data into the shared memory as a function of the write request address. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A method of decoupling vector data stores from vector instruction execution, comprising:
-
executing a vector instruction on vector data stored in a vector register, wherein executing a vector instruction includes storing result vector data in a vector register;
generating a vector write address for a vector store;
issuing a vector store request to memory, wherein the vector store request includes the vector write address;
transferring result vector data from the vector register to memory;
matching the vector store request and result vector data in memory; and
storing the result vector data into memory as a function of the address in the vector store request. - View Dependent Claims (32, 33)
-
-
34. In a processor having a plurality of processing units connected to a shared memory, a method of decoupling an address from write data in a write to the shared memory, comprising:
-
generating a write request address for a memory write, wherein the write request address points to a memory location in shared memory;
issuing a write request to the shared memory, wherein the write request includes the write request address;
storing the write request address in the shared memory;
comparing addresses in subsequent read and write requests to the write request address stored in shared memory;
transferring the write data to the shared memory;
matching, within the shared memory, the write request address to the write data; and
storing the write data into the shared memory as a function of the write request address. - View Dependent Claims (35, 36, 37)
-
-
38. A computer system, comprising:
-
a plurality of processors, wherein the processors includes means for issuing a write address separate from data to be written to the write address; and
a shared memory connected to the plurality of processors, wherein the shared memory includes;
means for receiving a write request including a write address; and
means for stalling subsequent loads and stores to the write address in shared memory until the data to be written to the write address is received and written by the shared memory.
-
Specification