專利名稱:查詢裝置及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種查詢裝置及其方法,特別是涉及一種可幫助處理器的查詢裝置及其方法,以節(jié)省處理器的處理時(shí)間并實(shí)現(xiàn)省電功效。
背景技術(shù):
處理器是電子產(chǎn)品中較為耗電的組件,包括在一般在處于等待狀態(tài)時(shí),例如是等待外設(shè)裝置就緒(ready)時(shí),因?yàn)橐S持處理器的工作時(shí)鐘信號(hào),亦同樣會(huì)耗電。
在處理器處于等待狀態(tài)時(shí),得知外設(shè)裝置的目前狀態(tài)的方式有兩種中斷法(interrupt)及重復(fù)詢問法(polling)。
中斷法是由外部外設(shè)裝置主動(dòng)發(fā)出中斷信號(hào)給處理器,此時(shí)的處理器并不需做任何操作,所以供給處理器的工作時(shí)鐘可以暫停,可以有效實(shí)現(xiàn)省電的目的。當(dāng)外設(shè)裝置檢測(cè)到事件產(chǎn)生,比如使用者操作鍵盤等,外設(shè)裝置即會(huì)發(fā)出中斷信號(hào)給處理器,處理器即可以被喚醒以執(zhí)行對(duì)應(yīng)的程序。
每個(gè)中斷信號(hào)需占用一個(gè)處理器的引腳(pin)。然而,處理器的引腳有限,處理器不可能提供足夠的引腳供眾多的外設(shè)裝置使用。
除了中斷法,處理器查詢外部外設(shè)裝置的方法是采用重復(fù)詢問法。重復(fù)詢問法是由處理器主動(dòng)詢問外設(shè)裝置的狀態(tài),以決定外設(shè)裝置是否達(dá)到預(yù)期狀態(tài)。
圖1示出了傳統(tǒng)的重復(fù)詢問法的流程圖。首先,處理器讀取外設(shè)裝置的目前狀態(tài)(步驟110)。接著,處理器判斷外設(shè)裝置目前狀態(tài)是否已經(jīng)符合預(yù)期狀態(tài)(步驟120)若否,則等待一段時(shí)間(步驟130),例如是執(zhí)行NOP(NoOperation)的指令,然后再次執(zhí)行步驟110;若是,則結(jié)束本方法。
然而,在重復(fù)詢問法中,處理器并無法休息,因此不能停止處理器的工作時(shí)鐘。因處理器需重復(fù)地執(zhí)行詢問外設(shè)裝置的循環(huán)直到外設(shè)裝置就緒。因此不但浪費(fèi)處理器時(shí)間,而且也浪費(fèi)電。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的是提供一種可省電的重復(fù)查詢裝置及方法,以代替處理器重復(fù)查詢外設(shè)裝置,并在檢測(cè)到外設(shè)裝置就緒時(shí)喚醒處理器。
根據(jù)本發(fā)明的目的,提出了一種查詢裝置,用以裝設(shè)在電子設(shè)備中。電子設(shè)備包括處理器、時(shí)鐘控制器、主總線與外設(shè)裝置。外設(shè)裝置與主總線耦接。查詢裝置包括多工器,從第一總線與第二總線中擇一與主總線耦接,其中第一總線耦接至該處理器;喚醒單元,耦接至第二總線。其中,當(dāng)處理器需執(zhí)行重復(fù)查詢步驟時(shí),使多工器將第二總線與主總線耦接,并使能喚醒單元,然后時(shí)鐘控制器即停止供應(yīng)工作時(shí)鐘給處理器。當(dāng)該喚醒單元被使能后,即重復(fù)查詢外設(shè)裝置的目前狀態(tài),直到目前狀態(tài)與預(yù)期狀態(tài)符合時(shí),喚醒單元即發(fā)出喚醒信號(hào)給時(shí)鐘控制器,以重新供應(yīng)工作時(shí)鐘給處理器。
根據(jù)本發(fā)明的另一目的,提出一種查詢方法,用以幫助處理器重復(fù)查詢外設(shè)裝置。查詢方法包括以下步驟。首先,停止供應(yīng)工作時(shí)鐘給該處理器。接著,發(fā)出一讀取周期給外設(shè)裝置。接著,接收外設(shè)裝置響應(yīng)于讀取周期的目前狀態(tài)。然后比較目前狀態(tài)與預(yù)期狀態(tài)。
為使本發(fā)明的上述目的、特征、和優(yōu)點(diǎn)能更明顯易懂,下文特舉一較佳實(shí)施例,并結(jié)合附圖詳細(xì)說明如下。
圖1示出了傳統(tǒng)的重復(fù)詢問法的流程圖;圖2示出了依照本發(fā)明一較佳實(shí)施例的一種具有查詢裝置的電子設(shè)備方塊圖;圖3是喚醒裝置的一例方塊圖;以及圖4是具有查詢裝置的電子設(shè)備進(jìn)行重復(fù)查詢的流程圖。
附圖標(biāo)號(hào)說明200電子設(shè)備202處理器204時(shí)鐘控制器210查詢裝置212喚醒單元
214多工器220外設(shè)裝置310總線接口320地址寄存器330比較器340狀態(tài)寄存器具體實(shí)施方式
當(dāng)處理器需等待外設(shè)裝置到達(dá)一預(yù)期狀態(tài)才能進(jìn)行后續(xù)操作時(shí),傳統(tǒng)上,若無法使用中斷法,則由處理器重復(fù)查詢(polling)外設(shè)裝置。采用重復(fù)查詢的話,此時(shí)的處理器不能執(zhí)行其它程序,只能浪費(fèi)時(shí)間在重復(fù)詢問外設(shè)裝置的目前狀態(tài),直到外設(shè)裝置到達(dá)預(yù)期狀態(tài)。這樣的作法不但浪費(fèi)處理器的時(shí)間,并且浪費(fèi)電。而本發(fā)明即是以耗電較小的查詢裝置來代替處理器執(zhí)行重復(fù)查詢的操作,在查詢期間,可以暫停處理器的工作時(shí)鐘信號(hào),待查詢到外設(shè)裝置的目前狀態(tài)符合要求時(shí)才喚醒處理器。
請(qǐng)參照?qǐng)D2,其示出了依照本發(fā)明一較佳實(shí)施例的一種具有查詢裝置的電子設(shè)備方塊圖。電子設(shè)備200包括處理器202、時(shí)鐘控制器204、查詢裝置210及外設(shè)裝置220。時(shí)鐘控制器204提供工作時(shí)鐘CLK給處理器202,以供處理器202運(yùn)作之用。處理器202系經(jīng)由總線B1、查詢裝置210及主總線B0而與外設(shè)裝置220溝通。
若處理器202需執(zhí)行重復(fù)查詢外設(shè)裝置220的目前狀態(tài)時(shí),查詢裝置210即啟動(dòng)以代替處理器202執(zhí)行重復(fù)查詢。此時(shí)的時(shí)鐘控制器停止輸出工作時(shí)鐘信號(hào)CLK給處理器202,以節(jié)省電源。查詢裝置210通過主總線B0查詢外設(shè)裝置220的目前狀態(tài),待外設(shè)裝置220實(shí)現(xiàn)預(yù)期狀態(tài)即發(fā)出喚醒信號(hào)W給時(shí)鐘控制單元204。時(shí)鐘控制單元204收到喚醒信號(hào)W即重新輸出工作時(shí)鐘CLK給處理器202。若處理器202不需執(zhí)行重復(fù)查詢時(shí),查詢裝置210為禁止(disabled),僅直接傳遞總線B1與主總線B0之間的信號(hào)。
查詢裝置210包括喚醒單元212與多工器214。喚醒單元212是以總線B2與多工器214耦接。若處理器202不需執(zhí)行重復(fù)查詢時(shí),多工器214將總線B1與總線B2連接。若處理器202需執(zhí)行重復(fù)查詢外設(shè)裝置220的目前狀態(tài)時(shí),多工器214即將總線B2與主總線B0連接,由喚醒單元212查詢外設(shè)裝置220的目前狀態(tài),直到外設(shè)裝置220實(shí)現(xiàn)預(yù)期狀態(tài)時(shí),喚醒單元212即發(fā)出喚醒信號(hào)W給時(shí)鐘控制器204。
圖3是喚醒裝置的一例方塊圖。喚醒裝置212包括總線接口310、地址寄存器320、比較器330及狀態(tài)寄存器340??偩€接口310系傳送與接收總線B2的信號(hào)。地址寄存器320存儲(chǔ)外設(shè)裝置220的地址,以供查詢裝置210重復(fù)查詢外設(shè)裝置220的目前狀態(tài)。狀態(tài)寄存器340存儲(chǔ)預(yù)期狀態(tài)。比較器330則從總線接口310接收外設(shè)裝置220的目前狀態(tài),與狀態(tài)寄存器340中的預(yù)期狀態(tài)比較后,決定兩者是否相同,若是則發(fā)出喚醒信號(hào)。喚醒單元并不限定由上述邏輯電路所構(gòu)成,亦可以由省電且簡(jiǎn)單的處理器實(shí)行其功能。
圖4是具有查詢裝置的電子設(shè)備進(jìn)行重復(fù)查詢的流程圖。當(dāng)處理器202需等待外設(shè)裝置220實(shí)現(xiàn)預(yù)期狀態(tài)才能進(jìn)行后續(xù)操作時(shí),處理器202先將外設(shè)裝置220的地址存入地址寄存器310,將預(yù)期狀態(tài)存入狀態(tài)寄存器340。時(shí)鐘控制器204停止輸出工作時(shí)鐘信號(hào)CLK給處理器202,如步驟410所示。此時(shí)的處理器202沒有工作時(shí)鐘供應(yīng)而可以省電。然后,多工器214將總線B2與主總線B0連接,喚醒裝置212即依據(jù)地址寄存器320而發(fā)出讀取周期(read cycle),如步驟420所示。外設(shè)裝置220收到讀取周期后,輸出其目前的狀態(tài)至喚醒單元212,如步驟430所示。喚醒裝置212中的比較器即判斷接收的狀態(tài)與狀態(tài)寄存器340中的預(yù)期狀態(tài)是否相符,如步驟440所示若是,則發(fā)出喚醒信號(hào)W,并結(jié)束本方法;若否,則回到步驟420繼續(xù)查詢的操作。
本發(fā)明上述實(shí)施例所披露的查詢裝置可以代替處理器執(zhí)行重復(fù)查詢,使處理器休息而實(shí)現(xiàn)省電的效果。
綜上所述,雖然本發(fā)明已以一較佳實(shí)施例披露如上,然其并非用以限定本發(fā)明,本領(lǐng)域的技術(shù)人員在不脫離本發(fā)明的精神和范圍的前提下,可作各種的更動(dòng)與潤(rùn)飾,因此本發(fā)明的保護(hù)范圍視后附的權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種查詢裝置,可在一具有處理器的電子設(shè)備中實(shí)施,該電子設(shè)備設(shè)有一時(shí)鐘控制器、一主總線與一外設(shè)裝置,該外設(shè)裝置與該主總線耦接,該查詢裝置包括一多工器,用以從一第一總線與一第二總線中擇一與該主總線耦接,其中該第一總線耦接至該處理器;以及一喚醒單元,耦接至該第二總線;其中,當(dāng)該處理器需執(zhí)行一重復(fù)查詢時(shí),該多工器將該第二總線與該主總線耦接,并使能該喚醒單元,該時(shí)鐘控制器即停止提供該處理器的工作時(shí)鐘。
2.如權(quán)利要求1所述的查詢裝置,其中,當(dāng)該喚醒單元被使能后,即重復(fù)查詢?cè)撏庠O(shè)裝置的一目前狀態(tài),直到該目前狀態(tài)與一預(yù)期狀態(tài)符合時(shí),該喚醒單元即發(fā)出一喚醒信號(hào)給該時(shí)鐘控制器。
3.如權(quán)利要求2所述的查詢裝置,其中,當(dāng)該時(shí)鐘控制器接收到該喚醒信號(hào)后,即重新提供該工作時(shí)鐘至該處理器。
4.如權(quán)利要求2所述的查詢裝置,其中該喚醒單元包括一地址寄存器,用以暫存該外設(shè)裝置的一地址;一狀態(tài)寄存器,用以暫存該外設(shè)裝置的該預(yù)期狀態(tài);一總線接口,與該第二總線耦接,用以依據(jù)該地址發(fā)出一讀取周期,并接收該外設(shè)裝置響應(yīng)的該目前狀態(tài);以及一比較器,將該目前狀態(tài)與該預(yù)期狀態(tài)比較,據(jù)以輸出該喚醒信號(hào)。
5.如權(quán)利要求4所述的查詢裝置,其中當(dāng)該處理器使能該喚醒單元時(shí),是由該處理器將該外設(shè)裝置的該地址存儲(chǔ)至該地址寄存器,并將該預(yù)期狀態(tài)存儲(chǔ)至該狀態(tài)寄存器。
6.如權(quán)利要求1所述的查詢裝置,其中當(dāng)該處理器不需執(zhí)行該重復(fù)查詢時(shí),該多工器將該第一總線與該主總線耦接。
7.一種查詢方法,用以幫助一處理器重復(fù)查詢一外設(shè)裝置,該方法包括停止供應(yīng)一工作時(shí)鐘給該處理器;發(fā)出一讀取周期給該外設(shè)裝置;接收該外設(shè)裝置響應(yīng)于該讀取周期的一目前狀態(tài);以及比較該目前狀態(tài)與一預(yù)期狀態(tài)。
8.如權(quán)利要求7所述的查詢方法,其中在該比較該目前狀態(tài)與該預(yù)期狀態(tài)步驟中,若該目前狀態(tài)與該預(yù)期狀態(tài)符合,則重新供應(yīng)該工作時(shí)鐘給該處理器。
9.如權(quán)利要求7所述的查詢方法,其中在該比較該目前狀態(tài)與該預(yù)期狀態(tài)步驟中,若該目前狀態(tài)與該預(yù)期狀態(tài)不符合,則重復(fù)該發(fā)出該讀取周期給該外設(shè)裝置的步驟,直到該目前狀態(tài)與該預(yù)期狀態(tài)符合。
10.一種查詢方法,用以幫助一處理器重復(fù)查詢一外設(shè)裝置是否達(dá)到一預(yù)期狀態(tài),該方法包括停止供應(yīng)一工作時(shí)鐘給該處理器;發(fā)出一讀取周期給該外設(shè)裝置;接收該外設(shè)裝置響應(yīng)于該讀取周期的一目前狀態(tài);以及比較該目前狀態(tài)與該預(yù)期狀態(tài),其中,若該目前狀態(tài)與該預(yù)期狀態(tài)符合,則發(fā)出一喚醒信號(hào)以重新提供該工作時(shí)鐘給該處理器;若該目前狀態(tài)與該預(yù)期狀態(tài)不符合,則重復(fù)該發(fā)出該讀取周期給該外設(shè)裝置的步驟,直到該目前狀態(tài)與該預(yù)期狀態(tài)符合。
全文摘要
一種查詢裝置及其方法,用以幫助處理器重復(fù)查詢外設(shè)裝置。首先,停止供應(yīng)工作時(shí)鐘給處理器。接著,發(fā)出讀取周期給外設(shè)裝置。再接收該外設(shè)裝置響應(yīng)于該讀取周期的目前狀態(tài)后,比較目前狀態(tài)與預(yù)期狀態(tài),若符合即重新供應(yīng)工作時(shí)鐘給處理器。
文檔編號(hào)G06F1/32GK1490699SQ0315869
公開日2004年4月21日 申請(qǐng)日期2003年9月23日 優(yōu)先權(quán)日2003年9月23日
發(fā)明者陳永暉, 王嘉豪 申請(qǐng)人:威盛電子股份有限公司