KR20010080916A - 디지털신호 처리장치 및 그 제어방법 - Google Patents

디지털신호 처리장치 및 그 제어방법 Download PDF

Info

Publication number
KR20010080916A
KR20010080916A KR1020017005296A KR20017005296A KR20010080916A KR 20010080916 A KR20010080916 A KR 20010080916A KR 1020017005296 A KR1020017005296 A KR 1020017005296A KR 20017005296 A KR20017005296 A KR 20017005296A KR 20010080916 A KR20010080916 A KR 20010080916A
Authority
KR
South Korea
Prior art keywords
data
memory
address
program
command
Prior art date
Application number
KR1020017005296A
Other languages
English (en)
Other versions
KR100396189B1 (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 KR20010080916A publication Critical patent/KR20010080916A/ko
Application granted granted Critical
Publication of KR100396189B1 publication Critical patent/KR100396189B1/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/22Microcontrol or microprogram arrangements
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30079Pipeline control instructions, e.g. multicycle NOP
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30072Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34047Dsp digital signal processor

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Programmable Controllers (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은, 회로규모를 저감하여 소비전력의 증대 및 비용증가를 억제할 수 있고, 또한, 신호처리속도를 보다 고속화할 수 있는 디지털신호 처리장치 및 그 제어방법을 제공한다. 이 때문에, 본 발명은 외부상태신호(10)를 가공하는 인코더 (51) 등의 비교적 소규모의 회로와, 조건판정 데이터 선택명령 디코드기능을 추가함으로써, 비교명령, 조건점프명령, 점프명령을 실행하는 것에 종래 필요하였던 회로구성, 및 프로그램 메모리(3)의 용량을 삭제한다.

Description

디지털신호 처리장치 및 그 제어방법{DIGITAL SIGNAL PROCESSING APPARATUS AND METHOD FOR CONTROLLING THE SAME}
일반적으로, 서보제어 등의 시스템 제어분야에 있어서는, 제어대상의 실제의 출력과, 기대되는 목적치와의 사이의 오차를 항상 최소로 하도록 노력이 되고 있다. 이 때, 최근에는, 상기 오차량을 디지털값으로서 거둬들이고, 이 디지털값에 대해서 연산을 행하고, 제어대상으로의 최적의 조작량을 생성하는 장치인 디지털 시그널 프로세서(약칭을 DSP라 한다)가, 매우 잘 이용되고 있다.
이와 같은 DSP는, 어느 용도에 특화하여 그 연산처리가 하드웨어화된 것이지만, 대개는 프로그램에 의해서 제어되는 구성이고, 이 DSP는, 주어진 프로그램에 따라서, 그 처리를 행하는 것에서는 마이크로 프로세서와 마찬가지이지만, 보다 고속으로 고기능의 연산처리를 특징으로 하고 있다.
도 5에 종래의 DSP의 내부구성을 나타낸다. 도 5에 있어서, 프로그램 카운터(2)는, 외부 버스(1)로부터 임의의 값을 설정할 수 있고, DSP의 처리기동에 수반하여, 프로그램 메모리(3)의 판독 어드레스를 생성한다. 또한, 프로그램 카운터(2)는 명령디코더(4)에 있어서 점프명령을 검출하면, 점프 목적지 어드레스가 프로그램 카운터(2)에 세트되지만, 그 이외의 경우는, 시스템 클럭에 동기하여 +1 카운트업된다.
프로그램 메모리(3)는, 외부 버스(1)로부터 프로그램이 기록하고, 프로그램 카운터(2)가 출력하는 어드레스의 프로그램 워드를 출력한다.
명령 디코더(4)는, DSP의 처리기동에 수반하여, 프로그램 메모리(3)로부터의 프로그램 워드를 해석하고, 내부 각부를 제어하는 제어신호(9), 지연부(8)로의 데이터 메모리 저장 어드레스, 및 연산기(6)에 입력되는 데이터(X, Y)를 데이터 메모리(5)로부터 판독하기 위한 데이터 메모리 판독 어드레스를 생성한다.
여기에, 제어신호(9)는, DSP 내부의 연산기(6), 데이터 메모리(5), 지연부 (8)를 제어하기 위한 신호이다.
지연부(8)는, 명령 디코더(4)가 생성된 데이터 메모리 저장 어드레스를 일시적으로 기억하고, 소정시간 대기 후에 데이터 메모리(5)에 전송한다. 이 소정시간이란, 명령이 지정된 연산처리에 대하여, 연산기(6)가 연산결과 데이터 출력하기까지의 지연시간만큼에 상당하다.
데이터 메모리(5)는, 외부 버스(1)로부터 데이터를 저장 가능한 구성으로 하고, 또한, 상기 데이터 메모리 판독 어드레스에 따라서 연산기(6)로 데이터를 출력하는 기능, 및, 지연부(6)로부터의 데이터 메모리 저장 어드레스에 따라서 연산기 (6)가 출력한 데이터를 기억하는 기능을 보유한다.
연산기(6)는, 프로그램 메모리(3)에 저장되는 프로그램의 연산명령에 대응한연산기능을 보유한다.
MUX7는, 명령 디코더(4)가 연산명령을 검출한 후에, 그 연산결과가 데이터 메모리(5)에 기록되는 시점에서는, 연산기(6)의 연산결과를 선택하여 데이터 메모리(5)에 전송하는 것이고, 명령 데이터(4)가 외부입력명령을 검출한 후에, 외부상태신호(10)가 데이터 메모리(5)에 기록되는 시점에서는, 외부상태신호(10)를 선택하여 데이터 메모리(5)에 전송하는 것이다.
도 6에 서보제어처리에 있어서 연산 이외에 처리시간이 걸리는 처리형태의 일예를 나타낸다. 도 6에 있어서, 오차량(11)은, 제어대상의 실제의 출력과 기대되는 출력 간의 차이고, 조작량(13)은 제어대상을 조작시키기 위한 정보이다.
오차량(11)은 어느 일정한 주기로 처리(A)에 입력되기 때문에, 오차량(11)을 기초로 조작량(13)을 생성하기까지의 시간에는 제한이 있고, 그 제한시간 내에, 이하의 처리를 행할 필요가 있다.
우선, 오차량(11)을 기초로 처리(A)로 연산처리가 행해지고, 상기 연산결과와 변수(1)(Z1)의 값으로부터 그 1개가, 선택부(12)에 의해 선택되어서 처리(B)에 주어진다.
처리(B)는, 선택부(12)에 의해 선택된 값을 기초로 연산을 행하고, 상기 연산결과를 기초로, 처리(1)의 중간결과가 변수(1)(Z1)에 저장되고, 처리(1)의 최종결과가 조작량(13)으로서 출력된다. 여기에, 선택부(12)에 입력되는 (Z1)은, 1주기 전에 처리(1)에서 연산처리되어 변수(1)에 저장된 값이다.
상기 방법에서 계산된 조작량(13)은, 예컨대, 외부 버스(1)를 통해서 판독되어 D/A변환기와 같은 출력회로로 입력된다라는 방법에 의해, 제어대상을 구동하기 위하여 사용된다.
상기 일예로서, 도 5에 외부상태신호(10)를 1비트의 신호로 하고, 외부상태신호(10)가 0인 경우, 도 6의 선택부(12)에 있어서 처리(A)의 출력이 선택되고, 외부상태신호가 1인 경우, 도 6의 선택부(12)에 있어서 Z1이 선택되는 것으로 한다.
도 7에, 도 6에 나타내는 처리형태예를 도 5의 DSP에서 처리시킨 경우의 프로그램 흐름의 일부를 나타낸다. 도 7의 프로그램 흐름의 『처리(A)→21→22→23→ 24→25→26→처리B』의 흐름을 구체화한 것이고, 각 명령은 프로그램 메모리 (3)로부터 명령 디코더(4)에 전송된다.
우선, 외부입력명령(21)의 실행에 의해, 외부상태신호(10)가 데이터 메모리 (5)의 K번지에 저장된다. 다음에, 비교명령(22)의 실행에 의해, 데이터 메모리(5)의 K번지의 값과 비교명령(22)의 피연산자 내에 있는 비교값이 데이터 메모리 (5)로부터 연산기(6)에 전송되어서 비교처리되고, 일치한 경우, 조건 JUMP명령(23)의 실행에 의해, 데이터 전송명령(26)의 존재하는 어드레스 값이 프로그램 카운터(2)에 세트되고, 계속해서 데이터 전송명령(26)의 실행에 의해, 처리(A) 출력값이 데이터 메모리(5) 내의 T번지에 저장된다.
비교명령(22)에 의한 비교처리에서 불일치한 경우, 프로그램 카운터(2)는 +1카운트업되고, 이어서 데이터 전송명령(24)의 실행에 의해, 변수(1)(Z1)의 값이 데이터 메모리(5) 내의 T번지에 저장되고, JUMP명령(25)의 실행에 의해, 처리(B)의 존재하는 어드레스 값이 프로그램 카운터(2)에 세트되고, 제어가 처리(B)로 이동한다.
처리(B)에서는, 데이터 메모리(5) 내의 T번지에 저장되어 있는 값을 기초로 연산처리를 행하게 된다. 결국, 외부상태신호(10)의 값에 의해서, 처리(B)로의 입력이, 처리(A) 출력값, 변수(Z1)로부터 선택되게 된다. 여기서는, 선택부(12)의 최대처리경로는, 『21→22→23→24→25』이고, 최소 5시스템 클럭시간 걸리게 된다.
또한, 이 예에서는, 2종류의 값으로부터의 선택처리이었지만, 이것이 N종류의 값으로부터의 선택처리로 되었을 경우, 도 7의 명령군(27)이 현행보다 더욱 (N-2)개 증가하게 되고, 프로그램 메모리(3)의 용량증가로 이어질 뿐만아니라, 선택부 (12)의 최소처리시간도, 현행보다 더욱 5×(N-2) 시스템 클럭 시간증가하고, 이 처리부하의 영향으로, 본래 행해야하는 제어처리에 할당하는 시간이 부족한 경우가 발생한다.
그러나 상기한 바와 같이 종래의 DSP에서는, 프로그램 처리에 있어서, 외부로부터의 정보를 판단기준으로 하여 변수선택을 행할 때, 그 처리에 시간을 필요로 하고, 또한, 프로그램의 증가로 이어지기 때문에 프로그램 메모리(3)의 용량증가를 초래하게 된다.
이것은, 상기 DSP를 내장하는 시스템(LSI)을 개발할 때, 처리의 고속화를 방해할 뿐만아니라, LSI 칩 사이즈의 증대를 초래하고, 또는 소비전력 및 칩비용의 증대로 이어진다라는 문제점을 보유하고 있다.
본 발명은, 시스템 제어에 있어서 고속의 연산처리가 가능한 디지털신호 처리장치 및 그 제어방법에 관한 것이다.
도 1은, 본 발명의 실시형태1의 디지털신호 처리장치의 구성을 나타내는 블럭도이다.
도 2는, 동 실시형태 1에 있어서의 데이터 선택처리에 관한 프로그램 흐름이다.
도 3은, 본 발명의 실시형태 2의 디지털신호 처리장치의 구성을 나타내는 블럭도이다.
도 4는, 동 실시형태2에 있어서의 데이터 선택처리에 관한 프로그램 흐름이다.
도 5는, 종래의 디지털신호 처리장치의 구성을 나타내는 블럭도이다.
도 6은, 서보계에서의 시스템 제어처리에서 연산 이외에 처리시간이 걸리는 처리형태예이다.
도 7은, 동 종래예에 있어서의 데이터 선택처리에 관한 프로그램 흐름이다.
본 발명은, 상기 종래의 문제점을 해결하는 것으로, 회로규모를 저감하여 소비전력의 증대 및 비용증가를 억제할 수 있고, 또한, 신호처리속도를 보다 고속화할 수 있는 디지털신호 처리장치 및 그 제어방법을 제공한다.
상기 과제를 해결하기 위하여 본 발명의 디지털신호 처리장치 및 그 제어방법은, 외부상태신호를 가공하는 수단 또는 조건판정 데이터 선택수단 등의 비교적 소규모의 회로와, 조건판정 데이터 선택명령 디코드 기능을 추가한다.
즉, 본 발명의 청구항 1에 기재된 디지털신호 처리장치는, 프로그램을 저장하기 위한 프로그램 메모리와, 상기 프로그램 메모리로부터의 명령을 판독하기 위한 프로그램 카운터와, 상기 프로그램 메모리로부터 판독된 명령에 따라서 제어신호 및 어드레스를 출력하는 명령 디코더부와, 그 명령 디코더부가 출력하는 어드레스를 지연시키기 위한 지연부와, 상기 명령 디코더부가 출력하는 어드레스를 기초로 데이터를 출력하고, 상기 지연부로부터 출력되는 어드레스를 기초로 데이터저장하는 데이터 메모리와, 그 데이터 메모리로부터의 출력데이터를 기초로 연산을 행하고, 연산결과를 상기 데이터 메모리로 전송하는 연산기를 구비한 디지털신호 처리장치에 있어서, 외부신호를 가공하는 외부신호 가공수단과, 그 수단에 의해서 생성되는 출력과 상기 연산기의 출력 중에서 한쪽을 선택하여 상기 데이터 메모리로 저장하는 수단을 보유하는 구성으로 한다.
청구항 2에 기재된 디지털신호 처리장치의 제어방법은, 청구항 1에 기재된 디지털신호 처리장치의 제어방법으로서, 프로그램 카운터가 생성한 어드레스에 따라, 프로그램 메모리로부터 외부입력명령을 판독시키는 스텝과, 상기 외부입력명령을 디코드하고, 연산제어신호를 발행시키는 스텝과, 상기 연산제어신호에 따라,외부신호 가공수단에 의해서 가공된 데이터를 데이터 메모리에 저장시키는 스텝과, 상기 프로그램 카운터가 생성한 어드레스에 따라, 상기 프로그램 메모리로부터 승산명령을 판독시키는 스텝과, 상기 승산명령을 디코드하고, 연산제어신호를 발행시키는 스텝과, 상기 연산제어신호에 따라, 선택대상으로 되는 데이터 메모리 변수(1)와 상기 가공데이터의 승산을 행하고, 그 승산결과를 상기 데이터 메모리에 저장시키는 스텝과, 상기 승산명령을 실행하고, 선택대상으로 되는 데이터 메모리 변수(2)와 상기 가공데이터의 승산을 행하고, 그 승산결과를 상기 데이터 메모리에 저장시키는 스텝과, 상기 변수(1) 및 변수(2)에 관해서 가산명령을 실행하고, 그 가산결과를, 외부신호를 판정조건으로 하여 선택된 결과로서, 상기 데이터 메모리에 저장시키는 스텝으로 이루어지는 방법이다.
청구항 3에 기재된 디지털신호 처리장치는, 프로그램을 저장하기 위한 프로그램 메모리와, 상기 프로그램 메모리로부터 명령을 판독하기 위한 프로그램 카운터와, 상기 프로그램 메모리로부터 판독된 명령에 따라서 제어신호 및 어드레스를 출력하는 명령 디코더부와, 그 명령 디코더부가 출력하는 어드레스를 지연시키기 위한 지연부와, 상기 명령 디코더부가 출력하는 어드레스를 기초로 데이터를 출력하고, 상기 지연부로부터 출력된 어드레스를 기초로 데이터 저장하는 데이터 메모리와, 그 데이터 메모리로부터 출력데이터를 기초로 연산을 행하고, 연산결과를 상기 데이터 메모리로 전송하는 연산기를 구비한 디지털신호 처리장치에 있어서, 외부신호를 판정정보로서 조건판정을 행하는 데이터 선택수단과, 상기 데이터를 선택수단을 실행시키는 조건판정 데이터 선택명령 기능을 가지는 수단을 보유하는 구성으로 한다.
청구항 4에 기재된 디지털신호 처리장치의 제어방법은, 청구항 3항에 기재된 디지털신호 처리장치의 제어방법으로서, 프로그램 카운터가 생성한 어드레스에 따라, 프로그램 메모리로부터 조건판정 데이터 선택명령을 판독시키는 스텝과, 상기 조건판정 데이터 선택명령을 디코드하고, 연산제어신호를 발행시키는 스텝과, 상기 연산제어신호에 따라, 데이터 선택수단의 선택대상으로 되는 데이터를 데이터 메모리로부터 판독시키는 스텝과, 상기 데이터 선택수단에 의해서, 외부신호에 따라 선택된 데이터를 상기 데이터 메모리로 전송시키는 스텝과, 지연부로부터의 어드레스에 따라, 상기 데이터 메모리에 상기 선택 데이터를 저장시키는 스텝으로 이루어지는 방법으로 한다.
이들 구성 및 방법에 의하면, 외부상태신호를 가공하는 수단 또는 조건판정 데이터 선택수단 등의 비교적 소규모의 회로와, 조건판정 데이터 선택명령 디코드기능을 추가함으로써, 비교명령, 조건점프명령, 점프명령을 실행하는 것에 종래 필요한 회로구성, 및, 프로그램 메모리의 용량을 삭감할 수 있다.
또한, 제어처리의 1주기 기간에 걸리는 데이터 선택처리시간을 단축하여, 제어 본래의 연산처리명령의 실행량을 증대한다.
이상에 의해, 회로규모를 저감하여 소비전력의 증대 및 비용증대를 억제할 수 있고, 또한, 신호처리속도를 보다 고속화할 수 있다.
특히, 프로그램을 실행하는 경우, 외부상태에 기초하여 제어처리를 변경할 때에, 그 변경의 판정조건으로 되는 외부상태수가 증가하는 외, 상기 효과가 현저하게 나타난다.
이하, 본 발명의 실시형태를 나타내는 디지털신호 처리장치 및 그 제어방법에 관해서, 도면을 참조하면서 구체적으로 설명한다.
(실시형태1)
본 발명의 실시형태1의 디지털신호 처리장치 및 그 제어방법을 설명한다.
도 1은 본 실시형태1의 디지털신호 처리장치의 구성을 나타내는 블럭도이다.도 1에 있어서, 외부 버스(1), 프로그램 카운터(2), 프로그램 메모리(3), 데이터 메모리(5), MUX(7), 지연부(8), 제어신호(9)의 각 기능은, 도 5에 나타내는 상기 종래의 DSP와 마찬가지이다. 명령 디코더(4)는, 종래의 디코드기능이기 때문에, 비교명령, 조건점프명령, 점프명령을 해석하는 기능을 없게 한 것이다. 따라서, 연산기 (6)도, 종래의 연산기능 중, 비교연산기능을 삭제한 것이다.
조건점프명령 및 점프명령을 삭제함으로써, 종래, 명령 디코더(4)로부터 프로그램 카운터(2)로의 어드레스 기록하기 위한 시스템은 없게 되어 있다.
인코더(51)는, 외부상태신호(10)를 입력하게 하고, 소정의 신호가공을 행하며, MUX(7)로 전송하는 것이다.
인코더(51)의 동작의 일예를 나타낸다. 외부상태신호(10)를 1비트의 신호로 하고, 외부상태신호(10)가 0인 경우, 도 6의 선택부(12)에 있어서 처리(A) 출력이 선택되고, 외부상태신호가 1인 경우, 도 6의 선택부(12)에 있어서 Z1이 선택되는 것으로 한다. 인코더(51)는, 외부상태신호(10)가 0일 때에는 1워드의 Ox0100값을, 또한, 외부상태신호(10)가 1일 때에는 1워드의 Ox0001값을 출력하는 기능을 보유한다.
이와 관련하여, 상기 0x는 C언어로 16진수인 것을 표기하는 것이고, 0x0100 및, 0x0001은, 16진수의 각각 0100 및 0001을 표시한다.
도 2에, 도 6에 나타낸 처리형태예를 도 1의 DSP에서 처리시킨 경우의 프로그램 흐름의 일부를 나타낸다. 도 2의 프로그램 흐름의 『처리(A)→31→32→33→34→처리B』는, 도 6의 『처리(A)→선택부(12)→처리B』의 흐름을 구체화한 것이고,각 명령은 프로그램 메모리(3)로부터 명령 디코더(4)에 전송된다. 현시점에서 처리 (A) 출력, 변수(1)는 각 데이터 메모리(5)에 저장되어 있는 것으로 한다.
우선, 도 2의 외부입력명령(31)의 실행에 의해, 외부상태신호(10)를 인코더 (51)에 의해 가공한 신호(상기 0x0100이, 0x0001)가 데이터 메모리(5)의 K번지에 저장된다.
다음에, 승산명령(32)의 실행에 의해, 데이터 메모리(5)의 K번지의 값과 처리(A) 출력값이 데이터 메모리(5)로부터 연산기(6)에 전송되어서(처리(A) 출력값)×(상기 K번지의 값의 상위 바이트)의 승산이 행해지고, 결과는 데이터 메모리(5)의 G1번지에 저장된다. 다음에, 승산명령(33)의 실행에 의해, 상기 K번지의 값과 변수 (1)(Z1)값이 데이터 메모리(5)로부터 연산기(6)에 전송되어서, Z1×(상기 K번지의 값의 하위 바이트)의 승산이 행해지고, 결과는 데이터 메모리(5)의 G2번지에 저장된다. 또한, 상기 상위 바이트는, 예컨대 K번지의 값이 「0x0100」인 경우, 「01」이 상위 바이트, 「00」이 하위 바이트이다.
상기 내용을 더욱 상세하게 설명하면, 외부상태신호(10)가 0인 경우는, 상기한 바와 같이 인코더(51)에 의해 0x0100이 데이터 메모리(5)의 K번지에 저장된다. 그 경우, 상기 「(처리(A) 출력값)×(상기 K번지의 값의 상위 바이트)」의 승산은, 「(처리(A) 출력값)×(0x01)」로 되고, 그 결과, 데이터 메모리(5)의 G1번지에는 「처리(A) 출력값」이 저장된다. 또한, 상기 「Z1×(상기 K번지의 값의 하위 바이트)」의 승산은, 「Z1×(0x00)」으로 되고, G2번지에는 「0x0000」이 저장된다.
다음에, 가산명령(34)의 실행에 의해, 번지G1의 데이터 + 번지G2의 데이터의결과가, 데이터 메모리(5)의 T번지에 저장된다. 상기 예에서는, 번지G1의 데이터 + 번지G2의 데이터의 결과는, (처리(A) 출력값)×(0x0000)으로 되는 것이므로, 데이터 메모리(5)의 T번지에 (처리(A) 출력값)이 저장된다. 상기와는 반대로, 인코더 (51)에 의해 데이터 메모리(5)의 K번지에 0x0001이 저장된 경우는, 상기와는 반대로 (변수Z1)이 저장되게 된다. 결국, 외부상태신호(10)의 값에 의해, 처리(B)로의 입력이, 처리(A) 출력값, 변수(Z1)로부터 선택된 것으로 된다.
처리B에서는 T번지에 저장되어 있는 값을 기초로 연산처리를 행하는 것으로 된다. 여기서는, 선택부(12)의 처리경로는, 항상 일정하여 『31→32→33→34』이고, 4시스템 클럭 시간으로 된다.
또한, 이 예에서는, 2종류의 값으로부터의 선택처리이었지만, 이것이 N종류의 값으로부터의 선택처리로 된 경우에도, 도 2의 외부입력명령 1개, 승산명령N개, 가산명령(N-1)개를 행하면 좋고, 종래예에 비교하여 프로그램 메모리(3)의 용량을 삭감할 수 있을 뿐만아니라, 도 6의 선택부(12)의 최소처리시간도, 1+N+(N-1)=2N시스템 클럭 시간으로 끝난다.
(실시형태2)
본 발명의 실시형태2의 디지털신호 처리장치 및 그 제어방법을 설명한다.
도 3은 본 실시형태2의 디지털신호 처리장치의 구성을 나타내는 블럭도이다. 도 3에 있어서, 외부 버스(1), 프로그램 카운터(2), 프로그램 메모리(3), 데이터 메모리(5), 지연부(8), 제어신호(9)의 각 기능은, 도 5에 나타내는 상기 종래의 DSP와 마찬가지이다. 명령 디코더(4)는, 상기 종래의 디코드기능으로부터, 비교명령, 조건점프명령, 점프명령을 해석하는 기능을 없게 하고, 또한, 도 4의 데이터 선택명령(41)을 해석하는 기능을 부가한 것이다. 따라서, 연산기(6)도, 종래의 연산기능 중, 비교연산기능을 삭제한 것이다. 조건점프명령, 점프명령을 삭제함으로써, 종래, 명령 디코더(4)로부터 프로그램 카운터(2)로의 어드레스 기록을 위한 시스템은 없게 되어 있다.
여기에, 도 4의 데이터 선택명령(41)을 실행하면, MUX(61)는, 외부상태신호 (10)가 0인 경우, 데이터 메모리의 X출력을 선택하고, 외부상태신호(10)가 1인 경우, 데이터 메모리의 Y출력을 선택한다. MUX(62)는, 실행되는 명령이 데이터 선택명령의 경우에 MUX(61)의 출력을 선택하고, 실행되는 명령이 데이터 선택명령 이외의 경우에 연산기(6)의 출력을 선택한다. 결국, MUX(62)의 출력은, 실행되는 명령이 데이터 선택명령의 경우에는 외부상태신호(10)에 의해서 데이터 메모리의 X출력 또는 Y출력이 선택되고, 실행되는 명령이 데이터 선택명령 이외의 경우에는, 데이터 메모리의 X출력과 Y출력을 연산기(6)로 연산한 결과가 선택된다.
또한, 지연부(8)는, 상기 종래예와 마찬가지로, 명령 디코더(4)가 생성한 데이터 메모리 저장 어드레스를 일시적으로 기억하고, 소정시간 대기 후에 데이터 메모리(5)에 전송한다.
도 4에, 도 4에서 나타낸 처리형태예를 도 3의 DSP에서 처리시킨 경우의 프로그램 흐름의 일부를 나타낸다. 도 4의 프로그램 흐름의 『처리(A)→41→처리B』는, 도 6의 『처리(A)→선택부12→처리B』의 흐름을 구체화한 것이고, 각 명령은 프로그램 메모리(3)로부터 명령 디코더(4)에 전송된다. 현시점에서, 처리(A) 출력,변수(1)는 각각 데이터 메모리(5)에 저장되어 있는 것으로 한다.
우선, 데이터 선택명령(41)의 실행에 의해, 데이터 메모리(5)의 X포트로부터 처리(A) 출력값이, Y포트로부터 변수(1)(Z1)값이 출력되고, MUX(61)에서, 외부상태신호(10)의 값에 의해 어떤 한 값이 선택되고, MUX(62)에서 상기 선택값이 선택되어 데이터 메모리(5)의 T번지에 저장된다. 처리(B)에서는 T번지에 저장되어 있는 값을 기초로 연산처리를 행하는 것으로 된다.
결국, 외부상태신호(10)의 값에 의해서, 처리(B)로의 입력이, 처리(A) 출력값, 변수(Z1)로부터 선택된 것으로 된다. 여기서는, 선택부(12)의 처리경로는 항상 일정하여 『41』만이고, 1시스템 클럭시간으로 된다.
이 예에서는, 2종류의 값으로부터의 선택처리이었지만, 이것이 N종류의 값으로부터의 선택처리로 된 경우에도, (N-1)개의 데이터 선택명령을 행하면 좋고, 종래예에 비교하여 프로그램 메모리(3)의 용량을 삭감할 수 있을 뿐만아니라, 선택부(12)의 최소처리시간도, (N-1)시스템 클럭시간으로 끝난다.

Claims (4)

  1. 프로그램을 저장하기 위한 프로그램 메모리와, 상기 프로그램 메모리로부터 명령을 판독하기 위한 프로그램 카운터와, 상기 프로그램 메모리로부터 판독된 명령에 따라서 제어신호 및 어드레스를 출력하는 명령 디코더부와, 그 명령 디코더부가 출력하는 어드레스를 지연시키기 위한 지연부와, 상기 명령 디코더부가 출력하는 어드레스를 기초로 데이터를 출력하고, 상기 지연부로부터 출력되는 어드레스를 기초로 데이터 저장하는 데이터 메모리와, 그 데이터 메모리로부터의 출력데이터를 기초로 연산을 행하고, 연산결과를 상기 데이터 메모리로 전송하는 연산기를 구비한 디지털신호 처리장치에 있어서, 외부신호를 가공하는 외부신호 가공수단과, 그 수단에 의해서 생성되는 출력과 상기 연산기의 출력 중에서 한쪽을 선택하여 상기 데이터 메모리로 저장하는 수단을 보유하는 것을 특징으로 하는 디지털신호 처리장치.
  2. 제 1항에 기재된 디지털신호 처리장치의 제어방법으로서,
    프로그램 카운터가 생성한 어드레스에 따라, 프로그램 메모리로부터 외부입력명령을 판독시키는 스텝과,
    상기 외부입력명령을 디코드하고, 연산제어신호를 발행시키는 스텝과,
    상기 연산제어신호에 따라, 외부신호 가공수단에 의해서 가공된 데이터를 데이터 메모리에 저장시키는 스텝과,
    상기 프로그램 카운터가 생성한 어드레스에 따라, 상기 프로그램 메모리로부터 승산명령을 판독시키는 스텝과,
    상기 승산명령을 디코드하고, 연산제어신호를 발행시키는 스텝과,
    상기 연산제어신호에 따라, 선택대상으로 되는 데이터 메모리 변수(1)와 상기 가공데이터의 승산을 행하고, 그 승산결과를 상기 데이터 메모리에 저장시키는 스텝과,
    상기 승산명령을 실행하고, 선택대상으로 되는 데이터 메모리 변수(2)와 상기 가공데이터의 승산을 행하고, 그 승산결과를 상기 데이터 메모리에 저장시키는 스텝과,
    상기 변수(1) 및 변수(2)에 관해서 가산명령을 실행하고, 그 가산결과를, 외부신호를 판정조건으로 하여 선택된 결과로서, 상기 데이터 메모리에 저장시키는 스텝으로 이루어지는 디지털신호 처리장치의 제어방법.
  3. 프로그램을 저장하기 위한 프로그램 메모리와, 상기 프로그램 메모리로부터 명령을 판독하기 위한 프로그램 카운터와, 상기 프로그램 메모리로부터 판독된 명령에 따라서 제어신호 및 어드레스를 출력하는 명령 디코더부와, 그 명령 디코더부가 출력하는 어드레스를 지연시키기 위한 지연부와, 상기 명령 디코더부가 출력하는 어드레스를 기초로 데이터를 출력하고, 상기 지연부로부터 출력된 어드레스를 기초로 데이터 저장하는 데이터 메모리와, 그 데이터 메모리로부터의 출력데이터를 기초로 연산을 행하고, 연산결과를 상기 데이터 메모리로 전송하는 연산기를 구비한 디지털신호 처리장치에 있어서,
    외부신호를 판정정보로 하여 조건판정을 행하는 데이터 선택수단과, 상기 데이터를 선택수단을 실행시키는 조건판정 데이터 선택명령 기능을 가지는 수단을 보유하는 것을 특징으로 하는 디지털신호 처리장치.
  4. 제 3항에 기재된 디지털신호 처리장치의 제어방법으로서,
    프로그램 카운터가 생성한 어드레스에 따라, 프로그램 메모리로부터 조건판정 데이터 선택명령을 판독시키는 스텝과,
    상기 조건판정 데이터 선택명령을 디코드하고, 연산제어신호를 발행시키는 스텝과,
    상기 연산제어신호에 따라, 데이터 선택수단의 선택대상으로 되는 데이터를 데이터 메모리로부터 판독시키는 스텝과,
    상기 데이터 선택수단에 의해서, 외부신호에 따라 선택된 데이터를 상기 데이터 메모리로 전송시키는 스텝과,
    지연부로부터의 어드레스에 따라, 상기 데이터 메모리에 상기 선택 데이터를 저장시키는 스텝으로 이루어지는 디지털신호 처리장치의 제어방법.
KR10-2001-7005296A 1999-08-31 2000-08-30 디지털신호 처리장치 및 그 제어방법 KR100396189B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP24415899 1999-08-31
JP99-244158 1999-08-31

Publications (2)

Publication Number Publication Date
KR20010080916A true KR20010080916A (ko) 2001-08-25
KR100396189B1 KR100396189B1 (ko) 2003-08-27

Family

ID=17114637

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-7005296A KR100396189B1 (ko) 1999-08-31 2000-08-30 디지털신호 처리장치 및 그 제어방법

Country Status (7)

Country Link
US (1) US6704853B1 (ko)
JP (1) JP3534737B2 (ko)
KR (1) KR100396189B1 (ko)
CN (1) CN1229718C (ko)
ID (1) ID29154A (ko)
TW (1) TWI226015B (ko)
WO (1) WO2001016712A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI273425B (en) * 2004-12-21 2007-02-11 Hon Hai Prec Ind Co Ltd An apparatus and method for encoding digital data of transferring on single digital signal circuit
CN100377068C (zh) * 2005-08-29 2008-03-26 硕颉科技股份有限公司 串行式存储器程序控制器
GB2480285A (en) * 2010-05-11 2011-11-16 Advanced Risc Mach Ltd Conditional compare instruction which sets a condition code when it is not executed

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2215877A5 (ko) * 1973-01-26 1974-08-23 Thomson Csf
US3875391A (en) * 1973-11-02 1975-04-01 Raytheon Co Pipeline signal processor
US4298936A (en) * 1979-11-15 1981-11-03 Analogic Corporation Array Processor
JPH02224516A (ja) 1989-02-27 1990-09-06 Nec Corp 適応信号処理回路
JP2901648B2 (ja) 1989-07-03 1999-06-07 沖電気工業株式会社 ディジタル信号処理プロセッサ及びその制御方法
JPH04218834A (ja) 1990-12-19 1992-08-10 Yamaha Corp 条件分岐制御回路
JP3628361B2 (ja) 1994-11-02 2005-03-09 株式会社ルネサステクノロジ デジタル処理装置
US6154829A (en) * 1997-10-20 2000-11-28 Matsushita Electric Industrial Co., Ltd. Cascaded arithmetic pipeline data processor
KR100326270B1 (ko) * 1998-12-24 2002-05-09 박종섭 어드레스버퍼와칼럼프리디코더사이에서하나의공통어드레스버스라인을사용하는반도체메모리소자
KR100308618B1 (ko) * 1999-02-27 2001-09-26 윤종용 단일 칩 상의 마이크로프로세서-코프로세서 시스템을 구비한 파이프라인 데이터 처리 시스템 및 호스트 마이크로프로세서와 코프로세서 사이의 인터페이스 방법

Also Published As

Publication number Publication date
WO2001016712A1 (fr) 2001-03-08
CN1321272A (zh) 2001-11-07
JP3534737B2 (ja) 2004-06-07
CN1229718C (zh) 2005-11-30
KR100396189B1 (ko) 2003-08-27
US6704853B1 (en) 2004-03-09
ID29154A (id) 2001-08-02
TWI226015B (en) 2005-01-01

Similar Documents

Publication Publication Date Title
US5056004A (en) Program control system which simultaneously executes a program to be repeated and decrements repetition numbers
JP2796797B2 (ja) ディジタル命令プロセッサ制御装置によってインターラプトルーチンを処理する方法
US6304954B1 (en) Executing multiple instructions in multi-pipelined processor by dynamically switching memory ports of fewer number than the pipeline
JP2003108368A (ja) 並列演算プロセッサ、その演算制御方法及びプログラム
US5459847A (en) Program counter mechanism having selector for selecting up-to-date instruction prefetch address based upon carry signal of adder which adds instruction size and LSB portion of address register
JPH01239639A (ja) データ処理装置にある命令バツフア記憶装置の回路装置及び制御方法
US20070260857A1 (en) Electronic Circuit
KR100396189B1 (ko) 디지털신호 처리장치 및 그 제어방법
JPH08212075A (ja) 情報処理装置
JP3602801B2 (ja) メモリデータアクセス構造およびその方法
JPH11316678A (ja) ディジタル信号処理装置及び信号処理システム
US6266764B1 (en) Program controller for switching between first program and second program
US5463747A (en) Microprogram data processor processing operand address calculation and instruction execution with common hardware
JP3211791B2 (ja) ループ処理方式
JPH10161873A (ja) プロセッサ
WO1993018451A1 (en) Elimination of the critical path in memory control unit and input/output control unit operations
JPH05173778A (ja) データ処理装置
JPH08161222A (ja) プロセッサ及びそのプログラム作成方法
JPH0512009A (ja) デイジタル信号処理装置
JPH11327900A (ja) 演算処理方法およびマイクロプロセッサ装置
JP2003140886A (ja) インストラクションセット及びコンパイラ
JPH07113891B2 (ja) パイプライン処理装置
US20110289339A1 (en) Semiconductor device
JP2001100991A (ja) ディジタル信号処理装置
JP2003108367A (ja) プログラムメモリ削減方法およびプログラムメモリ読出回路

Legal Events

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

Payment date: 20100811

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee