KR950006586B1 - Memory control method - Google Patents

Memory control method Download PDF

Info

Publication number
KR950006586B1
KR950006586B1 KR1019930001439A KR930001439A KR950006586B1 KR 950006586 B1 KR950006586 B1 KR 950006586B1 KR 1019930001439 A KR1019930001439 A KR 1019930001439A KR 930001439 A KR930001439 A KR 930001439A KR 950006586 B1 KR950006586 B1 KR 950006586B1
Authority
KR
South Korea
Prior art keywords
program
memory
internal
executed
processing time
Prior art date
Application number
KR1019930001439A
Other languages
Korean (ko)
Other versions
KR940020217A (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 KR1019930001439A priority Critical patent/KR950006586B1/en
Publication of KR940020217A publication Critical patent/KR940020217A/en
Application granted granted Critical
Publication of KR950006586B1 publication Critical patent/KR950006586B1/en

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

Abstract

The method improves data processing speeds. Within whole programs to be processed, a program which takes a long time for processing is executed at an internal program memory of DSP chip and a program which takes a short time for processing is executed at an external program memory. It comprises; (i) a compiling stage at which the program which takes a long time for processing is compiled to be executed at the internal program memory; (ii) a stage at which the memory field occupied by the entire program is minimized; (iii) an initializing stage at which a beginning address of the program which takes a long time for processing is loaded to a beginning address of the internal program memory.

Description

메모리 제어방법Memory control method

제1도는 본 발명에 의한 메모리 제어방법에서 소정의 프로그램이 메모리에 저장되는 상태를 나타내는 도면.1 is a view showing a state in which a predetermined program is stored in a memory in the memory control method according to the present invention.

본 발명은 소정의 내부프로그램 메모리를 갖는 DSP(Digital Signal Processing) 칩(Chip)에 관한 것으로, 특히 DSP칩의 내부프로그램 메모리의 용량보다 큰 사이즈의 프로그램을 보다 효율적으로 실행하기 위한 메모리 제어방법에 관한 것이다.The present invention relates to a digital signal processing (DSP) chip having a predetermined internal program memory, and more particularly, to a memory control method for more efficiently executing a program having a size larger than that of an internal program memory of a DSP chip. will be.

일반적으로 DSP칩은 소정 크기의 내부프로그램 메모리를 갖는다. DSP칩을 사용하여 임의의 프로그램을 처리할 때, DSP칩의 내부에 구비된 내부프로그램 메모리에서 프로그램을 실행하면 데이타 처리속도를 현저하게 증가시킬 수 있다. 또한, 프로그램 실행시 DSP칩 내부에서 데이타 전송이 이루어지므로, 외부프로그램 메모리에서 프로그램이 실행될 때 발생되는 데이타 전송시의 노이즈를 방지할 수 있다. 그러나, 일반적으로 대부분의 프로그램의 사이즈는 DSP칩의 내부프로그램 메모리의 용량보다 크다. 따라서, 임의의 프로그램을 내부프로그램 메모리에서 실행하기 위해서는 내부프로그램 메모리의 용량을 처리하고자 하는 프로그램의 사이즈와 최소한 같도록 구성하여야 한자. 그러나, 일반적으로 DSP칩은 한정된 용량의 내부프로그램 메모리를 가지며, 내부프로그램 메모리의 용량을 증가시키려면 DSP칩의 비용이 상당히 증가한다. 그러므로, 처리하고자 하는 프로그램의 사이즈가 내부프로그램 메모리의 용량과 같거나 그보다 작을 때에는 내부프로그램 메모리에서 실행될 수 있지만, 처리하고 하는 프로그램의 사이즈가 내부프로그램 메모리의 용량보다 큰 경우에는 DSP칩 외부에 구비된 외부프로그램 메모리를 이용하여야 한다. 외부프로그램 메모리에서 프로그램이 실행되는 경우 데이타 처리속도 및 효율이 저하되고, 데이타 전송과정에서 노이즈가 발생하는 등의 문제점이 발생하게 된다.Generally, a DSP chip has an internal program memory of a predetermined size. When processing an arbitrary program using a DSP chip, executing the program in the internal program memory provided inside the DSP chip can significantly increase the data processing speed. In addition, since data transfer is performed inside the DSP chip when the program is executed, it is possible to prevent noise during data transfer that occurs when the program is executed in the external program memory. In general, however, most program sizes are larger than the internal program memory of the DSP chip. Therefore, in order to execute any program in the internal program memory, it should be configured to be at least equal to the size of the program to process the capacity of the internal program memory. However, in general, the DSP chip has a limited capacity of internal program memory, and the cost of the DSP chip increases considerably to increase the capacity of the internal program memory. Therefore, when the size of the program to be processed is equal to or smaller than the capacity of the internal program memory, the program can be executed in the internal program memory. However, when the size of the program to be processed is larger than the capacity of the internal program memory, External program memory must be used. When a program is executed in the external program memory, data processing speed and efficiency are reduced, and noise may occur during data transmission.

따라서, 본 발면의 목적은 처리하고자 하는 프로그램이 DSP칩 내부에 구비된 내부프로그램 메모리의 용량보다 큰 경우, 전체 프로그램 중에서 데이타 처리시간이 상대적으코 많이 소요되는 프로그램은 내부프로그램 메모리에서 실행하고 데이타 처리시간이 상대적으로 적게 소요되는 프로그램은 외부프로그램 메모리에서 실행함으로써, DSP칩의 데이타 처리속도 및 효율을 보다 향상시킬 수 있는 메모리 제어방법을 제공함에 있다.Therefore, the object of the present aspect is that if the program to be processed is larger than the capacity of the internal program memory provided in the DSP chip, the program which takes a relatively large amount of data processing time among all programs is executed in the internal program memory and the data processing time This relatively small program is executed in an external program memory, thereby providing a memory control method that can further improve the data processing speed and efficiency of the DSP chip.

이와 같은 본 발명의 목적은 소정 크기의 내부프로그램 메모리를 구비한 DSP(Digital Signal Processing)칩과 소정 크기의 외부프로그램 메모리를 사용하여 소정의 프로그램을 처리하기 위해 메모리를 제어하는 방법에 있어서, 외부프로그램 메모리에서 처리하고자 하는 프로그램중 상대적으로 데이타 처리시간이 많이 소요되는 프로그램의 시작어드레스를 상기 내부프로그램 메모리영역의 시작어드레스와 일치하도록 콤파일링하는 단계와, 상기 콤파일링 단계에서 콤파일링된 전체 프로그램이 외부프로그램 메모리에서 차지하는 메모리영역을 최소화하는 단계와, 상기 처리하고자 하는 프로그램의 실행이 시작될 때, 상기 데이타처리시간이 많이 소요되는 프로그램을 상기 콤파일링 단계에서 콤파일링된 어드레스로 로딩하도록 초기화하는 단계를 포함하는 메모리 제어방법에 의하여 이루어진다.An object of the present invention is to provide a method for controlling a memory for processing a predetermined program using a digital signal processing (DSP) chip having an internal program memory of a predetermined size and an external program memory of a predetermined size. Compiling a start address of a program that takes a relatively long time to process data among programs to be processed in memory to match the start address of the internal program memory area, and the entire program compiled in the compiling step is external. Minimizing a memory area occupied by a program memory, and initializing a program that takes a long time of data processing to be loaded into an address compiled in the compiling step when execution of the program to be processed is started. doing Memory control method.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 상술하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

제1a도 내지 제1c도는 본 발명에 의한 메모리 제어방법에서 처리하고자 하는 프로그램이 메모리에 저장되는 상태를 나타낸다. 제1a도는 DSP칩의 내부에 구비된 내부프로그램 메모리의 영역을 나타낸다. 예를 들어, 내부프로그램 메모리영역이 '3800H''부터 '3FFFH'까지라 하고, 처리하고자 하는 프로그램은 '4K바이트'의 초기 및 작업프로그램과 '1K바이트'의 계산프로그램으로 이루어진다고 하자. 그러면, 사용자는 '5K바이트'의 처리프로그램을 제1b도에 도시된 바와 같이 외부프로그램 메모리에서 콤파일링(Compiling)한다. 즉, 초기 및 작업프로그램을 외부프로그램 메모리의 '0000H'부터 '0FFFH'영역에 할당하고, 계산프로그램은 '3800H'부터 '3FFFH'영역에 할당한다. 이때, 작업프로그램은 실행도중에서 소정의 계산과정을 수행할때마다 메모리 액세스가 '3800H'번지로 옮겨져 계산프로그램이 실행되도록 한다. 이렇게 콤파일링하는 이유는 전체 처리프로그램을 실행하는데 소요되는 시간중 계산프로그램을 실행하는데 소요되는 시간이 다른 작업프로그램을 실행하는데 소요되는 시간보다 상대적으로 크므로, 계산프로그램을 내부프로그램 메모리에서 실행하기 위한 것이다.1A to 1C show a state in which a program to be processed is stored in a memory in the memory control method according to the present invention. FIG. 1A shows an area of an internal program memory provided in the DSP chip. For example, suppose that the internal program memory area is from '3800H' to '3FFFH', and the program to be processed is composed of an initial and work program of 4K bytes and a calculation program of 1K bytes. Then, the user compiles the processing program of 5K bytes in the external program memory as shown in FIG. 1B. That is, the initial and work programs are allocated to the '0000H' to '0FFFH' areas of the external program memory, and the calculation program is allocated to the '3800H' to '3FFFH' areas. At this time, the work program moves the memory access to the '3800H' address every time a predetermined calculation process is executed during execution so that the calculation program is executed. The reason for this compilation is that the time required to execute the calculation program is relatively larger than the time required to execute other work programs. will be.

그러나, 제1b도와 같이 콤파일링하는 경우, 처리프로그램이 '5K바이트'임에도 불구하고 실제 외부프로그램 메모리에서 차지하는 메모리영역은 '0000H'부터 '37PFH'까지의 '16K바이트'를 차지하게 된다. 즉, '1000H'부터 '37FFH'까지의 중간부분은 빈영역으로 남게 된다. 따라서, 이 빈영역을 없애고 프로그램의 메모리 할당영역을 감소시키기, 위해 제1c도에 도시된 바와 같이 '3800H'부터 '3FFFH'영역의 계산프로그램을 '1000Hl부터 '17FFH'까지의 영역으로 옮긴다. 그러면, 처리프로그램이 차지하는 메모리영역은 '0000H'부터 '17FFH'까지의 '5K바이트'가 된다. 이와 같이 처리프로그램이 저장된 상태에서, 프로그램을 실행할때 계산프로그램은 내부프로그램 메모리영역에 해당하는 '3800H'번지에서부터 실행되어야 한다. 따라서, 전원이 턴온되거나 리세트되어 처리프로그램의 실행이 시작될 때, '1000H'부터 '17FFH'까지의 계산프로그램이 '3800H'부터 '3FFFH'까지의 영역으로 로딩되도록 초기프로그램을 프로그램밍 한다. 이와같이 함으로써, 전원을 턴온하면 먼저 초기프로그램에 의해 계산프로그램이 '3800H'부터 '3FFFH'까지의 내부프로그램 메모리영역으로 옮겨진다. 그러면, 비교적 데이타 처리시간이 적게 소요되는 작업프로그램은 외부프로그램 메모리에서 실행되고, 비교적 데이타 처리시간이 많이 소요되는 계산프로그램은 내부프로그램 메모리에서 실행된다.However, when compiling as shown in FIG. 1B, although the processing program is '5K bytes', the memory area occupied by the actual external program memory occupies '16K bytes' from '0000H' to '37PFH'. That is, the middle part from '1000H' to '37FFH' is left blank. Therefore, in order to eliminate this blank area and reduce the memory allocation area of the program, the calculation program of the areas' 3800H 'to' 3FFFH 'is moved to the area of' 1000H1 to '17FFH' as shown in FIG. 1C. The memory area occupied by the processing program then becomes '5K bytes' from '0000H' to '17FFH'. In this way, when the program is executed in the state where the processing program is stored, the calculation program should be executed from the '3800H' address corresponding to the internal program memory area. Therefore, when the power is turned on or reset and the execution of the processing program starts, the initial program is programmed so that the calculation program of '1000H' to '17FFH' is loaded into the area of '3800H' to '3FFFH'. In this way, when the power is turned on, the calculation program is first moved to the internal program memory area from '3800H' to '3FFFH' by the initial program. Then, a work program that takes relatively little data processing time is executed in the external program memory, and a calculation program that takes relatively long data processing time is executed in the internal program memory.

상술한 바와 같이, 본 발명에 의한 메모리 제어방식은 처리하고자 하는 소정의 프로그램에서 비교적 데이타 처리시간이 많이 소요되는 작업프로그램과 비교적 데이타 처리시간이 적게 소요되는 계산프로그램을 구분하여 계산프로그램이 내부프로그램 메모리영역에 할당되도록 콤파일링하고, 콤파일링된 전체 프로그램의메모리 저장영역에서 계산프로그램과 작업프로그램간에 빈영역이 없도록 배치함으로써 전체 프로그램의 메모리 저장영역을 최소화 한다 이때, 전체 프로그램의 초기프로그램은 전원을 턴온하거나 리세트할 때 계산프로그램이 내부프로그램 메모리영역으로 로딩되도록 프로그램밍된다. 이와 같이 비교적 데이타 처리시간이 많이 소요되는 프로그램을 내부프로그램 메모리에서 처리함으로써, DSP칩의 데이타 처리효율을 보다 향상시킬 수 있다.As described above, the memory control method according to the present invention distinguishes a work program that takes a relatively long time for data processing from a predetermined program to be processed and a calculation program that takes a relatively short time for processing a data. Compile to allocate to the area, and minimize the memory storage area of the entire program by arranging that there is no empty area between the calculation program and the work program in the memory storage area of the entire compiled program. The calculation program is programmed to be loaded into the internal program memory area upon reset or reset. In this way, by processing a program that requires relatively long data processing time in the internal program memory, the data processing efficiency of the DSP chip can be further improved.

Claims (4)

데이타 처리속도를 향상시키기 위해 처리하고자 하는 전체 프로그램중 처리시간이 상대적으로 긴 프로그램은 DSP칩 내부에 구비된 내부프로그램 메모리에서 실행케하고 처리시간이 상대적으로 짧은 프로그램은 DSP칩 외부에 구비된 외부프로그램 메모리에서 실행되도록 하는 메모리 제어방법에 있어서, 상기 외부프로그램 메모리영역에 저장될 프로그램중 상기 처리시간이 긴 프로그램의 시작어드레스를 내부프로그램 메모리의 시작어드레스와 일치시켜 상대적으로 많은 처리시간이 소요되는 프로그램이 상기 내부프로그램 메모리에서 실행되도록 콤파일링하는 단계 ; 상기 콤파일링 단계에 의하여 소정 프로그램이 전혀 할당되지 않는 빈영역을 없애기 위해 외부프로그램 메모리에 할당된 프로그램 다음에 내부프로그램에 할당된 프로그램이 이어지도록 프로그램을 할당하여 전체 프로그램이 차지하는 영역을 최소화하는 단계 ; 상기 전체 프로그램을 실행시 상기 처리시간이 긴 프로그램이 실행될때마다 상기 긴 프로그램의 시작어드레스가 상기 콤파일링단계에서 콤파일링된 내부프로그램 메모리의 시작어드레스로 로딩되도록 초기화하는 단계를 포함하는 것을 특징으로 하는 메모리 제어방법.In order to improve the data processing speed, a program with a relatively long processing time is executed in the internal program memory provided inside the DSP chip, and a program with a short processing time is an external program provided outside the DSP chip. In the memory control method to be executed in the memory, a program which takes a relatively long processing time by matching the start address of the program with a long processing time among the programs to be stored in the external program memory area with the start address of the internal program memory Compiling to run in the internal program memory; Minimizing an area occupied by the entire program by allocating a program so that a program allocated to an internal program follows a program allocated to an external program memory so as to eliminate a blank area to which a predetermined program is not allocated at all by the compiling step; Initializing the start address of the long program to be loaded into the start address of the internal program memory compiled in the compiling step whenever the long program is executed when the entire program is executed. Memory control method. 제1항에 있어서, 상기 콤파일링 단계는 상기 처리시간이 긴 프로그램의 사이즈는 내부프로그램 메모리영역의 사이즈보다 크지 않은 경우에만 콤파일링하는 하는 것을 특징으로 하는 메모리의 제어방법.The method of claim 1, wherein the compiling step includes compiling only when a size of the program having a long processing time is not larger than a size of an internal program memory area. 제1항에 있어서, 상기 초기화 단계는 초기화에 의하여 프로그램된 초기화 프로그램이 전체 프로그램의 선두에 할당되도록 하는 단계를 포함하는 것을 특징으로 하는 메모리 제어방법.The method of claim 1, wherein the initializing step includes the step of causing an initialization program programmed by initialization to be allocated to the head of the entire program. 제1항 또는 2항 또는 3항에 있어서, 상기 처리시간이 긴 프로그램은 프로그램 실행시 소요시간이 긴 계산프로그램인 것을 특징으로 하는 메모리 제어방법.4. The memory control method according to claim 1, 2 or 3, wherein the program having a long processing time is a calculation program with a long time required for program execution.
KR1019930001439A 1993-02-03 1993-02-03 Memory control method KR950006586B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019930001439A KR950006586B1 (en) 1993-02-03 1993-02-03 Memory control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019930001439A KR950006586B1 (en) 1993-02-03 1993-02-03 Memory control method

Publications (2)

Publication Number Publication Date
KR940020217A KR940020217A (en) 1994-09-15
KR950006586B1 true KR950006586B1 (en) 1995-06-19

Family

ID=19350333

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930001439A KR950006586B1 (en) 1993-02-03 1993-02-03 Memory control method

Country Status (1)

Country Link
KR (1) KR950006586B1 (en)

Also Published As

Publication number Publication date
KR940020217A (en) 1994-09-15

Similar Documents

Publication Publication Date Title
EP0938703B1 (en) Real time program language accelerator
KR100506522B1 (en) System and method for shortening time in compiling of byte code in java program
US5043870A (en) Computer with automatic mapping of memory contents into machine registers during program execution
US7313797B2 (en) Uniprocessor operating system design facilitating fast context switching
EP0767424B1 (en) Processor with compiler-allocated, variable length intermediate storage
US6948034B2 (en) Method for use of stack
CN100414517C (en) Method and appts. aiming at isomeric system structure for covering management in integrated executable program
EP0674783A1 (en) An apparatus for executing a plurality of program segments having different object code types in a single program or processor environment
US5987258A (en) Register reservation method for fast context switching in microprocessors
US5918246A (en) Apparatus and method for prefetching data based on information contained in a compiler generated program map
KR100725393B1 (en) System and method for reducing execution time of byte code at java virtual machine
US20080114941A1 (en) Code generation method and compiler
US6564283B1 (en) Data processing system for expanded addresses
US6260191B1 (en) User controlled relaxation of optimization constraints related to volatile memory references
US5418919A (en) Apparatus and method for concurrently executing plural tasks in which identifiers specify steps in tasks
KR950006586B1 (en) Memory control method
US6134708A (en) Program compilation execution system
JP2005129001A (en) Apparatus and method for program execution, and microprocessor
US6275985B1 (en) Method and apparatus for developing an application that implements garbage collection efficiently by combining proxy objects with compiler support
US5241634A (en) Method of handling system calls to an operating system of a computer by system service routines stored as firmware
KR100727627B1 (en) Method for supporting application using dynamic linking library and system using the method
JP3582210B2 (en) Programmable controller
JPH05158707A (en) Real register assigning method
JPH05324281A (en) Method for changing address assignment
KR19990037395A (en) System and method for executing two word instructions in a single cycle

Legal Events

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

Payment date: 20010607

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee