WO2002069150A1 - Microprocessor and instruction execution order scheduling method - Google Patents
Microprocessor and instruction execution order scheduling method Download PDFInfo
- Publication number
- WO2002069150A1 WO2002069150A1 PCT/JP2002/001272 JP0201272W WO02069150A1 WO 2002069150 A1 WO2002069150 A1 WO 2002069150A1 JP 0201272 W JP0201272 W JP 0201272W WO 02069150 A1 WO02069150 A1 WO 02069150A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- routine
- instruction
- data structure
- data
- cache
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 23
- 230000015654 memory Effects 0.000 claims abstract description 75
- 238000012360 testing method Methods 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims description 23
- 238000012790 confirmation Methods 0.000 claims description 3
- 230000015556 catabolic process Effects 0.000 abstract 1
- 238000006731 degradation reaction Methods 0.000 abstract 1
- 241001269238 Data Species 0.000 description 17
- 238000013519 translation Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
Definitions
- the present invention relates to a microprocessor and an instruction execution order scheduling method, and more particularly, to a method for scheduling an instruction execution order of a microprocessor and a microphone processor that executes instructions in an order specified by a program.
- FIG. 4 shows an example of the configuration of an MPU (microprocessor unit) 10.
- the MPU 10 has a smaller capacity and higher-speed access than the external memory 40, and stores a part of the instruction read from the external memory 40 and a part of the data in the cache 'memory 14;
- a fetch unit 22 for reading an instruction or data from the internal memory 40, an execution unit 26 for executing the read instruction, a general-purpose register 32 for storing data used by the instruction being executed, and an external device ( 40) includes the path interface unit 12 to which it is connected.
- the cache 'memory 14 includes an instruction cache 20 where instructions are stored and a data' cache 30 where data is stored.
- the MPU 10 ' is connected to an external memory (semiconductor storage device) 40 via a path interface' unit 12 ', and instructions and data are read and written between the external memory 40 and the MPU 10'.
- the cache memories 20 and 30 are used with priority over the external memory 40. If the instructions or data required by the MPUs 10 and do not exist in the cache memories 20 and 30, the instructions or data are read from the external memory 40.
- the reading of instructions or data from the external memory 40 when it does not exist in the cache memories 20 and 30 is controlled by hardware. For example, the control unit (not shown) that controls the entire MPU 10 'performs this control.
- the external memory 40 is also connected to a hard disk (fixed magnetic storage device) 42, and instructions and data are read and written between the external memory 40 and the hard disk 42. If the command or data required by MPU 10 'is not present in external memory 40, read the command or data from hard disk 42. The reading of instructions or data from the hard disk 42 when it does not exist in the external memory 40 is controlled by software. Normally, OS (operating system) controls this.
- OS operating system
- fetch unit 22 reads the instruction from instruction cache 20 or external memory 40. If the target instruction exists in the instruction cache 20, the instruction is read from the instruction cache 20; otherwise, the instruction is read from the external memory 40. When an instruction is read from the external memory 40, the read instruction is also sent to and stored in the instruction cache 20.
- Fig. 5 (a) shows a flowchart of an example of a program that causes MPU 10 to execute two types of routines (Func A, Func B) using two data (DATAsA, DATAsB).
- FIG. 5 (a) mainly shows the reading and processing of data (DATAsA. DATAsB). The MPU 10 'reads and executes data in the execution order specified by the program shown in FIG. 5 (a).
- DATAsA and DATAsB each contain some data (DATA-A0, DATA-Al, DAT
- FuncA and FuncB are a series of instructions with a certain function that constitute a part of the program. FuncA and FuncB have several instructions (Inst-
- FuncA and FuncB are independent instructions. For example, unless there is a branch instruction, FuncA executes instructions in the order of Inst-A0, Inst-Al, Inst-A2, and FuncB executes Inst-BO, Inst-Bl, Execute the instruction in the order of Inst-B2, c As shown in FIG. 5 (a), the MPU 10, reads out DATAsA (S172) and executes Func A using DATAs A (S174).
- DATAsB is read (S 176), and Func A using DATAsB is executed (S 178). Subsequently, DATAs A is read (S 172,), and FuncB using DATAsA is executed (S182). Next, DATAsB is read (S176 ′), and FuncB using DATAsB is executed (S186). ).
- the waiting time of the MPU 10 When data is read in the order shown in FIG. 5A, if the data to be read does not exist in the data / cache 30, the waiting time of the MPU 10 'increases. For example, when reading DATAsA and executing FuncA (S174), if DATAsA is not in the data cache 30, external memory 40 Read DATAsA from the input. Since the access speed of the external memory 40 is 60 to 100 times slower than that of the data cache 30, the waiting time of the MPU 10 'for reading data from the external memory 40 is 60 to 100 times longer.
- DATAsA can be read from the external memory 40.
- the reading (S 172) and FuncB (S 178) of DATAs B cannot be executed until the execution of FuncA (S 174) using the read DATAs A is completed.
- FIG. 6 is a flowchart showing an example of a program that causes the MPU 10 ′ to execute two routines (FuncA and FuncB).
- the MPU 10 reads out FuncA (S190) and executes it (S192), and then reads out FuncB (S194) and executes it (S196).
- prefetching As a method of reducing the increase in the waiting time of the MPU 10 due to such a cache 'hit of the memory 20 or 30' miss, an instruction which is expected to become necessary in near parallel to the program in parallel with the processing being executed Alternatively, there is prefetching (prefetching) in which data is read out to the MPU 10 'as much as possible.
- prefetching For the pre-touch, for example, a touch instruction is used.
- the touch instruction is an instruction for instructing the fetch unit 22 to read an instruction or data.
- the touch instruction or data requested by the touch instruction is read from the external memory 40 to the cache memories 20 and 30. Even while the touch instruction is being executed, the execution unit 26 can execute other instructions in parallel.
- the program can notify the MPU 10 'of an instruction or data expected to be accessed in the near future.
- prediction of the instruction or data to be prefetched is usually performed in the state of the source program before executing the program.
- Prefetched instructions or data are not necessarily needed because the instructions or data that are expected to be needed before the execution of the program are read.
- the effectiveness of prefetch depends on the accuracy of the prediction before the program is executed, and does not always have an effect.
- multithreading There is also a method called multithreading that changes the order of instruction execution by using OS during the execution of a program.
- the scheduler switches the other executable thread to the running state.
- a thread is a unit that can change the execution order of a program, and each thread is called a content related to the execution state of the program. Has information that can be lost.
- contexts which are called context switches, are saved to registers and restored. Executing a context switch involves an interrupt indicating that the running thread has entered the wait state, starting the scheduler, accessing a register, and switching the execution of the thread.
- the execution time of the context switch is sufficiently short and the multi-thread works effectively.
- the context switch execution time is not short and the multi' thread does not work effectively.
- An object of the present invention is to reduce a decrease in the utilization rate of an MPU due to a cache 'memory hit' miss.
- the instructions executed by the execution unit include a test instruction for confirming whether a required routine or data structure exists in the cache memory.
- a microprocessor executes a test instruction immediately before reading a routine or data structure, so that the routine or data structure being read is keyed. ⁇ You can know beforehand whether or not it exists in memory.
- the instruction execution order scheduling method of the present invention just before reading a routine or a data structure capable of parallel processing, it is checked whether or not the routine or the data structure exists in the cache memory.
- FIG. 1 is a block diagram showing one configuration example of the MPU according to the present invention.
- FIG. 2 is a flowchart showing one embodiment of the scheduling according to the present invention.
- FIG. 3 is a flowchart showing another embodiment of the scheduling according to the present invention.
- FIG. 4 is a block diagram showing a configuration example of a conventional MPU.
- Fig. 5 (a) is a flowchart showing an example of data processing performed by the MPU.
- Fig. 5 (b) is a routine that executes the routine using the same data structure in Fig. 5 (a).
- FIG. 11 is a flow chart chart.
- FIG. 6 is a flowchart showing an example of the routine execution of the MPU.
- the execution unit 26 of the MPU 10 has a specified routine or data structure stored in the cache memory 14.
- a test instruction has been added to check for existing forces.
- the MPU 10 checks whether the routine or data structure specified by the test instruction exists in the instruction cache 20 or the data cache 30 or exists ("1"). Returns a result that does not exist ("0"). This result is stored in general-purpose register 32.
- the test instruction is executed in the execution unit 26 of the MPU 10 like other instructions.
- the processing order specified by the program cannot be changed based on the hardware viewpoint. However, there are cases where processing can be performed without problems even if the processing order is changed based on the viewpoint of software. For example, there are cases where the same processing is repeated for a plurality of data structures that do not have a dependency, or where a plurality of independent processings are performed.
- a description will be given of a conventional (FIG. 5B) scheduling of the execution order of FuncA and FuncB using DATAsA and DATAsB as an example.
- DATAsA and DATAsB are independent data structures, respectively, and FuncA and FuncB are independent routines.
- the order of reading DATAsA and DATAsB and reading and executing FuncA and FuncB can be interchanged.
- DATAs A, DATAs B and Func A, Func B are data units and instruction units, respectively, as viewed from the program.
- FIG. 2 shows the conventional (FIG. 5 (b)) flow chart showing the scheduling part (S110, S112, S114, S116, S118, S122, S124, S126) of the present invention. , S128, S130) are shown in the flow chart.
- the reading and processing portions (S172, S174, S182, S176, S178, S186) of DATAs A and DATAsB are the same as the conventional one (FIG. 5 (b)).
- S172 just before reading DATAsA (S172), it is checked whether DATAsA exists in the data cache 30 (S114). This check is performed using test instructions. Send test instruction to MPU10 Then, MPU10 checks whether DATAsA exists in data cache 30 ("1") or does not exist (“0"), and stores the result ("1" or "0") in general-purpose register 32. I do.
- MTAsA is read from the data cache 30 (S172), and FuncA and FuncB using DATAsA are executed by the MPU 10 (S174, S182). . If it does not exist, the conventional touch instruction is sent to the MPU 10 to prefetch DATAsA (S118). This prefetch can be performed in parallel with the execution of other instructions of the execution unit 26.
- DATAsB similarly to DATAsA, immediately before reading DATAsB (S176), it is confirmed by a test instruction whether DATAsB exists in the data cache 30 (S124). As in the case of MTAsA, when DATAsB exists in the data cache 30 ⁇ , DATAsB is read (S176), and the MPU 10 executes FuncA and FuncB (S178, S186). If it does not exist, prefetch DATAsB (S128).
- a parameter DoneDA indicating whether FuncA and FuncB using DATAsA have been completed and a parameter DoneDB indicating whether FuncA and FuncB using DATAsB have been completed are used. If DoneDA and DoneDB are "1", FuncA and FuncB using DATAs A and DATAsB have been completed, respectively. If DoneDA and DoneDB are "0”, FuncA and DATAs using DATAs A and DATAsB have been completed. Indicates that FuncB is not completed. Done M and DoneDB are stored in the data cache 30 or the external memory 40.
- DoneDA and DoneDB The initial values of DoneDA and DoneDB are "0" (S110). When FuncA and FuncB using DATAsA are completed, DoneDA is updated to "1" (S116). When FuncA and FuncB using DATAsB are completed, DoneDB is also set to "1". (S126) By referring to DoneDA and DoneDB, it is possible to confirm whether Func A and Func B using DAT AsA and DATAs B have been completed (S1 12). , S 122, S 1 30) 0
- execution unit 26 can execute other instructions. For example, if DoneDA is "0" and DATAsA is not in the data cache 30, but DoneDB is "0" and DATAsB is in the data cache 30, the FuncA and FuncB using DATAsB during the prefetch of DATAsA Can be performed.
- DoneM and DoneDB are initialized (S110). Next, it is checked whether Func A and FuncB using DATAsA have been completed with reference to DcmeDA (S112). If DoneDA is "0", Func A and FuncB using DATAs A have not been executed yet, so it is confirmed by a test instruction whether DATAsA exists in the data cache 30 (S114). .
- Whether or not DATAsA exists in the data cache 30 can be determined based on whether or not all data included in the DAT AsA exists in the data cache 30. It can also be determined by whether or not the data DATA-A0 exists in the data cache 30 ⁇ . If D ATA-A0 exists in the data cache 30, the other parts (DATA-Al, DAT A-A2,;) are also considered to exist in the data cache 30. It is possible to easily and quickly determine the hit and hit / miss mistakes.
- DATAsA exists in the data cache 30
- DATAsA is read from the data cache 30 (S172), and FuncA and FuncB are executed (S174, S182).
- DoneDA is updated to "1" (S116). If DoneDA is "1", the portions related to DATAsA (S114, S172, S174, S182, S116, S118) are not executed (S112).
- DATAsA does not exist in the data cache 30
- a touch instruction used in the conventional prefetch is sent to the MPU 10 (S118) to prefetch DATAsA.
- FuncA and FuncB using DATAsB can be executed in parallel.
- the following portion related to DATAsB (S122, S124, S176, S178, S186, S126, S128) is the portion related to DATAsA described above (S112, S114, S128). 172, S174, S182, S116, S118). If FuncA and FuncB using DATAsB are not completed (S122), it is confirmed by a test instruction whether DATAsB exists in the data cache 30 (S124). If the data exists in the data cache 30, DATAsB is read from the data cache 30 (S176), and FuncA and FuncB are executed (S178, S186). If it does not exist, prefetching of DATAsB is performed (S128).
- FuncA and FuncB using DATAsB can be executed (S1 78, S 186) 0 When FuncA and FuncB using DATAsB are completed (S126), FuncA and FuncB using DATAs A prefetched to the data cache 30 during the processing are executed (78). S174, S182). Data ⁇ DatasB present in the cache 30 is processed before DATAsA not present in the cache 30, and DATAsA can be prefetched in parallel with the processing of DATAsB. The waiting time of MP U10 at the time can be shortened. Since the prefetch is performed after confirming the hit / miss of the data cache 30, unlike the conventional prefetch based on the prediction before executing the program, useless prefetch is not executed.
- DATAsA, DATAsB have been described as examples, but the number of data structures that can be processed in parallel is arbitrary. For example, if the number of data structures that can be processed in parallel is 5, five parameters indicating whether or not the routine using each data structure has been completed (for example, DoneDA, Done DB, DoneDC, DoneDD, DoneDE), a test instruction is executed immediately before each data structure is read out as in FIG. 2, and processing can be executed from the data structure confirmed to exist in the data cache 30. There may be a plurality of groups of data structures that can be processed in parallel. A data structure may contain only one piece of data and no power.
- FIG. 3 shows the conventional (FIG. 6) flow chart showing the scheduling part (S140, S142, S144, S146, S148, S152, S154, S156, S15) of the present invention. 8, the flow chart with S160) added is shown.
- the readout and execution part (S190, S192, S194, S196) of FuncA and FuncB are It is the same as Fig. 6).
- DoneFA is a parameter indicating whether FuncA has been executed
- DoneFB is a parameter indicating whether FuncB has been executed. If DoneFA and DoneFB are "1", it indicates that FuncA and FuncB have been executed, respectively, and if DoneFA and DoneFB are "0", it indicates that FuncA and FuncB have not been executed.
- the scheduling of the routine is the same as the scheduling of the data structure (DATAsA, DATAsB) described above.
- a test instruction S144, S154. If it exists, the instruction is read from the instruction cache 20 (S190, S194) and executed (S192, S196). If not, the instruction is prefetched (S148, S158).
- Whether FuncA exists in the instruction cache 20 or not can be determined based on whether all instructions included in FuncA exist in the instruction cache 20, but for simplicity, the first instruction of FuncA Inst- The determination can also be made based on whether or not A0 exists in the instruction cache 20. If Inst-AO exists in instruction cache 20, other parts (Inst-Al, Inst-A2,) are also considered to be present in instruction cache 20, so that it is easy and easy to determine cache hit and hit / miss. Can be done at high speed.
- FuncA is not in instruction cache 20 and FuncB is in instruction cache 20
- FuncB can be executed in parallel with FuncA prefetch (S148). (S196).
- FuncA prefetched by the instruction cache 20 is executed while FuncB is being executed (S192).
- Instruction cache 20 more than FuncA not present in instruction cache 20 Since the existing Func B is executed first, and the Func A can be prefetched in parallel with the execution of Func B, the wait time of the MPU 10 when the instruction cache 20 hits or misses can be shortened. Since prefetching is performed after checking the hit-miss of the instruction cache 20, unlike the conventional prefetch based on the prediction before executing the program, useless prefetching is not performed.
- the scheduling shown in FIG. 3 can be used for reading out Func A and FuncB shown in FIG. Since the instruction cache 20 and the data-cache 30 are independent of each other, reading and writing of the instruction cache 20 and reading and writing of the data cache 30 can be executed independently.
- the scheduling part of the present invention which is added to the conventional flow charts shown in FIGS. 5 (b) and 6, is a part related to the reading and processing of the conventional routine or data structure. Does not branch at all.
- the scheduling part added by the present invention does not affect other parts of the flow chart.
- the present invention reorders data structures and routines. Instructed in the program. Unlike multi-threading, in which switching is controlled by the OS scheduler, since the content switch is not activated, the load on the MPU and OS is small and high-speed processing is possible.
- Test instructions to the part immediately before reading a routine or data structure capable of parallel processing can be added automatically at compile time, or manually added to the source program.
- the compiler can detect concurrency, and in many cases, test instructions can be added automatically at the time of compilation. Since the compiler cannot detect concurrency in the part related to 1/0 (input / output), test instructions are often added manually.
- a test command can be sent to TLB (Translation Lookaside Buffer) used for address translation.
- TLB is a cache memory in which a part of the address conversion table existing in the external memory 40 is stored.
- PTE Peage Table Entry
- Swap the data stored in B By using the MPU and the instruction execution order scheduling method of the present invention, it is possible to shorten the MPU wait time in the case of a hit / miss of the TLB as in the case of a hit / miss of the data cache and the instruction cache. Can be.
- the test instruction may examine the instruction cache, data cache, and TLB cache hits all at once, or may examine each cache hit individually.
- the present invention can be embodied in variously modified, modified, and modified forms based on the knowledge of those skilled in the art without departing from the spirit thereof.
- test instruction for checking whether a required routine or data structure exists in the cache memory (instruction cache, data cache) is added.
- the test instruction can determine whether the routine or data structure to be read exists in the cache memory immediately before reading the routine or data structure.
- a routine or a data structure that can be processed in parallel is examined by a test instruction described above to determine whether a routine or a data structure to be read is present in a cache memory or not. Based on the result, the routine or data structure existing in the cache memory is read preferentially. Routines or data structures that exist in the cache memory are read and processed before routines or data structures that do not exist in the cache memory, and routines or data that do not exist in the cache memory are processed in parallel with the processing. Prefetching the structure can reduce the latency of the micro processor due to cache 'memory hit' misses.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
Abstract
Description
Claims
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2003-7010997A KR20030088031A (en) | 2001-02-27 | 2002-02-14 | Microprocessor and Instruction Execution Order Scheduling Method |
JP2002568205A JPWO2002069150A1 (en) | 2001-02-27 | 2002-02-14 | Microprocessor and instruction execution order scheduling method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001-51539 | 2001-02-27 | ||
JP2001051539 | 2001-02-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2002069150A1 true WO2002069150A1 (en) | 2002-09-06 |
Family
ID=18912305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2002/001272 WO2002069150A1 (en) | 2001-02-27 | 2002-02-14 | Microprocessor and instruction execution order scheduling method |
Country Status (4)
Country | Link |
---|---|
JP (1) | JPWO2002069150A1 (en) |
KR (1) | KR20030088031A (en) |
TW (1) | TW556082B (en) |
WO (1) | WO2002069150A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8020169B2 (en) | 2003-01-09 | 2011-09-13 | Japan Science And Technology Agency | Context switching system having context cache and a register file for the save and restore context operation |
JP2013047950A (en) * | 2011-08-19 | 2013-03-07 | Canon Inc | Efficient cache reuse through application-determined scheduling |
JP2016534476A (en) * | 2013-09-24 | 2016-11-04 | インテル・コーポレーション | Method and apparatus for cache occupancy determination and instruction scheduling |
-
2002
- 2002-02-14 JP JP2002568205A patent/JPWO2002069150A1/en active Pending
- 2002-02-14 WO PCT/JP2002/001272 patent/WO2002069150A1/en active IP Right Grant
- 2002-02-14 KR KR10-2003-7010997A patent/KR20030088031A/en active IP Right Grant
- 2002-02-22 TW TW091103172A patent/TW556082B/en not_active IP Right Cessation
Non-Patent Citations (1)
Title |
---|
HOROWITZ ET AL.: "Informing memory operation: memory performance feedback mechanisms and their applications", ACM TRANS. ON COMPUTER SYSTEMS, ACM, vol. 16, no. 2, 1998, pages 170 - 205, XP000791702 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8020169B2 (en) | 2003-01-09 | 2011-09-13 | Japan Science And Technology Agency | Context switching system having context cache and a register file for the save and restore context operation |
JP2013047950A (en) * | 2011-08-19 | 2013-03-07 | Canon Inc | Efficient cache reuse through application-determined scheduling |
JP2016534476A (en) * | 2013-09-24 | 2016-11-04 | インテル・コーポレーション | Method and apparatus for cache occupancy determination and instruction scheduling |
US10140210B2 (en) | 2013-09-24 | 2018-11-27 | Intel Corporation | Method and apparatus for cache occupancy determination and instruction scheduling |
Also Published As
Publication number | Publication date |
---|---|
KR20030088031A (en) | 2003-11-15 |
JPWO2002069150A1 (en) | 2004-07-02 |
TW556082B (en) | 2003-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5357017B2 (en) | Fast and inexpensive store-load contention scheduling and transfer mechanism | |
US7383391B2 (en) | Prefetch mechanism based on page table attributes | |
JP5089186B2 (en) | Data cache miss prediction and scheduling | |
JP3640355B2 (en) | Instruction prefetch method and system for cache control | |
US8639886B2 (en) | Store-to-load forwarding mechanism for processor runahead mode operation | |
US9710391B2 (en) | Methods and apparatuses for efficient load processing using buffers | |
US20090106499A1 (en) | Processor with prefetch function | |
CN110959154B (en) | Private cache for thread local store data access | |
US20130246709A1 (en) | Translation address cache for a microprocessor | |
JPH096633A (en) | Method and system for operation of high-performance multiplelogical route in data-processing system | |
EP1782184B1 (en) | Selectively performing fetches for store operations during speculative execution | |
WO2005088455A2 (en) | Cache memory prefetcher | |
JPH0630075B2 (en) | Data processing device having cache memory | |
KR100234647B1 (en) | Data processing system with instruction prefetch | |
JP4220473B2 (en) | Mechanisms that improve control speculation performance | |
US6658537B2 (en) | DMA driven processor cache | |
US6892280B2 (en) | Multiprocessor system having distributed shared memory and instruction scheduling method used in the same system | |
US20230315471A1 (en) | Method and system for hardware-assisted pre-execution | |
WO2002069150A1 (en) | Microprocessor and instruction execution order scheduling method | |
JP2008015562A (en) | Cache mistake/hit prediction | |
US6769057B2 (en) | System and method for determining operand access to data | |
US6668306B2 (en) | Non-vital loads | |
JP5116275B2 (en) | Arithmetic processing apparatus, information processing apparatus, and control method for arithmetic processing apparatus | |
JP2008015668A (en) | Task management device | |
JP3161422B2 (en) | Microcomputer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2002568205 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020037010997 Country of ref document: KR |
|
WWP | Wipo information: published in national office |
Ref document number: 1020037010997 Country of ref document: KR |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
122 | Ep: pct application non-entry in european phase | ||
WWG | Wipo information: grant in national office |
Ref document number: 1020037010997 Country of ref document: KR |