KR20040041650A - 디지털 신호 처리 장치, 디지털 신호 처리 계산 방법 및다중 표준 채널 디코더 - Google Patents

디지털 신호 처리 장치, 디지털 신호 처리 계산 방법 및다중 표준 채널 디코더 Download PDF

Info

Publication number
KR20040041650A
KR20040041650A KR10-2004-7004787A KR20047004787A KR20040041650A KR 20040041650 A KR20040041650 A KR 20040041650A KR 20047004787 A KR20047004787 A KR 20047004787A KR 20040041650 A KR20040041650 A KR 20040041650A
Authority
KR
South Korea
Prior art keywords
array
signal processing
digital signal
cell
communication
Prior art date
Application number
KR10-2004-7004787A
Other languages
English (en)
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 KR20040041650A publication Critical patent/KR20040041650A/ko

Links

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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 디지털 신호 처리를 위한 컴포넌트 아키텍처에 관한 것이다. 각 처리기가 그 최근접 이웃들과 통신하는 동일한 처리기로 이루어진 2 차원 재구성 가능한 어레이는 간단하고 전력 효율적인 플랫폼을 제공하는데, 이 플랫폼에 컨볼루션, 유한 임펄스 응답(FIR) 필터 및 적응 유한 임펄스 응답 필터가 맵핑될 수 있다. 적응 FIR은 각 셀에 간단한 프로그램을 다운로딩함으로써 실현될 수 있다. 각 프로그램은, 로컬 탭 갱신, 계수 갱신 및 최근접 이웃들과의 통신을 지정하기 위해 주기적으로 산술 처리를 한다. 안정 상태 처리 동안에는, 메모리와의 고대역폭 통신이 필요치 않다. 이 컴포넌트 아키텍처는 정적 구성을 제공하거나 또는 정상 상태 처리를 추가하기 위해 외부 제어기 또는 범용 디지털 신호 처리기와 상호접속될 수도 있다.

Description

디지털 신호 처리 장치, 디지털 신호 처리 계산 방법 및 다중 표준 채널 디코더{PROGRAMMABLE ARRAY FOR EFFICIENT COMPUTATION OF CONVOLUTIONS IN DIGITAL SIGNAL PROCESSING}
컨볼루션(Convolution)은 디지털 신호 처리에 있어서 일반적인 것으로, 유한 임펄스 응답(FIR; finite impulse response) 필터를 구현하는데 일반적으로 적용된다. 계수 벡터(coefficient vector)가 C인 데이터 신호 X의 컨볼루션에 대한 일반적인 표현은 다음과 같다.
여기서, 데이터 신호(X) 및 시스템 응답, 또는 필터 계수 벡터(C)는 모두 임의적이다.
각각의 출력 데이터(yn)에 있어서, 2N 개의 데이터가 메모리로부터 페치되고, N 개의 곱셈(multiplication) 및 N 개의 곱(product)의 합이 실시되어야 한다. 메모리 트랜잭션은 일반적으로 두 개의 별개의 메모리 위치로부터 수행되는데, 계수 Ci및 데이터 Xn-i에 대해 각각 수행된다. 안정 상태 동작(steady state operation) 동안에 계수들이 빈번히 갱신되는 실시간 적응 필터에서, 계수들을 갱신하고 저장하도록 부가적인 메모리 트랜잭션 및 산술적 계산이 이루어져야 한다. 범용 디지털 신호 처리기는, 특히 폰 노이만(Von Neuman) 유형의 처리기 상에서 이 계산을 효과적으로 수행하도록 최적화되었다. 그러나, 높은 신호 처리 속도 및 엄격한 전력 소비 제한이 요구되는 어떠한 애플리케이션에서는, 범용 디지털 신호 처리기가 비실용적이다.
이러한 제한을 처리하기 위해, 수많은 알고리즘 및 구조적인 방법들이 적용되어 왔다. 한가지 일반적인 방법은 주파수 영역에서 프로세싱을 실현하는 것이다. 따라서, 계산적으로는, 컨볼루션이 주어진 변환, 예를 들어, 퓨리에 변환을 이용하여 스펙트럼의 곱(product)을 생성하도록 변환될 수 있으며, 그러면 역변환이 원하는 합을 생성할 수 있다. 많은 경우에 있어서, 유효 고속 퓨리에 변환 기술이 실제로 전체 계산 부담을 시간 영역에서의 원래의 컨볼루션의 계산 부담보다 작게 감소시킬 것이다. 단일 캐리어 지상 채널 디코딩(single carrier terrestrial channel decoding) 환경에서, 그러한 기술은 ATSC 8-VSB 등화기의 부분적인 구현을 위해 제안되었는데, 이는 출원인인 Cagnachew Birru의 미국 특허 출원 제 09/840,203 호 및 09/340,200 호에 보다 상세하게 설명되어 있으며, 이들 각각은 본원과 함께 양도되어 있다. 이들 각각의 애플리케이션의 전문은 참조로서 본원에 포함되어 있다.
알고리즘 요건 또는 메모리 제한으로 인해, 컨볼루션이 주파수 영역으로 쉽게 변환되지 않는 경우에, 특화된 ASIC 처리기가 컨볼루션을 구현하고, 적응 계수 갱신 알고리즘 내의 특정 선택을 지원하도록 제안되었는데, 이는 IEEE 저널 Selected Areas in Communications 제 18권 제 11호(2000년 11월호)에 개재된 Grayver A.의 고속 데이터 통신용의 재구성 가능한 8 GOP ASIC 아키텍처(Reconfigurable 8 GOP ASIC Architecture for High-Speed Data Communications) 및 2000년 11월 호놀룰루의 ISPACS2000에서의 E.Dujardin 및 O.Gay-Bellile의 디지털 통신용의 프로그램 가능한 아키텍처: 모노-캐리어 연구(A Programmable Architecture for digital communications: the mono-carrier study)에 개시되어 있다.
이러한 ASIC 구조의 중요한 특징은, (1) 계수 및 상태 저장 장치를 통해 모든 탭 계산을 로컬화하기 위해, 계산 하드웨어 및 메모리를 포함하는 특화된 셀과, (2) 셀의 기능이 로컬 방식으로 프로그램되고, 다양한 셀에 걸쳐 복제된다는 사실을 포함한다.
개선된 재구성 가능한 멀티프로세서 시스템에서의 연구는 복잡한 워크스테이션 처리 시스템에 성공적으로 적용되었다. 예를 들어, 2001년 1월, 컴퓨터 과학을 위한 MIT 실험실에서의 마이클 테일러(Michael Taylor)의 원시 프로토타입 설계 문서(Raw Prototype Design Document)는, 정적 프로그램 가능한 네트워크 및 동적 프로그램 가능한 통신 네트워크를 이용하여 통신하는 프로그램 가능한 처리기 "타일(tiles)"의 어레이를 개시한다. 정적 네트워크는 구성(configuration) 동안 정의된 상호접속부에 의해, 재구성가능한 크로스바 네트워크를 이용하여 임의의 처리기를 접속하고, 동적 네트워크는 동적 라우팅을 이용하여 패킷 전달 구조를 구현한다. 각각의 경우에, 상호접속은 소스 셀로부터 프로그램된다.
그러나, 전술한 모든 구조적 해법에서는, 필터를 선형 체인으로 제한함으로써 유연성이 절충되거나(Grayver A.의 경우), 어드레스될 처리의 범위가 컨볼루션 이상으로 가기 때문에 복잡성이 높게 된다(Dujardin 및 Gay-Bellile와, Taylor의 경우 참조; Taylor의 경우에는, 예를 들면 복합 처리기들의 어레이가 기재되어 있는데, 워크스테이션이 그기에 기재된 시스템 상에 구축될 수 있다). 따라서, 현재 제안되어 있던지 이를 확장하던지 간에 현재의 시스템은 유연성과 단순화의 효율성을 모두 제공하지는 못한다.
이들 구조에 대하여 개선할 점은 컨볼루션 문제에 대한 유연성을 향상시키면서, 프로그램 및 통신 제어를 단순하게 유지하는 것이다.
본 발명은 디지털 신호 처리에 관한 것으로, 특히 집적 회로에서 디지털 신호 처리 동작을 최적화하는 것에 관한 것이다.
도 1은 본 발명에 따른 동일한 처리기로 이루어진 어레이를 도시한 도면.
도 2는 어레이 내의 각각의 처리기가 최근접 이웃들과 통신할 수 있다는 사실을 도시한 도면.
도 3은 본 발명에 따른, 최근접 이웃의 출력 포트와 논리적 이웃 입력 포트와의 임의의 조합을 로딩하기 위한 프로그램 가능한 정적 구조를 도시한 도면.
도 4는 본 발명에 따른 셀의 산술 제어 구조를 도시한 도면.
도 5 내지 도 11은 본 발명에 따라, 32-탭 실제 FIR을 처리기의 4 x 8 어레이로 맵핑시킨 것을 도시한 도면.
도 12 내지 도 14는 본 발명의 바람직한 실시예에 따른, 최종 결과에 대한 합의 조합의 가속을 도시한 도면.
도 15는 본 발명의 바람직한 실시예에 따른, 중첩된 3x3 어레이를 갖는 9x9 탭 어레이를 도시한 도면.
도 16은 외부 마이크로컨트롤러 및 랜덤 액세스 구성 버스를 갖는 어레이의 실시를 도시한 도면.
도 17은 어레이와 외부 프로세스 사이에 데이터 스트림을 공식으로(officially) 교환하는 스케일링 가능한 방법을 도시한 도면.
도 18은 도 17에 도시된 탭 어레이 요소에 대한 블록도.
도 19는 본 발명에 따른 예시적인 애플리케이션을 도시한 도면.
본 발명에 따르면, 컨볼루션 기능 및 다른 디지털 신호 처리 동작을 실현하기 위한 컴포넌트 아키텍처(component architecture)가 제공된다. 각각의 처리기가 최근접 이웃들(neighbors)과 통신하는, 동일한 처리기들로 이루어진 2 차원 어레이는 컨볼루션, 유한 임펄스 응답("FIR") 필터, 및 적응(adaptive) 유한 임펄스응답 필터가 맵핑될 수 있는 간단하고 전력 효율적인 플랫폼을 제공한다. 적응 FIR은 간단한 프로그램을 각 셀로 다운로딩함으로써 실현될 수 있다. 각각의 프로그램은 로컬 탭 갱신, 계수 갱신 및 최근접 이웃과의 통신을 위해 주기적인 산술 처리를 지정한다. 안정 상태 처리 동안에, 메모리와의 고 대역폭 통신은 요구되지 않는다.
이 컴포넌트 아키텍처는 외부 제어기 또는 범용 디지털 신호 처리기와 상호접속되어 정적 구성을 제공할 수도 있다.
바람직한 실시예에서, 부가적인 어레이 구조가 원래의 어레이에 중첩되어 자원 이용 효율을 최대화할 수 있으며, 이 부가적인 어레이 구성은 부분적인 합의 수렴점들에 위치한 어레이 요소들로 이루어진다.
본 발명은, 새로운 데이터가 추가될 때 셀들 사이에서 상태의 진행을 허용하는 신규한 셀 간 통신 구성(intercell communication scheme), 곱의 합산(product summation)을 실현하는 신규한 일련의 가산 구성과, 셀 프로그래밍, 외부 디바이스에 의한 상태 및 계수 액세스와 같은 특징을 제공함으로써, 전술한 종래 기술에 대해 개선된 어레이 아키텍처를 제공한다.
본 발명의 기본 사상은 간단하다. 즉, DSP 동작을 개선시키기 위해 보다 효율적이고 보다 유연한 플랫폼을 제공하는 것으로, 이는 최근접 이웃과 통신하며 로컬 프로그램 제어를 갖는 프로세서 어레이이다. 종래 기술에 대한 이점 및 특성은이하에 도면을 참고로 하여 설명한다.
도 1에는, 동일한 처리기로 이루어진 2 차원 어레이(이 예에서는 4X8의 그물형)가 도시되어 있으며, 처리기 각각은 산술 처리 하드웨어(110), 제어부(120), 레지스터 파일(130) 및 통신 제어 기능부(140)를 포함한다. 각각의 처리기는 로컬 방식으로 저장된 데이터 또는 다른 처리기로부터 인입되는 데이터에 대한 산술 연산을 수행하도록 개별적으로 프로그램될 수 있다.
이상적으로는, 처리기들은 개시 동안에 정적으로 구성되며, 정상 상태의 동작 동안에 주기적인 스케줄로 동작한다. 이 구성의 이점은, 메모리 디바이스와의 고 대역폭 통신을 제거하기 위해, 상태 및 계수 저장 장소를 산술 처리 장소와 같은 장소에 배치한다는 것이다.
다음은 본 발명에 의해 달성되는 목적들이다.
1. 간편한 최적화를 촉진하기 위해, 일관된 셀 및 어레이 구조의 유지
2. 보다 큰 어레이 사이즈에 대한 스케이링 가능성 제공
3. 전력을 최소화하고 통신의 병목을 회피하기 위해, 가능한 한 로컬화된 통신을 유지
4. 간단한 프로그래밍
5. 필요한 경우, 맵핑 방법 및 툴의 용이한 개발 허용.
도 2는 프로세서의 상호 통신 구조를 도시한 것이다. 프로그래밍 및 라우팅 단순화를 유지하고, 통신 거리를 최소화하기 위해, 통신은 최근접 이웃들 사이가 되도록 한정된다. 따라서, 주어진 프로세서(201)는 최근접 이웃들(210, 220, 230,240)과만 통신할 수 있다.
도 3에 도시된 바와 같이, 최근접 이웃들과의 통신은 경계 입력 포트(bound input port)를 통신 객체(object)로서 참조함으로써, 각각의 처리기에 대해 규정된다. 경계 입력 포트는 특정한 최근접 이웃의 물리적 출력 포트(310)를 주어진 처리기의 논리 입력 포트(320)로 간단히 맵핑하는 것이다. 그 다음에 논리 입력 포트(320)가 해당 처리기 내에서의 논리 산술 처리용 객체가 된다. 바람직한 실시예에서, 각 처리기의 출력 포트는 구성가능한 최근접 이웃들의 입력 포트에 제한없이 결선된다. 처리기의 산술 프로세스는 이들 물리적인 출력 포트에 기록될 수 있고, 상기 처리기의 최근접 이웃들 또는 어레이 요소는, 필요한 경우 데이터를 수락하도록 프로그램될 수 있다.
도 3에 도시된 랜덤 액세스 구성(330)에 따르면, 정적 구성 단계는 논리 입력 포트(320)로의 최근접 이웃 출력 포트(310)의 임의의 조합의 맵핑을 로드할 수 있다. 맵핑은 구성 멀티플렉서(configuration multiplexer)(350)에 대한 선택 신호로서 결선되며, 인입되는 최근접 이웃 데이터를 어레이 요소 또는 처리기의 내부 논리 입력 포트에 실제로 접속하는 Bind_inx 레지스터(340)에 저장된다.
도 3의 실시예는 셀마다 네 개의 출력 포트를 갖고 있지만, 다른 실시예에서는 셀마다 하나의 출력 포트를 갖는 단순화된 구조가 이루어져서 구성 가능한 입력 포트의 복잡성을 저감시키거나 제거할 수 있다. 이 방법은 그 출력이 입력으로서 희망되는 최근접 이웃을 선택하도록 내부 산술 프로그램이 책임지도록 하는데, 이 경우에는 물리적 입력 포트에 결선된다.
즉, 도 3에 도시된 특징은 특정 셀을 하나의 입력 포트로 고정된 맵핑을 할 수 있도록 한다는 것으로, 이는 구성 모드에서 행해진다. 단순화된 방법에서는, 이 입력 결합 하드웨어(input binding hardware) 및 대응하는 구성 단계가 제거되고, 실행 시간(run-time) 제어가 액세스할 셀 출력을 선택한다. 결선은 이 단순화된 실시예에서 동일하지만, 셀 설계 및 프로그래밍 복잡성이 단순화된다.
도 3에 도시된 보다 복잡한 결합 메커니즘은, 셀들 사이에 제어기를 공유하는 경우에 가장 유용한 특징이며, 따라서 단일 인스트럭션 다중 데이터(Single Instruction Multiple Data), 즉, "SIMD" 머신을 구성한다.
도 4는 산술 제어를 위한 구조를 도시하고 있다. 프로그램 가능한 데이터 경로 요소(410)는 입력 데이터 포트(430) 또는 내부 저장 레지스터(420)의 임의의 조합에 대해 동작한다. 데이터 경로의 결과(440)는 선택된 로컬 레지스터(450) 또는 출력 포트들(460) 중 하나에 기록될 수 있다. 데이터 경로 요소(410)는, 일관된 연산 부호로 연산, 소스 피연산자(source operand)(srcx) 및 수신지 피연산자(destination operand)(dstx)를 인코딩하는 RISC형 연산 부호(opcode)에 의해 제어된다. 적응 FIR 필터 맵핑을 위해, 간단한 순환 프로그램이 각 셀로 다운로드될 수 있다. 연산 부호가 데이터 경로에 적용되어, 제어기는 프로그램 저장 장치를 어드레싱하는 간단한 프로그램 카운터로 이루어진다. 계수들 및 상태들은 로컬 레지스터 파일 내에 저장된다. 도시된 실시예에서, 탭 계산은 이 둘의 곱셈을 수반하며, 필터 합산을 실현하기 위해 최근접 이웃의 일련의 곱의 덧셈이 뒤따른다. 또한, 필터 지연 라인을 따른 상태의 진행은 최근접 이웃들에 걸쳐 레지스터 시프트에 의해 실현된다.
보다 많은 복합 어레이 셀은 관련 VLIW(Very Large Instruction Word) 제어기에 의해 제어된 다수의 데이터 경로 요소로 규정될 수 있다. 예를 들어 ART 설계자와 같은 구성 합성 툴(architecture synthesis tool)에 의해 발생된 애플리케이션 특정 인스트럭션 프로세서(ASIP; aplication specific instruction processor)가 이들 복합 어레이 처리 요소들을 실현하는데 사용될 수 있다.
본 발명의 일실시예에서, 도 5 내지 도 11은 전술한 바와 같이 본 발명의 구성에 따라 배치되고 프로그램된, 32 탭의 실제 FIR 필터를 4x8의 처리기로 이루어진 어레이로 맵핑한 것을 도시한 것이다. 상태 흐름 및 후속 탭 계산들은 도 5에 도시된 바와 같이 구현되는데, 여기서 제 1 단계에서, 32 개의 셀 각각은 필터의 하나의 탭을 계산하고, 후속 단계(도 6 내지 도 11에 도시된 6개의 처리기 사이클)에서 그 결과가 합산되어 하나의 최종 결과를 산출한다. 설명의 편이를 위해, 각각의 어레이의 구성요소는 이하에서 어레이의 (i,j) 요소로 표시되며, i는 로우를 나타내고, j는 컬럼을 나타내며, 어레이의 좌상부 요소는 원점 또는 (1,1) 요소로 정의된다.
따라서, 도 6 내지 도 11은 어레이에 걸쳐서 부분 곱들의 합을 상술하고 있으며, 최초 합산 단계 동안의 최근접 이웃 통신 구조의 효율을 나타낸다. 도 6에 도시된 단계에서, 어레이의 각 로우를 따라서, 컬럼 1 내지 3은 컬럼 2에 저장된 결과와 3:1 덧셈을 수행하고, 컬럼 4 내지 6은 컬럼 5에 저장된 결과와 3:1 덧셈을 수행하고, 컬럼 7 내지 8은 컬럼 8에 저장된 결과와 2:1 덧셈을 수행한다. 도 7에도시된 단계에서, 상기 어레이의 각각의 컬럼 2, 5, 8 내에서의 로우 1 내지 2 및 로우 3 내지 4의 중간 합계가 결합되고, 그 결과가 요소 (2,2), (2,5), (2,8)과, (3,2), (3,5), (3,8)에 저장된다. 이들 단계 동안에, 프로세서 하드웨어 및 상호접속 네트워크가 이용되어 곱의 항을 결합시키며, 따라서 가용 자원을 효율적으로 한다.
그러나, 도 8에 도시된 단계에 의해, 전체 어레이는 도 7에 도시된 결과가 저장되는 세 쌍의 어레이 요소를 포함하는 덧셈 단계에서 사용되어야 한다. 도 9 내지 도 10에 도시된 단계에서, 전체 어레이는, 이들을, 최종 3:1 덧셈을 하여 최종 결과를 어레이 요소(3,5)에 저장하는 도 11에 도시된 최종 결과로 결합시키기 위해, 이들 세 개의 부분적인 합계를 인접 셀로 시프트시키는 것과 관련된다.
먼 부분들의 합계들을 결합하기 위해 어레이의 나머지를 비우는 것은 다소 비효율적이다. 자원들을 보다 양호하게 이용하면서 결합을 용이하게 하기 위한 구조적인 개선은 이상적으로는 간단한 어레이 구조, 프로그래밍 모델을 유지하면서 스케일링 가능하게 하는 것이다. 부가적인 이웃들과의 통신을 허용하기 위해 최근접 이웃의 요건을 느슨하게 하면, 라우팅 및 처리기 설계가 복잡해지고, 보다 큰 어레이에서의 근사 문제를 막을 수 없을 것이다. 따라서, 바람직한 실시예에서, 부가적인 어레이 구성이 원래의 구조 상에 중첩될 수 있으며, 멤버들은 두 번의 3:1 최근접 이웃 덧셈 후에(즉, 도시된 예에서는 도 6에 도시된 단계 후에) 부분적인 합계 수렴점에 위치한 어레이 요소들로 이루어진다. 이것은 부분적인 합의 수집에 대해 큰 개선을 제공한다.
중첩된 어레이는 도 12에 도시되어 있다. 중첩된 어레이는, 각각의 요소가 그 최근접 이웃으로서 최근접 부분 합계 수렴점을 갖는다는 것을 제외하면, 하부 어레이와 동일한 구조를 유지한다. 두 어레이 사이의 교점은 또한 부분적인 합계의 수렴점에서 발생한다. 따라서, 바람직한 실시예에서, 부분적인 가산의 제 1 단계는 기존의 어레이를 이용하여 수행되고, 여기서 자원 활용은 적절하게 유지되며, 부분적인 가산의 나중 단계들은 동일한 최근접 이웃 통신에 의해 중첩된 어레이에서 수행되지만, 그 노드는 원래의 부분적인 합계 수렴점, 즉, 도 12의 컬럼 2, 5, 8에 있다. 도 12 내지 도 14는 최종 결과에 대한 합계 결합의 가속을 도시한 것이다.
도 15는 3x3 어레이를 갖는 9x9 탭 어레이를 도시하고 있다. 따라서, 중첩된 어레이는 9x9 어레이의 각각의 3x3 블록의 중심에 수렴점을 갖고 있다. 효율적인 부분 곱의 결합을 갖는 보다 큰 어레이는 수렴점의 부가적인 어레이를 더함으로써 가능하다. 효율적으로 지원된 그 결과의 어레이 사이즈는 9N-1이며, 여기서 N은 어레이 층의 수이다. 따라서, N 층에 대하여, 즉, 필터 덧셈 트리를 완료하기 위해 셀을 가로질러 단순히 시프트되는 부분 합계를 격리시키지 않고, 9N까지의 셀 출력이 최근접 통신을 이용하여 효율적으로 결합될 수 있다.
어레이 사이즈가 커지면, 반복은 전술한 예로부터 쉽게 식별된다. 도 12 내지 14는 최근접 이웃 통신을 이용하여 탭의 곱 합산을 가속시키기 위해 다른 어레이 레벨을 사용하는 방법을 나타낸다. 제 2 레벨은, x3 주기성을 제외하고는 원래의 하부 레벨과 동일하며, 셀은 9 레벨 0 셀의 클러스터로부터 부분적인 합계를 생성하는 하부 셀에 접속된다.
필요한 레벨의 수는 어레이 내에 위치시키고자 하는 셀의 수에 의존한다. 정사각형 내에 9 개의 탭으로 이루어진 클러스터가 있다면, 최근접 이웃 통신은 모든 항목들을 중앙 셀에 그 결과를 축적하는 단 하나의 어레이 레벨과 합계할 수 있다.
81 개까지의 셀을 갖는 보다 큰 어레이에 있어서는, 9 개의 셀로 이루어진 클러스터 내에 셀을 조직하고, 레벨 1 셀을 각 클러스터 센터 상에 배치하여 부분적인 합계를 수신하고, 레벨 0 및 레벨 1 모두에서의 각 클러스터를 함께 접속한다. 레벨 1에서, 최근접 이웃들은 인접한 클러스터의 출력이다(이제 부분적인 합계를 포함하는데, 그렇지 않으면 레벨 1 어레이 없이 격리될 것이다). 9 개의 레벨 0 셀의 3x3 수퍼 클러스터에 있어서, 그 결과는 레벨 1의 부분 합계가 결합된 후에 중앙 레벨 1의 셀 내에 나타난다.
81보다 더 크고 729(93)보다 작은 어레이에 있어서, 81 개의 레벨 0 셀의 수퍼 클러스터를 수집하고, 3x3 레벨 1 셀을 수집하고, 그 다음에 상기 클러스터의 중앙 셀의 위에 레벨 2의 셀을 배치하여 레벨 1의 부분 합계를 수신할 수 있다. 모두 세 개의 레벨이 서로 접속되며, 따라서 레벨 2의 셀이 이제 최근접 통신을 이용하여 인접한 수퍼 클러스터로부터 부분 곱을 결합할 수 있으며, 그 결과는 중앙의 레벨 2 셀에 나타난다.
어레이는 수퍼 클러스터링을 반복적으로 적용함으로써 더 성장할 수 있다. 물론, 어떠한 점에서는, VLSI 배선 지연 한계가 상위 레벨의 셀이 물리적으로 멀리 떨어지게 되는 요인이 되며, 따라서 결국은 어레이의 스캐일링 가능성을 제한한다.
다음은 구성 데이터를 어레이 요소에 전달하는 방법 및 어레이와 외부 프로세스 사이에 샘플 스트림을 교환하는 방법을 설명한다. 구성 및 소형의 어레이와의 샘플 교환에 대해 적절한 한 방법은 도 16에 도시되어 있다. 여기서 버스(1610)는 모든 어레이 요소들을 외부 제어기(1620)에 접속한다. 외부 제어기는 어드레스 브로드캐스트 및 로컬 셀 디코딩 메커니즘 또는 심지어 RAM 형 로우 및 컬럼 프리디코딩 및 선택 방법을 이용하여, 구성 또는 데이터 교환을 위한 셀을 선택할 수 있다. 이 기법의 매력은 단순함에 있지만, 큰 어레이 사이즈는 스케일링이 빈약하며, 큰 샘플의 교환률에 대해서는 통신 병목이 될 수 있다.
도 17은 어레이와 외부 프로세스 사이에 데이터 스트림을 효율적으로 교환하는데 있어서 보다 스케일링 가능한 방법을 도시하고 있다. 어레이 경계에서, 어레이 계층의 각 레벨에서 자유로운 I/O 포트는 어레이 라우팅 및 제어를 복잡하게 하지 않으면서 경계 셀로 편리하게 라우팅될 수 있다. 경계 셀은, 여기서 어레이에 대한 임의의 기능성 및 연결성을 추가하는 것이 편리하지만, 어레이 셀 내에서 활용된 간단한 프로그래밍 모델을 따른다. 따라서, 임의의 기능이 결정 피드백 등화기(decision feedback equalizer)의 슬라이서와 같은 필터간 동작을 삽입하는데 사용될 수 있다. 또한, 경계 셀은 제어기의 개입이 거의 없는 외부 스트림 I/O를 제공할 수 있다. 바람직한 실시예에서, 정적 구성 목적을 위한 도 16의 버스는 안정상태의 통신을 위한 도 17에 도시된 경계 처리기와 함께 결합되어 대부분의 또는 모든 애플리케이션을 지원한다.
전술한 바와 같이, 탭 어레이 요소에 대한 데이터 흐름을 나타내는 블록도가 도 18에 도시되어 있다.
마지막으로, 특정 애플리케이션의 환경에서의 본 발명의 일례로서, 도 19는 다중 표준 채널 디코더를 도시하고 있는데, 여기서 본 발명의 재구성 가능한 처리기 어레이는 적응 필터 어레이(1901)로서 기능하는 적응 필터링을 위한 것이다. 프런트 엔드, 즉, 디지털 프런트 엔드(1902) 내의 디지털 필터는 또한 본 발명의 장치의 동일하거나 또는 다른 최적화된 버전으로 맵핑될 수 있다. FFT(fast fourier transform) 모듈(1903) 및 FEC(forward error correction) 모듈(1904)은 본 발명의 처리 어레이로 맵핑될 수 있지만, 채널 디코딩 애플리케이션 내의 이들 모듈에 대한 어레이 구현의 활용은 일반적으로 많지 않다.
따라서, 본 발명은 단순한 프로그램 및 통신 제어를 유지하면서 컨볼루션 문제에 대한 유연성을 개선한다. 또한, 간단한 프로그램을 각 셀에 다운로딩함으로써, 적응 FIR이 본 발명을 이용하여 실현될 수 있다. 각각의 프로그램은 계수 갱신, 최근접 이웃들과의 통신 및 로컬 탭 갱신을 위한 주기적인 산술 처리를 지정한다. 안정 상태의 처리 동안에, 메모리와의 고 대역폭 통신은 필요치 않다.
필요하다면, 필터의 크기 또는 맵핑되는 필터의 양은 대부분의 채널 디코딩 애플리케이션에 대해 예기된 값 이상으로 본 발명에서 스캐일링 가능하다. 또한, 컴포넌트 아키텍처는 어레이 구조를 방해하지 않거나 또는 셀 및 라우팅 최적화를복잡하게 하지 않으면서 난-필터 기능(non-filter function), 제어 및 외부 I/O의 삽입을 제공한다.
이상 본 발명의 바람직한 실시예를 설명하였지만, 당업자들에 의해 많은 다른 변형들 및 부가가 이루어질 수 있을 것이다. 그러한 부가 및 변형은 첨부한 청구범위에 의해 보호된다.

Claims (23)

  1. 디지털 신호 처리 동작을 수행하는 장치에 있어서,
    처리 셀의 2 차원 어레이(도 5 참조)를 포함하고,
    각각의 셀은 그 셀의 최근접 이웃들(nearest neighbors)과 통신하며,
    통신은 로컬 방식으로(locally) 프로그램되는(도 2 참조)
    디지털 신호 처리 장치.
  2. 제 1 항에 있어서,
    인터셀룰러(intercellualr) 통신이 상기 최근접 이웃들(210, 220, 230, 240)로 제한되는 디지털 신호 처리 장치.
  3. 제 2 항에 있어서,
    상기 최근접 이웃 통신은 프로그램 가능한 정적 구조(programmable static scheme)에 따르는 디지털 신호 처리 장치.
  4. 제 3 항에 있어서,
    모든 탭 계산과, 모든 계수(co-efficient) 및 상태 저장이 각 셀 내에서 로컬 방식으로 행해지는 디지털 신호 처리 장치.
  5. 제 4 항에 있어서,
    각 셀은 제 개의 출력 포트(201)를 갖는 디지털 신호 처리 장치.
  6. 제 5 항에 있어서,
    각 셀은 그 셀의 최근접 이웃들(430) 각각으로부터의 출력 포트, 내부적으로 저장된 데이터(420) 또는 이들의 임의의 조합 중 하나를 입력으로서 취하는 디지털 신호 처리 장치.
  7. 제 6 항에 있어서,
    각각의 처리 셀은 최근접 이웃의 출력 포트의 다양한 조합을 그 논리 입력 포트로 맵핑하는 것을 저장하는 메모리(340)를 갖는 디지털 신호 처리 장치.
  8. 제 7 항에 있어서,
    상기 메모리는 레지스터(340)를 포함하는 디지털 신호 처리 장치.
  9. 제 4 항 내지 6 항 중 어느 한 항에 있어서,
    각각의 셀은 산술 제어 아키텍처를 더 포함하는(도 4 참조) 디지털 신호 처리 장치.
  10. 제 9 항에 있어서,
    상기 산술 제어 아키텍처는
    로컬 제어기와,
    내부 저장 레지스터(420)와,
    데이터 경로 요소(410)를 포함하는 디지털 신호 처리 장치.
  11. 제 10 항에 있어서,
    상기 데이터 경로 요소(410)는 적어도 덧셈, 곱셈 및 시프트 연산을 실행할 수 있는 디지털 신호 처리 장치.
  12. 제 11 항에 있어서,
    상기 데이터 경로 요소(410)는 상기 로컬 제어기에 의해 RISC형 연산 부호(opcode)를 제공받는 디지털 신호 처리 장치.
  13. 제 9 항에 있어서,
    상기 산술 제어 아키텍처는
    로컬 VLIW 제어기와,
    내부 저장 레지스터와,
    다중 데이터 경로 요소를 포함하는 디지털 신호 처리 장치.
  14. 제 13 항에 있어서,
    상기 데이터 경로 요소는 적어도 덧셈, 곱셈 및 시프트 연산을 실행할 수 있는 디지털 신호 처리 장치.
  15. 제 13 항에 있어서,
    상기 처리 셀은 ASIP로 구현되는 디지털 신호 처리 장치.
  16. 제 15 항에 있어서,
    상기 ASIP는아키텍처 합성 툴에 의해 발생되는 디지털 신호 처리 장치.
  17. 제 9 항에 있어서,
    하나 이상의 중첩된 보다 작은 2 차원 어레이를 더 포함하되(도 12 참조), 각각의 상기 중첩된 어레이는 한 층 낮은 어레이를 갖는 지정된 수렴점에서 상기 한 층 낮은 어레이와 통신하는(도 13 참조) 디지털 신호 처리 장치.
  18. 제 13 항에 있어서,
    하나 이상의 중첩된 보다 작은 2 차원 어레이를 더 포함하되(도 12 참조), 각각의 상기 중첩된 어레이는 한 층 낮은 어레이를 갖는 지정된 수렴점에서 상기 한 층 낮은 어레이와 통신하는(도 13 참조) 디지털 신호 처리 장치.
  19. 제 17 항에 있어서,
    프로그램 가능한 경계 셀을 더 포함하되(도 17 참조), 상기 경계 셀은 모든 어레이 게층 내의 가용 포트에 접속되어 외부 프로세스와의 통신을 용이하게 하는디지털 신호 처리 장치.
  20. 제 19 항에 있어서,
    프로그램 가능한 경계 셀을 더 포함하되(도 17 참조), 상기 경계 셀은 모든 어레이 게층 내의 가용 포트에 접속되어 외부 프로세스와의 통신을 용이하게 하는 디지털 신호 처리 장치.
  21. 디지털 신호 처리 동작을 효율적으로 계산하는 방법에 있어서,
    상기 계산을 처리 요소들의 2차원 어레이로 맵핑하는 단계를 포함하고,
    각각의 요소가 그 최근접 이웃들(nearest neighbors)과만 통신하며,
    통신은 로컬 방식으로(locally) 프로그램되는
    디지털 신호 처리 계산 방법.
  22. 제 21 항에 있어서,
    각 요소의 산술 처리는 로컬 방식으로 제어되고,
    모든 연산은 입력 또는 출력 통신 객체 또는 로컬 레지스터와 관련되는 디지털 신호 처리 계산 방법.
  23. 제 9 항의 장치를 포함하는 다중 표준 채널 디코더(도 19 참조)에 있어서,
    상기 장치(1901)는 적응 필터링을 실행하도록 구성되는 다중 표준 채널 디코더.
KR10-2004-7004787A 2001-10-01 2002-09-11 디지털 신호 처리 장치, 디지털 신호 처리 계산 방법 및다중 표준 채널 디코더 KR20040041650A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/968,119 2001-10-01
US09/968,119 US20030065904A1 (en) 2001-10-01 2001-10-01 Programmable array for efficient computation of convolutions in digital signal processing
PCT/IB2002/003760 WO2003030010A2 (en) 2001-10-01 2002-09-11 Programmable array for efficient computation of convolutions in digital signal processing

Publications (1)

Publication Number Publication Date
KR20040041650A true KR20040041650A (ko) 2004-05-17

Family

ID=25513762

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7004787A KR20040041650A (ko) 2001-10-01 2002-09-11 디지털 신호 처리 장치, 디지털 신호 처리 계산 방법 및다중 표준 채널 디코더

Country Status (5)

Country Link
US (1) US20030065904A1 (ko)
EP (1) EP1466265A2 (ko)
JP (1) JP2005504394A (ko)
KR (1) KR20040041650A (ko)
WO (1) WO2003030010A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100731976B1 (ko) * 2005-06-30 2007-06-25 전자부품연구원 재구성 가능 프로세서의 효율적인 재구성 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003201A1 (en) * 2002-06-28 2004-01-01 Koninklijke Philips Electronics N.V. Division on an array processor
GB2424503B (en) * 2002-09-17 2007-06-20 Micron Technology Inc An active memory device
WO2004053717A2 (en) * 2002-12-12 2004-06-24 Koninklijke Philips Electronics N.V. Modular integration of an array processor within a system on chip
US7299339B2 (en) 2004-08-30 2007-11-20 The Boeing Company Super-reconfigurable fabric architecture (SURFA): a multi-FPGA parallel processing architecture for COTS hybrid computing framework
US8755515B1 (en) 2008-09-29 2014-06-17 Wai Wu Parallel signal processing system and method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8605366D0 (en) * 1986-03-05 1986-04-09 Secr Defence Digital processor
US5038386A (en) * 1986-08-29 1991-08-06 International Business Machines Corporation Polymorphic mesh network image processing system
US4964032A (en) * 1987-03-27 1990-10-16 Smith Harry F Minimal connectivity parallel data processing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100731976B1 (ko) * 2005-06-30 2007-06-25 전자부품연구원 재구성 가능 프로세서의 효율적인 재구성 방법

Also Published As

Publication number Publication date
WO2003030010A3 (en) 2004-07-22
JP2005504394A (ja) 2005-02-10
US20030065904A1 (en) 2003-04-03
WO2003030010A2 (en) 2003-04-10
EP1466265A2 (en) 2004-10-13

Similar Documents

Publication Publication Date Title
Kwon et al. Maeri: Enabling flexible dataflow mapping over dnn accelerators via reconfigurable interconnects
US5081575A (en) Highly parallel computer architecture employing crossbar switch with selectable pipeline delay
US6920545B2 (en) Reconfigurable processor with alternately interconnected arithmetic and memory nodes of crossbar switched cluster
US5170482A (en) Improved hypercube topology for multiprocessor computer systems
US8799623B2 (en) Hierarchical reconfigurable computer architecture
US4943909A (en) Computational origami
KR101162649B1 (ko) 가변적 크기의 고속 직교 변환을 구현하기 위한 방법 및장치
Bartic et al. Highly scalable network on chip for reconfigurable systems
US20040003201A1 (en) Division on an array processor
KR20040041650A (ko) 디지털 신호 처리 장치, 디지털 신호 처리 계산 방법 및다중 표준 채널 디코더
CN105260162A (zh) 一种矢量排列电路及矢量处理器
CN112612744B (zh) 一种基于数据流解耦的可重构阵列映射方法
Yamada et al. Folded fat H-tree: An interconnection topology for dynamically reconfigurable processor array
US7260709B2 (en) Processing method and apparatus for implementing systolic arrays
Benyamin et al. Optimizing FPGA-based vector product designs
KR20050016642A (ko) 디지털 신호 처리 동작 구현 장치 및 분할 알고리즘 실행방법
Pechanek et al. An introduction to an array memory processor for application specific acceleration
JP7243006B1 (ja) ネットワークオンチップリコンフィギュアビリティ
Burns et al. Array processing for channel equalization
KR20050085545A (ko) 코프로세서, 코프로세싱 시스템, 집적 회로, 수신기, 기능유닛 및 인터페이싱 방법
Song et al. Fast parallel fft on ctaiji: A coarse-grained reconfigurable computation platform
Young Hur et al. Partially reconfigurable point-to-point FPGA interconnects
Ayoubi et al. Hopfield associative memory on mesh
Gay-Bellile et al. A reconfigurable superimposed 2D-mesh array for channel equalization
WO1989001665A1 (en) Hypercube topology for multiprocessor systems with added communication paths between nodes or substituted corner topologies

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid