動態的存儲器控制方法及其系統的制作方法
【專利說明】動態的存儲器控制方法及其系統
[0001]相關申請的交叉引用
[0002]本申請要求美國臨時申請號為62/035,627,申請日為2014年8月11日的優先權,其全部內容被合并引用到該申請中。
技術領域
[0003]本發明實施例一般涉及動態存儲器控制方法及其系統,以及更具體地,涉及一種動態的存儲器控制方法,用以在一個運行時間(in a run time)借用及歸還高速緩存存儲器(cache memory)。
【背景技術】
[0004]—般地,在系統中存儲器被很多不同的硬件或模塊使用。例如,硬件或模塊設置在一個芯片上,以及存儲器設置在另一芯片上。這樣,硬件或模塊經由外部存儲器接口(External Memory Interface,EMI)存取存儲器。然而,如果很多硬件或模塊同時使用存儲器,EMI的帶寬將被占用,這將導致系統的高時延。另外,系統的性能也會變得惡化。
[0005]提供內部存儲器以解決上述問題。內部存儲器設置在與硬件及模塊相同的芯片上,以及內部存儲器作為共享緩存,以便于很多硬件可不經過EMI而存取該內部存儲器。換句話說,硬件與存儲器之間的數據傳輸保持在同一個芯片上以節約EMI的帶寬、降低時延以及提升系統系能。然而,內部存儲器的價格很高,以及由于其為片上系統(system-on-chip,S0C)的設計,內部存儲器的尺寸也被限制。另外,如果在一些時段僅有一個或幾個硬件設備需要內部存儲器,設置內部存儲器是浪費或低效的。
[0006]因而,需要一種動態的存儲器控制方法,用以在一個運行時間借用及歸還高速緩存存儲器。
【發明內容】
[0007]提出一種動態的存儲器控制方法,該方法用于包括多個群集的系統及多個高速緩存存儲器,多個群集中的每個群集分別包含至少一個處理器內核,多個高速緩存存儲器的每個高速緩存存儲器屬于多個群集中的一個對應群集。該動態的存儲器控制方法包括:從多個高速緩存存儲器中的第一高速緩存存儲器借用高速緩存存儲器的第一部分和/或從多個高速緩存存儲器中的第二高速緩存存儲器借用高速緩存存儲器的第二部分,以允許高速緩存存儲器的第一部分和/或高速緩存存儲器的第二部分被用作臨時內部隨機存取存儲器(Random Access Memory,RAM),以及向第一高速緩存存儲器歸還高速緩存存儲器的第一部分和/或向第二高速緩存存儲器歸還高速緩存存儲器的第二部分,以便于高速緩存存儲器的第一部分和/或高速緩存存儲器的第二部分中的每一個可由第一群集中的至少一個處理器內核和/或由第二群集中的至少一個處理器內核獨占使用。第一高速緩存存儲器屬于多個群集中的第一群集,以及第二高速緩存存儲器屬于多個群集中的第二群集。
[0008]在本發明的一個新穎方面,當高速緩存存儲器的第一部分和/或高速緩存存儲器的第二部分被用作臨時內部RAM時,臨時內部RAM由第一群集中的至少一個處理器內核和/或第二群集中的至少一個處理器內核,與多個群集中的至少一個處理器內核共享,或與一個或多個其它模塊共享,或與多個群集中的至少一個處理器內核以及一個或多個其它模塊共享,其中多個群集中的至少一個處理器內核以及一個或多個其它模塊不同于第一群集中的至少一個處理器內核及第二群集中的至少一個處理器內核。在將高速緩存存儲器的第一部分和/或高速緩存存儲器的第二部分用作臨時內部RAM的步驟中,在臨時內部RAM中執行啟動加載器,以初始化外部RAM。另外,動態的存儲器控制方法包括將臨時內部RAM的存儲器存取請求轉譯為高速緩存存儲器的第一部分的第一存儲器存取請求和/或高速緩存存儲器的第二部分的第二存儲器存取請求。當高速緩存存儲器的第一部分及高速緩存存儲器的第二部分都被借用時,高速緩存存儲器的第一部分及高速緩存存儲器的第二部分被用作一個連續的臨時內部RAM。
[0009]在本發明的另一方面中,執行歸還步驟時,不斷電第一群集及第二群集,以及由第一群集中的第一處理器內核執行借用步驟及歸還步驟。另外,禁止不同于第一處理器內核的處理器內核的熱插拔機制。在禁止不同于第一處理器內核的處理器內核的熱插拔機制的步驟之后,動態的存儲器控制方法包括清空屬于不同于第一群集的群集所對應的高速緩存存儲器,以及禁止屬于不同于第一群集的群集中的高速緩存存儲器所對應的指令高速緩存存儲器及所對應的數據高速緩存存儲器,清空屬于第一群集的第一高速緩存存儲器,禁止屬于第一群集的第一高速緩存存儲器的指令高速緩存存儲器及數據高速緩存存儲器,將至少一個處理器內核的架構切換為單核架構,以及使能第二群集以使第二高速緩存存儲器通電。在借用步驟或歸還步驟之后,動態的存儲器控制方法包括使能屬于第一群集的第一高速緩存存儲器,將至少一個處理器內核的架構切換為多核架構,以及使能不同于第一處理器內核的處理器內核的熱插拔機制。
[0010]在本發明的另一方面,動態的存儲器控制方法包括識別當前場景及確定當前場景是否與記錄在場景表格中的任一場景匹配。場景表格記錄多個場景,多個場景中的每個場景對應于待借用的高速緩存存儲器的不同的容量組合。當前場景與記錄在場景表格中的場景匹配時,根據對應于當前場景的待借用的高速緩存存儲器的容量組合,確定高速緩存的借用。動態的存儲器控制方法也包括獲取臨時內部RAM的所需容量;以及根據臨時內部RAM的所需容量,獲取從第一高速緩存存儲器借用的高速緩存存儲器的第一部分的第一所需容量和/或從第二高速緩存存儲器借用的高速緩存存儲器的第二部分的第二所需容量。
[0011]在本發明的又一方面中,提出一種動態的存儲器控制方法,用于借用高速緩存存儲器。該動態的存儲器控制方法包括:識別當前場景;確定當前場景是否與記錄在場景表格中的任一場景匹配;如果匹配,根據對應于當前場景的待借用的高速緩存存儲器的容量組合,確定高速緩存的借用;將該配置綁定到第一處理器內核;禁止不同于第一處理器內核的處理器內核的熱插拔機制;清空不同于第一群集的群集所對應的高速緩存存儲器,以及禁止屬于第一群集的第一高速緩存存儲器的指令高速緩存存儲器及數據高速緩存存儲器及將至少一個處理器內核的架構切換為單核架構;使能第二群集以使第二高速緩存存儲器通電;從第一高速緩存存儲器借用高速緩存存儲器的第一部分和/或從第二高速緩存存儲器借用高速緩存存儲器的第二部分;以及將至少一個處理器內核的架構切換為多核架構;建立高速緩存借用標記及使能不同于第一處理器內核的處理器內核的熱插拔機制。
[0012]在本發明的又一實施例中,提供一種動態的存儲器控制方法,用于歸還高速緩存存儲器。該動態的存儲器控制方法包括:識別當前場景;確定當前場景是否與記錄在場景表格中的任一場景匹配;如果匹配,根據對應于當前場景的待歸還的高速緩存存儲器的容量組合,確定高速緩存的歸還;將該配置綁定到第一處理器內核;禁止不同于第一處理器內核的處理器內核的熱插拔機制;清空不同于第一群集的群集所對應的高速緩存存儲器,以及禁止屬于不同于第一群集的群集中的高速緩存存儲器的所對應的指令高速緩存存儲器及所對應的數據高速緩存存儲器;清空屬于第一群集的第一高速緩存存儲器,及禁止屬于第一群集的第一高速緩存存儲器的指令高速緩存存儲器及數據高速緩存存儲器,及將至少一個處理器內核的架構切換為單核架構;使能第二群集以使第二高速緩存存儲器通電;向第一高速緩存存儲器歸還高速緩存存儲器的第一部分和/或向第二高速緩存存儲器歸還高速緩存存儲器的第二部分;使能屬于第一群集的第一高速緩存存儲器,以及將至少一個處理器內核的架構切換為多核架構;釋放高速緩存借用標記及使第二群集斷電,以及使能不同于第一處理器內核的處理器內核的熱插拔機制。
[0013]在實施例中,高速緩存存儲器的靈活使用可節約EMI帶寬,而不需要預先設置特定的內部RAM,因而降低了制造成本。另外,也可降低存取臨時RAM的時延。
[0014]在閱讀下面的動態的存儲器控制方法及動態的存儲器控制系統的一些實施例的描述后,對于本領域普通技術人員來說,本發明的其它方面及功能將變得顯而易見。
【附圖說明】
[0015]通過閱讀隨后的詳細描述及結合附圖描述的例子,可以更全面地理解本發明,其中:
[0016]圖1A是根據本發明一個實施例的動態的存儲器控制系統的概要示意圖;
[0017]圖1B是根據本發明一個實施例的動態的存儲器控制系統10的另一概要示意圖;
[0018]圖2是根據本發明一個實施例的動態的存儲器控制系統10的另一概要示意圖;
[0019]圖3A-1&3A-2是根據本發明一個實施例的動態的存儲器控制方法的借用高速緩存存儲器的示意流程圖;
[0020]圖3B-1&3B-2是根據本發明一個實施例的動態的存儲器控制方法的歸還高速緩存存儲器的示意流程圖;
[0021]圖3C-1&3C-2是根據本發明另一實施例的動態的存儲器控制方法的借用高速緩存存儲器的示意流程圖;
[0022]圖3D-1&3D-2是根據本發明另一實施例的動態的存儲器控制方法的歸還高速緩存存儲器的示意流程圖。
[0023]除非另有說明,不同附圖中相同的數字及符號一般是指相同的部分。繪制附圖是為了清楚地描述實施例的相關方面以及不需按比例繪制附圖。
【具體實施方式】
[0024]為了描述本發明的目的、功能以及有益效果,如下詳細示出了本發明實施例及附圖。此描述是為了說明本發明一般原理的目的,以及不應該理解為具有限制性的意義。應該理解的是,可以通過軟件、硬件、固件或其任意組合實現本發明實施例。
[0025]另外,應注意根據實際設計,術語“多