KR100861810B1 - 신호 처리 장치 및 신호 처리 결과 공급 방법 - Google Patents

신호 처리 장치 및 신호 처리 결과 공급 방법 Download PDF

Info

Publication number
KR100861810B1
KR100861810B1 KR1020027010279A KR20027010279A KR100861810B1 KR 100861810 B1 KR100861810 B1 KR 100861810B1 KR 1020027010279 A KR1020027010279 A KR 1020027010279A KR 20027010279 A KR20027010279 A KR 20027010279A KR 100861810 B1 KR100861810 B1 KR 100861810B1
Authority
KR
South Korea
Prior art keywords
register
result
address
signal processing
register file
Prior art date
Application number
KR1020027010279A
Other languages
English (en)
Other versions
KR20030007415A (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 KR20030007415A publication Critical patent/KR20030007415A/ko
Application granted granted Critical
Publication of KR100861810B1 publication Critical patent/KR100861810B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • 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/30098Register arrangements
    • 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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

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

Abstract

본 발명은 신호 처리 장치 및, 상이한 레지스터 파일내에 배열된 다수의 레지스터로 신호 처리 결과를 공급하는 방법에 관한 것으로, 여기에서 다수의 상이한 레지스터 파일들은 인스트럭션 워드내의 해당 표시에 근거하여 선택되고, 레지스터 어드레스는 선택 레지스터 파일로 공급된다. 이로써, 결과값은 단일 처리기 사이클내에 다중 레지스터로 브로드캐스트될 수 있는 반면, 상이한 레지스터 파일들간의 복사 동작(copy operation)은 제거된다. 따라서, 동일한 논리 레지스터 어드레스를 갖는 물리 레지스터가 상이한 레지스터 파일에 제공되므로, 중첩된 레지스터 어드레스 스페이스를 통해 브로드캐스팅이 구현된다.

Description

신호 처리 장치 및 신호 처리 결과 공급 방법{SIGNAL PROCESSING DEVICE AND METHOD FOR SUPPLYING A SIGNAL PROCESSING RESULT TO A PLURALITY OF REGISTERS}
본 발명은 청구항 제 1 항의 전제부에 정의된 것처럼 데이터 고정 인스트럭션 인코딩(data stationary instruction encoding)을 이용하는 큰 인스트럭션 워드(large instruction word)를 갖는 예컨대 디지털 신호 처리기와 같은 신호 처리 장치에 관한 것이다. 더 나아가, 본 발명은 청구항 제 8 항의 전제부에 정의된 것처럼 다수의 레지스터에게 신호 처리 결과를 제공하는 방법에 관한 것이다.
이동 무선 및 인터넷 애플리케이션은 근래 널리 보급되고 있다. 디지털 신호 처리기(DSP)는 이동국과 모뎀용으로 최적화되었다. 한편, 통신 네트워크의 단지 몇몇 성분만 언급하면, 기지국, 교환 센터, 인터넷 서비스 제공자를 위한 모뎀 서버 및, 원격 액세스 서버같은 기반구조 장치(infrastructural devices)에 대한 관심이 증가하고 있다. 증가하는 가입자 밀도에 대처하기 위해, 새로운 DSP가 개발되어야 하고, 이러한 DSP는 네트워크내의 증가된 다수의 접속을 관리할 수 있어서 제 3 세대 이동 전화 통신 애플리케이션(UMTS)과 요구 사항이 많은 오디오 애플리케이션(예컨대 압축된 오디오)에 대해 충분한 처리 자원을 제공할 수 있어야 한다.
고성능 DSP의 개발시, 처리 능력의 증가에 초점이 맞춰졌다. 이것은 고속의 처리기 클럭 레이트를 제공하거나, 혹은 다른 기능 유닛을 추가(예컨대 병렬화)함으로써 달성될 수 있다. 후자의 방법은, 프로그램 섹션내의 다수의 부분 태스크에 대한 병렬 처리를 근거로 하며, 소위 "매우 긴 인스트럭션 워드(VLIW;Very Long Instruction Word)"라고 불리우는 것을 이용하여 달성될 수 있다. VLIW 개념은 몇몇 기능 유닛들을 동일 칩 상에 집적함으로써 달성될 수 있고, 그렇게 함으로써 VLIW에 의해 제어되는 강력한 처리 머신(processing machine)이 만들어진다. 이러한 병렬 인스트럭션 워드는 개별 처리 유닛에 대한 개별 인스트럭션을 포함한다. 이 방법의 난제는 알고리즘을 이 구조상에서 병렬로 수행될 수 있는 병렬 태스크들로 분할하는 것이다. 이러한 병렬 태스크들은 각 유닛의 듀티 레이트(duty rate)가 일정해지도록 처리 타이밍(process timing)을 엄격히 고려하여 각각의 기능 유닛들로 분산된다. 이것은 소위 스케쥴링(scheduling)이라고 불리우는 것에 의해 달성되는데, 이 스케쥴링은 지능형 컴파일러(intelligent compiler)에 의해 수행될 수 있다.
기능 유닛의 처리로부터 획득된 결과들은 기능 유닛에 할당된 각각의 레지스터 파일(register files)에 기억될 수 있는데, 레지스터 파일은 논리 어드레스, 예컨대 결과 레지스터 인덱스(result register index)에 의해 어드레싱될 수 있는 다수의 물리 레지스터들로 이루어져 있다.
공지된 여러 가지 처리기들은 동일한 논리 레지스터 어드레스를 갖는 상이한 물리적 레지스터를 상이한 물리적 레지스터 파일에 이용한다. 이들은 단일 논리 레지스터 파일을 갖는 VLIW 처리기의 용이한 구현을 위해 이용된다. 사실상, 이것은 모든 변수가 각 물리적 레지스터 파일에서 하나의 레지스터에 기입됨을 의미한다. 그러므로, 단일 멀티포트 레지스터 파일의 타이밍 문제를 다루기 위해 브로드캐스팅 기능(broadcasting function)이 하드웨어로 구현될 수 있다.
다른 처리기 유형에서는, 분할형 레지스터 파일(partitioned register files)과 브로드캐스팅이 제안되었다. 이 경우, 브로드캐스팅 기능은 비용이 적게 드는데, 왜냐하면 이 아키텍처는 시간 고정 패러다임(time stationary paradigm)에 근거하고, 이 패러다임은 서로 다른 레지스터 파일 기입 포트가 서로 상이하거나 또는 같은 결과의 버스중 어느 하나를 선택할 수 있는 데이터 경로를 통해 결과를 검색할 수 있기 때문이다. 그러나, 이러한 기능은 데이터 고정 인스트럭션 인코딩에서는 불가능한데, 이것은 처리기 시퀀서에 의해 공급되는 데이터 경로 제어 정보를 버퍼하기 위해 복잡한 하드웨어를 요구하기 때문이다.
클러스터화된 VLIW 처리기(clustered VLIW processors)는 변수를 기억하기 위해 다중 레지스터 파일을 이용한다. 이 레지스터 파일들은 컴파일러 및/또는 어셈블리 언어 프로그래머에게 논리적으로 명백하다. 종종, 기능 유닛은 자신의 오퍼랜드를 판독하거나 혹은 이들 레지스터 파일들의 서브세트(subset)에 한해서 그 결과를 기입할 수 있다. 따라서, 특정 기능 유닛에 의해 요구되는 변수는 이 특정 기능 유닛에 의해 직접 액세스 가능하지 않은 레지스터 파일내에 위치할 수도 있다. 이런 경우, 변수의 사본(copy)이 액세스 가능 레지스터 파일에 기입되어야 한다. 이러한 복사 동작(copy operation)에 의해 발생되는 오버헤드(overhead)를 줄 이기 위해, 특정 기능 유닛으로부터 결과를 동일 사이클내에 다중 레지스터 파일로 기입하는 브로드캐스팅 기술이 몇몇 처리기에서 구현되었다. 레지스터 파일 기입 포트가 판독 동작을 위해 기능 유닛 출력 포트가 부착되는 다중 결과 버스중 하나를 선택할 수 있는 방식으로 처리기 데이터 경로가 편성되는 한, 브로드캐스팅 기능은 쉽게 구현될 수 있다. 그러나, 데이터 고정 처리기에서는, 데이터 경로 편성이 전술한 버퍼 요건 때문에 비용이 많이 든다. 대신에, 기능 유닛의 출력 포트는 기입 동작을 수행하기 위해 레지스터 파일 기입 포트가 부착되는 다중 결과 버스들중 하나를 선택해야만 한다. 따라서, 브로드캐스팅 기능의 제공은 바람직하지 않은 처리기 비용 증가를 초래한다.
그러므로, 본 발명의 목적은, 구현 비용을 저가로 유지할 수 있는 신호 처리 장치 및 브로드캐스팅 방법을 제공하는 것이다.
이 목적은 청구항 제 1 항에 정의된 신호 처리 장치에 의해 달성된다. 더욱이, 이 목적은 청구항 제 8 항에 정의된 것과 같은, 다수의 레지스터에 신호 처리 결과를 제공하는 방법에 의해 달성된다.
따라서, 상이한 레지스터 파일에 동일한 논리 레지스터 어드레스를 갖는 소수의 물리적 레지스터를 이용함으로써, 비용이 적게 드는 형태의 브로드캐스팅이 구현될 수 있다. 이 방식에서, 파일의 일부분의 논리 레지스터 어드레스 범위가 다른 파일의 것과 중첩되는 곳에 레지스터 파일이 배열된다. 레지스터 할당 수단이 적어도 두 개의 레지스터 파일을 선택하고, 이 선택 레지스터 파일에게 레지스터 어드레스를 공급한다는 사실 덕분에, 레지스터 파일들간의 복사 동작이 제거될 수 있다. 기능 유닛의 결과는 단일 처리기 사이클내에 상이한 레지스터 파일의 다중 레지스터로 브로드캐스팅될 수 있다. 사실상, 브로드캐스팅은 레지스터 어드레스 스페이스(register address spaces)를 중첩시킴으로써 구현된다.
바람직한 실시예에 따르면, 기능 유닛은 레지스터 할당 수단에 대해 해당 표시(corresponding indication)를 공급하도록 배열된다. 따라서, 레지스터 할당 수단은 수신된 표시에 응답하여 사전 정의된 레지스터 파일에 대해 스위칭 기능을 수행한다.
전술한 해당 표시는, 선택 레지스터 파일의 레지스터 어드레스에 결과가 기입될 것임을 나타내는 정보일 수도 있고, 혹은 선택 레지스터 파일내의 멀티캐스트 또는 브로드캐스트 레지스터(multicast or broadcast register)를 지칭하는 결과 레지스터 어드레스일 수도 있다. 그에 따라, 인스트럭션 워드는 브로드캐스팅 혹은 멀티캐스팅 기능을 나타내는 해당 제어 혹은 플래그 정보를 포함할 수도 있고, 혹은 선택 레지스터 파일내의 멀티캐스트 또는 브로드캐스트 레지스터를 나타내는 특정 결과 레지스터 어드레스를 포함할 수도 있다.
다른 바람직한 실시예에 따르면, 레지스터 할당 수단은 해당 표시에 응답하여 선택 레지스터 파일에 대해 결과와 레지스터 어드레스를 디멀티플렉싱하는 디멀티플렉싱 수단(demultiplexing means)을 포함할 수도 있다. 이 경우, 기능 유닛의 출력에 제각기의 디멀티플렉서를 추가함으로써, 비용이 적게 드는 브로드캐스팅 기능의 구현이 간단히 달성될 수 있다.
신호 처리 장치는 데이터 고정 인스트럭션 인코딩을 이용하는 분할형 레지스터 파일을 갖는 모든 유형의 VLIW 처리기일 수 있다. 더 나아가, 기능 유닛들은 하나의 기능 유닛에 하나의 레지스터 파일이 할당되는 다수의 기능 유닛을 포함하는 기능 유닛 클러스터(functional unit clusters)일 수도 있다.
이후에, 본 발명의 바람직한 실시예는 아래의 첨부도면을 참조하여 설명된다.
도 1은 본 발명의 바람직한 실시예에 따른 브로드캐스팅 원리의 기본적인 블록도를 도시한다.
도 2는 본 발명의 바람직한 실시예에 따른 신호 처리 장치의 일반적인 구현의 기본적인 블록도를 도시한다.
도 3은 두 개의 기능 유닛 클러스터와 두 개의 레지스터 파일을 포함하는 바람직한 실시예의 특정한 구현을 도시한다.
도 4는 본 발명의 바람직한 실시예에 따른 브로드캐스팅 방법의 기본적인 흐름도를 도시한다.
이제, 데이터 고정 인스트럭션 인코딩을 이용하는 분할형 레지스터 파일을 갖는 데이터 고정 VLIW 처리기의 데이터 경로를 기초로 하여 바람직한 실시예가 설명될 것이다.
도 1은 본 발명의 바람직한 실시예에 따른 브로드캐스팅 원리의 기본 블록도를 도시한다. 도 1에 따르면, 각각의 기능 유닛의 인스트럭션 워드로부터 도출되는 논리 레지스터 어드레스와 기능 유닛으로부터 획득된 결과 데이터가 레지스터 파일 할당 유닛 RA로 공급되고, 이 레지스터 파일 할당 유닛 RA는 상기 결과 데이터 및 논리 레지스터 어드레스 또는 논리 레지스터 어드레스로부터 도출되는 레지스터 어드레스를 레지스터 파일 RF1 내지 RFn중 특정한 하나 혹은 다수로 공급하도록 배열되어 있다. 레지스터 파일 할당 유닛 RA의 선택 혹은 스위칭 동작은 논리 레지스터 어드레스에 응답하여 수행되거나, 또는 논리 레지스터 어드레스나 그에 해당하는 인스트럭션 워드로부터 도출된 제어 정보에 응답하여 수행된다. 따라서, 레지스터 파일 할당 유닛 RA은 결과 데이터와 논리 레지스터 어드레스의 원하는 분산을 달성하도록 디멀티플렉서나, 제어 가능형 스위칭 기능 혹은 다른 논리 회로로 구현될 수 있다.
도 2는 n개의 레지스터 파일 RF1 내지 RFn과, n개의 기능 유닛 클러스터 UC1 내지 UCn의 경우에, 본 발명에 따라 브로드캐스팅 혹은 멀티캐스팅 기능을 달성하는데 필요한 일반적인 성분들의 원리 블록도를 도시한다. 도 2에 따르면, 폭 i를 갖고 결과 인덱스 RI를 포함하는 인스트럭션 워드가 기능 유닛 클러스터 UC1 내지 UCn에 공급된다. 전술했듯이, 인스트럭션 워드는 레지스터 파일 RF1 내지 RFn으로부터 획득된 각 변수에 근거하여 기능 유닛 클러스터 UC1 내지 UCn의 각각에 의해 병렬로 수행되는 부분 태스크(partial task)를 위한 각 인스트럭션을 포함한다. 기능 유닛 클러스터 UC1 내지 UCn으로부터 획득된 결과 데이터 D1 내지 Dn은, 인스트럭션 워드에 포함되거나 그로부터 도출되는 결과 인덱스 RI로부터 도출된 각각의 결과 인덱스 RI1 내지 RIn과 함께 레지스터 파일 할당 유닛 RA로 공급된다. 레지스터 파일 할당 유닛은 입력값 D1 내지 Dn과 RI1 내지 RIn을 각각의 출력값 RDRF1 내지 RDRFn과 RRIRF1 내지 RRIRFn으로 각각의 분할형 레지스터 파일 RF1내지 RFn에 공급하도록 배열된다. 레지스터 파일 할당 유닛 RA의 선택 혹은 스위칭 기능은 레지스터 파일 할당 유닛 RA에 제어 정보로서 제공된 레지스터 인덱스 RI 내지 RIn에 응답하여 수행된다.
그러므로, 결과 데이터 D1 내지 Dn과 레지스터 인덱스 RI1 내지 RIn중 어떤 것이라도 분할형 레지스터 파일 RF1 내지 RFn중 어떤 것 혹은 일부로 분산될 수 있고, 이로써 브로드캐스팅 혹은 멀티캐스팅 기능이 달성된다. 도 2에 도시된 신호 처리 장치는, 기능 유닛 클러스터 UC1 내지 UCn이 레지스터 파일 RF1 내지 RFn중 임의의 것을 액세스할 수 있도록 배열될 수도 있음을 유의하자.
도 3은 두 개의 분할형 레지스터 파일 RF1 및 RF2를 갖는 두 개의 기능 유닛 클러스터 UC1 및 UC2에 대한 바람직한 실시예의 구현을 도시하며, 여기에서 레지스터 파일 할당 기능은 세 개의 디멀티플렉서 DM1 내지 DM3에 의해 달성된다. 도 3에 따르면, 레지스터 파일 RF1 및 RF2에 대한 변수의 브로드캐스팅은 기능 유닛 클러스터 UC1 및 UC2의 출력에 디멀티플렉서를 이용함으로써 간단히 달성되는데, 이 들은 결과를 그들 출력중 다수로 전달할 수 있다. 인스트럭션 워드에는, 단일 결과 레지스터 어드레스(결과 인덱스)가 변수에 대해 특정된다. 만약 광역 논리 레지스터 어드레스 맵에서 어드레스가 상이한 레지스터 파일내의 멀티캐스트 혹은 브로드캐스트 레지스터를 가리키면, 각 디멀티플렉서의 해당하는 다중 출력이 해당하는 논리 OR 게이트를 통해 이들 레지스터의 결과 버스에 연결된다. 다음, 결과 버스들은 변수를 자신의 정확한 목적지로 운반할 것이다. 변수 혹은 결과 데이터와 함께, 결과 레지스터 인덱스 RRI가 결과 버스를 통해 각각의 레지스터 파일 RF1 및/또는 RF2로 공급되며, 여기에서 이 인덱스는 결과 데이터가 기입되어야 하는 바람직한 물리 레지스터를 어드레싱하는데 이용된다.
도 3에 도시된 경우, 제 1 기능 유닛 클러스터 UC1은 제 1 레지스터 파일 RF1로부터 두 개의 변수를 수신하여, 제 1 디멀티플렉서 DM1로 하나의 결과를 공급하도록 배열된다. 제 2 기능 유닛 클러스터 UC2는 제 2 레지스터 파일 RF2로부터 세 개의 변수를 수신하여, 디멀티플렉서 DM2와 DM3에게 두 개의 결과를 출력하도록 배열된다. 기능 유닛 각각은 레지스터 부분을 포함하는데, 여기에서 결과 인덱스 RI가 처리되고, 디멀티플렉싱 기능을 달성하도록 디멀티플렉서 DM1 내지 DM3의 각각의 입력 및 제어 단자로 공급된다. 결과 인덱스 RI가 결과 레지스터 인덱스 RRI와 동일할 수도 있음을 유의하자. 선택적으로, 결과 인덱스 RI는 브로드캐스팅 기능과 원하는 레지스터 파일을 가리키는 추가 정보에 의해 결과 레지스터 인덱스 RRI와 다를 수도 있다.
도 4는 본 발명의 바람직한 실시예에서 수행되는 브로드캐스팅 혹은 멀티캐스팅 기능의 기본적인 흐름도를 도시한다. 단계(S100)에서, 각각의 기능 유닛 클러스터에 공급된 인스트럭션 워드가 판독된다. 다음, 단계(S101)에서 레지스터 어드레스 또는 결과 인덱스가 인스트럭션 워드로부터 결정되거나 도출된다. 결정된 결과 인덱스 RI에 근거하여, 물리 레지스터 파일 RF1 내지 RFn이 레지스터 파일 할당 기능에 의해 선택된다(단계(S102)). 마지막으로, 선택된 물리 레지스터를 가리키는 결과 데이터와 레지스터 어드레스 RRI가 선택된 물리 레지스터 파일로 공급된다(단계(S103)). 이로써, 결과 데이터는 레지스터 파일 RF1 내지 RFn중 서로 다른 레지스터 파일의 다수의 물리 레지스터에서 이용 가능하게 되어, 결과들이 기능 유닛 클로스터 UC1 내지 UCn의 각각에 대해 즉시 이용 가능해진다.
본 발명은 데이터 고정 인스트럭션 인코딩을 이용하는 분할형 레지스터 파일을 갖는 모든 유형의 VLIW 처리기에서 이용 가능함을 유의하자.
본 발명에 따르면, 상이한 레지스터 파일 RF1 내지 RFn내에 동일한 논리 레지스터 어드레스를 갖는 소수의 물리 레지스터를 이용함으로써, 비용이 적게 드는 형태의 브로드캐스팅이 구현될 수 있다. 이 방식에서, 레지스터 파일들은 어드레스 범위가 중첩될 수 있다. 만약 레지스터 어드레스가 모든 레지스터 파일의 물리 레지스터를 지칭하면, 결과가 이 레지스터 어드레스에 기입되어야 한다는 것을 인스트럭션에 기술함으로써 간단히 브로드캐스팅이 구현될 수 있다. 이 때, 하드웨어(예를 들면, 레지스터 파일 할당 유닛 RA)는 동일한 어드레스를 담고 있는 모든 물리적 위치에 결과가 기입되는 것을 보장할 것이다. 선택적으로, 하나의 레지스터 어드레스가 모든 레지스터 파일 RF1 내지 RFn의 서브세트내의 물리 레지스터를 지칭하도록 하는 것도 가능하다. 이 방식에서는, 멀티캐스팅이 구현될 수 있다.
본 발명이 바람직한 실시예와 연계하여 설명되었더라도, 당업자에게는 전술한 설명의 견지에서 많은 추가의 대체안, 수정안 및 변형안들이 명백할 것임이 자명하다. 따라서, 본 발명은 첨부된 특허청구범위의 범주내에 있는 이러한 모든 대체안, 수정안 및 변형안들을 포함하는 것이다.

Claims (11)

  1. 인스트럭션 워드에 기초해 디지털 데이터를 처리하는 다수의 기능 유닛(UC1-UCn)과, 상기 기능 유닛의 각각으로부터 획득된 결과를 기억하는 다수의 레지스터 파일 (RF1-RFn)을 포함하되, 상기 기능 유닛은 상기 인스트럭션 워드로부터 도출되는 레지스터 어드레스(RRI)를 이용하여 상기 레지스터 파일의 사전 정의된 레지스터에 결과를 기입하도록 배열되어 있는 신호 처리 장치에 있어서,
    적어도 두 개의 레지스터 파일을 선택하기 위한 정보를 제공하는 상기 인스트럭션 워드 내의 해당 표시(corresponding indication)에 기초하여, 상기 적어도 두 개의 레지스터 파일(RF1-RFn)을 선택하고, 상기 선택 레지스터 파일에 상기 레지스터 어드레스를 공급하는 레지스터 할당 수단(register allocation means)(RA)을 포함하는 것을 특징으로 하는 신호 처리 장치.
  2. 제 1 항에 있어서,
    상기 기능 유닛(UC1-UCn)은 상기 해당 표시를 상기 레지스터 할당 수단(RA)으로 공급하도록 배열되는 것을 특징으로 하는 신호 처리 장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 신호 처리 장치는 프로그램 가능 VLIW 처리기이고, 상기 레지스터 파일은 분할형 레지스터 파일(partitioned register files)이며, 데이터 고정 인스트럭션 인코딩(data stationary instruction encoding)이 이용되는 것을 특징으로 하는 신호 처리 장치.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 해당 표시는, 상기 결과가 상기 선택 레지스터 파일의 상기 레지스터어드레스에 기입될 것임을 나타내는 정보인 것을 특징으로 하는 신호 처리 장치.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 해당 표시는, 상기 선택 레지스터 파일내의 멀티캐스트 혹은 브로드캐스트 레지스터(multicast or broadcast register)를 가리키는 결과 인덱스(RI)인 것을 특징으로 하는 신호 처리 장치.
  6. 제 1 항 또는 제 2 항에 있어서,
    상기 레지스터 할당 수단은, 상기 해당 표시에 응답하여 상기 결과와 상기 레지스터 어드레스(RRI)를 상기 선택 레지스터 파일에 대해 디멀티플렉싱하는 디멀티플렉싱 수단(demultiplexing means)(DM1-DM3)을 포함하는 것을 특징으로 하는 신호 처리 장치.
  7. 제 1 항 또는 제 2 항에 있어서,
    상기 기능 유닛은 기능 유닛 클러스터(functional unit clusters)(UC1-UCn)인 것을 특징으로 하는 신호 처리 장치.
  8. 신호 처리 장치의 상이한 레지스터 파일(RA1-RAn)에 배열된 다수의 레지스터로 신호 처리 결과를 공급하는 방법에 있어서,
    인스트럭션 워드에 근거하여, 레지스터 어드레스(RRI)를 결정하는 단계와,
    상기 다수의 레지스터 파일로 상기 레지스터 어드레스를 공급하는 단계와,
    상기 인스트럭션 워드내의 해당 표시에 근거하여 상기 상이한 레지스터 파일을 선택하고, 상기 선택 레지스터 파일로 상기 레지스터 어드레스를 공급하는 단계를 포함하는 신호 처리 결과 공급 방법.
  9. 제 8 항에 있어서,
    상기 해당 표시는, 상기 결과가 상기 선택 레지스터 파일의 상기 레지스터어드레스에 기입될 것임을 기술하는 정보인 것을 특징으로 하는 신호 처리 결과 공급 방법.
  10. 제 8 항에 있어서,
    상기 해당 표시는, 상기 선택 레지스터 파일내의 멀티캐스트 혹은 브로드캐스트 레지스터(multicast or broadcast register)를 가리키는 결과 인덱스(RI)인 것을 특징으로 하는 신호 처리 결과 공급 방법.
  11. 제 8 항 내지 제 10 항중 어느 한 항에 있어서,
    상기 선택 단계는, 상기 해당 표시에 응답하여 상기 결과와 상기 레지스터 어드레스를 상기 선택 레지스터 파일에 대해 디멀티플렉싱(demultiplexing)하는 디멀티플렉싱 단계를 포함하는 것을 특징으로 하는 신호 처리 결과 공급 방법.
KR1020027010279A 2000-12-11 2001-11-23 신호 처리 장치 및 신호 처리 결과 공급 방법 KR100861810B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP00204430 2000-12-11
EP00204430.3 2000-12-11
PCT/EP2001/013734 WO2002048871A1 (en) 2000-12-11 2001-11-23 Signal processing device and method for supplying a signal processing result to a plurality of registers

Publications (2)

Publication Number Publication Date
KR20030007415A KR20030007415A (ko) 2003-01-23
KR100861810B1 true KR100861810B1 (ko) 2008-10-07

Family

ID=8172408

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027010279A KR100861810B1 (ko) 2000-12-11 2001-11-23 신호 처리 장치 및 신호 처리 결과 공급 방법

Country Status (6)

Country Link
US (1) US7032102B2 (ko)
EP (1) EP1346282A1 (ko)
JP (1) JP3861054B2 (ko)
KR (1) KR100861810B1 (ko)
CN (1) CN1214321C (ko)
WO (1) WO2002048871A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0215028D0 (en) * 2002-06-28 2002-08-07 Critical Blue Ltd Microarchitecture description
CN1685310A (zh) * 2002-09-24 2005-10-19 皇家飞利浦电子股份有限公司 在一个超长指令字处理器中启动加载立即指令的处理的装置、方法和编译器
CN100342328C (zh) * 2002-11-20 2007-10-10 皇家飞利浦电子股份有限公司 带有复制寄存器文件的vliw处理器
EP1763748A1 (en) * 2004-05-27 2007-03-21 Koninklijke Philips Electronics N.V. Signal processing apparatus
DE602005019180D1 (de) * 2004-09-22 2010-03-18 Koninkl Philips Electronics Nv Datenverarbeitungsschaltung mit funktionseinheiten mit gemeinsamen leseports
US7315803B1 (en) * 2005-02-10 2008-01-01 Xilinx, Inc. Verification environment creation infrastructure for bus-based systems and modules
MX2007015156A (es) * 2005-06-01 2008-02-15 Maxygen Holdings Ltd Polipeptidos g-csf pegilados y metodos para la produccion de los mismos.
US7669041B2 (en) * 2006-10-06 2010-02-23 Stream Processors, Inc. Instruction-parallel processor with zero-performance-overhead operand copy
CN102156632A (zh) * 2011-04-06 2011-08-17 北京北大众志微系统科技有限责任公司 数据访问方法和装置
CN102231103B (zh) * 2011-06-10 2013-10-16 清华大学 一种交替访问寄存器的装置及其方法
CN106371805B (zh) * 2016-08-18 2018-07-17 中国科学院自动化研究所 处理器的动态调度互联寄存器及调度数据的方法
JP7172068B2 (ja) * 2018-03-12 2022-11-16 富士通株式会社 情報処理装置、演算処理装置及び情報処理装置の制御方法
CN114078332B (zh) * 2020-08-13 2023-05-05 比亚迪股份有限公司 广播控制方法和系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4980819A (en) * 1988-12-19 1990-12-25 Bull Hn Information Systems Inc. Mechanism for automatically updating multiple unit register file memories in successive cycles for a pipelined processing system
EP0676691A2 (en) 1994-04-06 1995-10-11 Hewlett-Packard Company Apparatus for register saving and restoring in a digital computer
US5530817A (en) * 1992-02-21 1996-06-25 Kabushiki Kaisha Toshiba Very large instruction word type computer for performing a data transfer between register files through a signal line path
EP0767425A2 (en) 1995-10-06 1997-04-09 Digital Equipment Corporation Register and instruction controller for superscalar processor
EP0588341B1 (en) 1992-09-18 1998-12-16 Toyota Jidosha Kabushiki Kaisha Data processor
WO2000033178A1 (en) * 1998-12-03 2000-06-08 Sun Microsystems, Inc. Local and global register partitioning in a vliw processor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4975836A (en) * 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
US5537606A (en) * 1995-01-31 1996-07-16 International Business Machines Corporation Scalar pipeline replication for parallel vector element processing
JPH1131137A (ja) * 1997-07-11 1999-02-02 Nec Corp レジスタファイル
US6205543B1 (en) * 1998-12-03 2001-03-20 Sun Microsystems, Inc. Efficient handling of a large register file for context switching
WO2001067234A2 (en) 2000-03-08 2001-09-13 Sun Microsystems, Inc. Vliw computer processing architecture having a scalable number of register files

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4980819A (en) * 1988-12-19 1990-12-25 Bull Hn Information Systems Inc. Mechanism for automatically updating multiple unit register file memories in successive cycles for a pipelined processing system
US5530817A (en) * 1992-02-21 1996-06-25 Kabushiki Kaisha Toshiba Very large instruction word type computer for performing a data transfer between register files through a signal line path
EP0588341B1 (en) 1992-09-18 1998-12-16 Toyota Jidosha Kabushiki Kaisha Data processor
EP0676691A2 (en) 1994-04-06 1995-10-11 Hewlett-Packard Company Apparatus for register saving and restoring in a digital computer
EP0767425A2 (en) 1995-10-06 1997-04-09 Digital Equipment Corporation Register and instruction controller for superscalar processor
WO2000033178A1 (en) * 1998-12-03 2000-06-08 Sun Microsystems, Inc. Local and global register partitioning in a vliw processor

Also Published As

Publication number Publication date
KR20030007415A (ko) 2003-01-23
CN1401101A (zh) 2003-03-05
CN1214321C (zh) 2005-08-10
JP3861054B2 (ja) 2006-12-20
WO2002048871A1 (en) 2002-06-20
US7032102B2 (en) 2006-04-18
US20020091911A1 (en) 2002-07-11
JP2004516544A (ja) 2004-06-03
EP1346282A1 (en) 2003-09-24

Similar Documents

Publication Publication Date Title
US6041399A (en) VLIW system with predicated instruction execution for individual instruction fields
KR100861810B1 (ko) 신호 처리 장치 및 신호 처리 결과 공급 방법
US6334175B1 (en) Switchable memory system and memory allocation method
JP4156794B2 (ja) iVLIWのPE間通信を用いた効率的な同期MIMD動作のための方法および装置
KR100290325B1 (ko) 긴명령워드를갖는처리기
US6948158B2 (en) Retargetable compiling system and method
Lanneer et al. CHESS: Retargetable code generation for embedded DSP processors
KR100284789B1 (ko) N-지로 분기를 갖는 슈퍼스칼라 또는 초장 명령어 워드컴퓨터에서 다음 명령어를 선택하는 방법 및 장치
US8069337B2 (en) Methods and apparatus for dynamic instruction controlled reconfigurable register file
US8112613B2 (en) Selecting broadcast SIMD instruction or cached MIMD instruction stored in local memory of one of plurality of processing elements for all elements in each unit
US6128724A (en) Computation using codes for controlling configurable computational circuit
EA004071B1 (ru) Управляющий программный продукт и система обработки данных
JP2012033176A (ja) サブワード実行を用いるvliwベースのアレイプロセッサで条件付き実行をサポートする方法及び装置
US20140317388A1 (en) Apparatus and method for supporting multi-modes of processor
US7315935B1 (en) Apparatus and method for port arbitration in a register file on the basis of functional unit issue slots
US20140040594A1 (en) Programmable device for software defined radio terminal
US20070094485A1 (en) Data processing system and method
CN102629238A (zh) 支持向量条件访存的方法和装置
US6883088B1 (en) Methods and apparatus for loading a very long instruction word memory
US20050055539A1 (en) Methods and apparatus for general deferred execution processors
Balfour Efficient embedded computing
US8677099B2 (en) Reconfigurable processor with predicate signal activated operation configuration memory and separate routing configuration memory
US20070288723A1 (en) Expanded functionality of processor operations within a fixed width instruction encoding
Lin et al. Utilizing custom registers in application-specific instruction set processors for register spills elimination
US20080162870A1 (en) Virtual Cluster Architecture And Method

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: 20120907

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130919

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140829

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150827

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee