專(zhuān)利名稱(chēng):基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)處理裝置,且特別涉及一種基本輸入輸出系統(tǒng)(Basiclnput Output System, BIOS)的數(shù)據(jù)處理裝置。
背景技術(shù):
現(xiàn)有的基本輸入輸出系統(tǒng)與嵌入式控制器(Embeded Controller ;EC)間傳遞數(shù) 據(jù)時(shí),必須先透過(guò)輸入/輸出埠(I/O port)測(cè)試嵌入式控制器是否處于忙碌狀態(tài),在嵌 入式控制器不為忙碌狀態(tài)時(shí),才能與嵌入式控制器溝通,例如對(duì)嵌入式控制器下指令,或 等待嵌入式控制器回傳處理數(shù)據(jù)的結(jié)果等。此外,受限于現(xiàn)有工業(yè)標(biāo)準(zhǔn)架構(gòu)(Industry Standard Architecture, ISA)的傳輸方式,只能以8位元的長(zhǎng)度來(lái)傳送數(shù)據(jù)。由于中央處 理器處理數(shù)據(jù)的速度往往遠(yuǎn)快于嵌入式控制器的數(shù)據(jù)處理速度,因此現(xiàn)有的基本輸入輸出 系統(tǒng)與嵌入式控制器間的溝通機(jī)制將大大地降低整個(gè)電腦的運(yùn)作效能。
發(fā)明內(nèi)容
本發(fā)明提供一種基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置,可提升整體基本輸入輸出系 統(tǒng)的效能,并降低控制單元指令執(zhí)行錯(cuò)誤的機(jī)率。本發(fā)明提出一種基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置,包括基本輸入輸出系統(tǒng)單 元、共享存儲(chǔ)器以及控制單元?;据斎胼敵鱿到y(tǒng)單元用以發(fā)出指令數(shù)據(jù),其中指令數(shù)據(jù) 包括識(shí)別數(shù)據(jù)及指令名稱(chēng)。共享存儲(chǔ)器,連接基本輸入輸出系統(tǒng)單元,提供基本輸入輸出系 統(tǒng)單元寫(xiě)入指令數(shù)據(jù),且指令數(shù)據(jù)中的識(shí)別數(shù)據(jù)儲(chǔ)存于識(shí)別字段??刂茊卧B接共享存儲(chǔ) 器,依據(jù)識(shí)別字段中識(shí)別數(shù)據(jù)所表示的值讀取并執(zhí)行指令數(shù)據(jù),并將回傳數(shù)據(jù)寫(xiě)入共享存 儲(chǔ)器,以供基本輸入輸出系統(tǒng)單元從共享存儲(chǔ)器讀取回傳數(shù)據(jù),其中回傳數(shù)據(jù)為控制單元 執(zhí)行指令數(shù)據(jù)的結(jié)果,且回傳數(shù)據(jù)包括識(shí)別數(shù)據(jù)。在本發(fā)明一實(shí)施例中,上述識(shí)別數(shù)據(jù)所表示的值為非零值時(shí),控制單元讀取并執(zhí) 行指令數(shù)據(jù)。在本發(fā)明一實(shí)施例中,上述指令數(shù)據(jù)還包括待處理數(shù)據(jù)。在本發(fā)明一實(shí)施例中,上述回傳數(shù)據(jù)還包括處理狀態(tài)數(shù)據(jù)以及已處理數(shù)據(jù),其中 處理狀態(tài)數(shù)據(jù)指示控制單元執(zhí)行指令數(shù)據(jù)的結(jié)果。在本發(fā)明一實(shí)施例中,上述共享存儲(chǔ)器包括寫(xiě)入存儲(chǔ)器區(qū)塊與讀取存儲(chǔ)器區(qū)塊, 其中基本輸入輸出系統(tǒng)單元將指令數(shù)據(jù)儲(chǔ)存至寫(xiě)入存儲(chǔ)器區(qū)塊,控制單元儲(chǔ)存回傳數(shù)據(jù)至 讀取存儲(chǔ)器區(qū)塊。在本發(fā)明一實(shí)施例中,上述控制單元讀取指令數(shù)據(jù)后,將寫(xiě)入存儲(chǔ)器區(qū)塊中的指 令數(shù)據(jù)清除。在本發(fā)明一實(shí)施例中,上述基本輸入輸出系統(tǒng)單元讀取回傳數(shù)據(jù)后,將讀取存儲(chǔ) 器區(qū)塊中的回傳數(shù)據(jù)清除。在本發(fā)明一實(shí)施例中,上述控制單元發(fā)出中斷信號(hào),以告知基本輸入輸出系統(tǒng)單元讀取回傳數(shù)據(jù)。在本發(fā)明一實(shí)施例中,上述共享存儲(chǔ)器包括讀寫(xiě)存儲(chǔ)器區(qū)塊,其中讀寫(xiě)存儲(chǔ)器區(qū) 塊用以?xún)?chǔ)存指令數(shù)據(jù)與回傳數(shù)據(jù)。在本發(fā)明一實(shí)施例中,上述指令數(shù)據(jù)還包括讀寫(xiě)狀態(tài)數(shù)據(jù)以及待處理數(shù)據(jù),其中 讀寫(xiě)狀態(tài)數(shù)據(jù)儲(chǔ)存于讀寫(xiě)狀態(tài)字段,用以指示讀寫(xiě)存儲(chǔ)器區(qū)塊的存取狀態(tài)。在本發(fā)明一實(shí)施例中,上述讀寫(xiě)存儲(chǔ)器區(qū)塊的存取狀態(tài)包括讀取狀態(tài)、寫(xiě)入狀態(tài) 及忙碌狀態(tài),其中當(dāng)基本輸入輸出系統(tǒng)單元寫(xiě)入指令數(shù)據(jù)后,讀寫(xiě)存儲(chǔ)器區(qū)塊的存取狀態(tài) 為寫(xiě)入狀態(tài),當(dāng)控制單元讀取指令數(shù)據(jù)后,讀寫(xiě)存儲(chǔ)器區(qū)塊的存取狀態(tài)為忙碌狀態(tài),當(dāng)控制 單元寫(xiě)入回傳數(shù)據(jù)后,讀寫(xiě)存儲(chǔ)器區(qū)塊的存取狀態(tài)為讀取狀態(tài)。在本發(fā)明一實(shí)施例中,上述回傳數(shù)據(jù)還包括讀寫(xiě)狀態(tài)數(shù)據(jù)、處理狀態(tài)數(shù)據(jù)以及已 處理數(shù)據(jù),其中處理狀態(tài)數(shù)據(jù)指示控制單元執(zhí)行指令數(shù)據(jù)的結(jié)果。在本發(fā)明一實(shí)施例中,上述控制單元為嵌入式控制器?;谏鲜?,本發(fā)明通過(guò)共享存儲(chǔ)器來(lái)儲(chǔ)存指令數(shù)據(jù)及回傳數(shù)據(jù),使基本輸入輸出 系統(tǒng)單元可不須等待控制單元完成舊的指令后再給予控制單元新的指令,以提升整體基本 輸入輸出系統(tǒng)的效能。另外,以共享存儲(chǔ)器做為基本輸入輸出系統(tǒng)單元與控制單元溝通的 媒介可進(jìn)行高速的連續(xù)存取與大區(qū)塊數(shù)據(jù)的傳遞,較現(xiàn)有架構(gòu)的數(shù)據(jù)傳遞方式更有效率。為讓本發(fā)明的上述特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉實(shí)施例,并配合所附圖式 作詳細(xì)說(shuō)明如下。
圖1為本發(fā)明一實(shí)施例的基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置的方塊圖。 圖2為本發(fā)明另一實(shí)施例的基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置的方塊圖, 圖3為本發(fā)明另一實(shí)施例的基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置的方塊圖, 圖4為本發(fā)明另一實(shí)施例的基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置的方塊圖, 圖5為本發(fā)明另一實(shí)施例的基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置的方塊圖, 主要附圖標(biāo)記說(shuō)明
100 500-數(shù)據(jù)處理裝置; 104-芯片組; 108-共享存儲(chǔ)器; 112、502_寫(xiě)入存儲(chǔ)器區(qū)塊; 302、402-讀寫(xiě)存儲(chǔ)器區(qū)塊; RSl-回傳數(shù)據(jù);
102-中央處理器; 106-基本輸入輸出系統(tǒng)單元 110-控制單元; 114、504-讀取存儲(chǔ)器區(qū)塊; CMDl-指令數(shù)據(jù); INTl-中斷信號(hào)。
具體實(shí)施例方式以下將以文字配合圖式來(lái)說(shuō)明本發(fā)明的示范實(shí)施例,其中,相同標(biāo)號(hào)指示同樣或 相似的元件。另外,以下的示范實(shí)施例僅是用以說(shuō)明,而非用以限定本發(fā)明。圖1為本發(fā)明一實(shí)施例的基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置的方塊圖。請(qǐng)參照 圖1,數(shù)據(jù)處理裝置100包括中央處理器102、芯片組104、基本輸入輸出系統(tǒng)(Basic Input Output System,BIOS)單元106、共享存儲(chǔ)器108以及控制單元110。在電腦系統(tǒng)中,中央處理器102可以通過(guò)芯片組104而連接至基本輸入輸出系統(tǒng)單元106,并且連接至其它的硬體 裝置,例如硬碟、光碟機(jī)、顯示器等等。共享存儲(chǔ)器108連接基本輸入輸出系統(tǒng)單元106與 控制單元110??刂茊卧?10可受中央處理器102控制而負(fù)責(zé)電腦系統(tǒng)中的一些周邊設(shè)備 與功能,例如鍵盤(pán)或鼠標(biāo)的連接埠等等。其中,共享存儲(chǔ)器108可以是隨機(jī)存取存儲(chǔ)器(DRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器 (SDRAM)以及雙隨機(jī)存取存儲(chǔ)器(DDRAM)。控制單元110可以是嵌入式控制器(Embeded Controller, EC)。另外,基本輸入輸出系統(tǒng)單元106則可以利用快閃存儲(chǔ)器來(lái)實(shí)現(xiàn)。當(dāng)基本輸入輸出系統(tǒng)單元106欲發(fā)出指令數(shù)據(jù)CMDl給控制單元110時(shí),基本輸入 輸出系統(tǒng)單元106將指令數(shù)據(jù)CMDl寫(xiě)入共享存儲(chǔ)器108。其中指令數(shù)據(jù)CMDl可包括識(shí)別 數(shù)據(jù)、指令名稱(chēng)以及待處理數(shù)據(jù),且識(shí)別數(shù)據(jù)儲(chǔ)存于識(shí)別字段中??刂茊卧?10則依據(jù)識(shí)別 字段中的識(shí)別數(shù)據(jù)來(lái)讀取并執(zhí)行指令數(shù)據(jù)CMD1。控制單元110完成基本輸入輸出系統(tǒng)單元 106所給予的命令后,將回傳數(shù)據(jù)RSl存回共享存儲(chǔ)器108。其中,回傳數(shù)據(jù)RSl包括從識(shí) 別字段讀取的識(shí)別數(shù)據(jù)、已處理數(shù)據(jù)以及處理狀態(tài)數(shù)據(jù)。其中,處理狀態(tài)數(shù)據(jù)指示了控制單 元110執(zhí)行指令數(shù)據(jù)CMDl的結(jié)果。基本輸入輸出系統(tǒng)單元106可從共享存儲(chǔ)器108中讀 取回傳數(shù)據(jù)RS1,以確認(rèn)并接收控制單元110執(zhí)行指令數(shù)據(jù)CMDl的結(jié)果。詳細(xì)來(lái)說(shuō),共享存儲(chǔ)器108可包括寫(xiě)入存儲(chǔ)器區(qū)塊112與讀取存儲(chǔ)器區(qū)塊114。寫(xiě) 入存儲(chǔ)器區(qū)塊112負(fù)責(zé)儲(chǔ)存指令數(shù)據(jù)CMDl,而讀取存儲(chǔ)器區(qū)塊114負(fù)責(zé)儲(chǔ)存回傳數(shù)據(jù)RSl。 另外,識(shí)別字段中的識(shí)別數(shù)據(jù)可表示不同的值,以表示不同的指令數(shù)據(jù)CMDl與回傳數(shù)據(jù) RSl,并提供基本輸入輸出系統(tǒng)單元106與控制單元110辨識(shí)指令數(shù)據(jù)CMDl與回傳數(shù)據(jù)RSl 的對(duì)應(yīng)關(guān)系,使基本輸入輸出系統(tǒng)單元106與控制單元110可進(jìn)行非同步溝通。值得注意 的是,當(dāng)識(shí)別數(shù)據(jù)所表示的值為0時(shí),代表指令數(shù)據(jù)CMDl或回傳數(shù)據(jù)RSl已被處理完畢?;据斎胼敵鱿到y(tǒng)單元106要將指令數(shù)據(jù)CMDl存入寫(xiě)入存儲(chǔ)器區(qū)塊112之前,基 本輸入輸出系統(tǒng)單元106先將讀取存儲(chǔ)器區(qū)塊114中尚未被讀取的回傳數(shù)據(jù)RSl讀取完 畢,并將讀取存儲(chǔ)器區(qū)塊114中已讀取的回傳數(shù)據(jù)RSl清除(也就是將回傳數(shù)據(jù)RSl中識(shí) 別字段的識(shí)別數(shù)據(jù)值改為0)。接著,基本輸入輸出系統(tǒng)單元106檢查寫(xiě)入存儲(chǔ)器區(qū)塊112 中是否有尚未處理的指令數(shù)據(jù)CMDl (也就是將檢查指令數(shù)據(jù)CMDl中識(shí)別字段的識(shí)別數(shù)據(jù) 是否為非零值)。若是,則等待控制單元110將尚未處理的指令數(shù)據(jù)CMDl處理完畢;若否, 則基本輸入輸出系統(tǒng)單元106將指令數(shù)據(jù)CMDl存入寫(xiě)入存儲(chǔ)器區(qū)塊112。其中,存入的指 令數(shù)據(jù)CMDl具有其相對(duì)應(yīng)的非零的識(shí)別數(shù)據(jù)值,例如1。值得注意的是,為詳細(xì)說(shuō)明基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置的基本架構(gòu),本實(shí) 施例以寫(xiě)入存儲(chǔ)器區(qū)塊112與讀取存儲(chǔ)器區(qū)塊114為例進(jìn)行說(shuō)明。在本實(shí)施例中由于只列 舉兩存儲(chǔ)器區(qū)塊(寫(xiě)入存儲(chǔ)器區(qū)塊112與讀取存儲(chǔ)器區(qū)塊114),因此基本輸入輸出系統(tǒng)單 元106須等待控制單元110將指令數(shù)據(jù)CMDl處理完畢后才能下達(dá)新的指令數(shù)據(jù),但本發(fā)明 并不以此為限。在共享存儲(chǔ)器具有足夠的存儲(chǔ)器區(qū)塊數(shù)量時(shí),基本輸入輸出系統(tǒng)單元106 可直接下達(dá)新的指令數(shù)據(jù),無(wú)須等待控制單元110將指令數(shù)據(jù)CMDl處理完畢,詳細(xì)的實(shí)施 方式將于稍后的實(shí)施例中說(shuō)明。控制單元110輪詢(xún)到寫(xiě)入存儲(chǔ)器區(qū)塊112中尚未執(zhí)行的指令數(shù)據(jù)CMDl (也就是指 令數(shù)據(jù)CMDl中識(shí)別字段的識(shí)別數(shù)據(jù)為非零值)時(shí),控制單元110讀取尚未執(zhí)行的指令數(shù)據(jù) CMDl,并依據(jù)指令數(shù)據(jù)CMDl中的指令名稱(chēng)執(zhí)行基本輸入輸出系統(tǒng)單元106所指定的命令??刂茊卧?10完成指定的命令后,將執(zhí)行指令數(shù)據(jù)CMDl的結(jié)果(包括已處理數(shù)據(jù)以及處理 狀態(tài)數(shù)據(jù))與識(shí)別數(shù)據(jù)(其值與控制單元110執(zhí)行的指令數(shù)據(jù)CMDl的識(shí)別數(shù)據(jù)的值相同) 存入讀取存儲(chǔ)器區(qū)塊114,并將寫(xiě)入存儲(chǔ)器區(qū)塊112中已讀取的指令數(shù)據(jù)CMDl清除(也就 是將指令數(shù)據(jù)CMDl中識(shí)別字段的識(shí)別數(shù)據(jù)值改為0)。如同上述,本實(shí)施例的基本輸入輸出系統(tǒng)單元106與控制單元110之間的數(shù)據(jù)傳 遞可通過(guò)共享存儲(chǔ)器108作為暫存區(qū)以?xún)?chǔ)存指令數(shù)據(jù)CMDl與回傳數(shù)據(jù)RS1,并通過(guò)所儲(chǔ)存 的數(shù)據(jù)格式(即識(shí)別字段)來(lái)判別指令數(shù)據(jù)CMDl與回傳數(shù)據(jù)RSl的狀態(tài)。由此,基本輸入 輸出系統(tǒng)單元106不需直接將指令數(shù)據(jù)CMDl傳送至控制單元110,即可完成指令的傳遞。此外,一般而言,共享存儲(chǔ)器108的工作時(shí)脈可以為667/800MHZ,而中央處理器 102則可達(dá)IGHz以上,嵌入式控制器的工作時(shí)脈則約為20MHz。因此,由基本輸入輸出系統(tǒng) 單元106直接將指令數(shù)據(jù)CMDl寫(xiě)入共享存儲(chǔ)器108的速度會(huì)比將指令數(shù)據(jù)CMDl直接寫(xiě)入 控制單元110還要快,而且從共享存儲(chǔ)器108中讀取回傳數(shù)據(jù)RSl的速度也會(huì)比直接由控 制單元110中讀取還要快。換言之,由于基本輸入輸出系統(tǒng)單元106與共享存儲(chǔ)器108之 間的數(shù)據(jù)傳輸速度比基本輸入輸出系統(tǒng)單元106與控制單元110之間的數(shù)據(jù)傳遞速度快。 因此,通過(guò)共享存儲(chǔ)器108作為數(shù)據(jù)緩沖區(qū)域來(lái)儲(chǔ)存指令數(shù)據(jù)CMDl與回傳數(shù)據(jù)RSl可大幅 提升基本輸入輸出系統(tǒng)單元106與控制單元110之間的數(shù)據(jù)傳遞效率,同時(shí)可傳遞較大的 數(shù)據(jù)?;据斎胼敵鱿到y(tǒng)單元106也不需花費(fèi)額外的時(shí)間來(lái)等待控制單元110完成指令。圖2為本發(fā)明另一實(shí)施例的基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置的方塊圖。請(qǐng)參 照?qǐng)D2,本實(shí)施例的數(shù)據(jù)處理裝置200與數(shù)據(jù)處理裝置100的不同之處在于,控制單元110 將回傳數(shù)據(jù)RSl (包括執(zhí)行指令數(shù)據(jù)CMDl的結(jié)果與識(shí)別數(shù)據(jù))存入讀取存儲(chǔ)器區(qū)塊114 后,控制單元110可直接發(fā)出中斷信號(hào)INTl給基本輸入輸出系統(tǒng)單元106,以告知基本輸 入輸出系統(tǒng)單元106讀取回傳數(shù)據(jù)RS1。其中,中斷信號(hào)INTl可為系統(tǒng)管理中斷(System Management Interrupt, SMI)信號(hào)或系統(tǒng)控制中斷(system control interrupt, SCI)信 號(hào)。本實(shí)施例的控制單元110所發(fā)出的中斷信號(hào)INTl可使基本輸入輸出系統(tǒng)單元106取得 控制權(quán),以讀取回傳數(shù)據(jù)RS1。然而實(shí)際應(yīng)用上并非必要手段,基本輸入輸出系統(tǒng)單元106 也可依一定的周期輪詢(xún)讀取存儲(chǔ)器區(qū)塊114,以讀取回傳數(shù)據(jù)RS1。圖3為本發(fā)明另一實(shí)施例的基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置的方塊圖。請(qǐng)參 照?qǐng)D3,本實(shí)施例的數(shù)據(jù)處理裝置300與數(shù)據(jù)處理裝置100的不同之處在于,在共享存儲(chǔ) 器108中,寫(xiě)入存儲(chǔ)器區(qū)塊112與讀取存儲(chǔ)器區(qū)塊114合并為本實(shí)施例的讀寫(xiě)存儲(chǔ)器區(qū)塊 302。讀寫(xiě)存儲(chǔ)器區(qū)塊302具有寫(xiě)入存儲(chǔ)器區(qū)塊112與讀取存儲(chǔ)器區(qū)塊114的功能,可儲(chǔ)存 指令數(shù)據(jù)CMDl與回傳數(shù)據(jù)RS1。在本實(shí)施例中,指令數(shù)據(jù)CMDl與回傳數(shù)據(jù)RSl都還包括讀 寫(xiě)狀態(tài)數(shù)據(jù),讀寫(xiě)狀態(tài)數(shù)據(jù)儲(chǔ)存于讀寫(xiě)狀態(tài)字段,利用讀寫(xiě)狀態(tài)數(shù)據(jù)所表示的值的不同,來(lái) 指示讀寫(xiě)存儲(chǔ)器區(qū)塊302的存取狀態(tài)。舉例來(lái)說(shuō),當(dāng)基本輸入輸出系統(tǒng)單元106將指令數(shù)據(jù)CMDl寫(xiě)入讀寫(xiě)存儲(chǔ)器區(qū)塊 302后,讀寫(xiě)存儲(chǔ)器區(qū)塊302的存取狀態(tài)為寫(xiě)入狀態(tài),此時(shí)讀寫(xiě)存儲(chǔ)器區(qū)塊302的功能相當(dāng) 于寫(xiě)入存儲(chǔ)器區(qū)塊112,可設(shè)定讀寫(xiě)狀態(tài)數(shù)據(jù)的值為0來(lái)表示此狀態(tài)。當(dāng)控制單元110讀取 指令數(shù)據(jù)CMDl后,讀寫(xiě)存儲(chǔ)器區(qū)塊302的存取狀態(tài)為忙碌狀態(tài),避免基本輸入輸出系統(tǒng)單 元106在控制單元110執(zhí)行指令數(shù)據(jù)CMDl時(shí)寫(xiě)入新的數(shù)據(jù),此時(shí)可設(shè)定讀寫(xiě)狀態(tài)數(shù)據(jù)的值 為1來(lái)表示此狀態(tài)??刂茊卧?10執(zhí)行完指令數(shù)據(jù)CMD1,并將回傳數(shù)據(jù)RS寫(xiě)入讀寫(xiě)存儲(chǔ)器區(qū)塊302后,讀寫(xiě)存儲(chǔ)器區(qū)塊302的存取狀態(tài)為讀取狀態(tài),此時(shí)讀寫(xiě)存儲(chǔ)器區(qū)塊302的功 能相當(dāng)于讀取存儲(chǔ)器區(qū)塊114,可設(shè)定讀寫(xiě)狀態(tài)數(shù)據(jù)的值為2來(lái)表示此狀態(tài)。值得注意的 是,本實(shí)施例雖以讀寫(xiě)狀態(tài)數(shù)據(jù)的值0、1、2分別表示寫(xiě)入狀態(tài)、寫(xiě)入狀態(tài)及讀取狀態(tài),但不 以此為限。本實(shí)施例的數(shù)據(jù)處理裝置300的操作方法與數(shù)據(jù)處理裝置100類(lèi)似。其方法如下 在基本輸入輸出系統(tǒng)單元106要將指令數(shù)據(jù)CMDl存入讀寫(xiě)存儲(chǔ)器區(qū)塊302之前,基本輸入 輸出系統(tǒng)單元106先將讀寫(xiě)存儲(chǔ)器區(qū)塊302中尚未被讀取的回傳數(shù)據(jù)RSl讀取完畢,并將 讀寫(xiě)存儲(chǔ)器區(qū)塊302中已讀取的回傳數(shù)據(jù)RSl清除(也就是將回傳數(shù)據(jù)RSl中識(shí)別字段的 識(shí)別數(shù)據(jù)值改為0)。接著,基本輸入輸出系統(tǒng)單元106將指令數(shù)據(jù)CMDl存入讀寫(xiě)存儲(chǔ)器區(qū) 塊302,此時(shí)讀寫(xiě)存儲(chǔ)器區(qū)塊302為寫(xiě)入狀態(tài)。其中,存入的指令數(shù)據(jù)CMDl具有其相對(duì)應(yīng)的 非零的識(shí)別數(shù)據(jù)值,例如1。值得注意的是,為詳細(xì)說(shuō)明基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置的基本架構(gòu),本實(shí) 施例以單一個(gè)讀寫(xiě)存儲(chǔ)器區(qū)塊302為例進(jìn)行說(shuō)明。因此,基本輸入輸出系統(tǒng)單元106須等 待控制單元110將指令數(shù)據(jù)CMDl處理完畢,并將回傳數(shù)據(jù)RSl讀取后才能下達(dá)新的指令數(shù) 據(jù),但本發(fā)明并不以此為限。在共享存儲(chǔ)器具有足夠的存儲(chǔ)器區(qū)塊數(shù)量時(shí),基本輸入輸出系 統(tǒng)單元106可直接下達(dá)新的指令數(shù)據(jù),詳細(xì)的實(shí)施方式將于稍后的實(shí)施例中說(shuō)明??刂茊卧?10輪詢(xún)到讀寫(xiě)存儲(chǔ)器區(qū)塊302中尚未執(zhí)行的指令數(shù)據(jù)CMDl (也就是指 令數(shù)據(jù)CMDl中識(shí)別字段的識(shí)別數(shù)據(jù)為非零值,且讀寫(xiě)狀態(tài)數(shù)據(jù)的值為0)時(shí),控制單元110 讀取尚未執(zhí)行的指令數(shù)據(jù)CMD1,并依據(jù)指令數(shù)據(jù)CMDl中的指令名稱(chēng)執(zhí)行基本輸入輸出系 統(tǒng)單元106所指定的命令,此時(shí)讀寫(xiě)存儲(chǔ)器區(qū)塊302為忙碌狀態(tài)(也就是指令數(shù)據(jù)CMDl中 識(shí)別字段的識(shí)別數(shù)據(jù)為非零值,且讀寫(xiě)狀態(tài)數(shù)據(jù)的值為1)??刂茊卧?10完成指定的命令 后,將執(zhí)行指令數(shù)據(jù)CMDl的結(jié)果(包括已處理數(shù)據(jù)以及處理狀態(tài)數(shù)據(jù))、識(shí)別數(shù)據(jù)(其值 與控制單元110執(zhí)行的指令數(shù)據(jù)CMDl的識(shí)別數(shù)據(jù)的值相同)、與讀寫(xiě)狀態(tài)數(shù)據(jù)(其值為2) 存入讀寫(xiě)存儲(chǔ)器區(qū)塊302,此時(shí)讀寫(xiě)存儲(chǔ)器區(qū)塊302為讀取狀態(tài)。另外,控制單元110將回傳數(shù)據(jù)RSl存入讀寫(xiě)存儲(chǔ)器區(qū)塊302后,也可不必等待基 本輸入輸出系統(tǒng)單元106輪詢(xún)讀寫(xiě)存儲(chǔ)器區(qū)塊302的狀態(tài),以讀取回傳數(shù)據(jù)RSl??刂茊卧?110可直接發(fā)出中斷信號(hào)INTl給基本輸入輸出系統(tǒng)單元106,以告知基本輸入輸出系統(tǒng)單 元106讀取回傳數(shù)據(jù)RS1,然本發(fā)明并不以此為限。圖4為本發(fā)明另一實(shí)施例的基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置的方塊圖。請(qǐng)參照 圖4,本實(shí)施例的數(shù)據(jù)處理裝置400與數(shù)據(jù)處理裝置300的不同之處在于,本實(shí)施例的共享 存儲(chǔ)器108包括多個(gè)讀寫(xiě)存儲(chǔ)器區(qū)塊402。基本輸入輸出系統(tǒng)單元106要將指令數(shù)據(jù)CMDl存入共享存儲(chǔ)器108時(shí),可尋找空 的讀寫(xiě)存儲(chǔ)器區(qū)塊402 (也就是識(shí)別字段中識(shí)別數(shù)據(jù)的值為0的回傳數(shù)據(jù)),以將指令數(shù)據(jù) CMDl存入空的讀寫(xiě)存儲(chǔ)器區(qū)塊402,指令數(shù)據(jù)CMDl存入后,讀寫(xiě)存儲(chǔ)器區(qū)塊402為寫(xiě)入狀 態(tài)(也就是讀寫(xiě)狀態(tài)數(shù)據(jù)的值為0)??刂茊卧?10輪詢(xún)到讀寫(xiě)存儲(chǔ)器區(qū)塊402中尚未執(zhí)行 的指令數(shù)據(jù)CMDl (也就是指令數(shù)據(jù)CMDl中識(shí)別字段的識(shí)別數(shù)據(jù)為非零值,且讀寫(xiě)狀態(tài)數(shù)據(jù) 的值為0)時(shí),控制單元110讀取尚未執(zhí)行的指令數(shù)據(jù)CMD1,并依據(jù)指令數(shù)據(jù)CMDl中的指令 名稱(chēng)執(zhí)行基本輸入輸出系統(tǒng)單元106所指定的命令,此時(shí)被控制單元110所讀取的讀寫(xiě)存 儲(chǔ)器區(qū)塊402為忙碌狀態(tài),(也就是讀寫(xiě)狀態(tài)數(shù)據(jù)的值為1)??刂茊卧?10完成指定的命令后,將回傳數(shù)據(jù)RSl存入原本讀取的讀寫(xiě)存儲(chǔ)器區(qū)塊402,此時(shí)讀寫(xiě)存儲(chǔ)器區(qū)塊402為讀 取狀態(tài),(也就是讀寫(xiě)狀態(tài)數(shù)據(jù)的值為2)?;据斎胼敵鱿到y(tǒng)單元106依據(jù)回傳數(shù)據(jù)RSl 中識(shí)別字段的識(shí)別數(shù)據(jù)的值,讀取回傳數(shù)據(jù)RSl并將讀寫(xiě)存儲(chǔ)器區(qū)塊402中已讀取的回傳 數(shù)據(jù)RSl清除(也就是將回傳數(shù)據(jù)RSl中識(shí)別字段的識(shí)別數(shù)據(jù)值改為0),以得知其對(duì)應(yīng)的 指令數(shù)據(jù)CMDl的執(zhí)行結(jié)果。在本實(shí)施例中,由于共享存儲(chǔ)器108具有多個(gè)讀寫(xiě)存儲(chǔ)器區(qū)塊402,因此基本輸入 輸出系統(tǒng)單元106可尋找空的讀寫(xiě)存儲(chǔ)器區(qū)塊402,直接下達(dá)新的指令數(shù)據(jù),無(wú)須等待控制 單元110將指令數(shù)據(jù)CMDl處理完畢,以提升整體基本輸入輸出系統(tǒng)的效能。另外,控制單元110將回傳數(shù)據(jù)RSl存入讀寫(xiě)存儲(chǔ)器區(qū)塊402后,也可直接發(fā)出中 斷信號(hào)INTl給基本輸入輸出系統(tǒng)單元106,以告知基本輸入輸出系統(tǒng)單元106讀取回傳數(shù) 據(jù)RS1,然本發(fā)明并不以此為限。圖5為本發(fā)明另一實(shí)施例的基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置的方塊圖。請(qǐng)參照 圖5,本實(shí)施例的數(shù)據(jù)處理裝置500與數(shù)據(jù)處理裝置100的不同之處在于,本實(shí)施例的共享 存儲(chǔ)器108包括多個(gè)寫(xiě)入存儲(chǔ)器區(qū)塊502與多個(gè)讀取存儲(chǔ)器區(qū)塊504。基本輸入輸出系統(tǒng)單元106要將指令數(shù)據(jù)CMDl存入共享存儲(chǔ)器108時(shí),可尋找 空的寫(xiě)入存儲(chǔ)器區(qū)塊502 (也就是識(shí)別字段中識(shí)別數(shù)據(jù)的值為0的指令數(shù)據(jù)),以將指令數(shù) 據(jù)CMDl存入空的寫(xiě)入存儲(chǔ)器區(qū)塊502 (此時(shí)指令數(shù)據(jù)CMDl中識(shí)別字段識(shí)別數(shù)據(jù)的值為非 零值)??刂茊卧?10輪詢(xún)到寫(xiě)入存儲(chǔ)器區(qū)塊502中尚未執(zhí)行的指令數(shù)據(jù)CMDl (也就是指 令數(shù)據(jù)CMDl中識(shí)別字段的識(shí)別數(shù)據(jù)為非零值)時(shí),控制單元110讀取尚未執(zhí)行的指令數(shù)據(jù) CMD1,并依據(jù)指令數(shù)據(jù)CMDl中的指令名稱(chēng)執(zhí)行基本輸入輸出系統(tǒng)單元106所指定的命令。 控制單元110完成指定的命令后,將回傳數(shù)據(jù)RSl存入讀取存儲(chǔ)器區(qū)塊504 (此時(shí)回傳數(shù)據(jù) RSl中識(shí)別字段識(shí)別數(shù)據(jù)的值與控制單元110所讀取的指令數(shù)據(jù)CMDl的識(shí)別數(shù)據(jù)的值相 同),并將寫(xiě)入存儲(chǔ)器區(qū)塊502中已讀取的指令數(shù)據(jù)CMDl清除(也就是將指令數(shù)據(jù)CMDl中 識(shí)別字段的識(shí)別數(shù)據(jù)值改為0)。基本輸入輸出系統(tǒng)單元106依據(jù)回傳數(shù)據(jù)RSl中識(shí)別字 段的識(shí)別數(shù)據(jù)的值,讀取回傳數(shù)據(jù)RSl并將讀取存儲(chǔ)器區(qū)塊504中已讀取的回傳數(shù)據(jù)RSl 清除(也就是將回傳數(shù)據(jù)RSl中識(shí)別字段的識(shí)別數(shù)據(jù)值改為0),以得知其對(duì)應(yīng)的指令數(shù)據(jù) CMDl的執(zhí)行結(jié)果。在本實(shí)施例中,由于共享存儲(chǔ)器108具有多個(gè)寫(xiě)入存儲(chǔ)器區(qū)塊502與多個(gè)讀取存 儲(chǔ)器區(qū)塊504,因此基本輸入輸出系統(tǒng)單元106可尋找空的寫(xiě)入存儲(chǔ)器區(qū)塊502,直接下達(dá) 新的指令數(shù)據(jù),無(wú)須等待控制單元110將指令數(shù)據(jù)CMDl處理完畢,以提升整體基本輸入輸 出系統(tǒng)的效能。另外,控制單元110將回傳數(shù)據(jù)RSl存入讀取存儲(chǔ)器區(qū)塊504后,也可直接發(fā)出中 斷信號(hào)INTl給基本輸入輸出系統(tǒng)單元106,以告知基本輸入輸出系統(tǒng)單元106讀取回傳數(shù) 據(jù)RS1,然本發(fā)明并不以此為限。綜上所述,本發(fā)明通過(guò)共享存儲(chǔ)器(其工作時(shí)脈約為667/800MHZ)來(lái)儲(chǔ)存指令數(shù) 據(jù)及回傳數(shù)據(jù),解決中央處理器(其工作時(shí)脈在IGHz以上)與控制單元(例如嵌入式控制 器,其工作時(shí)脈約為20MHz)間數(shù)據(jù)處理速度的落差問(wèn)題,使基本輸入輸出系統(tǒng)單元可不須 等待數(shù)據(jù)處理速度較慢的控制單元完成舊的指令后再給予控制單元新的指令,以提升整體 基本輸入輸出系統(tǒng)的效能。另外,以共享存儲(chǔ)器做為基本輸入輸出系統(tǒng)單元與控制單元溝通的媒介可進(jìn)行高速的連續(xù)存取與大區(qū)塊數(shù)據(jù)的傳遞,較現(xiàn)有架構(gòu)里只能以8位元的長(zhǎng)度 來(lái)傳送數(shù)據(jù)(時(shí)脈8. 33MHz)的數(shù)據(jù)傳遞方式更有效率。本發(fā)明的各個(gè)實(shí)施例還具有下列功效1、通過(guò)控制單元與基本輸入輸出系統(tǒng)單元所設(shè)定的傳遞數(shù)據(jù)格式,可避免控制單 元在執(zhí)行指令時(shí)突然被其它岔斷(interrupt)所中斷,進(jìn)而造成控制單元執(zhí)行指令的動(dòng)作 不連貫,增加控制單元指令執(zhí)行錯(cuò)誤的機(jī)率。2、共享存儲(chǔ)器的存取程式碼較現(xiàn)有的輸入/輸出方式簡(jiǎn)潔易懂,不易出現(xiàn)誤寫(xiě)的 問(wèn)題。3、共享存儲(chǔ)器可規(guī)范溝通的數(shù)據(jù)格式,達(dá)成指令佇列的功能,在控制單元尚未完 成舊指令時(shí),基本輸入輸出系統(tǒng)單元可下達(dá)新的指令至共享存儲(chǔ)器,控制單元?jiǎng)t依序完成 基本輸入輸出系統(tǒng)單元所下達(dá)的指令。4、控制單元可將回傳數(shù)據(jù)存入共享存儲(chǔ)器后,再產(chǎn)生系統(tǒng)中斷信號(hào)給基本輸入輸 出系統(tǒng)單元,以告知基本輸入輸出系統(tǒng)單元讀取回傳數(shù)據(jù),較現(xiàn)有架構(gòu)的溝通方式更有效率。最后應(yīng)說(shuō)明的是以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡 管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然 可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替 換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精 神和范圍。
10
權(quán)利要求
一種基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置,其特征在于,包括一基本輸入輸出系統(tǒng)單元,用以發(fā)出一指令數(shù)據(jù),其中該指令數(shù)據(jù)包括一識(shí)別數(shù)據(jù)及一指令名稱(chēng);一共享存儲(chǔ)器,連接該基本輸入輸出系統(tǒng)單元,提供該基本輸入輸出系統(tǒng)單元寫(xiě)入該指令數(shù)據(jù),且該指令數(shù)據(jù)中的該識(shí)別數(shù)據(jù)儲(chǔ)存于一識(shí)別字段;以及一控制單元,連接該共享存儲(chǔ)器,依據(jù)該識(shí)別字段中該識(shí)別數(shù)據(jù)所表示的值讀取并執(zhí)行該指令數(shù)據(jù),并將一回傳數(shù)據(jù)寫(xiě)入該共享存儲(chǔ)器,以供該基本輸入輸出系統(tǒng)單元從該共享存儲(chǔ)器讀取該回傳數(shù)據(jù),其中該回傳數(shù)據(jù)為該控制單元執(zhí)行該指令數(shù)據(jù)的結(jié)果,且該回傳數(shù)據(jù)包括該識(shí)別數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置,其特征在于,其中當(dāng)該 識(shí)別數(shù)據(jù)所表示的值為非零值時(shí),該控制單元讀取并執(zhí)行該指令數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置,其特征在于,其中該指 令數(shù)據(jù)還包括一待處理數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置,其特征在于,其中該回 傳數(shù)據(jù)還包括一處理狀態(tài)數(shù)據(jù)以及一已處理數(shù)據(jù),其中該處理狀態(tài)數(shù)據(jù)指示該控制單元執(zhí) 行該指令數(shù)據(jù)的結(jié)果。
5.根據(jù)權(quán)利要求1所述的基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置,其特征在于,其中該共 享存儲(chǔ)器包括一寫(xiě)入存儲(chǔ)器區(qū)塊與一讀取存儲(chǔ)器區(qū)塊,其中該基本輸入輸出系統(tǒng)單元將該 指令數(shù)據(jù)儲(chǔ)存至該寫(xiě)入存儲(chǔ)器區(qū)塊,該控制單元儲(chǔ)存該回傳數(shù)據(jù)至該讀取存儲(chǔ)器區(qū)塊。
6.根據(jù)權(quán)利要求5所述的基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置,其特征在于,其中該控 制單元讀取該指令數(shù)據(jù)后,將該寫(xiě)入存儲(chǔ)器區(qū)塊中的該指令數(shù)據(jù)清除。
7.根據(jù)權(quán)利要求5所述的基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置,其特征在于,其中該基 本輸入輸出系統(tǒng)單元讀取該回傳數(shù)據(jù)后,將該讀取存儲(chǔ)器區(qū)塊中的該回傳數(shù)據(jù)清除。
8.根據(jù)權(quán)利要求4所述的基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置,其特征在于,其中該控 制單元發(fā)出一中斷信號(hào),以告知該基本輸入輸出系統(tǒng)單元讀取該回傳數(shù)據(jù)。
9.根據(jù)權(quán)利要求1所述的基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置,其特征在于,其中該共 享存儲(chǔ)器包括一讀寫(xiě)存儲(chǔ)器區(qū)塊,其中該讀寫(xiě)存儲(chǔ)器區(qū)塊用以?xún)?chǔ)存該指令數(shù)據(jù)與該回傳數(shù) 據(jù)。
10.根據(jù)權(quán)利要求9所述的基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置,其特征在于,其中該指 令數(shù)據(jù)還包括一讀寫(xiě)狀態(tài)數(shù)據(jù)以及一待處理數(shù)據(jù),其中該讀寫(xiě)狀態(tài)數(shù)據(jù)儲(chǔ)存于一讀寫(xiě)狀態(tài) 字段,用以指示該讀寫(xiě)存儲(chǔ)器區(qū)塊的存取狀態(tài)。
11.根據(jù)權(quán)利要求10所述的基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置,其特征在于,其中該 讀寫(xiě)存儲(chǔ)器區(qū)塊的存取狀態(tài)包括讀取狀態(tài)、寫(xiě)入狀態(tài)及忙碌狀態(tài),其中當(dāng)該基本輸入輸出 系統(tǒng)單元寫(xiě)入該指令數(shù)據(jù)后,該讀寫(xiě)存儲(chǔ)器區(qū)塊的存取狀態(tài)為寫(xiě)入狀態(tài),當(dāng)該控制單元讀 取該指令數(shù)據(jù)后,該讀寫(xiě)存儲(chǔ)器區(qū)塊的存取狀態(tài)為忙碌狀態(tài),當(dāng)該控制單元寫(xiě)入該回傳數(shù) 據(jù)后,該讀寫(xiě)存儲(chǔ)器區(qū)塊的存取狀態(tài)為讀取狀態(tài)。
12.根據(jù)權(quán)利要求11所述的基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置,其特征在于,其中該 回傳數(shù)據(jù)還包括該讀寫(xiě)狀態(tài)數(shù)據(jù)、一處理狀態(tài)數(shù)據(jù)以及一已處理數(shù)據(jù),其中該處理狀態(tài)數(shù) 據(jù)指示該控制單元執(zhí)行該指令數(shù)據(jù)的結(jié)果。
13.根據(jù)權(quán)利要求1所述的基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置,其特征在于,其中該控 制單元為嵌入式控制器。
全文摘要
本發(fā)明提供了一種基本輸入輸出系統(tǒng)的數(shù)據(jù)處理裝置,包括基本輸入輸出系統(tǒng)單元、共享存儲(chǔ)器以及控制單元。共享存儲(chǔ)器提供基本輸入輸出系統(tǒng)單元寫(xiě)入指令數(shù)據(jù),其中指令數(shù)據(jù)中的識(shí)別數(shù)據(jù)儲(chǔ)存于識(shí)別字段??刂茊卧罁?jù)識(shí)別字段中識(shí)別數(shù)據(jù)所表示的值讀取并執(zhí)行指令數(shù)據(jù),并將回傳數(shù)據(jù)寫(xiě)入共享存儲(chǔ)器,以供基本輸入輸出系統(tǒng)單元從共享存儲(chǔ)器讀取回傳數(shù)據(jù),其中回傳數(shù)據(jù)為控制單元執(zhí)行指令數(shù)據(jù)的結(jié)果,且回傳數(shù)據(jù)包括識(shí)別數(shù)據(jù)。
文檔編號(hào)G06F9/445GK101882084SQ20091014043
公開(kāi)日2010年11月10日 申請(qǐng)日期2009年5月8日 優(yōu)先權(quán)日2009年5月8日
發(fā)明者郭嘉雄, 陳宗輝 申請(qǐng)人:英業(yè)達(dá)股份有限公司