KR940000293B1 - 단순화된 동기적 메시 프로세서 - Google Patents

단순화된 동기적 메시 프로세서 Download PDF

Info

Publication number
KR940000293B1
KR940000293B1 KR1019900011437A KR900011437A KR940000293B1 KR 940000293 B1 KR940000293 B1 KR 940000293B1 KR 1019900011437 A KR1019900011437 A KR 1019900011437A KR 900011437 A KR900011437 A KR 900011437A KR 940000293 B1 KR940000293 B1 KR 940000293B1
Authority
KR
South Korea
Prior art keywords
processor
logic
array
bit
processors
Prior art date
Application number
KR1019900011437A
Other languages
English (en)
Other versions
KR910003515A (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 KR910003515A publication Critical patent/KR910003515A/ko
Application granted granted Critical
Publication of KR940000293B1 publication Critical patent/KR940000293B1/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
    • 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

Abstract

내용 없음.

Description

단순화된 동기적 메시 프로세서
제1도는 본 발명에 다른 프로세서 메시 어레이의 블록다이어그램.
제2도는 제1도의 메시 프로세서 어레이의 프로세서들의 상호접속 관계를 도시하는 블록다이어그램.
제3도는 본 발명에 따른 메시 프로세서의 일반적인 개략 회로도.
제4도는 제3도의 메시 프로세서를 특정하게 구현시킨 개략적인 회로도.
제5도는 제4도의 회로의 멀티플렉서를 특정하게 구현시킨 개략적인 회로도.
제6A도 내지 제6M도는 제4도 및 제5도에서 도시된 바와같은 프로세서를 포함하는 메시 프로세서를 이용한 모듈로 8 가산 프로세서의 특정 실시예를 개략적으로 도시하는 도면.
* 도면의 주요부분에 대한 부호의 설명
10 : 메시 프로세서 어레이 20 : 제어기
40 : 열 선택회로 50 : 행 선택회로
100, 211, 213 : 멀티플렉서 NOUTR, SOUTR, EOUTR, WOUTR : 출력 레지스터
NR, SR, ER, WR : 입력 레지스터
본 발명은 일반적으로 메시 프로세싱 어레이에 관한 것으로, 특히, 1 비트 메시 프로세서 및 그 1 비트 프로세서를 이용하는 메시 프로세서 어레이 아키텍처에 관한 것이다.
메시 프로세서 어레이는 일반적으로 대등한 메시 프로세서들이 격자 형상, 예를들면, 행과 열로 상호 접속되어 있는 병렬 처리의 형태로 구성되어 있다. 각각의 프로세서는 그와 인접한 프로세서들과 연결되는데(예들들면, 행과 열 구성에서 최대 네개씩), 데이타 입력/출력은 격자 어레이의 주변에 있는 프로세서를 통하여 제공된다. 통상적으로, 프로세서는 제어신호(예로, 제어워드 또는 op 코드)를 병렬로 수신하며, 병렬로 클릭된다.
알려진 메시 프로세서의 실시예는 NCR 45 CG 72 어레이 프로세서와 AMT DAP 어레이 프로세서를 포함한다.
몇가지 알려진 메시 프로세서에 대하여 중요한 고려사항은 소수의 용도를 제외하고는 전형적으로 충분히 크지 않은(예로, 128 비트) 프로세서 셀당 사용된 저장장치(메모리)의 할당이다. 복수의 실제 프로세서 셀을 포함하는 가상 프로세서 셀을 사용하므로써 보다 큰 메모리 요건이 충족되기는 하지만, 이것은 가상 셀 메모리가 실제 셀 메모리 크기의 정수배를 차지하기 때문에 일반적으로 메모리를 낭비하는 결과가 된다.
알려진 메시 프로세서 어레이에 대한 다른 고려사항은 특별 기능 장치 또는 다른 특별한 하드웨어가 일부의 시간때만 이용되므로써 효과적으로 이용되지 않는다는 것이다.
큰 메모리 및 특별 하드웨어의 사용 결과로서, 알려진 프로세서 어레이는 매우 커지며 고속의 클럭에서 작동될 수 없다.
그러므로, 복잡하지 않으면서 메시 프로세서 어레이에서 효과적으로 이용되는 메시 프로세서를 제공하는 것이 유리할 것이다.
다른 장점은 고속으로 클릭될 수 있는 메시 프로세서 및 어레이를 제공하는 것일 것이다.
또다른 장점은 메모리를 효과적으로 이용하게 해주는 메시 프로세서 및 어레이를 제공하는 것이다.
전술한 장점 및 다른 장점은 본 발명에 의해 행렬로 배열된 복수의 1 비트 프로세서 셀을 포함하는 메시 프로세서 어레이에서 제공된다. 각각의 프로세서의 인접한 프로세서로부터 또는 외부 입력원으로 부터 입력을 수신하며 그 자체의 현재 출력과 그 프로세서로의 입력을 수반하는 논리 기능을 수행한다. 제어 회로는 수행될 논리 기능을 나타내는 제어 정보를 각각의 프로세서에 병렬로 제공하며, 선택 회로는 프로세서중의 선택된 프로세서가 제어정보에 응답하게 해준다.
상술한 본 발명의 장점 및 특징은 다음의 상세한 설명과 첨부도면을 참고하여 볼 때 기술에서 숙련된 자에 의해 쉽게 인지될 것이다.
다음의 상세한 설명과 여러 도면에 있어서, 같은 요소는 같은 참조번호로 표시된다.
제1도를 참조하면, 메시 프로세서 어레이(10)의 블록다이어그램이 도시되는데, 이 어레이는 M열×N행의 격자형으로 배열된 단일 셀 프로세서를 포함하는 프로세서 어레이(30)의 동작을 제어하는 제어기(20)를 포함한다, 제어기(20)는 K비트의 op코드(op-code) INST를 어레이(30)의 동작을 제어하는 제어기(20)를 포함한다. 제어기(20)는 K비트의 op코드(op-code) INST를 어레이(30)의 각각의 프로세서에 제공한다. 제어기(20)는 또한 열 패턴 워드 CSELECT를 열 선택회로(40)에 제공하며, 행 패턴 워드 RSELECT를 행 선택회로(50)에 제공한다. L개의 사전 결정된 프로세서의 출력 OUT은 제어기(20)로 제공될 수 있으며, 여기서 L은 제로 또는 그보다 큰 수이다. 이러한 출력은 op코드 INST의 내용을 제어하기 위한 데이타 종속 알고리즘 (data dependent algorithm)과 함께 이용되는 것이 유리하다.
열 선택 회로(40)는 M개의 1비트 열 선택 출력 Ci제공하며, 그 출력의 각각은 ith열의 모든 프로세서에 연결된다. 행 선택 회로(50)은 N개의 1비트 행 선택 출력 Rj를 제공하며, 그 출력의 각각의 jth행의 모든 프로세서에 연결된다. 예시적인 실시예로서, 열 패턴워드 CSELECT는 열 선택 출력 Ci중의 어느 것이 액티브(active)인가를 식별하는 한편, 행 패턴 위드 RSELECT는 행 선택 출력 Rj중의 어느 것이 액티브인가를 식별한다. 열 선택 회로(40)와 행 선택 회로(50)는 열 및 행 패턴의 현재 상태를 기억하기 위한 내부 메모리를 포함하는 것으로 구성되어서, 기억된 패턴 정보에 기초될 수 있는 다른 프로세서를 어드레스하는 절차를 제공할 수 있다는 사실을 알아야 한다.
제2도에 보다 정확히 도시된 바와같이, 프로세서 어레이(30)는 M×N의 단일 셀 프로세서(Pi.j)를 포함하는데, 여기서 각각의 프로세서(Pi.j)는 하나의 데이타 출력을 제공하며, 입력의 발생지에 대하여 편리한 참조를 제공하는 나침판의 방위인 북(North), 남(Sorth), 동(East), 서(West)로 지칭하여 표시된 입력 N, S, E, W에서 네개까지의 데이타 입력을 수신할 수 있다. N에서의 입력은 위쪽의 프로세서에서 온 것이고, S에서의 입력은 아래쪽에서 온 것이고, E에서 입력은 오른쪽에서 온 것이며, W에서 입력은 왼쪽에서 온 것이다.
각각의 프로세서는 프로세서의 현재 출력 및/또는 그 프로세서로의 어떠한 또는 모든 입력을 수반하는 논리 기능을 수행하도록 구성된다. 오퍼랜드(operand)및 논리 기능은 op코드 INST에 의해 규정될 것이다.
보다 특히 각각의 프로세서로의 입력에 대하여, 어레이의 주변에 있는 프로세서가 아닌 각각의 프로세서는 네개의 입력으로서 직각 방향으로 인접한 네개의 프로세서로부터 출력을 수신한다. 어레이의 주변에 있되 구석에 있지 않은 각각의 프로세서는 직각방향으로 인접한 세개의 프로세서의 각각의 출력으로부터 세개의 입력을 수신하며, 하나의 외부 압력을 더 수신할 수 있다. 어레이의 구석에 있는 프로세서는 직각 방향으로 인접한 두개의 프로세서의 각각의 출력으로 부터 두개의 입력을 수신하며, 두개의 외부 입력을 더 수신할 수 있다.
외부 입력은 북, 남, 동 및 서 에지를 따라서 어레이의 주변에 있는 프로세서들에 제공될 수 있다. 그러한 에지를 따라서 있는 입력은 Ni, Si, Ej, Wj로서 식별되는데, 여기서 i=1 내지 M이며 j=1 내지 N이다. 상기 규정된 바와같이, M열과 N행의 프로세서가 있다. 외부 입력은 제1도에 개략적으로 도시된 바와같이 어레이의 N,S,E,W에지와 각기 연관된 레지스터(NR,SR,ER,WR)에 의해 편리하게 입력가능하도록 되어 있다.
어레이로의 외부 입력을 문자 S로 식별하고 프로세서(Pi,j)의 출력 Si,j의 지정과 일치하는 첨자에 의해(말하자면, 마치 외부 입력들이 부가적인 열 또는 행의 프로세서의 출력인 것처럼 그 외부 입력들을 취급함으로써), 어레이로의 입력은 다음과 같이 규정될 수 있다:
북 : Ni=Si,j, 여기서 i=1 내지 M이며 j=N+1이다.
남 : Si=Si,j, 여기서 i=1내지 M이며 j=0이다.
동 : Ej=Si,j, 여기서 i=N+1이며 j=1 내지 N이다.
서 : Wi=Si,j, 여기서 i=0이며 j=1 내지 N이다.
각각의 프로세서(Pi,j)출력 Si,j는 네개의 장소까지, 즉, 어떠한 직각 방향으로 인접한 프로세서로의 입력으로서 또는 외부 출력으로서 연결될 수 있다. 그리하여, 프로세서 어레이의 주변에 있는 프로세서가 아닌 각각의 프로세서 출력은 직각 방향으로 인접한 네개의 각각의 프로세서에 입력으로서 제공된다. 주변에 있되 구석에 있지 않은 각각의 프로세서의 출력은 직각 방향으로 인접한 세개의 각각의 프로세서에 입력으로서 제공되며 하나의 외부 출력을 수신한다. 어레이의 구석에 있는 각각의 프로세서의 출력은 직각 방향으로 인접한 두개의 각각의 프로세서의 입력으로서 제공되며 두개의 외부 출력을 수신한다.
이용되는 나침판 방위의 용어의 관점에서 볼 때, 외부출력은 에러이의 북, 남, 동 및 서 에지를 따라서 있는 프로세서에 의해 제공되고, 각기 NOUTi, SOUTi, EOUTj, 및 WOUTj로 식별되는데, 여기서 i=1 내지 M이며, j=1 내지 N이다. 상기 규정한 바와같이, M열과 N행의 프로세서가 있다. 외부 출력은 프로세서 어레이의 N,S, E,W에지의 각기 연관된 출력 레지스터(NOUTR,SOUTR,EOUTR,WOUTR)로 편리하게 제공된다.
용이한 참조를 위하여, 프로세서 어레이의 구석에서의 출력은 동일하다는 사실을 알아야 한다. 그래서, 예를들면, NOUTM은 EOUTM과 같은데, 그 이유는 둘다 프로세서, PM,N에 의해 제공되기 때문이다. 프로세서 어레이 출력은 상이하게 구성될 수 있지만, 이러한 구성은 행 및 열 구성과 일관성을 유지하게 된다.
프로세서 어레이의 출력이 프로세서 어레이의 에지에 있는 프로세서의 출력이기 때문에, 어레이의 출력은 다음과 같이 표시될 수 있다:
북 : NOUTi=Si,j, 여기서 i=1 내지 M이며 j=1이다.
남 : SOUTi=Si,j, 여기서 i=1 내지 M이며 j=1이다.
동 : EOUTi=Si,j, 여기서 i=M이며 j=1 내지 M이다.
서 : WOUTi=Si,j, 여기서 i=1이며 j=1 내지 M이다.
비록 프로세서 어레이로의 입력이 네개의 모든 에지에서 제공될 수 있으며 프로세서 어레이로부터의 출력이 네개의 모든 에지에서 유용할지라도, 유용한 입력 및 출력이 모든 이용될 필요가 있는 것이 아니라는 사실을 알아야 한다. 예를들면, 북쪽 에지를 따라서 있는 프로세서로의 입력용 레지스터(NR) 및 남쪽 에지를 따라서 있는 출력용 출력 레지스터(SOUTR)과 같은, 단일 입력 레지스터 및 단일 출력 레지스터가 이용될 수도 있다. 각각의 에지를 따라서 있는 입력 및 출력은 메시 프로세서 어레이의 일반적인 아키텍처를 설명하기 위해 기술한 것이다.
제2도에 보다 상세히 도시된 바와같이, 각각의 프로세서(Pi,j)는 열 선택 신호 Ci를 수신하기 위한 열 선택 입력 C 및 행 선택 신호 Rj를 수신하기 위한 행 선택 입력 R을 포함한다. 상기 기슬된 바와같이, 열 선택 신호 Ci및 행 선택 신호 Rj는 각긱 열 선택 회로(40) 및 행 선택 회로(50)에 의해 제공된다. 각각의 프로세서는 또한 제어기(20)로부터 K 비트의 op코드 INST를 수신하기 위한 K비트 폭의 입력 I를 포함한다.
작동에 있어서, 에러이의 프로세서는 동기적으로 병렬로 동작하며, 클럭은 프로세서가 주어진 클럭 사이클에서 액티브인 것을 결장하는 열 및 행 선택 신호에 의해 제공된다. 특히, 프로세서(Pi,j)는 선택된 열 및 행 Ci및 Rj가 모두 액티브인 경우 액티브되거나 또는 선택된다. 프로세서(Pi,j)가 액티브이면, 그 1비트 출력 Si,j의 상태는 op코드위드에 좌우하여 변할 수 있으며 ; 액티브가 아니라면, 그 출력의 상태는 변하지 않는다.
상긱 지적된 바와같이, 각각의 프로세서는 프로세서의 현재 출력 및/또는 프로세서의 어떠한 또는 모든 입력을 수반하는 논리 기능을 수행하도록 구성되어 있다. 다음에 기술될 예시적인 실시예는 프로세서의 현재 상태 및 선택된 입력을 수반하는 2 오퍼랜드 논리 연산을 수행할 수 있는 프로세서이다.
2오퍼랜드 프로세서의 예시적인 실시예에 있어서, op코드워드 INST는 (a)프로세서의 입력중의 어느 것이 프로세서 출력의 현재 상태를 제1오퍼랜드로서 갖는 논리 연산에서 제2오퍼랜드로서 사용될 것인가와, (b)수행될 논리 연산을 규정한다. 논리 연산은 주어진 프로세서(Pi,j)의 입력 및 출력의 현재 상태에 따라 수행된다는 사실을 인식해야 한다. 각각의 프로세서가 네개(4)의 1비트 데이타 입력을 수신하기 때문에, op코드워드 INST내 2비트 방향필드(dorection field)는 데이타 입력중의 어느 것이 제2오퍼랜드인가를 규정하는데 사용된다. op코드 워드 INST의 나머지 부분은 수행될 논리 연산을 규정하는 연산필드(operation field)를 포함한다. 예로, 4비트 연산필드(즉, K=6)는 16개의 논리 연산을 규정할 수 있다. 특정한 실시예로, op코드의 제1의 두 비트 I1, I2는 방향필드를 포함하는 한편, 나머지의 네개 비트 I3, I4, I5, I6는 연산 필드를 포함한다.
2비트 방향 필드 및 4비트 연산 필드의 예시적인 실시예에 있어서, 아래이의 표1은 방향 필드의 값에 따라서, 선택된 프로세서(Pi,j)에 필요한 제2오퍼랜드로서 선택된 입력을 나타내는 것으로, 여기서, I2는 LSB이며, I1는 MSB이다. 다음의 표1는 특히 프로세서 입력(N,S,E,W)에 의해 선택되며 또한 그 입력이(Pi,j)와 관련하여 발생하는 어레이내의 장소에 의해 선택된 입력을 나타낸다. 상기 기술된 바와같이, 선택된 입력은 외부입력일 수 있다.
[표 1]
Figure kpo00001
다음의 표 II은 op코드의 연산 필드의 상이한 값으로 표현된 예시적인 논리 연산을 나타내는 것으로, 여기서 제2오퍼랜드로서 선택된 프로세서의 입력은 B로서 식별되고, I6는 LSB이며, I3는 MSB이다.
[표 2]
Figure kpo00002
(XOR는 배타 OR기능을 뜻한다.)
전술한 설명은 기초하여 볼 때, 각기 액티브이거나 또는 선택된 프로세서 (Pi,j)(즉, Ci및 Rj가 모두 액티브인 것)의 새로운 출력 S'i,j는 다음과 같이 규정할 수 있다.
S'i,j=F(Si,j, B)
여기서 F는 표 II에 따른 op코드 연산 필드에 의해 규정된 논리 기능이며 ; Si,j는 프로세서(Pi,j)의 현재 출력이면서 제1오퍼랜드이며 ; B는 제2오퍼랜드로서, 표 I에 따른 op코드 방향 필드에 따라 프로세서로의 입력으로 부터 선택된다.
제3도는 참조하면, 2비트 방향(선택)필드 및 6비트 연산 필드를 갖는 6비트 op코드의 전술한 예시적인 실시예에 따른 프로세서(Pi,j)의 일반화된 배선도가 도시되어 있다. 프로세서(Pi,j)는, 예를들면, D형 플립플롭으로 구현될 수 있는 클럭부 (clocked)1비트 메모리 셀(111)을 포함한다. 1비트 메모리 셀에 대한 클럭 입력은 열 및 행 선택 신호 Ci 및 Rj에 응답하는 AND 게이트(113)에 의해 제공된다. 논리 회로(115)는 메모리 셀(111)의 출력, op코드 워드 INST, 및 프로세서로의 네개의 입력에 응답한다. 논리 회로(115)의 출력은 두개의 오퍼랜드, 즉, (a) 메모리 셀(111)의 출력과 (b)프로세서로의 입력중의 하나의 입력을 포함하는 상기 두개의 오퍼랜드에 따라 수행된 2오퍼랜드 논리 연산의 결과이다.
제4도는 참조하면, 논리 회로(115) 및 1비트 메모리 셀(111)의 예시적인 구현을 도시하는 제3도의 프로세서(Pi,j)의 배선도가 도시된다. 논리 회로(115)는 특히 4대 1 멀티플렉서(MUX)(211)를 포함하며, 이 멀티플렉서는 그 선택 입력으로서 op코드워드 INST의 방향 필드의 두개의 비트 I1, I2를 수신한다. 멀티플렉서(211)로의 네개의 데이타 입력은 프로세서로의 N,S,E,W 입력에 의해 제공된다. 멀티플렉서 (211)의 출력은 N,S,E,W 입력중의 하나이며 제2오퍼랜드 B이다.
논리 회로(110)는 또다른 4대 1 멀티플레서(MUX)(110)를 더 포함하며, 이 멀티플렉서는 그 선택 입력으로서 메모리 셀(111)의 출력 Si,j및 멜티플렉서(211)의 출력 B를 수신한다. 멀티플렉서(213)로의 데이타 입력은 op코드 워드 INST의 연산 필드의 네개 비트 I3,I4, I5, I6이다. 멀티플렉서의 출력은 1비트 메모리 셀(111) 포함하는 클록부 D형 플립프롬(213)의 D입력으로 제공된다.
제5도는 참조하면, 제4도의 프로세서에서 4대 1 멀티플렉서(211) 및 (213)로서 이용될 수 있는 멀티플렉서(100)가 도시된다. 멀티플렉서(100)는 선택 입력 C1, C2에 응답하여 보수(complement)의 C1', C2'를 제공하기 위한 제1및 제2인버터 (311),(313)를 포함한다. 선택 신호 C1는 입력으로서 3 입력 AND게이트(315,317)에 제공되는 한편, 보수의 선택 신호 C1'는 입력으로서 3입력 AND게이트(319,321)제공된다. 선택 신호 C2는 입력으로서 AND게이트(315,319)에 제공되며, 보수의 선택 신호 C2'는 입력으로서 AND게이트(317,321)에 제공된다. AND게이트(315,317,319,321)로의 다른 입력은 각기 데이타 입력 D1, D2, D3, D4에 의해 제공된다.
멀티플렉서(211)오서 사용하기 위하여, 방향 필드 비트 I1, I2는 각기 선택입력C1,C2으로서 제공되며 ; 프로세서 입력 S,B,W,E는 각기 데이타 입력 D1,D2,D3,D4으로서 제공된다. 멀티플렉스로의 이러한 특정입력은 제5도에서 괄호로 표시되며, 상기 표 I에서 설명된 연산을 제공한다. 멀티플렉서(211)의 출력은 제2오퍼랜드 B이다.
멀티플렉서(213)로서 사용하기 위하여, 오퍼랜드 Si,j및 B는 각기 선택 입력 C1, C2로서 제공하며 ; op코드의 연산 필트 비트 I6, I5, I4, I3는 각기 데이타 입력 D1,D2,D3,D4로서 제공된다. 멀티플레서로의 이러한 특정 입력은 제5도에서 괄호로 표시되며, 상기 표 II에서 설명된 연산을 제공한다. 필수적으로, 각기 상이한 연산에 대한 연산 필드 비트 패턴은 그 연산에 대한 진리표를 포함한다. 멀티플렉서 (213)의 출력은 프로세서 1비트 메모리 셀이 선택되는 경우 그러한 셀레 기억될 프로세서의 새로운 상태이다.
열 및 행 선택 회로를 통하여 프로세서(Pi,j)를 특정하게 클럭하는 것은 프로세서를 특정하게 구현하는 것에 좌우될 것이라는 사실을 인지해야 한다. 그래서, 클럭부 D형 플립 플롭 메모리 셀의 예에 있어서, 열 및 행 선택 신호는 op코드 및 외부 입력이 유효한(즉, op코드워드가 클럭 사이클의 초기에 제공될 때 이후에만 액티브 상태로 전이(transition)하도록 제어될 것이다. 그래서, 각각의 클럭 사이클에서, 선택된 열 및 행 선택 신호는 액티브 상태로 전이한 다음에 인액티브 (inactive)상태로 전이할 것이다. 이러한 방색대로, 프로세서의 새로운 상태는 프로세서의 현재 상태를 수반하는 논리 기능에 영향을 미치지 않는다.
비록 명확히 도시되지는 않았지만, 프로세서(Pi,j)의 출력 Si,j의 초기화는 특정하게 구현한 것에 좌우될 것이라는 사실도 또한 알아야 한다. 클럭부 D형 플립플롭 메모리 셀에 있어서, 출력은 개별적인 제어 라인(도시안됨)에 의해 또는 선택된 프로세서의 출력을 논리 1 또는 0(예로, 하이 전압 또는 로우 전압 상태)로 되게 하는 op코드를 규정함으로써 프리세트 또는 클리어될 수 있다.
전술한 클럭 및 초기화의 고려사향을 전체로 하면, 메시 프로세서의 일반적이 연산은 다음과 같다. 프로세서는 초기화(예로, 프리세트, 클리어, 리세트 또는 세트)되며, 외부 데이타는 입력 데이타 레지스터를 통하여 수신된다. 또한, op코드워드, 열 선택 워드 CSELECT 및 형 선택워드는 제어기(20)에 의해 발생된다. 그 다음에, 선택된 프로세서는 열 및 행 선택 신호 Ci, Rj에 의해 클럭된다. 외부데이타, op 코드워드, 열 선택 워드 및 행 선택 워드를 제공하는 절차는 반복되며, 뒤이어 열 및 행 선택 신호 Ci, Rj에 의해 적당히 클럭된다. 프로세서 어레이의 출력은, 예를들면, 출력 레지스터에 제공될 수 있다.
상기 기술된 바와같이, 열 및 행 선택 신호에 의해 선택된 프로세서들만이 클럭되며 그들의 출력 상태를 변화시킬 수 있는데, 이는 op코드 및 오퍼랜드의 상태에 좌우된다. 선택되지 않은 프로세서의 출력상태는 변하지 않는다.
제6a도 내지 제6M도를 참조하면, 상기 표 I및 II에서 설명된 기능을 제공하는 프로세서를 갖는 3×3프로세서 어레이를 오른쪽이 최하위 비트로 구성된(즉, 제3열이 각 행에 대하여 최하위 비트를 갖는다) 어레이의 상단 및 중간 행(즉, 제3행 및 제2행)내에 기억된 표시안된 두개의 3비트 2진 정수 X,Y의 가산과 관련하여 설명할 것이다. 2진 정수 X,Y는 X를 어레이의 상단에 있는 입력 레지스터내로 로드 (load)하고, 그 레지스터의 내용을 제3행 프로세서내로 카피(copy)하고, Y를 입력 레지스터내로 로드하고, 제3행 프로세서의 내용을 제2행 내로 카피하고 그 입력 레지스터의 내용을 제3행 프로세서내로 카피함으로써 제2 및 3행 내로 로드될 수 있다.
제6a도에서 정수 2 및 3에 대하여 도시된 바와같이, 제3및 2행내 정수 X,Y의 초기 조건을 가지고 시작해보면, 다음의 표 III은 합(A+B 모듈로 8)을 어레이의 제1행에 배치하는데 필요한 단계를 설명하고 있다.
[표 3]
Figure kpo00003
(XOR는 배타 OR기능을 나타낸다.)
상기 설명은 효과적인 프로세서 셀을 이요하며, 고속으로 클럭될 수 있으며, 계산적인 융통성을 제공하며 또한 메모리의 효율적인 이용을 제공하는 메시 프로세서 어레이에 관하여 기술된 것이다. 어레이 아키텍처는 규정된 동기 로직을, 예를들면, 그러한 규정된 동기 로직의 특별한 논리적 기능에 기초한 명령어의 적절한 순서에 따라서, 쉽고도 효과적으로 구현한다. 또한, 기술된 프로세서 어레이의 융통성에 기인하여, 결과적으로 구현된 특별한 논리기능은, 예로 로직 최소화 기법에 의하여, 보다 효과적이고 빠른 처리를 제공하는데 적합할 수 있다. 특정한 실시예로 기술된 프로세서 어레이의 융통성에 따라, 본 기술에서 숙련된 자는 프로세서 셀당 보다 많은 메모리를 갖는 공지의 병렬 프로세서 어레이에 대하여 디자인된 기존 알고리즘이, 예를들면, 각각의 다중 비트 메모리 셀에 관한 본 발명의 다중비트 셀을 그룹으로 형성시킴으로써, 기술된 프로세서 어레이를 이용하여 구현될 수 있다는 사실을 인지할 것이다.
비록 상기 설명에서 본 발명의 특정한 실시태양이 기술되고 도시되었을지라도, 다음의 청구범위로 규정된 바와같이 본 발명의 범주와 정신을 벗어나지 않고도 본 발명에 대한 다양한 변경 및 변화가 본 기술에서 숙련된 자에 의해 이루어질 수 있다.

Claims (8)

  1. 메시 프로세서 어레이에 있어서 : 메트릭스(30)형태로 배열되며 각기 1비트 논리출력을 제공하는 복수의 1비트 논리 프로세서(Pij)와 ; 제어워드를 각각의 상기 프로세서(Pij)의 각각에 병렬로 제공하며 상기 프로세서중의 선택된 프로세서들을 나타내는 선택 신호를 제공하는 제어수단(20)과 ; 상기 선택 신호에 응답하여 상기 프로세서(Pij)중의 선택된 프로세서들을 상기 제어워드에 응답하게 해 주는 선택 수단(40,50)을 포함하며, 상기 1비트 프로세서(Pij)의 각각이 : 1비트 데이타를 저장하고 상기 1비트 논리 출력 데이타를 상기 프로세서(Pij)의 1비트 논리 출력을 포함하는 1비트 논리 입력에 응답하여, 상기 프로세서의 출력과 상기 제어워드에 의해 규정된 바와같은 상기 논리 신호 입력을 수반하는 논리기능의 결과인 논리 출력을 상기 저장 수단(111)에 제공하기 위한 논리 수단(115)을 포함하는 메시 프로세서 어레이.
  2. 제1항에 있어서, 상기 복수의 프로세서(Pij)는 열과 행으로 배열되어 있는 것을 특징으로 하는 메시 프로세서 어레이.
  3. 제2항에 있어서, 상기 선택 수단(40,50)이 열 선택 회로(40)와 행 선택 회로(50)를 포함하는 것을 특징으로 하는 메시 프로세서 어레이.
  4. 제1항 내지 제3항중의 어느 한 항에 있어서, 상기 논리수단(115)은 (a)상기 프로세서 출력 및 (b)상기 논리 입력중의 하나의 입력의 논리 연산의 결과인 논리 출력을 제공하는 것을 특징으로 하는 메시 프로세서 어레이.
  5. 제1항에 있어서, 상기 저장 수단(111)이 상기 선택수단(40,50)에 의해 클럭되는 클럭부 메모리 장치(clocked memory device)를 포함하는 것을 특징으로 하는 메시 프로세서 어레이.
  6. 제5항에 있어서, 상기 클럭부 메모리 장치가 플립 플롭을 포함하는 것을 특징으로 하는 메시 프로세서 어레이.
  7. 제1항에 있어서, 상기 복수의 프로세서(Pij)가 열과 행의 격자 형태로 배열되어 있으며; 상기 어레이(30)의 주변에 있지만 상기 어레이(30)의 구석에 있지않은 각각의 프로세서(Pij)에 대한 상기 1비트 논리 입력이 하나의 외부 1비트 입력 논리 신호를 포함하며; 상기 어레이(30)의 주변에 있지 않는 각각의 프로세서 (Pij)에 대한 1비트 논리 입력이 직각 방향으로 인접한 프로세서로부터의 1비트 논리 출력만을 포함하는 것을 특징으로 하는 메시 프로세서 어레이.
  8. 제1항에 있어서, 상기 프로세서 어레이(30)로의 상기 논리입력이 상기 매트릭스 주변에 있는 프로세서(Pij)에 제공되며, 상기 프로세서 어레이(30)의 출력이 상기 매트릭스 주변에 있는 프로세서에 의해 제공되는 것을 특징을 하는 메시 프로세서 어레이.
KR1019900011437A 1989-07-28 1990-07-27 단순화된 동기적 메시 프로세서 KR940000293B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US38693389A 1989-07-28 1989-07-28
US386,933 1989-07-28

Publications (2)

Publication Number Publication Date
KR910003515A KR910003515A (ko) 1991-02-27
KR940000293B1 true KR940000293B1 (ko) 1994-01-14

Family

ID=23527699

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900011437A KR940000293B1 (ko) 1989-07-28 1990-07-27 단순화된 동기적 메시 프로세서

Country Status (7)

Country Link
US (1) US5379444A (ko)
EP (1) EP0410435A3 (ko)
JP (1) JP2562845B2 (ko)
KR (1) KR940000293B1 (ko)
AU (1) AU624524B2 (ko)
CA (1) CA2021192A1 (ko)
IL (1) IL95192A (ko)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5692135A (en) * 1995-12-14 1997-11-25 International Business Machines Corporation Method and system for performing an asymmetric bus arbitration protocol within a data processing system
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
DE19651075A1 (de) * 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
DE19654593A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit
DE19654595A1 (de) * 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
DE19654846A1 (de) * 1996-12-27 1998-07-09 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
JP3961028B2 (ja) * 1996-12-27 2007-08-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データフロープロセッサ(dfp)の自動的なダイナミックアンロード方法並びに2次元または3次元のプログラミング可能なセルストラクチャを有するモジュール(fpga,dpga等)
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
DE19704728A1 (de) * 1997-02-08 1998-08-13 Pact Inf Tech Gmbh Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines
DE19704742A1 (de) * 1997-02-11 1998-09-24 Pact Inf Tech Gmbh Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
DE19861088A1 (de) * 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
US6067609A (en) * 1998-04-09 2000-05-23 Teranex, Inc. Pattern generation and shift plane operations for a mesh connected computer
FR2778764B1 (fr) * 1998-05-15 2001-01-05 France Etat Procede de commande d'un reseau de processeurs
US6161161A (en) * 1999-01-08 2000-12-12 Cisco Technology, Inc. System and method for coupling a local bus to a peripheral component interconnect (PCI) bus
US7003660B2 (en) 2000-06-13 2006-02-21 Pact Xpp Technologies Ag Pipeline configuration unit protocols and communication
US8230411B1 (en) 1999-06-10 2012-07-24 Martin Vorbach Method for interleaving a program over a plurality of cells
US6578133B1 (en) * 2000-02-24 2003-06-10 Stanley M. Hyduke MIMD array of single bit processors for processing logic equations in strict sequential order
US20040015899A1 (en) * 2000-10-06 2004-01-22 Frank May Method for processing data
ATE437476T1 (de) 2000-10-06 2009-08-15 Pact Xpp Technologies Ag Zellenanordnung mit segmentierter zwischenzellstruktur
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US6990555B2 (en) 2001-01-09 2006-01-24 Pact Xpp Technologies Ag Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)
US7844796B2 (en) * 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US7581076B2 (en) 2001-03-05 2009-08-25 Pact Xpp Technologies Ag Methods and devices for treating and/or processing data
US20090210653A1 (en) * 2001-03-05 2009-08-20 Pact Xpp Technologies Ag Method and device for treating and processing data
US9037807B2 (en) * 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7444531B2 (en) * 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US20090300262A1 (en) * 2001-03-05 2009-12-03 Martin Vorbach Methods and devices for treating and/or processing data
US7210129B2 (en) 2001-08-16 2007-04-24 Pact Xpp Technologies Ag Method for translating programs for reconfigurable architectures
US7657877B2 (en) * 2001-06-20 2010-02-02 Pact Xpp Technologies Ag Method for processing data
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7434191B2 (en) * 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
US7376811B2 (en) * 2001-11-06 2008-05-20 Netxen, Inc. Method and apparatus for performing computations and operations on data using data steering
US7577822B2 (en) * 2001-12-14 2009-08-18 Pact Xpp Technologies Ag Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization
AU2003214046A1 (en) * 2002-01-18 2003-09-09 Pact Xpp Technologies Ag Method and device for partitioning large computer programs
WO2003060747A2 (de) * 2002-01-19 2003-07-24 Pact Xpp Technologies Ag Reconfigurierbarer prozessor
EP2043000B1 (de) 2002-02-18 2011-12-21 Richter, Thomas Bussysteme und Rekonfigurationsverfahren
WO2004088502A2 (de) * 2003-04-04 2004-10-14 Pact Xpp Technologies Ag Verfahren und vorrichtung für die datenverarbeitung
US8914590B2 (en) * 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
AU2003223892A1 (en) * 2002-03-21 2003-10-08 Pact Xpp Technologies Ag Method and device for data processing
US7657861B2 (en) * 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
US20110238948A1 (en) * 2002-08-07 2011-09-29 Martin Vorbach Method and device for coupling a data processing unit and a data processing array
WO2004021176A2 (de) * 2002-08-07 2004-03-11 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
WO2004038599A1 (de) 2002-09-06 2004-05-06 Pact Xpp Technologies Ag Rekonfigurierbare sequenzerstruktur
EP1643356B1 (en) * 2003-05-23 2010-01-06 Nippon Telegraph and Telephone Corporation Parallel processing device and parallel processing method
EP1676208A2 (en) * 2003-08-28 2006-07-05 PACT XPP Technologies AG Data processing device and method
US20090031104A1 (en) * 2005-02-07 2009-01-29 Martin Vorbach Low Latency Massive Parallel Data Processing Device
US7281942B2 (en) * 2005-11-18 2007-10-16 Ideal Industries, Inc. Releasable wire connector
US8250503B2 (en) 2006-01-18 2012-08-21 Martin Vorbach Hardware definition method including determining whether to implement a function as hardware or software
US20070226455A1 (en) * 2006-03-13 2007-09-27 Cooke Laurence H Variable clocked heterogeneous serial array processor
US8656143B2 (en) 2006-03-13 2014-02-18 Laurence H. Cooke Variable clocked heterogeneous serial array processor

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3699534A (en) * 1970-12-15 1972-10-17 Us Navy Cellular arithmetic array
GB1536933A (en) * 1977-03-16 1978-12-29 Int Computers Ltd Array processors
US4380046A (en) * 1979-05-21 1983-04-12 Nasa Massively parallel processor computer
US4314349A (en) * 1979-12-31 1982-02-02 Goodyear Aerospace Corporation Processing element for parallel array processors
US4498134A (en) * 1982-01-26 1985-02-05 Hughes Aircraft Company Segregator functional plane for use in a modular array processor
US4507748A (en) * 1982-08-02 1985-03-26 International Telephone And Telegraph Corporation Associative processor with variable length fast multiply capability
US4739474A (en) * 1983-03-10 1988-04-19 Martin Marietta Corporation Geometric-arithmetic parallel processor
US4709327A (en) * 1983-05-31 1987-11-24 Hillis W Daniel Parallel processor/memory circuit
GB8517376D0 (en) * 1985-07-09 1985-08-14 Jesshope C R Processor array
CN1012297B (zh) * 1985-11-13 1991-04-03 奥尔凯托N·V公司 具有内部单元控制和处理的阵列结构
US4907148A (en) * 1985-11-13 1990-03-06 Alcatel U.S.A. Corp. Cellular array processor with individual cell-level data-dependent cell control and multiport input memory

Also Published As

Publication number Publication date
CA2021192A1 (en) 1991-01-29
EP0410435A3 (en) 1992-02-26
US5379444A (en) 1995-01-03
JPH0370064A (ja) 1991-03-26
EP0410435A2 (en) 1991-01-30
AU5993090A (en) 1991-01-31
IL95192A (en) 1994-02-27
AU624524B2 (en) 1992-06-11
JP2562845B2 (ja) 1996-12-11
KR910003515A (ko) 1991-02-27
IL95192A0 (en) 1991-06-10

Similar Documents

Publication Publication Date Title
KR940000293B1 (ko) 단순화된 동기적 메시 프로세서
US5944813A (en) FPGA input output buffer with registered tristate enable
EP0042967B1 (en) Mutiple data flow component system
US5287532A (en) Processor elements having multi-byte structure shift register for shifting data either byte wise or bit wise with single-bit output formed at bit positions thereof spaced by one byte
US4907148A (en) Cellular array processor with individual cell-level data-dependent cell control and multiport input memory
US6519674B1 (en) Configuration bits layout
US5148547A (en) Method and apparatus for interfacing bit-serial parallel processors to a coprocessor
EP0424618A2 (en) Input/output system
US7617383B2 (en) Circular register arrays of a computer
US4903228A (en) Single cycle merge/logic unit
GB2122781A (en) Multimicroprocessor systems
US20050024983A1 (en) Providing a register file memory with local addressing in a SIMD parallel processor
US6460131B1 (en) FPGA input output buffer with registered tristate enable
US4833602A (en) Signal generator using modulo means
EP0223690B1 (en) Processor array with means to control cell processing state
US4460972A (en) Single chip microcomputer selectively operable in response to instructions stored on the computer chip or in response to instructions stored external to the chip
US4302819A (en) Fault tolerant monolithic multiplier
KR960013358B1 (ko) 비트 슬라이스 프로세서용 레지스터 파일
ES457282A1 (es) Perfeccionamientos en logicas secuenciales programables.
JPS62156742A (ja) デ−タ書込み制御方式
US3665409A (en) Signal translator
Händler et al. Fitting processors to the needs of a general purpose array (EGPA)
Alnuweiri A fast reconfigurable network for graph connectivity and transitive closure
EP0226103A2 (en) Address generation for cellular array processors
Johannsen Our machine, a microcoded LSI processor

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J2X1 Appeal (before the patent court)

Free format text: APPEAL AGAINST DECISION TO DECLINE REFUSAL

G160 Decision to publish patent application
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee