經濟部中央標準局貝工消費合作社印裝 A7 _'_'_B7 _ . . 五、發明説明(1 ) 本發明係有關於微處理機。、明確地說\本發明係有關 於微處理機電路與對存取Λ速A衝記憶體及外部記億體之 控制方法4 微處理檄在正常程式執行之時會為了要由記憶體取得 指令或「編碼」* Μ及為了執行包含有資料或「運算元」 之目的,而存取一個外部記憶體。記憶體之編碼的讀取或 「取得」係由微處理機對程式執行的反應而自動實施。蓮 算元存取係由微處理機對個別指令執行的反應而實施。 取得作業一般係Μ固定大小之編碼塊(例如16位元組 或32位元組等)被執行。這些編碼塊由外部記憶體(或高速 鍰衝記憶燿)讀取,並在微處理機被緩衝以進行後績執行 。一般由微處理機所執行的取得作業有三種。第一種為「 前置取得」,其為由記憶體中正在被執行的指令之立即「 下游」來取得指令。第二種為「條件取得」,其係在微處 理機執行條件式分支或跳越指令時被執行,造成程式於新 的位址開始執行〇第三種為「無條件取得J »其係在一個 無條件分支或跳越指令被執行時實施。 為了要執行一取廣或蓮算元存取,微處理機的中央處 理單元(CP10會發出一個命令或「要求」給微處理機的匯 流/高速鍰衝記憶體而確定所要執行的存取型式。這些存 取要求典型上為由CPU所產生的微指令中的預輯位元禰位 。該CPU亦會產生一位址而確定執行該存取之記憶體位置 。就取得作業而言,該位址(「取得位址」)典型上會確定 所要被取得之編碼塊的起始位置。就蓮算元存取而言,該 -4- 本纸張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閲讀背面之注意事項再填寫本頁)
經濟部中央標隼局貝工消費合作社印装 A7 B7 五、發明説明(2 ) 位址(「蓮算元位址」)會確定一個以上之位元組位置,以 執行讀或寫作業。在任一情況中,CPU所產生的位址會與 相對應的要求一起被傳送到匯流/高速緩衝記憶體單元* 且該匯流/高速緩衝記憶體單元執行特定的作業。 就可支援虛擬記憶體的微處理機而言,CPII所產生的 位址為「虛擬位址」,其本身並不能定出唯一的記憶體位 置。虛擬位址在傳送到匯流/高速緩衝記憶體單元前被轉 譯成「實體位址」(即對應於實體記憶體位置之位址)。 CPU所產生的虛擬位址可在傳送到匯流/高寒媛衝記憶體單 元前額外地被微處理機之定位址單元修正。 微處理機係典型地被設計成用於可由編碼與資料共用 的單一外部記憶體。就這種設計型式而言,即習知的「純 范紐曼架構」設計,CPU所用的外部記憶體匯流必須在該 CPU之產生取得要求的取得單元K及產生蓮算元存取要求 的執行單元間加K分割。由於此二種存取型式無法於外部 記憶體同時執行》取得單元或執行單元,二者一般常在二單 / 元均有擱置之存取要求時須有其一被擱置。這種取得與蓮 算元存取間之干擾會有使程式執行減慢的不良影響。一當 CPU發出取得要求給匯流/高速緩衝記憶體單元時,執行單 元在需有運算元存取的指令完成執行之前一般須等該取得 存取结束才能進行。 此問題的解決之道為使用二個分離的外部記憶體,一 個用於編碼,一個用於資料,K便取得存取與蓮算元存取 可同時被執行。這種設計即為習知之「純|„饊_架„構」設計 -5- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先間讀背面之注意事項再填寫本頁) 訂 绛, 經濟部中央標準局員工消費合作社印製 A7 B7____ 五、發明説明(3 ) ,由於二組分別的位址,資料與控制線路必須由微處理機 提供,故此會顯著地增加微處理機之銷腳數與複雜性。因 此,純哈佛架構之微處理機雖對干擾問題提供解答,但其 代價很高。 在微處理機内部使用高速緩衝記憶體有助於減少取得 與蓮算元存取間之干擾。高速緩衝記憶體為微處理機所用 的高速記憶體形式,K緩衝CPU可能用到資料與指令之複 製。當CPU產生一取得要求或蓮算元謓取要求,該匯流/高 速緩衝記憶體單元起先會檢核高速緩衝記憶體,Μ決定所 要求之指令或資料會駐於該高速緩衝記憶體内。若所要求 的指令或實料可於高速緩衝記憶體中找到(稱之為「高速 緩衝記憶體命中」)*所要求的指令或資料會被送回CPU, 而不須存取外部記憶體。若所要求的指令或資料未於高速 緩衝記憶體中找到(稱之為「高速緩衝記憶體漏失」),該 微處理機必須在送回該要求指令或資料之前由外部記憶體 執行一讀取動作。有各種法則用Μ更新高速緩衝記億體所 保留的指令與寘料,Κ達成高命中率,並因而降低微處理 機須存取外部記憶體之頻率。 由於一次只能執行高速緩衝記憶體存取一次,所Μ就 算微處理機能嚴格地在高速緩衝記憶體之外蓮轉,取得存 取與蓮算元存取間之干擾遷是會存在。不過\由於高逮緩 衝記憶體存取次數一般比外部記憶體之存取次數少得多, 所Κ當取得與蓮算元要求間之干擾發生時,CPU作業會被 延緩的期間較短。因此,用於指令與資料的單一體的高速 "6 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先鬩讀背面之注意事項再填寫本頁)
經濟部中央標準局貝工消費合作社印製 Α7 Β7 五、發明説明(4 ) 媛衝記憶體可減少取得要求與運算元存取要求間干擾之影 響。 為了進一歩降低取得要求與運算元存取要求間之干擾 ,一些CPU使用編碼與資料之不同高速緩衝記憶體。這種 微處理機設計可稱為一種哈佛架構型之設計,使得CPU能 由一指令高速緩衝記憶體取得指令並同時於一資料高速緩 衝記憶體存取運算元。 雖然使用二個分離高速緩衝記憶體比起具有單一高速 緩衝記憶體的微處理機可提供績效之顯著提升,但該外加 的第二個高速緩衝記憶體增加了微處理機之複雜性。舉例 而言,一個具有2K位元組之資料高速媛衝記憶體與2K位元 組之指令高速鍰衝記憶體的微處理機,比起相同之微處理 機具有編碼與資料共甩的單一體高速緩衝記憶體〜須有更 多的邏輯。其結果為很多微處理機製造廠均選擇使用單一 體之高速緩衝記憶體。 就如前文所指出者,在使用軍一體高速緩衝記億體( 即所稱之范紐曼架構設計型式)與使用分離的資料與指令 高速緩衝記憶體(即所稱之哈佛架構設計型式)間的設計選 擇係涉及二種具競爭性的設計目標。哈佛架構設計型式之 提供目的為減少取得與蓮算元存取間的干擾,但其代價為 增加微處理機電路的數量。 本發明係被導向於一種電路與方法* Μ減少范紐曼微 處理機中對高速緩衝記憶體與外部記憶體之取得與蓮算元 存取間的千擾。本發明的總目標為獲取由哈佛架構型式所 本紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ297公釐) -----^--------裝-----Γ 訂------鍊 (請先閲讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作4印製 A7 _^_B7_^_-_ 五、發明説明(5 ) 提供的某些績效上之益處,但又不須增加第二高速緩衝記 憶體。 本發明係有關於微處理機所用的存取控制單元及其對 應之方法》Μ處置CPU所發出的取得要求與運算元要求。 本發明被導向於范紐曼型式之微處理機,其對資料與編碼 具有單一體之高速緩衝記憶體。 v該存取控制單元由CPU接收記憶體存取命令(取得要求 與蓮算元存取要求)與相對應之位址,並將該記憶體命令 與位址發給所企圖的微處理機之匯流/高速緩衝記億體單 元。無法立即被執行之取得要求被延媛,以讓任何蓮算元 存取要求可先被執行,而不致有CPU作業的不必要延緩。 當無蓮算元存取為擱置時,被延猨之取得要求再被執行。 其績效益處類似於使用第二高速緩衝記億體所能達成的, 但又不須增加第二高速緩衝記億體。 該雙取控Μ早元的較隹實—取—摄, 其保存被延緩取得要求之取i位址、一多工器,其由CPU 位址與取得位址佇列間加以選擇、一位址暫存器連接到該 多工器之輸出,其保存在隨後時鐘週期所要嘗試存取之位 址及=¾態機器。該狀態機器接收CPU之記憶體存取 命令,並決定該存取是否須在下一個時鐘週期嘗試,或延 緩一個後續時鐘週期。蓮算元存取則永遠會在_下一涸時鐘 週期嘗試。 當CPU發出一個取得要求時,該狀鹚機器決定該取得 須在下一個時鐘週期嘗試或者該取得須被延緩。若該狀態 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) ----!---1---U-----Γ訂^------1#. (請先閲讀背面之注意事項再填寫本頁) A7 B7 五、發明説明(6 ) 機器決定該取得須被延緩,其會將該取得位址推入取得位 址佇列。為了決定該取得是否須被延緩》該狀態機器評估 正被發出之取得要求型態(前置取得、條件取得或無條件 取得),而不論有任何取得位址目前已在取得位址佇列、 高速緩衝記憶體之狀態為何、Μ及外部匯流至記憶體之狀 態為何。 若該狀態機器決定某一記憶體存取必須在下一個時鐘、 週期嘗試,其會控制該多工器選擇所對應的位址(由CPU或 者取得位址佇列),並將該位址載人位址暫存器。該匯流 /高速緩衝記憶體單元會在下一個時鐘週期嘗試存取。 經濟部中央標準局員工消费合作社印製 (請先聞讀背面之注意事項再填寫本頁) 若所正要嘗試的存取為一蓮算元存取,該存取會一直 被嘗試直至被執行為止,必要時會延鍰CPU之作業。若所 正要嘗試的存取為一個現行取得要求(即正由CPU發出之取 得要求),該取得位址會被推入該取得位址佇列,除非該 取得可在現行的時鐘週期之際被執行(或被起動)。若該正 要被嘗試的存取為一延緩的該取得(即正由取得位址佇列 所發出的取得要求),該取得會再被進一步延緩(即該取得 位址被留在該取得佇列),除非該取得可在現行的時鐘週 期之際被執行(或被起動)。若該(現行或延緩的)要求可被 立即執行*該取得位址會由該取得位址佇列移去。 前置取得要求、條件取得要求與無條件取得要求係由 狀態機器Μ類似方式處置,即若其無法立即被執行時均會 被延緩。不過*當條件或無條件取得要求被狀態機器接收 時(指出程式分支已被取得),狀態機器會沖洗該取得位址 本紙張尺度適用中國國家標準(CNS ) Α4規格(210X297公釐) 經濟部中央標準局員工消費合作社印製 A7 B7 五、發明説明(7 ) 佇列。擱置的取得因而被取消,消除了不必要之記憶體存 .取。 該狀態機器執行取得要求(若有的話)之順序為依其由 .一· CPU所接收之順序。不過,該狀態機器可利用將取得要求 延緩,而允許取得要求在就蓮算元存取要求而言,不依順 序被執行。在Μ此方式執行取得要求,以及對蓮算元存取 要求給予比取得要求高之優先性下,此二種型式之存取要 求間的干擾可顯著地被降低。運算元存取要求可在不須等 擱置取得要求被執行下執行。擱置取得要求便可在無所蓮 算元存取要求為擱置時被執行。因此,記憶體外部之高速 緩衝記憶體與匯流的蓮用可達到最大化。 在該存取控制單元的另一個實施例中,該取得位址佇 列額外地儲存有對應於已被延緩之取得要求的取得例外狀 態資料。該取得例外狀態資料係由一電路產生,此電路對 CPU所發出的取得位址執行一個Κ上之例外檢核。當延緩 的取得要求被執行時,該取得例外狀態資料被送到一個指 令緩衝器,然後在對應的指令被執行時再被送到CPU。該 CPU評估該取得例外狀態資料,以決定是否要採取一例外 作業。 第1圔為一習知技藝之微處理機的高階方塊圖,本發 明可於此被實施; 第2圖為一習知技藝之微處理機的計時圖,以說明當 一取得要求隨後有一蓮算元存取要求時,指令執行如何被 延緩; — "10- _ 本紙張尺度適用中國國家標準(CNS ) A4規格(210X:297公釐) (請先閲讀背面之注意事項再濟寫本頁) r裝· 訂 經濟部中央標準局員工消費合作社印製 A7 B7 五、發明説明(8 ) 第3a圖為一微處理機之高階方塊圖,其包括本發明之 存取控制單元; 第31)圖為第3 a圖之存取控制單元的高階方塊圖; 第4 a圖為第3 b圖之狀態機器的解碼邏輯決策樹; 第4b圔為第3b圖之狀態機器的解碼邏輯決策樹,其控 制蓮算元要求之苜試〆 .第4c圖為第3b圖之'狀態機器·的解碼邏辑決策樹,’其控、 制現行取得要求之嘗試; 第4d圖為第3b圖之狀態機器的解碼邏輯決策樹,其控 制被延緩取得要求之嘗試;_ 第5圖為一計時圖,說明該存取控制單元之作業;K 及 第6圖為一微處理機之高階方塊圔,萁包括本發明之 存取控制單元的另一假實施例。 在各圔中,相同的參考數字代表相同的或功能上類似 的元件。此外,參考數字的最左逢一位數字表示此參考數 字係在此圖第一次出現的圖號。 本發明所針對的問題可參照第一圖進一步地描述。第 1圖為一習知技藝微處理機100之高階方塊圖,本發明可在 此被實施。該微處理機100包括一CPU110、一匯流/高速緩 衝記憶體單元120與一指令媛衝器130。該微罈理機100遷 可選擇地包括一定位址單元112與一個頁轉移單元114,其 可因此記述與符合本發明之記述目的*而視為CPU110(如 示)之一部分。匯流/高速緩衝記憶體單元包括一指令與資 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) — p. _ | ^ ~ 訂 L 鍊 ! (請先閎讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作杜印製 A7 B7 五、發明説明(9 ) 料二者所甩的單一高速緩衝記憶體。 CPU110利用一無方向性之位址匯流^16連接到匯流/高 速緩衝記憶體單元120。CPU110亦由一雙向資料匯流126連 〆一 接到匯流/高速鍰衝記憶體單元120。該匯流/高速緩衝記 憶體單元120在線路124上提供一「等候」信號到CPU110, Μ通知CPU110某些已要求$作業的狀態。 匯流/高速緩衝記憶體單元120由一外部匯流連接到一、 系統記憶體(「記憶體」)。該匯流/高速緩衝記憶體單元 120由一匯流132連接到指令緩衝器130。指令鑀衝器130之 輸出用匯流134連接到該CPU110。該CPU經由一微指令匯流 15〇提供微指令給匯流/高速緩衝記憶體單元120與指令緩 衝器130。 當CPU110所執行的指令需要微處理機100存取記憶體 140(或高速緩衝記憶體122)時,CPU110會發出一蓮算元存 取要求給匯流/高速媛衝記憶體120,其形式為在匯流150 上之微指令。CPU110亦在匯流116提供一實體蓮算元位址 給匯流/高速緩衝記憶體單元120。匯流/高速緩衝記憶髖 單元120K檢核高速媛衝記憶體122K回應運算元存取要求 ’且必要時會在匯流142上執行所要求的存取。若後績的 指令須根據蓮算元存取之完成,匯流/高速緩衝記憶體單 元120必要時會在線路124上發出一「等候_i信號K延緩 CPU的作業。在記憶體14〇(或高速緩衝記憶體122)讃取或 寫入之蓮算元實料會在資料匯流126上於CPU110與匯流/高 速緩衝記憶體單元120間傳送。 準(CNS )祕(21(^4釐"5 :〜-- ^ | ^钉 L_ .^ : 線. (請先閲讀背面之注意事項再f本頁) A7 • _^_B7______ 五、發明説明(10 ) CPU110亦發出取得要求給匯流/高速緩衝記憶體單元 120,K完成可能由CPU110執行取得指令之目的。為了發 出一取得要求,CPU110會在匯流150產生適當的微指令, 並在匯流116提供一實體取得位址以確定執行該取得之起 始位址。匯流/高速緩衝記憶體單元12ΌΜ由高速緩衝記億 體122或記憶體140所要求的取得指令來回應取得要求,並 在匯流132上送回該取得指令給指令緩衝器。由指令緩銜 器130所保留的指令會由匯流134送給CPU110 *除非該CPU 110會取得一分支而使指令緩衝器130所保留的指令須被放 棄。 有關習知技藝微處理機因蓮算元存取要求與取得要求 係典型地於匯流/高速緩衝記億體單元120依序被執行所形 成之問題,造成在蓮算元存取與取得要求間不必要的高度 干擾。此問題可由第2圖說明。第2圖為典型順序事件的計 時圖,這件事件可在一取得要求於下一個時鐘週期隨之有 蓮算元存取要求時發生。 經濟部中央標準局員工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁) 參照第2圖,CPU110在第一峙鐘週期T1發出取得要求 給匯流/高速緩衝記憶體單元120。匯流/高速緩衝記憶體 單元120在第二時鐘週期T2判斷該要求的取得資料未出現 於高速緩衝記憶體(高速緩衝記憶體漏失)。CPU110亦在第 二時鐘週期T2決定須有蓮算元讀取作業。CPU110會依特定 的設計,CPU110可能延緩蓮算元讀取要求之發生,直至取 得要求完成(未畫出)為止*或者也可能在T2發出該蓮算元 讀取要求(如虛線所示)。在此任一情況中,匯流/高速緩 •13· 本紙張尺度逋用中國國家標f ( CNS ) Α4ίϋΐ〇Χ297公釐) ' 經濟部中央標準局貝工消費合作社印製 A7 ___'_B7__ 五、發明説明(11 ) 衝記憶體單元120在取得已被完成前均不會被執行。在第 兰與第四時鐘週期T3及T4,由於外部匯流142忙線,故匯 流/高速緩衝記憶體單元120不能執行取得存取。外部匯流 在這些週期會忙線的原因很多,例如,一DMA(直接記億體 存取)作業可能正在進行,或者匯流/高速緩衝記憶體單元 120可能正在執行先前發出的蓮算元存取要求。 外部匯流142在第五時鐘週期變成可用,且匯流/高速、 鍰衝記憶體單元120開始執行取得存取。執行取得所需的 時鐘週期個數係依數個因素而定,包括被讀取之取得資料 的位元組個數與外部匯流142之資料路徑(未畫出)寬度。 匯流/高速緩衝記憶體單元120在第R個時鐘週期TN完 成取得存取。CPU110在第N + 1假時鐘週期TN + 1發出蓮算元 讀取要求給匯流/高速緩衝記憶體單元120*其由第二時鐘 週期T2起一直被延緩。該匯流/高速緩衝記憶體單元120在 第N + 2個時鐘週期TN + 2由高速緩衝記憶體122取出蓮算元讀 取資料,並在該資料匯流126上將蓮算元讀取資料送回給 CPU。 此例說明了蓮算元存取因取得要求而被保留的可能情 況。在第二時鐘週期T2可能已被發出並且在第三時鐘週期 T3完成的運算元存取,於先前發出的取得要求被完成前並 不須被擱置。假定後續的指令須依據此蓮算@存取,這些 後績指令的執行也必須在運算元譲取之前被擱置。 第2圖說明CPU110之作業因運算元存取與取得存取間 的干擾而被擱置的許多可能情境。這種干擾問_之一個部 _^_-14-__ 本紙張尺度適用中國國家標準(CNS ) A4規格(2丨0X297公釐) 一 (請先閲讀背面之注意事項再填寫本頁)
A7 B7_______ 五、發明説明(12 ) 分解決之道為使甩分離的資料與指令高速緩衝記憶體。分 離高速緩衝記憶體之使用使得當所有或某些所要求的蓮算 元與取得資料駐於個別高速緩衝記憶體時,允許取得與蓮 算元存取可同時被執行。然而就如上面所討論者,二個分 雜高速緩衝記憶體之使用會有須使微處理機邏輯數量顯著 增加的缺點。因而,其便欲對此問題提供一個不須有額外 高速緩衝記憶體之解決方法。 第3a圖顯示一個依據本發明的微處理機100。該微處 理機100在架構上與第1圖之微處理機枏同*但包括有一個 本發明中該用以存取至高速緩衝記憶體122與外部記憶體 140之取得及蓮算元存取的存取控制單元300。第3b圖為一 個高階方塊圔*其說明該存取控制單元300之一個實施例 / 〇 參照第3b圔,該存取控制單元包括有一個位址暫存器 310(「暫存器」)、一取得位址佇列320、一多工器330、 經濟部中央標準局貝工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁) 痒. Μ及一狀態機器350。在較佳實施例中,該取得位址佇列 320為一Κ先進先出來推入及去掉的媛衝器,其最大可保 留二個位址。位址匯流116被接到多工器330作為一個第一 輸入,並被接到取得位址佇列320作為輸入。取得位址佇 列320的輸出利用匯流334被接到多工器330作為一個第二 輸入。多工器330的輸出利用匯流332被接到f存器310作 為輸入。暫存器310的輸出利用匯流338被接到匯流/高速 緩衝記憶體單元120。 狀態機器350以微指令匯流150接到CPU110,Μ允許狀 __215-__ 本紙張尺度適用中國國家標準(CNS ) Α4規格(210X297公釐) : ~ 經濟部中央標準局員工消費合作社印製 A7 B7 五、發明説明(13 ) 態機器150接收記憶體存取命令(即取得要求與蓮算元存取 要求)。該狀態機器350在線路124提供一「等候」信號給 CPU110M延遲CPU110之作業。狀態機器350在線路324提供 一「取消」信號給CPU110K取消CPU110所發出的取得要求 。狀態機器350在線路352提供一「推入」信號給取得位址 佇列320以將選定的實體位址推入取得位址佇列320。該狀 態機器350在線路354提供一「沖洗」信號給取得位址佇列、 320以沖洗取得位址佇列320。狀態機器350在線路355提供 一「去掉」信號給該取得位址佇列320以由取得位址佇列 320去掉(即有效地除去)一實體位址。狀態機器350在線路 356提供一選取(SEL)控制信號Μ控制多工器330。該狀態 機器350在線路358提供一閂促成信號給暫存器310,Μ將 出現在匯流332的實體位址載入暫存器310。狀態機器350 在線路370提供存取的大小及型式資訊給匯流/高速緩衝記 憶體單元120。狀態機器350在線路372由匯流/高速緩衝記 憶體單元120接收匯流/高速緩衝記憶體狀態資訊。 狀態機器350具有內部暫存器(未畫出)Κ記存已被延 緩之擱置中取得要求的狀態。這些暫存器指出在取得位址 佇列320内有多少取得位址。這些暫存器亦額外指出在取 得位址佇列320内每一個取得位址是否有發生高速媛記憶 體漏失,而可在延緩的取得要求被嘗試時避免不必要的高 速緩衝記憶體嘗試。 現在將描述存取控制單元300之一般作業。詳细的說 明將參照第4a,4b,4c與4d圖加Κ提供。 ___-16-_;_ 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) _ J 裝 訂 (請先閲讀背面之注意事項再填寫本頁) A7 —_B7 ____ 五、發明説明(14 ) 存取控制單元300的主要目的在於要分離取得要求及 蓮算元存取要求,與在延緩無法立即被執行的取得要求。 被延緩的取得要求之取得位址被存於取得位址佇列320 * 直至被執行或取消為止。蓮算元存取要求所定的優先性高 於被延緩的取得要求,使CPU110之作業不會因擱置中的取 得要求而不必要地被延緩。被延緩的取得要求會在每—個 沒有蓮算元存取要求被擱置之時鐘週期被嘗試。 經濟部中央標準局員工消費合作社印裝 (請先閲讀背面之注意事項再填寫本頁) 參照第3b圖,該狀態機器350利用控制線路352,354, 356與358經由存取控制單元300來訂定出現在該位址匯流 116之實體位址路徑。實體位址被訂的路徑依所正被執行 的存取型式(就如在匯流150上由微指令所指示者)、取得 位址佇列320之狀態(即取得位址佇列320目前為空的、滿 的、或不空也不滿)、Μ及高速緩衝記憶體122與外部匯流 142之狀態(即由「匯流/高速緩衝記憶體狀態」線路372所 指示者)而定。高速緩衝記憶體122可能因很多原因之任一 而忙線。例如,匯流/高速緩衝記憶體單元120可能在執行 處理高速緩衝記憶體線路充填、高速緩衝記憶體沖洗或處 於高速緩衝記憶體無效週期。該連接到記憶體140的匯流 142 (第3Α圖)也同樣地可能因多種原因而忙線。例如,有 蓮算元存取正在處理中,或匯流142可能被鎖定或保留。 對每一個CPU110發出有記憶體存取命令的時鐘週期而 言,若取得位址佇列320未滿*則所對應的實體位址會被 載入取得位址佇列320。一當實體位址已被載入取得位址 佇列320,狀態機器350可利用使「推入」信號線路352作 _-17-_ 本紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ297公釐) 經濟部中央標準局員工消費合作社印製 A7 _^;_B7 ___ 五、發明説明(15 ) 用而有效地將該位址推至取得位址佇列320上。取得位址 佇列320係利用將其内部指標(未畫出)增量來回應「推入 」信號。若該狀態機器350未在下一個載入取得位址佇列 320之前發出「推入」信號,則該實體位址將會被重寫蓋 掉。 若CPU110在取得位址佇列320已滿時發出記憶體存取 命令,匯流116上的位址不會被載入取得位址佇列320。若、 此記憶體存取命令為一取得要求*狀態機器350會使「取 消」信號線路324以通知CPU110該取得要求已被忽略。 若該取得要求因高速緩衝記憶體122與(或)匯流142 ( 第33層)忙線之结果而無立即被執行,狀態機器350會將一 取得位址推入到取得位址佇列320上。蓮算元位址絕不會 被推入取得位址佇列320上。在取得位址佇列320前方的取 得位址(即最近才被推入到取得位址佇列320上的取得位址 )會在每涸時鐘週期出現在線路334上(若有的話)。狀態機 器350可K利用使「去掉」信號線路335作用,而由取得位 址佇列320去掉一取得位址。取得位址佇列320係Μ使該指 標減量,Μ允許在該取得位址佇列320前方的取得位址被 重寫蓋掉,來回應一個「去掉」信號。 狀態機器350在線路356產生一「選取」(SEL)信號, Μ使多工器330選取在匯流116上之實體位址或在匯流334 上之取得位址。匯流116上之實體位址對應於正由CPU110 發出的記憶體存取命令(「現行記憶體存取命令」)。匯流 334上之實體位址對應於已被延緩的取得要求(「延緩取得 _ _-18__ 本紙張尺皮適用中國國家標準(CNS ) Α4規格(210Χ297公釐) —— (請先閲讀背面之注意事項再填寫本頁) r裝. 經濟部中央橾準局負工消費合作社印製 A7 ______B7_^_ 五、發明説明(16 ) 要求」)。由多工器330所選取的實體位址會出現在匯流 332上。該狀態機器可K利用在線路358提供一閂信號而將 此位址載入暫存器310。 —, 一. 暫存器310會為蓮算元存取要求或取得要求保留一單 一位址。狀態機器350以一位址載人暫存器310,其會被匯 流/高速緩衝記憶體單元120*於下一個時鐘週期做為存取 嘗試之用。由此暫存器310所保留的位址在匯流338上提供 給匯流/高速緩衝記憶體單元120。該狀態機器350在線路 370與372提供對應的存取型式與大小資訊給匯流/高速緩 衝記憶體單元120〇 在微處理機100之較佳實施例中,CPU110產生三種不 同型式之存取要求:前置取得要求、條件取得要求與無條 件取得要求。條件取得要求僅在有條件分支實際發生時才 由存取控制單元300接收。所有的三種取得要求型式均可 .儲存在取得位址疗列320内。然而,當一個條件取得或無 條件取得之要求由CPU110被接收時,狀態機器350會在線 路354發出一「沖洗」信號,以取消在取得位址佇列320中 所存在的任何位址。當有分支到新的程式位址發生時*擱 置中的取得便因而被放棄,K使不必要的取得作業減到最 少0 重要的是,一當有取得位址被推入取得位_址佇列320 上時,CPU110便釋放對擱置中取得存取之控制*並繼續執 行包括蓮算元存取之其他作業。該存取控制單元300係在 不會有非必要地延縝CPU110作業的背景下才會執行擱置中 ___-19-_ 本^張尺度適用中國國家標準(〇阳)八4規格(210父297公釐) (請先閲讀背面之注意事項再漆寫本頁) —訂 -槔. A7 B7 經濟部中央標準局員工消費合作社印製 五、發明説明(17 ) 的取得。 若有一個以上的取得位址在該取得位址佇列320内,且 CPU110在目前之時鐘週期未發出蓮算元存取時,在取得位 址疗列320前方的取得位址(即最近被延媛的取得位址)會 被載入暫存器310,且該被延緩的取得會被嘗試。因而, 延媛的.取得要求會在每一假未有擱置蓮算元存取的時鐘週 期被嘗試(除非在該琨行時鐘週期會發生程式分支,造成、 取得位址佇列320將被沖洗)。 第4a,4b,4c與4d圖說明依據本發明而執行取得與運算 元存取的決策樹。該決策樹代表包含於狀態機器350之邏 輯。在第4a圖所示的決策樹代表在狀態機器350之解碼邏 輯段落(解碼邏輯未畫出)。該解碼邏輯段落在每一假時鐘 週期接收一微指令*其可或未確定一記億體存取命令(即 取得要求或蓮算元存取要求 >。依據所確定的要求型式(若 有的話)及取得位址佇列320之狀態,此解碼邏輯決定何種 型式的記憶體存取(運算元存取、現行取得或被延緩取得 )若有的話,須在下一個時鐘週期被嘗試。 第41),4(:與4€1圖的決策樹分別代表嘗試一蓮算元存取 、一現行取得與一被延緩取得的骚輯(邏輯並未畫出)。這 三種決策樹代表一種管路階段,其後立即緊隨著狀態機器 350之解碼邏輯段落(第4a圖)。因而,第4a圖之決策樹代 表在記憶體存取命令時鐘週期内所做的決策樹,且第4b, 4c與4d圖之決策樹代表立即緊隨在該命令週期後之存取時 鐘週期內所做的決策樹。 -20- (請先閱讀背面之注意事項再填寫本頁) -? Γ 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 經濟部中央標準局員工消費合作社印製 A7 B7 五、發明説明(18 ) 參照第4a儷,狀態機器350之解碼邏輯於每一個時鐘 週期接收一微指令並將匯流116上之位址(若有的話)載入 取得位址佇列320,就如處理方塊400所示者。該微指令 可或未確定一現行的記憶體存取命令。若所確定的為記憶 體存取命令,該狀態機器350如決策方塊402與404所示地 決定存取要求的型式。若所確定的為蓮算元存取要求,狀 態機器350定出如處理方塊406所示之在匯流116上實體位、 址至暫存器310的路徑。此可允許該蓮算元存取要求可在 下一個時鐘週期(即該微指令正被執行的存取週期)内被嘗 試。嘗試蓮箕元存取的決策樹將參照第4b圖在下面說明。 若所確定的存取型式為前置取得要求,狀態機器350 如決策方塊408所示地檢核該取得位址佇列320之狀態。若 該取得位址佇列320為空,該狀態機器350如處理方塊410 所示地定出現行取得要求之位址(即在匯流116之位址)的 路徑。該狀態機器350在下一個時鐘週期嘗試取得要求(第 4c厲)0 若在決策方塊408之取得位址佇列320為滿的,狀態機 器350如處理方塊412所示地取消現行的取得要求。為了取 消該現行的取得要求,狀態機器350會發出「取消」線路 324至CPU110,並忽略由微指令所確定的取得要求。CPU 110(在必要時)於後續的時鐘週期再發出該取消的取得要 求。狀態機器350如處理方塊414所示地,亦定出在取得位 址佇列320前方之取得位址至暫存器310之路徑,使得所對 應的延緩取得要求可在下一個時鐘週期嘗試(第圔)。 _221-___ 本紙張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐) I----------------—IT----------硃 (請先閱讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作社印製 A 7 __'_B7_ 五、發明説明(I9 ) 若在決策方塊408的取得位址佇列320不滿也不空(即 就較佳實施例而言,有一取得位址在取得位址佇列320內 ),狀態機器350如處理方塊416所示地將現行取得位址推 入取得位址佇列320上。狀態機器350如處理方塊414所示 地亦定出在該取得位址佇列320前方的取得位址至暫存器 310之路徑。該延緩的對應取得要求便在下一個時鐘週期 嘗試(第4d圔)。 參照決策方塊404,若存取型式為一分支取得(即為一 條件取得或無條件取得),取得位址佇列320會如處理方塊 420所示地被沖洗* K取消所有的延媛取得要求。就如上 面所指出者,條件取得僅在條件分支實際發生時才被狀態 機器350接收。為了要沖洗該取得位址佇列320,狀態機器 350會發出「沖洗」信號線路354。狀態機器350如處理方 塊410所示地亦會將現行取得位址(即在匯流116之位址)載 入暫存器310,使得現行取得要求可在下一個存取週期嘗 試(第4c圖)〇 參照決策方塊402,若無記憶體存取命令被現行微指 令所確定,狀態機器350會如決策方塊422所示地檢核取得 位址佇列320之狀態。若取得位址佇列320為空的*其會如 處理方塊424所示地*將無記憶體存取會在下一個時鐘週 期被嘗試。若取得位址佇列320不為空的,狀態機器350會 將取得位址佇列320前方之取得位址如處理方塊426所示地 載入暫存器310。該對應的延緩取得要求便在下一個時鐘 週期被嘗試。 '_-22-_ 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閲讀背面之注意事項再填寫本頁) Α7 Β7 經濟部中央標準局負工消費合作社印製 五、發明説明(20 ) 就如前文所指出者,延緩的取得要求僅在現行時鐘週 期之内並無蓮算元存取被CPU110發出下,才會在下一個時 鐘週期被嘗試。蓮算元存取要求因而被給予高於撕置(即 延緩)取得要求之優先性。此優先性之指定可因允許撕置 的蓮算元存取立即被執行,不須等候擱置的取得要求被執 行*而顯著地提升績效。吾人須進一步注意到,狀態機器 350係在第一個時鐘週期,而且無蓮算元存取為擱置下嘗、 試被延緩的取得要求。 現在將描述第4b圖所示之決策樹。其所顯示的決策樹 代表該狀態機器350在嘗試一蓮算元存取直至該存取被執 行為止的邏輯。該運算元存取係利用如第4a圔之處理方塊 406所示之在命令時鐘週期内被置於暫存器310中的蓮算元 位址加以執行。參照第4b圖,狀態機器350起先如決策方 塊430所示地檢核高速緩衝記憶體122之狀態。若高速緩衝 記憶體122為忙線,狀態機器350會如處理方塊432所示地 將CPU110停止一個時鐘週期。高速緩衝記憶體可能在此狀 況下忙線,例如因高速緩衝記憶體線路已滿或高速緩衝記 憶體沖洗之结果。狀態機器350係Μ發出「等候j信號線 路124來停止CPU110。在停止一個週期後,狀態機器350再 次檢核高速緩衝記憶體122,並繼續使CPU110停止至富速 緩衝記憶體122已為備用為止。 一當高速緩衝記憶體122準備好,匯流/高速緩衝記億 單元120如決策方塊434所示地利用暫存器310內之位址來 檢核高速緩衝記憶體122。此高速緩衝記憶體嘗試係由匯 ___-23-__ 本紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ297公釐) - ; ^衣 訂 II 疼, (請先閲讀背面之注意事項再填寫本頁), A7 B7 五、發明説明(21 ) 流/高速媛衝記憶單元120之狀態機器(未晝出)所控制。此 高速緩衝記憶體單元120之狀態機器在線路372提供迴饋給 狀態機器350, K指出高速媛衝記憶贖嘗試之狀態。 若有高速緩衝記憶體漏失發生,狀態機器350會如決 策方塊438所示地檢核外部匯流142至記憶體140之狀態(第 3a圖)。若匯流142尚未準備好,狀態機器350會如處理方 塊439所示地將CPU110停止一個時鐘週期。狀態機器350繼、 績使CPU110停止至匯流142準備好為止。一當匯流142準備 好,匯流/高速緩衝記憶單元120會如處理方塊440所示啟 動對記憶體140之存取。一當該運算元存取已被啟動,存 取控制單元300可發出額外的記憶體存取命令給匯流/高速 緩衝記憶單元120。 經濟部中央標準局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) 參照決策方塊434與處理方塊436,若有高速緩衝記憶 體命中發生,高速緩衝記憶體存取會被執行。若記憶體存 取命令為一蓮算元讀取作業,會如決策方塊442與處理方 塊444所示地無蓮算元會被執行。若記億體存取命令為一 蓮算元寫出*狀態機器會隨著高速鑀衝記億體寫出(假設 所用的為經由高速緩衝記憶體寫出之方式)後將運算元資 料寫至記憶體140。因而,狀態機器350就如上述般地在若 外部匯流142忙線時將CPU110停止,且一當外部匯流142準 備好時會執行該蓮算元存取。 現在將描述第4c圖之決策樹。此決策樹代表要嘗試一 個現行取得要求之狀態機器350的邏輯。就如第4a圔所示 的,此邏輯係在若有一分支取得要求在前一個時鐘週期由 -24- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 經濟部中央標隼局貞工消費合作社印裝 A7 _^_B7 _ 五、發明説明(22 ) CPU110發出,或若有一前置取得要求在前一個時鐘週期被 發出,且取得位址佇列320為空的時被蓮用。在二者任一 情況中,該取得位址佇列320在此邏輯被蓮用時係為空的 .·· 一 〇 參照第4c圖的決策方塊446,狀態機器350起先檢核高 速緩衝記憶體之狀態。若高速緩衝記憶體122忙線,現行 取得要求之取得位址會如處理方塊447所示地被推入取得、 位址佇列320上。現行取得要求因而被延緩。 若高速鍰衝記億體122為準備好且有高速鍰衝記憶體 命中發生,現行取得會如決策方塊448與處理方塊450所示 地被執行。若有高速緩衝記憶體漏失發生,狀態機器350 會如決策方塊452所示地檢核外部匯流142之狀態。若外部 匯流142為準備好,匯流/高速媛衝記憶體單元120會如處 理方塊454所示地啟動由記憶體140之現行取得。一當由記 憶體140的取得已被啟動,其持續至完成為止。若外部匯 流142忙線,現行取得位址會如處理方瑰456所示地被推入 取得位址佇列320上。就如所指出者,狀態機器350會利用 設定狀態機器350的一個暫存器(未畫出)之一位元來記錄 該取得要求之高速緩衝記憶體漏失狀態。此可允許當該取 得要求(由取得位址佇列320)在後績時鐘週期被再嘗試時 ,避免後績的高速緩衝記憶體苜試。 就如前文所指出者,任何可能現行的取得要求係在單 一時鐘週期被嘗試。若該取得無法立即被執行(即高速緩 衝記憶體122忙線,或在高速緩衝記憶體漏失後應流142忙 __ -25. _ 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閣讀背面之注意事項再填寫本頁)
經濟部中央標準局員工消費合作社印製 A 7 B7五、發明説明(23 ) 線),現行的取得要求會在下一個時鐘週期被延緩。因而 ,現行取得要求之被嘗試不像蓮算元存取者,CPU110不會 被存取控制單元300所擱置。此比起習知技藝會有顯著的 績效益處。 現在將描述第4d圔之決策樹。此決策樹代表狀態機器 350所要嘗試被延緩取得要求之邏輯。被延緩的取得要求 係利用在前一個時鐘週期被置入暫存器310中的取得位址 佇列320前方之取得位址被嘗試(見第4a圔之處理方塊414 與426)。就如決策方瑰460所示者,狀態機器350起先檢核 對應的高速緩衝記憶體漏失狀態位元,K決定前一個時鐘 週期是否發生有高速緩衝記憶體漏失。若先前發生有高速 媛衝記憶體漏失,狀態機器350會如決策方塊462所示地檢 核外部匯流142之狀態。若外部匯流142為準備好的,該被 延緩的取得會如處理方塊464與466所示地由記憶體140被 啟動*且取得位址會由取得位址佇列320被去掉。 若先前有高速緩衝記憶體漏失發生且外部匯流142目 前為忙線,該取得要求會如處理方塊470所示地被進一步 延緩。在此狀況下,該取得位址仍保留在取得位址佇列 320之前方。 參照決策方塊460與472及處理方塊474,若先前無高 速緩衝記憶體漏失發生且外部匯流122目前為忙線,該被 延緩的取得要求進一步被延緩。若在決策方塊472之高速 緩衝記憶體122未忙線,匯流/高速緩衝記憶體單元120會 如決策方塊480所示地為所要求的取得資料檢核禽速緩衝 _-26-_ 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閱讀背面之注意事項再填寫本頁) A7 B7 經濟部中央橾準局員工消費合作社印製 五、發明説明(24) 記憶體122。若有高速緩衝記憶體漏失發生,該狀態機器 350會如決策方瑰462與處理方塊464,466及470所示地執行 上述的序列工作。就如處理方塊470所示地,若該取得被 ·〆 進一步延緩,狀態機器350會設定一個位元以記錄高速緩 衝記憶體漏失已發生。若在決策方塊480有高速緩衝記憶 體命中發生*取得資料會(在現行時鐘週期)由高速緩衝記 憶體122取出,且該取得位址如處理方塊484與488所示地 被去掉。 就如前文所指出者,被延緩的取得要求係在單一的時 鐘週期被嘗試。若該被延緩的取得要求無法立即被執行( 即高速锾衝記懔體122忙線*或在高速緩衝記憶體漏失後 匯流142為忙線),該被延緩的取得要求再進一步被延緩且 該位址保留在取得位址佇列320之前方。 狀態機器350的邏輯直接隨於第4a,4b,4c與4d圖的決 策樹之後。熟習技藝者會瞭解如何结合組合性及序列性的 邏輯元件* K實施所述的狀態機器350。吾人亦瞭解到檢 核高速緩衝記億體122狀態用之邏輯,可在高速緩衝記憶 體122為被抑制下簡易地加Μ抑制或廢棄。 第5圖Κ 一序列記憶體存取命令為例說明上述第3a與 3b圖的存取控制單元300之作業。圖示的記憶體存取命令 序列類似於第2圖所示之序列*所增加的為第三時鐘週期 T3的蓮算元寫出要求。參照第4圔,CPU110在第一時鐘週 期T1發出一前置取得要求。假設取得位址佇列320在第一 時鐘週期T1為空的,對應的取得位址被暫存器310閂入, _-27-_ 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 一 (請先閲讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作杜印製 A7 B7 五、發明説明(25 ) 使得琨行的取得要求可在下一個時鐘週期被嘗試(見第4a 圔之處理方塊410)。該取得位址亦被載入取得位址佇列 320使得其在必要時可被推入取得佇列位址320上。 匯流/高速緩衝記憶體軍元120在第二時鐘週期T2檢核 高速緩衝記憶體122,並決定該要求的取得資料未在高速 緩衝記憶體122内(高速緩衝記憶體漏失)。由於外部匯流 142在第二時鐘週期T2忙線,狀態機器350將現行取得位址、 推入取得位址佇列320上(見第4c圖之處理方塊456)。該現 行的取得要求因而被延媛。狀態機器350亦為該被延緩的 取得要求設定一個高速緩衝記憶體漏失之狀態位元。 CPU110亦在第二時鐘週期T2發出一個蓮算元讀取要求 給存取控制單元300。該狀態機器350的解碼邏輯在此週斯 T2決定該運算元讀取要求將在下一個時鐘週期被嘗試*並 將對應的運算元位址载入暫存器310 (見第4a圖之處理方塊 406) 〇 匯流/高速緩衝記憶體單元120在第三時鐘週斯T3嘗試 該蓮算元讀取(第4b圖),並在高速緩衝記憶體122找出所 要求的蓮算元資料。CPIH10亦在第三時鐘週期T3發出一個 蓮算元寫出要求。狀態機器350的解碼邏輯(第4a圖)決定 該蓮算元寫出要求將在下一個時鐘週期被嘗試,並將對應 的蓮算元位址載入暫存器310(見第4a圖之處理方塊406)。 在第四時鐘週期T4時,該運算元寫出被嘗試並有高速 緩衝記憶體命中發生。由於微處理機100實施的為經由高 速緩衝記憶體寫出之計畫,狀態機器350會檢核外部匯流 •28- 本紙張尺度適用中國國家標隼(CNS ) A4規格(210X297公釐) - )¾ (請先閱讀背面之注意事項再旗寫本頁) 、-口
經濟部中央標準局員工消費合作社印製 A7 __:_B7__五、發明説明(26 ) 142之狀態。由於外部匯流142忙線,該狀態機器350會使 CPU110停止至該蓮算元要求可被執行為止(見第4b圖之決 策方塊438與處理方塊439及440)。 由於在第四時鐘週期T4,CPU110未發出記憶體存取命 令,且取得位址佇列320不為空,狀態機器350的解碼邏輯 (第4a圖)決定該被延緩的取得要求應在第五時鐘週期T5被 嘗試,並將該取得位址載入取得位址佇列320之前方。 狀態機器350在第五時鐘週期T5嘗試被延緩的取得(第 4d圖)。由於對該被延緩的取得先前有高速緩衝記憶體漏 失發生,狀態機器350會忽略高速緩衝記憶體122之狀態而 檢核外部匯流142之狀態(見第4d圖之決策方塊460與462) 。由於外部匯流142忙線,該被延緩的取得進一步被延緩 ,且取得位址不會由該取得位址佇列320去掉(見處理方塊 470)。由於在第五時鐘週期T5無記憶體存取命令被發出, 且取得位址佇列320不為空,狀態機器350之解碼邏輯(第 43圖)決定該被延緩的取得要求應在下一個時鐘週期T6再 次被嘗試。 由於外部匯流142在第六時鐘週期T6仍然忙線*該被 延緩的取得再被進一步延緩。狀態機器350之解碼邏輯再 次決定該被延緩的取得要求應在下一個時鐘週期T7被嘗試 Ο 狀態機器350在第七時鐘週期T7判斷外部匯流142已成 為有空,並因而由記憶體140起動該取得(見第4d圖之處理 方塊464)。狀態機器350亦在第七時鐘週期17將該取得位 _-29-_ 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) L----'--1----^裝------訂------贤「 (請先閱讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作社印製 A7 _ B7__— 、五、發明説明(27 ) 址由取得位址佇列320去掉,K有效地刪除該取得位址。 一當被起動後,該取得存取會持績到完成為止。 使用存取控制單元300所能達成的績效利益可由比較 第2圖(習知技藝)與第5圃看出。如第5圖所示者,存取控 制單元之使甩允許CPU110在一取得要求為擱置下執行蓮算 元存取指令。對照第2圖所示之情況*對高速緩衝記憶體 122與(或)記憶體140之運算元存取*會因擱置中的取得要、 求而不必要地延遲。一當高速緩衝記憶體122與(或)外部 成為有空*取得要求便由匯流/高速緩衝記憶體單元120執 行。高速緩衝記憶體122與外部匯流142之使用因而被達到 .最I佳化。 就如由前文所應可明瞭的,存取控制單元300給予蓮 算元存取要求之優先性高於擱置中之取得要求者。雖然本 方法之主要效果為減少取得要求與運算元存取要求間之干 擾,此給予蓮算元存取要求優先性之方法亦有增加該指令 緩衝器(第33圔)會成為枯竭之可能性。指令枯竭之影響可 由該微處理機100之設計而減少,其將執行由目前正在進 行之取得所取得之指令。例如在較佳實施例中,匯流/高 速緩衝記憶體單元120在有取得資料可用時便將取得資料 K 32位元之資料塊(若由高速緩衝記憶體122便為64位元之 資料塊)送回指令緩衝器130。指令緩衝器130在該指令被 接收時將之組合,使得其(必要時)可被送至CPlillO執行, 而不須等候匯流/高速緩衝記憶體單元120完成該取得作業 。CPU110在此際作業被擱置的時間長度因而可達到最小。 __ -30- 本紙張尺度適用中國國家標準(CNS ) Μ規格(210X297公釐) l·-----------^裝-------訂------疼· (請先閲讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消费合作社印製 Α7 Β7 五、發明説明(28 ) 本發明之存取控制單元300的另一個實施例將參照第 6圖加K說明。第6圖顯示一個第3 a與3b圖微處理機100與 存取控制單元300之實施例,其包括有額外的邏輯Μ處置 在取得要求時所產生的例外狀態資訊,為了使圖簡化*該 狀態機器350 (及其所配的控制與輸人線路)及微指令匯流 150被省略。 參照第6圖,一取得例外偵測電路600被接到位址匯流 116。該取得例外偵測電路600之輸出以一匯流610接到取 得位址佇列320,Κ讓例外狀態資訊被傳送到取得位址佇 列320。現在所顯示的取得位址佇列320可用為保留取得位 址與對應的例外狀態資料。匯流610亦被接到多工器630。 該多工器630在匯流610與取得位址佇列320之一輸出 640選擇,以在取得要求未被延緩而執行之時允許取得位 址佇列320被繞過。多工器630之輸出Κ匯流632接到指令 緩衝器130,Κ讓例外狀態資料被傳送到指令緩衝器130。 一個第二匯流634被連接於指令緩衝器130與CPU110之間* Μ允許例外吠態資料對應於指令被傳送到CPU110。 現在將描述第6圖之電路作業。該取得例外偵测電路 600監控出現在位址匯流116上之取得位址,並對此些位址 執行一個以上之例外檢核。這些可能執行的例外檢核型式 包括(但不限定於)斷點檢核、有限誤差檢核、分頁錯誤檢 核與對齊誤差檢核。會觸發這些例外型式之事件與執行有 關之位址比較的電路係熟習技藝者所瞭解的,因此不在此 處詳述。 __ -31-_ 本紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ297公釐) " (.請先閲讀背面之注意事項再填寫本頁) *言 經濟部中央標準局員工消費合作社印製 A7 _'_B7__ 五、發明説明(29 ) 當CPU110發出一取得要求*該取得例外偵測電路600 會在由位址匯流116的取得位址所定出的每16個可定位址 之位元組位置產生一個以上的例外狀態位元。所產生的例 外狀態位元個數係依所執行的例外檢核型式個數而定。就 存於取得位址佇列320的取得位址而言,由取得例外偵測 電路600所產生的對應例外狀態資料係如所示地由取得位 址佇列320加Μ儲存。該取得位址佇列320保留該例外吠態 資料與相關的取得位址,直至該些位址被發出給匯流/高 速緩衝記憶體單元120或被取消為止。對未被延緩的取得 位址而言,多工器630會選擇匯流610,Κ允許對應的钶外 狀態不須經由取得位址佇列320直接被傳送到指令緩衝器 130° 當取得要求被匯流/高速媛衝記憶體單元120執行時, 其對應的例外狀態資料在匯流632上由存取控制單元300被 傳送到指令緩衝器130。指令緩衝器130保存該例外狀態資 料與對應的指令,直至該些指令被執行或取消為止。就指 令係被執行者而言,該些指令與對應的例外狀態資料在相 同的時鐘週期內由匯流134、634傳送給CPU110。CPU110就 每個接收到的指令評估該例外狀態資料,並決定是否要採 取例外作業。因此,若有任何被偵測5(1的例外被採行,係 就該造·成例外之指令而執行。 . 雖然本發明之存取控制單元300係Μ功能上位於一管 線化微處理機之定位址單元112及定頁單元114的下游加以 摇述,吾人須瞭解其並非本發明的一個要求做法。例如, ____-32-_ 本紙張尺度適用中國國家標準(CNS ) Α4規格(210X297公釐) l·----1 — ^------1----訂------声· (請先閣讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作社印製 A7 B7_ 五、發明説明(30 ) 該存取控制單元300可在功能上位於一定頁單元之前。在 此狀況下,經由存取控制單元300定出路徑的位址須為虛 擬位址•其在經由存取控制單元300傳送後會被轉譯成實 〆—· 體位址。類似地,由存取控制單元300定出路徑的位址可 以為偏置形式,對其須增添一基礎位址以產生實體位址。 這種本發明之替選實施例所能達成的利益性質會與上述者 枏同。 吾人須進一步瞭解,該存取控制單元之實施例與執行 取得要求的對應方法係僅以釋例方式呈現,而並不欲因此 限制了本發明之範圍。因此,本發明之廣度及其範圍應只 有在依據下列申請專利範圍及其等值加以界定。 (請先閲讀背面之注意事項再填寫本頁) __-33- \紙張尺度適用中國國家標準(〇那)六4規格(210父297公釐)