KR100688139B1 - 명령어 디코드용 다중 소스 - Google Patents

명령어 디코드용 다중 소스 Download PDF

Info

Publication number
KR100688139B1
KR100688139B1 KR1020037004440A KR20037004440A KR100688139B1 KR 100688139 B1 KR100688139 B1 KR 100688139B1 KR 1020037004440 A KR1020037004440 A KR 1020037004440A KR 20037004440 A KR20037004440 A KR 20037004440A KR 100688139 B1 KR100688139 B1 KR 100688139B1
Authority
KR
South Korea
Prior art keywords
instructions
instruction
multiplexer
processor
collecting
Prior art date
Application number
KR1020037004440A
Other languages
English (en)
Other versions
KR20030036844A (ko
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 인텔 코포레이션
Publication of KR20030036844A publication Critical patent/KR20030036844A/ko
Application granted granted Critical
Publication of KR100688139B1 publication Critical patent/KR100688139B1/ko

Links

Images

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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length 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

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)
  • Advance Control (AREA)

Abstract

일 실시예에서, 프로세서는 다중의 명령어 소스를 포함하며, 디코더에 명령어를 공급하기에 적합한 소스를 선택한다. 상기 각 명령어 소스는 멀티플렉서에 명령어를 제공할 수 있다. 상기 명령어 소스는 또한 상기 명령어의 크기를 표시하는 신호를 제2 멀티플렉서에 제공한다.

Description

명령어 디코드용 다중 소스 {MULTIPLE SOURCES FOR INSTRUCTION DECODE}
본 발명은 디지털 신호 처리기에 관한 것이며, 특히 명령어를 디코더에 제공하는 다중 소스(source)를 구비한 디지털 신호 처리기에 관한 것이다.
디지털 신호 처리는 디지털 형태의 신호 표현 및 수치 계산을 이용한 상기 신호 표현의 변환 또는 처리와 관련된다. 디지털 신호 처리는 무선통신, 네트워킹, 및 멀티미디어 등의 분야의 최신 고급 기술 제품들 중 다수에 있어 핵심 기술이다. 디지털 신호 처리 기술의 보편화된 한 원인은 저가의 고성능 디지털 신호 처리기(DSP: digital signal processor)의 개발이었고, 이러한 디지털 신호 처리기는 엔지니어에게 신뢰성 있는 계산 능력을 제공하여 상기의 제품들을 저렴하면서도 효율적으로 구현하도록 한다. 최초의 DSP 개발이래, DSP의 아키텍쳐 및 설계는 영상(video)급 시퀀스의 정교한 실시간 처리마저도 수행될 수 있는 위치로 진화하였다.
DSP는 다양한 멀티미디어 애플리케이션, 예를 들어 디지털 영상, 디지털 이미지, 디지털 오디오용으로 종종 사용된다. DSP는 디지털 신호들을 처리하여 상기의 멀티미디어 파일을 생성하고 개발한다.
MPEG-1 (Motion Picture Expert Group: 동영상 전문가 그룹), MPEG-2, MPEG- 4 및 H.263은 디지털 영상 압축 표준 및 파일 포맷이다. 상기의 표준들은 디지털 영상 신호의 높은 압축률을 달성하는데, 이는 각각의 전체 프레임을 저장하는 대신에 하나의 영상 프레임에서 다른 프레임으로의 변화를 주로 저장함으로써 달성된다. 그리하여 상기의 영상 정보는 상이한 다소의 기술을 사용하여 더 압축될 수 있다.
압축하는 동안에 DSP를 이용하여 영상 정보에 대한 다양한 연산을 수행할 수 있다. 상기의 연산은 움직임(motion) 탐색과 공간적 보간(interpolation) 알고리즘을 포함하기도 한다. 이의 근본적 의도는 인접 프레임내의 블록간 왜곡을 측정하고자 하는 것이다. 이러한 연산은 계산 집약적이어서 높은 데이터 처리량을 요구하기도 한다.
MPEG 계열의 표준은 멀티미디어 애플리케이션 및 파일의 증대되는 대역폭 요구에 보조를 맞추기 위해 진화를 하고 있다. 상기 표준의 각 신규 버전은 더욱 정교한 알고리즘을 제시하는데, 이는 MPEG 지원 영상 처리 장치에 사용되는 DSP에 더욱 더 커다란 처리 조건을 요구한다.
영상 처리 장치 제조자는 MPEG 및 H.263 표준하에서 영상 인코딩용으로 커스터마이즈된 주문형 반도체(ASIC: application-specific integrated circuit)에 종종 의존한다. 그러나 ASIC은 설계가 복잡하고, 생산 비용이 많이 들고, 범용 DSP보다 애플리케이션에 있어 덜 유연하다.
본 발명의 상기 및 기타 특징과 이점은 이후의 상세한 설명을 읽고, 첨부 도면을 참조하면 바로 더욱 명확해 질 것이다.
도 1은 본 발명의 일 실시예에 의한 프로세서가 이용되는 이동 영상 장치의 블록 다이어그램이다.
도 2는 본 발명의 일 실시예에 의한 신호 처리 시스템의 블록 다이어그램이다.
도 3은 본 발명의 일 실시예에 의한 대안적 신호 처리 시스템의 블록 다이어그램이다.
도 4는 본 발명의 일 실시예에 의한 도 1의 프로세서의 예시적인 파이프라인 단계를 도시한 것이다.
도 5는 본 발명의 일 실시예에 의한 다중 소스 디코더 공급 시스템의 블록 다이어그램이다.
도 6은 본 발명의 일 실시예에 의한 다중 소스로부터 선택된 명령어를 디코더에 제공하는 프로세스를 도시한 것이다.
도 1은 본 발명의 실시예에 따른 프로세서가 포함된 이동 영상 장치(100)를 도시하고 있다. 상기 이동 영상 장치(100)는 인코딩된 영상 신호로부터 생성된 영상 이미지를 표시해 주는 휴대용(hand-held) 장치일 수 있으며, 상기 인코딩된 영상 신호는 안테나(105) 또는 디지털 영상 저장 매체(120), 예컨대 디지털 비디오 디스크(DVD)나 메모리 카드로부터 수신된다. 프로세서(110)는 캐시 메모리(115)와 통신을 하며, 상기 캐시 메모리는 상기 프로세서의 연산을 위한 명령어와 데이터를 저장할 수 있다. 상기 프로세서(110)는 마이크로프로세서, 디지털 신호 처리기(DSP), 슬레이브 DSP를 제어하는 마이크로 프로세서, 또는 마이크로프로세서/DSP 복합 아키텍쳐를 구비한 프로세서일 수 있다. 본 애플리케이션을 위한 목적으로, 상기 프로세서(110)는 본 명세서에 있어 이후부터 DSP(110)로 인용될 것이다.
상기 DSP(110)는 인코딩된 영상 신호에 대하여 다양한 연산, 예컨대 아날로그-디지털 변환, 복조, 필터링, 데이터 복원, 디코딩을 포함한 연산을 수행할 수 있다. 상기 DSP(110)는 다양한 디지털 영상 압축 표준, 예를 들어 MPEG 계열의 표준 및 H.263 표준 가운데 하나에 의하여 압축된 디지털 영상 신호를 디코딩할 수 있다. 그리고 나서, 디코딩된 상기 영상 신호는 디스플레이 드라이버(130)에 입력되어 디스플레이(125)상에 영상 이미지를 생성한다.
일반적으로 휴대용 장치는 한정된 전원을 구비하고 있다. 또한 영상 디코딩 연산은 계산 집약적이다. 따라서 이러한 장치에 사용하기 위한 프로세서는 상대적으로 높은 속도 및 저전력의 장치인 것이 유리하다.
상기 DSP(110)는 심층적으로 파이프라인(pipeline)된 적재(load)/저장(store) 아키텍쳐를 구비할 수 있다. 파이프라이닝을 채택함으로써, 상기 DSP의 성능이 비-파이프라인 DSP보다 상대적으로 확장될 수 있다. 제1의 명령어를 인출(fetch)하여, 상기 제1의 명령어를 실행한 다음에 제2의 명령어를 인출하는 대신에, 파이프라인 DSP(110)는 상기 제1의 명령어를 실행함과 동시에 상기 제2의 명령어를 인출함으로써 명령어 처리량을 향상시킨다. 더욱이, 파이프라인 DSP의 클록 사이클이 비-파이프라인 DSP보다 짧을 수 있으며, 비-파이프라인 DSP에서 상기 명령어는 동일한 클록 사이클에서 인출 및 실행되어야 한다.
이러한 DSP(110)는 비디오 캠코더, 원격회의, PC 비디오 카드, 및 고선명 텔레비전(HDTV: High-Definition Television) 등에 사용될 수 있다. 또한, 상기 DSP(110)는 이동전화에 사용되는 음성 처리, 음성 인식, 및 기타의 애플리케이션 등과 같은 디지털 신호 처리가 이용되는 기타의 기술과 함께 사용될 수 있다.
도 2에는 실시예에 따른 DSP(110)가 포함된 신호 처리 시스템(200)의 블록 다이어그램이 도시되어 있다. 하나 이상의 아날로그 신호가 외부 소스, 예컨대 안테나(105)로부터 신호 조절기(202)에 제공될 수 있다. 신호 조절기(202)는 상기 아날로그 신호에 대하여 소정의 전처리 기능을 수행할 수 있다. 전처리 기능의 예로서는 상기 몇몇의 아날로그 신호를 혼합하는 것과 필터링, 및 증폭하는 것 등을 포함할 수 있다. 아날로그-디지털 변환기(ADC)(204)는 신호 조절기(202)로부터 전처리된 상기 아날로그 신호를 수신하도록 연결되고, 전처리된 상기 아날로그 신호를 전술한 바와 같이 샘플로 구성된 디지털 신호로 변환한다. 상기 샘플은 신호 조절기(202)에 의하여 수신된 아날로그 신호의 성질에 따라 결정되는 샘플링 속도에 따라서 취득될 수 있다. 상기 DSP(110)는 ADC(204)의 출력에 연결되어 디지털 신호를 수신한다. 상기 DSP(110)는 수신된 상기 디지털 신호에 대하여 요구되는 신호 변환을 수행하여, 하나 이상의 디지털 출력 신호를 생성할 수 있다. 디지털-아날로그 변환기(DAC)(206)는 상기 DSP(110)로부터 상기 디지털 출력 신호를 수신하도록 연결된다. 상기 DAC(206)는 디지털 출력 신호를 아날로그 출력 신호로 변환한다. 그리고 나서, 상기 아날로그 출력 신호는 또 다른 신호 조절기(208)로 전달된다. 상기 신호 조절기(208)는 상기 아날로그 출력 신호에 대하여 후처리 기능을 수행한다. 후처리 기능의 예는 앞서 제시한 전처리 기능과 유사하다. 상기 신호 조절기(202, 208), ADC(204), 및 DAC(206)의 다양한 대안이 공지되어 있음을 언급하는 바이다. 적절히 배치된 상기 장치들이 DSP(110)를 포함하는 신호 처리 시스템(200)에 연결될 수 있다.
다음 도 3으로 넘어가면, 또 다른 실시예에 의한 신호 처리 시스템(300)이 도시되어 있다. 본 실시예에서, 디지털 수신기(302)는 하나 이상의 디지털 신호를 수신하고, 수신된 디지털 신호를 DSP(110)에 전달하도록 배치된다. 도 2에 도시된 실시예와 마찬가지로, DSP(110)는 수신된 상기 디지털 신호에 대하여 요구되는 신호 변환을 수행하여, 하나 이상의 디지털 출력 신호를 생성한다. 디지털 신호 송신기(304)는 상기 디지털 출력 신호를 수신하도록 연결된다. 하나의 예시적인 애플리케이션에 있어서, 상기 신호 처리 시스템(300)은 디지털 오디오 장치이며, 상기 디지털 오디오 장치에서 상기 디지털 수신기(302)는 디지털 저장 장치(120)에 저장된 데이터를 나타내는 디지털 신호를 DSP(110)로 전달한다. 그리고 나서, 상기 DSP(110)는 상기 디지털 신호를 처리하여 그 결과인 디지털 출력 신호를 디지털 송신기(304)로 전달한다. 그리고 나서 상기 디지털 송신기(304)는 상기 디지털 출력 신호의 값을 디스플레이 드라이버(130)에 전송하여, 디스플레이(125)에 영상 이미지를 생성하도록 한다.
도 4에 도시된 파이프라인은 8단계를 포함하며, 상기 8단계는 명령어 인출(402-403), 디코딩(404), 주소(address) 계산(405), 실행(406-408), 및 후기록(wrte-back)(409) 단계를 포함한다. 명령어 i가 한 클록 사이클에 인출된 다음, 신규 명령어, 예컨대 i+1과 i+2의 인출과 동시에 다음 사이클에서 파이프라인으로 연산되고 실행된다.
파이프라이닝(pipelining)은 추가적인 조정(coordination)의 문제 및 프로세서 성능에 대한 위험을 불러 일으킨다. 프로그램 흐름에서의 점프는 파이프라인 내에 빈 슬롯들, 즉 "버블(bubbles)"을 생성시킬 수 있다. 조건부 분기(branch)가 취해지거나 예외(exception) 또는 인터럽트가 생성되도록 하는 상황은 명령어의 순차적 흐름을 변경시킬 수 있다. 상기 상황의 발생 이후에는, 순차적 프로그램 흐름에서 벗어나 신규 명령어가 인출될 수 있으며, 이는 파이프라인에 있는 잔존 명령어들을 무의미하게 한다. 이러한 복잡성을 처리하기 위하여 데이터 포워딩(forwarding), 분기(branch) 예측, 및 파이프라인에서 명령어 주소와 유효 비트의 연결 등의 방법이 채택된다.
도 5는 본 발명의 일 실시예에 의한 다중 소스 디코더 공급 시스템(500)의 블록 다이어그램이다. 상기 디코더 공급 시스템(500)은 복수의 소스들(sources), 예를 들어 명령어 레지스터(507)를 구비한 명령어 캐시(ICache)/정렬(alignment) 유닛(505), 루프(loop) 버퍼(510), 에뮬레이션 명령어 레지스터(515), 및 기타의 소스(520)와 64비트 멀티플렉서(MUX)(525), 2비트 멀티플렉서(MUX)(530), 그리고 디코더(535) 등을 포함할 수 있다. 상기 디코더 공급 시스템(500)은 데이터를 명령어 레지스터(507)에 전송해야 할 필요 없이 상기 복수의 소스들 중 하나로부터 상기 디코더(535)에 직접 공급되는 것을 허용한다. 특정의 상기 실시예에서는 데이터가 명령어 레지스터(507)에 전송되어야 할 필요가 없으므로, 명령어 지연(latency)이 감소되고 상기 DSP(110)의 성능이 향상될 수 있다. 더욱이 상기 복수의 소스들이 폭(width) 비트를 포함하여 동일한 포맷을 갖는 명령어들을 제공할 수도 있다. 복수의 소스들이 유사하게 포맷된 명령어를 제공하도록 보장함으로써 상기 디코더(535)의 설계가 간소화되어 사이클 타임이 개선된다.
상기 명령어 캐시/정렬 유닛(505), 루프 버퍼(510), 에뮬레이션 명령어 레지스터(515), 또는 기타의 다른 소스(520) 등이 상기 64비트 MUX(525) 및 2비트 MUX(530) 모두에 연결될 수 있다. 상기 각 소스가 다수의 크기를 갖는 명령어, 예를 들어 16비트, 32비트, 또는 64비트 등의 명령어들을 제공할 수 있다. 상기 명령어들은 64비트 MUX(525)에 제공된다. 물론, 다른 크기의 명령어를 취급할 수 있는 다른 크기의 MUX가 본 발명의 사상을 벗어나지 않으면서 사용될 수도 있다. 상기 각 소스는 또한 2비트 MUX(530)에 신호를 제공하는데, 상기 신호는 64비트 MUX(525)에 제공되는 명령어의 폭(width)을 표시한다. 2비트 신호에 있어서, 2비트 폭 신호에 대한 4개의 가능한 값이 존재한다. 예컨대, 폭 비트 00은 명령어가 유효하지 않음을 나타내고, 폭 비트 01은 16비트 명령어임을 나타내고, 폭 비트 10은 32비트 명령어임을 나타내며, 폭 비트 11은 64비트 명령어임을 나타낸다. 특정의 명령어 소스가 일단 선택되면, 64비트 MUX(525)로부터의 명령어와 2비트 MUX(530)로부터의 폭 비트 모두가 상기 소스에서 상기 디코더(535)로 처리용으로 전송될 수 있다.
비록 두 개의 멀티플렉서(525, 530)가 제시되어 있으나, 또 다른 수량의 멀티플렉서를 사용하여 추가적인 정보를 선택할 수 있음이 이해될 수 있다. 예컨대, 추가적 멀티플렉서는 상기 각 소스(505-520)로부터 사전-디코드 정보를 수신하여 적절한 사전-디코드 정보를 디코더에 전송할 수 있다.
디코더(535)에 명령어를 제공하기 위한 프로세스(600)가 도 6에 도시되어 있다. 상기 프로세스(600)는 시작 블록(605)에서 출발한다. 블록 610으로 진행하여, 하나 이상의 소스가 명령어 및 이에 대응하는 폭 비트를 MUX(525, 530)에 제공한다. 전술한 바와 같이, 상기 명령어들은 16비트, 32비트, 64비트를 포함하여 다양한 크기일 수 있다. 명령어는 단지 하나의 소스로부터 제공될 수도 있지만, 명령어 및 이에 대응하는 폭 비트는 둘 이상의 소스로부터도 제공될 수 있다.
블록 615로 진행하여, 상기 명령어를 제공하는 소스가 선택된다. DSP(110)는 다음 명령어가 명령어 캐시/정렬 유닛(505), 루프 버퍼(510), 에뮬레이션 명령어 레지스터(515), 또는 다른 소스(520)에 의해서 제공되는지 결정할 수 있다. 상기 DSP(110)가 디코더(535)에 전송할 명령어를 결정한 이후, MUX(525, 530)는 적합한 명령어 및 폭 비트를 디코더(535)에 제공한다.
블록 620으로 진행하여, 상기 선택된 명령어 및 폭 비트가 명령어 레지스터(507)에 저장되지 않고 직접 디코더(535)로 전송된다. 명령어를 디코더(535)에 직접 전송함으로써 명령어 대기가 감소하고 성능이 증가될 수 있다. 그리고 나서 상기 디코더(535)는 상기 명령어를 실행할 수 있다. 그리하여 프로세스는 종료 블록(630)에서 종료된다.
본 발명의 상기 멀티플렉서(525, 530)는 선택된 명령어 소스(505-520)에 기초하여 디코더(535)에 적절한 정보를 제공한다. 그러나, 복수의 소스(505-520)가 선택된다면, 상기 멀티플렉서(525, 530)는 디코더(535)로의 정보 분배를 제어하는 우선 순위 로직을 포함할 수 있다. 예컨대, 상기 멀티플렉서(525, 530)는 에뮬레이션 명령어 레지스터(515)로부터의 정보가 가장 높은 우선순위를 갖는 반면에, 명령어 캐시/정렬 유닛(505)으로부터의 정보는 루프 버퍼(510)로부터의 정보에 앞서서 처리되도록 선언하는 우선 순위 로직을 포함한다. 상기 우선 순위 스케줄은 미리 결정되거나 프로세싱 동안에 업데이트될 수 있다.
본 발명에 대한 수많은 변동 및 변형이 당업자에게는 즉각적으로 명백하여 질 것이다. 따라서, 본 발명의 사상 또는 중심적 특징에서 벗어나지 않으면서 기타의 구체적 형태로 본 발명이 구현될 수 있다.

Claims (29)

  1. 프로세서 내의 디코더에 명령어들을 제공하는 방법에 있어서,
    복수의 명령어 소스들 중 하나로부터 선택된 명령어를 제1 멀티플렉서에서 수집하는 단계와,
    상기 복수의 명령어 소스들 중 상기 하나로부터 상기 선택된 명령어의 크기를 나타내는 폭(width) 신호를 제2 멀티플렉스에서 수집하는 단계와,
    상기 선택된 명령어 및 상기 폭 신호를 상기 디코더에 제공하는 단계를 포함하는, 명령어 제공 방법.
  2. 제1항에 있어서, 상기 복수의 명령어 소스들로부터 복수의 명령어들을 수집하는 단계를 더 포함하는 명령어 제공 방법.
  3. 제2항에 있어서, 상기 복수의 명령어 소스들로부터 상기 복수의 명령어들의 크기에 대응하는 복수의 폭 비트들을 수집하는 단계를 더 포함하는 명령어 제공 방법.
  4. 제1항에 있어서, 상기 선택된 명령어의 크기에 대응하는 폭(width) 비트들을 상기 디코더에 전송하는 단계를 더 포함하는 명령어 제공 방법.
  5. 삭제
  6. 제1항에 있어서, 상기 복수의 폭 비트들을 상기 제2 멀티플렉서에 수집하는 단계를 더 포함하는 명령어 제공 방법.
  7. 제1항에 있어서, 상기 선택된 명령어를 우선 순위 스케줄에 기초하여 결정하는 단계를 더 포함하는 명령어 제공 방법.
  8. 제1항에 있어서, 디지털 신호 처리기(DSP)에 상기 명령어들을 제공하는 단계를 더 포함하는 명령어 제공 방법.
  9. 프로세서 내부의 디코더에서 명령어들을 획득하는 방법에 있어서,
    제1 멀티플렉서에서 복수의 명령어 소스들로부터 복수의 명령어들을 수집하는 단계와;
    제2 멀티플렉서에서 상기 복수의 명령어들에 대응하는 복수의 폭 비트들을 수집하는 단계와;
    상기 복수의 명령어들 중에서 처리될 하나의 명령어를 결정하는 단계와;
    상기 복수의 명령어들 중에서 선택된 상기 하나의 명령어와 상기 대응하는 폭 비트를 상기 디코더에 전송하는 단계를 포함하는 명령어 획득 방법.
  10. 제9항에 있어서, 명령어 캐시(Icache)/정렬(Alignment) 장치로부터 명령어들을 수집하는 단계를 더 포함하는 명령어 획득 방법.
  11. 제9항에 있어서, 루프 버퍼로부터 명령어들을 수집하는 단계를 더 포함하는 명령어 획득 방법.
  12. 제9항에 있어서, 에뮬레이션 명령어 레지스터로부터 명령어들을 수집하는 단계를 더 포함하는 명령어 획득 방법.
  13. 제9항에 있어서, 디지털 신호 처리기(DSP)에서 명령어들을 획득하는 단계를 더 포함하는 명령어 획득 방법.
  14. 제9항에 있어서, 동일한 포맷을 갖는 상기 복수의 명령어들을 수집하는 단계를 더 포함하는 명령어 획득 방법.
  15. 제9항에 있어서, 처리될 상기 명령어를 우선 순위 스케줄에 기초하여 결정하는 단계를 더 포함하는 명령어 획득 방법.
  16. 복수의 명령어들을 제공하는 복수의 명령어 소스들과;
    상기 복수의 명령어 소스들로부터 상기 복수의 명령어들을 수신하는 제1 멀티플렉서로서, 상기 복수의 명령어들 중 하나로부터 실행될 제1 명령어를 선택하는, 상기 제1 멀티플렉서와;
    상기 제1 멀티플렉서로부터 상기 선택된 제1 명령어를 수신하는 디코더, 및
    상기 명령어들의 크기를 나타내는 복수의 신호들을 상기 명령어 소스들로부터 수신하는 제2 멀티플렉서로서, 상기 선택된 제 1 명령어에 대응하는 상기 복수의 신호들 중 하나를 상기 디코더에 제공하는, 상기 제2 멀티플렉서를 포함하는 프로세서.
  17. 제16항에 있어서, 상기 제2 멀티플렉서는 명령어들을 수신하지 않는 것인, 프로세서.
  18. 제16항에 있어서, 상기 복수의 명령어들의 각각은 동일한 포맷인 것인 프로세서.
  19. 제16항에 있어서, 상기 디코더는 상기 선택된 제1 명령어를 상기 멀티플렉서로부터 직접 수신하는 것인 프로세서.
  20. 제16항에 있어서, 상기 제1 멀티플렉서는 상기 복수의 명령어들로부터 실행되는 제1 명령어를 우선 순위 스케줄에 기초하여 선택하는 것인 프로세서.
  21. 제16항에 있어서, 상기 프로세서는 디지털 신호 처리기(DSP)인 것인 프로세서.
  22. 저장된 복수의 명령어들을 구비한 컴퓨터 판독가능한 저장 매체로서,
    상기 명령어들에 의해 프로세서는,
    복수의 명령어 소스들 중 하나로부터 선택된 명령어를 제1 멀티플렉서에서 수집하는 단계와;
    상기 복수의 명령어 소스들 중 상기 하나로부터 상기 선택된 명령어의 크기를 나타내는 폭 신호를 제2 멀티플렉서에서 수집하는 단계; 및
    상기 선택된 명령어 및 상기 폭 신호를 디코더에 제공하는 단계를 수행하는 것인, 컴퓨터 판독가능한 저장 매체.
  23. 제22항에 있어서, 상기 프로세서는 상기 제1 멀티플렉서에서 상기 복수의 명령어 소스들로부터 복수의 명령어들을 수집하는 것인 컴퓨터 판독가능한 저장 매체.
  24. 삭제
  25. 제23항에 있어서, 상기 명령어들의 크기에 대응하는 복수의 폭 비트들은 상기 제2 멀티플렉서에서 상기 복수의 명령어 소스들로부터 수집되는 것인 컴퓨터 판독가능한 저장 매체.
  26. 제1항에 있어서, 상기 제2 멀티플렉서는 명령어들을 수집하지 않는 것인, 명령어 제공 방법.
  27. 제9항에 있어서, 상기 제2 멀티플렉서는 명령어들을 수집하지 않는 것인, 명령어 획득 방법.
  28. 제16항에 있어서, 상기 제1 멀티플렉서는 상기 복수의 명령어 소스들의 각각에 결합되고, 상기 제2 멀티플렉서는 상기 복수의 명령어 소스들의 각각에 개별적으로 결합되고, 상기 제2 멀티플렉서는 상기 디코더와 병렬로 결합되는 것인, 프로세서.
  29. 제22항에 있어서, 상기 제2 멀티플렉서는 명령어들을 수집하지 않는 것인, 컴퓨터 판독가능한 저장 매체.
KR1020037004440A 2000-09-28 2001-09-25 명령어 디코드용 다중 소스 KR100688139B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US67090700A 2000-09-28 2000-09-28
US09/670,907 2000-09-28
PCT/US2001/030261 WO2002027482A2 (en) 2000-09-28 2001-09-25 Multiple sources for instruction decode

Publications (2)

Publication Number Publication Date
KR20030036844A KR20030036844A (ko) 2003-05-09
KR100688139B1 true KR100688139B1 (ko) 2007-03-02

Family

ID=24692374

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037004440A KR100688139B1 (ko) 2000-09-28 2001-09-25 명령어 디코드용 다중 소스

Country Status (5)

Country Link
JP (1) JP3704519B2 (ko)
KR (1) KR100688139B1 (ko)
CN (1) CN1261864C (ko)
TW (1) TWI237787B (ko)
WO (1) WO2002027482A2 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04293124A (ja) * 1991-03-20 1992-10-16 Hitachi Ltd データ処理プロセッサ
GB2263985B (en) * 1992-02-06 1995-06-14 Intel Corp Two stage window multiplexors for deriving variable length instructions from a stream of instructions
SG47981A1 (en) * 1994-03-01 1998-04-17 Intel Corp Pipeline process of instructions in a computer system

Also Published As

Publication number Publication date
KR20030036844A (ko) 2003-05-09
TWI237787B (en) 2005-08-11
JP3704519B2 (ja) 2005-10-12
WO2002027482A2 (en) 2002-04-04
JP2004510247A (ja) 2004-04-02
WO2002027482A3 (en) 2002-06-13
CN1261864C (zh) 2006-06-28
CN1466717A (zh) 2004-01-07

Similar Documents

Publication Publication Date Title
US7036000B2 (en) Valid bit generation and tracking in a pipelined processor
US7360059B2 (en) Variable width alignment engine for aligning instructions based on transition between buffers
US6789184B1 (en) Instruction address generation and tracking in a pipelined processor
US7155570B1 (en) FIFO write/LIFO read trace buffer with software and hardware loop compression
US6976151B1 (en) Decoding an instruction portion and forwarding part of the portion to a first destination, re-encoding a different part of the portion and forwarding to a second destination
KR100688139B1 (ko) 명령어 디코드용 다중 소스
US7366876B1 (en) Efficient emulation instruction dispatch based on instruction width
US7069420B1 (en) Decode and dispatch of multi-issue and multiple width instructions
KR100509006B1 (ko) 이벤트 벡터 테이블 오버라이드

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130201

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140205

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150120

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160119

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170213

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180212

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190207

Year of fee payment: 13