KR100792320B1 - 주프로세서용 명령의 프리페치에 보조프로세서를 이용하는방법 및 장치 - Google Patents
주프로세서용 명령의 프리페치에 보조프로세서를 이용하는방법 및 장치 Download PDFInfo
- Publication number
- KR100792320B1 KR100792320B1 KR1020037003363A KR20037003363A KR100792320B1 KR 100792320 B1 KR100792320 B1 KR 100792320B1 KR 1020037003363 A KR1020037003363 A KR 1020037003363A KR 20037003363 A KR20037003363 A KR 20037003363A KR 100792320 B1 KR100792320 B1 KR 100792320B1
- Authority
- KR
- South Korea
- Prior art keywords
- executable code
- main processor
- coprocessor
- instructions
- prefetch
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 46
- 239000004065 semiconductor Substances 0.000 claims description 6
- 230000001737 promoting effect Effects 0.000 claims 1
- 239000000872 buffer Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000001934 delay Effects 0.000 description 3
- 239000012536 storage buffer Substances 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011946 reduction process Methods 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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/3802—Instruction prefetching
- G06F9/3808—Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
-
- 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/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
- Devices For Executing Special Programs (AREA)
- Hardware Redundancy (AREA)
Abstract
Description
Claims (25)
- 주프로세서에 앞서 프리페치 동작을 실행하는 데 보조프로세서를 이용함으로서 명령을 프리페치하는 방법으로서,- 주프로세서 상에서 실행코드를 실행하고,- 이와 동시에 보조프로세서 상에서 실행코드 축소버전을 실행하며, 이때 실행코드 축소버전은 실행코드보다 빨리 실행되며 주프로세서가 명령을 필요로하기에 앞서 주프로세서에 대한 프리페치 동작을 실행하며, 그리고- 프리페치된 연산을 주기억장치로부터 불러올필요없이 주프로세서가 프리페치된 명령에 접근할 수 있도록, 주프로세서에 의해 접근가능한 캐시에 프리페치된 명령을 저장하는,이상의 단계를 포함하는 것을 특징으로 하는, 주프로세서에 앞서 프리페치 동작을 실행하는 데 보조프로세서를 이용함으로서 명령을 프리페치하는 방법.
- 제 1 항에 있어서, 실행코드를 실행하기 전에,- 소스 코드를 주프로세서에 대한 실행코드로 컴파일하고,- 실행코드의 자주 참조되는 부분에 대한 명령 트레이스 생성을 위해 실행코드를 프로파일링하며,- 명령 트레이스 부분을 프리페치하는 프리페치 명령을 주프로세서가 접근할 수 있는 캐시에 생성함으로서 보조프로세서에 대한 실행코드 축소버전을 생성하며, 그리고- 주프로세서로부터 보조프로세서로 진행 정보 전달을 위해 주프로세서에 대한 실행코드와 보조프로세서에 대한 실행코드 축소버전에 통신 명령을 삽입하는,이상의 단계를 추가로 포함하며, 이때 진행 정보는 프리페치 동작을 실행하도록 보조프로세서를 트리거링하는 것을 특징으로 하는 방법.
- 제 2 항에 있어서, 소스 코드를 컴파일링하는 과정과 실행코드 축소버전을 생성하는 과정이 컴파일러에 의해 이행되는 것을 특징으로 하는 방법.
- 제 2 항에 있어서, 보조프로세서가 잘못된 경로를 따라 명령을 프리페치하고 있음을 진행 정보가 표시할 경우, 실행코드 축소버전은 보조프로세서가 프리페치를 중단하게 하는 것을 특징으로 하는 방법.
- 제 1 항에 있어서, 실행코드 축소버전은,- 브랜치 히스토리 정보와 호출 히스토리 정보를 레코딩하는 전용 하드웨어로부터 제어 흐름 히스토리 정보를 읽어들이고,- 제어 흐름 히스토리 정보를 바탕으로 실행코드를 따라 예측 경로를 구축하며, 그리고- 주프로세서에 대한 명령을 프리페치하기 위해 예측 경로를 따라 프리페치 동작을 실행하도록,설정되는 것을 특징으로 하는 방법.
- 제 2 항에 있어서, 실행코드 축소버전을 생성하는 단계는,- 실행코드에 대한 제어 흐름 그래프를 구축하고,- 제어 흐름 그래프로부터 루프들을 제거하며,- 제어 흐름 그래프에 관련없는 실행코드 명령들을 제거하고, 그리고- 주프로세서에 대한 실행코드로부터 명령을 프리페치하기 위해 실행코드 축소버전에 프리페치 명령을 삽입하는,이상의 과정을 포함하는 것을 특징으로 하는 방법.
- 제 1 항에 있어서, 프리페치 동작을 실행하는 단계는,- 주프로세서에 대한 다중 명령을 내장하는 캐시 블록을 프리페치하는과정을 포함하는 것을 특징으로 하는 방법.
- 제 1 항에 있어서, 일방향 통신 채널을 통해 주프로세서로부터 보조프로세서까지 진행 정보를 주기적으로 전달하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
- 주프로세서에 앞서 프리페치 동작을 실행하는 데 보조프로세서를 이용함으로서 명령을 프리페치하는 방법을 구현하는 프로그램을 기록한 컴퓨터 판독형 저장 매체에 있어서, 상기 방법은,- 주프로세서 상에서 실행코드를 실행하고,- 이와 동시에 보조프로세서 상에서 실행코드 축소버전을 실행하며, 이때 실행코드 축소버전은 실행코드보다 빨리 실행되며 주프로세서가 명령을 필요로하기에 앞서 주프로세서에 대한 프리페치 동작을 실행하며, 그리고- 프리페치된 연산을 주기억장치로부터 불러올필요없이 주프로세서가 프리페치된 명령에 접근할 수 있도록, 주프로세서에 의해 접근가능한 캐시에 프리페치된 명령을 저장하는이상의 단계를 포함하는 것을 특징으로 하는, 주프로세서에 앞서 프리페치 동작을 실행하는 데 보조프로세서를 이용함으로서 명령을 프리페치하는 방법을 구현하는 프로그램을 기록한 컴퓨터 판독형 저장 매체.
- 제 9 항에 있어서, 실행코드를 실행하기 전에, 상기 방법은,- 소스 코드를 주프로세서에 대한 실행코드로 컴파일하고,- 실행코드의 자주 참조되는 부분에 대한 명령 트레이스 생성을 위해 실행코드를 프로파일링하며,- 명령 트레이스 부분을 프리페치하는 프리페치 명령을 주프로세서가 접근할 수 있는 캐시에 생성함으로서 보조프로세서에 대한 실행코드 축소버전을 생성하며, 그리고- 주프로세서로부터 보조프로세서로 진행 정보 전달을 위해 주프로세서에 대한 실행코드와 보조프로세서에 대한 실행코드 축소버전에 통신 명령을 삽입하는,이상의 단계를 추가로 포함하며, 이때 진행 정보는 프리페치 동작을 실행하도록 보조프로세서를 트리거링하는 것을 특징으로 하는, 컴퓨터 판독형 저장 매체.
- 제 10 항에 있어서, 소스 코드를 컴파일링하는 과정과 실행코드 축소버전을 생성하는 과정이 컴파일러에 의해 이행되는 것을 특징으로 하는, 컴퓨터 판독형 저장 매체.
- 제 10 항에 있어서, 보조프로세서가 잘못된 경로를 따라 명령을 프리페치하고 있음을 진행 정보가 표시할 경우, 실행코드 축소버전은 보조프로세서가 프리페치를 중단하게 하는 것을 특징으로 하는, 컴퓨터 판독형 저장 매체.
- 제 9 항에 있어서, 실행코드 축소버전은,- 브랜치 히스토리 정보와 호출 히스토리 정보를 레코딩하는 전용 하드웨어로부터 제어 흐름 히스토리 정보를 읽어들이고,- 제어 흐름 히스토리 정보를 바탕으로 실행코드를 따라 예측 경로를 구축하며, 그리고- 주프로세서에 대한 명령을 프리페치하기 위해 예측 경로를 따라 프리페치 동작을 실행하도록,설정되는 것을 특징으로 하는, 컴퓨터 판독형 저장 매체.
- 제 10 항에 있어서, 실행코드 축소버전을 생성하는 단계는,- 실행코드에 대한 제어 흐름 그래프를 구축하고,- 제어 흐름 그래프로부터 루프들을 제거하며,- 제어 흐름 그래프에 관련없는 실행코드 명령들을 제거하고, 그리고- 주프로세서에 대한 실행코드로부터 명령을 프리페치하기 위해 실행코드 축소버전에 프리페치 명령을 삽입하는,이상의 과정을 포함하는 것을 특징으로 하는, 컴퓨터 판독형 저장 매체.
- 제 9 항에 있어서, 프리페치 동작을 실행하는 단계는,- 주프로세서에 대한 다중 명령을 내장하는 캐시 블록을 프리페치하는과정을 포함하는 것을 특징으로 하는, 컴퓨터 판독형 저장 매체.
- 제 9 항에 있어서, 상기 방법이 일방향 통신 채널을 통해 주프로세서로부터 보조프로세서까지 진행 정보를 주기적으로 전달하는 단계를 추가로 포함하는 것을 특징으로 하는, 컴퓨터 판독형 저장 매체.
- 기억장치로부터 프리페치를 촉진시키는 장치로서,- 실행코드를 실행하도록 설정되는 주프로세서,- 이와 동시에 실행코드 축소버전을 실행하도록 설정되는 보조프로세서로서, 이때 실행코드 축소버전은 실행코드보다 빨리 실행되며 주프로세서가 명령을 필요로하기에 앞서 주프로세서에 대한 프리페치 동작을 실행하는 특징의 보조프로세서, 그리고- 프리페치된 연산을 주기억장치로부터 불러올필요없이 주프로세서가 프리페치된 명령에 접근할 수 있도록, 주프로세서에 의해 접근가능하면서 프리페치된 명령을 저장하는 캐시를 포함하는 것을 특징으로 하는, 기억장치로부터 프리페치를 촉진시키는 장치.
- 제 17 항에 있어서,- 소스 코드를 주프로세서에 대한 실행코드로 컴파일하고,- 실행코드의 자주 참조되는 부분에 대한 명령 트레이스 생성을 위해 실행코드를 프로파일링하며,- 명령 트레이스 부분을 프리페치하는 프리페치 명령을 주프로세서가 접근할 수 있는 캐시에 생성함으로서 보조프로세서에 대한 실행코드 축소버전을 생성하며, 그리고- 주프로세서로부터 보조프로세서로 진행 정보 전달을 위해 주프로세서에 대 한 실행코드와 보조프로세서에 대한 실행코드 축소버전에 통신 명령을 삽입하도록,설정되는 컴파일 메커니즘이 상기 장치에 추가로 포함하고, 이때 진행 정보는 프리페치 동작을 실행하도록 보조프로세서를 트리거링하는 것을 특징으로 하는 장치.
- 제 18 항에 있어서, 보조프로세서가 잘못된 경로를 따라 명령을 프리페치하고 있음을 진행 정보가 보조프로세서에 표시할 경우, 실행코드 축소버전은 보조프로세서가 프리페치를 중단하게 하는 것을 특징으로 하는 장치.
- 제 17 항에 있어서, 상기 장치는 실행코드에 대한 호출 히스토리 정보와 브랜치 히스토리 정보를 레코딩하는 전용 하드웨어를 추가로 포함하며,- 브랜치 히스토리 정보와 호출 히스토리 정보를 레코딩하는 전용 하드웨어로부터 제어 흐름 히스토리 정보를 읽어들이고,- 제어 흐름 히스토리 정보를 바탕으로 실행코드를 따라 예측 경로를 구축하며, 그리고- 주프로세서에 대한 명령을 프리페치하기 위해 예측 경로를 따라 프리페치 동작을 실행하도록,실행코드 축소버전이 설정되는 것을 특징으로 하는 장치.
- 제 18 항에 있어서, 실행코드 축소버전을 생성할 때,- 실행코드에 대한 제어 흐름 그래프를 구축하고,- 제어 흐름 그래프로부터 루프들을 제거하며,- 제어 흐름 그래프에 관련없는 실행코드 명령들을 제거하고, 그리고- 주프로세서에 대한 실행코드로부터 명령을 프리페치하기 위해 실행코드 축소버전에 프리페치 명령을 삽입하도록,컴파일 메커니즘이 설정되는 것을 특징으로 하는 장치.
- 제 17 항에 있어서, 프리페치 동작들은,- 주프로세서에 대한 다중 명령을 내장하는 캐시 블록을 프리페치하도록설정되는 것을 특징으로 하는 장치.
- 제 17 항에 있어서, 주프로세서와 보조프로세서가 동일한 반도체 칩에 위치하는 것을 특징으로 하는 장치.
- 제 17 항에 있어서, 주프로세서와 보조프로세서가 서로 다른 반도체 칩에 위치하는 것을 특징으로 하는 장치.
- 제 17 항에 있어서, 상기 보조프로세서는 기억장치 접근 동작에 관련된 하드웨어만으로 구성된, 주프로세서의 단순화된 버전인 것을 특징으로 하는 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US23145200P | 2000-09-08 | 2000-09-08 | |
US60/231,452 | 2000-09-08 | ||
PCT/US2001/041962 WO2002021268A2 (en) | 2000-09-08 | 2001-08-30 | Method and apparatus for using an assist processor to prefetch instructions for a primary processor |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030034172A KR20030034172A (ko) | 2003-05-01 |
KR100792320B1 true KR100792320B1 (ko) | 2008-01-07 |
Family
ID=22869286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020037003363A KR100792320B1 (ko) | 2000-09-08 | 2001-08-30 | 주프로세서용 명령의 프리페치에 보조프로세서를 이용하는방법 및 장치 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6681318B2 (ko) |
EP (1) | EP1316015B1 (ko) |
JP (1) | JP4808910B2 (ko) |
KR (1) | KR100792320B1 (ko) |
CN (1) | CN1207659C (ko) |
AT (1) | ATE493704T1 (ko) |
AU (1) | AU2001287222A1 (ko) |
DE (1) | DE60143757D1 (ko) |
WO (1) | WO2002021268A2 (ko) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1387259B1 (en) * | 2002-07-31 | 2017-09-20 | Texas Instruments Incorporated | Inter-processor control |
US7155575B2 (en) * | 2002-12-18 | 2006-12-26 | Intel Corporation | Adaptive prefetch for irregular access patterns |
US20040186960A1 (en) * | 2003-03-20 | 2004-09-23 | Sun Microsystems, Inc. | Computer processor data prefetch unit |
CN1327353C (zh) * | 2003-04-21 | 2007-07-18 | 智慧第一公司 | 可选择性撤回预取的微处理器装置 |
JP2006268487A (ja) * | 2005-03-24 | 2006-10-05 | Nec Corp | エミュレーション装置及びエミュレーション方法、並びに、エミュレーションプログラム |
US7472256B1 (en) | 2005-04-12 | 2008-12-30 | Sun Microsystems, Inc. | Software value prediction using pendency records of predicted prefetch values |
US8019947B2 (en) * | 2005-10-19 | 2011-09-13 | Intel Corporation | Technique for thread communication and synchronization |
KR101360221B1 (ko) * | 2007-09-13 | 2014-02-10 | 삼성전자주식회사 | 인스트럭션 캐시 관리 방법 및 그 방법을 이용하는프로세서 |
FR2928753B1 (fr) * | 2008-03-14 | 2012-09-21 | Pierre Fiorini | Architecture de traitement informatique accelere. |
CA2672337C (en) | 2009-07-15 | 2017-01-03 | Ibm Canada Limited - Ibm Canada Limitee | Compiler instrumentation infrastructure to facilitate multiple pass and multiple purpose dynamic analysis |
US8418156B2 (en) * | 2009-12-16 | 2013-04-09 | Intel Corporation | Two-stage commit (TSC) region for dynamic binary optimization in X86 |
EP2517100B1 (en) * | 2009-12-25 | 2018-09-26 | Shanghai Xinhao Micro-Electronics Co. Ltd. | High-performance cache system and method |
CN102117198B (zh) | 2009-12-31 | 2015-07-15 | 上海芯豪微电子有限公司 | 一种分支处理方法 |
JP5541491B2 (ja) * | 2010-01-07 | 2014-07-09 | 日本電気株式会社 | マルチプロセッサ、これを用いたコンピュータシステム、およびマルチプロセッサの処理方法 |
GB2513043B (en) | 2013-01-15 | 2015-09-30 | Imagination Tech Ltd | Improved control of pre-fetch traffic |
US10896130B2 (en) * | 2016-10-19 | 2021-01-19 | International Business Machines Corporation | Response times in asynchronous I/O-based software using thread pairing and co-execution |
US11755333B2 (en) | 2021-09-23 | 2023-09-12 | Apple Inc. | Coprocessor prefetcher |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR900010552A (ko) * | 1988-12-27 | 1990-07-07 | 야마모또 다꾸마 | 명령을 페치(fetch)하기 위한 제어 시스템 |
US5961631A (en) * | 1997-07-16 | 1999-10-05 | Arm Limited | Data processing apparatus and method for pre-fetching an instruction in to an instruction cache |
WO2000038050A1 (en) | 1998-12-21 | 2000-06-29 | Intel Corporation | Instruction decomposition to branch and sequential sections |
KR20020097160A (ko) * | 2000-01-14 | 2002-12-31 | 썬 마이크로시스템즈, 인코포레이티드 | 주프로세서용 데이터값의 사전인출을 위해 보조프로세서를이용하는 방법 및 장치 |
KR20040079097A (ko) * | 2003-03-06 | 2004-09-14 | 한국과학기술원 | 보조프로세서를 이용한 멀티미디어 처리를 위한 가속장치 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4991080A (en) | 1986-03-13 | 1991-02-05 | International Business Machines Corporation | Pipeline processing apparatus for executing instructions in three streams, including branch stream pre-execution processor for pre-executing conditional branch instructions |
US5392391A (en) | 1991-10-18 | 1995-02-21 | Lsi Logic Corporation | High performance graphics applications controller |
GB9426155D0 (en) | 1994-12-23 | 1995-02-22 | Univ Manchester | Dual processor decoupling |
US5787285A (en) | 1995-08-15 | 1998-07-28 | International Business Machines Corporation | Apparatus and method for optimizing applications for multiple operational environments or modes |
-
2001
- 2001-01-16 US US09/761,216 patent/US6681318B2/en not_active Expired - Lifetime
- 2001-08-30 EP EP01966737A patent/EP1316015B1/en not_active Expired - Lifetime
- 2001-08-30 KR KR1020037003363A patent/KR100792320B1/ko active IP Right Grant
- 2001-08-30 CN CNB018162746A patent/CN1207659C/zh not_active Expired - Lifetime
- 2001-08-30 AT AT01966737T patent/ATE493704T1/de not_active IP Right Cessation
- 2001-08-30 AU AU2001287222A patent/AU2001287222A1/en not_active Abandoned
- 2001-08-30 WO PCT/US2001/041962 patent/WO2002021268A2/en active Search and Examination
- 2001-08-30 DE DE60143757T patent/DE60143757D1/de not_active Expired - Lifetime
- 2001-08-30 JP JP2002524815A patent/JP4808910B2/ja not_active Expired - Lifetime
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR900010552A (ko) * | 1988-12-27 | 1990-07-07 | 야마모또 다꾸마 | 명령을 페치(fetch)하기 위한 제어 시스템 |
US5961631A (en) * | 1997-07-16 | 1999-10-05 | Arm Limited | Data processing apparatus and method for pre-fetching an instruction in to an instruction cache |
WO2000038050A1 (en) | 1998-12-21 | 2000-06-29 | Intel Corporation | Instruction decomposition to branch and sequential sections |
KR20020097160A (ko) * | 2000-01-14 | 2002-12-31 | 썬 마이크로시스템즈, 인코포레이티드 | 주프로세서용 데이터값의 사전인출을 위해 보조프로세서를이용하는 방법 및 장치 |
KR20040079097A (ko) * | 2003-03-06 | 2004-09-14 | 한국과학기술원 | 보조프로세서를 이용한 멀티미디어 처리를 위한 가속장치 |
Also Published As
Publication number | Publication date |
---|---|
EP1316015A2 (en) | 2003-06-04 |
WO2002021268A2 (en) | 2002-03-14 |
US6681318B2 (en) | 2004-01-20 |
WO2002021268A3 (en) | 2002-06-06 |
CN1466716A (zh) | 2004-01-07 |
AU2001287222A1 (en) | 2002-03-22 |
DE60143757D1 (de) | 2011-02-10 |
US20020095563A1 (en) | 2002-07-18 |
JP4808910B2 (ja) | 2011-11-02 |
CN1207659C (zh) | 2005-06-22 |
EP1316015B1 (en) | 2010-12-29 |
ATE493704T1 (de) | 2011-01-15 |
KR20030034172A (ko) | 2003-05-01 |
JP2004517383A (ja) | 2004-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100792320B1 (ko) | 주프로세서용 명령의 프리페치에 보조프로세서를 이용하는방법 및 장치 | |
KR100800941B1 (ko) | 주프로세서용 데이터값의 사전인출을 위해 보조프로세서를이용하는 방법 및 장치 | |
US5960198A (en) | Software profiler with runtime control to enable and disable instrumented executable | |
US8037465B2 (en) | Thread-data affinity optimization using compiler | |
US6353881B1 (en) | Supporting space-time dimensional program execution by selectively versioning memory updates | |
KR100917491B1 (ko) | 캐시 메모리 시스템 | |
US20050071572A1 (en) | Computer system, compiler apparatus, and operating system | |
JPS5939832B2 (ja) | 情報処理システム | |
WO2001093028A2 (en) | Marking memory elements based upon access information during speculative execution | |
US7480768B2 (en) | Apparatus, systems and methods to reduce access to shared data storage | |
US8037466B2 (en) | Method and apparatus for merging critical sections | |
CN114661442B (zh) | 处理方法及装置、处理器、电子设备及存储介质 | |
JP2006216040A (ja) | ソフトウエアによる動的予測方法および装置 | |
US6772321B2 (en) | Method and apparatus for using an assist processor and value speculation to facilitate prefetching for a primary processor | |
US12079631B2 (en) | Method and system for hardware-assisted pre-execution | |
JP2005332370A (ja) | 制御装置 | |
JP2002014868A (ja) | メモリ参照動作検出機構を有するマイクロプロセッサおよびコンパイル方法 | |
EP0890148A1 (en) | Cache multi-block touch mechanism for object oriented computer system | |
US20050251795A1 (en) | Method, system, and program for optimizing code | |
US6430682B1 (en) | Reliable branch predictions for real-time applications | |
CN101243394B (zh) | 利用辅助存储器来访问存储器的方法和系统 | |
WO2002057909A2 (en) | Value speculation on an assist processor to facilitate prefetching for a primary processor | |
Nicolau et al. | ROPE: a statically scheduled supercomputer architecture | |
JPH10232775A (ja) | プリフェッチ機構 | |
JP3743155B2 (ja) | パイプライン制御型計算機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
G170 | Re-publication after modification of scope of protection [patent] | ||
FPAY | Annual fee payment |
Payment date: 20121130 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20131129 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20141201 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20151201 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20161129 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20181129 Year of fee payment: 12 |