KR101099302B1 - 현재 실행중이 아닌 명령 세트로부터 명령들을 프리로드하기 위한 시스템, 방법 및 소프트웨어 - Google Patents
현재 실행중이 아닌 명령 세트로부터 명령들을 프리로드하기 위한 시스템, 방법 및 소프트웨어 Download PDFInfo
- Publication number
- KR101099302B1 KR101099302B1 KR1020097021341A KR20097021341A KR101099302B1 KR 101099302 B1 KR101099302 B1 KR 101099302B1 KR 1020097021341 A KR1020097021341 A KR 1020097021341A KR 20097021341 A KR20097021341 A KR 20097021341A KR 101099302 B1 KR101099302 B1 KR 101099302B1
- Authority
- KR
- South Korea
- Prior art keywords
- instruction
- preload
- instructions
- instruction set
- cache
- Prior art date
Links
- 230000036316 preload Effects 0.000 title claims abstract description 131
- 238000000034 method Methods 0.000 title claims description 23
- 230000004044 response Effects 0.000 claims abstract description 15
- 230000015654 memory Effects 0.000 claims description 33
- 230000003993 interaction Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 11
- 230000002452 interceptive effect Effects 0.000 claims description 4
- 210000003813 thumb Anatomy 0.000 description 19
- 238000010586 diagram Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 101100349149 Schizosaccharomyces pombe (strain 972 / ATCC 24843) nse2 gene Proteins 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000004065 semiconductor Substances 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/30181—Instruction operation extension or modification
- G06F9/30196—Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
-
- 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
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30047—Prefetch instructions; cache control instructions
-
- 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/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- 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/3818—Decoding for concurrent execution
- G06F9/382—Pipelined decoding, e.g. using predecoding
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)
- Executing Machine-Instructions (AREA)
Abstract
Description
Claims (22)
- 명령들을 프리로딩(preloading)하는 방법으로서,다수의 명령 세트들 중 하나를 식별하는 명령 세트 프리로드 표시자를 설정하는(setting) 단계 ― 상기 명령 세트 프리로드 표시자(indicator)는 명령 실행 유닛에 의해 생성됨 ― ;현재 프로세서 명령 세트 동작 모드에 따라, 명령 캐시로 명령들을 프리로드하도록 동작하는 명령을 실행하는 단계;명령 캐시로 명령들을 프리로드하도록 동작하는 상기 명령을 실행하는 때에 상기 명령 세트 프리로드 표시자를 프리디코더에 제공하는 단계; 및상기 명령 실행 유닛에 의해 생성된 상기 명령 세트 프리로드 표시자에 응답하여 상기 현재 프로세서 명령 세트 동작 모드가 아닌 명령 세트 동작 모드에 따라 상기 프리로드된 명령들을 프리디코딩(predecoding)하는 단계를 포함하며,상기 명령 실행 유닛은 제 2 캐시 메모리로부터 패치된(fetched) 데이터 및 명령들의 특성(property)들을 추적(track)하도록 동작하는 프로세싱 로직을 포함하며, 상기 제 2 캐시 메모리는 상기 명령 캐시와 메모리 인터페이스 사이에 삽입되며, 상기 프리디코더는 상기 명령 캐시와 상기 제 2 캐시 메모리 사이에 삽입되며;상기 프리로드된 명령들은 상호작용 모드(interworking mode)에서 상기 현재 프로세서 명령 세트 동작 모드가 아닌 명령 세트 동작 모드에 따라 프리디코드되며, 그렇지 않은 경우는 상기 현재 프로세서 명령 세트 동작 모드에 따라 프리디코드되며, 상기 상호작용 모드는 상태 레지스터의 상호작용 모드 표시자 비트에 의해 표시되고 상기 명령 세트 프리로드 표시자의 하나 이상의 비트들은 상기 상호작용 모드 표시자 비트에 의해 게이트되는(gated),명령들을 프리로딩하는 방법.
- 제 1 항에 있어서,상기 명령 세트 프리로드 표시자는 명령들이 프리로드되는 캐시 라인의 어드레스의 하나 이상의 비트들을 포함하는, 명령들을 프리로딩하는 방법.
- 제 2 항에 있어서,상기 명령 세트 프리로드 표시자는 명령 캐시 라인 어드레스의 최하위 비트를 포함하는, 명령들을 프리로딩하는 방법.
- 제 1 항에 있어서,상기 명령 세트 프리로드 표시자는 상기 명령 캐시로 명령들을 프리로드하도록 동작하는 명령의 op 코드의 하나 이상의 비트들을 포함하는, 명령들을 프리로딩하는 방법.
- 제 1 항에 있어서,명령 캐시로 명령들을 프리로드하도록 동작하는 상기 명령은 프리로드된 명령들이 제 1 명령 세트와 상이한 제 2 명령 세트에 따라 프리디코드되도록 야기하는 제 1 명령 세트의 특별(unique) 프리로드 명령이며, 명령 세트 프리로드 표시자를 설정하는 상기 단계는 상기 특별 프리로드 명령을 선택하는 단계를 포함하는, 명령들을 프리로딩하는 방법.
- 제 1 항에 있어서,명령 세트 프리로드 표시자를 설정하는 상기 단계는 명령 캐시로 상기 명령들을 프리로드하도록 동작하는 상기 명령을 실행하기 전에 레지스터 내에 하나 이상의 비트들을 설정하는 단계를 포함하는, 명령들을 프리로딩하는 방법.
- 메모리 인터페이스;명령들과 프리디코드 정보를 저장하도록 동작하는 명령 캐시;상기 명령 캐시로부터 상기 명령들 리트리브(retrieve)하고, 현재 프로세서 명령 세트 동작 모드에 따라 상기 명령들을 실행하고, 명령 세트 프리로드 표시자를 생성하도록 동작하는 명령 실행 유닛; 및상기 명령 캐시와 상기 메모리 인터페이스 사이에 삽입되고, 상기 명령 캐시로 명령들을 프리로드하도록 동작하는 명령의 실행시에, 상기 명령 실행 유닛에 의해 프리디코더로 제공된 상기 명령 세트 프리로드 표시자에 응답하여 상기 현재 프로세서 명령 세트 동작 모드가 아닌 명령 세트 동작 모드에 따라 프리로드된 명령들을 프리디코드하도록 동작하는 프리디코더; 및상기 명령 캐시와 상기 메모리 인터페이스 사이에 삽입된 제 2 캐시 메모리를 포함하며, 상기 프리디코더는 상기 명령 캐시와 상기 제 2 캐시 메모리 사이에 삽입되며, 상기 명령 실행 유닛은 제 2 캐시 메모리로부터 패치된 데이터 및 명령들의 특성들을 추적하도록 동작하는 프로세싱 로직을 포함하며,상기 프리디코더는 상호작용 모드에서 상기 현재 프로세서 명령 세트 동작 모드가 아닌 명령 세트 동작 모드에 따라 상기 프리로드된 명령들을 프리디코드하도록 동작하며, 그렇지 않은 경우는 상기 현재 프로세서 명령 세트 동작 모드에 따라 상기 프리로드된 명령들을 프리디코드하도록 동작하며, 상기 상호작용 모드는 상태 레지스터의 상호작용 모드 표시자 비트에 의해 표시되고 상기 명령 세트 프리로드 표시자의 하나 이상의 비트들은 상기 상호작용 모드 표시자 비트에 의해 게이트되는(gated),프로세서.
- 제 7 항에 있어서,상기 명령 실행 유닛은 명령들이 프리로드되는 캐시 라인의 어드레스의 하나 이상의 비트들을 설정함에 의해 상기 명령 세트 프리로드 표시자를 생성하는, 프로세서.
- 제 8 항에 있어서,상기 명령 프리로드 캐시 라인 어드레스는 상기 명령들을 상기 명령 캐시로 프리로드하도록 동작하는 상기 명령의 연산자(operand)인, 프로세서.
- 제 9 항에 있어서,상기 명령 프리로드 캐시 라인 어드레스는 상기 명령 캐시로 상기 명령들을 프리로드하도록 동작하는 상기 명령에 의해 판독되는 컴파일러 특정 범용 레지스터로 기록되는, 프로세서.
- 제 7 항에 있어서,상기 명령 실행 유닛은 상기 명령 캐시로 상기 명령들을 프리로드하도록 동작하는 상기 명령의 op 코드의 하나 이상의 비트들에 응답하여 상기 명령 세트 프리로드 표시자를 생성하는, 프로세서.
- 제 7 항에 있어서,명령 캐시로 명령들을 프리로드하도록 동작하는 상기 명령은 상기 프리로드된 명령들이 미리 결정된 명령 세트에 따라 프리디코드되도록 야기하는 특별 프리로드 명령이며, 상기 명령 실행 유닛은 상기 특별 프리로드 명령을 실행함에 의해 상기 명령 세트 프리로드 표시자를 생성하는, 프로세서.
- 제 7 항에 있어서,레지스터를 더 포함하며,상기 명령 실행 유닛은 상기 레지스터 내에서 하나 이상의 미리 결정된 비트들을 설정함에 의해 상기 명령 세트 프리로드 표시자를 생성하는, 프로세서.
- 제 7 항에 있어서,상기 프리디코더는 프리로드 명령 실행의 표시(indication)를 수신하고 상기 프리로드 명령 실행의 표시에 응답하여 상기 명령 세트 프리로드 표시자를 검사(examine)하도록 동작하는, 프로세서.
- 제 7 항에 있어서,상기 프로세싱 로직은 명령들을 포함하는 데이터의 블록이 상기 프리디코더로 로드된 경우에 상기 명령 세트 프리로드 표시자를 상기 프리디코더로 제시(present)하도록 동작하는, 프로세서.
- 제 7 항에 있어서,상기 프로세싱 로직은 현재 패치된 명령들이 프리로드 명령 실행의 표시자와 상기 명령 세트 프리로드 표시자에 응답하여 프리디코드되는 명령 세트의 표시를 상기 프리디코더에 제시하도록 동작하는, 프로세서.
- 제 1 명령 세트의 적어도 프리로드 명령을 저장하는 컴퓨터 판독가능 매체로서,현재 프로세서 명령 세트 동작 모드에 따라 상기 프리로드 명령은 프로세서가 명령 캐시로 명령들을 프리로드하도록 동작하며, 프리로드된 명령들은 명령 실행 유닛에 의해 생성되고 상기 프리로드 명령의 실행시 상기 명령 실행 유닛에 의해 프리디코더로 제공되는 명령 세트 프리로드 표시자에 응답하여 상이한 제 2 명령 세트에 따라 프리디코드되며,상기 명령 실행 유닛은 제 2 캐시 메모리로부터 패치된 데이터 및 명령들의 특성들을 추적하도록 동작하는 프로세싱 로직을 포함하며, 상기 제 2 캐시 메모리는 상기 명령 캐시와 메모리 인터페이스 사이에 삽입되며, 상기 프리디코더는 상기 명령 캐시와 상기 제 2 캐시 메모리 사이에 삽입되며;상기 프리로드된 명령들은 상호작용 모드에서 상기 현재 프로세서 명령 세트 동작 모드가 아닌 명령 세트 동작 모드에 따라 프리디코드되며, 그렇지 않은 경우는 상기 현재 프로세서 명령 세트 동작 모드에 따라 프리디코드되며, 상기 상호작용 모드는 상태 레지스터의 상호작용 모드 표시자 비트에 의해 표시되고 상기 명령 세트 프리로드 표시자의 하나 이상의 비트들은 상기 상호작용 모드 표시자 비트에 의해 게이트되는(gated),컴퓨터 판독가능 매체.
- 제 17 항에 있어서,프리로드 명령 op 코드는 명령 세트 프리로드 표시자 비트 필드를 포함하고, 상기 명령 세트 프리로드 표시자는 상기 명령 실행 유닛의 상태 레지스터로 명령 세트 프리로드 표시자를 래칭함에 의해 상기 프리디코더에 제시되는, 컴퓨터 판독가능 매체.
- 제 17 항에 있어서,프리로드 명령 op 코드는 명령 세트 프리로드 표시자 비트 필드를 포함하고 상기 명령 세트 프리로드 표시자는 상기 명령 세트 프리로드 표시자를 프리로드 타겟 어드레스의 하나 이상의 비사용 어드레스 비트들로 대치(substitute)함에 의해 상기 프리디코더로 제시되는, 컴퓨터 판독가능 매체.
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/685,850 | 2007-03-14 | ||
US11/685,850 US7711927B2 (en) | 2007-03-14 | 2007-03-14 | System, method and software to preload instructions from an instruction set other than one currently executing |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090122285A KR20090122285A (ko) | 2009-11-26 |
KR101099302B1 true KR101099302B1 (ko) | 2011-12-26 |
Family
ID=39513417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020097021341A KR101099302B1 (ko) | 2007-03-14 | 2008-03-14 | 현재 실행중이 아닌 명령 세트로부터 명령들을 프리로드하기 위한 시스템, 방법 및 소프트웨어 |
Country Status (6)
Country | Link |
---|---|
US (2) | US7711927B2 (ko) |
EP (1) | EP2137611B1 (ko) |
JP (2) | JP5528819B2 (ko) |
KR (1) | KR101099302B1 (ko) |
CN (1) | CN101627366B (ko) |
WO (1) | WO2008113007A1 (ko) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7769983B2 (en) | 2005-05-18 | 2010-08-03 | Qualcomm Incorporated | Caching instructions for a multiple-state processor |
US7711927B2 (en) * | 2007-03-14 | 2010-05-04 | Qualcomm Incorporated | System, method and software to preload instructions from an instruction set other than one currently executing |
US8037286B2 (en) | 2008-01-23 | 2011-10-11 | Arm Limited | Data processing apparatus and method for instruction pre-decoding |
US9075622B2 (en) * | 2008-01-23 | 2015-07-07 | Arm Limited | Reducing errors in pre-decode caches |
US7917735B2 (en) | 2008-01-23 | 2011-03-29 | Arm Limited | Data processing apparatus and method for pre-decoding instructions |
US7925866B2 (en) | 2008-01-23 | 2011-04-12 | Arm Limited | Data processing apparatus and method for handling instructions to be executed by processing circuitry |
US8347067B2 (en) * | 2008-01-23 | 2013-01-01 | Arm Limited | Instruction pre-decoding of multiple instruction sets |
US7925867B2 (en) | 2008-01-23 | 2011-04-12 | Arm Limited | Pre-decode checking for pre-decoded instructions that cross cache line boundaries |
US7747839B2 (en) | 2008-01-23 | 2010-06-29 | Arm Limited | Data processing apparatus and method for handling instructions to be executed by processing circuitry |
GB2460280A (en) | 2008-05-23 | 2009-11-25 | Advanced Risc Mach Ltd | Using a memory-abort register in the emulation of memory access operations |
GB2484489A (en) * | 2010-10-12 | 2012-04-18 | Advanced Risc Mach Ltd | Instruction decoder using an instruction set identifier to determine the decode rules to use. |
JP5598554B2 (ja) * | 2011-01-25 | 2014-10-01 | 富士通株式会社 | システム、およびデータロード方法 |
US10055227B2 (en) * | 2012-02-07 | 2018-08-21 | Qualcomm Incorporated | Using the least significant bits of a called function's address to switch processor modes |
JP5840525B2 (ja) * | 2012-02-16 | 2016-01-06 | シャープ株式会社 | 情報処理装置 |
CN103823664B (zh) * | 2012-11-19 | 2017-12-15 | 中兴通讯股份有限公司 | 一种二进制合一Boot程序及内核程序的设计方法 |
US20140244932A1 (en) * | 2013-02-27 | 2014-08-28 | Advanced Micro Devices, Inc. | Method and apparatus for caching and indexing victim pre-decode information |
US9348598B2 (en) | 2013-04-23 | 2016-05-24 | Arm Limited | Data processing apparatus and method for pre-decoding instructions to be executed by processing circuitry |
US10606596B2 (en) * | 2013-07-15 | 2020-03-31 | Texas Instruments Incorporated | Cache preload operations using streaming engine |
US9940242B2 (en) * | 2014-11-17 | 2018-04-10 | International Business Machines Corporation | Techniques for identifying instructions for decode-time instruction optimization grouping in view of cache boundaries |
US11275587B2 (en) * | 2018-05-02 | 2022-03-15 | Micron Technology, Inc. | Static identifications in object-based memory access |
US10761855B2 (en) | 2018-05-02 | 2020-09-01 | Micron Technology, Inc. | Securing conditional speculative instruction execution |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030182535A1 (en) * | 1999-01-11 | 2003-09-25 | Tomohiko Kadowaki | Processor apparatus and integrated circuit employing prefetching and predecoding |
US20040133764A1 (en) | 2003-01-03 | 2004-07-08 | Intel Corporation | Predecode apparatus, systems, and methods |
Family Cites Families (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5129067A (en) | 1989-06-06 | 1992-07-07 | Advanced Micro Devices, Inc. | Multiple instruction decoder for minimizing register port requirements |
JPH0476626A (ja) * | 1990-07-13 | 1992-03-11 | Toshiba Corp | マイクロコンピュータ |
DE69327927T2 (de) | 1992-08-31 | 2000-10-12 | Sun Microsystems Inc | Schnelles Vorausholen und Zuteilung von Befehlen mittels vorausschauender Anmerkungen von früher vorausgeholten |
DE69422780T2 (de) * | 1993-11-05 | 2000-08-17 | Intergraph Corp | Superskalare Rechnerarchitektur mit Softwarescheduling |
GB2290395B (en) * | 1994-06-10 | 1997-05-28 | Advanced Risc Mach Ltd | Interoperability with multiple instruction sets |
US5638525A (en) | 1995-02-10 | 1997-06-10 | Intel Corporation | Processor capable of executing programs that contain RISC and CISC instructions |
US5819056A (en) * | 1995-10-06 | 1998-10-06 | Advanced Micro Devices, Inc. | Instruction buffer organization method and system |
US5822559A (en) * | 1996-01-02 | 1998-10-13 | Advanced Micro Devices, Inc. | Apparatus and method for aligning variable byte-length instructions to a plurality of issue positions |
US6085314A (en) * | 1996-03-18 | 2000-07-04 | Advnced Micro Devices, Inc. | Central processing unit including APX and DSP cores and including selectable APX and DSP execution modes |
JP2806359B2 (ja) * | 1996-04-30 | 1998-09-30 | 日本電気株式会社 | 命令処理方法及び命令処理装置 |
US6002876A (en) | 1996-09-27 | 1999-12-14 | Texas Instruments Incorporated | Maintaining code consistency among plural instruction sets via function naming convention |
US6064219A (en) * | 1997-02-05 | 2000-05-16 | Tektronix, Inc. | Modular test chip for multi chip module |
US6081864A (en) * | 1997-07-31 | 2000-06-27 | Advanced Micro Devices, Inc. | Dynamic configuration of a device under test |
US6134650A (en) * | 1997-12-12 | 2000-10-17 | Advanced Micro Devices, Inc. | Apparatus and method for predicting a first scanned instruction as microcode instruction prior to scanning predecode data |
US6081884A (en) | 1998-01-05 | 2000-06-27 | Advanced Micro Devices, Inc. | Embedding two different instruction sets within a single long instruction word using predecode bits |
US6430674B1 (en) | 1998-12-30 | 2002-08-06 | Intel Corporation | Processor executing plural instruction sets (ISA's) with ability to have plural ISA's in different pipeline stages at same time |
US6438700B1 (en) | 1999-05-18 | 2002-08-20 | Koninklijke Philips Electronics N.V. | System and method to reduce power consumption in advanced RISC machine (ARM) based systems |
JP2001142692A (ja) | 1999-10-01 | 2001-05-25 | Hitachi Ltd | 2つの異なる固定長命令セットを実行するマイクロプロセッサ、マイクロコンピュータおよび命令実行方法 |
US6446197B1 (en) * | 1999-10-01 | 2002-09-03 | Hitachi, Ltd. | Two modes for executing branch instructions of different lengths and use of branch control instruction and register set loaded with target instructions |
US6449712B1 (en) * | 1999-10-01 | 2002-09-10 | Hitachi, Ltd. | Emulating execution of smaller fixed-length branch/delay slot instructions with a sequence of larger fixed-length instructions |
US6324643B1 (en) * | 1999-10-01 | 2001-11-27 | Hitachi, Ltd. | Branch prediction and target instruction control for processor |
US6654871B1 (en) | 1999-11-09 | 2003-11-25 | Motorola, Inc. | Device and a method for performing stack operations in a processing system |
GB2358261B (en) | 2000-01-17 | 2004-06-09 | Advanced Risc Mach Ltd | Data processing with native and interpreted program instruction words |
US6564208B1 (en) * | 2000-02-24 | 2003-05-13 | Inktomi Corporation | Delivering non-default items in association with search results |
US20020004897A1 (en) * | 2000-07-05 | 2002-01-10 | Min-Cheng Kao | Data processing apparatus for executing multiple instruction sets |
GB2367653B (en) | 2000-10-05 | 2004-10-20 | Advanced Risc Mach Ltd | Restarting translated instructions |
GB2367651B (en) | 2000-10-05 | 2004-12-29 | Advanced Risc Mach Ltd | Hardware instruction translation within a processor pipeline |
US6564298B2 (en) | 2000-12-22 | 2003-05-13 | Intel Corporation | Front end system having multiple decoding modes |
JP3644892B2 (ja) * | 2001-01-22 | 2005-05-11 | 智原科技股▲ふん▼有限公司 | 複数組の命令組を実行するためのデータ処理装置 |
US7093108B2 (en) * | 2001-02-01 | 2006-08-15 | Arm Limited | Apparatus and method for efficiently incorporating instruction set information with instruction addresses |
US7356673B2 (en) | 2001-04-30 | 2008-04-08 | International Business Machines Corporation | System and method including distributed instruction buffers for storing frequently executed instructions in predecoded form |
GB2376100B (en) | 2001-05-31 | 2005-03-09 | Advanced Risc Mach Ltd | Data processing using multiple instruction sets |
GB2376097B (en) | 2001-05-31 | 2005-04-06 | Advanced Risc Mach Ltd | Configuration control within data processing systems |
US7017030B2 (en) | 2002-02-20 | 2006-03-21 | Arm Limited | Prediction of instructions in a data processing apparatus |
US6816962B2 (en) * | 2002-02-25 | 2004-11-09 | International Business Machines Corporation | Re-encoding illegal OP codes into a single illegal OP code to accommodate the extra bits associated with pre-decoded instructions |
US6978358B2 (en) | 2002-04-02 | 2005-12-20 | Arm Limited | Executing stack-based instructions within a data processing apparatus arranged to apply operations to data items stored in registers |
GB2390700B (en) * | 2002-04-15 | 2006-03-15 | Alphamosaic Ltd | Narrow/wide cache |
EP1387252B1 (en) * | 2002-07-31 | 2019-02-13 | Texas Instruments Incorporated | Instruction prefix to indicate system commands |
EP1387250B8 (en) * | 2002-07-31 | 2012-02-29 | Texas Instruments Inc. | Processor that accomodates multiple instruction sets and multiple decode modes |
JP4127495B2 (ja) | 2002-09-05 | 2008-07-30 | 株式会社ルネサステクノロジ | 情報処理装置 |
GB2393274B (en) | 2002-09-20 | 2006-03-15 | Advanced Risc Mach Ltd | Data processing system having an external instruction set and an internal instruction set |
US20060149927A1 (en) | 2002-11-26 | 2006-07-06 | Eran Dagan | Processor capable of multi-threaded execution of a plurality of instruction-sets |
GB2403572B (en) | 2002-12-12 | 2005-11-09 | Advanced Risc Mach Ltd | Instruction timing control within a data processing system |
US7484075B2 (en) * | 2002-12-16 | 2009-01-27 | International Business Machines Corporation | Method and apparatus for providing fast remote register access in a clustered VLIW processor using partitioned register files |
US7080242B2 (en) | 2002-12-19 | 2006-07-18 | Hewlett-Packard Development Company, L.P. | Instruction set reconciliation for heterogeneous symmetric-multiprocessor systems |
GB2402757B (en) | 2003-06-11 | 2005-11-02 | Advanced Risc Mach Ltd | Address offset generation within a data processing system |
GB2402764B (en) * | 2003-06-13 | 2006-02-22 | Advanced Risc Mach Ltd | Instruction encoding within a data processing apparatus having multiple instruction sets |
US7707389B2 (en) * | 2003-10-31 | 2010-04-27 | Mips Technologies, Inc. | Multi-ISA instruction fetch unit for a processor, and applications thereof |
US7441329B2 (en) * | 2004-06-07 | 2008-10-28 | Subtron Technology Co. Ltd. | Fabrication process circuit board with embedded passive component |
US7328332B2 (en) * | 2004-08-30 | 2008-02-05 | Texas Instruments Incorporated | Branch prediction and other processor improvements using FIFO for bypassing certain processor pipeline stages |
JP2006160200A (ja) * | 2004-12-10 | 2006-06-22 | Tkj Kk | 乗員保護装置、乗員保護装置付車両 |
US7421568B2 (en) * | 2005-03-04 | 2008-09-02 | Qualcomm Incorporated | Power saving methods and apparatus to selectively enable cache bits based on known processor state |
US7234043B2 (en) | 2005-03-07 | 2007-06-19 | Arm Limited | Decoding predication instructions within a superscaler data processing system |
US7769983B2 (en) * | 2005-05-18 | 2010-08-03 | Qualcomm Incorporated | Caching instructions for a multiple-state processor |
US7589406B2 (en) * | 2005-06-27 | 2009-09-15 | Micron Technology, Inc. | Stacked semiconductor component |
US7622309B2 (en) * | 2005-06-28 | 2009-11-24 | Freescale Semiconductor, Inc. | Mechanical integrity evaluation of low-k devices with bump shear |
US20070051949A1 (en) * | 2005-09-06 | 2007-03-08 | Peter Schneider | Method and arrangment for testing a stacked die semiconductor device |
US20070113055A1 (en) * | 2005-11-15 | 2007-05-17 | Dale Jason N | Apparatus and method for improving single thread performance through speculative processing |
US7353363B2 (en) * | 2006-03-03 | 2008-04-01 | Microsystems, Inc. | Patchable and/or programmable decode using predecode selection |
US7962725B2 (en) * | 2006-05-04 | 2011-06-14 | Qualcomm Incorporated | Pre-decoding variable length instructions |
JP4936517B2 (ja) * | 2006-06-06 | 2012-05-23 | 学校法人早稲田大学 | ヘテロジニアス・マルチプロセッサシステムの制御方法及びマルチグレイン並列化コンパイラ |
US7711927B2 (en) | 2007-03-14 | 2010-05-04 | Qualcomm Incorporated | System, method and software to preload instructions from an instruction set other than one currently executing |
US7925866B2 (en) | 2008-01-23 | 2011-04-12 | Arm Limited | Data processing apparatus and method for handling instructions to be executed by processing circuitry |
-
2007
- 2007-03-14 US US11/685,850 patent/US7711927B2/en not_active Expired - Fee Related
-
2008
- 2008-03-14 JP JP2009553818A patent/JP5528819B2/ja not_active Expired - Fee Related
- 2008-03-14 KR KR1020097021341A patent/KR101099302B1/ko active IP Right Grant
- 2008-03-14 CN CN200880007619.8A patent/CN101627366B/zh not_active Expired - Fee Related
- 2008-03-14 WO PCT/US2008/057064 patent/WO2008113007A1/en active Application Filing
- 2008-03-14 EP EP08732245.9A patent/EP2137611B1/en not_active Not-in-force
-
2010
- 2010-03-12 US US12/722,962 patent/US8145883B2/en active Active
-
2014
- 2014-04-16 JP JP2014084571A patent/JP5837126B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030182535A1 (en) * | 1999-01-11 | 2003-09-25 | Tomohiko Kadowaki | Processor apparatus and integrated circuit employing prefetching and predecoding |
US20040133764A1 (en) | 2003-01-03 | 2004-07-08 | Intel Corporation | Predecode apparatus, systems, and methods |
Also Published As
Publication number | Publication date |
---|---|
JP5837126B2 (ja) | 2015-12-24 |
EP2137611A1 (en) | 2009-12-30 |
CN101627366B (zh) | 2014-03-12 |
US8145883B2 (en) | 2012-03-27 |
KR20090122285A (ko) | 2009-11-26 |
CN101627366A (zh) | 2010-01-13 |
US20080229069A1 (en) | 2008-09-18 |
WO2008113007A1 (en) | 2008-09-18 |
US7711927B2 (en) | 2010-05-04 |
US20100169615A1 (en) | 2010-07-01 |
EP2137611B1 (en) | 2014-03-05 |
JP2014194783A (ja) | 2014-10-09 |
JP5528819B2 (ja) | 2014-06-25 |
JP2010521748A (ja) | 2010-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101099302B1 (ko) | 현재 실행중이 아닌 명령 세트로부터 명령들을 프리로드하기 위한 시스템, 방법 및 소프트웨어 | |
EP2018609B1 (en) | Pre-decoding variable length instructions | |
US7676659B2 (en) | System, method and software to preload instructions from a variable-length instruction set with proper pre-decoding | |
EP0848323B1 (en) | Improvements in the branch prediction within a pipelined microprocessor | |
JP5231018B2 (ja) | ページ内のプログラムカウンター相対アドレスまたは絶対アドレスの分岐命令のためのtlbの抑制 | |
JP4585005B2 (ja) | 分岐訂正によるプリデコードのエラー処理 | |
US20090006803A1 (en) | L2 Cache/Nest Address Translation | |
US7680985B2 (en) | Method and apparatus for accessing a split cache directory | |
US20070028050A1 (en) | Instruction cache having fixed number of variable length instructions | |
US7937530B2 (en) | Method and apparatus for accessing a cache with an effective address | |
JP2009536770A (ja) | ブロックに基づく分岐先アドレスキャッシュ | |
US20030204705A1 (en) | Prediction of branch instructions in a data processing apparatus | |
CN113568663A (zh) | 代码预取指令 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20141128 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20150930 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20161125 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170929 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180928 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20190924 Year of fee payment: 9 |