KR20050016642A - 디지털 신호 처리 동작 구현 장치 및 분할 알고리즘 실행방법 - Google Patents

디지털 신호 처리 동작 구현 장치 및 분할 알고리즘 실행방법

Info

Publication number
KR20050016642A
KR20050016642A KR10-2004-7021463A KR20047021463A KR20050016642A KR 20050016642 A KR20050016642 A KR 20050016642A KR 20047021463 A KR20047021463 A KR 20047021463A KR 20050016642 A KR20050016642 A KR 20050016642A
Authority
KR
South Korea
Prior art keywords
array
cell
algorithm
digital signal
communication
Prior art date
Application number
KR10-2004-7021463A
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 코닌클리즈케 필립스 일렉트로닉스 엔.브이.
Priority to KR10-2004-7021463A priority Critical patent/KR20050016642A/ko
Publication of KR20050016642A publication Critical patent/KR20050016642A/ko

Links

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

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

Description

디지털 신호 처리 동작 구현 장치 및 분할 알고리즘 실행 방법{DIVISION ON AN ARRAY PROCESSOR}
본 발명은 디지털 신호 처리에 관한 것으로, 특히 집적 회로에서 디지털 신호 처리 동작을 최적화하는 것에 관한 것이다. 한 실시예에서, 본 발명은 2차원 프로세서 어레이 상에서 분할을 수행하는 알고리즘의 사용에 관한 것이다.
유한 임펄스 응답(FIR) 필터를 구현하기 위해 일반적으로 제공되는 컨볼루션은 디지털 신호 처리시에 흔한 사항이다. 아래에는 계수 벡터 C를 갖는 데이터 신호 X의 컨볼루션을 위한 일반 표현 식은 다음과 같다.
여기서, 데이터 신호 X 및 시스템 응답, 또는 필터 계수 벡터 C는 모두 원인 관계로 되어 있다고 가정한다.
각각의 출력 데이터 yn에 대해, 2N 데이터가 메모리로부터 인출되며, N 곱셈과 N 곱셈 합산이 수행되어야 한다. 메모리 변환은 계수 Ci 및 데이터 Xn-i에 대해 각각 통상 두개의 별도의 메모리 위치에서 수행된다. 계수들이 정상 상태 동작 동안 빈번하게 갱신되는 실시간 적응성 필터의 경우, 계수들을 갱신하고 저장하기 위해서는 부가적인 메모리 변환 및 산술 계산이 수행되어야 한다. 범용 디지털 신호 프로세서는 특히 본 뉴만(Von Neuman) 타입 프로세서 상에서 이러한 계산을 효율적으로 수행하기 위해 최적화되었다. 그러나, 높은 신호 처리 레이트와 심각한 전력 소모를 갖는 소정의 애플리케이션에서는 범용 디지털 신호 프로세서는 실용적이지 못한 것으로 되고 있다.
분할은 DSP 알고리즘에서 요구될 수 있는 또다른 동작이다. 비교적 높은 대역폭 요건을 갖는 알고리즘에 대해 초당 대량의 회수의 분할을 수행하는 것도 범용 디지털 신호 처리에서는 실용적이지 못하다.
그러한 제약을 다루기 위해, 수많은 알고리즘과 아키텍처가 적용되었다. 하나의 공통의 방법은 주파수 도메인에서 처리를 구현하는 것이다. 따라서, 컨볼루션은 알고리즘 방식으로, 소정의 변환, 가령 퓨리에 변환을 사용하여 스펙트럼의 곱으로 변환되며, 그 후 역 변환을 통해 원하는 합계를 생성할 수 있다. 여러 경우에, 효율적인 고속 퓨리에 변환 기법은 실제로 전체의 계산 부하를 시간 도메인 상에서의 원래의 컨볼루션의 것 미만으로 감소시킬 것이다. 단일 캐리어 지상 채널 디코딩의 문맥에서, 바로 위의 기법은 ATSC 8-VSB 등화기의 부분적인 구현을 위해 제안되었으며, 이는 Dagnachew Birru이 출원한 미국 특허 출원 09/840,203 및 09/840,200에서 보다 상세하게 기술되고 있다. 그 출원의 모든 내용은 본 명세서에 참조로 인용된다.
컨볼루션이 알고리즘 요건 혹은 메모리 제약에 의해 주파수 도메인으로 용이하게 변환되지 않는 경우, 그 컨볼루션을 구현하여 적응성 계수 갱신 알고리즘에서의 특정의 선택을 지원하기 위해 전문 ASIC 프로세서가 제안되었으며, 이는 Grayver, A에 의해 2000년 11월 IEEE Journal on Selected Areas in Communications, Vol.18, No.11의 "고속 데이터 통신을 위한 재구성가능 8GOP ASIC 아키텍처" 및 Dagnachew Birru의 미국 특허 출원 09/840,200에 개시된다. 이들의 문헌은 본 명세서에 참조로 인용된다.
알고리즘 요건 혹은 메모리 제약에 의해 컨볼루션이 주파수 도메인으로 쉽게 변환되지 않는 경우, 특정의 ASIC 프로세서는 컨볼루션을 구현하고 적응성 계수 갱신 알고리즘에의 특정 선택을 지원하도록 제안되었으며, 이는 Grayver, A에 의해 2000년 11월 IEEE Journal on Selected Areas in Communications, Vol.18, No.11의 "고속 데이터 통신을 위한 재구성가능 8GOP ASIC 아키텍처" 및 E. Dujardin and O. Gay-Bellile에 의해 2000년 11월 호놀루루의 ISPACS 2000의 모노 캐리어 연구의 디지털 통신을 위한 재구성가능한 아키텍처에 기술되고 있다.
그러한 ASIC 체계의 중요한 특성은 (1) 계수 및 상태 저장을 갖는 모든 탭 계산(tap computation)을 국부화하도록, 계산 하드웨어 및 메모리를 포함하는 특정 셀과, (2) 그 셀의 기능이 국부적으로 프로그램되어 다양한 셀에 걸쳐 반독되는 사실을 포함한다.
고급 재구성가능 멀티프로세서 시스템의 연구가 복잡한 워크스테이션 처리 시스템에 성공적으로 적용되었다. 2001년 1월 MIT의 컴퓨터 사이언스 연구실에서 원시 원형 설계 문서를 기록하는 마이클 테일러는 가령 정적 프로그램가능 네트워크뿐 아니라 동적 프로그램가능 통신 네트워크르 사용하여 통신하는 프로그램 가능 프로세서의 어레이 "tiles"를 기술한다. 정적 네트워크는 재구성가능 크로스바 네트워크를 사용하여 임의의 프로세서와 재구성 동안 정의된 상호 접속물을 접속하는 반면, 동적 네트워크는 동적 라우팅을 사용하여 패킷 전달 체계를 구현한다. 각각의 경우 상호 접속성은 소스 셀로부터 프로그램된다.
그러나, 전술한 모든 아키텍처 솔루션에서, 융통성은 (Grayver 문헌에서 언급한 바와 같이) 선형 체인으로의 필터들을 제한함으로써 절충되거나, (Dujardin 및 Gay-Bellile 및 Taylor 문헌에서와 같이, 가령 테일러 문헌에서, 워크스테이션이 시스템 상에서 구축될 수 있도록 복잡한 프로세서의 어레이가 기술되는 바와 같이) 처리될 처리 범위가 컨볼루션을 넘어섬으로 인해 복잡성이 높아진다. 따라서, 간이성과 융통성을 모두 제공하는 현재의 시스템은 존재하지 않는다.
도 1은 본 발명에 따른 동일한 프로세서의 어레이를 도시한다.
도 2는 어레이 내의 각각의 프로세서가 가장 인접한 이웃들과 통신할 수 있는 사실을 도시한다.
도 3은 본 발명에 따른 논리적 인접 입력 포트들에 대해 최근접 이웃 출력 포트들의 임의의 조합을 로딩하는 프로그램가능한 정적 체계를 도시한다.
도 4는 본 발명에 따른 셀의 산술 제어 아키텍처를 도시한다.
도 5 내지 제 11은 본 발명에 따른 프로세서의 4×8 어레이에 대한 32-탭 실제 FIR의 매핑을 도시한다.
도 12 내지 도 14는 본 발명의 바람직한 실시예에 따른 최종 결과에 대한 합산 조합의 가속을 도시한다.
도 15는 본 발명의 바람직한 실시예에 따른 중첩된 3×3 어레이를 갖는 9×9 탭 어레이를 도시한다.
도 16은 외부 마이크로 제어기와 랜덤 액세스 구성 버스를 갖는 어레이의 구현예를 도시한다.
도 17은 상기 어레이와 외부 프로세스 간의 데이터 스트림을 공식적으로 교환하기 위한 스케일가능 방법을 도시한다.
도 18은 도 17에 도시한 탭 어레이 엘리먼트에 대한 블럭도를 도시한다.
도 19는 본 발명에 따른 일예의 애플리케이션을 도시한다.
이러한 체계에 대한 효과적인 개선물은 컨볼루션 문제에 대한 융통성을 증가시키면서 간단한 프로그램 및 통신 제어를 유지할 것이다.
컨볼루션 기능 및 다른 디지털 신호 처리 동작의 구현을 위한 컴포넌트 아키텍처가 제공된다. 각각의 프로세서가 그 가장 인접한 이웃들과 통신하는 동일한 프로세서의 이차원 어레이는 유한 임펄스 응답(FIR) 필터와 적응성 유한 임펄스 응답 필터가 매핑될 수 있도록 컨볼루션하는 간단하고 전력 효율적인 플랫폼을 제공한다. 적응성 FIR은 각각의 셀에 대해 간단한 프로그램을 다운로딩함으로써 구현될 수 있다. 각각의 프로그램은 국부 탭 갱신 및 계수 갱신을 위한 주기적 산술 처리를 특정하여 가장 인접 이웃과 통신을 행한다. 또한 별도의 셀들에 대해 매핑되는 반복적이며 자기 제한적인 알고리즘을 사용하여 동일한 플랫폼 상에서 분할이 구현될 수도 있다. 정상 상태 처리 동안, 메모리와 통신을 행하는 고대역폭은 요구되지 않는다.
이러한 컴포넌트 아키텍처는 외부의 제어기 혹은 범용 디지털 신호 프로세서와 상호 접속되어 정적 구성을 제공하거나 혹은 정상 상태 처리를 보완한다.
바람직한 실시예에서, 부가적인 어레이 구조는 원래의 어레이 상에 중첩될 수 있으며, 부가 어레이 구조의 멤버는 부분적인 합산 컨버젼스 포인트들에 위치한 어레이 엘리먼트로 구성되어 자원 활용도 효율을 극대화한다.
신규 데이터가 부가되는 바와 같이 셀들간의 상태들의 진행을 가능케 하는 신규한 셀간 통신 체계와, 곱셈의 합산을 구현하는 신규한 시리얼 부가 체계와, 외부 장치에 의한 셀 프로그래밍 셀 및 계수 액세스의 특징을 제공함으로써 종래 기술을 보다 더 개선하는 어레이 아키텍처가 개시된다.
본 발명의 기본적 사상은 간단하다. DSP 동작을 구현하기 위한 보다 효율적이고 보다 융통성있는 플랫폼으로서, 최근접 이웃 통신 및 국부 프로그램 제어를 갖는 프로세서 어레이가 제공된다. 종래 기술에 대한 이러한 것의 이점뿐 아니라 특징적인 것이 도시된 도면을 참조하면서 기술될 것이다.
도 1에 도시된 바와 같이, 동일한 프로세서의 2차원 어레이가 (도시된 일예의 실시예에서 4×8 메시로 도시됨) 도시되며, 그의 각각은 산술 처리 하드웨어(110), 제어장치(120), 레지스터 파일(130), 및 통신 제어 기능부(140)을 포함한다. 각각의 프로세서는 개별적으로 국부적으로 저장된 데이터 상이나 혹은 다른 프로세서로부터의 인입 데이터 상에서의 산술 동작을 수행하도록 프로그램될 수 있다.
이상적으로, 프로세서들은 기동 동안 정적으로 구성되고, 정상 상태 동작 동안 주기적 스케줄 상에서 동작된다. 이러한 아키텍처 선택의 이점은 산술 처리를 갖는 상태 및 계수 저장장치를 같은 장소에 배치하여 메모리 장치로부터의 고대역폭 통신을 제거한다.
다음은 본 발명에 의해 달성되는 효과적인 목적이다.
A. 용이한 최적화를 촉진하기 위해 지속적인 셀 및 어레이 구조의 유지.
B. 대형의 어레이 사이즈로의 스케일가능성의 제공.
C. 전력을 최소화하고 통신 병목을 피하기 위한 가능한 정도의 국부화된 통신의 유지.
D. 스트레이트포워드 프로그래밍(straightforward programming).
E. 원하는 경우, 쉬운 매핑 방법 및 툴의 개발의 허용
도 2는 프로세서 상호 통신 아키텍처를 도시한다. 프로그래밍과 라우팅의 간이성을 유지할 뿐만 아니라, 통신 거리를 최소화하기 위해, 통신은 최근접 이웃들 간에서 존재하도록 제한된다. 따라서, 소정의 프로세서(201)는 단지 그 인접한 이웃들(210, 220, 230, 240)과 통신을 수행할 수 있다.
도 3에 도시된 바와 같이, 인접한 이웃들과의 통신은 바운드 입력 포트를 통신 객체로서 참조함으로써 각각의 프로세서에 대해 정의된다. 바운드 입력 포트는 단지 소정의 프로세서의 논리적 입력 포트(320)에 대한 특정의 인접 이웃 논리 출력 포트(310)의 매핑이다. 논리 입력 포트(320)는 다음에 대상의 프로세서 내의 국부 산술 처리에 대한 객체가 된다. 바람직한 실시예에서, 각각의 프로세서 출력 포트는 그 인접 이웃의 재구성가능 입력 포트에 무조건적으로 와이어된다. 프로세서의 산술 프로세스는 이러한 실제의 출력 포트에 기입할 수 있으며, 상기 프로세서의 최근접 이웃들 혹은 어레이 엘리먼트는 원한다면 데이터를 수용하도록 프로그램될 수 있다.
도 3에 도시된 랜덤 액세스 구성(330)에 의하면, 정적 구성 단계는 논리 입력 포트(320)에 대한 최근접 이웃 출력 포트(310)의 임의의 조합의 매핑을 로딩할 수 있다. 상기 매핑은 선택 신호로서 구성 멀티플렉서(350)에 와이어된 Bind_inx 레지스터(340) 내에 저장되며, 상기 구성 멀티플렉서(350)는 어레이 엘리먼트의 내부 논리 입력 포트 또는 프로세서로의 인입 최근접 이웃 데이터의 실제 접속을 구현한다.
도 3의 구현예는 변형 실시예에서 셀당 4개의 출력 포트를 도시하지만, 셀당 하나의 출력 포트의 단순화된 아키텍처는 구성가능한 입력 포트의 복잡성을 감소하거나 제거하도록 구현될 수 있다. 이러한 방책은 출력이 입력으로서 요구되는 최근접 이웃을 선택하는 내부 산술 프로그램에 전적인 책임을 두며, 이러한 경우 그 입력은 실제의 입력 포트에 와이어될 것이다.
다시 말해서, 도 3에 도시된 특징은 하나의 입력 포트에 대한 특정 셀의 고정된 매핑이 가능하며, 이는 구성 모드로 수행될 것이다. 단순화된 방법에서, 이 입력 바인딩 하드웨어 및 대응하는 구성 단계는 제거되고, 런타입 제어장치는 액세스를 위해 어떤 셀이 출력되는지를 선택한다. 와이어링은 단순화된 실시예에서는 동일하지만, 셀 설계 및 프로그래밍 복잡성은 단순화된다.
도 3에 도시된 보다 복잡한 바인딩 메카니즘은 셀들 간에서 제어기들을 공유할 경우에 가장 유용한 특징이 되어, 단일 인스트럭션 멀티플 데이터 혹은 "SIMD" 머신을 만들게 된다.
도 4는 산술 제어 장치의 아키텍처를 도시한다. 프로그램가능한 데이터경로 엘리먼트(410)는 내부 저장 레지스터(420) 혹은 입력 데이터 포트(430)의 임의의 조합으로 동작한다. 데이터경로 결과(440)는 선택된 국부 레지스터(450) 혹은 출력 포트(460)의 하나에 기록될 수 있다. 데이터 엘리먼트(410)는 지속적인 연산 코드 내에서 연산, 소스 오퍼랜드(srcx) 및 목적지 오퍼랜드(dstx)를 인코딩하는 RISC 형 연산 코드에 의해 제어된다. 적응성 FIR 필터 매핑의 경우 간단한 주기적 프로그램은 각각의 셀에 대해 다운로딩될 수 있다. 제어기는 데이터 경로에 적용되는 최종의 연산 코드를 갖는, 프로그램 저장 장치를 어드레싱하는 간단한 프로그램 카운터로 구성된다. 계수 및 상태들은 국부 레지스터 파일에 저장된다. 도시된 실시예에서, 탭 계산은 2의 곱셈을 포함하는데, 그 후 필터 합산을 구현하기 위해 최근접 이웃 곱셈의 시리즈 합산이 후속된다. 또한, 필터 지연 라인을 따른 상태들의 진행은 인접 이웃들에 걸쳐 있는 레지스터 시프트에 의해 구현된다.
보다 복잡한 어레이 셀은 관련된 초대형 인스트럭션 워드 혹은 VLIW 제어기에 의해 제어되는 멀티플 데이터경로로 정의될 수 있다. 가령 AR|T Designer와 같은 아키텍처 합성 툴에 의해 생성되는 애플리케이션 특정 인스트럭션 프로세서(ASIP)는 이러한 복잡한 어레이 처리 엘리먼트를 구현하는데 사용될 수 있다.
본 발명의 구현예에서, 도 5 내지 도 11은 4×8 프로세서 어레이에 대한 32-탭 실제 FIR 필터의 매핑을 도시하며, 상기 4×8 프로세서 어레이는 전술한 바와 같이 본 발명의 아키텍처에 따라 배치되고 프로그램된다. 상태가 흐르고 다음에 탭 계산이 도 5에 도시된 바와 같이 구현되며, 여기서 제 1 단계에서 32개 셀의 각각은 필터의 하나의 탭을 계산하며, 후속하는 단계에서(도 6 내지 도 11에서 도시되는 6개의 프로세서 사이클), 곱셈들은 하나의 최종 결과로 합산된다. 논의의 용이성을 위해, 개개의 어레이 엘리먼트는 어레이의 (i,j)엘리먼트로서 지정될 것이며, 여기서 i는 로우, j는 컬럼, 그 어레이의 좌측 상부 엘리먼트는 원점 혹은 (1,1) 엘리먼트로서 정의된다.
따라서, 도 6 내지 도 11은 어레이 전체에 대해 부분 곱셈의 합산을 상세히 나타내며, 초기의 합산 단계 동안 최근접 이웃 통신 체계의 효율성을 나타낸다. 도 6에 도시된 단계에서, 어레의 각각의 로우를 따라, 컬럼 1-3은 3:1 가산으로 구현하며, 그 결과는 컬럼 2에 저장되며, 컬럼 4-6은 3:1 가산으로 구현되며 그 결과는 컬럼 5에 저장되며, 컬럼 7-8은 2:1 가산으로 구현되며, 그 결과는 컬럼 8에 저장된다. 도 7에 도시된 단계에서, 어레이의 각각의 컬럼 2, 5 및 8 내의 로우 1-2 및 로우 3-4의 중간 합산은 조합되고, 그 결과는 각각 엘리먼트 (2,2), (2,5), 및 (2,8), 및 (3,2), (3,5), 및 (3,8) 내에 저장된다. 이러한 단계들 동안 프로세서 하드웨어 및 상호 접속 네트워크는 곱셈 항들을 조합하는데 잘 활용되어 이용가능한 자원들을 효율적으로 활용한다.
그러나, 도 8에 도시된 단계에 의해, 전체 어레이는 세 쌍의 어레이 엘리먼트를 포함하는 가산 단계에서 점유되어야만 하며, 도 7에 도시된 단계의 결과는 저장된다. 도 9 내지 10에 도시된 단계에서, 전체 어레이는 세개의 부분적인 합을 인접하는 셀로 시프팅하는 것과 관련되어 그들을 도 11에 도시된 바와 같이 최종 결과에 조합하며, 최종 3:1 가산은 최종 결과를 어레이 엘리먼트 (3,5)에 저장한다.
이해되는 바와 같이, 원격 부분적 합을 조합하기 위해 어레이의 나머지를 아이들(idle)하는 것은 약간 비효율적이다. 보다 나은 자원 이용과의 조합을 용이하게 하기 위한 아키텍처의 향상은 이상적으로는 모델을 프로그래밍하는 간단한 어레이 구조를 보유하며 스케일가능성을 유지한다. 부가적인 이웃들과의 통신을 가능케하는 최근접 이웃 요건을 완화하는 것은 라우팅 및 프로세서 설계를 복잡하게 하며, 대형 어레이의 최근접 문제를 배제하지는 않을 것이다. 따라서, 바람직한 실시예에서, 부가적인 어레이 구조는 원래의 구조 상에 중첩될 수 있으며, 멤버들은 두개의 3:1 최근접 이웃 합산 이후에(즉, 도시된 일예에서 도 6에 도시된 단계 이후에) 부분적인 합산 컨버전스 포인트들에 위치한 어레이 엘리먼트로 구성된다. 이러한 것은 부분적 합산 집합에 대한 커다란 개선을 제공한다.
중첩 어레이가 도 12에 도시된다. 중첩 어레이는 하부의 어레이와는 동일한 아키텍처를 갖는데, 단 각각의 엘리먼트가 최근접 이웃으로서 최근접 부분 합산 컨버전스 포인트를 갖는 것은 제외한다. 두개의 어레이 간의 교차는 또한 부분적인 합 컨버전스 포인트에서 발생한다. 따라서 바람직한 실시예에서, 부분적인 합산의 제 1 단계는 기존의 어레이를 사용하여 수행되며, 자원 이용도는 우수하게 유지되며, 부분적인 합산의 나중 단계들은 동일한 최근접 이웃 통신을 갖는 중첩된 어레이에서 구현되지만, 노드들은 원래의 부분적인 합 컨버전스 포인트, 즉 도 12의 컬럼 2, 5, 및 8에 위치한다. 도 12 내지 도 14는 최종 결과에 대한 합산 조합의 가속을 도시한다.
도 15는 중첩된 3×3 어레이를 갖는 9×9 탭 어레이를 도시한다. 따라서, 중첩된 어레이는 9×9 어레이의 각각의 3×3 블럭의 중심에서 컨버전스 포인트를 갖는다. 효율적인 부분적 합산 조합을 갖는 대형 어레이는 컨버전스 포인트들의 부가적인 어레이를 가산함으로써 가능하다. 효율적으로 중첩되는 최종의 어레이 사이즈는 9N-1이며, 여기서 N은 어레이의 계층들의 수이다. 따라서, N개의 계층에 대해, 9N개까지의 셀 출력이 최근접 이웃 통신을 사용하여, 즉 필터 부가 트리를 완성하기 위해 셀들에 대해 간단히 시프트될 필요가 있는 분리된 부분적인 합을 가질 필요없이, 효율적으로 조합될 수 있다.
어레이 사이즈가 증가함에 따라 복귀는 전술한 일예와는 용이하게 구별될 수 있다. 도 12 내지 도 14는 최근접 이웃 통신을 사용하여 탭 곱셈 합산을 가속하기 위한 또다른 어레이 레벨을 사용하는 방법을 도시한다. 제 2 레벨은 x3 주기에서 제외되는 것외에는 원래의 기준 레벨과 동일하며, 셀들은 9 레벨0 셀의 클러스터로부터 부분적 합을 생성하는 하부의 셀에 접속된다.
필요한 레벨들의 수는 어레이 내에 위치될 원하는 셀들의 수에 의존한다. 만약 정방형 내에 9개의 탭의 클러스터가 존재한다면, 최근접 이웃 통신은 하나의 어레이 레벨을 갖는 모든 항들을 합산할 수 있으며 그 결과는 중심 셀 내에서 누적된다.
81개 셀까지의 대형의 어레이에 대해, 그 셀을 9 셀의 클러스터 내에 구성하여 부분적 합을 수신하기 위해 각각의 클러스트 중심 위에 레벨 1을 배치하며, 각각의 클러스터를 레벨 0 및 레벨 1 모두에서 모두 연결한다. 레벨 1에서, 최근접 이웃들은 (레벨 1 어레이가 없다면 분리될 부분 합을 포함하는)인접 클러스터의 출력이 된다. 9 레벨 0 셀의 3×3 슈퍼 클러스터의 경우, 그 결과는 레벨 1 부분 합이 조합된 이후에 중심 레벨 1 셀 내에 나타날 것이다.
81개 이상 및 729(93)의 어레이에 대해, 81 레벨 0 셀의 슈퍼 클러스터와 3×3 레벨 1 셀을 조합하며, 다음에 레벨 1 부분 합을 수신하기 위해 클러스터의 중심 셀 위에 레벨 2 셀을 배치할 것이다. 모든 세개의 레벨들이 함께 연결되며, 레벨 2 셀은 이제 최근접 이웃 통신을 사용하여 최근접 슈퍼 클러스터로부터의 부분적 곱셈을 중심 레벨2 셀 내에 나타나는 결과와 조합할 수 있다.
어레이는 슈퍼 클러스터링을 반복적으로 적용함으로써 더 성장될 수 있다. 물론, 일부의 포인트에서, VLSI 와이어 지연 제한은 상부 레벨 셀이 물리적으로 보다 더 멀리 떨어져 있음에 따른 팩터가 되며 따라서 어레이의 스케일 가능성을 최종적으로 제한한다.
다음에 어레이 엘리먼트와 구성 데이터를 통신하기 위한 방법과 어레이와 외부 프로세스 간의 샘플 스트림을 교환하기 위한 방법이 기술될 것이다. 구성 뿐 아니라 작은 어레이와의 샘플 교환을 위해 적합한 하나의 방법은 도 16에 도시된다. 여기서 버스(1610)는 모든 어레이 엘리먼트를 외부 제어기(1620)에 접속한다. 외부 제어기는 어드레스 브로드캐스트 및 국부 셀 디코딩 메카니즘 또는 RAM 형 로우 및 컬럼 프리디코딩 및 선택 방법을 사용하여 구성 혹은 데이터 교환을 위하여 셀들을 선택할 수가 있다. 이러한 기술의 호소는 간단하지만, 그것은 대형 어레이 사이즈를 통해 스케일링이 나쁘고, 대형 샘플 교환 레이트에 대해 통신 병목이 될 수 있다.
도 17은 어레이와 외부 프로세스 간의 데이터 스트림을 효율적으로 교환하기 위한 보다 스케일가능한 방법을 도시한다. 어레이 계층의 각각의 레벨에서의 어레이 경계의 무경계 I/O 포트는 어레이 라우팅 및 제어를 복잡하게 하지 않고도 경계 셀로 편리하게 라우팅될 수 있다. 경계 셀은 아마도 어레이 셀에서 이용되는 바와 같이 간단한 프로그래밍 모델을 추종할 수 있지만, 여기서는 그 어레이에 임의의 기능성과 접속성을 부가하는 것이 편리하다. 그와 같이, 임의의 기능성은 판정 피드백 등화기의 슬라이서와 같이 필터간 동작을을 삽입하는데 사용될 수도 있다. 또한, 경계 셀은 제어기 개입을 거의 갖지 않는 외부 스트림 I/O를 제공할 수 있다. 바람직한 실시예에서, 정적 구성 목적의 도 16의 버스는 정상 상태 통신을 위한 도 17에 도시된 경계 프로세서를 따라 조합되어, 대부분의 애플리케이션을 지원한다.
탭 어레이 엘리먼트를 위해 전술한 데이터 흐름을 도시한 블럭도는 도 18에 도시된다.
최종적으로, 특정 애플리케이션 컨택스트의 본 발명의 일예로서 도 19는 멀티 표준 채널 디코더를 도시하며, 여기서 본 발명의 재구성가능 프로세서 어레이는 적응성 필터 어레이(1901)로서 기능하는 적응성 필터링을 위한 타겟으로 된다. 프런트 엔드의 디지털 필터, 즉 디지털 프런트 엔드(1902)는 본 발명의 장치의 최적화된 동일 버전 혹은 일부 최적화된 버전으로 매핑될 수 있다. FFT(고속 퓨리에 변환) 모듈(1903)뿐 아니라 FEC(순방향 에러 정정) 모듈(1904)은 본 발명의 처리 어레이로 매핑될 수 있다.
본 발명은 따라서 간단한 프로그램 및 통신 제어를 유지하면서 컨볼루션 문제를 위한 융통성을 개선한다. 또한, 적응성 FIR 필터는 본 발명을 사용하여 간단한 프로그램을 각각의 셀에 다운로딩함으로써 구현될 수 있다. 각각의 프로그램은 국부 탭 갱신, 계수 갱신, 및 최근접 이웃들과의 통신을 위해 주기적인 산술 처리를 특정한다. 정상 상태 처리 동안, 메모리와의 고대역폭 통신이 요구되지는 않는다.
다른 실시예에서, 뉴톤 랩슨 알고리즘(Newton-Raphson algorithm)은 여기서 기술된 프로세서 어레이 상에서 효율적으로 구현될 수 있다. 뉴톤 랩슨 알고리즘에서, 함수 값을 위한 추정은 정확한 값으로의 수렴을 위한 반복적인 프로세스를 통해 정밀해진다. 이 알고리즘은 분할, 제곱근 및 대수 계산을 포함하는 수개의 복잡한 계산을 위한 컴퓨터 산술 하드웨어에 사용된다. 특히 분할의 경우, 뉴톤 랩슨 알고리즘은 분할기에 대한 역수(reciprocal)을 계산한다. 피젯수(dividend)와 역수(reciprocal)의 곱셉은 몫의 계산을 완성한다. 이 알고리즘의 제 1 단계는 입력 분할기를 알고리즘이 잘 동작할 범위, 이 예에서는 역수가 1과 1/2 사이에 있도록 하는, 1과 2의 값 사이일 수 있는 범위 내로 정규화하는 것이다.
또한, 정규화를 달성하기 위해 시프트되는 팩터는 후속의 동작을 위해 저장되어야만 한다. 최종 번호 쌍은 정규화된 번호 및 팩터로 구성되며, 이들은 함께 그 번호에 대한 부동 포인트 표현을 포함하게 된다.
여기서, e는 부동 포인트 표현에 대해 정수로서 표현되는 지수 함수이다. s는 부호이며, b는 임의의 2진 비트값이다.
정규화는 하나의 프로세서 인스트럭션 사이클 내의 정규화된 값을 생성하는 전용 정규화 유닛을 사용하여 달성될 수 있다. 그러한 유닛은 어레이 아키텍처 내의 각각의 프로세서에 커다란 복잡성을 부가하여, 부분적 정규화 인스트럭션을 정의한다. 이러한 기능은 부분적인 정규화 인스트럭션에 의해, 완전한 정규화를 달성하는데 요구되는 부가적인 인스트럭션 사이클의 비용으로, 그 셀 내의 최소의 부가적인 하드웨어로 달성될 수 있다. 입력 분할기는 절대값이 1미만이거나 2를 초과하는 번호에 대해 요구되는 바와 같이 좌측 혹은 우측으로 시프트함으로써 1과2 사이의 범위에 배치된다. 1과 2 사이의 임의의 번호는 전혀 변형될 필요가 없는데, 그 이유는 그것들은 이미 원하는 범위 내에 존재하기 때문이다.
전술한 시프트 동작은 하나 이상의 시프트 레지스터로 행해지며, 이 레지스터에서 각각의 동작 시프트는 하나의 비트 포지션에 제한된다. 특히, 각각의 동작은 단일의 셀 상에서 구현될 수 있으며, 그에 따라, 그 셀들은 복잡한 인텔리젼스를 전혀 혹은 거의 가질 필요가 없다. 대신에, 그 셀은 1이하의 번호를 통해 하나의 포지션씩 좌측으로 시프트하며, 2 초과의 번호에 대해서는 우측으로 1포지션씩 시프트하며, 1과 2 사이의 임의의 터치되지 않은 번호는 그대로 남겨둔다.
일예로서, 0.125의 입력값을 갖는데, 이는 1*2-3으로 정규화되어야 한다. 전술한 부분 정규화를 사용하여, 분할기는 2 부분 정규화 인스트럭션 내로 정규화된다.
저장된 디노말(denormal): 0b000.001000000000000000000
놈 패스(norm pass) 1:0b000.010000000000000000000
놈 패스(norm pass) 2:0b000.100000000000000000000
놈 패스(norm pass) 3:0b001.000000000000000000000
정규화된 맨티사(mantissa)
0b001.000000000000000000000
exponent (-3)
0b111101 expected→0b111101
정규화 과정을 전술한 프리미티브 단계들로 분리한 결과, 전체 알고리즘은 정규화될 특정 번호에 대해 어느 정도의 시프트가 요구되는지에 대해서는 관심을 가질 필요가 없다. 대신에, 정규화될 임의의 수는 임의의 잠재적인 입력에 대해 요구되는 최대의 반복 회수를 통해 공급된다. 시프트를 덜 필요로 하는 번호에 대해, 그것은 시프트없이 나중의 반복을 통해 간단히 공급될 것이다. 이러한 것은 그것이 원하는 범위 내에 배치되도록 하는 충분한 시간으로 시프트된 후, 이미 1과 2의 요구되는 경계 내에 존재할 것이기 때문이며, 그리고 기본적인 시프트 과정의 또다른 임의의 반복이 시프트를 발생하지는 않을 것이기 때문이다. 따라서, 그 알고리즘이 자기 제한적이라는 사실에 의해, 인텔리젼스가 거의 없이 단일의 셀 상에서 각각의 반복이 수행될 수 있다.
일단 그 번호가 기술된 바와 같이 부분적으로 정규화된다면, 값 Xnorm은 다음과 같은 뉴톤 랩슨 알고리즘에서 사용된다.
여기서, Y0는 초기에 랜덤 추정값, 가령 0.5로 세트된다. 일단 뉴톤 랩슨 알고리즘이 수렴하게 되면, 적당한 팩터가 Xnorm을 계산할 때 발생한 시프트를 설명하기 위해 적용된다.
가령 도 20으로부터 이해되는 것은, 알고리즘의 각각의 반복이 셀들의 별도의 셀 상에 구현될 수 있어, 속도 및 단순성이 달성된다. 자기 제한 알고리즘을 사용함으로써, 그 셀들은 요구되는 시프트의 수를 결정할 인텔리젼스를 가질 필요는 없지만, 임의의 특정 수에 대해 작은 수의 시프트가 혹은 많은 수의 시프트가 요구되는지에 상관없이 동일하게 동작할 수 있다. 이러한 특성에 의해, 셀들은 보다 간단하고 보다 경제적으로 제조 및 생산될 수 있다.
요구되는 바와 같이, 매핑될 필터 사이즈 혹은 필터의 양은 본 발명에서 대부분의 채널 디코딩 애플리케이션에 대해 요구되는 값들 이상으로 스케일가능하다. 또한, 컴포넌트 아키텍처는 어레이의 구조를 방해하지 않고 혹은 셀 및 라우팅 최적화를 복잡하게 하지 않고도, 비 필터 기능(non-filter function), 제어 및 외부 I/O의 삽입을 제공한다.
멀티플 셀에 걸쳐 매핑된 다양한 신호 처리 기능을 수용하기 위한 이러한 구조의 융통성은 동일 어레이 상의 멀티플 기능들을 체인화하는(chaining) 가능성을 초래한다. 이러한 체계에서, 셀 그룹에 대해 매핑된 기능들은 이 아키텍처에 의해 제공된 최근접 이웃 통신 체계를 사용하여 데이터를 교환할 수 있다. 따라서, 완전한 신호 처리 체인은 이 아키텍처에 대해 매핑될 수 있다.
전술한 것은 본 발명의 바람직한 실시예를 기술하지만, 당업자라면 본 발명에 대해 다양한 변형 및 수정을 가할 수가 있다. 그러한 변형 및 수정들은 첨부되는 특허청구범위에 의해 커버될 것이다.

Claims (25)

  1. 디지털 신호 처리 동작을 구현하는 장치에 있어서,
    처리 셀들의 2차원 어레이를 포함하되,
    각각의 셀은 그 최근접 이웃들과 통신을 행하며, 반복 알고리즘의 적어도 하나의 반복을 구현하며, 상기 반복 알고리즘은 자기 제한적인
    디지털 신호 처리 동작 구현 장치.
  2. 제 1 항에 있어서,
    셀룰러간 통신은 상기 최근접 이웃들에 제한되는 디지털 신호 처리 동작 구현 장치.
  3. 제 2 항에 있어서,
    상기 최근접 이웃 통신은 프로그램가능한 정적 체계에 따라 수행되는 디지털 신호 처리 동작 구현 장치.
  4. 제 2 항에 있어서,
    상기 반복적인 알고리즘은 분할을 구현하는 디지털 신호 처리 동작 구현 장치.
  5. 제 4 항에 있어서,
    각각의 셀은 4개의 출력 포트를 갖는 디지털 신호 처리 동작 구현 장치.
  6. 제 5 항에 있어서,
    각각의 셀은 입력으로서의 출력 포트의 하나를 최근접 이웃들 각각, 내부 저장된 데이터 또는 그의 임의의 조합으로부터 취하는 디지털 신호 처리 동작 구현 장치.
  7. 제 6 항에 있어서,
    각각의 처리 셀은 논리적 입력 포트들에 대한 최근접 이웃 출력 포트들의 다양한 조합의 매핑을 저장하는 메모리를 갖는 디지털 신호 처리 동작 구현 장치.
  8. 제 7 항에 있어서,
    상기 메모리는 레지스터를 포함하는 디지털 신호 처리 동작 구현 장치.
  9. 제 8 항에 있어서,
    각각의 셀은 뉴톤 랩슨 알고리즘의 하나의 반복을 구현하는 디지털 신호 처리 동작 구현 장치.
  10. 제 9 항에 있어서,
    상기 산술 제어 아키텍처는
    국부 제어기와,
    내부 저장 레지스터와,
    데이터경로 엘리먼트를 포함하는
    디지털 신호 처리 동작 구현 장치.
  11. 제 10 항에 있어서,
    상기 데이터경로 엘리먼트는 적어도 가산, 곱셈 및 시프트 동작을 구현하는 디지털 신호 처리 동작 구현 장치.
  12. 제 11 항에 있어서,
    상기 데이터경로 엘리먼트는 국부 제어기에 의해 RISC 형 연산 코드로 제공되는 디지털 신호 처리 동작 구현 장치.
  13. 제 9 항에 있어서,
    상기 산술 제어 아키텍처는
    국부 VLIW 제어기와,
    내부 저장 레지스터와,
    멀티플 데이터경로 엘리먼트를 포함하는
    디지털 신호 처리 동작 구현 장치.
  14. 제 13 항에 있어서,
    상기 데이터경로 엘리먼트 각각은 적어도 가산, 곱셈 및 시프트 동작을 구현하는 디지털 신호 처리 동작 구현 장치.
  15. 제 13 항에 있어서,
    상기 처리 셀은 ASIP로서 구현되는 디지털 신호 처리 동작 구현 장치.
  16. 제 15 항에 있어서,
    상기 ASIP는 아키텍처 합성 툴에 의해 생성되는 디지털 신호 처리 동작 구현 장치.
  17. 제 9 항에 있어서,
    하나 이상의 중첩되는 소형의 2차원 어레이를 더 포함하되, 각각의 그 중첩 어레이는 어레이의 하나의 하부의 계층과의 지정된 컨버전스 포인트에서 상기 어레이의 하나의 하부 계층과 통신하는 디지털 신호 처리 동작 구현 장치.
  18. 제 13 항에 있어서,
    하나 이상의 중첩된 소형의 2차원 어레이를 더 포함하되, 각각의 중첩 어레이는 상기 어레이의 하나의 하부 계층과의 지정된 컨버전스 포인트에서 상기 어레이의 하나의 하부 계층과 통신하는 디지털 신호 처리 동작 구현 장치.
  19. 제 17 항에 있어서,
    프로그램가능한 경계 셀을 더 포함하되, 이 셀은 모든 어레이 계층의 이용가능한 포트에 접속되며, 외부 프로세스와의 통신을 용이하게 하는 디지털 신호 처리 동작 구현 장치.
  20. 제 19 항에 있어서,
    프로그램가능한 경계 셀을 더 포함하되, 이 셀은 모든 어레이 계층의 이용가능한 포트에 접속되며, 외부 프로세스와의 통신을 용이하게 하는 디지털 신호 처리 동작 구현 장치.
  21. 분할 알고리즘을 효율적으로 실행하는 방법에 있어서,
    상기 분할 알고리즘을 자기 제한적인 알고리즘의 다수의 반복으로 분할하는 단계―상기 다수의 반복의 각각은 매트릭스 셀의 단일 셀 상에서 실행가능함―와,
    분할될 번호와 무관하게 동일한 회수의 반복을 실행하는
    방법.
  22. 제 21 항에 있어서,
    각각의 반복은 셀 매트릭스의 별도의 셀 상에서 실행되는 방법.
  23. 제 22 항에 있어서,
    각각의 반복은 번호가 소정의 범위의 외부에 존재하면 그 번호를 좌측 혹은 우측으로 시프팅하고, 그 번호가 상기 소정의 범위 내에 존재하면 그 번호를 시프팅하지 않는 방법.
  24. 제 3 항에 있어서,
    상기 반복 알고리즘은 제곱근 기능을 구현하는데 사용되는 디지털 신호 처리 동작 구현 장치.
  25. 제 3 항에 있어서,
    셀의 서브세트의 각각은 상이한 알고리즘을 구현하며, 완성된 신호 체인은 다수의 서브세트를 함께 체인화함으로써 구현되는 디지털 신호 처리 동작 구현 장치.
KR10-2004-7021463A 2002-06-28 2003-06-05 디지털 신호 처리 동작 구현 장치 및 분할 알고리즘 실행방법 KR20050016642A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2004-7021463A KR20050016642A (ko) 2002-06-28 2003-06-05 디지털 신호 처리 동작 구현 장치 및 분할 알고리즘 실행방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/184,514 2002-06-28
KR10-2004-7021463A KR20050016642A (ko) 2002-06-28 2003-06-05 디지털 신호 처리 동작 구현 장치 및 분할 알고리즘 실행방법

Publications (1)

Publication Number Publication Date
KR20050016642A true KR20050016642A (ko) 2005-02-21

Family

ID=41783550

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7021463A KR20050016642A (ko) 2002-06-28 2003-06-05 디지털 신호 처리 동작 구현 장치 및 분할 알고리즘 실행방법

Country Status (1)

Country Link
KR (1) KR20050016642A (ko)

Similar Documents

Publication Publication Date Title
US11995027B2 (en) Neural processing accelerator
US10216704B1 (en) Native tensor processor, and systems using native sensor processors
US5081575A (en) Highly parallel computer architecture employing crossbar switch with selectable pipeline delay
US6754805B1 (en) Method and apparatus for configurable multi-cell digital signal processing employing global parallel configuration
CN110326003A (zh) 用于神经网络处理的具有位置依赖存储器的硬件节点
EP1808774A1 (en) A hierarchical reconfigurable computer architecture
US10853034B2 (en) Common factor mass multiplication circuitry
US20040003201A1 (en) Division on an array processor
WO2017007318A1 (en) Scalable computation architecture in a memristor-based array
US11256979B2 (en) Common factor mass multiplication circuitry
US20030065904A1 (en) Programmable array for efficient computation of convolutions in digital signal processing
Petersen An assessment of the suitability of reconfigurable systems for digital signal processing
KR20050016642A (ko) 디지털 신호 처리 동작 구현 장치 및 분할 알고리즘 실행방법
Benyamin et al. Optimizing FPGA-based vector product designs
KR20060090512A (ko) 리소스 공유 및 파이프 라이닝 구성을 갖는 재구성가능배열구조
US6401106B1 (en) Methods and apparatus for performing correlation operations
Louwers et al. Multi-granular arithmetic in a coarse-grain reconfigurable architecture
Graham et al. Parallel algorithms and architectures for optimal state estimation
CN112445752B (zh) 一种基于乔列斯基分解的矩阵求逆装置
Kung Warp experience: we can map computations onto a parallel computer efficiently
Kim et al. Mapping of neural networks onto the memory-processor integrated architecture
Pechanek et al. An introduction to an array memory processor for application specific acceleration
CN114443146A (zh) 基于存算一体存储器的矢量处理器及其运行方法
Burns et al. Array processing for channel equalization
Young Hur et al. Partially reconfigurable point-to-point FPGA interconnects

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application