Method and apparatus for packetizing data into a data stream |
| OF A PREFERRED EMBODIMENT Generally, the present invention provides a method and apparatus for ... |
|
Scratchpad memory |
| According to one aspect, a integrated circuit includes a random-access memory (RAM) storage and a ... |
|
Read lock miss control and queue management |
| According to one aspect of the invention, a method is described of managing memory access to random ... |
|
Network device and method of controlling flow of data arranged in frames in a data-based network |
| It is therefore an object of the present invention to enable FIFO filling without incurring the ... |
|
Method and apparatus for synchronized message passing using shared resources |
| In accordance with principles of the present invention, to facilitate communication between a first ... |
|
Method and apparatus for network interface card load balancing and port aggregation |
| Broadly speaking, the present invention fills these needs by providing methods and apparatus for ... |
|
|
System for flushing queued memory write request corresponding to a queued read request and all prior write requests with counter indicating requests to be flushed
| Details |
Inventors: Foster, Joseph E.;
Assignee: Compaq Computer Corporation ()
Primary Examiner: Lee; Thomas C.
Assistant Examiner: Wang; Albert
Attorney, Agent or Firm: Daffer; Kevin L. Conley, Rose & Tanyon
A computer is provided having a bus interface unit between a CPU bus and a memory bus. The bus interface unit includes a memory controller and a read/write queue manager. The memory controller dispatches, or removes read requests or write requests from respective read or write requests queues depending on various modes of operation. Typically, the read requests are dispatched or removed either singularly or as a programmed series of read requests prioritized over write requests unless the write request queue is almost full. If the write request queue is almost full, then write request are removed either singularly or in a series before servicing the read request queue. The number of read or write request being removed from their respective queues can be programmed within a configuration register operably coupled to a controller arranged between the read and write request queues. The memory controller determines how many requests will be serviced within possibly a lengthy series of requests. By dispatching like requests (a series of reads followed by a series of writes, etc.) memory bus efficiency and/or pipelining is greatly improved. |
|
DETAILED DESCRIPTION The problems outlined above are in large part solved by a device and method for improving memory bus efficiency. The device includes an interface unit coupled between a memory requester and the memory. The memory requester is deemed any device which can seek access (i. e. , request) the memory, a suitable memory being asynchronous or synchronous DRAM. The interface unit is therefore a bus interface unit between the CPU bus and the memory bus, as well as possibly between other busses and the memory bus. For example, the interface unit provides coupling of a dedicated graphics bus or the PCI bus to the memory bus. Thus, the interface unit may be considered a north bridge, and the memory requestor comprises an input/output device, such as a disk drive, a display, a keyboard, or any device which can present parallel- or serial-fed addresses and data. According to one embodiment, the interface unit includes a queue manager. The queue manager includes logic which performs cross-snooping between a first and second request queue. The first request queue can be considered a write request queue, whereas the second request queue can be considered a read request queue. Thus, the memory requester dispatches read and write memory requests to a memory controller via the queue manager. According to another embodiment, queue snoop logic is coupled within the queue manager between the first and second request queues. The queue snoop logic helps determine a hit to a request queue, and the location of that hit within the requested queue. For example, if a read request encounters a hit within the write request queue, then write request within the write request queue (first request queue) must be flushed. According to yet another embodiment, a controller is coupled to the queue manager. The memory controller includes logic to service read requests before write requests unless there is a flush requested, or if the write request queue is almost full. Read requests are normally serviced before write requests
|
| Related patents |
|
|
Load and store unit for a vector processor
A load/store unit within a vector processor services memory requests to load or store vectors (multiple data elements of a substantially similar type). Such an apparatus ...
|
|
|
Smart buffer size adaptation apparatus and method
The present invention is directed toward a data communication system, comprising a frame processing device having a driver and a processor for executing the driver; a LAN...
|
|
|
Creation and use of control information associated with packetized network data by protocol drivers and device drivers
OF THE PREFERRED EMBODIMENTS As used herein, the term "software component" refers to any set of executable instructions separately cognisable to an operating system ...
|
|
|
Reconfigurable computing architecture for providing pipelined data paths
The present invention is a reconfigurable data path whose functionality is controlled by a combination of static and dynamic control, wherein the configuration is ...
|
|
|
Multiple thread multiple data predictive coded parallel processing system and method
Accordingly, it is an object of the present invention to process large quantities of data with a high degree of parallelism via a parallel processor including a ...
|
|
|
Distributed data dependency stall mechanism
The invention resides in allowing each probe queue in a multiprocessor computer system to be individually stalled when a probe message, that targets data not yet stored ...
|
|
|
Method and apparatus for arbitrating between command streams
The present invention provides a method and apparatus for arbitrating between command streams. In the following description, numerous specific details such as command ...
|
|
|
Computer with remote wake up and transmission of a status packet when the computer fails a self test
The failure of a component of a computer upon the awakening of the computer is brought to the attention of proper authorities by transmitting a status packet onto a ...
|
|
|
Low power, high speed communications bus
The solution to the problem of data communication between a CPU and a memory where the internal speed of the CPU is mismatched to the access speed of the memory is a ...
|
|
|
Apparatus and method for handling multiple mergeable misses in a non-blocking cache
In light of the above, therefore, according to a broad aspect of the invention, disclosed herein is a multi-level cache and method for merging cache misses which access ...
|
|
|