CN100378687C - A cache prefetch module and method thereof - Google Patents
A cache prefetch module and method thereof Download PDFInfo
- Publication number
- CN100378687C CN100378687C CNB2005100930779A CN200510093077A CN100378687C CN 100378687 C CN100378687 C CN 100378687C CN B2005100930779 A CNB2005100930779 A CN B2005100930779A CN 200510093077 A CN200510093077 A CN 200510093077A CN 100378687 C CN100378687 C CN 100378687C
- Authority
- CN
- China
- Prior art keywords
- data
- image subblock
- cache
- control information
- image
- 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 - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000005540 biological transmission Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 abstract description 7
- 241001269238 Data Species 0.000 description 17
- 238000002203 pretreatment Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
The present invention discloses a cache prefetch module which comprises a cache bus interface, a system chip bus interface, control logic and a data buffer, wherein the control logic is used for sending out control information for reading an image subblock data to a system memory according to the control information from a processor for prefetching the complete image subblock data, then, the read image subblock data are stored in the data buffer, and the image subblock data in the data buffer are transmitted to a cache; the data buffer is used for storing the complete image subblock data read from the system memory. In addition, the present invention also discloses a cache prefetch method. Because the cache prefetch module of the present invention supports that one complete image subblock data is prefetched one time, and thus, the prefetching period of the image subblock data is shortened, the waiting time of the processor during the process that the image data is prefetched, and therefore, image processing speed is improved.
Description
Technical field
The present invention relates to the Data Access Technology field, particularly a kind of cache prefetch module and method thereof.
Background technology
In recent years, wait for the time of reading of data, proposed to use the technology of high-speed cache in order to reduce processor.Adopt high-speed cache System on Chip/SoC relevant portion as shown in Figure 1, this System on Chip/SoC comprises processor (CPU Core), high-speed cache, cache prefetch module, Installed System Memory, System on Chip/SoC bus.Wherein processor reading of data and control information of calculating and sending prefetch data to cache prefetch module from high-speed cache; What preserve in the high-speed cache is the data that processor will use; Cache prefetch module is used for being about to from the Installed System Memory read processor data of use, and data transmission is arrived high-speed cache; In store various data in the Installed System Memory; The System on Chip/SoC bus connects described cache prefetch module and Installed System Memory, and transmits various control informations and data.
Shown in Figure 2 is the structural representation of prior art high speed cache prefetching module, and this cache prefetch module comprises System on Chip/SoC bus interface, cache bus interface, data buffer and steering logic.Wherein the System on Chip/SoC bus interface is used for the connected system chip bus, be connected with Installed System Memory by the System on Chip/SoC bus, and in order to Data transmission and control information; The cache bus interface is used to connect high-speed cache, and in order to Data transmission and control information; The data buffer is used to store the view data of looking ahead from Installed System Memory, and it is made up of register, and the data buffer size is a cache lines (cache line), can store the data of 32 bytes; Steering logic is used for the prefetched instruction according to processor, the view data of a cache lines is read in control from Installed System Memory, and deposit the data buffer in, and the data of a cache lines in the data buffer are transferred to high-speed cache by the cache bus interface.Steering logic, the System on Chip/SoC bus interface, the data buffer, also exist the mutual of control information between the cache bus interface, thereby realize the transmission of data, when for example image data transmission in the data buffer being arrived high-speed cache, steering logic produces the control information to data buffer zone and cache bus interface, data buffer and cache bus interface are determined duty mutually according to the control information of steering logic then, when the data buffer is transmission (Transfer) state, the cache bus interface is that view data is transferred to high-speed cache from the data buffer through the cache bus interface when receiving (Receive) state.
In the Digital Image Processing process, every two field picture is divided into several image subblocks usually, the size of image subblock is generally 8 * 8 or 16 * 16 data points, the image subblock of 8 * 8 data points is corresponding to usually said piece (Block), and the image subblock of 16 * 16 data points is corresponding to usually said macro block (Macro Block).If image adopts the YUV4:2:2 coded format, each data point takies a byte, and the monochrome information of image subblock is respectively 8 * 8 bytes or 16 * 16 bytes so.Shown in Figure 3 is a picture frame of being made up of 99 macro blocks, and these 99 macro blocks are divided into 9 row 11 row, be labeled as respectively macro block 0, macro block 1 ... macro block 98, the size of each image subblock are 16 * 16 bytes, i.e. 256 bytes.
Suppose the image subblock of the N of processor in the pre-treatment frame shown in Figure 3 16 * 16 byte, the image subblock of N+1 16 * 16 bytes of need looking ahead, wherein N more than or equal to and 0 smaller or equal to 98.As shown in Figure 4, the look ahead process of an image subblock of aforementioned cache prefetch module is as follows in the prior art:
This moment, processor still was in idle condition, waited for the data of N+1 image subblock.
At this moment, processor still is in the state of waiting for N+1 image subblock data.
Look ahead flow process as can be seen from top, a cache lines is 32 byte datas because existing cache prefetch module can only be looked ahead at every turn, when image subblock data the time greater than 32 bytes, need repeatedly carry out just can the look ahead data of an image subblock of prefetch operation, processor is in waiting status for a long time during this, thereby causes image processing speed to slow down.
Summary of the invention
In view of this, the present invention proposes a kind of cache prefetch module and method thereof, in order to reduce the time that processor is waited for during view data is looked ahead at image subblock.
According to above-mentioned purpose, the invention provides a kind of cache prefetch module, comprise cache bus interface, System on Chip/SoC bus interface, steering logic and data buffer at least, wherein the cache bus interface is used to connect high-speed cache; The System on Chip/SoC bus interface is used for the connected system internal memory; Interconnective steering logic and data buffer are connected between cache bus interface and the System on Chip/SoC bus interface, described steering logic is used for the control information according to the sub-blocks of data of complete image of looking ahead of from processor, send the control information of reading the sub-blocks of data of described complete image to Installed System Memory, and the sub-blocks of data of the complete image that is read all is saved in described data buffer, and the sub-blocks of data of the complete image in the described data buffer is transferred to high-speed cache by a read operation; Data buffer, capacity are used to store the described sub-blocks of data of complete image that reads from Installed System Memory more than or equal to the size of an image subblock.
In technique scheme, described data buffer is made of register file.
Described control information of looking ahead the sub-blocks of data of complete image comprises the address information of first byte data in the described image subblock; Described steering logic is further used for producing according to the address information of first byte data in the described image subblock address information of remainder data in the described image subblock, and sends the control information of the described image subblock data that comprise described all data address information of image subblock to Installed System Memory.
The present invention also provides a kind of cache prefetch method, and this method may further comprise the steps:
A. receive processor and look ahead after the control information of the sub-blocks of data of complete image, cache prefetch module sends the control information of reading described image subblock data to Installed System Memory, and reads complete described image subblock data by a read operation; B. described image subblock data are saved in the cache prefetch module, comprise the data buffer of a capacity in the described cache prefetch module more than or equal to an image subblock; C. described image subblock data transmission is arrived high-speed cache.
Described control information of looking ahead the sub-blocks of data of complete image comprises the address information of first byte data in the described image subblock; Cache prefetch module described in the steps A further comprised before Installed System Memory sends the control information of reading described image subblock data: the address information of first byte data produces the address information of remainder data in the described image subblock in according to described image subblock; Described cache prefetch module sends the address information that the control information of reading described image subblock data comprises all data in the described image subblock to Installed System Memory.
Further, comprise that processor reads the step of described image subblock data from described high-speed cache after the step C.
From such scheme as can be seen, the sub-blocks of data of complete image because cache prefetch module support of the present invention is once looked ahead, shortened the cycle of the image subblock data of looking ahead, reduced the time that processor is waited for during view data is looked ahead, thereby improved image processing speed.
Description of drawings
Fig. 1 is the position view of cache prefetch module in system;
Fig. 2 is the structural representation of prior art high speed cache prefetching module;
Fig. 3 is an image that comprises 11 * 9 image subblocks;
Fig. 4 is the schematic flow sheet of one the 256 sub-piece of byte image of looking ahead in the prior art;
Fig. 5 is the structural representation of cache prefetch module of the present invention;
Fig. 6 is the look ahead schematic flow sheet of one the 256 sub-piece of byte image of the present invention.
Embodiment
For making the purpose, technical solutions and advantages of the present invention clearer, the present invention is described in more detail by the following examples.
The cache prefetch module that the present invention proposes is the same with prior art in the position of digital image processing system, but the concrete structure of the cache prefetch module that the present invention proposes and function are unlike the prior art.
With reference to figure 5, cache prefetch module of the present invention comprises System on Chip/SoC bus interface, cache bus interface, data buffer and steering logic.Wherein the System on Chip/SoC bus interface is used for the connected system chip bus, be connected with Installed System Memory by the System on Chip/SoC bus, and Data transmission and control information.The cache bus interface is used to connect high-speed cache, and Data transmission and control information.Steering logic and data buffer are connected between System on Chip/SoC bus interface and the cache bus interface, and steering logic and data buffer interconnect between the two.The data buffer is used to store the view data of looking ahead from Installed System Memory, it is made up of register, unlike the prior art be, data buffer of the present invention size is at least the size of an image subblock, according to existing Mpeg-1, Mpeg-2, Mpeg-4, H.261, H.263 or H.264 wait the encoding and decoding treatment technology to know that the size of image subblock is generally 64 bytes or 256 bytes, in order not cause redundant waste, the size of the needs data buffer that can handle according to real image is set to 64 bytes or 256 bytes, and promptly the data buffer is made up of the register file that can store 64 bytes or 256 bytes.Compared with prior art, be equivalent to newly add register on the structure in the data buffer.The prefetched instruction of steering logic receiving processor, after the address information of first byte data produces the address information of remainder data of an image subblock automatically in the image subblock that sends over according to processor, send the control information of reading these image subblock data to Installed System Memory by the System on Chip/SoC bus interface, this control information comprises the address information of all data in reading order and the above-mentioned image subblock, from Installed System Memory, read the data of an image subblock, and deposit the data buffer in, and the data of an image subblock in the data buffer are transferred to high-speed cache by the cache bus interface.Same as the prior art, steering logic, the System on Chip/SoC bus interface, the data buffer, also exist the mutual of control information between the cache bus interface, thereby realize the transmission of data between each module, when for example image data transmission in the data buffer being arrived high-speed cache, steering logic produces the control information to data buffer zone and cache bus interface, data buffer and cache bus interface are determined duty mutually according to the control information of steering logic then, when the data buffer is transmission (Transfer) state, the cache bus interface is that view data is transferred to high-speed cache from the data buffer through the cache bus interface when receiving (Receive) state.
Suppose the image subblock of the N of processor in the pre-treatment frame shown in Figure 3 16 * 16 byte, the image subblock of N+1 16 * 16 bytes of need looking ahead, wherein N more than or equal to and 0 smaller or equal to 98.As shown in Figure 6, the look ahead process of an image subblock of high speed cache prefetching module of the present invention is as follows:
Step 601, steering logic receive the look ahead control information of N+1 complete image subblock of processor, and this control information comprises the address information of first byte data in described N+1 the image subblock.The image subblock because cache prefetch module support of the present invention is once looked ahead, so processor can send the control information of the image subblock of looking ahead to this cache prefetch module.Then, steering logic produces the address information of all the other 255 byte datas in this image subblock according to the address information of first byte data in described N+1 the image subblock.The method possibility that the steering logic of different vendor produces the remainder data address information is different, the simplest method is exactly to add one to 255 fixed numeric values on the address information of first byte data successively, thereby produces the address information of remaining 255 byte data.
At this moment, the data of current N the image subblock of processor processing are perhaps handled the data of N image subblock, are in the state of waiting for N+1 image subblock data.If processor is being handled the data of N image subblock, so after the data of intact N the image subblock of processor processing, just can directly from high-speed cache, read N+1 image subblock data, thereby do not need to wait for, compare with prior art, reduce the time that processor is waited for, improved the efficient of Flame Image Process.If processor has been handled the data of N image subblock, and be in the state of waiting for N+1 image subblock data, so after this time of cache prefetch module end looked ahead, just can from high-speed cache, read the data of N+1 image subblock, compare with prior art, reduce the time that processor is waited for equally, improved the efficient of Flame Image Process.
The above only is preferred embodiment of the present invention, and is in order to restriction the present invention, within the spirit and principles in the present invention not all, any modification of being done, is equal to replacement, improvement etc., all should be included within protection scope of the present invention.
Claims (6)
1. a cache prefetch device comprises cache bus interface, System on Chip/SoC bus interface, steering logic and data buffer at least, and wherein the cache bus interface is used to connect high-speed cache; The System on Chip/SoC bus interface is used for the connected system internal memory; Interconnective steering logic and data buffer are connected between cache bus interface and the System on Chip/SoC bus interface,
It is characterized in that, described steering logic is used for the control information according to the sub-blocks of data of complete image of looking ahead of from processor, send the control information of reading the sub-blocks of data of described complete image to Installed System Memory, and the sub-blocks of data of the complete image that is read all is saved in described data buffer, and the sub-blocks of data of the complete image in the described data buffer is transferred to high-speed cache by a read operation;
Data buffer, capacity are used to store the described sub-blocks of data of complete image that reads from Installed System Memory more than or equal to the size of an image subblock.
2. cache prefetch device according to claim 1 is characterized in that described data buffer is made of register file.
3. cache prefetch device according to claim 1 is characterized in that described control information of looking ahead the sub-blocks of data of complete image comprises the address information of first byte data in the described image subblock;
Described steering logic is further used for producing according to the address information of first byte data in the described image subblock address information of remainder data in the described image subblock, and sends the control information of the described image subblock data that comprise described all data address information of image subblock to Installed System Memory.
4. a cache prefetch method is characterized in that, this method may further comprise the steps:
A. receive processor and look ahead after the control information of the sub-blocks of data of complete image, cache prefetch module sends the control information of reading described image subblock data to Installed System Memory, and reads complete described image subblock data by a read operation;
B. described image subblock data are saved in the cache prefetch module, comprise the data buffer of a capacity in the described cache prefetch module more than or equal to an image subblock;
C. described image subblock data transmission is arrived high-speed cache.
5. method according to claim 4 is characterized in that described control information of looking ahead the sub-blocks of data of complete image comprises the address information of first byte data in the described image subblock;
Cache prefetch module described in the steps A further comprised before Installed System Memory sends the control information of reading described image subblock data: the address information of first byte data produces the address information of remainder data in the described image subblock in according to described image subblock;
Described cache prefetch module sends the address information that the control information of reading described image subblock data comprises all data in the described image subblock to Installed System Memory.
6. method according to claim 4 is characterized in that, comprises that further processor reads the step of described image subblock data from described high-speed cache after the step C.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100930779A CN100378687C (en) | 2005-08-25 | 2005-08-25 | A cache prefetch module and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100930779A CN100378687C (en) | 2005-08-25 | 2005-08-25 | A cache prefetch module and method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1731374A CN1731374A (en) | 2006-02-08 |
CN100378687C true CN100378687C (en) | 2008-04-02 |
Family
ID=35963730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100930779A Expired - Fee Related CN100378687C (en) | 2005-08-25 | 2005-08-25 | A cache prefetch module and method thereof |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100378687C (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101526924B (en) * | 2009-04-22 | 2010-09-08 | 东南大学 | A Method for Optimizing Data Access of Digital Signal Processing Chip |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101634971B (en) * | 2009-09-01 | 2011-07-06 | 威盛电子股份有限公司 | Data pre-extraction method and device, computer system |
CN102110147B (en) * | 2011-02-16 | 2012-10-10 | 北京数码大方科技有限公司 | Cache-based CAD file data unloading method and device |
CN103729142B (en) * | 2012-10-10 | 2016-12-21 | 华为技术有限公司 | The method for pushing of internal storage data and device |
CN103034455B (en) * | 2012-12-13 | 2015-09-16 | 东南大学 | Based on data message buffer memory management method and the system of Decoding Analysis in advance |
CN103077129B (en) * | 2012-12-31 | 2016-07-13 | 上海算芯微电子有限公司 | Information processing method and device |
CN104899824B (en) * | 2014-03-05 | 2018-11-16 | 珠海全志科技股份有限公司 | Processing method and system of the image data in DRAM |
CN107168660B (en) * | 2016-03-08 | 2024-05-10 | 成都锐成芯微科技股份有限公司 | Image processing cache system and method |
WO2018111246A1 (en) * | 2016-12-13 | 2018-06-21 | Google Llc | Systems and methods for prefetching content items |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064649A1 (en) * | 2002-09-30 | 2004-04-01 | Volpe Thomas A. | Prefetch buffer method and apparatus |
CN1487409A (en) * | 2003-02-11 | 2004-04-07 | 智慧第一公司 | Allocation of cache memory data section and initial mechanism |
US6754780B1 (en) * | 2000-04-04 | 2004-06-22 | Hewlett-Packard Development Company, L.P. | Providing data in response to a read command that maintains cache line alignment |
CN1509436A (en) * | 2001-05-16 | 2004-06-30 | 先进微装置公司 | Method and system for speculatively invalidating a cache line in a cache |
CN1514369A (en) * | 2003-04-21 | 2004-07-21 | 智慧第一公司 | Microprocessor device capable of selectively withdraw prefetch and method |
US20040148471A1 (en) * | 2003-01-28 | 2004-07-29 | Sun Microsystems, Inc | Multiprocessing computer system employing capacity prefetching |
US20040158679A1 (en) * | 2002-02-12 | 2004-08-12 | Ip-First Llc | Prefetch with intent to store mechanism for block memory |
US20040199728A1 (en) * | 2003-04-07 | 2004-10-07 | Walker William J. | Methods and apparatus used to retrieve data from memory into a RAM controller before such data is requested |
-
2005
- 2005-08-25 CN CNB2005100930779A patent/CN100378687C/en not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6754780B1 (en) * | 2000-04-04 | 2004-06-22 | Hewlett-Packard Development Company, L.P. | Providing data in response to a read command that maintains cache line alignment |
CN1509436A (en) * | 2001-05-16 | 2004-06-30 | 先进微装置公司 | Method and system for speculatively invalidating a cache line in a cache |
US20040158679A1 (en) * | 2002-02-12 | 2004-08-12 | Ip-First Llc | Prefetch with intent to store mechanism for block memory |
US20040064649A1 (en) * | 2002-09-30 | 2004-04-01 | Volpe Thomas A. | Prefetch buffer method and apparatus |
US20040148471A1 (en) * | 2003-01-28 | 2004-07-29 | Sun Microsystems, Inc | Multiprocessing computer system employing capacity prefetching |
CN1487409A (en) * | 2003-02-11 | 2004-04-07 | 智慧第一公司 | Allocation of cache memory data section and initial mechanism |
US20040199728A1 (en) * | 2003-04-07 | 2004-10-07 | Walker William J. | Methods and apparatus used to retrieve data from memory into a RAM controller before such data is requested |
CN1514369A (en) * | 2003-04-21 | 2004-07-21 | 智慧第一公司 | Microprocessor device capable of selectively withdraw prefetch and method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101526924B (en) * | 2009-04-22 | 2010-09-08 | 东南大学 | A Method for Optimizing Data Access of Digital Signal Processing Chip |
Also Published As
Publication number | Publication date |
---|---|
CN1731374A (en) | 2006-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7257693B2 (en) | Multi-processor computing system that employs compressed cache lines' worth of information and processor capable of use in said system | |
CN100403739C (en) | News transfer method based on chained list process | |
CN104252425B (en) | The management method and processor of a kind of instruction buffer | |
CN101365138B (en) | JPEG2000 image compression processing system | |
CN100378687C (en) | A cache prefetch module and method thereof | |
CN103914404B (en) | Configuration information cache device in coarseness reconfigurable system and compression method | |
CN104603834A (en) | Methods and systems for multimedia data processing | |
CN112559436B (en) | A context access method and system for RDMA communication equipment | |
US7734853B2 (en) | Latency dependent data bus transmission | |
CN1757018B (en) | Data processing system with prefetching means and data prefetching method | |
CN101504632B (en) | DMA data transmission method and system, DMA controller | |
EP1187025A3 (en) | Cache update method and cache update control system employing non-blocking type cache | |
EP1826676A1 (en) | Address converting apparatus | |
CN104135496B (en) | RPC data transmission methods and system under a kind of homogeneous environment | |
TWI324755B (en) | Processing modules with multilevel cache architecture | |
KR20210011494A (en) | Low latency synchronization for action cache and instruction cache fetch and decode instructions | |
TWI514143B (en) | Transfer request block cache system and method | |
CN101308568B (en) | Method and apparatus for production line real-time processing based FIFO | |
WO2005091762A2 (en) | Intelligent pci bridging consisting of prefetching all data prior to sending data to requesting device | |
US7574568B2 (en) | Optionally pushing I/O data into a processor's cache | |
CN100452007C (en) | Physical area description element prefetching method for direct memory access processing unit | |
CN202995701U (en) | Data information cache management system based on pre-decoding analysis | |
CN104243984B (en) | Decoding method and decoding device applied to digital audio and video coding and decoding technical standard system | |
CN101667158A (en) | Stream context caching system | |
US7751269B2 (en) | Coupling device for transmitting data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080402 Termination date: 20120825 |