TW399176B - Microprocessor access control unit upon fetching address queue - Google Patents

Microprocessor access control unit upon fetching address queue Download PDF

Info

Publication number
TW399176B
TW399176B TW83101163A TW83101163A TW399176B TW 399176 B TW399176 B TW 399176B TW 83101163 A TW83101163 A TW 83101163A TW 83101163 A TW83101163 A TW 83101163A TW 399176 B TW399176 B TW 399176B
Authority
TW
Taiwan
Prior art keywords
address
acquisition
request
access
cpu
Prior art date
Application number
TW83101163A
Other languages
English (en)
Inventor
Graham B Whitted Iii
James A Kane
Shiau-Shr Jang
Original Assignee
United Microelectronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by United Microelectronics Corp filed Critical United Microelectronics Corp
Priority to TW83101163A priority Critical patent/TW399176B/zh
Application granted granted Critical
Publication of TW399176B publication Critical patent/TW399176B/zh

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

經濟部中央標準局貝工消費合作社印裝 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公釐)

Claims (1)

  1. 經濟部中央標準局員工消費合作社印製 A8 B8 C8 D8六、申請專利範圍 1. 一種用於微處理機之存取控制單元,其延緩由該微處 V —— ·.- 理機之中央處理單元(CPU)接收到的擱置取得要求, K允許由該CPU接收到蓮算元存取要求有較高的優先 性而在被延緩的取得要求之前被執行*以因而提升該 微處理機之績效,該存取控制單元包含: 一個取得位址佇列,其為一被延鍰的取得要求接 收並保留一位址; 一個位址選.擇器,其在由該CPU來之位址與該取 得位址佇列所保留之位址間加以選擇,該由CPU來之 位址為一現行記憶體存取命令的位址;K及 一個狀態機器,其在一線路上提供一控制信號給 該該位址選擇器,K選擇該由CPU來之位址或該取得 位址佇列所保留之位址,K因而讓該現行記億體存取 命令或該被延緩的取得要求被嘗試。 2. 如申請專利範圍第1項所述之存取控制單元,其中該 吠態機器進一步提供一控制信號給該取得位址佇列* 該控制信號讓該狀態機器能將代表一取得要求的位址 置入該取得位址佇列,以因而延緩該取得要求。 3. 如申讀專利範圍第1項所述之存取控制單元,其中該 狀態機器對由該CPU發出的運算元存取要求所給予之 優先性高於給予由該CPU在該蓮算元存取p求之前所 發出的被延緩取得要求者。 4. 如申請專利範圍第1項所述之存取控制單元,其中該 狀態機器對擱置的蓮算元存取要求所給予乏優先性高 —- _ 3 4 _ 本紙張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐) (請先閲讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作社印製 A8 D8 六、申請專利範圍 於給予擱置的取得要求者。 5.如申請專利範圍第1項所述之存取控制單元,其中該 狀態機器更進一步提供一沖洗信號給該取得位址佇列 *該沖洗信號允許該狀態機器沖洗該取得位址佇列之 內含,Μ因而取消一被延緩的取得要求。 δ·如申請專利範圍第1項所述之存取控制單元,其中該 取得位址佇列最少保留有二個取得位址。 7. 如申請專利範圍第丨項所述之存取控制單元,其中該 取得位址佇列包括一佇列以為由該取得位址佇列所保 留之對應取得位址保留取得例外狀態資料,該取得例 外狀態資料係由一個對CPU所產生之取得位址例外檢 核的取得例外偵測電路所產生。 8. 如申請專利範圍第1項所述之存取控制單元·其中該 由取得位址佇列所保留之位址為實體位址,其唯一地 定出該微處理機所被連接的外部記憶體之記憶體位置 〇 9·如申請專利範圍第1項所述之存取控制單元,其中該 與一個外部記憶體被一外部匯流接到該微處理機* ά 外部記憶體為該微處理機.儲存指令與資料。 10. —個取得位烛佇列儲存取得位址以允許曲一中央處理 單元(CPU)所發出的f應取.fe要求可被延擇,該取得 要求被延緩Μ允許由該CPU發出之蓮算元存取可在被 延緩的取得要求之前被執行,該取得位址被該取得位 址佇列保留,直至該對應的取得要求被執抒或取消為 ___-35-__ 本紙張欠度適用中國國家標準(CNS ) A4規格(210X297公釐) ~ (請先閣讀背面之注意事項再填寫本頁)
    A8 B8 C8 . D8 六、申請專利範圍 止。 11.如申請專利範圍第10項所述之取得位址佇列,其中一 個取得位址在對應的取得要求無法立即被執行之時被 置於該取得位址佇列。 W·如申請專利範圍第10項所述之取得位址佇列·其中該 取得位址佇列具有一沖洗輸入線路,以允許若該CPU 採取到一個新程式位址之分支時*該取得位址佇列所、 保留的取得位址可被沖洗。 13. 如申請專利範圍第10項所述之取得位址佇列,其中提 供一個位元檷位Μ為該取得位址佇列所保留的對應取 得位址儲存取得例外狀態資料,該取得例外狀態資料 係由一個對CPU所產生之取得位址例外檢核的取提例 外偵測電路所產生。 14. —種使用存取控制單元以處置由一微_理_ CPU所發 出之取得要求的方法*包含下列步驟: (a) 由該CPU接收一現行取得要求與一對應的取得位 址; 經濟、部中央標隼局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) (b) 將該取得位址置於該存取控制單元之取得位址佇 列·K在下面情形之一延緩該取得要求: 一個高速媛衝記憶體忙線;或 針對該現行取得要求發生有高寒緩衝記憶體 漏失且一個至外部記憶體之匯癍忙線; (c) 在該取得荽求已被延緩後,由該CPU接收一現行 蓮算元存取要求與一對應的蓮算元位址; _-36-_ 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) ' A8 B8 C8. D8 六、申請專利範圍 (d) 將該蓮算元存取要求與該對應的蓮算元位址傳送 給一個所要被執行的記憶體單元,因而給予葭琨 行蓮算元存取要求之優先性高於給予該已被延緩 的取得要求者; (e) 由該取得位址佇列發出該取得位址給該記憶體單 元,K允許該取得要求在該現行運算元存取要求 被執行可被執行。 15.如申請專利範圍第14項所述之方法,其中該步驟(e) 僅在並無由該CPU所發出之蓮算元存取係維持著擱置 中時才被執行。 1δ·如申請專利範圍第14項所述之方法,進一步提供在該 CPU分支到一個新程式位址時會沖洗該取得位址疗列 之內含的步驟*因而取消任何已被延緩的撕置中之取 得要求。 (請先閱讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作社印製 _-37- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐)
TW83101163A 1994-02-15 1994-02-15 Microprocessor access control unit upon fetching address queue TW399176B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW83101163A TW399176B (en) 1994-02-15 1994-02-15 Microprocessor access control unit upon fetching address queue

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW83101163A TW399176B (en) 1994-02-15 1994-02-15 Microprocessor access control unit upon fetching address queue

Publications (1)

Publication Number Publication Date
TW399176B true TW399176B (en) 2000-07-21

Family

ID=21624632

Family Applications (1)

Application Number Title Priority Date Filing Date
TW83101163A TW399176B (en) 1994-02-15 1994-02-15 Microprocessor access control unit upon fetching address queue

Country Status (1)

Country Link
TW (1) TW399176B (zh)

Similar Documents

Publication Publication Date Title
US6141734A (en) Method and apparatus for optimizing the performance of LDxL and STxC interlock instructions in the context of a write invalidate protocol
EP0514024B1 (en) Method and apparatus for an improved memory architecture
JP3724581B2 (ja) バックアップ装置
JP3016575B2 (ja) 複数キャッシュ・メモリ・アクセス方法
US5142631A (en) System for queuing individual read or write mask and generating respective composite mask for controlling access to general purpose register
US4701844A (en) Dual cache for independent prefetch and execution units
JP4977159B2 (ja) 特定のプロセッサを使ってアトミックなコンペア・アンド・スワップ命令を実行するための技術
TWI223196B (en) Method, apparatus, and system for exception handling in a pipelined processor
US5515521A (en) Circuit and method for reducing delays associated with contention interference between code fetches and operand accesses of a microprocessor
GB2200484A (en) Detecting and handling memory-mapped i/o by a pipelined computer
JP2005322269A (ja) コンピュータシステム
PL178832B1 (pl) Sposób utrzymywania spójności pamięci w systemie komputerowym
JPH01503011A (ja) キャッシュマネッジメントシステムを含むデジタルデータ処理システム用汎用プロセッサユニット
JP4130465B2 (ja) メモリ転送処理サイズが異なるプロセッサに関してアトミックな処理を実行するための技術
GB2200481A (en) Maintaining coherence between a microprocessor's integrated cache and external memory
GB2200482A (en) Monitoring control flow in a microprocessor
US20080320176A1 (en) Prd (physical region descriptor) pre-fetch methods for dma (direct memory access) units
JPS62102344A (ja) バツフア・メモリ制御方式
TW399176B (en) Microprocessor access control unit upon fetching address queue
EP0448058A2 (en) Microprocessor capable of transferring data without intermediary of execution unit
JP4111645B2 (ja) キャッシュミスした後のメモリバスアクセス制御方式
JP2668987B2 (ja) データ処理装置
JP2814683B2 (ja) 命令処理装置
JP4680340B2 (ja) プロセッサ
JPH0769825B2 (ja) 並列処理装置

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MK4A Expiration of patent term of an invention patent