專利名稱::轉換旁視緩沖器中避免重復匹配輸入的改良裝置與方法
技術領域:
:本發明涉及微處理器中轉換旁視緩沖器(Translationlookasidebuffer,TLB)的
技術領域:
,特別涉及其中避免重復匹配輸入的技術。
背景技術:
:現今的微處理器大都支持虛擬內存(VirtualMemory)的概念,在虛擬內存系統中,在微處理器上執行的程序指令對應至運用微處理器的虛擬地址空間中虛擬地址(VirtualAddress)的數據;此外,指令本身直接映射為虛地址空間中虛擬地址的使用。虛擬地址空間可遠大于系統中具體內存,特別是虛擬內存的數目通常遠大于系統實際具體內存的數目;而為存取系統內存或其他如I/O裝置的裝置,微處理器產生的虛擬地址會轉換為微處理器中連接至系統總線的具體地址。通常微處理器支持的虛擬內存架構為頁面內存系統,其運用分頁機構將虛擬地址轉換(Translating)或映像(Mapping)為具體地址。具體地址空間是切割成多個固定尺寸的具體頁面,一般的頁面尺寸為4KB。虛擬地址是包括虛擬頁面地址部份與頁面偏移(Pageoffset)部份,其中的虛擬頁面地址用以在虛擬地址空間中標示出虛擬頁面,可通過分頁機構將虛擬頁面地址轉換為具體頁面地址;而頁面偏移則在具體頁面中標示出具體偏移,即,自其中的具體頁面地址標示出相對應的具體偏移。內存分頁的優點為本領域技術人員所熟知。其中的一個優點是使程序可在具有比實際具體內存空間大的虛擬內存空間下執行;另一優點是內存分頁可在不同的或多個的程序執行時,便于相對應的程序在不同具體內存位置中的重新定位;再一優點是內存分頁可容許多個程序同時在處理器上執行,而其中每一程序可在不經由盤片交換、以及不必將全部具體地址投入給單一程序的狀態下,分配到專屬的存取具體內存頁面;又一優點則是內存分頁可在頁面基礎上分別保護不同程序間的內存運用。頁面轉換(即將虛擬頁面地址轉換為具體頁面地址)是通過一般稱為頁面參考表漫游(Pagetablewalk)的方式實現。一般而言,操作系統保留包含用以將虛擬頁面地址轉換為具體頁面地址的頁面參考表,此頁面參考表通常存在于系統內存中,而因轉換程序需執行多重內存存取操作,所以,頁面參考表漫游的操作相對地較為費力耗時。為降低頁面參考表漫游的次數,很多微處理器提供用以高速緩存頁面參考表信息的機構,此信息包括由經常使用的虛擬頁面地址轉換來的相對應的具體頁面地址;頁面參考表信息高速緩存一般稱為轉換旁視緩沖器(TLB),當虛擬頁面地址提供至此TLB時,TLB即執行此虛擬頁面地址的查閱,假使查閱的虛擬頁面地址落在TLB中時,則TLB提供相對應的轉換后具體虛擬位置,藉此可省略將虛擬頁面地址轉換為具體虛擬地址的耗時頁面參考表漫游操作。一些運用TLB的微處理器會視需要自動在TLB中加填數據,但是,大部份的微處理器仍需依賴操作系統規劃TLB的內容,在此類微處理器的某些特異狀況下,當兩個不同輸入各具有一虛擬頁面地址符合請求TLB轉換或查閱的虛擬頁面地址時,操作系統便極可能會發生以兩個不同輸入加載TLB中的現象。明顯地,前述現象是不希望的狀況,其后果首先是TLB究竟會輸出哪一個轉換后具體頁面地址的狀況不明,假使TLB輸出錯誤的具體頁面地址,且處理器在未經任何補救的情形下仍可繼續其操作,則相關的數據處理就潛在有受損的危險。其次,在依賴TLB電路的操作下,試著去輸出一個以上具體頁面地址的企圖很可能會導致微處理器中集成電路的損壞。因此,用以避免在TLB中重復匹配輸入的裝置與方法是本領域技術人員所需要的。
發明內容在一實施方式中,本發明提供一種在每一輸入中包括一個指示記號的TLB,當此TLB在確認一個虛擬地址是否與TLB中任一輸入匹配時,此指示記號指明此輸入是否應包括或排除在此比較操作中;當TLB中的一個輸入成功被寫入時,此指示記號就在所寫入的輸入上被設定;當軟件試圖在TLB中寫入一個輸入、且要被寫入的虛擬地址與一個已存在的TLB輸入的虛擬地址匹配時,就清除匹配輸入的指示記號,藉此使匹配輸入排除于匹配確認操作中,直到成功地寫入輸入時止,之后,放棄寫入至TLB中的操作,并產生一個例外(exception),以通知操作系統有重復匹配輸入的企圖,并藉此容許操作系統補救該狀況。然而,放棄寫入與產生例外的操作,僅限于當匹配輸入是所希望寫入的輸入之外的輸入、此匹配輸入有效、且此預備寫入的輸入值有效時;否則,TLB即寫入該指明的輸入。通過前述的程序,可有效地減少產生例外的次數。為對本發明有更進一步的了解與認同,結合附圖作出如下詳細說明。圖1是根據本發明的微處理器核心的方塊圖;圖2是根據本發明的圖1中TLB的方塊圖;圖3是根據本發明的圖2中數據數組的方塊圖;圖4是根據本發明的圖2中標記數組區塊的方塊圖;圖5是顯示本發明圖2中例外產生邏輯的方塊圖;圖6是顯示本發明圖1中、在寫入TLB的操作中、微處理器操作的流程;圖7是顯示本發明圖1中、在TLB的查閱操作中、微處理器操作的流程圖;以及圖8是顯示本發明處理系統運用圖1中微處理器與TLB的方塊圖。具體實施例方式為更能完全體現本發明的優點,在以下的說明中,首先討論如操作系統的軟件中,試圖寫入重復匹配輸入至TLB中的可能狀況。第一可能狀況是牽涉到將自固件(或稱韌體,如電路板上與具有TLB的微處理器配合的ROM監視器)至操作系統的控制轉移。當重設計算機系統時,固件會通過寫入每一輸入而將TLB初始設定至一個已知狀態,例如將一已轉換的具體頁面地址設定為與虛擬頁面地址相同;TLB中的每一固件寫入操作必須在處理器中的虛擬地址空間內指明一已寫入輸入中的虛擬頁面地址。當控制轉移到操作系統時,操作系統即開始將輸入寫入至TLB中(此操作系統可能可自動將TLB初始設定至一已知狀態),此操作系統并不知固件究竟是將哪一些虛擬頁面地址寫入至TLB中,因此,操作系統可能試圖將一匹配輸入重復輸入至TLB中,此匹配輸入與由固件寫入的其他TLB輸入具有相同的虛擬頁面地址。第二可能狀況是牽涉到清泄(Flush)TLB各輸入的操作系統,此時機的一個例子是操作系統響應于任務轉換而須清泄TLB時;操作系統通過使TLB的每一輸入失效的方式進行此清泄TLB的步驟,即,操作系統將一有效位值寫入每一輸入中,此有效位值代表此輸入并不包含有效的自虛擬到具體的頁面地址轉換,因為每一無效寫入必須指明處理器中虛擬地址空間內的一個虛擬頁面地址,所以存在操作系統因虛擬頁面地址相同而試圖將一個重復匹配輸入寫入TLB中的可能性。理論上,操作系統可采取必要步驟來檢驗TLB中的現存內容,以確保將重復匹配輸入寫入至TLB中;然而,實際上,操作系統通常僅希望盡快通過使輸入失效來清泄TLB,而不管已儲存于TLB中的現行虛擬頁面地址;因此,清泄程序一般僅以相同的虛擬頁面地址寫入TLB的每一輸入中,此相同的虛擬頁面地址在有效位中具有一個無效值。當然,TLB清泄程序可更深入一點以避免寫入重復的輸入,但是,若是TLB的清泄基于TLB現存的內容,則將使整體清泄操作較費時費力。第三可能狀況是牽涉到在清泄TLB后,操作系統將新輸入寫入至TLB時。因操作系統的TLB清泄程序必須選取一些虛擬頁面地址、寫入至TLB的輸入中以使其失效,故由操作系統分配到一新任務的虛擬頁面便可能具有與由TLB清泄程序所選取的虛擬頁面地址相同的虛擬頁面地址。因此,當操作系統的TLB重填程序將新的有效輸入寫入至TLB中時,便極可能會產生重復匹配寫入的問題。第四可能狀況是牽涉到操作系統解除分配一虛擬頁面(例如,為響應一任務的終止)、以及后續重新分配虛擬頁面(例如,至一新任務)時。當操作系統解除分配一虛擬頁面時,頁面表上相對虛擬頁面的輸入即標示一無效標記,并相對地使高速緩存實時無效頁面表輸入的TLB中的輸入失效。當操作系統后續重新分配虛擬頁面時,操作系統可能不必需要或輕易能將虛擬頁面新的映射寫入至與舊映射相同的TLB輸入中;因此,當操作系統試圖將新映射寫入至TLB中時,重復匹配輸入的問題便極可能會發生。第五可能狀況即操作系統可能有一程序錯誤、或者是發生其他的毀滅性錯誤,此時,TLB中存在一有效輸入,而操作系統也極可能將重復匹配輸入寫入至TLB中。為避免在TLB中產生一重復匹配輸入,一種解決方案是基于讓微處理器產生一例外消息,以使操作系統能注意到該特異狀況。然而,如前所述,在第一至第四可能狀況中,因為適于可預期的狀況,故操作系統可不必被告知。再者,因操作系統不是在執行用戶程序,就是在執行例外處理,因而,若是有較多的例外需操作系統處理,明顯地會降低操作系統的表現;更甚者,除合理的例外狀況外,操作系統的例外處理程序也須增加代碼,以處理可預見的狀況。為解決前述的問題,本發明在TLB的每一輸入中提供一標示為Include(Inc)位的指示記號,用以指明相對應的輸入是否應包括或排除在虛擬頁面地址匹配的比對中;假使TLB的寫入會造重復匹配輸入,則此匹配輸入的Inc位就被清除;假使發生非預期的狀況(例如在TLB中存在一有效匹配輸入,且其要寫入的值也是有效的),則放棄寫入操作、且產生一個例外;相反地,若是所發生的狀況是為可預期的狀況,則并不會產生例外,且被除的Inc位會驅使匹配輸入的排除,藉此,避免在后續的TLB查閱操作中發生重復匹配輸入的情形。為幫助了解本發明及其優點,前述的各可能發生狀況僅是用以解釋軟件會試圖在TLB中寫入重復匹配輸入的例子;然而,所列的各狀況并非用以窮舉軟件會試圖在TLB中寫入重復匹配輸入的所有例子,也不是用以列舉本發明可解決的各問題,應當理解的是其他會試圖使軟件在TLB中寫入重復匹配輸入的狀況也可能存在,且本發明也可用以解決未列于此處的類似問題。參閱圖1,是根據本發明的微處理器核心100(Microprocessor)的方塊圖;如圖所示,此微處理器核心100與MIPSTechnologies,Inc所生產的處理器核心類同,然而,本發明的微處理器核心100并不局限于MIPS的產品,其也可是其他具有用戶可編程TLB的微處理器。此微處理器100包括用以存取程序指令的存取單元106(Fetchunit),此程序指令供微處理器100的執行操作;存取單元106是連接至指令高速緩存104(Instructioncache),用以高速緩存新近存入微處理器100的指令。在一實施例中,指令高速緩存104包括4通64KB高速緩存;存取單元106又連接至總線接口單元116(Businterfaceunit),用以通過處理器總線將微處理器100接口到計算機的其他部分(例如系統內存),存取單元106確定下一個要存取的指令是否存在于指令高速緩存104中,若是,則存取單元106自指令高速緩存104中取得指令,否則,存取單元106請求總線接口單元116自系統內存或另一內存架構中指令高速緩存104與系統內存間的高速緩存上存取指令;在一實施例中,存取單元106包指令高速緩存104用的控制邏輯(Controllogic)、指令譯碼器(Instructiondecoder)、及分支指令預測器(Branchinstructionpredictor)。微處理器100也包括連接至存取單元106的執行單元102,執行單元102執行由存取單元106所抓取的程序指令;在一實施例中,執行單元102包括地址產生單元(Addressgenerationunit)、分支解析單元(Branchresolutionunit)、用以執行邏輯運算的ALU、移位器(Shifter)與對準器(Aligner)、整數乘/除單元(Integermultiply/divideunit)、及浮點單元(Floatingpointunit),而存取單元106用以發出指令至執行單元102。微處理器100也包括連接至總線接口單元116與執行單元102的饋入/儲存單元112(Load/storeunit),此饋入/儲存單元112通過總線接口單元116、在執行單元102中、執行自系統內存至微處理器100寄存器(Register)的數據饋入,并執行自寄存器至系統內存的數據儲存,饋入/儲存單元112也連接至用以高速緩存新近被微處理器100所使用過數據的數據高速緩存114(Datacache);在一實施例中,數據高速緩存114包括4通64KB高速緩存,假使饋入或儲存的數據是可高速緩存的,則饋入/儲存單元112確認在數據高速緩存114中是否存在有饋入或儲存數據所代表的高速緩存線路,若是,則饋入/儲存單元112即將數據由數據高速緩存114中饋入數據、或是將數據儲存至數據高速緩存114中,否則,饋入/儲存單元112會請求總線接口單元116去系統內存中讀取數據、或是將數據儲存至系統內存中;在一實施例中,饋入/儲存單元112也可執行在數據高速緩存114中錯失的儲存數據的寫入分配。微處理器100也包括連接至存取單元106與饋入/儲存單元112的TLB108,此TLB108包括用以將虛擬內存地址轉換成具體內存地址的頁面轉換輸入高速緩存,TLB108所轉換的虛擬內存地址是由存取單元106與饋入/儲存單元112所產生,特別是,TLB108將虛擬地址轉換成具體地址,以確認指令請求在指令高速緩存104中是否可執行、或是數據請求是否可在數據高速緩存114中執行。在一實施例中,TLB108是由操作系統或在微處理器100上運作的類似系統軟件所編程。在一實施例中,TLB108包括用以伺服指令高速緩存104的micro-TLB指令、及支撐兩個micro-TLB的結合TLB,此micro-TLB包含結合TLB的子集;在一實施例中,此結合TLB中包括可架構的16/32/64雙輸入全關聯型結合TLB(Configurable16/32/64dual-entryfullyassociativejointTLB),指令micro-TLB包括4輸入全關聯型TLB,而數據micro-TLB包括8輸入全關聯型TLB;在一實施例中,當軟件編程TLB108時,寫入在TLB108中的信息會被寫入至結合TLB中,且此時的micro-TLB不是軟件可視的;當執行TLB查閱、以將一虛擬地址轉換成一具體地址時,micro-TLB集首先被存取,假使在micro-TLB中沒有匹配輸入,則結合TLB即被使用來將虛擬地址轉換成具體地址,并重填micro-TLB;假使在結合TLB中沒有匹配輸入時,即產生一個TLB例外。在以下的說明與圖形中,會詳細介紹此TLB108。請參閱圖2,是圖1中本發明TLB108的方塊圖;TLB108接收請求或請求以執行一查閱操作,藉以確認一虛擬地址標記(Tag)是否與TLB108中的一現存輸入的標記匹配;在一實施例中,此查閱虛擬地址標記被一VPN_in輸入228與一ASID_in輸入226所指明。此指明一內存頁面虛擬頁面地址的VPN_in輸入228也被稱為虛擬頁面號碼(Virtualpagenumber,VPN);假使標記比對匹配,TLB108就輸出經轉換過的具體頁面地址、以及在PgAttr_out輸出254上輸出此頁面的頁面屬性(Pageattributes),其中經轉換過的具體頁面地址以具體架構號碼(Physicalframenumber,PFN)代表,而此具體頁面地址是轉換自PEN_out輸出252上的虛擬頁面地址228;在一實施例中,VPN_in輸入228包括20位。上述的ASID_in輸入226指明用以標明一地址空間的地址空間標示器(Addressspaceidentifier,ASID);在一實施例中,在微處理器100上執行的操作系統將地址空間分配至微處理器100上運行的每一作用中程序或任務,并指定此地址空間一個ASID;因此,VPN_in228是由ASID_in226所延伸、以產生一個獨有虛擬地址標記供TLB108查閱;在一實施例中,ASID_in226包括8位、用以標明256獨有地址空間。如圖4所示的公式,依據儲存于每一TLB108輸入中的一個G位436數值,ASID_in226選擇性地與VPN_in228包括在標記匹配確認程序(Tagmatchdetermination)中,詳細說明如后。假使查閱操作未產生標記匹配結果,TLB108就產生TLB_refill_exception216,以使操作系統能重填(即寫入)TLB108,而此重填是為標明查閱虛擬地址標記(未見于TLB108中)轉換的輸入。TLB108查閱操作的詳細說明如后(特別是圖7)。另外,TLB108接收請求,以將一輸入寫入TLB108中(如圖標222至236的輸入數值),TLB108也接收一標明TLB108中哪一個輸入要被寫入的write_idx輸入238,TLB108接收一標明此請求是否要將輸入寫入至TLB108中的TLB_write輸入242,TLB108寫入請求輸入包括標記部分、有效位、及數據部分,標記數值儲存在一標記數組區塊202(Tagarrayblock)中,而數據數值則儲存在一數據數組204(Dataarray)中。TLB108寫入請求數據包括一PEN_in輸入222及一PgAttr_in輸入224,其中的PEN_in輸入222指明要寫入數據數組204的具體架構號碼(Physicalframenumber,PFN)、或具體頁面地址,而PgAttr_in輸入224則也指明要寫入數據數組204、且標示為PEN_in輸入222的內存頁面的屬性;在一實施例中,由PgAttr_in輸入224標示的頁面屬性包括有效位、寫入驅動位(Write-enablebit)、用以指明頁面是否已被寫入的骯臟位(Dirtybit)、及高速緩存相關屬性(Cachecoherencyattributes)。TLB108寫入請求標記包括提供在VPN_in輸入228上的虛擬頁面地址、及提供在ASID_in輸入226上的ASID。TLB108寫入請求標記也包括一PgMask_in輸入232;在一實施例中,微處理器100支持多種頁面尺寸,此PgMask_in輸入232指明一頁面掩碼值、用以確定由虛擬地址228所代表的頁面尺寸;當接收到一TLB108寫入請求時,PgMask_in輸入232即被使用為用以評估是否發生標記匹配的指針(如圖4所列的公式所示)。TLB108寫入請求標記也包括一個總體(Global,G)位輸入G_in236,用以指明ASID_in226是否應被包括在確認標記匹配的程序中。在一實施例中,假使設定好G_in236,則ASID_in226就會排除于標記匹配對比的程序外(如圖4所示的公式)。在一實施例中,G_in236能使操作系統運用由各程序分享的虛擬地址空間的一部分。TLB108寫入請求也包括一有效位輸入234(Validbitinput,Valid_in),用以指明寫入TLB108中的輸入是否有效,Valid_in234能使TLB108中的輸入可以有效虛擬到具體地址轉換程序所編程、或是使其失效,特別是,Valid_in234能驅使操作系統將一TLB108中的輸入無效化。TLB108也包括一數據數組204;如圖3所示,數據數組204又包括一儲存組件的數組,每一儲存組件用以儲存TLB108輸入的一部分。請參閱圖3,是本發明圖2中數據數組204的方塊圖;如圖3所示的實施例,數據數組204包括有64個輸入,然而,本發明并不限定TLB應具有多少輸入,但本發明容許TLB中具有多種的輸入尺寸。如圖所示,數據數組204中的每一輸入包括具體架構號碼(PFN)302(也可為一具體頁面地址302)、及由相對應PFN302所指明的內存頁面屬性PgAttr304數據數組204接收PFN_in輸入222及PgAttr_in輸入224,也接收選擇(select)輸入258及寫入數據(data_write)輸入244。假使data_write輸入244指示要寫入數據數組204,則以PFN_in輸入222上的數值寫入由select輸入258所標示輸入的PFN302,且以PgAttr_in輸入224上的數值寫入PgAttr_in304。相反地,假如要讀取數據數組204,數據數組204即輸出由select輸入258所指明在PFN302上的PFN_out252及在PgAttr30上的PgAttr_out254。請參閱圖4,是本發明圖2中標記數組區塊202的方塊圖;標記數組區塊202是包括一儲存組件的標記數組412,每一儲存組件用以儲存TLB108輸入的一部分。圖4顯示標記數組412中單個代表性的輸入內容(以i代表)、以及其他與每一標記數組區塊202輸入相關的組件。雖然圖4僅顯示儲存組件與一個單個標記數組輸入用的邏輯,但須注意的是本發明標記數組412仍是包括復數個輸入的。在一實施例中,標記數組412包括64個輸入,對應于圖3實施例中數據數組204上的64個輸入。雖然此處的TLB108是以一特定輸入數目來敘述的,但應當直到本發明的實施是不限定其TLB輸入的數目的。標記數組412包括虛擬頁面號碼(VPN)428(或稱虛擬頁面地址428),VPN428是儲存一個內存頁面的虛擬地址,而此內存頁面的轉換后具體頁面地址302是儲存于圖3中數據數組204的一相對應輸入上。在一實施例中,VPN428包括28位,如圖4所示的公式,VPN428的數值是用以確認是否發生標記匹配的狀況;在寫入TLB108的情形下,即將VPN_in輸入228的數值寫入至VPN428中。標記數組412也包括由標記數組412輸入的地址空間指針所標示的ASID字段426,如圖4所示的公式,ASID字段426是選擇性地用以確認是否有標記匹配的情形發生,而此確認是基于G位436數值(若為一TLB108查閱程序)、以及G位436與G_in輸入236的數值(若為一TLB108寫入程序)。在一實施例中,ASID426包括8位、用以標示256個特有地址空間,而在TLB108寫入程序中,是將ASID_in輸入226的數值寫入至ASID字段426中。標記數組412輸入也包括頁面掩碼(PgMask)字段432、用以儲存掩碼值,此掩碼值是用以確認由TLB108輸入所標示的頁面尺寸,如圖4上的公式所示,此PgMask字段432是作為用以確認是否發生標記匹配狀況的評估指針。在寫入TLB108的程序中,是將PgMask_in入232的數值寫入至PgMask字段432中。標記數組412輸入也包括總體(G)位436,用以指明ASID426是否應被包括或排除在標記匹配比對的程序外,如圖4上的公式所示,在一實施例中,假使設定好G位436,則ASID426被排除在標記匹配比對的程序外;而在另一實施例中,G位436能使操作系統運用由各程序分享的虛擬地址空間的一部分。在寫入TLB108的程序中,是將G_in輸入236的數值寫入至G位436中。標記數組412輸入也包括有效位434、用以指明TLB108輸入是否有效,即,Valid位434指明儲存于數據數組204中相對應輸入的具體頁面地址302與頁面屬性304是否為虛擬地址標記的有效轉換,此虛擬位指標記在相對應TLB108輸入中是由ASID426、VPN428、PgMask432、及G字段436所標示。標記數組412輸入也包括Include(Inc)位438,Inc位438指明標記數組412輸入應否被包括在標記匹配比對程序內。在一實施例中,假使設定好Inc位438,則TLB108輸入應被包括在標記匹配比對程序中;相反地,假使Inc位438是被清除的,則TLB108輸入應被排除在標記匹配比對程序外。雖然Inc位438在此當被描述為一設定值,則代表TLB108輸入應被包括在標記匹配比對程序中,而當其為一清除值時,則代表TLB108輸入應被排除在標記匹配比對程序外,但是應當直到本發明也可運用與上述條件相反的判斷,因此,本發明并不限定其實施究竟是以什么條件確認的。再者,本發明中,Inc位438也可結合或編碼在TLB108的其他控制字段中,且并不限定為單一或分離的位。響應TLB108的重設,Inc位438被清除。Inc位438也可由clearIncMatch信號442上的真值來清除(如下所述)。在一實施例中,Inc位438不是用戶可見的,相反地,Inc位438是隱藏于用戶外、且由標記數組區塊202所設定或清除(如下所述)。優點是Inc位438利于避免TLB108中重復匹配輸入的作業,且其避免作業是以可降低微處理器100例外產生數目的方式進行的。標記數組區塊202也包括針對標記數組412每一輸入且連接至標記數組412輸入的邏輯402,此邏輯402接收ASID_in226、VPN_in228、PgMask_in232、Valid_in234、G_in236、及TLB_write242輸入等,邏輯402也將標記數組412儲存組件字段426、428、432、434、436、及438(在圖4中是為相對應的ASID456、VPN458、PgMask462、Valid464、G466、及Inc468)的輸出當作輸入接收。為響應這些輸入,邏輯402會產生lookupMatch輸出444、writeDataMatch輸出446、及clearIncMatch輸出442(參照圖4所示的公式)。標記數組區塊202也為每一標記數組412的輸入包括一連接至邏輯402的多任務器404,此多任務器404在其數據輸入上接收自邏輯402來的lookupMatch輸出444,也在其他數據輸入上接收自邏輯402來的writeDataMatch輸出446,多任務器404也接收TLB_write輸入242作為他的select輸入。假使TLB_write輸入242為真,則多任務器404將writeDataMatch輸入446的值提供至其輸出端上(以match246代表);否則,多任務器404將lookupMatch輸入444的值提供至match246上,其中,writeDataMatch446是用以確認是否需要產生如下所述的機器檢查例外(Machinecheckexception),特別是相對于圖5與圖6所示的。在一TLB108查閱操作中,lookupMatch444最終會成為select258、且被用以選擇合適的數據數組204輸入至PFN_out252與PgAttr_out254上輸出。在一實施例中,多任務器404會通過使用TLB_write242而緊縮至邏輯402中,藉此,在一TLB108查閱操作中,迫使PgMask_in232至1值,而G_in236至0值,也通過Valid434與Valid_in234作為TLB108寫入操作產match246的評估指針。請參閱圖2,TLB108也包括連接至標記數組區塊202的多任務器262。多任務器262在其數據輸入端上接收標記數組區塊202的match輸出246,在另一數據輸入端上接收write_idx238,而在其select輸入端上接收TLB_write輸入242。假使TLB_write輸入242為真,則多任務器262將write_idx238數值提供至其以select258代表的輸出端;否則,多任務器262將match246數值提供至select258。TLB108也包括一個二輸入端的AND門208及連接至數據數組204的反相器212。反相器212在輸入端上接收machine_check_exception輸出214、并將其輸出輸出至AND門208的一輸入端上,而AND門208在其另一輸入端上接收TLB_write信號242,AND門208產生data_write244輸出,用以作為數據數組204的輸入;因此,當TLB_write242指示有一TLB寫入需求,且此寫入需求并不會導致機器檢查例外時,將由select258所指示的數據數組204的輸入數據寫入。TLB108也包括連接至標記數組區塊202的例外產生邏輯206。此例外產生邏輯206接收TLB_write242、write_idx238、match246、及PgAttr_out254。響應如圖5與圖6所示的輸入,例外產生邏輯206產生machine_check_exception214;響應如圖5與圖7所示的輸入,例外產生邏輯206產生TLB_refill_excepetion216;而響應如圖7所示的輸入,例外產生邏輯206產生otherexception218輸出。在一實施例中,TLB108運用雙頁面的輸入,即,數據數組204為每一標記數組412輸入包括二個輸入,其中,每一標記數組412輸入儲存一虛擬地址標記,此虛擬地址標記指明二個可通過操作系統映射到具體非相鄰內存頁面的虛擬相鄰內存頁面。請參閱圖5,是顯示本發明圖2中例外產生邏輯206的方塊圖,其中所示的例外產生邏輯206實施例是用與一個具64個輸入的TLB108配合。例外產生邏輯206包括一反相器502及一個與每一TLB108輸入配合的二輸入AND門504。每一反相器212,為相對應的TLB108輸入,接收圖2中的write_ide238,并將其輸出輸出至相對應AND門504的一個輸入端上,而AND門504在其另一輸入端上,為相對應的TLB108輸入,接收圖2中的match246。反相器502與AND門504是用以將由TLB108寫入請求所指明的輸入排除,此TLB108寫入請求是來自例外產生邏輯206的machine_check_exception214輸出。例外產生邏輯206是包括一個64輸入的OR門508,用以接收每一64AND門的輸出,例外產生邏輯206又包括一個兩輸入AND門506。AND門506在其一個輸入端上接收OR門508的輸出,其另一輸入端則接收TLB_write242;而AND門506在其輸出端上產生machine_check_exception214輸出。例外產生邏輯206也包括個65輸入的OR門512,用以接收所有64個match信號246及TLB_write242;例外產生邏輯206也包括一反相器514,用以接收OR門512的輸出,并用以產生TLB_refill_exception216作為其輸出。請參閱圖6,是顯示本發明圖1中在一寫入TLB108的操作中,微處理器100操作的流程圖。其中,流程開始自方塊602。在方塊602中,TLB108接受一個寫入操作請求。此寫入操作請求指明要被寫入的TLB108輸入的系數;在圖6中,要被寫入的系數是以“j”表示。寫入請求也指明要被寫入至TLB中系數j位置輸入的數值,此要被寫入的數值是在圖2中輸入信號222到236上的TLB108。在一實施例中,為響應TLBWI或是TLBWR指令的執行,微處理器100產生寫入請求至TLB108中,其中的TLBWI或是TLBWR指令教導微處理器100如何將具有由微處理器100軟件可見寄存器所指示數值的TLB108輸入寫入,其中,要被寫入的TLB108輸入的系數是由TLBWI指令明顯指示,至于另一TLBWR指令,則是將要被寫入的TLB108輸入的系數由一微處理器100的隨機寄存器指定。在一實施例中,隨機寄存器實質地遞減微處理器100的每一計時周期,一旦其周期值達到聯機寄存器上的一數值時,即為其遞減的最大值。在一實施例中,微處理器100并不提供關于哪一個TLB108輸入是最需被更新的信息(例如,哪一個輸入是近來最少被使用的),因此,當查閱標記在TLB108中消失時,TLBWR指令提供一更新TLB108輸入的方法,在write_idx238上譯碼與提供要被寫入TLB108輸入的系數。接著執行方塊604。在方塊604中,圖4中的邏輯402依據圖4中的writeTagMatch公式,比較寫入請求標記與在標記數組412中的每一標記。接著執行方塊606。在方塊606中,邏輯402依據每一TLB108輸入的clearIncMatch及圖4中的writeDataMatch公式,將具有一個清除Inc位438的TLB108輸入排除。接著執行確定方塊608。在確定方塊608中,TLB108通過檢驗clearIncMatch442是否具有真值的方式,確認是否有發生標記匹配的狀況;如果有,則執行方塊612;否則,執行確定方塊614。在方塊612中,將在clearIncMatch442上具有真值的每一TLB10輸入的Inc位438清除。接著執行確定方塊614。在確定方塊614中,TLB108依據圖4中的writeDataMatch公式,確認Valid_in234是否為真;若非為真,則執行方塊616;否則,執行確定方塊618。在方塊616中,TLB108于TLB108系數j寫入由輸入222至236所標示的數值,并于輸入j中設定Inc位438。接著流程停止在方塊616上。在確定方塊618中,TLB108依據圖4中的writeDataMatch公式以及圖5中machine_check_exception214輸出的產生邏輯502-58確認、除輸入j外、TLB108中具有設定Inc位438的匹配標記的各輸入中哪一個的Valid434是為真;若非為真,則執行方塊616;否則,執行方塊622。在方塊622中,TLB108放棄寫入操作、關閉TLB108、并產生一machine_check_exception214輸出;此處,machine_check_exception214輸出的產生是依據圖5中的產生邏輯502-508,而放棄寫入操作是由產生data_write244的邏輯208與212輸出一非值至data_write244上的方式執行。接著執行方塊622。請參閱圖7,是顯示本發明圖1中、在TLB一查閱操作中、微處理器操作的流程圖;其中步驟是開始于方塊702。在方塊702中,TLB108接收一查閱操作的請求。在典型的例子中,圖1中的存取單元106或饋入/儲存單元112發出一查閱請求至TLB108上,以獲取一要讀出/寫入指令高速緩存104、數據高速緩存114、或經由總線接口單元116至系統內存的指令或數據的具體頁面地址;此查閱操作請求是通過VPN_in228與及ASID_in226指明查閱標記的VPN與ASID。查閱操作請求要求TLB108確認所指明的查閱標記是否與任一個TLB108輸入標記匹配;若是匹配,則輸出匹配輸入的PFN302與PgAttr304,即,查閱操作請求要求TLB108轉換由VPN_in228與及ASID_in226所標定的虛擬地址。接著執行方塊704。在方塊704中,圖4中的邏輯402依據其中的lookupTagMatch公式比較查閱請求的標記、與標記數組412中的每一標記。接著執行方塊706。在方塊706中,邏輯402依據圖4中的lookupMatch444公式排除具有一清除Inc位438的TLB108輸入。接著執行確定方塊708。在確定方塊708中,TLB108通過檢驗lookupMatch444是否具有一真值來確認是否發生標記匹配的情形;若非為真,則執行方塊712;否則,執行方塊714。在方塊712中,只要lookupMatch444經由match246向例外產生邏輯206指明所查閱的標記并未與任一TLB輸入匹配,則例外產生邏輯206產生一TLB_refill_exception216。在一實施例中,如果微處理器100已執行過一個例外,則例外產生邏輯206在輸出218上產生一TLBInvalidException,而不是產生一TLB_refill_exception216輸出。接著執行方塊712。在方塊714中,提供select258至數據數組204,以讀取數據數組204中的匹配輸入。接著執行確定方塊716。在確定方塊716中,TLB108確認是否還有其他例外狀況發生。在一實施例中,例外產生邏輯206檢驗在PgAttr_in224上的頁面屬性,以確認是否尚有其他例外狀況發生。在一實施例中,如果一TLB108輸入標記與查閱標記匹配、但匹配輸入卻為無效時,則例外產生邏輯206可確認發生有一TLBInvalidException狀況。在一實施例中,如果一TLB108輸入標記與查閱標記匹配、且輸入是為有效而非骯臟(Validbutnotdirty)時,則例外產生邏輯206即可確認發生有一TLBModifedException狀況。在此方塊中,若是尚發生有其他例外,則接著執行方塊718;否則,執行方塊722。在方塊718中,例外產生邏輯206于output218上產生一真值。接著流程停止在方塊718上。在方塊722中,數據數組204輸出由PFN_out252與PgAttr_out254上的select258所選定數據數組204輸入的相對應PFN302與PgAttr304。接著流程停止在方塊722上。在一實施例中,微處理器100也可包括一TLBP指令,用以教導微處理器100去檢測TLB108中與所查閱標記匹配的輸入;但是,與正常查閱操作相反地,此TLBP指令僅返回TLB108中包含匹配標記的輸入的系數。所述TLBP指令的操作是類同于圖7所示的查閱操作,所不同的是,經轉換的具體地址并非在方塊722中輸出,而是將匹配輸入的系數儲存至一軟件可見的寄存器中;另外,若是在方塊708中并未發生匹配的情形,則不會產生TLB_refill_exception216,但會在一軟件可見現狀寄存器設定一現狀位,以表示并未有匹配的狀況。在一實施例中,微處理器100也可包括一TLBR指令,用以教導微處理器100去讀取TLB108中一由TLBR指令所標示系數值的相對應輸入;因此,與正常查閱操作相反的是在TLBR指令并未指明一輸入標記,但卻提供TLB108中要被讀取輸入的系數。由上所述,本發明所提供的裝置與方法可避免TLB中重復匹配輸入的情形,且可有效地降低為響應TLB中試圖重復匹配輸入而產生的例外數目。而降低例外產生數目的特征至少可獲得二個可能的優勢首先,因如前所述的各可預期狀況不再發生,故例外句柄代碼(Handlercode)可被簡化;其次,因在執行一TLB寫入作業時,操作系統必須處理的例外情況減少,故在具TLB的處理器上執行的軟件可有顯著提升的表現。請參閱圖8,是顯示本發明一用以處理已儲存程序的系統800的方塊圖;此系統800包括圖1所示的微處理器100,其是連接至一內存802與至少一個輸入/輸出裝置804,微處理器100又包括圖1中的TLB108。此系統800可包括一計算機系統,但并不局限于是個人計算機、任務站計算機、服務器計算機、筆記型計算機、個人數字助理、檔案服務器、打印服務器、企業服務器、或是其他類似的計算機。此系統800也可包括一嵌入式系統(Embeddedsystem),但并不局限于是頂上盒、智能型外圍裝置、汽車嵌入系統、電器嵌入系統、大量儲存控制器、或是其他類似的裝置。內存802包括一用以儲存供微處理器100運用的程序指令與數據的內存,其也可包括其他適合儲存程序指令與數據的內存,但并不局限于是DRAM、SRAM、SDRAM、DDR-SDRAM、RDRAM、ROM、PROM、EPROM、EEPROM、閃存、或是其他類似內存與任何內存的組合方式。輸入/輸出裝置804包括裝置,用以接收供微處理器100運用的數據,但并不局限于究竟是否為用戶所輸入;輸入/輸出裝置804又可包括用以接收與輸出自微處理器100來的處理結果,但并不局限于是用戶的輸出。輸入/輸出裝置804可包括、但卻非局限是直接內存存取控制器、定時器、時鐘、截斷控制器、串行端口控制器、并列端口控制器、USB端口控制器、IEEE1394控制器、SCSI控制器、ATA控制器、光纖信道控制器、軟盤控制器、硬盤控制器、繪圖控制器、顯示裝置、鍵盤、鼠標、掃描儀、繪圖器、打印機、軟盤驅動器、硬盤驅動器、光儲存裝置、磁帶驅動器、數字照相機、及其他類似的裝置或是各裝置的組合等。雖本發明及其目的、特征、與優點都已詳細公開,但本發明的范圍還包括其他尚未提及的實施例,例如,雖然Include位是以一固定值(代表一輸入是可被包括在匹配結果中的)與一清除值(代表并不包括此輸入)描述,但本發明亦可修正為相反的運用。同樣地,雖然Include位被以一個單一的位描述,所需要的僅是一確定輸入是否應包括在匹配結果中的指示標志,因此,此指示標志也可具有一個以上的位數,且可以其他指示領域來解讀。再者,雖然本發明是以一在微處理器上運作的操作系統為例,但其也可運用至其他在微處理器上執行的軟件,如嵌入型系統軟件或固件。雖本發明及其目的、特征、與優點都已詳細公開,但本發明的范圍亦包括其他尚未提及的實施例;本發明除以硬件實施外,其亦可嵌入至計算機可用(如可讀)介質的軟件中(如計算機可讀代碼、程序代碼、指令與/或數據),這些軟件可使在此描述的裝置與方法作用、制造、模塊、仿真、描述且/或測試,例如,以上的功能可通過一般程序語言(如C、C++、JAVA等)、GDSII數據庫、包括VorilogHDL、VHDL與其他的硬件描述語言(HDL)、或是其他可用程序、數據庫、與/或電路(即架構的)獲取工具實現。前述的軟件可位于任何計算機可用(如可讀)介質中,這些介質可包括半導體內存、磁盤、光盤(如CD-ROM、DVD-ROM等)等,且可以計算機數據信號嵌入在計算機可用(可讀)傳輸介質(如載波或其他包括數字、光學、或模擬等介質)中。如此,軟件可通過包括外部網絡與內部網絡等通訊網路傳輸。應該知道,本發明可以軟件實施、且可轉化為集成電路制造中的硬件結構,前述的軟件可為HDL軟件,當作半導體智能財產核心(如微處理器核心)的一部分,或是一系統層級(如SOC)的設計。當然,本發明可以軟件與硬件組合的方式實施。以上所述是利用較佳實施例詳細說明本發明,而非限制本發明的范圍,而且本領域技術人員都能明了,適當作出一些改變及調整,將不脫離本發明的要義,也不脫離本發明的精神和范圍。綜上所述,本發明實施的具體性,已符合專利法中所規定的發明專利要件,請審查員予以審查,并希望準予專利。權利要求1.一種轉換旁視緩沖器中避免重復匹配輸入的方法,包括接收將輸入寫入該轉換旁視緩沖器的寫入請求,該寫入請求包括標記;確認該轉換旁視緩沖器中的其它輸入是否有與該寫入請求標記相匹配的標記;以及若有該其它輸入的相對應該標記與該寫入請求的該標記匹配者,清除該轉換旁視緩沖器中每個匹配該標記的該其它輸入之一相對應指示記號。2.如權利要求1所述的轉換旁視緩沖器中避免重復匹配輸入的方法,還包括確認該寫入請求是否有效;確認該轉換旁視緩沖器中該其它匹配輸入是否有效;排除該轉換旁視緩沖器中每個該指示記號被清除的該輸入;以及若是該寫入請求有效,而且除該寫入請求所標示的該輸入外,至少有一未被排除的該匹配輸入存在有效時,產生例外。3.如權利要求2所述的轉換旁視緩沖器中避免重復匹配輸入的方法,其中所述的該例外代表該寫入請求試圖要將重復匹配輸入寫入至該轉換旁視緩沖器中。4.如權利要求2所述的轉換旁視緩沖器中避免重復匹配輸入的方法,其中所述的該“產生例外”的執行時機僅限于該寫入請求有效,而且除該寫入請求所標示的該輸入外,至少有一個未被排除的該匹配輸入存在有效時。5.如權利要求2所述的轉換旁視緩沖器中避免重復匹配輸入的方法,其中當該寫入請求無效時,即不執行該“產生例外”。6.如權利要求2所述的轉換旁視緩沖器中避免重復匹配輸入的方法,其中當除該寫入請求所標示的該輸入外每一該未被排除的匹配輸入無效時,即不執行該“產生例外”。7.如權利要求2所述的轉換旁視緩沖器中避免重復匹配輸入的方法,其中所述的該“確認該寫入請求是否有效”包括“確認該寫入請求中是否包括有效位”的真偽。8.如權利要求7所述的轉換旁視緩沖器中避免重復匹配輸入的方法,其中所述的該有效位是用戶可編程的。9.如權利要求2所述的轉換旁視緩沖器中避免重復匹配輸入的方法,其中所述之該“確認該轉換旁視緩沖器中該其它匹配輸入是否有效”包括“確認該轉換旁視緩沖器中該其它匹配輸入中是否包括有效位之真偽”。10.如權利要求9所述的轉換旁視緩沖器中避免重復匹配輸入的方法,其中所述的該有效位是用戶可編程的。11.如權利要求2所述的轉換旁視緩沖器中避免重復匹配輸入的方法,其中所述的該例外包括機器核對例外。12.如權利要求2所述的轉換旁視緩沖器中避免重復匹配輸入的方法,又包括假使該寫入請求為有效、且至少有一該未被排除的該匹配輸入存在有效時,放棄該寫入操作。13.如權利要求2所述的轉換旁視緩沖器中避免重復匹配輸入的方法,又包括假使該寫入請求系為有效、且至少有一該未被排除的該匹配輸入存在有效時,使該轉換旁視緩沖器的操作失效。14.如權利要求1所述的轉換旁視緩沖器中避免重復匹配輸入的方法,又包括假使該寫入操作為無效時,將該寫入請求所指明的該轉換旁視緩沖器輸入寫入。15.如權利要求1所述的轉換旁視緩沖器中避免重復匹配輸入的方法,又包括假使該寫入操作為無效時,在該寫入請求所指明的該轉換旁視緩沖器輸入中設定該指示記號。16.如權利要求1所述的轉換旁視緩沖器中避免重復匹配輸入的方法,又包括假使、除該寫入請求所指明的該輸入外、每個該未遭排除的匹配轉換旁視緩沖器輸入為無效時,將該寫入請求所指明的該輸入寫入。17.如權利要求1所述的轉換旁視緩沖器中避免重復匹配輸入的方法,又包括假使、除該寫入請求所指明的該輸入外、每個該未遭排除的匹配轉換旁視緩沖器輸入為無效時,在該寫入請求所指明之該輸入中設定該指示記號。18.如權利要求1所述的轉換旁視緩沖器中避免重復匹配輸入的方法,又包括在該“清除該轉換旁視緩沖器中每個匹配該標記的該其它輸入之一相對應指示記號”后,接收查閱請求,以在該轉換旁視緩沖器中查閱具有與該查閱請求所指明的標記相匹配的輸入;以及依照該查閱,在該轉換旁視緩沖器中,將該指示記號被清除的每個輸入排除。19.如權利要求18所述的轉換旁視緩沖器中避免重復匹配輸入的方法,又包括在該查閱中,包括該轉換旁視緩沖器中具有設定該指示記號的每個輸入。20.如權利要求1所述的轉換旁視緩沖器中避免重復匹配輸入的方法,其中所述的該標記包括虛擬頁面地址。21.如權利要求20所述的轉換旁視緩沖器中避免重復匹配輸入的方法,其中所述的該標記包括地址空間確認記號。22.如權利要求21所述的轉換旁視緩沖器中避免重復匹配輸入的方法,其中所述的該標記包括控制值,以在該“確認該轉換旁視緩沖器中的其它輸入是否有與該寫入請求該標記相匹配的標記”時,用以選擇性地指明該地址空間確認記號是否須排除。23.如權利要求20所述的轉換旁視緩沖器中避免重復匹配輸入的方法,其中所述的該標記包括掩碼字段,以在該“確認該轉換旁視緩沖器中的其它輸入是否有與該寫入請求該標記相匹配的標記”時,用以指明該虛擬頁面地址中需被排除的一部分。24.如權利要求1所述的轉換旁視緩沖器中避免重復匹配輸入的方法,又包括接收請求,以重設該轉換旁視緩沖器;以及依照所接收的該重設請求,清除該轉換旁視緩沖器中每個該輸入的該指示記號。25.如權利要求1所述的轉換旁視緩沖器中避免重復匹配輸入的方法,其中所述的該寫入該轉換旁視緩沖器的該請求包括由包括該轉換旁視緩沖器的微處理器所執行的指令。26.如權利要求25所述的轉換旁視緩沖器中避免重復匹配輸入的方法,其中所述的該指令教導該微處理器去選擇由該寫入請求隨意指明的該轉換旁視緩沖器輸入。27.一種轉換旁視緩沖器中避免重復匹配輸入的方法,包括接收查閱請求,以在該轉換旁視緩沖器中查閱標記;以及自該查閱中,排除該轉換旁視緩沖器中每個指示記號具有清除值的輸入。28.如權利要求27所述的轉換旁視緩沖器中避免重復匹配輸入的方法,當具有標記與該轉換旁視緩沖器輸入標記匹配的該轉換旁視緩沖器接收寫入請求時,其中所述每個該轉換旁視緩沖器輸入中的該指示記號被清除。29.如權利要求28所述的轉換旁視緩沖器中避免重復匹配輸入的方法,假使該轉換旁視緩沖器輸入實際上依該寫入請求而被寫入時,其中所述每個該轉換旁視緩沖器輸入中的該指示記號被設定。30.如權利要求29所述的轉換旁視緩沖器中避免重復匹配輸入的方法,假使該寫入請求為有效、且該轉換旁視緩沖器中除該寫入請求所指明的該轉換旁視緩沖器輸入外至少具有設定的指示記號并有與該寫入請求標記匹配的標記的輸入有效時,其中所述的該轉換旁視緩沖器放棄該寫入請求。31.如權利要求29所述的轉換旁視緩沖器中避免重復匹配輸入的方法,假使該寫入請求為有效、且該轉換旁視緩沖器中除該寫入請求所指明的該轉換旁視緩沖器輸入外至少具有設定之指示記號并有與該寫入請求標記匹配的標記的輸入有效時,其中所述的該轉換旁視緩沖器產生例外。32.如權利要求27所述的轉換旁視緩沖器中避免重復匹配輸入的方法,其中所述的該指示記號非為用戶可存取的。33.一種轉換旁視緩沖器中避免重復匹配輸入的裝置,包括復數個指示記號,與相對應復數個該轉換旁視緩沖器的輸入連結,每一該指示記號用以指明是否將該相對應輸入包括在一標記比較操作中;以及與該復數個指示記號結合的邏輯,以在當該相對應輸入具有與寫入該復數個轉換旁視緩沖器輸入中之一的請求所指明的標記相匹配的標記時,用以將該相對應指示記號清除為第一預定值。34.如權利要求33所述的轉換旁視緩沖器中避免重復匹配輸入的裝置,其中所述的該第一預定值指明該相對應指示記號并不包括在該標記比較操作中。35.如權利要求34所述的轉換旁視緩沖器中避免重復匹配輸入的裝置,假使該轉換旁視緩沖器實際上依該寫入請求寫入該相對應轉換旁視緩沖器輸入時,其中所述的該邏輯又架構為用以將該相對應指示記號設定為第二預定值。36.如權利要求35所述的轉換旁視緩沖器中避免重復匹配輸入的裝置,其中所述的該第二預定值指明該相對應轉換旁視緩沖器輸入包括在該標記比較操作中。37.如權利要求33所述的轉換旁視緩沖器中避免重復匹配輸入的裝置,其中所述的該相對應轉換旁視緩沖器輸入標記包括虛擬頁面地址。38.如權利要求37所述的轉換旁視緩沖器中避免重復匹配輸入的裝置,其中所述的該標記比較操作包括比較該相對應轉換旁視緩沖器輸入中的該虛擬頁面地址、與該寫入請求標記中的虛擬頁面地址,以確認上述的該虛擬地址是否匹配。39.如權利要求37所述的轉換旁視緩沖器中避免重復匹配輸入的裝置,其中所述的該標記比較操作系包括比較該相對應轉換旁視緩沖器輸入中的該虛擬頁面地址、與查閱請求標記中的虛擬頁面地址,以確認上述的該虛擬地址是否匹配。40.如權利要求33所述的轉換旁視緩沖器中避免重復匹配輸入的裝置,又包括例外輸出,與該復數個指示記號連結,用以指明是否該寫入請求有試圖將一重復匹配標記寫入該復數個轉換旁視緩沖器輸入中的狀況。41.如權利要求40所述的轉換旁視緩沖器中避免重復匹配輸入的裝置,假使該寫入請求有效、且至少該復數個轉換旁視緩沖器輸入除該寫入請求所指明的該輸入外為有效、具有與該寫入請求的該標記匹配的標記、以及并未將其指示記號設定為該第一預定值時,其中所述的該裝置在該例外輸出上產生真值。42.如權利要求33所述的轉換旁視緩沖器中避免重復匹配輸入的裝置,假使該寫入請求無效時,其中所述的該轉換旁視緩沖器實際上會將該寫入請求寫入至該復數個轉換旁視緩沖器輸入中為該寫入輸入所指明的該輸入中。43.如權利要求33所述的轉換旁視緩沖器中避免重復匹配輸入的裝置,假使、除該寫入輸入所指明的該輸入外、該復數個轉換旁視緩沖器輸入中無一有效時,其中所述的該轉換旁視緩沖器實際上會將該寫入請求寫入至該復數個轉換旁視緩沖器輸入中為該寫入輸入所指明的該輸入中。44.如權利要求33所述的轉換旁視緩沖器中避免重復匹配輸入的裝置,假使、除該寫入輸入所指明的該輸入外、該復數個轉換旁視緩沖器輸入中無一具有與該寫入輸入的該標記匹配的標記時,其中所述的該轉換旁視緩沖器實際上會將該寫入請求寫入至該復數個轉換旁視緩沖器輸入中為該寫入輸入所指明的該輸入中。45.如權利要求33所述的轉換旁視緩沖器中避免重復匹配輸入的裝置,假使、除該寫入輸入所指明的該輸入外、該復數個轉換旁視緩沖器輸入中無一將其指示記號設定為該第一預定值時,其中所述的該轉換旁視緩沖器實際上會將該寫入請求寫入至該復數個轉換旁視緩沖器輸入中為該寫入輸入所指明的該輸入中。46.如權利要求33所述的轉換旁視緩沖器中避免重復匹配輸入的裝置,其中所述的每個該復數個轉換旁視緩沖器輸入包括由該標記映射來的具體頁面地址。47.如權利要求46所述的轉換旁視緩沖器中避免重復匹配輸入的裝置,其中所述的每個該復數個轉換旁視緩沖器輸入的該標記系包括虛擬頁面地址,其中該具體頁面地址是由該虛擬頁面地址映射來的。48.如權利要求33所述的轉換旁視緩沖器中避免重復匹配輸入的裝置,其中所述的該復數個指示記號是非軟件可見的。49.如權利要求33所述的轉換旁視緩沖器中避免重復匹配輸入的裝置,由包括具有計算機可讀程序代碼的計算機可用介質的計算機程序產品所組成,而該計算機程序產品在計算機裝置上使用。50.如權利要求33所述的轉換旁視緩沖器中避免重復匹配輸入的裝置,系由歸并于包括計算機可讀程序代碼的傳輸介質中的計算機數據信號所提供。51.一種與計算機裝置配合使用的計算機程序產品,包括計算機可用介質,具有歸并于該介質中的計算機可讀程序代碼,用以組成一轉換旁視緩沖器中避免重復匹配輸入的裝置,該計算機可讀程序代碼又包括第一程序代碼,用以提供與復數個該轉換旁視緩沖器輸入相對應連接的復數個指示記號,每一該指示記號用以指明是否將該相對應輸入包括在一標記比較操作中;以及用以提供邏輯的第二程序代碼,與該復數個指示記號連接,在當該相對應輸入具有與寫入該復數個轉換旁視緩沖器輸入之一的請求所指明的標記相匹配時,用以將該相對應指示記號清除為該第一預定值。52.一種歸并于傳輸介質中的計算機數據信號,包括計算機可讀程序代碼,用以提供至轉換旁視緩沖器中避免重復匹配輸入的裝置,該程序代碼又包括第一程序代碼,用以提供與復數個該轉換旁視緩沖器輸入相對應連接的復數個指示記號,每一該指示記號用以指明是否將該相對應輸入包括在標記比較操作中;以及用以提供邏輯的第二程序代碼,與該復數個指示記號連接,在當該相對應輸入具有與寫入該復數個轉換旁視緩沖器輸入之一的請求所指明的標記相匹配時,用以將該相對應指示記號清除為該第一預定值。53.一種處理系統,包括內存,用以儲存程序指令;以及微處理器,與該內存連接,用以執行該程序指令,該微處理器又包括該微處理器的轉換旁視緩沖器中避免重復匹配輸入的裝置,該裝置又包括復數個指示記號,與相對應復數個該轉換旁視緩沖器的輸入連接,每個該指示記號用以指明是否將該相對應輸入包括在標記比較操作中;及與該復數個指示記號結合的邏輯,以在當該相對應輸入具有與寫入該復數個轉換旁視緩沖器輸入中之一的請求所指明的標記相匹配的標記時,用以將該相對應指示記號清除為第一預定值。54.如權利要求53所述的處理系統,其中所述的該第一預定值指明該相對應轉換旁視緩沖器輸入并不包括在該標記比較操作中。55.如權利要求53所述的處理系統,又包括至少一個輸入輸出裝置,與該微處理器連接,架構以接收提供至該微處理器的輸入數據、以及以輸出該微處理器送出的處理結果。全文摘要一種轉換旁視緩沖器(TLB)中避免重復匹配輸入的改良裝置與方法,TLB中每個輸入具有指明確認此輸入應包括或排除在標記匹配比較中的Include位;當試圖TLB寫入時,如果寫入標記與已存在于TLB中輸入標記相匹配,則清除此輸入的Include位,以使此輸入排除在后續的標記匹配比較中;再者,如果匹配輸入為除要被寫入的輸入外的輸入、匹配輸入有效、且要寫入輸入的值亦為有效時,即產生例外且放棄寫入操作;當輸入成功寫入TLB中時,其Include位即被設定,以使此輸入包括在后續的標記匹配比較中;其中,Include位亦可用以評比標記查閱匹配確認程序中。文檔編號G06F12/10GK1848096SQ200510064999公開日2006年10月18日申請日期2005年4月11日優先權日2005年4月11日發明者萊恩·C·肯特,G·麥可·亞勒申請人:美普思科技有限公司