KR970001899B1 - 메모리연결형 파면어레이 프로세서 - Google Patents

메모리연결형 파면어레이 프로세서 Download PDF

Info

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
Application number
KR1019870002221A
Other languages
English (en)
Other versions
KR880011681A (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 KR880011681A publication Critical patent/KR880011681A/ko
Application granted granted Critical
Publication of KR970001899B1 publication Critical patent/KR970001899B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8046Systolic arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two 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,
Figure kpo00002
Jan. 1979, PP. 66-90)는 동일한 전역클럭에 부분적으로 연결되고 이와 동시에 동작하는 프로세서의 어레이이다. 알고리즘은 펄스형태(시스톨릭 흐름)으로 실행된다. 즉 프로세서의 네트워크는 리드미컬하게 계산하고 시스템을 통하여 데이타를 통과시킨다.
시스톨릭 어레이는 모듈성, 규칙성, 국부연결성 및 고속파이프라인형의 고동기화 다중처리성의 특성을 갖는다. 그러나 이는 전역동기화를 요구한다. 즉 데이타 이동은 전역타이밍-기준에 의하여 제어된다. 활동은 시스톨릭 어레이에 동기화하기 위하여 정확한 타이밍이 이루어지도록 종종 특별한 지연이 요구된다. 대규모 프로세서의 어레이에 있어서의 전체 계산네트워크의 동기화가 허용되지 않거나 거의 불가능하다.
그 한예를 제1도에서 보인 바와같이, 그 고전적인 형태에 있어서, 시스톨릭 어레이는 프로그램 가능한 것이 되지 못하고 각 알고리즘을 별도의 어레이구성을 요구한다. 복잡성이 증가하므로 시스톨릭 어레이는 어레이구조를 재구성하도록 매트릭스 스위치를 이용함으로써 하드웨어 프로그램머블형이 될 수 있다. 어떤 경우 시스톨릭 어레이는 항상 물리적 프로세서요소에 대한 계산 알고리즘의 직접사상(direct mapping)을 요구한다.
두번째 해결책으로서, 파면어레이프로세서는 시스톨릭 어레이와 동일한 구조를 이용하며, 이는 엑스. 와이. 쿵(S. Y. KUNG)등의 Wavefront Array Processor : Architecture, Language and Applications,
Figure kpo00003
Figure kpo00004
Jan 1982, MIT, Cambridge, MA.에 일반적인 내용이 기술되어 있다. 이는 제어의 흐름이 데이타 및 파라메타와 함께 어레이를 통하여 이루어지는 점에서 시스톨릭 어레이와는 상이하다. 국부데이타흐름에 대하여 국부제어흐름을 부가하므로서 데이타 구동형의 자체타이밍조절형 처리가 허용된다. 결과적으로 정확한 타이밍의 요구는 정확한 순서를 위한 요구로 대체된다.
파면어레이 프로세서에서 모든 프로세서소자(PE)는 각 인접한 PE를 위한 별도의 상태 플래그를 갖는 양방향 버퍼를 갖는다. 데이타의 흐름은 PE 사이에서 비동기이고 제어토큰은 데이타가용성과 데이타이용성을 결정하기 위하여 PE사이에 보내어진다. 이는 시스톨릭 어레이의 엄격한 타이밍 요구를 완화하고 알고리즘 전개를 단순화하므로서 가끔은 알고리즘 및 처리속도를 빠르게 한다.
따라서, 파면 프로세서는 파형형태로 프로세서 사이에 제어 및 데이타를 통과시켜 동작하므로서, 각 프로세서가 알고리즘의 순환(스템)을 완료할 때에 계산이 일축프로세서로부터 다음 프로세서로 계속된다.
그러나 이들 시스톨릭 및 파면 어레이 프로세서는 이들의 국부형태의 통신을 요구하고 전역 형태의 통신을 취급할 수 없는 결점이 있다. 따라서, 어떠한 유용한 알고리즘도 종래기술의 시스톨릭 및 파면 어레이의 프로세서를 이용하여 계산될 수는 없다. 예를들어 고속푸리에 변환(Fast Fourier Transform, FFT)은 다음 순환식(십진 시간 상수 기하학 FFT 알고리즘)으로 계산된다.
Figure kpo00005
여기에서, 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 필터의 등식은 다음과 같다.
Figure kpo00006
2상태 필터 즉 N=2를 위하여 제1의 및 항을 판독하여, 다음 값을 구하였다.
Figure kpo00007
모든 필터계수 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 열전도등식의 다음 해법으로 설명될 수 있다.
Figure kpo00008
상기 언급된 FIR 구조를 이용하여
b(0)=a
b(1)=b
b(2)=c라 하고
주어진 n에 대하여 x(i)=T(i)라 하면
Figure kpo00009
이들 대입으로, 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 매트릭스의 승산과정을 보인 것이다.
Figure kpo00010
만약 매트릭스 A가 열A{x}로 분해되고 매트릭스 B가 행 B{y}으로 분해되면 A와 B의 적은 다음식으로 계산된다.
Figure kpo00011
이러한 해법은 정사각형 어레이를 따라 즉시 A열과 B행을 확장시켜 매트릭스 승산에 이용될 수 있으며, 내부적은 각 프로세서의 프로그램 루우프를 통하여 합산된다. 종래기술의 이러한 형태가 제13도에 도시되어 있다.
제13도의 광역 어레이에서, A열과 B행은 좌상단으로 부터 처리소자에 입력된다. 두 데이타 Aij와 Bij는 처리 노드에서 이들이 만날때에 승산되고 적 Cij에 가산되며 현재의 데이타 값이 노드에 있는 레지스터에 있게 된다. 모든 노드에서 Cij 레지스터의 초기값은 제로이다. 레지스터가 갱신될 때에 Aij와 Bij데이타 하은 다음 프로세서에 보내어진다. 모든 행열의 데이타가 프로세서 노드에 도달할 때에 등식(1)의 모든 적은 가산될 것이다.
이러한 설계는 행열의 데이타를 확장하기 위한 전역통신을 필요로 하며 종래기술의 시스톨릭 또는 파면어레이 프로세서에 의하여서는 수행될 수 없다. 또한 호스트 프로세서로 복귀되는 어레이로 부터의 결과를 판독하는 부가적인 문제점이 있다.
또한 적C는 내부적누산을 이용하여 계산될 수 있다.
Figure kpo00012
여기에서 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 매트릭스로 분할한 결과는 다음과 같다.
Figure kpo00013
여기에서 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의 이용
이미 언급된 바와같이, 순환식을 이용하여 푸리에 변환을 계산하는 것은 종래기술의 시스톨릭 또는 파면어레이처리를 이용하여서는 불가능하다. 다음 식으로 정의되는 불연속 푸리에변환은 시스톨릭 또는 종래기술의 파면어레이로서 계산될 수 있다.
Figure kpo00014
그러나, 불연속 식은 길이 N의 변환을 계산하는데 N 프로세서와 N 프로세서 싸이클 또는 N 제곱 계산을 요구하므로 순환식으로서는 바람직하지 않다.
푸리에볍환 순환식은 다음과 같다.
Figure kpo00015
여기에서, 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)

  1. 다수의 처리소자(20, 24, 34)로 구성된 n-차원 어레이(여기에서 n은 상기 어레이의 기하학적 크기를 나타내는 정수이다)와, 상기 어레이 내에서 비동기 전역통신이 이루어지도록 하는 수단으로 구성되고, 상기 수단은 상기 어레이 내에서 각 처리소자(20, 24, 34)와 그 인접한 메모리연결소자(22, 26, 32) 사이의 비동기 통신이 이루어지도록 상기 처리소자(20, 24, 34)사이의 상기 어레이내에 배치된 다수의 메모리연결소자(22, 26, 32)로 구성됨을 특징으로 하는 메모리연결형 파면어레이 프로세서.
  2. 청구범위 1항에 있어서, 상기 각 메모리연결소자(22, 26, 32)가 적어도 두개의 포트 및 상기 각 포트를 통하여 접근 가능한 메모리로 구성되어 계산에 사용된 계수, 중간계산 및 데이타가 처리단계사이에서 상기 메모리연결소자(22, 26, 32)에 저장될 수 있음을 특징으로 하는 파면어레이 프로세서.
  3. 청구범위 2항에 있어서, 각 처리소자(20, 24, 43)가 상기 n-차원어레이에서 특정처리소자(20, 24, 34)에 인접한 각 메모리연결소자(22, 26, 32)의 상기 포트중 어느 하나의 특정한 것에 결합되어 데이타, 중간계산 및 계수가 데이타가 수신처리소자에 의하여 사용되거나, 송신처리소자에 의하여 처리되는 순서에 의하여 제한되지 않는 어느 요구된 순서로 처리소자(20, 24, 34) 사이를 통과할 수 있음을 특징으로 하는 파면어레이 프로세서.
  4. 청구범위 3항에 있어서, 특정 프로세서소자(20, 24, 34)의 데이타구동 비동기 제어를 제공하기 위하여 각 처리소자(20, 24, 34)과 결합된 로칼제어수단(46, 48, 74)이 구성되어 있고, 상기 로칼제어수단(46, 48, 74)이 특정처리소자(20, 24, 34)와 그 인접메모리연결소자(22, 26, 32)의 하나 사이에 비동기 핸드쉐이킹이 이루어지도록 하는 수단으로 구성됨을 특징으로 하는 파면어레이 프로세서.
  5. 청구범위 4항에 있어서, 각 처리소자(20, 24, 34)가 상기 n-차원 어레이 내에서 특정처리소자(20, 24, 34)에 인접한 각 메모리연결소자(22, 26, 32)의 메모리장소에 동시 접근하기 위한 다중방향통신 수단(76)과, 상기 다중방향 통신 수단(76)과, 상기 다중방향 통신 수단(76)의 동작과 동시에 계산기능을 수행하기 위한 수단(88, 84, 86, 88, 90)으로 구성됨을 특징으로 하는 파면어레이 프로세서.
  6. 청구범위 5항에 있어서, 각 처리소자(20, 24, 34)가 상기 메모리연결소자(22, 26, 32)의 메모리장소를 우측으로 어드레스지정하기 위한 우측 어드레스 레지스터(42)와 상기 메모리연결소자(22, 26, 32)의 메모리장소를 좌측으로 어드레스지정하기 위한 우측 어드레스 레지스터(44)로 구성됨을 특징으로 하는 파면어레이 프로세서.
  7. 청구범위 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)에 대한 동시 다중방향 통신능력을 가짐을 특징으로 하는 파면어레이 프로세서.
  8. 청구범위 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)로 구성됨을 특징으로 하는 파면어레이 프로세서.
  9. 청구범위 8항에 있어서, 상기 처리소자(20, 24, 34)가 상기 특정 처리소자(20, 24, 34)의 작업을 시켄싱하기 위하여 논리회로(48, 74)와 결합된 프로그램메모리(46, 74)로 구성되고, 명령어는 상기 우측데이타포트(60) 및 좌측 데이타 포트(62)로부터 판독 또는 기록작업을 제어하기 위한 별도의 필드를 가지며, 좌측 데이타포트(62)에 대한 판독 또는 기록과 우측포트(60)에 대한 판독 또는 기록이 동일 명령싸이클에서 이루어짐을 특징으로 하는 파면어레이 프로세서.
  10. 청구범위 9항에 있어서, 상기 처리소자(20, 24, 34)가 승산기(36, 82)와 가산기/감산기(40, 84)로 구성되는 연산부분과, 동시 승산과 가산 또는 감산작업이 이루어질 수 있도록 상기 내부 레지스터(38, 90)에 상기 승산기(36, 82)와 상기 가산기/감산기(40, 84)를 결합하는 버스구성수단(64, 66)으로 구성됨을 특징으로 하는 파면어레이 프로세서.
  11. 청구범위 10항에 있어서, 상기 특정 처리소자(20, 24, 34)의 작업을 시켄스하도록 상기 프로그램메모리(46, 74)에 저장된 명령어가 승산기(36, 82), 가산기/감산기(40, 84)와, 상기 우측 및 좌측데이타포트(60)(62)로부터의 판독/기록 작업을 제어하기 위한 별도 필드를 가지며, 좌측데이타포트(62)에 대한 승산, 가산/감산 및 판독/기록과 우측 데이타포트(60)애 대한 판독/기록이 동일 명령싸이클 중에 병렬로 행하여짐을 특징으로 하는 파면어레이 프로세서.
  12. 청구범위 3항에 있어서, 호스트 컴퓨터와 결합된 제1포트와 상기 어레이의 제1메모리 연결소자에 결합된 제2포트를 갖는 입력인터페이스(10)와, 호스트 컴퓰터와 결합된 제1포트와 상기 어레이의 최종 메모리연결소자에 결합된 제2포트에 갖는 출력인터페이스(18)로 구성됨을 특징으로 하는 파면어레이 프로세서.
  13. 청구범위 3항에 있어서, 호스트 컴퓨터와 결합된 제1포트와 상기 어레이 최종 메모리연결소자에 결합된 제2포트를 갖는 입력인터페이스(10)와, 호스트 컴퓨터와 결합된 제1포트와 상기 어레이의 제1메모리연결소자에 결합된 제2포트를 갖는 출력인터페이스(18)로 구성됨을 특징으로 하는 파면어레이 프로세서.
  14. 청구범위 4항에 있어서, 각 처리소자(20, 24, 34)가 로칼클럭으로 구성되어 각 처리소자(20, 24, 34)가 전역클럭을 요구하지 아니하고 자체 시간조절됨을 특징으로 하는 파면어레이 프로세서.
  15. 청구범위 6항에 있어서, 상기 처리소자(20, 24, 34)각 각 베이스레지스터(104)가 어드레스 카운터/레지스터 쌍(100, 102)에 연결된 다수의 베이스 레지스터(104)와, 어드레스버스(78, 80)에 결합된 각 어레이 카운터/레지스터 쌍(100, 102)으로 구성되고, 상기 베이스어드레스(104)는 상기 어드레스 카운터(106)의 기준 메모리 어드레스를 고정하며, 상기 어드레스 레지스터(76)는 어드레스 카운터를 증분하거나, 베이스어드레스에 값을 리셋트하거나 또는 메모리가 요구되는 각 명령중에 현재 계수를 고정하기 위한 수단을 포함함을 특징으로 하는 파면어레이 프로세서.
  16. 청구범위 제15항에 있어서, 하나 이상의 상기 카운터/레지스터 쌍(100, 102)이 상기 어드레스버스(78, 80)를 통하여 비트역순으로 연결됨을 특징으로 하는 파면어레이 프로세서.
  17. 청구범위 제16항에 있어서, 비트역순의 변형크기가 프로그램 가능한 것임을 특징으로 하는 파면어레이 프로세서.
  18. 청구범위 4항에 있어서, 각 처리소자(20, 24, 34)가 여러 알고리즘을 계산하기 위하여 여러 상이한 프로그램 시켄스를 저장시킬 수 있는 프로그램 메모리(112)와, 각 프로그램 메모리의 시작어드레스(116)를 변경시켜 계산된 알고리즘을 변경하기 위한 수단(114)을 포함하므로서 상기 어레이의 상이한 처리소자가 상이한 계산을 수행하거나 동일처리소자가 상이한 계산을 수행할 수 있음을 특징으로 하는 파면어레이 프로세서.
  19. 청구범위 18항에 있어서, 처리율이 처리소자/메모리연결소자 쌍(14)의 수를 증가시킴으로서 증가될 수 있음을 특징으로 하는 파면어레이 프로세서.
  20. 청구범위 18항에 있어서, 상기 메모리가 다수의 레지스터임을 특징으로 하는 파면어레이 프로세서.
  21. 청구범위 18항에 있어서, 상기메모리가 RAM 메모리로 됨을 특징으로 하는 파면어레이 프로세서.
  22. 청구범위 제4항에 있어서, 동작시마다 서로다른 두 상태 사이를 스위칭하기 위하여 각 메모리연결소자(22, 26, 32)와 결합된 적어도 하나의 제어플래그수단으로(126)으로 구성되고, 각 처리소자(20, 24, 34)는 상기 처리소자(20, 24, 34)에 인접한 각 메모리연결소자(22, 26, 32)와 결합된 적어도 하나의 제어플래그 수단(126)을 선택적으로 작동시키기 위한 수단이 구성됨을 특징으로 하는 파면어레이 프로세서.
  23. 청구범위 22항에 있어서, 상기 각 로칼제어수단(46, 48, 74)이 상기 처리수단에 인접한 각 메모리연결소자(22, 26, 32)와 결합된 적어도 하나의 제어플래그수단(126)의 상태를 감지하기 위한 제1수단(74)과, 프로그램시켄스가 상기 인접한 메모리연결소자의 하나에 있는 메모리장소에 접근토록 호출되고 이에 결합된 상기 적어도 하나의 제어플래그 수단(126)이 셋트되지 않았으며 상기 적어도 하나의 제어플래그(126)가 셋트될때까지 프로그램실행을 계속 중지토록 하는 특정 처리소자의 프로그램실행을 중지하기 위한 제2수단(20, 24, 34)으로 구성됨을 특징으로 하는 파면어레이 프로세서.
  24. 청구범위 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)으로 구성됨을 특징으로 하는 파면어레이 프로세서.
  25. 청구범위 24항에 있어서, 적어도 하나의 상기 제어 플래그 수단(126)이 특정 메모리연결소자(22, 26, 32)의 데이터버퍼중첩을 허용하도록 두 제어플래그(126)로 구성되어 상기 특정 메모리연결소자(22, 26, 32)의 근접한 좌우측의 처리소자(20, 24, 34)가 상기 특정 메모리 연결소자(22, 26, 32)의 여러 메모리장소에 동시 접근할 수 있음을 특징으로 하는 파면어레이 프로세서.
  26. 청구범위 4항에 있어서, 각 메모리연결소자(22, 26, 32)가 여러 알고리즘의 계산에 이용하는 데이타시켄스를 저장시킬 수 있는 메모리(136)와 적어도 두개의 제어플래그수단(126)을 포함하므로서 인접한 처리소자(20, 24, 34)가 상기 메모리(136)의 여러 부분에 중첩 접근하여 여러 데이타시켄스에 동시접근할 수 있게 되어 있음을 특징으로 하는 파면어레이 프로세서.
  27. 청구범위 24항에 있어서, 상기 각 제어플래그수단(126)이 두개의 서로 다른 상태를 갖는 하드웨어회로로 구성됨을 특징으로 하는 파면어레이 프로세서.
  28. 청구범위 6, 18 및 26항에 있어서, 상기 파면어레이 프로세서가 처리소자/메모리연결소자 쌍(14)의 선형어레이를 이용하여 2차원 어레이 문제를 계사할 수 있음을 특징으로 하는 파면어레이 프로세서.
KR1019870002221A 1985-09-17 1987-03-12 메모리연결형 파면어레이 프로세서 KR970001899B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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