KR100970616B1 - Method for Storing and Loading Double Precision Data of Digital Signal Processor - Google Patents

Method for Storing and Loading Double Precision Data of Digital Signal Processor Download PDF

Info

Publication number
KR100970616B1
KR100970616B1 KR1020030016446A KR20030016446A KR100970616B1 KR 100970616 B1 KR100970616 B1 KR 100970616B1 KR 1020030016446 A KR1020030016446 A KR 1020030016446A KR 20030016446 A KR20030016446 A KR 20030016446A KR 100970616 B1 KR100970616 B1 KR 100970616B1
Authority
KR
South Korea
Prior art keywords
accumulator
data
storing
address
memory
Prior art date
Application number
KR1020030016446A
Other languages
Korean (ko)
Other versions
KR20040081871A (en
Inventor
이준일
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020030016446A priority Critical patent/KR100970616B1/en
Publication of KR20040081871A publication Critical patent/KR20040081871A/en
Application granted granted Critical
Publication of KR100970616B1 publication Critical patent/KR100970616B1/en

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16HGEARING
    • F16H63/00Control outputs from the control unit to change-speed- or reversing-gearings for conveying rotary motion or to other devices than the final output mechanism
    • F16H63/02Final output mechanisms therefor; Actuating means for the final output mechanisms
    • F16H63/30Constructional features of the final output mechanisms
    • F16H63/34Locking or disabling mechanisms
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16HGEARING
    • F16H61/00Control functions within control units of change-speed- or reversing-gearings for conveying rotary motion ; Control of exclusively fluid gearing, friction gearing, gearings with endless flexible members or other particular types of gearing
    • F16H61/18Preventing unintentional or unsafe shift, e.g. preventing manual shift from highest gear to reverse gear
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16HGEARING
    • F16H61/00Control functions within control units of change-speed- or reversing-gearings for conveying rotary motion ; Control of exclusively fluid gearing, friction gearing, gearings with endless flexible members or other particular types of gearing
    • F16H61/16Inhibiting or initiating shift during unfavourable conditions, e.g. preventing forward reverse shift at high vehicle speed, preventing engine over speed
    • F16H2061/165Preventing reverse gear shifts if vehicle speed is too high for safe shifting

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Executing Machine-Instructions (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 보다 용이하게 더블 프리시젼 데이터(Double Precision Data)를 저장 또는 로드할 수 있도록 한 디지털 신호 처리기의 더블 프리시젼 데이터 저장/로드방법에 관한 것으로, 상위 파트와 하위 파트로 이루어진 누산기와, 메모리를 구비한 디지털 신호 처리기의 제어방법에 있어서, 상기 누산기의 데이터를 메모리에 저장하기 위한 단일 저장(Store) 명령이 입력되면, 상기 입력된 단일 저장 명령에 따라 상기 누산기의 상위 파트 데이터를 상기 메모리의 n번째 레지스터에 저장하고 상기 누산기의 하위 파트 데이터를 n+1번째 레지스터에 저장하는 단계; 그리고, 상기 메모리에 저장된 데이터를 누산기로 로드하기 위한 단일 로드(Load) 명령이 입력되면, 상기 입력된 단일 로드 명령에 따라 상기 메모리의 n번째 레지스터에 저장된 데이터를 상기 누산기의 상위 파트로 로드하고 n+1번째 레지스터에 저장된 데이터를 상기 누산기의 하위 파트로 로드하는 단계를 포함하여 이루어지므로, 단일 저장/로드 명령어로 연속적인 어드레스를 이슈하여 누산기의 하이 파트 및 로우 파트에 대한 2 사이클을 한번에 수행할 수 있으므로 프로그램 작성의 효율성을 향상시키고 시스템 부하를 줄일 수 있다.The present invention relates to a double precision data storing / loading method of a digital signal processor, which makes it easier to store or load double precision data. The present invention includes an accumulator comprising an upper part and a lower part, and a memory. In a control method of a digital signal processor, when a single store command for storing data of the accumulator is input, the upper part data of the accumulator is nth of the memory according to the input single store command. Storing in a register and storing the lower part data of the accumulator in an n + 1 th register; When a single load command for loading data stored in the memory into an accumulator is input, the data stored in the nth register of the memory is loaded into an upper part of the accumulator according to the input single load command and n Since the data stored in the +1 th register is loaded into the lower part of the accumulator, two cycles for the high part and the low part of the accumulator can be performed at a time by issuing consecutive addresses with a single store / load instruction. This can improve the efficiency of programming and reduce the system load.

디지털 신호 처리기(DSP)/누산기/더블 프리시젼(Double Precision)Digital Signal Processor (DSP) / Accumulator / Double Precision

Description

디지털 신호 처리기의 더블 프리시젼 데이터 저장 및 로드방법{Method for Storing and Loading Double Precision Data of Digital Signal Processor}Method for Storing and Loading Double Precision Data of Digital Signal Processor

도 1은 일반적인 디지털 신호 처리기의 누산기 구조를 나타낸 도면1 illustrates an accumulator structure of a general digital signal processor.

도 2는 종래 기술에 따른 디지털 신호 처리기의 더블 프리시젼 데이터 저장과정을 나타낸 도면2 is a diagram illustrating a double precision data storing process of a digital signal processor according to the prior art.

도 3은 종래 기술에 따른 디지털 신호 처리기의 더블 프리시젼 데이터 저장방법을 나타낸 플로우 차트3 is a flowchart illustrating a method of storing double precision data of a digital signal processor according to the related art.

도 4는 본 발명에 따른 디지털 신호 처리기의 더블 프리시젼 데이터 저장과정을 나타낸 도면4 is a diagram illustrating a double precision data storing process of a digital signal processor according to the present invention.

도 5는 본 발명에 따른 디지털 신호 처리기의 더블 프리시젼 데이터 저장방법을 나타낸 플로우 차트5 is a flowchart illustrating a method of storing double precision data of a digital signal processor according to the present invention.

도 6은 본 발명의 더블 프리시젼 데이터 저장방법에 따른 메모리 형태를 나타낸 도면6 is a diagram illustrating a memory form according to the double precision data storing method of the present invention.

본 발명은 디지털 신호 처리기에 관한 것으로, 특히 보다 용이하게 더블 프리시젼 데이터(Double Precision Data)를 저장 또는 로드할 수 있도록 한 디지털 신호 처리기의 더블 프리시젼 데이터 저장 및 로드방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to digital signal processors, and more particularly, to a method of storing and loading double precision data of a digital signal processor, which makes it easier to store or load double precision data.

일반적으로, 디지털 신호를 고속으로 처리하기 위해서 마이크로 프로세서(Micro Processor)에는 디지털 신호 처리기(Digital Signal Processor, DSP)가 구비되어 있는데, 이때, 디지털 신호 처리기는 일반 프로세서와 달리 누산기(Accumulator)라는 레지스터(Register)를 사용하여 연산을 수행하게 된다.In general, in order to process digital signals at high speed, a microprocessor includes a digital signal processor (DSP). In this case, unlike a general processor, a digital signal processor includes a register called an accumulator (Accumulator). Register) to perform the operation.

여기서, 누산기는 그 연산결과를 메모리의 해당 레지스터에 저장(Store)하거나 메모리에 저장된 데이터를 로드(Load)하게 된다.Here, the accumulator stores the operation result in a corresponding register of the memory or loads the data stored in the memory.

그리고, 누산기는 디지털 신호 처리기의 데이터 폭(Data Width)보다 더 넓은 폭을 가지고 있는데, 이는 데이터 연산 중 누산기의 폭(Accumulator Width)에 의해서 발생하는 데이터 손실을 최소화하기 위함이다.The accumulator has a wider width than the data width of the digital signal processor, in order to minimize data loss caused by the accumulator width during data operation.

이하, 24 비트(Bit)의 디지털 신호 처리기를 예로 하여 상세히 설명하면 다음과 같다.Hereinafter, a 24-bit digital signal processor will be described in detail as an example.

종래 기술에 따른 24 비트의 디지털 신호 처리기의 누산기는 도 1에 도시한 바와 같이, 신호 확장(Sign Extension)을 위한 가드 비트(Guard Bit)와, 데이터를 연산하기 위한 하이 파트(High Part)(또는 상위 파트) 및 로우 파트(Low Part)(또는 하위 파트)로 구성된다.As shown in FIG. 1, an accumulator of a 24-bit digital signal processor according to the related art has a guard bit for signal extension and a high part (or a high part) for computing data. It consists of an upper part) and a low part (or lower part).

이때, 상기 하이 파트 및 로우 파트는 각각 24 비트를 갖는다.In this case, each of the high part and the low part has 24 bits.

일반적으로, 상기 누산기의 데이터는 트렁케이션(Truncation)을 통해 저장하기도 하지만 도시한 바와 같이, 하이 파트 및 로우 파트가 따로 저장되기도 한다. In general, the accumulator data may be stored through truncation, but as shown, the high part and the low part may be stored separately.                         

여기서, 하이 파트와 로우 파트가 따로 저장되는 경우, 각각의 파트에 대하여 스토어 인스트럭션(Store Instruction)과 스토어 어드레스(Store Address)로 이루어진 어셈블리 코드(Assembly Code)를 사용하여 더블 프리시젼 데이터(Double Precision Data)의 저장 과정을 수행한다.In this case, when the high part and the low part are stored separately, double precision data is used for each part by using assembly code including a store instruction and a store address. Carry out the storage process.

예를 들어, 로우 파트에 저장하기 위한 인스트럭션을 SACL(Store Accumulator Low Part)로, 하이 파트에 저장하기 위한 인스트럭션을 SACH(Store Accumulator High Part)로 정의할 때, 하나의 데이터를 저장하기 위한 어셈블리 코드는 아래와 같은 프로그램 형식을 갖는다.For example, when defining an instruction for storing in a low part as a Store Accumulator Low Part (SACL) and an instruction for storing in a high part as a Store Accumulator High Part (SACH), assembly code for storing one data Has the following program format:

SACL a, *ar0 --- ①SACL a, * ar0 --- ①

SACH a, *ar1 --- ②SACH a, * ar1 --- ②

이때, ① 프로그램 라인은 도 2에 도시한 바와 같이 누산기의 로우 파트의 데이터(wdata0)를 메모리의 ar0(Store Address)에 해당하는 레지스터(waddr0)에 저장하기 위한 명령 조합이고, ② 프로그램 라인은 누산기의 하이 파트의 데이터(wdata1)를 메모리의 ar1에 해당하는 레지스터(waddr1)에 저장하기 위한 명령 조합이다.At this time, ① program line is a combination of instructions for storing the data (wdata0) of the low part of the accumulator in the register (waddr0) corresponding to ar0 (Store Address) of the memory, as shown in Figure 2, ② the program line is an accumulator Is a combination of instructions for storing the data (wdata1) of the high part in the register (waddr1) corresponding to ar1 of the memory.

상기와 같이 작성된 프로그램에 따른 더블 프리시전 데이터 저장 방법을 설명하면, 도 3에 도시한 바와 같이 먼저 누산기의 로우 파트의 데이터를 읽어들이고, 메모리의 ar0에 해당하는 레지스터에 상기 읽어들인 로우 파트의 데이터를 저장한다(SACL a, *ar0)(S1~S3).Referring to the double-precision data storage method according to the above-described program, first, as shown in FIG. 3, the data of the row part of the accumulator is first read, and the data of the read row part is stored in a register corresponding to ar0 of the memory. Save (SACL a, * ar0) (S1 to S3).

이어서, 상기 누산기의 하이 파트의 데이터를 읽어들이고, 메모리의 ar1에 해당하는 레지스터에 상기 읽어들인 하이 파트의 데이터를 저장한다(SACH a, *ar1)(S4~S6).Subsequently, the high part data of the accumulator is read, and the read high part data is stored in a register corresponding to ar1 of the memory (SACH a, * ar1) (S4 to S6).

그리고, 메모리에 저장된 데이터를 누산기에 로드(Load)하는 방법 또한 마찬가지로, 하이 파트 및 로우 파트 각각에 대해 억세스(Access)하여 ar0에 해당하는 레지스터에 저장된 데이터를 누산기의 로우 파트로 로드하고, ar1에 해당하는 레지스터에 저장된 데이터를 하이 파트로 로드하게 된다.In addition, the method of loading the data stored in the memory into the accumulator also accesses each of the high part and the low part, and loads the data stored in the register corresponding to ar0 into the low part of the accumulator, The data stored in the corresponding register is loaded into the high part.

따라서, 종래 기술에 따른 디지털 신호 처리기는 하나의 데이터에 대해 하이 파트와 로우 파트 각각에 대한 억세스가 이루어져 누산기의 데이터를 메모리에 저장하거나 저장된 메모리의 데이터를 누산기로 로드하게 된다.Accordingly, the digital signal processor according to the related art has access to each of the high part and the low part with respect to one data, thereby storing the data of the accumulator in the memory or loading the data of the stored memory into the accumulator.

그러나, 이상에서 설명한 종래 기술에 따른 디지털 신호 처리기는 다음과 같은 문제점이 있다.However, the digital signal processor according to the related art described above has the following problems.

첫째, 하나의 데이터에 대하여 누산기의 하이 파트와 로우 파트 각각에 대한 억세스가 이루어지는데 상위 파트 및 하위 파트에 대한 인스트럭션 및 어드레스가 각각 존재하기 때문에 프로그램 작성 라인이 길어지는 문제가 있다.First, access to each of the high part and the low part of the accumulator is performed on one data, but there is a problem in that a program writing line becomes long because instructions and addresses for the upper part and the lower part are present.

둘째, 하나의 데이터를 저장하거나 로드하는 과정에서 하이 파트에 대한 사이클과 로우 파트에 대한 사이클이 각각 수행되기 때문에 마이크로 프로세서의 부하가 가중됨과 동시에 시스템 오류가 빈번하게 발생되었다.Second, since the cycle for the high part and the cycle for the low part are performed in the process of storing or loading a single data, a system error occurs frequently and a large amount of microprocessor load is generated.

따라서, 본 발명은 상술한 종래 기술의 문제점을 해결하기 위해 안출한 것으로서, 본 발명은 한번의 억세스(단일 명령)를 통해 더블 프리시젼 데이터의 저장 또는 로드가 수행될 수 있도록 한 디지털 신호 처리기의 더블 프리시젼 데이터 저장/로드방법을 제공하는데 그 목적이 있다.Accordingly, the present invention has been made to solve the above-described problems of the prior art, and the present invention provides a double precision of a digital signal processor which allows a double precision data to be stored or loaded through a single access (single command). Its purpose is to provide a data storage / loading method.

상기와 같은 목적을 달성하기 위한 본 발명은 데이터 비트의 상위 파트와 하위 파트를 저장하여 연산하는 누산기에 저장된 데이터를 메모리에 저장하도록 하는 단일 명령을 수신한 단계, 및 상기 수신된 단일 명령에 따라 상기 누산기의 상위 파트 및 하위 파트 중 어느 하나의 파트에 저장된 데이터를 상기 메모리의 제 1 어드레스에 저장하고, 상기 제 1 어드레스에 연속하는 제 2 어드레스를 발생시켜 상기 상위 파트 및 하위 파트 중 나머지 파트에 저장된 데이터를 상기 메모리의 제 2 어드레스에 저장하는 단계를 포함하는 디지털 신호 처리기의 더블 프리시젼 데이터 저장 방법을 제공한다.The present invention for achieving the above object is a step of receiving a single command to store the data stored in the accumulator to store and calculate the upper part and lower part of the data bits, and in accordance with the received single command Data stored in any one of an upper part and a lower part of an accumulator is stored in a first address of the memory, and a second address consecutive to the first address is generated to be stored in the remaining part of the upper part and the lower part. A method of storing double precision data in a digital signal processor, the method comprising storing data at a second address of the memory.

다른 관점에서 본 발명은 데이터 비트의 상위 파트와 하위 파트를 저장하여 연산하는 누산기가 메모리에 저장된 데이터를 읽고 로드하도록 하는 단일 명령을 수신한 단계 및 상기 수신된 단일 명령에 따라 상기 메모리의 제 1 어드레스에 저장된 데이터를 상기 누산기의 상위 파트 및 하위 파트 중 어느 하나의 파트에 읽어 저장하고, 상기 제 1 어드레스에 연속하는 제 2 어드레스를 발생시켜 상기 메모리의 제 2 어드레스에 저장된 데이터를 상기 누산기의 상위 파트 및 하위 파트 중 나머지 파트에 읽어 저장하는 단계를 포함하는 디지털 신호 처리기의 더블 프리시젼 데이터 로드방법을 제공한다.In another aspect, the present invention provides a method for storing an upper part and a lower part of a data bit, and receiving a single command to cause an accumulator to read and load data stored in a memory, and the first address of the memory according to the received single command. Read and store data stored in any one of an upper part and a lower part of the accumulator, generate a second address consecutive to the first address, and store data stored at a second address of the memory in an upper part of the accumulator. And reading and storing the remaining part of the lower part in the remaining part.

삭제delete

본 발명의 다른 목적, 특성 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.Other objects, features and advantages of the present invention will become apparent from the following detailed description of embodiments taken in conjunction with the accompanying drawings.

본 발명에 따른 디지털 신호 처리기의 더블 프리시젼 데이터 저장/로드방법의 바람직한 실시예에 대하여 첨부한 도면을 참조하여 설명하면 다음과 같다.A preferred embodiment of the double precision data storage / loading method of the digital signal processor according to the present invention will be described with reference to the accompanying drawings.

도 4는 본 발명에 따른 디지털 신호 처리기의 더블 프리시젼 데이터 저장과정을 나타낸 도면이고, 도 5는 본 발명에 따른 디지털 신호 처리기의 더블 프리시젼 데이터 저장방법을 나타낸 플로우 차트이며, 도 6은 본 발명의 더블 프리시젼 데이터 저장방법에 따른 메모리 형태를 나타낸 도면이다.4 is a diagram illustrating a double precision data storage process of the digital signal processor according to the present invention, FIG. 5 is a flowchart illustrating a double precision data storage method of the digital signal processor according to the present invention, and FIG. FIG. 3 is a diagram illustrating a memory form according to a precision data storage method. FIG.

먼저, 본 발명은 하나의 인스트럭션(Instruction)으로 연속적인 어드레스를 이슈(Issue)하는 멀티 사이클 인스트럭션(Multi Cycle Instruction)을 정의할 수 있다.First, the present invention may define a multi cycle instruction for issuing a continuous address with one instruction.

예를 들어, 디지털 신호 처리기의 누산기에 있어 하이 파트와 로우 파트에 대한 억세스를 하나의 인스트럭션으로 수행할 수 있도록 연속적인 2 어드레스를 이슈하는 2 사이클 인스트럭션(Two Cycle Instruction)을 제안한다.For example, we propose a two cycle instruction that issues two consecutive addresses so that access to the high part and the low part can be performed in one instruction in the accumulator of the digital signal processor.

이는, 자동 증가 어드레싱 모드(Auto Increment Addressing Mode)로서, 하나의 단일 명령에 대해 최초의 어드레스에 대해 사이클을 수행하고 최초의 어드레스 를 자동 증가시키면서 다음 사이클을 수행할 수 있도록 한 것이다.This is an Auto Increment Addressing Mode, which allows one single instruction to cycle on the first address and to perform the next cycle while auto incrementing the first address.

이때, 누산기의 로우 파트 데이터 및 하이 파트 데이터를 메모리의 특정 어드레스에 해당하는 레지스터에 저장하기 위한 명령어는 SLAC(Store Long Accumulator)로 정의하고, 상기 메모리에 저장된 데이터를 누산기의 로우 파트 및 하이 파트로 로드하기 위한 명령어는 LLAC(Load Long Accumulator)로 정의한다.In this case, an instruction for storing the low part data and the high part data of the accumulator in a register corresponding to a specific address of the memory is defined as a store long accumulator (SLAC), and the data stored in the memory is stored in the low part and the high part of the accumulator. Command to load is defined as LLAC (Load Long Accumulator).

상기와 같이 정의된 단일 명령어에 따라 더블 프리시젼 데이터를 저장/로드하는 과정을 설명하면 다음과 같다.A process of storing / loading double precision data according to a single command defined as described above is as follows.

본 발명에 따른 디지털 신호 처리기에서, 하나의 데이터를 저장하기 위한 어셈블리 코드가 하기와 같을 경우,In the digital signal processor according to the present invention, when the assembly code for storing one data is as follows,

SLAC a, *ar0 ; if ar0 contains 10hSLAC a, * ar0; if ar0 contains 10h

도 4에 도시한 바와 같이, 누산기의 로우 파트 데이터(wdata0)를 "ar0"의 값(10h)에 해당하는 레지스터(waddr0)에 저장하는 사이클을 수행하고, ar0 값을 '1'만큼 자동 증가시켜 하이 파트의 데이터(wdata1)를 "ar0 + 1"에 해당하는 레지스터(waddr1)에 저장하는 사이클을 수행한다.As shown in FIG. 4, a cycle of storing the low part data wdata0 of the accumulator in the register waddr0 corresponding to the value 10h of “ar0” is performed, and the ar0 value is automatically increased by '1'. A cycle of storing the data wdata1 of the high part in the register waddr1 corresponding to "ar0 + 1" is performed.

마찬가지로, 상기 메모리에 저장된 데이터를 누산기의 하이 파트와 로우 파트 각각에 로드하는 경우, "ar0"의 레지스터에 저장된 데이터를 누산기의 로우 파트로 로드하고, 이어서 "ar0 + 1"의 레지스터에 저장된 데이터를 하이 파트로 로드하게 된다.Similarly, when data stored in the memory is loaded into each of the high and low parts of the accumulator, the data stored in the register of "ar0" is loaded into the low part of the accumulator, and then the data stored in the register of "ar0 + 1" is loaded. The high part will load.

이때, 상기 최초 어드레스 ar0의 값은 변하지 않고 최초 값 10h를 유지하게 된다. At this time, the value of the first address ar0 does not change and maintains the initial value 10h.                     

즉, 명령어가 "SLAC"일 경우 최초 어드레스에 대한 사이클 수행한 후 자동적으로 연속적인 다음 어드레스에 대한 사이클을 수행한다.That is, if the instruction is "SLAC", the cycle for the first address is automatically performed, and then the cycle for the next consecutive address is automatically performed.

또한, 상술한 자동 증가 어드레싱 모드를 사용해서 예를 들어, 'SLAC a, *ar0 +'라는 어셈블리 코드를 구성하면 ar0의 값을 '2'만큼 증가시켜 저장/로드 사이클을 수행하도록 제어할 수 있다.In addition, by using the above-described auto-increment addressing mode, for example, if the assembly code of 'SLAC a, * ar0 +' is configured, the value of ar0 may be increased by '2' to perform a storage / load cycle. .

본 발명에 따른 디지털 신호 처리기의 더블 프리시젼 데이터 저장/로드방법을 도 5를 참조하여 설명하면 다음과 같다.The double precision data storage / loading method of the digital signal processor according to the present invention will be described with reference to FIG.

SLAC a, *ar0 ;if ar0 contains 10h와 같은 어셈블리 코드의 경우, 먼저 누산기에서 로우 파트 및 하이 파트의 데이터를 불러들인다(S10).In case of assembly code such as SLAC a, * ar0; if ar0 contains 10h, first, data of a low part and a high part is loaded from an accumulator (S10).

그리고, 상기 어셈블리 코드에 따라 ar0 어드레스(10h)와 ar0에서 1만큼 자동 증가한 ar1 어드레스(11h)를 얻은 후, 상기 불러들인 누산기의 로우 차트 데이터를 ar0에 해당하는 레지스터에 저장하고 하이 파트 데이터를 ar1에 해당하는 레지스터에 저장한다(S11~S12).According to the assembly code, an ar0 address 10h and an ar1 address 11h automatically increased by 1 in ar0 are obtained, and then the low chart data of the loaded accumulator is stored in a register corresponding to ar0 and the high part data is stored in ar1. Are stored in the register corresponding to each other (S11 to S12).

이때, 상기 더블 프리시젼 데이터가 저장된 메모리의 형태는 도 6에 도시한 바와 같이, 최초의 어드레스 10h에서 연속되는 다음 어드레스 11h를 이슈하게 되어 해당 어드레스 레지스터에 로우 파트와 하이 파트의 데이터를 각각 저장하게 된다.In this case, as shown in FIG. 6, the memory having the double precision data stored therein issues the next address 11h consecutive at the first address 10h and stores the data of the low part and the high part in the corresponding address register, respectively. .

이와 같은 과정으로 저장된 더블 프리시젼 데이터를 로드할 경우, ar0의 레지스터에 저장된 데이터를 누산기의 로우 파트로 로드하고, ar1의 레지스터에 저장된 데이터를 누산기의 하이 파트로 로드하게 된다.When the stored double precision data is loaded in this manner, the data stored in the register of ar0 is loaded into the low part of the accumulator, and the data stored in the register of ar1 is loaded into the high part of the accumulator.

그리고, 상술한 어셈블리 코드에 따라 최초의 어드레스에 해당하는 레지스터 에 하이 파트의 데이터를 저장하고 다음 어드레스의 레지스터에 로우 파트의 데이터를 저장하는 방법도 가능하며, 이와 같은 과정으로 데이터가 저장된 후 저장된 데이터를 로드할 경우에는 최초의 어드레스에 저장된 데이터를 하이 파트로 로드하고, 다음 어드레스에 저장된 데이터를 로우 파트로 로드한다.According to the assembly code described above, a method of storing the high part data in a register corresponding to the first address and the low part data in the register of the next address may be possible. To load the data stored at the first address into the high part, load the data stored in the next address into the low part.

따라서, 본 발명은 하나의 단일 저장 명령어 및 단일 로드 명령어에 따라 연속적인 어드레스를 이슈하여 둘 이상의 저장/로드 사이클을 수행할 수 있다. Accordingly, the present invention can perform two or more store / load cycles by issuing consecutive addresses according to one single store instruction and one load instruction.

이상에서 설명한 바와 같은 본 발명에 따른 디지털 신호 처리기의 더블 프리시젼 데이터 저장/로드방법은 다음과 같은 효과가 있다.As described above, the double precision data storing / loading method of the digital signal processor according to the present invention has the following effects.

첫째, 단일 저장/로드 명령어로 연속적인 어드레스를 이슈하여 누산기의 하이 파트 및 로우 파트에 대한 두 사이클을 한번에 수행할 수 있으므로 프로그램 사이즈를 현저히 줄여 프로그램 작성의 효율성을 향상시킬 수 있다.First, two cycles for the high part and the low part of the accumulator can be executed at the same time by issuing consecutive addresses with a single save / load instruction, thereby significantly reducing the program size and improving the efficiency of program writing.

둘째, 하나의 데이터를 저장하거나 로드하는 과정에서 누산기의 하이 파트 및 로우 파트에 대한 사이클을 하나의 단일 명령어를 통해 수행 가능하므로 시스템 부하를 줄일 수 있다.Second, in the process of storing or loading one data, the cycle for the high part and the low part of the accumulator can be executed through a single command, thereby reducing the system load.

이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention.

따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.Therefore, the technical scope of the present invention should not be limited to the contents described in the embodiments, but should be defined by the claims.

Claims (3)

데이터 비트의 상위 파트와 하위 파트를 저장하여 연산하는 누산기가 누산기에 저장된 데이터를 메모리에 저장하도록 하는 단일 명령을 수신하는 단계;To operate by storing the upper part and lower part of the data bit. Accumulator Receiving a single command to store data stored in the accumulator in a memory; 상기 수신된 단일 명령에 따라 상기 누산기의 상위 파트 및 하위 파트 중 어느 하나의 파트에 저장된 데이터를 상기 메모리의 제 1 어드레스에 저장하고, 상기 제 1 어드레스에 연속하는 제 2 어드레스를 발생시켜 상기 상위 파트 및 하위 파트 중 나머지 파트에 저장된 데이터를 상기 메모리의 제 2 어드레스에 저장하는 단계를 포함하는 디지털 신호 처리기의 더블 프리시젼 데이터 저장 방법. According to the received single command, data stored in any one of an upper part and a lower part of the accumulator is stored in a first address of the memory, and a second address consecutive to the first address is generated to generate the upper part. And storing the data stored in the remaining parts of the lower parts in the second address of the memory. 데이터 비트의 상위 파트와 하위 파트를 저장하여 연산하는 누산기가 메모리에 저장된 데이터를 읽고 로드하도록 하는 단일 명령을 수신하는 단계; 및Receiving a single instruction to cause an accumulator for storing and operating the upper and lower parts of the data bits to read and load data stored in the memory; And 상기 수신된 단일 명령에 따라 상기 메모리의 제 1 어드레스에 저장된 데이터를 상기 누산기의 상위 파트 및 하위 파트 중 어느 하나의 파트에 읽어 저장하고, 상기 제 1 어드레스에 연속하는 제 2 어드레스를 발생시켜 상기 메모리의 제 2 어드레스에 저장된 데이터를 상기 누산기의 상위 파트 및 하위 파트 중 나머지 파트에 읽어 저장하는 단계를 포함하는 디지털 신호 처리기의 더블 프리시젼 데이터 로드방법.Read and store data stored in a first address of the memory in any one of an upper part and a lower part of the accumulator according to the received single command, and generate a second address consecutive to the first address to generate the second address. And reading data stored at a second address of a second part of the accumulator into a remaining part of an upper part and a lower part of the accumulator. 삭제delete
KR1020030016446A 2003-03-17 2003-03-17 Method for Storing and Loading Double Precision Data of Digital Signal Processor KR100970616B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030016446A KR100970616B1 (en) 2003-03-17 2003-03-17 Method for Storing and Loading Double Precision Data of Digital Signal Processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030016446A KR100970616B1 (en) 2003-03-17 2003-03-17 Method for Storing and Loading Double Precision Data of Digital Signal Processor

Publications (2)

Publication Number Publication Date
KR20040081871A KR20040081871A (en) 2004-09-23
KR100970616B1 true KR100970616B1 (en) 2010-07-15

Family

ID=37365866

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030016446A KR100970616B1 (en) 2003-03-17 2003-03-17 Method for Storing and Loading Double Precision Data of Digital Signal Processor

Country Status (1)

Country Link
KR (1) KR100970616B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736857A (en) * 1993-07-20 1995-02-07 Matsushita Electric Ind Co Ltd Signal processor
KR19990061571A (en) * 1997-12-31 1999-07-26 윤종용 Digital signal processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736857A (en) * 1993-07-20 1995-02-07 Matsushita Electric Ind Co Ltd Signal processor
KR19990061571A (en) * 1997-12-31 1999-07-26 윤종용 Digital signal processor

Also Published As

Publication number Publication date
KR20040081871A (en) 2004-09-23

Similar Documents

Publication Publication Date Title
US4777588A (en) General-purpose register file optimized for intraprocedural register allocation, procedure calls, and multitasking performance
US20080104364A1 (en) Vector indexed memory unit and method
US6502183B2 (en) Stack oriented data processing device
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
KR19990037571A (en) A data pointer for outputting an indirect addressing mode address in a single period and a method of providing the same
US5958039A (en) Master-slave latches and post increment/decrement operations
KR100970616B1 (en) Method for Storing and Loading Double Precision Data of Digital Signal Processor
US7805581B2 (en) Multiple address and arithmetic bit-mode data processing device and methods thereof
US6345353B2 (en) Stack pointer with post increment/decrement allowing selection from parallel read/write address outputs
JP3344316B2 (en) Digital signal processing device and signal processing system
US6886159B2 (en) Computer system, virtual machine, runtime representation of object, storage media and program transmission apparatus
US5450587A (en) Expanded memory addressing scheme
KR20000003404A (en) Micro controller for accessing an external memory
US6505225B1 (en) Adder logic circuit and processor
US6243798B1 (en) Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction
US5649229A (en) Pipeline data processor with arithmetic/logic unit capable of performing different kinds of calculations in a pipeline stage
US20010042155A1 (en) Instruction memory circuit
KR200204909Y1 (en) A microcontroller including an divided internal code memory
US5524221A (en) Next instruction pointer calculation system for a microcomputer
US10817288B2 (en) Combined instruction for addition and checking of terminals
JP2716563B2 (en) Data write control method
JPH01255933A (en) Sweeping-out control system
US6532486B1 (en) Apparatus and method for saturating data in register
KR100246465B1 (en) Apparatus and method for reducing cycle of microprocessor stack order
JP3091674B2 (en) Microcomputer

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: 20130624

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140624

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150624

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee