[go: up one dir, main page]

KR20040023439A - Method for executing real time task in mobile communication terminal equipment - Google Patents

Method for executing real time task in mobile communication terminal equipment Download PDF

Info

Publication number
KR20040023439A
KR20040023439A KR1020020055167A KR20020055167A KR20040023439A KR 20040023439 A KR20040023439 A KR 20040023439A KR 1020020055167 A KR1020020055167 A KR 1020020055167A KR 20020055167 A KR20020055167 A KR 20020055167A KR 20040023439 A KR20040023439 A KR 20040023439A
Authority
KR
South Korea
Prior art keywords
real time
task
time
interrupt
isr
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020020055167A
Other languages
Korean (ko)
Other versions
KR100446514B1 (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 KR10-2002-0055167A priority Critical patent/KR100446514B1/en
Publication of KR20040023439A publication Critical patent/KR20040023439A/en
Application granted granted Critical
Publication of KR100446514B1 publication Critical patent/KR100446514B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

PURPOSE: A method for executing a real time task in a mobile terminal is provided to execute a real time task normally. CONSTITUTION: If a multimedia task execution request is detected(101), a CPU confirms whether simultaneous execution for a real time task and a non-real time task is required(103). In case that simultaneous execution for a real time task and a non-real time task is required, the CPU searches for an ISR(Interrupt Service Routine) necessary to execute the requested multimedia task(107). The CPU divides the searched ISR into a real time ISR and a non-real time ISR(109). The CPU calculates the execution time of the divided non-real time ISR(111). The CPU calculates the interrupt generation time interval of the divided real time ISR(113). The CPU compares the execution time of the non-real time ISR with the interrupt generation time interval of the real time ISR(115). If the execution time of the non-real time ISR is longer than the interrupt generation time interval of the real time ISR, the CPU allocates an FIQ(Fast Interrupt reQuest) to the real time ISR so that a real time task can be executed normally. Also the CPU allocates an IRQ(Interrupt Request) to the non-real time ISR(117). The CPU executes an associated ISR according to interrupt request generation(121).

Description

이동 통신 단말의 실시간 태스크 실행 방법{METHOD FOR EXECUTING REAL TIME TASK IN MOBILE COMMUNICATION TERMINAL EQUIPMENT}How to execute a real-time task of a mobile terminal {METHOD FOR EXECUTING REAL TIME TASK IN MOBILE COMMUNICATION TERMINAL EQUIPMENT}

본 발명은 이동 통신 단말에 관한 것으로, 특히 이동 통신 단말이 실시간 태스크를 실행하는 방법에 관한 것이다.The present invention relates to a mobile communication terminal, and more particularly, to a method for a mobile communication terminal to execute a real-time task.

차세대 이동 통신 단말은 단순한 음성통화는 물론 멀티미디어 서비스를 비롯한 동화상 통화를 가능하게 하는 것을 주된 목표로 하고 있다. 멀티미디어 서비스란 문자, 수치 데이터, 화상, 동화(動畵), 음성 등으로 구성된 정보의 교환을 제공하는 서비스이다.The next generation mobile communication terminal has a main goal of enabling not only a simple voice call but also a video call including a multimedia service. The multimedia service is a service that provides exchange of information consisting of text, numerical data, images, moving pictures, and voice.

이에 따라 현재의 이동 통신 단말은 크게 두 개의 기능부로 구분할 수 있다. 하나는 이동 통신을 위해 모뎀칩으로 구현되는 통신부이고, 또 다른 하나는 영상, 오디오 등과 같은 멀티미디어 데이터의 압축 및 해제를 위해 멀티미디어 칩으로 구현되는 멀티미디어부이다. 멀티미디어 서비스는 이들 두 개의 기능부가 DRAM(Dynamic Random Access Memory)과 같은 공유 메모리를 이용하여 서로 데이터를 주고받아 실행함으로써, 이동 통신 단말에서 가능하게 된다.Accordingly, the current mobile communication terminal can be largely divided into two functional units. One is a communication unit implemented as a modem chip for mobile communication, and the other is a multimedia unit implemented as a multimedia chip for compressing and decompressing multimedia data such as video and audio. The multimedia service is enabled in the mobile communication terminal by performing these two functions by exchanging data with each other using a shared memory such as DRAM (Dynamic Random Access Memory).

이동 통신 단말의 중앙처리장치(CPU)는 멀티미디어부의 인터럽트 요구(Interrupt Request:IRQ)를 이용하여 멀티미디어부를 제어하여 음성 및 영상 데이터를 처리하고, 영상재생, 영상입력, 모뎀과의 통신, 오디오 재생 등 각 멀티미디어 기능을 수행한다.The central processing unit (CPU) of the mobile communication terminal controls the multimedia unit using an interrupt request (IRQ) of the multimedia unit to process voice and video data, and to play video, input video, communicate with a modem, and play audio. Perform each multimedia function.

상기 멀티미디어부는 멀티미디어 서비스를 실행하기 위해 다수의 태스크를 구비하며, 각각의 태스크는 인터럽트 서비스 루틴(Interrupt Service Routine:ISR)을 가진다.The multimedia unit includes a plurality of tasks for executing a multimedia service, and each task has an interrupt service routine (ISR).

상기와 같은 구성에서 각 멀티미디어 기능의 인터럽트 서비스 루틴의 수행시간이, 오디오 태스크와 같은 실시간 태스크의 인터럽트 발생주기 보다 짧을 때는 실시간 태스크의 실행에 문제가 없다. 하지만, 임의의 인터럽트 서비스 루틴의 수행시간이 실시간 태스크의 인터럽트 발생주기보다 길 경우는 실시간 태스크의 실행에 심각한 영향을 주게 된다. 이러한 경우 종래에는 인터럽트 서비스 루틴을 최적화하여 인터럽트 서비스 루틴의 수행시간을 줄이는 방법으로 해결하려 하였다. 그러나, 이러한 인터럽트 서비스 루틴의 최적화에는 한계가 있다.In the above configuration, when the execution time of the interrupt service routine of each multimedia function is shorter than the interrupt generation period of the real time task such as the audio task, there is no problem in the execution of the real time task. However, if the execution time of any interrupt service routine is longer than the interrupt generation period of the real time task, the execution of the real time task will be seriously affected. In this case, in the related art, the interrupt service routine is optimized to reduce the execution time of the interrupt service routine. However, there is a limit to the optimization of such interrupt service routines.

따라서 본 발명의 목적은 실시간 태스크를 정상적으로 실행하기 위한 태스크 실행 방법을 제공함에 있다.Accordingly, an object of the present invention is to provide a task execution method for normally executing a real-time task.

상기한 목적을 달성하기 위해 본 발명은 이동 통신 단말의 실시간 태스크 실행 방법에 있어서, 비 실시간 태스크와 실시간 태스크의 혼합 실행 요구가 감지되면 각 태스크들을 실행하기 위해 수행되어야하는 인터럽트 서비스 루틴을 검색하는 과정과, 상기 검색된 인터럽트 서비스 루틴을 실시간 인터럽트 서비스 루틴과 비실시간 인터럽트 서비스 루틴으로 분리하는 과정과, 상기 분리된 상기 실시간 인터럽트 서비스 루틴이 정상적으로 수행되기 위해 주기적으로 인터럽트 요구가 발생되어야하는 최소 시간 간격을 계산하는 과정과, 상기 분리된 비 실시간 서비스 루틴의 수행 시간을 계산하는 과정과, 상기 수행 시간이 상기 최소 시간 간격 보다 길면 상기 실시간 인터럽트 서비스 루틴에 더 높은 우선 순위를 갖는 인터럽트 요구를 할당하고, 비 실시간 인터럽트 서비스 루틴에 낮은 우선 순위를 갖는 인터럽트 요구를 할당하여, 인터럽트 요구 발생에 따라 해당 인터럽트 서비스 루틴을 수행하는 과정을 가짐을 특징으로 한다.In order to achieve the above object, the present invention provides a method for executing a real time task of a mobile communication terminal, the process of searching for an interrupt service routine that must be performed to execute each task when a mixed execution request of a non real time task and a real time task is detected. And separating the retrieved interrupt service routine into a real time interrupt service routine and a non real time interrupt service routine, and calculating a minimum time interval at which an interrupt request should be periodically generated for the separated real time interrupt service routine to be normally executed. And calculating an execution time of the separated non-real time service routine, assigning an interrupt request having a higher priority to the real time interrupt service routine if the execution time is longer than the minimum time interval, It assigns an interrupt request having a low priority to an inter-interrupt service routine, and performs the corresponding interrupt service routine according to the occurrence of the interrupt request.

도1은 본 발명이 적용되는 이동 통신 단말의 구성도,1 is a configuration diagram of a mobile communication terminal to which the present invention is applied;

도2는 본 발명의 실시예에 따라 태스크를 실행하는 과정을 나타내는 도면,2 is a view showing a process of executing a task according to an embodiment of the present invention;

도3은 본 발명의 실시예에 따라 오디오 태스크의 정상 실행을 나타내는 도면,3 illustrates normal execution of an audio task in accordance with an embodiment of the present invention;

도4는 종래의 오디오 태스크와 다른 태스크가 동시에 실행되는 경우 시간 지연을 나타내는 도면,4 is a diagram illustrating a time delay when a conventional audio task and another task are executed simultaneously;

도5는 본 발명의 실시예에 따라 오디오 태스크와 다른 태스크가 동시에 실행되는 것을 나타내는 도면.5 illustrates that an audio task and another task are executed simultaneously in accordance with an embodiment of the present invention.

이하 본 발명의 바람직한 실시 예들을 첨부한 도면을 참조하여 상세히 설명한다. 그리고 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. And a detailed description of known functions and configurations that may unnecessarily obscure the subject matter of the present invention will be omitted.

본 발명이 적용되는 이동 통신 단말의 구성은 도1과 같이 이루어진다. 도1은 본 발명이 적용되는 이동 통신 단말의 구성도이다. 도1을 참조하여 이동 통신 단말은 중앙처리장치(Central Processing Unit:CPU, 이하 CPU라 칭함.)(10)와, 멀티미디어부(20)와, 메모리부(30), 통신부(40)를 포함하여 이루어진다.The configuration of the mobile communication terminal to which the present invention is applied is made as shown in FIG. 1 is a block diagram of a mobile communication terminal to which the present invention is applied. Referring to FIG. 1, a mobile communication terminal includes a central processing unit (CPU) 10, a multimedia unit 20, a memory unit 30, and a communication unit 40. Is done.

상기 통신부(40)는 CPU(10)의 제어에 따라 음성 통화시 필요한 음성을 변복조하여 음성 데이터를 처리하고, 음성 통화 및 이동 통신 서비스를 위해 필요한 데이터를 기지국과 송수신한다. 그리고, 멀티미디어 서비스에 필요한 데이터를 기지국으로부터 수신하여 메모리부(30)를 통해 멀티미디어부(20)로 전송한다.The communication unit 40 modulates and demodulates a voice required for a voice call under the control of the CPU 10 to process voice data, and transmits and receives data necessary for a voice call and a mobile communication service with a base station. Then, the data necessary for the multimedia service is received from the base station and transmitted to the multimedia unit 20 through the memory unit 30.

상기 메모리부(30)는 이동 통신 단말의 동작 제어에 필요한 프로그램데이터와, 제어시 또는 사용자에 의해 수행도중 발생되는 데이터를 저장한다. 그리고 멀티미디어 서비스 실행에 필요한 데이터가 저장된다.The memory unit 30 stores program data necessary for controlling the operation of the mobile communication terminal and data generated during control or during execution by the user. The data necessary for executing the multimedia service is stored.

상기 멀티미디어부(20)는 CPU(10)의 제어에 따라 멀티미디어 서비스를 제공하기 위해 다수의 멀티 미디어 태스크를 구비하며, 멀티미디어 데이터를 압축 또는 해제한다. 그리고 멀티미디어부(20)는 상기 메모리부(30)를 통해 상기 통신부(40)와 멀티미디어 데이터를 송수신하고, 음향 및 영상 데이터를 처리하여 영상재생, 영상입력, 오디오 재생 등 각 멀티미디어 기능들을 실질적으로 수행한다.The multimedia unit 20 includes a plurality of multimedia tasks to provide a multimedia service under the control of the CPU 10, and compresses or decompresses multimedia data. The multimedia unit 20 transmits and receives multimedia data with the communication unit 40 through the memory unit 30 and processes sound and image data to perform various multimedia functions such as image reproduction, image input, and audio reproduction. do.

CPU(10)는 이동 통신 단말의 전체적인 제어를 담당하고, 본 발명에 따라 멀티미디어 태스크의 인터럽트 요구(Interrupt Request:IRQ)의 우선순위를 설정하며, 멀티미디어부(20)가 발생하는 인터럽트 요구에 따라 인터럽트 서비스 루틴(Internal Service Request:ISR)을 수행하여 멀티미디어 서비스를 제공한다.The CPU 10 is responsible for the overall control of the mobile communication terminal, sets the priority of the interrupt request (IRQ) of the multimedia task according to the present invention, and interrupts according to the interrupt request generated by the multimedia unit 20. It provides a multimedia service by performing an internal service request (ISR).

상기와 같은 구성으로 이루어지는 이동 통신 단말에서 실시간 멀티미디어 태스크가 실행되는 과정을 도3을 참조하여 설명하며, 이해를 돕기 위해 실시간 멀티미디어 태스크로는 오디오 태스크를 예를 들어 설명한다.A process of executing the real-time multimedia task in the mobile communication terminal having the above configuration will be described with reference to FIG. 3. For the purpose of understanding, the audio task will be described as an example of the real-time multimedia task.

도3은 다른 인터럽트 요구가 없을 때, 오디오 태스크가 정상적으로 실행되는 것을 나타낸 도면이다. 본 발명의 실시예에서 하나의 실시간 오디오 태스크가 정상적으로 실행되는 조건은 오디오 인터럽트 서비스 루틴의 수행 간격이 365us 시간 간격으로 유지되고, 13ms 동안 36개의 오디오 인터럽트 요구가 발생하는 것이다. 다시 말해 365us 마다 한번씩 오디오 태스크 인터럽트 요구가 발생하고 그에 따라 CPU(10)가 인터럽트 서비스 루틴을 수행해야 하는 것이다. 이러한 조건에 따라 CPU(10)가 하나의 오디오 태스크를 정상적으로 처리했을 때 소요되는 시간은 13ms이다. 그리고 본 발명의 실시예에 따라 도3에 도시된 하나의 오디오 태스크의 유효 데이터 실행으로 인해 실재로 CPU(10)가 점유되는 시간은 상기 13ms 중 8ms이고, 나머지 5ms 동안 CPU(10)는 다른 태스크를 수행할 수 있다.3 shows that the audio task is normally executed when there is no other interrupt request. In an embodiment of the present invention, a condition under which one real-time audio task is normally executed is that the execution interval of the audio interrupt service routine is maintained at 365us time interval and 36 audio interrupt requests are generated for 13ms. In other words, an audio task interrupt request is generated once per 365us and accordingly, the CPU 10 must perform an interrupt service routine. According to this condition, the time required for the CPU 10 to normally process one audio task is 13 ms. In addition, according to an embodiment of the present invention, the time occupied by the CPU 10 due to effective data execution of one audio task shown in FIG. 3 is 8 ms among the 13 ms, and the CPU 10 performs another task for the remaining 5 ms. Can be performed.

그런데 상기와 같이 오디오 태스크 실행중에 비 실시간 태스크의 인터럽트 요구가 있으면 종래에는 도4에 도시된 바와 같이 오디오 태스크 실행 시간이 지연되는 문제가 발생하였다. 도4는 종래의 오디오 태스크와 비 실시간 태스크가 동시에 실행되는 경우 시간 지연을 나타내는 도면이다.However, if the interrupt request of the non-real time task is executed while the audio task is executed as described above, the audio task execution time is delayed as shown in FIG. 4. 4 is a diagram illustrating a time delay when a conventional audio task and a non real-time task are executed simultaneously.

본 발명의 실시예에 따라 도4에 도시된 비 실시간 태스크의 인터럽트 서비스 루틴의 수행 시간은 636us로서, 오디오 태스크 인터럽트 서비스 루틴이 주기적으로 수행되어야하는 시간 간격보다 길다. 그리고 종래에는 오디오 태스크 인터럽트 요구과 비 실시간 태스크 인터럽트 요구의 우선 순위가 동일하였다. 이에 따라 비 실시간 태스크의 인터럽트 요구 발생하여 CPU(10)가 해당 인터럽트 서비스 루틴을 수행하는 동안에는 오디오 태스크의 인터럽트 요구가 발생하지 못하며, 따라서 오디오 태스크의 시간 지연이 발생한다.According to an embodiment of the present invention, the execution time of the interrupt service routine of the non-real time task shown in FIG. 4 is 636us, which is longer than the time interval at which the audio task interrupt service routine should be periodically performed. In the prior art, audio task interrupt request and non real-time task interrupt request have the same priority. Accordingly, while the interrupt request of the non-real time task is generated and the CPU 10 performs the corresponding interrupt service routine, the interrupt request of the audio task does not occur, thus causing a time delay of the audio task.

즉 도4에 도시된 바와 같이 상기 오디오 태스크의 유효 데이터가 실행되는 동안 5개의 상기 비 실시간 태스크 인터럽트 요구가 발생함에 따라, 365us 마다 오디오 태스크 인터럽트 요구가 발생되지 못한다. 이에 따라 오디오 태스크의 유효 데이터가 모두 실행되는데 소요되는 시간도 11.18ms로 증가한다. 또한 하나의 오디오 태스크 전체가 실행되는데 소요되는 시간도 15.07ms로 지연된다.That is, as shown in FIG. 4, as five non-real-time task interrupt requests occur while valid data of the audio task is executed, the audio task interrupt request does not occur every 365 us. Accordingly, the time taken to execute all valid data of the audio task also increases to 11.18 ms. In addition, the time required to execute one audio task is delayed to 15.07ms.

이러한 문제점을 해결하기 위해 본 발명은 실시간 태스크의 인터럽트 요구와 비 실시간 태스크의 인터럽트 요구에 서로 다른 우선 순위를 할당하여 각 태스크를 정상 적으로 실행한다. 이를 도2와 도5를 참조하여 설명한다.In order to solve this problem, the present invention assigns different priorities to the interrupt request of the real time task and the interrupt request of the non real time task to execute each task normally. This will be described with reference to FIGS. 2 and 5.

상기 도2는 본 발명의 실시예에 따라 태스크를 실행하는 과정을 나타내는 도면이다. 도2를 참조하여 CPU(10)는 101단계에서 멀티미디어 태스크 실행 요구가 감지되면 103단계로 진행한다. 103단계에서 CPU(10)는 상기 101단계의 태스크의 실행요구가 비 실시간 태스크와 실시간 태스크의 동시 실행인지 확인하여, 비 실시간태스크와 실시간 태스크의 동시 실행이면 107단계로 진행하고, 비 실시간 태스크와 실시간 태스크의 동시 실행이 아니면 105단계로 진행한다. 105단계에서 CPU(10)는 실행이 요구된 멀티미디어 태스크를 실행한다.2 is a diagram illustrating a process of executing a task according to an exemplary embodiment of the present invention. Referring to FIG. 2, if the CPU 10 detects a multimedia task execution request in step 101, the CPU 10 proceeds to step 103. In step 103, the CPU 10 checks whether the execution request of the task in step 101 is simultaneous execution of the non-real time task and the real time task, and proceeds to step 107 if the non-real time task and the real time task are concurrently executed. If the real-time task is not concurrently executed, proceed to step 105. In step 105, the CPU 10 executes a multimedia task that requires execution.

한편, 107단계에서 CPU(10)는 요구된 멀티미디어 태스크들을 실행하기 위해 필요한 인터럽트 서비스 루틴(ISR)을 검색하고 109단계로 진행한다. 109단계에서 CPU(10)는 상기 107단계에서 검색된 인터럽트 서비스 루틴을 실시간 인터럽트 서비스 루틴과 비 실시간 인터럽트 서비스 루틴으로 분리하고 111단계로 진행한다. 111단계에서 CPU(10)는 상기 107단계에서 분리된 비 실시간 인터럽트 서비스 루틴의 수행시간을 계산하고 113단계로 진행한다. 113단계에서 CPU(10)는 상기 111단계에서 분리된 실시간 인터럽트 서비스 루틴의 인터럽트 발생 시간 간격을 계산하고 115단계로 진행한다. 115단계에서 CPU(10)는 비 실시간 인터럽트 서비스 루틴의 수행시간과 실시간 인터럽트 서비스 루틴의 인터럽트 발생 시간 간격을 비교하여, 비 실시간 인터럽트 서비스 루틴의 수행시간이 실시간 인터럽트 서비스 루틴의 인터럽트 발생 시간 간격보다 길면 117단계로 진행한다. 그리고 비 실시간 인터럽트 서비스 루틴의 수행시간이 실시간 인터럽트 서비스 루틴의 인터럽트 발생 시간 간격보다 짧으면 119단계로 진행한다. 117단계에서 CPU(10)는 실시간 태스크가 정상적으로 실행되게 하기 위해 실시간 인터럽트 서비스 루틴에 빠른 인터럽트 요구(Fast Interrupt Request :FIQ)를 할당하고, 비 실시간 인터럽트 서비스 루틴에는 정상 인터럽트 요구(IRQ)를 할당하고 121단계로 진행한다. 그리고 119단계에서 CPU(10)는 비 실시간 인터럽트 서비스 루틴의 수행이 실시간 인터럽트 요구 발생에 영향을미치지 않으므로, 비 실시간 인터럽트 서비스 루틴과 실시간 인터럽트 서비스 루틴에 정상 인터럽트 요구를 할당하고 121단계로 진행한다. 121단계에서 CPU(10)는 인터럽트 요구 발생에 따라 해당 인터럽트 서비스 루틴을 수행하여 태스크를 실행한다.In operation 107, the CPU 10 searches for an interrupt service routine (ISR) necessary to execute the requested multimedia tasks, and proceeds to operation 109. In step 109, the CPU 10 divides the interrupt service routine found in step 107 into a real time interrupt service routine and a non-real time interrupt service routine, and proceeds to step 111. In step 111, the CPU 10 calculates an execution time of the non real-time interrupt service routine separated in step 107, and proceeds to step 113. In step 113, the CPU 10 calculates an interrupt occurrence time interval of the real-time interrupt service routine separated in step 111, and proceeds to step 115. In step 115, the CPU 10 compares the execution time of the non-real time interrupt service routine with the interrupt occurrence time interval of the real time interrupt service routine, and if the execution time of the non real time interrupt service routine is longer than the interrupt occurrence time interval of the real time interrupt service routine. Proceed to step 117. If the execution time of the non-real time interrupt service routine is shorter than the interrupt occurrence time interval of the real time interrupt service routine, the process proceeds to step 119. In step 117, the CPU 10 allocates a fast interrupt request (FIQ) to the real-time interrupt service routine, and assigns a normal interrupt request (IRQ) to the non-real-time interrupt service routine in order for the real-time task to execute normally. Proceed to step 121. In step 119, since the execution of the non-real time interrupt service routine does not affect the generation of the real time interrupt request, the CPU 10 allocates the normal interrupt request to the non real time interrupt service routine and the real time interrupt service routine, and proceeds to step 121. In step 121, the CPU 10 executes a task by performing a corresponding interrupt service routine according to the occurrence of an interrupt request.

상기한 과정에 따라 상기 도4에 도시된 오디오 태스크와 비 실시간 태스크를 정상적으로 실행한 것을 도5에 도시하였다. 도5는 본 발명의 실시예에 따라 오디오 태스크와 다른 태스크가 동시에 실행되는 것을 나타내는 도면이다. 본 발명에 따라 오디오 태스크와 상기 비 실시간 태스크를 동시에 실시할 때 오디오 태스크의 인터럽트 서비스 루틴에 빠른 인터럽트 요구를 할당하고, 비 실시간 태스크에 정상 인터럽트 요구를 할당한다. 이에 따라 오디오 태스크의 인터럽트 요구가 비 실시간 태스크의 인터럽트 서비스 루틴의 수행과 상관없이 적절한 시간에 발생할 수 있기 때문에 오디오 태스크를 정상적으로 실행할 수 있다.Referring to FIG. 5, the audio task and the non-real time task illustrated in FIG. 4 are normally executed according to the above process. 5 illustrates that an audio task and another task are executed at the same time according to an embodiment of the present invention. According to the present invention, when executing the audio task and the non-real time task simultaneously, the fast interrupt request is allocated to the interrupt service routine of the audio task, and the normal interrupt request is allocated to the non-real time task. Accordingly, the audio task can be normally executed because the interrupt request of the audio task can occur at an appropriate time regardless of the execution of the interrupt service routine of the non-real time task.

상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시할 수 있다. 따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위와 특허청구범위의 균등한 것에 의해 정해져야 한다.In the above description of the present invention, specific embodiments have been described, but various modifications may be made without departing from the scope of the present invention. Therefore, the scope of the present invention should not be defined by the described embodiments, but should be determined by the equivalent of claims and claims.

상기한 바와 같이 본 발명은 실시간 태스크의 인터럽트 서비스 루틴과 비 실시간 태스크의 인터럽트 서비스 루틴에 우선순위가 다른 인터럽트 요구를 할당함으로써, 실시간 태스크의 실행을 정상적으로 수행 할 수 있다.As described above, the present invention can normally perform execution of a real time task by allocating an interrupt request having a different priority to an interrupt service routine of a real time task and an interrupt service routine of a non real time task.

Claims (2)

이동 통신 단말의 실시간 태스크 실행 방법에 있어서,In the real-time task execution method of the mobile communication terminal, 비 실시간 태스크와 실시간 태스크의 혼합 실행 요구가 감지되면 각 태스크들을 실행하기 위해 수행되어야하는 인터럽트 서비스 루틴을 검색하는 과정과,Searching for an interrupt service routine that must be performed to execute each task when a mixed execution request of the non-real time task and the real time task is detected; 상기 검색된 인터럽트 서비스 루틴을 실시간 인터럽트 서비스 루틴과 비 실시간 인터럽트 서비스 루틴으로 분리하는 과정과,Separating the retrieved interrupt service routine into a real time interrupt service routine and a non real time interrupt service routine; 상기 분리된 상기 실시간 인터럽트 서비스 루틴이 정상적으로 수행되기 위해 주기적으로 인터럽트 요구가 발생되어야하는 최소 시간 간격을 계산하는 과정과,Calculating a minimum time interval in which an interrupt request should be periodically generated for the separated real-time interrupt service routine to be normally executed; 상기 분리된 비 실시간 서비스 루틴의 수행 시간을 계산하는 과정과,Calculating an execution time of the separated non real-time service routine; 상기 수행 시간이 상기 최소 시간 간격 보다 길면 상기 실시간 인터럽트 서비스 루틴에 더 높은 우선 순위를 갖는 인터럽트 요구를 할당하고, 비 실시간 인터럽트 서비스 루틴에 낮은 우선 순위를 갖는 인터럽트 요구를 할당하여, 인터럽트 요구 발생에 따라 해당 인터럽트 서비스 루틴을 수행하는 과정을 가짐을 특징으로 하는 방법.If the execution time is longer than the minimum time interval, a higher priority interrupt request is allocated to the real time interrupt service routine, a lower priority interrupt request is assigned to a non real time interrupt service routine, and according to the occurrence of the interrupt request. And a process of performing the corresponding interrupt service routine. 제1항에 있어서, 상기 수행 시간이 상기 최소 시간 간격보다 짧으면 상기 실시간 인터럽트 서비스 루틴과 상기 비 실시간 인터럽트 서비스 루틴에 동일한 우선 순위를 갖는 인터럽트 요구를 할당하는 과정을 더 가짐을 특징으로 하는 방법.2. The method of claim 1, further comprising assigning an interrupt request having the same priority to the real time interrupt service routine and the non real time interrupt service routine if the execution time is shorter than the minimum time interval.
KR10-2002-0055167A 2002-09-11 2002-09-11 Method for executing real time task in mobile communication terminal equipment Expired - Fee Related KR100446514B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0055167A KR100446514B1 (en) 2002-09-11 2002-09-11 Method for executing real time task in mobile communication terminal equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0055167A KR100446514B1 (en) 2002-09-11 2002-09-11 Method for executing real time task in mobile communication terminal equipment

Publications (2)

Publication Number Publication Date
KR20040023439A true KR20040023439A (en) 2004-03-18
KR100446514B1 KR100446514B1 (en) 2004-09-04

Family

ID=37327088

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0055167A Expired - Fee Related KR100446514B1 (en) 2002-09-11 2002-09-11 Method for executing real time task in mobile communication terminal equipment

Country Status (1)

Country Link
KR (1) KR100446514B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8666341B2 (en) 2010-10-22 2014-03-04 Ultra Electronics Tcs Inc. Multi-mode communication unit

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6430593B1 (en) * 1998-03-10 2002-08-06 Motorola Inc. Method, device and article of manufacture for efficient task scheduling in a multi-tasking preemptive priority-based real-time operating system
JP2002055845A (en) * 2000-08-11 2002-02-20 Nippon Telegr & Teleph Corp <Ntt> Parallel processing general-purpose debugging method and apparatus for multitasking system and storage medium storing parallel processing general-purpose debugging program for multitasking system
EP1182550A3 (en) * 2000-08-21 2006-08-30 Texas Instruments France Task based priority arbitration
EP1213648A1 (en) * 2000-12-05 2002-06-12 Infineon Technologies AG Method for coordinating tasks in a GSM network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8666341B2 (en) 2010-10-22 2014-03-04 Ultra Electronics Tcs Inc. Multi-mode communication unit

Also Published As

Publication number Publication date
KR100446514B1 (en) 2004-09-04

Similar Documents

Publication Publication Date Title
JP2697705B2 (en) Dynamic channel assignment method
CA2918091C (en) System and method for memory channel interleaving with selective power or performance optimization
US20070033260A1 (en) Multiple operating systems sharing a processor and a network interface
US20190306005A1 (en) Bandwidth-based selective memory channel connectivity on a system on chip
US10628308B2 (en) Dynamic adjustment of memory channel interleave granularity
US10540300B2 (en) Optimizing network driver performance and power consumption in multi-core processor-based systems
CN111294647B (en) A video processing method, device and device, and storage medium
US9075789B2 (en) Methods and apparatus for interleaving priorities of a plurality of virtual processors
EP1170662A3 (en) Apparatus and method for dynamically allocating computer resources based on service contract with user
CA2506032A1 (en) Resource manager for clients in an information distribution system
US11977929B2 (en) Resource allocation method and apparatus based on edge computing
KR102219015B1 (en) Use of network support protocols to improve network usage
CN112445605A (en) Media data processing method and device and media server
CN107450989A (en) A kind of method of embedded platform and dynamic regulation application resource
US9736529B2 (en) USB sharing method for combo TV set, combo TV set and computer readable storage medium
CN112363833A (en) Memory allocation method and device for network data packet and related equipment
US20050007953A1 (en) Resource management device, resource management method and recording medium
KR100446514B1 (en) Method for executing real time task in mobile communication terminal equipment
US20100242046A1 (en) Multicore processor system, scheduling method, and computer program product
US20230110930A1 (en) Method and system for multi-core load scheduling in an operating system (os) less communication network
JPH02311932A (en) Preference control system
CN113068161A (en) Bluetooth low-energy-consumption communication method, device and system and storage medium
CN115437776A (en) Drawing thread scheduling method, device and computer equipment
KR100935784B1 (en) Base Station Frame Offset Allocation Method Using Hashing
KR20020038195A (en) Memory Management in the Mobile Computing System using a Multi-tasking Operating System

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

FPAY Annual fee payment

Payment date: 20120730

Year of fee payment: 9

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

FPAY Annual fee payment

Payment date: 20130730

Year of fee payment: 10

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 10

FPAY Annual fee payment

Payment date: 20140730

Year of fee payment: 11

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 11

FPAY Annual fee payment

Payment date: 20150730

Year of fee payment: 12

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 12

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20160824

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20160824

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000