KR20050085545A - 코프로세서, 코프로세싱 시스템, 집적 회로, 수신기, 기능유닛 및 인터페이싱 방법 - Google Patents

코프로세서, 코프로세싱 시스템, 집적 회로, 수신기, 기능유닛 및 인터페이싱 방법 Download PDF

Info

Publication number
KR20050085545A
KR20050085545A KR1020057010603A KR20057010603A KR20050085545A KR 20050085545 A KR20050085545 A KR 20050085545A KR 1020057010603 A KR1020057010603 A KR 1020057010603A KR 20057010603 A KR20057010603 A KR 20057010603A KR 20050085545 A KR20050085545 A KR 20050085545A
Authority
KR
South Korea
Prior art keywords
array
processor
coprocessor
cells
cell
Prior art date
Application number
KR1020057010603A
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 코닌클리즈케 필립스 일렉트로닉스 엔.브이.
Publication of KR20050085545A publication Critical patent/KR20050085545A/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/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8046Systolic arrays
    • 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/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • 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/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • 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/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Advance Control (AREA)
  • Logic Circuits (AREA)
  • Microcomputers (AREA)

Abstract

박동형 어레이 프로세서는 기존의 부가 SoC 기술과 호환가능한 형태로 시스템 온 칩(SoC) 내에 집적된다. 박동형 어레이 프로세서는 범용의 디지털 신호 프로세서 부속의 코프로세서로서 또는 훨씬 긴 명령어(VLIW) 프로세서의 기능 유닛으로서 구현될 수 있다.

Description

코프로세서, 코프로세싱 시스템, 집적 회로, 수신기, 기능 유닛 및 인터페이싱 방법{MODULAR INTEGRATION OF AN ARRAY PROCESSOR WITHIN A SYSTEM ON CHIP}
본 발명은 기능 유닛 또는 코프로세서로서 어레이 프로세서를 포함하는 집적 회로 상의 프로세싱 시스템에 관한 것이며, 보다 상세하게는, 재구성가능 어레이 프로세서를 포함하는 집적 시스템에 관한 것이다.
내장형 시스템은 전체 시스템 내에서 특정 용도 또는 응용을 위해서 특별히 설계된 하드웨어 또는 소프트웨어의 몇몇 조합이며, 특성이 고정되거나 프로그램가능하다. 예를 들어, 이동 전화는 각각의 유형의 전화와 일치할 때만 동작가능하며 디스플레이 및 다른 구성 요소를 제어하여 전력을 보존하는데에 절대적으로 전념한 전력 절약형 집적 회로(IC) 즉 "칩"을 구비할 수 있다.
전형적으로, 동일 이동 전화는 라디오의 디지털부의 기능을 실행하는 디지털 신호 처리 집적 회로를 포함한다. 입력 신호의 상이 및/또는 변하는 라디오 방송 포맷에 적응하기 위해서, 프로그램가능 라디오가 바람직할 수 있다. 그러나, 디지털 라디오 처리 기능은 높은 연산 부하와 함께 높은 데이터 샘플 속도를 수반하며, 이는 프로그램가능 하드웨어 상에서 구현하기에는 불가능하다.
프로그램가능 하드웨어의 능력 내에서 연산 부하를 수용하기 위한 전형적인 접근 방법은, 높은 데이터 속도 및/또는 연산 속도 알고리즘의 효율적인 연산을 전문화하는 하드웨어 가속 모듈을 설계하는 것이다. 가속기는 다수의 기술을 이용하여 프로그램가능 프로세서와 인터페이싱되며, 각각의 기술에 의해 프로그램가능 프로세서가 가속기의 동작을 제어하고, 또한 가속기와 교환되는 데이터를 적절히 스케줄링할 수 있다. 예를 들어, 범용의 DSP 또는 다른 호스트는 프로세서의 명령어 세트 내에서 볼 수 있지만, 코프로세서 인터페이스의 입력 및 출력으로 매핑되는 내부 레지스터 어드레스 세트를 가질 수 있다. 가속기의 입력 및 출력은 이러한 인터페이스에 접속될 수 있으며, 프로그램가능 프로세서의 제어하에서 데이터를 처리한다. 이러한 방식으로, 적절한 데이터 교환이 범용의 디바이스에 의해 프로그램가능하다.
다른 접근 방법에서, 범용의 프로그램가능 호스트 또는 DSP에 의해 새로운 고속 기능 유닛이 그 데이터경로 내에 삽입될 수 있다. 기능 유닛은 계층적 제어기에 의해 제공되는 명령 연산 코드에 응답하고, 계층적 제어기에 의해 지정된 데이터경로 구조에 따라서 내부 레지스터 파일 및 다른 유닛과 데이터를 교환한다.
이들 접근 방법은 프로그램가능 프로세서로부터의 과다 연산 부하를 분담할 때 성공적이지만, 제한된 또는 프로그램가능성이 없는 가속기에 의존하여 연산 집중 작업을 실행한다. 이러한 방식으로, 프로그램가능성의 중요한 구성 요소가 상실되었다.
본 발명은 재구성가능 가속기로서의 어레이 프로세서의 호스트 또는 메인 프로세서로의 집적화에 관한 것이며, 어레이 프로세서는 호스트 프로세서의 실행 처리 능력을 상당히 초과한다. 코프로세서는 2차원의 프로세싱 셀 어레이를 포함한다. 코프로세서는 자신과 어레이 주변 상의 각각의 셀 사이의 정보 경로를 재구성하기 위한 메카니즘을 구비한 인터페이스 모듈에 의해 호스트 프로세서에 통신가능하게 접속되어 있다.
다른 측면에서, 본 발명은 호스트 또는 메인 프로세서의 기능 유닛에 관한 것이며, 여기서, 호스트 프로세서는 바람직하게, 훨씬 긴 명령어(VLIW) 프로세서이며, 기능 유닛은 바람직하게, 어레이 주변 상의 각각의 셀을 통한 어레이로의 정보 경로가 재구성될 수 있는 인터페이스를 구비한 2차원의 프로세싱 셀 어레이를 구현한다.
본 명세서에 기술된 본 발명의 상세한 설명은 이하에 기술되는 도면을 참조하여 이하에 설명될 것이며, 도면에서 동일 또는 유사한 구성 요소는 동일 참조 부호로서 표시된다.
도 1은 본 발명에 따른 프로세서/코프로세서 배열을 도시하는 블록도,
도 2는 본 발명에 따른 내장형 어레이 프로세서를 구비한 디바이스의 일예를 도시하는 개략도,
도 3은 VLIW 프로세서 내의 기능 유닛으로서의 도 2의 어레이 프로세서의 구현을 도시하는 블록도,
도 4는 도 3의 어레이 프로세서 상에서 실행되는 프로그램을 초기화 및 갱신할 때의 예시적인 처리 흐름을 도시하는 흐름도.
도 1은 2차원 어레이로서 구현된, 범용의 디지털 신호 프로세서(DSP) 또는 마이크로 제어기(20)와 그 근접 결합된 코프로세서(30) 간의 접속 배열(10)의 예를 도시한다. 코프로세서(30)는 특정 유형의 연산을 수행할 때 DSP(20)를 보조한다. 초당 수백만의 명령어(MIPS)로 표현되는 코프로세서(30)의 실행 속도는 DSP(20)의 실행 속도보다 빠르다. 따라서, 프로세서 간의 기능을 분할할 때, 코프로세서는 높은 MIPS 신호 체인을 구현할 수 있다. 코프로세서(30)는 인터페이스 모듈(40)에 의해 DSP(20)에 통신가능하게 접속되어 있다. DSP(20)는 메모리 시스템(50)을 이용한다. 일실시예에서, DSP(20)와 코프로세서(30)는 인터페이스 모듈(40)에 의해 직접 통신한다. 다른 실시예에서, 인터페이스 모듈(40)은 메모리 시스템(50)에 통신가능하게 접속되어 있어서, DSP(20)와 코프로세서(30) 간의 통신 경로 또는 추가적인 통신 경로를 제공한다. 후자의 실시예에서, 프로세서 동기화는 바람직하게 하나 이상의 모듈(20, 30, 50)에서 실행된다.
도 2는 도 1에 도시된 배열(10)을 포함하도록 구성될 수 있는 장치의 실시예를 도시한다. 방송 또는 케이블 텔레비전 수신기, LAN 무선 수신기 또는 이동 전화 수신기 중 하나와 같은 수신기(100)는 IC(102)를 포함한다. IC(102)는 내장형 어레이 프로세서(106)를 포함한다. 어레이 프로세서는 어레이로 구성될 수 있는 입력 상에서 동작하는 명령어를 실행할 수 있는 프로세서이다. 내장형 어레이 프로세서(106)는 2차원의 직사각형 어레이(108)와 모두 4개의 에지 상에서 어레이(108)를 둘러싸고 있는 도 2에 도시된 메카니즘 또는 인터페이스(110)를 구비하고 있다. 2차원 어레이(108)는 프로세싱 셀(112)로 구성되어 있다.
예를 들어, IC(102)는 도 1의 배열(10)에 따라서 구성될 수 있으며, 여기서, 어레이(108)는 어레이(30)로서 구현되며, 인터페이스(110)는 인터페이스 모듈(40)에 대응한다. 이하에 설명되는 바와 같이, IC(102)를 구현하는 다른 추가적인 대체가 고려된다.
바람직하게, 어레이(108) 내에서의 셀 간 접속(inter-cell connection)은, 각각의 셀(112)이, 열이 동일하고 행이 바로 인접한 셀(112)에만 그리고, 행이 동일하고 열이 바로 인접한 셀(112)에만 접속되도록 하여, 본 명세서에서 참조로서 포함되는 2001년 10월 1일 출원의 공동 소유의 미국 특허 공보 제 2003/0065904(이하, '904 출원이라 함)의 도 2에 도시된 "최근접 이웃" 접속 구조를 실현하는 것이다. 셀 간 접속이 순수하게 최근접 이웃이기 때문에, 어레이는 크기 조정할 수 있는 융통성을 가지고 있다.
일실시예에서, 인터페이스(110)는 어레이(108)의 주변 상의 각각의 프로세싱 셀(112)에 접속된 경계 셀(114)을 구비하며, 각각의 경계 셀(114)은 버퍼(116)를 구비하고 있다. 주변은 바람직하게 어레이 에지 상에, 즉 첫 행, 최종 행, 첫 열 및 최종 열 중 적어도 하나 내에 위치한 프로세싱 셀(112)로 구성되어 있다. 최근접 이웃 방식 하에서 내부 어레이 셀 간 접속은 어레이 에지 상에서 각각의 코너 셀(112)에 대해서 2개의 이웃이 누락되고 각각의 다른 셀(112)에 대해서 하나의 이웃이 누락되기 때문에, 누락된 접속은 대응 경계 셀(114)에서 각각 이루어진다.
입력/출력(I/O) 패드(118)와, 각각의 경계 셀(114)에 대해 하나와, 각각의 I/O 패드(118)를 대응 경계 셀(114)에 1 대 1로 재구성가능하게 접속하는 크로스바 네트워크(120)를 인터페이스(110) 내에 추가로 포함하고 있다. 이러한 각각의 접속에서, 정보 경로가 형성된다. 도 2는, I/O 패드(118)와, 크로스바 네트워크(120)와, 경계 셀(114)을 포함하는 정보 경로(122)를 도시한다. 경로를 재구성함으로써, 경로는 상이한 경계 셀(114) 및 상이한 I/O 패드(118) 중 하나 또는 둘 다를 횡단할 수 있다. 경로(124)는 상이한 경계 셀(114)을 횡단하는 경로(112)의 재구성예이다. 대안으로, 재구성가능 라우팅은 크로스바 네트워크에 의해서 보다는, 각각의 경계 셀의 로컬 선택 메카니즘을 통해 달성될 수 있다.
바람직한 실시예에서, 어레이 프로세서(106)는 박동형(systolic) 처리 어레이, 즉, 연산이 엄격히 선형인 방향으로 진행하는 것이 아니라 변하는 방향으로 진행하고 있을지라도, 입력 피연산자에 대한 어셈블리 라인에 견주될 수 있는 특수 목적의 시스템이다. 2차원 프로세싱 셀 어레이에서, 상이한 수학적 연산은 상이한 셀 별로 데이터에 대해 수행되며, 데이터는 하나의 셀에서 다른 셀로 순서적인 일열 진행으로 진행한다. 박동형 어레이의 예는, 행렬을 승산하는 어레이일 수 있다. 행의 엔트리는 열의 대응 엔트리에 의해 승산되고, 그 곱은 합산되어 열 순서의 합을 생성한다. 효율성은 병렬로 수행되는 연산을 배열함으로써 달성되며, 그 결과는 최소 클록 사이클로 생성된다. '904 출원은 32 탭 실제 유한 임펄스 응답(finite impulse response)(FIR) 필터를 구현하는 박동형 프로세싱 어레이의 다른 예를 제시하고 있다. 필터는 다른 레벨, 즉 2차원 및 그 외의 레벨을 원래의 2차원 어레이에 연결함으로써 개선되며, 경계 셀은 각각의 레벨의 주변 상의 프로세싱 셀에 연결되어 있다. 경계 셀(114)에 접속된 이러한 개선된 어레이는 본 발명의 범위 내에 또한 있다.
일실시예에서, 경계 셀(114)은 어레이(108)에 입력만을 제공하는 것이 아니다. 경계 셀은 I/O 패드(118)에 어레이 처리 결과를 또한 제공한다. 경계 셀(114)은 결과를 생성하는 프로세싱 셀(112)로부터 이웃간 전달(neighbor to neighbor conveyance)에 의해 이들 결과를 수신한다. 옵션으로, 경계 셀(114)은 결과를 유효화하여, 그 데이터 유효 신호를 DSP(20)와 같은 외부 프로세스로 출력한다.
바람직한 실시예에서, IC(102)는 어레이 프로그램이 버스(113)에 의해 대응 프로세싱 셀(112)에 다운로딩되는 메모리 시스템(50)과 같은 메모리를 포함한다. 메모리는 바람직하게, 갱신 어레이 프로그램이 수신기(100) 외부의 어레이 생성기에 의해 제공될 수 있도록, 랜덤 액세스 메모리(RAM) 또는 다른 기록가능 저장 장치이다.
외부 프로세서일 수 있는 시스템 제어기는 어레이 프로그램을 '904 출원의 도 16에 도시된 랜덤 액세스 구성 버스와 같은 구성 버스를 통해 내장형 어레이 프로세서(106)의 마스터 셀(126)에 전달한다. 본 명세서에 참조로서 포함되는, 공동 계류중인 특허 출원, 발명의 명칭이 "DATAFLOW-SYNCHRONIZED EMBEDDED FIELD PROGRAMMABLE PROCESSOR ARRAY"인 필립스 공개 703366(이하, EFPPA 출원이라 함)에 개시된 바와 같이, 마스터 셀(126)은 시스템 초기화에 또는 재구성 즉시, 예를 들어, 프로세싱 어레이(106)의 새로운 알고리즘의 구현시에, 적절한 프로세싱 셀(112)에 어레이 프로그램을 전송한다. 박동형 프로세싱에서는 고유한 평행 현상(parallelism)으로 인해, 프로세싱 셀(112)의 일부는 동일한 프로그램을 수신할 수 있다. 예를 들어, 동일한 프로그램은 도 2에 도시된 서브세트(115)와 같은 프로세싱 셀(112)의 서브세트에 다운로드될 수 있다. EFPPA 출원은 경계 및 마스터 셀에 의한 프로세스와 칸(Kahn) 프로세스 네트워크를 이용한 바람직한 구현예를 또한 개시하고 있다.
어레이 프로세서(106)는 타이밍이 피연산자를 어레이(108)에 제공하는 경로를 따르는 입력 피연산자의 흐름에 기초하는 수학적인 연산을 수행한다.
어레이 프로그램은 IC(102) 상의 RAM와 그 다음, 각각의 프로그래밍 셀(112)에 다운로드되는 코드를 편집하여 보여줄 수 있는 그래픽 유저 인터페이스(GUI)를 이용하여 준비될 수 있다.
도 2의 내장형 어레이 프로세서(106)의 다른 예시적인 구현예(300)에서, 도 3은 "회로 내" 프로그램가능 타입의 EFPPA(304)의 구성 요소로서 호스트 VLIW 프로세서(302)를 도시하고 있다. EFPPA(304)는 수신기(308) 내에 포함된 IC(306) 상에 구현된다. 호스트 VLIW 프로세서(302)는 칩 개발 플랫폼(309)에, 특히, 플랫폼(309) 내의 어레이 프로그램 생성기(310) 및 컴파일러(312)에 접속된다. 어레이 프로그램 생성기(310)는 플랫폼(309)의 그래픽 유저 인터페이스(314)에 또한 접속되어 있다.
VLIW 프로세서(302)는 명령어 메모리(316), 명령어 출력 레지스터(318), 공유의 다중 포트 레지스터 파일(320)을 포함한다. 다수의 기능 유닛이 프로세서(302) 내에 또한 포함되어 있으며, 대응 출력 슬롯에서의 레지스터(318)와 파일(320) 모두에 접속되어 있다. 이러한 VLIW 구조에 대한 상세한 설명이, 본 명세서에 참조로서 포함되어 있는 1999년 10월 26일 출원의 미국 특허 제 5,974,537 호(이하, '537 특허라 함)에 기술되어 있다. 기능 유닛(322)은 예를 들어, 본 출원의 도 2의 내장형 어레이 프로세서(106)로서 실현될 수 있으며, IC(306)는 IC(102)에 대응하며, 수신기(308)는 수신기(100)에 대응한다. '537 특허에서, 기능 유닛(322)이 특정 유형의 프로세싱으로 한정되지 않지만, 기능 유닛(322)은 부동 소수점 명령어를 실행한다. 예를 들어, 2차원 어레이는 채널 디코딩 및 다른 애플리케이션에 유용한 유한 임펄스 응답(FIR) 필터링 및 고속 푸리에 변환(FFT)을 수행하는 '904 출원에 기술되어 있다.
도 4는 도 3의 어레이 프로세서(322) 상에서 실행되는 프로그램의 초기화 및 갱신 시의 프로세싱의 예시적인 흐름을 도시한다. 시스템 초기화에, 어레이 프로그램 생성기(310)에 의해 생성된 프로세싱 셀(112) 각각에 대한 어레이 프로그램(단계 402)은 IC(306) 상의 RAM(324)에 다운로드된다(단계 404). 후속하여, 시스템 제어기(도시 생략)는 어레이 프로그램을 대응 어레이 셀(112)로 분배하는 마스터 셀(126)로 어레이 프로그램을 다운로드한다. 따라서, 마스터 셀(126)은 복수의 어레이 프로그램을 대응하는 소정의 프로세싱 셀(112) 서브세트로 전송하며, 하나 이상의 셀 서브세트 각각의 셀은 동일한 어레이 프로그램을 수신한다.
GUI(314)의 대화식 이용을 통한 칩 개발 플랫폼(309)의 사용자에 의해 또한 어레이 프로그램 생성기(310)(단계 406, 408)에 의해, 어레이 프로그램이 갱신될 때, 프로그램의 변경은 기능 유닛(322)의 입력 및/또는 출력의 타이밍에 영향을 줄 수 있다. 컴파일러(312)는 VLIW 명령어를 형성할 때 스케줄링 목적으로 이러한 타이밍 변경을 알아야 한다. 그 다음, 어레이 프로그램 생성기(310)는 이러한 I/O 타이밍 데이터를 갱신하여 컴파일러(312)로 전송한다(단계 410). 갱신된 어레이 프로그램은 시스템 초기화와 관련하여 상술한 바와 같이 다운로드된다(단계 412). 어레이 프로그램 생성기(310)는 프로그램 변경이 인터페이스(110)의 안정 상태 접속 패턴에 영향을 주는지 여부를 판단한다. 예를 들어, 안정 상태 패턴은, 예를 들어, 어느 I/O 패드(118)가 어느 수학적 연산 단계에서 어느 경계 셀(114)에 접속되는지, 즉, 수학적 연산이 다단의 연산에서 어레이 주변의 입력 피연산자를 수용할 수 있는지를 정의한다. 프로그램 갱신이 안정 상태 패턴을 변경하면(단계 414), 어레이 프로그램 생성기(310)는 재구성 신호를 기능 유닛(322)에 전송한다(단계 416). 바람직하게, 신호는 마스터 셀(126)에 의해 수신되며, 이는 크로스바 스위치(120)의 필요한 접속 타이밍에 영향을 준다.
어레이 프로그램 기능이 도 3의 VLIW 프로세서(302)와 관련해서 설명되었지만, 타이밍 데이터 프로토콜을 제외하고, 동일한 기능이 도 1의 코프로세서 배열(10)에 또한 적용된다. 실제로, 코프로세서가 VLIW 프로세서로서 구현되면, 같은 타이밍 데이터 프로토콜이 적용된다.
무엇이 본 발명의 바람직한 실시예인지를 나타내고 설명하였지만, 본 발명의 사상에서 벗어나지 않는 범위에서 형태 또는 상세한 설명에 대한 여러 수정 및 변경이 용이하게 이루어질 수 있음을 물론 알아야 한다. 예를 들어, 대안으로 구현된 시스템 제어기(104) 및 RAM은 내장형 어레이 프로세서(106) 내에 상주할 수 있다. 따라서, 본 발명은 상술한 예시적인 정확한 형태로 한정되지 않지만, 첨부한 청구 범위내에 포함되는 모든 변경예를 커버하는 것으로 간주되어야 한다.

Claims (20)

  1. 메인 프로세서(20)의 실행 속도보다 큰 실행 속도를 가진 메인 프로세서(20) 부속의 코프로세서(30)에 있어서,
    프로세싱 셀(112)의 2차원 어레이(108)를 포함하며, 상기 어레이 주변 상의 각각의 셀과 인터페이스 모듈 사이의 복수의 정보 경로를 재구성하는 메카니즘(122, 124)을 구비한 인터페이스 모듈(40)에 의해 상기 프로세서에 통신가능하게 결합되어 있는 코프로세서.
  2. 제 1 항에 있어서,
    상기 어레이는 박동형 프로세싱 어레이(106)를 포함하는 코프로세서.
  3. 제 1 항에 있어서,
    상기 경로는 상기 각각의 셀(122, 124)과 1 대 1로 접속되는 코프로세서.
  4. 제 1 항에 있어서,
    상기 코프로세서는 타이밍이 상기 경로(114)를 따르는 입력 피연산자의 흐름을 기초로 하는 수학적 연산을 수행하는 코프로세서.
  5. 제 1 항에 있어서,
    상기 어레이 내의 셀 간 접속은, 열은 동일하고 행은 바로 인접한 셀에만, 또한, 행은 동일하고 열은 바로 인접한 셀(108)에만 상기 어레이의 셀 각각이 접속되는 방식으로, 이루어지는 코프로세서.
  6. 코프로세서(30), 인터페이스 모듈(40) 및 메인 프로세서(20)를 포함하는, 상기 메인 프로세서-코프로세서 접속을 제공하는 상기 인터페이스 모듈과 상기 메인 프로세서와의 접속의 코프로세싱 시스템.
  7. 제 1 항에 있어서,
    상기 2차원 어레이를 포함하는 어레이 프로세서(106)를 포함하는 코프로세서.
  8. 청구항 1의 코프로세서를 포함하는 집적 회로(102).
  9. 청구항 8의 집적 회로를 포함하는 수신기(100).
  10. 제 1 항에 있어서,
    상기 어레이(108)는 직사각형이며, 상기 주변 장치는 상기 어레이(112)의 첫 행, 최종 행, 첫 열 및 최종 열 중 적어도 하나에 위치한 상기 프로세싱 셀로 구성되어 있는 코프로세서.
  11. 제 1 항에 있어서,
    상기 프로세서(20)는 디지털 신호 프로세서를 포함하는 코프로세서.
  12. 제 1 항에 있어서,
    상기 프로세서(20)는 범용 프로세서를 포함하는 코프로세서.
  13. 프로세싱 셀(112)의 2차원 어레이(108)를 구비하며 메인 프로세서(302)의 구성 요소로서 동작하는 기능 유닛(322)으로서, 상기 어레이(122, 124)의 주변 상의 각각의 셀로의 어레이에 대한 복수의 인트라 프로세서 정보 경로를 재구성하는 메카니즘(110)을 구비하는 기능 유닛.
  14. 제 13 항에 있어서,
    상기 프로세서는 훨씬 긴 명령어(VLIW) 프로세서(302)를 포함하는 기능 유닛.
  15. 제 13 항에 있어서,
    상기 어레이(108) 내의 셀 간 접속은, 열은 동일하고 행은 바로 인접한 셀에만, 또한 행은 동일하고 열은 바로 인접한 셀(112)에만 상기 어레이의 셀 각각이 접속되는 방식으로, 이루어지는 기능 유닛.
  16. 제 13 항에 있어서,
    상기 프로세싱 셀(115)의 대응하는 소정의 서브세트에 복수의 어레이 프로그램을 전송(126, 128, 310, 412)하는 수단을 더 포함하는 기능 유닛.
  17. 청구항 16의 프로세서와, 전송되는 어레이 프로그램을 생성하며, 필요한 경우, 프로그램을 갱신(406)하고 상기 갱신된 프로그램을 전송(412)하고, 필요한 경우에, 재구성 신호를 상기 메카니즘에 동시에 전송하여 상기 정보 경로(414, 416)의 현재의 안정 상태 접속 패턴을 대응하여 갱신하는 어레이 프로그램 생성기(310)를 포함하는 시스템.
  18. 제 17 항에 있어서,
    상기 프로그램 갱신(406, 408)에 응답하여, 상기 유닛(410)에 대한 입력 및 출력 타이밍을 나타내는 데이터를 수신하도록 구성되며, 또한 상기 데이터(310, 312)에 기초하여 명령어를 컴파일링하도록 구성된 컴파일러(312)를 더 포함하는 시스템.
  19. 청구항 13의 프로세서를 포함하는 집적 회로(306).
  20. 메인 프로세서(20) 부속의 코프로세서(30)를 인터페이싱하는 방법에 있어서,
    프로세싱 셀(112)의 2차원 어레이(108)를 포함하고 상기 프로세서의 실행 속도보다 큰 실행 속도를 가진 코프로세서를 구성하는 단계와,
    상기 어레이(122, 124) 주변 상의 각각의 셀과 인터페이스 모듈 사이의 복수의 정보 경로를 재구성하는 메카니즘(110)을 구비한 인터페이스 모듈(40)에 의해 상기 코프로세서를 상기 프로세서에 통신가능하게 결합하는 단계
    를 포함하는 인터페이싱 방법.
KR1020057010603A 2002-12-12 2003-11-28 코프로세서, 코프로세싱 시스템, 집적 회로, 수신기, 기능유닛 및 인터페이싱 방법 KR20050085545A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US43280102P 2002-12-12 2002-12-12
US60/432,801 2002-12-12
US47833303P 2003-06-13 2003-06-13
US60/478,333 2003-06-13

Publications (1)

Publication Number Publication Date
KR20050085545A true KR20050085545A (ko) 2005-08-29

Family

ID=32511671

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057010603A KR20050085545A (ko) 2002-12-12 2003-11-28 코프로세서, 코프로세싱 시스템, 집적 회로, 수신기, 기능유닛 및 인터페이싱 방법

Country Status (6)

Country Link
US (1) US20060075213A1 (ko)
EP (1) EP1573571A2 (ko)
JP (1) JP2006510129A (ko)
KR (1) KR20050085545A (ko)
AU (1) AU2003283686A1 (ko)
WO (1) WO2004053717A2 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005026436B4 (de) * 2005-06-08 2022-08-18 Austriamicrosystems Ag Schnittstellenanordnung, insbesondere für ein System-on-Chip, und deren Verwendung
US7382154B2 (en) 2005-10-03 2008-06-03 Honeywell International Inc. Reconfigurable network on a chip
EP2310952A4 (en) * 2008-07-01 2014-09-03 S K Nandy PROCESS AND CHIP SYSTEM (SOC) FOR CUSTOMIZING A CONVERTIBLE HARDWARE FOR ONE TIME APPLICATION
CN104682920A (zh) * 2015-03-10 2015-06-03 中国人民解放军国防科学技术大学 高速脉动阵列滤波器的系数无缝切换方法
CN113867791B (zh) * 2020-06-30 2023-09-26 上海寒武纪信息科技有限公司 一种计算装置、芯片、板卡、电子设备和计算方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093920A (en) * 1987-06-25 1992-03-03 At&T Bell Laboratories Programmable processing elements interconnected by a communication network including field operation unit for performing field operations
EP0428770B1 (de) * 1989-11-21 1995-02-01 Deutsche ITT Industries GmbH Datengesteuerter Arrayprozessor
WO1994006077A1 (de) * 1992-08-28 1994-03-17 Siemens Aktiengesellschaft Rechnersystem mit mindestens einem mikroprozessor und mindestens einem coprozessor und verfahren zu dessen betrieb
US5857109A (en) * 1992-11-05 1999-01-05 Giga Operations Corporation Programmable logic device for real time video processing
US5822605A (en) * 1994-03-24 1998-10-13 Hitachi, Ltd. Parallel processor system with a broadcast message serializing circuit provided within a network
US5892962A (en) * 1996-11-12 1999-04-06 Lucent Technologies Inc. FPGA-based processor
US5970254A (en) * 1997-06-27 1999-10-19 Cooke; Laurence H. Integrated processor and programmable data path chip for reconfigurable computing
US6122719A (en) * 1997-10-31 2000-09-19 Silicon Spice Method and apparatus for retiming in a network of multiple context processing elements
US5974537A (en) * 1997-12-29 1999-10-26 Philips Electronics North America Corporation Guard bits in a VLIW instruction control routing of operations to functional units allowing two issue slots to specify the same functional unit
US6092174A (en) * 1998-06-01 2000-07-18 Context, Inc. Dynamically reconfigurable distributed integrated circuit processor and method
US6434689B2 (en) * 1998-11-09 2002-08-13 Infineon Technologies North America Corp. Data processing unit with interface for sharing registers by a processor and a coprocessor
US6622233B1 (en) * 1999-03-31 2003-09-16 Star Bridge Systems, Inc. Hypercomputer
US20030065904A1 (en) * 2001-10-01 2003-04-03 Koninklijke Philips Electronics N.V. Programmable array for efficient computation of convolutions in digital signal processing

Also Published As

Publication number Publication date
WO2004053717A2 (en) 2004-06-24
WO2004053717A3 (en) 2005-03-17
AU2003283686A1 (en) 2004-06-30
JP2006510129A (ja) 2006-03-23
US20060075213A1 (en) 2006-04-06
AU2003283686A8 (en) 2004-06-30
EP1573571A2 (en) 2005-09-14

Similar Documents

Publication Publication Date Title
Bittner et al. Colt: An experiment in wormhole run-time reconfiguration
US7568086B2 (en) Cache for instruction set architecture using indexes to achieve compression
US6108760A (en) Method and apparatus for position independent reconfiguration in a network of multiple context processing elements
EP2237165B1 (en) Multiprocessor system with specific architecture of communication elements and manufacturing method therefor
EP0298658B1 (en) Computational apparatus for parallel processing
US7873811B1 (en) Polymorphous computing fabric
US6122719A (en) Method and apparatus for retiming in a network of multiple context processing elements
US8949576B2 (en) Arithmetic node including general digital signal processing functions for an adaptive computing machine
KR20050085545A (ko) 코프로세서, 코프로세싱 시스템, 집적 회로, 수신기, 기능유닛 및 인터페이싱 방법
Wolinski et al. A polymorphous computing fabric
Hartenstein et al. An embedded accelerator for real world computing
US20180143940A1 (en) Data processor
JP2005504394A (ja) デジタル信号処理でコンボリューション演算を効率的に行うプログラマブルアレイ
Pechanek et al. MFAST: a single chip highly parallel image processing architecture
CN100470532C (zh) 在片上系统内的阵列处理器的模块化集成
Baklouti et al. Reconfigurable Communication Networks in a Parametric SIMD Parallel System on Chip
Ferreira et al. Reducing interconnection cost in coarse-grained dynamic computing through multistage network
Wijtvliet et al. Concept of the Blocks Architecture
Wang et al. Mixed-mode scheduling for parallel LU factorization of sparse matrices on the reconfigurable HERA computer
Kumar An Fpga Based Simd Architecture Implemented with 2d Systolic Architecture for Image Processing
Jiao et al. A Fully Data-Driven Reconfigurable Architecture with Very Coarse-Grained Execution Units

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application