專利名稱:可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是有關(guān)微處理器的技術(shù)領(lǐng)域,尤指一種可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu)。
在習(xí)知的微處理器中通常會提供一種對臨界區(qū)(Critical Section)控制的方法來滿足使用者在多重行程(Multi-Process)的環(huán)境時對于系統(tǒng)資源使用的控制,以避免各行程間沖突的發(fā)生,而一般所采用的方法即是使用測試與設(shè)定(Test and Set)的方式來達(dá)到對臨界區(qū)的控制,其演算法是如下所示<pre listing-type="program-listing"><![CDATA[bool test-and-set(bool*s){//atomic function, //can not be ∥interruptedbool original=s;s=true;return original;}]]></pre>而對應(yīng)的程序端的使用例為<pre listing-type="program-listing"><![CDATA[while(test-and-set(&sign));//if sign is true, //someone else is //in critical //section,wait.…Critical section here…sing=false;//leave critical section,make it //available to others.…Non-critical section…]]></pre>在一般的微處理器對于Test and Set的實現(xiàn)是將其整個函數(shù)功能包裝在一個專屬指令內(nèi),而達(dá)到不可分割的特性,以確保整個過程能一次執(zhí)行完畢而不會在執(zhí)行的中途被其它程序所中斷。以最常見INTE1公司所生產(chǎn)的x86家族中的80386及80486等微處理器便是提供BTS(Test Bit Set)的專屬指令來實現(xiàn)Test and Set的方法。然而此種以提供額外的專屬指令來實現(xiàn)對于臨界區(qū)使用的控制的方式,對于微處理器而言將必須有較多的指令集數(shù)目,甚至導(dǎo)致必須使用較長的指令長度,并且也會增加微程序的復(fù)雜度與大小,對于應(yīng)用程序的開發(fā)者而言更必須使用專屬的指令才能作到臨界區(qū)的控制及系統(tǒng)資源的管理,因此,前述習(xí)知微處理器對于臨界區(qū)使用的控制的方式實有予以改進(jìn)的必要。
創(chuàng)作人爰因于此,本于積極創(chuàng)新的精神,亟思一種可以解決上述問題的“可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu)”,幾經(jīng)研究實驗終至完成此項新穎進(jìn)步的創(chuàng)作。
本發(fā)明的一目的是在提供一種可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu),其以簡單的電路而毋需專屬的指令即可支援臨界區(qū)的控制。
本發(fā)明的另一目的是在提供一種可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu),其可實現(xiàn)安全的資料重制。
為達(dá)前述的目的,本發(fā)明的可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu)是以一指令暫存器來保持微處理器所要執(zhí)行的指令,并提供一判斷邏輯單元以依據(jù)該指令暫存器的內(nèi)容來控制微處理器的中斷要求訊號線,以當(dāng)該判斷邏輯單元在判定該指令暫存器所保持的內(nèi)容為一載入指令或儲存指令時,將該中斷要求訊號線予以關(guān)閉,而得以利用在載入指令執(zhí)行后或儲存指令執(zhí)行前關(guān)閉中斷服務(wù)要求來達(dá)成臨界區(qū)的控制,故當(dāng)在載入與儲存的地址相同時,即可實現(xiàn)臨界區(qū)的控制,而地址不同時,并可實現(xiàn)安全的資料重制。
由于本發(fā)明設(shè)計新穎,能提供產(chǎn)業(yè)上利用,且確有增進(jìn)功效,故依法申請專利。
為使貴審查委員能進(jìn)一步了解本發(fā)明的結(jié)構(gòu)、特征及其目的,茲附以固式及較佳具體實施例的詳細(xì)說明如后,其中
圖1是本發(fā)明的可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu)的功能方塊圖。
圖2是本發(fā)明的可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu)的一較佳實施例的結(jié)構(gòu)圖。
圖3是本發(fā)明的可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu)的另一較佳實施例的結(jié)構(gòu)圖。
圖4是本發(fā)明的可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu)的又一較佳實施例的結(jié)構(gòu)圖。
圖5是本發(fā)明的可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu)的再一較佳實施例的結(jié)構(gòu)圖。
為改善微處理器對臨界區(qū)控制的實現(xiàn)方式,首先經(jīng)由對一般測試與設(shè)定(Test and Set)的臨界區(qū)控制指令的分析可知,其具有下列特性(1)Test and Set指令乃是由一條載入(Load)及儲存(Store)的指令所組成。
(2)Test and Set中的載入及儲存兩條指令的執(zhí)行過程是不可以被分割的。
(3)中斷服務(wù)要求是在一條指令執(zhí)行完畢后或者是執(zhí)行前才會被檢查是否被觸發(fā)。
根據(jù)上述特性,本發(fā)明的可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu)是在載入指令執(zhí)行后或是儲存指令執(zhí)行前則關(guān)閉中斷服務(wù)要求的檢查,以使載入及儲存兩指令間是連續(xù)執(zhí)行而不會被分割的,而可實現(xiàn)對臨界區(qū)的控制,至于是載入或是儲存只需擇一即可實施。
圖1即顯示本發(fā)明的可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu)的功能方塊圖,其主要是以中斷要求訊號線11、指令暫存器12、判斷邏輯單元13及解碼器15來提供指令解碼及中斷觸發(fā)的功能,并實現(xiàn)對臨界區(qū)的控制,其中,該指令暫存器12是用以保持微處理器所要執(zhí)行的指令,并由該解碼器15對該指令進(jìn)行解碼以執(zhí)行之,而該判斷邏輯單元13是依據(jù)該指令暫存器13的內(nèi)容來控制該中斷要求訊號線,以當(dāng)該判斷邏輯單元13在判定該指令暫存器所保持的內(nèi)容為一載入指令或儲存指令時,該判斷邏輯單元13是在其輸出產(chǎn)生一邏輯1的輸出狀態(tài),否則即輸出邏輯0的狀態(tài),而該中斷要求訊號線11并與該判斷邏輯單元13的輸出連接至一結(jié)合器14的正、反輸入端,據(jù)以對中斷要求與該判斷邏輯單元13的輸出的反相值進(jìn)行邏輯與(AND)的運算,該結(jié)合器14的輸出則饋至該解碼器15。
藉由上述微處理器的結(jié)構(gòu),當(dāng)該指令暫存器12所要執(zhí)行的指令是為一載入或儲存指令時,該判斷邏輯單元13的輸出為邏輯1,經(jīng)由該結(jié)合器14的運算,此邏輯1經(jīng)反相為邏輯0并與中斷要求進(jìn)行邏輯及的運算,實質(zhì)上即是將該中斷要求訊號線11予以關(guān)閉,可達(dá)成使載入及儲存兩指令間是連續(xù)執(zhí)行而不會被分割的效果,反之,當(dāng)該指令暫存器12所要執(zhí)行的指令非為一載入或儲存指令時,該中斷要求訊號線11是透過該結(jié)合器14而饋至該解碼器15,以允許中斷確認(rèn)的產(chǎn)生。
因此,當(dāng)載入與儲存的地址相同時,即可實現(xiàn)臨界區(qū)的控制,而地址不同時,并可實現(xiàn)安全的資料重制(data duplicate),亦即在以載入及儲存指令來重制資料的過程中,不會受到中斷的影響而破壞資料的安全性。又前述的載入或儲存指令并不局限于對存儲器(Memory)的存取,亦可使用對于輸出輸入端口(IO Port)的存取。
而對其它一般非從事臨界區(qū)控制的載入或儲存指令的執(zhí)行,可藉由限制其定址模式以排除關(guān)閉中斷服務(wù)的動作,亦即,該判斷邏輯單元13僅當(dāng)判定該指令暫存器12所保持的指令為微處理器用以存取臨界區(qū)的指令的定址模式,才將該中斷要求訊號線11予以關(guān)閉。此外,并可進(jìn)一步藉由限制指令的次序(例如將載入與儲存相間的次序改為連續(xù)的載入或儲存)或是預(yù)先判斷下一條指令是否為儲存及其它近似的方式而排除大部分的情形,對于未能排除的情況而言,由于此種功能只是關(guān)閉中斷服務(wù)要求的檢查,所以只會造成中斷服務(wù)程序延后一個指令時間發(fā)生(載入執(zhí)行所需的時間),而由于載入指令執(zhí)行耗時甚短,所以即使在誤判的情形下對于功能面與結(jié)果亦無影響。
參照圖2所示的一較佳實施例,其是以一比較器21來對指令暫存器12的內(nèi)容與一載入指令相比,據(jù)以達(dá)成前述可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu)的判斷邏輯單元13的功能,而當(dāng)該比較器21比較的結(jié)果為相同時,其將該中斷要求訊號線11予以關(guān)閉,因此可在載入指令執(zhí)行后關(guān)閉中斷服務(wù)要求,而實現(xiàn)對臨界區(qū)的控制。
圖3則顯示本發(fā)明的另一較佳實施例,其是以一比較器31來對指令暫存器12的內(nèi)容與一儲存指令相比,據(jù)以達(dá)成前述可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu)的判斷邏輯單元13的功能,而當(dāng)該比較器31比較的結(jié)果為相同時,其將該中斷要求訊號線11予以關(guān)閉,因此可在儲存指令執(zhí)行前關(guān)閉中斷服務(wù)要求,而實現(xiàn)對臨界區(qū)的控制。
圖4則顯示本發(fā)明的又一較佳實施例,其是以一比較器41、一存儲單元42及一結(jié)合器43來實現(xiàn)前述可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu)的判斷邏輯單元13,其中,該比較器41是對指令暫存器12的內(nèi)容與一載入指令或一儲存指令相比,以當(dāng)比較結(jié)果為相同時,其比較輸出為1,而當(dāng)比較結(jié)果為不同時,其比較輸出為0,該存儲單元42是較佳地為一栓鎖器,為用以保持該比較器41于前一指令周期所產(chǎn)生的比較輸出,且該比較器41所產(chǎn)生的比較輸出與該存儲單元42所保持的比較輸出并連接至一該結(jié)合器43的正、反輸入端,據(jù)以將目前的比較輸出與前一周期的比較輸出的反相值進(jìn)行邏輯與(AND)的運算,該結(jié)合器43的輸出即是用以控制中斷要求訊號線11,亦即將中斷要求訊號線11與該結(jié)合器43的輸出連接至另一結(jié)合器14的正、反輸入端,以將前述結(jié)合器43的輸出的反相值與該中斷要求訊號線11進(jìn)行邏輯與的運算,而可在該比較器41的比較輸出為1,且該存儲單元42所保持的比較輸出為0時,將該中斷要求訊號線11予以關(guān)閉,故除可藉由在載入指令執(zhí)行后或儲存指令執(zhí)行前關(guān)閉中斷服務(wù)要求來實現(xiàn)對臨界區(qū)的控制之外,并能進(jìn)一步排除連續(xù)的載入或儲存指令執(zhí)行所可能導(dǎo)致的誤判。
圖5是顯示本發(fā)明的再一較佳實施例,其是以一第一比較器51、一第二比較器52及一邏輯與門53來實現(xiàn)前述可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu)的判斷邏輯單元13,其中,該第一比較器51是對指令暫存器12的內(nèi)容與一載入指令相比,以當(dāng)比較結(jié)果為相同時,其比較輸出為1,而當(dāng)比較結(jié)果為不同時,其比較輸出為0,該第二比較器52是用以對下一指令周期所要執(zhí)行的指令進(jìn)行預(yù)先比較,而下一指令周期所要執(zhí)行的指令是由一預(yù)取暫存器54所保持,因此,該第二比較器52即是對該預(yù)取暫存器54的內(nèi)容與一儲存指令相比,以當(dāng)比較結(jié)果為相同時,其比較輸出為1,而當(dāng)比較結(jié)果為不同時,其比較輸出為0,而該第一比較器51所產(chǎn)生的比較輸出與該第二比較器52所產(chǎn)生的比較輸出并連接至該邏輯與門53的輸入端,據(jù)以將兩比較器51,52的輸出進(jìn)行邏輯及的運算,該邏輯與門53的輸出即是用以控制中斷要求訊號線11,亦即將該中斷要求訊號線11與該邏輯與門53的輸出連接至結(jié)合器14的正、反輸入端,以將該邏輯與門53的輸出的反相值與該中斷要求訊號線11進(jìn)行邏輯及的運算,而可在該第一及第二比較器51,52的比較輸出均為1時,將該中斷要求訊號線11予以關(guān)閉,以達(dá)成在載入指令執(zhí)行后并儲存指令執(zhí)行前關(guān)閉中斷服務(wù)要求的效果,而能進(jìn)一步降低誤判的可能。
經(jīng)由前述的說明可知,相對于習(xí)知以提供額外的專屬指令支援臨界區(qū)控制的方式,本發(fā)明的可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu)具有下列的好處(1)不需提供額外的專屬指令即可支援臨界區(qū)的控制,指令集數(shù)目較少。
(2)只需簡單的電路即可達(dá)到控制,可簡化微程序的開發(fā),不需特別實現(xiàn)專屬控制指令。
(3)臨界區(qū)的控制可以與指令的執(zhí)行期間同時并行,因此對于各指令執(zhí)行的時序上并不會增加。
(4)對于程序的開發(fā)者而言可以很宜覺的使用一般指令而達(dá)到臨界區(qū)的控制,無須特別呼叫專屬的指令。
(5)本發(fā)明亦提供一種安全的資料重制方式。
綜上所陳,本發(fā)明無論就目的、手段及功效,在在均顯示其迥異于習(xí)知技術(shù)的特征,為微處理器于實現(xiàn)臨界區(qū)控制的設(shè)計上的一大突破,懇請貴審查委員明察,早日賜準(zhǔn)專利,以嘉惠社會,實感德便。惟應(yīng)注意的是,上述諸多實施例僅是為了便于說明而舉例而已,本發(fā)明所主張的權(quán)利范圍自應(yīng)以申請專利范圍所述為準(zhǔn),而非僅限于上述實施例。
權(quán)利要求
1.一種可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu),其特征在于,主要包括一中斷要求訊號線;一指令暫存器,是保持微處理器所要執(zhí)行的指令以及。一判斷邏輯單元,其依據(jù)該指令暫存器的內(nèi)容來控制該中斷要求訊號線,以當(dāng)該判斷邏輯單元在判定該指令暫存器所保持的內(nèi)容為一載入指令或儲存指令時,將該中斷要求訊號線予以關(guān)閉。
2.根據(jù)權(quán)利要求1所述的可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu),其特征在于,其中該判斷邏輯單元并當(dāng)判定該指令暫存器所保持的內(nèi)容為特定的定址模式的指令時,將該中斷要求訊號線予以關(guān)閉。
3.根據(jù)權(quán)利要求2所述的可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu),其特征在于,其中該特定的定址模式是為微處理器用以存取臨界區(qū)的指令的定址模式。
4.根據(jù)權(quán)利要求1所述的可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu),其特征在于,其中該判斷邏輯單元為一比較器,以對該指令暫存器的內(nèi)容與一載入指令或一儲存指令相比,并當(dāng)比較的結(jié)果為相同時,將該中斷要求訊號線予以關(guān)閉。
5.根據(jù)權(quán)利要求1所述的可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu),其特征在于,還包含一結(jié)合器以將該中斷要求訊號線及該比較器的輸出的反相值進(jìn)行邏輯及的運算,藉以在該比較器的比較結(jié)果為相同而其輸出為1時,將該中斷要求訊號線予以關(guān)閉。
6.一種可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu),其特征在于,主要包括一中斷要求訊號線;一指令暫存器,是保持微處理器所要執(zhí)行的指令一比較器,其是對該指令暫存器的內(nèi)容與一載入指令或一儲存指令相比,以產(chǎn)生一比較輸出;以及一存儲單元,是用以保持該比較器于前一指令周期所產(chǎn)生的比較輸出;其中,當(dāng)該比較器的比較輸出代表比較結(jié)果為相同,且該存儲單元所保持的比較輸出代表比較結(jié)果為不同時,該中斷要求訊號線是被關(guān)閉。
7.根據(jù)權(quán)利要求6所述的可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu),其特征在于,其中還包含一第一結(jié)合器及一第二結(jié)合器,該第一結(jié)合器是將該比較器所產(chǎn)生的比較輸出與該存儲單元所保持的比較輸出反相值進(jìn)行邏輯及的運算,該第二結(jié)合器是將該第一結(jié)合器的輸出的反相值與該中斷要求訊號線進(jìn)行邏輯及的運算,藉以在該比較器的比較結(jié)果為相同而其比較輸出為1,且該存儲單元所保持的比較輸出為0時,將該中斷要求訊號線予以關(guān)閉。
8.根據(jù)權(quán)利要求7所述的可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu),其特征在于,其中該存儲單元是為一栓鎖器。
9.一種可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu),其特征在于,主要包括一中斷要求訊號線;一指令暫存器,是保持微處理器所要執(zhí)行的指令一預(yù)取暫存器,是預(yù)先讀取微處理器所要執(zhí)行的下一個指令;一第一比較器,其是對該指令暫存器的內(nèi)容與一載入指令相比,以產(chǎn)生一第一比較輸出以及一第二比較器,其是對該預(yù)取暫存器的內(nèi)容與一儲存指令相比,以產(chǎn)生一第二比較輸出;其中,當(dāng)該第一比較輸出及該第二比較輸出均代表比較結(jié)果為相同時,該中斷要求訊號線是被關(guān)閉。
10.根據(jù)權(quán)利要求7所述的可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu),其特征在于,還包含一邏輯與門及一結(jié)合器,該邏輯與門是對該第一比較輸出及該第二比較輸出進(jìn)行邏輯與的運算,該結(jié)合器是將該邏輯與門的輸出的反相值與該中斷要求訊號線進(jìn)行邏輯與的運算,藉以在該第一及第二比較器的比較結(jié)果均為相同而該第一及第二比較輸出均為1時,將該中斷要求訊號線予以關(guān)閉。
全文摘要
一種可實現(xiàn)臨界區(qū)控制的微處理器結(jié)構(gòu),是以一指令暫存器來保持微處理器所要執(zhí)行的指令,提供一判斷邏輯單元來控制微處理器的中斷要求訊號線,判斷邏輯單元是將指令暫存器的內(nèi)容與一儲存指令相比,當(dāng)比較的結(jié)果為相同時,將中斷要求訊號線予以關(guān)閉,而得以利用在載入指令執(zhí)行后或儲存指令執(zhí)行前關(guān)閉中斷服務(wù)要求來達(dá)成臨界區(qū)的控制,故當(dāng)在載入與儲存的地址相同時,即可實現(xiàn)臨界區(qū)的控制,而地址不同時,并可實現(xiàn)安全的資料重制。
文檔編號G06F9/305GK1304087SQ9912604
公開日2001年7月18日 申請日期1999年12月13日 優(yōu)先權(quán)日1999年12月13日
發(fā)明者劉德忠, 李桓瑞, 陳泳成 申請人:凌陽科技股份有限公司