WO2007033615A1 - Procede destine a realiser une application multitache dans un dispositif de lecture multimedia - Google Patents
Procede destine a realiser une application multitache dans un dispositif de lecture multimedia Download PDFInfo
- Publication number
- WO2007033615A1 WO2007033615A1 PCT/CN2006/002521 CN2006002521W WO2007033615A1 WO 2007033615 A1 WO2007033615 A1 WO 2007033615A1 CN 2006002521 W CN2006002521 W CN 2006002521W WO 2007033615 A1 WO2007033615 A1 WO 2007033615A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- task
- controller unit
- state
- tasks
- current
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
Definitions
- the present invention relates to the field of media playback, and more particularly to a method of implementing multitasking on a media playback device. Background technique
- Figure 1 is a flow chart showing the task execution method on a conventional media player. Because there is no multitasking development mechanism, its applications can only be run in a single task. When a task runs, it will monopolize all resources of the system, such as: CPU control, stack, register access, memory, peripherals, etc. Once a new task needs to run, it must release all system resources by terminating the current task to ensure the normal operation of the new task.
- the above task execution mode is to call up different execution code by constantly switching between system memory and memory. Before the callout, save the running environment parameters of the current task; and before the call-in, restore the system operating environment parameters to the last saved value. Therefore, it is necessary to frequently save and restore the operating environment between high speed and low speed equipment. Since the speed of the run depends on the access speed of the low-speed device, the slow operation is the biggest disadvantage of this method.
- FIG. 2 An existing multi-task execution method for solving the above technical problems is shown in FIG. 2. It adds the functions of the old task and the new task alternately by adding the function code of the new task in this task. For the user, it looks like multitasking is running at the same time. Put all the code to be executed into the same task, and run the time slice in turn.
- the above existing multi-task execution method has the following drawbacks: It performs different functions in a unified task in a time-sharing manner, and has no priority, so that code that must run at a high speed must wait for the code running at a low speed to execute before execution. In particular, when two functions require the other party's function to execute until a certain stage can continue to run, a deadlock will occur.
- the present invention proposes a new method that enables multitasking applications on a media player. Summary of the invention
- the present invention provides a method for implementing a plurality of tasks on a media playback device by using a time slice rotation, the media playback device comprising a controller unit, and further comprising the steps of:
- the controller unit decomposes various functions of the media playback device into a plurality of tasks
- the controller unit sets different priorities for each task to be decomposed
- the controller unit determines the priority level of each task, and sets its ready state to the running state according to the priority level
- the controller unit alternately executes the respective tasks by the time slice to which the respective tasks are assigned. Wherein, when each task is in the ready state, the high priority task will be executed first. The number of clock beats is determined.
- the decomposition into a plurality of tasks is performed by the controller unit by creating task descriptors for the respective tasks. Among them, multiple tasks run in a certain time according to a specific algorithm set in the controller unit, and each task takes up CPU and other system resources in turn and alternately runs. Since each task is executed in a short time, from the perspective of the user, each task runs at the same time, thereby realizing the application of various tasks on the media playback device.
- 1 is a flow chart of a conventional task execution method on a media playback device.
- FIG. 2 is a flow chart of another conventional task execution method on a media playback device.
- 3 is a flow chart of the process of creating a task descriptor and the initialization process of the multi-tasking controller unit of the present invention.
- FIG. 4 is a flow chart of the clock scheduling process of the multi-tasking controller unit of the media playback device according to the present invention.
- FIG. 5 is a flow chart of the process of performing an audio play task and an idle task according to the present invention.
- Figure ⁇ is a flow chart of the process of executing the suspended task scheduling of the present invention.
- Figure 7 is a flow chart of the process of executing a clock interrupt service of the present invention. detailed description
- the media players each include a controller unit, an input unit, a display unit, and an audio output unit.
- the controller unit is provided with firmware for implementing the media player function.
- the present invention provides a method for implementing a variety of tasks on a media playback device using time slice rotation.
- the method mainly includes a task decomposition process of the controller unit, a priority task process, a task descriptor process, an initialization process, a clock scheduling process, an execution task process, an idle task process, a suspended task scheduling process, and a clock interruption task. process.
- the controller unit decomposes various functions of the media playing device into a plurality of tasks, such as dividing audio playing, image browsing, text reading, games, FM, etc. into a plurality of different tasks, which are controlled by the controller unit. And implemented by its curing software.
- the multiple tasks run in a certain period of time according to a specific algorithm set in the controller unit, and each task takes turns occupying CPU and other system resources and running alternately. Since each task is executed in a short period of time, from the perspective of the user, each task runs at the same time, thereby realizing the application of various tasks on the media playback device.
- the multitasking execution method sets a priority for each task by a specific algorithm set in the controller unit. Because different tasks need to consume CPU and other system resources may be different, such as MP3 decoding operation is greater than image decoding; users have higher requirements for real-time performance of certain tasks or tasks, such as MP3 playback pauses, users Will immediately be aware, and the picture browsing task will be delayed. Users can accept it; in addition, the frequency of use of certain functions by users is significantly higher than the frequency of use of other functions, such as MP3 music playback may be significantly higher than text reading.
- the above decomposition tasks and defining task priorities are implemented by the controller unit by creating task descriptors for each task.
- the controller unit creates task descriptors for each task through a specific algorithm, defines the priority of each task, and the number of clock beats for each task; at this point, each task is in a ready state.
- the firmware of the controller unit determines the priority level of each task, searches for the task with the highest priority, and changes the ready state of the task with the highest priority to the running state, and according to the clock beat defined in the task descriptor of the task. The number performs this task.
- the running time of each task is determined by defining the number of clock beats in the task descriptor of each task, and each task is alternately executed in different time slice cycles in which each task is allocated, thereby realizing various tasks for media playback. Operation on the device.
- each task running that is, in a task running cycle, the task is in the running state, and other tasks are in the ready state.
- other tasks may be Execution, other ready tasks can not interrupt the current task of the system; at this time, the running status of the task is changed to the ready state, that is, all tasks are in the ready state at this time, and the priority judgment needs to be performed again, according to the priority.
- the above media playing device includes audio playing, image browsing, text reading, games, and FM tuning functions, and these functions operate in a task manner.
- the controller unit defines audio playback as the highest priority 15, image browsing as the secondary priority 14, text reading as the third priority 13, and so on, and the level of the idle state as the lowest priority.
- the controller unit determines the tasks of different priorities and sets each of them to the ready state, setting the time slice to be 10 ms, and the plurality of time slices respectively correspond to different tasks according to the priority.
- the controller unit executes the command according to the preset setting.
- the corresponding task such as audio play-and-drop, is in the running state, and the task is executed in its corresponding time slice, and other tasks are in the ready state.
- FIG. 3 is a flow chart showing the process of creating a task descriptor and the initialization process of the multi-tasking controller unit of the media playing device according to the present invention, which includes the following steps:
- the required data shall include the following data: task ID number, task priority, task running status, clock ticks of the task 'number, the first address of the task execution code, the first address of the task stack, and the size of the task stack;
- S13 Task initialization: When the task is initialized, configure the stack size required for each task, allocate the task stack space, assign the system unique task ID number, set the task priority, set the task running status to the ready state, and set the task clock number. Clear, record the first address of the task execution code, record the first address and size of the task stack; this process initializes each task until all tasks are initialized;
- FIG. 4 is a flow chart showing the process of multi-tasking the controller unit clock scheduling of the media playing device according to the present invention, which includes the following steps:
- step S22 determines whether there is a task in the running state, if any, the current task state is changed from the running state to the ready state, if not, then directly proceed to step S22;
- 522 Scan the entire task state descriptor array to find the task with the highest priority and the task state ready.
- the task that meets the condition is the current task, modify the state of the current task to the running state, and jump to the current code address of the current task to run. For example, if the current task is task audio playback, then jump to the audio playback process to execute, currently If the task is other tasks, then jump to the process corresponding to the task;
- FIG. 5 is a flowchart of a process for performing an audio play task and an idle task according to the present invention, and the steps thereof include: S314 performing an audio play task related operation;
- FIG. 533 Go to the suspend task scheduler code address to run, that is, execute the step suspend task scheduling process.
- 6 is a flowchart of a process for performing a suspend task scheduling according to the present invention, the steps of which include:
- 541 Modify the current task state from the running state to the suspended state, and save the current system site data to the task stack of the current task;
- 542 Scan the entire task state descriptor array to find the task with the highest priority and the task state ready.
- S44 copying the task stack of the highest priority ready task to the current site, modifying the ready task state with the highest priority to the running state, and jumping to the current code address of the task, for example, the ready task with the highest priority is audio playing, Then jump to the audio playback process to execute, if the highest priority ready task is image browsing, jump to the image browsing process to execute; S45—If no matching task is found, then jump to the current code address of the idle task, that is, execute the idle task process.
- 7 is a flow chart of a process for executing a clock interrupt service according to the present invention, the steps of which include:
- the above technical solution saves the field data of different tasks to different stacks by using the task stack, thereby reducing the degree of coupling between tasks and improving the reliability of the system.
- the user can define the priority level of each task and the number of clock beats of the task by modifying the program in the controller unit firmware.
- the priority of each task can be from 0. Gradually rising upwards, or gradually decreasing from other numbers to 0, can also achieve the implementation effect of various tasks on the audio playback device.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/992,472 US20090222830A1 (en) | 2005-09-26 | 2006-09-25 | Methods for Multi-Tasking on Media Players |
EP06791110A EP1939726A4 (en) | 2005-09-26 | 2006-09-25 | METHOD FOR MULTITASK REALIZATION IN A MEDIA PLAYING DEVICE |
JP2008531516A JP2009510817A (ja) | 2005-09-26 | 2006-09-25 | メディアプレイヤにおけるマルチタスキング方法 |
BRPI0616747-0A BRPI0616747A2 (pt) | 2005-09-26 | 2006-09-25 | métodos para execução de multitarefas em tocadores de mìdia |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2005101000419A CN1940858B (zh) | 2005-09-26 | 2005-09-26 | 媒体播放装置上实现多任务的方法 |
CN200510100041.9 | 2005-09-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2007033615A1 true WO2007033615A1 (fr) | 2007-03-29 |
Family
ID=37888567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2006/002521 WO2007033615A1 (fr) | 2005-09-26 | 2006-09-25 | Procede destine a realiser une application multitache dans un dispositif de lecture multimedia |
Country Status (10)
Country | Link |
---|---|
US (1) | US20090222830A1 (zh) |
EP (1) | EP1939726A4 (zh) |
JP (1) | JP2009510817A (zh) |
KR (1) | KR20080066721A (zh) |
CN (1) | CN1940858B (zh) |
BR (1) | BRPI0616747A2 (zh) |
HK (1) | HK1105464A1 (zh) |
RU (1) | RU2412465C2 (zh) |
WO (1) | WO2007033615A1 (zh) |
ZA (1) | ZA200803642B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873739A (zh) * | 2014-03-14 | 2014-06-18 | 中央电视台 | 多设备协同控制方法及设备 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101106734B (zh) * | 2007-08-09 | 2010-12-08 | 中兴通讯股份有限公司 | 智能网系统任务调度系统及方法 |
KR101719563B1 (ko) * | 2010-06-22 | 2017-03-24 | 삼성전자주식회사 | 방송수신장치 및 그의 메모리 관리방법 |
KR101719559B1 (ko) * | 2010-06-22 | 2017-03-24 | 삼성전자주식회사 | 방송수신장치 및 그의 스케줄링 방법 |
CN102467488A (zh) * | 2011-02-25 | 2012-05-23 | 中标软件有限公司 | 一种文字处理文档异步加载的方法 |
US9104508B2 (en) * | 2012-01-18 | 2015-08-11 | International Business Machines Corporation | Providing by one program to another program access to a warning track facility |
FR2990782B1 (fr) * | 2012-05-15 | 2015-06-26 | Sagem Defense Securite | Procede de gestion d'une execution de taches dans un systeme informatique |
CN104346298B (zh) * | 2013-08-06 | 2018-12-25 | 北京数码视讯软件技术发展有限公司 | 基于智能卡的数据处理方法、装置及智能卡 |
CN105677455A (zh) * | 2014-11-21 | 2016-06-15 | 深圳市中兴微电子技术有限公司 | 一种设备调度方法及任务管理器 |
CN106293885B (zh) * | 2015-05-20 | 2019-06-28 | 联芯科技有限公司 | 任务创建、挂起和恢复方法 |
CN105117288B (zh) * | 2015-09-24 | 2019-09-13 | 上海斐讯数据通信技术有限公司 | 一种高精度时钟辅助任务执行的方法 |
WO2017206151A1 (zh) | 2016-06-02 | 2017-12-07 | 百富计算机技术(深圳)有限公司 | 在单任务系统中实现多任务的方法、装置及单任务系统 |
CN107577528B (zh) * | 2017-09-01 | 2020-09-08 | 长沙小卡机器人科技有限公司 | 多任务序列并行运行的方法 |
CN108647052B (zh) * | 2018-04-28 | 2020-12-01 | Oppo广东移动通信有限公司 | 应用程序预加载方法、装置、存储介质及终端 |
CN108804157A (zh) | 2018-06-05 | 2018-11-13 | Oppo广东移动通信有限公司 | 应用程序预加载方法、装置、存储介质及终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1393094A (zh) * | 2000-08-16 | 2003-01-22 | 皇家菲利浦电子有限公司 | 多媒体应用程序的运行方法 |
US20050132153A1 (en) * | 2003-12-12 | 2005-06-16 | Via Technologies, Inc. | Method and Apparatus of Arranging Priority Queue and Arbitrating for Memory Access Requests |
CN1668084A (zh) * | 2005-04-07 | 2005-09-14 | 北京北大方正电子有限公司 | 一种视频信号精确控制的方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19500957A1 (de) * | 1994-07-19 | 1996-01-25 | Bosch Gmbh Robert | Verfahren zur Steuerung von technischen Vorgängen oder Prozessen |
US6243735B1 (en) * | 1997-09-01 | 2001-06-05 | Matsushita Electric Industrial Co., Ltd. | Microcontroller, data processing system and task switching control method |
JP3007612B2 (ja) * | 1997-09-01 | 2000-02-07 | 松下電器産業株式会社 | マイクロコントローラ、データ処理システム及びタスクスイッチの制御方法 |
US6928646B1 (en) * | 2000-02-02 | 2005-08-09 | Sony Corporation | System and method for efficiently performing scheduling operations in an electronic device |
JP2003122586A (ja) * | 2001-08-09 | 2003-04-25 | Matsushita Electric Ind Co Ltd | タスク・スケジューリング装置 |
FI114663B (fi) * | 2001-12-20 | 2004-11-30 | Nokia Corp | Menetelmä ja järjestelmä käyttöjärjestelmätoimintojen suorittamiseksi sekä elektroniikkalaite |
CN1226868C (zh) * | 2002-04-08 | 2005-11-09 | 华邦电子股份有限公司 | 可同时播放多种节目的多媒体播放装置 |
JP2003316586A (ja) * | 2002-04-25 | 2003-11-07 | Pioneer Electronic Corp | タスク優先順位設定装置、その方法、そのプログラム、そのプログラムを記録した記録媒体、マルチタスク装置、および、ナビゲーション装置 |
JP3920818B2 (ja) * | 2003-07-22 | 2007-05-30 | 株式会社東芝 | スケジューリング方法および情報処理システム |
JP4462479B2 (ja) * | 2003-11-27 | 2010-05-12 | ソニー・エリクソン・モバイルコミュニケーションズ株式会社 | 情報処理装置及び携帯電話端末 |
-
2005
- 2005-09-26 CN CN2005101000419A patent/CN1940858B/zh active Active
-
2006
- 2006-09-25 KR KR1020087010090A patent/KR20080066721A/ko not_active Application Discontinuation
- 2006-09-25 RU RU2008116177/08A patent/RU2412465C2/ru not_active IP Right Cessation
- 2006-09-25 US US11/992,472 patent/US20090222830A1/en not_active Abandoned
- 2006-09-25 BR BRPI0616747-0A patent/BRPI0616747A2/pt not_active IP Right Cessation
- 2006-09-25 EP EP06791110A patent/EP1939726A4/en not_active Ceased
- 2006-09-25 WO PCT/CN2006/002521 patent/WO2007033615A1/zh active Application Filing
- 2006-09-25 JP JP2008531516A patent/JP2009510817A/ja active Pending
-
2007
- 2007-09-28 HK HK07110559.5A patent/HK1105464A1/xx unknown
-
2008
- 2008-04-24 ZA ZA200803642A patent/ZA200803642B/xx unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1393094A (zh) * | 2000-08-16 | 2003-01-22 | 皇家菲利浦电子有限公司 | 多媒体应用程序的运行方法 |
US20050132153A1 (en) * | 2003-12-12 | 2005-06-16 | Via Technologies, Inc. | Method and Apparatus of Arranging Priority Queue and Arbitrating for Memory Access Requests |
CN1668084A (zh) * | 2005-04-07 | 2005-09-14 | 北京北大方正电子有限公司 | 一种视频信号精确控制的方法 |
Non-Patent Citations (1)
Title |
---|
See also references of EP1939726A4 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873739A (zh) * | 2014-03-14 | 2014-06-18 | 中央电视台 | 多设备协同控制方法及设备 |
CN103873739B (zh) * | 2014-03-14 | 2017-10-17 | 中央电视台 | 多设备协同控制方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
ZA200803642B (en) | 2009-02-25 |
EP1939726A4 (en) | 2009-06-24 |
RU2412465C2 (ru) | 2011-02-20 |
BRPI0616747A2 (pt) | 2011-06-28 |
CN1940858A (zh) | 2007-04-04 |
RU2008116177A (ru) | 2009-11-10 |
HK1105464A1 (en) | 2008-02-15 |
CN1940858B (zh) | 2011-06-15 |
JP2009510817A (ja) | 2009-03-12 |
US20090222830A1 (en) | 2009-09-03 |
KR20080066721A (ko) | 2008-07-16 |
EP1939726A1 (en) | 2008-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2007033615A1 (fr) | Procede destine a realiser une application multitache dans un dispositif de lecture multimedia | |
US10268609B2 (en) | Resource management in a multicore architecture | |
KR102114453B1 (ko) | 모바일 장치 및 그것의 제어 방법 | |
JP4119945B2 (ja) | タスク処理装置 | |
KR100733943B1 (ko) | 프로세서 시스템, dma 제어 회로, dma 제어 방법,dma 제어기의 제어 방법, 화상 처리 방법, 및 화상처리 회로 | |
US6360243B1 (en) | Method, device and article of manufacture for implementing a real-time task scheduling accelerator | |
JP4996519B2 (ja) | 仮想マルチプロセッサ、システムlsi、携帯電話機器、及び仮想マルチプロセッサの制御方法 | |
US6430593B1 (en) | Method, device and article of manufacture for efficient task scheduling in a multi-tasking preemptive priority-based real-time operating system | |
TWI502511B (zh) | 用於管理多核心架構之資源的方法和設備 | |
JP4127848B2 (ja) | タスク処理装置 | |
KR101551321B1 (ko) | 휴대용 컴퓨팅 디바이스에서 요청들을 스케쥴링하기 위한 방법 및 시스템 | |
JPWO2009022371A1 (ja) | タスク処理装置 | |
JP2009520302A (ja) | プロセッサ状態遷移を検出するための方法及び装置 | |
US20150301864A1 (en) | Resource allocation method | |
WO2017206151A1 (zh) | 在单任务系统中实现多任务的方法、装置及单任务系统 | |
US7984446B1 (en) | Method and system for multitasking BIOS initialization tasks | |
Walls | Embedded RTOS Design: Insights and Implementation | |
JP5204740B2 (ja) | タスク処理装置 | |
EP1591896A2 (en) | System applications in a multimedia console | |
JP2008269597A (ja) | タスク処理装置 | |
JP2011008617A (ja) | マルチスレッド実行装置、オブジェクトプログラムの生成方法、プログラム | |
Yang | Constructing a Uniform Heterogeneous Multiprocessor by CPU Frequency Scaling and Exploring EDF Scheduling on It | |
Trivedi | An examination of Linux and Windows CE embedded operating systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2008531516 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 790/MUMNP/2008 Country of ref document: IN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2006791110 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020087010090 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2008116177 Country of ref document: RU |
|
WWP | Wipo information: published in national office |
Ref document number: 2006791110 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 11992472 Country of ref document: US |
|
ENP | Entry into the national phase |
Ref document number: PI0616747 Country of ref document: BR Kind code of ref document: A2 Effective date: 20080326 |