KR20010002479A - 고속 명령 수행을 위한 명령어 프리디코더 - Google Patents

고속 명령 수행을 위한 명령어 프리디코더 Download PDF

Info

Publication number
KR20010002479A
KR20010002479A KR1019990022299A KR19990022299A KR20010002479A KR 20010002479 A KR20010002479 A KR 20010002479A KR 1019990022299 A KR1019990022299 A KR 1019990022299A KR 19990022299 A KR19990022299 A KR 19990022299A KR 20010002479 A KR20010002479 A KR 20010002479A
Authority
KR
South Korea
Prior art keywords
instruction
instructions
command
special
bits
Prior art date
Application number
KR1019990022299A
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 윤종용
Priority to KR1019990022299A priority Critical patent/KR20010002479A/ko
Publication of KR20010002479A publication Critical patent/KR20010002479A/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
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3856Reordering of instructions, e.g. using queues or age tags

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

고속 명령 수행을 위한 명령어 프리디코더가 개시된다. 본 발명에 따른 고속 명령 수행을 위한 명령어 프리디코더는, 외부의 명령 캐쉬로부터 인가되는 명령을 페치하고, 페치된 명령을 구분하여 명령 큐에 저장하기 위한 명령어 프리디코더에 있어서, 명령 캐쉬로부터 페치되는 N(>1)개의 명령들에 대한 각각의 오피코드 또는 특수 비트 정보들을 래치하고, 소정의 인에이블 신호에 응답하여 래치된 신호들을 출력하는 래치 수단, 및 래치 수단에서 출력된 N개의 명령에 대한 각각의 오피코드 또는 특수 비트 정보들을 멀티플렉싱하고, 멀티플렉싱된 결과를 소정의 선택 신호에 응답하여 구분된 명령어로서 출력하는 디코딩 수단을 구비하고, 사용되어질 명령어들의 정보를 미리 인지하여 디코딩하고, 디코딩된 결과에 의해 명령어의 기능 별로 구분하여 명령어 큐(Queue)에 저장함으로써 명령어 수행 시의 오류 및 버블(bubble)현상을 없앨 수 있을 뿐만 아니라, 명령 처리 속도를 보다 빠르게 개선시킬 수 있다는 효과가 있다.

Description

고속 명령 수행을 위한 명령어 프리디코더{Instruction Predecoder for High Speed Instruction Execution}
본 발명은 마이크로프로세서의 명령 수행 장치에 관한 것으로서, 특히, 고속 명령 수행을 위한 명령어 프리디코더에 관한 것이다.
일반적으로 컴퓨터에서 수행되는 프로그램은 순차적인 명령어(Instruction) 들로 구성되어 있다. 즉, 컴퓨터에서 하나의 프로그램을 수행하기 위해서는 프로그램을 구성하는 명령어들이 주 메모리 내부에 순차적으로 저장되어 있어야 한다. 이러한 상태에서 중앙 처리 장치(Central Processing Unit:CPU)는 주 메모리 로부터 명령어를 차례로 페치(fetch)하여 해당 명령어를 수행한다. 구체적으로, CPU 내부에 존재하는 프로그램 카운터(Program Counter)라는 특정 레지스터가 사용되어 이후에 수행되어야 할 명령어의 어드레스를 파악할 수 있다. 즉, 프로그램 카운터(PC)에 저장된 값은 명령어의 페치가 완료된 후 다음 명령어의 어드레스를 가리키도록 변경된다.
그러나, 명령어 페치 후에 새로운 명령을 수행하는 과정에서 원치않는 오류가 발생됨에 따라 프로그램 수행에 오동작을 일으킨다는 문제점이 발생될 수 있다. 예를 들어, 브랜치와 같은 조건부 명령이 수행되는 경우에 리타이어 (retire)될 명령어들은 다음 사이클에 진입한 후에야 리타이어가 가능하기 때문에, 명령을 수행하기 위해서는 많은 사이클이 반복되어야 한다. 즉, 많은 명령어 실행 사이클이 반복됨으로 인해 프로그램 순서에 오동작을 일으킬 수 있다. 이러한 오류가 발생되는 데에는 많은 원인이 있을 수 있으나, 가장 큰 원인이 되는 것은 명령어의 종류를 미리 구분하여 처리해주는 블럭이 구현되어 있지 않기 때문이라 할 수 있다. 따라서, 이러한 명령어의 종류를 미리 구분해 줄 수 있는 블럭을 구현해야 할 필요성이 요구된다.
본 발명이 이루고자하는 기술적 과제는, 수행하게 될 명령어를 미리 디코딩하여 구분해줌으로써 명령 수행 시의 오류를 제거하고, 명령 수행 속도를 빠르게 할 수 있는 고속 명령 수행을 위한 명령어 프리디코더를 제공하는데 있다.
도 1은 본 발명에 따른 명령어 프리디코더가 적용되는 명령어 실행 시스템을 설명하기 위한 도면이다.
도 2(a)~2(d)는 일반적인 명령어의 구성을 설명하기 위한 도면들이다.
도 3은 본 발명에 따른 명령어 프리디코더를 설명하기 위한 실시예의 블럭도이다.
도 4는 도 3에 도시된 명령어 프리디코더의 디코더를 설명하기 위한 상세한 회로도이다.
상기 과제를 이루기위해, 본 발명에 따른 고속 명령 수행을 위한 명령어 프리디코더는, 외부의 명령 캐쉬로부터 인가되는 명령을 페치하고, 페치된 명령을 구분하여 명령 큐에 저장하기 위한 명령어 프리디코더에 있어서, 명령 캐쉬로부터 페치되는 N(>1)개의 명령들에 대한 각각의 오피코드 또는 특수 비트 정보들을 래치하고, 소정의 인에이블 신호에 응답하여 래치된 신호들을 출력하는 래치 수단, 및 래치 수단에서 출력된 N개의 명령에 대한 각각의 오피코드 또는 특수 비트 정보들을 멀티플렉싱하고, 멀티플렉싱된 결과를 소정의 선택 신호에 응답하여 구분된 명령어로서 출력하는 디코딩 수단으로 구성되는 것이 바람직하고, 디코딩 수단에서 출력되는 명령어들은 명령 큐에 특정 기능 별로 구분되어 저장되는 것을 특징으로 한다.
이하, 본 발명에 고속 명령 수행을 위한 명령어 프리디코더에 관하여 첨부된 도면을 참조하여 다음과 같이 설명한다.
일반적으로, 컴퓨터 또는 마이크로프로세서에서 하나의 주어진 작업을 위한 프로그램(P)을 수행하는데 요구되는 시간은 다음과 같이 나타낼 수 있다.
여기에서, TP는 프로그램(P)을 수행하는데 요구되는 시간을 나타내고, NI는 프로그램(P)을 수행하는데 필요한 명령어 갯수를 나타내고, NS는 각 명령어 당 필요한 평균 동작 단계 수를 나타내고, TS는 각 동작에 요구되는 시간을 나타낸다. 즉, 수학식 1을 참조하면, 고속의 프로그램 수행을 위해서는 NI, NS및 TS를 감소시켜야 하며, 특히, 리스크(Reduced Instruction Set Computer :RISC) 프로세서인 경우 NS및 TS를 감소시키려는 노력이 요구된다. 그러나, 명령어 당 필요한 동작 단계 수 즉, NS를 감소시키는 것은 효율적인 병렬 처리가 가능한 파이프라인 방식에 의해 구현하는 경우에는 거의 "1"에 가까운 최적화가 가능하다. 이는 대부분의 명령이가 1사이클에 수행 완료될 수 있다는 것을 나타낸다. 따라서, 고속의 프로그램 수행을 위해서는 실제적으로 TS를 감소시키는 방법을 모색해야 한다. 즉, TS를 줄인다는 것은 프로세서 내부의 제어 블럭을 최적화하고도 원활한 수행이 가능한 경우 즉, 명령어가 단순하고 그 수가 적어야 한다는 것을 의미한다. 따라서, 프로그램 수행에 따른 많은 종류의 동작을 수행하기 위해서는 반드시 필요한 특정 명령이 필요하게 된다. 또한, 이를 최적화하여 사용하려면, 정상적인 루트 한 단계 이전에 미리 명령에 대한 정보를 가짐으로써 일반 명령과 특정 명령을 구분하여 수행하도록 하는 것이 바람직하다.
따라서, 본 발명에서는 마이크로프로세서 또는 CPU내부에 명령어 프리디코더를 구현하고, 명령 캐쉬로부터 명령을 페치하는 단계에서 특정 명령들에 대한 정보를 미리 가짐으로써 명령이 수행될 때, 해당되는 정보와 일치하는 경우에 수행할 수 있도록 하는 것을 특징으로 한다. 여기에서, 명령어의 구분은 크게 산술/로직 연산 명령, 메모리 명령 및 브랜치/점프 명령 등으로 구분할 수 있다.
도 1은 본 발명에 따른 명령어 프리디코더가 적용되는 명령어 실행 시스템을 설명하기 위한 도면으로서, 명령 캐쉬(10), 제1, 제2프리디코더(14, 15), 정수 큐(integer queue)(16) 및 부동 소수점 큐(floating point queue)(17)를 포함한다. 설명의 편의를 위해 4개씩 페치되는 명령어들(12)이 함께 도시된다.
도 1을 참조하면, 명령 캐쉬(10)에는 수행해야할 명령어들이 저장되고, N개 씩의 명령들이 한 번에 페치될 수 있다. 여기에서, 명령 캐쉬(10)에서 한 번에 페치될 수 있는 명령어의 갯수는 4개라고 가정한다. 이 때, 페치되는 명령어(12)는 각각 제1,제2 프리디코더(14, 15)로 입력되어 프리디코딩된다. 제1, 제2프리디코더 (14, 15)에서 디코딩된 결과에 의해, 정수 명령과 부동 소수점 명령으로 나누어지는 특정 명령어들이 각각 연산, 메모리 및 브랜치 명령등으로 구분된다.
정수 큐(16)와 부동 소수점 큐(17)는 각각 제1프리디코더(14) 및 제2 프리디코더(15)에서 출력되는 명령어들을 실행 명령의 기능 별로 저장하고, 출력 단자 OUT1과 OUT2를 통해서 각각 출력한다.
본 발명에서의 명령어 프리디코딩은, 사용되는 명령어들의 오피코드(opcode) 또는 특정 비트 정보를 이용하여 강제적으로 수행되고, 수행된 결과에 응답하여 각 명령어들을 특정 기능 별로 저장함으로써 일반 명령과 특정 명령을 구분해준다는 특징이 있다. 따라서, opcode 또는 특정의 비트 정보들을 분석하여 명령 수행에 도움이 될 수 있는 명령어들이 정리된다. 예를 들어, 특정 명령을 구분함에 있어서 메모리 명령어에는 데이타의 기입/독출과 관련된 로드/스토어(LOAD/STORE)등이 있고, 무브 명령어에는 CMOVE와 같은 명령이 있고, 명령어 제어와 관련된 명령어 에는 JSR(Jump to Subroutine)과, BR(branch)등이 있다. 또한, 본 발명에서 해당 명령을 인식하여 프리디코딩하는 것은 파이프라인 처리와 같은 고도의 병렬 처리를 기본적으로 수행하는 병렬 프로세서에서 적용 가능한 것으로 가정될 수 있다.
도 2(a)~2(d)는 도 1에 도시된 명령 실행 시스템에서의 명령어 세트 (Instruction set)의 구조를 설명하기 위한 도면들로서, 2(a)와 2(b)는 메모리 명령어를 나타내고, 2(c)와 2(d)는 연산 명령어를 나타내고, 2(e)는 부동 소숫점 명령어를 나타낸다.
도 2(a)를 참조하면, 메모리 명령어 중에서 일반적인 데이타 저장 기능을 갖는 명령어를 나타낸다. 도 2(a)에 나타난 명령은 16비트의 메모리 변위 비트 [15:0]와, 5비트 씩의 목적 레지스터(destination register) 비트와. 6비트의 opcode로 구성된다. 즉, 도 2(a)의 메모리 명령어에서는 명령어 구분을 위한 정보로서 어드레스[26:31] 즉, 6비트의 opcode(21)를 이용한다. 여기에서, opcode는 설계 방식에 따라서 6비트가 아닌 다른 갯수의 비트로도 구현될 수 있다. 또한, 도 2(a)의 어드레스[0:15]가 나타내는 메모리 변위(momory_disp)는 데이타 저장을 위한 어드레스 소스라 할 수 있다.
도 2(b)의 메모리 명령어는 일반적인 메모리 명령어들 중에서 특수 기능을 포함한 명령어를 나타낸다. 예를 들어, 데이타를 저장할 때 워드(word)단위로 저장할 것인가 또는 바이트(byte) 단위로 저장할 것인가를 나타내는 등의 기능을 갖는 명령어일 수 있다. 도 2(b)의 메모리 명령어의 구성은 16비트의 기능 비트들(funtion)과, 5비트 씩의 목적 레지스터 비트와, 6비트의 opcode로 이루어진다. 즉, 도 2(b)에 나타난 메모리 명령어는 명령어를 구분하기 위해서 어드레스[15:0] 즉, 16비트의 기능 비트들(23)을 이용한다.
반면, 도 2(c)는 연산 명령의 한 예를 나타내는 것으로서, 산술 및 로직 연산 명령어라 할 수 있다. 즉, 도 2(c)의 연산 명령어는 5비트의 목적 레지스터 비트와, 6비트의 기능 비트와, 1비트의 0비트와, 3비트의 SBZ(Should Be Zero) 비트와, 각 5비트 씩의 소스 레지스터 비트와, 6비트의 opcode로 구성된다. 여기에서, 도 2(c)에 도시된 연산 명령어는 어드레스[15:13]가 나타내는 SBZ 정보(24)를 명령어 구분에 이용한다.
상세하게 도시되지는 않았으나, 점프 명령 또는 브랜치 명령 등은 도 2(b)에 도시된 메모리 명령어의 구조와 거의 유사하다.
도 2(d)를 참조하면, 2(d)에 도시된 명령어는 부동 소수점 명령어를 나타내며, 5비트의 목적 레지스터 비트와, 11비트의 기능 비트와, 각 5비트 씩의 소스 레지스터 비트와, 6비트의 opcode로 이루어진다. 즉, 도 2(d)에 도시된 부동 소수점 명령어는 명령어 구분을 위한 정보로서 어드레스[15:5]의 기능 비트들(26) 을 이용한다.
도 3은 본 발명에 따른 고속 명령 수행을 위한 명령어 프리디코더를 설명하기 위한 실시예의 블럭도로서, 래치(30)와 디코더(35)를 포함한다.
래치(30)는 도 1에 도시된 명령 캐쉬로부터 각 입력 단자 IN1, IN2, IN3 및 IN4를 통하여 페치되는 N개의 명령들에 대한 각각의 오피코드 또는 특수 비트 정보들을 래치하고, 소정의 인에이블 신호(EN)에 응답하여 래치된 신호들을 출력한다. 여기에서, 한 번에 페치되는 명령어의 수는 4개인 것으로 가정된다. 예를 들어, 입력 단자 IN1을 통하여 입력되는 데이타는 메모리 관련 명령어의 특정 비트 정보라 가정할 수 있고, IN2를 통하여 입력되는 데이타는 산술 연산 관련 명령어의 특정 비트 정보라 가정할 수 있다. 또한, IN3를 통하여 입력되는 데이타는 브랜치 또는 점프 관련 명령어의 특정 비트 정보라 가정할 수 있고, IN4를 통하여 입력되는 데이타는 부동 소수점 명령어의 특정 비트 정보인 것으로 가정할 수 있다.
그러나, 도 3에 도시된 실시예의 래치(30)에 있어서 각각 IN1~IN4를 통하여 입력되는 데이타는 각각 도 2(a)~2(d)에 도시된 메모리 명령어의 오피코드(21), 메모리 명령어의 기능 비트(23), 연산 명령어의 특수 비트인 SBZ 비트(24) 및 부동 소수점 명령어의 기능 비트(26)인 것으로 가정한다. 여기에서, 인에이블 신호(EN) 는 클럭 신호(CK)와 다수의 제어 비트들을 논리 조합한 결과로서 나타낼 수 있다.
디코더(35)는 래치(30)로부터 출력된 4개의 명령에 대한 각각의 오피코드 또는 특수 비트 정보들을 멀티플렉싱하고, 멀티플렉싱된 결과를 소정의 선택 신호에 응답하여 구분된 명령어로서 출력한다. 이 때, 출력 단자 D_OUT1~D_OUT4를 통하여 출력되는 명령어의 비트들은 각각 일반 명령어(N_I), 특수 명령어(S_I) 및 특수 기능 명령어(S_F)로 구분되어 각각의 정수 큐 또는 부동 소수점 큐에 저장된다.
도 4는 도 3에 도시된 프리디코더의 디코더(35)를 설명하기 위한 상세한 회로도로서, m개의 멀티플렉서들(42a~42m)을 포함한다. 도 4에 있어서, 각 멀티플렉서들(42a~42m)은 래치(30)에서 출력된 4개의 명령어들에 대한 오피코드 및 특수 비트 정보들을 나타내는 각 비트 데이타를 입력하고, 선택 신호(SEL)에 응답하여 입력된 데이타들 중 하나를 선택적으로 출력한다.
구체적으로, 래치(30)의 각 입력 단자 IN1~IN4에 입력되는 각각의 데이타가 i비트, j비트, k 비트 및 l비트라 가정할 때, 상기의 가정에서와 같이 i는 도 2(a)의 명령어의 오피코드를 나타내는 데이타 즉, 6비트를 나타내고, 또한, j비트는 2(b)에 도시된 기능 정보의 비트의 수 즉, 16이 되고, k 비트는 2(c)에 도시된 SBZ정보의 각 3비트가 되고, l비트는 2(d)에 도시된 기능 정보의 11비트가 된다. 여기에서, 멀티플렉서의 선택 신호(SEL)는 다수의 제어 비트들을 논리 조합한 신호로서 생성된다. 따라서, 멀티플렉서(42a)에 입력되는 데이타i1, jI, k1, l1는 상기 각 명령어들의 각 제1비트를 나타낸다. 또한, 멀티플렉서(42b)에 입력되는 데이타 i2, j2,k2,l2들은 상기 4개 명령어들의 제2 비트를 나타낸다. 다른 멀티플렉서들에 입력되는 데이타도 마찬가지이다. 즉, 명령어 프리디코더에 사용되어질 멀티플렉서의 수는 명령어의 오피코드 또는 특수 정보가 최대 몇 비트로 구성되는가에 따라서 달라지게 된다.
도 3 및 도 4에서 페치되는 명령의 수는 4개로 가정된 경우를 도시하였으나, 명령어의 수는 설계 방식에 따라서 N개가 될 수 있다. 또한, 본 발명에 따른 명령어 프리디코더는 도 1에 도시된 바와 같이, 정수를 위한 제1프리디코더(14)와 부동 소수점을 위한 제2프리디코더(15)로 각각 구현될 수 있다.
결과적으로, 본 발명에서는 사용하게 될 명령어들 중에서 그들의 오피코드 또는 특수 비트 정보를 이용하여 명령어를 미리 디코딩함으로써 특수 명령들을 일반 명령과 구분해줄 수 있으며, 구분된 명령어들을 명령어 큐에 구분하여 저장하게 된다. 즉, 명령어의 기능 별로 구분하여 저장하게 되면, 특정 명령이 수행될 때 많은 프로그램 수행 사이클을 거치지 않기 때문에 오류나 버블 현상이 발생되지 않고, 보다 빠르게 명령어들이 순차적으로 수행될 수 있다.
본 발명에 따르면, 사용되어질 명령어들의 정보를 미리 인지하여 디코딩하고, 디코딩된 결과에 의해 명령어의 기능 별로 구분하여 명령어 큐(Queue)에 저장함으로써 명령어 수행 시의 오류 및 버블(bubble)현상을 없앨 수 있을 뿐만 아니라, 명령 처리 속도를 보다 빠르게 개선시킬 수 있다는 효과가 있다.

Claims (3)

  1. 외부의 명령 캐쉬로부터 인가되는 명령을 페치하고, 상기 페치된 명령을 구분하여 명령 큐에 저장하기 위한 명령어 프리디코더에 있어서,
    상기 명령 캐쉬로부터 페치되는 N(>1)개의 명령들에 대한 각각의 오피코드 또는 특수 비트 정보들을 래치하고, 소정의 인에이블 신호에 응답하여 상기 래치된 신호들을 출력하는 래치 수단; 및
    상기 래치 수단에서 출력된 N개의 명령에 대한 각각의 오피코드 또는 특수 비트 정보들을 멀티플렉싱하고, 상기 멀티플렉싱된 결과를 소정의 선택 신호에 응답하여 구분된 명령어로서 출력하는 디코딩 수단을 포함하고,
    상기 디코딩 수단에서 출력되는 명령어들은 상기 명령 큐에 특정 기능 별로 구분되어 저장되는 것을 특징으로 하는 명령어 프리디코더.
  2. 제1항에 있어서, 상기 디코딩 수단은,
    상기 N개 명령어에 대한 오피코드 또는 특수 비트 정보를 구성하는 각 M비트들 중 한 비트씩을 입력으로 하고, 상기 선택 신호에 응답하여 각각 하나의 비트를 선택적으로 출력하는 M개의 멀티플렉서들을 포함하는 것을 특징으로 하는 명령어 프리디코더.
  3. 제1항에 있어서,
    상기 특정 기능 별로 구분되는 명령어들은 각각 특수 명령, 특수 기능 및 일반 명령으로 나누어지며, 상기 특수 명령은 로드/스토어 명령, 무브 명령 및 점프/브랜치 명령을 포함하는 것을 특징으로 하는 명령어 프리디코더.
KR1019990022299A 1999-06-15 1999-06-15 고속 명령 수행을 위한 명령어 프리디코더 KR20010002479A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990022299A KR20010002479A (ko) 1999-06-15 1999-06-15 고속 명령 수행을 위한 명령어 프리디코더

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990022299A KR20010002479A (ko) 1999-06-15 1999-06-15 고속 명령 수행을 위한 명령어 프리디코더

Publications (1)

Publication Number Publication Date
KR20010002479A true KR20010002479A (ko) 2001-01-15

Family

ID=19592448

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990022299A KR20010002479A (ko) 1999-06-15 1999-06-15 고속 명령 수행을 위한 명령어 프리디코더

Country Status (1)

Country Link
KR (1) KR20010002479A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100736963B1 (ko) * 2004-06-17 2007-07-09 인텔 코오퍼레이션 에러에 중립적인 명령을 추적하여 마이크로프로세서에서의폴스 에러 검출을 줄이는 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100736963B1 (ko) * 2004-06-17 2007-07-09 인텔 코오퍼레이션 에러에 중립적인 명령을 추적하여 마이크로프로세서에서의폴스 에러 검출을 줄이는 장치 및 방법

Similar Documents

Publication Publication Date Title
US5295249A (en) Compounding preprocessor for cache for identifying multiple instructions which may be executed in parallel
US6269439B1 (en) Signal processor having pipeline processing that supresses the deterioration of processing efficiency and method of the same
KR100208889B1 (ko) 병렬처리장치 및 병렬처리방법
US5303356A (en) System for issuing instructions for parallel execution subsequent to branch into a group of member instructions with compoundability in dictation tag
US6081887A (en) System for passing an index value with each prediction in forward direction to enable truth predictor to associate truth value with particular branch instruction
US4305124A (en) Pipelined computer
US4897787A (en) Data processing system
JPH04245540A (ja) 条件付き分岐を有するプログラムの効率的実行をするためのコンピュータシステム
JPH04229326A (ja) スカラ命令の並列実行を得る方法およびシステム
JPH0926878A (ja) データ処理装置
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
GB2287108A (en) Method and apparatus for avoiding writeback conflicts between execution units sharing a common writeback path
JPH0823818B2 (ja) 命令群用マイクロコード生成装置及びコンピュータにおける組合せ装置
WO2021061762A1 (en) Instruction processing method and apparatus
EP0649083A2 (en) A microcontrol unit for a superpipelined, superscalar microprocessor
CN117193861A (zh) 指令处理方法、装置、计算机设备和存储介质
KR100431975B1 (ko) 분기에의한중단이없는파이프라인방식의마이크로프로세서를위한다중명령디스패치시스템
US7356673B2 (en) System and method including distributed instruction buffers for storing frequently executed instructions in predecoded form
US6286094B1 (en) Method and system for optimizing the fetching of dispatch groups in a superscalar processor
CN116521236A (zh) 一种基于risc-v指令集的流水线译码方法
US6115807A (en) Static instruction decoder utilizing a circular queue to decode instructions and select instructions to be issued
US5815697A (en) Circuits, systems, and methods for reducing microprogram memory power for multiway branching
KR20010002479A (ko) 고속 명령 수행을 위한 명령어 프리디코더
US5794026A (en) Microprocessor having expedited execution of condition dependent instructions
JP7506718B2 (ja) ジャンプ命令に基づくパイプライン処理を制御するプロセッサ及びプログラム

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid