KR100952148B1 - 시스톨릭 어레이형 구조체 구현 프로세싱 장치 및 프로세싱 방법 - Google Patents

시스톨릭 어레이형 구조체 구현 프로세싱 장치 및 프로세싱 방법 Download PDF

Info

Publication number
KR100952148B1
KR100952148B1 KR1020047016993A KR20047016993A KR100952148B1 KR 100952148 B1 KR100952148 B1 KR 100952148B1 KR 1020047016993 A KR1020047016993 A KR 1020047016993A KR 20047016993 A KR20047016993 A KR 20047016993A KR 100952148 B1 KR100952148 B1 KR 100952148B1
Authority
KR
South Korea
Prior art keywords
register
processing
depth
instruction data
processing unit
Prior art date
Application number
KR1020047016993A
Other languages
English (en)
Other versions
KR20040107507A (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 KR20040107507A publication Critical patent/KR20040107507A/ko
Application granted granted Critical
Publication of KR100952148B1 publication Critical patent/KR100952148B1/ko

Links

Images

Classifications

    • 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
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled

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)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)
  • Logic Circuits (AREA)

Abstract

본 발명은 시스톨릭 어레이형 구조체를 구현하는 프로세싱 방법 및 장치에 관한 것이다. 입력 데이터는 깊이 구성 가능 레지스터 수단(DCF)에 미리 정한 시퀀스로 저장되어서, 인스트럭션 데이터(5)로부터 생성된 제어 신호에 기초해서 입력 데이터를 처리하는 프로세싱 수단(FU)에 전달되며, 레지스터 수단(DCF)의 깊이는 인스트럭션 데이터에 따라 제어된다. 따라서, 시스톨릭 어레이는 연산을 분명하게 발행해서 어레이의 지연 라인을 구현하는 레지스터 이동을 구현할 필요없이 예컨대, VLIW 프로세서와 같은 프로그래밍 가능 프로세서에 매핑될 수 있다.

Description

시스톨릭 어레이형 구조체 구현 프로세싱 장치 및 프로세싱 방법{PROCESSING METHOD AND APPARATUS FOR IMPLEMENTING SYSTOLIC ARRAYS}
본 발명은 프로세싱 방법 및 장치에 관한 것으로, 특히 시스톨릭 어레이형 구조체(systolic-array-like structures)를 구현하는 스케일러블 VLIW(a scaleable Very Large Instruction Word) 프로세서 또는 개략적 재구성 가능 프로세서(a coarse-grained reconfigurable processor)에 관한 것이다.
프로그래밍 가능 프로세서 또는 구성 가능 프로세서는 사전 조립되는 장치로, 즉 일단 제조된 후에 각각 자신에게 발행된 인스트럭션 또는 구성에 기초해서 특정 기능을 수행하도록 맞춤화될 수 있다. 이들 인스트럭션 또는 구성은 프로세서에서 실행될 때, 프로세서 자원(예컨대, 산술 논리 유닛(ALU), 레지스터 파일, 상호 접속부, 메모리 등)을 제어해서 시간적으로(즉, 순차로) 또는 공간적으로(즉, 병렬로) 특정 연산을 수행한다. 전형적으로 구성 가능 프로세서는 프로그래밍 가능 프로세서보다 더 많은 연산을 공간적으로 수행할 것이고, 반면에 프로그래밍 가능 프로세서는 구성 가능 프로세서보다 더 많은 연산을 시간적으로 수행할 것이다.
디지털 신호 프로세서(DSP) 설계자의 설계 생산성을 상당히 증가시킬 수 있으며, 최종 칩의 더 최적화된 설계를 가능하게 하는 DSP용 알고리즘-실리콘 설계 방법(an algorithm-to-silicon design methodology)이 개발되었다. 이 방법은 처음에 구현 독립 방식(an implementation-independent way)으로 알고리즘을 캡쳐하는 단계를 포함한다. 그리고, 한 세트의 평가기와 분석기를 사용해서 이 알고리즘은 고정 소수점 구현(a fixed-point implementation)을 위해 조정되고 최적화될 수 있다. 일단 만족스러운 연산에 이르면, 상호작용형 합성 엔진(interactive synthesis engines)의 세트가 적용되어서 타겟 VLIW 형 아키텍쳐에 고정 소수점 사양(fixed-point specification)을 매핑시킨다. 이 매핑 과정은 매우 융통성있고 빨라서, 짧은 시간에 많은 다른 방안을 시도해 볼 수 있다. 일반적으로, 이러한 VLIW 형 프로세서 아키텍쳐의 많은 예는 마이크로 코드 메모리 내의 각각의 컨트롤 워드가 하나의 구성물이 되는 개략적 재구성가능 프로세서(coarse-grained reconfigurable processor)처럼 보일 수 있다. 이러한 해석은 대응하는 VLIW 인스트럭션의 크기 때문에 가능하며, 이는 많은 병렬 연산을 가능하게 하여 공간적으로 대규모로 계산하는 것을 가능하게 한다.
VLIW 프로세서는 사용가능한 ILP(Instruction Level Parallelism)을 애플리케이션에서 활용하는 데 사용된다. ILP를 활용하기 위해서, 데이터 독립 연산이 VLIW 인스트럭션에서 동시에 스케쥴링된다.
도 1은 프로세싱 애플리케이션 및 대응하는 애플리케이션 프로그래밍 가능 프로세서 구조체를 도시하는 개략도로, 여기서 루프 바디를 나타내는 데이터 흐름 그래프가 좌측에 도시되어 있다. 도 1에서, 원(20)은 연산을 나타내고, 화살표는 연산 사이의 데이터 의존성을 나타낸다. 점선 화살표는 루프 반복시에 각각 소비되거나 생성되는 입력 또는 출력값을 나타낸다. 4개의 ALU(A1 내지 A4) 및 이 ALU(A1 내지 A4)의 연산을 제어하는 4개의 이슈 슬롯(I1 내지 I4)을 포함하는 4-이슈 슬롯 VLIW 프로세서(10)가 우측에 도시되어 있다. 이 경우, VLIW 프로세서(10)는 5번의 사이클 동안 표시된 루프 프로세싱 애플리케이션의 1회 반복(iteration)을 계산할 수 있으며, 각각의 사이클에서 각각 2개, 4개, 2개, 1개 및 1개의 연산 시퀀스를 실행한다. 사이클 당 연산의 수는 동시에 즉 병렬로 수행될 수 있는 연산의 수, 즉 프로세싱 애플리케이션의 하나의 가로축 내에 도시된 연산의 수에 의존한다. 프로세싱 애플리케이션의 부분 영역(30)은 제 2 사이클에서의 상황을 나타내고, 여기서 4개의 연산이 VLIW 프로세서(10)의 한번의 사이클 동안 병렬로 수행된다.
루프의 한번의 반복 동안 ILP가 루프 바디 내에서 활용된다는 것에 주목한다. ILP 소프트웨어 파이프라이닝 기술을 사용해서 루프 반복들에 걸쳐서 ILP를 활용할 수는 있지만, 이는 전형적으로 구현하기 어렵고, 대부분 예컨대 단일 기본 블록과 같이 매우 간단하고 작은 루프에서만 효율적이다.
그러나, 통상의 하드웨어는 모든 루프 반복의 실현을 중첩시켜서 모든 사이클에서 대부분의 컴퓨팅 자원을 사용중인(busy) 상태로 유지할 수 있다. 이러한 종류의 구현은 데이터 지역성(locality) 및 파이프라이닝을 최대한 활용한다. 이는 시스톨릭 어레이라고 알려져 있다. 도 2는 예컨대 모든 사이클에서 출력 샘플을 생성할 수 있는 FIR(Finite Impulse response) 필터와 같은, 디지털 필터 애플리케이션의 최종 2개의 탭의 시스톨릭 어레이 구현을 나타내는 개략도를 도시하고 있다. 회색 블록은 클록 레지스터(R)이다. 모든 기능 유닛(FU)은 모든 사이클에서 비지 상태이다. 입력 데이터 i는 "맥동하는(pulsating)" 어셈블리 라인에서와 같이, 오른쪽으로 파이프를 따라 내려가면서 국부적으로 처리되어서 출력 데이터 o를 생성한다. 이 라인 acc는 부분 누산값을 포함한다. 레지스터 c는 승산기로의 계수를 포함한다. 따라서, 이 아키텍쳐는 "시스톨릭(systolic)" 어레이라 불린다. 시스톨릭 어레이는 매우 높은 동시 활용성을 가능하게 해서 높은 처리 성능을 획득한다.
Zapata등의 "A VLSI constant geometry architecture for the fast Hartley and Fourier transforms", IEEE Transactions on Parallel and Distributed Systems, Vol. 3, No. 1, pp.58-70, January 1992에서, 프로세서 메모리의 조직은 선입 선출(FIFO) 큐를 기반으로 해서 시스톨릭 데이터 플로우를 활용하며, 복잡한 데이터 이동 및 변환의 어드레스 시퀀스의 직접 방식의 구동을 가능하게 한다. 이는 하드웨어 제어를 사용한 간단한 멀티플렉싱 연산을 통해서 구현된다.
이와 같이, 원리적으로는, 시스톨릭 어레이를 VLIW 프로세서에 매핑하는 것이 가능하다. 따라서, 시스톨릭 어레이 내의 각각의 기능 유닛(FU)은 VLIW 프로세서 내의 등가 유닛(예컨대, ALU, 승산기 MAC 등)에 대응할 것이며, 하나의 이슈 슬롯이 할당될 것이다. 도 2의 시스톨릭 어레이의 경우, 4개의 기능 유닛(FU)에 대해서 VLIW 프로세서에 4개의 이슈 슬롯이 요구될 것이다. 또한, 시스톨릭 어레이의 지연 라인에 대응하는 각각의 레지스터 이동에 대해서, 자체 대응 이슈 슬롯과 함께, VLIW 내에 하나의 레지스터 이동 유닛이 필요하다. 도 2의 시스톨릭 어레이에서, 지연 라인에 대응하는 7개의 레지스터 이동이 제공된다. 따라서, VLIW 프로세서에, 자체의 7개의 추가 이슈 슬롯과 함께 7개의 레지스터 이동 유닛이 요구된다. 이런식으로, 따라서 실제 연산인 아닌 레지스터 이동에 대응하는 더 많은 이슈 슬롯 및 그에 따른 제어 신호와 관련 회로가 존재할 것이다. 또한, 다른 기능 유닛이 액세스해야 하는 레지스터와 같은 레지스터에 이동 유닛이 액세스할 필요가 있기 때문에, VLIW 설계를 구조적으로 복잡하게 한다. 이 모두가 시스톨릭 어레이의 VLIW 구현의 실용성을 떨어뜨린다. 이에 대해 원래의 시스톨릭 어레이에서, 레지스터 이동은, 외부 제어없이 지연 라인을 구현할 수 있는 레지스터의 FIFO 라인을 통해서 공간적으로 인코딩된다.
본 발명의 목적은 프로그래밍 가능 프로세서에 의해서 시스톨릭 어레이형 구조체의 구현을 가능하게 하는 것이다.
이 목적은 청구항 1의 프로세싱 장치 및 청구항 8의 프로세싱 방법에 의해 달성된다.
따라서, 시스톨릭 어레이를 구현하는 프로그래밍 가능 프로세서 템플릿은 프로세싱 유닛의 입력단에 깊이 구성 가능 레지스터(a depth-configurable register) 수단을 제공함으로써 달성된다. 예컨대, VLIW 프로세서와 같은 프로그래밍 가능 프로세서에 의한 시스톨릭 어레이 구성의 구현이 가능하기 때문에, 하드웨어 같은 성능, 주로 처리량은 기존의 프로세서 패러다임의 융통성 및 프로그래밍 가능성을 유지하면서 비디오 스트리밍 같은 매체 집중 애플리케이션에 제공될 수 있다. 분명한 하드웨어 설계없이, "시스톨릭 어레이식" 인스트럭션 스케쥴을 자동으로 생성하는 컴파일러를 획득할 수도 있다. 컴파일레이션 기술은 이런 방향으로 더 확장될 수 있다.
따라서, 시스톨릭 구조체의 매핑을 위해서 비용 효율적인 VLIW 템플릿이 제공될 수 있다. 이 템플릿은 지연 라인에 대응하는 모든 레지스터 이동 연산을 분명하게 제어하는 데 필요한 전류에 의해 생성된 오버헤드를 상당히 감소시킨다.
바람직하게는, 레지스터 수단은 처리 수단의 복수의 기능 유닛의 각각의 입력 단자에 제공된 분산 레지스터 파일을 포함할 수 있다. 특히, 분산형 레지스터 파일은 개별적인 레지스터에 대해 어드레싱 가능한 깊이 구성 가능 FIFO 레지스터 파일을 포함할 수 있다. 사용가능한 물리 레지스터의 수는 하드웨어에 따라 정해진다. 레지스터 제어 수단은 인스트럭션 데이터로부터 유추된 제어 신호에 기초해서 FIFO 레지스터 파일의 최종 논리 레지스터를 결정하도록 배치될 수 있다.
또한, 적어도 하나의 이슈 슬롯이 인스트럭션 데이터를 저장하는 데 제공될 수 있다. 레지스터 제어 수단은 레지스터 수단의 깊이(depth)를 제어하기 위해 적어도 하나의 이슈 슬롯에 저장된 인스트럭션의 비트 패턴의 일부를 사용하도록 배치될 수 있다.
다른 유익한 더 개선된 점이 종속항에서 정의된다.
다음에서, 본 발명은 첨부된 도면을 참조로 바람직한 실시예에 기초해서 더 설명될 것이다.
도 1은 프로세싱 애플리케이션 및 대응하는 프로그래밍 가능 프로세서 구조체의 개략도를 도시하는 도면,
도 2는 시스톨릭 어레이 아키텍쳐의 개략도를 도시하는 도면,
도 3은 본 발명에 따른 프로그래밍 가능 프로세서 내의 도 2의 시스톨릭 어레이형 구조체를 구현하는 원리 아키텍쳐를 도시하는 도면,
도 4는 시스톨릭 어레이를 구현하는 바람직한 실시예에 따른 프로그래밍 가능 프로세서 아키텍쳐를 도시하는 도면.
바람직한 실시예가 VLIW 프로세서 아키텍쳐에 기초해서 설명될 것이다.
도 3에서, 도 2의 시스톨릭 어레이가 VLIW 아키텍쳐에서 그 구현을 가능하게 하도록 재구성된다. 이슈 슬롯(I1 내지 I4)은 분명히 도시되어 있으며, 레지스터(R)를 포함하는 선입 선출(FIFO) 지연 라인은 예컨대, ALU와 같은 기능 유닛(FU)의 입력 단자에 보존된다. 점선의 상자는 하드웨어에서는 이용할 수 있지만, 도시된 시스톨릭 구조체에서는 사용되지 않는 물리 레지스터를 나타낸다. 도시된 방식에서, 이 방안은 시스톨릭 구조체를 효율적으로 매핑할 수 있는 VLIW 템플릿을 제안한다. 도 3에 도시된 직관적인 개념은 기능 유닛(FU)의 각각의 입력단에 분산 레지스터 파일을 제공함으로써 생성될 수 있다.
도 4는 시스톨릭 구조체를 효율적으로 매핑할 수 있는 VLIW 템플릿으로서, 바람직한 실시예에 따른 프로그래밍 가능 프로세서 아키텍쳐를 도시한다. 특히 분산 레지스터 파일(DCF)이 각각의 기능 유닛(FU)의 각각의 입력단에 하나씩 제공된다. 추가로, 다수의 점 대 점 라인으로 이루어진 상호 접속 네트워크가 제공되어서 입력 또는 출력 승산기(50)에 의해 기능 유닛의 각각의 입력단에 접속된다. 이로써, 점 대 점 라인은 하나의 미리 정해진 기능 유닛(FU)에 의해 기록될 수 있다. 도 4에서 완전 접속을 제안하고 있지만, 상호 접속 버스는 완전히 접속될 필요가 없다. 또한, 기능 유닛(FU)의 각각의 입력단은 표준 레지스터 파일(RF)에 접속되며 개개의 레지스터에 대해서 어드레싱 가능하다. 도 4에서는 간단하게 하기 위해서 각각의 기능 유닛(FU)의 입력단 중 우측의 1개만이 각각의 표준 레지스터 파일(RF)에 접속된 것으로 도시된다. 다수의 판독 및/또는 기록 포트를 구비한 레지스터 파일도 가능하다.
템플릿이 어떤 중앙 집중된 구조도 포함하지 않기 때문에, 즉 모든 자원이 분산되기 때문에, 스케일러블해서, 예컨대, 16탭 FIR 필터 또는 큰 수열 승산기와 같은 대형 시스톨릭 어레이가 잠재적으로 필요로 하는 매우 많은 수의 이슈 슬롯이 가능하다.
바람직한 실시예에 따라서, 깊이 구성 가능 레지스터 파일(DCF)이 각각의 기능 유닛(FU)의 입력단에 배치된다. 깊이 구성 가능 레지스터 파일(DCF)은 FIFO 메모리에 의해 구현될 수 있으며, 이 메모리의 최종 논리 레지스터는 제어 신호에 의해 결정될 수 있다. 그러나, 제어 또는 어드레스 신호에 기초해서 지연 라인상의 최종 논리 저장 위치를 결정할 수 있는 임의의 다른 어드레싱 가능 또는 제어 가능 메모리 또는 레지스터 구조체가 깊이 구성 가능 레지스터 파일(DCF)을 구현하는데 사용될 수도 있다.
N개의 물리 레지스터를 가진 깊이 구성 가능 FIFO에 대해서, FIFO의 출력단은 레지스터 N, N-1, N-2,...1에서 프로그래밍될 수 있다. FIFO의 깊이를 제어함으로써, 에뮬레이트하는 지연 라인의 수를 제어할 수 있다. 예컨대, 도 3에서 가장 좌측의 FIFO가 4개의 물리 레지스터(R)를 갖는 경우, 도 4의 가장 좌측의 깊이 제어 레지스터 파일(DCF)은 출력 단자를 제 2 레지스터(N-2, N=4)에 위치시키도록 가장 좌측의 이슈 슬롯(I1)에 있는 제어 신호에 의해 제어될 것이며, 하위 2개의 레지스터(N, N-1)는 사용되지 않은 상태로 된다. 따라서, 깊이 조절 레지스터 파일(DCF)의 깊이를 제어하는 제어 신호는 대응하는 이슈 슬롯(I1-I4) 내의 비트 패턴의 일부이다.
요컨대, 시스톨릭 어레이를 구현하는 프로그래밍 가능 프로세서 템플릿은 각각의 기능 유닛(FU)의 입력 단자에 깊이 구성 가능 메모리 또는 레지스터 파일(DCF)을 제공함으로써 달성될 수 있다. 깊이 구성 가능 레지스터 파일(DCF)의 깊이는 대응하는 이슈 슬롯 내에 로딩된 각각의 비트에 의해서 제어된다. 넓게 보면, 어레이의 지연 라인을 구성하는 레지스터 이동을 구현하기 위해, 분명하게 연산을 발행할 필요없이 시스톨릭 어레이는 예컨대, VLIW 프로세서와 같은 프로그래밍 가능 프로세서에 매핑될 수 있다. 제안된 템플릿은 다양한 시스톨릭 어레이를 구현하도록 구성될 수 있다. 하드웨어와 같은 데이터 처리 성능을 제공할 수 있으며, 동시에 프로세서의 프로그래밍 가능성을 유지하는 개략적 재구성 가능 조직을 제공한다.
본 발명은 바람직한 실시예에 한정되는 것이 아니라 시스톨릭 또는 다른 파이프라인 아키텍쳐를 구형하도록 프로그래밍 가능 또는 재구성 가능 데이터 프로세싱 아키텍쳐에서 사용될 수 있다는 점에 주의한다.

Claims (11)

  1. 시스톨릭 어레이형 구조체(systolic-array-like structures)를 구현하는 프로세싱 장치로서,
    1) 데이터를 입력하는 입력 수단과,
    2) 미리 정해진 시퀀스로 상기 입력 데이터를 저장하는 레지스터 수단과,
    3) 인스트럭션 데이터로부터 생성된 제어 신호에 기초해서 상기 레지스터 수단으로부터 수신된 데이터를 처리하는 처리 수단과,
    4) 상기 인스트럭션 데이터에 따라 상기 레지스터 수단의 깊이(depth)를 제어하는 레지스터 제어 수단을 포함하되,
    상기 레지스터 수단은 상기 프로세싱 수단의 복수의 기능 유닛의 입력 단자들에 제공되는 분산 레지스터 파일들을 포함하고,
    상기 분산 레지스터 파일들은 개개의 레지스터에 대해 어드레싱 가능한 깊이 구성 가능 FIFO 레지스터 파일들(depth-configurable FIFO register files)을 포함하며,
    상기 레지스터 제어 수단은 상기 인스트럭션 데이터로부터 얻어진 제어 신호에 기초해서 상기 깊이 구성 가능 FIFO 레지스터 파일들의 최종 논리 레지스터(the last logical register)를 결정하는
    프로세싱 장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제 1 항에 있어서,
    상기 인스트럭션 데이터를 저장하는 적어도 하나의 이슈 슬롯(issue slot)을 더 포함하는
    프로세싱 장치.
  6. 제 5 항에 있어서,
    상기 레지스터 제어 수단은 상기 적어도 하나의 이슈 슬롯에 저장된 상기 인스트럭션 데이터의 비트 패턴의 일부를 사용하여 상기 레지스터 수단의 상기 깊이를 제어하는
    프로세싱 장치.
  7. 제 1 항, 제 5 항 및 제 6 항 중 어느 한 항에 있어서,
    프로그래밍 가능한 상기 프로세싱 장치는 스케일러블 VLIW 프로세서 또는 개략적 재구성 가능 프로세서(a coarse-grained reconfigurable processor)인
    프로세싱 장치.
  8. 제 1 항, 제 5 항 및 제 6 항 중 어느 한 항에 있어서,
    상기 분산 레지스터 파일은 복수의 점 대 점 접속 라인(point-to-point connection lines)으로 이루어진 상호 접속 네트워크에 접속된
    프로세싱 장치.
  9. 제 8 항에 있어서,
    상기 점 대 점 상호 접속 라인은 단일 소스를 가진
    프로세싱 장치.
  10. 제 8 항에 있어서,
    상기 상호 접속 네트워크는 부분적으로 접속되는
    프로세싱 장치.
  11. 시스톨릭 어레이형 구조체를 구현하는 프로세싱 방법으로서,
    1) 미리 정해진 시퀀스로 레지스터 파일들에 입력 데이터를 저장하는 단계와,
    2) 인스트럭션 데이터로부터 생성된 제어 신호에 기초해서 상기 레지스터 파일들로부터 수신된 데이터를 처리하는 단계와,
    3) 상기 인스트럭션 데이터에 따라 상기 레지스터 파일들의 깊이를 제어하는 단계를 포함하되,
    상기 레지스터 파일들은 분배되고, 개개의 레지스터에 대해 어드레싱 가능한 깊이 구성 가능 FIFO 레지스터 파일들(depth-configurable FIFO register files)을 포함하며,
    상기 방법은 상기 인스트럭션 데이터로부터 얻어진 제어 신호에 기초해서 상기 깊이 구성 가능 FIFO 레지스터 파일들의 최종 논리 레지스터(the last logical register)를 결정하는 단계를 더 포함하는
    프로세싱 방법.
KR1020047016993A 2002-04-25 2003-04-01 시스톨릭 어레이형 구조체 구현 프로세싱 장치 및 프로세싱 방법 KR100952148B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP02076649 2002-04-25
EP02076649.9 2002-04-25
PCT/IB2003/001187 WO2003092171A2 (en) 2002-04-25 2003-04-01 Processing method and apparatus for implementing systolic arrays

Publications (2)

Publication Number Publication Date
KR20040107507A KR20040107507A (ko) 2004-12-20
KR100952148B1 true KR100952148B1 (ko) 2010-04-09

Family

ID=29265968

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047016993A KR100952148B1 (ko) 2002-04-25 2003-04-01 시스톨릭 어레이형 구조체 구현 프로세싱 장치 및 프로세싱 방법

Country Status (7)

Country Link
US (1) US7260709B2 (ko)
EP (1) EP1504533A2 (ko)
JP (1) JP4087379B2 (ko)
KR (1) KR100952148B1 (ko)
CN (1) CN1647064A (ko)
AU (1) AU2003212603A1 (ko)
WO (1) WO2003092171A2 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006099719A (ja) * 2004-08-30 2006-04-13 Sanyo Electric Co Ltd 処理装置
JP2008116997A (ja) * 2006-10-31 2008-05-22 Kyushu Univ 再構成可能データパスプロセッサ
CN101038582B (zh) * 2007-04-02 2010-05-12 中国科学院光电技术研究所 用于自适应光学波前复原运算的脉动阵列处理方法及电路
CN104682920A (zh) * 2015-03-10 2015-06-03 中国人民解放军国防科学技术大学 高速脉动阵列滤波器的系数无缝切换方法
US11003620B2 (en) * 2017-12-22 2021-05-11 Intel Corporation Systolic array of pipelined processing engines for implementing dynamic programming algorithms
US20220414053A1 (en) * 2021-06-24 2022-12-29 Intel Corporation Systolic array of arbitrary physical and logical depth

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6057090B2 (ja) * 1980-09-19 1985-12-13 株式会社日立製作所 データ記憶装置およびそれを用いた処理装置
US5046000A (en) 1989-01-27 1991-09-03 International Business Machines Corporation Single-FIFO high speed combining switch
US5045000A (en) * 1990-07-09 1991-09-03 Everbrite, Inc. Neon sign connector
US5673396A (en) * 1994-12-16 1997-09-30 Motorola, Inc. Adjustable depth/width FIFO buffer for variable width data transfers
GB2298109B (en) * 1995-02-14 1999-09-01 Nokia Mobile Phones Ltd Data interface
US5933855A (en) * 1997-03-21 1999-08-03 Rubinstein; Richard Shared, reconfigurable memory architectures for digital signal processing
EP1113357A3 (en) 1999-12-30 2001-11-14 Texas Instruments Incorporated Method and apparatus for implementing a variable length delay instruction
US6631455B1 (en) * 2000-09-29 2003-10-07 Cypress Semiconductor Corp. Logic for initializing the depth of the queue pointer memory
US6907479B2 (en) * 2001-07-18 2005-06-14 Integrated Device Technology, Inc. Integrated circuit FIFO memory devices that are divisible into independent FIFO queues, and systems and methods for controlling same
US6836809B2 (en) * 2001-08-23 2004-12-28 Intel Corporation Writing and reading data from a queue

Also Published As

Publication number Publication date
WO2003092171A2 (en) 2003-11-06
AU2003212603A1 (en) 2003-11-10
US20050166034A1 (en) 2005-07-28
EP1504533A2 (en) 2005-02-09
KR20040107507A (ko) 2004-12-20
JP2005524160A (ja) 2005-08-11
AU2003212603A8 (en) 2003-11-10
JP4087379B2 (ja) 2008-05-21
WO2003092171A3 (en) 2004-10-21
CN1647064A (zh) 2005-07-27
US7260709B2 (en) 2007-08-21

Similar Documents

Publication Publication Date Title
US6367003B1 (en) Digital signal processor having enhanced utilization of multiply accumulate (MAC) stage and method
JP6059413B2 (ja) 再構成可能命令セル・アレイ
JP3559046B2 (ja) データ処理マネージメントシステム
US7873811B1 (en) Polymorphous computing fabric
US5121502A (en) System for selectively communicating instructions from memory locations simultaneously or from the same memory locations sequentially to plurality of processing
JP6944974B2 (ja) ロード/ストア命令
JP6895484B2 (ja) マルチスレッドプロセッサのレジスタファイル
JPH03138759A (ja) 信号プロセツサ
US5036454A (en) Horizontal computer having register multiconnect for execution of a loop with overlapped code
US5276819A (en) Horizontal computer having register multiconnect for operand address generation during execution of iterations of a loop of program code
WO2006115635A2 (en) Automatic configuration of streaming processor architectures
Lee et al. Reconfigurable ALU array architecture with conditional execution
US11782760B2 (en) Time-multiplexed use of reconfigurable hardware
US5226128A (en) Horizontal computer having register multiconnect for execution of a loop with a branch
EP0530310A1 (en) Programmable signal processor architecture, system for implementing circuits and method for processing information in said processor
KR100952148B1 (ko) 시스톨릭 어레이형 구조체 구현 프로세싱 장치 및 프로세싱 방법
Tunbunheng et al. Black-diamond: A retargetable compiler using graph with configuration bits for dynamically reconfigurable architectures
Hannig et al. Regular mapping for coarse-grained reconfigurable architectures
Hannig et al. Mapping of regular nested loop programs to coarse-grained reconfigurable arrays-constraints and methodology
Barnwell et al. The Georgia Tech digital signal multiprocessor
EP1927056A2 (en) Processor array with separate serial module
Hartenstein et al. A dynamically reconfigurable wavefront array architecture for evaluation of expressions
JP2004503872A (ja) 共同利用コンピュータシステム
Mayer-Lindenberg High-level FPGA programming through mapping process networks to FPGA resources
CN112559442A (zh) 一种基于软件定义硬件的阵面数字信号处理系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment
LAPS Lapse due to unpaid annual fee