新四季網

用於數據處理系統中的高速緩存事務的方法和裝置的製作方法

2023-06-30 17:08:26 2

專利名稱:用於數據處理系統中的高速緩存事務的方法和裝置的製作方法
技術領域:
本公開通常涉及高速緩存,更具體地,涉及數據處理系統中的高速緩存事務 (transaction)0
現有技術在集成電路上形成的當前的數據處理系統中,常常難以允許實時調試器能夠察看 在存儲器中一個或更多個變量的當前值,其由於高速緩存或高速緩存體系(hierarchy)可 能被隱藏而無法訪問。當前,在實時調試中,如果變量被高速緩存,則在沒有一組非常侵入 性的操作來停止(halt)處理器並且從高速緩存提取值的情況下,調試器無法訪問變量的 最新值。如果在處理器和調試器之間存在高速緩存體系,則該問題更加嚴重。此外,當前的 方法可能影響高速緩存的狀態,這在調試環境中通常是不利的。例如,如果高速緩存的狀態 被影響,則作為高速緩存狀態的差異的結果,以同樣方式可能不會暴露某些調試問題。


本發明是利用舉例來說明的,而不局限於附圖,其中同樣的附圖標記指示類似的 元件。圖中的元件是為了簡單和清楚而示出,不一定按比例繪製。圖1用框圖形式示出根據本發明一個實施例的數據處理系統。圖2用框圖形式示出根據本發明一個實施例的圖1的處理器11和/或處理器12 的一部分。圖3用表格形式示出根據本發明一個實施例的高速緩存狀態定義的列表。圖4用狀態圖形式示出根據本發明一個實施例的高速緩存一致性(coherency)狀 態圖。圖5用表格形式示出根據本發明一個實施例的多個監聽(snoop)總線命令。圖6用表格形式示出根據本發明一個實施例的、在監聽總線命令期間在總線上提 供的信息。
具體實施例方式在本文中描述多個新的監聽總線命令或新的監聽事務類型,以及為了使用它們的 支持邏輯和構架(framework)。在一個實施例中,提供「顯示線(show line) 」和「顯示雙字 (show doubleword)」監聽事務以允許調試電路系統(如,圖1的14)獲得對變量的最新值 的訪問(即使它們被高速緩存)或提取高速緩存內容。在一個實施例中,這些監聽事務在 某些方面(如,在由參與的總線主控器執行的監聽查找方面)表現得像現有的監聽事務類 型一樣。然而,對於新的監聽總線命令,查找的結果將導致對任何命中(而不是僅對變更的 線的命中)請求監聽響應事務。該響應導致被高速緩存的雙字的內容或整個高速緩存線被 放置在總線(如,圖1的20)上,由此能夠被調試電路系統(如,圖1的14)捕獲。在示出 的實施例中,新的監聽事務類型包括「show_line」(顯示線)、「show doubleword」(顯示
4雙字)、「 show_target_line,,(顯示目標線)禾口 "show_target_doubleword,,(顯示目標雙 字)。替代實施例可以具有更少的、更多的、或不同的監聽事務,對於監聽事務可以使用不同 的名稱,或可以使用監聽事務的修改的版本。如本文中所使用的,術語「總線」用於指可以用於傳遞一個或更多個各種類型的信 息(例如數據、地址、控制或狀態)的多個信號或導體。可以參考作為單個導體、多個導體、 單向導體或雙嚮導體來示出或描述本文中討論的導體。然而,不同的實施例可以改變導體 的實現方式。例如,可以使用分開的單向導體,而不使用雙嚮導體,反之亦然。此外,可以用 串行地或以時間復用的(time multiplexed)方式傳遞多個信號的單個導體代替多個導體。 同樣地,可以將攜載多個信號的單個導體分成攜載這些信號的子集的各種不同的導體。因 此,對於傳遞信號存在多種選擇。圖1用框圖形式示出根據本發明一個實施例的數據處理系統10。在一個實施例 中,數據處理系統10包括處理器12、調試電路或調試電路系統14、輸入/輸出(I/O)電路 16、和存儲器18,全部都雙向耦合到總線20。存儲器18可以是任何類型的存儲器,例如,只讀存儲器(ROM)、隨機存取存儲器 (RAM)、非易失性存儲器(如,快閃記憶體)等等。此外,存儲器18可以是位於另一外圍設備或從 設備(slave)之內的或在不同的集成電路上的存儲器或其他數據貯存器。在一個實施例中,處理器11、處理器12和調試電路系統14是總線主控器。在一些 實施例中,I/O電路系統16也可以是總線主控器。在一個實施例中,處理器12是能夠執行 指令的處理器(例如微處理器、數位訊號處理器等等),或者可以是任何其它類型的總線主 控器(例如,存儲器直接存取(DMA)控制器或總線橋等等)。注意,在數據處理系統10中可 以包括其他從設備(在圖1中未示出),例如,耦合到總線20的另一存儲器或高速緩衝存 儲器,以及駐留在系統總線上或被耦合到I/O電路16的任何類型的外圍電路。在示出的實 施例中,通過導體21將調試電路系統14也雙向耦合到處理器11和12。在替代實施例中, 也可以利用獨立於總線20的一個或更多個導體(未示出)將調試電路系統14雙向耦合到 I/O電路系統16和存儲器18中的一個或更多個。在示出的實施例中,處理器11包括通過總線接口單元(BIU) 17雙向耦合到總線 20的高速緩存15。處理器12包括高速緩存13和高速緩存23,每個都通過總線接口單元 (BIU) 19雙向耦合到總線20。在一個實施例中,高速緩存13用作用於存儲供處理器12使 用的數據和/或指令的級別一(Li)高速緩存,並且高速緩存23用作用於存儲供處理器12 使用的數據和/或指令級別二(L2)高速緩存。典型地,在由處理器執行之前,數據和/或 指令被從存儲器18載入高速緩存13、23。高速緩存13、23可以包括單獨的數據高速緩存和 單獨的指令高速緩存,或者可以包括一體化的指令和數據高速緩存,或者可以僅包括若干 個數據高速緩存。高速緩存13、23包括一個或更多個數據陣列、一個或更多個標記(tag) 陣列、以及一個或更多個狀態位陣列。在一些實施例中,標記和狀態信息可以被存儲在共同 的陣列中。每個高速緩存表項(entry)由數據塊或線、將數據與存儲器地址關聯的標記值、 以及狀態信息組成。對於一些實施例,狀態信息可以包括高速緩存表項是否有效、高速緩存 表項是否是「髒的(dirty),,(即,關於與存儲器18或其他外部存儲器塊(如果存在的話) 中的相同的地址相關聯的數據進行了變更)、以及高速緩存表項是專屬的還是與其他總線 主控器共享的。替代實施例可以包括更少的、更多的、或不同的高速緩存狀態信息。在替代實施例中,存儲器18,或存儲器18的一部分,可以被表徵為級別二(L2)高速緩存。輸入/輸出(I/O)模塊16被雙向耦合到總線20和外部電路系統(未示出)。I/ 0模塊16包括多種接口電路,這取決於耦合到I/O模塊16的外部電路系統的類型。I/O模 塊16可以包含耦合到總線20的一個或更多個替代的總線主控器,並且可以包含一個或更 多個高速緩存。在一個實施例中,I/O模塊16可以用作總線橋,並且經由導體27連接到一 個或更多個合併有一個或更多個高速緩存的裝置。調試電路14經由總線20雙向耦合到總線處理器11、處理器12、1/0電路16、和/ 或存儲器18中的一個或更多個。調試電路14也可以雙向耦合到諸如硬體測試器或其他調 試接口硬體的外部電路(未示出)。在一個實施例中,調試電路系統14遵守NEXUS調試協 議。對於一些實施例,電路系統14還遵守JTAG協議。替代實施例可以使用遵守任何期望 的調試協議的調試電路系統14。通常,調試電路系統14用作對於與對高速緩存15、13、23,存儲器18,和I/O模塊 16,以及在其它實施例中數據處理系統10所採用的其它類型的數據保持電路(無論在數據 處理系統10的內部還是外部)的訪問相關聯的數據處理操作的診斷檢驗。處理器12和替 代的總線主控器根據需要取得系統總線20的主控權(mastership),以及選擇性地訪問系 統存儲器18以取出並且存儲數據和指令。調試電路系統14可以由數據處理系統10的用 戶配置,以通過監控在總線20上呈現的地址並且捕捉或取樣在總線20上呈現的相關數據 值來捕捉一個或更多個存儲器位置的值。在總線讀取操作期間,由選定的從設備(例如,存 儲器18)提供該數據值。在總線寫入操作期間,由總線20的總線主控器(例如,處理器12) 提供該數據值。隨著總線傳遞發生,調試電路系統14監控每個傳遞並且選擇性地捕捉與調 試電路系統14的用戶希望監控的數據位置對應的數據值。這些值和條件可以經由一個或 更多個在圖1中示出的端子25編程到調試電路系統中以及從調試電路系統14傳遞。I/O 電路16也可以通過一個或更多個端子27耦合到數據處理系統10的外部。在一個實施例 中,端子25和27可以是集成電路管腳。在替代實施例中,端子25和27可以是可用於傳遞 信號到數據處理系統10外部的任何東西,例如導電突塊(bump)、導電焊盤、導線等等。注意,如果數據變量或值位於高速緩存13內,則可以相對於存儲器18中的對應值 變更該數據值,即最新的(到現在為止最新)值不存在於存儲器18中,而僅在高速緩存13 內。如果調試電路系統14訪問存儲器18以取得期望的變量的值,則由於副本可以在高速 緩存13中內部地變更,將無法獲得正確的副本。在數據處理系統10中提供了新的總線事務類型,以允許調試電路系統14 「看見」 可以存儲在高速緩存(如,高速緩存13)中的值。該總線事務類型是「顯示」(show)事務。 該總線事務可以由充當總線20的總線主控器的調試電路系統14發起。該總線事務包括要 訪問的期望的地址位置。確定(如,由圖2的高速緩存控制電路系統54確定)地址或高速 緩存表項在高速緩存中導致「命中」還是「未中」。當地址導致命中時,從高速緩存13將與 該地址相關聯的值提供到總線20。於是,調試電路系統14能訪問來自總線20的值,因為其 由處理器(如,12)提供了。在一個實施例中,調試電路系統14監控總線20上的事務,並且 能夠隨著總線傳遞發生取樣地址和關聯的數據值。然後,通過來自圖1的調試電路系統14 的信號,可以在取樣之後將期望的值傳遞到執行調試操作的系統10的用戶(如,經由端子 25)。注意,在一個實施例中,當值被放置在總線20上時不變更高速緩存13的狀態。在大部
6分現有技術系統中,當正常的高速緩存命中發生時,由於高速緩存13滿足由正常載入或存 儲指令生成的現有技術載入或存儲請求,因此不能將數據變量的值從高速緩存13放置在 總線20上。由於沒有使該值在總線20上可見以供捕捉,因而對調試電路系統14這導致了 問題。當訪問地址導致未中時,沒有信息從高速緩存(如,13)提供到調試電路系統14。在 未中時,可以經由總線20取出數據,由此對於調試電路系統14是可見的以供捕捉。在這些 現有技術系統中,提供僅關於高速緩存未中的可見性導致對可以執行的調試操作的限制。典型地,一些數據值易受變化影響並且響應於執行的指令而被更新。在一些調試 情形中,即使在駐留於高速緩存中時,可能也期望取出該值的最新版本。「髒位」 「D」與高 速緩存表項相關聯,指示與有效地址相關聯的高速緩存中的數據是否與在對應於該數據地 址的另一存儲器位置(例如,存儲器18)存儲的數據不同(即已經被變更)。根據所公開 的實施例,當響應於執行「顯示」總線事務從高速緩存取出該值並且呈現給系統總線20時, 不變更與該值的地址相關聯的「髒位」。同樣地,如果與高速緩存13中的有效地址相關聯 的值與另一存儲器位置中的值相同,即該數據是乾淨的,則不變更高速緩存13。換句話說, 即使當命中的高速緩存表項的髒位指示存儲在該表項中的數據是乾淨的時侯,仍向總線20 提供存儲在該表項中的數據並且不變更該表項。當命中的高速緩存表項的髒位指示存儲在 表項中的數據是髒的時候,仍向總線20提供存儲在該表項中的數據,並且不修改該表項, 且並不清除(clear)該髒位。這不同於高速緩存中的「髒位」的正常操作。圖2用框圖形式示出圖1的處理器11和/或處理器12的一部分。圖2更詳細 地示出了圖1中的高速緩存13與BIU19、和/或高速緩存23與BIU19、和/或高速緩存15 與BIU17的一個可能的實施例。為了便於討論,下面在本文中將假定高速緩存13使用在圖 2中示出的實施例。然而,在替代實施例中,高速緩存15和/或高速緩存23也可以使用在 圖2中示出的高速緩存實施例,和/或高速緩存13可以使用與圖2中示出的不同的高速 緩存實施例。因此,系統10的替代實施例可以使用不同的體系架構、結構和/或電路系統 以實現各種高速緩存(如13、23和15)。在示出的實施例中,高速緩存13包括彼此雙向耦 合的高速緩存控制電路系統54和高速緩存陣列50。在一個實施例中,高速緩存陣列50是 被組織為多個表項的隨機存取存儲器單元的陣列。在一個實施例中,高速緩存陣列50包括 SRAM(靜態隨機存取存儲器)存儲器單元。在其它實施例中,其他存儲器類型是適合的。在 高速緩存13的一個實施例中,表項52代表多個表項,並且包括標記為「標記地址欄位(TAG ADDRESS FIELD)」的標記地址位欄位、標記為「標記狀態位(TAG STATUS BITS) 」的標記狀 態位欄位以及標記為「數據(DATA)」的數據位欄位。標記狀態位欄位包括標記為「V」的有 效位、標記為「E」的專屬/共享位以及標記為「D」的髒位。在高速緩存13的一個實施例中,每個表項可以被稱為用於處理器12的「高速緩存 線」。高速緩存陣列50經由BIU 19雙向耦合到總線20。在一個實施例中,高速緩存控制 電路系統54選擇性地確定由從例如高速緩存13、存儲器18、或調試電路系統14接收的指 令所指向的有效地址在高速緩存13中是命中還是未中。替代實施例可以使用耦合到高速 緩存13的轉譯查找緩存器(TLB)(未示出),用於執行從有效地址到物理地址的地址轉譯。 該轉譯可以用現有技術中已知的標準方式來完成。高速緩存控制電路系統54可以通過將 由TLB提供的用於訪問的物理地址與包含在高速緩存陣列50中的一個或更多個標記表項 中的存儲值進行比較,來確定由指令指向的有效地址導致命中還是未中。在一些實施例中,不使用TLB,並且將有效地址直接提供給高速緩存13而沒有轉譯。在這樣的實施例中,存儲 的標記值直接對應於有效地址而不需要到物理地址的地址轉譯。仍參考圖2,高速緩存13被雙向耦合到BIU 19。BIU 19被雙向耦合到總線20。 在示出的實施例中,總線20包括信號30和信號32。在一個實施例中,信號30包括多個地 址信號40、多個數據信號41、一個或更多個傳遞類型(transfer_type)信號42、一個或更 多個目標指定器(targetjpecifier)信號43,以及一個或更多個高速緩存指定器(CaChe_ specifier)信號 44。圖3用表格形式示出根據本發明一個實施例的高速緩存狀態定義的列表。本發明 的替代實施例可以使用與在圖3中示出的那些相比更少的、更多的、或不同的高速緩存狀 態。圖3示出具有四種狀態的MESI (Modified Exclusive Shared and Invalid(變更、專 屬、共享和無效))高速緩存協議,所述狀態即無效狀態(INV)、共享狀態(S)、專屬未變更狀 態(EU)、和專屬變更狀態(EM)。其他實施例可以使用不同的高速緩存協議及其關聯的高速 緩存狀態定義。因此,本發明不以任何方式受限於在圖3中示出的特定的狀態。圖4用狀態圖形式示出根據本發明一個實施例的高速緩存一致性狀態圖。在圖4 中示出的狀態圖示出了實現圖3的高速緩存狀態的高速緩存可以如何在四種高速緩存狀 態INV、S、EU和EM之間轉換。新的狀態轉換已經被合併到用於MESI高速緩存一致性協 議的現有技術狀態圖中,以支持用於本發明一個實施例的新的監聽事務類型(sh0W_line、 show_dw、show_target_line、show_target_dw)。注意,為了清楚的目的,與本發明無關的一 些現有技術總線事務已經被從圖4省略(例如,影響整塊高速緩存的總線命令,例如,清刷 (flush)整個高速緩存塊的總線命令)。仍參考圖4,注意,「顯示線」(show_line命中)和「顯示雙字」(shoW_dW命中)總 線命令不導致高速緩存13改變狀態。注意,類似地,「顯示目標線」(Sh0W_target_line)和 「顯示目標雙字」 (shoW_target_dW)總線命令不導致高速緩存13改變狀態。這兩個新的監 聽事務類型或傳遞類型總線命令對以及為使用它們的支持邏輯和構架,允許圖1的調試電 路系統14對在系統10中使用的高速緩存(如15、13、和23)有更多的可見性。提供「顯示 線」和「顯示雙字」監聽事務或總線命令,以允許調試電路系統14獲得對變量的最新值的 訪問(即使它們被高速緩存),或者允許調試電路系統14提取高速緩存內容。在一個實施 例中,這些監聽事務在大多數方面可以表現得如現有的監聽事務類型那樣,由參與的總線 主控器(如11、12)執行監聽查找,但是查找結果將可選地導致對任何命中請求監聽響應 事務,而不是僅對變更的或髒的高速緩存線的命中。對於「sh0W_target_line」和「show_ target_dW」監聽命令,特定的高速緩存目標被識別作為事務信息的一部分,並且對於這些 特定的命令類型,查找的結果將可選地導致監聽響應事務發生,而不管命中還是未中。利用 這些監聽命令類型允許目標的高速緩存的當前狀態可見,而不導致數據、標記、或狀態信息 的狀態改變。響應於「顯示線」、「顯示雙字」、「顯示目標線」和「顯示目標雙字」總線事務的請 求部分,高速緩存控制電路系統54(參見圖2)使高速緩存的雙字或整行的內容被放置在 總線20上,由此可供調試電路系統14捕捉。該暴露發生而不管變量的備份存儲(backing store)的存在(即,除了在高速緩存本身中之外,可以不存在與變量的地址相關聯的物理 存儲器)。通過向系統總線20暴露存儲器中的變量的值,其可以被在調試電路系統14中的數據跟蹤邏輯捕捉,並被經由端子25外發給用戶。注意,指令對於數據高速緩存是非強制 的(unobtrusive),並且沒有數據高速緩存狀態改變發生而不管變量的狀態(變更、專屬、 共享、或無效)。在示出的實施例中,提供選項以使整個高速緩存線被放置在總線20上或者 將暴露限制於包含期望變量的數據總線寬度元素(如雙字)。代替地,替代實施例可以使用 一個具有固定寬度或大小(如線)的監聽事務類型,或可以使用一個其內具有用於在寬度 或大小的變量組(如線、雙字、字等等)中進行選擇的編碼的總線命令。注意,在一個實施例中,提供允許存儲器變量的值被提供到調試電路系統14(參 見圖1)的監聽事務類型。在一些實施例中,高速緩存控制電路系統54允許高速緩存線或 高速緩存線的一部分在其存在於高速緩存(13)中時在總線20上廣播,而不管其是乾淨的 (即,未變更的)還是髒的(即,變更的)。在一個實施例中,在高速緩存控制電路系統54 (參 見圖2)中提供高速緩存狀態邏輯(參見圖4),其不變更高速緩存狀態(參見圖3)或替代 (replace)高速緩存線以獲得變量。另外,對於一些實施例,為了確保調試電路系統14的查 詢最低限度地侵擾系統10的狀態,提供高速緩存數據到調試電路系統14而不更新存儲器 (如,18)。在一個實施例中,系統10添加附加的總線事務類型「顯示」,其允許調試電路系統 14看見內部數據高速緩存狀態(如,高速緩存13的內部數據高速緩存狀態),其可以相對 於存儲器(如18)進行變更。在一個實施例中,當「顯示」被呈現作為監聽讀取猝發(burst) 事務時,執行正常的監聽查找。如果事務地址在數據高速緩存(如,高速緩存13)中命中, 則執行監聽回拷貝(copyback),而不管高速緩存線是變更的還是乾淨的狀態。回拷貝被標 記為「顯示線」寫入,並且在一個實施例中是四個雙字到總線的猝發。所有處理器(如11、 12)中的高速緩存線的狀態保持不變。將高速緩存線提供到總線20允許調試電路系統14 看到該高速緩存線的內容,由此將這些值經由端子25向外傳遞到外部調試器(未示出)。 注意,在一個實施例中,在這些「顯示」傳遞期間,如果可能的話,典型地應該阻斷對存儲器 (如,18)的更新,以允許系統10的狀態在調試期間保持被最低限度地幹擾。另外,在一些實施例中,支持「雙字」監聽總線命令。在被呈現作為監聽單擊 (single-beat)讀取事務時,正常的監聽查找也被執行。這些「雙字」總線命令與「線」總線 命令類似地工作,除了僅通過被標記為「雙字」的單擊寫入總線事務提供在命中的高速緩存 線中的數據的單個雙字之外。「show_target_line」 和 「show_target_doubleword」 監聽總線命令典型地僅針對 系統10中的單個主控器(如,處理器12),由此對於這些事務中的每一個將僅發生單個響 應。對於「show_line」和「show_doubleword」監聽事務請求,這些命令被同時廣播到多個 主控器(如,處理器11和12),但是僅單個主控器需要對於該數據作出響應以變為對調試 電路系統14可見。對於在專屬狀態中的高速緩存線,這些自然地發生。對於在多個高速緩 存中有效的共享高速緩存線,即使存在多個被高速緩存的副本,也僅需要單個「顯示」總線 事務以提供數據的可見性。當多個總線主控器試圖同時「顯示」高速緩存線時,僅單個主控 器將贏得對總線20的仲裁,然後用被請求的信息響應。當仲裁獲勝者在總線20上執行「顯 示」響應時,可以切斷(kill)或終止在任何其他總線主控器中的待定的(pending)響應,並 且該待定的響應的地址和執行的響應的地址匹配。參與的主控器將監控總線以確定另一高 速緩存是否已經提供了 「顯示」信息,並且如果是的話,那麼將終止其自身的對執行對於指
9示的數據的「顯示」響應的請求。這些可以通過監控在總線20上的事務的地址和事務類型 信息並確定「顯示」類型響應事務由另一主控器執行來完成。替代地,如果多個高速緩存對 「顯示」命令作出響應,則可以將所有響應連同關於哪個高速緩存作出了響應的信息單獨地 發送到外部調試器,允許外部調試器看見該線的所有副本。參考圖4,在一個實施例中,轉換50-53可以用於將信息從任何高速緩存(如,高速 緩存13)提供到調試電路系統14(參見圖1)。現在參考圖2、5和6,在一個實施例中,在總 線20 (參見圖2)上的傳遞類型信號42用於指示何時在圖5中列出的總線監聽事務之一當 前正在發生在總線20上。參考圖5和6,注意,每個監聽總線事務包括請求部分60、響應部 分61、和數據部分62,全部都提供在總線20上。在請求部分60中,總線主控器(如,調試 電路系統14)發起到高速緩存(如,高速緩存13)的讀取。在響應部分61中,高速緩存用 寫入操作來響應。而在數據部分62中,在總線20上提供在與請求部分60中指定的地址或 高速緩存表項對應的高速緩存中存儲的數據。現在將描述在圖5中列出的總線監聽事務的一個實施例。注意,替代實施例可以 具有在圖5中未列出的其他附加的監聽事務。現在將描述圖5的「顯示高速緩存線」和「顯示雙字」總線事務的一個實施例。對 於「顯示高速緩存線」總線事務,總線主控器(如,調試電路系統14)通過總線20的信號 40 (參見圖2)提供包括期望的地址的監聽事務請求60,並且通過一個或更多個信號42提 供事務類型指示。為一致性的目的,該事務由在參與總線事務的正常監聽的系統中的一個 或更多個高速緩存監控。響應於發生在與監聽事務相關聯的查找上的命中,系統中的選定 的高速緩存執行與請求事務的地址對應的高速緩存線數據信息的「顯示回拷貝」(用於對 「顯示高速緩存線」請求作出響應)或「顯示雙字」(用於對「顯示雙字」請求作出響應)(參 見圖5)寫入事務,而不管髒位D的狀態,並且高速緩存保持在其當前狀態,即不改變髒位。 另外,所有其他高速緩存保持在其各自的當前狀態。在一個實施例中,即使在總線20上指 示了寫入事務,也不利用響應上提供的數據更新存儲器18。在一個實施例中,響應61包括 來自高速緩存的狀態信息以及與請求60中的地址對應的高速緩存表項。如果存在高速緩 存命中,則在數據部分62期間經由數據導體41提供數據。如果存在高速緩存未中,則在數 據部分62期間不經由數據導體41提供數據。在替代實施例中,在響應期間可以不提供狀 態信息,或者僅提供部分狀態信息。在一個實施例中,如果在參與事務的所有高速緩存中所 請求的地址未中,則在該事務的數據部分62期間可以通過存儲器18提供數據,而不是不提 供數據。在一個實施例中,如果多個高速緩存「命中」,則選擇單個高速緩存來提供響應,並 且剩餘的高速緩存取消任何待定的響應。現在將描述與在圖6中示出的類型-1事務對應的、圖5的「顯示目標線」和「顯示 目標雙字」總線事務的一個實施例。對於這些「顯示目標」總線事務,總線主控器(如,調試 電路系統14)通過總線20的信號43 (參見圖2)提供包括目標指定器(specifier)的請求 60,通過信號44提供高速緩存指定器,通過信號40提供地址,並且通過一個或更多個信號 32提供寬度指示器DW(如,雙字、線,等等)。目標指定器指定在系統10中的哪個電路系統 塊或部分具有高速緩存並且是該總線事務的「目標」。高速緩存指定器指定對於該總線事務 在該「目標」之內的哪個高速緩存正在被訪問。在響應(見圖6中的列61)中,目標中的被 指定的高速緩存執行高速緩存線的「顯示目標回拷貝」(參見圖5)或所請求的雙字的「顯示目標雙字」,而不管髒位D的狀態,並且高速緩存保持在其當前狀態。參考圖6,在示出的 實施例中,響應61包括來自高速緩存的狀態信息以及與請求60中的地址對應的高速緩存 表項。如果存在高速緩存命中,則在數據部分62期間經由數據導體41提供數據。如果存 在高速緩存未中,則在數據部分62期間不經由數據導體41提供數據。在一個實施例中,響 應可以僅包括狀態信息,並且可以不提供高速緩存表項信息。在特定響應類型中,可以經由 總線20的一個或更多個信號32指示該狀態信息是編碼信號通知的,或者,可以用未編碼的 格式直接提供該狀態信息。現在將描述與圖6中示出的類型_2事務對應的、圖5的「顯示目標線」和「顯示目 標雙字」總線事務的一個實施例。對於類型_2 「顯示高速緩存線」總線事務,其與類型-1 不同之處在於代替在請求部分60中提供地址,總線主控器(如,調試電路系統14)提供高 速緩存表項指定器。該指定器用於指定在目標的高速緩存內的特定存儲位置。來自高速緩 存的響應不同之處在於響應61不包括高速緩存表項信息,並且可以包括或可以不包括來 自高速緩存表項的標記地址段(如,圖2中的52)的信息或內容。對於類型_2事務的一個 實施例,在數據部分62期間可以在總線20的數據導體41 (參見圖2)上提供來自高速緩存 表項的標記地址欄位(如,圖2中的52)的信息或內容,如果在響應部分61期間未提供的 話。替代實施例可以使用一個或更多個類型-1事務,可以使用一個或更多個類型_2事務, 或者可以使用不同的事務。注意,除了寬度是雙字而不是高速緩存線之外,用於請求60 (參 見圖5)的「顯示雙字」總線事務可以用與用於請求60的「顯示高速緩存線」總線事務同樣 的方式工作。類似地,注意,除了寬度是雙字而不是高速緩存線之外,用於響應61的「顯示 雙字」總線事務可以用與用於響應61的「顯示回拷貝」總線事務同樣的方式工作。可以類 似地區別「顯示目標線」和「顯示目標雙字」的事務類型。注意,可以將系統10中的一個或更多個高速緩存設置為關聯的或完全關聯的。如 果高速緩存(如13)是完全關聯的,則圖6中的「高速緩存表項」可以用於在高速緩存中直 接指定期望的表項。然而,如果該高速緩存(如13)被設置為關聯的,則對於一些實施例, 「高速緩存表項」指定器可以用「高速緩存設置」和「高速緩存路線(cache way)」信息替代。注意,在本文中可互換地使用傳遞類型、事務類型、總線事務類型、監聽事務、監聽 事務類型、監聽總線命令、以及總線命令。如可以從本發明的描述看出的,可以以有利的方式擴展高速緩存一致性協議以合 並調試可見性事務,允許改善高速緩存對調試器的可見性。因為實現本發明的裝置大部分由本領域技術人員所知的電子組件和電路組成,因 而,為了便於對本發明的基礎概念的理解和以及為了不使本發明的教導模糊或分散,將不 以超過如上所示被認為必需的程度解釋電路細節。可以使用各種不同的信息處理系統實現上述實施例中的一些(如果適用的話)。 例如,儘管圖1及其討論描述了示範的信息處理體系架構,但是呈現該示範的體系架構僅 用於在討論本發明的不同方面上提供有用的參考。當然,該體系架構的描述已經被簡化以 便討論,並且其僅僅是根據本發明可以使用的許多不同類型的適當體系架構之一。本領域 技術人員將認識到,在邏輯塊之間的分界僅僅是說明性的,並且替代的實施例可以合併邏 輯塊或電路元件,或者對各種邏輯塊或電路元件施加功能性的替代分解。因此,應當理解,本文中描述的體系架構僅僅是示範性的,事實上,可以實施許多其它的實現了相同功能性的體系架構。簡而言之,但仍有一定意義的,任何用於實現相同的 功能性的組件布置被有效地「關聯」,從而實現期望的功能性。因此,本文中被組合以實現 特定的功能性的任何兩個組件可以被看作彼此「相關聯」,從而實現期望的功能性,而不管 體系架構或中間組件。同樣地,這樣關聯的任何兩個組件也可以被看作彼此「操作相連」或 「操作耦合」以實現期望的功能性。此外,例如,在一個實施例中,系統10的所示出的元件是位於單個集成電路上的 或在同樣的裝置內的電路系統。替代地,系統10可以包括任何數目的彼此互連的分開的集 成電路或分開的裝置。例如,存儲器18可以位於與主控器11和12相同的集成電路上或在 分開的集成電路上,或者位於與系統10的其他元件離散地分開的另一外圍設備或從屬設 備內。調試電路系統14和I/O電路系統16也可以位於分開的集成電路或裝置上。還例 如,系統10或其部分可以是物理電路的或者可轉變為物理電路的邏輯表示的軟體或編碼 表示。如此,系統10可以體現為任何適當類型的硬體描述語言。此外,本領域技術人員將認識到在上述操作的功能性之間的分界僅僅是說明性 的。多個操作的功能性可以被合併到單個操作中,和/或單個操作的功能性可以被分配到 若干另外的操作中。此外,替代實施例可以包括特定操作的多個實例,並且在不同的其它實 施例中可以改變操作的次序。儘管在本文中參考具體實施例描述了本發明,但是可以作出多種修改和改變而不 偏離由下面的權利要求所闡明的本發明的範圍。因此,說明書和圖將被認為是說明性的而 不是限制的意義,並且意圖將所有這些修改包括在本發明的範圍之內。本文中就具體實施 例描述的任何益處、優點或對問題的解決方案意圖不應解釋為是任何或所有的權利要求的 關鍵的、必要的或必需的特徵或要素。如本文中所使用的,術語「耦合」意圖並不局限於直接耦合或機械耦合。此外,如本文中所使用的,術語「一」定義為一個或多於一個。此外,在權利要求中 諸如「至少一個」和「一個或更多個」的引語的使用不應該被解釋為暗示由不定冠詞「一」所 引入的另一權利要求要素將包含所引入的權利要求要素的特定的權利要求限制到包含僅 一個這樣的要素的發明,即使當相同的權利要求包括引語「一個或更多個」或「至少一個」以 及諸如「一」這樣的不定冠詞時也是如此。這也適用於定冠詞的使用。除非另有說明,諸如「第一」和「第二」的術語用於任意地區分這樣的術語所描述 的要素。因此,這些術語並不必然意圖指示這些要素的時間上的或其它的優先化。附加的 文本1. 一種用於高速緩存的方法,該方法包括響應於接收對提供高速緩存的高速緩存表 項的至少一部分的請求,提供該高速緩存表項的所述至少一部分,而不管該高速緩存表項 是否是髒的,也不變更該高速緩存表項的狀態。2.根據聲明1的方法,其中所述高速緩存表 項的至少一部分包括字節、字或雙字。3.根據聲明1的方法,其中所述高速緩存表項的狀態 包括無效狀態、共享狀態、專屬未變更狀態、和專屬變更狀態中的至少一種。4.根據聲明1 的方法,其中對提供所述至少一部分的請求具有對應的地址。5.根據聲明1的方法,其中對 提供所述至少一部分的請求具有對應的目標指定器和對應的高速緩存指定器。6.根據聲明 5的方法,其中所述目標指定器用於從耦合到發出請求的裝置的多個目標裝置中選擇目標 裝置,並且其中所述高速緩存指定器用於從所選定的目標裝置中選擇高速緩存。7.根據聲 明1的方法,還包括從調試電路系統接收所述對提供高速緩存表項的至少一部分的請求。8.根據聲明1的方法,還包括從總線橋、直接存儲器存取控制器、和處理器中的至少一個接 收所述對提供高速緩存表項的至少一部分的請求。9.根據聲明1的方法,還包括提供所述 高速緩存表項的所述至少一部分,而不變更與該高速緩存相關聯的存儲器。10.根據聲明 1的方法,其中所述對提供高速緩存表項的至少一部分的請求由多個高速緩存接收,並且其 中提供高速緩存表項的至少一部分的步驟僅由所述多個高速緩存中的一個執行。11.根據 聲明1的方法,其中所述對提供高速緩存表項的至少一部分的請求由多個高速緩存接收, 其中所述高速緩存表項的狀態是共享的,並且其中提供至少一個高速緩存表項的步驟僅由 所述多個高速緩存中的一個執行。12. —種用於高速緩存的方法,該方法包括響應於接收 對提供該高速緩存的高速緩存表項的至少一部分的請求,提供所述高速緩存表項的至少一 部分,而不管該高速緩存表項的狀態,也不變更該高速緩存表項的狀態。13.根據聲明12的 方法,其中所述高速緩存表項的所述至少一部分包括字節、字或雙字。14.根據聲明12的方 法,其中所述高速緩存表項的狀態包括無效狀態、共享狀態、專屬未變更狀態、和專屬變更 狀態中的至少一種。15.根據聲明12的方法,其中所述對提供至少一部分的請求具有對應 的地址。16.根據聲明12的方法,其中所述對提供至少一部分的請求具有對應的目標指定 器和對應的高速緩存指定器。17.根據聲明16的方法,其中所述目標指定器用於從耦合到 發出該請求的裝置的多個目標裝置中選擇目標裝置,並且其中所述高速緩存指定器用於從 選定的目標裝置中選擇高速緩存。18.根據聲明12的方法,還包括從調試電路系統接收所 述對提供高速緩存表項的至少一部分的請求。19.根據聲明12的方法,還包括從總線橋、直 接存儲器存取控制器、和處理器中的至少一個接收所述對提供高速緩存表項的至少一部分 的請求。20.根據聲明12的方法,還包括提供所述高速緩存表項的所述至少一部分,而不變 更與該高速緩存相關聯的存儲器。21.根據聲明12的方法,其中所述對提供高速緩存表項 的至少一部分的請求由多個高速緩存接收,並且其中提供所述高速緩存表項的所述至少一 部分的步驟僅由所述多個高速緩存中的一個執行。22.根據聲明12的方法,其中所述對提 供高速緩存表項的至少一部分的請求由多個高速緩存接收,其中所述高速緩存表項的狀態 是共享的,並且其中提供至少一個高速緩存表項的步驟僅由所述多個高速緩存中的一個執 行。
1權利要求
一種用於高速緩存的方法,該方法包括響應於接收對提供高速緩存的高速緩存表項的至少一部分的請求,提供該高速緩存表項的所述至少一部分,而不管該高速緩存表項是否是髒的,也不變更該高速緩存表項的狀態。
2.根據權利要求1的方法,其中所述高速緩存表項的至少一部分包括字節、字或雙字。
3.根據權利要求1的方法,其中所述高速緩存表項的狀態包括無效狀態、共享狀態、專 屬未變更狀態、和專屬變更狀態中的至少一種。
4.根據權利要求1的方法,其中對提供所述至少一部分的請求具有對應的地址。
5.根據權利要求1的方法,其中對提供所述至少一部分的請求具有對應的目標指定器 和對應的高速緩存指定器。
6.根據權利要求5的方法,其中所述目標指定器用於從耦合到發出請求的裝置的多個 目標裝置中選擇目標裝置,並且其中所述高速緩存指定器用於從所選定的目標裝置中選擇 高速緩存。
7.根據權利要求1的方法,還包括從調試電路系統接收所述對提供高速緩存表項的至 少一部分的請求。
8.根據權利要求1的方法,還包括從總線橋、直接存儲器存取控制器、和處理器中的至 少一個接收所述對提供高速緩存表項的至少一部分的請求。
9.根據權利要求1的方法,還包括提供所述高速緩存表項的所述至少一部分,而不變 更與該高速緩存相關聯的存儲器。
10.根據權利要求1的方法,其中所述對提供高速緩存表項的至少一部分的請求由多 個高速緩存接收,並且其中提供高速緩存表項的至少一部分的步驟僅由所述多個高速緩存 中的一個執行。
11.根據權利要求1的方法,其中所述對提供高速緩存表項的至少一部分的請求由多 個高速緩存接收,其中所述高速緩存表項的狀態是共享的,並且其中提供至少一個高速緩 存表項的步驟僅由所述多個高速緩存中的一個執行。
12.一種用於高速緩存的方法,該方法包括響應於接收對提供該高速緩存的高速緩存表項的至少一部分的請求,提供所述高速緩 存表項的至少一部分,而不管該高速緩存表項的狀態,也不變更該高速緩存表項的狀態。
13.根據權利要求12的方法,其中所述高速緩存表項的所述至少一部分包括字節、字 或雙字。
14.根據權利要求12的方法,其中所述高速緩存表項的狀態包括無效狀態、共享狀態、 專屬未變更狀態、和專屬變更狀態中的至少一種。
15.根據權利要求12的方法,其中所述對提供至少一部分的請求具有對應的地址。
16.根據權利要求12的方法,其中所述對提供至少一部分的請求具有對應的目標指定 器和對應的高速緩存指定器。
17.根據權利要求16的方法,其中所述目標指定器用於從耦合到發出該請求的裝置的 多個目標裝置中選擇目標裝置,並且其中所述高速緩存指定器用於從選定的目標裝置中選 擇高速緩存。
18.根據權利要求12的方法,還包括從調試電路系統接收所述對提供高速緩存表項的至少一部分的請求。
19.根據權利要求12的方法,還包括從總線橋、直接存儲器存取控制器、和處理器中的 至少一個接收所述對提供高速緩存表項的至少一部分的請求。
20.根據權利要求12的方法,還包括提供所述高速緩存表項的所述至少一部分,而不 變更與該高速緩存相關聯的存儲器。
21.根據權利要求12的方法,其中所述對提供高速緩存表項的至少一部分的請求由多 個高速緩存接收,並且其中提供所述高速緩存表項的所述至少一部分的步驟僅由所述多個 高速緩存中的一個執行。
22.根據權利要求12的方法,其中所述對提供高速緩存表項的至少一部分的請求由多 個高速緩存接收,其中所述高速緩存表項的狀態是共享的,並且其中提供至少一個高速緩 存表項的步驟僅由所述多個高速緩存中的一個執行。
全文摘要
本發明描述了多個新的監聽事務類型(60)。其中的一些包括請求中的地址信息,而其它的包括請求中的高速緩存表項信息。一些響應(61)包括標記地址信息,而一些不包括。一些在事務的數據部分期間在數據總線線(41)上提供標記地址內容。這些新的監聽事務類型在數據處理系統的調試期間是非常有用的。
文檔編號G06F12/00GK101918923SQ200880015903
公開日2010年12月15日 申請日期2008年4月29日 優先權日2007年5月14日
發明者M·D·斯尼德爾, 威廉姆·C.·莫耶 申請人:飛思卡爾半導體公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀