System, apparatus, method, and computer program for execution-order preserving uncached write combine operation
First Claim
1. In a data processing system having a host processor executing write instructions and communicating results in the form of symbols generated by said write instructions to at least one hardware device coupled to said host processor for receiving said symbols from said host processor, a method for preserving a predetermined order in which said symbols are received by said hardware device, said method comprising steps of:
- sending a symbol from said host processor to a storage with an identifier indicating a symbol ordering relative to other of said symbols;
storing said symbol and said indicator in said storage; and
altering the order of dispatch of said symbols from said storage to said hardware device based on said indicator so that said symbols are received by said hardware device in said predetermined order independent of the order in which said symbols were communicated by said host processor.
2 Assignments
0 Petitions
Accused Products
Abstract
A mechanism that allows an application program running on a processor, to send data to a device using a medium that temporarily stores data and changes the order of the data dispatch on the way to the device. An inventive Random-In-First-Out (RIFO) buffer or memory device that restores the original order is provided. Several alternative approaches for implementing the RIFO control mechanisms for write efficiency and correctness. Method for use in conjunction with a data processing system having a host processor executing write instructions and communicating results in the form of symbols generated by the write instructions to at least one hardware device coupled to the host processor for receiving the symbols from the host processor, where the method preserves a predetermined order in which the symbols are received by the hardware device. Method includes sending a symbol from the host processor to a storage with an identifier indicating a symbol ordering relative to other of the symbols, storing the symbol and the indicator in the storage, and altering the order of dispatch of the symbols from the storage to the hardware device based on the indicator so that the symbols are received by the hardware device in the predetermined order independent of the order in which the symbols were communicated by the host processor. The invention also provides numerous embodiments of system, apparatus, method, computer program, and computer program product associated with the inventive concept.
-
Citations
7 Claims
-
1. In a data processing system having a host processor executing write instructions and communicating results in the form of symbols generated by said write instructions to at least one hardware device coupled to said host processor for receiving said symbols from said host processor, a method for preserving a predetermined order in which said symbols are received by said hardware device, said method comprising steps of:
-
sending a symbol from said host processor to a storage with an identifier indicating a symbol ordering relative to other of said symbols;
storing said symbol and said indicator in said storage; and
altering the order of dispatch of said symbols from said storage to said hardware device based on said indicator so that said symbols are received by said hardware device in said predetermined order independent of the order in which said symbols were communicated by said host processor. - View Dependent Claims (2, 3, 4)
executing a write fence operation in said host processor when a particular first symbol is intended to be received by said hardware device before said hardware device receives a second symbol.
-
-
4. The method in claim 3, wherein said indicator is a bit associated with an address and said bit has a first state and a second state;
- and further including step of;
changing the state of said bit associated with said address from a current state to the other state every time said step of executing a write fence operation is preformed.
- and further including step of;
-
5. In a data processing system having a host processor executing write instructions and communicating results in the form of symbols generated by said write instructions to at least one hardware device coupled to said host processor for receiving said symbols from said host processor, a method for preserving a predetermined order in which said symbols are received by said hardware device, said method comprising steps of:
-
sending a said symbol from said host processor to a storage with an address indicating a symbol ordering relative to other of said symbols;
storing said sent symbol at a location in said storage if a flag indicator associated with said location indicates said storage does not have valid data at said address, said location being associated with said address;
waiting to store said sent symbol at said location in said storage if said flag indicator associated with said location indicates said storage contains a valid symbol at said location;
reading, in a sequential location manner, a next symbol from said storage at a next location if a flag indicator associated with said next location indicates said storage contains said valid symbol at said next location; and
waiting to read from said next location if said flag indicator associated with said next location indicates said storage does not contain a said valid symbol at said next location. - View Dependent Claims (6, 7)
-
Specification