專利名稱:用于選擇只讀存儲(chǔ)器模塊間的溝通方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是有關(guān)于一種用于選擇只讀存儲(chǔ)器模塊間的溝通方法及系統(tǒng),且特別是有
關(guān)于一種利用中斷指令來溝通模塊的方法及系統(tǒng)。
背景技術(shù):
在計(jì)算機(jī)系統(tǒng)開機(jī)的程序時(shí),在操作系統(tǒng)啟動(dòng)前,須對(duì)外圍裝置做初始化的動(dòng)作,以使操作系統(tǒng)能夠?qū)@些外圍裝置進(jìn)行數(shù)據(jù)的存取。具有外圍裝置相關(guān)信息的韌件部分,通常存在選擇只讀存儲(chǔ)器(Option ROM)中,以在計(jì)算機(jī)系統(tǒng)開機(jī)時(shí),加載至計(jì)算機(jī)系統(tǒng)的系統(tǒng)隨機(jī)存取內(nèi)存中,以供初始化。然而,通常系統(tǒng)隨機(jī)存取內(nèi)存僅提供有限的內(nèi)存區(qū)段供韌件部分使用,加上現(xiàn)有的基本輸入輸出系統(tǒng)(BIOS)提供愈來愈多的功能,其所需內(nèi)存空間也隨之加大,在內(nèi)存有限的情況下,不能同時(shí)下載所有需要的選擇只讀存儲(chǔ)器模塊,必須分割成多個(gè)模塊。 因此,設(shè)計(jì)一種新的模塊間的溝通方法,使模塊與模塊之間的溝通快速且方便。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于提供一種用于選擇只讀存儲(chǔ)器模塊間的溝通方法及系統(tǒng),以使模塊與模塊之間的溝通快速且方便。 為了實(shí)現(xiàn)上述目的,本發(fā)明 一較佳實(shí)施例中提出 一種用于選擇只讀存儲(chǔ)器模塊間
的溝通方法,包括以下步驟自數(shù)個(gè)函數(shù)中判定用以溝通運(yùn)行時(shí)間模塊與至少一應(yīng)用模塊的至少一目標(biāo)函數(shù),其中數(shù)個(gè)函數(shù)是來自于選擇只讀存儲(chǔ)器韌件;修改目標(biāo)函數(shù)的函數(shù)呼
叫為對(duì)應(yīng)目標(biāo)函數(shù)的中斷指令呼叫;以及根據(jù)中斷指令呼叫的使用限制,將選擇只讀存儲(chǔ)器韌件分割為數(shù)個(gè)選擇只讀存儲(chǔ)器模塊。 為了實(shí)現(xiàn)上述目的,本發(fā)明另一較佳實(shí)施例中提出一種用于選擇只讀存儲(chǔ)器模塊
間的溝通系統(tǒng),包括選擇只讀存儲(chǔ)器韌件,包括運(yùn)行時(shí)間模塊及至少一應(yīng)用模塊,其中運(yùn)
行時(shí)間模塊及應(yīng)用模塊各自包括數(shù)個(gè)函數(shù);系統(tǒng)隨機(jī)存取內(nèi)存,用以加載選擇只讀存儲(chǔ)器
韌件;處理器,用以自數(shù)個(gè)函數(shù)中判定用以溝通運(yùn)行時(shí)間模塊與應(yīng)用模塊的至少一目標(biāo)函
數(shù),處理器修改目標(biāo)函數(shù)的函數(shù)呼叫為對(duì)應(yīng)目標(biāo)函數(shù)的中斷指令呼叫,并根據(jù)中斷指令呼
叫的使用限制,將運(yùn)行時(shí)間模塊及應(yīng)用模塊分割為數(shù)個(gè)選擇只讀存儲(chǔ)器模塊。 利用本發(fā)明的選擇只讀存儲(chǔ)器模塊與模塊之間的溝通方法及系統(tǒng),不需知道基本
輸入輸出系統(tǒng)將這些模塊加載的內(nèi)存位置即可執(zhí)行,使得模塊之間的溝通極為快速及方便。
為使本發(fā)明的上述和其它目的、特征、優(yōu)點(diǎn)與實(shí)施例能更明顯易懂,所附附圖的詳細(xì)說明如下 圖1是依照本發(fā)明一實(shí)施例的一種用于選擇只讀存儲(chǔ)器模塊間的溝通方法流程
3圖; 圖2是依照本發(fā)明另一實(shí)施例的一種用于選擇只讀存儲(chǔ)器模塊間的溝通系統(tǒng)的方塊圖。主要組件符號(hào)說明
102-110 :步驟 212 :選擇只讀存儲(chǔ)器韌件 214:系統(tǒng)隨機(jī)存取內(nèi)存 222:運(yùn)行時(shí)間模塊 224:第一應(yīng)用模塊
具體實(shí)施例方式
接下來請(qǐng)參照本發(fā)明實(shí)施例的詳細(xì)說明,其中所提到的范例會(huì)連同附圖一同進(jìn)行說明。在任何可能的情況下,附圖及說明中所使用的相同參考數(shù)標(biāo)都代表了相同或類似的組件。 在選擇只讀存儲(chǔ)器韌件被分割成多個(gè)模塊的情況下,需要用到其中某些模塊時(shí),每一模塊可被下載至系統(tǒng)隨機(jī)存取內(nèi)存內(nèi)不同的位置上,而且每一模塊在不同時(shí)間點(diǎn)可被下載至不固定的位置,若模塊與模塊之間有函數(shù)(function)需要互相溝通時(shí),極為困難與不便。本發(fā)明揭露一種選擇只讀存儲(chǔ)器模塊與模塊之間的溝通方法,極為快速及方便。
參照?qǐng)Dl,其示出了依照本發(fā)明一實(shí)施例的一種用于選擇只讀存儲(chǔ)器模塊間的溝通方法流程圖。該溝通方法包含以下步驟(應(yīng)了解到,在本實(shí)施例中所提及的步驟,除特別敘明其順序者外,均可依實(shí)際需要調(diào)整其前后順序,甚至可能同時(shí)或部分同時(shí)執(zhí)行)
(1)自函數(shù)(function)中判定用以溝通一運(yùn)行時(shí)間(run time)模塊與至少一應(yīng)用模塊的至少一目標(biāo)函數(shù)(步驟102)。其中所提到的函數(shù)是來自于選擇只讀存儲(chǔ)器韌件中的功能函數(shù),這些功能函數(shù)執(zhí)行其特定的功能,而選擇只讀存儲(chǔ)器韌件對(duì)應(yīng)外圍裝置,該步驟的目的是確定所有會(huì)用于模塊之間溝通的目標(biāo)函數(shù)。再者,其中所提到的應(yīng)用模塊在此可用來指除運(yùn)行時(shí)間模塊之外的其它模塊。該步驟還可包含另一步驟判定對(duì)應(yīng)每一目標(biāo)函數(shù)的所有傳入?yún)?shù)(步驟104)。在進(jìn)行函數(shù)呼叫(function call)時(shí),一般會(huì)將所有需要用到的參數(shù)一并傳入,舉例來說,可從AX = 01開始依序列出。 (2)修改目標(biāo)函數(shù)的函數(shù)呼叫為對(duì)應(yīng)目標(biāo)函數(shù)的中斷指令呼叫(步驟106)。例如,在一實(shí)施例中,可修改目標(biāo)函數(shù)的函數(shù)呼叫為DOS操作系統(tǒng)中INT 21h功能函數(shù)的呼叫。D0S操作系統(tǒng)提供將近130個(gè)有用的中斷處理功能,該處可使用INT指令執(zhí)行編號(hào)為21h的中斷來實(shí)施該步驟。 (3)根據(jù)中斷指令呼叫的使用限制,將選擇只讀存儲(chǔ)器韌件分割為數(shù)個(gè)選擇只讀存儲(chǔ)器模塊(步驟108)。例如,在一實(shí)施例中,根據(jù)DOS操作系統(tǒng)的使用限制,將選擇只讀存儲(chǔ)器韌件分割為小于64kb的選擇只讀存儲(chǔ)器模塊。 (4)呼叫中斷指令以執(zhí)行運(yùn)行時(shí)間模塊與應(yīng)用模塊之間的溝通(步驟110)。每一應(yīng)用模塊都是通過呼叫中斷指令來與運(yùn)行時(shí)間模塊進(jìn)行溝通。在一實(shí)施例中,可通過呼叫INT 21h功能函數(shù)以執(zhí)行運(yùn)行時(shí)間模塊與應(yīng)用模塊之間的溝通。 請(qǐng)參照?qǐng)D2,其示出了依照本發(fā)明另一實(shí)施例的一種用于選擇只讀存儲(chǔ)器模塊間
226 :第二應(yīng)用模塊232 :處理器236 :參數(shù)判定單元250 :外圍裝置的溝通系統(tǒng)的方塊圖。該溝通系統(tǒng)包括選擇只讀存儲(chǔ)器韌件212、系統(tǒng)隨機(jī)存取內(nèi)存214、以及處理器232。選擇只讀存儲(chǔ)器韌件212對(duì)應(yīng)外圍裝置250。選擇只讀存儲(chǔ)器韌件212包括運(yùn)行時(shí)間(rim time)模塊222及至少一應(yīng)用模塊(在該實(shí)施例中以第一應(yīng)用模塊224及第二應(yīng)用模塊226為例說明)。系統(tǒng)隨機(jī)存取內(nèi)存214用以加載選擇只讀存儲(chǔ)器韌件212。
選擇只讀存儲(chǔ)器韌件212的運(yùn)行時(shí)間模塊222、第一應(yīng)用模塊224、及第二應(yīng)用模塊226各自包括數(shù)個(gè)函數(shù)。處理器232是用以自這些函數(shù)中判定用以溝通運(yùn)行時(shí)間模塊222與第一應(yīng)用模塊224或運(yùn)行時(shí)間模塊222與第二應(yīng)用模塊226的至少一 目標(biāo)函數(shù),處理器232修改目標(biāo)函數(shù)的函數(shù)呼叫(function call)為對(duì)應(yīng)目標(biāo)函數(shù)的中斷指令呼叫,并根據(jù)中斷指令呼叫的使用限制,將運(yùn)行時(shí)間模塊222、第一應(yīng)用模塊224、及第二應(yīng)用模塊226分割為符合限制的選擇只讀存儲(chǔ)器模塊。 其中處理器232可包括參數(shù)判定單元236。參數(shù)判定單元236是用以判定對(duì)應(yīng)目標(biāo)函數(shù)的所有傳入?yún)?shù)。應(yīng)用模塊呼叫中斷指令以與運(yùn)行時(shí)間模塊溝通。在該實(shí)施例中,處理器232修改目標(biāo)函數(shù)的函數(shù)呼叫為D0S操作系統(tǒng)中INT 21h功能函數(shù)的呼叫,并根據(jù)DOS操作系統(tǒng)的使用限制,將運(yùn)行時(shí)間模塊222、第一應(yīng)用模塊224、及第二應(yīng)用模塊226分割為小于64kb的選擇只讀存儲(chǔ)器模塊。第一應(yīng)用模塊224及第二應(yīng)用模塊226各自視其實(shí)際需要來呼叫DOS操作系統(tǒng)中的INT 21h功能函數(shù)以與運(yùn)行時(shí)間模塊222溝通。
總而言之,上述實(shí)施例揭露選擇只讀存儲(chǔ)器模塊與模塊之間的溝通方法及系統(tǒng),不需知道基本輸入輸出系統(tǒng)將這些模塊加載的內(nèi)存位置即可執(zhí)行,使得模塊之間的溝通極為快速及方便。 雖然本發(fā)明已以實(shí)施例揭露如上,然其并非用以限定本發(fā)明,熟悉本領(lǐng)域的技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作各種的更動(dòng)與潤(rùn)飾,因此本發(fā)明的保護(hù)范圍當(dāng)視后附的權(quán)利要求所界定者為準(zhǔn)。
權(quán)利要求
一種用于選擇只讀存儲(chǔ)器模塊間的溝通方法,包含以下步驟a.自多個(gè)函數(shù)中判定用以溝通一運(yùn)行時(shí)間模塊與至少一應(yīng)用模塊的至少一目標(biāo)函數(shù),其中該些函數(shù)是來自于一選擇只讀存儲(chǔ)器韌件;b.修改該目標(biāo)函數(shù)的函數(shù)呼叫為對(duì)應(yīng)該目標(biāo)函數(shù)的一中斷指令呼叫;以及c.根據(jù)該中斷指令呼叫的使用限制,將該選擇只讀存儲(chǔ)器韌件分割為多個(gè)選擇只讀存儲(chǔ)器模塊。
2. 根據(jù)權(quán)利要求l所述的方法,其特征在于,步驟a自多個(gè)函數(shù)中判定用以溝通一運(yùn)行 時(shí)間模塊與至少一應(yīng)用模塊的至少一目標(biāo)函數(shù)還包含以下步驟判定對(duì)應(yīng)每一目標(biāo)函數(shù)的所有傳入?yún)?shù)。
3. 根據(jù)權(quán)利要求l所述的方法,其特征在于,步驟b修改該目標(biāo)函數(shù)的函數(shù)呼叫為對(duì)應(yīng) 該目標(biāo)函數(shù)的一中斷指令呼叫包含修改該目標(biāo)函數(shù)的函數(shù)呼叫為一DOS操作系統(tǒng)中INT 21h功能函數(shù)的呼叫。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,步驟c根據(jù)該中斷指令呼叫的使用限制, 將該選擇只讀存儲(chǔ)器韌件分割為多個(gè)選擇只讀存儲(chǔ)器模塊包含根據(jù)該DOS操作系統(tǒng)的使用限制,將該選擇只讀存儲(chǔ)器韌件分割為多個(gè)小于64kb的選 擇只讀存儲(chǔ)器模塊。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,還包含以下步驟呼叫一 INT 21h功能函數(shù)以執(zhí)行該運(yùn)行時(shí)間模塊與該應(yīng)用模塊之間的溝通。
6. —種用于選擇只讀存儲(chǔ)器模塊間的溝通系統(tǒng),其特征在于,包含 一選擇只讀存儲(chǔ)器韌件,包含一運(yùn)行時(shí)間模塊及至少一應(yīng)用模塊,其中該運(yùn)行時(shí)間模塊及該應(yīng)用模塊各自包含多個(gè)函數(shù);一系統(tǒng)隨機(jī)存取內(nèi)存,用以加載該選擇只讀存儲(chǔ)器韌件;以及一處理器,用以自該些函數(shù)中判定用以溝通該運(yùn)行時(shí)間模塊與該應(yīng)用模塊的至少一目 標(biāo)函數(shù),該處理器修改該目標(biāo)函數(shù)的函數(shù)呼叫為對(duì)應(yīng)該目標(biāo)函數(shù)的一中斷指令呼叫,并根 據(jù)該中斷指令呼叫的使用限制,將該運(yùn)行時(shí)間模塊及該應(yīng)用模塊分割為多個(gè)選擇只讀存儲(chǔ) 器模塊。
7. 根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,該選擇只讀存儲(chǔ)器韌件對(duì)應(yīng)一外圍裝置。
8. 根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,該處理器包含一參數(shù)判定單元,用以判定 對(duì)應(yīng)該目標(biāo)函數(shù)的所有傳入?yún)?shù)。
9. 根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,該處理器修改該目標(biāo)函數(shù)的函數(shù)呼叫為 一DOS操作系統(tǒng)中INT 21h功能函數(shù)的呼叫,并根據(jù)該D0S操作系統(tǒng)的使用限制,將該選擇 只讀存儲(chǔ)器韌件分割為多個(gè)小于64kb的選擇只讀存儲(chǔ)器模塊。
10. 根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,該應(yīng)用模塊呼叫該D0S操作系統(tǒng)中INT 21h功能函數(shù)以與該運(yùn)行時(shí)間模塊溝通。
全文摘要
本發(fā)明涉及一種用于選擇只讀存儲(chǔ)器模塊間的溝通方法,包括自數(shù)個(gè)函數(shù)中判定用以溝通運(yùn)行時(shí)間模塊與至少一應(yīng)用模塊的至少一目標(biāo)函數(shù),其中數(shù)個(gè)函數(shù)是來自于選擇只讀存儲(chǔ)器韌件;修改目標(biāo)函數(shù)的函數(shù)呼叫為對(duì)應(yīng)目標(biāo)函數(shù)的中斷指令呼叫;以及根據(jù)中斷指令呼叫的使用限制,將選擇只讀存儲(chǔ)器韌件分割為數(shù)個(gè)選擇只讀存儲(chǔ)器模塊。一種用于選擇只讀存儲(chǔ)器模塊間的溝通系統(tǒng)也在此揭露。
文檔編號(hào)G06F9/445GK101782854SQ20091000550
公開日2010年7月21日 申請(qǐng)日期2009年1月19日 優(yōu)先權(quán)日2009年1月19日
發(fā)明者吳明城 申請(qǐng)人:英業(yè)達(dá)股份有限公司