麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

存儲器存取控制電路、存儲器設備和信息處理系統的制作方法

文檔序號:6362893閱讀:159來源:國知局
專利名稱:存儲器存取控制電路、存儲器設備和信息處理系統的制作方法
技術領域
本公開涉及存儲器存取控制電路。更具體地,本公開涉及從存儲器預取數據的存儲器存取控制電路、包括存儲器存取控制電路的預取電路、包括預取電路的存儲器設備以及包括存儲器設備的信息處理系統。
背景技術
因為處理器將存儲器用作指令保存區(hold area)和數據保存區,所以在程序運行期間,處理器需要頻繁地存取存儲器,該對存儲器的頻繁存取是存儲器所承受的很重的負擔。為了減小該負擔的大小,即,為了減小處理器存取存儲器的頻率,在一些配置中在處理器與存儲器之間提供預取(prefetch)緩沖器。因此,處理器可以存取預取緩沖器來代替存取存儲器。在預取緩沖器中,以行為單位管理存儲在預取緩沖器中的數據,每一行都由多個連續字組成。存取存儲在預取緩沖器中的字稱為高速緩沖命中(hit),而存取未存儲在預取緩沖器中的字稱為高速緩沖未命中(mishit)。如果在高速緩沖未命中下在預取緩沖器中沒有找到處理器想要的字,則以批操作(batch operation)將包括想要的字的多個字從存儲器中預取到預取緩沖器。也稱為預取大小的傳送大小是在高速緩沖未命中的情況下以批操作從存儲器中預取到預取緩沖器的字的數量。預取大小對處理器的處理運行性能的影響很大,如下所示。 假如在處理運行時使用預取到預取緩沖器中的字,如果預取大小增加,則處理器的性能也提高。另一方面,如果在處理運行時不使用預取到預取緩沖器中的字,則不想要地浪費存儲器存取帶寬(band)。為了使預取大小可變,例如,已經提出了用于在提供的區屬性管理表中保存各種預取大小的存儲器控制器,在從存儲器預取字到預取緩沖器的操作時從該區屬性管理表查找預取大小。對于與提出的存儲器控制器有關的更多信息,建議讀者參考諸如日本專利特開號No. 2004-240616的文件。

發明內容
根據上述現有技術,可以給每個邏輯地址塊分配預取大小。然而,因為預取緩沖器的使用也取決于程序的結構,所以,一般難以確定最優的預取大小。另外,如果運行類型相互不同的程序,則最優預取大小隨程序的不同而改變。因此,有時固定的預取大小是不合適的。因此,本公開旨在解決上述問題,以動態地改變預取緩沖器的預取大小。為了解決上述問題,根據本公開的第一實施例,提供一種存儲器存取控制電路,包括預取大小改變命令檢測部分,配置為檢測改變從存儲器傳送到預取緩沖器的數據的預取大小的命令;傳送狀態監控部分,配置為監控在存儲器與預取緩沖器之間傳送數據的狀態;以及
預取大小改變部分,配置為當檢測到改變預取大小的命令以及沒有監控到在存儲器與預取緩沖器之間傳送數據的狀態時,立即改變預取緩沖器中的預取大小,以及當檢測到改變預取大小的命令以及監控到在存儲器與預取緩沖器之間傳送數據的狀態時,在完成在存儲器與預取緩沖器之間傳送數據的狀態之后改變預取緩沖器中的預取大小。另外,為了解決上述問題,根據本公開第一實施例,提供了一種包括存儲器存取控制電路的預取電路、包括預取電路的存儲器設備以及包括存儲器設備的信息處理系統。因此,本公開帶來動態地改變預取緩沖器的預取大小的性能。另外,根據本公開第一實施例,可以提供一種配置,其中存儲器存取控制電路進一步具有最優預取大小確定塊,配置為基于伴隨由處理器進行的作為對存儲器的讀存取的存取的統計信息而確定預取緩沖器中的最優預取大小;以及預取大小改變部分將預取緩沖器的預取大小改變為最優預取大小。因此,本公開帶來將預取緩沖器的預取大小動態地改變為最優預取大小的性能。另外,根據本公開第一實施例,可以提供另一種配置,其中存儲器存取控制電路進
一步具有讀請求帶寬測量部分,配置為測量由處理器進行的作為對存儲器的讀請求的每個請求的讀請求帶寬;平均延遲計算部分,配置為對于預取緩沖器的預取大小設置為第一預取大小值的情況以及對于預取緩沖器的預取大小設置為第二預取大小值的情況,基于統計信息計算處理器與存儲器之間所需要的平均延遲;遲延生成頻率計算部分,配置為對于預取緩沖器的預取大小設置為第一預取大小值的情況以及對于預取緩沖器的預取大小設置為第二預取大小值的情況,基于讀請求帶寬以及平均延遲而計算遲延生成頻率;運行性能評估部分,配置為對于預取緩沖器的預取大小設置為第一預取大小值的情況以及對于預取緩沖器的預取大小設置為第二預取大小值的情況,評估處理器的運行性能;以及最優預取大小確定塊,配置為基于運行性能的評估結果而確定將第一預取大小值還是第二預取大小值取為最優預取大小。因此,本公開帶來基于統計信息而確定最優預取大小的性能。另外,根據本公開的第一實施例,可以提供另一種配置,其中存儲器存取控制電路進一步具有用于存儲改變預取緩沖器的預取大小的命令的預取大小改變寄存器;以及預取大小改變命令檢測部分檢測存儲在預取大小改變寄存器中的作為用于改變預取緩沖器的預取大小的命令的命令。因此,本公開帶來通過從預取大小改變寄存器中讀出命令來檢測用于改變預取緩沖器的預取大小的命令的性能。根據本公開,存儲器存取控制電路能夠展現出動態改變預取緩沖器的預取大小的優秀能力。


圖I是示出根據本公開實施例的信息處理系統的典型配置的框圖;圖2是示出根據本公開實施例的信息處理系統中包括的處理器中采用的總線主接口的典型配置的圖;圖3是示出信息處理系統中采用的作為根據本公開第一實施例的預取電路的預取電路的典型配置的框圖;圖4A和圖4B是示出根據本公開第一實施例的模式改變寄存器的典型配置的圖;圖5是示出由根據本公開第一實施例的預取電路執行的操作的定時的定時圖;圖6是示出信息處理系統中采用的作為根據本公開第二實施例的預取電路的預取電路的典型配置的框圖;圖7是示出總線主接口中HBURST[2:0]信號的內容的圖;圖8是示出根據本公開第二實施例的預取電路中采用的最優預取大小確定塊的典型配置的框圖;以及圖9示出表示由根據本公開第二實施例的預取電路執行的處理的具體過程的流程圖。
具體實施例方式以下描述本公開的實施方式。在以下描述中,將每個實施方式稱為實施例。實施例按以下排列的章節進行描述I :第一實施例(預取大小的動態控制)2 :第二實施例(最優預取大小的確定)I :第一實施例信息處理系統的配置圖I是示出根據本公開實施例的信息處理系統的典型配置的框圖。如圖所示,信息處理系統具有處理器100、客戶機110至130、預取電路200、存儲器總線300、存儲器控制器400和存儲器500。處理器100通過運行程序指令來執行處理。程序指令預先存儲在存儲器500的指令保存區中。另外,處理所需要的數據存儲在存儲器500的數據保存區中。保存在存儲器 500的指令保存區中的一些指令的備份存儲在預取電路200中。出于同樣的原因,保存在存儲器500的數據保存區中的部分數據的備份存儲在預取電路200中。另外,處理器100包括內部高速緩沖存儲器101。保存在存儲器500的指令保存區中的一些指令的備份存儲在高速緩沖存儲器101中。出于同樣的原因,保存在存儲器500的數據保存區中的部分數據的備份存儲在高速緩沖存儲器101中。除此之外,處理器100還包括內部總線主接口 102, 用于通過存儲器總線300與客戶機110、120和130以及存儲器500交換數據。預取電路200預取保存在存儲器500的指令保存區中的一些指令的備份以及保存在存儲器500的數據保存區中的部分數據的備份,將備份存儲到如稍后描述的預取電路 200中采用的預取緩沖器210中。如稍后將解釋,預取電路200接收卷繞(wrap-around)存儲器存取請求的大小以及開始地址。預取電路200轉換大小以及起始地址,將轉換結果提供給存儲器總線300。
存儲器總線300連接到客戶機110、120和130、連接到處理器100的預取電路200 以及存儲器控制器400。每個客戶機110、120和130可以被看作處理器100之外的處理器。 雖然本公開的實施方式并不局限于一元的存儲器系統,但是可以假定圖中所示的信息處理系統是一兀的存儲器系統。存儲器控制器400是用于控制對存儲器500的存取的控制器。存儲器500是處理器100以及每個都可被看作是處理器100之外的處理器的客戶機110、120和130共享的存儲器。總線主接口圖2是示出根據本公開實施例的信息處理系統中包括的處理器100中采用的總線主接口 102的典型配置的圖。總線主接口 102遵循ARM公司實行的AHB總線主接口。但是, 本公開提供的總線主接口 102并不局限于AHB總線主接口。例如,總線主接口 102還可以應用于如在以AXI總線以及OCP總線的情況下進行卷繞存儲器存取的其它總線。HGRANT信號是指示傳送是仲裁者允許的總線傳送的信號。HREADY信號是指示電流傳送已經結束的信號。HRESP[1:0]信號是指示傳送狀態的信號。HRESETn信號是用于執行全局復位的信號。應該注意,附加在信號名稱HRESET的后綴“η”指示信號是低有效信號。HCLK信號是總線時鐘輸入信號。HCLKEN信號是使能總線時鐘輸入信號的信號。 HRDATA[31:0]信號是傳遞從存儲器500讀出的數據的輸入信號。HBUSREQ信號是輸出到仲裁者的作為總線傳送的請求的信號。HLOCK信號是指示存取是鎖定的存取的信號。HTRANS[1:0]信號是指示當前傳送的類型的信號。HADDR[31:0]信號是傳遞讀地址或者寫地址給存儲器500的地址信號。在突發(burst)傳送的情況下,該地址信號傳遞傳送的第一地址。HWRITE信號是指示當前傳送的方向是寫方向還是讀方向的信號。HSIZE[2:0]信號是指示當前傳送的大小的信號。 HBURST[2:0]信號是指示當前傳送的突發長度的信號。HPR0T[3:0]信號是保護控制信號。 HWDATA[31:0]信號是將要寫入存儲器500中的數據傳遞給存儲器500的信號。上述接口是通過存儲器總線300的在處理器100與預取電路200之間的接口以及在預取電路200與存儲器500之間的接口。然而,為了區別處理器100與預取電路200之間的接口和預取電路200與存儲器500之間的接口,有時,對在處理器100與預取電路200 之間的接口的每個信號附加前綴“A_”,而對在預取電路200與存儲器500之間的接口的每個信號附加前綴"B_"。預取電路的配置圖3是示出信息處理系統中采用的作為根據本公開第一實施例的預取電路200的預取電路200的典型配置的框圖。如圖所示,預取電路200采用預取緩沖器210、標簽管理部分220、處理器接口 230、總線接口 240以及模式改變寄存器250。預取緩沖器210用于為處理器100保存存儲器500的指令保存區中保存的一些指令的備份。預取緩沖器210還用于為處理器100保存存儲器500的數據保存區中保存的部分數據的備份。預取緩沖器210中使用的管理單元的大小假定為大于處理器100中采用的高速緩沖存儲器的行大小。保存在預取緩沖器210中的指令以及數據在邏輯上可以相互區別。替代地,可以提供具有提供用于保存指令的緩沖器作為物理上與用于保存數據的緩沖器分開的緩沖器的配置的預取緩沖器210。
標簽管理部分220是用于管理作為指令和數據保存在預取緩沖器210中的對象的地址的標簽的部分。地址標簽是從地址字段的多個重要位中選擇的一些位。標簽管理部分 220采用模式改變命令檢測塊225以及模式改變塊227。模式改變命令檢測塊225是用于檢測改變預取緩沖器210中的預取大小的模式的命令的部分。模式改變塊227是用于改變預取緩沖器210中的預取大小的模式的部分。預取大小的模式一般假定為32字節模式或者64字節模式,其可以相互切換。對于32位數據總線寬度,可以通過執行8突發的卷繞突發傳送來以32字節模式從存儲器500預取對象到預取緩沖器210。出于同樣的原因,對于32位數據總線寬度,可以通過執行16突發的卷繞突發傳送來以64字節模式從存儲器500預取對象到預取緩沖器210。應該注意,模式改變命令檢測塊225是本公開說明書的權利要求中描述的預取大小改變命令檢測部分的典型示例。處理器接口 230是用于與處理器100交換信號的接口電路,而總線接口 240是用于與存儲器總線300交換信號的接口電路。總線接口 240采用數據傳送處理部分241和傳送狀態監控部分242。數據傳送處理部分241是用于執行處理以在處理器100與存儲器500 之間傳送數據的部分,而傳送狀態監控部分242是用于監控數據傳送處理部分241以確定數據傳送處理部分241是否執行處理以在處理器100與存儲器500之間傳送數據的部分。模式改變寄存器250是用于存儲從處理器100接收的用作改變預取緩沖器210中的預取大小的模式的命令的命令的寄存器。如稍后描述,模式改變寄存器250假定為具有兩種類型,即,用于存儲指令的寄存器以及用于存儲數據的寄存器。替代地,然而,用于存儲指令的寄存器與用于存儲數據的寄存器可以實現為一個寄存器。應該注意,模式改變寄存器250是本公開說明書的權利要求中描述的預取大小改變寄存器的具體示例。在改變預取緩沖器210中的預取大小的操作中,處理器100設置模式改變寄存器 250中的模式標志。在設置模式改變寄存器250中的模式標志時,將模式標志的設置通過信號線259報告給標簽管理部分220。在標簽管理部分220中,模式改變命令檢測塊225檢測存儲在模式改變寄存器250中的用作改變預取大小的模式的命令的命令,然后將檢測結果通過信號線226報告給模式改變塊227。同時,傳送狀態監控部分242監控數據傳送處理部分241的狀態,以確定數據傳送處理部分241是否正在執行在處理器100與存儲器500之間傳送數據的處理。傳送狀態監控部分242將該確定結果作為監控結果通過信號線249報告給模式改變塊227。當模式改變命令檢測塊225通知模式改變塊227由模式改變命令檢測塊225檢測到的用作改變預取緩沖器210中的預取大小的模式的命令的命令時,假如數據傳送處理部分241沒有執行在處理器100與存儲器500之間傳送數據的處理,則模式改變塊227立即改變預取大小的模式。另一方面,當模式改變命令檢測塊225通知模式改變塊227由模式改變命令檢測塊225檢測到的用作改變預取大小的模式的命令的命令時,如果數據傳送處理部分241正在執行在處理器100與存儲器500之間傳送數據的處理,則模式改變塊227 在等待數據傳送處理部分241終止數據傳送處理之后改變預取緩沖器210中的預取大小的模式。另外,模式改變塊227通過信號線229通知處理器接口 230改變預取緩沖器210中的預取大小的模式的處理的狀態。當模式改變塊227正在執行改變預取緩沖器210中的預取大小的模式的處理時,處理器接口 230將A_HREADY信號保持為反相狀態,以防止處理器100發布下一命令給預取電路200。應該注意,模式改變塊227是本公開說明書的權利要求中描述的預取大小改變部分的典型示例。圖4A和圖4B是示出根據本公開第一實施例的模式改變寄存器250的典型配置的圖。更具體地,圖4A是示出用于存儲改變預取緩沖器210中的數據的預取大小的命令的寄存器251的典型配置的圖,而圖4B是示出用于存儲改變預取緩沖器210中的指令的預取大小的命令的寄存器252的典型配置的圖。即使為數據提供寄存器251,而為指令提供寄存器252,寄存器251的字段配置也可以與寄存器252的字段配置相同。這些寄存器251與 252能夠物理上作為單個寄存器而邏輯上相當于以不同方式實施或者物理上作為兩個不同寄存器實施。假定每個寄存器251和252都具有32位配置。每個寄存器251和252的最低有效位是示出預取大小的模式的模式標志。例如,模式標志O是指示預取大小設置為32字節的32字節模式。另一方面,模式標志I是指示預取大小設置為64字節的64字節模式。為了設置預取大小,使得標簽管理部分220中的標簽無效。在完成使得標簽無效的操作之后, 設置預取大小。然而,如果數據傳送處理部分241正在執行在處理器100與存儲器500之間傳送數據的處理,則延遲使得標簽無效的操作。預取電路的操作圖5是示出由根據本公開第一實施例的預取電路200執行的操作的定時的定時圖。假定當在操作中正在將從存儲器500中讀出的數據傳送給預取緩沖器210時,處理器 100設置模式改變寄存器250中的預取大小改變命令以將預取大小從32字節改變為64字節。在已經在模式改變寄存器250中設置預取大小改變命令之后,處理器接口 230將 A_HREADY信號保持為反相狀態,以防止處理器100發布下一命令給預取電路200。然后,在完成傳送從存儲器500讀出的數據的操作之后,傳送狀態監控部分242通過信號線249將傳送終止信號傳送給模式改變塊227。在等待傳送終止信號到達模式改變塊227之后,標簽管理部分220將標簽無效,且當前模式信號將模式標志從指示32字節模式的O改變為指示 64字節模式的I。然后,處理器接口 230激活A_HREADY信號,以將預取電路200置于準備好從處理器100接收下一命令的狀態。如上所述,根據本公開第一實施例,可以在處理器100執行操作的過程中動態地改變預取大小同時保持數據的一致性。2 :第二實施例在本公開第二實施例中,基于伴隨由處理器100發布的作為對存儲器500的讀存取的存取的統計信息而確定預取緩沖器210中的最優預取大小。并且,在第二實施例的情況下,假定信息處理系統具有早先參考圖I解釋的典型配置。預取電路的配置圖6是示出信息處理系統中采用的作為根據本公開第二實施例的預取電路200的預取電路200的典型配置的框圖。如圖所示,根據本公開第二實施例的預取電路200采用預取控制塊201和最優預取大小確定塊202。預取控制塊201的基本配置包括與早先參考圖3解釋的用作根據第一實施例的預取電路200的預取電路200相同的部分。也就是說, 預取控制塊201采用預取緩沖器210、標簽管理部分220、處理器接口 230和總線接口 240。
另外,根據第二實施例的預取電路200中采用的預取控制塊201還具有命中率計算部分260。命中率計算部分260是用于基于伴隨由處理器100發布的作為對存儲器500 的讀存取的存取的統計信息而對于每個預取大小計算命中率的部分。命中率計算部分260 通過信號線268或者269將計算的命中率提供給最優預取大小確定塊202。為了方便起見, 在該典型配置中將命中率計算部分260包括在預取控制塊201中。然而,應該注意,也可以將命中率計算部分260包括在最優預取大小確定塊202中。圖7是示出總線主接口 102中的HBURST[2:0]信號的內容的圖。如果HBURST[2:0] 信號的內容設置為Y bOOO,則HBURST[2:0]信號指示單個傳送。應該注意,表達式 n' b0... O表示η位的字符串。在3' bOOO的這種情況下,η的值為3指示字符串是3位的字符串。如果HBURST[2:0]信號的內容設置為3' b001,則HBURST[2:0]信號指示沒有具體長度的遞增突發傳送(INCR)。遞增突發傳送是在每個突發傳送中給地址添加固定值的傳送。如果HBURST [2:0]信號的內容設置為3' b010,則HBURST [2:0]信號指示4突發卷繞突發傳送(WRAP4)。卷繞突發傳送是在具體地址范圍內添加地址以及在環形邊界上卷繞地址的傳送。在這種情況下,卷繞存儲器存取理解為暗示與卷繞突發傳送相同的。如果HBURST[2:0]信號的內容設置為3' bOll,則HBURST[2:0]信號指示4突發遞增突發傳送(INCR4)。如果HBURST [2:0]信號的內容設置為3' b 100,則HBURST [2:0]信號指示8突發卷繞突發傳送(WRAP8)。如果HBURST[2:0]信號的內容設置為3' blOl,則 HBURST[2:0]信號指示8突發遞增突發傳送(INCR8)。如果HBURST[2:0]信號的內容設置為3' b110,則HBURST[2:0]信號指示16突發卷繞突發傳送(WRAP16)。如果HBURST[2:0] 信號的內容設置為3' bill,則HBURST[2:0]信號指示16突發遞增突發傳送(INCR16)。當處理器100通過使用AJffiURST [2:0]信號發布WRAP4指令給預取電路200時, 取決于預取模式,總線接口 240通過使用BJffiURST [2:0]信號發布WRAP8或者WRAP16指令給存儲器500。也就是說,如果預取模式是32字節模式,則總線接口 240通過使用[ HBURST [2:0]信號發布WRAP8指令給存儲器500。另一方面,如果預取模式是64字節模式, 則總線接口 240通過使用BJffiURST [2:0]信號發布WRAP16指令給存儲器500。圖8是示出根據本公開第二實施例的預取電路200中采用的最優預取大小確定塊 202的典型配置的框圖。最優預取大小確定塊202是用于確定L大小以及S大小中哪一個是適于預取緩沖器210的模式的預取大小的部分。在這種情況下,關系L大小> S大小保持為真。例如,能夠假定L以及S大小分別為64以及32字節。最優預取大小確定塊202 具有性能目標值寄存器271以及命中延遲寄存器272。另外,最優預取大小確定塊202還包括讀請求帶寬測量部分281以及未命中延遲測量部分282。除此之外,最優預取大小確定塊 202還分別采用用于兩個預取大小,即,分別用于L以及S大小的L大小平均延遲計算部分 283以及S大小平均延遲計算部分、分別用于兩個預取大小,即,分別用于L以及S大小的L 大小停止生成頻率計算部分285以及S大小停止生成頻率計算部分286、以及分別用于兩個預取大小,即,分別用于L以及S大小的L大小運行性能評估部分287以及S大小運行性能評估部分288。此外,最優預取大小確定塊202還具有模式確定部分289。性能目標值寄存器271是用于保存作為用于確定預取大小的模式的目標值的處理器100的性能目標值的寄存器。例如,MIPS(百萬指令每秒)值可以用作處理器100的性能目標值。處理器100的性能目標值可以根據系統規格而確定以及由處理器接口 230通過信號線239在性能目標值寄存器271中設置。命中延遲寄存器272是用于保存在已經命中預取緩沖器210的情況下的延遲的寄存器。延遲是在處理器100中發布由處理器100做出的讀請求與讀請求想要的應答數據的到達之間所需要的周期數。如果已經命中預取緩沖器210,則計算的延遲是存儲在命中延遲寄存器272中的常數。處理器接口 230通過信號線239在命中延遲寄存器272中設置命中延遲。讀請求帶測量部分281是用于基于輸出到處理器100的應答數據的字節數而實時測量在任一給定點處處理器100每秒做出的讀請求的帶寬的部分。讀請求帶寬的單位一般是ΜΒ/s (兆字節每秒)。每次接收到由處理器100做出的讀請求時更新由讀請求帶寬測量部分281執行的測量結果。將最后I秒期間執行的測量結果提供給L大小停止生成頻率計算部分285以及S大小停止生成頻率計算部分286。未命中延遲測量部分282是用于測量未命中預取緩沖器210的情況下的延遲的部分。如果未命中預取緩沖器210,則做出對存儲器500的突發存取。因此,在處理器100中發布由處理器100做出的讀請求與讀請求想要的應答數據的到達之間的時間是對存儲器 500的存取所花費的時間。將未命中延遲測量部分282執行的測量結果提供給L大小平均延遲計算部分283以及S大小平均延遲計算部分284。L大小平均延遲計算部分283以及S大小平均延遲計算部分284是用于計算用于預取大小的模式的平均延遲的部分。更具體地,L大小平均延遲計算部分283是用于計算用于L大小的平均延遲的部分,而S大小平均延遲計算部分284是用于計算用于S大小的平均延遲的部分。因為L大小的命中率不同于S大小的命中率,所以L大小平均延遲計算部分283與S大小平均延遲計算部分284計算用于預取大小的模式的平均延遲。命中率計算部分260通過信號線268將用于S大小的命中率提供給S大小平均延遲計算部分284以及通過信號線269將用于L大小的命中率提供給L大小平均延遲計算部分283。令符號A表保存在命中延遲寄存器272中的命中延遲,而符號B表由未命中延遲測量部分282測量的未命中延遲。另外,令符號X表示由命中率計算部分260計算的作為用于S大小的命中率的命中率。在這種情況下,根據以下公式可以獲得用于S大小的平均延遲LS LS = AXX+BX (I-X)令符號Y表示由命中率計算部分260計算的作為用于L大小的命中率的命中率。 在這種情況下,可以以下公式能夠獲得用于L大小的平均延遲LL LL = AXY+BX (I-Y)L大小平均延遲計算部分283計算用于L大小的平均延遲LL,而S大小平均延遲計算部分284計算用于S大小的平均延遲LS。L大小停止生成頻率計算部分285以及S大小停止生成頻率計算部分286是用于計算用于預取大小的模式的停止生成頻率的部分。更具體地,L大小停止生成頻率計算部分285是用于計算用于L大小的停止生成頻率的部分,而S大小停止生成頻率計算部分286 是用于計算用于S大小的停止生成頻率的部分。停止生成頻率是處理器100每秒的停止數。令符號Q表示由讀請求帶寬測量部分281測量的讀請求帶寬,以及令S大小設置為32 字節。在這種情況下,根據以下公式可以求出用于S大小的停止生成頻率SS SS = LSXQ/32令L大小設置為64字節。在這種情況下,根據以下公式可以求出用于L大小的停止生成頻率SL SL = LLXQ/64L大小停止生成頻率計算部分285計算用于L大小的停止生成頻率SL,而S大小停止生成頻率計算部分286計算用于S大小的停止生成頻率SS。L大小運行性能評估部分287以及S大小運行性能評估部分288是用于確定停止生成頻率是否在用于預取大小的模式的性能目標值允許的范圍之內的部分。更具體地,L 大小運行性能評估部分287是用于確定停止生成頻率是否在用于L大小的性能目標值允許的范圍之內的部分,而S大小運行性能評估部分288是用于確定停止生成頻率是否在用于 S大小的性能目標值允許的范圍之內的部分。處理器100的性能值由以下公式表示處理器性能值[MIPS]=處理器操作頻率[MHz]-停止生成頻率[MHz]/CPI上述公式中使用的符號CPI (周期每指令)表示每指令的運行周期數。在這種情況下,假定CPI等于1,則可以通過從處理器100的操作頻率中減去停止生成頻率來獲得處理器100的性能值。因此,通過將差值(處理器操作頻率-處理器性能目標值)與停止生成頻率進行比較,有可能確定停止生成頻率是否在性能目標值允許的范圍之內。也就是說,L大小運行性能評估部分287將作為從處理器100的操作頻率中減去保存在性能目標值寄存器271中的處理器性能目標值的結果而獲得的值與由L大小停止生成頻率計算部分285計算的作為用于L大小的停止生成頻率的停止生成頻率進行比較。如果發現前者大于后者,則L大小運行性能評估部分287確定用于L大小的停止生成頻率在性能目標值允許的范圍之內。另外,S大小運行性能評估部分288將作為從處理器100的操作頻率中減去保存在性能目標值寄存器271中的處理器性能目標值的結果而獲得的值與由S大小停止生成頻率計算部分286計算的作為用于S大小的停止生成頻率的停止生成頻率進行比較。如果發現前者大于后者,則S大小運行性能評估部分288確定用于S大小的停止生成頻率在性能目標值允許的范圍之內。模式確定部分289是用于根據由L大小運行性能評估部分287以及S大小運行性能評估部分288執行的評估結果來確定預取模式的部分。也就是說,如果L大小運行性能評估部分287確定用于L大小的停止生成頻率在性能目標值允許的范圍之內,以及S大小運行性能評估部分288也確定用于S大小的停止生成頻率在性能目標值允許的范圍之內, 則模式確定部分289選擇由用于S大小的模式提供的較小大小作為最優預取大小。如果L大小運行性能評估部分287確定用于L大小的停止生成頻率在性能目標值允許的范圍之內,而S大小運行性能評估部分288確定用于S大小的停止生成頻率不在性能目標值允許的范圍之內,則模式確定部分289選擇用于L大小的模式作為最優預取大小。如果L大小運行性能評估部分287確定用于L大小的停止生成頻率不在性能目標值允許的范圍之內,以及S大小運行性能評估部分288也確定用于S大小的停止生成頻率不在性能目標值允許的范圍之內,則不能夠將用于S以及L大小的模式選為最優預取大小。在這種情況下,生成中斷。應該注意,邏輯上沒有L大小運行性能評估部分287確定用于L大小的停止生成頻率不在性能目標值允許的范圍之內,而S大小運行性能評估部分288確定用于S大小的停止生成頻率在性能目標值允許的范圍之內的情況。模式確定部分289通過信號線299將最優預取大小提供給預取電路200中采用的標簽管理部分220。應該注意,模式確定部分289是本公開說明書的權利要求中描述的最優預取大小確定塊的具體示例。標簽管理部分220的內部配置與之前參考圖3描述的根據第一實施例的預取電路 200中采用的標簽管理部分220相同。也就是說,當模式改變命令檢測塊225通過信號線 299從模式確定部分289接收到已經由模式確定部分289產生的確定結果時,模式改變命令檢測塊225檢測作為模式改變命令的確定結果。模式改變塊227在等待完成總線接口 240 中執行的傳送處理之后改變預取大小的模式。預取電路的操作圖9示出表示由根據本公開第二實施例的預取電路200執行的處理的具體過程的流程圖。如圖所示,流程圖從步驟S901開始,其中在性能目標值寄存器271中預先設置處理器100的運行性能的目標值。然后,在接下來的步驟S902,以設置為用于S大小模式以及L大小模式的值的預取大小,處理器100運行程序以獲取統計信息。在這種情況下,假定統計信息包括由命中率計算部分260計算的命中率、由讀請求帶寬測量部分281測量的讀請求帶寬以及由未命中延遲測量部分282測量的未命中延遲。然后,在接下來的步驟S903,L大小平均延遲計算部分 283以及S大小平均延遲計算部分284基于該多條統計信息來計算用于預取大小的模式的平均延遲,而L大小停止生成頻率計算部分285以及S大小停止生成頻率計算部分286基于平均延遲來計算用于預取大小的模式的停止生成頻率。隨后,在接下來的步驟S904,,L大小運行性能評估部分287以及S大小運行性能評估部分288通過確定停止生成頻率是否滿足停止生成頻率在每個性能目標值允許的他們的各個范圍之內的條件,來評估停止生成頻率。根據由L大小運行性能評估部分287以及S大小運行性能評估部分288在步驟S904產生的評估結果,模式確定部分289按以下選擇預取大小的模式。在接下來的步驟S905,檢查由L大小運行性能評估部分287以及S大小運行性能評估部分288在步驟S904產生的評估結果,以確定兩種停止生成頻率是否都滿足上述條件。如果在步驟S905產生的確定結果指示兩種停止生成頻率都滿足條件,則過程流前進到步驟S907,在該步驟,模式確定部分289選擇S大小的模式作為最優預取大小。用這種方法,改變了預取大小的模式。另一方面,如果在步驟S905產生的確定結果指示兩種停止生成頻率不是都滿足條件,則過程流前進到步驟S906,在該步驟,檢查由L大小運行性能評估部分287以及S大小運行性能評估部分288在步驟S904產生的評估結果,以便確定是否任意一個停止生成頻率滿足條件。如果在步驟S906產生的確定結果指示任意一個停止生成頻率滿足條件,則過程流前進到步驟S908,在該步驟,模式確定部分289選擇L大小的模式作為最優預取大小。用這種方法,改變預取大小的模式。另一方面,如果在步驟S906產生的確定結果指示兩種停止生成頻率都不滿足條件,則過程流前進到步驟S909,在該步驟,模式確定部分289生成中斷。如上所述,根據本公開第二實施例,基于統計信息而確定最優預取大小,以使得可以動態地改變預取大小。應該注意,本公開的實施例僅是本公開的具體實施方式
,以及從實施例的描述中顯而易見,實施例的每個要素與本公開說明書中包括的權利要求中描述的發明具體要素相對應。出于同樣的原因,本公開說明書中包括的權利要求中描述的每個發明具體要素與具有與發明具體要素名稱相同的用作實施例中包括的實施例要素的實施例要素相對應。然而,本公開的實施方式并不局限于本公開的實施例。也就是說,在不背離本公開的本質的范圍之內,能夠對本公開的實施例進行各種修改。本公開包含與于2011年I月17日在日本專利局提交的日本優先權專利申請JP 2011-006574中公開的主題有關的主題,在此將其全部內容通過引用并入。
權利要求
1.一種存儲器存取控制電路,包括預取大小改變命令檢測部分,配置為檢測改變從存儲器傳送到預取緩沖器的數據的預取大小的命令;傳送狀態監控部分,配置為監控在所述存儲器與所述預取緩沖器之間傳送數據的狀態;以及預取大小改變部分,配置為當檢測到所述改變所述預取大小的命令以及沒有監控到在所述存儲器與所述預取緩沖器之間傳送數據的狀態時,立即改變所述預取緩沖器中的所述預取大小,以及當檢測到所述改變所述預取大小的命令以及監控到所述在所述存儲器與所述預取緩沖器之間傳送數據的狀態時,在完成所述在所述存儲器與所述預取緩沖器之間傳送數據的狀態之后改變所述預取緩沖器中的所述預取大小。
2.根據權利要求I所述的存儲器存取控制電路,所述存儲器存取控制電路進一步具有最優預取大小確定塊,配置為基于伴隨由處理器進行的作為對所述存儲器的讀存取的存取的統計信息而確定所述預取緩沖器中的最優預取大小,其中所述預取大小改變部分將所述預取緩沖器的所述預取大小改變為所述最優預取大小。
3.根據權利要求2所述的存儲器存取控制電路,所述存儲器存取控制電路進一步具有讀請求帶寬測量部分,配置為測量每個都由所述處理器做出的作為對所述存儲器的讀請求的請求的讀請求帶寬;平均延遲計算部分,配置為對于所述預取緩沖器的所述預取大小設置為第一預取大小值的情況以及對于所述預取緩沖器的所述預取大小設置為第二預取大小值的情況,基于所述統計信息而計算所述處理器與所述存儲器之間所需要的平均延遲;停止生成頻率計算部分,配置為對于所述預取緩沖器的所述預取大小設置為所述第一預取大小值的情況以及對于所述預取緩沖器的所述預取大小設置為所述第二預取大小值的情況,基于所述讀請求帶寬以及所述平均延遲而計算停止生成頻率;運行性能評估部分,配置為對于所述預取緩沖器的所述預取大小設置為所述第一預取大小值的情況以及對于所述預取緩沖器的所述預取大小設置為所述第二預取大小值的情況,評估所述處理器的運行性能;以及最優預取大小確定塊,配置為基于所述運行性能的所述評估結果而確定將所述第一預取大小值還是所述第二預取大小值取為所述最優預取大小。
4.根據權利要求I所述的存儲器存取控制電路,所述存儲器存取控制電路進一步具有預取大小改變寄存器,配置為存儲所述用于改變所述預取緩沖器的所述預取大小的命令,其中,所述預取大小改變命令檢測部分檢測存儲在所述預取大小改變寄存器中的用作所述改變所述預取緩沖器的所述預取大小的命令的命令。
5.一種預取電路,包括預取緩沖器;預取大小改變命令檢測部分,配置為檢測改變從存儲器傳送到所述預取緩沖器的數據的預取大小的命令;傳送狀態監控部分,配置為監控在所述存儲器與所述預取緩沖器之間傳送數據的狀態;以及預取大小改變部分,配置為當檢測到所述改變所述預取大小的命令以及沒有監控到在所述存儲器與所述預取緩沖器之間傳送數據的狀態時,立即改變所述預取緩沖器中的所述預取大小,以及當檢測到所述改變所述預取大小的命令以及監控到所述在所述存儲器與所述預取緩沖器之間傳送數據的狀態時,在完成所述在所述存儲器與所述預取緩沖器之間傳送數據的狀態之后改變所述預取緩沖器中的所述預取大小。
6.—種存儲器設備,包括存儲器;預取緩沖器,用于存儲所述存儲器中存儲的一些數據的備份;預取大小改變命令檢測部分,配置為檢測改變從所述存儲器傳送到所述預取緩沖器的數據的預取大小的命令;傳送狀態監控部分,配置為監控在所述存儲器與所述預取緩沖器之間傳送數據的狀態;以及預取大小改變部分,配置為當檢測到所述改變所述預取大小的命令以及沒有監控到在所述存儲器與所述預取緩沖器之間傳送數據的狀態時,立即改變所述預取緩沖器中的所述預取大小,以及當檢測到所述改變所述預取大小的命令以及監控到所述在所述存儲器與所述預取緩沖器之間傳送數據的狀態時,在完成在所述存儲器與所述預取緩沖器之間傳送數據的狀態之后改變所述預取緩沖器中的所述預取大小。
7.—種信息處理系統,包括處理器;存儲器;預取緩沖器,用于存儲所述存儲器中存儲的一些數據的備份;預取大小改變命令檢測部分,配置為檢測改變從所述存儲器傳送到所述預取緩沖器的數據的預取大小的命令;傳送狀態監控部分,配置為監控在所述存儲器與所述預取緩沖器之間傳送數據的狀態;以及預取大小改變部分,配置為當檢測到所述改變所述預取大小的命令以及沒有監控到在所述存儲器與所述預取緩沖器之間傳送數據的狀態時,立即改變所述預取緩沖器中的所述預取大小,以及當檢測到所述改變所述預取大小的命令以及監控到所述在所述存儲器與所述預取緩沖器之間傳送數據的狀態時,在完成所述在所述存儲器與所述預取緩沖器之間傳送數據的狀態之后改變所述預取緩沖器中的所述預取大小。
全文摘要
公開了存儲器存取控制電路、預取電路、存儲器設備和信息處理系統。該存儲器存取控制電路包括預取大小改變命令檢測部分,配置為檢測改變從存儲器傳送到預取緩沖器的數據的預取大小的命令;傳送狀態監控部分,配置為監控在存儲器與預取緩沖器之間傳送數據的狀態;和預取大小改變部分,配置為當檢測到改變預取大小的命令和沒有監控到在存儲器與預取緩沖器之間傳送數據的狀態時,立即改變預取緩沖器中的預取大小,以及當檢測到改變預取大小的命令和監控到在存儲器與預取緩沖器之間傳送數據的狀態時,在完成在存儲器與預取緩沖器之間傳送數據的狀態之后改變預取緩沖器中的預取大小。
文檔編號G06F13/16GK102609377SQ201210005710
公開日2012年7月25日 申請日期2012年1月10日 優先權日2011年1月17日
發明者木森祥隆 申請人:索尼公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 揭东县| 台南县| 昌吉市| 肃宁县| 珠海市| 蛟河市| 雷波县| 义乌市| 崇仁县| 安多县| 玉门市| 惠安县| 陆良县| 大化| 嵊泗县| 连州市| 伊吾县| 七台河市| 西林县| 曲松县| 盐山县| 满城县| 吉林省| 东阿县| 沅陵县| 盐源县| 大竹县| 西畴县| 陕西省| 达尔| 外汇| 安泽县| 新民市| 建湖县| 宜丰县| 漯河市| 鹤壁市| 郑州市| 辽阳县| 若羌县| 临桂县|