[發(fā)明專利]一種匯編執(zhí)行復雜任務的方法和裝置有效
| 申請?zhí)枺?/td> | 201010120380.4 | 申請日: | 2010-03-05 |
| 公開(公告)號: | CN101794215A | 公開(公告)日: | 2010-08-04 |
| 發(fā)明(設計)人: | 許健;白鋒 | 申請(專利權)人: | 北京紅旗勝利科技發(fā)展有限責任公司 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 北京潤澤恒知識產權代理有限公司 11319 | 代理人: | 蘇培華 |
| 地址: | 100081 北京市海淀區(qū)*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 匯編 執(zhí)行 復雜 任務 方法 裝置 | ||
技術領域
本發(fā)明涉及計算機技術領域,特別是涉及一種匯編執(zhí)行復雜任務的方法 和裝置。
背景技術
大多數復雜任務,由于任務持續(xù)時間較長,故執(zhí)行起來比較困難。一個 常用的解決方法是,將一個復雜任務分解為若干個子任務,這些子任務一般 為最小的任務單位,另外,這些子任務之間互不重疊,但有些子任務的執(zhí)行 需要以其它子任務為前提。
例如,一個復雜任務被分解成4個獨立的子任務,假設其編號分別為1、 2、3、4,且該復雜任務必須按照特定的順序執(zhí)行,也即,編號在1之后的 子任務不能在子任務1以前執(zhí)行,編號在2之后的子任務不能在子任務2以 前執(zhí)行,編號在3之后的子任務不能在子任務3以前執(zhí)行;那么,在執(zhí)行該 復雜任務時,現有技術主要有兩種處理方法:
方法一、針對每一個可能的子任務序列設計一個單獨的函數,參照圖1, 可以針對上例中的復雜任務設計15個不同的函數,由于每個函數中的子任 務序列不存在有條件地執(zhí)行,也即,所述序列中的子任務無需按照特定的順 序執(zhí)行,因此,可以通過使用最理想的代碼來將所述序列優(yōu)化成最佳性能; 這樣,在執(zhí)行該復雜任務時,調用函數將調用需要被執(zhí)行的任務序列,并在 該任務序列結束后繼續(xù)執(zhí)行下一個函數。
本方法能夠將任務序列優(yōu)化成最佳性能,且在CPU周期方面是最優(yōu)效 率的,但是由于同樣的子任務不止在一個序列中出現,例如,子任務1在函 數中出現了9次,故會導致大的代碼量。
方法二、該方法設計一個母函數,該母函數分析輸入參數并決定需要執(zhí) 行哪個子任務,其中,每一個需要執(zhí)行的子任務都單獨執(zhí)行并在結束后返回 該母函數;參照圖2,本方法在代碼量上有顯著縮小,但是,執(zhí)行每個子任 務都需要調用、返回操作,因此本方法會消耗更多的CPU周期。
總之,需要本領域技術人員迫切解決的一個技術問題就是:如何能夠一 種執(zhí)行復雜任務的方案,用以在使用小代碼量的前提下,減少CPU周期的 耗費。
發(fā)明內容
本發(fā)明所要解決的技術問題是一種匯編執(zhí)行復雜任務的方法和裝置,用 以在使用小代碼量的前提下,減少CPU周期的耗費。
為了解決上述問題,本發(fā)明公開了一種匯編執(zhí)行復雜任務的方法,所述 復雜任務包括多個子任務,所述子任務包括入口、函數和出口,所述函數包 括任務代碼和多個接口轉換代碼;其中,每個接口轉換代碼針對當前子任務 與相應的下一個子任務,并且,在當前任務的出口信息與下一個子任務的入 口信息一致時,所述接口轉換代碼為空;在當前任務的出口信息與下一個子 任務的入口信息不一致時,所述接口轉換代碼不為空,且用于將當前子任務 的出口信息轉換為下一個子任務的入口信息;
所述方法包括:
確定步驟:根據當前任務信息,確定所述復雜任務中需要執(zhí)行的第一個 子任務;
準備步驟:獲取第一個子任務的入口地址,并準備其執(zhí)行信息;
處理步驟:從第一個子任務起,將需要執(zhí)行的每個子任務作為當前子任 務進行處理,所述處理步驟包括:
執(zhí)行子步驟:進入當前子任務,并執(zhí)行當前子任務的任務代碼;
判斷子步驟:執(zhí)行期間,通過當前任務信息判斷需要執(zhí)行的下一個 子任務;
獲取子步驟:獲取下一個子任務的入口地址,并準備其執(zhí)行信息, 所述執(zhí)行信息包括子任務的入口信息,以及,需要執(zhí)行的數據信息;
轉入子步驟:在當前子任務執(zhí)行完畢時,轉到下一個子任務的入口 地址;
所述轉入子步驟包括:
在所述任務代碼執(zhí)行完畢時,執(zhí)行與下一個子任務相應的接口轉換代 碼;
在所述接口轉換代碼執(zhí)行完畢時,轉到下一個子任務的入口地址。
優(yōu)選的,所述方法還包括:
調用步驟:調用第一個子任務;
所述處理步驟還包括:
保存子步驟:將下一個子任務的入口地址,保存于返回寄存器;
所述轉入子步驟為,在當前子任務執(zhí)行完畢時,從所述返回寄存器中讀 取地址,并跳轉過去。
優(yōu)選的,所述處理步驟還包括:
寫入子步驟:將獲取的下一個子任務的入口地址寫入地址寄存器。
優(yōu)選的,所述多個子任務具有對應的任務編號;
所述處理步驟還包括:
檢測子步驟:檢測是否需要執(zhí)行編號排在當前子任務之后的子任務,若 是,則執(zhí)行判斷子步驟,否則,該復雜任務執(zhí)行完畢。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京紅旗勝利科技發(fā)展有限責任公司,未經北京紅旗勝利科技發(fā)展有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010120380.4/2.html,轉載請聲明來源鉆瓜專利網。
- 以注射方式執(zhí)行死刑的自動執(zhí)行車的執(zhí)行床
- 過程執(zhí)行裝置、過程執(zhí)行方法以及過程執(zhí)行程序
- 用以執(zhí)行跳舞電子游戲的執(zhí)行系統(tǒng)及其執(zhí)行方法
- 策略執(zhí)行系統(tǒng)及其執(zhí)行方法
- 腳本執(zhí)行系統(tǒng)和腳本執(zhí)行方法
- 命令執(zhí)行設備、命令執(zhí)行系統(tǒng)、命令執(zhí)行方法以及命令執(zhí)行程序
- 程序執(zhí)行裝置、程序執(zhí)行系統(tǒng)以及程序執(zhí)行方法
- 處理執(zhí)行設備和由該處理執(zhí)行設備執(zhí)行的方法
- 有序任務的執(zhí)行方法、執(zhí)行裝置和執(zhí)行系統(tǒng)
- 執(zhí)行器(閥門執(zhí)行器)





