KR100551458B1 - 디지탈신호처리동작실행방법및디지탈신호처리기 - Google Patents

디지탈신호처리동작실행방법및디지탈신호처리기 Download PDF

Info

Publication number
KR100551458B1
KR100551458B1 KR1019980033355A KR19980033355A KR100551458B1 KR 100551458 B1 KR100551458 B1 KR 100551458B1 KR 1019980033355 A KR1019980033355 A KR 1019980033355A KR 19980033355 A KR19980033355 A KR 19980033355A KR 100551458 B1 KR100551458 B1 KR 100551458B1
Authority
KR
South Korea
Prior art keywords
address
data words
digital signal
register file
data
Prior art date
Application number
KR1019980033355A
Other languages
English (en)
Other versions
KR19990023647A (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 KR19990023647A publication Critical patent/KR19990023647A/ko
Application granted granted Critical
Publication of KR100551458B1 publication Critical patent/KR100551458B1/ko

Links

Classifications

    • 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

본 발명은 두 개의 곱셈 누적 동작들이 하나의 기계 싸이클에서 수행되는 디지탈 신호 처리기에 관한 것이다. 주된 처리 루프내에서 최하위 어드레스 비트가 "Don't care"로 고려되어지기 때문에, X 및 Y 메모리들의 두 개의 데이터 워드들을 어드레싱하기 위해서는 하나의 어드레스 발생 유닛만이 필요하므로, 메모리에 대한 액세스 동작은 한번에 두 개의 출력 데이터 워드들을 결과로 얻어지게 한다.

Description

디지탈 신호 처리 동작 실행 방법 및 디지탈 신호 처리기
본 발명은 일반적으로 디지탈 신호 처리 분야에 관한 것으로, 보다 구체적으로는 연속적인 데이터 워드들에 대한 메모리 액세스를 필요로 하는 디지탈 신호 처리 동작들에 관한 것이다.
디지탈 신호 처리 기술에서는 통상적으로 소정의 실제적인 물리적 성질을 나타내는 하나 또는 그 이상의 아날로그 신호들이 필터되거나 몇몇 다른 종류의 산술적 평가 또는 변환을 겪게된다. 이러한 목적 때문에, 인입되는 아날로그 신호들을 샘플링하는 것이 필요하다. 각 아날로그 신호에 대해 이것은 디지탈 샘플들의 연속적인 스트림을 초래하게 된다. 더욱이, 디지탈 샘플들의 그러한 개별적인 시퀀스들을 서로 별도로 상이한 메모리들에 또는 동일한 메모리지만 별도의 어드레스 공간에 저장하는 것이 기술적으로 널리 알려져 있다. 이들 원리들을 포함하는 마이크로프로세서들의 한 예가 모토로라 인코포레이티드로부터의 상업적으로 이용가능한 24비트 디지탈 신호 처리기들중 DSP 56300 계열이다.
디지털 신호 처리기들은 사실상 모든 기술 분야 및 장치들에 적용된다. 하나의 응용예로는, 아날로그 필터와 같은 아날로그 장치의 기능성을, 향상된 품질 및 보다 컴팩트한 설계를 가능하게 하는 디지탈 필터로 대체하는 것이 있다. 다른 분야들은 이동 전화기들 또는 라디오들과 같은 통신 장치뿐만 아니라 컴팩트 디스크 플레이어들 또는 디지탈 오디오 테이프들과 같은 디지탈 오디오 장치를 위한 것이다. 전형적으로 그러한 응용들은 샘플들의 아날로그 신호의 고 대역폭 또는 샘플화된 신호상에서 실행되는 디지탈 변환들의 복잡성 또는 둘다의 조합중 어느 하나로 인해 작업 처리량이 높은 처리기를 필요로 한다. 그러므로 디지탈 신호 처리기들의 성능을 향상시킬 필요가 있다.
본 발명의 기본적인 문제는 실질적으로 독립 청구항들에 규정되어 있는 특징들을 적용함으로써 해결된다. 양호한 실시예들은 종속 청구항들에 주어진다.
본 발명은 최소의 하드웨어만을 추가함으로써 디지탈 신호 처리기의 처리 성능을 상당히 향상시킬 수 있게 하는 장점이 있다.
본 발명의 양호한 실시예에 따르면, 4개의 데이터 액세스들이 하나의 처리 싸이클로 실행될 수 있다. 대응하는 데이터 시퀀스들은 전형적으로 곱셈 누적 루프에서의 데이터 처리를 포함하는 유한 임펄스 응답형 처리 단계에서 처리될 수 있다. 양호하게는 두 개의 곱셈 유닛들이 사용되며, 그 각각은 각 싸이클에서 제공되는 두 개의 데이터 워드들을 곱셈할 수 있다. 두 곱셈 결과들이 가산되어 누적된다.
본 발명의 원리에 따라 설계된 디지탈 신호 처리기의 아키텍처가 파이프라인된다면, 이것은 클록 주파수를 증가시키지 않고서도 한 싸이클에서 두 개의 곱셈 누적 동작들을 가능하게 한다. 결과적으로, 그러한 디지탈 신호 처리기는 전력 손실에 대해서도 이점이 있다. 이것은 디지탈 신호 처리기의 최소화된 전력 손실이 배터리를 재충전하는 시간 간격을 더욱 길게 할 수 있게 하기 때문에 배터리 전력 공급식 응용예들에 있어서 특히 유용하다.
더욱이, 비록 적어도 두 개의 데이터 워드가 각 메모리 소자로부터 또는 메모리 소자내 어드레스 영역으로부터 액세스될 수 있다할 지라도 단지 하나의 어드레스 발생 유닛만이 필요하다는 점에서 특히 유리하다. 그러므로, 단지 단일 어드레스 발생 유닛을 사용함으로써, 4개의 데이터 워드까지 단일 싸이클에서 액세스될 수 있다.
도 1을 참조하여, 디지탈 신호 처리기(12)를 포함하는 디지탈 장치(10)에 대해 상세히 기술한다. 디지탈 장치(10)는 예를 들면 콤팩트 디스크 플레이어와 같은 디지탈 오디오 장치, 또는 이동 전화 또는 라디오와 같은 디지탈 통신 장치로 제한시키도록 의도되어 있지 않다.
후자의 경우에 전형적으로 아날로그 신호가 디지탈 장치(10)의 안테나로부터 수신된다. 그러한 신호는 도 1에서는 신호(14)로서 도시되어 있다. 그 신호는 아날로그-디지탈 변환기(16)에 공급된다. 아날로그-디지탈 변환기(16)에 의해 전해진 신호(14)의 샘플들은 데이터 라인(18)을 경유하여 메모리(20)내로 입력된다. 메모리(20)는 저장 어레이(22)를 가진다. 데이터 라인(18)을 경유하여 메모리(20)에 입력된 샘플된 데이터 워드가 연속적인 순서대로 저장 어레이(22)의 어드레스 공간에 저장된다. 이것은 저장 어레이(22)에 입력되는 제 1 데이터 워드가 최하위 어드레스에 저장되고 연속적인 또 다른 데이터 워드들이 증가하는 어드레스들에 저장된다. 최상위 어드레스에서 시작하는 것에서도 감소하는 어드레스들의 연속적인 저장 위치들에서 저장 어레이(22)에 쌓여지는 다른 어드레스 체계들 역시 가능하다.
저장 어레이(22)의 어드레스 공간은 논리적으로 홀수 및 짝수 어드레스들로 배분된다. 그 동일한 것은 저장 어레이(26)를 갖는 메모리(24)에 대해 비슷하게 적용한다. 메모리(24)는 신호(14)의 디지탈 신호 처리에 이용되는 필터 계수들의 샘플 또는 또다른 입력 신호의 샘플들을 나타내는 데이터 워드들을 저장하는 역할을 할 수 있다.
콤팩트 디스크 플레이어와 같은 디지탈 오디오 장치의 경우에, 회전하는 콤팩트 디스크를 스캔하는 레이저 빔에 의해 제공된 신호(14)는 이미 디지탈 정보이기 때문에 아날로그-디지탈 변환기(16)가 필요하지 않다. 그 대신 신호(14)는 아날로그에서 디지탈 변환할 필요없이 메모리(20)로 직접 입력된다.
메모리들(20 및 24)의 어드레싱 때문에, 디지탈 신호 처리기(12)는 제어 라인(30)을 경유하여 제어 논리(32)에 연결된 어드레스 발생 유닛(28)을 갖는다. 제어 논리(32)는 각각 제어 라인들(34 및 36)을 경유하여 메모리들(20 및 24)로 역시 연결된다. 제어 라인(38)은 제어 논리(32)를 레지스터 파일(40)에 연결하는 반면에 제어 라인(42)은 제어 논리(32)를 곱셈 누적기(44)에 연결한다. 곱셈 누적기(44)는 가산 누적기(50)에 연결된 출력들을 갖는 증배기들(46 및 48)을 갖는다.
어드레스 발생 유닛(28)은 메모리(20)용 어드레스의 저장을 위한 레지스터(52)와 메모리(24)용 어드레스의 저장을 위한 레지스터(54)를 가진다. 더욱이 어드레스 발생 유닛(28)은 다음 처리 간격에 대해 레지스터(52 및 54)에 각각 저장된 어드레스들에 필요로 되는 변화의 양을 조건으로 지정하는 레지스터들(56 및 58)을 가진다. 레지스터들(60 및 61)에서 어드레스 발생 유닛(28)이 동작하는 모드가 지정된다.
어드레스 발생 유닛(28)은 메모리들(20 및 24)에 어드레스 버스들(62 및 63)에 의해 각각 연결된다. 메모리들(20 및 24) 둘다 데이터를 출력하기 위한 두 개의 데이터 버스들을 가진다: 메모리(20)는 레지스터 파일(40)에 데이터 버스들(64 및 66)에 의해 연결되는 반면에 메모리(24)는 레지스터 파일(40)에 데이터 버스들(68 및 70)에 의해 연결된다. 데이터 버스들(66 및 70)은 각각 버퍼들(72 및 74)에 역시 연결된다. 버퍼들(72 및 74)은 데이터 버스들(76 및 78)에 의해 레지스터 파일(40)에 연결된다.
레지스터 파일(40)은 레지스터들(80, 82, 84 및 86)을 가진다. 이들 레지스터들 각각은 하나의 데이터 워드를 저장할 수 있다. 레지스터들(80 및 82)은 데이터 라인들(88 및 90)을 경유하여 증배기(46)에 연결된다. 마찬가지로 레지스터들(84 및 86)은 데이터 라인들(92 및 94)을 경유하여 증배기(멀티플라이어)(48)에 연결된다.
디지탈 신호 처리 동작의 결과는 가산기(50)에 의해 디지탈-아날로그 변환기(92)로 출력된다. 그 결과로 얻어지는 아날로그 신호(94)는 신호(14)에 대해 실행되는 디지탈 신호 처리 동작의 결과이다.
동작에서 제어 논리(32)는 요구되는 디지탈 신호 처리 동작에 따른 인입 신호(14)의 처리를 제어한다.
요구되는 디지탈 신호 처리 동작을 초기화하기 위하여 메모리(20) 및 메모리(24) 둘다를 위한 시작 어드레스들이 지정되어져야 한다. 간결성을 위해, 메모리(20 및 24)는 각각 X 메모리 및 Y 메모리로써 참조될 것이며, 반면에 레지스터들(52 및 54)은 각각 RX 및 RY로써 참조될 것이다. 레지스터 파일(40)의 레지스터들(80, 82, 84 및 86)은 각각 X0, X0', Y0 및 Y0'로써 참조될 것이다.
X 메모리로부터 출력될 요구되는 데이터 시퀀스에 대한 시작 어드레스는 제어 라인(30)을 경유하여 제어 논리(32)에 의해 레지스터 RX에서 프로그램된다. Y메모리로부터 요구되는 데이터 시퀀스에 대한 시작 어드레스는 제어 라인(30)을 경유하여 역시 제어 논리(32)에 의해 레지스터 RY에서 프로그램된다.
제어 논리(32)는 RX에 저장된 시작 어드레스가 짝수 어드레스인지 또는 홀수 어드레스인지를 점검한다. 만일 X 메모리에 대한 시작 어드레스가 짝수이면, 레지스터(56)에 저장되어 있는 파라미터 CHANGE(변환) X가 (어드레싱 모드가 증가될 경우) 2의 값으로 설정된다.
X 메모리에 대한 시작 어드레스가 홀수라면, 파라미터 CHANGE X의 값이 (다시 어드레싱 모드가 증가될 경우) 제어 라인(30)을 경유하여 제어 논리(32)에 의해 값 1과 동일하게 설정된다. RY에 저장된 시작 어드레스에 대해 동일한 점검이 실행된다. Y 메모리에 대한 시작 어드레스가 짝수인 경우라면, 레지스터(58)에 저장된 파라미터 CHANGE Y는 값 2와 동일하게 설정된다 ; Y 메모리의 시작 어드레스가 홀수인 경우라면, CHANGE Y의 값은 (X 메모리에 대한 시작 어드레스를 위해 실행되는 처리와 유사한) 1의 값과 동일하게 설정된다.
파라미터들 MODE(모드) X 및 MODE(모드) Y는 각각 레지스터들(60 및 61)에 저장된다. 파라미터들 MODE X 및 MODE Y는 각각 X 메모리 및 Y 메모리에 대한 어드레싱 모드를 지정한다. 만일, 예를 들면 MODE X의 값이 0 이라면, 이것은 데이터 워드들이 증가하는 어드레스 순서로 X 메모리로부터 출력될 것임을 의미하며, 따라서 각각의 반복 후에 RX에 저장된 어드레스는 파라미터 CHANGE X에 의해 지정된 값에 의해 증가된다. 마찬가지로, 만일 MODE X의 값이 논리적으로 1 이라면, 이것은 X에 저장된 어드레스가 각각의 처리 후에 CHANGE X에 의해 지정된 것으로써의 값에 의한 간격이 감소되는 것을 의미한다. 동일한 것은 레지스터(61)내 파라미터 MODE Y의 설정에 유사하게 적용된다. 파라미터들 MODE X 및 MODE Y 둘다 제어 라인(30)을 경유하여 제어 논리(32)에 의해 설정된다.
그러므로, 초기화 간격 동안에 X 메모리 및 Y 메모리로부터 출력될 데이터 워드들의 시퀀스에 대한 시작 어드레스들은 관련 파라미터들 CHANGE X, CHANGE Y, MODE X 및 MODE Y 과 마찬가지로 각각 레지스터들 RX 및 RY에서 프로그램된다.
만일, 예를 들면 X 메모리에 대한 시작 어드레스가 짝수이고 MODE X가 논리적으로 0 이라면(증가하는 어드레스 모드), 데이터 워드가 RX 에 저장된 시작 어드레스를 가진 이후 다음에 들어오는 데이터 워드는 시퀀스내 제 1 데이터 워드에 관하여 1 만큼씩 증가되는 어드레스를 가진다. 결과적으로, X 메모리 시퀀스내 제 2 데이터 워드는 홀수인 어드레스를 가지며 따라서 RX 내 저장된 시작 어드레스로부터 그것의 최하위 비트에서만 단지 상이하다. 어드레스 워드들 둘다가 처리에 필요로 되기 때문에, RX에 저장된 시작 어드레스상에 저장된 데이터 워드와 어드레스 버스(62)를 경유하여 어드레스의 수신에 응답하여 그것의 최하위 비트에서만 상이한 그 시작 어드레스 다음의 어드레스상에 저장되어지는 연속적인 데이터 워드 둘 다를 출력하기 위하여 제어 라인(34)을 통하여 X 메모리에 신호가 전달된다. 다시 말하면: 제어 라인(34)이 증가된다면, 어드레스 버스(62)의 최하위 비트 라인이 "Don't care" 비트가 되며, 따라서 모든 보다 상위의 어드레스 비트들을 배합하는 어드레스를 갖는 데이터 워드들 모두가 X 메모리에 의해 출력될 것이다. 결과적으로, 두 개의 데이터 워드들은 하나의 초기화 간격 동안에 X 메모리로부터 출력되며, 따라서 다음 간격 동안 어드레스는 X 메모리로부터 요구되는 시퀀스의 연속하는 두 개의 데이터 워드들을 출력하기 위하여 2 씩 증가되게 하여야 한다.
만일 시작 어드레스 RX가 홀수이고 어드레스 모드 X가 논리적으로 0 이라면(증가하는 어드레스 모드), 이것은 RX에 저장된 시퀀스의 시작 어드레스로부터 그것의 최하위 비트에서만이 단지 상이한 어드레스를 가지는 요구되는 출력 시퀀스내에서는 데이터 워드가 존재하지 않는다는 것을 의미한다. 결과적으로, 제어 라인(34)은 제어 논리(32)에 의해 논리적으로 0으로 강하되며, 따라서 X 메모리만이 단지 데이터 워드가 RX내 정확하게 저장된 시작 어드레스상에 저장되도록 출력하나 다른 데이터 워드는 없다. 단지 한 개의 데이터 워드가 이러한 대체되는 제 1의 초기화 간격내에서 출력되기 때문에, CHANGE X의 값은 1이 된다. 그러므로, 다음의 초기화 간격에서는, RX에 저장되어 있는 어드레스의 값은 단지 1만큼 증가한다. 이러한 증가가 이루어진 후에는, RX에 저장되어 있는 어드레스가 더 이상 홀수가 아니라, 짝수가 된다. 결과적으로 제어 라인(34)은 상승한다. 그러므로, RX에 저장되어 있는 짝수 어드레스를 어드레스 버스(62)를 통해, 수신하게 되면, 최하위 어드레스 비트는 "Don't care" 비트 위치가 되며, X MEM은 대체되는(alternative) 제 2 초기화 간격내에서, 동시에 두 개의 데이터 워드들을 출력한다. 결과적으로, 이러한 대안적인 경우에서는, 여기서 고려된 제 1의 경우와 반대가 되는 두 개의 초기화 간격들이 요구되고, 단지 한 개의 초기화 간격이 주요 처리 루프(loop)가 입력될 수 있게 되기 전에 요구된다.
제 1 또는 제 2 경우가 존재하는지는 다음 표에 따라 결정된다.
여기서 LSB는 어드레싱 모드에 대한 MODE와 RX에 저장된 어드레스의 최하위 비트를 표시한다.
상기 표의 논리는 도면에 도시되지 않은 XOR 게이트에 의해 제어 논리(32)에서 실행될 수 있다. 만약 XOR 게이트중 한 개의 입력 단자가 변수 MODE X의 논리 값을 수신하고, 다른 입력 단자가 RX에 저장되어 있는 어드레스의 최하위 비트를 수신한다면, XOR 게이트의 최종 출력은 제 1의 경우를 나타내기 위해 논리적으로 1이 되며, 제 2 경우에서는 0이 된다.
그러므로, 제어 논리(32)에 있는 XOR 게이트의 출력은 상기 언급된 두 경우들 중 어느 경우가 존재하는지를 판단하는데 사용된다.
어드레스 버스(63)의 최하위 비트가 관련이 있는지 또는 "Don't care"인지에 따라 제어 라인(36)을 통해 Y에 제어 신호들을 발생시키는 것과, 어드레스 발생 유닛의 대응하는 프로그램과 Y MEM에 대해서도 비슷한 이론이 적용된다. 또한 제어 논리(32)는 MODE Y와 RY에 입력 신호들로 저장되어 있는 어드레스의 최하위 비트를 가지고 있는 추가 XOR 게이트로 구성될 수 있다. 또한, 추가 XOR 게이트의 출력은 상기한 바와 같이, 제 1 경우에는 1이며, 제 2 경우에는 0이다.
만약 제 1 경우가 존재한다면, X MEM과 Y MEM에 대해서는, 초기화를 위해 요구되는 총 시간 주기는 단지 한 개의 초기화 간격이다. 만약 X MEM 또는 Y MEM중 어느 한 경우에 대해서, 또는 두 경우에 대해서, 제 2 경우가 존재한다면, 추가의 초기화 간격은 상기한 바와 같이 요구된다.
만약, 제 1 경우가 X MEM을 위해 존재한다면, 동일한 초기화 간격내에서, X MEM으로부터 출력된 두 개의 데이터 워드들은 데이터 버스들(64,66)을 통해 각각, 레지스터(X0,X0')들로 전달된다. 만약, Y MEM에 대해서도 동일한 이론이 적용된다면, 대응하는 두 개의 출력 데이터 워드들은 데이터 버스들(68,70)을 통해 전달되며, 레지스터들(Y0,Y0')에 저장된다.
그러나, 만약 경우 2가 Y MEM을 위해 존재한다면, 단지 한 개의 데이터 워드가 제 1 간격내에서 Y MEM으로부터 출력된다. 연속된 제 2 초기화 간격에서는, 두 개의 데이터 워드들만 출력된다. 그 워드들중 단지 한 개만이 레지스터 파일(40)에 저장될 것이다. 다른 출력 데이터 워드는 제어 논리(32)에 의해 버퍼(74)에서 차단된다. 만약 제 2 경우가 X MEM에 대해서 존재한다면, 동일한 이론이 적용되므로, 제 2 초기화 간격내에서 출력되는 데이터 워드들중 한 개는 제어 논리(32)에 의해서 제어되는 버퍼(72)에 의해 차단된다.
초기화 단계가 완료된 후에는, 레지스터 파일(40)의 각 레지스터(X0, X0', Y0, Y0')는 한 개의 데이터 워드를 가지게 된다. 곱 누적기(multiply accumulator:44)의 동작은 주요 처리 루프내에서 시작될 수 있다. 주요 처리 루프내에서는, 요구된 디지탈 신호처리 동작이 곱 누적기(44)에 의해 실행된다. 일반적으로, 이러한 디지탈 신호처리 동작들은 유한 임펄스 응답 신호 처리 동작들이다. 주요 처리 루프가 제 1 처리 간격내에서, 시작될 때에, 레지스터(X0,X0')에 저장된 데이터는 데이터 라인들(88,90)을 통해 각각 증배기(46)로 전달된다. 마찬가지로, 레지스터들(Y0,Y0')에 저장되어 있는 데이터는 데이터 라인들(92,94)을 통해 각각 증배기(48)로 전달된다. 각 곱셈의 출력은 누적기에 저장되어 있는 값뿐만 아니라 증배기(46,48)들의 출력들이 가산되어 누적기로 저장되는 가산기-누적기(50)로 전달된다. 두 증배기들(46,48)이 존재하므로, 두 개의 곱셈이 동일한 시간 내에서 실행될 수 있다는 장점을 가지고 있다. 두 개의 병렬 곱셈들이 완료된 후에는, 4개의 데이터 워드들로 된 다른 세트가 증배기들(46,48)로 전달되어야 한다. 이것은 제어 논리(32)에 의해 이루어진다.
경우 1이 초기화 간격내에서 존재한다면, 두 개의 데이터 워드들의 각 출력 동작은 RX에 저장된 어드레스의 증가를 가져온다. 그러므로, 연속된 시간 간격에서는, 요구된 시퀀스의 연속적 두 개의 데이터 워드들이 출력된다. 그리고, 레지스터 파일(40)의 적절한 레지스터들에 저장된다. 만약 초기화 간격 동안에, 경우 2 가 존재한다면, 제 2 경우가 X MEM 또는 Y MEM에 대해 존재하는지에 따라서, 요구된 데이터 워드들중 한 워드는 버퍼(72 또는 74)내에 미리 존재하게 된다. 주요 루프내에서 다음 처리 싸이클을 실행하면서, 버퍼(72 또는 74)에 저장된 데이터 워드는 적절한 레지스터에 저장된 레지스터 파일(40)로 전달된다. 또한 제 2 경우에서 초기화 간격이 완료된 후에는, CHANGE X 또는 CHANGE Y의 값이 2로 설정되므로, RX 또는 RY에 저장된 값은 각 출력동작 후에 2만큼 변화된다. 결과적으로, 대응하는 메모리에 의해 출력된 데이터 워드들의 쌍에 있는 데이터 워드들중 한 워드는 레지스터 파일(40)로 전달되며, 다른 것들은 제 2 경우가 이용하는 메모리들(X MEM 또는 Y MEM)중 한 개의 메모리에 따라 버퍼(72 또는 74)에서 대체 데이터로서 저장된다. 그러므로, 제 2 경우에서도, 한 개의 곱셈과, 누적 동작은 이러한 파이프 라인된(pipelined) 구조로 인해 주요 처리 장치내에서, 4 개의 연산자에 의해서 실행될 수 있다.
결과적으로, 디지탈 신호 처리기(12)의 스루풋(throughput)은 단지 한 개의 곱셈 장치를 가지고 있는 종래의 신호 처리기와 비교했을 때에는 두 배가 된다. 이것은 단지 최소한의 하드웨어 소자들을 추가시킴으로써, 이루어진다.
다음에서는, 수학식(1)에 따르는 디지탈 처리 동작이 단지 예로서 서술될 것이다.
[수학식 1]
여기서, x[i]는 어드레스(i)에 있는 X MEM에 저장된 데이터 워드들을 언급하고 있다. 그리고, y[j]는 어드레스(j)에 있는 Y MEM에 저장된 데이터 워드들을 언급하고 있다. 수학식(1)에 따르면, 총 6 개의 곱셈과 더하기가 a 값을 계산하기 위해서, 실행된다. 수학식(1)에 따라, 디지탈 신호처리 동작을 실행하기 위해서, 디지탈 신호 처리기(12)는 제어 논리(32)에 의해 초기화된다. 이러한 목적을 위해서, 제어 논리(32)는 사용자 또는 입력(92)에 있는 프로그램 제어로부터 입력 명령을 수신한다.
(i1) move # 0, RX
명령(i1)에 의해 어드레스 i=0는 X MEM으로부터 출력된 데이터 워드들의 시퀀스에 대한 시작 어드레스로서 레지스터(RX)로 이동된다. 마찬가지로,
(i2) move # 1, RY
명령(i2)에 의해서, 제어 논리(32)는 어드레스 1을, Y MEM으로부터 출력된 데이터 워드들의 시퀀스의 시작 어드레스로서 레지스터(RY)에 이동시킨다.
(i3) clr a
명령(i3)에 의해서, 제어 논리(32)는 가산기-누적기(50)의 누적기에 저장되어 있는 a의 값을 클리어(clear)하기 위해서, 제어 라인(42)을 통해 제어 신호를 발생시킨다.
(i4) move 2 x: (RX) +, X0 y:(RY)+, Y0
(i4) 명령은 입력(92)에서 제어 논리(32)에 의헤 수신된다. 이러한 명령은 다음과 같은 의미를 가지고 있다. 레지스터(RX)의 어드레스상에 저장되어 있는 데이터 워드는 X MEM으로부터 레지스터(X0)로 이동된다는 것을 의미한다. 게다가, 그것은 (RX)+로 표시되므로, 어드레싱 모드가 증가하게 된다. 그러므로, 변수 MODE X는 논리적으로 1로 설정된다. 게다가, X0가 명령(i4)의 한 부분이라는 사실은 증가된 시작 어드레스의 연속적 데이터 워드가 X0'으로 이동되었다는 것을 나타내고 있다. YY MEM에 있는 데이터 워드들과 관련된 명령(i4)의 한 부분 y: (RY)+, Y0에 대해서도 비슷한 이론이 적용된다.
레지스터(RX)내의 X MEM으로부터 출력된 데이터 워드들의 시퀀스에 대한 시작 어드레스는 짝수이므로, 경우 1은 X MEM을 위해 존재하게 된다. 그러므로, 어드레스 버스(62)를 통해 어드레스 발생 유닛(28)에 의해 출력된 어드레스들의 최하위 비트들은 "Don't care"가 된다. 결과적으로, 좀 더 자세히 상술한 바와 같이, 두 개의 데이터 워드들 x[0], x[1]은 각각 데이터 버스들(64,66)을 통해 X MEM으로부터 현재 출력된다. 제어 논리(32)의 제어하에서, 제어 라인(38)을 통해, x[0]이 되는 어드레스 "0"의 데이터 워드는 레지스터(X0)에 저장되며, x[1]이 되는 증가된 연속 어드레스 "1"의 데이터 워드는 레지스터(X0')에 저장된다. 이것은 제 1 초기화 간격에서 발생한다.
X MEM 데이터 시퀀스의 두 개의 제 1 데이터 워드들을 출력, 저장과 어드레싱하는 일과 병행하여, Y MEM도 액세스된다. 레지스터(RY)에 저장된 어드레스는 1이므로, 홀수 어드레스는 Y MEM 출력 시퀀스의 시작 어드레스이다. 그러므로, 제 2 경우가 존재한다. 이것은 RY에 저장된 어드레스의 최하위 비트 위치가 관련되기 때문에, 단지 Y MEM 시퀀스의 제 1 데이터 워드만이 제 1 초기화 간격 동안에 레지스터 파일에서 어드레스되고, 출력되고, 저장된다는 것을 의미한다.
데이터 워드 Y[1]가 Y MEM으로부터 출력된 후에는, 레지스터(58)에 저장된 변수 CHANGE Y는 "1"과 동일하게 설정된다. 그러므로, RY에 저장된 어드레스는 1만큼 증가한다. 결과적으로, 다음의 제 2 초기화 간격내에서는, 두 개의 연속적 데이터 워드들(y[2], y[3])이 출력된다. 어드레스 워드 y[2]는 레지스터 파일(40)내의 레지스터(Y0')에 저장된다. 데이터 워드 y[1]는 명령(i4)에 의해 명시된 바와 같이, 이전의 제 1 초기화 간격내에서, 레지스터(Y0)에 이미 저장되어 있다. 이 때에는, 데이터 워드 y[3]가 필요하지 않으므로, 그것은 연속된 처리 간격내에서 사용되기 위해서, 버퍼(74)에 저장된다.
데이터 워드 y[3]의 버퍼링 후에는, 제 2 초기화 간격이 완성된다. 그러므로, 주요 처리 루프가 시작될 수 있다. 변수 CHANGE Y는 2로 설정된다. 그 이유는 두 개의 데이터 워드들이 Y MEM으로부터 동시에 출력되기 때문이다.
주요 처리 루프는 명령(i5)이 수신된 후에, 제어 논리(32)에 의해서 시작된다.
(i5) mac2 X0, Y0, a X: (RX)+, X Y:(Y)+, Y0
명령i(5)에 따르면, 레지스터들(X0',Y0')에 저장된 데이터 워드들뿐만 아니라, 레지스터들(X0,Y0)의 데이터 워드들은, 증배되고, 누적되어야만 한다. 대응하는 곱셈은 증배기(46,48)에 의해 실행되며, 누적(accumulation)은 가산기-누적기(50)에 의해 실행된다. 게다가, 명령 i(5)은 각각의 처리 단계 후에, 레지스터(RY)에 저장된 어드레스뿐만 아니라, 레지스터(RX)에 저장된 어드레스가 2만큼 증가되어야 한다는 것을 나타내고 있다. 이것은 표시 (RX)+ 와 (RY)+의 각각에 의해 즉 명령 i(5)에 의해 명확해 진다. 하위 어드레스를 가지고 있는 제 1 데이터 워드는 각각 레지스터(X0,Y0)에 저장되어 있으며, 레지스터(X0',Y0')에는 보다 상위의 어드레스 워드 데이터가 저장되어 있다는 것이 명시되어 있다. "+" 표시 대신에 "-" 표시가 나타난다면, 이것은 반대의 의미를 가지게 된다.
명령i(5)이 증배 누적기(44)에 의해서 처음으로 실행될 때에, 모든 계산에 대해서는 다음 수학식이 계산된다.
a:= a + x[0]*y[1] + x[1]*y[2]
이것은 한 처리 간격에서, X와 Y MEM 시퀀스의 두 개의 연속적 데이터 워드들이 처리된다는 것을 의미한다. 이 단계에서는, 변수들 CHANGE X와 CHANGE Y가 2로 설정되기 때문에, 다음 처리 단계에서는, 각 시퀀스내에 있는 두 개의 데이터 워드들로된 다음 쌍이 처리된다. 즉,
a:= a + x[2]*y[3] + x[3]*y[4]가 된다.
RX와 RY에 저장된 어드레스들이 증가된 후에는, 다음 처리 간격이 이미 a에 대한 최종 결과를 출력한다.
a:= a + x[4]*y[5] + x[5]*y[6]
경우 1은 X MEM을 위해 존재하므로(X 시작 어드레스는 홀수이다), X MEM으로부터 나온 모든 데이터 워드들은 직접 레지스터 파일(40)로 전달된다. 이와는 반대로, 데이터 워드들(y[3], y[5])은 레지스터 파일(40)로 전달되기 전에, 버퍼(74)에서 순차적으로 버퍼된다.
도 2를 참조한 다음 설명에서는, 본 발명의 방법의 실시예가 더욱 자세히 서술되어 있다.
단계(100)에서는, 디지탈 샘플들이 X와 Y 메모리에 저장된다. 단계(102)에서는, X 메모리에 저장되어 있는 샘플들의 처리가 초기화된다. 마찬가지로, 단계(104)에서는, Y 메모리에 저장되어 있는 샘플들의 처리가 초기화된다. 다음 설명에서는, 초기화 처리가 X메모리에 저장되어 있는 샘플들에 대해서만 자세히 설명되어지고, Y샘플들에 대해서는 설명이 안될 것이다. 그 이유는 단계(102, 104)에서 동시에 처리된 두 개의 처리들은 비슷하기 때문이다.
초기화를 위해서, 먼저, 출력된 데이터 워드들의 시퀀스의 시작 어드레스가 어드레스 발생 유닛(AGU)의 레지스터(RX)로 이동한다. 이것은 단계(106)에서 실행된다. 단계(108)에서는, 출력 시퀀스가 어드레스 범위의 맨 위 또는 맨 아래에서 시작되는가에 따라, X 메모리에 대한 어드레스 모드가 증가되거나 감소하도록 설정된다.
단계(110)에서는, X 메모리에서 출력된 시퀀스의 시작 어드레스가 짝수인지 아닌지가 검사된다. 만약, RX 레지스터에 저장되어 있는 어드레스가 짝수라면, X이것은 이러한 어드레스의 최하위 비트가 "Don't care" 라는 것을 의미한다. X 메모리가 단계(110)에서, 짝수 시작 어드레스에 의해 액세스될 때에는, 최하위 어드레스 비트를 제외하고 남은 동일한 어드레스 비트들을 가지고 있으며, X 메모리에 있는 두 개의 데이터 워드들의 출력을 발생시킨다.
만약, 레지스터(RX)에 저장되어 있는 시작 어드레스가 홀수라면, 이것은 경우 2가 존재한다는 것을 의미한다. 그 이유는 동시에 어드레스 모드가 증가하기 때문이다. 이것은 시작 어드레스의 최하의 비트가 관계성이 있다는 것을 의미한다. 그러므로, RX에 저장되어 있는 시작 어드레스의 데이터만이 단계(114)에서 X 메모리로부터 출력된다. 단계(116)에서는, RX 에 저장된 어드레스가 1만큼 증가하므로, RX에 저장된 짝수 어드레스가 발생된다. 결과적으로, RX 에 저장된 새로운 어드레스의 최하위 비트는 "Don't care"가 된다. 결과적으로, 다음 초기화 단계(118)에서는, 메모리가 X 메모리로부터 출력 시퀀스중 다음에 있는 두 개의 연속 데이터 워드들을 출력한다. 그러므로, 두 개의 데이터 워드들은 서로간에 단지 최하위 비트만이 다른 어드레스를 가지고 있다. 더 높은 어드레스를 가지고 있는 데이터 워드는 이 단계에서, 요구되지 않았으므로, 나중에 사용되기 위해서 단계(120)에서 버퍼화 된다. 단계(122)에서는, 레지스터(RX)에 저장된 어드레스가 경우 1 또는 2가 존재하는지에 관계없이 선택된 증가 어드레스 모드에 따라 2만큼 증가된다.
초기화 단계 이후에는, Y 메모리뿐만 아니라, X 메모리의 출력 시퀀스로부터 나온 두 개의 데이터 워드들은 처리를 위해 이용될 수 있다. 결과적으로, 주요 처리(124)가 시작된다. 단계(126)에서는, 이용 가능한 X와 Y메모리 출력 데이터는 레지스터 파일로부터 액세스된다. 그리고, 요구된 디지탈 신호 처리 동작에 따라 처리된다. 동시에, X 메모리에 있는 요구된 출력 시퀀스내에 있는 두 개의 연속 데이터 워드들은 어드레스가 되어지며, X 메모리로부터 출력된다. 만약 경우 1이 존재한다면, 이것은 단계(130)에서, X 메모리로부터 나온 두 개 이상의 데이터 워드들을 얻음으로써 행해진다. 그러므로, 두 개 이상의 데이터 워드들은 단지 최하위 비트만이 다른 어드레스를 가지게 된다.
경우 2가 존재한다면, 보다 하위의 어드레스 데이터 워드가 버퍼로부터 페치되며(fetched), 보다 상위의 데이터 워드는 X 메모리로부터 페치된다. 그리고, 동시에 X 메모리로부터 출력되어지고, 보다 상위의 데이터 워드에 대해서 1만큼 증가된 어드레스를 가지고 있는 다른 데이터는 이전의 보다 하위의 어드레스 데이터를 대체시키기 위해서 버퍼된다. 이것은 단계(132)에서 행해진다. 단계(134)에서는, 이용가능한 어드레싱 모드에 따라, 레지스터(RX)에 저장된 어드레스가 다시 2만큼 증가한다. 단계(128)에서 실행되는 동작들은 단계(136)의 Y 메모리에 대해서도 동일한 방법으로 실행된다. 단계(136)는 단계(126,128)와 동시에 실행된다. 단계(126,128,136)이 실행된 후에는, 주요 루프의 다른 반복 과정이 초기화되므로, 단계(124)는 명시된 바와 같이, 디지탈 신호 처리 동작을 실행하는데 필요한 시간 동안에 반복된다.
일반적으로, 상기와 같이 언급된 처리 간격들뿐만 아니라 초기화 간격들은 한 개의 기계 싸이클(machine cycle)만으로 실행된다. 만약 파이프 라인된 실행이 선택된다면, 이것은 각 기계 싸이클에서 두 개의 누적 증배 동작들이 실행될 수 있음을 의미한다.
도 1은 본 발명의 원리에 따라 설계된 디지탈 신호 처리기를 포함하는 디지탈 장치의 제 1 실시예의 개략 블록도.
도 2는 본 발명의 방법의 한 실시예를 예시하는 흐름도.
*도면의 주요 부분에 대한 간단한 설명*
10 : 디지탈 장치 22 : 저장 어레이
12 : 디지탈 신호 처리기 28 : 어드레스 발생 유닛
20 : 메모리

Claims (8)

  1. 디지탈 신호 처리 동작을 실행하는 방법으로서, 상기 동작은 각 처리 간격에 대해 연속적 데이터 워드들을 필요로 하고, 상기 데이터 워드들은 메모리 장치에 저장되는, 상기 디지탈 신호 처리 동작 실행 방법에 있어서,
    제 1 초기화 간격에서,
    - 제 2 어드레스를 갖는 연속적 제 2 데이터 워드를 가지고 있는 제 1 데이터 워드를 제 1 어드레스로 어드레싱하는 단계,
    - 상기 제 2 어드레스가 상기 제 1 데이터 어드레스와 그의 최하위 비트에서만 다른 경우인, 경우 1에서는,
    상기 메모리 장치로부터 상기 제 1 및 제 2 데이터 워드들을 출력하는 단계,
    상기 제 1 및 제 2 데이터 워드들을 레지스터 파일에 저장하는 단계,
    - 상기 경우 1이 존재하지 않는 경우인, 경우 2에서는,
    상기 제 1 데이터 워드를 출력하는 단계,
    상기 제 1 데이터 워드를 상기 레지스터 파일에 저장하는 단계,
    상기 제 1 어드레스를 1만큼 변경하는 단계,
    제 2 초기화 간격에서,
    상기 제 2 데이터 워드를 상기 변경된 제 1 어드레스로 어드레싱하는 단계,
    상기 제 2 데이터 워드 및 연속적 제 3 데이터 워드를 출력하는 단계,
    상기 제 2 데이터 워드를 상기 레지스터 파일에 저장하고, 상기 제 3 데이터 워드를 버퍼 레지스터에 저장하는 단계,
    제 1 처리 간격에서,
    디지탈 신호 처리 단계를 실행하기 위해서 상기 레지스터 파일에 저장된 상기 데이터 워드들을 액세스하는 단계,
    상기 제 1 어드레스를 2만큼 변경하는 단계,
    두개의 또 다른 연속적 데이터 워드들을 상기 변경된 제 1 어드레스로 어드레싱하는 단계,
    상기 경우 1에서는,
    상기 또 다른 연속적 데이터 워드들을 상기 레지스터 파일에 저장하는 단계,
    상기 경우 2에서는,
    상기 레지스터 파일에 상기 버퍼 레지스터의 상기 데이터 워드를 저장하는 단계,
    상기 또 다른 연속적 데이터 워드들중 하나를 상기 레지스터 파일에 저장하는 단계,
    상기 또 다른 연속적 데이터 워드들중 다른 하나를 상기 버퍼에 저장하는 단계,
    상기 디지탈 신호 처리 동작을 완료하는데 요구되는 만큼의 많은 상기 처리 간격들을 실행하는 단계를 포함하는, 디지탈 신호 처리 동작 실행 방법.
  2. 제 1 항에 있어서,
    상기 디지탈 신호 처리 동작은 상기 연속적 데이터 워드들중 적어도 두 개의 시퀀스들을 필요로 하며, 상이한 시퀀스들의 상기 데이터 워드들은 별도로 어드레스될 수 있는 메모리 장치에 저장되고, 상기 방법은 상기 시퀀스들의 각각에 대해 실행되고, 그에 의해 상기 레지스터 파일은 모든 데이터 워드들에 대한 공통 파일인, 디지탈 신호 처리 동작 실행 방법.
  3. 제 2 항에 있어서,
    상기 디지탈 신호 처리 단계는 증배 누적 처리 단계인, 디지탈 신호 처리 동작 실행 방법.
  4. 제 1 항에 있어서,
    감소 어드레스 모드 또는 증가 어드레스 모드중 어느 하나가 사용되고, 상기 방법은 상기 경우 2를 결정하기 위해서 상기 제 1 어드레스의 최하위 비트와 상기 어드레스 모드를 XOR하는 단계를 더 포함하는, 디지탈 신호 처리 동작 실행 방법.
  5. 디지탈 신호 처리기에 있어서, 상기 처리기는,
    디지탈 신호 처리 코어,
    연속적 데이터 워드들의 시퀀스를 저장하는 메모리 장치,
    상기 메모리 장치에 대한 어드레스들을 발생하는 어드레스 발생 유닛,
    상기 메모리 장치들을 위한 출력 버퍼 레지스터,
    상기 메모리 장치, 상기 출력 버퍼 레지스터 및 상기 디지탈 신호 처리 코어(core)에 연결되는 레지스터 파일,
    상기 메모리 장치, 상기 어드레스 발생 유닛, 상기 디지탈 신호 처리 코어 및 상기 출력 버퍼 레지스터에 연결되고, 상기 레지스터 파일에의/로부터의 상기 데이터 워드들에 대한 입력/출력 동작들을 제어 체계에 따라 제어하는 제어 논리를 포함하고,
    상기 제어 체계는,
    제 1 초기화 간격에서,
    상기 어드레스 발생 유닛에 의해 발생되는 상기 시퀀스의 제 1 데이터 워드의 제 1 어드레스에 대해, 상기 제 1 데이터 워드는 제 2 어드레스의 연속적 제 2 데이터 워드를 갖고,
    - 상기 제 2 어드레스가 상기 제 1 데이터 어드레스와 최하위 비트에서만 다른 경우인, 경우 1에서는,
    상기 메모리 장치로 하여금 상기 제 1 및 제 2 데이터 워드들을 출력하게 하는 단계,
    상기 제 1 및 제 2 데이터 워드들을 상기 레지스터 파일에 입력하는 단계,
    - 상기 경우 1이 존재하지 않는 경우인, 경우 2에서는,
    상기 메모리 장치로 하여금 상기 제 1 데이터 워드를 출력하게 하는 단계,
    상기 제 1 데이터 워드를 상기 레지스터 파일에 입력하는 단계,
    상기 어드레스 발생 유닛으로 하여금 상기 제 1 어드레스를 1만큼 변경하게 하는 단계,
    제 2 초기화 간격에서,
    상기 어드레스 발생 유닛으로 하여금 상기 제 2 데이터 워드를 상기 변경된 제 1 어드레스로 어드레싱하게 하는 단계,
    상기 메모리 장치로 하여금 상기 제 2 데이터 워드 및 연속적 제 3 데이터 워드를 출력하게 하는 단계,
    상기 제 2 데이터 워드를 상기 레지스터 파일에 입력하고, 상기 제 3 데이터 워드를 버퍼 레지스터에 저장하는 단계,
    제 1 처리 간격에서,
    디지탈 신호 처리 단계를 실행하기 위해서 상기 레지스터 파일로 하여금 상기 데이터 워드들을 상기 디지탈 신호 처리 코어에 출력하게 하는 단계,
    상기 어드레스 발생 유닛으로 하여금 상기 제 1 어드레스를 2만큼 변경하게 하는 단계,
    상기 어드레싱 유닛으로 하여금 두 개의 또 다른 연속적 데이터 워드들을 상기 변경된 제 1 어드레스로 어드레싱하게 하는 단계,
    상기 경우 1에서,
    상기 또 다른 연속적 데이터 워드들을 상기 레지스터 파일에 입력하는 단계,
    상기 경우 2에서는,
    상기 버퍼 레지스터의 상기 데이터 워드를 상기 레지스터 파일에 입력하는 단계,
    상기 또 다른 연속적 데이터 워드들중 하나를 상기 레지스터 파일에 입력하는 단계,
    상기 또 다른 연속적 데이터 워드들중 다른 하나를 상기 버퍼에 저장하는 단계,
    상기 디지탈 신호 처리 동작을 완료하는데 필요로 하는 만큼의 많은 상기 처리 간격들을 실행하는 단계를 포함하는, 디지탈 신호 처리기.
  6. 제 5 항에 있어서,
    상기 디지탈 신호 처리 코어는 연속적 데이터 워드들중 적어도 두 개의 시퀀스들을 한번에 처리하도록 되어 있고, 상기 디지탈 신호 처리기는 연속적 데이터 워드들의 상기 시퀀스 각각에 대해 상기 메모리 장치들중 하나를 더 포함하며, 상기 레지스터 파일은 상기 메모리 장치들의 각각 하나에 적용된 상기 제어 체계에 따라 상기 제어 논리의 제어하에서 상기 메모리 장치들중 임의의 것으로부터 발원되는 데이터 워드들을 수신하도록 되어 있는, 디지탈 신호 처리기.
  7. 제 6 항에 있어서,
    상기 메모리 장치들중 두 개를 갖고, 상기 디지탈 신호 처리 코어는 상기 레지스터 파일에 연결된 두 개의 증배기들을 포함하고, 상기 증배기들 각각은 상기 레지스터 파일로부터 처리 간격마다, 두 개의 데이터 워드들을 수신하는, 디지탈 신호 처리기.
  8. 제 5 항에 있어서,
    상기 제어 논리는 상기 어드레스 발생 유닛으로 하여금 감소 어드레스 모드 또는 증가 어드레스 모드중 어느 하나에서 동작하게 하며, 상기 제어 논리는 입력들로서 상기 제 1 어드레스의 최하위 비트 및 상기 어드레스 모드를 가지는 XOR 논리 게이트를 더 포함하고, 상기 XOR 게이트의 출력 신호는 상기 경우 1 또는 상기 경우 2가 존재하는지를 결정하는, 디지탈 신호 처리기.
KR1019980033355A 1997-08-15 1998-08-14 디지탈신호처리동작실행방법및디지탈신호처리기 KR100551458B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/912,243 US6145070A (en) 1997-08-15 1997-08-15 Method for digital signal processing, DSP, mobile communication and audio-device
US8/912,243 1997-08-15
US08/912,243 1997-08-15

Publications (2)

Publication Number Publication Date
KR19990023647A KR19990023647A (ko) 1999-03-25
KR100551458B1 true KR100551458B1 (ko) 2006-07-06

Family

ID=25431575

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980033355A KR100551458B1 (ko) 1997-08-15 1998-08-14 디지탈신호처리동작실행방법및디지탈신호처리기

Country Status (5)

Country Link
US (1) US6145070A (ko)
JP (1) JP3850150B2 (ko)
KR (1) KR100551458B1 (ko)
DE (1) DE19836994A1 (ko)
TW (1) TW432322B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100835173B1 (ko) * 2006-09-20 2008-06-05 한국전자통신연구원 곱셈 누적 연산을 위한 디지털 신호처리 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4609996A (en) * 1983-08-12 1986-09-02 International Business Machines Corporation Memory access system for a computer system adapted to accept a memory expansion module

Also Published As

Publication number Publication date
JP3850150B2 (ja) 2006-11-29
KR19990023647A (ko) 1999-03-25
DE19836994A1 (de) 1999-02-18
US6145070A (en) 2000-11-07
JPH11161634A (ja) 1999-06-18
TW432322B (en) 2001-05-01

Similar Documents

Publication Publication Date Title
JP3027970B2 (ja) デイジタル信号プロセツサメモリ管理ユニツトおよびその方法
EP1176718B1 (en) Hardware accelerator for normal least-mean-square algorithm-based coefficient adaptation
US4893279A (en) Storage arrangement having a pair of RAM memories selectively configurable for dual-access and two single-access RAMs
US6205459B1 (en) Digital signal processor and digital signal processing system incorporating same
GB2365588A (en) Vector register file with arbitrary vector addressing
JPH03150910A (ja) ディジタルオーディオ信号処理装置
JPH11296493A (ja) デ―タ処理システム用再構成可能コプロセッサ
US4809208A (en) Programmable multistage digital filter
US6282623B1 (en) Method for digital signal processing, DSP, mobile communication and audi o-device
EP0405915B1 (en) Audio signal data processing system
US5613147A (en) Signal processor having a delay ram for generating sound effects
KR100551458B1 (ko) 디지탈신호처리동작실행방법및디지탈신호처리기
KR0147758B1 (ko) Mpeg-2 오디오 복호화기의 합성 필터
US5765219A (en) Apparatus and method for incrementally accessing a system memory
JP2856064B2 (ja) ディジタルフィルタ
JP2845115B2 (ja) デジタル信号処理回路
JP2592979B2 (ja) 信号処理用集積回路装置
JP3042266B2 (ja) メモリアクセス方法
US5708847A (en) Method of digital signal processing and apparatus using a reference operation cycle including a processing period and a transfer period
JP3125672B2 (ja) ディジタルフィルタ
JP3288074B2 (ja) アドレス生成回路
JP3531208B2 (ja) ディジタル信号処理装置
JPH01179515A (ja) デジタル信号処理装置
Matsushita et al. A 32/24 bit digital audio signal processor
US5932826A (en) Effect adder circuit with a coefficient smoothing circuit for an electronic musical instrument

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130125

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140109

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141231

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160119

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170119

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180118

Year of fee payment: 13

EXPY Expiration of term