KR100971626B1 - 다수의 명령어 세트를 갖는 데이터 처리 장치 내에서의명령어 부호화 - Google Patents
다수의 명령어 세트를 갖는 데이터 처리 장치 내에서의명령어 부호화 Download PDFInfo
- Publication number
- KR100971626B1 KR100971626B1 KR1020057023835A KR20057023835A KR100971626B1 KR 100971626 B1 KR100971626 B1 KR 100971626B1 KR 1020057023835 A KR1020057023835 A KR 1020057023835A KR 20057023835 A KR20057023835 A KR 20057023835A KR 100971626 B1 KR100971626 B1 KR 100971626B1
- Authority
- KR
- South Korea
- Prior art keywords
- instruction
- instructions
- data processing
- instruction set
- common
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 83
- 238000000034 method Methods 0.000 claims description 48
- 238000004590 computer program Methods 0.000 claims description 6
- 238000003672 processing method Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 3
- 210000003813 thumb Anatomy 0.000 abstract description 55
- 230000000153 supplemental effect Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000002301 combined effect Effects 0.000 description 1
- JIGDOBKZMULDHS-UHFFFAOYSA-N cyanogenosin-RR Natural products N1C(=O)C(CCCN=C(N)N)NC(=O)C(C)C(C(O)=O)NC(=O)C(CCCN=C(N)N)NC(=O)C(C)NC(=O)C(=C)N(C)C(=O)CCC(C(O)=O)NC(=O)C(C)C1C=CC(C)=CC(C)C(OC)CC1=CC=CC=C1 JIGDOBKZMULDHS-UHFFFAOYSA-N 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- JIGDOBKZMULDHS-UUHBQKJESA-N microcystin RR Chemical compound C([C@H](OC)[C@@H](C)\C=C(/C)\C=C\[C@H]1[C@@H](C(=O)N[C@H](CCC(=O)N(C)C(=C)C(=O)N[C@H](C)C(=O)N[C@@H](CCCN=C(N)N)C(=O)N[C@H]([C@H](C)C(=O)N[C@@H](CCCN=C(N)N)C(=O)N1)C(O)=O)C(O)=O)C)C1=CC=CC=C1 JIGDOBKZMULDHS-UUHBQKJESA-N 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition 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/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/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- 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/3017—Runtime instruction translation, e.g. macros
-
- 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
-
- 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
- G06F9/3818—Decoding for concurrent execution
- G06F9/3822—Parallel decoding, e.g. parallel decode units
-
- 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
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)
- Executing Machine-Instructions (AREA)
Abstract
Description
데이터 처리 연산을 수행하도록 동작가능한 데이터 처리 로직과,
상기 데이터 처리 로직에 의해 수행될 데이터 처리 연산을 지정하고, 상기 데이터 처리 연산을 수행하도록 상기 데이터 처리 로직을 제어하는 프로그램 명령어를 복호화하도록 동작가능한 명령어 복호화기를 포함하고,
상기 명령어 복호화기는 제1 명령어 세트의 프로그램 명령가 복호화되는 제1 모드와 제2 명령어 세트의 프로그램 명령어가 복호화되는 제2 모드에서 동작가능하고,
상기 제1 명령어 세트의 프로그램 명령어의 서브세트는, 기억 순서 차이를 보상한 후에 모든 비트가 동일하도록, 상기 제2 명령어 세트의 프로그램 명령어의 서브세트에 의한 공통 비트 길이 및 공통 기억 순서 보상 부호화를 가지고, 하나 이상의 명령어 등급을 나타내는 공통 명령어 서브세트를 형성하며,
상기 공통 명령어 서브세트는 상기 명령어 복호화기가 상기 제1 모드 또는 상기 제2 모드에서 동작하는지에 관계없이 동일한 데이터 처리 연산을 수행하도록 상기 데이터 처리 로직을 제어하는 것인 데이터 처리 장치를 제공한다.
데이터 처리 로직을 이용하여 데이터 처리 연산을 수행하는 단계와,
명령어 복호화기를 이용하여, 상기 데이터 처리 로직에 의해 수행될 데이터 처리 연산을 지정하고, 상기 데이터 처리 연산을 수행하도록 상기 데이터 처리 로직을 제어하는 프로그램 명령어를 복호화하는 단계를 포함하고,
제1 모드에서는 제1 명령어 세트의 프로그램 명령어가 복호화되며 제2 모드에서는 제2 명령어 세트의 프로그램 명령어가 복호화되고,
상기 제1 명령어 세트의 프로그램 명령어의 서브세트는, 기억 순서 차이를 보상한 후에 모든 비트가 동일하도록, 상기 제2 명령어 세트의 프로그램 명령어의 서브세트에 의한 공통 비트 길이 및 공통 기억 순서 보상 부호화를 가지고, 하나 이상의 명령어 등급을 나타내는 공통 명령어 서브세트를 형성하며,
상기 공통 명령어 서브세트는 상기 명령어 복호화기가 상기 제1 모드 또는 상기 제2 모드에서 동작하는지에 관계없이 동일한 데이터 처리 연산을 수행하도록 상기 데이터 처리 로직을 제어하는 것인 데이터 처리 방법을 제공한다.
상기 데이터 처리 로직을 제어하여 상기 데이터 처리 연산을 수행할 수 있도록 하는 제1 명령어 세트의 프로그램 명령어 및 제2 명령어 세트의 프로그램 명령어를 포함하고,
상기 제1 명령어 세트의 프로그램 명령어의 서브세트는, 기억 순서 차이를 보상한 후에 모든 비트가 동일하도록, 상기 제2 명령어 세트의 프로그램 명령어의 서브세트에 의한 공통 비트 길이 및 공통 기억 순서 보상 부호화를 가지고, 하나 이상의 명령어 등급을 나타내는 공통 명령어 서브세트를 형성하며,
상기 공통 명령어 서브세트는 상기 제1 명령어 세트의 명령어 또는 상기 제2 명령어 세트의 명령어가 복호화되는지와는 상관없이 동일한 데이터 처리 연산을 수행하도록 상기 데이터 처리 로직을 제어하는 것인 컴퓨터 판독가능한 기록매체를 제공한다.
현재 명령어 세트 |
명령어 어드레스 mod 4 |
WORD1[15:11] | WORD[31:26] | 복호화기에 전송된 명령어 bits[31:16] |
bits[15:0] |
ARM | 항상 0 | any | any | WORD1[31:16] | WORD1[15:0] |
Thumb | 0 | 00000-11100 | any | 0 | WORD1[15:0] |
Thumb | 0 | 11101-11111 | any | WORD1[15:0] | WORD1[31:16] |
Thumb | 2 | any | 00000-11100 | 0 | WORD1[31:16] |
Thumb | 2 | any | 11101-11111 | WORD1[31:16] | WORD1[15:0] |
Claims (33)
- 데이터 처리 장치로서,데이터 처리 연산을 수행하도록 동작가능한 데이터 처리 로직과,상기 데이터 처리 로직에 의해 수행될 데이터 처리 연산을 지정하고, 상기 데이터 처리 연산을 수행하도록 상기 데이터 처리 로직을 제어하는 프로그램 명령어를 복호화하도록 동작가능한 명령어 복호화기를 포함하고,상기 명령어 복호화기는 제1 명령어 세트의 프로그램 명령가 복호화되는 제1 모드와 제2 명령어 세트의 프로그램 명령어가 복호화되는 제2 모드에서 동작가능하고,상기 제1 명령어 세트의 프로그램 명령어의 서브세트는, 기억 순서 차이를 보상한 후에 모든 비트가 동일하도록, 상기 제2 명령어 세트의 프로그램 명령어의 서브세트에 의한 공통 비트 길이 및 공통 기억 순서 보상 부호화를 가지고, 하나 이상의 명령어 등급을 나타내는 공통 명령어 서브세트를 형성하며,상기 공통 명령어 서브세트는 상기 명령어 복호화기가 상기 제1 모드 또는 상기 제2 모드에서 동작하는지에 관계없이 동일한 데이터 처리 연산을 수행하도록 상기 데이터 처리 로직을 제어하는 것을 특징으로 하는 데이터 처리 장치.
- 제1항에 있어서,상기 명령어 복호화기는 상기 데이터 처리 로직의 공통 부분을 이용하여 상기 공통 명령어 서브세트의 명령어들을 실행하도록 동작가능한 것을 특징으로 하는 데이터 처리 장치.
- 제1항에 있어서,상기 공통 명령어 서브세트는 상기 제1 명령어 세트 및 상기 제2 명령어 세트에 공통인 코프로세서 로직을 이용하여 코프로세서 데이터 처리 연산을 제어하도록 연산할 수 있는 코프로세서 명령어인 명령어 등급을 포함하는 것을 특징으로 하는 데이터 처리 장치.
- 제3항에 있어서,모든 무조건 코프로세서 명령어는 상기 공통 명령어 서브세트 내에 있는 것을 특징으로 하는 데이터 처리 장치.
- 제1항 내지 제4항 중 어느 한 항에 있어서,상기 제1 명령어 세트는 N 비트 명령어의 고정 길이 명령어 세트인 것을 특징으로 하는 데이터 처리 장치.
- 제5항에 있어서,상기 N은 32와 16 중 하나인 것을 특징으로 하는 데이터 처리 장치.
- 제1항 내지 제4항 중 어느 한 항에 있어서,상기 제2 명령어 세트는 가변 길이 명령어 세트인 것을 특징으로 하는 데이터 처리 장치.
- 제1항 내지 제4항 중 어느 한 항에 있어서,상기 공통 명령어 서브세트 내의 하나 이상의 프로그램 명령어는 상기 제1 모드와 상기 제2 모드 중 어느 하나에서 공통 데이터 처리 연산을 수행하지만, 상기 명령어 복호화기가 상기 제1 모드에서 연산하는지 상기 제2 모드에서 연산하는지에 따라서 상이한 결과의 데이터 값을 발생하는 것을 특징으로 하는 데이터 처리 장치.
- 제8항에 있어서,상이한 결과의 데이터 값을 발생하는 상기 하나 이상의 프로그램 명령어는 입력 오퍼랜드로서 프로그램 카운터 값을 포함하는 것을 특징으로 하는 데이터 처 리 장치.
- 제9항에 있어서,상기 프로그램 카운터 값과, 상기 명령어 복호화기가 상기 제1 모드에서 연산하는지 상기 제2 모드에서 연산하는지에 따라서 실행되는 명령어의 어드레스 간에는 상이한 관계가 유지되는 것을 특징으로 하는 데이터 처리 장치.
- 제8항에 있어서,상이한 결과의 데이터 값을 발생하는 상기 하나 이상의 프로그램 명령어는 입력 오퍼랜드로서 프로그램 상태 레지스터 값을 포함하는 것을 특징으로 하는 데이터 처리 장치.
- 데이터 처리 방법으로서,데이터 처리 로직을 이용하여 데이터 처리 연산을 수행하는 단계와,명령어 복호화기를 이용하여, 상기 데이터 처리 로직에 의해 수행될 데이터 처리 연산을 지정하고, 상기 데이터 처리 연산을 수행하도록 상기 데이터 처리 로직을 제어하는 프로그램 명령어를 복호화하는 단계를 포함하고,제1 모드에서는 제1 명령어 세트의 프로그램 명령어가 복호화되며 제2 모드에서는 제2 명령어 세트의 프로그램 명령어가 복호화되고,상기 제1 명령어 세트의 프로그램 명령어의 서브세트는, 기억 순서 차이를 보상한 후에 모든 비트가 동일하도록, 상기 제2 명령어 세트의 프로그램 명령어의 서브세트에 의한 공통 비트 길이 및 공통 기억 순서 보상 부호화를 가지고, 하나 이상의 명령어 등급을 나타내는 공통 명령어 서브세트를 형성하며,상기 공통 명령어 서브세트는 상기 명령어 복호화기가 상기 제1 모드 또는 상기 제2 모드에서 동작하는지에 관계없이 동일한 데이터 처리 연산을 수행하도록 상기 데이터 처리 로직을 제어하는 것을 특징으로 하는 데이터 처리 방법.
- 제12항에 있어서,상기 데이터 처리 로직의 공통 부분은 상기 공통 명령어 서브세트의 명령어들을 실행하는데 이용되는 것을 특징으로 하는 데이터 처리 방법.
- 제12항에 있어서,상기 공통 명령어 서브세트는 상기 제1 명령어 세트 및 상기 제2 명령어 세트에 공통인 코프로세서 로직을 이용하여 코프로세서 데이터 처리 연산을 제어하도록 연산할 수 있는 코프로세서 명령어인 명령어 등급을 포함하는 것을 특징으로 하는 데이터 처리 방법.
- 제14항에 있어서,모든 무조건 코프로세서 명령어는 상기 공통 명령어 서브세트 내에 있는 것을 특징으로 하는 데이터 처리 방법.
- 제12항 내지 제15항 중 어느 한 항에 있어서,상기 제1 명령어 세트는 N 비트 명령어의 고정 길이 명령어 세트인 것을 특징으로 하는 데이터 처리 방법.
- 제16항에 있어서,상기 N은 32와 16 중 하나인 것을 특징으로 하는 데이터 처리 방법.
- 제12항 내지 제15항 중 어느 한 항에 있어서,상기 제2 명령어 세트는 가변 길이 명령어 세트인 것을 특징으로 하는 데이터 처리 방법.
- 제12항 내지 제15항 중 어느 한 항에 있어서,상기 공통 명령어 서브세트 내의 하나 이상의 프로그램 명령어는 상기 제1 모드와 상기 제2 모드 중 어느 하나에서 공통 데이터 처리 연산을 수행하지만, 상기 명령어 복호화기가 상기 제1 모드에서 연산하는지 상기 제2 모드에서 연산하는지에 따라서 상이한 결과의 데이터 값을 발생하는 것을 특징으로 하는 데이터 처리 방법.
- 제19항에 있어서,상이한 결과의 데이터 값을 발생하는 상기 하나 이상의 프로그램 명령어는 입력 오퍼랜드로서 프로그램 카운터 값을 포함하는 것을 특징으로 하는 데이터 처리 방법.
- 제20항에 있어서,상기 프로그램 카운터 값과, 상기 명령어 복호화기가 상기 제1 모드에서 연산하는지 상기 제2 모드에서 연산하는지에 따라서 실행되는 명령어의 어드레스 간에는 상이한 관계가 유지되는 것을 특징으로 하는 데이터 처리 방법.
- 제19항에 있어서,상이한 결과의 데이터 값을 발생하는 상기 하나 이상의 프로그램 명령어는 입력 오퍼랜드로서 프로그램 상태 레지스터 값을 포함하는 것을 특징으로 하는 데이터 처리 방법.
- 데이터 처리 연산을 수행하는 데이터 처리 로직을 내장한 데이터 처리 장치를 제어하도록 동작가능한 컴퓨터 프로그램을 갖는 컴퓨터 판독가능한 기록매체로서,상기 데이터 처리 로직을 제어하여 상기 데이터 처리 연산을 수행할 수 있도록 하는 제1 명령어 세트의 프로그램 명령어 및 제2 명령어 세트의 프로그램 명령어를 포함하고,상기 제1 명령어 세트의 프로그램 명령어의 서브세트는, 기억 순서 차이를 보상한 후에 모든 비트가 동일하도록, 상기 제2 명령어 세트의 프로그램 명령어의 서브세트에 의한 공통 비트 길이 및 공통 기억 순서 보상 부호화를 가지고, 하나 이상의 명령어 등급을 나타내는 공통 명령어 서브세트를 형성하며,상기 공통 명령어 서브세트는 상기 제1 명령어 세트의 명령어 또는 상기 제2 명령어 세트의 명령어가 복호화되는지와는 상관없이 동일한 데이터 처리 연산을 수행하도록 상기 데이터 처리 로직을 제어하는 것을 특징으로 하는 컴퓨터 판독가능한 기록매체.
- 제23항에 있어서,상기 데이터 처리 로직의 공통 부분은 상기 공통 명령어 서브세트의 명령어들을 실행하도록 이용되는 것을 특징으로 하는 컴퓨터 판독가능한 기록매체.
- 제23항에 있어서,상기 공통 명령어 서브세트는 상기 제1 명령어 세트 및 상기 제2 명령어 세트에 공통인 코프로세서 로직을 이용하여 코프로세서 데이터 처리 연산을 제어하도록 연산할 수 있는 코프로세서 명령어인 명령어 등급을 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록매체.
- 제25항에 있어서,모든 무조건 코프로세서 명령어는 상기 공통 명령어 서브세트 내에 있는 것을 특징으로 하는 컴퓨터 판독가능한 기록매체.
- 제23항 내지 제26항 중 어느 한 항에 있어서,상기 제1 명령어 세트는 N 비트 명령어의 고정 길이 명령어 세트인 것을 특징으로 하는 컴퓨터 판독가능한 기록매체.
- 제27항에 있어서,상기 N은 32와 16 중 하나인 것을 특징으로 하는 컴퓨터 판독가능한 기록매체.
- 제23항 내지 제26항 중 어느 한 항에 있어서,상기 제2 명령어 세트는 가변 길이 명령어 세트인 것을 특징으로 하는 컴퓨터 판독가능한 기록매체.
- 제23항 내지 제26항 중 어느 한 항에 있어서,상기 공통 명령어 서브세트 내의 하나 이상의 프로그램 명령어는 상기 제1 명령어 세트와 상기 제2 명령어 세트 중 어느 하나의 명령어가 복호화되고 있을 때 공통 데이터 처리 연산을 수행하지만, 상기 명령어 복호화기가 상기 제1 모드에서 연산하는지 상기 제2 모드에서 연산하는지에 따라서 상이한 결과의 데이터 값을 발생하는 것을 특징으로 하는 컴퓨터 판독가능한 기록매체.
- 제30항에 있어서,상이한 결과의 데이터 값을 발생하는 상기 하나 이상의 프로그램 명령어는 입력 오퍼랜드로서 프로그램 카운터 값을 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록매체.
- 제31항에 있어서,상기 프로그램 카운터 값과, 상기 명령어 복호화기가 상기 제1 모드에서 연산하는지 상기 제2 모드에서 연산하는지에 따라서 실행되는 명령어의 어드레스 간에는 상이한 관계가 유지되는 것을 특징으로 하는 컴퓨터 판독가능한 기록매체.
- 제30항에 있어서,상이한 결과의 데이터 값을 발생하는 상기 하나 이상의 프로그램 명령어는 입력 오퍼랜드로서 프로그램 상태 레지스터 값을 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0313770.0 | 2003-06-13 | ||
GB0313770A GB2402764B (en) | 2003-06-13 | 2003-06-13 | Instruction encoding within a data processing apparatus having multiple instruction sets |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060021370A KR20060021370A (ko) | 2006-03-07 |
KR100971626B1 true KR100971626B1 (ko) | 2010-07-22 |
Family
ID=27636510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057023835A KR100971626B1 (ko) | 2003-06-13 | 2004-01-20 | 다수의 명령어 세트를 갖는 데이터 처리 장치 내에서의명령어 부호화 |
Country Status (11)
Country | Link |
---|---|
US (1) | US7788472B2 (ko) |
EP (1) | EP1680735B1 (ko) |
JP (1) | JP3905552B2 (ko) |
KR (1) | KR100971626B1 (ko) |
CN (1) | CN100380315C (ko) |
DE (1) | DE602004028951D1 (ko) |
GB (1) | GB2402764B (ko) |
MY (1) | MY131744A (ko) |
RU (1) | RU2006101165A (ko) |
TW (1) | TWI314702B (ko) |
WO (1) | WO2004111836A2 (ko) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7793078B2 (en) | 2005-04-01 | 2010-09-07 | Arm Limited | Multiple instruction set data processing system with conditional branch instructions of a first instruction set and a second instruction set sharing a same instruction encoding |
US7958335B2 (en) * | 2005-08-05 | 2011-06-07 | Arm Limited | Multiple instruction set decoding |
US8914618B2 (en) | 2005-12-29 | 2014-12-16 | Intel Corporation | Instruction set architecture-based inter-sequencer communications with a heterogeneous resource |
GB2435116B (en) * | 2006-02-10 | 2010-04-07 | Imagination Tech Ltd | Selecting between instruction sets in a microprocessors |
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 |
KR100922862B1 (ko) * | 2007-11-14 | 2009-10-20 | 성균관대학교산학협력단 | 명령어의 부호화를 통한 시스템 보안방법 |
US8347067B2 (en) * | 2008-01-23 | 2013-01-01 | Arm Limited | Instruction pre-decoding of multiple instruction sets |
US8819399B1 (en) * | 2009-07-31 | 2014-08-26 | Google Inc. | Predicated control flow and store instructions for native code module security |
US8561183B2 (en) | 2009-07-31 | 2013-10-15 | Google Inc. | Native code module security for arm instruction set architectures |
GB2479780B (en) * | 2010-04-22 | 2018-04-04 | Advanced Risc Mach Ltd | Preload instruction control |
US20120159127A1 (en) * | 2010-12-16 | 2012-06-21 | Microsoft Corporation | Security sandbox |
CN102436367A (zh) * | 2011-09-26 | 2012-05-02 | 杭州中天微系统有限公司 | 16/32位混合架构指令预取缓冲器装置 |
CN106485315B (zh) * | 2015-10-08 | 2019-06-04 | 上海兆芯集成电路有限公司 | 具有输出缓冲器反馈与遮蔽功能的神经网络单元 |
CN106921482B (zh) * | 2017-02-17 | 2019-04-05 | 武汉斗鱼网络科技有限公司 | 一种基于arm指令构造数据加解密算法的方法及系统 |
US10261791B2 (en) * | 2017-02-24 | 2019-04-16 | International Business Machines Corporation | Bypassing memory access for a load instruction using instruction address mapping |
US11263014B2 (en) | 2019-08-05 | 2022-03-01 | Arm Limited | Sharing instruction encoding space between a coprocessor and auxiliary execution circuitry |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060002881A1 (en) * | 2004-04-30 | 2006-01-05 | Ching-An Peng | Perfluorocarbon-soluble compounds |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5021991A (en) * | 1983-04-18 | 1991-06-04 | Motorola, Inc. | Coprocessor instruction format |
US5781753A (en) * | 1989-02-24 | 1998-07-14 | Advanced Micro Devices, Inc. | Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions |
WO1991019244A1 (en) * | 1990-06-04 | 1991-12-12 | 3Com Corporation | Method for optimizing software for any one of a plurality of variant architectures |
JPH07281890A (ja) | 1994-04-06 | 1995-10-27 | Mitsubishi Electric Corp | 命令セット及びそのマイクロコンピュータによる実行方法 |
GB2289354B (en) | 1994-05-03 | 1997-08-27 | Advanced Risc Mach Ltd | Multiple instruction set mapping |
GB2326253A (en) * | 1997-06-10 | 1998-12-16 | Advanced Risc Mach Ltd | Coprocessor data access control |
JP3781519B2 (ja) | 1997-08-20 | 2006-05-31 | 富士通株式会社 | プロセッサの命令制御機構 |
US6438678B1 (en) | 1998-06-15 | 2002-08-20 | Cisco Technology, Inc. | Apparatus and method for operating on data in a data communications system |
US6282633B1 (en) | 1998-11-13 | 2001-08-28 | Tensilica, Inc. | High data density RISC processor |
JP2001142692A (ja) | 1999-10-01 | 2001-05-25 | Hitachi Ltd | 2つの異なる固定長命令セットを実行するマイクロプロセッサ、マイクロコンピュータおよび命令実行方法 |
US20020004897A1 (en) * | 2000-07-05 | 2002-01-10 | Min-Cheng Kao | Data processing apparatus for executing multiple instruction sets |
GB2376098B (en) * | 2001-05-31 | 2004-11-24 | Advanced Risc Mach Ltd | Unhandled operation handling in multiple instruction set systems |
US6895489B2 (en) * | 2002-08-07 | 2005-05-17 | Hewlett-Packard Development Company, L.P. | System and method for operating in endian independent mode |
US20040059848A1 (en) * | 2002-09-23 | 2004-03-25 | Institute For Information Industry | Device for automatically switching endian order |
US6968444B1 (en) * | 2002-11-04 | 2005-11-22 | Advanced Micro Devices, Inc. | Microprocessor employing a fixed position dispatch unit |
-
2003
- 2003-06-13 GB GB0313770A patent/GB2402764B/en not_active Expired - Lifetime
-
2004
- 2004-01-20 JP JP2006516359A patent/JP3905552B2/ja not_active Expired - Lifetime
- 2004-01-20 CN CNB2004800165437A patent/CN100380315C/zh not_active Expired - Lifetime
- 2004-01-20 KR KR1020057023835A patent/KR100971626B1/ko active IP Right Grant
- 2004-01-20 RU RU2006101165/09A patent/RU2006101165A/ru not_active Application Discontinuation
- 2004-01-20 DE DE602004028951T patent/DE602004028951D1/de not_active Expired - Lifetime
- 2004-01-20 WO PCT/GB2004/000206 patent/WO2004111836A2/en active Application Filing
- 2004-01-20 EP EP04703434A patent/EP1680735B1/en not_active Expired - Lifetime
- 2004-02-11 MY MYPI20040436A patent/MY131744A/en unknown
- 2004-02-19 TW TW093104149A patent/TWI314702B/zh not_active IP Right Cessation
- 2004-02-20 US US10/781,883 patent/US7788472B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060002881A1 (en) * | 2004-04-30 | 2006-01-05 | Ching-An Peng | Perfluorocarbon-soluble compounds |
Also Published As
Publication number | Publication date |
---|---|
TWI314702B (en) | 2009-09-11 |
JP3905552B2 (ja) | 2007-04-18 |
CN100380315C (zh) | 2008-04-09 |
RU2006101165A (ru) | 2006-05-27 |
GB2402764B (en) | 2006-02-22 |
JP2006527435A (ja) | 2006-11-30 |
US20040255097A1 (en) | 2004-12-16 |
WO2004111836A2 (en) | 2004-12-23 |
CN1806225A (zh) | 2006-07-19 |
KR20060021370A (ko) | 2006-03-07 |
EP1680735B1 (en) | 2010-09-01 |
WO2004111836A3 (en) | 2005-11-03 |
DE602004028951D1 (de) | 2010-10-14 |
EP1680735A2 (en) | 2006-07-19 |
US7788472B2 (en) | 2010-08-31 |
MY131744A (en) | 2007-08-30 |
GB2402764A (en) | 2004-12-15 |
GB0313770D0 (en) | 2003-07-23 |
TW200428277A (en) | 2004-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100971626B1 (ko) | 다수의 명령어 세트를 갖는 데이터 처리 장치 내에서의명령어 부호화 | |
US7966476B2 (en) | Determining length of instruction with escape and addressing form bytes without evaluating opcode | |
US7287152B2 (en) | Conditional execution per lane | |
US7447871B2 (en) | Data access program instruction encoding | |
JP2001142697A (ja) | データ処理装置 | |
EP1267258A2 (en) | Setting up predicates in a processor with multiple data paths | |
US7546442B1 (en) | Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions | |
GB2352536A (en) | Conditional instruction execution | |
CN108139911B (zh) | 在vliw处理器的同一执行包中使用有条件扩展槽的指令的有条件执行规格 | |
US20230325189A1 (en) | Forming Constant Extensions in the Same Execute Packet in a VLIW Processor | |
GB2352308A (en) | Conditional instruction execution | |
US6209080B1 (en) | Constant reconstruction processor that supports reductions in code size and processing time | |
KR100974401B1 (ko) | 주소 레지스터의 내용을 스와핑하기 위한 방법 및 장치 | |
US20040024992A1 (en) | Decoding method for a multi-length-mode instruction set | |
US7120779B2 (en) | Address offset generation within a data processing system |
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: 20130621 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140124 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20150618 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20160616 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20170616 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20190617 Year of fee payment: 10 |