KR101200598B1 - 집적 데이터 프로세싱 회로 및 집적 회로 제조 방법 - Google Patents

집적 데이터 프로세싱 회로 및 집적 회로 제조 방법 Download PDF

Info

Publication number
KR101200598B1
KR101200598B1 KR1020067004886A KR20067004886A KR101200598B1 KR 101200598 B1 KR101200598 B1 KR 101200598B1 KR 1020067004886 A KR1020067004886 A KR 1020067004886A KR 20067004886 A KR20067004886 A KR 20067004886A KR 101200598 B1 KR101200598 B1 KR 101200598B1
Authority
KR
South Korea
Prior art keywords
router
circuit
programmable processor
circuits
address
Prior art date
Application number
KR1020067004886A
Other languages
English (en)
Other versions
KR20060131730A (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 KR20060131730A publication Critical patent/KR20060131730A/ko
Application granted granted Critical
Publication of KR101200598B1 publication Critical patent/KR101200598B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • 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/8023Two dimensional arrays, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several 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
    • 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/46Multiprogramming arrangements

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)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Abstract

집적 데이터 프로세싱 회로는 프로그램 가능한 프로세서의 매트릭스를 포함한다. 전형적으로 전송 커맨드에 대한 오퍼랜드를 전달하는 각 프로세서(12)는 자신과 인접하는 프로세서(12)와 접속하도록 매트릭스 내에 전용 오퍼랜드 전송 접속부를 구비한다. 추가 트리 통신 구조는 서로 및 프로세서와 계층적으로 접속하는 라우터 회로(16, 18, 19)를 포함한다. 프로세서는 트리 구조의 말단 노드(leaf nodes)를 형성하며, 라우터 회로(16, 18, 19)로는 트리 구조를 통한 경로를 선택적으로 경유하여, 루트 라우터 회로(19)로부터의 주소를 갖는 메시지를 주소 지정된 프로세서(12)로 라우팅하도록 배치되고, 주소의 제어하에 경로의 일부를 각각 선택한다.

Description

집적 데이터 프로세싱 회로 및 집적 회로 제조 방법{INTEGRATED DATA PROCESSING CIRCUIT WITH A PLURALITY OF PROGRAMMABLE PROCESSORS}
본 발명은 2차원 매트릭스로 배치된 복수의 프로그램 가능한 프로세서를 갖는 집적 데이터 프로세싱 회로에 관한 것이다.
병렬 프로세서의 어레이는 종래 기술에 알려져 있다. 잠재적으로, 이러한 어레이는 프로세싱 태스크의 고속 병렬 실행을 용이하게 한다. 실제로, 이러한 어레이의 속도는 프로세서 간의 통신이 필요함에 따라서 발생하였다. 다양한 통신 구조를 제안하였다.
독일 특허 제 3812823 호는 트랜스퓨터(transputer)의 네트워크를 설명한다. 트랜스퓨터(최초로 Inmos가 제조함)는 하나의 프로세서와 전형적으로 4개의 통신 채널을 포함함으로써 이를 통해 프로세서는 자신의 어레이에서 4개의 이웃과 결합할 수 있다. 프로세서 간의 통신은 채널을 통해 흐른다. 어레이에서 인접 이웃이 아닌 2개의 프로세서 사이에 메시지를 전달해야한다면, 이 메시지는 인접 컴퓨터를 통해 이동할 것이다. 채널은 (모든 트랜스퓨터에 대해 의도된) 브로드캐스트 메시 지도 지원한다. 처음 수신되었을 때, 트랜스퓨터는 그들의 모든 이웃으로 브로드캐스트 메시지를 전달할 수 있다.
실제로, 서로 원격인 트랜스퓨터 간의 통신을 위해 인접 트랜스퓨터를 사용하는 것은 상당히 어려운 것으로 알려져 있다. 그러므로 독일 특허 제 3812823 호는 메시지 전송을 처리하는 데 트랜스퓨터 대신에 통신 프로세서의 사용을 설명한다.
다른 예로써, Fujitsu AP 1000 병렬 컴퓨터는 매트릭스에서 조직된 셀의 일부인 복수의 프로세서를 개시한다(상이한 셀은 상이한 인쇄 회로 기판(printed circuit board) 상에 포함됨). 이 병렬 컴퓨터는 셀 간의 통신을 위한 이른바 T-net과 호스트에서 셀까지의 브로드캐스트 통신을 위한 B-net을 포함하는 복수의 통신 네트워크를 사용한다. 프로세서 옆의 각 셀은 라우팅 제어기를 포함하며, T-net은 1개의 셀의 라우팅 제어기와 4개의 인접하는 셀의 라우팅 제어기를 각각 연결한다. 라우팅 제어기는 프로세서 간의 메시지를 라우팅할 수 있다. B-net은 다수의 버스를 포함하여 버스에 전달하는 프로세서 집합 및 링 통신 구조와 각각 결합한다. 호스트 컴퓨터는 링 구조와 결합한다.
잠재적으로 고속 프로세싱이 주어짐으로써, 다수의 상이한 애플리케이션에 대한 애플리케이션 특정 집적 회로에 프로세서 어레이를 사용하는 것이 바람직하다. 이렇게 상이한 애플리케이션을 지원하기 위하여, 사이즈가 정해지지 않은 프로세서 어레이의 회로 설명을 자동으로 생성하는 설계 라이브러리를 제공하는 것이 바람직하다. 그러나, 통신 구조의 설계에는 설계 애로 사항이 존재한다. 알려진 통신 구조는 쉽게 스케일링 가능하지 않다. 즉, 그들은 크기가 특정 범위 내에 있는 어레이에 대해서만 최적이다. 어레이가 상향 스케일링될 때, 통신 지연은 증가한다. 이는 최상의 결과를 위해 통신 구조가 어레이 크기에 따라서 재설계되어야 함을 의미한다. 이것은 라이브러리로 하여금 비효율적이거나 설계하기 어려운 프로세서 어레이를 생성하게 한다.
본 발명의 목적은 스케일링 가능한 통신 구조를 갖는 효율적인 프로세서 어레이를 제공하는 것이다.
본 발명의 목적은 효율적인 프로세서 어레이 및 그들의 통신 구조의 회로를 자동으로 설계하는 설계 생성기를 제공하는 것이다.
본 발명은 청구항 제 1 항에 따른 집적 데이터 프로세싱 회로를 제공한다. 본 발명에 따라서, 적어도 2개의 통신 구조는 집적 회로 상의 어레이 내에 있는 프로세서 간의 통신에 사용된다. 오퍼랜드 기반 최근접 통신이 프로세서들 사이에서 사용되어, 프로세서는 주소를 전달할 필요 없이 오퍼랜드를 그들의 이웃으로 상당히 효율적으로 전달할 수 있다. 또한, 통신 네트워크로 구성되는 트리가 사용된다. 각각의 라우터 회로는 트리를 통과하여 프로세서로 향하는 경로의 일부를 선택한다. 그러므로, 충분한 크기의 어레이에 있어서, 라우터 회로에 대한 적어도 2개의 레벨이 트리 내에 존재하는데, 각 레벨에서의 라우터가 예컨대 메시지 주소로부터의 상이한 슬라이스를 사용함으로써 트리의 다음 레벨에서의 라우터 회로는 라우팅될 메시지를 결정한다. 그러므로, 매트릭스는 트리 구조에서 라우터 회로의 레벨 수를 변경함으로써 용이하게 스케일링될 수 있다. 트리의 모든 레벨에서의 모든 라우터 회로는 트리의 다음 레벨에서의 프로세서 또는 라우터로의 사전결정된 동일한 출력 수를 갖는다. 이것은 자동화 설계를 더 단순화한다.
실시예에서 트리는 4지 트리(quadtree)이다. 전형적인 4지 트리에서 프로세서의 매트릭스는 열과 행을 갖는 정사각형 매트릭스이며, 행과 열의 개수는 2의 거듭제곱으로 동일하다. 트리의 최하위에서의 매트릭스는 각각 2개의 행과 열로 확장하는 정사각형 어레이로 분리되고, 최하위에서의 라우터 회로는 각 정사각형에서 4개의 프로세서와 접속하도록 접속부를 각각 갖는다. 다음 상위에서 정사각형 어레이는 2×2 정사각형인 상위 정사각형으로 분리되며, 이 다음 상위에서 라우터 회로는 정사각형 등에 대해 4개의 라우터 회로와 접속하도록 접속부를 각각 갖는다.
다른 실시예에서, 트리 구조는 어레이로부터의 프로세서 사이에서 메시지를 전송하는 데에도 사용된다. 이러한 경우에 메시지는 소스 프로세서와 목적지 프로세서를 모두 커버하는 라우터에 도달할 때까지, 프로세서에서 트리의 루트 라우터 회로(root router circuit)로 먼저 이동하며 이어서, 목적지 프로세서로 다시 하향한다. 다른 실시예에서 루트 라우터 회로로부터의 메시지와 프로세서로부터의 메시지가 충돌하는 경우 및/또는 복수의 프로세서로부터의 메시지가 충돌하는 경우를 처리하도록, 각각의 라우터 회로에 대해 중재기 회로가 제공되는 것이 바람직하다.
본 발명의 여러 가지 목적 및 이로운 측면은 첨부하는 도면의 설명에 예시될 것이다.
도 1은 프로세서의 어레이를 도시한다.
도 2는 트리 구조를 도시한다.
도 3은 프로세서를 도시한다.
도 4는 라우터 회로를 도시한다.
도 5는 다른 라우터 회로의 메시지 부분을 도시한다.
도 6은 다른 라우터 회로의 핸드쉐이크(handshake)를 도시한다.
도 1은 호스트 컴퓨터(10), 프로세서(12)(명료성을 위해 하나의 참조 번호로만 라벨링)의 어레이 및 라우터 회로(16, 18, 19)를 구비하는 회로를 도시한다. 프로세서는 가장 가까운 인접 접속부(14)(명료성을 위해 하나의 참조 번호로만 라벨링)를 통해 접속한다. 호스트 컴퓨터(10)는 트리 구조 내의 라우터 회로(16, 18, 19)를 통해 프로세서(12)와 접속한다.
도 2는 트리 구조의 조직도를 도시한다(가장 가까운 인접 접속부(14)는 도면에서 생략됨). 트리 구조는 다수의 라우터 회로(16, 18, 19) 층을 포함한다. 호스트 컴퓨터(10)는 루트 라우터 회로(19)와 접속하며, 이로써 4개의 다음 하위 라우터 회로(18)와 접속하고, 이로써 4개의 다음 하위 라우터 회로(16)와 각각 접속하며(명료성을 위해 하나의 참조 번호로만 라벨링), 이로써 4개의 프로세서(12)와 각각 접속함으로써 트리 구조의 최하위에서 말단(leaves)을 형성한다.
도 3은 프로세서(12)의 실시예를 도시한다. 프로세서는 (산술 논리 연산 장치, 인스트럭션 메모리, 프로그램 카운터 등과 같은 기능적 구성 요소를 포함할 수 있는) 프로세싱 회로(20), 레지스터 파일(22), 메모리(24), 출력 유닛(26) 및 다수의 입력 유닛(28a 내지 28d)을 포함한다. 프로세싱 회로(20)는 레지스터 파일(22)과 결합하는 하나의 결과 출력과 오퍼랜드 판독 입력들을 갖는다. 입력 유닛(28a 내지 28d)의 입력은 이웃하는 프로세서(도시 생략)로부터 오퍼랜드를 수신하기 위해 제공하고 레지스터 파일(22)과 결합함으로써 프로세싱 회로(20)는 입력 유닛(28a 내지 28d)으로부터 오퍼랜드를 판독할 수 있다. 프로세싱 회로(20)의 결과 출력은 출력 선택 출력(21)과 함께 출력 유닛(26)과 결합한다. 출력 유닛(26)의 출력은 각 이웃하는 프로세서(도시 생략)로 오퍼랜드를 출력하기 위해 제공한다. 메모리(24)는 자신으로부터 또는 자신에 데이터를 판독하거나 기록하기 위해 프로세싱 회로(20)가 메모리(24)를 지정할 수 있도록 프로세싱 회로(20)와 결합한다. 메모리(24)는 라우터 회로(도시 생략) 중 하나와 결합하는 입/출력(25)을 갖는다.
동작시, 프로세서(12)는 인스트럭션 프로그램을 실행한다. 이용가능한 인스트럭션 세트는 입력 유닛(28a 내지 28d)으로부터 선택된 이웃하는 프로세서(12)로부터의 오퍼랜드를 수신하기 위해 인스트럭션을 포함한다. 또한 인스트럭션 세트는 출력 유닛(26)을 통해 선택된 이웃하는 프로세서(12)의 오퍼랜드에 결과를 출력하기 위한 인스트럭션을 포함한다. 이러한 인스트럭션의 예로서 "로드(load) A,B"와 같은 예에서, A는 전달될 오퍼랜드의 레지스터 주소이고, B는 레지스터 A로부터 오퍼랜드가 전달될 이웃을 식별하는 가상 레지스터 주소이다. 이러한 로드 인스트럭션은 종래의 페치(fetch), 디코딩, 실행, 기록 인스트럭션 사이클로 실행될 수 있다. 이러한 통신 유형은 전적으로 국부적으로 평가되므로 하나의 이웃하는 프로세서(12)가 임의의 다른 프로세서(12)에 영향을 끼치지 않도록 기록한다.
라우터 회로(16, 18, 19)는 호스트 컴퓨터(10)에서 프로세서(12)로 메시지를 전달하는 데 사용된다. 전형적인 메시지는 프로세서(12)의 주소(A)를 포함하되, 이 메시지는 프로세서(12)를 위해 의도된 것으로, 그 뒤에는 메시지 페이로드 데이터가 뒤따른다. 주소는 프로세서(12) 각각을 식별하는 데 필요한 다수의 비트를 포함하는 것이 바람직하다. 64 프로세서(12)의 어레이에서, 주소는 6비트를 포함하는 것이 바람직하다.
도 4는 라우터 회로의 예를 도시한다. 라우터 회로는 주소의 첫 번째 2비트를 저장하기 위해 역다중화기 회로(40)와 2비트 레지스터(42)를 포함한다. 2비트 레지스터(42)는 역다중화기(40)를 포함하여, 2비트에 의해 선택되는 출력 중 하나에 수신된 메시지를 라우팅한다.
동작시, 호스트 컴퓨터(10)는 루트 라우터 회로(19)로 메시지를 전달한다. 루트 라우터 회로(19)는 메시지의 주소(A)로부터 첫 번째 2비트를 추출하여 루트 라우터 회로(19)가 바람직하게는 주소(A)의 원래 첫 번째 2비트 없이 메시지를 선택적으로 전송하는 다음 레벨 라우터 회로(18)의 선택을 제어하는 데 이들 2비트를 사용한다.
선택된 다음 레벨 라우터 회로(18)는 메시지를 수신하여 이 메시지의 원래 주소(A)의 세 번째 및 네 번째 비트를 추출한다(루트 라우터 회로(19)가 주소(A)의 최초 첫 번째 2비트를 억제하면 주소의 첫 번째 2비트가 수신됨). 선택된 다음 레벨 라우터 회로(18)는 다음 레벨 라우터 회로(18)가 바람직하게는 (원래 세 번째 및 네 번째 비트였던) 주소(A)의 첫 번째 2비트 없이 메시지를 선택적으로 전송하는 다음 레벨 라우터 회로(16)의 선택을 제어하는 데 이들 2비트를 사용한다.
이와 유사하게, 선택된 최하위 라우터 회로(16)는 원래 주소로부터 다섯 번째 및 여섯 번째 비트를 추출하여 프로세서(12) 중 하나의 선택을 제어하는 데 이들 비트를 사용하고 선택된 프로세서(12)로 메시지를 전송하는데, 이 메시지는 데이터를 메모리(24)(예컨대, 표준 버퍼 영역 또는 메시지에서 다른 주소에 의해 지정된 위치) 에 기록하는 데 사용된다.
각각의 라우터 회로(16, 18, 19)에서 주소(A)의 첫 번째 2비트를 사용하는 것 및 남아있는 비트의 전송은 단지 최소한의 버퍼 정보를 필요로 하는 균일한 라우터 회로(16, 18, 19)의 사용을 가능하게 하는 이로운 실시예일 뿐이라는 것을 인식해야 한다. 본 발명을 벗어나지 않으면서, 라우터 회로(16, 18, 19)는 라우팅을 제어하는 데 주소 비트의 다른 서브셋을 사용할 수 있다. 특정 레벨에서의 모든 라우터 회로(16, 18, 19)는 주소로부터 동일한 비트를 사용하는 것이 바람직하지만, 임의의 프로세서(12)는 호스트 컴퓨터(10)가 적합한 주소를 제공하는 만큼 필요하지 않다. 사용된 비트를 제거하는 대신에, 주소의 상이한 비트를 사용하도록 상이한 레벨에서의 라우터가 프로그램되는 경우에 모든 비트가 전송될 수 있거나 라우터는 비트를 재배치할 수 있다 (예컨대, 비트를 이동시키고 메시지의 일단에서 외부로 이동된 비트를 메시지의 다른 단으로 다시 이동시킨다).
멀티캐스팅을 지원하는 다른 실시예에서, 마스크 비트(M)를 갖는 메시지를 제공하되, 각 마스크 비트는 각 주소 비트 또는 한 쌍의 주소 비트 또는 큰 주소 비트 그룹에 제공될 수 있다. 마스크 비트가 설정되면, 라우터 회로(16, 18, 19)는 해당하는 주소 비트를 "이상 무"로써 처리하여 주소 비트의 상이한 값에 의해 지정되는 프로세서(12) 또는 다음 하위 라우터 회로로 메시지를 전달한다. 그러므로, 예컨대, 각 레벨에 3가지 마스크 비트 제공함으로써 라우터 회로(16, 18, 19)는 선택된 프로세서의 하위 라우터 회로 또는 모두에게로 브로드캐스트하도록 설정될 수 있다. 예컨대, 마스크 비트(011)를 갖는 루트 라우터 회로(19)는 선택된 라우터 회로로 메시지를 전달하고, 모든 하위 라우터 회로는 모든 하위 회로로 메시지를 전송하여 16개의 프로세서의 주소가 지정된다.
도 1 및 도 2에 도시된 계통적 아키텍처는 단지 예시로써 주어진 것임을 인식해야 한다. 모든 프로세서(12)가 동일한 레벨에 귀속될 필요는 없다. 임의의 라우팅 회로 대신에 프로세서가 트리 구조에 귀속될 수 있다. 예컨대 프로세서의 수가 2의 거듭제곱이 아니라면 이것을 실행한다. 이론에 있어서 프로세서는 하나 이상의 라우터 회로와 접속할 수 있다(프로세서는 복수의 입력을 가짐). 그러므로 프로세서는 하나 이상의 주소를 갖는다. 1:4 라우터 회로 대신에 다른 분기율을 사용할 수 있다(1:2 또는 1:8과 같이 2의 거듭제곱이 바람직함).
프로세서의 2×2 블록과 라우터 회로를 접속하는 대신에 형태 또는 크기가 상이한 다른 영역을 사용할 수 있다.
다른 실시예에서 프로세서(12)는 라우터 회로를 통해 추가 메시지를 전달하도록 배치된다. 프로세서(12)로부터의 추가 메시지는 다른 프로세서(12) 및/또는 호스트 컴퓨터(10)를 선택할 수 있는 주소를 포함한다. 기본적으로 이 실시예의 라우터 회로는 2개의 부분을 포함하는데, 하나는 메시지가 프로세서(12)를 향하는 하향 전송이고, 다른 하나는 프로세서(12)로부터 벗어나는 상향 전송이다. 또한 교차 접속은 상향부에서 하향부로 추가 메시지를 전달하기 위해 제공된다. 하향부는 상술한 내용과 대부분 유사하다. 하위 라우터 회로 또는 프로세서로 메시지를 분산하는 역다중화기(40) 대신에 하위 라우터 회로 또는 프로세서(12) 중 선택된 것들로부터 메시지를 전달하는 데 다중화기를 사용한다는 것을 제외하고는, 라우터 회로의 상향부는 하향부와 유사하다. 교차 접속은 상향 주소가 전달된 추가 메시지인지, 라우터 회로에 의해 "제공된" 프로세서인지를(즉, 메시지 하향을 전달함으로써 이루어질 수 있음) 체크하도록 배치된다. 만일 그렇다면, 추가 메시지는 전술한 것처럼 하향부에 공급되어 전송된다. 추가 메시지에 대한 동일한 유형의 주소는 하향 메시지에 관하여 사용될 수 있다. 그러나 실시예에서는 프로세서와 관련된 주소를 사용할 수 있다. 예컨대, 소스 주소가 비트(a0, a1, a2 등)를 포함하고 목적지 주소가 비트(b0, b1, b2 등)를 포함하면 추가 메시지의 상대 주소(C)는 (a0+b0, a1+b1, a2+b2 등)이며, "+"는 배타적 논리합(exclusive OR)을 나타낸다. 이러한 경우에, 상대 주소(C)에서 상위 라우터 회로에 의해 사용되는 모든 주소 비트가 0임을 증명함으로써 메시지가 상향 전송에서 하향 전송으로 크로스오버되어야 하는지를 라우터 회로에서 검출하는 것이 가능하다. 라우터 회로가 추가 메시지를 상향으로 전달할 때, 추가 메시지를 수신하는 프로세서(12) 또는 라우터 회로의 선택에 해당하는 주소 비트를 변화시킨다.
예컨대, 주소(010111)를 갖는 프로세서(12)가 주소(011001)를 갖는 프로세서로 추가 메시지를 전송하면, 상대 주소(C)는 001110이다. 주소(C)를 수신함에 따라서 하위 라우터 회로(16)는 (C)의 첫 번째 4비트가 0이 아닌지를 판단하고, 주소가 C' = 001101이 되도록 마지막 2비트를 변경한 후에 다음 상위 라우터 회로(18)로 추가 메시지를 전송한다. 다음 상위 라우터 회로(18)는 (C)의 첫 번째 2비트가 0인지를 판단하고, C'' = 001001와 같이 중간 비트 2쌍을 변경한 후에 하향 전송을 통하여 추가 메시지를 전달한다. 이 주소의 마지막 4비트는 현재 하향 라우팅을 제어하는 데 사용된다. 이러한 방식으로 라우터는 자신이 사용되는 레벨에만 적합시킬 필요가 있지만, 이를 제공하는 어떠한 매트릭스 부분도 존재하지 않는다.
중재 메커니즘은 메시지가 충돌하지 않음을 보장하는 데 사용되는 것이 바람직하다. 이론에 있어서, 충돌하는 메시지가 발생하지 않도록 프로세서 및 호스트 컴퓨터의 프로그램이 배치될 때 중재 메커니즘은 필요하지 않다. 이러한 경우에 임의의 메시지는 검출되기만 하면 전달될 것이다(예컨대, 상이한 소스로부터의 메시지 신호의 논리합(OR)을 전송함으로써).
그러나, 예를 들어 호스트 컴퓨터(10)로부터의 메시지에 우선권을 부여함으로써, 호스트 컴퓨터(10) 또는 프로세서(12)로부터의 메시지들 사이의 최소한의 충 돌을 검출하고 중재하는 것이 바람직하다. 이것은 프로세서에서 실행중인 프로그램과 관계없이 호스트 컴퓨터(10)로부터의 메시지 전달을 가능하게 한다. 다른 실시예에서 프로세서(12)로부터의 메시지들 사이의 충돌도 중재된다. 이것은 프로그램에 대한 임의의 조합의 실행을 가능하게 한다. 중재기 회로는 상/하향 경로 및 교차 커플링을 사용하면서 병렬로 제공된다. 예컨대 종래의 요청 및 확인 핸드쉐이크와 같은 임의의 중재 메커니즘을 사용할 수 있다. 이 실시예에서 프로세서(12)와 호스트 컴퓨터(10)는 메시지가 전달되어야 할 때 요청 신호를 어써트하며(assert), 중재기는 (a) 요청에 대하여 응답하여야 함을 선택하고 (b) 메시지의 목적지 쪽으로 요청을 전송하며 (c) 목적지로부터 요청에 대한 확인을 수신하고 (d) 소스로 확인을 다시 전송한다. 물론 데이지 체인(daisy-chained) 중재 또는 12C 버스 등에 사용된 알려진 다른 종류의 중재 구조를 사용할 수 있다.
도 5 및 도 6은 요청 및 확인 핸드쉐이크를 사용하는 라우터 회로의 실시예의 일부를 도시한다. 기본적으로 도 5는 라우터 회로의 메시지부를 도시하고 도 6은 핸드쉐이크부를 도시한다. 두 부분은 하나는 위에서 아래로, 다른 하나는 아래에서 위로 흐르며 두 경로 간의 크로스오버도 가능한 2개의 병렬 경로로 이루어진 동일한 구조를 갖는다.
도 5는 도 4에 도시된 구성 요소를 포함하되, 이는 역다중화기(40)와 2비트 레지스터(42)이다. (A)는 2비트 레지스터(42)로부터의 선택 신호를 나타낸다. 또한 도 5는 하위 라우터 회로 또는 프로세서로부터인 "아래로부터의" 메시지를 다중화하는 제 1 다중화기(50)를 도시한다. 주소 검출기(52)는 라우터 회로가 제공한 영역에서 아래로부터의 메시지 주소가 프로세서를 지정하는지 판단하고, 만약 그렇다면 신호(C)를 생성하여 메시지의 크로스오버를 발생시킨다. 제 2 역다중화기(54)는 신호(D)의 제어하에서 아래에서 제 2 다중화기(56)나 상위 라우터 회로로 메시지를 전달한다. 제 2 다중화기(56)는 "위로부터" 수신된 메시지를 상위 라우터 회로나 중앙 프로세서에서 역다중화기(40) 및 2비트 레지스터(42)로 다중화한다.
도 6은 라우터 회로의 핸드쉐이크를 도시한다. 이 부분은 프로세서 및 라우터 회로 "아래"로 핸드쉐이크 인터페이스를 갖는 제 1 핸드쉐이크 다중화 회로(60)를 포함한다. 핸드쉐이크 다중화 회로(60)는 필요하다면 두드러진 요청 사이에서 중재하고, 획득한 요청을 확인하며, 요청이 획득한 신호 라인(B) 상에서 요청에 의한 추적과 신호를 발생시킨다. 신호 라인(B)은 메시지가 도 5의 제 1 다중화기(50)에 의해 전달되는 입력을 제어한다. 요청 역다중화기(64)는 도 5의 크로스오버 선택 신호(C)에 의해 제어되며, 라우터 회로 "위" 또는 크로스오버하는 제 2 핸드쉐이크 역다중화 회로(66)로 요청에 의한 추적을 전달한다(신호(C)를 생성하기 위해 분석될 메시지 주소를 허용하도록, 요청에 의한 추적은 지연으로 발생할 수 있다).
제 2 핸드쉐이크 역다중화기 회로(66)는 필요하다면 두드러진 요청과 위로부터의 요청 사이에서 중재하고, 획득한 요청을 확인하며, 요청이 획득한 신호 라인(D) 상에서 요청에 의한 추가 추적과 신호를 발생시킨다. 신호(D)는 제 2 다중화기(56)를 제어한다. 요청에 의한 추가 추적은 2비트 레지스터(42)로부터의 신호 (A)가 선택한 제 2 핸드쉐이크 역다중화기로 전달되어, 선택된 라우터 회로의 "위로부터"의 핸드쉐이크에 대한 핸드쉐이크 입력으로 요청에 의한 추가 추적을 전달한다(다시 말해, 요청에 의한 추가 추적은 메시지로부터의 신호(C)의 발생을 허용하도록 지연으로 생성될 수 있다). 다중화기(64)와 역다중화기(60, 68)는 선택된 핸드쉐이크 접속을 통해 서로 대향하는 요청 및 확인 신호를 전달한다. 이들 핸드쉐이크 회로(60, 66, 68)는 원래 알려져 있다.
이제 본 발명은 집적 회로 배치를 자동으로 생성하는 동안 용이하게 스케일링될 수 있는 상당히 일반적인 구조를 제공하도록 구현될 것이다. 설계 단계에서 프로세서 매트릭스의 크기는 애플리케이션에 따라서 선택된다. 프로세서가 배치되고 인접하는 프로세서와 접속한다. 트리 구조에서의 레벨 수는 프로세서의 수(선택적으로 매트릭스의 최대 폭 및 최대 길이)에 따라서 선택된다. 라우터 회로는 각 레벨에 대하여 추가되어 하위 및 상위에서 라우터 회로 또는 프로세서(12)나 호스트 컴퓨터(10)와 접속한다. 관련 비트가 항상 메시지의 동일한 위치에 존재하도록 라우터 회로가 주소 비트를 제거하거나 재배열한다면, 사용된 레벨에 따라서 라우터 회로를 적합시킬 필요는 없다.

Claims (11)

  1. 2차원 매트릭스로 배치된 프로그램 가능한 프로세서(12)?각각의 프로그램 가능한 프로세서(12)는 상기 매트릭스 내에서 자신과 인접하는 프로그램 가능한 프로세서(12)에 대해 전용 오퍼랜드 전송 접속부(private operand transfer connections)를 가지고, 상기 전용 오퍼랜드 전송 접속부는 상기 2차원 매트릭스 내의 각각의 프로그램 가능한 프로세서로 하여금 자신의 인접하는 프로그램 가능한 프로세서로 주소를 전송함이 없이 오퍼랜드를 전송하게 함?와,
    트리 구조로 상호 간에, 및 상기 프로그램 가능한 프로세서(12)에 계층적으로 접속되는 라우터 회로(16, 18, 19)를 포함하는 통신 구조체를 포함하되,
    상기 라우터 회로(16, 18, 19)는 루트 라우터 회로(19)와 하위 레벨 라우터 회로(16, 18)를 포함하고,
    상기 프로그램 가능한 프로세서(12)는 상기 트리 구조의 말단 노드(leaf nodes)를 형성하며,
    상기 하위 레벨 라우터 회로(18, 19)는 상기 트리 구조를 통한 경로를 선택적으로 경유하여 상기 루트 라우터 회로(19)로부터 주소 지정된 프로그램 가능한 프로세서(12)로 주소(address)를 갖는 메시지를 라우팅하도록 구성되고,
    상기 하위 레벨 라우터 회로(16, 18)의 각각은 상기 주소를 이용하여 상기 경로의 일부를 선택하는
    집적 데이터 프로세싱 회로.
  2. 제 1 항에 있어서,
    상기 프로그램 가능한 프로세서(12)의 각각은 상기 전용 오퍼랜드 전송 접속부 중 선택된 하나의 전용 오퍼랜드 전송 접속부를 거쳐 커맨드(command)의 오퍼랜드를 전송하도록 상기 커맨드를 지원하는
    집적 데이터 프로세싱 회로.
  3. 제 1 항에 있어서,
    상기 주소는 복수의 비트를 포함하되,
    각각의 라우터 회로(16, 18, 19)는 상기 비트의 슬라이스를 선택하도록 구성되고,
    상기 라우터 회로(16, 18, 19)는 상기 슬라이스내의 비트에만 의존하여 상기 트리 구조내의 그들의 계층적 하위 후속 라우터 회로(16, 18) 또는 프로그램 가능한 프로세서(12)에 대한 라우팅을 제어하며,
    후속 라우터 회로(16, 18, 19)는 각각 상기 루트 라우터 회로(19)로부터 각각의 프로그램 가능한 프로세서(12)로의 각각의 경로를 따라 상이한 슬라이스를 각각 선택하는
    집적 데이터 프로세싱 회로.
  4. 제 1 항에 있어서,
    각각의 특정 라우터 회로(16, 18, 19)는 상기 트리 구조를 통해 상기 특정 라우터 회로(16, 18, 19)에 직접 또는 간접적으로 접속되는 상기 프로그램 가능한 프로세서(12)의 영역을 포함하는 상기 매트릭스 내의 영역과 관련이 있되,
    계층적으로 상위인 임의의 라우터 회로(18, 19)와 관련된 계층적으로 상위인 영역은 상기 계층적으로 상위인 임의의 라우터 회로(18, 19)에 직접 접속되는 계층적으로 하위인 라우터 회로(16, 18)의 공간적으로 분리된 후속 영역(spatially separate successor regions)으로 분할되는
    집적 데이터 프로세싱 회로.
  5. 제 4 항에 있어서,
    상기 트리 구조는 4지 트리(quadtree)이되,
    각각의 라우터 회로는 4개의 계층적 하위 후속 라우터 회로(16, 18) 또는 프로그램 가능한 프로세서(12)와 접속되며, 상기 상위 영역을, 상기 4개의 계층적 하위 후속 라우터 회로(16, 18) 또는 프로그램 가능한 프로세서(12)의 각각과 관련된 4개의 4분면(four quadrants)으로 분할하는
    집적 데이터 프로세싱 회로.
  6. 제 5 항에 있어서,
    상기 주소는 복수의 비트를 포함하되,
    각각의 라우터 회로는 상기 비트 중 2개 비트로 이루어진 슬라이스를 선택하도록 구성되고,
    상기 라우터 회로는 상기 슬라이스내의 비트에만 의존하여 상기 트리 구조의 그들의 계층적 하위 후속 라우터 회로(16, 18) 또는 프로그램 가능한 프로세서(12)에 대한 라우팅을 제어하며,
    후속 라우터 회로는 각각 상기 루트 라우터 회로(19)로부터 각각의 프로그램 가능한 프로세서(12)로의 각각의 경로를 따라 상이한 슬라이스를 선택하는
    집적 데이터 프로세싱 회로.
  7. 제 1 항에 있어서,
    상기 라우터 회로(16, 18, 19)는 또한, 상기 프로그램 가능한 프로세서(12) 중 특정 제 2 프로그램 가능한 프로세서로부터, 상기 프로그램 가능한 프로세서(12) 중 특정 제 1 프로그램 가능한 프로세서의 추가 주소를 갖는 추가 메시지를 라우팅하도록 구성되되, 상기 추가 메시지가 상기 프로그램 가능한 프로세서(12) 중 주소 지정된 제 1 프로그램 가능한 프로세서에 대해 작동하는(serve) 라우터 회로(16, 18, 19)에 도달할 때까지, 상기 루트 라우터 회로(19)를 향하는 제 1 방향으로 상기 트리 구조를 통과하는 제 1 부경로를 경유하고, 이어서 상기 프로그램 가능한 프로세서(12) 중 제 1 프로그램 가능한 프로세서를 향하여 상기 트리 구조를 통과하는 제 2 부경로를 경유하여 전송을 크로스오버(crossing over)하게 라우팅되도록 구성되며, 이때 상기 라우터 회로(16, 18, 19)는 상기 추가 주소의 제어하에 상기 제 2 부경로를 선택하되, 각각의 라우터 회로는 상기 추가 주소를 이용하여 상기 제 2 부경로내에서 계층적 하위 후속 라우터 회로 또는 상기 프로그램 가능한 프로세서(12)를 선택하는
    집적 데이터 프로세싱 회로.
  8. 제 7 항에 있어서,
    상기 데이터 프로세싱 회로는,
    상기 라우터 회로(16, 18, 19)의 각각의 라우터 회로와 각각 관련되고 상기 루트 라우터 회로(19)로부터의 상기 메시지와 크로스오버에 따른 상기 추가 메시지 사이의 충돌을 중재하도록 구성되는 중재기 회로(60, 66)를 포함하는
    집적 데이터 프로세싱 회로.
  9. 제 8 항에 있어서,
    상기 중재기 회로(60, 66)는 상기 프로그램 가능한 프로세서(12) 중 상이한 프로그램 가능한 프로세서로부터의 상기 추가 메시지들 사이의 충돌을 중재하도록 구성되는
    집적 데이터 프로세싱 회로.
  10. 제 1 항에 있어서,
    상기 메시지 내의 상기 프로그램 가능한 프로세서(12) 중 선택된 하나의 프로그램 가능한 프로세서로 프로세싱에 사용되는 파라미터를 전송하도록 구성되는 공통 제어 유닛을 포함하는
    집적 데이터 프로세싱 회로.
  11. 집적 회로를 제조하는 방법으로서,
    프로그램 가능한 프로세서(12)의 2차원 매트릭스의 크기(dimensions)를 선택하는 제 1 단계와,
    설계 컴퓨터를 사용하여 상기 매트릭스 내에 상기 프로그램 가능한 프로세서(12)를 레이아웃하기 위한 인스트럭션을 생성하는 제 2 단계와,
    상기 설계 컴퓨터를 사용하여 상기 매트릭스 내에 인접하는 프로그램 가능한 프로세서(12)의 쌍 사이의 전용 오퍼랜드 전송 접속부를 레이아웃하기 위한 인스트럭션을 생성하는 제 3 단계?상기 전용 오퍼랜드 전송 접속부는 상기 2차원 매트릭스 내의 각각의 프로그램 가능한 프로세서로 하여금 자신의 인접하는 프로그램 가능한 프로세서로 주소를 전송함이 없이 오퍼랜드를 전송하게 함?와,
    상기 설계 컴퓨터를 사용하여, 라우터 회로(16, 18, 19)가 트리 구조에서 상호 간에, 및 상기 프로그램 가능한 프로세서(12)에 계층적으로 접속하도록 상기 라우터 회로(16, 18, 19)를 레이아웃하기 위한 인스트럭션을 자동으로 생성하는 제 4 단계?상기 프로그램 가능한 프로세서(12)는 상기 트리 구조의 말단 노드(leaf nodes)를 형성하고, 상기 라우터 회로(16, 18, 19)는 상기 트리 구조를 통과하는 경로를 선택적으로 경유하여, 루트 라우터 회로(19)로부터 주소 지정된 프로그램 가능한 프로세서(12)로 주소를 갖는 메시지를 라우팅하도록 구성되고, 상기 라우터 회로(16, 18, 19) 각각은 상기 주소를 이용하여 상기 경로의 일부를 선택하며, 상기 설계 컴퓨터는 상기 트리 구조에서 라우터 회로(16, 18, 19)의 레벨 수를 선택함?와,
    상기 제 1 단계, 상기 제 2 단계, 상기 제 3 단계 및 상기 제 4 단계에서 생성된 레이아웃에 따라 상기 집적 회로를 제조하는 제 5 단계를 포함하는
    집적 회로 제조 방법.
KR1020067004886A 2003-09-09 2004-08-20 집적 데이터 프로세싱 회로 및 집적 회로 제조 방법 KR101200598B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP03103322 2003-09-09
EP03103322.8 2003-09-09
PCT/IB2004/051510 WO2005024644A2 (en) 2003-09-09 2004-08-20 Integrated data processing circuit with a plurality of programmable processors

Publications (2)

Publication Number Publication Date
KR20060131730A KR20060131730A (ko) 2006-12-20
KR101200598B1 true KR101200598B1 (ko) 2012-11-12

Family

ID=34259263

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067004886A KR101200598B1 (ko) 2003-09-09 2004-08-20 집적 데이터 프로세싱 회로 및 집적 회로 제조 방법

Country Status (8)

Country Link
US (1) US20070165547A1 (ko)
EP (1) EP1665065B1 (ko)
JP (1) JP4818920B2 (ko)
KR (1) KR101200598B1 (ko)
CN (1) CN1849598A (ko)
AT (1) ATE374973T1 (ko)
DE (1) DE602004009324T2 (ko)
WO (1) WO2005024644A2 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070124565A1 (en) * 2003-06-18 2007-05-31 Ambric, Inc. Reconfigurable processing array having hierarchical communication network
JP4755033B2 (ja) * 2006-07-05 2011-08-24 ルネサスエレクトロニクス株式会社 半導体集積回路
US20080126472A1 (en) * 2006-08-28 2008-05-29 Tableau, Llc Computer communication
US20080052429A1 (en) * 2006-08-28 2008-02-28 Tableau, Llc Off-board computational resources
US20080052490A1 (en) * 2006-08-28 2008-02-28 Tableau, Llc Computational resource array
US20080052525A1 (en) * 2006-08-28 2008-02-28 Tableau, Llc Password recovery
US7962717B2 (en) * 2007-03-14 2011-06-14 Xmos Limited Message routing scheme
WO2008154775A1 (en) * 2007-06-20 2008-12-24 Agate Logic, Inc. A programmable interconnect network for logic array
JP4676463B2 (ja) * 2007-07-13 2011-04-27 株式会社日立製作所 並列計算機システム
US7826455B2 (en) * 2007-11-02 2010-11-02 Cisco Technology, Inc. Providing single point-of-presence across multiple processors
CN101320364A (zh) * 2008-06-27 2008-12-10 北京大学深圳研究生院 一种阵列处理器结构
US8307116B2 (en) * 2009-06-19 2012-11-06 Board Of Regents Of The University Of Texas System Scalable bus-based on-chip interconnection networks
US10698859B2 (en) * 2009-09-18 2020-06-30 The Board Of Regents Of The University Of Texas System Data multicasting with router replication and target instruction identification in a distributed multi-core processing architecture
KR101594853B1 (ko) * 2009-11-27 2016-02-17 삼성전자주식회사 컴퓨터 칩, 및 상기 컴퓨터 칩에서의 정보 라우팅 방법
CN102063408B (zh) * 2010-12-13 2012-05-30 北京时代民芯科技有限公司 一种多核处理器片内数据总线
JP5171971B2 (ja) * 2011-01-17 2013-03-27 ルネサスエレクトロニクス株式会社 半導体集積回路
WO2013106210A1 (en) 2012-01-10 2013-07-18 Intel Corporation Electronic apparatus having parallel memory banks
CN104813306B (zh) * 2012-11-21 2017-07-04 相干逻辑公司 具有散布处理器dma‑fifo的处理系统
US10452399B2 (en) 2015-09-19 2019-10-22 Microsoft Technology Licensing, Llc Broadcast channel architectures for block-based processors
US11062203B2 (en) * 2016-12-30 2021-07-13 Intel Corporation Neuromorphic computer with reconfigurable memory mapping for various neural network topologies
US10713558B2 (en) * 2016-12-30 2020-07-14 Intel Corporation Neural network with reconfigurable sparse connectivity and online learning
US10963379B2 (en) 2018-01-30 2021-03-30 Microsoft Technology Licensing, Llc Coupling wide memory interface to wide write back paths
CN111866069A (zh) * 2020-06-04 2020-10-30 西安万像电子科技有限公司 数据处理方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030123492A1 (en) 2001-05-14 2003-07-03 Locke Samuel Ray Efficient multiplexing system and method

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4251861A (en) * 1978-10-27 1981-02-17 Mago Gyula A Cellular network of processors
US4860201A (en) * 1986-09-02 1989-08-22 The Trustees Of Columbia University In The City Of New York Binary tree parallel processor
DE68920388T2 (de) * 1988-09-19 1995-05-11 Fujitsu Ltd Paralleles Rechnersystem mit Verwendung eines SIMD-Verfahrens.
US5161156A (en) * 1990-02-02 1992-11-03 International Business Machines Corporation Multiprocessing packet switching connection system having provision for error correction and recovery
DE4129614C2 (de) * 1990-09-07 2002-03-21 Hitachi Ltd System und Verfahren zur Datenverarbeitung
US5561768A (en) * 1992-03-17 1996-10-01 Thinking Machines Corporation System and method for partitioning a massively parallel computer system
US6000024A (en) * 1997-10-15 1999-12-07 Fifth Generation Computer Corporation Parallel computing system
US6622233B1 (en) * 1999-03-31 2003-09-16 Star Bridge Systems, Inc. Hypercomputer
US6745317B1 (en) * 1999-07-30 2004-06-01 Broadcom Corporation Three level direct communication connections between neighboring multiple context processing elements
JP2001167066A (ja) * 1999-12-08 2001-06-22 Nec Corp プロセッサ間通信方法及びマルチプロセッサシステム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030123492A1 (en) 2001-05-14 2003-07-03 Locke Samuel Ray Efficient multiplexing system and method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
High-Throughput Switch-Based Interconnect for Future SoCs(PANDE, P. P. et al. In: Proceedings of The 3rd IEEE International Workshop on System-on-Chip for Real-Time Applications, 2003. 07.)

Also Published As

Publication number Publication date
JP4818920B2 (ja) 2011-11-16
WO2005024644A3 (en) 2005-05-06
DE602004009324D1 (de) 2007-11-15
EP1665065A2 (en) 2006-06-07
KR20060131730A (ko) 2006-12-20
JP2007505383A (ja) 2007-03-08
US20070165547A1 (en) 2007-07-19
EP1665065B1 (en) 2007-10-03
DE602004009324T2 (de) 2008-07-10
ATE374973T1 (de) 2007-10-15
CN1849598A (zh) 2006-10-18
WO2005024644A2 (en) 2005-03-17

Similar Documents

Publication Publication Date Title
KR101200598B1 (ko) 집적 데이터 프로세싱 회로 및 집적 회로 제조 방법
US10282338B1 (en) Configuring routing in mesh networks
US8737392B1 (en) Configuring routing in mesh networks
US8151088B1 (en) Configuring routing in mesh networks
AU645292B2 (en) System for interconnecting router elements with parallel computer
US7975068B2 (en) System and method for self configuration of reconfigurable systems
JP4547198B2 (ja) 演算装置、演算装置の制御方法、プログラム及びコンピュータ読取り可能記録媒体
JPH07152722A (ja) Simdマルチプロセッサ用動的再構成可能スイッチ装置
CN101578767A (zh) 包含可编程逻辑单元矩阵的电路
US20070124565A1 (en) Reconfigurable processing array having hierarchical communication network
KR102539572B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
JP2009059346A (ja) 複数のマルチモードプロセッサに接続するための方法および装置
JPH08235143A (ja) クラスタ構成の並列計算機
KR102539574B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
US11740911B2 (en) Switch for routing data in an array of functional configurable units
US11556494B1 (en) Defect repair for a reconfigurable data processor for homogeneous subarrays
US11409540B1 (en) Routing circuits for defect repair for a reconfigurable data processor
JP2005078177A (ja) 並列演算装置
EP0240354A1 (en) Memory Architecture for multiprocessor computers
JP5365639B2 (ja) 半導体プログラマブルデバイス及び半導体プログラマブルデバイスにおける信号転送方法
US7064578B1 (en) Distributed bus structure
JPH09179840A (ja) 並列計算機におけるプロセッサ間結合網
JP2008047055A (ja) シングルポートメモリ・モジュールおよびそれを使用するデュアルcpuシステム

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
N231 Notification of change of applicant
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151030

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161028

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171027

Year of fee payment: 6