存儲(chǔ)器層次結(jié)構(gòu)145中的下一更高級(jí)別高速緩存。
[0047]圖5為根據(jù)一些實(shí)施方案的、基于預(yù)取信任級(jí)別而在圖1的處理器的存儲(chǔ)器層次結(jié)構(gòu)上傳輸預(yù)取請(qǐng)求的方法500的流程圖。為了便于論述,參照?qǐng)D1的電子裝置100上的例示性實(shí)施形式來描述方法500。在方框502上,LI高速緩存104上的控制器115接收預(yù)取請(qǐng)求。在方框504上,控制器115確定預(yù)取請(qǐng)求的信任級(jí)別是否低于針對(duì)LI高速緩存104的閾值。如果不低于所述閾值,那么所述方法流程便進(jìn)行到方框506,并且控制器115將表示預(yù)取請(qǐng)求的信息存儲(chǔ)在MAB 130上的可用時(shí)隙處。
[0048]返回到方框504,如果控制器115確定預(yù)取請(qǐng)求的信任級(jí)別高于針對(duì)LI高速緩存104的閾值,那么所述方法流程便進(jìn)行到方框508,其中控制器115確定其是否為存儲(chǔ)器層次結(jié)構(gòu)145中的最低高速緩存。如果是最低高速緩存,那么所述方法流程便移動(dòng)到方框512,并且控制器向預(yù)取器122指示無法滿足預(yù)取請(qǐng)求。返回到方框508,如果未到達(dá)高速緩存N,所述方法流程便進(jìn)行到方框510,并且控制器115將預(yù)取請(qǐng)求傳輸至存儲(chǔ)器層次結(jié)構(gòu)145中的下一更低級(jí)別高速緩存一在這種情況下,便是L2高速緩存105。所述方法流程返回到方框504,并且存儲(chǔ)器層次結(jié)構(gòu)中的下一更低級(jí)別高速緩存確定預(yù)取請(qǐng)求的信任級(jí)別是否低于對(duì)應(yīng)閾值。
[0049]因此,在方法500下,預(yù)取請(qǐng)求繼續(xù)傳輸至更低級(jí)別高速緩存,直到其到達(dá)預(yù)取請(qǐng)求的信任級(jí)別超過對(duì)應(yīng)閾值的高速緩存,或者直到方法500在方框512上指示無法滿足預(yù)取請(qǐng)求。如果預(yù)取請(qǐng)求到達(dá)信任級(jí)別不超過對(duì)應(yīng)閾值的高速緩存,那么方法500的流程便將到達(dá)方框506處,并且表示預(yù)取請(qǐng)求的信息會(huì)存儲(chǔ)在MAB 130中分配給高速緩存的時(shí)隙上。另外,高速緩存的控制器確保被預(yù)取請(qǐng)求鎖定為目標(biāo)的數(shù)據(jù)會(huì)存儲(chǔ)在其對(duì)應(yīng)存儲(chǔ)陣列上,但并不提供給存儲(chǔ)器層次結(jié)構(gòu)145中的下一更高級(jí)別高速緩存。將了解的是,在圖4和圖5中示出的方法可進(jìn)行組合,以使得基于MAB 130上高速緩存的分配時(shí)隙的充滿度來傳輸一些預(yù)取請(qǐng)求,并且基于相應(yīng)預(yù)取信任級(jí)別來傳輸其它預(yù)取請(qǐng)求。
[0050]在一些實(shí)施方案中,上文所述功能中的至少一些功能可通過執(zhí)行切實(shí)地存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上的一個(gè)或多個(gè)軟件程序的一個(gè)或多個(gè)處理器來實(shí)施,并且據(jù)此所述一個(gè)或多個(gè)軟件程序包括相應(yīng)指令,所述指令在執(zhí)行時(shí)會(huì)操縱一個(gè)或多個(gè)處理器來執(zhí)行上文所述的處理系統(tǒng)的一個(gè)或多個(gè)功能。此外,在一些實(shí)施方案中,利用一個(gè)或多個(gè)集成電路(IC)裝置(也稱為集成電路芯片)來實(shí)施上文所述的串行數(shù)據(jù)接口??稍谶@些IC裝置的設(shè)計(jì)和制造中使用電子設(shè)計(jì)自動(dòng)化(EDA)和計(jì)算機(jī)輔助設(shè)計(jì)(CAD)軟件工具。這些設(shè)計(jì)工具通常呈現(xiàn)為一個(gè)或多個(gè)軟件程序。所述一個(gè)或多個(gè)軟件程序包括可由計(jì)算機(jī)系統(tǒng)執(zhí)行的代碼,以便操縱計(jì)算機(jī)系統(tǒng)來操作表示一個(gè)或多個(gè)IC裝置的電路的代碼,從而執(zhí)行相應(yīng)過程的至少一部分來設(shè)計(jì)或改動(dòng)加工系統(tǒng),以便制造電路。這個(gè)代碼可包括指令、數(shù)據(jù)或指令和數(shù)據(jù)的結(jié)合。表示設(shè)計(jì)工具或制造工具的軟件指令通常存儲(chǔ)在可由計(jì)算系統(tǒng)訪問的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。同樣地,表示IC裝置設(shè)計(jì)和制造的一個(gè)或多個(gè)階段的代碼可存儲(chǔ)在同一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)或不同計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,以及從同一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)或不同計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)進(jìn)行存取。
[0051]計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可包括使用期間可由計(jì)算機(jī)系統(tǒng)存取的任何存儲(chǔ)介質(zhì)或存儲(chǔ)介質(zhì)的組合,以便將指令和/或數(shù)據(jù)提供給計(jì)算機(jī)系統(tǒng)。此類存儲(chǔ)介質(zhì)可包括但不限于光學(xué)介質(zhì)(例如,壓縮光盤(CD))、數(shù)字多功能光盤((DVD)或藍(lán)光光盤)、磁性介質(zhì)(例如,軟盤、磁帶或磁性硬盤驅(qū)動(dòng)器)、易失性存儲(chǔ)器(例如,隨機(jī)存取存儲(chǔ)器(RAM)或高速緩存)、非易失性存儲(chǔ)器(例如,只讀存儲(chǔ)器(ROM)或閃存)或基于微電子機(jī)械系統(tǒng)(MEMS)的存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可嵌入在計(jì)算系統(tǒng)中(例如,系統(tǒng)RAM或ROM)、固定地附接至計(jì)算系統(tǒng)(例如,磁性硬盤驅(qū)動(dòng)器)、可移除地附接至計(jì)算系統(tǒng)(例如,光盤或基于通用串行總線(USB)的閃存)或經(jīng)由有線或無線網(wǎng)絡(luò)而連接至計(jì)算機(jī)系統(tǒng)(例如,網(wǎng)絡(luò)可存取儲(chǔ)存器(NAS))ο
[0052]圖6為流程圖,其示出用以設(shè)計(jì)和制造實(shí)施根據(jù)一些實(shí)施方案的一個(gè)或多個(gè)方面的IC裝置的例示性方法600。如上文所指出的,針對(duì)下述過程中的每個(gè)過程所生成的代碼會(huì)存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中或者以其它方式嵌入在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,以便由對(duì)應(yīng)的設(shè)計(jì)工具或制造工具來存取和使用。
[0053]在方框602上,生成用于IC裝置的功能規(guī)格。功能規(guī)格(通常稱為微架構(gòu)規(guī)格(MAS))可由各種編程語言或建模語言中的任何語言來表示,包括C、C++、SystemC,Simulink 或 MATLAB0
[0054]在方框604上,使用功能規(guī)格來生成表示IC裝置硬件的硬件描述代碼。在一些實(shí)施方案中,使用至少一個(gè)硬件描述語言(HDL)來表示硬件描述代碼,所述硬件描述語言(HDL)包括用于IC裝置電路的形式描述和設(shè)計(jì)的各種計(jì)算機(jī)語言、規(guī)格語言或建模語言中的任何語言。生成的HDL編碼通常表示IC裝置電路的操作、所述電路的設(shè)計(jì)和組織,以及用以通過模擬來驗(yàn)證IC裝置的正確操作的測試。HDL的示例包括模擬HDL(AHDL) ,VerilogHDL,SystemVerilog HDL以及VHDL。對(duì)于實(shí)施同步數(shù)字電路的IC裝置來說,硬件描述符代碼可包括寄存器傳輸級(jí)(RTL)代碼,以便提供同步數(shù)字電路的操作的抽象表現(xiàn)形式。對(duì)于其它類型的電路,硬件描述符代碼可包括行為級(jí)代碼,以便提供電路的操作的抽象表現(xiàn)形式。由硬件描述代碼所表示的HDL模型通常經(jīng)受一輪或多輪的模擬和調(diào)試,以便通過設(shè)計(jì)驗(yàn)證。
[0055]在驗(yàn)證硬件描述代碼所表示的設(shè)計(jì)之后,在方框606上使用合成工具來合成硬件描述代碼,以便生成表示或界定IC裝置電路的初始物理實(shí)施形式的代碼。在一些實(shí)施方案中,合成工具生成包括電路裝置實(shí)例(例如,門極、晶體管、電阻器、電容器、電感器、二極管等)和電路裝置實(shí)例之間的網(wǎng)絡(luò)或連接的一個(gè)或多個(gè)網(wǎng)絡(luò)列表。或者,網(wǎng)絡(luò)列表的全部或一部分可手動(dòng)生成,而不使用合成工具。正如與硬件描述代碼一樣,在最終一組的一個(gè)或多個(gè)網(wǎng)絡(luò)列表生成之前,網(wǎng)絡(luò)列表可經(jīng)受一個(gè)或多個(gè)測試和驗(yàn)證過程。
[0056]或者,可使用原理圖編輯工具來編制IC裝置電路的原理圖,并且隨后可使用原理圖捕獲工具來捕獲最終產(chǎn)生的電路圖以及生成表示電路圖的部件和連接性的一個(gè)或多個(gè)網(wǎng)絡(luò)列表(存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上)。所捕獲的電路圖隨后可經(jīng)受一輪或多輪的模擬而進(jìn)行測試和驗(yàn)證。
[0057]在方框608上,一個(gè)或多個(gè)EDA工具使用方框906上所產(chǎn)生的網(wǎng)絡(luò)列表,以便生成表示IC裝置電路的物理布局的代碼。這個(gè)過程可包括(例如)放置工具使用網(wǎng)絡(luò)列表來確定或固定IC裝置電路的每個(gè)元件的位置。此外,布線工具建立在放置過程的基礎(chǔ)上,以便添加或布放根據(jù)網(wǎng)絡(luò)列表來連接電路元件所需要的線路。最終產(chǎn)生的代碼表示IC裝置的三維模型。所述代碼可以用數(shù)據(jù)庫文件格式(例如像圖形數(shù)據(jù)庫系統(tǒng)II (GDSII)格式)來表示。處于這個(gè)格式下的數(shù)據(jù)通常表示幾何形狀、文本標(biāo)簽或關(guān)于呈層次形式的電路布局的其它信息。
[0058]在方框610上,將物理布局代碼(例如,⑶SII代碼)提供給生產(chǎn)設(shè)施,所述生產(chǎn)設(shè)施使用物理布局代碼來配置或者以其它方式改動(dòng)生產(chǎn)設(shè)施的制造工具(例如,通過掩膜作業(yè)),從而制造IC裝置。也就是說,物理布局代碼可被編程至一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)中,所述一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)隨后可整個(gè)或部分地控制生產(chǎn)設(shè)施的工具的運(yùn)行或其中所執(zhí)行的生產(chǎn)操作。
[0059]在一些實(shí)施方案中,上文所述技術(shù)的某些方面可通過運(yùn)行軟件的處理系統(tǒng)的一個(gè)或多個(gè)處理器來實(shí)施。所述軟件包括一組或多組可執(zhí)行指令,當(dāng)由所述一個(gè)或多個(gè)處理器執(zhí)行時(shí),所述一組或多組可執(zhí)行指令操縱所述一個(gè)或多個(gè)處理器來執(zhí)行上文所述技術(shù)的一個(gè)或多個(gè)方面。軟件存儲(chǔ)在或者以其它方式切實(shí)地嵌入在可由處理系統(tǒng)訪問的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上,并且可包括指令執(zhí)行期間所利用的指令和某些數(shù)據(jù),以便執(zhí)行對(duì)應(yīng)方面。
[0060]如本文所公開的,在一些實(shí)施方案中,一種方法包括:將指示第一高速緩存上高速緩存未命中的地址存儲(chǔ)在緩沖器上的第一組時(shí)隙處;并且響應(yīng)于確定第一組時(shí)隙的充滿度超過第一閾值,將定向到第一高速緩存的第一預(yù)取請(qǐng)求傳輸至第二高速緩存。在一些實(shí)施形式中,確定第一組時(shí)隙的充滿度,包括確定第一組時(shí)隙上存儲(chǔ)與未決存儲(chǔ)器存取請(qǐng)求關(guān)聯(lián)的地址的時(shí)隙數(shù)目。在一些實(shí)施形式中,確定第一組時(shí)隙的充滿度,包括確定第一組時(shí)隙中存儲(chǔ)預(yù)取請(qǐng)求的時(shí)隙數(shù)目。在一些實(shí)施形式中,確定第一組時(shí)隙的充滿度,包括確定第一組時(shí)隙中存儲(chǔ)預(yù)取請(qǐng)求的時(shí)隙數(shù)目與第一組時(shí)隙中存儲(chǔ)需求請(qǐng)求的時(shí)隙數(shù)目的比率。在一些實(shí)施形式中,所述方法包括響應(yīng)于第二高速緩存上的高速緩存未命中而將地址存儲(chǔ)在緩沖器上的第二組時(shí)隙處。在一些實(shí)施形式中,將第一預(yù)取請(qǐng)求傳輸至第二高速緩存,包括將與第一預(yù)取請(qǐng)求關(guān)聯(lián)的地址存儲(chǔ)在第二組時(shí)