System and method for entering a stream read buffer mode to...

Electrical computers and digital processing systems: memory – Storage accessing and control

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S138000, C711S155000, C711S218000, C710S052000

Reexamination Certificate

active

06219745

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention generally relates to computer systems which include components that are subject to cycles in which data is read, modified and written back by a central processing unit (CPU) or other system device. Still more particularly, the present invention relates to a computer system implementation in which non-cacheable data or data in block-oriented devices can be selectively read in relatively large blocks and temporarily stored in a stream read buffer during a special mode of operation of the CPU.
2. Description of the Relevant Art
For most computer systems, the number of clock cycles required for a data access to a memory device depends upon the component accessing the memory and the speed of the memory unit. Most of the memory devices in a computer system are slow compared to the clock speed of the central processing unit (CPU). As a result, the CPU is forced to enter wait states when seeking data from the slower memory devices. Because of the relative slowness of most memory devices, the efficiency of the CPU can be severely compromised. As the operating speed of processors increases and as new generations of processors evolve, it is advantageous to minimize wait states in memory transactions to fully exploit the capabilities of these new processors.
In an effort to reduce wait states, it has become commonplace to include one or more cache memory devices in a computer system. A cache memory is a high-speed memory unit interposed in the memory hierarchy of a computer system generally between a slower system memory (and/or external memory) and a processor to improve effective memory transfer rates and accordingly improve system performance. The cache memory unit is essentially hidden and appears transparent to the user, who is aware only of a larger system memory. The cache memory usually is implemented by semiconductor memory devices having access times that are comparable to the clock frequency of the processor, while the system and other external memories are implemented using less costly, lower-speed technology.
The cache concept is based on the locality principle, which anticipates that the microprocessor will tend to repeatedly access the same group of memory locations. To minimize access times of this frequently used data, it is stored in the cache memory, which has much faster access times than system memory. Accordingly, the cache memory may contain, at any point in time, copies of information from both external and system memories. If the data is stored in cache memory, the microprocessor will access the data from the cache memory and not the system or external memory. Because of the cache memory's superior speed relative to external or system memory, overall computer performance may be significantly enhanced through the use of a cache memory.
A cache memory typically includes a plurality of memory sections, wherein each memory section stores a block or a “line,” of two or more words of data. A line may consist, for example, of four “doublewords” (wherein each doubleword comprises four 8-bit bytes). Each cache line has associated with it an address tag that uniquely associates the cache line to a line of system memory.
According to normal convention, when the processor initiates a read cycle to obtain data or instructions from the system or external memory, an address tag comparison first is performed to determine whether a copy of the requested information resides in the cache memory. If present, the data is used directly from the cache. This event is referred to as a cache read “hit.” If not present in the cache, a line in memory containing the requested word is retrieved from system memory and stored in the cache memory. The requested word is simultaneously supplied to the processor. This event is referred to as a cache read “miss.”
In addition to using a cache memory during data retrieval, the processor may also write data directly to the cache memory instead of to the system or external memory. When the processor desires to write data to memory, an address tag comparison is made to determine whether the line into which data is to be written resides in the cache memory. If the line is present in the cache memory, the data is written directly into the line in cache. This event is referred to as a cache write “hit.” A data “dirty bit” for the line is then set in an associated status bit (or bits). The dirty status bit indicates that data stored within the line is dirty (i.e., modified), and thus, before the line is deleted from the cache memory or overwritten, the modified data must be written into system or external memory. This procedure for cache memory operation is commonly referred to as “copy back” or “write back” operation. During a write transaction, if the line into which data is to be written does not exist in the cache memory, the data typically is written directly into the system memory. This event is referred to as a cache write “miss”.
While cache memory devices have proven effective in reducing latency times in processors, there are certain memory devices which contain data that cannot be cached in a cache memory. Video and graphics cards are examples of devices that contain data that typically is not cacheable. CPU accesses to memory devices which contain non-cacheable data thus tend to be inefficient because the data cannot be stored in cache memory, but instead must be directly accessed from the slower memory devices. Thus, despite the fact that cache memories do improve system efficiency and reduce CPU latency, there are a number of components in computer systems which are being accessed in an inefficient manner because the data stored in these devices is non-cacheable.
SUMMARY OF THE INVENTION
The present invention solves the shortcomings and deficiencies of the prior art by constructing a computer system which implements a stream read buffer (SRB) for temporary storage of data from block-oriented components. The computer system preferably includes a CPU core connected to a local bus interface unit (BIU) by a CPU local bus. The BIU preferably connects to peripheral devices and to a memory control unit (MCU) through a system bus. In the preferred embodiment, the SRB includes a plurality of buffers with a length of N bytes. The stream read buffer preferably is incorporated in the CPU local bus interface unit (BIU), but may also be located in a separate buffer coupled to the system bus (and external to the CPU core), or as a dedicated part of cache memory. The SRB may be used when accessing addresses which are non-cacheable to temporarily store data from the accessed device for subsequent modify and write operations.
Data preferably is read in large blocks from the device to be accessed and is loaded into the stream read buffer. In the preferred embodiment, the CPU monitors instructions on the local and system busses, as well as information supplied by the memory sub-systems. The CPU uses and processes this information to determine if it should enter a special stream read buffer mode of operation. The use of this information enables the CPU to enter the special stream read buffer mode without extensions to the architectural definition of the CPU or other changes to the operating code. In the preferred embodiment, data is loaded into the SRB whenever the CPU core is placed in a special mode, as indicated by a SPECIAL control signal from the CPU.


REFERENCES:
patent: 5091845 (1992-02-01), Rubinfeld
patent: 5091846 (1992-02-01), Sachs et al.
patent: 5442747 (1995-08-01), Chan et al.
patent: 5561780 (1996-10-01), Glew et al.
patent: 5586294 (1996-12-01), Goodwin et al.
patent: 5664148 (1997-09-01), Mulla et al.
patent: 5692168 (1997-11-01), McMahan
patent: 5708784 (1998-01-01), Parks et al.
patent: 5737565 (1998-04-01), Mayfield
patent: 5740398 (1998-04-01), Quattromani et al.
patent: 5761706 (1998-06-01), Kessler et al.
patent: 5870599 (1999-02-01), Hinton et al.
patent: 5958040 (1999-09-01), Jouppi
patent: 5963981 (1999-10-01), Martin
patent: 6032225 (2000-02-01), Shiell et

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

System and method for entering a stream read buffer mode to... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System and method for entering a stream read buffer mode to..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for entering a stream read buffer mode to... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2468104

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.