新四季網

高速緩存用於多狀態處理器的指令的製作方法

2023-05-15 07:28:16 1

專利名稱:高速緩存用於多狀態處理器的指令的製作方法
技術領域:
本發明大體上涉及處理系統,且更具體地說,涉及高速緩存用於多狀態處理器的指令。
背景技術:
計算機通常使用存儲器所支持的處理器。存儲器是保存程序和數據的存儲媒體,處 理器需要所述程序和數據來執行其功能。近來,隨著更強大的軟體程序的出現,對存儲 器的需求已經以令人驚訝的速度增加。結果是現代處理器需要大量的存儲器,其自然比 較小的存儲器慢。具有能夠支持現今的處理器的速度的較大存儲器對大規模商業應用來 說實在是太昂貴了。計算機設計師己經通過將存儲器組織成若干分級組件來解決此問題。在容量方面最 大的組件通常是硬碟驅動器。硬碟驅動器提供大量的廉價永久存儲。基本輸入/輸出系統 (BIOS)和作業系統僅僅是通常存儲在硬碟驅動器上的程序的幾個實例。當計算機運轉 時,這些程序可加載到隨機存取存儲器(RAM)中。由用戶裝入的軟體應用程式也可從 硬碟驅動器加載到RAM中。RAM是允許處理器更容易地存取信息的臨時存儲區。計算機的RAM仍不是快得足以趕上處理器。這意味著處理器可能必須等待將程序 指令和數據寫入到RAM和從RAM讀取程序指令和數據。高速緩衝存儲器用於通過使 最經常由處理器使用的信息容易可得來增加存儲器存取的速度。這通過將少量存儲器 (已知為初級或等級1 (LI)高速緩衝存儲器)集成到處理器中來實現。還可在一些計算 機應用中使用RAM與L1高速緩衝存儲器之間的次級或等級2 (L2)高速緩衝存儲器。可通過在將指令放入高速緩衝存儲器中之前對所述指令部分地解碼,來進一步改進 計算機的速度。此過程通常被稱為"預解碼",且伴隨產生一些"預解碼信息",其可連 同指令一起存儲在高速緩衝存儲器中。預解碼信息指示指令的一些基本方面,例如所述 指令是算術指令還是存儲指令,所述指令是否為分支指令,所述指令是否將作出存儲器 引導,或可由處理器用來減小解碼邏輯的複雜性的任何其它信息。預解碼指令通過在不 減小其操作頻率的情況下減小機器的管線的長度,來改進處理器性能。在現今的新興技術的情況下,能夠在多個狀態下操作的處理器正變得普遍。"多狀 態處理器"表示可支持兩個或兩個以上不同指令組的處理器。ARM (高級RISC機器)處理器僅是一個實例。ARM處理器是現今通常在移動應用中使用的高效、低功率RISC 處理器,所述移動應用例如是行動電話、個人數字助理(PDA)、數位相機和遊戲控制 臺(僅舉幾個實例)。ARM處理器過去己經支持兩個指令組ARM指令組,其中所有 指令的長度都是32位;和Thumb指令組,其將最通常使用的指令壓縮成16位格式。近 來已經添加到一些ARM處理器的第三指令組是"Thumb-2執行環境"(T2EE)。 T2EE 是被優化為用於字節碼語言(例如Java和NET)的動態(JIT)編譯目標的指令組(類 似於Thumb )。這些多狀態處理器已顯著增加了現代計算系統的容量,但可能對計算機設計師提出 空前挑戰。舉例來說,如果L1指令高速緩衝存儲器中大小為一行的指令塊含有來自多 個指令組的指令,那麼通過假定整個高速緩存行含有在一個狀態下的指令而計算出的預 解碼信息不能用於實際上在另一狀態下的那些指令。本發明中所描述的解決方案並不限 於具有Thumb和/或T2EE能力的ARM處理器,而是可應用於在將指令放入高速緩衝存 儲器之前用重疊指令編碼來對多個指令組的指令進行預解碼的任一系統。 發明內容本發明的一個方面針對一種操作處理器的方法。所述處理器能夠在不同狀態下操 作,其中每個狀態支持一個不同的指令組。所述方法包含在所述處理器在所述狀態中的 一者下操作時,從存儲器檢索指令塊;根據所述狀態中的所述一者對所述指令進行預解 碼;將經預解碼的指令加載到高速緩衝存儲器中;以及在所述處理器需要所述經預解碼 的指令中的在高速緩衝存儲器中的一者時確定所述處理器的當前狀態是否與所述狀態 中的用於對指令進行預解碼的所述一者相同。本發明的另一方面針對一種處理系統。所述處理系統包含存儲器;高速緩衝存儲器; 能夠在不同狀態下操作的處理器,所述狀態中的每一者支持一個不同的指令組,所述處 理器進一步經配置以當在所述狀態中的一者下操作時,從所述存儲器檢索指令塊;以及 預解碼器,其經配置以根據所述狀態中的所述一者,對從存儲器檢索到的指令進行預解 碼,其中所述處理器進一步經配置以將經預解碼的指令加載到高速緩衝存儲器中,且當 處理器需要經預解碼的指令中的在所述高速緩衝存儲器中的一者時,確定所述處理器的 當前狀態是否與所述狀態中用於對所述指令進行預解碼的所述一者相同。應了解,所屬領域的技術人員從以下詳細描述內容中將容易明了本發明的其它實施 例,其中以說明的方式來展示和描述本發明的各個實施例。將認識到,本發明能夠具有 其它且不同的實施例,且本發明的若干細節能夠在各個其它方面進行修改,所有這些都是在不脫離本發明的精神和範圍的前提下進行的。因此,應將附圖和具體實施方式
視為本質上是說明性的而不是限制性的。


在附圖中,以實例的方式而不是限制的方式來說明本發明的各方面,其中 圖1是說明處理系統的實例的功能框圖; 圖2是說明預解碼器的實例的功能框圖; 圖3A是說明高速緩衝存儲器中的指令的數據結構的圖; 圖3B是說明高速緩存行的數據結構的圖; 圖3C是說明具有狀態信息的高速緩存行的數據結構的圖; 圖4是說明多狀態處理器的一個實施例的操作的流程圖; 圖5是說明具有狀態信息的高速緩存目錄標籤的數據結構的圖;以及 圖6是說明多狀態處理器的另一實施例的操作的流程圖。
具體實施方式
希望下文結合附圖陳述的具體實施方式
作為對本發明各個實施例的描述,且不希望 其代表可實踐本發明的僅有的實施例。出於提供對本發明的全面理解的目的,具體實施方式
包含特定細節。然而,所屬領域的技術人員將了解,可在沒有這些特定細節的情況 下實踐本發明。在一些情況下,以框圖形式來展示眾所周知的結構和組件,以免混淆本 發明的概念。圖1是說明能夠處理、檢索和存儲信息的計算機100 (或其它處理系統)的實例的 概念框圖。計算機IOO可以是獨立組件,或者嵌入裝置中,所述裝置例如是行動電話、 PDA、數位相機、遊戲控制臺或任一其它合適的裝置。計算機100可包含處理器102, 例如微處理器或其它處理實體。在計算機100的一個實施例中,處理器102是32位嵌 入式RISC微處理器,在業界通常稱為ARM處理器。ARM處理器通常被用作平臺來運 行用於無線、消費者、成像、自動化、工業和連網應用的複合作業系統。包含在許多 ARM處理器中的是Thumb指令組,其將大部分通常使用的32位ARM指令壓縮成16 位形式。ARM也將32位指令添加到Thumb。 Thumb指令組是可在需要代碼密度時使用 的32位ARM指令的子集的簡略形式。如本發明的背景技術部分中所指示,ARM處理 器還可執行T2EE。計算機100還可包含存儲器104,其保存處理器102需要用來執行其功能的程序指 令和數據。存儲器104可用RAM或其它合適的存儲器來實施,且可由計算機的主存儲器和(視情況)L2高速緩衝存儲器組成。可在處理器102與存儲器104之間使用指令高 速緩衝存儲器106。指令高速緩衝存儲器106是相對較小的,高速的L1高速緩衝存儲器, 其用於臨時存儲來自存儲器104的待由處理器102執行的程序指令。在計算機100的一 個實施例中,指令高速緩衝存儲器106是高速靜態RAM (SRAM),而不是可用於存儲 器104的較慢且較便宜的動態RAM (DRAM)。指令高速緩衝存儲器106提供用於增加 處理器存取速度的機制,因為多數程序重複地存取相同的指令。通過儘可能多地將此信 息保存在指令高速緩衝存儲器106中,處理器102避免了必須存取較慢的存儲器104。 計算機100還可包含數據高速緩衝存儲器(未圖示),其用於存儲執行所述指令的過程 中所使用的數據指令高速緩衝存儲器106為來自存儲器104的最新近由處理器102存取的指令提供 存儲。當處理器102需要來自存儲器104的指令時,其首先檢查指令高速緩衝存儲器106, 以確定所述指令是否在那裡。當在指令高速緩衝存儲器106中找到處理器102所需的指 令時,所述查找被稱為"高速緩存命中"。在高速緩存命中的情況下,可直接從指令高 速緩衝存儲器106檢索所述指令,因此大大增加指令可被處理的速率。處理器102所需 的未在指令高速緩衝存儲器106中找到的指令導致"高速緩存未中"。在高速緩存未中 的情況下,處理器102必須從存儲器104取出所需的指令,這與從指令高速緩衝存儲器 106取出指令相比,花費顯著較長的時間。通常,處理器102從存儲器104取出"高速 緩存行"。來自存儲器104的高速緩存行可存儲在指令高速緩衝存儲器106中,以供將 來存取。可通過在將來自存儲器104的指令放在指令高速緩衝存儲器106中之前對所述指令 進行預解碼,來進一步增強計算機性能。預解碼器108在指令被從存儲器104取出時取 得所述指令,根據處理器102的操作狀態對所述指令進行預解碼,並將預解碼信息存儲 在指令高速緩衝存儲器106中。來自處理器102的信令可用於指示處理器102的針對預 解碼操作的當前操作狀態。圖2是說明預解碼器的實例的功能框圖。預解碼器108包含輸入寄存器202,其用 於接收來自存儲器104 (見圖1)的高速緩存行中的指令。在多狀態處理器的情況下, 可使用兩個預解碼器(一個預解碼器針對一個處理器狀態)204a、 204b。可將輸入寄存 器202中的指令提供到預解碼器204a、 204b,以產生每個指令的預解碼信息。可使用多 路復用器206來基於來自處理器102 (見圖1)的信令,選擇適當的預解碼信息。在預 解碼器108的一些實施例中,可對到達預解碼器204a、 204b的輸入進行選通,以通過 僅啟用由處理器102選定的預解碼器來節約功率。可將來自寄存器202的每個指令連同來自多路復用器206的其相應預解碼信息一起放在輸出寄存器208中。可將輸出寄存器 的內容讀取到處理器102和指令高速緩衝存儲器106 (見圖1)兩者中。圖3A說明單個指令302如何與其預解碼信息304 —起存儲在指令高速緩衝存儲器 106中。圖3B說明由八個指令組成的整個高速緩存行如何存儲在指令高速緩衝存儲器 106中。在此實例中,每個指令302a-302h的末端上附加有其預解碼信息304a-304h。視 特定應用和總體設計限制而定,預解碼信息可以是任一數目的位。此外,使用八個指令 來說明高速緩存行僅作為實例而提供,應了解,每個高速緩存行可保存任一數目的指令。指令高速緩衝存儲器106保存高速緩存目錄(未圖示)。高速緩存目錄針對每個高 速緩存行含有一個條目或"標籤"。高速緩存目錄標籤與高速緩衝存儲陣列中的其相關 聯高速緩存行之間存在一對一映射。高速緩存目錄標籤含有用於高速緩存行中的第一指 令的存儲器地址。處理器102 (見圖1)通過搜索高速緩存目錄以獲得具有所述存儲器 地址的標籤來取出指令。匹配用信號通知高速緩存命中。匹配的高速緩存目錄標籤指示 哪一高速緩存行含有所需的指令。接著,處理器可存取指令及其預解碼信息。如果處理 器不能找到匹配(即,高速緩存未中),那麼其將試圖從存儲器104 (見圖l)讀取高速 緩存行。從存儲器檢索到的高速緩存行被預解碼並放入指令高速緩衝存儲器106中。一 個或一個以上指令還可直接加載到處理器102中,以供立即解碼和執行。可對高速緩存 目錄進行更新,使得處理器102在將來存取時可確定高速緩存行駐存在高速緩衝存儲陣 列中的何處。在圖1的處理系統中,在使用多狀態處理器102的情況下,多個指令組可駐存在存 儲器104中。在這些多狀態處理環境下,從存儲器104檢索到的高速緩存行可包含用於 所述處理器的多個狀態的指令。此外,將基於處理器102的當前狀態對高速緩存行中的 每個指令進行預解碼,且一次對整個高速緩存行進行預解碼。如果(例如)當從存儲器 104檢索高速緩存行時處理器102正在特定狀態下操作,那麼在將高速緩存行中所含有 的所有指令放入指令高速緩衝存儲器106中之前,將對所述指令進行預解碼,如同它們 是用於所述狀態的指令。由於所述預解碼的緣故,當處理器102處於不同的狀態時不能 合適地執行對指令高速緩衝存儲器106的隨後存取。處理系統IOO可使用若干技術來確保從指令高速緩衝存儲器106檢索到的每個指令 不會由具有不正確預解碼信息的處理器102執行。 一種可能的解決方案是將"狀態信息" 與預解碼的指令一起存儲在每個高速緩存行中。將"狀態信息"界定為一個或一個以上 位,其指示當相關聯的高速緩存行被預解碼時處理器102處於哪一狀態。圖3C說明由 八個經預解碼的指令組成的整個高速緩存行如何與狀態信息一起存儲。類似於圖3B,每個指令302a-302h的末端上附加有其預解碼信息304a-304h。然而,除圖3B中所示之 外,高速緩存行的開端處還包含有兩個位的狀態信息306。兩個位的狀態信息提供至多 達四個不同的操作狀態。所屬領域的技術人員將容易能夠確定支持其它應用中的必需數 目的處理器狀態所需的位的數目。圖4是說明多狀態處理器使用狀態信息與經預解碼的指令來確定特定指令的預解碼 信息是否正確的操作的流程圖。在步驟402中,處理器將所需指令的虛擬地址翻譯成存 儲器地址。接著,在步驟402中,處理器搜索高速緩存目錄中的標籤,以獲得所述存儲 器地址。所述搜索導致高速緩存命中或高速緩存未中。在高速緩存未中的情況下,在步 驟406中,處理器將試圖從存儲器檢索所述指令。在高速緩存命中的情況下,在步驟408 中,處理器將從指令高速緩衝存儲器檢索所述指令,且在步驟410中,將相應的狀態信 息與處理器的當前狀態進行比較。如果處理器的當前狀態與所述指令的狀態信息匹配, 那麼在步驟412中,處理器將使用預解碼信息來解碼和執行所述指令。否則,在步驟412 中解碼和執行所述指令之前,在步驟414中,處理器將對所述指令進行預解碼。另一種可能的解決方案是在每個高速緩存目錄標籤中包含狀態信息。圖5展示狀態 信息可如何添加到高速緩存目錄中的標籤。將高速緩存目錄502展示為具有許多標籤 504,其中每個標籤對應於高速緩衝存儲陣列中的一個高速緩存行。高速緩存目錄標籤 504含有地址欄位506和狀態欄位508。地址欄位506包含用於高速緩存行中的第一指 令的存儲器地址,且狀態欄位508包含在高速緩存行被預解碼時識別處理器的狀態的狀 態信息。圖6是說明多狀態處理器使用高速緩存目錄標籤中的狀態信息來確定特定指令的預 解碼信息是否正確的操作的流程圖。在步驟602中,處理器執行所需的計算來產生用於 執行高速緩存查找的地址。在步驟604中,處理器將狀態信息添加到對應於處理器的當 前狀態的存儲器地址。存儲器地址與狀態信息結合形成標籤。接著,在步驟606中,將 由處理器形成的標籤與高速緩存目錄中的標籤進行比較。在此情況下,高速緩存命中不 僅意味著處理器所需的指令在指令高速緩衝存儲器中,而且意味著經預解碼的指令可由 處理器在其當前狀態下執行。在高速緩存命中的情況下,在步驟608中,處理器檢索所 述指令,並在步驟610中,使用預解碼信息來解碼和執行所述指令。在高速緩存未中的 情況下,在步驟612中,處理器從存儲器檢索具有所需指令的高速緩存行;在步驟614 中,起始高速緩存行的預解碼;且在步驟616中,使用預解碼信息來解碼和執行所述指 令。在步驟618中,處理器將經預解碼的高速緩存行存儲到指令高速緩衝存儲器中,並 用地址和狀態信息來更新其標籤。結果是存儲塊的多個副本可存在於指令高速緩衝存儲器中不同高速緩存行處。在不同狀態下對駐存在這些副本的每一者中的指令進行預解 碼,且高速緩衝存儲器中的單個査找決不會返回多個高速緩存命中。結合本文所揭示的實施例而描述的各種說明性邏輯塊、模塊、電路、元件和/或組件 可用以下裝置來實施或執行通用處理器、數位訊號處理器(DSP)、專用集成電路 (ASIC)、現場可編程門陣列(FPGA)或其它可編程邏輯組件、離散門或電晶體邏輯、 離散硬體組件或經設計以執行本文所述的功能的其任一組合。通用處理器可以是微處理 器,但在替代方案中,處理器可以是任一常規處理器、控制器、微控制器或狀態機。處 理器還可實施為計算裝置的組合,例如DSP與微處理器的組合、多個微處理器、結合 DSP核心的一個或一個以上微處理器或任何其它此類配置。結合本文所揭示的實施例而描述的方法或算法可直接在硬體中實施,在由處理器執 行的軟體模塊中實施,或在上述兩者的組合中實施。軟體模塊可駐存在RAM存儲器、 快閃記憶體、ROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬碟、可移 除盤、CD-ROM或此項技術中已知的任一其它形式的存儲媒體中。存儲媒體可耦合到處理器,使得處理器可從存儲媒體讀取信息,且將信息寫入到存儲媒體。在替代方案中, 存儲媒體可以與處理器成一體式。提供對所揭示實施例的前面的描述內容,以使所屬領域的技術人員能夠製作或使用 本發明。所屬領域的技術人員將容易明了對這些實施例的各種修改,且在不脫離本發明 的精神或範圍的情況下,本文所界定的一般原理可應用於其它實施例。因此,不希望本 發明局限於本文所展示的實施例,而是本發明應符合與權利要求書一致的完整範圍,其中不希望以單數形式引用元件表示"一個且僅一個"(除非明確這樣陳述),而是表示"一 個或一個以上"。所屬領域的一般技術人員已知或以後將知道的貫穿本發明而描述的各 個實施例的元件的所有結構和功能均等物特意以引用的方式併入本文中,且希望為權利 要求書所涵蓋。此外,本文所揭示的任何內容均不希望貢獻給公眾,不管權利要求書中 是否明確敘述了此類揭示內容。任何權利要求項要素均不應在35 U.S.C. §112第六段的 條款下進行解釋,除非特意使用短語"用於……的裝置"來敘述所述要素,或在方法項 的情況下,使用短語"用於……的步驟"來敘述所述要素。
權利要求
1.一種操作處理器的方法,所述處理器能夠在不同狀態下操作,所述狀態中的至少兩者支持不同的指令組,所述方法包括當所述處理器在所述狀態中的一者下操作時,從存儲器檢索指令塊;根據所述狀態中的所述一者對所述指令進行預解碼;將所述經預解碼的指令加載到高速緩衝存儲器中;以及在所述處理器需要所述高速緩衝存儲器中所述經預解碼的指令中的一者時確定所述處理器的當前狀態是否與所述狀態中用於對所述指令進行預解碼的所述一者相同。
2. 根據權利要求1所述的方法,其進一步包括如果確定所述處理器的所述當前狀態與 所述狀態中用於對所述指令進行預解碼的所述一者相同,那麼執行所述高速緩衝存 儲器中所述經預解碼的指令中的所述一者。
3. 根據權利要求1所述的方法,其進一步包括將狀態信息與所述經預解碼的指令一起 加載在所述高速緩衝存儲器中,所述狀態信息指示根據所述狀態中的所述一者對所 述指令進行了預解碼。
4. 根據權利要求3所述的方法,其中所述確定所述處理器的所述當前狀態是否與所述 狀態中用於對所述指令進行預解碼的所述一者相同是通過將所述處理器的所述當 前狀態與所述高速緩衝存儲器中的所述狀態信息進行比較來作出的。
5. 根據權利要求4所述的方法,其進一步包括如果所述處理器的所述當前狀態與所述 高速緩衝存儲器中的所述狀態信息之間的所述比較指示所述處理器的所述當前狀 態與所述狀態中用於對所述指令進行預解碼的所述一者相同,那麼執行所述高速緩 衝存儲器中所述經預解碼的指令中的所述一者。
6. 根據權利要求4所述的方法,其中所述經預解碼的指令中的所述一者包含從所述存 儲器檢索到所述指令中的一者和預解碼信息,所述方法進一步包括如果所述處理器 的所述當前狀態與所述高速緩衝存儲器中的所述狀態信息之間的所述比較指示所 述處理器的所述當前狀態與所述狀態中用於對所述指令進行預解碼的所述一者不 同,那麼忽略所述預解碼信息。
7. 根據權利要求6所述的方法,其進一步包括在執行之前,對所述指令中不具有所述 預解碼信息的所述一者進行處理。
8. 根據權利要求1所述的方法,其中所述高速緩衝存儲器包含與所述經預解碼的指令 相關聯的標籤,所述標籤由所述處理器用來確定所述經預解碼的指令中所述處理器 需要的所述一者是否在所述高速緩衝存儲器中,所述方法進一步包括將狀態信息添 加到所述標籤,所述狀態信息指示根據所述狀態中的所述一者對所述指令進行了預 解碼。
9. 根據權利要求8所述的方法,其中所述確定所述處理器的所述當前狀態是否與所述 狀態中用於對所述指令進行預解碼的所述一者相同是通過檢査所述標籤來作出的。
10. 根據權利要求9所述的方法,其進一步包括如果所述標籤指示所述處理器的所述當 前狀態與所述狀態中用於對所述指令進行預解碼的所述一者相同,那麼從所述高速 緩衝存儲器檢索所述經預解碼的指令中的所述一者。
11. 根據權利要求9所述的方法,其進一步包括如果所述標籤指示所述處理器的所述當 前狀態與所述狀態中用於對所述指令進行預解碼的所述一者不同,那麼從所述存儲 器檢索所述指令塊的另一副本。
12. 根據權利要求11所述的方法,其進一步包括執行來自指令的第二副本的所述指令 中的一者。
13. 根據權利要求11所述的方法,其進一步包括根據所述處理器的所述當前狀態對所 述指令的所述另一副本進行預解碼,以及將所述指令的所述經預解碼的第二副本加 載到所述高速緩衝存儲器中。
14. 根據權利要求13所述的方法,其進一步包括使第二標籤與來自指令的所述第二副本的所述經預解碼的指令相關聯,以及將狀態信息添加到所述第二標籤,所述添加到所述第二標籤的狀態信息指示根據所述處理器的所述當前狀態對所述指令的所 述第二副本進行了預解碼。
15. 根據權利要求l所述的方法,其中所述處理器的操作狀態包含ARM、Thumb和T2EE 中的至少兩者。
16. —種處理系統,其包括存儲器;高速緩衝存儲器;處理器,其能夠在不同狀態下操作,所述狀態中的每一者支持一不同指令組,所 述處理器進一步經配置以在所述狀態中的一者下操作時從所述存儲器檢索指令塊; 以及預解碼器,其經配置以根據所述狀態中的所述一者對從所述存儲器檢索到的所述指令進行預解碼;其中所述處理器進一步經配置以將所述經預解碼的指令加載到所述高速緩衝存 儲器中,且當所述處理器需要所述高速緩衝存儲器中所述經預解碼的指令中的一者 時,確定所述處理器的當前狀態是否與所述狀態中用於對所述指令進行預解碼的所 述一者相同。
17. 根據權利要求16所述的處理系統,其中所述處理器進一步經配置以在所述處理器 確定其當前狀態與所述狀態中用於對所述指令進行預解碼的所述一者相同時,執行 所述高速緩衝存儲器中所述經預解碼的指令中的所述一者。
18. 根據權利要求16所述的處理系統,其中所述處理器進一步經配置以將狀態信息與 所述經預解碼的指令一起加載在所述高速緩衝存儲器中,所述狀態信息指示根據所 述狀態中的所述一者對所述指令進行了預解碼。
19. 根據權利要求18所述的處理系統,其中所述處理器進一步經配置以通過將所述處 理器的所述當前狀態與所述高速緩衝存儲器中的所述狀態信息進行比較來確定其 當前狀態是否與所述狀態中用於對所述指令進行預解碼的所述一者相同。
20. 根據權利要求19所述的處理系統,其中所述處理器進一步經配置以在所述處理器 的所述當前狀態與所述高速緩衝存儲器中的所述狀態信息之間的所述比較指示所 述處理器的所述當前狀態與所述狀態中用於對所述指令進行預解碼的所述一者相 同時,執行所述高速緩衝存儲器中所述經預解碼的指令中的所述一者。
21. 根據權利要求19所述的處理系統,其中所述經預解碼的指令中的所述一者包含從 所述存儲器檢索到的所述指令中的一者和預解碼信息,且其中所述處理器進一步經 配置以在所述處理器的所述當前狀態與所述高速緩衝存儲器中的所述狀態信息之 間的所述比較指示所述處理器的所述當前狀態與所述狀態中用於對所述指令進行 預解碼的所述一者不同時,忽略所述預解碼信息。
22. 根據權利要求21所述的處理系統,其中所述處理器進一步經配置以在所述處理器 的所述當前狀態與所述高速緩衝存儲器中的所述狀態信息之間的所述比較指示所 述處理器的所述當前狀態與所述狀態中用於對所述指令進行預解碼的所述一者不 同時,在執行之前對所述指令中不具有所述預解碼信息的所述一者進行處理。
23. 根據權利要求16所述的處理系統,其中所述高速緩衝存儲器包含與所述經預解碼 的指令相關聯的標籤,所述標籤由所述處理器用來確定所述經預解碼指令中所述處 理器需要的所述一者是否在所述高速緩衝存儲器中,且其中所述處理器進一步經配 置以將狀態信息添加到所述標籤,所述狀態信息指示根據所述狀態中的所述一者對所述指令進行了預解碼。
24. 根據權利要求23所述的處理系統,其中所述處理器進一步經配置以通過檢査所述 標籤來確定其當前狀態是否與所述狀態中用於對所述指令進行預解碼的所述一者 相同。
25. 根據權利要求24所述的處理系統,其中所述處理器進一步經配置以在所述標籤指 示所述處理器的所述當前狀態與所述狀態中用於對所述指令進行預解碼的所述一 者相同時,從所述高速緩衝存儲器中檢索所述經預解碼的指令中的所述一者。
26. 根據權利要求24所述的處理系統,其中所述處理器進一步經配置以在所述標籤指 示所述處理器的所述當前狀態與所述狀態中用於對所述指令進行預解碼的所述一 者不同時,從所述存儲器中檢索所述指令塊的第二副本。
27. 根據權利要求26所述的處理系統,其中所述處理器進一步經配置以執行來自指令 的所述第二副本的所述指令中的一者。
28. 根據權利要求26所述的處理系統,其中所述預解碼器進一步經配置以根據所述處 理器的所述當前狀態對所述指令的所述第二副本進行預解碼,且所述處理器進一步 經配置以將所述指令的所述經預解碼的第二副本加載到所述高速緩衝存儲器中。
29. 根據權利要求28所述的處理系統,其中所述高速緩衝存儲器進一步經配置以使第 二標籤與來自指令的所述第二副本的所述經預解碼的指令相關聯,且所述處理器進 一步經配置以將狀態信息添加到所述第二標籤,所述添加到所述第二標籤的狀態信 息指示根據所述處理器的所述當前狀態對所述指令的所述第二副本進行了預解碼。
30. 根據權利要求16所述的處理系統,其中所述處理器的操作狀態包含ARM、 Thumb 禾卩T2EE。
全文摘要
一種用於高速緩存用於具有多個操作狀態的處理器的指令的方法和設備。所述處理器的所述操作狀態中的至少兩者支持不同的指令組。當所述處理器在所述狀態中的一者下操作時,可從存儲器檢索指令塊。可根據所述狀態中的所述一者對所述指令進行預解碼,並將其加載到高速緩衝存儲器中。所述處理器或另一實體可用於在所述處理器需要所述高速緩衝存儲器中所述經預解碼的指令中的一者時確定所述處理器的當前狀態是否與所述狀態中用於對所述指令進行預解碼的所述一者相同。
文檔編號G06F9/38GK101223504SQ200680025599
公開日2008年7月16日 申請日期2006年5月18日 優先權日2005年5月18日
發明者布賴恩·麥可·斯坦普爾, 羅德尼·韋恩·史密斯 申請人:高通股份有限公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀