KR20070061538A - Simd 프로세서 및 데이터 통신 방법 - Google Patents

Simd 프로세서 및 데이터 통신 방법 Download PDF

Info

Publication number
KR20070061538A
KR20070061538A KR1020077005487A KR20077005487A KR20070061538A KR 20070061538 A KR20070061538 A KR 20070061538A KR 1020077005487 A KR1020077005487 A KR 1020077005487A KR 20077005487 A KR20077005487 A KR 20077005487A KR 20070061538 A KR20070061538 A KR 20070061538A
Authority
KR
South Korea
Prior art keywords
processing element
data
memory
memory array
array
Prior art date
Application number
KR1020077005487A
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 KR20070061538A publication Critical patent/KR20070061538A/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
    • 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
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Image Processing (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Microcomputers (AREA)

Abstract

SIMD(single instruction multiple data) 프로세서(1)는 복수의 처리 요소(PE0...PEN)를 포함하는 처리 요소 어레이(10)와, 메모리 부분들(141...14N)로 동작가능하게 분할된 메모리 어레이(14)―각각의 메모리 부분은 특정 처리 요소에 할당됨―를 포함한다. 제 1 처리 요소(PEN)은 해당 제 1 처리 요소에 할당된 메모리 어레이(14)의 일부분을 액세스하고, 또한, 제 2 처리 요소에 할당된 메모리 어레이의 일부분을 액세스하도록 동작가능하다. 그러한 액세스는 액세스될 메모리 위치에 할당된 처리 요소를 나타내는 인덱스 값을 이용하여 수행된다.

Description

SIMD 프로세서 및 데이터 통신 방법{INTERCONNECTIONS IN SIMD PROCESSOR ARCHITECTURES}
본 발명은 SIMD(single instruction multiple data) 프로세서 아키텍쳐에서의 상호접속에 관한 것이다.
멀티미디어 애플리케이션의 증가되는 복잡성으로 인해, 보다 큰 계산 성능이 계속해서 요구되고 있다. 이와 관련하여, 데이터 및 태스크 레벨 병렬화를 이용하는 매체 가속기를 사용함으로써 병렬 처리를 이용하는 범용 CPU(central processing unit) 및 DSP(digital signal processor)가 개발되어 왔다.
그러나, 그러한 매체 가속기는 고성능을 달성시의 전통적인 CPU 아키텍쳐의 제한에 대처하기 위한 노력에서의 개선에 불과한 것이다. 따라서, 그러한 해결책은 동작의 유닛당 고전력 소모를 초래하게 된다. 잠재적으로 보다 성공적인 방안은 전력 효율적인 아키텍쳐를 제공하기 위해 이용가능한 완전한 데이터 병렬화를 이용한다. 한 가지의 그러한 아키텍쳐는 SIMD 처리 방법에 근거하는 Xetal(예를 들면, "Smart Cameras: Architectural Challenges", Proceedings of ACIVS 2002, Ghent, Belgium을 참조)이다. 그러한 방법은 대량의 병렬화로 인한 데이터의 국부성을 보존하고, 인스트럭션 및 어드레스 디코더와 같은 자원의 공유를 허용하는데, 이들 둘다는 전력 소모 감소를 위해 중요한 것이다.
도 1은 SIMD 아키텍쳐를 도시하는 블록도이다. 아키텍쳐(1)는 복수의 처리 요소 PE-0...PE-N을 포함하는 처리 요소 어레이(10)를 포함한다. 처리 요소 PE-0 내지 PE-N은 입력 라인 메모리(12)로부터 데이터를 수신하며, 입력 라인 메모리(12)는 입력 전처리 유닛(40)을 통해 데이터(3)를 수신한다. 또한, SIMD 아키텍쳐(1)는 메모리 부분들로 동작가능하게 분할되는 동작 메모리 어레이(14)를 포함한다. 각각의 메모리 부분은 처리 요소 어레이(10)내의 처리 요소들 중 특정한 하나와 관련된다. 어레이(10)내의 처리 요소는 동작 메모리 어레이(14)로/로부터 데이터를 전송하여, 처리 요소에 의해 수신된 인스트럭션에 따라 해당 데이터를 처리할 수 있다. 출력 라인 메모리 유닛(16)은, 출력 후처리 유닛(50)을 통해, 데이터를 출력하기 위해 제공된다.
어레이(10)는 프로그램 메모리(30)에 저장된 프로그램에 따라 동작하는 글로벌 제어 프로세서(20)에 의해 제어된다. 제어 프로세서(20)는 검색된 프로그램에 따라 처리 요소 어레이에 인스트럭션을 공급하도록 동작한다.
입력 라인 메모리 유닛(12)은 입력되는 데이터의 직렬-병렬 변환을 제공하고, 출력 라인 메모리 유닛(14)은 출력되는 데이터의 병렬-직렬 변환을 제공한다. 비디오 처리 애플리케이션에서, 출력 경로에 직렬 프로세서(50)가 제공되어, 비디오 프레임에서의 사전정의된 대상 영역으로부터 통계 정보를 추출한다. 이러한 정보는 오토 화이트 밸런스(auto-white balance) 및 노출 시간 제어와 같은 적응적 비디오 처리를 위해 이용될 수 있다.
SIMD 아키텍쳐 (및 유사한 병렬 처리 머신)에서의 중요한 문제는, 처리 요소들 사이의 상호통신(inter-communication)의 정도(degree)이다. 통신 채널의 수가 증가할수록, 소정의 신호 처리 알고리즘의 실행은 더욱 효율적이다. 필터링과 같은 알고리즘은 이웃하는 데이터 요소들의 범위에 걸친 기본적인 콘볼루션 동작을 포함하고, 프로세서간 통신 채널로부터 이점을 얻는다.
PE당 N 데이터 요소의 상호접속 레벨을 가정한다면(대부분의 화상 처리 커넬의 경우 N≥3임), 최소의 대기 시간으로 N 데이터 요소 전부에 대한 액세스를 갖기 위해, PE는 N 통신 채널을 필요로 한다. N 대 1 스위치(멀티플렉서)는 N 채널 중 하나를 PE 입력에 접속할 필요가 있다. 도 2는 6개의 인접하는 데이터 포인트들로부터의 데이터를 액세스하는 PE의 논리적 통신 경로를 도시한다. 이것은 PE와 메모리 사이의 매우 복잡한 상호접속 네트워크를 초래함을 쉽게 이해할 것이다.
실제로, 통신의 정도가 커지고 설계시의 처리 요소의 수가 많을수록, 실리콘 영역 및 성능에 대한 최적의 상호접속 토폴로지를 찾기 위해서는, 설계 시간의 관점에서 물리적인 설계가 더욱 복잡해진다. 상호접속 네트워크의 복잡도를 감소시키는 것은, SIMD 아키텍쳐에 있어서 중요한 문제이다. 그러한 문제를 성공적으로 해결하지 못한다면, 통상적으로 대량의 병렬 시스템이 유효하지 않을 것이다.
따라서, 비용 효율적이고 실행가능한 PE 대 PE 통신 및 PE 대 메모리 통신이 가능한 방법이 필요하다.
발명의 개요
본 발명의 하나의 양상에 따르면, 복수의 처리 요소를 포함하는 처리 요소 어레이와, 메모리 부분들로 동작가능하게 분할된 메모리 어레이―각각의 메모리 부분은 특정 처리 요소에 할당됨―를 포함하되, 제 1 처리 요소는 해당 제 1 처리 요소에 할당된 메모리 어레이의 일부분을 액세스하고, 또한, 제 2 처리 요소에 할당된 메모리 어레이의 일부분을 액세스하도록 동작가능하며, 그러한 액세스는 액세스될 메모리 부분에 할당된 처리 요소를 나타내는 인덱스 값을 이용하여 수행되는 것을 특징으로 하는 SIMD 프로세서가 제공된다.
도 1은 SIMD 처리 아키텍쳐를 도시하는 블록도이다.
도 2는 도 1의 아키텍쳐내의 메모리 전송 부분을 도시하는 블록도이다.
도 3 및 4는 본 발명의 하나의 양상을 구현하는 인터리빙 기법을 도시한다.
도 5는 본 발명을 구현하는 인터리빙 기법을 위한 PE 누산기 및 제어 값을 도시한다.
도 6은 도 3 내지 5의 기법들의 구현을 도시한다.
도 7은 본 발명을 구현하는 다른 기법을 도시한다.
본 발명의 실시예는 종래에 고려된 아키텍쳐 및 기법의 단점을 완화시킬 수 있는 SIMD 아키텍쳐 및 기법을 제공할 수 있다. 특히, 본 발명의 실시예는 동작 라인 메모리 어레이(14)를 통한 데이터의 PE 대 PE 상호통신을 가능하게 하는 것과 관련된다. 본 발명의 실시예는 도 1을 참조하여, 그리고 또한 비디오 처리를 참조하여 기술될 것이며, 처리 요소를 이용하여 디스플레이 장치상의 화소에 대한 컬러 및 다른 비디오 값을 생성한다. 이러한 개시 내용에서 기술된 처리 기법들은 비디오 데이터 이외의 데이터에도 적용될 수 있음을 쉽게 이해할 것이다.
PE의 수가 라인당 화소의 수보다 적도록 제한하는 데에는 이유가 있는데, 예를 들면, 실리콘 효율성을 위해서, 또는 입력 데이터 개체가 2x2 화소 이상인 경우에 그러하다. 완전한 병렬 SIMD 아키텍쳐보다 적은 PE가 되도록 계산적인 요구가 만족되는 애플리케이션에서 유사한 상황이 발생될 수 있다.
본 발명의 실시예는 N 대 1 스위치 및 관련된 상호접속 복잡도를 단순한 3 대 1 스위치로 감소시킬 수 있는 메모리 인터리빙 기법을 이용한다. 그러한 3 대 1 스위치는 WO2002/093905에 개시된 것과 같은 스태거 레이아웃 기법(staggered layout technique)을 이용하여 구현될 수 있다. 도 3 및 4는 PE의 수가 라인당 화소 수의 각각 절반 및 1/4인 경우에 대해, 본 발명을 구현하는 인터리빙 화소 저장 기법을 도시한다. PE의 어레이에 대한 인터페이스는 입력 및 출력 데이터 라인들에 의해 도시된다. 두 도면에서, 컬러(적색(R), 녹색(G), 청색(B))는 완전한 화상 라인이며, 그것의 화소들은 PE의 수에 대해 분할된 열에서 적절하게 위치된다.
PE 대 PE의 이웃하는 통신이 가능하도록, 동작 라인 메모리 어레이(14)는 임의의 외부 상호접속 비용없이, 현존하는 어드레싱 메카니즘을 이용한다. 도 3으로부터 볼 수 있듯이, 처리 요소의 수가 화소 수의 절반인 가장 단순한 경우, 메모리 어레이 부분 14O...149에 3개의 화소 값의 두 그룹이 할당됨을 볼 수 있다. 각각의 화소는 적색, 녹색 및 청색 값(R, G, B에 의해 표시됨)을 갖는다. 도 3에서, 화소 수는 메모리 어레이에서 나타내진다. 따라서, 화소 0에 대한 값에는 R0, GO, BO이 주어지고, 화소 1에 대한 값에는 R1, G1, B1이 주어지는 등으로 된다. 화소 0 및 1에 대한 화소 값은 제 1 메모리 어레이 부분 140에 할당된다. 마찬가지로, 나머지 동작 라인 메모리 어레이 부분들에는 화소 값들의 각 쌍이 할당된다.
도 4는 처리 요소의 수가, 디스플레이될 화소 수의 1/4인 경우를 도시한다. 따라서, 각각의 동작 라인 메모리 어레이 부분 140...149에는, 4개의 화소 각각에 대한 적색, 녹색, 청색 값이 할당된다. 도 4는 이것이 달성될 수 있는 방법을 도시한다.
제 1 처리 요소가 이웃 (제 2) 처리 요소에 할당된 메모리 부분에 저장된 데이터를 액세스할 수 있도록 하기 위해, 메모리 액세스는 데이터가 검색될 제 1 처리 요소에 할당된 메모리 부분에 대하여, 메모리 부분을 나타내는 인덱스 값을 이용함으로써 달성된다.
도 5는 적절한 인덱싱에 의해 동작 메모리 어레이(14)내에서 PE 대 PE 통신이 실현되는 방법을 도시한다. 메모리 위치를 PE 누산기로 복사하는 단순한 PE 작업이 예로서 이용된다. (a)에 도시된 2 화소 인터리빙의 경우, 인덱스 (0, 1)은 PE에 할당된 화소를 액세스하는데 이용되고, (-2, -1) 및 (2, 3)은 좌측 및 우측 PE에 할당된 화소를 액세스하는데 각각 이용된다. (b)에서의 4 화소 인터리빙에 대해 도시된 바와 같이, 동일한 방안이 보다 높은 인터리빙도에 대해 확장될 수 있다.
도 6은 도 3, 4, 5에서 기술된 기법들의 한 가지 가능한 구현을 도시한다. 각각의 PE(PEN-1, PEN, PEN+1)는 관련된 멀티플렉서 MN-1, MN, MN+1을 갖는다. 멀티플렉서는 관련된 처리 요소에 할당된 메모리 어레이 부분으로부터 데이터를 수신하고, 또한, 이웃하는 (좌측 및 우측) 처리 요소 메모리 어레이 부분으로부터 데이터를 수신하도록 접속된다. 도 6에서, PEN은 그 자신의 메모리 부분 14N으로부터 및 좌측 PE(PEN-1) 및 우측 PE(PEN+1)에 각각 할당된 메모리 부분 14N-1 및 14N+1로부터 데이터를 수신할 수 있음을 볼 수 있다. 도 5에 도시된 값들을 이용함으로써, 각각의 멀티플렉서를 통해 정확한 데이터 경로가 선택될 수 있다. 도 5에서, PE Task로 라벨링된 열은 예시적인 누산기 값을 나타내고, Effect@PE10 및 Effect@PE14로 라벨링된 열은 처리 요소(10, 14)에서 각각 검색되는 화소 값을 나타낸다. PE Mux Select 열은 PE 멀티플렉서가 제어되는 방법을 나타낸다.
이러한 메모리 인터리빙 방안은, PE의 수가 라인당 데이터 요소의 수보다 정수 계수만큼 적은 경우에 매력적인 것으로 입증된다. 그러나, (완전한 병렬 SIMD 아키텍쳐의 경우와 같이) 라인당 데이터 요소만큼 많은 PE가 존재한다면, 인터리빙이 수행되지 않으며, 따라서, 상호 PE 통신과 관련하여 이점이 없다. 상이한 특정 인덱스 값, 예를 들면, (-1, 0, 1)을 이용하여, 동일한 기법들이 성공적으로 이용될 수 있다. 기법들은 특정 비디오 값에 한정되지 않는다.
다행히도, SIMD 아키텍쳐에서의 PE가 많을수록, 알고리즘 부하는 동일하게 유지되므로, 클록킹 속도가 더 느려진다. 이러한 느려진 속도는 필요한 PE 대 PE 통신을 제공하기 위해, 시간 분배형 통신 인터페이스를 실현하는데 이용될 수 있다. 기본적인 사상은 N 시프터를 이용하여 하나의 시스템 클록내에서 N 좌측/우측 시프트를 행함으로써, 데이터 요소들을 적절한 PE에 대해 정렬하는 것이다. 최대 허용가능한 시프트의 수(Nmax)는 시프트마다 요구되는 시간(tshift), 시스템 클록의 주기(Tsyst) 및 부하 동작을 수행하기 위해 PE에 의해 취해진 시간(tload)에 의존한다.
Figure 112007019032679-PCT00001
이러한 방안의 가능한 구현이 도 7에 도시되어 있다. 그러한 구현은, 각각의 처리 요소 및 메모리 어레이 부분에 대해, 멀티플렉서 M 및 레지스터 R을 포함한다. 도 7에 도시된 바와 같이, PE1은 관련된 멀티플렉서 M1 및 레지스터 R1을 갖는다. 멀티플렉서 및 레지스터에 대한 클록킹 신호를 제어하는 시프트 제어기(103)가 제공된다. 이러한 클록킹 신호(local_clock)는 클록 유닛(101)에 의해 제공된다. 메모리 부분 출력은 해당 메모리 부분과 관련된 멀티플렉서 및 이웃하는 멀티플렉서에 접속된다. 따라서, 메모리 부분 1(PE1)의 경우, 메모리 부분 D1로부터 출력된 데이터가 멀티플렉서 M1에 접속된다. 멀티플렉서의 출력은 적절한 레지스터 R1에 접속된다. 클록 신호 CLK가 인에이블링될 때, 레지스터 R1에 대한 입력은 출력 Q1로부터 PE1로 출력된다. 레지스터는 통상적인 형태로 동작한다. 각각의 레지스터 출력은 이웃하는 멀티플렉서에도 또한 공급되어, PE1에 대한 멀티플렉서 M1이 메모리 부분 1(D1)으로부터의 입력 및 레지스터 R0, R2로부터의 출력을 수신하게 된다. 도 7의 데이터 전송 유닛의 동작은 다음과 같다. 즉, 베이스 어드레스에서의 데이터가 제 1 로컬 클록 주기 동안 레지스터내로 로딩된다. 그 다음, N 로컬 클록 펄스가 생성되어 N 시프트를 수행한다. 시프트 방향 및 시프트의 횟수는 제어기에 의해 정해진다. 그 다음, 제어기는 클록 발생기를 인에이블링/디스에이블링시킴으로써 정확한 동작을 결정한다. 로컬 클록의 주기는 적절한 단 기능(stage functioning)을 허용하도록 설정된다.
PE의 수가 라인당 데이터 요소의 수보다 적은 경우, 시프터 및 메모리 인터리빙 기법을 결합하여, PE의 액세스 범위를 최대화할 수 있다.
시프터 기반 방안은 가속(speed-up) 영역을 IC의 작은 부분으로 한정하여, 데이터 요소들을 정렬시키기 위해 다수의 시프트 복사 동작을 실행하도록 모든 PE 및 글로벌 상호접속을 가속시켜, 동일한 기능을 실현하는데 필요한 전력 소모를 절약한다.
시프터 기반 방안은 원리적으로 입력 데이터 선택 mux를 PE로부터 메모리 인터페이스 모듈로 이동시킨다.
따라서, 본 발명은 실시예는 비용 효율적이고 실행가능한 PE 대 PE, 및 PE 대 메모리 통신이 달성될 수 있도록 하는 방법 및 기법을 제공할 수 있다.

Claims (7)

  1. SIMD(single instruction multiple data) 프로세서(1)에 있어서,
    복수의 처리 요소(PE0...PEN)를 포함하는 처리 요소 어레이(10)와,
    메모리 부분들(141...14N)로 동작가능하게 분할된 메모리 어레이(14)―각각의 메모리 부분은 특정 처리 요소에 할당됨―를 포함하되,
    제 1 처리 요소(PEN)는 상기 제 1 처리 요소에 할당된 상기 메모리 어레이(14)의 일부분을 액세스하고, 또한, 제 2 처리 요소에 할당된 상기 메모리 어레이의 일부분을 액세스하도록 동작가능하며, 그러한 액세스는 액세스될 메모리 위치에 할당된 처리 요소를 나타내는 인덱스 값을 이용하여 수행되는 것을 특징으로 하는
    SIMD 프로세서.
  2. 제 1 항에 있어서,
    상기 인덱스 값은 상기 처리 요소 및 관련된 상기 메모리 어레이의 부분에서의 어드레스를 나타내는 SIMD 프로세서.
  3. 제 1 항에 있어서,
    상기 인덱스 값은 상기 제 1 처리 요소에 대한 상기 제 2 요소의 위치를 나타내는 SIMD 프로세서.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    각각의 처리 요소에 대해, 데이터를 관련된 상기 처리 요소로 전송하기 위한 데이터 경로를 선택하도록 동작가능한 멀티플렉서를 더 포함하되, 상기 데이터 경로는 복수의 메모리 어레이 부분으로부터 선택되는 SIMD 프로세서.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    제어기 및 클록 신호 발생기를 갖는 데이터 전송 유닛과, 각각의 처리 요소에 대한 멀티플렉서 및 레지스터를 포함하되,
    상기 레지스터는 데이터 항목을 관련된 상기 처리 요소로 공급하고, 상기 관련된 멀티플렉서로부터 데이터 항목을 수신하도록 접속되며, 상기 멀티플렉서는 상기 인덱스 값에 따라 복수의 데이터 입력 중 하나를 선택하도록 동작가능한 SIMD 프로세서.
  6. 메모리 어레이에 저장된 데이터를 액세스하도록 각각 동작가능한 처리 요소들의 SIMD 어레이에서 처리 요소들 사이에 데이터를 통신하는 방법에 있어서,
    상기 메모리 어레이의 개별적인 부분을 상기 어레이내의 상기 처리 요소에 할당하는 단계와,
    상기 어레이내의 제 1 처리 요소에 대해, 상기 메모리 어레이 부분이 할당되는 상기 처리 요소를 나타내는 인덱스 값을 이용하여, 상기 제 1 및 제 2 처리 요소에 할당된 상기 메모리 어레이의 부분들을 액세스하는 단계를 포함하는
    데이터 통신 방법.
  7. 제 6 항에 있어서,
    관련된 상기 처리 요소에 공급하기 위한 데이터는 멀티플렉서를 이용하여 선택되는 데이터 통신 방법.
KR1020077005487A 2004-09-09 2005-09-08 Simd 프로세서 및 데이터 통신 방법 KR20070061538A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0420004.4A GB0420004D0 (en) 2004-09-09 2004-09-09 Interconnections in SIMD processor architectures
GB0420004.4 2004-09-09

Publications (1)

Publication Number Publication Date
KR20070061538A true KR20070061538A (ko) 2007-06-13

Family

ID=33186717

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077005487A KR20070061538A (ko) 2004-09-09 2005-09-08 Simd 프로세서 및 데이터 통신 방법

Country Status (9)

Country Link
US (1) US7596679B2 (ko)
EP (1) EP1792258B1 (ko)
JP (1) JP2008512762A (ko)
KR (1) KR20070061538A (ko)
CN (1) CN101014948A (ko)
AT (1) ATE468564T1 (ko)
DE (1) DE602005021374D1 (ko)
GB (1) GB0420004D0 (ko)
WO (1) WO2006027751A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007135635A1 (en) * 2006-05-24 2007-11-29 Nxp B.V. Integrated circuit arrangement for carrying out block and line based processing of image data
KR20090018093A (ko) * 2006-06-08 2009-02-19 코닌클리케 필립스 일렉트로닉스 엔.브이. Simd 프로세서 상의 패턴 검출
US7441099B2 (en) * 2006-10-03 2008-10-21 Hong Kong Applied Science and Technology Research Institute Company Limited Configurable SIMD processor instruction specifying index to LUT storing information for different operation and memory location for each processing unit
FR2918190B1 (fr) * 2007-06-26 2009-09-18 Thales Sa Dispositif d'adressage pour processeur parallele.
CN102112983A (zh) 2008-08-06 2011-06-29 Nxp股份有限公司 Simd并行处理器架构
JP5532132B2 (ja) 2009-11-26 2014-06-25 日本電気株式会社 Simdモードで動作するプロセッシング・エレメントの内部メモリに分散記憶された正方マトリックス及びその転置マトリックスに、時間と面積の効率良いアクセスを可能とする装置及び方法
US10061590B2 (en) 2015-01-07 2018-08-28 Micron Technology, Inc. Generating and executing a control flow
WO2018169911A1 (en) * 2017-03-14 2018-09-20 Yuan Li Reconfigurable parallel processing
KR102586173B1 (ko) * 2017-10-31 2023-10-10 삼성전자주식회사 프로세서 및 그 제어 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4827403A (en) * 1986-11-24 1989-05-02 Thinking Machines Corporation Virtual processor techniques in a SIMD multiprocessor array
JPH05120321A (ja) * 1991-10-30 1993-05-18 Sony Corp 行列計算の演算方法
JPH0713956A (ja) * 1993-06-28 1995-01-17 Toshiba Corp Simd型並列計算機データ転送装置
US5638533A (en) * 1995-10-12 1997-06-10 Lsi Logic Corporation Method and apparatus for providing data to a parallel processing array
US5960211A (en) * 1995-12-15 1999-09-28 Hughes Aircraft Data formatting method and apparatus for a data processing array
US6018814A (en) * 1997-03-26 2000-01-25 Simd Solutions, Inc. Star-I: scalable tester architecture with I-cached SIMD technology
JPH11353289A (ja) * 1998-06-10 1999-12-24 Mitsubishi Electric Corp 並列処理プロセッサ及び並列処理方法
US7185174B2 (en) 2001-03-02 2007-02-27 Mtekvision Co., Ltd. Switch complex selectively coupling input and output of a node in two-dimensional array to four ports and using four switches coupling among ports
KR100401946B1 (ko) * 2001-08-10 2003-10-17 박종원 주소계산과 자료이동방법 및 이를 이용한 충돌회피 기억 장치

Also Published As

Publication number Publication date
GB0420004D0 (en) 2004-10-13
WO2006027751A1 (en) 2006-03-16
CN101014948A (zh) 2007-08-08
EP1792258B1 (en) 2010-05-19
US7596679B2 (en) 2009-09-29
ATE468564T1 (de) 2010-06-15
DE602005021374D1 (de) 2010-07-01
JP2008512762A (ja) 2008-04-24
US20080320273A1 (en) 2008-12-25
EP1792258A1 (en) 2007-06-06

Similar Documents

Publication Publication Date Title
US5421019A (en) Parallel data processor
KR20070061538A (ko) Simd 프로세서 및 데이터 통신 방법
US6067609A (en) Pattern generation and shift plane operations for a mesh connected computer
US5410727A (en) Input/output system for a massively parallel, single instruction, multiple data (SIMD) computer providing for the simultaneous transfer of data between a host computer input/output system and all SIMD memory devices
US3537074A (en) Parallel operating array computer
US6185667B1 (en) Input/output support for processing in a mesh connected computer
CN108170640B (zh) 神经网络运算装置及应用其进行运算的方法
KR100280854B1 (ko) 데이타 처리 장치 및 데이타 처리 방법
JPS62208158A (ja) マルチプロセツサシステム
KR19990077230A (ko) 이미지-처리 프로세서
GB2122781A (en) Multimicroprocessor systems
KR20010031192A (ko) 기계시각시스템에서의 영상데이터와 같은 논리적으로인접한 데이터샘플들을 위한 데이터처리시스템
US4939642A (en) Virtual bit map processor
US7409529B2 (en) Method and apparatus for a shift register based interconnection for a massively parallel processor array
US4524428A (en) Modular input-programmable logic circuits for use in a modular array processor
WO1984000226A1 (en) Interconnecting plane for modular array processor
US4543642A (en) Data Exchange Subsystem for use in a modular array processor
EP2304594B1 (en) Improvements relating to data processing architecture
JPH09505921A (ja) 並列データ処理プロセッサ
US8024549B2 (en) Two-dimensional processor array of processing elements
US7284113B2 (en) Synchronous periodical orthogonal data converter
KR101031680B1 (ko) 고속 pe 간 데이터 재배치 기능을 갖는 프로세서 어레이 시스템
CN113867798A (zh) 集成计算装置、集成电路芯片、板卡和计算方法
CN111630505A (zh) 深度学习加速器系统及其方法
JP2000339440A (ja) マイクロプロセッサおよび画像処理プロセッサ

Legal Events

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