KR100211549B1 - 공유 내부 메모리를 가지는 종합 디지탈 신호프로세서/범용 cpu - Google Patents

공유 내부 메모리를 가지는 종합 디지탈 신호프로세서/범용 cpu Download PDF

Info

Publication number
KR100211549B1
KR100211549B1 KR1019900018430A KR900018430A KR100211549B1 KR 100211549 B1 KR100211549 B1 KR 100211549B1 KR 1019900018430 A KR1019900018430 A KR 1019900018430A KR 900018430 A KR900018430 A KR 900018430A KR 100211549 B1 KR100211549 B1 KR 100211549B1
Authority
KR
South Korea
Prior art keywords
shared
digital signal
general purpose
memory array
execution unit
Prior art date
Application number
KR1019900018430A
Other languages
English (en)
Other versions
KR910014829A (ko
Inventor
인트레이터 아모스
인트레이터 기대은
엘스테인 레브
Original Assignee
클라크 3세 존 엠.
내셔널 세미컨덕터 코포레이션
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 클라크 3세 존 엠., 내셔널 세미컨덕터 코포레이션 filed Critical 클라크 3세 존 엠.
Publication of KR910014829A publication Critical patent/KR910014829A/ko
Application granted granted Critical
Publication of KR100211549B1 publication Critical patent/KR100211549B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • 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/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • 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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Advance Control (AREA)
  • Complex Calculations (AREA)
  • Control By Computers (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

범용 프로세서와 디지털 신호 프로세서(DSP) 모듈을 포함하는 디지털 신호 처리용 종합 데이터 처리 시스템. DSP 모듈은 범용 프로세서에 의해 선택된 DSP 연산 시이퀀스를 이용하여 디지털 신호로부터 디지털 데이터를 회복한다. 범용 프로세서는 DSP 모듈에 의해 회복된 디지털 데이터를 처리할 뿐 아니라 범용 타스크(task)를 수행하는데에도 이용가능하다. 공유내부 어레이는 DSP 모듈 및 범용 프로세서에 정보를 선택적으로 제공한다. 내부 메모리 어레이에 저장된 정보는 DSP 알고리듬의 실행에 이용되는 오퍼랜드 및 DSP 알고리듬의 실행을 제어하기 위해서 또는 자체의 범용 타스크를 실행하기 위해서 범용 CPU에 의해 이용되는 선택된 명령 및 데이터를 포함한다.
많은 응용 례에 있어서, 데이터 처리 시스템은 아날로그 전송 채널상에서 수신된 변조 입력 신호를 데이터 처리 시스템에 의한 처리를 위해 상용하는 디지털 신호로 변환시키는 아날로그 전단을 포함할 것이나, 데이터 처리 시스템은 또한 디지털 소스로부터 직접 디지털 신호를 수신할 수도 있다.

Description

공유 내부 메모리를 가지는 종합 디지털 신호 프로세서/범용 CPU
제1도는 종래의 팩시밀리 시스템의 기본적 기능 분할을 예시하는 블록 다이어그램.
제2도는 본 발명에 따른 데이터 처리 시스템의 기본적 기능 분할을 예시하는 블록 다이어그램.
제3도는 본 발명에 따른 데이터 처리 시스템의 주 기능 유니트를 예시하는 블록 다이어그램.
제4도는 본 발명에 따른 데이터 처리 시스템에서 사용 가능한 DSP (디지탈 신호 처리) 모듈을 예시하는 블록 다이어그램.
제5도는 본 발명에 다른 데이터 처리 시스템의 범용 프로세서 어드레스 매핑(mapping)을 예시하는 도면.
제6도는 본 발명에 따른 DSP 모듈에 사용하는 복소벡터(complex vactor)의 메모리 구성을 예시하는 표.
제7도는 본 발명에 따른 DSP 모듈용의 명령어 세트의 요약도.
제8도는 본 발명에 따른 DSP 모듈용 순환 버퍼의 취급을 예시하는 표.
제9(a)도는 VCMAG 명령을 실행하는 DSP와 함께 본 발명에 따른 데이터 처리 시스템의 내부 버스구조를 예시하는 블록 다이어그램.
제9(b)도는 VCMAD, VCMUL 또는 VCMAC 명령을 실행하는 DSP 모듈과 함께 본 발명에 따른 데이터 처리 시스템의 내부 버스 구조를 예시하는 블록 다이어그램.
제9(c)도는 DSP 모듈의 레지스터 또는 내부 메모리 어레이에 추출 또는 서입을 실행하는 범용 프로세서와 함께 본 발명에 따른 데이터 처리 시스템의 내부 버스 구조를 예시하는 블록 다이어그램.
[발명의 배경]
[발명의 분야]
본 발명은 일반적으로는 데이터 처리 시스템, 상세히는, 내부 공용 메모리 자원(internal shared memary rescurce)을 이용하는 디지털 데이터 회복 및 처리를 위한 종합 범용 및 디지털 신호 처리(DSP) 성능을 제공하는 처리 플랫폼에 관한 것이다.
[종래 기술의 설명]
어떤 통신 시스템이든 그 기본 기능은 정보를 통신 채널을 통해서 정보 소스로부터 수신지까지 가능한한 신속하고 정확하게 전송하는 것이다.
2가지의 일반적 형태의 정보 소스가 있다. 전화기 마이크로폰 같은 아날로그 소스는 연속 신호를 발생시킨다. 디지털 데이터 처리 시스템과 같은 디지털 소스는 일련의 펄스들로 이루어지는 신호를 발생시킨다.
아날로그 신호를 전송하도록 설계된 통신 채널들 (예컨대, 전화 회선망)은 디지털 신호를 전송하기 어렵게하는 특성을 갖는다. 아날로그 채널을 통한 디지털 펄스 스트림의 전송을 허용하기 위해서는, 아날로그 전송 채널과 양립할 수 있는 반송 파형을 변조하도록 디지털 데이터 펄스들을 이용하는 것이 필수적이다.
필요한 변조를 수행하는 장치는 일반적으로 모뎀(MODEM)으로 호칭된다. 모뎀이란 용어는, 그 장치의 일부가 통상 전송된 신호를 변조할뿐 아니라 수신된 신호들을 복조하여 변조된 아날로그 반송 파형으로부터 디지털 데이터를 회복하는 성능을 포함하기 때문에 변조기 - 복조기(Modulator - DEModulator)에 대한 약어이다.
변조된 반송 파형은 전송 채널을 통과하는 동안 시스템 자체 및 잡음 혼고(noise contamination) 모두에 의해 야기된 왜곡을 당한다. 그러므로, 모뎀의 복조 기능의 타스크(task)중 하나는 신호에 잡음비를 개선하도록 전송 채널로부터 수신된 신호를 필터링하는 것이다. 복조기는 또한 디지털 데이터를 회복하기 위한 샘플링 지점들을 제공하도록 수신된 신호로부터 타이밍 정보를 검색한다. 복조기는 또한 데이터를 추가 처리에 적합하게하기 위하여 데이터를 다른 방법으로 조정할 수도 있다.
종래의 모뎀에 있어서, 신호 필터링, 샘플링 및 조정 타스크들은 3개의 기능유니트, 즉, 수신된 보조 반송파형을 디지털화된 모사 파형(replica)으로 변환하는 아날로그-디지탈 변환회로 (아날로그 전단(analog front and)), 디지털화된 모사 파형으로부터 디지털 데이터를 회복하는 디지털 신호 프로세서(DSP) 및, 아날로그 전단과 디지털 신호 프로세서 양자 모두를 제어하는 제어기능부에 의해 수행된다. 디지털 신호 르로세서는 수신되는 데이터의 형태에 특정한 신호 조정 및 데이터 회복 알고리듬을 이행함으로써 데이터를 회복한다.
예를들어, 팩시밀리(팩스) 기기용 모뎀에 있어서, 디지털 신호 프로세서 기능은 디지털 팩스 데이터를 회복하기 위해서만 사용될 수 있는 특정 목적 알고리듬을 실행한다.
팩스 시스템의 경우에, 회복될 데이터는, 전송된 하드 카피 화상(hard copy immage)에 상응하는 디지털 비트 맵이며, 효율적인 전송을 용이하게 하기 위하여 압축됐다. 수신용 팩스 기기 모뎀의 디지털 신호 프로세서 기능에 의해 이행된 알고리듬은 압축된 비트 맵을 정확히 회복하도록 특별히 설게된 전용 팩스 알고리듬이다. 그것은 압축된 비트 맵의 다른 포맷, 예컨대 음성 메일(mail) 데이터 또는 데이터 모뎀 용도의 디지털 데이터를 회복할 수 없다. 다른 전용 음성 메일 또는 데이터타 모뎀 알고리듬을 이행하는 다른 디지털 신호 프로세서가 이들 다른 용도 각각을 위해 필요하다.
제1도에 도시된 바와 같이, 종래의 팩스 기기 제품은, 2개의 주기능 블록; 즉, (1) 변조된 반송 파형으로부터 압축된 비트 맵을 회복하는 전술된 형태의 특정 용도 팩스 모뎀 블록과 (2) 압축된 비트 맵을 상응하는 하드 카피 화상으로 변환시키기 위해서 필요한 그들의 타스크를 수행하는 범용 프로세서 블록으로 분할된다.
특정 용도의 팩스 모뎀 블록의 잘 알려진 실례는 소위 로크웰 모듈(Rockwell Module)이라 불리는 Rockwell R96 DFX MONOFAX , 모뎀 칩이다. 로크웰 모듈에 있어서, 아날로그 채널, 즉, 전화 회선으로부터 수신된 착신 변조 반송 파형은 아날로그 전단에 의해 처리되며, 그 아날로그 전단은 아날로그 신호의 디지털화된 모사 파형을 발생시킨다. 즉, 아날로그 전단은 입력 전압 레벨의 디지털 독출 레벨을 발생시킨다.
그 후에, 전용 팩스 디지털 신호 프로세서가 아날로그 전단에 의해 제공된 디지털화된 모사 파형으로부터 압축된 팩시밀리 비트맵을 재구성하는데 필요한 적응 필터링, 신호 샘플링, 동기화 및 반송파 위상/주파수 추적(tracking)을 수행한다.
회복된 비트 맵은 그후에 범용 프로세서 블록으로 공급되고, 그 프로세서 블록은 전송된 화상을 인쇄하는데 필요한 추가 처리 기능을 수행한다. 즉, 범용 프로세서 블록은 회복된 비트 맵의 하드 카피 재생 상을 발생시키는데 필요한 데이터 신장, 디코딩, 화상 처리 및 인쇄 기능을 수행한다.
화상을 전송하기 위하여, 제1도에 도시된 팩스 기기는 전술된 단계들을 역의 순서로 수행한다. 범용 프로세서 블록은 하드 카피 화상의 상응하는 압축 비트 맵으로의 변환을 제어하고 수행한다. 압축 비트 맵은 그후에 특정 목적 팩스 모뎀 블록으로 공급되는바, 그 팩스 모뎀 블록은, 아날로그 채널을 통해서 전용 팩스 기기로 전송되는 반송 파형을 변조하기 위하여 비트 맵을 사용한다.
로크웰 모듈과 유사한 모뎀 제품은 야마하 YM 7109 팩스 모뎀 LSI 칩으로도 제공된다.
로크웰 모듈 및 야마하(Yamaha) 모뎀 칩으로 예시되는 팩스 기기 제품, 즉, 별도의 범용 프로세서 블록과 결합하는 특정 목적 모뎀 블록은 다수의 단점이 있다.
첫째로, 시스템이 2개의 분리된 프로세서 기능, 즉, 압축된 비트 맵을 회복하기 위한 모뎀 블록의 특정 목적 DSP 기능과 압축 비트 맵을 하드 카피로 변환하는데 필요한 잔여 타스크를 수행하기 위한 범용 프로세서 블록의 범용 처리 및 제어 기능을 필요로 한다. 아무런 팩시밀리 전송도 수신되지 않는 시간의 시간이 있기 때문에 시스템의 전체 처리 능력이 상당히 불충분하게 이용된다. 더욱이, 모뎀 블록의 DSP 기능은 특정 용도, 이 경우에는, 팩시밀리 수신/전송에 전용된다. 즉, 전술된 바와 같이, 착신 데이터를 회복하기 위하여 사용된 DSP 알고리듬은 고정되어 있는바, 즉, 모뎀 알고리듬에는 팩스 알고리듬의 계수를 수정할 수 있는 능력을 제외하고는 팩시밀리 데이터 회복 이외의 타스크를 수행하도록 허용하는 어떤 융통성도 없다. 이는, 고가이고 특정용도에 국한된 용장도 처리능력의 시스템 제품을 초래한다.
로크웰 및 야마하 모뎀 제품의 변형물로는 OKI KV96-X6D 모뎀 칩 세트가 예시된다. OKI 모뎀 칩 세트 제품은 전술된 로크웰 및 야마하 모뎀들의 분할된 모뎀 및 범용 프로세서 기능을 유지하는 한편, 그것의 아날로그 전단과 DSP 기능도 분리된다. DSP 기능은 프로그램가능하기 때문에, 처리될 수 있는 신호의 형태에 있어서 약간의 융통성이 허용된다.
그러나, OKI 모뎀의 DSP 기능은, 일단 프로그램되면, 고정된 DSP 알고리듬에 종속한다. 그러므로, OKI 제품은 로크웰 및 야마하 디바이스와 같은 기본적 한게 및 비효용성을 가진다.
텍사스 인스트루먼츠사의 TMS320C25 디지털 신호 프로세서는, 복수의 DSP 알고리듬 시이퀀스를 수용할 수 있다는 점에서 범용 DSP 능력을 제공한다. 그러나, 이것은 DSP 조작 및 데이터의 저장용 전용 메모리에 의존한다. 그러므로, 그것은 결합되는 범용 프로세서에 의해 제공된 것 외의 자체의 한정 제어 능력을 합체해야 한다.
NEC IC 마이크로 시스템사는 범용 프로세서 블록과 합체되는 DSP 코어를 포함하는 모뎀 DSP 칩을 공급하고 있다. 그러나, NEC 디바이스의 DSP 코어는 특정 알고리듬에 전용되며 오퍼랜드(operand)의 저장 및 검색을 위한 범용 프로세서 기능의 그것과는 분리된 내부 메모리 및 자체 제어기능에 의존한다. 더욱이, 범용 프로세서 기능의 완전히 합체되어 전용 DSP 기능과 연관된 것들외의 다른 타스크를 위해서는 사용 불가능하게 한다.
그러므로, 여러 가지 DSP 알고리듬을 실행할 수 있는 한편 완전한 범용 프로세서 능력을 유지할 수 있는 이중 프로세서 플랫폼으로 사용할 수 있는 것이 바람직하다.
[본 발명의 개요]
본 발명은, 공통 억세스를 내부 공유 메모리에 연결되는 종합 범용 프로세서(GPP) 및 디지털 신호 프로세서(DSP) 기능을 사용하는 데이터 처리 시스템을 제공한다. 공유 메모리 어레이는 DSP 기능에 의해 실행될 수 있는 일련의 기본 DSP 연산용 오퍼랜드를 저장한다. DSP 기능에 의해 실행되는 DSP 연산 시이퀀스는 GPP 기능에 의해 선택적으로 통합가능한바, 즉, 범용 프로세서는 여러 가지 디지털 입력 신호 포맷들을 처리하도록 DSP 기능에 의해 실행될 수 있는 다양한 DSP 알고리듬을 정의한다. DSP 알고리듬의 실행을 위해 DSP 기능이 필요로하는 오퍼랜드를 저장함에 추가하여, 내부 공유 메모리 어레이도 범용 타스크의 실행을 위해서 GPP 기능이 필요로 하는 선택된 명령 및 데이터를 저장한다. 오퍼랜드, 명령 및 데이터는 시스템 메모리로부터 내부 공유 메모리 어레이에 선택적으로 로드(load) 된다. DSP 알고리듬의 실행후에, 해당 정보세트는 이후 내부 메모리 어레이로부터 시스템 메모리로 다운 로드(DOWN-LOAD)되고 신규 정보 세트가 차후의 DSP 알고리듬 또는 신규의 범용 프로세서 타스크의 실행을 위하여 검색된다.
그러므로, 본 발명의 원리에 따라, 범용 프로세서는 착신 신호로부터의 디지털 데이터를 조정 및 회복한다. 즉, GPP는 기본 DSP 연산 세트로부터 선택하여 착신 신호를 처리하는데 적절한 특정 사이퀀스의 DSP 연산을 결정한다.
그 후에, GPP는 DSP 기능을 제어하기 위하여 또는 GPP 타스크를 수행하기 위하여 GPP에 임계인 데이터와 선택된 DSP 알고리듬 및/또는 명령의 실행에 필요한 오퍼랜드를 검색하고, 그것들을 내부 공유 메모리 어레이에 로드시킨다. 다음에, GPP는 선택된 시이퀀스내의 제1 DSP 연산을 호출하고 DSP 기능은 공유 메모리 어레이와 시스템 메모리 양자 모두로부터 DSP 기능에 의해 검색된 오퍼랜드를 이용하는 DSP 연산을 수행한다.
DSP 기능에 의한 DSP 연산의 원료시에, GPP 기능은 DSP 연산의 결과를 독출하고 선택된 시이퀀스내에서 다음의 DSP 연산을 호출하거나 GPP 타스크를 수행한다. 이 과정은 선택된 시이퀀스의 DSP 연산들이 DSP 기능에 의해 실행된 때까지 계속된다. 그후에, GPP는 선택된 DSP 알고리듬을 실행하는데 사용된 오퍼랜드, 명령 및 데이터를 내부 공유 메모리로부터 다운 로드하고 기본 DSP 연산 세트로부터 형성된 차후의 DSP 알고리듬을 검증 및 실행하거나 별도의 GPP 타스크를 위한 필요한 명령 및 데이터를 검색한다.
데이터 처리 시스템으로의 입력 신호는 디지털 소스로부터 직접 수신될 수 있으나, 본 발명의 바람직한 실시예는, 아날로그 채널상에서 수신된 변조된 입력신호를 데이터 처리 시스템에 의한 처리를 위하여 상당하는 디지털 신호로 변환하는 아날로그 전단을 포함한다.
그러므로, 본 발명에 따른 데이터 처리 시스템은 작은 DSP 모듈과 범용 프로세서를 합체함으로써 구획하는 독특한 시스템을 제공한다. 이 독특한 구획은, DSP 및 범용 계산 양자 모두에 대한 단일 프로세서 해(solution)를 제공하는바, 양 기능 모두에 대해 같은 프로그래밍 모델과 같은 시스템 개발공유(system development tool)를 이용할 수 있다.
DSP 모듈은 다양한 DSP 조건을 취급하는데 필요한 능력을 제공한다. 내부 공유 메모리는 DSP 알고리듬이 조정 또는 변경되거나 변경, 신장 시스템 조건을 충족시키기 위하여 새로운 알고리듬이 가산될 수 있도록 허용한다. 범용 계산 집약 타스크(computation intensive task) 역시 내부 공유 메모리로부터 직접 실행될 수 있다.
후술되는 본 발명의 상세한 설명 및 본 발명의 원리가 이용되는 예시적인 실시예를 보여주는 첨부 도면을 참조하면 본 발명의 특징 및 장점이 더욱 잘 이해될 수 있다.
[본 발명의 상세한 설명]
제2도는 본 발명의 개념에 따라 독특하게 구획되는 데이터 처리 시스템(10)을 보여준다. 데이터 처리 시스템(10)이 팩시밀리 시스템의 조건들과 관련하여 후술된다. 그러나, 본 기술 분야의 숙련자라면 본 발명의 원리가 디지털 신호 처리를 필요로하는 착신 데이터 신호를 수신하는 어떤 시스템에도 적용 가능함을 이해할 것이다.
제2도에 도시된 데이터 처리 시스템(10)은 2개의 주기능 요소, 즉, 아날로그 전단(12)과 종합 처리 플랫폼(14)을 포함한다. 종합 처리 플랫폼(14)을 포함한다. 종합 처리 플랫폼(14)은 디지털 신호 프로세서(DSP) 모듈(16)과 범용 프로세서(GPP; 18) 양자 모두를 포함한다.
아날로그 전단(12)은 아날로그 전송 채널, 예컨대, 전화 회선으로부터 수신된 변조된 입력신호의 디지털화된 모사 신호로 변환한다. 아날로그 전단(12)은 이러한 목적으로 사용가능한 종래의 오프-더-쉘프(off - the - shelf)집적 회로 제품을 이용하여 충족될 수 있다.
전술된 바와 같이, 종합 프로세서 플랫폼(14)은 아날로그 전단(12)에 의해 발생된 디지털 신호로부터 디지털 데이터를 회복시키는 DSP 모듈(16)을 포함한다. DSP 모듈(16)은 더욱 상세히 후술되는 처리 장치를 포함하는바, 그 장치는 선택된 시이퀀스의 DSP 연산을 포함하는 알고리듬을 이용하여 디지털 신호를 조정한다.
범용 프로세서(18)는 DSP 모듈(16)을 제어하고 DSP 모듈(16)에 의해 발생된 디지털 데이터를 소망의 최종 결과로 처리한다. 범용 프로세서(18)는 어떤 종래의 스테이트-오프-더-아트(state-of-the-art) 마이크로 프로세서일 수 있다.
제2도에 도시된 바와 같이, 많은 응용에 있어서, 아날로그 전단(12)은 아날로그 채널상에서 수신된 변조된 입력 신호를 해당 디지털 신호로 변환하는데 사용되지만 응용에(예컨대, ISDN 및 TI)의 수가 점증하고 있는바, 그러한 응용예에 있어서, 디지털 입력 신호는 종합 프로세서 플랫폼(14)에 의해 디지털 소스로부터 직접 수신된다.
제3도에서, DSP 모듈(16)과 범용 프로세서(18) 양자 모두는 내부 버스(20)에 연결되는바, DSP 모듈(18)과 범용 프로세서(18) 양자 모두는 그들 사이에 제어/상태 정보 및 어드레스/데이터를 전달하기 위하여 통상의 버스 인터페이스 유니트(24)를 경유하여 시스템 메모리(도시안됨)와 통신하도록 허용된다.
본 기술분야의 숙련자라면, 내부 버스(20)가 DSP 모듈(16) 및 범용 프로세서(18)에 의한 어드레스 기준을 취급하기 위한 내부 어드레스 버스와 명령 및 데이터 전달을 취급하는 내부 데이터 버스 양자 모두를 포함함을 이해할 것이다.
버스 대역폭을 절감하기 위하여, DSP 모듈(16)은 내부 RAM 메모리 어레이(22)에서 DSP 알고리듬을 실행하는데 사용되는 오퍼랜드를 저장하며, 그 어레이는 또한 더욱 상세히 후술되는 바와 같이, 범용 프로세서(18)로 억세스할 수 있다.
즉, 본 발명의 개념에 따르면, 내부 메모리 어레이(22)는 DSP 모듈(16)과 범용 프로세서(18) 양자 모두를 위한 공유 자원으로 작용한다. 예시된 실시예에서, 내부 메모리는 DSP 모듈(16)과 범용 프로세서(18)가 내부 버스(20)를 경유하여 억세스 가능한 것으로 도시되어 있다. 본 기술 분야의 숙련자라면, 다른 데이터 버스 구조도 역시 내부 메모리 어레이(22)로의 소망의 공유 억세스 가능성을 제공함을 이해할 것인바, 예컨대, 내부 메모리 어레이(22)는 이중 포트 메모리(dual port memory)로서 충족될 수 있다.
더욱 상세히 후술되는 바와 같이, DSP 모듈(16)은 내부 메모리 어레이(22) 및 시스템 메모리로부터 병렬로 오퍼랜드를 인출할 수 있다.
DSP 모듈(16)은 DSP 용도를 위하여 최적화된 복소 변수에 대한 벡터 연산을 실행한다. 범용 프로세서(18)는 DSP 모듈(16)을 유보 메모리 공간을 점유하는 메모리 맵 입출력 디바이스로서 취급하여, 메모리 맵 레지스터들의 세트를 경유하여 DSP 모듈(16)과 인터페이스한다.
제4도에 도시된 바와 같이, 내부 공유 메모리 어레이(22)는 물론 승산기/누산기(26)을 사용함으로써 DSP 모듈(16)에서 높은 성능이 성취된다. DSP 모듈은 또한 내부 오퍼랜드 억세스 및 시스템 메모리용의 자체 내부 어드레스 발생기(28)를 포함하여 범용 프로세서(18)상의 로드를 감소시킨다.
승산기/누산기(26) 및 어드레스 발생기(28) 양자 모두는 통상의 충족물이다.
데이터 처리 시스템(10)의 연산에 있어서, 범용 처리기(18)는, 착신 디지털 신호로부터 데이터를 회복하기 위하여 특정 시이퀀스의 연산들을 DSP 모듈(16)에 의해 실행될 DSP 알고리듬으로서 결정하도록 기본 세트의 DSP 연산들로부터 선택한다.
범용 프로세서는 그후에 DSP 모듈(16)을 제어하거나 범용 타스크를 수행하기 위하여 범용 프로세서에 임계인 데이터 및 선택된 DSP 알고리듬 및/또는 명령의 수행을 위해 필요한 오퍼랜드를 검색하여 그것들을 내부 RAM 어레이(22)에 로드시킨다.
그 후에, 범용 프로세서는 DSP 모듈(16)의 제어 레지스터에 해당 명령을 발함으로써 선택된 시이퀀스중의 제1 DSP 연산을 인출한다. 그후에 DSP 모듈은, RAM 어레이(22) 및 시스템 메모리로부터 어드레스 발생기(28)에 의해 검색된 오퍼랜드를 사용하여 제1 DSP 연산을 수행한다. DSP 연산의 완료시에, DSP 모듈은 연속 대기 상태를 철회하며, 범용 처리기(18)는 그후에 DSP 모듈(16)의 상태 또는 DSP 연산의 결과를 독출하든가 다음의 정규 프로그램 플로우를 실행하는데, 이는 DSP 모듈 제어 레지스터에 적절한 명령을 발함으로써 선택된 시이퀀스중의 다음의 DSP 연산을 유발하든가 또는 범용 타스크의 수행을 유발한다.
이 과정은 선택된 시이퀀스의 DSP 연산들이 완료될때까지 계속된다. 범용 처리기는 그후에 공유 내부 RAM 어레이(22)의 내용을 다운 로드하고 또다른 DSP 연산 또는 범용 처리 타스크를 위하여 신규 세트의 오퍼랜드, 명령 및 데이터를 검색한다.
제4도에 도시된 바와 같이, DSP 모듈(16)은 포트 Y 및 포트 D에서 승산기/누산기(26)에 제공된 2개의 벡터 오퍼랜드에 대한 복소 산술 계산을 수행한다. 한 벡터는 내부 메모리 어레이로부터 검색된다. 다른 벡터는 시스템 메모리내의 회로 버퍼로서 구성되든가(더욱 상세히 후술됨) 또는 내부 메모리 어레이(22)로부터 검색된다.
DSP 모듈(16)은 2단 파이프라인(two stage pipeline) 내에서 벡터 연산을 실행한다. 이는 연속 벡터 요소들에 대한 오퍼랜드의 인출 및 실행이 엄격한 순서적 방법으로라기 보다는 동시에 수행되기 때문에 상당한 성능 향상을 허용한다.
DSP 모듈(16)은 시스템 메모리 억세스에 대해서는 어드레스 발생기(88)를, 제2 오퍼랜드에 대해서는 내부 어레이(22)를 이용하여 한번에 데이터 요소들을 인출할 수 있다. DSP 모듈(16)은 한 벡터 요소에 대하여 오퍼랜드를 인출하면서 선행 벡터에 대해 승산 및 가산 연산을 수행한다.
DSP 모듈(16)은 RAM 어레이(22)에 추가하여 7개의 레지스터들을 내장한다. 이들 레지스터들은 내부 메모리 어레이(22)와 함께 메모리 맵 입출력 디바이스처럼 범용 프로세서(18)에 의해 억세스된다.
제5도에 도시된 바와 같이, 관련 어드레스들은 범용 프로세서(18)의 32비트 어드레스 범위의 상부에 존재한다. 외부 메모리 지점들은 하부 24어드레스 비트들에 의해 특정되고 이 어드레스 범위의 하부의 16 메가바이트로 맵핑된다. 범용 처리기(18)에 의한 DSP 모듈(16)의 레지스터들로의 도는 내부 메모리 어레이(22)로의 인용은 외부 관측을 가능하게하도록 내부 제어 레지스터 억세스용의 버스 프로토콜을 이용하여 수행된다. 이 프로토콜은 지브 비코브스키 및 댄 바이런 명의로 1990년 1월 4일자로 메모리 맵 레지스터 관측 방법 및 장치라는 명칭으로 출원되어 본원과 함께 계류 및 양도된 미합중국 특허 출원에 더욱 자세히 기재되어 있다.
방금 인용한 비코브스키/바이런의 출원은 본 발명과 관련한 추가의 배경 정보를 제공하기 위하여 참고로 본 명세서에 기재된다.
내부 메모리 어레이(22)내의 각각의 저장 지점은 32 비트 폭이고 하나의 복소수를 보유한다.
전술된 바와 같이, 내부 메모리 어레이(22)는 특정 DSP 알고리듬에 대한 필터링 계수의 저장으로 한정되지 않는다.
그것은 또한 범용 프로세서(18)가 사용하는 명령 및 데이터를 저장함은 물론 다양한 데이터 신호 포맷들의 처리를 위해 DSP 모듈(16)이 사용하는 선택된 오퍼랜드를 저장하기 위하여 신속하고 제로웨이트(zero-wait) 상태인 종합 메모리로서도 사용될 수 있다.
메모리 어레이(22)는, 단 하나의 제한, 즉, 명령들이 단어 정렬 억세스를 사용하여 어레이(22)내에 로드되야하는 것과 함께 명령 인출용으로 사용될 수 있다. 이는, 정렬된 2배 단어(double word) 시스템 메모리로부터 메모리 어레이(22)로 이동시킴으로써 성취될 수 있다. 데이터는 또한, 하나의 제한, 즉, 정렬된 단어 또는 2배 단어 억세스를 이용하여 모든 데이터가 서입되는 경우에만 어레이(22)에 데이터를 저장하는 것이 수행될 수 있다는 것과 함께 메모리 어레이(22)에 저장될 수 있다.
제4도에서, 승산기 입력 레지스터(Y)는 하나의 복소 오퍼랜드를 보유하는 32 비트 레지스터이다. 승산기 입력 레지스터(Y)는 Y0 및 Y1으로 불리는 2개의 연속 단어로 맵핑된다.
누산기 레지스터(A)는 하나의 복소 결과를 보유하는 32비트 레지스터이다. A레지스터는 역시 A0 및 A1으로 불리는 연속 단어로 맵핑된다. 내부적으로, A0 및 A1은 32비트 레지스터이다. 그러나, 비트 15-30(즉, 16비트) 만이 가식적이다. 비트들의 나머지는 더 높은 동적 범위 및 중간 계산을 위해 사용된다.
외부 시스템 메모리내의 데이터 벡터의 개시에 대한 24비트 포인터는 데이터 포인터 레지스터(DPTR)에 의해 제공된다. 원형 버퍼를 충족하기 위하여, DPTR 포인터의 하위 비트들만이 증분된다. 버퍼의 단부가 도달되는 경우, DPTR의 최하위 비트들이 제로치(zero)들과 함께 다시 로드된다.
원형 버퍼의 치수를 결정하는 제로로 설정되는 비트들의 수는 후술되는 제어 레지스터(CTL)에 의해 제어된다. DPTR 포인터의 최하위 단어는 DTPR0로 불리고, 최상위 바이트는 DPTR1으로 불린다.
CPTR 레지스터는 계수 벡터의 어드레스 및 길이를 보유한다.
S0 - S6 : 계수 벡터의 스타트 어드레스(C 레지스터의 수)
L0 - L6 : 계수 벡터의 길이(2배 단어)
제어 레지스터 CTL은 데이터 처리 시스템(10)의 여러 가지 연산 모드를 제어한다.
OPC1-0 연산 코드
00 VCMAD 벡터 복소 승산 가산
01 VCMUL 벡터 복소 승산
10 VCMAC 벡터 복소 승산 누산
11 VCMAG 벡터 복소 크기
DS0 - DS1 데이터 버퍼 치수
00 8 2배 - 단어
01 16 2배 - 단어
10 32 2배 - 단어
11 64 2배 - 단어
CLR 연산 개시전에 누산기(A0 및 A1) 클리어.
COJ 1로 세트되는 경우의 공액, 승산기의 포트 D 에서의 오퍼랜드의 같은 승산전에 공액된다.
상태 레지스터(ST)는 최종 벡터 연산의 상태를 보유한다.
OP0 A0의 계산시에 발생된 오버플로우
OP1 A1의 계산시에 발생된 오버플로우
레지스터는 다음의 경우에 0으로 클리어된다.
-사용자가 직접 A0나 A1에 서입한다.
-사용자가 리세트시에 CTL 레지스터에 서입한다.
모듈(16)의 연산에 대해 이제 더욱 상세히 설명하고자 한다. 다음의 용어들은 연산의 설명에 이용될 것이다.
C [i] 내부 메모리 어레이(22)의 엔트리(entry)
엔트리[i]는 어드레스 발생기(28)에 의해 선택되거나 또는 CPU(18)에 의해 적접 엑세스될 수 있다.
D [i] 어드레스 발생기(28)를 이용하여 인출된 시스템 메모리로부터의 데이터.
Y 제4도의 복소 승산기 입력 레지스터(30).
D [i] D[i]의 공액.
A 복소 누산기 레지스터.
DSP 모듈(16)은 다음의 6개의 기본 명령을 실행한다.
VCMAC 벡터 복소 승산 누산
VCMAG 벡터 복소 크기
VCMAD 벡터 복소 승산 가산
VCMUL 벡터 복소 승산
LOAD C, Y, A 도는 C시 서입
STORE C, Y, A, ST 또는 CTL로부터 독출
VCMAC, VCMAD 및 VCMUL 명령은 다음의 파라메터를 이용한다.
D 시스템 메모리에 있어서의 벡터 스타트 어드레스.
C 내부 RAM에 있어서의 벡터 스타트 어드레스
벡터 길이
제어비트
VCMAG 명령은 마지막 3개의 오퍼랜드만을 이용한다.
복소수는 내부 메모리 어레이(22)에서 2배 단어로서 구성된다. 각각의 2배 단어는 2개의 16비트 2의 보수의 소수부 정부(2's COMPLEMENT FRACTIONAL INTEGER)를 포함한다.
하위 단어는 그 수의 실수부를 포함한다. 최상위 단어는 수의 실수부를 포함한다.
DSP 모듈(16)에 의해 사용되는 복소 벡터들은 연속 어드레스로 저장된 복소수의 어레이로 이루어진다. 복소 벡터는 2배 단어 경계에 정렬되야 한다. 제6도는 벡터 D의 메모리 구성을 예시한다.
제4도로 되돌아가면, DSP 모듈(16)의 산술 논리 연산 유니트(26)는 16×16 승산기(26a) 및 32비트 가산기/누산기(26b)를 포함한다. 결과의 비트 15 - 30(16비트)는 타운드되어 A 레지스터를 억세스함으로써 독출될 수 있다.
연산중에 오버플로우가 검출되면, 상태 레지스터(ST) 오버플로우 비트 및 OP0 비트 또는 OP1 비트는 1로 세트된다.
데이터가 가산기/누산기(26b)로 로드되는 경우, 데이터의 16비트가 비트 15-30로 로드되고, 하위 비트는 0으로 세트되는 한편 비트 31는 비트 30과 같은 값을 취한다.(부호 확장). 비트 30의 값이 비트 31의 값과 다를때마다 오버 플로우가 검출된다.
DSP 모듈(16)에 의해 수행될 각각의 기본 DSP 연산 또는 명령은 2개의 OP 코드 비트(OPCO 및 OPCI)와 2개의 스페시파이어(specifier; COJ 및 CLR)에 의해 제러된다.
COJ는 승산기(26a)의 포트 D 상의 오퍼랜드가 승산전에 공액 되어야하는지를 선언한다. CLR 비트는 명령 세트를 확장하는데 사용된다. VCMAC 및 VCMAG에서, CLR은 누산기(26b)가 벡터 연산 개시시에 클리어되어야하는지를 선언한다.
VCMAD에서, CLR은 연산이 C[i] 값을 무시할 것임을 선언한다.
VCMUL에서, CLR은 1+D[i] 대신에 D[i]의 값이 취해질 것임을 표시한다.
제7도는 DSP 모듈(16)에 의해 실행된 기본 DSP 연산 세트의 요약을 CTL 레지스터의 OPC1, OPC0, COJ 및 CLR의 함수로서 제공한다. 제7도에서, SIGMA는 다음의 합산 기호를 나타낸다.
모든 오퍼랜드는 복소수이다. 그러므로,
A=SIGMA C[i] × D[i]는
Re(A) = Sigma {Re(C[i] × Re(D[i]) + Im(C[i] × Im(D[i])}
Im(A) = Sigma {Re(C[i] × Im(D[i]) + Im(C[i]) × Re(D[i])}로 분류된다.
누산기(26b), 승산기 입력 레지스터(Y), 외부 데이터 포인터(DPTR) 및 계수 포인터(CPTR) 레지스터들은 벡터 연산중에 일시 레지스터로 이용된다. DSP 모듈(16)의 작동전에 이들 레지스터에 저장된 값들은 소거된다. DSP 모듈(16)의 연산후에 누산기 레지스터(A)의 내용이 다음 연산의 초기치로서 사용되는 경우(0/14)의 최하위 비트가 0이외의 다른 값을 포함할 수 있음을 기억해야 한다.
전술된 바와 같이, DSP 모듈(16)은 DPTR 포인터를 어드레스로서 이용하여 외부 메모리내의 데이터의 어레이를 억세스 한다. CTL 레지스터의 DS0 및 DS1은 어레이의 치수를 제어한다. DSP 모듈(16)은 데이터 어레이들을 FIFO로 취급하는 편리한 방법을 허용한다. DPTR의 최하위 비트의 적정 수만이 각각의 억세스시에 증분된다. 제8도는 어떤 비트들이 증분되는지를 보여준다. 나머지는 일정하게 유지한다.
제9(a)도는 범용 프로세서(18)가 범용 타스크를 실행하는 동안 DSP 모듈(16)의 VCMAG 명령을 실행하는 데이터 처리 시스템(10)의 연산을 보여준다.
제9(a)도에 도시된 바와 같이, 범용 프로세서(18)에 의해 제공된 제어 신호들에 응답하는 양방향 스위치(S)는 DSP 모듈(16), 범용 프로세서(18) 및 버스 인터페이스 유니트(24)(전술된 바와 같이, 외부 메모리에 대한 억세스를 제공함)의 다양한 통신로 구성을 허용하기 위하여 내부 버스(20)상에 배치된다.
DSP 모듈(16)이 VCMAG 명령을 실행하고 있는 경우, DSP 모듈(16)은, 어드레스 발생기(28)가 승산기/누산기(26)의 포트(Y) 및 포트(D) 양자 모두에 대해서 내부 메모리 어레이(22)로 부터의 VCMAG 연산을 위한 오퍼랜드를 검색할 수 있도록 내부 버스(20)로부터 격리된다. 이러한 방법으로 DSP 모듈(16)을 격리시킴으로써, 범용 프로세서(18)는 범용 타스크의 동시 실행을 위한 범용 프로세서(18)와 외부 메모리 사이의 데이터 및 명령의 전달을 허용하도록 버스 인터페이스 유니트(24)를 경유하여 외부 메모리를 인용할 수 있다.
제9(b)도는 DSP 모듈(16)에 의한 VCMAD, VCMUL 또는 VCMAC 명령의 실행중의 버스 구조를 예시한다. 이 경우에, 어드레스 발생기(28)는 후에 승산기/누산기(26)의 Y 포트에 제공되는 메모리 어레이(22)에 저장된 오퍼랜드를 인용한다.
어드레스 발생기(28)는 또한, 승산기/누산기(26)의 D 포트에 제2 오퍼랜드를 제공하는 외부 메모리내의 위치를 인용한다. 범용 프로세서(18)는 내부 메모리 어레이(22) 및 외부 메모리 양자 모두로부터 격리된다.
제9(c)도는 범용 프로세서(18)에 의한 연산을 Y 레지스터 또는 누산기 레지스터 A로 또는 DSP 모듈의 내부 메모리 어레이(22)로 독출 및 서입한다. 제9(c)도에 도시된 바와 같이, 이 경우에, 범용 처리기(18)는 선택된 저장 요소를 내부 어드레스 버스를 경유하여 메모리 맵 입출력으로 인용하고 내부 데이터 버스를 경유하여 선택된 저장 요소를 독출 또는 서입한다.
본 발명과 관련한 추가 정보는 내쇼날 세미컨덕터사의 어드밴스트 데이터 시이트 NS 32FX16, 고성능 팩스 프로세서(Advanced Data Sheet, NS32FX16, High Performance Fax Processor)에 기재되어 있는바, 그 데이터 시트는 본 발명의 상세한 설명 말미에 부록 A로서 제공되어 있다.
본 명세서에 기재된 본 발명의 실시예에 대한 여러 가지 변형예들이 본 발명을 실시하는데 채용될 수 있음을 이해해야 한다.
첨부된 특허청구의 범위가 본 발명의 범위를 한정하고, 이들 특허 청구의 범위내의 구조 및 방법과 그 균등물은 그 청구범위에 의해 포괄되도록 의도된다.

Claims (10)

  1. 데이터 및 명령 모두를 전송하는 공유 버스; 데이터 및 범용 명령 모두를 저장하는 공유 메모리 어레이로서, 상기 공유 버스 및 공유 메모리 어레이사이로 데이터 범용 명령 모두를 전송하도록 접속되어 있는 공유 메모리 어레이; 상기 공유 버스상의 디지털 신호 실행 유니트 및 상기 공유 메모리 어레이사이로 전송된 데이터 및 선택된 개별적인 디지털 신호 프로세서(DSP) 명령의 시이퀀스 모두를 사용하여 디지털 신호를 처리하도록 상기 공유 버스에 접속되어 있는 디지털 신호 실행 유니트로서, 상기 선택된 DSP 명령의 시이퀀스는 상기 공유 버스상의 디지털 신호 실행 유니트 및 상기 공유 메모리 어레이사이로 전송된 개별적인 범용 명령으로 이루어지는 디지털 신호 실행 유니트; 및 상기 공유 메모리 어레이로부터 상기 디지털 신호 실행 유니트로 전송될 각각의 범용 명령을 선택함으로써 상기 디지털 신호 실행 유니트를 제어하도록 상기 공유 버스에 접속되어 있는 범용 프로세서를 포함하여, 상기 디지털 신호 실행 유니트에 의해 실행되는 선택된 개별적인 DSP 명령의 시이퀀스가 상기 범용 프로세서에의해 선택적으로 구성될 수 있게 하는 것을 특징으로 하는 디지털 신호처리용 데이터 시스템.
  2. 범용 명령 및 데이터 모두를 전송하는 공유 내부 버스; 상기 공유 내부 버스에 접속되어 있는 공유 버스 인터페이스 유니트로서, 공유 외부 메모리 어레이내에 저장되는 범용 명령 및 데이터가 공유 버스 인터페이스 유니트를 통해 공유 내부 버스가 되는 외부 입력/출력 포트를 거쳐 전송될 수 있도록 공유 외부 버스를 통해 공유 외부 메모리 어레이의 외부 입력/출력 포트를 거쳐 공유 외부 메모리 어레이에 접속될 수 있는 공유 버스 인터페이스 유니트; 상기 공유 외부 메모리 어레이로부터 상기 공유 내부 버스를 통해 상기 디지털 신호 실행 유니트로 전송된 데이터 및 선택된 개별적인 디지털 신호 프로세서(DSP) 명령의 시이퀀스 모두를 사용하여 디지털 신호를 처리하도록 상기 공유 내부 버스에 접속되어 있는 디지털 신호 실행 유니트로서, 상기 선택된 개별적인 DSP 명령의 시이퀀스는 상기 공유 외부 메모리 어레이로부터 상기 공유 내부 버스를 통해 디지털 신호 실행 유니트로 전송된 개별적인 범용 명령으로 이루어지는 디지털 신호 실행 유니트; 및 상기 공유 외부 메모리 어레이로부터 상기 공유 내부 버스를 통해 상기 디지털 신호 실행 유니트로 전송될 각각의 범용 명령을 선택함으로써 상기 디지털 신호 실행 유니트를 제어하도록 상기 공유 내부 버스에 접속되어 있는 범용 프로세서를 포함하여, 상기 디지털 신호 실행 유니트에 의해 실행되는 선택된 개별적인 DSP 명령의 시이퀀스가 상기 범용 프로세서에 의해 선택적으로 구성될 수 있게 하는 것을 특징으로 하는 디지털 신호처리용 집적회로 데이터 처리 시스템.
  3. 제2항에 있어서, 상기 디지털 신호 실행 유니트 또는 상기 범용 프로세서로의 전송을 위해 공유 내부 메모리내에 저장된 범용 명령 및 데이터가 공유 내부 메모리 어레이의 내부 입력/출력 포트를 통해 상기 공유 내부 버스로 전송될 수 있도록 공유 내부 메모리 어레이의 내부 입력/출력 포트를 통해 상기 공유 내부 버스로 접속되어 있는 공유 내부 메모리 어레이를 더 포함하는 디지털 신호 처리용 집적회로 데이터 처리 시스템.
  4. 데이터 오퍼랜드 및 범용 명령 모두를 전송하는 공유버서; 데이터 오퍼랜드 및 범용 명령 모두를 저장하는 공유 메모리 어레이로서, 상기 공유 버스 및 공유 메모리 어레이사이로 데이터 오퍼랜드 및 범용 명령을 전송하도록 접속되어 있는 공유 메모리 어레이; 상기 공유 메모리 어레이로 부터 상기 공유 버스상의 디지털 신호 실행 유니트로 전송된 데이터 오퍼랜드 및 선택된 개별적인 디지털 신호 프로세서(DSP) 명령의 시이퀀스를 사용하여 디지털 신호를 처리하도록 상기 공유 버스에 접속되어 있는 디지털 신호 실행 유니트로서, 상기 선택된 DSP 명령의 시이퀀스는 상기 공유 메모리 어레이로부터 상기 공유 버스상의 디지털 신호 실행 유니트로 전송되는 개별적인 범용 명령으로 이루어지는 디지털 신호 실행 유니트; 및 상기 공유 메모리 어레이로부터 상기 디지털 신호 실행 유니트로 전송될 각각의 범용 명령을 선택함으로써 상기 디지털 신호 실행 유니트를 제어하도록 상기 공유 버스에 접속되어 있는 범용 프로세서를 포함하며, 상기 디지털 신호 실행 유니트는, 상기 범용 프로세서에 의해 상기 공유 버스상의 공유 메모리 어레이로부터 상기 디지털 신호 실행 유니트로 전송된 범용 명령을 저장하도록 상기 공유 버스에 접속되어 있는 제어 레지스터, 상기 제어 레지스터내에 상기 범용 명령을 저장하는 것에 응답하여 상기 범용 명령에 해당하는 DSP 연산의 실행을 개시하는 승산/누산 유니트, 및 상기 공유 메모리 어레이내에 저장된 제1 데이터 오퍼랜드를 검색하도록 상기 공유 버스에 접속되어 있으며, 상기 DSP 연산을 실행함에 있어서 상기 승산/누산 유니트에 의해 사용될 수 있는 DSP 어드레스 발생기를 포함하는 디지털 신호 처리용 데이터 처리 시스템.
  5. 제4항에 있어서, 상기 승산/누산 유니트는 상기 DSP 연산을 실행함에 있어서 상기 승산/누산 유니트에 의해 사용되도록 상기 제1 데이터 오퍼랜드 및 제2 데이터 오퍼랜드를 각각 수신하는 제1 및 제2 입력 포트를 포함하는 디지털 신호처리용 데이터 처리 시스템.
  6. 제5항에 있어서, 상기 어드레스 발생기는 상기 공유 메모리 어레이로부터 상기 공유 버스를 통해 상기 제1 데이터 오퍼랜드 및 상기 제2 데이터 오퍼랜드 모두를 검색하는 수단을 포함하는 디지털 신호처리용 데이터 처리 시스템.
  7. (a) 선택된 디지털 신호 프로세서(DSP) 명령의 시시팍스를 실행함으로써 디지털 신호로부터 디지털 데이터를 회복시키는 디지털 신호 실행 유니트; (b) 한 세트의 DSP 명령으로부터 상기 디지털 신호 실행 유니트에 의해 실행되도록 DSP 명령의 시이퀀스를 선택하며 선택된 데이터를 사용하여 범용 명령을 실행함으로써 범용 처리 타스크를 이행하는 범용 프로세서; (c) 데이터 및 명령 모두를 전송하는 공유 내부 버스로서, 상기 디지털 신호 실행 유니트 및 상기 범용 프로세서 모두가 접속되어 있는 공유 내부 버스; (d) 상기 공유 내부 버스상의 디지털 신호 실행 유니트 및 공유 내부 메모리 어레이사이로 상기 디지털 신호 실행 유니트에 의해 사용될 수 있는 오퍼랜드를 전송하기 위해 공유 내부 메모리 어레이가 상기 디지털 신호 실행 유니트에 의해 내부 입력/출력 포트를 거쳐 억세스가능하며 상기 공유 내부 버스상의 범용 프로세서 및 공유 내부 메모리 어레이사이로 상기 선택된 데이터 및 범용 명령을 전송하기 위해 공유 내부 메모리 어레이가 상기 범용 프로세서에 의해 내부 입력/출력 포트를 거쳐 억세스가능하도록 공유 내부 메모리 어레이의 내부 입력/출력 포트를 거쳐 상기 공유 내부 버스에 연결되어 있는 공유 내부 메모리 어레이로서, 상기 DSP 명령 및 상기 범용 명령이 디지털 신호 처리용 집적회로 데이타 처리 시스템에 의해 실행가능한 단일 명령 세트의 부분 집합을 포함하는 공유 내부 메모리 어레이; 및 (e) 상기 DSP 명령 및 상기 범용 명령의 실행 과정을 제어하도록 상기 공유 내부 버스에 접속되어 있는 명령 시이퀀스 유니트를 포함하는 디지털 신호 처리용 집적회로 데이터 처리 시스템.
  8. (a) 선택된 디지털 신호 프로세서(DSP) 명령의 시이퀀스를 실행함으로써 디지털 신호로부터 디지털 데이터를 회복시키는 디지털 신호 실행 유니트; (b) 한 세트의 DSP 명령으로부터 상기 디지털 신호 실행 유니트에 의해 실행되도록 DSP 명령의 시이퀀스를 선택하며 선택된 데이터를 사용하여 범용 명령을 실행함으로써 범용 처리 타스크를 이행하는 범용 프로세서; (c) 데이터 및 명령 모두를 전송하는 공유 내부 버스로서, 상기 디지털 신호 실행 유니트 및 상기 범용 프로세서 모두가 접속되어 있는 공유 내부 버스; (d) 상기 공유 내부 버스상의 디지털 신호 실행 유니트 및 공유 내부 메모리 어레이사이로 상기 디지털 신호 실행 유니트에 의해 사용될 수 있는 오퍼랜드를 전송하기 위해 공유 내부 메모리 어레이가 상기 디지털 신호 실행 유니트에 의해 내부 입력/출력 포트를 거쳐 억세스가능하며 상기 공유 내부 버스상의 범용 프로세서 및 공유 내부 메모리 어레이사이로 상기 선택된 데이터 및 범용 명령을 전송하기 위해 공유 내부 메모리 어레이가 상기 범용 프로세서에 의해 내부 입력/출력 포트를 거쳐 억세스가능하도록 공유 내부 메모리 어레이의 내부 입력/출력 포트를 거쳐 상기 공유 내부 버스에 연결되어 있는 공유 내부 메모리 어레이; 및 (e) 상기 디지털 신호 실행 유니트 및 상기 범용 프로세서가 상기 공유 내부 메모리 어레이의 입력/출력 포트를 거쳐 상기 공유 내부 메모리 어레이를 억세스하거나 공유 버스 인터페이스 유니트를 거쳐 공유 외부 시스템 메모리를 억세스할 수 있도록 상기 공유 내부버스 및 공유 외부 시스템 메모리사이로의 오퍼랜드, 명령 및 데이터의 전송을 구현하기 위해 오퍼랜드, 명령 및 데이터를 저장하는 공유 외부 시스템 메모리 및 상기 공유 내부 버스사이에 접속되어 있는 공유 버스 인터페이스 유니트를 포함하는 디지털 신호 처리용 집적회로 데이터 처리 시스템.
  9. 제8항에 있어서, 상기 디지털 신호 실행 유니트는 상기 선택된 DSP 명령의 시이퀀스를 실행함에 있어서, 상기 디지털 신호 실행 유니트에 의해 사용되도록 상기 공유 내부 메모리 어레이 또는 상기 외부 시스템 메모리로 부터의 오퍼랜드를 상기 공유 내부버스를 통해 검색하는 내부 어드레스 발생기를 포함하는 디지털 신호 처리용 집적회로 데이터 처리 시스템.
  10. (a) 선택된 디지털 신호 프로세서(DSP) 명령의 시시팍스를 실행함으로써 디지털 신호로부터 디지털 데이터를 회복시키는 디지털 신호 실행 유니트; (b) 한 세트의 DSP 명령으로부터 상기 디지털 신호 실행 유니트에 의해 실행되도록 DSP 명령의 시이퀀스를 선택하며 선택된 데이터를 사용하여 범용 명령을 실행함으로써 범용 처리 타스크를 이행하는 범용 프로세서; (c) 데이터 및 명령 모두를 전송하는 공유 내부 버스로서, 상기 디지털 신호 실행 유니트 및 상기 범용 프로세서 모두가 접속되어 있는 공유 내부 버스; 및 (d) 상기 공유 내부 버스상의 디지털 신호 실행 유니트 및 공유 내부 메모리 어레이사이로 상기 디지털 신호 실행 유니트에 의해 사용될 수 있는 오퍼랜드를 전송하기 위해 공유 내부 메모리 어레이가 상기 디지털 신호 실행 유니트에 의해 내부 입력/출력 포트를 거쳐 억세스가능하며 상기 공유 내부 버스상의 범용 프로세서 및 공유 내부 메모리 어레이사이로 상기 선택된 데이터 및 범용 명령을 전송하기 위해 공유 내부 메모리 어레이가 상기 범용 프로세서에 의해 내부 입력/출력 포트를 거쳐 억세스가능하도록 공유 내부 메모리 어레이의 내부 입력/출력 포트를 거쳐 상기 공유 내부 버스에 연결되어 있는 공유 내부 메모리 어레이를 포함하며, 상기 디지털 신호 실행 유니트는 상기 선택된 DSP 명령의 시이퀀스를 실행함에 있어서 상기 디지털 신호 실행 유니트에 의해 사용되도록 상기 공유 내부 메모리 어레이로 부터의 오퍼랜드를 상기 공유 내부버스를 통해 검색하는 내부 어드레스 발생기를 포함하는 디지털 신호 처리용 집적회로 데이터 처리 시스템.
KR1019900018430A 1990-01-18 1990-11-14 공유 내부 메모리를 가지는 종합 디지탈 신호프로세서/범용 cpu KR100211549B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US46714890A 1990-01-18 1990-01-18
US7/467148 1990-01-18
US07/467148 1990-01-18

Publications (2)

Publication Number Publication Date
KR910014829A KR910014829A (ko) 1991-08-31
KR100211549B1 true KR100211549B1 (ko) 1999-08-02

Family

ID=23854564

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900018430A KR100211549B1 (ko) 1990-01-18 1990-11-14 공유 내부 메모리를 가지는 종합 디지탈 신호프로세서/범용 cpu

Country Status (4)

Country Link
US (2) US5630153A (ko)
EP (2) EP0442041A3 (ko)
JP (1) JPH03227177A (ko)
KR (1) KR100211549B1 (ko)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0442041A3 (en) * 1990-01-18 1991-09-04 National Semiconductor Corporation Integrated digital signal processor/general purpose cpu with shared internal memory
DE69228980T2 (de) * 1991-12-06 1999-12-02 Nat Semiconductor Corp Integriertes Datenverarbeitungssystem mit CPU-Kern und unabhängigem parallelen, digitalen Signalprozessormodul
FI932051A (fi) * 1992-05-28 1993-11-29 Hughes Aircraft Co Integrerad kontroll och signalbehandling i en cellulaer telefon
FR2708359A1 (fr) * 1993-06-30 1995-02-03 Philips Electronics Nv Procédé pour exploiter un processeur numérique de signal et dispositif mettant en Óoeuvre le procédé.
GB2290395B (en) 1994-06-10 1997-05-28 Advanced Risc Mach Ltd Interoperability with multiple instruction sets
JPH08106375A (ja) * 1994-10-03 1996-04-23 Ricoh Co Ltd 信号処理演算器
US6327648B1 (en) * 1994-12-09 2001-12-04 Cirrus Logic, Inc. Multiprocessor system for digital signal processing
US5867726A (en) * 1995-05-02 1999-02-02 Hitachi, Ltd. Microcomputer
US5909702A (en) * 1995-09-29 1999-06-01 Intel Corporation Memory address translations for programs code execution/relocation
JPH09114543A (ja) * 1995-10-02 1997-05-02 Xybernaut Corp ハンドフリーコンピュータ装置
TW439380B (en) * 1995-10-09 2001-06-07 Hitachi Ltd Terminal apparatus
JP3655403B2 (ja) * 1995-10-09 2005-06-02 株式会社ルネサステクノロジ データ処理装置
JP3019767B2 (ja) * 1995-12-28 2000-03-13 ヤマハ株式会社 デジタル信号処理装置
US5706514A (en) * 1996-03-04 1998-01-06 Compaq Computer Corporation Distributed execution of mode mismatched commands in multiprocessor computer systems
US5781792A (en) * 1996-03-18 1998-07-14 Advanced Micro Devices, Inc. CPU with DSP having decoder that detects and converts instruction sequences intended to perform DSP function into DSP function identifier
US5794068A (en) * 1996-03-18 1998-08-11 Advanced Micro Devices, Inc. CPU with DSP having function preprocessor that converts instruction sequences intended to perform DSP function into DSP function identifier
US6085314A (en) * 1996-03-18 2000-07-04 Advnced Micro Devices, Inc. Central processing unit including APX and DSP cores and including selectable APX and DSP execution modes
US5754878A (en) * 1996-03-18 1998-05-19 Advanced Micro Devices, Inc. CPU with DSP function preprocessor having pattern recognition detector that uses table for translating instruction sequences intended to perform DSP function into DSP macros
US5790824A (en) * 1996-03-18 1998-08-04 Advanced Micro Devices, Inc. Central processing unit including a DSP function preprocessor which scans instruction sequences for DSP functions
US5784640A (en) * 1996-03-18 1998-07-21 Advanced Micro Devices, Inc. CPU with DSP function preprocessor having look-up table for translating instruction sequences intended to perform DSP function into DSP macros
US6032247A (en) * 1996-03-18 2000-02-29 Advanced Micro Devices, Incs. Central processing unit including APX and DSP cores which receives and processes APX and DSP instructions
US5892934A (en) * 1996-04-02 1999-04-06 Advanced Micro Devices, Inc. Microprocessor configured to detect a branch to a DSP routine and to direct a DSP to execute said routine
US5721945A (en) * 1996-05-06 1998-02-24 Advanced Micro Devices Microprocessor configured to detect a DSP call instruction and to direct a DSP to execute a routine corresponding to the DSP call instruction
KR100408020B1 (ko) * 1996-08-17 2004-03-18 엘지전자 주식회사 디지탈신호처리용연산장치
GB2317465B (en) * 1996-09-23 2000-11-15 Advanced Risc Mach Ltd Data processing apparatus registers.
GB2317467B (en) * 1996-09-23 2000-11-01 Advanced Risc Mach Ltd Input operand control in data processing systems
GB2317464A (en) * 1996-09-23 1998-03-25 Advanced Risc Mach Ltd Register addressing in a data processing apparatus
GB2317469B (en) * 1996-09-23 2001-02-21 Advanced Risc Mach Ltd Data processing system register control
GB2317468B (en) * 1996-09-23 2001-01-24 Advanced Risc Mach Ltd Digital signal processing integrated circuit architecture
US5890013A (en) * 1996-09-30 1999-03-30 Intel Corporation Paged memory architecture for a single chip multi-processor with physical memory pages that are swapped without latency
US5784602A (en) * 1996-10-08 1998-07-21 Advanced Risc Machines Limited Method and apparatus for digital signal processing for integrated circuit architecture
US6854003B2 (en) 1996-12-19 2005-02-08 Hyundai Electronics America Video frame rendering engine
GB2326253A (en) * 1997-06-10 1998-12-16 Advanced Risc Mach Ltd Coprocessor data access control
US6073188A (en) * 1997-07-25 2000-06-06 Compaq Computer Corporation Electronic switchbox for selection and sharing of internal peripheral devices among different computers, the internal peripheral devices located in slots of a chassis
DE69822591T2 (de) * 1997-11-19 2005-03-24 Imec Vzw System und Verfahren zur Kontextumschaltung über vorbestimmte Unterbrechungspunkte
JP3344316B2 (ja) * 1998-05-01 2002-11-11 ヤマハ株式会社 ディジタル信号処理装置及び信号処理システム
US6356995B2 (en) * 1998-07-02 2002-03-12 Picoturbo, Inc. Microcode scalable processor
US6334179B1 (en) * 1998-09-23 2001-12-25 Masaana Research Limited DSP coprocessor having control flags mapped to a dual port section of memory for communicating with the host
US6351800B1 (en) * 1998-11-29 2002-02-26 Lucent Technologies, Inc. System and method for assisting a microprocessor
US6564179B1 (en) * 1999-07-26 2003-05-13 Agere Systems Inc. DSP emulating a microcontroller
US6369738B1 (en) * 1999-08-17 2002-04-09 Eric Swanson Time domain/frequency domain data converter with data ready feature
US6678765B1 (en) * 2000-02-07 2004-01-13 Motorola, Inc. Embedded modem
US6490121B1 (en) 2000-03-31 2002-12-03 Seagate Technology Llc Accelerated servo control calculations method and apparatus for a disc drive
GB0012773D0 (en) * 2000-05-25 2000-07-19 Radioscape Ltd Programmable single-chip device and related development environment
US7305092B2 (en) * 2000-12-19 2007-12-04 Qualcomm Incorporated Method and system to accelerate cryptographic functions for secure e-commerce applications
JP4783527B2 (ja) * 2001-01-31 2011-09-28 株式会社ガイア・システム・ソリューション データ処理システム、データ処理装置およびその制御方法
TW581951B (en) * 2002-06-07 2004-04-01 Mediatek Inc Method and architecture of digital signal processor using CPU to assist in querying parameter tables
WO2004015572A1 (en) 2002-08-07 2004-02-19 Mmagix Technology Limited Apparatus, method and system for a synchronicity independent, resource delegating, power and instruction optimizing processor
KR20050039068A (ko) * 2003-10-23 2005-04-29 한국전자통신연구원 알아이에스시와 디에스피의 듀얼 프로세서를 갖는 비디오신호처리시스템
KR100599539B1 (ko) 2004-12-30 2006-07-13 전자부품연구원 태스크 엔진 기반의 재구성가능 디지털 신호 프로세서
US20060179273A1 (en) * 2005-02-09 2006-08-10 Advanced Micro Devices, Inc. Data processor adapted for efficient digital signal processing and method therefor
US20070168646A1 (en) * 2006-01-17 2007-07-19 Jean-Francois Collard Data exchange between cooperating processors
US8803897B2 (en) 2009-09-03 2014-08-12 Advanced Micro Devices, Inc. Internal, processing-unit memory for general-purpose use
WO2013136857A1 (ja) * 2012-03-13 2013-09-19 日本電気株式会社 データ処理システム、半導体集積回路およびその制御方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3631405A (en) * 1969-11-12 1971-12-28 Honeywell Inc Sharing of microprograms between processors
DE2607685C3 (de) * 1976-02-25 1981-01-15 Siemens Ag, 1000 Berlin Und 8000 Muenchen Verfahren zum Betrieb von Prozessoren in einem Multiprozessorsystem
US4276594A (en) * 1978-01-27 1981-06-30 Gould Inc. Modicon Division Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same
US4541048A (en) * 1978-10-06 1985-09-10 Hughes Aircraft Company Modular programmable signal processor
US4539635A (en) * 1980-02-11 1985-09-03 At&T Bell Laboratories Pipelined digital processor arranged for conditional operation
US4467414A (en) * 1980-08-22 1984-08-21 Nippon Electric Co., Ltd. Cashe memory arrangement comprising a cashe buffer in combination with a pair of cache memories
US4594651A (en) * 1984-01-18 1986-06-10 General Electric Company Concurrent processor for control
US4799144A (en) * 1984-10-12 1989-01-17 Alcatel Usa, Corp. Multi-function communication board for expanding the versatility of a computer
US4641238A (en) * 1984-12-10 1987-02-03 Itt Corporation Multiprocessor system employing dynamically programmable processing elements controlled by a master processor
JP2564805B2 (ja) * 1985-08-08 1996-12-18 日本電気株式会社 情報処理装置
JPS63143660A (ja) * 1986-12-08 1988-06-15 Fanuc Ltd コ・プロセツサを有する演算処理装置
US4811345A (en) * 1986-12-16 1989-03-07 Advanced Micro Devices, Inc. Methods and apparatus for providing a user oriented microprocessor test interface for a complex, single chip, general purpose central processing unit
US4876660A (en) * 1987-03-20 1989-10-24 Bipolar Integrated Technology, Inc. Fixed-point multiplier-accumulator architecture
WO1988008564A1 (en) * 1987-04-23 1988-11-03 Commodore-Amiga, Inc. A method of communicating data between the cpu of a host computer system and the cpu of a co-processor computer system
EP0554917B1 (en) * 1987-06-05 1998-05-06 Mitsubishi Denki Kabushiki Kaisha Digital signal processing system having two instruction memories accessed by a processor under control of host
KR0134042B1 (ko) * 1987-07-17 1998-05-15 이우에 사또시 디지탈 신호처리장치 및 신호처리방법
US4862407A (en) * 1987-10-05 1989-08-29 Motorola, Inc. Digital signal processing apparatus
US5185599A (en) * 1987-10-26 1993-02-09 Tektronix, Inc. Local display bus architecture and communications method for Raster display
KR920006283B1 (ko) * 1988-02-19 1992-08-03 미쯔비시덴끼 가부시끼가이샤 디지탈신호 처리방식
US4908825A (en) * 1988-04-08 1990-03-13 Northern Telecom Limited Memory organization and output sequencer for a signal processor
US5005168A (en) * 1988-05-02 1991-04-02 Itt Corporation Multirate wire line modem apparatus
EP0350209A2 (en) * 1988-07-06 1990-01-10 Nicolet Instrument Corporation Real-time fourier transform spectrometry
US4991169A (en) * 1988-08-02 1991-02-05 International Business Machines Corporation Real-time digital signal processing relative to multiple digital communication channels
US5293586A (en) * 1988-09-30 1994-03-08 Hitachi, Ltd. Data processing system for development of outline fonts
US5111530A (en) * 1988-11-04 1992-05-05 Sony Corporation Digital audio signal generating apparatus
US4975947A (en) * 1989-02-22 1990-12-04 Texas Instruments Incorporated System to share the DSP computation resources
US5036539A (en) * 1989-07-06 1991-07-30 Itt Corporation Real-time speech processing development system
US5029204A (en) * 1989-10-26 1991-07-02 Dsc Communications Corporation Operational status controller for echo canceling
EP0442041A3 (en) * 1990-01-18 1991-09-04 National Semiconductor Corporation Integrated digital signal processor/general purpose cpu with shared internal memory
US5208832A (en) * 1990-08-08 1993-05-04 National Semiconductor Corporation Methods and apparatus for detecting repetitive sequences

Also Published As

Publication number Publication date
EP0442041A2 (en) 1991-08-21
KR910014829A (ko) 1991-08-31
EP0843254A3 (en) 1999-08-18
US5630153A (en) 1997-05-13
EP0442041A3 (en) 1991-09-04
USRE40942E1 (en) 2009-10-20
EP0843254A2 (en) 1998-05-20
JPH03227177A (ja) 1991-10-08

Similar Documents

Publication Publication Date Title
KR100211549B1 (ko) 공유 내부 메모리를 가지는 종합 디지탈 신호프로세서/범용 cpu
EP1570344B1 (en) Pipeline coprocessor
US7418574B2 (en) Configuring a portion of a pipeline accelerator to generate pipeline date without a program instruction
CN110597559A (zh) 计算装置以及计算方法
US7616562B1 (en) Systems and methods for handling packet fragmentation
Madsen et al. An approach to interface synthesis
US7680116B1 (en) Optimized buffer loading for packet header processing
JPS60134974A (ja) ベクトル処理装置
US20100265967A1 (en) Packet fragment handling
EP0460599A2 (en) Massively parallel processor including queue-based message delivery system
US20050138323A1 (en) Accumulator shadow register systems and methods
US20070183425A1 (en) Logical separation and accessing of descriptor memories
JPH11272631A (ja) データ処理システムおよびその方法
US20070005830A1 (en) Systems and methods for weighted overlap and add processing
US5200981A (en) Fine timing recovery for QAM modem receiver
JPH086924A (ja) 複素数演算プロセッサとその方法
US7239630B1 (en) Dedicated processing resources for packet header generation
US4611278A (en) Wraparound buffer for repetitive decimal numeric operations
US5208832A (en) Methods and apparatus for detecting repetitive sequences
JP2617974B2 (ja) データ処理装置
EP0150506B1 (en) Instruction processor
US11210105B1 (en) Data transmission between memory and on chip memory of inference engine for machine learning via a single data gathering instruction
JP2861994B1 (ja) 回路合成方法、回路合成装置および記録媒体
US5245632A (en) Synchronous FSK detection
US6122697A (en) System for extending the width of a data bus

Legal Events

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

Payment date: 20080502

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee