AU1614601A - System and method for unrolling loops in a trace cache - Google Patents
System and method for unrolling loops in a trace cacheInfo
- Publication number
- AU1614601A AU1614601A AU16146/01A AU1614601A AU1614601A AU 1614601 A AU1614601 A AU 1614601A AU 16146/01 A AU16146/01 A AU 16146/01A AU 1614601 A AU1614601 A AU 1614601A AU 1614601 A AU1614601 A AU 1614601A
- Authority
- AU
- Australia
- Prior art keywords
- loops
- trace
- processor
- cache
- trace cache
- 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.)
- Abandoned
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F9/3808—Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
- G06F9/381—Loop buffering
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Debugging And Monitoring (AREA)
Abstract
An exemplary processor or trace cache according to the present invention includes a cache unit, which includes a data array that stores traces. The processor or trace cache also includes a control block connected to the cache unit, the control block unrolling loops when building the traces. In one exemplary method of unrolling loops, the processor or trace cache unrolls loops until the trace is a minimum length. In another exemplary embodiment, the processor or trace cache unrolls only those loops in which the head of the loop is the trace head. In a third exemplary embodiment, the processor or trace cache unrolls loops based on a predicted number of iterations of the loop when executed.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/475,061 US6578138B1 (en) | 1999-12-30 | 1999-12-30 | System and method for unrolling loops in a trace cache |
| US09475061 | 1999-12-30 | ||
| PCT/US2000/031461 WO2001050255A1 (en) | 1999-12-30 | 2000-11-16 | System and method for unrolling loops in a trace cache |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| AU1614601A true AU1614601A (en) | 2001-07-16 |
Family
ID=23886096
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| AU16146/01A Abandoned AU1614601A (en) | 1999-12-30 | 2000-11-16 | System and method for unrolling loops in a trace cache |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US6578138B1 (en) |
| EP (1) | EP1242875B1 (en) |
| AT (1) | ATE259080T1 (en) |
| AU (1) | AU1614601A (en) |
| DE (1) | DE60008148T2 (en) |
| HK (1) | HK1046557B (en) |
| WO (1) | WO2001050255A1 (en) |
Families Citing this family (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6976150B1 (en) * | 2000-04-06 | 2005-12-13 | The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | Resource flow computing device |
| US7757065B1 (en) * | 2000-11-09 | 2010-07-13 | Intel Corporation | Instruction segment recording scheme |
| US7457917B2 (en) * | 2004-12-29 | 2008-11-25 | Intel Corporation | Reducing power consumption in a sequential cache |
| US7689772B2 (en) * | 2006-05-04 | 2010-03-30 | Intel Corporation | Power-performance modulation in caches using a smart least recently used scheme |
| US20080077778A1 (en) * | 2006-09-25 | 2008-03-27 | Davis Gordon T | Method and Apparatus for Register Renaming in a Microprocessor |
| US20080215804A1 (en) * | 2006-09-25 | 2008-09-04 | Davis Gordon T | Structure for register renaming in a microprocessor |
| US7644233B2 (en) * | 2006-10-04 | 2010-01-05 | International Business Machines Corporation | Apparatus and method for supporting simultaneous storage of trace and standard cache lines |
| US8386712B2 (en) * | 2006-10-04 | 2013-02-26 | International Business Machines Corporation | Structure for supporting simultaneous storage of trace and standard cache lines |
| US7610449B2 (en) * | 2006-10-04 | 2009-10-27 | International Business Machines Corporation | Apparatus and method for saving power in a trace cache |
| US20080250206A1 (en) * | 2006-10-05 | 2008-10-09 | Davis Gordon T | Structure for using branch prediction heuristics for determination of trace formation readiness |
| US7934081B2 (en) * | 2006-10-05 | 2011-04-26 | International Business Machines Corporation | Apparatus and method for using branch prediction heuristics for determination of trace formation readiness |
| US20080114964A1 (en) * | 2006-11-14 | 2008-05-15 | Davis Gordon T | Apparatus and Method for Cache Maintenance |
| US20080250207A1 (en) * | 2006-11-14 | 2008-10-09 | Davis Gordon T | Design structure for cache maintenance |
| US20080235500A1 (en) * | 2006-11-21 | 2008-09-25 | Davis Gordon T | Structure for instruction cache trace formation |
| US20080120468A1 (en) * | 2006-11-21 | 2008-05-22 | Davis Gordon T | Instruction Cache Trace Formation |
| US8621149B2 (en) * | 2009-12-23 | 2013-12-31 | Intel Corporation | Controlling access to a cache memory using privilege level information |
| EP2591422A1 (en) | 2010-07-09 | 2013-05-15 | Martin Vorbach | Data processing device and method |
| US9389860B2 (en) * | 2012-04-02 | 2016-07-12 | Apple Inc. | Prediction optimizations for Macroscalar vector partitioning loops |
| US9753733B2 (en) * | 2012-06-15 | 2017-09-05 | Apple Inc. | Methods, apparatus, and processors for packing multiple iterations of loop in a loop buffer |
| US10915322B2 (en) * | 2018-09-18 | 2021-02-09 | Advanced Micro Devices, Inc. | Using loop exit prediction to accelerate or suppress loop mode of a processor |
| US20210200550A1 (en) * | 2019-12-28 | 2021-07-01 | Intel Corporation | Loop exit predictor |
| US12373215B2 (en) * | 2022-07-25 | 2025-07-29 | Apple Inc. | Using a next fetch predictor circuit with short branches and return fetch groups |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1993017385A1 (en) | 1992-02-27 | 1993-09-02 | Intel Corporation | Dynamic flow instruction cache memory |
| US6018786A (en) | 1997-10-23 | 2000-01-25 | Intel Corporation | Trace based instruction caching |
| US6170038B1 (en) | 1997-10-23 | 2001-01-02 | Intel Corporation | Trace based instruction caching |
| US6076144A (en) * | 1997-12-01 | 2000-06-13 | Intel Corporation | Method and apparatus for identifying potential entry points into trace segments |
-
1999
- 1999-12-30 US US09/475,061 patent/US6578138B1/en not_active Expired - Lifetime
-
2000
- 2000-11-16 EP EP00978715A patent/EP1242875B1/en not_active Expired - Lifetime
- 2000-11-16 DE DE60008148T patent/DE60008148T2/en not_active Expired - Lifetime
- 2000-11-16 WO PCT/US2000/031461 patent/WO2001050255A1/en not_active Ceased
- 2000-11-16 AT AT00978715T patent/ATE259080T1/en not_active IP Right Cessation
- 2000-11-16 AU AU16146/01A patent/AU1614601A/en not_active Abandoned
- 2000-11-16 HK HK02107941.3A patent/HK1046557B/en not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| EP1242875A1 (en) | 2002-09-25 |
| EP1242875B1 (en) | 2004-02-04 |
| DE60008148D1 (en) | 2004-03-11 |
| DE60008148T2 (en) | 2004-09-09 |
| HK1046557A1 (en) | 2003-01-17 |
| ATE259080T1 (en) | 2004-02-15 |
| US6578138B1 (en) | 2003-06-10 |
| WO2001050255A1 (en) | 2001-07-12 |
| HK1046557B (en) | 2004-12-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| AU1614601A (en) | System and method for unrolling loops in a trace cache | |
| EP1091270A4 (en) | Control system, display, host computer for control, and data transmitting method | |
| EP1400266A3 (en) | Systems and method for executing user-definable events triggered through geolocational data describing zones of influence | |
| DE60100098D1 (en) | REGULATOR, CAB PRESSURE CONTROL SYSTEM AND METHOD | |
| GB2378549B (en) | Processor, multiprocessor system and method for data dependence speculative execution | |
| DE69727465D1 (en) | Computer system with memory control for burst mode transmission | |
| WO2003077071A3 (en) | Systems and methods for enhancing electronic communication security | |
| AU2003230960A1 (en) | Control function based on requesting master id and a data address within an integrated system | |
| NO980958D0 (en) | Computer controlled gas ventilation system | |
| EE200100542A (en) | A dual display data processing system and such an applied network system control method | |
| BR9611411A (en) | Colloidally stabilized emulsion polymer | |
| DE69907287D1 (en) | computer systems | |
| FI20001975L (en) | Control data signaling method | |
| BR0111295A (en) | Closed loop feedback system for better downlink performance | |
| IL164718A0 (en) | Initializing, maintaining, updating and recoveringsecure operation within an integrated system empl oying a data access control function | |
| DE69523527D1 (en) | Computer system with bell locking device to initiate system wake-up procedures | |
| DE69628493D1 (en) | Cache-coherent computer system that minimizes devaluation and writeback operations | |
| DE60237343D1 (en) | Electronic data library system | |
| DE50100010D1 (en) | Electronic control system | |
| EP0624846A3 (en) | Bus control device. | |
| WO2005008169A3 (en) | Blast sequence control | |
| ATE475141T1 (en) | CACHE MEMORY AND SYSTEM | |
| MY126148A (en) | Control method and electronic device. | |
| ITMI922599A1 (en) | CONSUMPTION MANAGEMENT AND CONTROL DEVICE, PARTICULARLY FOR CIVIL ELECTRICAL SYSTEMS | |
| ATE214171T1 (en) | CONTROLLING MEMORY ACCESS OPERATIONS |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MK6 | Application lapsed section 142(2)(f)/reg. 8.3(3) - pct applic. not entering national phase |