KR19990076985A - 1개 이상의 처리 소자를 사용하는 신호 처리 장치 - Google Patents

1개 이상의 처리 소자를 사용하는 신호 처리 장치 Download PDF

Info

Publication number
KR19990076985A
KR19990076985A KR1019980705114A KR19980705114A KR19990076985A KR 19990076985 A KR19990076985 A KR 19990076985A KR 1019980705114 A KR1019980705114 A KR 1019980705114A KR 19980705114 A KR19980705114 A KR 19980705114A KR 19990076985 A KR19990076985 A KR 19990076985A
Authority
KR
South Korea
Prior art keywords
processing
data
token
processing element
communication connection
Prior art date
Application number
KR1019980705114A
Other languages
English (en)
Other versions
KR100500742B1 (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 KR19990076985A publication Critical patent/KR19990076985A/ko
Application granted granted Critical
Publication of KR100500742B1 publication Critical patent/KR100500742B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/82Architectures of general purpose stored program computers data or demand driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution paradigms, e.g. implementations of programming paradigms data driven

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)

Abstract

본 발명에 의한 분산 디지탈 신호 처리는 많은 처리 소자에 의해 실행된다. 신호 처리 처리는 데이터 흐름 원리에 따라 개개의 처리 소자에 대해 스케줄링된다. 이 때문에, 신호 표본의 흐름은 데이터 토큰으로 분할되고, 그들 각각은 여러 개의 표본을 포함한다. 처리는 이 처리를 수행하기 위해 존재하는 데이터 토큰의 검출에 대응하는 처리 소자에서 시작된다. 검출은 제어 장치에 의해 처리되고, 이 장치는 그에 대응하여 관련된 데이터 토큰을 처리하는 제1 처리 소자와 데이터 토큰에 존재하는 데이터 항목을 처리하는 제2 처리 소자간의 통신 접속을 할당한다. 따라서, 스케줄링은 통신 접속의 할당에 의해 이루어진다. 더욱이, 교착 문제를 피하기 위해, 처리의 실행 순서에 관해 제한이 가해진다.

Description

1개 이상의 처리 소자를 사용하는 신호 처리 장치
이러한 종류의 신호 처리 장치는 문헌[Bang W. Lee 등, IEEE 1994의 프로세싱에서, Custom Integrated Circuits Conference(CICC; San Diego, 1994년 5월), 1 6페이지: "Data Flow Processor for Multi-standard Video Codec".]에 공지되어 있다.
현재 IC 기술을 제공하는 처리 속도를 요하는 비디오 신호 처리는 많은 처리 소자에서 병렬 처리에 의해서만 달성될 수 있다. 종래의 병렬 처리 스케줄링은 데이터 항목 상에서 수행되는 여러 가지 병렬 처리가 제한되는 경우에 중심적으로 조정되는 프로그램 제어에 따른 제어 흐름 구조를 이용한다.
Bang W. Lee의 상기 문헌에서는 데이터 흐름 원리에 따른 병렬 처리를 스케줄링할 것을 제안한다. 데이터 흐름 원리에 따라, 데이터 토큰으로서 참조되고, 여러 가지 처리에 따라 처리되는 데이터 장치의 사용이 이루어진다. 각각의 데이터 토큰은 통상적인 데이터 항목을 포함할 뿐만 아니라, 데이터 항목 상에 수행될 처리가 그로부터 연역될 수 있는 처리 식별을 포함한다. 처리기는 처리될 데이터 토큰의 유용성에 대응하는 처리를 시작하고, 이 처리는 어떤 처리가 즉각적으로 시작되기에 앞서 중심적으로 조정되는 프로그램 제어 결정 없이 처리 식별에 기초하여 선택되는 것이다.
본 발명은
- 제1 처리를 실행하고, 연속적으로 데이터 항목을 발생하는 제1 처리 소자, 및
- 데이터 토큰의 수령에 대응하여 처리 식별의 제어 하에 제2 처리에 따라 복수개의 데이터 항목을 처리하는 제2 처리 소자를 포함하는,
제1 처리가 처리 식별에 의해 데이터 토큰 및 복수개의 데이터 아이템을 발생하는 데 반하여, 제2 처리가 제1 처리의 데이터 항목을 처리하는 처리들을 실행하기 위한 신호 처리 장치에 관한 것이다.
도 1은 신호 처리 장치를 나타내는 도면.
도 2는 데이터 흐름 그래프의 일 예를 나타내는 도면.
도 3은 처리 소자를 나타내는 도면.
도 4는 제어기를 위한 표를 나타내는 도면.
도 5는 제어기를 위한 흐름도를 나타내는 도면.
도 6은 데이터 흐름 그래프의 일 예를 나타내는 도면.
도 7은 스케줄링의 일 예를 나타내는 도면.
본 발명의 목적은 처리 효율이 추후로 증진되는 종류의 신호 처리 장치를 제공하는 것이다.
이를 달성하기 위해, 본 발명에 따른 신호 처리 장치는 제1 처리 소자가 데이터 토큰의 데이터 항목을 이미 발생하였는지 여부와 무관하게, 제2 처리 소자가 데이터 토큰의 수령의 시작에 대응하는 데이터 항목의 처리를 시작하도록 배열된 것을 특징으로 한다. 신호 처리 장치는 연속적인 처리들이 데이터 항목의 흐름 또는 그의 세그먼트 상에서 병렬로 수행되는 파이프라인으로서 작동한다. 데이터 토큰은 복수개의 데이터 항목을 포함하는 흐름의 일부를 나타내고, 이들 각각은 어떤 처리 동안, 예를 들면 시간-연속 또는 공간-연속 신호의 표본들을 원칙적으로 동일하게 처리한다. 따라서, 흐름의 복수개의 세그먼트는 교대로 처리 소자에 도달할 수 있고, 각각의 세그먼트는 길이가 제한되고, 흐름 세그먼트에 대한 처리의 시작은 처리 식별을 사용하여 전체 흐름 세그먼트에 대한 데이터 흐름 원리에 따라 일단 스케줄된다. 이러한 시도는 데이터 토큰을 처리하기 위한 처리가 분할할 수 없는 것으로서 더 이상 처리되지 않는 한 데이터 흐름 원리로부터 벗어난다.
제1 및 제2 처리 소자가 적어도 3개의 처리 소자들의 시스템의 일부를 형성하고, 시스템의 처리 소자들 간의 할당형 통신 접속을 포함하는 본 발명에 따른 신호 처리 장치의 실시예는 이 신호 처리 장치가 처리 소자들의 시스템 상의 처리들의 정보 관련 맵핑에 따라 제공되는 할당 제어기를 포함하고, 할당 제어기는 데이터 토큰에서 처리 식별에 관한 맵핑에 대한 정보의 제어하에 데이터 토큰의 생성의 시작에 대응하여, 통신 접속이 제2 처리 소자의 상기 입력 단자에 다른 데이터 토큰의 전송을 위해 할당된 경우, 제1 처리 소자로부터 제2 처리 소자의 입력 단자로의 데이터 토큰의 전송을 위해 통신 접속을 할당하는 것을 특징으로 한다. 할당 제어기는 이와 같이 스케줄링을 실제로 제공한다. 할당 제어기가 제2 처리 소자로의 처리 식별에 따라 데이터 토큰을 수행하는 경우, 제2 처리 소자는 그에 대응하는 제2 처리를 실행하기 시작할 것이다.
본 발명에 따른 신호 처리 장치의 다른 실시예는 제1 처리 소자가 처리 장치 및 이 처리 장치와 통신 접속간에 출력 FIFO(선입 선출)를 구비하며, 상기 처리 장치는 제1 처리를 실행하고, 데이터 항목을 발생하고, 출력 FIFO에 이들 항목을 연속적으로 기입하고, 데이터 항목은 할당 제어기가 데이터 토큰의 전송을 위해 통신 접속을 할당한 경우 통신 접속을 통해 전송을 위한 출력 FIFO로부터 연속적으로 판독되는 것을 특징으로 한다. 제1 처리 소자는 할당 제어기가 데이터 토큰의 전송을 위해 통신 접속을 아직 할당하지 않은 경우조차, 예를 들면 제2 처리 소자가 이전의 데이터 토큰의 처리에 아직 참여하지 않거나 또는 제2 처리에서 제2 데이터 토큰과 조합하여 처리될 추가의 데이터 토큰의 발생이 아직 시작되지 않았기 때문에, 데이터 항목의 발생을 계속할 수 있다.
본 발명에 따른 신호 처리 장치의 다른 실시예는 제2 처리 소자가 처리 장치 및 이 처리 장치와 처리 소자의 입력 단자간에 입력 FIFO를 구비하고, 데이터 항목은 제1 처리 소자로부터 통신 접속을 통해 입력 FIFO로 연속적으로 기입하고, 처리 장치는 제2 처리에 따라 처리하기 위해 FIFO로부터 데이터 항목을 연속적으로 판독하고, 할당 제어기는 선행 데이터 토큰의 최종 데이터 항목이 입력 FIFO에 기입된 것의 검출에 반응하여 데이터 토큰의 전송을 위해 제2 처리 소자에 통신 접속을 할당하도록 배열된 것을 특징으로 한다. 이와 같이, 처리 장치는 데이터 토큰들의 도착 순서대로 데이터 토큰들을 처리하고, 따라서 데이터 흐름 처리를 위해 특별히 설계될 필요가 없다. 따라서, 데이터 토큰의 전송은 이전의 데이터 토큰이 완전히 처리되기 전에 이미 시작될 수 있다.
데이터 흐름 원리에 따른 처리는 교착의 위험을 포함한다. 교착은 예를 들면 임의의 처리에 대한 모든 입력 단자로 유용한 데이터 토큰없이 상이한 처리들을 위해 발생된 과도한 수의 데이터 토큰으로 인해 처리가 종료될 때 발생한다. 이는 기능-특이적 처리 소자를 포함하는 신호 처리 장치에서 현저한 문제이고, 이들 소자 각각은 특정 기능(DCT, 필터링 등)을 갖는 처리들의 실행을 위해 매우 효율적으로 구축되지만, 다른 처리들은 실행할 수 없다. 결과적으로, 교착은 처리 소자들로의 처리들의 할당을 위한 선택을 변화시킴으로써 방지될 수 있다.
복수개의 처리들의 동일한 처리 소자들로의 할당으로 인해 발생하는 다른 문제점은 "궁핍(starvation)"이라 칭한다. 궁핍에 의한 영향을 받는 처리는 처리 소자에 도달한 다른 처리들의 데이터 토큰이 관련 처리의 그것보다 훨씬 우세하기 때문에 거의 실행되지 않을 것이다.
본 발명에 따른 신호 처리 장치의 일 실시예는
- 프로그램 가능하게 선택된 많은 처리들의 처리 시퀀스를 프로그램하기 위한 시퀀스 프로그래밍 수단;
- 처리들이 시퀀스 프로그래밍 수단에서 프로그램된 처리들의 처리 시퀀스에 따라 통신 접속을 통해 데이터 토큰을 전송하는 전송 시퀀스에 관하여 제한을 가하는 시퀀싱 수단을 포함하는 것을 특징으로 한다. 따라서, 신호 처리 장치의 프로그래밍 동안, 프로그래머 또는 컴파일러는 예를 들면 하나에 할당된 상이한 처리를 위한 입력을 공급하는 처리들 및 동일한 처리 소자들이 교대로 시작되는 것을 특정함으로써 교착 및 궁핍을 방지하기 위한 조처를 취할 수 있다.
본 발명에 따른 신호 처리 장치의 다른 실시예는 제2 처리가 처리 시퀀스에 따라 아직 만기되지 않은 한 데이터 토큰의 전송을 위해 접속의 할당을 봉쇄하기 위해 할당 제어기에 시퀀스 프로그래밍 수단이 결합된 것을 특징으로 한다. 어떠한 방식으로든지 이미 필요한 통신 분배는 시퀀스에 대해 제한을 가하기 위해 사용된다.
본 발명에 따른 신호 처리 장치의 또 다른 실시예에서 제2 처리 소자는 추가의 입력 단자를 갖고, 제2 처리는 제3 처리와 함께 제2 처리 소자 상에 맵핑되고, 제2 처리는 입력 단자 및 추가의 입력 단자를 통해 각각 제1 처리 및 제4 처리으로부터 데이터를 수신하고, 제2 처리는 입력 단자 및 추가의 입력 단자를 통해 각각 제5 처리 및 제6 처리으로부터 데이터를 수신하고, 시퀀스 프로그래밍 수단은 제1 처리 및 제5 처리의 데이터 토큰이 통신 접속을 통해 제1 처리 및 제2 처리에 각각 전송되는 시퀀스가 제4 처리 및 제6 처리의 데이터가 통신 접속을 통해 제1 처리 및 제2 처리에 각각 전송되는 시퀀스에 대응하도록 프로그램된 것을 특징으로 한다. 따라서, 처리 소자들이 입력 단자들 중의 하나에 대해 상이한 데이터 토큰을 발생하고, 그에 따라 다른 입력 단자에 대해 임의의 연관된 데이터 토큰의 발생을 시작하지 않는 경우에 발생하는 교착 상황이 방지될 수 있다.
본 발명에 따른 신호 처리 장치의 또 다른 실시예는 제2 처리 소자가 추가의 데이터 토큰을 수신하기 위해 통신 접속 단자에 접속된 추가의 입력 단자를 갖고, 제2 처리가 데이터 토큰 및 조합된 추가의 데이터 토큰으로부터 데이터 항목을 처리하고, 할당 제어기가 데이터 토큰의 발생의 시작뿐만 아니라 다른 데이터 토큰의 발생의 시작이 이 할당 제어기에 의해 검출된 경우에만 데이터 토큰의 전송을 위한 통신 접속을 할당하는 것을 특징으로 한다. 따라서, 할당 제어기는 소위 데이터 토큰의 매칭을 제공하고, 이는 쌍을 이루는 방식으로 제2 처리 소자에 도달한 데이터 토큰들이 동일한 제2 처리를 위해 의도됨을 의미한다. 따라서, 제2 처리 소자는 추가의 매칭없이 유입되는 데이터 토큰을 처리할 수 있다.
본 발명에 따른 신호 처리 장치의 이들 장점 및 다른 유리한 특징들을 도면을 참조하여 이하 보다 상세히 기재할 것이다.
도 1은 신호 처리 장치를 나타낸다. 이 장치는 예를 들면 5개의 처리 소자(10a-10e), 프로그램 가능한 제어 장치(12) 및 크로스바 스위치(14)를 포함한다. 이 처리 소자들(10a-10e)은 크로스바 스위치(14)를 통해 상호 접속될 수 있다. 크로스바 스위치(14)는 제어 장치(12)에 의해 제어된다.
도 2는 데이터 흐름 그래프(20)의 일 예를 나타낸다. 데이터 흐름 그래프(20)는 처리들(A,B,C,D,E,P,Q)로 구성된 복합 데이터 처리 처리를 나타낸다. 각각의 처리(A,B,C,D,E,P,Q)은 주어진 데이터 처리 기능에 대응한다. 처리 A의 기능은 예를 들면 푸리에 변환(Fourier transformation)인 반면, 처리(B 및 C)은 푸리에 변환의 실수 성분 및 허수 성분의 양자화일 수 있고; 다른 처리는 허프만 복호화(Huffman decoding) 또는 실행 길이 복호화 동작 등을 실행할 수 있다. 상이한 처리들은 상이한 데이터에 대해 실행되는 동일한 기능을 가질 수 있다.
데이터 흐름 그래프(20)에서 각각의 처리는 각각의 노드(A,B,C,D,E,P,Q)에 의해 기호화된다. 데이터 흐름 그래프에서 에지(E0-E9)는 처리들(A,B,C,D,E,P,Q) 간의 데이터 교환을 기호화한다. 데이터 흐름 그래프(20)에 따라. 데이터는 에지(E0)를 통해 처리 A에 도입된다. 처리 A는 에지(E1, E2) 각각을 통해 처리(B 및 C)에 인가되는 2가지 유형의 출력 데이터를 발생한다. 처리 B는 다시 에지(E3 및 E4) 각각을 통해 처리(D 및 P)에 인가되는 2가지 유형의 출력 데이터를 발생한다. 처리 C는 에지(E5)를 통해 처리(P)에 인가되는 1가지 유형의 출력 데이터를 발생한다. 처리 P는 2가지 유형의 입력 데이터를 수신하고, 에지(E7)를 통해 처리(E)에 인가되는 1가지 유형의 출력 데이터를 발생한다. 처리 D는 에지(E6)를 통해 처리(Q)에 인가되는 출력 데이터를 발생하고, 처리 E는 다시 에지(E8)를 통해 처리(Q)에 인가되는 출력 데이터를 발생한다. 처리(Q)은 에지(E9)를 통해 복합 데이터 처리 동작의 최종 결과를 출력한다.
도 1의 신호 처리기의 동작 중에, 예를 들면 일련의 화상 신호 각각에 대한 데이터 흐름 그래프(20)를 실행시킨다. 이 때문에, 여러 가지 처리들(A,B,C,D,E,P,Q)이 처리 소자(10a-10e)의 시스템 상으로 맵핑된다. 예를 들면, 처리(A 및 B)은 처리 소자(10a) 상으로, 처리(P 및 Q)은 처리 소자(10b) 상으로, 처리(C, D, E)은 처리 소자(10c-10e) 상으로 각각 맵핑된다. 따라서, 여러 가지 처리들이 동일한 처리 소자 상에서 맵핑될 수 있다. 본 실시예에서, 처리가 맵핑되지 않은 처리 소자가 존재할 수 있다.
유입되는 화상 신호는 처리(A)이 맵핑된 처리 소자(10a)에 인가된다. 처리 소자(10a)는 각각의 화상에 대해 처리(A)의 기능을 실행하고, 각각의 화상에 대해 처리(A)으로부터 후속하는 2가지 유형의 데이터 목적물을 발생한다. 이들 2가지 유형의 데이터 목적물은 처리(B,C)이 맵핑되고, 데이터 흐름 그래프(20)에 따라 처리(A)의 결과를 수신하는 처리 소자(10a)로 매시간 크로스바 스위치(14)를 통해 전송된다. 데이터 목적물은 다시 처리 소자(10a, 10c)에서 처리된다.
도 3은 처리 소자의 일 예를 나타낸다. 처리 소자는 각각의 FIFO(52a, 52b)를 통해 처리 소자의 입력 단자에 접속된 2개의 입력 단자를 갖는 처리 장치(50)를 포함한다. 더욱이, 처리 장치(50)의 출력 단자는 FIFO(54)를 통해 라우터(router)(56)의 입력 단자에 결합된다. 처리 소자는 실행 제어 장치(58) 또한 포함한다. FIFO(52a, 52b, 54) 각각은 입력-클록 입력, 출력-클록 입력, FIFO 풀/노풀 출력, 및 FIFO 엠프티/노엠프티 출력을 갖는다. 처리 장치(50)의 입력 단자에서 FIFO(52a, 52b)의 출력-클록 입력은 이들 FIFO의 FIFO 엠프티/노엠프티 출력 단자와 함께 실행 제어 장치(58)에 결합된다. 처리 장치(50)의 출력 단자에서 FIFO(54)의 입력-클록 입력 및 풀/노풀 출력 역시 실행 제어 장치(58)에 결합된다.
입력 단자에서 FIFO(52a, 52b)의 입력-클록 입력 및 FIFO 풀/노풀 출력은 제어 장치(12)에 결합된다. FIFO(54)의 출력-클록 입력 및 FIFO 엠프티/노엠프티 출력은 라우터(router)(56)에 결합된다. 라우터는 제어 장치(12)(도시하지 않음)에 접속된다.
각각의 데이터 토큰은 동작 중에 입력 FIFO(52a, 52b)의 입력 단자에 인가된다. 데이터 토큰은 예를 들면 함께 화상을 나타내는 많은 데이터 항목을 포함하고, 연속적으로 입력 FIFO(52a, 52b)에 기입된다. 데이터 토큰은 예를 들면 이 데이터 토큰에서 많은 데이터 항목을 나타내는 길이 코드, 처리될 화상 신호에 따른 기능의 지시자 및 이러한 기능의 출력 데이터가 데이터 흐름 그래프에 대응하는 에지의 식별을 포함한다.
실행 제어 장치(58)는 예를 들면 FIFO(52a, 52b)가 입력 단자에 넌-엠프티 신호를 인가하고, FIFO(54)가 출력 단자에 넌-풀 신호를 인가할 때 처리 장치(50)의 활성화를 제어한다. 처리 장치(50)가 활성화될 때, 이 장치는 FIFO(52a, 52b)로부터 유입하는 데이터에 대해 수행될 기능의 지시자 및 길이 코드를 판독한다. 순차로, 처리 장치(50)는 입력 FIFO(52a, 52b)로부터 연속적으로 데이터 항목을 판독한다. 데이터 항목은 예를 들면 푸리에 변환을 실행함으로써 또는 가변 길이 복호화를 실행함으로써 기능의 지시자에 따라 처리된다. 처리는 기능의 지시자 및 제1 데이터 항목을 입력 FIFO(52a, 52b)에서 입수하자마자 시작할 수 있다. 동작의 시작은 모든 데이터 항목이 유용해질 때까지 지연될 필요가 없다. 일반적으로 말하자면, 입력 FIFO(52a, 52b)는 심지어 너무 짧아서 동일한 시간에 데이터 토큰 내의 모든 데이터 항목을 수용할 수 없다.
처리 동작은 일련의 출력 데이터 항목을 발생한다. 처리 장치(50)는 이러한 기능의 출력 데이터가 대응하는 에지의 식별에 선행하여 출력 FIFO(54)에 이들 데이터 항목을 연속적으로 인가한다. 기능에 의존하여, 출력 FIFO(54)로의 데이터 항목의 공급은 모든 데이터 항목이 입력 단자에 도달하기 전에 이미 시작될 수 있다.
처리 장치(50)의 출력 단자 상에서 FIFO(54)로부터 엠프티/노엠프티 신호에 기초하여, 라우터(56)는 출력 데이터가 유용한지 여부를 검출한다. 이러한 경우에 유용성이 제어 장치(12)에 아직 신호되지 않은 경우, 유용성은 출력 데이터가 대응하는 데이터 흐름 그래프에서 에지의 식별과 함께 제어 장치(12)로 신호화된다. 그에 대응하여 제어 장치는 출력 데이터 상에서 수행될 동작의 기능 및 라우터(56)로의 동작을 초래하는 에지의 식별을 나타낸다. 더욱이, 크로스바 스위치(14)를 통해, 제어 장치(12)는 관련 동작을 실행하는 처리 소자로의 접속을 할당한다.
제어 장치(12)가 통신 접속이 유용한 라우터(56)를 신호화한 후, 라우터(56)는 기능의 지시 및 에지의 식별을 크로스바 스위치(14)(도시하지 않음)를 디스패치한다. 처리 소자에 의해 실행된 처리는 1개 이상의 에지에 걸쳐 출력 데이터를 발생하고, 이들 에지는 연속적으로 번호지정되는 것이 바람직하다. 그러한 경우에, 제어 장치(12)는 라우터(56) 또는 최소 수의 처리 장치만을 인가할 필요가 있고; 라우터(56) 또는 처리 장치는 연속적인 많은 출력 에지를 자체 발생시킬 수 있다.
라우터(56)는 클록 신호를 출력 FIFO(54)의 출력-클록 입력에 순차로 인가함으로써, 데이터 항목들이 크로스바 스위치(14)(도시되지 않음)를 통해 출력 FIFO(52a, 52b)로부터 연속적으로 디스패치된다. 디스패치는 출력 데이터를 갖는 FIFO(54)가 엠프티해지거나 도는 출력 데이터가 인가되는 FIFO(52a, 52b)가 풀인 경우에 인터럽트되는 것이 확실하다. 이는 예를 들면 제어 장치(12)에 의해서 또는 관련 처리 소자들(10a-10b) 간의 크로스바 스위치(14)를 통해 엠프티/노엠프티 및 풀/노풀 신호를 교환시킴으로써 제어된다.
제어 장치(12)는 대표적인 데이터 흐름 그래프를 포함하고, 프로그램 가능함으로써 상이한 데이터 흐름 그래프가 내부에 나타날 수 있다. 제어 장치(12)는 프로그램된 데이터 흐름 그래프가 사실상 실행되는 방식으로 처리 소자(10a-10e) 및 크로스바 스위치(14)를 제어한다.
도 4는 제어 장치(12)에 의해 사용하기 위한 데이터 흐름 그래프의 표의 형태를 나타낸다. 데이터 흐름 그래프의 각각의 에지에 대해, 표는 별개의 열을 포함한다. 각각의 열은 예를 들면
- 관련 에지의 식별,
- 관련 에지를 통해 전송된 데이터 상에서 수행될 동작의 기능의 지시,
- 이러한 기능을 수행하는 처리 소자 및, 필요할 경우, 데이터가 공급될 처리 소자의 입력 단자의 식별,
- 관련 에지를 통해 데이터를 수송한 후 데이터 수송이 허용될 수 있는 추가의 에지의 식별을 포함한다.
도 5는 어떻게 이러한 표가 제어 장치(12)에 의해 사용되는지의 일 예의 흐름도를 나타낸다. 이 흐름도는 처리 소자(10a-10e)가 제어 장치(12)를 신호하고, 처리의 출력 데이터가 수송을 위해 입수할 수 있고, 처리 소자(10a-10e)가 이러한 데이터의 대응하는 데이터 흐름 그래프에서 에지를 신호화한다는 가정에 기초한다.
제어 장치(12)는 예를 들면 라운드-로빈을 기초로 처리 소자(10a-e) 각각에 대한 흐름도를 반복적으로 실행한다. 흐름도의 제1 단계(40) 동안, 제어 장치(12)는 신호가 관련 제1 처리 소자(10a-10e)로부터 수신되는지 여부를 시험한다. 그렇지 않은 경우, 흐름도의 실행이 종료된다. 그럴 경우, 제어기(12)는 제2 단계(42)에서 관련 처리 소자(10a-10e)에 의해 신호화된 에지에 대응하는 데이터 수송이 인에이블되는지 여부를 시험한다. 이러한 목적 및 이것이 수행되는 방식은 이후에 보다 상세히 기재될 것이고; 흐름도의 논의를 위해, 제어 장치(12)가 에지가 인에이블되지 않은 흐름도의 실행을 종료하고, 데이터 수송이 인에이블된 경우 제3 단계(44)를 실행하는 것을 만족시킨다. 제3 단계(44) 동안, 제어 장치(12)는 신호화된 에지 및 표에 기초하여 처리 소자(10a-10e)가 유용한 데이터를 처리하고, 이러한 처리 소자(10a-10e)의 입력 단자에 데이터가 인가되어야 하는지를 결정한다. 후속하는 제4 단계(46) 동안 제어 장치(12)는 이러한 입력 단자가 다른 데이터의 공급을 위해 이미 역전되었는지 여부를 시험한다. 그럴 경우, 흐름도의 실행이 종료되고; 그렇지 않을 경우, 제어 장치(12)는 입력을 역전시키고, 제5 단계(48)를 실행한다.
제5 단계(48) 동안, 제어 장치(12)는 출력 데이터가 유용한 신호를 갖는 제1 처리 소자(10a-10e)의 출력 단자와 이러한 데이터를 처리할 제2 처리 소자(10a-10e)의 입력 단자 간의 접속을 확립하는 방식으로 크로스바 스위치(14)를 제어한다. 제어 장치(12)는 예를 들면 에지의 인에이블/디스에이블 상태를 나타내는 메모리 소자를 적절히 로딩함으로써 다른 출력 단자에 대해 신호화된 에지를 디스에이블시킨다. 제어 장치(12)는 신호화된 에지 및 표에 기초하여, 추가의 에지가 인에이블되어야 하는지 여부를 순차로 결정한다. 제어 장치(12)는 예를 들면 관련 메모리 소자를 그에 따라 로딩함으로써 이러한 에지를 인에이블시킨다. 표로부터 나타나듯이, 원래 신호화된 에지는 직접적으로 다시 인에이블됨으로써, 신호화된 에지는 실제로 영구적으로 인에이블된다.
제어 장치(12)는 신호화된 에지에 기초하여 표로부터 출력 데이터 상에서 실행될 기능을 결정하고, 이러한 기능의 지시자를 제1 처리 소자(10a-10e)에 인가한다. 더욱이, 제어 장치는 이러한 기능을 실행하는 최소 수의 처리의 출력 에지의 식별을 결정하고, 이를 제1 처리 소자(10a-10e)에 인가한다. 따라서, 각각의 에지 열에 대해, 제어 장치(12)는 이러한 에지에 데이터를 인가하는 처리의 기능에 관한 정보 외에 관련 처리의 출력 데이터를 전송하는 최소 수의 에지에 관한 정보(도시하지 않음)를 포함하는 것이 바람직하다. 그러나, 이러한 정보는 처리 식별/출력 에지 관계를 포함하는 표 및 처리 식별 정보를 사용함으로써 발견될 수도 있다.
본 발명에 따른 신호 처리 장치의 동작은 단순화된 데이터 흐름 그래프의 일 예에 기초하여 이하 보다 상세히 기재할 것이다.
도 6은 데이터 흐름 그래프의 일 예를 나타낸다. 이러한 데이터 흐름 그래프는 5개의 처리(R,S,T,U,V)을 포함한다. 제1 처리(R)은 제1 처리(S) 및 제2 연속 처리(U)으로 각각 확장하는 2개의 출발 에지(I,J)를 갖는다. 연속적인 처리(S, U) 각각은 각각의 추가 연속 처리(T, V)으로 확장하는 1개의 출발 에지를 갖는다.
도 7은 도 6의 데이터 흐름 그래프의 처리를 실행하는 스케줄링의 매우 단순화된 일 예를 나타낸다. 이 예는 도 6의 처리(R, S 및 U) 각각이 각각의 처리 소자에 의해 실행되고, 처리(T 및 V)이 동일한 처리 소자에 의해 실행된다는 가정에 기초한다. 도 7은 처리 소자에서 데이터 항목의 발생을 나타내는 많은 트레이스(QI, QJ, QS, QU및 QT/V)를 포함한다. 도 7은 어떠한 접속이 크로바 스위치를 통해 할당된 것을 나타내는 모든 트레이스를 포함한다. 제1의 2개의 트레이스(QI, QJ)는 제1 처리(R)을 실행하는 처리 소자에서 데이터 항목의 발생을 나타낸다. 제3 및 제4 트레이스(QS, QU)는 제1 및 제2 연속 처리(S, U) 각각을 실행하는 처리 소자에서 데이터 항목의 발생을 나타낸다. 제5 트레이스(QT/V)는 추가의 연속 처리(T, V)을 실행하는 처리 소자의 출력 단자 상에서 데이터 항목의 발생을 나타낸다.
도 7의 실시예는 유입하는 에지(10)를 통해 도달하는 연속적인 데이터 항목에 반응하여, 처리(S)이 본 실시예에서 데이터 항목의 내용과 무관하게 다양한 수의 출력 데이터 항목, 1, 3, 4, 0, 4, 0, 1을 발생한다. 이는 예를 들면 가변 길이 복호기가 MPEG 복호화를 위해 사용된 경우이다. 발생된 데이터 항목은 1개의 데이터 토큰을 형성하도록 조합된다. 처리(S) 자체는 1개의 데이터 토큰을 형성하도록 조합되는 데이터 항목의 수를 결정한다. 처리(S)은 예를 들면 발생된 데이터 항목들중 4개마다 데이터 토큰으로 조합된다. 처리(U)은 본 실시예에서 연속적인 데이터 항목에 반응하여 마찬가지지만, 1, 2, 0, 1, 3, 0 데이터 항목 각각을 발생한다.
처리(S)은 데이터 항목의 발생을 시작하자마자, 제어 장치(12)는 크로스바 스위치(14)를 통해 처리(S)을 실행하는 처리 소자로부터 처리(T)을 실행하는 처리 소자로의 접속을 할당한다. 수신된 2개의 데이터 항목마다, 처리(T)은 1개의 출력 데이터 항목을 발생한다. 처리(T)이 실행되는 한, 처리(U)은 데이터 항목을 발생하기 시작한다. 이는 제어 장치로 신호되지만, 직접적으로 할당을 유도하지 않고, 그 이유는 이러한 처리 소자로의 접속 및 이들 데이터 항목에 대해 처리(V)을 실행시키기 위한 처리 소자가 처리(T)으로 여전히 할당되기 때문이다. 접속이 아직 할당되지 않는 한, 발생된 데이터 항목은 처리(U)을 실행하는 처리 소자의 출력 FIFO에서 완충된다. 따라서, 필요할 경우, 이러한 처리 소자는 발생된 데이터 항목이 디스패치되기 전에 미리 다음 처리를 시작할 수 있다.
처리(V)을 실행할 의도의 처리 소자로의 접속은 처리(S)의 완전한 데이터 토큰(4개의 데이터 항목)이 처리(T)을 실행하는 처리 소자에 도달한 후에만 처리(V)에 공급하기 위해 처리(U)의 출력 단자에 할당된다. 그에 대응하는, 데이터 항목은 처리(U)을 실행하는 처리 소자의 출력 FIFO로부터 판독되고, 처리(V)을 실행하는 처리 소자에 인가된다. 이러한 처리 소자는 그에 반응하여 처리(V)을 실행하기 시작한다. 트레이스 과정중에, 이러한 처리 소자는 데이터 토큰의 시작의 유용성에 따라 처리(T) 또는 처리(V)을 교대로 실시한다. 따라서, 이러한 처리 소자는 예를 들면 처리(V)으로부터 어떠한 데이터 토큰도 입수할 수 없는 경우 2회 연속하여 처리(T)에 할당된다. 따라서, 주어진 순간에 이러한 처리 소자에 의해 실행된 처리는 미리 결정되지 않았지만, 데이터 항목의 내용에 의존한다(예를 들면, 가변 길이 복호기). 처리 소자는 소정의 스케줄의 경우에서보다 더 효율적으로 사용될 수 있다.
본 실시예에서, 처리(T 및 V)을 실행하는 처리 소자는 필요한 데이터 항목이 도달하자마자 데이터 항목을 처리한다. 처리(T 및 V)이 다른 입력 단자를 갖는 경우, 이러한 처리 소자는 대응하는 데이터 항목이 다른 입력 단자 상에서 이용될 때까지 데이터 항목의 실행을 지연시킬 수도 있다. 그러나, 관련 데이터 항목은 입력 FIFO에 저장되기 때문에, 크로스바 스위치(14)를 통한 데이터 항목의 전송은 대기 중에 통상적으로 계속될 수 있다. 크로스바 스위치는 다른 데이터 토큰의 전송을 위해 보다 가까워진다.
원칙적으로, 처리 자체에서 얼마나 많은 데이터 항목이 데이터 토큰을 형성하도록 조합되는지가 결정된다. 이러한 수의 선택은 타협의 여지가 있다. 데이터 항목을 거의 포함하지 않는 데이터 토큰만이 스케줄링의 융통성이 보다 크다는 점에서 유리하다(데이터 토큰이 계속되는 한, 심지어 어떠한 새로운 데이터 항목도 데이터 토큰 내에서 아직 이용될 수 없는 경우, 처리 소자로의 접속은 다시 할당될 수 없다). 다른 한편, 데이터 토큰은 이들이 전송 부담이 거의 없고, 특히 중재에 따른 제어 장치에 따른 부담이 없기 때문에, 많은 데이터 항목을 포함하는 데이터 토큰이 다른 점에서 유리하다. 더욱이, 그러한 데이터 항목들이 함께 처리되어야 한다는 사실 때문에, 최소수의 데이터 항목이 데이터 토큰에서 요구될 수 있다. 데이터 토큰을 형성하도록 조합되는 데이터 항목의 수의 선택은 비디오 복호화 등의 신호 처리 용도에서 조정 가능한 평균 효율을 유도하고, 적시 반응의 2차 조건 등의 제공된 2차 조건에 적용된다. 따라서, 데이터 토큰을 형성하도록 조합될 데이터 항목의 수는 효율을 극대화시킬 수 있도록 선택되고, 함께 실행될 처리를 제공하는 것이 바람직하다.
주어진 유형의 과업의 경우 및 주어진 상황에서, 어떠한 특정한 매칭 장치가 사용되지 않는 경우, 데이터 흐름 원리에 따라 작동하는 처리 장치는 교착 상태에 빠질 수 있다. 이를 도 2의 데이터 흐름 그래프에 기초하여 설명할 것이다. 처리(P 및 Q)들이 동일한 처리 소자에 의해 실행된다고 가정하자. 모든 처리는 2개의 입력 단자를 갖는다. 대응하는 데이터 토큰의 존재는 관련 처리의 실행을 유도하는 처리 소자의 입력 단자 상에서 동일한 처리(P 또는 Q)에 대해 이루어진다. 그러나, 상이한 처리를 위한 데이터 토큰이 입력 FIFO 내의 여러 가지 입력 단자 상에서 이용하는 경우, 교착은 하나의 처리도 실행될 수 없는 경우에 발생한다.
이러한 교착 상황을 피하기 위해, 제어 장치(12)는 선택된 처리가 소정의 시퀀스로만 데이터 토큰의 전송을 위한 할당된 접속을 허용하는 메카니즘을 포함한다. 이는 예를 들면 프로그래머가 도 2의 데이터 흐름 그래프의 경우에, 처리(B, C, E 및 D)이 이러한 시퀀스로 주기적으로 할당된 접속을 부과하게 한다(다른 처리들은 이들 처리와 독립적으로 할당된 접속일 수 있다). 따라서, 프로그래머는 처리(P 및 Q)을 실행하는 처리 소자의 여러 가지 입력 단자 상의 데이터 토큰이 동일한 처리(P 또는 Q)에 대해 의도된 시퀀스로 도달된다는 것을 보장한다. 먼저, 예를 들면 처리(B 또는 C)에만 접속이 할당될 수 있다. 따라서, 기재된 교착이 발생될 수 없다. 명백하게는, 이는 예를 들면 C 및 D가 B 및 E와 마찬가지로 접속을 교대로 할당함을 구체화함으로써 다른 프로그램들에 의해 달성될 수 있다(C 및 D는 처리(P 및 Q)을 실행하는 처리 소자의 동일한 입력 단자에 데이터 토큰을 인가한다고 가정하자). 먼저, 예를 들면, B 및 C만이 접속을 할당할 수 있다.
선택된 처리들이 프로그램된 시퀀스에서만 접속을 할당하는 것을 보장하는 메카니즘은 예를 들면 데이터 흐름 그래프에서 추가의 에지가 제공된 에지의 활성화 후에 인에이블되어야 하는 것을 나타내는 도 4의 표에 의해 도 1의 장치에서 구현된다. 표에서, 예를 들면 E4(B의 출력 단자) 또는 E5(C의 출력 단자)가 추가의 에지로서 인에이블된 후에 프로그램될 수 있다. 에지(E5)에 대해, E6은 추가의 에지로서 인에이블되어야 하는 것으로 프로그램될 수 있고, E6에 대해 E4는 추가의 에지로서 인에이블되어야 하는 것으로 프로그램될 수 있다. 다른 에지는 영구적으로 인에이블될 수 있다. 인에이블링의 관련된 초기 세팅을 통해, 프로그래머는 교착이 발생될 수 없는 것을 보장한다.
교착 문제를 피하기 위한 다른 시도는 메모리 기능을 갖는 처리 소자를 사용하는 것이다. 다른 모든 처리 소자와 마찬가지로, 이러한 처리 소자는 관련 접속이 제어 장치(14)에 의해 할당될 때, 크로스바 스위치(12)를 통해 데이터 토큰을 수신하고 디스패치할 수 있다. 메모리 처리 소자는 이후 단계에 전달하기 위해 많은 데이터 항목을 저장할 수 있는 메모리를 포함한다.
메모리형 처리 소자는 예를 들면 매칭 기능을 수행할 수 있고; 데이터 토큰이 모든 입력 단자에 대해 사용할 수 있을 때까지 1개 이상의 입력 단자에 의해 제공된 처리를 위해 의도되는 데이터 토큰을 저장한다. 이러한 유용성에 대응하여, 관련 데이터 토큰은 관련 처리를 실행하도록 의도되는 처리 소자에 인가된다. 더욱이, 메모리형 처리 소자는 수신된 데이터 토큰의 카피들을 디스패치함으로써 데이터 토큰을 증가시키도록 작용할 수 있다. 예를 들면, 복수개의 처리가 동일한 데이터 항목을 처리하고자 하는 경우, 본 발명이 유용하다.

Claims (9)

  1. - 제1 처리를 실행하고 연속적으로 데이터 항목을 발생하는 제1 처리 소자, 및
    - 데이터 토큰의 수령에 응답하여 처리 식별의 제어하에 제2 처리에 따라 복수개의 데이터 항목을 처리하는 제2 처리 소자를 포함하는,
    제1 처리가 처리 식별에 의해 데이터 토큰 및 복수개의 데이터 항목을 발생하는 데 반하여, 제2 처리가 제1 처리의 데이터 항목을 처리하는 처리들을 실행하기 위한 신호 처리 장치에 있어서,
    제1 처리 소자가 데이터 토큰의 데이터 항목을 이미 발생하였는지 여부와 무관하게, 제2 처리 소자가 데이터 토큰의 수령의 시작에 응답하는 데이터 항목의 처리를 시작하도록 배열된 것을 특징으로 하는 신호 처리 장치.
  2. 제1항에 있어서, 제1 및 제2 처리 소자가 적어도 3개의 처리 소자들의 시스템의 일부를 형성하고, 시스템의 처리 소자들간의 할당형 통신 접속을 포함하며, 상기 신호 처리 장치는 처리 소자들의 시스템상의 처리들의 맵핑에 관한 정보가 제공된 할당 제어기를 포함하며, 이 할당 제어기는 데이터 토큰에서 처리 식별에 관한 맵핑에 대한 정보의 제어하에, 데이터 토큰의 발생의 시작에 응답하여, 제2 처리 소자의 입력 단자에 또다른 데이터 토큰의 전송을 위해 통신 접속이 할당되지 않았다면, 제1 처리 소자로부터 제2 처리 소자의 상기 입력 단자에 데이터 토큰의 전송을 위한 통신 접속을 할당하는 것을 특징으로 하는 신호 처리 장치.
  3. 제2항에 있어서, 제1 처리 소자가 처리 장치 및 이 처리 장치와 통신 접속 간의 출력 FIFO(선입 선출)를 구비하고, 상기 처리 장치는 제1 처리를 실행하고, 데이터 항목을 발생하고, 출력 FIFO에 이들 데이터 항목을 연속적으로 기입하며, 상기 데이터 항목은 할당 제어기가 데이터 토큰의 전송을 위해 통신 접속을 할당한 경우, 통신 접속을 통해 전송하기 위해 출력 FIFO로부터 연속적으로 판독되는 것을 특징으로 하는 신호 처리 장치.
  4. 제3항에 있어서, 출력 FIFO는 이 출력 FIFO가 풀(full)인 경우 제1 처리의 실행을 보류시키기 위해 처리 장치에 결합된 "FIFO 풀" 출력을 갖는 것을 특징으로 하는 신호 처리 장치.
  5. 제2항 내지 제4항중의 어느 한항에 있어서, 제2 처리 소자가 처리 장치 및 이 처리 장치와 처리 소자의 입력 단자간의 입력 FIFO를 구비하고, 데이터 항목은 통신 접속을 통해 제1 처리 소자로부터 입력 FIFO로 연속적으로 기입되고, 처리 장치는 제2 처리에 따라 처리하기 위해 FIFO로부터 데이터 항목을 연속적으로 판독하며, 할당 제어기는 선행 데이터 토큰의 최종 데이터 항목이 입력 FIFO에 기입됨의 검출에 응답하여 데이터 토큰의 전송을 위해 제2 처리 소자에 통신 접속을 할당하도록 배열된 것을 특징으로 하는 신호 처리 장치.
  6. 제2항 내지 제5항중의 어느 한 항에 있어서, 신호 처리 장치가
    - 프로그램 가능하게 선택된 다수의 처리들의 처리 시퀀스를 프로그램하기 위한 시퀀스 프로그래밍 수단;
    - 처리들이 시퀀스 프로그래밍 수단에서 프로그램된 처리들의 처리 시퀀스에 따라 통신 접속을 통해 데이터 토큰을 전송하는 전송 시퀀스에 관하여 제한을 가하는 시퀀싱 수단을 포함하는 것을 특징으로 하는 신호 처리 장치.
  7. 제6항에 있어서, 시퀀스 프로그래밍 수단은 제2 처리가 처리 시퀀스에 따라 아직 만기되지 않는한 데이터 토큰의 전송을 위해 접속의 할당을 봉쇄하기 위해 할당 제어기에 결합된 것을 특징으로 하는 신호 처리 장치.
  8. 제6항 또는 제7항에 있어서, 제2 처리 소자가 추가의 입력 단자를 갖고, 제2 처리는 제3 처리와 함께 제2 처리 소자에 대해 맵핑되고, 제2 처리는 입력 단자 및 추가의 입력 단자를 통해 제1 처리 및 제4 처리로부터 데이터를 각각 수신하고, 제2 처리는 입력 단자 및 추가의 입력 단자를 통해 제5 처리 및 제6 처리로부터 데이터를 각각 수신하고, 시퀀스 프로그래밍 수단은, 통신 접속을 통해 제1 처리 및 제5 처리의 데이터 토큰이 제1 처리 및 제2 처리에 각각 전송되는 시퀀스가, 통신 접속을 통해 제4 처리 및 제6 처리의 데이터가 제1 처리 및 제2 처리에 각각 전송되는 시퀀스에 대응하도록 프로그램되는 것을 특징으로 하는 신호 처리 장치.
  9. 제2항 내지 제8항중의 어느 한 항에 있어서, 제2 처리 소자가 추가의 데이터 토큰을 수신하기 위해 통신 접속 단자에 접속된 추가의 입력 단자를 갖고, 제2 처리가 데이터 토큰 및 추가의 데이터 토큰으로부터 조합하여 데이터 항목을 처리하며, 할당 제어기가 데이터 토큰의 발생의 시작뿐만 아니라 또다른 데이터 토큰의 발생의 시작이 이 할당 제어기에 의해 검출된 경우에만, 데이터 토큰의 전송을 위한 통신 접속을 할당하는 것을 특징으로 하는 신호 처리 장치.
KR10-1998-0705114A 1996-11-04 1997-09-29 1개이상의처리요소를사용하는신호처리장치 KR100500742B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP96203069.8 1996-11-04
EP96203069 1996-11-04

Publications (2)

Publication Number Publication Date
KR19990076985A true KR19990076985A (ko) 1999-10-25
KR100500742B1 KR100500742B1 (ko) 2005-11-21

Family

ID=8224545

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1998-0705114A KR100500742B1 (ko) 1996-11-04 1997-09-29 1개이상의처리요소를사용하는신호처리장치

Country Status (6)

Country Link
US (1) US6049818A (ko)
EP (1) EP0877985B1 (ko)
JP (1) JP3987581B2 (ko)
KR (1) KR100500742B1 (ko)
DE (1) DE69701351T2 (ko)
WO (1) WO1998020427A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6629167B1 (en) * 2000-02-18 2003-09-30 Hewlett-Packard Development Company, L.P. Pipeline decoupling buffer for handling early data and late data
WO2004088938A1 (ja) * 2003-03-31 2004-10-14 Fujitsu Limited 通信装置及び通信方法
US9330060B1 (en) * 2003-04-15 2016-05-03 Nvidia Corporation Method and device for encoding and decoding video image data
US9501448B2 (en) 2008-05-27 2016-11-22 Stillwater Supercomputing, Inc. Execution engine for executing single assignment programs with affine dependencies
GB2471067B (en) 2009-06-12 2011-11-30 Graeme Roy Smith Shared resource multi-thread array processor
US9405826B1 (en) * 2013-07-15 2016-08-02 Marvell International Ltd. Systems and methods for digital signal processing
EP3108358B1 (en) * 2014-02-20 2021-06-23 Stillwater Supercomputing, Inc. Execution engine for executing single assignment programs with affine dependencies

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4149243A (en) * 1977-10-20 1979-04-10 International Business Machines Corporation Distributed control architecture with post and wait logic
US4354225A (en) * 1979-10-11 1982-10-12 Nanodata Computer Corporation Intelligent main store for data processing systems
WO1990001192A1 (en) * 1988-07-22 1990-02-08 United States Department Of Energy Data flow machine for data driven computing
US5842033A (en) * 1992-06-30 1998-11-24 Discovision Associates Padding apparatus for passing an arbitrary number of bits through a buffer in a pipeline system
US5606666A (en) * 1994-07-19 1997-02-25 International Business Machines Corporation Method and apparatus for distributing control messages between interconnected processing elements by mapping control messages of a shared memory addressable by the receiving processing element

Also Published As

Publication number Publication date
WO1998020427A1 (en) 1998-05-14
EP0877985A1 (en) 1998-11-18
KR100500742B1 (ko) 2005-11-21
JP2000504451A (ja) 2000-04-11
EP0877985B1 (en) 2000-03-01
JP3987581B2 (ja) 2007-10-10
US6049818A (en) 2000-04-11
DE69701351D1 (de) 2000-04-06
DE69701351T2 (de) 2000-08-24

Similar Documents

Publication Publication Date Title
US4604500A (en) Multiprocessing interrupt arrangement
EP0550164B1 (en) Method and apparatus for interleaving multiple-channel DMA operations
US4138732A (en) Data transfer control system
US5699460A (en) Image compression coprocessor with data flow control and multiple processing units
EP0529384B1 (en) CPU expansive gradation of I/O interruption subclass recognition
US6006287A (en) DMA transfer of an interleaved stream
KR19990076985A (ko) 1개 이상의 처리 소자를 사용하는 신호 처리 장치
JP2001216279A (ja) リアルタイム・システム用時分割多重メモリーを用いた、複数のプロセッサーのインターフェース及び、同期化及びアービトレーション方法
EP0675446B1 (en) Multi-processor system including priority arbitrator for arbitrating request issued from processors
US6829647B1 (en) Scaleable hardware arbiter
JPH06175911A (ja) メモリ制御方式
FI76462B (fi) Kommunikationsmultiplexer med ett variabelt prioritetsschema.
KR100199033B1 (ko) 절충식 pci버스용 다중 인터럽트 제어장치 및 방법
JPH05143527A (ja) 優先制御回路
KR19990011284A (ko) 데이터 처리장치의 인터럽트 처리장치 및 방법
JPH03127104A (ja) プログラマブルコントローラのデータリンク装置
JPH0520261A (ja) 優先制御回路
JPH0314155A (ja) ローカルエリアネットワークの命令制御方式
JPS62285164A (ja) チヤネル制御装置
JPS6148747B2 (ko)
JPS61269773A (ja) ベクトル命令実行制御方式
JPH04142643A (ja) 入出力制御装置
JPH02188858A (ja) ジョブ選択処理方式
JPS59177656A (ja) プログラム切替制御装置
JPH04246744A (ja) 裁定回路

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

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 12