KR970001899B1 - 메모리연결형 파면어레이 프로세서 - Google Patents
메모리연결형 파면어레이 프로세서 Download PDFInfo
- Publication number
- KR970001899B1 KR970001899B1 KR1019870002221A KR870002221A KR970001899B1 KR 970001899 B1 KR970001899 B1 KR 970001899B1 KR 1019870002221 A KR1019870002221 A KR 1019870002221A KR 870002221 A KR870002221 A KR 870002221A KR 970001899 B1 KR970001899 B1 KR 970001899B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- array
- processing
- memory connection
- elements
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8046—Systolic arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17381—Two dimensional, e.g. mesh, torus
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)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
- Complex Calculations (AREA)
Abstract
내용 없음.
Description
제1도는 종래기술의 어레이 프로세서 일반구성을 보인 것으로, 제1A도는 선형어레이를, 제1B도는 3×3 정사각형 어레이를 보인 다이아그램.
제2도는 본 발명에 따른 선형 어레이 메모리연결형 파면어레이 프로세서를 보인 블럭다이아그램.
제3도는 본 발명에 따른 메모리연결형 파면어레이 프로세서의 2차원구조의 어레이어구성을 보인 블럭다이아그램.
제4도는 선형 MWAP 어레이에 사용된 처리소자의 블럭다이아그램.
제5도는 2차원 MWAP 어레이에 사용된 처리소자의 블럭다이아그램.
제6도는 MWAP의 전형적인 처리소자를 위한 내부 레지스터와 버스 배열을 보인 상세한 블럭다이아그램.
제7도는 전형적인 MWAP 처리소자의 스켄서 블럭다이아그램.
제8도는 MWAP 구성에 사용된 이중포트 메모리연결소자의 내부구조를 보인 블럭다이아그램.
제9도는 MWAP의 FIR 필터처리 스켄스를 설명하는 흐름도.
제10도는 1차원 열전도 등식에서 다중소숫점을 계산하기 위한 MWAP 데이타 루우프 백의 이용을 설명한 다이아그램.
제11도는 1차원 열전도등식에서 다중소숫점의 동시계산을 위하여 MWAP의 이용을 설명한 다이아그램.
제12도는 가변계수로 부분적으로 상이한 등식을 계산하기 위한 2차원 MWAP의 이용을 설명한 다이아그램.
제13도는 전-매트릭스 승산을 위한 종래 광역형 어레이의 이용을 설명한 다이아그램.
제14도는 매트릭스 승산을 계산하기 위하여 종래 기술의 6-연결형 시스톨릭 어레이의 이용을 설명한 다이아그램.
제15도는 매트릭스 승산을 계산하기 위한 종래기술의 파면 어레이의 이용을 설명한 다이아그램.
제16도는 본 발명에 따라서 매트릭스승산의 계산을 위한 선형 MWAP 어레이의 이용을 설명한 다이아그램.
제17도는 제16도에서 보인 선형 MWAP 어레이를 이용하여 3×3 매트릭스 승산을 위한 계산시켄스를 설명하기 위한 흐름도.
제18도는 순환식을 이용하여 푸리에변환을 계산하는데 필요한 서플-익스첸지(shuffle-exchange)를 설명한 다이아그램.
제19도는 순환식을 이용하여 푸리에변환을 계산하기 위하여 MWAP에 의해 이용된 계산시켄스를 설명한 다이아그램.
본 발명은 광범위한 신호처리, 과학 및 공학적인 문제들을 초고속으로 계산하기 위한 독특한 구조를 갖는 어레이 프로세서에 관한 것이다. 특히 메모리연결형 파면어레이 프로세서(Memory-Limked Wavefront Array Processor)(MWAP)로 불리우는 본 발명은 처리어레이내에서 비동기전역 통신을 제공하고 또한 각 처리소자의 비동기지역/데이타 구동제어를 제공하는 계산구조로 구성된다.
오늘날 신호처리에 있어서 고속 계산속도를 요구한다. 대부분의 경우 신호처리 알고리즘은 직선형이나 데이타속도와 연속처리는 현재의 컴퓨터를 압도하므로 적용범위가 제한되고 장시간의 계산시간을 요구한다. 공학의 분야에서는 또한 개선된 컴퓨터속도와 경비의 감소를 필요로 한다. 유체역학, 공기역학, 전자기학, 화학 및 열교환분야에서의 시스템 시뮬레이션은 통상 컴퓨터 속도, 메모리 및 경비에 의하여 제약을 받는다. 따라서 기초 현상의 충분한 시뮬레이션이 공학설계분야에 자주 이용되지 못하였다. 문제점은 두가지, 즉 첫째로 시스템계산속도를 어느정도 증가시키는 것이고, 둘째가 여러문제에 시스템을 적용시키도록 설계하는데 있다.
에취. 리. 쿵(H. T. Kung)에 의하여 소개된 시스톨릭 어레이(systolic array)(참조; Let's Design Algorithms for VLSI System,Jan. 1979, PP. 66-90)는 동일한 전역클럭에 부분적으로 연결되고 이와 동시에 동작하는 프로세서의 어레이이다. 알고리즘은 펄스형태(시스톨릭 흐름)으로 실행된다. 즉 프로세서의 네트워크는 리드미컬하게 계산하고 시스템을 통하여 데이타를 통과시킨다.
시스톨릭 어레이는 모듈성, 규칙성, 국부연결성 및 고속파이프라인형의 고동기화 다중처리성의 특성을 갖는다. 그러나 이는 전역동기화를 요구한다. 즉 데이타 이동은 전역타이밍-기준에 의하여 제어된다. 활동은 시스톨릭 어레이에 동기화하기 위하여 정확한 타이밍이 이루어지도록 종종 특별한 지연이 요구된다. 대규모 프로세서의 어레이에 있어서의 전체 계산네트워크의 동기화가 허용되지 않거나 거의 불가능하다.
그 한예를 제1도에서 보인 바와같이, 그 고전적인 형태에 있어서, 시스톨릭 어레이는 프로그램 가능한 것이 되지 못하고 각 알고리즘을 별도의 어레이구성을 요구한다. 복잡성이 증가하므로 시스톨릭 어레이는 어레이구조를 재구성하도록 매트릭스 스위치를 이용함으로써 하드웨어 프로그램머블형이 될 수 있다. 어떤 경우 시스톨릭 어레이는 항상 물리적 프로세서요소에 대한 계산 알고리즘의 직접사상(direct mapping)을 요구한다.
두번째 해결책으로서, 파면어레이프로세서는 시스톨릭 어레이와 동일한 구조를 이용하며, 이는 엑스. 와이. 쿵(S. Y. KUNG)등의 Wavefront Array Processor : Architecture, Language and Applications, Jan 1982, MIT, Cambridge, MA.에 일반적인 내용이 기술되어 있다. 이는 제어의 흐름이 데이타 및 파라메타와 함께 어레이를 통하여 이루어지는 점에서 시스톨릭 어레이와는 상이하다. 국부데이타흐름에 대하여 국부제어흐름을 부가하므로서 데이타 구동형의 자체타이밍조절형 처리가 허용된다. 결과적으로 정확한 타이밍의 요구는 정확한 순서를 위한 요구로 대체된다.
파면어레이 프로세서에서 모든 프로세서소자(PE)는 각 인접한 PE를 위한 별도의 상태 플래그를 갖는 양방향 버퍼를 갖는다. 데이타의 흐름은 PE 사이에서 비동기이고 제어토큰은 데이타가용성과 데이타이용성을 결정하기 위하여 PE사이에 보내어진다. 이는 시스톨릭 어레이의 엄격한 타이밍 요구를 완화하고 알고리즘 전개를 단순화하므로서 가끔은 알고리즘 및 처리속도를 빠르게 한다.
따라서, 파면 프로세서는 파형형태로 프로세서 사이에 제어 및 데이타를 통과시켜 동작하므로서, 각 프로세서가 알고리즘의 순환(스템)을 완료할 때에 계산이 일축프로세서로부터 다음 프로세서로 계속된다.
그러나 이들 시스톨릭 및 파면 어레이 프로세서는 이들의 국부형태의 통신을 요구하고 전역 형태의 통신을 취급할 수 없는 결점이 있다. 따라서, 어떠한 유용한 알고리즘도 종래기술의 시스톨릭 및 파면 어레이의 프로세서를 이용하여 계산될 수는 없다. 예를들어 고속푸리에 변환(Fast Fourier Transform, FFT)은 다음 순환식(십진 시간 상수 기하학 FFT 알고리즘)으로 계산된다.
여기에서, p와 q는 단계적으로 변화한다. 이러한 알고리즘의 계산은 데이타 포인트 사이의거리 │p-q│가 단계적으로 증가하므로 전역통신을 요구한다. 그러나 시스톨릭 및 종래기술의 파면어레이 프로세서는 데이타 항목사이의 거리가 프로세서사이에서 일정하게 유지되기를 요구한다. 따라서, 시스톨릭 또는 파면어레이 프로세서는 상기 순환식을 이용하여 FFT를 계산하는데 이용되지 않는다.
또한, 종래기술의 어레이 프로세서의 계산능력과 다양성은 데이타가 수신처리소자에 의해서 이용되어야 하는 순서대로 처리소자사이를 통과하여야만 하는 필요성 때문에 제약을 받는다. 종래기술의 이러한 결점은 어떠한 알고리즘의 계산을 어렵고 번거롭게 한다.
메모리연결형 파면어레이프로세서(MWAP)라 불리우는 본 발명의 전역 통신을 취급하도록 파면어레이의 프로세서를 확장한다. 프로세서소자사이에 제어플래그를 포함하는 스마트 메모리(smart memory)를 삽입하므로서, 메모리연결형 파면어레이 프로세서는 종래 기술에 의하여 지시된 엄격한 국부통신을 위한 필요성을 완화하므로서 순환식을 이용한 FFT 알고리즘의 구현을 가능하게 한다. 또한 본 발명은 데이타가 수신처리소자에 의하여 이용되어야 하는 순서대로 처리소자 사이로 데이타를 통과시키는 종래기술의 필요성을 완화하므로서 어레이 프로세서의 계산력과 다양성을 넓힌다.
MWAP는 초고속으로 광범위한 신호처리, 과학 및 공학 문제를 계산할 수 있는 새로운 어레이처리구성을 이용한다. 그 가장 일반화된 형태에 있어서, 본 발명의 MWAP 구성은 일련의 특수목적제어플래그를 포함하는 이중포트 메모리연결소자에 의하여 함께 연결된 동일한 프로그램가중처리소자의 어레이의 구성된다. 네트워크의 모든 통신은 이들 연결메모리소자를 통하여 비동기로 수행된다.
데이타구동/로칼제어는 처리소자와 이중포트메모리연결소자 사이의 비동기 핸드쉐이킹을 이용하여 얻을 수 있다. 비동기식 연결을 이중포트 메모리연결소자로 이동시키므로서 각 메모리 연결소자에 하드웨어 제어 플래그에 의하여 교체되어야 하는 시켄스 제어 토큰의 이용을 가능하게 한다. 각 처리소자는 동시산술계산, 양방향통신, 논리판정 및 프로그램제어수정이 가능하다.
MWAP는 모듈성, 규칙성, 국부연결성 및 고속파이프라인 다중처리성을 갖는다.
본 명세서의 말미에서는 MWAP 구성을 이용한 알고리즘의 계산을 전형적인 종래기술의 시스톨릭 및 파면어레이 프로세서를 이용한 계산과 비교하여 MWAP 구성의 독특한 역량과 특성을 설명하였다. 일반적으로, MWAP는 대부분의 알고리즘에 대하여 고도의 처리속도를 보이며, 어레이 프로세서에 보충될 수 있는 알고리즘의 범위를 확장하고, 종래 보다 복잡한 2차원의 시스톨릭 파면 어레이에서만 취급될 수 있었던 광범위한 알고리즘을 위하여 단일직선형 어레이 구조가 프로그램될 수 있다.
다음은 본 발명의 특징을 부분적으로 열거한 것이다.
본 발명의 제1특징은 비동기 이중 포트 메모리연결소자를 통하여 인접한 처리소자를 함께 연결하여 처리소자의 어레이 내에서 비동기전역통신이 이루어지도록 하는 것이다.
본 발명의 제2특징은 데이타가 수신처리소자에 의하여 이용되어야 하는 순서에 의하여 제한되지 않는 어느 요구된 순서로 데이타가 처리소자사이를 통과될 수 있는 것이다.
본 발명의 제3특징은 알고리즘의 계산에 사용된 계수와 다른 정보 또는 데이타가 어레이 프로세서의 처리단계 사이에서 이중포트 메모리연결소자에 저장될 수 있는 것이다.
본 발명의 제4특징은 각 처리소자의 데이타구동/로칼제어가 각 처리소자와 어레이에 인접하여 배치된 이중포트 메모리 연결소자사이의 비동기 핸드쉐이킹을 이용하여 얻어지는 것이다.
본 발명의 제5특징은 비동기연결을 메모리연결소자로 이동시키므로서 소프트웨어 시켄스제어 토큰이 메모리연결소자에 배치된 하드웨어제어플래그를 교체될 수 있는 것이다.
본 발명의 제6특징은 어느특정 처리소자의 처리동작이 이 처리소자가 인접한 이중포트 메모리연결소자의 메모리장소에 액세스하도록 시도할 때에 이러한 메모리장소에 관련된 제어플래그가 상기 특정 이중포트 메모리연결소자에 인접한 다른 처리소자에 의하여 고정될 때까지 지속되는 것이다.
본 발명의 제7특징은 각 특정처리소자가 처리어레이에서 그 인접한 이중포트메모리연결소자와의 동시통신을 허용하는 내부 제어 및 버스구조를 갖는 것이다.
본 발명의 제8특징은 각 처리소자가 모든 동일명령싸이클 중에 선형 어레이에서 메모리연결소자에 인접한 그 좌측으로 승산, 가감산, 판독 및 기록과, 메모리연결소자에 인접한 그 우측으로 판독 및 기록이 가능한 것이다.
본 발명의 제9특징은 선형어레이에서 데이타와 계산이 우측 또는 좌측으로 전파되거나 2차원 어레이에서 좌우, 또는 상하로 전파될 수 있는 것이다.
본 발명의 제10특징은 MWAP의 각 처리소자가 여러 알고리즘을 계산하기 위하여 여러 상이한 프로그램 시켄스를 저장할 수 있으므로 한 어레이내의 여러 처리소자가 여러 계산을 수행하거나 동일처리소자가 계산싸이클중 상이한 시간에 여러계산을 수행할 수 있는 것이다.
본 발명을 첨부된 예시도면에 의거하여 보다 상세히 설명하면 다음과 같다.
MWAP는 하드웨어처리와 시스템프로그래밍을 위한 모듈구조를 이용한다. 시스템 구조는 선형처리어레이, 2차원 처리어레이, 또는 n-차원 처리어레이로 구성될 수 있으며, 여기에서 n은 정수이다.(주:MWAP는 시스톨릭 어레이 프로세서처럼 전역클럭을 요구하지 않으므로 전파지연이 어레이의 크기를 제한하지 아니한다.) 제2도에서 보인 기본 선형 MWAP 어레이구성은 이중 메모리연결소자(12)에 연결된 호스트 인터페이스(10), 다중처리소자/이중포트메모리연결소자쌍(14)와, 호스트 출력인터페이스(16)로 구성된다. 이중포트 메모리연결소자는 메모리 칩 또는 일련의 레지스터로 구성될 수 있다.
각 처리소자와 그 인접한 이중포트 메모리연결소자사이에는 비동기 국부통신이 이루어진다. 데이타, 계산 또는 중간계산에 사용된 계수, 또는 다른 정보는 각 이중포트 메모리연결소자의 선택된 메모리장소에 기억될 수 있다. 예를들어 데이타와 다른 정보가 한 처리소자(20)에 의하여 이중포트 메모리연결소자(22)의 한 기억 장소에 기록되고, 적당한 핸드쉐이킹후에는 다른 인접한 처리소자(24)에 의하여 행하여지므로 처리소자사이에는 비동기 통신이 이루어진다. 이러한 예에서, 처리소자(20)는 데이타가 수신처리소자(24)에 의하여 사용되는 동일한 순서로 이중포트메모리연결소자(24)는 데이타 또는 정보를 처리함이 없이 인접한 이중포트메모리소자(22)로 부터 인접한 이중포트메모리(26)로 데이타 또는 정보를 통과시키며 그 처리목적을 위하여 그 하류측 처리소자가 상기 데이타 또는 다른 정보를 얻도록 허용한다.(제1도에서 보인 종래기술의 어레이 처리구성은 직접연결된 처리소자 28의 어레이를 포함한다. 메모리블럭 30은 처리어레이의 외부에 그 변부를 따라 배치된다. 이후 본 명세서에서 언급한 것이지만 많은 알고리즘계산이 종래기술의 구성으로서는 곤란하고 번거롭다.) MWAP 구성에 있어서, 각 처리소자는 우측에 인접한 이중포트 메모리 소자와 좌측에 인접한 이중포트소자의 메모리장소에 접근할 수 있다. 따라서 이중포트 메모리연결소자를 통한 비동기국부통신은 처리어레이내에서 유용한 전역통신을 가능하게 한다.
특정 실시예에 의하여 보다 상세히 설명되는 바와같이, 처리소자를 이중포트 메모리연결소자에 연결하므로서 다음과 같은 잇점이 있다. 즉, (1) 전역통신, (2) 데이타 및 계산이 좌우로 전파될 수 있다. (3) 데이타 소자사이의 거리가 처리단계사이에서 증감될 수 있다. (4) 초기화작업단계중에 계수와 다른 정보가 처리 단계사이에 저장될 수 있다. 그리고 (5) 1차원 및 2차원 알고리즘의 선형 어레이를 이용하여 처리될 수 있다.
처리소자의 이중포트메모리연결소자 사이에 비동기연결이 이루어지므로 이중포트메모리소자에 있는 하드웨어 제어플래그는 소프트웨어 제어토큰으로 교체될 수 있다. 이후 설명되는 바와같이 이러한 특징은 처리소자와 그 인접한 이중포트메모리연결소자 사이의 비동기하드웨어 핸드쉐이킹을 이용하여 데이타구동/로칼제어를 얻을 수 있도록 한다. 프로세서 어레이가 초기화될 때에, 데이타와 정보는 한 이중포트 메모리소자로부터 리드미컬하게 판독되고 출력이 하류측 이중포트메모리에 진행하며 각 처리소자는 그 인접한 이중포트메모리소자내의 데이타가용성으로 자체시간조절된다.
제3도는 2차원 처리어레이를 위한 기본 MWAP 구성을 설명하기 위한 블럭다이아그램이다. 선형어레이와 마찬가지로 이중포트메모리연결소자(32)는 이 어레이의 처리소자(34) 사이에 개재된다. 처리소자(34)는 이 어레이에서 상하좌우로 인접한 이중포트메모리연결소자에 곧바로 접근할 수 있다. 2차원 어레이에서 처리소자(32)와 이중포트메모리연결소자(34)는 선형어레이의 각 소자와 유사하게 동작한다. 기본 MWAP 구성이 본 발명의 응용으로 다른 n-차원 어레이에 확장될 수 있다. 또한 본 발명의 범위내에서 n-포트 메모리연결소자와 n-포트처리소자(여기서 n은 2보다 크다)를 이용할 수도 있다.
제4도는 선형 MWAP 어레이에 이용하기 위하여 본 발명에 의하여 교시된 바와같이 모듈러 처리소자의 한 실시형태를 설명한 블럭다이아그램이다. 처리소자는 3개 부분으로 분리될 수 있다. 즉, 연산부분(소자 36, 38, 40), 어드레스 레지스터(소자 42, 44) 및 프로그램흐름제어블럭(또는 제어논리, 소자 46, 48)으로 분리될 수 있다.
연산부분은 두 연산 프로세서(36, 40), 내부연산레지스터(38) 및 관련된 데이타버스 구조로 구성된다. 어드레스 레지스터는 처리 소자가 접근할 수 있는 각 메모리 포트를 8개 카운터/레지스터 쌍(42, 44)의 한 그룹으로 구성된다. 제4도는 각 처리소자가 좌우측에서 이중포트메모리연결소자를 접근할 수 있는(제2도 참조) 두그룹의 어드레스 레지스터를 보이고 있다. 어드레스 레지스터(42)는 우측의 인접한 이중포트메모리연결소자의 메모리장소에 어드레스하도록 사용되고 어드레스레지스터(44)는 좌측의 인접한 이중포트메모리연결소자의 메모리장소에 어드레스하도록 사용된다. 제어논리부분은 프로그램메모리(46)와 처리소자를 프로그램가능하도록 하는 관련된 논리회로(48)를 포함한다.
제어장치(48)는 라인(50)을 통하여 우측의 인접한 이중포트메모리연결소자 및 라인(52)을 통하여 좌측의 인접한 이중포트메모리연결소자의 하드웨어 제어플래그를 감지하여 셋트 또는 리셋트시킨다.
제어장치(48)는 메모리 필드와 연관된(또는 특정 어드레스 레지스터와 연관된) 이중포트메모리소자가 정지된 상태에 있게되는 그 인접한 이중포트메모리소자와 제어플래그에 접근토록 어드레스 레지스터(42, 44)중 하나를 위하여 프로그램 시켄스가 호출될 때에 처리소자의 동작을 중지하게 될 것이다. 제어장치는 인접한 이중포트메모리연결소자의 특정 플래그가 그 특정 이중포트메모리연결소자에 인접한 다른 처리 소자에 의하여 셋트될 때까지 처리소자의 활동을 계속 중지할 것이다. 이와같이 하므로서 처리장치는 자체시간조절이 되며 요구된 데이타가 유효하게 될때까지 비활동 상태를 유지할 것이다. 따라서 각 처리소자는 비동기 데이타구동로칼제어를 갖는다.
처리소자가 제어플래그가 데이타의 비가용성을 지시하는 동안에 동작을 중지하므로 동일메모리장소에 동시 판독 및 기록토록 시도하는 두 처리소자에 의한 데이타의 오염기회가 없는 것이다. 이중포트메모리연결소자의 각 제어플래그가 어느 특정상태에 있을 때에 일측의 인접처리소자에 셋트플래그가 되고 타측 인접처리소자에 리셋트플래그가 되도록 프로그램된다.
또한 본 발명의 구성은 어느 특정한 인접 이중포트메모리연결소자의 여러 데이타장소에 접근토록하는 둘 이상의 레지스터를 이용한다. 각 이중포트메모리소자는 둘 이상의 제어플래그를 가지며(각 제어플래그는 상기 인접한 이중포트메모리소자의 어드레스 레지스터와 관련되어 있다.), 메모리중첩이 가능하다. 환언컨데, 어느 특정의 이중포트메모리연결소자의 우측에 대한 처리소자는 어느 특정의 이중포트메모리소자의 제1장소로부터 그 어드레스 레지스터의 하나를 이용하여 데이타를 판독 또는 기록할 수 있으며, 상기 특정의 이중포트메모리소자의 좌측에 대한 처리소자는 상기 이중포트메모리소자의 제2메모리장소로 데이타를 동시 판독 또는 기록할 수 있다. 이 실시예에서, 플래그(1)(이중포트에 메모리 소자에 장소를 두고 제1메모리장소에 관련되어 있다.)는 우측처리소자에 대하여 셋트되고 좌측처리소자에 대하여 리셋트될 것이며, 플래그(2)(역시 이중포트메모리내에 있다)는 우측처리 소자를 위하여 리셋트되고 좌측처리소자를 위하여 셋트 될 것이다.
또한 제4도의 버스구조로 부터, 처리소자는 버스(62)로 부터의 좌측 이중포트메모리에서 판독 또는 기록이 가능한 반면에 버스(60)로 부터의 우측이중포트 메모리로부터 동시판독 또는 기록이 가능함을 알 수 있다. 이는 내부버스구성(64, 66)이 상기 우측 포트(60) 또는 상기 좌측포트(62)로 부터 각각 입력레지스터(54)와 출력 레지스터(58)로 접근할 수 있기 때문에 가능한 것이다. 또한 프로그램 메모리(46)에 저장된 명령어는 우측포트(60)와 좌측포트(62)로부터 판독/기록 작업을 제어하기 위한 각각의 필드를 갖는다. 따라서 좌측포트에 대한 판독 또는 기록과, 우측 포트에 대한 판독 또는 기록이 동일한 명령싸이클에서 모두 이루어질 수 있다. 마찬가지로 가산시/감산기(40)로부터 승상기/계산기(36)를 분리하는 내부레지스터(38)의 이용과 함께 버스구조(64, 66)는 동시 승산/제산 및 가산/감산이 이루어지도록 한다.
또한 프로그램(46)에 저장된 명령어는 승산기, 가산기 및 좌우측 데이타 포트어드레스를 제어하기 위한 별도의 필드를 갖는다. 이들의 동작은 승산, 가산 또는 감산, 또는 좌측포트에 대한 판독 또는 기록이 병렬로 행하여지며, 우측포트에 대한 판독 또는 기록이 모두 동일 명령싸이클에서 이루어진다.
제5도는 2차원 처리어레이에 이용하기 위한 처리소자의 한 실시행태를 보인 블럭다이아그램이다. 선형어레이에 이용된 기본 처리소자(제4도 참조)는 처리소자(67)가 이 처리소자로부터 2차원어레이에서 상하좌우로 배치된 인접한 이중포트메모리연결소자에 접근하는 각각 4개 세트의 어드레스 레지스터(42, 44, 68, 70)를 갖는 것을 제외하고는 2차원 어레이를 위하여 이용된 것과 유사하다. 마찬가지로 4개의 제어라인(72)은 인접한 상하좌우 이중포트메모리연결소자의 하드웨어제어플래그를 감지하고 이를 셋트 또는 리셋트 시킨다. 상기 언급된 바와같이, 각 이중포트 메모리연결소자에 있는 둘 이상의 제어플래그를 이용한 메모리의 중첩, 상하좌우측 이중포트메모리소자에 대한 동시 판독 또는 기록과, 동시 가산/감산 및 승산이 모두 MWAP 2차원 어레이에서 얻을 수 있는 특징이다.
제6도는 본 발명에 의하여 교시된 바와같은 모듈러 처리소자의 보다 상세한 블럭다이아그램을 보인 것이다. 설명을 간편히 하기위하여 제6도는 선형어레이에 이용된 처리소자를 보이고 있다. 그러나, 본 발명의 범위내에서는 제6도에서 보인 특정적인 구조가 다중차원의 어레이에도 확장될 수 있는 것임을 이해할 수 있을 것이다.
이 처리소자는 명령 캐시와 프로그램 시켄서를 갖는 제어장치(74) 우측 어드레스버스(78)와 좌측 어드레스버스(80)를 따라서 인접한 이중포트메모리연결소자(도시하지 않았음)에 어드레스 하기 위한 메모리 어드레스 레지스터(76)의 블럭, 부동소숫점승산기(82), 부동소숫점 연산단(ALU)(84), 입력 레이스터(86), 출력레지스터(88) 및 내부연산레지스터(90)로 구성된다. 출력레지스터(88), 입력레지스터(86) 및 내부연산레지스터(90)는 각각 우측출력버스(92), 우측입력버스(94), 좌측출력버스(96) 및 좌측입력버스(98)에 연결되어 있다. 입력/출력버스(92, 94)는 우측 이중포트메모리연결소자에 결합되고 입력/출력버스(96, 98)는 좌측 이중포트메모리연결소자에 결합된다. 제어장치(74)의 제어캐시가 로딩하는 경우 프로그램과 데이타메모리가 분리된다. 모든 메모리 어드레싱은 판독할 수 있거나 판독되어 증분될 수 있거나, 또는 프로그램 로딩중 판독되어 지정된 베이스 어드레스에 리셋트될 수 있는 메모리 어드레스 레지스터(76)에 의하여 행하여진다. 처리소자는 인접한 우측이중포트메모리연결소자와 인접한 좌측 이중포트메모리연결소자의 메모리장소에 대하여 동시 판독 또는 기록이 가능하다. 제어라인(108)(110)은 제어장치(74)가 인접한 좌측 또는 인접한 우측이중포트메모리연결소자내에 있는 하드웨어제어플래그를 감지하여 셋트 또는 리셋트시킬 수 있도록 한다. 이미 언급한 바와같이, 제어장치(74)는 프로그램 명령이 인접한 이중포트메모리소자의 기억장소에 접근하도록 어드레스레지스터(76)를 호출하고 상기 인접한 이중포트메모리소자의 관련된 제어플래그가 아직 셋트되지 않았을 때에 지정된 처리소자의 처리작업을 중지시킬 것이다.
연산단은 14개의 연산레지스터(제6도의 부호 R0-R13), 부동소숫점승산기(82)와, 부동소숫점가산기/감산기(84)로 구성된다. 레지스터(90)는 승산과 누산 알고리즘을 수행하도록 설계된 지정버스구조를 이용하여 연결되어 있다. 단 두개만의 레지스터(R0,R13)가 좌우측 입력버스(94, 98)와 양 출력버스(92, 96)에 연결되어 있다. 6개의 레지스터(R1, R2, R4, R6, R9, R11)가 입력버스에 연결되고 4개의 레지스터(R7, R8, R12, R13)가 출력버스에 연결되어 있다. 두 레지스터(R5, R10)는 어떠한 입력 또는 출력버스에도 연결되지 않았다. 이러한 구조에 의하여 최소한의 레지스터와 연결로 실질적으로 복잡한 작업이 효과적으로 수행된다.
승산기, 가산기/감산기, 좌우측 데이타 포트는 처리소자 명령어의 각 필드에 의하여 독립적으로 제어된다. 각 명령 필드는 이들작업이 병렬로 승산, 가산 또는 감산과, 좌측포트로의 판독/기록을 수행토록 하거나, 동일명령 싸이클에서 우측포트로의 판독/기록이 수행될 수 있도록 한다.
어드레싱 단은 8개와 카운터/레지스터 쌍으로 된 두 그룹(100, 102)으로 구성된다. 일측 그룹(102)은 좌측어드레스 카운트(LACO-LAC7)로서 작용하고 타측 그룹(100)은 우측 어드레스카운터(RACO-RAC7)로서 작용한다. 각 어드레스카운터에는 베이스레지스터(104)가 연결되어 있다. 이 베이스레지스터는 카운터를 위한 기준메모리어드레스를 유지하는데 이용된다. 각 명령중에 이 메모리가 참조되고, 어드레스가 지정된 카운터(106)는 증분되거나, 그 기본어드레스 레지스터내의 값으로 리셋트되거나 또는 카운터가 변경되지 않을 것이다. 고속푸리에 변환과 유사 알고리즘을 수행할 때에 어드레스의 발생을 용이하게 하기 위하여 어드레스 카운터(KAC6, LAC7, RAC6 및 RAC7)의 출력이 비트역순으로 어드레스 버스에 배치된다. 이 비트역순과 연관된 변환크기는 프로그램가능한 것이다.
제7도에는 프로그래밍 시켄스단(74)의 확장된 블럭다이아그램이 도시되어 있다.
이는 프로그램 메모리(112), 프로그램어드레스 카운터(114) 및 4개의 프로그램 분기 어드레스 레지스터(116)를 포함한다. 아울러 루우프의 분기조건을 조절하기 위하여 사용되는 두개의 루우핑 카운터(118)(120)(루우프1과 루우프2)가 있다.
베이스 레지스터(122, 124)는 루우프 카운터를 리셋트하기 위하여 각 카운터에 결합되어 있다. 한 카운터는 각 명령싸이클중에 수정될 수 있다. 이는 그 베이스레지스터로부터 증분, 감분 또는 재로딩될 수 있다. 이들 루우프 카운터에 부가하여 연산레지스터(112)(제6도 참조)가 분기조절을 위하여 사용될 수 있다. 이로써 데이타종속에 따라 분기조건조절이 이루어질 수 있다.
제8도는 본 발명에 의하여 교시된 바와같은 이중포트메모리연결소자의 블럭다이아그램을 보인 것이다. 이중포트메모리연결소자는 두가지 독특한 특징을 갖는다. 즉(1) 그 경계에서 비동기로 구동된다. (2)이는 두 플래그(126)를 포함한다. MWAP에서 데이타흐름은 이들 플래그에 의하여 제어된다. 이들 플래그는 인접한 처리소자에 대한 데이타의 가용성을 지시하도록 사용된다. 메모리 액세스를 위한 어드레스와 같이 처리소자내의 LACO 또는 RACO(제6도 참조)를 이용한 어떠한 명령도 관련 이중포트메모리연결소자의 제어플래그(1)가 셋트되지 않는 한 실행되지 않는다. 플래그(1)가 셋트되지 않을 때에 이러한 형태의 명령이 실행을 시도한다면 제어플래그에 의한 셋팅으로 접근이 허용될 때까지 명령실행이 중지된다. 플래그가 셋트되었을 때에 명령실행이 시작된다. 마찬가지로 플래그(2)는 LACI와 RACI를 참조하는 명령의 실행을 제어한다. (제6도 참조)
만약 제8도에서 보인 이중포트메모리연결소자가 어레이에서 제6도에서 보인 처리소자의 좌측에 배치되는 경우, 이중포트메모리연결소자의 우측포트의 어드레스레지스터(142)가 버스(76)에 연결되며 입력데이타 선입선출(140)과 출력데이타선입선출(138)은 각각 버스(98)(96)에 연결되고 우측포트 핸드쉐이크 논리회로(136)는 제어라인(108)에 연결된다. 마찬가지로, 어드레스 레지스터(134), 입력데이타선입선출(132), 출력데이타선입선출(130) 및 이중포트메모리연결소자의 좌측포트에 관련된 핸드쉐이킹 논리회로(128)는 그 좌측에 배치된 처리소자의 유사소사에 연결된다. 따라서, 정적 RAM 메모리(136)는 처리소자에 의하여 그 인접한 좌측 및 우측에 접근될 수 있다. 이미 언급된 바와같이, 두 제어플래그를 이용하므로서 인접한 처리소자는 정적 RAM(136)의 여러부분에 중첩하여 접근할 수 있다. 이로써 좌측인접추리소자 및 우측인접처리소자는 동시에 정적 RAM(136)의 여러부분에 동시접근이 가능하도록 한다.
메모리연결형 파면어레이 프로세서(MWAP)의 동작과 그 특성이 신호처리를 위한 유한 입력응답(FIR)필터의 다음 구현으로 설명된다. FIR 필터의 등식은 다음과 같다.
2상태 필터 즉 N=2를 위하여 제1의 및 항을 판독하여, 다음 값을 구하였다.
모든 필터계수 b(n)이 처리소자로 판독되었을 때에 MWAP의 각 처리소자(PE)는 파면b(k)x(i)과 부분합을 다음 PE에 보낸다. 제1PE는 입력데이타 스트림을 판독하고 최종 PE는 출력Y(i)을 호스트 컴퓨터 시스템버스에 전송한다. FIR 알고리즘은 제9도에서 보인 선형 어레이를 이용하여 계산된다. 사상의 시켄스가 또한 제9도의 여러 처리싸이클에 대하여 설명된다. 싸이클(1)과 (2)는 기본적으로 어레이를 초기화한다. (기호>는 데이타가 판독 또는 기록되는 방향을 나타내는 것으로, 예를들어 싸이클 1에서 데이타 x(0)는 DMP#1로 부터 판독되고, 싸이클 #2에서 데이타 x(2)는 DMP2으로 기록된다. 싸이클3-5에서, 처리소자 #1은 메모리로부터 그 좌측으로 x(1)를 판독하고, b(2)x(1)항을 계상하며, 메모리 어드레스 레지스터 #1에 의하여 지정된 베이스 어드레스를 이용하여 그 우측으로 메모리에 x(1)과 이전의 적 b(2)x(0)을 기록한다. PE#1이 메모리의 부분합과 x(1)를 그 우측에 기억시키는 것을 완료하였을 때에 이는 데이타가 처리되도록 준비되었음을 PE#2에 알리기 위하여 상기 메모리의 제어플래그 #1를 세트시킨다. (주:화살표에 표시된 기호 #1와 #2는 각각 플래그 1과 2의 셋팅과 리셋팅을 나타낸다.) 그리고 PE#1은 메모리 어드레스 레지스터 #2와 제어플래그 #2를 이용하여 x(2)의 처리를 반복한다. 이 시켄스는 제1어드레스 레지스터 #1 및 제어플래그 #1과, 어드레스 레지스터 #2 및 제어플래그 #2를 이용하여 좌측메모리에서 모든 입력표본을 처리하도록 반복된다. 만약 주 처리장치가 새로운 데이타 표본을 최좌측에 메모리에 연속하여 입력시키면 MWAP는 영구적으로 입력데이타를 연속 여과할 것이다.
제어플래그 #1가 셋트되었을 때에 처리소자 #2는 메모리로부터 그 좌측으로 x(n)과 부분합을 판독할 것이다. 그리고 이는 제어플래그 #1를 리셋트시켜 PE#1가 다시 상기 메모리부분을 이용토록하고 새로운 부분합 b(2)x(n)+b(1)x(n+1)을 얻을 수 있도록 부분합에 적 b(1)x(n+1)항을 가산한다.
데이타 표본 x(n)과 이전의 부분합이 그 메모리 어드레스 레지스터 #1에 의하여 지정된 베이스 어드레스를 이용하여 그 우측으로 메모리에 기록된다. PE#2가 메모리의 부분합과 x(n)을 그 우측으로 기억시키는 것을 완료하므로서 이는 데이타가 처리되도록 준비되었음을 PE#3에 알리는 상기 메모리의 제어플래그#1를 셋트시킨다. 그리고 #2는 그 메모리 어드레스 레지스터 #2와 그 좌측에 메모리의 제어플래그 #2를 이용하여 x(n+1)의 처리를 반복하고 메모리의 제어플래그 #2를 그 우측으로 셋팅한다. 이 스켄스는 제1처리소자와 마찬가지로 연속하여 반복된다.
처리소자 #3는 메모리로부터 그 좌측으로 부분합과 x를 판독하고 부분합에 적 b(0)x(n+2)을 가산하여 처리소자 #1와 #2에 대하여 설명된 것과 같이 메모리 어드레스 레지스터와 제어 플래그의 동일 스켄스를 이용하여 메모리 우측에 그 답을 보낸다. 따라서 결과 Y(0), Y(1) …는 호스트 컴퓨터에 의하여 판독되도록 최우측 이중포트 메모리에 기록된다.
FIR 처리시켄스는 메모리연결형 파면어레이 프로세서의 여러 특성을 보여준다.
1. 계산의 흐름이 MWAP를 통하여 흐른다. 초기화 되었을 때 입력데이타는 좌측 메모리연결소자로 부터 리드미컬하게 판독되어 그 결과가 우측메모리연결소자에 출력된다. 예시된 처리 처리시켄스에 있어서 매2회의 처리싸이클마다 데이타가 입력되고, 처리되며, 출력된다.
2. MWAP는 자체타이밍조절된다.(전역클럭이 개별 PE를 제어할 필요가 없다. )
즉 계산의 흐름은 각 이중포트메모리의 두 플래그에 의하여 제어된다. 두 제어플래그를 이용하므로 데이타버퍼의 중첩을 허용한다. (예를들어, 이중포트메모리연결소자의 좌우측 PE는 이중포트메모리연결소자의 여러기억장소에 동시에 접근할 수 있다.) 실제로 두 플레그는 일반적으로 다른 MWAP 알고리즘의 효율적인 처리가 이루어지도록 한다.
3. MWAP 처리율은 사용된 처리소자/연결메모리쌍과 수행된 알고리즘의 수와, 처리된 데이타셋트의 크기 또는 계산기 길이에 따라서 좌우된다. 예를 들어 MWAP 처리율은 만약 하나의 부가적인 PE/메모리연결쌍이 필터의 각 부가적인 단계에 사용되는 경우 FIR필터(여러단계)를 더 이상 변경시키지 아니한다.
광범위한 종류의 1차원 알고리즘이 MWAP에서 용이하게 실행될 수 있으며, MWAP는 그 처리율을 증가시키도록 용이하게 확장될 수 있다. 이는 1-D 열전도등식의 다음 해법으로 설명될 수 있다.
상기 언급된 FIR 구조를 이용하여
b(0)=a
b(1)=b
b(2)=c라 하고
주어진 n에 대하여 x(i)=T(i)라 하면
이들 대입으로, MWAP의 FIR 필터에 사용된 동일 알고리즘이 MWAP의 각 상호작용으로 1-D 열전도식에서 단일포인트 n을 풀도록 이용될 수 있다. 아울러, MWAP 출력은 제10도에서 보인 바와같이 주메모리 간섭없이 n을 풀도록 이용될 수 있다. 아울러, MWAP 출력은 제10도에서 보인 바와같이 주메모리 간섭없이 n의 다중조합을 계산하도록 입력에 역순환될 수 있다. 다른 구성으로서, 버스(144)를 따라 데이타 역순환이 이루어지도록 하는 대신에 선형 어레이가 프로그램 되어 데이타와 계산이 처음에는 어레이를 통하여 우측으로 진행하고 다음에 부가적인 조합이 계산되도록 좌측으로 역류하며, 다시 역류하여 데이타와 우측으로 진행하여 최우측 이중포트메모리소자로부터 호스트 컴퓨터에 의해 해답이 나올 수 있도록 할 수 있다.
MWAP의 처리율은 동일한 시간에 하나이상의 포인트 n 을 계산하기 위하여 처리소자/연결메모리의 3개쌍의 다중조합을 이용하므로서 증가될 수 있다. 제11도는 이를 확장한 것을 보인 것이다. 제10도에서 보인 역순환도는 데이타를 주메모리에 복귀시키기전에 다중 포인트를 계산하기 위하여 제11도의 구성에 이용될 수 있다. 이들 예는 MWAP의 3가지 부가적인 특성을 보인다.
4. 비동기 이중포트메모리연결소자는 어떤 길이(크기)로 MWAP 프로세서를 간단히 확장시킬 수 있도록 한다. 각 PE를 제어하는 전역클럭이 없으므로 전파지연은 처리어레이의 크기를 제한하지 않을 것이다.
5. 여러 알고리즘이 실행토록 동일 MWAP에 로딩되거나 MWAP는 그 프로그램메모리에서 여러 상이한 알고리즘을 수요하는 동시에 PE프로그램 캐시에서 시작어드레스를 간단히 변경시켜 계산된 기능을 변경할 수 있도록 한다. 만약 프로세서가 소자의 선형 어레이가 주어진 알고리즘에 요구된 것보다 많은 소자를 수용하는 경우 그 결과는 변경없이 최종 이중포트메모리연결소자에 간단히 전파될 수 있다.
6. 하나 이상의 계산기(기능)이 데이타가 주 메모리에 복귀되기전에 입력측에 인가될 수 있다. 즉, 알고리즘이 MWAP에서 연속될 수 있다. 각 PE의 프로그램 캐시에 기억된 명령시켄스는 PE에 의하여 제공된 계산기능을 결정한다.
만약 열전도등식에서 계수 a, b 및 c가 일정치 않을 경우, 각 처리소자는 데이타가 어레이를 통하여 흐를 때에 그 계수의 다음 값을 계산하도록 프로그램될 수 있다. 이러한 확장으로 MWAP는 여러 가지 계수로 부분이 상이한 등식을 처리할 수 있도록 한다. 그러나, 프로세서의 처리율은 계수의 새로운 값을 계산하도록 요구된 시간까지 감소될 것이다. 보다 복잡한 해법은 제12도에서 보인 바와같은 MWAP 어레이를 이용하여야 한다. 이 구성에 있어서, 제1열의 프로세서/연결메모리소자(146)는 열전도등식의 계산을 위한 알고리즘을 수행한다. 제2열의 프로세서소자(148)는 제1열의 프로세서소자에 의하여 사용될 계수의 다음값을 계산한다.
계수값은 필요시 상단 열의 프로세서에 의하여 사용되도록 이중포트메모리연결소자(150, 152, 154)의 열에 기억된다. 따라서, 새로운 계수의 계산이 열전도등식의 계산과 병렬로 행하여지므로 MWAP의 처리율이 증가된다.
MWAP의 구성의 특징
MWAP의 선형의 프로세서/메모리 소자를 이용하여 2차원 어레이 문제를 계산한다. 이러한 메모리연결형 파면어레이의 중요 특성을 설명하기 위하여 두가지 흔히 있는 매트릭스의 승산을 위한 광역형 시스톨릭 파면 어레이 알고리즘을 예로 들기로 한다.
C=A*B
여기에서 A=[A(i, j)]이고, B=[B(i, j)]이다.
다음 계산은 3×3 매트릭스의 승산과정을 보인 것이다.
만약 매트릭스 A가 열A{x}로 분해되고 매트릭스 B가 행 B{y}으로 분해되면 A와 B의 적은 다음식으로 계산된다.
이러한 해법은 정사각형 어레이를 따라 즉시 A열과 B행을 확장시켜 매트릭스 승산에 이용될 수 있으며, 내부적은 각 프로세서의 프로그램 루우프를 통하여 합산된다. 종래기술의 이러한 형태가 제13도에 도시되어 있다.
제13도의 광역 어레이에서, A열과 B행은 좌상단으로 부터 처리소자에 입력된다. 두 데이타 Aij와 Bij는 처리 노드에서 이들이 만날때에 승산되고 적 Cij에 가산되며 현재의 데이타 값이 노드에 있는 레지스터에 있게 된다. 모든 노드에서 Cij 레지스터의 초기값은 제로이다. 레지스터가 갱신될 때에 Aij와 Bij데이타 하은 다음 프로세서에 보내어진다. 모든 행열의 데이타가 프로세서 노드에 도달할 때에 등식(1)의 모든 적은 가산될 것이다.
이러한 설계는 행열의 데이타를 확장하기 위한 전역통신을 필요로 하며 종래기술의 시스톨릭 또는 파면어레이 프로세서에 의하여서는 수행될 수 없다. 또한 호스트 프로세서로 복귀되는 어레이로 부터의 결과를 판독하는 부가적인 문제점이 있다.
또한 적C는 내부적누산을 이용하여 계산될 수 있다.
여기에서 K=1,2…, N.
내부곱 누산을 이용한 종래 기술의 매트릭스 승산은 제14도에서 종래기술로 보인 시스톨릭 어레에서 이행되었다. 예를들어 A는 프로세서의 좌측변으로 전파되고, B는 프로세서의 상변으로 전파되며, C(초기에는 0)는 좌상부로부터 어레이를 통하여 대각선방향으로 전파된다. 시스톨릭 어레이에 사용된 어레이의 전역클록킹은 각 처리소자가 각 클럭펄스마다 데이타를 처리하도록 요구된다.
따라서, 상이한 B열과 A행은 정확한 시간에 각 처리소자에 도달하도록 하기 위하여 도시된 별도의 제로로 조절되어야 한다. 각 A조합이 프로세서 소자에 도달하면 이들은 처리소자의 현재 부분합에 승산되고 가산된다. 이 결과는 저면 대각선상에서 어레이로부터 전파된다.
만약 적의 판독출력이 무시되면 연속적이 N 싸이클에서 얻어질 수 있다. 그러나 이것이 문제이다. 시스톨릭 어레이에서는 어떻게 N 적을 판독출력할 것인가? 적은 이동될 수 있으며, 이는 부가적인 프로세서싸이클을 요구하고 각 프로세서 소자는 호스트 컴퓨터에 접속될 수 있는바, 이는 시스템의 복잡성을 더욱 증가시키거나 프로세서가 행 또는 열에서 호스트 컴퓨터로 옮겨질 수 있다. 따라서 호스트 컴퓨터와의 통신은 제힌되어 시스템의 복잡성, 데이타 통신율의 요구 및 시스템처리율에 영향을 준다.
파면 어레이 프로세서는 프로세서어레이의 하측으로 이동하는 계산 파면의 개념을 이용한다. 각 프로세서는 파면내의 항을 수정하고 파면의 전파를 전달하는 2차 소오스로서 작용한다. 따라서 처리어레이의 파면은 알고리즘의 수학적 순환에 일치한다. 파면의 연속파이프라인은 알고리즘의 모든 순환을 계산한다.
매트릭스 승산을 위한 종래기술의 파면어레이 프로세서가 제15도에 도시되어 있다. 종래 어레이의 메모리(156)(158)는 프로세서 어레이의 좌상부상에 위치한다. 이러한 형태의 어레이에서 매트릭스승산이 수행되기 위하여, 모든 처리소자의 레지스터는 초기에 제로로 셋트된다.
C(0, ij)=0, 모든 i와 j에 대하여, A(i, j)를 위한 엔트리가 메모리에서 좌측에(열에) 기억되며, B(i, j)를 위한 엔트리는 메모리에서 상부에(행에) 기억된다.
처리는 PE(1,1)에서 시작된다. 여기에서
C(1, 11)=C(0, 11)+A11*B11
이 계산된다. 그리고 계산파면은 인접한 PE(1, 2)와 (2, 1)에 전파되며,
C(1, 12)=C(0, 12)+A11*B12와 C(1, 21)=C(0,21)+A21*B11
이 계산된다. 이러한 초기 파면이 어레이를 통하여 전파되므로서 동일한 제2파면(순환)이 제1파면 이후에 병렬로 즉시 수행된다. 따라서 동일시간에 PE(1, 2)이 각각 C(1, 12)와 C(1, 21)를 계산하고, P(1, 1)은
C(2, 11)+C(1, 11)+A12*B21
를 계산한다.
이러한 파이프라이닝은 두 연속순환의 파면이 결코 교차되지 않으므로 실행가능하다. 어느 주어진 순간에 순환을 실행하는 프로세서는 상이하며, 어떠한 경쟁문제점을 피할 수 있다. 실제로 문제사이에 초기화제로를 전파할 수 있는 역량을 가지므로 제1처리소자가 제1문제를 위한 모든 순환을 완료하자마다 새로운 제2승산 문제가 시작될 수 있다.
제16도와 제17도는 시스톨릭 어레이 또는 종래기술의 파면어레이에서는 취급이 어려운 이러한 매트릭스 승산문제가 MWAP 구성에서는 간단히 취급될 수 있음을 보인 것이다. 실제로, 종래기술의 파면어레이 프로세서가 2차원처리 어레이를 요구하는 반면에 이 문제는 간단한 선형어레이의 MWAP에 의하여 취급될 수 있다. 제16도는 처리단계사이에서 이중포트메모리(PPM)에 데이타와 계수를 기억시키므로서 3-프로세서 선형 어레이에서 승산이 수행될 수 있음을 보인 것이다. 도시된 매트릭스 B열과 매트릭스 A행의 인터리브는 매트릭스의 하측으로 부터 상측으로 역순으로 진입된다.
매트릭스 A행은 우측에서 좌측으로 역순으로 진입된다. 각 처리소자는 이들이 어레이를 통하여 할당될 때에 각 출력항 C(ij)을 위하여 부분합의 한 항을 계산한다. 계산시켄스는 제17도에 그 윤곽을 보였다.
기본적으로 MWAP의 각 프로세서 소자는 시스톨릭 또는 종래기술의 파면구현에 있어서는 프로세서의 수직열을 계산한다. 이는 처리소자사이에 이중포트메모리연결소자의 계수를 승산을 위한 계수를 로딩시켜 어레이를 초기화시킨다. 이를 수행하기 위한 시간은 종래 파면어레이의 변부를 따라 메모리에 계수를 로딩시키는데 요구되는 시간에 해당한다.
계산은 제15번 싸이클이 어레이를 통과할때에 시작된다. 출력이 제22번 싸이클에서 시작할 때에 결과는 매2회 프로세서 싸이클마다 최종 이중포트메모리연결소자에 저장된다. 이 싯점에서 계산과 출력이 동시에 일어난다. 시스톨릭 어레이의 경우처럼 어레이로부터 결과를 판독하는데 부가적인 시간이 요구되지는 않는다. 매트릭스 쌍이 좌측으로 부터 연속하여 진입되고 그 결과가 MWAP 어레이의 우측으로 부터 판독될 수 있다.
제17도에서 보인 바와 같이, 출력매트릭스의 각 행을 위한 계산시간은 2N+1 프로세서 사이클이다. 여기에서, N은 정사각형 매트릭스의 승산을 위한 총 계산시간은 N(2N+1) 프로세서 싸이클이다. 따라서, N X N곱을 계산하기 위한 N 프로세서의 계산시간은 대략 N의 제곱에 비례한다. 즉 동일하거나 약간 크며, 시스톨릭 또는 종래 파면어레이에서 얻은 결과는 다음과 같다. 9×9전 매트릭스 승산의 계산에 사용하기 위하여 9개의 프로세서를 갖는다고 가정한다. 만약 선형 MWAP 어레이가 사용되는 경우 이는 약 9(2*9+1), 즉 171 프로세서 싸이클을 요구할 것이다. 시스톨릭 또는 종래 파면어레이를 이용하는 것은 매트릭스 분할이 요구된다. A 및 B매트랙스를 3×3 매트릭스로 분할한 결과는 다음과 같다.
여기에서 A(ij), B(ij) 및 C(ij)는 모든 3×3 매트릭스이다.
N X N 시스톨릭 또는 종래 파면어레이가 대략 N 프로세서 반복해서 N X N 매트릭스 곱을 계산할 수 있으므로 각 C(ij)항의 계산은 3*N 또는 9프로세서 반복을 요구할 것이다.
종래 어레이에서 전체 C 매트릭스의 이러한 계산은 9×9 즉, 81 프로세서 반복과 18매트릭스 가산을 수행하는데 요구되는 시간을 필요로 한다. 종래 기술의 파면 어레이에서 매트릭스 승산을 위한 기본반복은 다음과 같다.
FETCH B, UP
FETCH A, LEFT
FLOW A, RIGHT
MULT A, B, D
ADD C, D, C
이러한 반복은 6프로세서 싸이클을 요구한다. 종래 기술의 파면어레이를 이용하는 경우 9×9 매트릭스적을 계산하기 위한 시간은 대략 486 프로세서 싸이클이다.
만약 두 프로세서의 싸이클 시간이 동일하다면 MWAP 어레이는 종래기술의 파면 어레이보다 2.5배 빠르다. 위 비교로서 MWAP의 두가지 부가적인 특성은 다음과 같다.
7. MWAP의 동시 계산과 다중방향통신역량을 그 처리율을 충분히 증가시킬 것이다. 실제로 대부분의 알고리즘에 대하여 MWAP는 시스톨릭 어레이 또는 종래 기술이 파면어레이보다 빠르다.
8. 연결메모리를 이용하므로 단일선형 MWAP 어레이라 하더라도 다양한 1차원 및 2차원 알고리즘을 구현할 수 있다.
고속푸리에 변환(FFT)을 계산하기 위한 MWAP의 이용
이미 언급된 바와같이, 순환식을 이용하여 푸리에 변환을 계산하는 것은 종래기술의 시스톨릭 또는 파면어레이처리를 이용하여서는 불가능하다. 다음 식으로 정의되는 불연속 푸리에변환은 시스톨릭 또는 종래기술의 파면어레이로서 계산될 수 있다.
그러나, 불연속 식은 길이 N의 변환을 계산하는데 N 프로세서와 N 프로세서 싸이클 또는 N 제곱 계산을 요구하므로 순환식으로서는 바람직하지 않다.
푸리에볍환 순환식은 다음과 같다.
여기에서, p, q 및 r은 단계적으로 변화한다. 이 고속푸리에변환(FFT) 계산은 크기 N의 변환을 계산하기 위하여 N*log(N)의 계산만을 요구한다. 따라서 순환식을 불연속 푸리에변환을 이용한 직접계산보다 빠르다. 그러나 입력계산포인트 사이의 길이는 순환식을 이용한 계산에서 각 단계마다 변화(증가)한다. 이는 십진 시간 상수 기하학 FFT 알고리즘의 신호흐름을 보인 제18도에서 알 수 있다. 입력 데이타 포인트 사이의 거리에서 이러한 변화 또는 전역통신요구는 시스톨릭 또는 종래기술의 파면어레이에서 순환식을 이용한 FFT의 실행을 불가능하게 한다.
순환식을 이용하여 FFT의 실행을 위한 MWAP를 이용하는 한가지 방법은 알고리즘의 각 항을 위해 하나의 처리소자를 이용하고 프로세서를 제18도에서 보인 바와같이 상호연결하는 것이다. 이는 N 포인트 변환에 대하여 N 프로세서를 요구할 것이다.
그러나, 이전의 실시예에 이용된 동일한 선형어레이 메모리연결형 파면어레이프로세서는 고속푸리에 변환을 계산할 수 있다. MWAP에서 FFT를 실행하기 위하여 입력이 비트-역순으로 제1의 이중포트메모리 연결소자에 기억되며, W계수가 비트-역순으로 단계사이의 이중포트메모리연결소자에 기억되고, 합과 여러 항들이 두 베이스 어드레스 레지스터를 이용하여 프로세서 사이에 전파된다. 이는 제19도에서 보인 바와같이 단계사이의 선형으로 계수와 데이타의 어드레스지정을 가능하게 한다. MWAP는 FFT를 다음과 같이 계산한다.
1. FFT의 각 단계가 X(p)+W(r)*X(q) 및 X(p)-W*(r) X(q)를 계산하는 하나의 MWAP 처리 모듈을 이용하여 실행된다.
2. 각 단계에서 프로세서는 이중포트메모리연결소자의 우측에 합과 여러 적의 │p-q│ 길이 블럭을 출력하기 위하여 메모리 어드레스 레지스터(A)와 메모리어드레스(B)를 교대로 이용한다.
3. 각 단계에서 프로세서는 메모리어드레스베이스 레지스터(A)(B)를 교대로 이용하여 이중포트메모리연결소자의 좌측으로 부터 계산포인트를 판독한다.
16-포인트 FFT 계산의 시간 스탭샷과 함께 그 알고리즘이 제19도에서 설명된다.
MWAP는 크기 N 변환을 위한 In(N) 프로세서를 이용하여 FFT를 실행하고 N/2 시스톨릭 싸이클에서 길이 N의 다중푸리에 변환을 수행한다. 이와같이 MWAP 구성은 시스톨릭어레이 또는 종래기술의 파면어레이에서는 불가능하였던 알고리즘을 수행할 수 있다.
상기 교시한 바에 비추어 본 발명의 여러 가지 수정과 변경에 가능하다. 따라서 첨부된, 청구범위의 범위내에서 본 발명은 상기 언급된 것이외의 다른 방식으로도 실시될 수 있다.
Claims (28)
- 다수의 처리소자(20, 24, 34)로 구성된 n-차원 어레이(여기에서 n은 상기 어레이의 기하학적 크기를 나타내는 정수이다)와, 상기 어레이 내에서 비동기 전역통신이 이루어지도록 하는 수단으로 구성되고, 상기 수단은 상기 어레이 내에서 각 처리소자(20, 24, 34)와 그 인접한 메모리연결소자(22, 26, 32) 사이의 비동기 통신이 이루어지도록 상기 처리소자(20, 24, 34)사이의 상기 어레이내에 배치된 다수의 메모리연결소자(22, 26, 32)로 구성됨을 특징으로 하는 메모리연결형 파면어레이 프로세서.
- 청구범위 1항에 있어서, 상기 각 메모리연결소자(22, 26, 32)가 적어도 두개의 포트 및 상기 각 포트를 통하여 접근 가능한 메모리로 구성되어 계산에 사용된 계수, 중간계산 및 데이타가 처리단계사이에서 상기 메모리연결소자(22, 26, 32)에 저장될 수 있음을 특징으로 하는 파면어레이 프로세서.
- 청구범위 2항에 있어서, 각 처리소자(20, 24, 43)가 상기 n-차원어레이에서 특정처리소자(20, 24, 34)에 인접한 각 메모리연결소자(22, 26, 32)의 상기 포트중 어느 하나의 특정한 것에 결합되어 데이타, 중간계산 및 계수가 데이타가 수신처리소자에 의하여 사용되거나, 송신처리소자에 의하여 처리되는 순서에 의하여 제한되지 않는 어느 요구된 순서로 처리소자(20, 24, 34) 사이를 통과할 수 있음을 특징으로 하는 파면어레이 프로세서.
- 청구범위 3항에 있어서, 특정 프로세서소자(20, 24, 34)의 데이타구동 비동기 제어를 제공하기 위하여 각 처리소자(20, 24, 34)과 결합된 로칼제어수단(46, 48, 74)이 구성되어 있고, 상기 로칼제어수단(46, 48, 74)이 특정처리소자(20, 24, 34)와 그 인접메모리연결소자(22, 26, 32)의 하나 사이에 비동기 핸드쉐이킹이 이루어지도록 하는 수단으로 구성됨을 특징으로 하는 파면어레이 프로세서.
- 청구범위 4항에 있어서, 각 처리소자(20, 24, 34)가 상기 n-차원 어레이 내에서 특정처리소자(20, 24, 34)에 인접한 각 메모리연결소자(22, 26, 32)의 메모리장소에 동시 접근하기 위한 다중방향통신 수단(76)과, 상기 다중방향 통신 수단(76)과, 상기 다중방향 통신 수단(76)의 동작과 동시에 계산기능을 수행하기 위한 수단(88, 84, 86, 88, 90)으로 구성됨을 특징으로 하는 파면어레이 프로세서.
- 청구범위 5항에 있어서, 각 처리소자(20, 24, 34)가 상기 메모리연결소자(22, 26, 32)의 메모리장소를 우측으로 어드레스지정하기 위한 우측 어드레스 레지스터(42)와 상기 메모리연결소자(22, 26, 32)의 메모리장소를 좌측으로 어드레스지정하기 위한 우측 어드레스 레지스터(44)로 구성됨을 특징으로 하는 파면어레이 프로세서.
- 청구범위 6항에 있어서, 상기 인접한 좌우측 메모리연결소자(22, 26, 32)의 메모리장소에 동시 접근하기 위한 상기수단이 입력레지스터(54, 86), 출력레지스터(58, 88), 그 우측에 근접배치된 상기 메모리연결소자(22, 26, 32)의 상기 우측에 결합된 우측데이타포트(60), 그 좌측에 근접배치된 상기 메모리연결소자(22, 26, 32)의 상기 우측에 결합된 좌측데이타 포트(62)와, 상기 우측데이타포트(60) 또는 상기 좌측데이타포트(62)로부터 상기 입력레지스터(54, 86)와 상기 출력레지스터(58, 88)에 각각 접근 위한 수단(64, 66)으로 구성되고, 상기 처리소자(20, 24, 34)가 상기 인접한 좌우측 메모리연결소자(22, 26, 32)에 대한 동시 다중방향 통신능력을 가짐을 특징으로 하는 파면어레이 프로세서.
- 청구범위 6항에 있어서, 상기 인접한 좌우측 메모리 소자(22, 26, 32)의 메모리장소에 동시접근하기 위한 상기 수단이 입력레지스터(54, 86), 출력레지스터(58, 88), 내부연산레지스터(38, 90), 우측에 근접배치된 상기 메모리연결소자(22, 26, 32)의 상기 좌측포트에 일측단에서 결합되고 상기 입력 레지스터(54, 86)와 출력레지스터(58, 86)와 출력레지스터(58, 88) 그리고 내부연산 레지스터(38, 90)에 동시에 접근하기 위하여 타측단에서 결합된 우측데이타 포트(60)와, 좌측에 근접 배치된 상기 메모리연결소자(22, 26, 32)의 상기 우측 포트에 일측단에서 결합되고 입력레지스터(54, 86)와 출력레지스터(58, 88) 그리고 내부연산레지스터(38, 90)에 동시 접근하기 위하여 타측단에서 결합된 입력레지스터(54, 86)와 출력레지스터(58, 88) 그리고 내부연산레지스터(38, 90)에 동시 접근하기 위하여 타측단에서 결합된 좌측데이타포트(62)로 구성됨을 특징으로 하는 파면어레이 프로세서.
- 청구범위 8항에 있어서, 상기 처리소자(20, 24, 34)가 상기 특정 처리소자(20, 24, 34)의 작업을 시켄싱하기 위하여 논리회로(48, 74)와 결합된 프로그램메모리(46, 74)로 구성되고, 명령어는 상기 우측데이타포트(60) 및 좌측 데이타 포트(62)로부터 판독 또는 기록작업을 제어하기 위한 별도의 필드를 가지며, 좌측 데이타포트(62)에 대한 판독 또는 기록과 우측포트(60)에 대한 판독 또는 기록이 동일 명령싸이클에서 이루어짐을 특징으로 하는 파면어레이 프로세서.
- 청구범위 9항에 있어서, 상기 처리소자(20, 24, 34)가 승산기(36, 82)와 가산기/감산기(40, 84)로 구성되는 연산부분과, 동시 승산과 가산 또는 감산작업이 이루어질 수 있도록 상기 내부 레지스터(38, 90)에 상기 승산기(36, 82)와 상기 가산기/감산기(40, 84)를 결합하는 버스구성수단(64, 66)으로 구성됨을 특징으로 하는 파면어레이 프로세서.
- 청구범위 10항에 있어서, 상기 특정 처리소자(20, 24, 34)의 작업을 시켄스하도록 상기 프로그램메모리(46, 74)에 저장된 명령어가 승산기(36, 82), 가산기/감산기(40, 84)와, 상기 우측 및 좌측데이타포트(60)(62)로부터의 판독/기록 작업을 제어하기 위한 별도 필드를 가지며, 좌측데이타포트(62)에 대한 승산, 가산/감산 및 판독/기록과 우측 데이타포트(60)애 대한 판독/기록이 동일 명령싸이클 중에 병렬로 행하여짐을 특징으로 하는 파면어레이 프로세서.
- 청구범위 3항에 있어서, 호스트 컴퓨터와 결합된 제1포트와 상기 어레이의 제1메모리 연결소자에 결합된 제2포트를 갖는 입력인터페이스(10)와, 호스트 컴퓰터와 결합된 제1포트와 상기 어레이의 최종 메모리연결소자에 결합된 제2포트에 갖는 출력인터페이스(18)로 구성됨을 특징으로 하는 파면어레이 프로세서.
- 청구범위 3항에 있어서, 호스트 컴퓨터와 결합된 제1포트와 상기 어레이 최종 메모리연결소자에 결합된 제2포트를 갖는 입력인터페이스(10)와, 호스트 컴퓨터와 결합된 제1포트와 상기 어레이의 제1메모리연결소자에 결합된 제2포트를 갖는 출력인터페이스(18)로 구성됨을 특징으로 하는 파면어레이 프로세서.
- 청구범위 4항에 있어서, 각 처리소자(20, 24, 34)가 로칼클럭으로 구성되어 각 처리소자(20, 24, 34)가 전역클럭을 요구하지 아니하고 자체 시간조절됨을 특징으로 하는 파면어레이 프로세서.
- 청구범위 6항에 있어서, 상기 처리소자(20, 24, 34)각 각 베이스레지스터(104)가 어드레스 카운터/레지스터 쌍(100, 102)에 연결된 다수의 베이스 레지스터(104)와, 어드레스버스(78, 80)에 결합된 각 어레이 카운터/레지스터 쌍(100, 102)으로 구성되고, 상기 베이스어드레스(104)는 상기 어드레스 카운터(106)의 기준 메모리 어드레스를 고정하며, 상기 어드레스 레지스터(76)는 어드레스 카운터를 증분하거나, 베이스어드레스에 값을 리셋트하거나 또는 메모리가 요구되는 각 명령중에 현재 계수를 고정하기 위한 수단을 포함함을 특징으로 하는 파면어레이 프로세서.
- 청구범위 제15항에 있어서, 하나 이상의 상기 카운터/레지스터 쌍(100, 102)이 상기 어드레스버스(78, 80)를 통하여 비트역순으로 연결됨을 특징으로 하는 파면어레이 프로세서.
- 청구범위 제16항에 있어서, 비트역순의 변형크기가 프로그램 가능한 것임을 특징으로 하는 파면어레이 프로세서.
- 청구범위 4항에 있어서, 각 처리소자(20, 24, 34)가 여러 알고리즘을 계산하기 위하여 여러 상이한 프로그램 시켄스를 저장시킬 수 있는 프로그램 메모리(112)와, 각 프로그램 메모리의 시작어드레스(116)를 변경시켜 계산된 알고리즘을 변경하기 위한 수단(114)을 포함하므로서 상기 어레이의 상이한 처리소자가 상이한 계산을 수행하거나 동일처리소자가 상이한 계산을 수행할 수 있음을 특징으로 하는 파면어레이 프로세서.
- 청구범위 18항에 있어서, 처리율이 처리소자/메모리연결소자 쌍(14)의 수를 증가시킴으로서 증가될 수 있음을 특징으로 하는 파면어레이 프로세서.
- 청구범위 18항에 있어서, 상기 메모리가 다수의 레지스터임을 특징으로 하는 파면어레이 프로세서.
- 청구범위 18항에 있어서, 상기메모리가 RAM 메모리로 됨을 특징으로 하는 파면어레이 프로세서.
- 청구범위 제4항에 있어서, 동작시마다 서로다른 두 상태 사이를 스위칭하기 위하여 각 메모리연결소자(22, 26, 32)와 결합된 적어도 하나의 제어플래그수단으로(126)으로 구성되고, 각 처리소자(20, 24, 34)는 상기 처리소자(20, 24, 34)에 인접한 각 메모리연결소자(22, 26, 32)와 결합된 적어도 하나의 제어플래그 수단(126)을 선택적으로 작동시키기 위한 수단이 구성됨을 특징으로 하는 파면어레이 프로세서.
- 청구범위 22항에 있어서, 상기 각 로칼제어수단(46, 48, 74)이 상기 처리수단에 인접한 각 메모리연결소자(22, 26, 32)와 결합된 적어도 하나의 제어플래그수단(126)의 상태를 감지하기 위한 제1수단(74)과, 프로그램시켄스가 상기 인접한 메모리연결소자의 하나에 있는 메모리장소에 접근토록 호출되고 이에 결합된 상기 적어도 하나의 제어플래그 수단(126)이 셋트되지 않았으며 상기 적어도 하나의 제어플래그(126)가 셋트될때까지 프로그램실행을 계속 중지토록 하는 특정 처리소자의 프로그램실행을 중지하기 위한 제2수단(20, 24, 34)으로 구성됨을 특징으로 하는 파면어레이 프로세서.
- 청구범위 22항에 있어서, 각 처리소자가 우측인접 메모리연결소자(22, 26, 32)의 메모리장수(136)를 선택적으로 어드레스지정하기 위한 적어도 하나의 우측 어드레스수단(42), 좌측인접 메모리연결소자(22, 26, 32)의 메모리장소(136)를 선택적으로 어드레스지정하기 위한 적어도 하나의 좌측어드레스 수단(44), 상측 인접 메모리연결소자(22, 26, 32)의 메모리 장소(136)를 선택적으로 어드레스지정하기 위한 적어도 하나의 상측 어드레스지정하기 위한 적어도 하나의 하측 어드레스수단(70)으로 구성되고, 상기 인접 상하좌우측 메모리연결소자(22, 26, 32)에 결합된 상기 각 적어도 하나의 제어플래그수단(126)이 상기 어드레스(42, 44, 68, 70)의 어느 한 특정의 것과 결합되며, 상기 제어수단(46, 48, 74)이 상기 인접한 상하좌우 이중포트메모리연결소자와 결합된 상기 적어도 하나의 제어플래그 수단(126)의 상태를 감지하기 위한 제1수단(74)과, 프로그램시켄스가 상기 특정한 적어도 하나의 어드레스 수단과 결합된 상기 적어도 하나의 제어플래그수단(126)이 세트될 때까지 메모리장소에 접근토록 상기 적어도 하나의 좌우상하 어드레스 수단을 호출시 특정처리소자를 위한 프로그램실행을 중지하기 위한 제2수단으로(20, 24, 34)으로 구성됨을 특징으로 하는 파면어레이 프로세서.
- 청구범위 24항에 있어서, 적어도 하나의 상기 제어 플래그 수단(126)이 특정 메모리연결소자(22, 26, 32)의 데이터버퍼중첩을 허용하도록 두 제어플래그(126)로 구성되어 상기 특정 메모리연결소자(22, 26, 32)의 근접한 좌우측의 처리소자(20, 24, 34)가 상기 특정 메모리 연결소자(22, 26, 32)의 여러 메모리장소에 동시 접근할 수 있음을 특징으로 하는 파면어레이 프로세서.
- 청구범위 4항에 있어서, 각 메모리연결소자(22, 26, 32)가 여러 알고리즘의 계산에 이용하는 데이타시켄스를 저장시킬 수 있는 메모리(136)와 적어도 두개의 제어플래그수단(126)을 포함하므로서 인접한 처리소자(20, 24, 34)가 상기 메모리(136)의 여러 부분에 중첩 접근하여 여러 데이타시켄스에 동시접근할 수 있게 되어 있음을 특징으로 하는 파면어레이 프로세서.
- 청구범위 24항에 있어서, 상기 각 제어플래그수단(126)이 두개의 서로 다른 상태를 갖는 하드웨어회로로 구성됨을 특징으로 하는 파면어레이 프로세서.
- 청구범위 6, 18 및 26항에 있어서, 상기 파면어레이 프로세서가 처리소자/메모리연결소자 쌍(14)의 선형어레이를 이용하여 2차원 어레이 문제를 계사할 수 있음을 특징으로 하는 파면어레이 프로세서.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US777,112 | 1985-09-17 | ||
US06/777,112 US4720780A (en) | 1985-09-17 | 1985-09-17 | Memory-linked wavefront array processor |
Publications (2)
Publication Number | Publication Date |
---|---|
KR880011681A KR880011681A (ko) | 1988-10-29 |
KR970001899B1 true KR970001899B1 (ko) | 1997-02-18 |
Family
ID=25109328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019870002221A KR970001899B1 (ko) | 1985-09-17 | 1987-03-12 | 메모리연결형 파면어레이 프로세서 |
Country Status (6)
Country | Link |
---|---|
US (2) | US4720780A (ko) |
EP (1) | EP0237571B1 (ko) |
JP (1) | JPS63501530A (ko) |
KR (1) | KR970001899B1 (ko) |
DE (1) | DE3685107D1 (ko) |
WO (1) | WO1987001841A1 (ko) |
Families Citing this family (241)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0576749B1 (en) * | 1992-06-30 | 1999-06-02 | Discovision Associates | Data pipeline system |
JPS625465A (ja) * | 1985-07-01 | 1987-01-12 | Akira Nakano | 情報処理ユニツトおよびマルチ情報処理ユニツトシステム |
US4807183A (en) * | 1985-09-27 | 1989-02-21 | Carnegie-Mellon University | Programmable interconnection chip for computer system functional modules |
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 |
CA1283738C (en) * | 1985-11-13 | 1991-04-30 | Atsushi Hasebe | Data processor |
NL8600218A (nl) * | 1986-01-30 | 1987-08-17 | Philips Nv | Netwerk van dataverwerkingsstations. |
GB8618943D0 (en) * | 1986-08-02 | 1986-09-10 | Int Computers Ltd | Data processing apparatus |
GB2211638A (en) * | 1987-10-27 | 1989-07-05 | Ibm | Simd array processor |
US4933836A (en) * | 1986-10-29 | 1990-06-12 | United Technologies Corporation | n-Dimensional modular multiprocessor lattice architecture |
US5012441A (en) * | 1986-11-24 | 1991-04-30 | Zoran Corporation | Apparatus for addressing memory with data word and data block reversal capability |
US4797806A (en) * | 1987-02-19 | 1989-01-10 | Gtx Corporation | High speed serial pixel neighborhood processor and method |
US4891751A (en) * | 1987-03-27 | 1990-01-02 | Floating Point Systems, Inc. | Massively parallel vector processing computer |
US5226128A (en) * | 1987-05-01 | 1993-07-06 | Hewlett-Packard Company | Horizontal computer having register multiconnect for execution of a loop with a branch |
US5276819A (en) * | 1987-05-01 | 1994-01-04 | Hewlett-Packard Company | Horizontal computer having register multiconnect for operand address generation during execution of iterations of a loop of program code |
US5083267A (en) * | 1987-05-01 | 1992-01-21 | Hewlett-Packard Company | Horizontal computer having register multiconnect for execution of an instruction loop with recurrance |
US5036454A (en) * | 1987-05-01 | 1991-07-30 | Hewlett-Packard Company | Horizontal computer having register multiconnect for execution of a loop with overlapped code |
US4933895A (en) * | 1987-07-10 | 1990-06-12 | Hughes Aircraft Company | Cellular array having data dependent processing capabilities |
US4908751A (en) * | 1987-10-15 | 1990-03-13 | Smith Harry F | Parallel data processor |
US5115510A (en) * | 1987-10-20 | 1992-05-19 | Sharp Kabushiki Kaisha | Multistage data flow processor with instruction packet, fetch, storage transmission and address generation controlled by destination information |
US5278781A (en) * | 1987-11-12 | 1994-01-11 | Matsushita Electric Industrial Co., Ltd. | Digital signal processing system |
US4975870A (en) * | 1988-02-25 | 1990-12-04 | Data General Corporation | Apparatus for locking a portion of a computer memory |
US4896265A (en) * | 1988-03-28 | 1990-01-23 | General Electric Company | Parallel broadcasting method and apparatus |
JPH01261772A (ja) * | 1988-04-08 | 1989-10-18 | Cogent Res Inc | コンピュータ及びその動作方法 |
ATE81731T1 (de) * | 1988-05-10 | 1992-11-15 | Cray Research Inc | Vektorschlange in computern mit vektorregister. |
JPH0254383A (ja) * | 1988-08-18 | 1990-02-23 | Mitsubishi Electric Corp | アレイプロセッサ |
DE68920388T2 (de) * | 1988-09-19 | 1995-05-11 | Fujitsu Ltd | Paralleles Rechnersystem mit Verwendung eines SIMD-Verfahrens. |
DE68926783T2 (de) * | 1988-10-07 | 1996-11-28 | Martin Marietta Corp | Paralleler datenprozessor |
US4984192A (en) * | 1988-12-02 | 1991-01-08 | Ultrasystems Defense Inc. | Programmable state machines connectable in a reconfiguration switching network for performing real-time data processing |
JPH02178808A (ja) * | 1988-12-29 | 1990-07-11 | Yaskawa Electric Mfg Co Ltd | ロボットの制御方法 |
US5072371A (en) * | 1989-03-01 | 1991-12-10 | The United States Of America As Represented By The United States Department Of Energy | Method for simultaneous overlapped communications between neighboring processors in a multiple |
US5168572A (en) * | 1989-03-10 | 1992-12-01 | The Boeing Company | System for dynamic selection of globally-determined optimal data path |
US5689647A (en) * | 1989-03-14 | 1997-11-18 | Sanyo Electric Co., Ltd. | Parallel computing system with processing element number setting mode and shortest route determination with matrix size information |
US5101480A (en) * | 1989-05-09 | 1992-03-31 | The University Of Michigan | Hexagonal mesh multiprocessor system |
US5142686A (en) * | 1989-10-20 | 1992-08-25 | United Technologies Corporation | Multiprocessor system having processors and switches with each pair of processors connected through a single switch using Latin square matrix |
US5179530A (en) * | 1989-11-03 | 1993-01-12 | Zoran Corporation | Architecture for integrated concurrent vector signal processor |
EP0428770B1 (de) * | 1989-11-21 | 1995-02-01 | Deutsche ITT Industries GmbH | Datengesteuerter Arrayprozessor |
US5121502A (en) * | 1989-12-20 | 1992-06-09 | Hewlett-Packard Company | System for selectively communicating instructions from memory locations simultaneously or from the same memory locations sequentially to plurality of processing |
US5197130A (en) * | 1989-12-29 | 1993-03-23 | Supercomputer Systems Limited Partnership | Cluster architecture for a highly parallel scalar/vector multiprocessor system |
GB9008366D0 (en) * | 1990-04-12 | 1990-06-13 | British Aerospace | Data interaction architecture(dia)for real time embedded multi processor systems |
EP0453863A2 (en) * | 1990-04-27 | 1991-10-30 | National Semiconductor Corporation | Methods and apparatus for implementing a media access control/host system interface |
US5157785A (en) * | 1990-05-29 | 1992-10-20 | Wavetracer, Inc. | Process cell for an n-dimensional processor array having a single input element with 2n data inputs, memory, and full function arithmetic logic unit |
US5133073A (en) * | 1990-05-29 | 1992-07-21 | Wavetracer, Inc. | Processor array of N-dimensions which is physically reconfigurable into N-1 |
US5193202A (en) * | 1990-05-29 | 1993-03-09 | Wavetracer, Inc. | Processor array with relocated operand physical address generator capable of data transfer to distant physical processor for each virtual processor while simulating dimensionally larger array processor |
EP0485594A4 (en) * | 1990-05-30 | 1995-02-01 | Adaptive Solutions Inc | Mechanism providing concurrent computational/communications in simd architecture |
US5430862A (en) * | 1990-06-29 | 1995-07-04 | Bull Hn Information Systems Inc. | Emulation of CISC instructions by RISC instructions using two pipelined stages for overlapped CISC decoding and RISC execution |
GB9018048D0 (en) * | 1990-08-16 | 1990-10-03 | Secr Defence | Digital processor for simulating operation of a parallel processing array |
US5206952A (en) * | 1990-09-12 | 1993-04-27 | Cray Research, Inc. | Fault tolerant networking architecture |
US5765015A (en) * | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Slide network for an array processor |
US5963745A (en) * | 1990-11-13 | 1999-10-05 | International Business Machines Corporation | APAP I/O programmable router |
US5630162A (en) * | 1990-11-13 | 1997-05-13 | International Business Machines Corporation | Array processor dotted communication network based on H-DOTs |
US5963746A (en) * | 1990-11-13 | 1999-10-05 | International Business Machines Corporation | Fully distributed processing memory element |
US5713037A (en) * | 1990-11-13 | 1998-01-27 | International Business Machines Corporation | Slide bus communication functions for SIMD/MIMD array processor |
US5617577A (en) * | 1990-11-13 | 1997-04-01 | International Business Machines Corporation | Advanced parallel array processor I/O connection |
US5809292A (en) * | 1990-11-13 | 1998-09-15 | International Business Machines Corporation | Floating point for simid array machine |
US5765011A (en) * | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams |
US5590345A (en) * | 1990-11-13 | 1996-12-31 | International Business Machines Corporation | Advanced parallel array processor(APAP) |
US5588152A (en) * | 1990-11-13 | 1996-12-24 | International Business Machines Corporation | Advanced parallel processor including advanced support hardware |
US5734921A (en) * | 1990-11-13 | 1998-03-31 | International Business Machines Corporation | Advanced parallel array processor computer package |
US5815723A (en) * | 1990-11-13 | 1998-09-29 | International Business Machines Corporation | Picket autonomy on a SIMD machine |
US5625836A (en) * | 1990-11-13 | 1997-04-29 | International Business Machines Corporation | SIMD/MIMD processing memory element (PME) |
EP0485690B1 (en) * | 1990-11-13 | 1999-05-26 | International Business Machines Corporation | Parallel associative processor system |
US5794059A (en) * | 1990-11-13 | 1998-08-11 | International Business Machines Corporation | N-dimensional modified hypercube |
US5765012A (en) * | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Controller for a SIMD/MIMD array having an instruction sequencer utilizing a canned routine library |
US5966528A (en) * | 1990-11-13 | 1999-10-12 | International Business Machines Corporation | SIMD/MIMD array processor with vector processing |
US5828894A (en) * | 1990-11-13 | 1998-10-27 | International Business Machines Corporation | Array processor having grouping of SIMD pickets |
JP3237858B2 (ja) * | 1991-01-30 | 2001-12-10 | 沖電気工業株式会社 | 演算装置 |
US5434970A (en) * | 1991-02-14 | 1995-07-18 | Cray Research, Inc. | System for distributed multiprocessor communication |
US5175858A (en) * | 1991-03-04 | 1992-12-29 | Adaptive Solutions, Inc. | Mechanism providing concurrent computational/communications in SIMD architecture |
JPH04293151A (ja) * | 1991-03-20 | 1992-10-16 | Fujitsu Ltd | 並列データ処理方式 |
US5241492A (en) * | 1991-05-06 | 1993-08-31 | Motorola, Inc. | Apparatus for performing multiply and accumulate instructions with reduced power and a method therefor |
US5594918A (en) * | 1991-05-13 | 1997-01-14 | International Business Machines Corporation | Parallel computer system providing multi-ported intelligent memory |
JPH0520284A (ja) * | 1991-07-16 | 1993-01-29 | Matsushita Electric Ind Co Ltd | パラレルプロセツサシステム |
US5361370A (en) * | 1991-10-24 | 1994-11-01 | Intel Corporation | Single-instruction multiple-data processor having dual-ported local memory architecture for simultaneous data transmission on local memory ports and global port |
AU2939892A (en) | 1991-12-06 | 1993-06-28 | Richard S. Norman | Massively-parallel direct output processor array |
FR2686175B1 (fr) * | 1992-01-14 | 1996-12-20 | Andre Thepaut | Systeme de traitement de donnees multiprocesseur. |
US5506992A (en) * | 1992-01-30 | 1996-04-09 | Saxenmeyer; George | Distributed processing system with asynchronous communication between processing modules |
KR950014862B1 (ko) * | 1992-02-08 | 1995-12-16 | 삼성전자주식회사 | 움직임추정방법 및 그 장치 |
US6104439A (en) * | 1992-02-08 | 2000-08-15 | Samsung Electronics Co., Ltd. | Method and apparatus for motion estimation |
US5991866A (en) * | 1992-03-25 | 1999-11-23 | Tm Patents, Lp | Method and system for generating a program to facilitate rearrangement of address bits among addresses in a massively parallel processor system |
JP2572522B2 (ja) * | 1992-05-12 | 1997-01-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピューティング装置 |
JP2642039B2 (ja) * | 1992-05-22 | 1997-08-20 | インターナショナル・ビジネス・マシーンズ・コーポレイション | アレイ・プロセッサ |
US6330665B1 (en) | 1992-06-30 | 2001-12-11 | Discovision Associates | Video parser |
US5768561A (en) * | 1992-06-30 | 1998-06-16 | Discovision Associates | Tokens-based adaptive video processing arrangement |
US5835740A (en) * | 1992-06-30 | 1998-11-10 | Discovision Associates | Data pipeline system and data encoding method |
US6112017A (en) * | 1992-06-30 | 2000-08-29 | Discovision Associates | Pipeline processing machine having a plurality of reconfigurable processing stages interconnected by a two-wire interface bus |
US6067417A (en) * | 1992-06-30 | 2000-05-23 | Discovision Associates | Picture start token |
US6047112A (en) * | 1992-06-30 | 2000-04-04 | Discovision Associates | Technique for initiating processing of a data stream of encoded video information |
US6079009A (en) * | 1992-06-30 | 2000-06-20 | Discovision Associates | Coding standard token in a system compromising a plurality of pipeline stages |
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 |
US7095783B1 (en) | 1992-06-30 | 2006-08-22 | Discovision Associates | Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto |
US5821885A (en) * | 1994-07-29 | 1998-10-13 | Discovision Associates | Video decompression |
US5809270A (en) * | 1992-06-30 | 1998-09-15 | Discovision Associates | Inverse quantizer |
US5428803A (en) * | 1992-07-10 | 1995-06-27 | Cray Research, Inc. | Method and apparatus for a unified parallel processing architecture |
US6098113A (en) * | 1992-10-22 | 2000-08-01 | Ncr Corporation | Apparatus and method for address translation and allocation for a plurality of input/output (I/O) buses to a system bus |
US5586281A (en) * | 1992-10-27 | 1996-12-17 | Sharp Kabushiki Kaisha | Data driven type information processing apparatus |
JPH06162228A (ja) * | 1992-11-26 | 1994-06-10 | Sharp Corp | データフロープロセッサ装置 |
JPH06290158A (ja) * | 1993-03-31 | 1994-10-18 | Fujitsu Ltd | 再構成可能なトーラス・ネットワーク方式 |
JPH0713945A (ja) * | 1993-06-16 | 1995-01-17 | Nippon Sheet Glass Co Ltd | 演算処理部および制御・記憶部分離型マルチプロセッサ ・システムのバス構造 |
US5805914A (en) * | 1993-06-24 | 1998-09-08 | Discovision Associates | Data pipeline system and data encoding method |
US5861894A (en) * | 1993-06-24 | 1999-01-19 | Discovision Associates | Buffer manager |
US6462578B2 (en) * | 1993-08-03 | 2002-10-08 | Btr, Inc. | Architecture and interconnect scheme for programmable logic circuits |
US5457410A (en) * | 1993-08-03 | 1995-10-10 | Btr, Inc. | Architecture and interconnect scheme for programmable logic circuits |
US6073185A (en) * | 1993-08-27 | 2000-06-06 | Teranex, Inc. | Parallel data processor |
US5848276A (en) * | 1993-12-06 | 1998-12-08 | Cpu Technology, Inc. | High speed, direct register access operation for parallel processing units |
US5485576A (en) * | 1994-01-28 | 1996-01-16 | Fee; Brendan | Chassis fault tolerant system management bus architecture for a networking |
EP0746804B1 (en) * | 1994-02-23 | 2001-09-05 | Rosemount Inc. | Field transmitter for storing information |
US6145071A (en) * | 1994-03-03 | 2000-11-07 | The George Washington University | Multi-layer multi-processor information conveyor with periodic transferring of processors' states for on-the-fly transformation of continuous information flows and operating method therefor |
CA2185787A1 (en) * | 1994-03-22 | 1995-09-28 | Richard S. Norman | Efficient direct cell replacement fault tolerant architecture supporting completely integrated systems with means for direct communication with system operator |
US6408402B1 (en) | 1994-03-22 | 2002-06-18 | Hyperchip Inc. | Efficient direct replacement cell fault tolerant architecture |
JP2924643B2 (ja) * | 1994-05-19 | 1999-07-26 | ヤマハ株式会社 | ディジタル信号処理方法及び装置 |
JP3458518B2 (ja) * | 1994-08-30 | 2003-10-20 | ソニー株式会社 | 並列プロセッサ |
KR100186918B1 (ko) * | 1994-10-21 | 1999-05-01 | 모리시다 요이치 | 신호처리장치 |
US5548788A (en) * | 1994-10-27 | 1996-08-20 | Emc Corporation | Disk controller having host processor controls the time for transferring data to disk drive by modifying contents of the memory to indicate data is stored in the memory |
EP1294098A3 (en) | 1995-05-03 | 2004-11-03 | Btr, Inc. | Scalable multiple level interconnect architecture |
US5850564A (en) * | 1995-05-03 | 1998-12-15 | Btr, Inc, | Scalable multiple level tab oriented interconnect architecture |
US5943242A (en) * | 1995-11-17 | 1999-08-24 | Pact Gmbh | Dynamically reconfigurable data processing system |
US7266725B2 (en) * | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
US5949440A (en) * | 1996-04-30 | 1999-09-07 | Hewlett Packard Compnay | Method and apparatus for processing graphics primitives in multiple modes using reconfigurable hardware |
US6003098A (en) * | 1996-04-30 | 1999-12-14 | Hewlett-Packard Company | Graphic accelerator architecture using two graphics processing units for processing aspects of pre-rasterized graphics primitives and a control circuitry for relaying pass-through information |
US6034547A (en) * | 1996-09-04 | 2000-03-07 | Advantage Logic, Inc. | Method and apparatus for universal program controlled bus |
US6624658B2 (en) | 1999-02-04 | 2003-09-23 | Advantage Logic, Inc. | Method and apparatus for universal program controlled bus architecture |
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 |
EP1329816B1 (de) * | 1996-12-27 | 2011-06-22 | Richter, Thomas | Verfahren zum selbständigen dynamischen Umladen von Datenflussprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o.dgl.) |
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.) |
DE19704728A1 (de) * | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines |
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
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 |
US6128689A (en) * | 1997-04-14 | 2000-10-03 | Hms Fieldbus Systems Ab | System for exchanging data through data memory area of common memory in synchronous and asynchronous modes |
US6502180B1 (en) * | 1997-09-12 | 2002-12-31 | California Institute Of Technology | Asynchronous circuits with pipelined completion process |
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 |
US6088800A (en) | 1998-02-27 | 2000-07-11 | Mosaid Technologies, Incorporated | Encryption processor with shared memory interconnect |
US6212628B1 (en) | 1998-04-09 | 2001-04-03 | Teranex, Inc. | Mesh connected computer |
US6173388B1 (en) | 1998-04-09 | 2001-01-09 | Teranex Inc. | Directly accessing local memories of array processors for improved real-time corner turning processing |
US6185667B1 (en) | 1998-04-09 | 2001-02-06 | Teranex, Inc. | Input/output support for processing in a mesh connected computer |
US6067609A (en) * | 1998-04-09 | 2000-05-23 | Teranex, Inc. | Pattern generation and shift plane operations for a mesh connected computer |
JPH11353288A (ja) * | 1998-06-04 | 1999-12-24 | Toshiba Corp | 並列計算機及びメモリ装置 |
US6513108B1 (en) | 1998-06-29 | 2003-01-28 | Cisco Technology, Inc. | Programmable processing engine for efficiently processing transient data |
US6173386B1 (en) | 1998-12-14 | 2001-01-09 | Cisco Technology, Inc. | Parallel processor with debug capability |
US6920562B1 (en) | 1998-12-18 | 2005-07-19 | Cisco Technology, Inc. | Tightly coupled software protocol decode with hardware data encryption |
US7107612B1 (en) * | 1999-04-01 | 2006-09-12 | Juniper Networks, Inc. | Method, apparatus and computer program product for a network firewall |
US6701432B1 (en) * | 1999-04-01 | 2004-03-02 | Netscreen Technologies, Inc. | Firewall including local bus |
GB9911890D0 (en) * | 1999-05-22 | 1999-07-21 | Lucas Ind Plc | Method and apparatus for detecting a fault condition in a computer processor |
CN1378665A (zh) | 1999-06-10 | 2002-11-06 | Pact信息技术有限公司 | 编程概念 |
US6728863B1 (en) | 1999-10-26 | 2004-04-27 | Assabet Ventures | Wide connections for transferring data between PE's of an N-dimensional mesh-connected SIMD array while transferring operands from memory |
WO2001031473A1 (en) * | 1999-10-26 | 2001-05-03 | Arthur D. Little, Inc. | Multiplexing n-dimensional mesh connections onto (n + 1) data paths |
US6529983B1 (en) | 1999-11-03 | 2003-03-04 | Cisco Technology, Inc. | Group and virtual locking mechanism for inter processor synchronization |
US6584581B1 (en) * | 1999-12-06 | 2003-06-24 | Ab Initio Software Corporation | Continuous flow checkpointing data processing |
US6320412B1 (en) | 1999-12-20 | 2001-11-20 | Btr, Inc. C/O Corporate Trust Co. | Architecture and interconnect for programmable logic circuits |
US6892237B1 (en) * | 2000-03-28 | 2005-05-10 | Cisco Technology, Inc. | Method and apparatus for high-speed parsing of network messages |
US6505269B1 (en) | 2000-05-16 | 2003-01-07 | Cisco Technology, Inc. | Dynamic addressing mapping to eliminate memory resource contention in a symmetric multiprocessor system |
EP1342158B1 (de) | 2000-06-13 | 2010-08-04 | Richter, Thomas | Pipeline ct-protokolle und -kommunikation |
US6754801B1 (en) * | 2000-08-22 | 2004-06-22 | Micron Technology, Inc. | Method and apparatus for a shift register based interconnection for a massively parallel processor array |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
ATE437476T1 (de) | 2000-10-06 | 2009-08-15 | Pact Xpp Technologies Ag | Zellenanordnung mit segmentierter zwischenzellstruktur |
US20040015899A1 (en) * | 2000-10-06 | 2004-01-22 | Frank May | Method for processing data |
GB2370380B (en) | 2000-12-19 | 2003-12-31 | Picochip Designs Ltd | Processor architecture |
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 |
US20090210653A1 (en) * | 2001-03-05 | 2009-08-20 | Pact Xpp Technologies Ag | Method and device 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 |
US9037807B2 (en) * | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US7581076B2 (en) | 2001-03-05 | 2009-08-25 | Pact Xpp Technologies Ag | Methods and devices for treating and/or processing data |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
WO2002103532A2 (de) * | 2001-06-20 | 2002-12-27 | Pact Xpp Technologies Ag | Verfahren zur bearbeitung von daten |
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 |
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 |
EP1470478A2 (en) * | 2002-01-18 | 2004-10-27 | PACT XPP Technologies AG | Method and device for partitioning large computer programs |
DE10392560D2 (de) * | 2002-01-19 | 2005-05-12 | Pact Xpp Technologies Ag | Reconfigurierbarer Prozessor |
WO2003071432A2 (de) | 2002-02-18 | 2003-08-28 | Pact Xpp Technologies Ag | Bussysteme und rekonfigurationsverfahren |
US8914590B2 (en) * | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
WO2003081454A2 (de) * | 2002-03-21 | 2003-10-02 | Pact Xpp Technologies Ag | Verfahren und vorrichtung zur datenverarbeitung |
US7447872B2 (en) * | 2002-05-30 | 2008-11-04 | Cisco Technology, Inc. | Inter-chip processor control plane communication |
US7415594B2 (en) * | 2002-06-26 | 2008-08-19 | Coherent Logix, Incorporated | Processing system with interspersed stall propagating processors and communication elements |
US20110238948A1 (en) * | 2002-08-07 | 2011-09-29 | Martin Vorbach | Method and device for coupling a data processing unit and a data processing array |
AU2003286131A1 (en) * | 2002-08-07 | 2004-03-19 | Pact Xpp Technologies Ag | Method and device for processing data |
WO2005010632A2 (en) * | 2003-06-17 | 2005-02-03 | Pact Xpp Technologies Ag | Data processing device and method |
US7657861B2 (en) * | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
EP1537486A1 (de) | 2002-09-06 | 2005-06-08 | PACT XPP Technologies AG | Rekonfigurierbare sequenzerstruktur |
US7167850B2 (en) * | 2002-10-10 | 2007-01-23 | Ab Initio Software Corporation | Startup and control of graph-based computation |
GB2397668B (en) * | 2003-01-27 | 2005-12-07 | Picochip Designs Ltd | Processor array |
GB2400195B (en) * | 2003-03-31 | 2005-06-29 | Micron Technology Inc | Active memory processing array topography and method |
JP2006524850A (ja) * | 2003-04-04 | 2006-11-02 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データ処理方法およびデータ処理装置 |
US7255437B2 (en) * | 2003-10-09 | 2007-08-14 | Howell Thomas A | Eyeglasses with activity monitoring |
US7457234B1 (en) | 2003-05-14 | 2008-11-25 | Adtran, Inc. | System and method for protecting communication between a central office and a remote premises |
US20040255096A1 (en) * | 2003-06-11 | 2004-12-16 | Norman Richard S. | Method for continuous linear production of integrated circuits |
GB2402760B (en) * | 2003-06-12 | 2006-01-11 | Advanced Risc Mach Ltd | Improvements in flexibility of use of a data processing apparatus |
US7130986B2 (en) * | 2003-06-30 | 2006-10-31 | Intel Corporation | Determining if a register is ready to exchange data with a processing element |
WO2006082091A2 (en) * | 2005-02-07 | 2006-08-10 | Pact Xpp Technologies Ag | Low latency massive parallel data processing device |
JP4700611B2 (ja) * | 2003-08-28 | 2011-06-15 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データ処理装置およびデータ処理方法 |
US7577824B2 (en) * | 2003-09-08 | 2009-08-18 | Altera Corporation | Methods and apparatus for storing expanded width instructions in a VLIW memory for deferred execution |
US6975139B2 (en) * | 2004-03-30 | 2005-12-13 | Advantage Logic, Inc. | Scalable non-blocking switching network for programmable logic |
US7320064B2 (en) * | 2004-07-23 | 2008-01-15 | Honeywell International Inc. | Reconfigurable computing architecture for space applications |
US7460529B2 (en) * | 2004-07-29 | 2008-12-02 | Advantage Logic, Inc. | Interconnection fabric using switching networks in hierarchy |
US7779177B2 (en) * | 2004-08-09 | 2010-08-17 | Arches Computing Systems | Multi-processor reconfigurable computing system |
US7478222B2 (en) * | 2005-03-29 | 2009-01-13 | Karl M. Fant | Programmable pipeline array |
US7877350B2 (en) * | 2005-06-27 | 2011-01-25 | Ab Initio Technology Llc | Managing metadata for graph-based computations |
US8560795B2 (en) * | 2005-06-30 | 2013-10-15 | Imec | Memory arrangement for multi-processor systems including a memory queue |
FR2888349A1 (fr) * | 2005-07-06 | 2007-01-12 | St Microelectronics Sa | Adaptation de debit binaire dans un flot de traitement de donnees |
US20070046781A1 (en) * | 2005-08-29 | 2007-03-01 | Honeywell International Inc. | Systems and methods for processing digital video data |
US7281942B2 (en) * | 2005-11-18 | 2007-10-16 | Ideal Industries, Inc. | Releasable wire connector |
JP2009524134A (ja) | 2006-01-18 | 2009-06-25 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | ハードウェア定義方法 |
US7423453B1 (en) | 2006-01-20 | 2008-09-09 | Advantage Logic, Inc. | Efficient integrated circuit layout scheme to implement a scalable switching network used in interconnection fabric |
US8826228B2 (en) | 2006-03-27 | 2014-09-02 | Coherent Logix, Incorporated | Programming a multi-processor system |
WO2008021953A2 (en) | 2006-08-10 | 2008-02-21 | Ab Initio Software Llc | Distributing services in graph-based computations |
EP1978449A2 (en) * | 2007-04-06 | 2008-10-08 | Technology Properties Limited | Signal processing |
CN101821721B (zh) | 2007-07-26 | 2017-04-12 | 起元技术有限责任公司 | 具有误差处理的事务型基于图的计算 |
GB2454865B (en) * | 2007-11-05 | 2012-06-13 | Picochip Designs Ltd | Power control |
US8078829B2 (en) * | 2007-12-12 | 2011-12-13 | Itt Manufacturing Enterprises, Inc. | Scaleable array of micro-engines for waveform processing |
US8078839B2 (en) * | 2007-12-13 | 2011-12-13 | Wave Semiconductor | Concurrent processing element system, and method |
GB2466661B (en) * | 2009-01-05 | 2014-11-26 | Intel Corp | Rake receiver |
KR101730513B1 (ko) | 2009-02-13 | 2017-04-26 | 아브 이니티오 테크놀로지 엘엘시 | 태스크 실행 관리 |
GB2470037B (en) | 2009-05-07 | 2013-07-10 | Picochip Designs Ltd | Methods and devices for reducing interference in an uplink |
GB2470891B (en) | 2009-06-05 | 2013-11-27 | Picochip Designs Ltd | A method and device in a communication network |
GB2470771B (en) | 2009-06-05 | 2012-07-18 | Picochip Designs Ltd | A method and device in a communication network |
US7999570B2 (en) | 2009-06-24 | 2011-08-16 | Advantage Logic, Inc. | Enhanced permutable switching network with multicasting signals for interconnection fabric |
US8667329B2 (en) * | 2009-09-25 | 2014-03-04 | Ab Initio Technology Llc | Processing transactions in graph-based applications |
GB2474071B (en) | 2009-10-05 | 2013-08-07 | Picochip Designs Ltd | Femtocell base station |
WO2011105408A1 (ja) * | 2010-02-24 | 2011-09-01 | 日本電気株式会社 | Simdプロセッサ |
WO2011159759A1 (en) | 2010-06-15 | 2011-12-22 | Ab Initio Technology Llc | Dynamically loading graph-based computations |
GB2482869B (en) | 2010-08-16 | 2013-11-06 | Picochip Designs Ltd | Femtocell access control |
US8880866B2 (en) | 2010-10-15 | 2014-11-04 | Coherent Logix, Incorporated | Method and system for disabling communication paths in a multiprocessor fabric by setting register values to disable the communication paths specified by a configuration |
US8924455B1 (en) * | 2011-02-25 | 2014-12-30 | Xilinx, Inc. | Multiplication of matrices using systolic arrays |
GB2489919B (en) | 2011-04-05 | 2018-02-14 | Intel Corp | Filter |
GB2489716B (en) | 2011-04-05 | 2015-06-24 | Intel Corp | Multimode base system |
GB2491098B (en) | 2011-05-16 | 2015-05-20 | Intel Corp | Accessing a base station |
US9507682B2 (en) | 2012-11-16 | 2016-11-29 | Ab Initio Technology Llc | Dynamic graph performance monitoring |
US10108521B2 (en) | 2012-11-16 | 2018-10-23 | Ab Initio Technology Llc | Dynamic component performance monitoring |
US9274926B2 (en) | 2013-01-03 | 2016-03-01 | Ab Initio Technology Llc | Configurable testing of computer programs |
CA2932763C (en) | 2013-12-05 | 2022-07-12 | Ab Initio Technology Llc | Managing interfaces for dataflow graphs composed of sub-graphs |
US10657134B2 (en) | 2015-08-05 | 2020-05-19 | Ab Initio Technology Llc | Selecting queries for execution on a stream of real-time data |
US10671669B2 (en) | 2015-12-21 | 2020-06-02 | Ab Initio Technology Llc | Sub-graph interface generation |
BR112019022916A2 (pt) | 2017-05-17 | 2020-05-26 | Google Llc | Unidade de multiplicação de matrizes de baixa latência |
US11656849B2 (en) | 2019-08-14 | 2023-05-23 | Vorticity Inc. | Dedicated hardware system for solving partial differential equations |
US11403070B2 (en) * | 2019-08-19 | 2022-08-02 | Vorticity Inc. | Systolic array design for solving partial differential equations |
US11921813B2 (en) | 2019-08-20 | 2024-03-05 | Vorticity Inc. | Methods for utilizing solver hardware for solving partial differential equations |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3737866A (en) * | 1971-07-27 | 1973-06-05 | Data General Corp | Data storage and retrieval system |
US3848234A (en) * | 1973-04-04 | 1974-11-12 | Sperry Rand Corp | Multi-processor system with multiple cache memories |
US4065808A (en) * | 1975-01-25 | 1977-12-27 | U.S. Philips Corporation | Network computer system |
US4065809A (en) * | 1976-05-27 | 1977-12-27 | Tokyo Shibaura Electric Co., Ltd. | Multi-processing system for controlling microcomputers and memories |
US4309691A (en) * | 1978-02-17 | 1982-01-05 | California Institute Of Technology | Step-oriented pipeline data processing system |
US4184200A (en) * | 1978-04-26 | 1980-01-15 | Sperry Rand Corporation | Integrating I/O element |
NL8002787A (nl) * | 1980-05-14 | 1981-12-16 | Philips Nv | Multiprocessor-rekenmachinesysteem voor het uitvoeren van een recursief algorithme. |
JPS56164464A (en) * | 1980-05-21 | 1981-12-17 | Tatsuo Nogi | Parallel processing computer |
US4524455A (en) * | 1981-06-01 | 1985-06-18 | Environmental Research Inst. Of Michigan | Pipeline processor |
JPS6053349B2 (ja) * | 1981-06-19 | 1985-11-25 | 株式会社日立製作所 | 画像処理プロセツサ |
US4533993A (en) * | 1981-08-18 | 1985-08-06 | National Research Development Corp. | Multiple processing cell digital data processor |
US4495567A (en) * | 1981-10-15 | 1985-01-22 | Codex Corporation | Multiprocessor/multimemory control system |
US4498134A (en) * | 1982-01-26 | 1985-02-05 | Hughes Aircraft Company | Segregator functional plane for use in a modular array processor |
US4543642A (en) * | 1982-01-26 | 1985-09-24 | Hughes Aircraft Company | Data Exchange Subsystem for use in a modular array processor |
US4507726A (en) * | 1982-01-26 | 1985-03-26 | Hughes Aircraft Company | Array processor architecture utilizing modular elemental processors |
US4524428A (en) * | 1982-01-26 | 1985-06-18 | Hughes Aircraft Company | Modular input-programmable logic circuits for use in a modular array processor |
US4574350A (en) * | 1982-05-19 | 1986-03-04 | At&T Bell Laboratories | Shared resource locking apparatus |
US4509187A (en) * | 1982-06-14 | 1985-04-02 | At&T Bell Laboratories | Time warp signal recognition processor using recirculating and/or reduced array of processor cells |
US4489381A (en) * | 1982-08-06 | 1984-12-18 | International Business Machines Corporation | Hierarchical memories having two ports at each subordinate memory level |
US4553203A (en) * | 1982-09-28 | 1985-11-12 | Trw Inc. | Easily schedulable horizontal computer |
US4704678A (en) * | 1982-11-26 | 1987-11-03 | Inmos Limited | Function set for a microcomputer |
US4600992A (en) * | 1982-12-14 | 1986-07-15 | Honeywell Information Systems Inc. | Priority resolver with lowest priority level having shortest logic path |
US4644496A (en) * | 1983-01-11 | 1987-02-17 | Iowa State University Research Foundation, Inc. | Apparatus, methods, and systems for computer information transfer |
US4580215A (en) * | 1983-03-08 | 1986-04-01 | Itt Corporation | Associative array with five arithmetic paths |
US4636942A (en) * | 1983-04-25 | 1987-01-13 | Cray Research, Inc. | Computer vector multiprocessing control |
US4591980A (en) * | 1984-02-16 | 1986-05-27 | Xerox Corporation | Adaptive self-repairing processor array |
-
1985
- 1985-09-17 US US06/777,112 patent/US4720780A/en not_active Expired - Lifetime
-
1986
- 1986-09-17 JP JP61505584A patent/JPS63501530A/ja active Pending
- 1986-09-17 WO PCT/US1986/001903 patent/WO1987001841A1/en active IP Right Grant
- 1986-09-17 DE DE8686906519T patent/DE3685107D1/de not_active Expired - Fee Related
- 1986-09-17 EP EP86906519A patent/EP0237571B1/en not_active Expired - Lifetime
-
1987
- 1987-03-12 KR KR1019870002221A patent/KR970001899B1/ko not_active IP Right Cessation
-
1988
- 1988-01-15 US US07/144,193 patent/US4922418A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE3685107D1 (de) | 1992-06-04 |
KR880011681A (ko) | 1988-10-29 |
JPS63501530A (ja) | 1988-06-09 |
EP0237571B1 (en) | 1992-04-29 |
US4922418A (en) | 1990-05-01 |
WO1987001841A1 (en) | 1987-03-26 |
US4720780A (en) | 1988-01-19 |
EP0237571A4 (en) | 1989-02-22 |
EP0237571A1 (en) | 1987-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR970001899B1 (ko) | 메모리연결형 파면어레이 프로세서 | |
Kung et al. | Systolic arrays (for VLSI) | |
Kung et al. | Wavefront array processor: Language, architecture, and applications | |
US5226171A (en) | Parallel vector processing system for individual and broadcast distribution of operands and control information | |
Ramacher | SYNAPSE—A neurocomputer that synthesizes neural algorithms on a parallel systolic engine | |
EP0268435B1 (en) | Multinode reconfigurable pipeline computer | |
US5081573A (en) | Parallel processing system | |
US4996661A (en) | Single chip complex floating point numeric processor | |
JPH0230538B2 (ko) | ||
Sung et al. | Parallel vlsi implementation of the kalrman filter | |
US5029079A (en) | Apparatus and method for flexible control of digital signal processing devices | |
KUNG | Wavefront array processors | |
Bernhard | Computers: Computing at the speed limit: Computers 1000 times faster than today's supercomputers would benefit vital scientific applications | |
CA1273711A (en) | Memory-linked wavefront array processor | |
Taylor et al. | An architecture for a video rate two-dimensional fast Fourier transform processor | |
Evans et al. | Supercomputing with Data-Driven Wavefront Array Processors | |
KITTICHAIKOONKIT et al. | Design of a matrix multiply-addition VLSI processor for robot inverse dynamics computation | |
Fellman | Design issues and an architecture for the monolithic implementation of a parallel digital signal processor | |
Wyrzykowski | Processor arrays for matrix triangularisation with partial pivoting | |
JP2003244190A (ja) | データフロー制御スイッチ用プロセッサ及びデータフロー制御スイッチ | |
Lee et al. | Linear Speedup of Winograd's Matrix Multiplication Algorithm Using an Array Processor | |
Kamin III et al. | Fast Fourier transform algorithm design and tradeoffs | |
Huang et al. | Binary Image Algebra and Digital Optical Cellular Image Processors | |
Swartzlander | VLSI Architecture | |
Russek et al. | Dedicated architecture for double precision matrix multiplication in supercomputing environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20030210 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |