KR100327778B1 - 다중명령 세트를 이용한 데이터 프로세싱 방법 - Google Patents

다중명령 세트를 이용한 데이터 프로세싱 방법 Download PDF

Info

Publication number
KR100327778B1
KR100327778B1 KR1020017003931A KR20017003931A KR100327778B1 KR 100327778 B1 KR100327778 B1 KR 100327778B1 KR 1020017003931 A KR1020017003931 A KR 1020017003931A KR 20017003931 A KR20017003931 A KR 20017003931A KR 100327778 B1 KR100327778 B1 KR 100327778B1
Authority
KR
South Korea
Prior art keywords
instruction
bit
word
instruction set
bits
Prior art date
Application number
KR1020017003931A
Other languages
English (en)
Inventor
제거데이비드비비안
Original Assignee
맥케이 데이비드 니겔
에이알엠 리미티드
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 맥케이 데이비드 니겔, 에이알엠 리미티드 filed Critical 맥케이 데이비드 니겔
Application granted granted Critical
Publication of KR100327778B1 publication Critical patent/KR100327778B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • G06F9/30174Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30196Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

본 발명은 데이터 프로세싱 방법에 관한 것이다. 본 발명의 데이터 프로세싱 방법은 디코딩 수단으로 제1 명령세트의 X-비트 프로그램 명령워드의 P비트를 디코드하여 프로세서 코어를 제어하는 코어 제어신호를 발생하는 단계와, 명령 파이프라인을 통해서 그 디코딩 수단에 명령 프로그램 워드를 보내는 단계와, 그 디코딩 수단에 의해서 디코딩하기 위한 대응하는 X-비트 프로그램 명령워드의 그 P비트에 그 명령 파이프라인을 따라 통과하는 제2 명령세트의 Y-비트 프로그램 명령워드의 Q비트를 매핑하는 단계를 구비하고, 그 프로세서 코어는 복수개의 그 코어 제어신호에 응답하고, Y는 X보다 작고, 그 제2 명령세트는 그 제1 명령세트의 서브세트이다.

Description

다중명령 세트를 이용한 데이터 프로세싱 방법{Data processing method using multiple instruction sets}
본 발명은 데이터 프로세싱 방법에 관한 것이다. 특히, 본 발명은 다중 세트의 프로그램 명령 워드를 사용하는 데이터 프로세싱 방법에 관한 것이다.
데이터 프로세싱 시스템은 프로그램 명령 워드의 제어 하에 동작하는 프로세서 코어에 의해 동작하고, 디코드된 경우에 코어 제어 신호를 발생하여 프로그램 명령 워드에 특정된 프로세싱을 달성하기 위해 필요한 동작을 행하는 프로세서로 다른 소자를 제어한다.
1 이상의 명령세트에 의해 시스템들이 동작한다는 것을 알 수 있다(즉, Digital Equipment Corporation의 VAX11 컴퓨터들은 초기에 PDP11 컴퓨터의 명령을 디코드할 수 있는 VAX 명령 모드 및 양립성 모드를 갖는다). 그러한 시스템에는 전형적으로 각 명령세트의 분리 명령 디코더가 내장되어 있다. 명령 디코더는 비교적 복잡하고, 회로 소자가 크다.
집적회로가 점령하고 있는 공간은 수요가 많다. 집적회로가 작으면 작을수록 집적회로를 제조하는데 비용이 적게 들어, 제조양품률이 크다. 게다가, 부가적인 공간은 다른 회로 소자에 사용하기 위한 집적회로에 이용할 수 있을 것이다. 집적회로의 크기를 축소하는 방법은 매우 유리하다.
도 1은 프로세서 코어와 메모리 시스템을 내장한 데이터 프로세싱 장치를 개략적으로 나타낸 도면.
도 2는 단일 명령세트를 갖는 시스템의 명령 및 명령 디코더를 개략적으로 나타낸 도면.
도 3은 2개의 명령세트를 갖는 시스템에서 사용하는 명령 파이프라인과 명령 디코더를 나타낸 도면.
도 4는 X-비트 프로그램 명령 워드의 디코딩을 나타낸 도면.
도 5 및 도 6은 X-비트 프로그램 명령 워드에 Y-비트 프로그램 명령 워드를 매핑한 것을 나타낸 도면.
도 7은 X-비트 명령세트를 나타낸 도면.
도 8은 Y-비트 명령세트를 나타낸 도면.
도 9는 제1 명령세트 및 제2 명령세트에 이용될 수 있는 프로세싱 레지스터를 나타낸 도면.
본 발명의 관점에 따라, 데이터를 프로세싱하는 방법을 제공하고, 상기 방법은 디코딩 수단으로 제1 명령세트의 X-비트 프로그램 명령워드의 P비트를 디코드하여 프로세서 코어를 제어하는 코어 제어신호를 발생하는 단계와, 명령 파이프라인을 통해서 그 디코딩 수단에 명령 프로그램 워드를 보내는 단계와, 그 디코딩 수단에 의해서 디코딩하기 위한 대응하는 X-비트 프로그램 명령워드의 그 P비트에 그 명령 파이프라인을 따라 통과하는 제2 명령세트의 Y-비트 프로그램 명령워드의 Q비트를 매핑하는 단계를 구비하고, 그 프로세서 코어는 복수개의 그 코어 제어신호에 응답하고, Y는 X보다 작고, 그 제2 명령세트는 그 제1 명령세트의 서브세트이다.
첨부도면을 참조하면서, 본 발명의 실시예를 설명한다.
도 1은 Y-비트 메모리 시스템(4)에 결합된 프로세서 코어(2)를 구비하는 데이터 프로세싱 (집적회로의 부분으로서 형성된)시스템을 나타낸다. 이 경우에 있어서, Y는 16이다.
프로세서 코어(2)는 레지스터 뱅크(6), 부스(Booths) 곱셈기(8), 배럴 쉬프터(barrel shifter)(10), 32-비트 연산 논리장치(12) 및 기록 데이터 레지스터(14)를 포함한다. 명령 파이프라인(16), 명령 디코더(18) 및 판독 데이터 레지스터(20)는 프로세서 코어(2)와 메모리 시스템(4) 사이에 삽입되어 있다. 프로세서 코어(2)의 부분인 프로그램 카운터 레지스터(22)는 메모리 시스템(4)을 어드레스하는 것을 나타낸다. 프로그램 카운터 증분기(24)는 각 명령이 실행되어, 새로운 명령이 명령 파이프라인(16)에 대해 페치되어야 되기 때문에 프로그램 카운터 레지스터(22) 내의 프로그램 카운터 값을 증가시킨다.
프로세서 코어(2)는 다양한 기능 유닛 사이에 N-비트 데이터 경로(이 경우에 32-비트 데이터 경로)를 내장한다. 동작에 있어서, 명령 파이프라인(16) 내의 명령은 프로세서 코어(2) 내의 서로 다른 기능 소자에 전달되는 다양한 코어 제어 신호를 생성하는 명령 디코더(18)에 의해 디코드된다. 이들 코어 제어 신호에 응답하여, 서로 다른 부분의 프로세서 코어는 32-비트 곱셈, 32-비트 덧셈 및 32-비트 논리동작과 같은 32-비트 프로세싱 동작을 행한다.
레지스터 뱅크(6)는 현재의 프로그래밍 상태 레지스터(26)와 세이브된 프로그램 상태 레지스터(28)를 포함한다. 현재의 프로그래밍 상태 레지스터(26)는 프로세서 코어(3)의 상태 플래그 및 다양한 조건을 보유한다. 이들 플래그는 산술연산 등에 있어서 0의 발생을 나타내는 플래그뿐만 아니라 프로세싱 모드 플래그(즉, 시스템 모드, 유저 모드, 메모리 중단 모드 등)를 포함할 수도 있다. 세이브된 프로그래밍 상태 레지스터(28)(세이브된 복수개의 프로그래밍 상태 레지스터의 뱅크 중 하나)는 프로세싱 모드 스위치를 트리거하는 예외가 발생하면, 현 프로그래밍 상태 레지스터(26)의 내용을 일시적으로 기억하기 위해 사용된다. 이와 같이, 예외를 보다 빠르고, 보다 효율적으로 처리할 수 있다.
명령세트 플래그(T)는 현 프로그래밍 상태 레지스터(26) 내에 포함되어 있다. 이 명령세트 플래그는 명령 디코더(18) 및 프로그램 카운터 증분기(24)에 공급된다. 이 명령세트 플래그(T)가 설정되면, 이 시스템은 제2 명령세트의 명령(즉,Y-비트 프로그램 명령 워드, 이 경우에 16-비트 프로그램 명령 워드)에 의해 동작한다. 명령세트 플래그(T)는 프로그램 카운터 증분기(24)를 제어하여 제2 명령세트에 의해 동작된 경우에 보다 작은 증분스텝을 채택한다. 이것은 보다 작은 제2 명령세트의 프로그램 명령 워드와 일관되어, 메모리 시스템(4)의 메모리 위치 내에 보다 가깝게 일정한 간격을 두고 있다.
이전에 언급된 것처럼, 메모리 시스템(4)은 16-비트 데이터 버스를 통해서 판독 데이터 레지스터(20) 및 명령 파이프라인(16)에 접속된 16-비트 메모리 시스템이다. 그러한 16-비트 메모리 시스템은 보다 좋은 성능의 32-비트 메모리 시스템과 비교하여 보다 간단하고 가격이 저렴하다. 그러한 16-비트 메모리 시스템을 사용하면, 16-비트 프로그램 명령 워드가 단일 사이클로 페치될 수 있다. 그러나, 제2 명령세트로부터의 32-비트 명령이 사용되면(명령세트 플래그 T에 의해 지시된 것처럼), 명령 파이프라인(16)의 단일 32-비트 명령을 회복시키기 위해 2개의 명령 페치가 요구된다.
일단 요구된 프로그램 명령 워드가 메모리 시스템(4)으로부터 회복되었다면, 요구된 프로그램 명령 워드는 명령 디코더에 의해 디코드되고, 그 명령이 16-비트 명령인지 또는 32-비트 명령인지의 여부에 관계없이 프로세서 코어(2) 내의 32-비트 프로세싱을 시작한다.
명령 디코더(18)는 단일 블록으로서 도 1에 도시되어 있다. 그러나, 1개 이상의 명령세트를 처리하기 위해, 그 명령 디코더(18)는 도 2 및 도 3에서 설명한 바와 같이 보다 복잡한 구조를 갖는다.
도 2는 단일 명령세트를 처리하는 명령 디코더(18) 및 명령 파이프라인(16)을 나타낸다. 이 경우에 있어서, 명령 디코더(18)는 32-비트 명령을 디코드하도록 작동하는 제1 디코딩 수단(30)만 포함한다. 이 디코딩 수단(30)은 프로그래머블 논리 어레이(PLA: programmable logic array)를 이용하는 제1 명령세트(ARM 명령세트)를 디코드하여 프로세서 코어(2)에 공급되는 복수개의 코어 제어신호(32)를 생성한다. 또한, 지금 디코드되는 프로그램 명령 워드(즉, 현재의 코어 제어신호(32)를 산출)도 명령 레지스터(34) 내에 보유된다. 프로세서 코어(2) 내의 기능 소자(즉, 부스(Booths) 곱셈기(8) 또는 레지스터 뱅크(6))는 이 명령 레지스터(34)로부터 직접 그들의 프로세싱 동작에 필요한 오퍼랜드를 판독한다.
그와 같은 동작의 특징은 제1 디코딩 수단(30)이 제1 디코딩 수단이 동작하는 클럭 사이클에서 초기에 그것의 어떤 입력(파이프C 파이프라인 스테이지로부터 나타나는 실선으로 표시된 P비트)을 요구한다는 것이다. 이것은 코어 제어 신호(32)가 프로세서 코어(2) 내의 필요한 소자를 구동하도록 때를 맞춰 생성된다는 것을 확실하게 하는 것이다. 제1 디코딩 수단(30)은 비교적 크고 느린 프로그래머블 논리 어레이 구조이고, 그래서 그러한 타이밍을 고려하는 것은 중요하다.
명령 디코딩을 수행하도록 그러한 프로그래머블 논리 어레이 구조를 디자인하는 것은 종래의 기술에 포함되어 있다. 1세트의 입력은 이들 입력으로부터 발생될 소망의 출력과 함께 한정된다. 상업적으로 이용할 수 있는 소프트웨어는 특정한 입력 세트로부터 특정한 출력 세트를 발생하는 PLA구조를 고안하기 위해 사용된다.
도 3은 제1 명령세트 및 제2 명령세트를 디코드하는 것을 처리하기 위해 변경된 도 2의 시스템을 나타낸다. 제1 명령세트가 명령세트 플래그(T)에 의해 선택되면, 이 시스템은 도 2에서 설명한 바와 같이 동작한다. 이 명령세트 플래그(T)가 명령 파이프라인(16) 내의 명령이 제2 명령세트에서 유래되었다는 것을 나타내면, 제2 디코딩 수단(36)이 활성화된다. 이 제2 디코딩 수단은 빠른 PLA(38) 및 병렬의 느린 PLA(40)를 이용하는 16-비트 명령(섬(Thumb)명령)을 디코드한다. 빠른 PLA(38)은 제1 디코딩 수단(30)을 구동하는데 필요한 대응하는 32-비트 ARM 명령의 P비트로 16-비트 섬(Thumb)명령의 비트의 서브세트(Q비트)를 매핑한다. 비교적 작은 수의 비트가 이 매핑을 하는데 필요하기 때문에, 빠른 PLA(38)은 비교적 샬로우(shallow)될 수 있어, 충분한 시간으로 제1 디코딩 수단이 파이프 C의 내용에 응답하여 코어 제어신호(32)를 발생할 수 있을 만큼 빨리 동작한다. 빠른 PLA(38)은 실행할 것을 고려하여 풀 명령을 매핑하는 어떤 불필요한 시간을 소비하지 않고 제1 디코딩 수단의 대응하는 32-비트 명령의 임계 비트를 '페이크(fake)'할 수 있다.
그러나, 전체의 32-비트 명령이 근본적인 변경 및 중요한 부가 회로소자 없이 동작할 수 있다면 프로세서 코어(2)에 의해 여전히 전체의 32-비트 명령이 요구된다. 시간 임계 매핑이 빠른 PLA(38)에 의해 처리되면서, 병렬로 접속된 느린 PLA(40)가 대응하는 32-비트 명령으로 16-비트 명령을 매핑하고, 이것을 명령 레지스터(34) 내에 배치한다. 더 복잡한 매핑이 빠른 PLA(38) 및 제1 디코딩 수단(30)이 동작하는데 걸리는 전체의 시간에 대하여 발생할 수도 있다. 중요한 인자는 32-비트 명령이 프로세서 코어(2)에 대해서 동작하는 코어 제어신호(32)에 응답하여판독될 어떤 오퍼랜드에 대한 충분한 시간 동안 명령 레지스터(34) 내에 존재해야 한다는 것이다.
제2 명령세트를 디코드할 때에 도 3의 시스템의 전체 동작은 그들이 명령 파이프라인(16)을 따라 진행함에 따라 제2 명령세트로부터의 16비트 명령을 제1 명령세트로부터의 32-비트 명령으로 변환하는 것이라는 것을 인지할 것이다. 이것은 제1 명령세트 내의 명령 내에 제2 명령세트로부터의 명령의 1:1 매핑이 있다는 것을 확실하게 하기 위해 제2 명령세트를 제1 명령세트의 서브세트로 함으로써 실제적인 기능성을 갖게 된다.
명령세트 플래그 T를 제공함으로써 제2 명령세트는 제1 명령세트와 직교될 수 없다. 이것은 특히 직교의 명령세트가 검출되어 디코드될 수 있도록 사용될 수 있는 어떠한 프리비트(free bit)없이 제1 명령세트가 현존하는 명령세트라는 상황에서 유용하다.
도 4는 32-비트 명령의 디코딩을 나타낸다. 도 4의 윗부분에는 페치동작, 디코드동작 및 마지막으로 실행동작이 수행된 연속적인 프로세싱 클럭 사이클이 도시되어 있다. 그래서 특별한 명령이 (즉, 곱셈 명령)를 요구하면, 1 이상의 부가적인 실행 사이클이 부가되어도 된다.
32-비트 명령(42)은 서로 다른 복수개의 필드로 구성된다. 나중의 도 7에 나타낸 바와 같이, 명령을 구별하기 위한 이들 필드 간의 경계는 다르다.
명령(42) 내의 일부 비트는 주 디코드 위상 내에서 디코딩을 요구한다. 이들 P비트는 비트 4∼7, 20 및 22∼27이다. 이들은 제1 디코딩 수단(30)에 의해 요구되는 비트이고, 또 빠른 PLA(38)에 의해 '페이크'되어야 되는 비트이다. 이들 비트는 제1 디코딩 수단에 적용되어야 하고, 그것에 의해 디코드되어 디코드 사이클의 제1 부분의 끝부분으로 적당한 코어 제어 신호(32)를 발생한다. 필요하다면, 디코드 사이클의 끝부분에 있는 동안에 전체의 명령을 디코드한다. 디코드 사이클의 끝부분에서, 명령 내의 오퍼랜드는 실행 사이클 동안에 프로세서(2)에 의해 명령 레지스터(34)로부터 판독된다. 이들 오퍼랜드는 레지스터 지정자, 오프셋 또는 다른 변수이어도 된다.
도 5는 16-비트 명령을 32-비트 명령으로 매핑하는 것을 나타낸다. 굵은 선은 32-비트 명령 내의 P비트로 매핑하는 것을 요구하는 16-비트 명령 내의 Q비트로부터 시작되어 그들이 제1 디코딩 수단(30)에 적용될 수도 있다. 대부분의 이들 비트가 일직선으로 교차하여 복사되거나 또는 단순한 매핑을 수반한다는 것을 나타낸다. 오퍼랜드 Rn′ 및 Rd와 16-비트 명령 내의 즉치(immediate)는 0을 가진 그들의 최상위 단부에서 패딩(padding)을 요구하여 32-비트 명령을 충족시킨다. 16-비트 명령 오퍼랜드보다 큰 범위를 갖는 32-비트 명령 오퍼랜드의 결과로서 이 패딩이 요구된다.
32-비트 명령이 16-비트 명령에 의해 표시되는 그 명령의 서브세트보다 상당히 더 유연성을 허용한다는 것은 도 5의 하부에 주어진 일반화된 형태의 32-비트로부터 알 수 있을 것이다. 예를 들면, 32-비트 명령은 조건부로 명령을 실행할 수 있게 되는 조건부 코드 Cond보다 우선된다. 반대로, 16-비트 명령은 그들 자체 내의 어떤 조건부 코드를 지니고 있지 않고, 16-비트 명령이 매핑되어 있는 32-비트명령의 조건부 코드가 조건부 실행 상태 '올웨이즈(always)'와 같은 '1110'의 값으로 설정된다.
도 6은 또 다른 명령의 매핑을 나타낸다. 이 경우에 있어서의 16-비트 명령은 도 5에 나타낸 것과 다른 형태의 로드/저장(Load/Store) 명령이다. 그러나, 이 명령은 여전히 32-비트 명령세트의 단일 데이터 전송 명령의 서브세트이다.
도 7은 32-비트 명령세트에 대한 11개의 서로 다른 형태의 명령형식을 개략적으로 나타낸다. 이들 명령은 다음과 같이 차례로 있다.
1. 데이터 프로세싱 PSR 전송;
2. 곱셈;
3. 단일 데이터 스왑(swap);
4. 단일 데이터 전송;
5. 한정되지 않음;
6. 블록 데이터 전송;
7. 브랜치;
8. 코프로세서 데이터 전송;
9. 코프로세서 데이터 동작; 및
10. 코프로세서 레지스터 전송.
11. 소프트웨어 인터럽트.
이 명령세트의 완전한 설명은 Advanced RISC Machines Limited에 의해 제조된 ARM6 프로세서의 Data Sheet 내에 존재할 것이다. 도 7 내에서 강조된 명령은도 5 및 도 6에 나타낸 것이다.
도 8은 32-비트 명령세트뿐만 아니라 제공되는 16-비트 명령세트를 나타낸다. 이 명령 내에서 강조된 명령은 도 5 및 도 6에서 각각 나타낸 것들이다 16-비트 명령세트 내의 명령은 그들이 단일 32-비트 명령에 모두 매핑되도록 선택되었고, 그래서 32-비트 명령세트의 서브세트를 형성한다.
이 명령세트 내의 각 명령 사이에 차례로 전달하면, 그 형식은 다음과 같이 지정된다.
형식1: 0p=0, 1. 양 op는 조건 코드 플래그를 설정한다.
0: ADD Rd, Rs, #즉치3
1: SUB Rd, Rs, #즉치3
형식2: 0p=0, 1. 양 op는 조건 코드 플래그를 설정한다.
0: ADD Rd, Rm, Rn
1: SUB Rd, Rm, Rn
형식3: 3개의 연산코드. 큰 즉치를 확립했다.
1= ADD Rd, Rd, #즉치 8<<8
2= ADD Rd, Rd, #즉치 8<<16
3= ADD Rd, Rd, #즉치 8<<24
형식4: 0p는 3개의 연산코드를 주고, 모든 연산은 MOVS Rd, Ra SHIFT
#즉치 5이며, 여기서 SHIFT란,
0은 LSL
1은 LSR
2는 ASR
ARM으로 규정한 바와 같이 0만큼 쉬프트.
형식5: 0p1*8+0p2는 32 ALU 연산코드를 주고, Rd = Rd op Rn. 모든 연산은 조건 코드 플래그를 설정한다.
이 연산은,
AND, OR, EOR, BIC (AND NOT), NEGATE, CMP, CMN, MUL, TST, TEQ, MOV, MVN(NOT), LSL, LSR, ASR, ROR
빠진 ADC, SBC, MULL
ARM으로 규정한 바와 같이 0만큼, 31보다 크게 쉬프트.
8개의 특별한 연산코드, L0은 Reg 0∼7을 지정하고, HI는 레지스터 8-15를 지정한다.
SPECIAL는 CPSR 또는 SPSR이다.
MOV HI, L0 (은폐된 레지스터를 눈에 보이는 레지스터로 이동)
MOV LO, HI (눈에 보이는 레지스터를 은폐된 레지스터로 이동)
MOV HI, HI (예컨대 진행 리턴)
MOVS HI, HI (예컨대 예외 리턴)
MOVS HI, LO (예컨대 인터럽트 리턴은, SUBS, HI, HI, #4일 것이다.)
MOV SPECIAL, LO (MSR)
MOV LO, SPECIAL (MRS)
CMP HI, HI (스택 제한 체크)
8개의 자유 연산코드
형식6: Op는 4개의 연산코드를 준다. 모든 연산은 조건 코드 플래그를 설정한다.
0: MOV Rd, #즉치 8
1: CMP Rs, #즉치 8
2: ADD Rd, Rd, #즉치 8
ADD Rd, Rs, #즉치5에 대한 ADD를 교환할 수 있다.
형식7: 워드 PC + 오프셋 (256 워드, 1024 바이트)을 로드. 오프셋이 정렬된 워드이어야 한다는 것에 유의.
LDR Rd, [PC, #+1024]
이 명령은 다음의 래터럴 풀에 액세스하여 상수, 어드레스 등을 로드하기 위해 사용된다.
형식8: SP (r7) + 256 워드 (1024 바이트)로부터 워드를 로드 및 저장
SP(r7) + 256 바이트로부터 바이트를 로드 및 저장
LRD Rd, [SP, #+1024)
LDRB Rd, [SP, #+256]
이들 명령은 스택 및 프레임 액세스를 위한 것이다.
형식9: 워드(또는 바이트)를 로드 및 저장, 부호가 있는 3 비트 즉치
오프셋 (사후 Inc/Dec), 강요된 라이트백(Writeback)
L은 로드/저장, U는 업/다운 (덧셈/뺄셈 오프셋), B는 바이트/워드
LDR {B} Rd, [Rb], #+/-오프셋3
STR {B} Rd, [Rb], #+/-오프셋3
이들 명령은 구조 액세스를 위한 것이다.
이 오프셋은 바이트의 0∼7, 워드의 0, 4∼28을 인코드한다.
형식10: 부호가 있는 레지스터로 워드(또는 바이트)를 로드 및 저장
오프셋 (Pre Inc/Dec), 라이트백 금지
L은 로드/저장, U는 업/다운 (덧셈/뺄셈 오프셋), B는 바이트/워드
LDR Rd, [Rb, +/-Ro, LSL#2]
STR Rd, [Rb, +/-Ro, LSL#2]
LDRB Rd, [Rb, +/-Ro]
STRB Rd, [Rb, +/-Ro]
이 명령은 베이스 + 오프셋 포인터 액세스를 위한 것이고, 매우 빠른 즉치 오프셋 액세스를 주는 8-비트 MOV, ADD, SUB와 결합된다.
형식11: 부호가 있는 5비트로 워드(또는 바이트)를 로드 및 저장
즉치 오프셋 (사전 Inc/Dec), 라이트백 금지
L은 로드/저장 B는 바이트/워드
LDR{B} Rd, [Rb, #+Offset5]
STR{B} Rd, [Rb, #+Offset5]
이들 명령은 구조 액세스를 위한 것이다.
오프셋은 바이트의 0∼31, 워드의 0, 4∼124를 인코드한다.
형식12: 배수(강요된 라이트백)를 로드 및 저장
LDMIA Rb!, {Rlist}
STMIA Rb!, {Rlist}
Rlist는 레지스터 r0 - r7을 지정한다.
이들 명령의 서브 클래스는 한 쌍의 서브루틴 호출 및 리턴 명령이다.
LDM에 대하여, r7이 베이스이고, 비트 7이 rlist에서 설정되며, PC가 로드된다.
STM에 대하여, r7이 베이스이고, 비트 7이 rlist에서 설정되며, LR이 기억된다.
r7이 베이스 레지스터로서 사용되면, sp가 대신 사용된다.
양쪽의 경우에서, 풀 강하 스택이 실행되고, 즉 LDM은 같은 ARM's LDMFD이고, STM은 같은 ARM's STMFD이다.
그러므로 블록복사에 대해서는, 엔드 포인터로서 r7을 사용한다.
r7이 베이스가 아니면, LDM 및 STM는 같은 ARMs LDMIA, STMIA이다.
형식13: 어드레스 로드. 이 명령은 PC 또는 스택 포인터 중 어느 하나에 8비트의 부호가 없는 상수를 더하고, 그 결과를 수신지 레지스터에 기억한다.
ADD Rd, sp, + 256 바이트
ADD Rd, pc, + 256 워드(1024 바이트)
SP 비트는 SP 또는 PC가 소스이면 나타난다.
SP가 소스이고, r7이 수신지 레지스터로서 지정되면, SP는 수신지 레지스터로서 사용된다.
형식14: 조건부 브랜치, +/-128 바이트, 여기서 cond는 조건 코드(ARM에서와 같이)를 한정하고, cond= 15는 SWI(256개만이 충분)로서 인코드한다.
형식15: 긴 브랜치 및 링크의 비트 22:12를 설정. MOV lr, #오프셋 << 12.
형식16: 긴 브랜치 및 링크를 수행. 연산은 SUB newlr, pc, #4; ORR pc, oldlr, #오프셋 << 1이다. newlr 및 oldlr는 연산 전후의 lr 레지스터를 의미한다.
전에 언급된 바와 같이, 16-비트 명령세트는 32-비트 명령세트와 비교하여 오퍼랜드 범위를 감소시켰다. 이것과 상응하여, 16-비트 명령세트는 전체의 32-비트 명령세트에 대하여 제공되는 레지스터(6)의 서브세트를 사용한다. 도 9는 16-비트 명령세트에 의해 사용되는 레지스터의 서브세트를 나타낸다.
집적회로가 점령하고 있는 공간은 수요가 많다. 집적회로가 작으면 작을수록 집적회로를 제조하는데 비용이 적게 들어, 제조양품률이 크다. 게다가, 부가적인 공간은 다른 회로 소자에 사용하기 위한 집적회로에 이용할 수 있을 것이다. 집적회로의 크기를 축소하는 방법은 매우 유리하다.

Claims (4)

  1. 디코딩 수단으로 제1 명령세트의 X-비트 프로그램 명령워드의 P비트를 디코드하여 프로세서 코어를 제어하는 코어 제어신호를 발생하는 단계와,
    명령 파이프라인을 통해서 상기 디코딩 수단에 명령 프로그램 워드를 보내는 단계와,
    상기 디코딩 수단에 의해서 디코딩하기 위한 대응하는 X-비트 프로그램 명령워드의 상기 P비트에, 상기 명령 파이프라인을 따라 통과하는 제2 명령세트의 Y-비트 프로그램 명령워드의 Q비트를 매핑하는 단계를 구비하고,
    상기 프로세서 코어는 복수개의 상기 코어 제어신호에 응답하고,
    Y는 X보다 작고,
    상기 제2 명령세트는 상기 제1 명령세트의 서브세트인 것을 특징으로 하는 데이터 프로세싱 방법.
  2. 제1 항에 있어서,
    P는 X보다 작은 것을 특징으로 하는 데이터 프로세싱 방법.
  3. 제1 항에 있어서,
    Q는 P보다 작거나 같은 것을 특징으로 하는 데이터 프로세싱 방법.
  4. 제1 항에 있어서,
    X는 32이고, Y는 16인 것을 특징으로 하는 데이터 프로세싱 방법.
KR1020017003931A 1994-05-03 1995-02-15 다중명령 세트를 이용한 데이터 프로세싱 방법 KR100327778B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9408873.9 1994-05-03
GB9408873A GB2289354B (en) 1994-05-03 1994-05-03 Multiple instruction set mapping

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1019960706180A Division KR100323191B1 (ko) 1994-05-03 1995-02-15 다중명령세트를이용한데이터프로세싱장치

Publications (1)

Publication Number Publication Date
KR100327778B1 true KR100327778B1 (ko) 2002-03-15

Family

ID=10754569

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1019960706180A KR100323191B1 (ko) 1994-05-03 1995-02-15 다중명령세트를이용한데이터프로세싱장치
KR1020017003931A KR100327778B1 (ko) 1994-05-03 1995-02-15 다중명령 세트를 이용한 데이터 프로세싱 방법
KR1020017003930A KR100327777B1 (ko) 1994-05-03 1995-02-15 다중명령 세트를 이용한 데이터 프로세싱 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1019960706180A KR100323191B1 (ko) 1994-05-03 1995-02-15 다중명령세트를이용한데이터프로세싱장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020017003930A KR100327777B1 (ko) 1994-05-03 1995-02-15 다중명령 세트를 이용한 데이터 프로세싱 장치

Country Status (13)

Country Link
US (1) US5568646A (ko)
EP (1) EP0758463B1 (ko)
JP (2) JP3171201B2 (ko)
KR (3) KR100323191B1 (ko)
CN (1) CN1088214C (ko)
DE (1) DE69503046T2 (ko)
GB (1) GB2289354B (ko)
IL (1) IL113134A (ko)
IN (1) IN189950B (ko)
MY (1) MY114381A (ko)
RU (1) RU2137184C1 (ko)
TW (1) TW242678B (ko)
WO (1) WO1995030187A1 (ko)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2307072B (en) * 1994-06-10 1998-05-13 Advanced Risc Mach Ltd Interoperability with multiple instruction sets
US5926642A (en) 1995-10-06 1999-07-20 Advanced Micro Devices, Inc. RISC86 instruction set
US5794063A (en) * 1996-01-26 1998-08-11 Advanced Micro Devices, Inc. Instruction decoder including emulation using indirect specifiers
AU7246496A (en) * 1995-10-06 1997-04-28 Advanced Micro Devices Inc. Instruction decoder including emulation using indirect specifiers
GB2308470B (en) * 1995-12-22 2000-02-16 Nokia Mobile Phones Ltd Program memory scheme for processors
US5790824A (en) * 1996-03-18 1998-08-04 Advanced Micro Devices, Inc. Central processing unit including a DSP function preprocessor which scans instruction sequences for DSP functions
US5867681A (en) * 1996-05-23 1999-02-02 Lsi Logic Corporation Microprocessor having register dependent immediate decompression
US5896519A (en) * 1996-06-10 1999-04-20 Lsi Logic Corporation Apparatus for detecting instructions from a variable-length compressed instruction set having extended and non-extended instructions
US5794010A (en) * 1996-06-10 1998-08-11 Lsi Logic Corporation Method and apparatus for allowing execution of both compressed instructions and decompressed instructions in a microprocessor
US6711667B1 (en) * 1996-06-28 2004-03-23 Legerity, Inc. Microprocessor configured to translate instructions from one instruction set to another, and to store the translated instructions
DE19629130A1 (de) * 1996-07-19 1998-05-14 Philips Patentverwaltung Signalprozessor
EP0858168A1 (en) 1997-01-29 1998-08-12 Hewlett-Packard Company Field programmable processor array
EP0858167A1 (en) 1997-01-29 1998-08-12 Hewlett-Packard Company Field programmable processor device
US5925124A (en) * 1997-02-27 1999-07-20 International Business Machines Corporation Dynamic conversion between different instruction codes by recombination of instruction elements
KR100451712B1 (ko) * 1997-03-12 2004-11-16 엘지전자 주식회사 멀티플리케이션장치및방법
US5881258A (en) * 1997-03-31 1999-03-09 Sun Microsystems, Inc. Hardware compatibility circuit for a new processor architecture
US5930491A (en) * 1997-06-18 1999-07-27 International Business Machines Corporation Identification of related instructions resulting from external to internal translation by use of common ID field for each group
JP3781519B2 (ja) * 1997-08-20 2006-05-31 富士通株式会社 プロセッサの命令制御機構
US6438679B1 (en) * 1997-11-03 2002-08-20 Brecis Communications Multiple ISA support by a processor using primitive operations
WO1999031574A1 (en) 1997-12-17 1999-06-24 Hewlett-Packard Company Implementation of multipliers in programmable arrays
DE69841256D1 (de) 1997-12-17 2009-12-10 Panasonic Corp Befehlsmaskierung um Befehlsströme einem Prozessor zuzuleiten
DE69827589T2 (de) 1997-12-17 2005-11-03 Elixent Ltd. Konfigurierbare Verarbeitungsanordnung und Verfahren zur Benutzung dieser Anordnung, um eine Zentraleinheit aufzubauen
US6012138A (en) * 1997-12-19 2000-01-04 Lsi Logic Corporation Dynamically variable length CPU pipeline for efficiently executing two instruction sets
US6044460A (en) * 1998-01-16 2000-03-28 Lsi Logic Corporation System and method for PC-relative address generation in a microprocessor with a pipeline architecture
EP0942357A3 (en) 1998-03-11 2000-03-22 Matsushita Electric Industrial Co., Ltd. Data processor compatible with a plurality of instruction formats
US6079010A (en) * 1998-03-31 2000-06-20 Lucent Technologies Inc. Multiple machine view execution in a computer system
US6189094B1 (en) * 1998-05-27 2001-02-13 Arm Limited Recirculating register file
US6978462B1 (en) 1999-01-28 2005-12-20 Ati International Srl Profiling execution of a sequence of events occuring during a profiled execution interval that matches time-independent selection criteria of events to be profiled
US6954923B1 (en) 1999-01-28 2005-10-11 Ati International Srl Recording classification of instructions executed by a computer
US7065633B1 (en) 1999-01-28 2006-06-20 Ati International Srl System for delivering exception raised in first architecture to operating system coded in second architecture in dual architecture CPU
US7941647B2 (en) 1999-01-28 2011-05-10 Ati Technologies Ulc Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination
US6763452B1 (en) 1999-01-28 2004-07-13 Ati International Srl Modifying program execution based on profiling
US7013456B1 (en) 1999-01-28 2006-03-14 Ati International Srl Profiling execution of computer programs
US8127121B2 (en) 1999-01-28 2012-02-28 Ati Technologies Ulc Apparatus for executing programs for a first computer architechture on a computer of a second architechture
US7111290B1 (en) 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
US7275246B1 (en) 1999-01-28 2007-09-25 Ati International Srl Executing programs for a first computer architecture on a computer of a second architecture
US8065504B2 (en) 1999-01-28 2011-11-22 Ati International Srl Using on-chip and off-chip look-up tables indexed by instruction address to control instruction execution in a processor
US8074055B1 (en) * 1999-01-28 2011-12-06 Ati Technologies Ulc Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code
WO2000068782A1 (fr) * 1999-05-06 2000-11-16 Hitachi, Ltd. Procede de mise au point d'un circuit integre a semiconducteur
US6820189B1 (en) * 1999-05-12 2004-11-16 Analog Devices, Inc. Computation core executing multiple operation DSP instructions and micro-controller instructions of shorter length without performing switch operation
US6779107B1 (en) 1999-05-28 2004-08-17 Ati International Srl Computer execution by opportunistic adaptation
US7254806B1 (en) 1999-08-30 2007-08-07 Ati International Srl Detecting reordered side-effects
JP2001142692A (ja) * 1999-10-01 2001-05-25 Hitachi Ltd 2つの異なる固定長命令セットを実行するマイクロプロセッサ、マイクロコンピュータおよび命令実行方法
US6934832B1 (en) 2000-01-18 2005-08-23 Ati International Srl Exception mechanism for a computer
US7353368B2 (en) * 2000-02-15 2008-04-01 Intel Corporation Method and apparatus for achieving architectural correctness in a multi-mode processor providing floating-point support
US20020004897A1 (en) * 2000-07-05 2002-01-10 Min-Cheng Kao Data processing apparatus for executing multiple instruction sets
US6633969B1 (en) 2000-08-11 2003-10-14 Lsi Logic Corporation Instruction translation system and method achieving single-cycle translation of variable-length MIPS16 instructions
GB2367651B (en) * 2000-10-05 2004-12-29 Advanced Risc Mach Ltd Hardware instruction translation within a processor pipeline
GB2367653B (en) * 2000-10-05 2004-10-20 Advanced Risc Mach Ltd Restarting translated instructions
US7149878B1 (en) 2000-10-30 2006-12-12 Mips Technologies, Inc. Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values
US7711926B2 (en) * 2001-04-18 2010-05-04 Mips Technologies, Inc. Mapping system and method for instruction set processing
GB2376100B (en) * 2001-05-31 2005-03-09 Advanced Risc Mach Ltd Data processing using multiple instruction sets
US7107439B2 (en) * 2001-08-10 2006-09-12 Mips Technologies, Inc. System and method of controlling software decompression through exceptions
US20070005942A1 (en) * 2002-01-14 2007-01-04 Gil Vinitzky Converting a processor into a compatible virtual multithreaded processor (VMP)
US20060149927A1 (en) * 2002-11-26 2006-07-06 Eran Dagan Processor capable of multi-threaded execution of a plurality of instruction-sets
JP4090908B2 (ja) * 2003-02-21 2008-05-28 シャープ株式会社 画像処理装置および画像形成装置
TWI230899B (en) * 2003-03-10 2005-04-11 Sunplus Technology Co Ltd Processor and method using parity check to proceed command mode switch
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
GB2414308B (en) * 2004-05-17 2007-08-15 Advanced Risc Mach Ltd Program instruction compression
US20060155974A1 (en) * 2005-01-07 2006-07-13 Moyer William C Data processing system having flexible instruction capability and selection mechanism
US20060174089A1 (en) * 2005-02-01 2006-08-03 International Business Machines Corporation Method and apparatus for embedding wide instruction words in a fixed-length instruction set architecture
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
GB2435116B (en) * 2006-02-10 2010-04-07 Imagination Tech Ltd Selecting between instruction sets in a microprocessors
US7500210B2 (en) * 2006-11-15 2009-03-03 Mplicity Ltd. Chip area optimization for multithreaded designs
US7802252B2 (en) * 2007-01-09 2010-09-21 International Business Machines Corporation Method and apparatus for selecting the architecture level to which a processor appears to conform
US20090044159A1 (en) * 2007-08-08 2009-02-12 Mplicity Ltd. False path handling
KR20100069695A (ko) * 2007-09-19 2010-06-24 케이피아이티 커민즈 인포시스템즈 엘티디. 반자동 소프트웨어 마이그레이션을 위해 플러그-앤-플레이 하드웨어 컴포넌트들을 동작시키는 메커니즘
US8347067B2 (en) * 2008-01-23 2013-01-01 Arm Limited Instruction pre-decoding of multiple instruction sets
WO2010096119A1 (en) * 2008-10-29 2010-08-26 Adapteva Incorporated Variable instruction width digital signal processor
GB2478726B (en) 2010-03-15 2013-12-25 Advanced Risc Mach Ltd Mapping between registers used by multiple instruction sets
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.
US8914615B2 (en) 2011-12-02 2014-12-16 Arm Limited Mapping same logical register specifier for different instruction sets with divergent association to architectural register file using common address format
WO2013132767A1 (ja) * 2012-03-09 2013-09-12 パナソニック株式会社 プロセッサ、マルチプロセッサシステム、コンパイラ、ソフトウェアシステム、メモリ制御システムおよびコンピュータシステム
US9442730B2 (en) 2013-07-31 2016-09-13 Apple Inc. Instruction source specification
RU2584470C2 (ru) * 2014-03-18 2016-05-20 Федеральное государственное учреждение "Федеральный научный центр Научно-исследовательский институт системных исследований Российской академии наук" (ФГУ ФНЦ НИИСИ РАН) Гибридный потоковый микропроцессор
RU2556364C1 (ru) * 2014-03-18 2015-07-10 Федеральное государственное бюджетное учреждение науки Научно-исследовательский институт системных исследований Российской академии наук (НИИСИ РАН) Гибридный микропроцессор
GB2540971B (en) 2015-07-31 2018-03-14 Advanced Risc Mach Ltd Graphics processing systems
EP3971709A1 (en) 2016-10-20 2022-03-23 INTEL Corporation Systems, apparatuses, and methods for fused multiply add
GB2563580B (en) * 2017-06-15 2019-09-25 Advanced Risc Mach Ltd An apparatus and method for controlling a change in instruction set
JP7037289B2 (ja) 2017-06-26 2022-03-16 三菱重工業株式会社 制御切替装置、プラント、制御切替方法およびプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6133546A (ja) * 1984-07-25 1986-02-17 Nec Corp 情報処理装置
JPH0683615A (ja) * 1992-09-02 1994-03-25 Fujitsu Ltd 命令セットエミュレーションを行う計算機

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5317240A (en) * 1976-07-31 1978-02-17 Toshiba Corp Controller
JPS583040A (ja) * 1981-06-30 1983-01-08 Nec Corp 情報処理装置
JPS59501684A (ja) * 1982-10-22 1984-10-04 インタ−ナシヨナル・ビジネス・マシ−ンズ・コ−ポレ−シヨン 目的命令ストリ−ムへ殆んど実時間で插入するためのソ−スおよび目的命令ストリ−ムの外部における加速式命令写像
JPH0689269A (ja) * 1991-02-13 1994-03-29 Hewlett Packard Co <Hp> プロセッサの制御装置、プロセッサの休止装置およびそれらの方法
GB2263565B (en) * 1992-01-23 1995-08-30 Intel Corp Microprocessor with apparatus for parallel execution of instructions
US5392408A (en) * 1993-09-20 1995-02-21 Apple Computer, Inc. Address selective emulation routine pointer address mapping system
US5481684A (en) * 1994-01-11 1996-01-02 Exponential Technology, Inc. Emulating operating system calls in an alternate instruction set using a modified code segment descriptor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6133546A (ja) * 1984-07-25 1986-02-17 Nec Corp 情報処理装置
JPH0683615A (ja) * 1992-09-02 1994-03-25 Fujitsu Ltd 命令セットエミュレーションを行う計算機

Also Published As

Publication number Publication date
IL113134A0 (en) 1995-06-29
US5568646A (en) 1996-10-22
JPH09512651A (ja) 1997-12-16
TW242678B (en) 1995-03-11
JP3592230B2 (ja) 2004-11-24
EP0758463A1 (en) 1997-02-19
KR970703010A (ko) 1997-06-10
WO1995030187A1 (en) 1995-11-09
GB2289354A (en) 1995-11-15
CN1147306A (zh) 1997-04-09
CN1088214C (zh) 2002-07-24
EP0758463B1 (en) 1998-06-17
KR100323191B1 (ko) 2002-06-24
DE69503046T2 (de) 1999-01-28
RU2137184C1 (ru) 1999-09-10
GB9408873D0 (en) 1994-06-22
JP2001142697A (ja) 2001-05-25
GB2289354B (en) 1997-08-27
KR100327777B1 (ko) 2002-03-15
IL113134A (en) 1998-03-10
MY114381A (en) 2002-10-31
IN189950B (ko) 2003-05-17
JP3171201B2 (ja) 2001-05-28
DE69503046D1 (de) 1998-07-23

Similar Documents

Publication Publication Date Title
KR100327778B1 (ko) 다중명령 세트를 이용한 데이터 프로세싱 방법
KR100327776B1 (ko) 다중 명령세트를 사용하는 데이터 처리방법
US20020049894A1 (en) Method and apparatus for interfacing a processor to a coprocessor
JP2002517037A (ja) 混合ベクトル/スカラレジスタファイル
JPS6339931B2 (ko)
JPH0766324B2 (ja) データ処理装置
JPH0810428B2 (ja) データ処理装置
JPH04233640A (ja) メモリ拡張スキームを切り替える疑似直線バンクを有するマイクロコントローラ
JPH07120278B2 (ja) データ処理装置
US6542989B2 (en) Single instruction having op code and stack control field
US5754810A (en) Specialized millicode instruction for certain decimal operations
JP3504355B2 (ja) プロセッサ
JPS6195447A (ja) 半導体回路装置
JPS6149692B2 (ko)
CA1250666A (en) Central processing unit for a digital computer
Chalk et al. Fetching and Executing Instructions
JPH01217633A (ja) データ処理装置
JPH0769804B2 (ja) データ処理装置
EP1303810A1 (en) System with microcode multi-way branching capability
JPS6149694B2 (ko)
JPS6149693B2 (ko)

Legal Events

Date Code Title Description
A107 Divisional application of patent
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: 20130201

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20140204

Year of fee payment: 13