KR100710220B1 - 디지털 신호처리 방법 - Google Patents

디지털 신호처리 방법 Download PDF

Info

Publication number
KR100710220B1
KR100710220B1 KR1020050014462A KR20050014462A KR100710220B1 KR 100710220 B1 KR100710220 B1 KR 100710220B1 KR 1020050014462 A KR1020050014462 A KR 1020050014462A KR 20050014462 A KR20050014462 A KR 20050014462A KR 100710220 B1 KR100710220 B1 KR 100710220B1
Authority
KR
South Korea
Prior art keywords
block
address
digital signal
signal processing
instruction
Prior art date
Application number
KR1020050014462A
Other languages
English (en)
Other versions
KR20060093745A (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 엘지전자 주식회사
Priority to KR1020050014462A priority Critical patent/KR100710220B1/ko
Publication of KR20060093745A publication Critical patent/KR20060093745A/ko
Application granted granted Critical
Publication of KR100710220B1 publication Critical patent/KR100710220B1/ko

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04HBUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
    • E04H13/00Monuments; Tombs; Burial vaults; Columbaria
    • E04H13/006Columbaria, mausoleum with frontal access to vaults

Landscapes

  • Engineering & Computer Science (AREA)
  • Architecture (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

본 발명은 종래의 디지털 신호 처리(DSP)에서 사용되는 블록 반복에 비해서 보다 빠른 처리 속도를 갖는 디지털 신호처리 방법을 제공하기 위한 것으로서, 반복 블록 명령어가 디코딩되면 현재 어드레스를 시작 어드레스로 설정하는 단계와,상기 시작 어드레스 설정에 따른 명령의 인접된 필드에서 디코딩하여 끝 어드레스를 설정할 때까지 소정 사이클 동안 파이프라인을 통해 디지털 신호 처리를 수행하는 단계와, 상기 인접된 필드에서 디코딩한 결과에 기초하여 끝 어드레스의 값을 검출하고 해당 어드레스를 끝 어드레스 값으로 설정하는 단계와, 상기 파이프라인을 통해 디지털 신호 처리가 수행된 값을 포함하여 상기 설정된 시작 어드레스부터 끝 어드레스까지 정해진 블록을 미리 정해진 블록 카운트만큼 반복 수행하는 단계를 포함하여 이루어지는 데 있다.
DSP, 반복 블록 명령어

Description

디지털 신호처리 방법{method for digital signal processing}
도 1 은 종래 기술에 따른 디지털 신호처리 장치에서 블록 반복(block repeat) 명령어의 파이프라인 구조를 나타낸 도면
도 2 는 본 발명에 따른 디지털 신호처리 장치에서 블록 반복(block repeat) 명령어의 파이프라인 구조를 나타낸 도면
도 3 은 본 발명에 따른 디지털 신호처리 방법에 따른 흐름도
본 발명은 디지털 신호 처리 장치(Digital Signal Processor : DSP)에 관한 것으로, 특히 DSP(Digital Signal Processor)에서의 블록 반복(block repeat) 명령어 처리 방법에 관한 것이다.
상기 DSP(Digital Signal Processor)는 디지털 신호 처리 전용의 단일 칩 프로세서로서, 연산의 반복을 고속 처리하는 장치이다. 즉, 32비트 부동소수점 연산을 50~100ns의 사이클로 처리하여 범용 마이크로 프로세서에 비해 한자리수 이상 고속으로 처리하게 된다.
이와 같이 상기 DSP는 간단한 루틴(routine)을 엄청난 수만큼 반복하는 디지 털 신호 처리를 위한 장치로서, 일반 프로세서와는 다른 명령어와 구조들을 채택하고 있다.
일반 프로세서와 DSP의 차이점은 여러 가지가 있는데, 그 중 하나가 일반 프로세서보다 적은 수의 계산 레지스터(calculation register)를 가진다는 것이다. 일반 프로세서는 계산 레지스터를 16~32개 정도 구성되는데 반해, DSP는 2~4개 정도 구성된다.
또한, mac 명령어 등을 들 수 있는데, 그 중 반복 블록(repeat block) 명령어 역시 디지털 신호 처리 장치의 큰 특징 중 하나라고 하겠다.
상기 반복 블록 명령어를 살펴보면 다음과 같다.
반복 블록 명령어는 처리를 위해 이 반복 블록 명령어 다음의 명령어의 프로그램 카운터를 블록의 시작 어드레스로 설정하고, 반복 블록 명령어의 연산수(Operand)를 블록의 끝 어드레스로 설정한다.
그리고 상기 설정된 시작 어드레스부터 끝 어드레스까지 이미 정해진 블록 카운트만큼 구간을 반복하여 수행한다.
이 반복 블록 명령어는 매번 수행 여부를 판별해야 하는 브랜치 시리즈(branch series) 등의 명령어보다 수행이 빠르고, 또 소프트웨어 코드(Software code)의 리더블리티(readability)도 높아서 큰 유용성을 가지고 있다.
그러나 이 명령어는 처음 루프(loop)를 수행하기 전, 블록(Block)의 시작 어드레스와 끝 어드레스를 설정하는 과정에서 2~3 사이클을 낭비하여 그 유용성을 감소시키는 결과를 낳았다.
도 1 은 종래 기술에 따른 디지털 신호처리 장치에서 반복 블록(repeat block) 명령어의 파이프라인 구조를 나타낸 도면이다. 이때, 설명의 편의를 위하여 LGP243을 모델을 실시 예로 나타낸다.
도 1과 같이, 반복 블록 명령어는 블록의 시작 어드레스와 끝 어드레스의 설정을 필요로 한다.
여기서 시작 어드레스 설정은 반복 블록 명령어인 'RPTB'의 다음 명령어이므로 반복 블록 명령어를 디코딩하여서 이 명령어가 반복 블록이라는 것이 판명이 되면 바로 설정하게 된다. 따라서 시작 어드레스 설정에 따른 특별한 사이클 소요가 필요가 없다.
그러나 상기 끝 어드레스 설정은 끝 어드레스를 상기 시작 어드레스 설정에 따른 명령의 인접된 필드에서 디코딩하여 설정할 때까지 소정 사이클의 시간이 소요된다. 일반적으로 2~3 사이클의 시간이 소요된다.
그리고 이 시간동안 디지털 신호 처리 장치는 파이프라인(Pipeline)을 통해 디지털 신호 처리를 다음 어드레스인 RPTB+1, RPTB+2, RPTB+3으로 계속 수행하게 된다.
이어 상기 끝 어드레스가 설정이 완료되면 상기 파이프라인을 통해 수행된 상기 RPTB+1, RPTB+2, RPTB+3 어드레스의 처리는 스톨(stall)시키고, 상기 시작 어드레스부터 다시 파이프라인을 동작시켜 상기 시작 어드레스부터 끝 어드레스까지 이미 정해진 블록 카운트만큼 구간을 반복하여 수행한다.
이에 따라 결과적으로는 반복 블록 명령어가 명령어 디코더에서 디코딩되면 블록의 끝 어드레스를 인접한 필드(immediate field)에서 추출하기 전까지는 해당 어드레스에 따른 블록은 수행되지 않는 결과가 된다.
종래 디지털 신호 처리 장치에서 이와 같이 처리하는 이유는 상기 끝 어드레스를 추출하였을 때 이미 그 지점을 프로그램 카운터가 지나가서 결과적으로 반복 블록 연산을 수행하지 못함을 방지함에 있다.
그러나 이러한 종래 방식의 반복 블록 명령어는 2 워드(word) 이하의 블록에서는 큰 효과를 나타낼 수 있으나, 일반적으로 반복 수행되는 블록 크기는 5 워드 이상이므로 이러한 방식의 반복 블록 명령어는 결국 2~3 사이클의 불필요한 시간을 낭비하게 되는 결과만을 초래하게 된다.
따라서 본 발명은 상기와 같은 문제점을 해결하기 위해 안출한 것으로서, 종래의 DSP에서 사용되는 블록 반복에 비해서 보다 빠른 처리 속도를 갖는 디지털 신호처리 방법을 제공하는데 그 목적이 있다.
본 발명의 다른 목적은 사이클의 지연없이 반복 블록을 수행하는 디지털 신호처리 방법을 제공하는데 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 디지털 신호처리 방법의 특징은 반복 블록 명령어가 디코딩되면 현재 어드레스를 시작 어드레스로 설정하는 단계와, 상기 시작 어드레스 설정에 따른 명령의 인접된 필드에서 디코딩하여 끝 어드레스를 설정할 때까지 소정 사이클 동안 파이프라인을 통해 디지털 신호 처리를 수행하는 단계와, 상기 인접된 필드에서 디코딩한 결과에 기초하여 끝 어드레스의 값을 검출하고 해당 어드레스를 끝 어드레스 값으로 설정하는 단계와, 상기 파이프라인을 통해 디지털 신호 처리가 수행된 값을 포함하여 상기 설정된 시작 어드레스부터 끝 어드레스까지 정해진 블록을 미리 정해진 블록 카운트만큼 반복 수행하는 단계를 포함하여 이루어지는 데 있다.
바람직하게 상기 설정된 시작 어드레스부터 끝 어드레스까지의 반복 블록크기가 상기 소정 사이클 동안 파이프라인을 통해 처리되는 블록의 크기보다 큰 것을 특징으로 한다.
바람직하게 상기 반복 블록크기는 4 워드 이상인 것을 특징으로 한다.
본 발명의 다른 목적, 특성 및 이점들은 첨부한 도면을 참조한 실시 예들의 상세한 설명을 통해 명백해질 것이다.
본 발명에 따른 디지털 신호처리 방법의 바람직한 실시 예에 대하여 첨부한 도면을 참조하여 설명하면 다음과 같다.
도 2 는 본 발명에 따른 디지털 신호처리 장치에서 블록 반복(block repeat) 명령어의 파이프라인 구조를 나타낸 도면이다. 이때, 설명의 편의를 위하여 LGP243을 모델을 실시 예로 나타낸다.
도 2와 같이, 반복 블록 명령어는 종래와 동일하게 블록의 시작 어드레스와 끝 어드레스의 설정을 필요로 한다.
그리고 상기 시작 어드레스 설정은 반복 블록 명령어인 'RPTB'의 다음 명령어이므로 반복 블록 명령어를 디코딩하여서 이 명령어가 반복 블록이라는 것이 판명이 되면 현재 어드레스를 시작 어드레스로 바로 설정하게 된다. 따라서 시작 어 드레스 설정에 따른 특별한 사이클 소요가 필요가 없다.
이후, 상기 끝 어드레스 설정은 상기 시작 어드레스 설정에 따른 명령의 인접된 필드에서 디코딩하여 끝 어드레스를 설정할 때까지 소정 사이클의 시간이 소요된다. 일반적으로 2~3 사이클의 시간이 소요된다.
그리고 이 시간동안 디지털 신호 처리 장치는 파이프라인(Pipeline)을 통해 디지털 신호 처리를 다음 어드레스인 RPTB+1, RPTB+2, RPTB+3으로 계속 수행하게 된다.
이어 상기 끝 어드레스가 설정이 완료되면 상기 설정된 시작 어드레스부터 끝 어드레스까지의 반복 블록크기 4워드 이상인지를 비교한다.
그리고 상기 비교 결과, 상기 반복 블록크기가 4워드 이상이면 상기 끝 어드레스가 설정되기 전까지 파이프라인을 통해 디지털 신호 처리가 다음 어드레스에 해당되는 RPTB+1, RPTB+2, RPTB+3으로 계속 수행하여 계산 레지스터에 저장된 값을 그대로 사용하고, 그 다음 파이프라인을 통한 디지털 신호 처리가 다음 어드레스에 해당되는 RPTB+4로 이어서 수행하게 된다.
이에 따라, 상기 설정된 시작 어드레스부터 끝 어드레스까지 이미 정해진 블록 카운트만큼 반복하여 수행한다.
또한, 상기 비교 결과, 상기 설정된 시작 어드레스부터 끝 어드레스까지의 반복 블록크기가 4워드 보다 작으면, 종래와 같이 상기 파이프라인을 통해 수행된 상기 RPTB+1, RPTB+2, RPTB+3 어드레스의 처리는 스톨(stall)시키고, 상기 시작 어드레스부터 다시 파이프라인을 동작시켜 상기 시작 어드레스부터 끝 어드레스까지 이미 정해진 블록 카운트만큼 구간을 반복하여 수행한다.
이에 따라 결과적으로는 상기 블록크기가 4워드 이상인 경우에 반복 블록 명령어가 명령어 디코더에서 디코딩될 때, 블록의 끝 어드레스를 인접한 필드(immediate field)에서 추출하기 전까지 파이프라인을 통해 수행된 해당 블록을 그대로 사용할 수 있게 된다.
이러한 이유로 본 발명의 반복 블록 명령어는 기존 방식과는 다르게 파이프라인 스톨(stall)을 하지 않고 계속 명령을 수행할 수 있게 된다.
단, 본 발명에 따른 반복 블랙 명령어는 반복 블록의 크기가 4 워드 이상이라는 제한 조건에서 시작하며 이러한 제한 조건을 만족할 때는 끝 어드레스를 설정하기 이전에 프로그램 카운터가 끝 어드레스까지 진행하지 못하므로 파이프라인 스톨(stall)을 시킬 필요가 없게 된다.
이에 따라, 본원발명은 기존 방식에 비해 2~3 사이클의 이득을 얻을 수 있는 것이다.
또한, 본 발명에 따른 반복 블록 명령어는 반복 블록크기가 4 워드 이상인 경우, 일체의 파이프라인 스톨(stall)없이 수행 가능하므로 디지털 신호 처리에서 아주 유용하게 쓰일 수 있는 명령어라고 할 수 있겠다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시 예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.
이상에서 설명한 바와 같은 본 발명에 따른 디지털 신호처리 방법은 반복 블록 명령어의 수행시 다음 프로그램 카운터의 명령어를 반복 블록 끝 어드레스가 설정되기 이전에 수행하여 사이클의 지연을 없앨 수 있다.

Claims (5)

  1. 반복 블록 명령어가 디코딩되면 현재 어드레스를 시작 어드레스로 설정하는 단계와,
    상기 시작 어드레스 설정에 따른 명령의 인접된 필드에서 디코딩하여 끝 어드레스를 설정할 때까지 소정 사이클 동안 파이프라인을 통해 디지털 신호 처리를 수행하는 단계와,
    상기 인접된 필드에서 디코딩한 결과에 기초하여 끝 어드레스의 값을 검출하고 해당 어드레스를 끝 어드레스 값으로 설정하는 단계와,
    상기 파이프라인을 통해 디지털 신호 처리가 수행된 값을 포함하여 상기 설정된 시작 어드레스부터 끝 어드레스까지 정해진 블록을 미리 정해진 블록 카운트만큼 반복 수행하는 단계를 포함하여 이루어지는 것을 특징으로 하는 디지털 신호처리 방법.
  2. 제 1 항에 있어서,
    상기 반복 블록 명령어는 RPTB인 것을 특징으로 하는 디지털 신호처리 방법.
  3. 제 1 항에 있어서,
    상기 소정 사이클은 2~3 사이클인 것을 특징으로 하는 디지털 신호처리 방법.
  4. 제 1 항에 있어서,
    상기 설정된 시작 어드레스부터 끝 어드레스까지의 반복 블록크기가 상기 소정 사이클 동안 파이프라인을 통해 처리되는 블록의 크기보다 큰 것을 특징으로 하는 디지털 신호처리 방법.
  5. 제 4 항에 있어서,
    상기 반복 블록크기는 4 워드 이상인 것을 특징으로 하는 디지털 신호처리 방법.
KR1020050014462A 2005-02-22 2005-02-22 디지털 신호처리 방법 KR100710220B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050014462A KR100710220B1 (ko) 2005-02-22 2005-02-22 디지털 신호처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050014462A KR100710220B1 (ko) 2005-02-22 2005-02-22 디지털 신호처리 방법

Publications (2)

Publication Number Publication Date
KR20060093745A KR20060093745A (ko) 2006-08-25
KR100710220B1 true KR100710220B1 (ko) 2007-04-20

Family

ID=37601737

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050014462A KR100710220B1 (ko) 2005-02-22 2005-02-22 디지털 신호처리 방법

Country Status (1)

Country Link
KR (1) KR100710220B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950020146A (ko) * 1993-12-20 1995-07-24 양승택 파이프라인(pipeline)이 구비된 프로세서에서 간단한 반복명령어의 구현방법
US5535348A (en) * 1990-09-28 1996-07-09 Texas Instruments Incorporated Block instruction
KR19980014696A (ko) * 1996-08-14 1998-05-25 김광호 Dsp의 단일 명령 반복처리회로
KR19980020676A (ko) * 1996-09-11 1998-06-25 구자홍 디에스피의 명령어블록 반복처리 방법
KR20010058870A (ko) * 1999-12-30 2001-07-06 박종섭 프로세서의 데이터처리방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535348A (en) * 1990-09-28 1996-07-09 Texas Instruments Incorporated Block instruction
KR950020146A (ko) * 1993-12-20 1995-07-24 양승택 파이프라인(pipeline)이 구비된 프로세서에서 간단한 반복명령어의 구현방법
KR19980014696A (ko) * 1996-08-14 1998-05-25 김광호 Dsp의 단일 명령 반복처리회로
KR19980020676A (ko) * 1996-09-11 1998-06-25 구자홍 디에스피의 명령어블록 반복처리 방법
US5960210A (en) * 1996-09-11 1999-09-28 Lg Electronics, Inc. Nested-loop-specialized circuitry for repeatedly performed arithmetic operations in digital signal processor and method thereof
KR20010058870A (ko) * 1999-12-30 2001-07-06 박종섭 프로세서의 데이터처리방법

Also Published As

Publication number Publication date
KR20060093745A (ko) 2006-08-25

Similar Documents

Publication Publication Date Title
US6823448B2 (en) Exception handling using an exception pipeline in a pipelined processor
US20020069348A1 (en) Processor stalling
JP2005317023A (ja) データ処理装置のブレークポイント論理ユニット、デバッグ論理、およびブレークポイントの方法
JP3669884B2 (ja) 処理装置
WO2007112162A2 (en) Selective instruction breakpoint generation
KR960035262A (ko) 데이터 처리 시스템에서 인터럽트 대기의 선택적인 제어를 위한 방법과 장치
KR930016896A (ko) 병렬연산기능을 가지는 계산기
JPH081602B2 (ja) データ処理装置
KR100710220B1 (ko) 디지털 신호처리 방법
KR100571326B1 (ko) 프로그램 루프를 병렬로 처리하기 위한 방법 및 장치
WO2002042905A2 (en) Method and apparatus for processing program loops
JP3599499B2 (ja) 中央処理装置
JP2008299729A (ja) プロセッサ
JP2004516572A (ja) スペキュレーティブ・レジスタの調整
JPH0212429A (ja) ディレイド・ジャンプ対応機能付情報処理装置
JP3739556B2 (ja) 情報処理装置
Zhenyu et al. Implementation of precise exception in a 5-stage pipeline embedded processor
JP3414579B2 (ja) プログラマブルコントローラ
JPH08241198A (ja) 分岐命令処理方法
JPH02181236A (ja) デバッグ装置
JP2006163566A (ja) 情報処理装置
JP2689894B2 (ja) マイクロプログラム制御型情報処理装置
JP4564025B2 (ja) 情報処理装置における割り込み処理方法
US7124285B2 (en) Peak power reduction when updating future file
JP2009205351A (ja) マイクロコンピュータ

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
FPAY Annual fee payment

Payment date: 20140414

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160324

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee