專利名稱:用于消除具有多個(gè)存儲(chǔ)器存取的dsp/處理器中的存儲(chǔ)緩沖器的架構(gòu)和方法
技術(shù)領(lǐng)域:
本發(fā)明大體上涉及處理器,且更明確地說,涉及用于消除具有多個(gè)存儲(chǔ)器存取的處理器中的存儲(chǔ)緩沖器的架構(gòu)和方法。
背景技術(shù):
對數(shù)據(jù)和數(shù)據(jù)操作的較快處理的需要已成為在數(shù)據(jù)處理系統(tǒng)領(lǐng)域中所見的改進(jìn)背后的推動(dòng)力。改進(jìn)已導(dǎo)致開發(fā)更快、更小和更復(fù)雜的處理器和數(shù)字信號(hào)處理器(DSP),包含實(shí)施并行處理、流水線化和/或超長指令字(VLIW)處理的處理器以及多處理器配置和分散式存儲(chǔ)系統(tǒng)。并行處理可通過使處理器能夠同時(shí)執(zhí)行多個(gè)指令來增加處理器的整體速度。在一些情況下,為了增加被處理的指令的數(shù)目且因此增加速度,可使處理器流水線化。流水線指在處理器中提供分離級(jí),其中每一級(jí)執(zhí)行為執(zhí)行指令所必要的小步驟中的一者或一者以上。在多個(gè)指令試圖同時(shí)執(zhí)行和存取存儲(chǔ)器或其它電路時(shí),并行處理和流水線化可導(dǎo)致架構(gòu)依賴性和時(shí)序問題。處理器通常提供加載指令和存儲(chǔ)指令以存取位于高速緩沖存儲(chǔ)器和/或主存儲(chǔ)器中的信息。加載指令可包含存儲(chǔ)器地址(在指令或地址寄存器中)和目標(biāo)寄存器。當(dāng)執(zhí)行加載指令時(shí),可(例如,從高速緩沖存儲(chǔ)器、主存儲(chǔ)器或其它存儲(chǔ)裝置)檢索存儲(chǔ)在存儲(chǔ)器地址中的數(shù)據(jù)且將所述數(shù)據(jù)置于加載指令中識(shí)別的目標(biāo)寄存器中。類似地,存儲(chǔ)指令可包含存儲(chǔ)器地址和源寄存器。當(dāng)執(zhí)行存儲(chǔ)指令時(shí),可將來自源寄存器的數(shù)據(jù)寫入到存儲(chǔ)指令中識(shí)別的存儲(chǔ)器地址。超長指令字(VLIW)處理器和DSP執(zhí)行屬于同一包的指令的群組。每一包包含多個(gè)槽。當(dāng)當(dāng)前包的槽中的所有指令完成執(zhí)行時(shí),處理器開始處理下一包。如果包中的任一指令的執(zhí)行延遲,那么所述包中的其它指令中無一者可完成。如果執(zhí)行花費(fèi)多個(gè)循環(huán)或歸因于事故而停止,那么直到包中的所有指令都完成時(shí)才更新架構(gòu)狀態(tài)。處理器的架構(gòu)狀態(tài)包含其寄存器、高速緩沖存儲(chǔ)器、存儲(chǔ)器管理單元(MMU)、主存儲(chǔ)器等的狀態(tài)。VLIW包可含有多個(gè)存儲(chǔ)器存取指令,例如多個(gè)加載指令、多個(gè)存儲(chǔ)指令或加載指令與存儲(chǔ)指令的組合??蓪Y料高速緩存以改進(jìn)性能。然而,即使包中的指令中的一者可能完成,直到包中的所有其它指令也可完成之前一定不能這么做。這會(huì)對VLIW包內(nèi)的架構(gòu)更新產(chǎn)生交叉指令或交叉槽依賴性。舉例來說,如果包含有加載指令和存儲(chǔ)指令,那么在加載指令的高速緩存命中事件與存儲(chǔ)指令的寫入啟用事件之間可存在架構(gòu)和時(shí)序路徑依賴性。如果加載指令不具有高速緩存命中(存儲(chǔ)在高速緩沖存儲(chǔ)器中的加載指令的數(shù)據(jù)),那么寫入啟用事件將延遲。注意,如果VLIW包含有兩個(gè)存儲(chǔ)操作,那么交叉槽架構(gòu)依賴性影響兩個(gè)槽中的存儲(chǔ)指令的寫入啟用??赏ㄟ^不同方法來解決多個(gè)存儲(chǔ)器存取的這些架構(gòu)依賴性和時(shí)序問題。一種方法為在存儲(chǔ)器存取沖突或交叉槽依賴性期間將更新數(shù)據(jù)暫時(shí)存儲(chǔ)在存儲(chǔ)緩沖器中,以及在解決了存儲(chǔ)器沖突之后或知道其它槽可完成之后用來自存儲(chǔ)緩沖器的數(shù)據(jù)更新高速緩沖存儲(chǔ)器。如果存儲(chǔ)緩沖器大小適當(dāng),那么可較易于處置存儲(chǔ)體沖突和后期流水線取消,以及提供某一速度/頻率改進(jìn)。然而,單獨(dú)存儲(chǔ)緩沖器需要額外面積且引入管理數(shù)據(jù)依賴性(內(nèi)容可尋址存儲(chǔ)器(CAM)結(jié)構(gòu))、數(shù)據(jù)緩沖(深度)需要、存儲(chǔ)緩沖器中的數(shù)據(jù)的壽命和地址排序的復(fù)雜性。注意,存儲(chǔ)緩沖器的面積隨著VLIW包中所支持的存儲(chǔ)的數(shù)目上升,因此在電力、面積和復(fù)雜性方面,存儲(chǔ)緩沖器解決方案可能不具有成本效益。另一方法為歸約流水線的時(shí)鐘頻率/速度以在存儲(chǔ)器級(jí)之前實(shí)現(xiàn)依賴性解決方案且減輕時(shí)序問題。然而,這會(huì)導(dǎo)致性能損失,其直接影響整個(gè)處理器的時(shí)鐘頻率,增加加載/讀取等待時(shí)間且可使得更難以處置存儲(chǔ)體沖突。又一方法為使用單獨(dú)讀取和寫入字線時(shí)鐘,其中字線獲得加載存取的早時(shí)鐘和存儲(chǔ)存取的晚時(shí)鐘。然而,單獨(dú)讀取和寫入字線時(shí)鐘增加對讀取和寫入的存儲(chǔ)器陣列時(shí)序驗(yàn)證的復(fù)雜性,且使得更難以處置存儲(chǔ)體沖突。將需要具有用于處置無存儲(chǔ)緩沖器的處理器(包含數(shù)字信號(hào)處理器(DSP))中的多個(gè)存儲(chǔ)器存取的架構(gòu)和方法,所述架構(gòu)和方法保留流水線的頻率益處,在存在多個(gè)存儲(chǔ)器操作時(shí)對處理器速度具有極少影響且避免先前方法的其它缺點(diǎn)中的一些缺點(diǎn)。
發(fā)明內(nèi)容
揭示一種用于控制對存儲(chǔ)器的系統(tǒng)存取的方法,其包括:接收第一處理器指令和第二處理器指令;以及評估所述第一和第二處理器指令是否可在架構(gòu)上完成。如果所述第一和第二處理器指令中的至少一者不能在架構(gòu)上完成,那么延遲所述第一和第二處理器指令兩者。如果所述第一和第二處理器指令兩者都可在架構(gòu)上完成且所述第一和第二處理器指令中的至少一者為寫入指令,那么調(diào)整所述存儲(chǔ)器的寫入控制以考慮評估延遲。所述評估延遲可為足以評估所述第一和第二處理器指令是否可在架構(gòu)上完成的時(shí)間。可在用于所述存儲(chǔ)器的寫入列選擇中考慮所述評估延遲。當(dāng)所述第一或第二處理器指令中的任一者為讀取指令時(shí),所述存儲(chǔ)器的讀取控制不考慮所述評估延遲。當(dāng)所述第一和第二處理器指令兩者都可在架構(gòu)上完成且所述第一和第二處理器指令中的至少一者為寫入指令時(shí),可調(diào)整所述存儲(chǔ)器的預(yù)充電時(shí)鐘以考慮所述評估延遲。當(dāng)所述第一和第二處理器指令兩者都可在架構(gòu)上完成且所述第一和第二處理器指令中的至少一者為存儲(chǔ)器存取指令時(shí),所述方法還可包含:將不考慮所述評估延遲的非延遲時(shí)鐘信號(hào)發(fā)送到所述存儲(chǔ)器的讀取控制;將考慮所述評估延遲的經(jīng)延遲時(shí)鐘信號(hào)發(fā)送到所述存儲(chǔ)器的寫入控制;將所述非延遲時(shí)鐘信號(hào)和所述經(jīng)延遲時(shí)鐘信號(hào)兩者發(fā)送到所述存儲(chǔ)器的預(yù)充電時(shí)鐘多路復(fù)用器;以及選擇性地控制所述預(yù)充電時(shí)鐘多路復(fù)用器以將所述非延遲時(shí)鐘信號(hào)和所述經(jīng)延遲時(shí)鐘信號(hào)中的一者作為預(yù)充電時(shí)鐘信號(hào)而發(fā)送。所述預(yù)充電時(shí)鐘的所述控制可包含:將所述非延遲時(shí)鐘和所述經(jīng)延遲時(shí)鐘兩者輸入到多路復(fù)用器;以及將讀取啟用信號(hào)輸入到所述多路復(fù)用器的選擇輸入,以使得當(dāng)所述讀取啟用指示讀取指令時(shí),所述多路復(fù)用器將所述非延遲時(shí)鐘作為所述預(yù)充電時(shí)鐘而輸出,且當(dāng)所述讀取啟用不指示讀取指令時(shí),所述多路復(fù)用器將所述經(jīng)延遲時(shí)鐘作為所述預(yù)充電時(shí)鐘而輸出。所述評估步驟可包含確定所述第一和第二處理器指令的數(shù)據(jù)是否位于高速緩沖存儲(chǔ)器中。所述評估步驟還可包含確定所述第一處理器指令是否為存儲(chǔ)器存取指令以及確定所述第二處理器指令是否為存儲(chǔ)器存取指令。所述方法還可包含當(dāng)所述第一處理器指令為寫入指令且所述第二處理器指令的數(shù)據(jù)位于高速緩沖存儲(chǔ)器中或所述第二處理器指令不是存儲(chǔ)器存取指令時(shí),產(chǎn)生寫入啟用信號(hào)。揭示一種存儲(chǔ)器存取控制器,其包含:第一槽,其用于處理第一指令;第二槽,其用于處理第二指令;系統(tǒng)組合邏輯,其產(chǎn)生指示所述第一和第二指令兩者是否可在架構(gòu)上完成的信號(hào);以及延遲電路,其用于調(diào)整存儲(chǔ)器的寫入控制以考慮到由所述系統(tǒng)組合邏輯產(chǎn)生的所述信號(hào)的延遲。所述存儲(chǔ)器存取控制器可并入到選自由以下各物組成的群組的裝置中:音樂播放器、視頻播放器、娛樂單元、導(dǎo)航裝置、通信裝置、個(gè)人數(shù)字助理(PDA)、固定位置數(shù)據(jù)單元以及計(jì)算機(jī)。所述存儲(chǔ)器存取控制器還可包含第一和第二高速緩沖存儲(chǔ)器以及第一和第二高速緩存命中信號(hào)。所述第一高速緩存命中信號(hào)指示用于所述第一指令的數(shù)據(jù)是否存儲(chǔ)在所述第一高速緩沖存儲(chǔ)器中,且所述第二高速緩存命中信號(hào)指示用于所述第二指令的數(shù)據(jù)是否存儲(chǔ)在所述第二高速緩沖存儲(chǔ)器中。所述系統(tǒng)組合邏輯使用所述第一和第二高速緩存命中信號(hào)兩者。所述系統(tǒng)組合邏輯可包含第一和第二槽組合邏輯。所述第一槽組合邏輯接收所述第二高速緩存命中信號(hào)且產(chǎn)生用于所述第一指令的存儲(chǔ)啟用信號(hào)。所述第二槽組合邏輯接收所述第一高速緩存命中信號(hào)且產(chǎn)生用于所述第二指令的存儲(chǔ)啟用信號(hào)。所述第一槽組合邏輯還可接收指示所述第一指令是否為存儲(chǔ)指令的第一指令存儲(chǔ)信號(hào)以及指示所述第二指令是否為存儲(chǔ)器存取指令的第二指令無依賴性信號(hào)。所述第一槽組合邏輯可在所述第一指令存儲(chǔ)信號(hào)指示所述第一指令為存儲(chǔ)指令且所述第二高速緩存命中信號(hào)指示用于所述第二指令的所述數(shù)據(jù)在所述第二高速緩沖存儲(chǔ)器中或所述第二指令無依賴性信號(hào)指示所述第二指令不是存儲(chǔ)器存取指令時(shí),產(chǎn)生用于所述第一指令的所述存儲(chǔ)啟用信號(hào)。所述第二槽組合邏輯還可接收指示所述第二指令是否為存儲(chǔ)指令的第二指令存儲(chǔ)信號(hào)以及指示所述第一指令是否為存儲(chǔ)器存取指令的第一指令無依賴性信號(hào)。所述第二槽組合邏輯可在所述第二指令存儲(chǔ)信號(hào)指示所述第二指令為存儲(chǔ)指令且所述第一高速緩存命中信號(hào)指示用于所述第一指令的所述數(shù)據(jù)在所述第一高速緩沖存儲(chǔ)器中或所述第一指令無依賴性信號(hào)指示所述第一指令不是存儲(chǔ)器存取指令時(shí),產(chǎn)生用于所述第二指令的所述存儲(chǔ)啟用信號(hào)。所述存儲(chǔ)器存取控制器還可包含具有加載邏輯和存儲(chǔ)邏輯的數(shù)據(jù)陣列。所述加載邏輯可接收所述第一高速緩存命中信號(hào)和所述第二高速緩存命中信號(hào),且當(dāng)所述第一和第二高速緩存命中信號(hào)中的一者指示所述數(shù)據(jù)陣列中的位置時(shí),所述加載邏輯可產(chǎn)生指示所述數(shù)據(jù)陣列中的所述位置的字線信號(hào)。所述存儲(chǔ)邏輯可接收用于所述第一指令的所述存儲(chǔ)啟用信號(hào)和用于所述第二指令的所述存儲(chǔ)啟用信號(hào),且當(dāng)用于所述第一和第二指令的所述存儲(chǔ)啟用信號(hào)中的一者指示所述數(shù)據(jù)陣列中的位置時(shí),所述存儲(chǔ)邏輯可產(chǎn)生指示所述數(shù)據(jù)陣列中的所述位置的寫入芯片選擇信號(hào)。當(dāng)所述第一和第二指令中的任一者為寫入指令時(shí),所述系統(tǒng)組合邏輯可在所述第一和第二指令兩者都可在架構(gòu)上完成時(shí)產(chǎn)生寫入啟用信號(hào)。當(dāng)產(chǎn)生了寫入啟用信號(hào)時(shí),所述延遲電路可將所述存儲(chǔ)器的所述寫入控制延遲達(dá)與所述系統(tǒng)組合邏輯產(chǎn)生所述寫入啟用信號(hào)所花費(fèi)的時(shí)間量大致相同的時(shí)間量。
所述存儲(chǔ)器存取控制器還可包含用于所述存儲(chǔ)器的寫入列選擇和讀取列選擇。所述延遲電路可調(diào)整所述存儲(chǔ)器的所述寫入列選擇以考慮由所述系統(tǒng)組合邏輯產(chǎn)生的所述信號(hào)的所述延遲且不必調(diào)整所述存儲(chǔ)器的所述讀取列選擇以考慮由所述系統(tǒng)組合邏輯產(chǎn)生的所述信號(hào)的所述延遲。所述存儲(chǔ)器存取控制器還可包含具有第一輸入、第二輸入、輸出和選擇線的多路復(fù)用器。所述第一輸入可耦合到未由所述延遲電路延遲的非延遲時(shí)鐘,所述第二輸入可耦合到由所述延遲電路延遲的經(jīng)延遲時(shí)鐘,所述輸出可產(chǎn)生預(yù)充電時(shí)鐘,且所述選擇線可耦合到讀取啟用信號(hào),使得所述多路復(fù)用器在所述讀取啟用指示讀取指令時(shí)將所述非延遲時(shí)鐘傳遞到所述輸出,且在所述讀取啟用不指示讀取指令時(shí)將所述經(jīng)延遲時(shí)鐘傳遞到所述輸出。揭示一種存儲(chǔ)器存取控制器,其包含:第一裝置,其用于處理第一指令;第二裝置,其用于處理第二指令;計(jì)算裝置,其用于產(chǎn)生指示所述第一和第二指令兩者是否可在架構(gòu)上完成的信號(hào);以及延遲裝置,其用于調(diào)整存儲(chǔ)器的寫入控制以考慮到由所述計(jì)算裝置產(chǎn)生的所述信號(hào)的延遲。 為了更全面地理解本發(fā)明,現(xiàn)在參考以下詳細(xì)描述和附圖。
圖1為展示具有交叉槽依賴性電路的示范性多存儲(chǔ)器存取系統(tǒng)的電路圖;圖2為展示具有寫入控制和預(yù)充電時(shí)鐘的延遲的數(shù)據(jù)庫內(nèi)的示范性控制邏輯的電路圖;圖3為展示用于控制多存儲(chǔ)器存取系統(tǒng)的示范性方法的流程圖;以及圖4為展示示范性無線通信系統(tǒng)的框圖,在所述無線通信系統(tǒng)中可有利地使用用以消除具有多個(gè)存儲(chǔ)器存取的處理器中的存儲(chǔ)緩沖器的架構(gòu)和方法的實(shí)施例。
具體實(shí)施例方式本發(fā)明描述用于保留流水線的頻率益處而無需存儲(chǔ)緩沖器且在存在多個(gè)存儲(chǔ)器操作時(shí)不影響處理器操作速度的架構(gòu)和方法。圖1展示用于系統(tǒng)100的示范性架構(gòu)的電路圖,系統(tǒng)100可處置多個(gè)存儲(chǔ)器存取的架構(gòu)依賴性而無需使用存儲(chǔ)緩沖器。系統(tǒng)100為超長指令字(VLIW)系統(tǒng),其例示多個(gè)存儲(chǔ)器存取問題。系統(tǒng)100包含標(biāo)簽陣列區(qū)段102、交叉槽依賴性電路104和數(shù)據(jù)陣列區(qū)段106。為了清晰起見,圖1展示在標(biāo)簽陣列區(qū)段102中的用于兩個(gè)槽的兩個(gè)標(biāo)簽陣列以及在數(shù)據(jù)陣列區(qū)段106中的兩個(gè)數(shù)據(jù)陣列;然而,系統(tǒng)可包含在標(biāo)簽陣列區(qū)段102中的用于任意數(shù)目M個(gè)槽的M個(gè)標(biāo)簽陣列以及在數(shù)據(jù)陣列區(qū)段106中的N個(gè)數(shù)據(jù)陣列。標(biāo)簽陣列區(qū)段102包含用于槽sO和槽Si的標(biāo)簽。如果槽sO保持存儲(chǔ)器存取指令,那么系統(tǒng)檢查數(shù)據(jù)是否存儲(chǔ)在四路sO高速緩沖存儲(chǔ)器112中。四路sO高速緩沖存儲(chǔ)器112僅為可使用的高速緩沖存儲(chǔ)器的類型的實(shí)例。舉例來說,高速緩沖存儲(chǔ)器112可為直接映射高速緩沖存儲(chǔ)器或具有若干路X,其中X為2或更大。如果數(shù)據(jù)在sO高速緩沖存儲(chǔ)器112中,那么高速緩存命中發(fā)生且sO命中向量114的元素中的一者將指示數(shù)據(jù)在sO高速緩沖存儲(chǔ)器112中的位置。如果sO命中向量114的元素中無一者指示數(shù)據(jù)的位置,那么數(shù)據(jù)不在sO高速緩沖存儲(chǔ)器112中且高速緩存未命中發(fā)生。sO命中向量114的元素為至Ij “或”歸約門116的輸入,“或”歸約門116輸出SO命中信號(hào)118。如果sO命中向量114的元素中的任一者指示高速緩存命中,那么sO命中信號(hào)118將指示槽sO的高速緩存命中。如果sO命中向量114的元素中無一者指示高速緩存命中,那么sO命中信號(hào)118將指示槽sO的高速緩存未命中。如果槽sO為存儲(chǔ)器存取指令且在sO高速緩沖存儲(chǔ)器112中不存在命中,那么系統(tǒng)從存儲(chǔ)器檢索必要的數(shù)據(jù)且將所述數(shù)據(jù)置于sO高速緩沖存儲(chǔ)器112中,此時(shí)sO命中向量114和sO命中信號(hào)118將指示槽sO的高速緩存命中。標(biāo)簽陣列區(qū)段102還包含用于槽Si的標(biāo)簽。如果槽Si保持存儲(chǔ)器存取指令,那么系統(tǒng)檢查數(shù)據(jù)是否存儲(chǔ)在四路Si高速緩沖存儲(chǔ)器142中。Si高速緩沖存儲(chǔ)器142可為任何所要類型和大小。如果數(shù)據(jù)在Si高速緩沖存儲(chǔ)器142中,那么高速緩存命中發(fā)生且Si命中向量144的元素中的一者將指示數(shù)據(jù)在Si高速緩沖存儲(chǔ)器142中的位置。如果si命中向量144的元素中無一者指示數(shù)據(jù)的位置,那么數(shù)據(jù)不在Si高速緩沖存儲(chǔ)器142中且高速緩存未命中發(fā)生。Si命中向量144的元素為到“或”歸約門146的輸入,“或”歸約門146輸出Si命中信號(hào)148。如果Si命中向量144的元素中的任一者指示高速緩存命中,那么Si命中信號(hào)148將指示槽Si的高速緩存命中。如果Si命中向量144的元素中無一者指示高速緩存命中,那么si命中信號(hào)148將指示槽Si的高速緩存未命中。如果槽Si為存儲(chǔ)器存取指令且在Si高速緩沖存儲(chǔ)器142中不存在命中,那么系統(tǒng)從存儲(chǔ)器檢索必要的數(shù)據(jù)且將所述數(shù)據(jù)置于Si高速緩沖存儲(chǔ)器142中,此時(shí)Si命中向量144和si命中信號(hào)148將指示槽Si的高速緩存命中。SI組合邏輯120確定交叉槽依賴性以及是否應(yīng)將Si存儲(chǔ)啟用信號(hào)126發(fā)送到數(shù)據(jù)陣列130和160。Si存儲(chǔ)啟用信號(hào)126指示槽si為存儲(chǔ)指令且交叉槽依賴性已得到解決,使得槽Si中的存儲(chǔ)指令可執(zhí)行并存儲(chǔ)數(shù)據(jù)。組合邏輯120接收若干輸入,其包含:s0命中信號(hào)118 ;sl存儲(chǔ)指令信號(hào)122,和sO無依賴性信號(hào)124。sO命中信號(hào)118指示槽sO中的指令是否具有可在sO高速緩沖存儲(chǔ)器112中得到的數(shù)據(jù)。當(dāng)存在兩個(gè)以上槽時(shí),除了確定存儲(chǔ)啟用信號(hào)所針對的槽的命中信號(hào),將用于槽中的每一者的命中信號(hào)輸入到組合邏輯。Si存儲(chǔ)指令信號(hào)122指示槽Si是否保持存儲(chǔ)指令。sO無依賴性信號(hào)124指示當(dāng)槽sO中的指令不是存儲(chǔ)器存取時(shí),存儲(chǔ)或加載指令,且因此對于槽sO不存在存儲(chǔ)器存取依賴性。當(dāng)存在兩個(gè)以上槽時(shí),除了確定存儲(chǔ)啟用信號(hào)所針對的槽的無依賴性信號(hào),將用于槽中的每一者的無依賴性信號(hào)輸入到組合邏輯。當(dāng)Si存儲(chǔ)指令信號(hào)122指示槽Si保持有存儲(chǔ)指令時(shí),si組合邏輯120發(fā)送si存儲(chǔ)啟用信號(hào)126,且對于其它槽中的每一者,(a)無依賴性信號(hào)(例如,sO無依賴性信號(hào)124)指示槽Si無需等待那個(gè)槽,或(b)命中信號(hào)(例如,sO命中信號(hào)118)指示對于那個(gè)槽存在高速緩存命中。SO組合邏輯150確定交叉槽依賴性以及是否應(yīng)將sO存儲(chǔ)啟用信號(hào)156發(fā)送到數(shù)據(jù)陣列130和160。sO存儲(chǔ)啟用信號(hào)156指示槽sO為存儲(chǔ)指令且交叉槽依賴性已解決使得槽sO中的存儲(chǔ)指令可執(zhí)行并存儲(chǔ)數(shù)據(jù)。組合邏輯150接收若干輸入,其包含:sl命中信號(hào)148 ;s0存儲(chǔ)指令信號(hào)152,和Si無依賴性信號(hào)154。si命中信號(hào)148指示槽si中的指令是否具有可在Si高速緩沖存儲(chǔ)器142中得到的數(shù)據(jù)。sO存儲(chǔ)指令信號(hào)152指示槽sO是否保持存儲(chǔ)指令。Si無依賴性信號(hào)154指示當(dāng)槽Si中的指令不是存儲(chǔ)器存取時(shí),存儲(chǔ)或加載指令,且因此對于槽Si不存在存儲(chǔ)器存取依賴性。
當(dāng)sO存儲(chǔ)指令信號(hào)152指示槽sO保持了存儲(chǔ)指令時(shí),s0組合邏輯150發(fā)送sO存儲(chǔ)啟用信號(hào)156,且對于其它槽中的每一者,(a)無依賴性信號(hào)(例如,Si無依賴性信號(hào)154)指示槽sO無需等待那個(gè)槽,或(b)命中信號(hào)(例如,Si命中信號(hào)148)指示對于那個(gè)槽存在高速緩存命中。將sO命中向量114、sO存儲(chǔ)啟用信號(hào)156、si命中向量144和si存儲(chǔ)啟用信號(hào)126發(fā)送到數(shù)據(jù)陣列130、160中的每一者。處理具有M個(gè)槽的包且使用N個(gè)數(shù)據(jù)陣列的系統(tǒng)將會(huì)將用于M個(gè)槽中的每一者的命中向量和存儲(chǔ)啟用信號(hào)發(fā)送到N個(gè)數(shù)據(jù)陣列中的每一者。數(shù)據(jù)陣列130包含加載多路復(fù)用器132和存儲(chǔ)多路復(fù)用器136。加載多路復(fù)用器132接收用于槽中的每一者的命中向量;在此情況下為sO命中向量114和Si命中向量144。如果命中向量中的任一者指示加載指令的位置在數(shù)據(jù)陣列130中,那么加載多路復(fù)用器132激活用于數(shù)據(jù)陣列130的字線134。存儲(chǔ)多路復(fù)用器136接收用于槽中的每一者的存儲(chǔ)啟用信號(hào);在此情況下為sO存儲(chǔ)啟用156和Si存儲(chǔ)啟用126。如果存儲(chǔ)啟用信號(hào)中的任一者指示存儲(chǔ)指令的位置在數(shù)據(jù)陣列130中,那么存儲(chǔ)多路復(fù)用器136激活用于數(shù)據(jù)陣列130的寫入芯片選擇信號(hào)138。數(shù)據(jù)陣列160包含加載多路復(fù)用器162和存儲(chǔ)多路復(fù)用器166。加載多路復(fù)用器162接收用于槽中的每一者的命中向量;在此情況下為sO命中向量114和Si命中向量144。如果命中向量中的任一者指示加載指令的位置在數(shù)據(jù)陣列160中,那么加載多路復(fù)用器162激活用于數(shù)據(jù)陣列160的字線164。存儲(chǔ)多路復(fù)用器166接收用于槽中的每一者的存儲(chǔ)啟用信號(hào);在此情況下為sO存儲(chǔ)啟用156和Si存儲(chǔ)啟用126。如果存儲(chǔ)啟用信號(hào)中的任一者指示存儲(chǔ)指令的位置在數(shù)據(jù)陣列160中,那么存儲(chǔ)多路復(fù)用器166激活用于數(shù)據(jù)陣列160的寫入芯片選擇信號(hào)168。在圖1所示的實(shí)施例中,數(shù)據(jù)庫130、160中的每一者為單一端口的;因此一次僅一個(gè)槽可進(jìn)行到特定數(shù)據(jù)庫的加載或存儲(chǔ)。用于數(shù)據(jù)庫中的每一者的加載和存儲(chǔ)多路復(fù)用器的選擇信號(hào)可用以確定對數(shù)據(jù)庫的槽存取的次序。可經(jīng)由來自槽地址的位和對數(shù)據(jù)庫的槽讀取或?qū)懭氪嫒⒂脕泶_定用于數(shù)據(jù)陣列130的加載和存儲(chǔ)多路復(fù)用器132、136的選擇信號(hào),以及用于數(shù)據(jù)陣列160的加載和存儲(chǔ)多路復(fù)用器162、166的選擇信號(hào)。如果兩個(gè)槽都想要對同一數(shù)據(jù)陣列進(jìn)行加載或存儲(chǔ),那么所述槽中的一者可在重放時(shí)存取所述數(shù)據(jù)陣列。如果所述槽想要對不同數(shù)據(jù)陣列進(jìn)行加載或存儲(chǔ),那么對不同數(shù)據(jù)陣列的存取可并行地發(fā)生。數(shù)據(jù)庫可經(jīng)組織以使得其使用設(shè)置位來尋址,所述設(shè)置位為存儲(chǔ)器存取地址的切片。所述庫可通過稱作庫選擇器位的設(shè)置位來選擇。庫的字線可通過命中路向量和一些額外設(shè)置位來尋址,且列可通過一些剩余設(shè)置位來尋址。此組織允許庫的低電力操作且還允許存儲(chǔ)啟用為獨(dú)立于字線控制的受控信號(hào)。此組織給予加載或存儲(chǔ)指令通過其命中路向量(例如,命中向量114或144)來取消其本身的能力,同時(shí)允許存儲(chǔ)啟用(例如,存儲(chǔ)啟用信號(hào)126或156)由另一參數(shù)(例如,來自另一槽的命中信號(hào))來控制。然而,對于單一端口存儲(chǔ)體,如果多個(gè)存儲(chǔ)器存取指令的目標(biāo)為同一數(shù)據(jù)庫,那么將選擇存儲(chǔ)器存取指令以一次進(jìn)行一個(gè)。也可將與存儲(chǔ)器管理單元(MMU)屬性或高速緩沖存儲(chǔ)器分配方案的某一形式有關(guān)的其它因素添加到存儲(chǔ)啟用。由于存儲(chǔ)啟用在架構(gòu)上獨(dú)立于字線控制而被控制,因此存儲(chǔ)啟用可晚到達(dá)以允許將較完整的資格添加到存取啟用;例如命中信號(hào)的交叉槽依賴性以實(shí)現(xiàn)處理器架構(gòu)狀態(tài)的原子更新。命中信號(hào)(例如,命中信號(hào)118或148)為晚到達(dá)的信號(hào),因?yàn)槠鋵⒚邢蛄俊盎颉边\(yùn)算成為一位命中信號(hào)。此命中信號(hào)由包中的其它槽的操作碼解碼位進(jìn)一步限定且接著用當(dāng)前槽中的存儲(chǔ)操作的操作碼解碼位對此命中信號(hào)進(jìn)行“與”運(yùn)算以產(chǎn)生用于當(dāng)前槽的存儲(chǔ)啟用信號(hào)(例如,存儲(chǔ)啟用信號(hào)126或156)。然而,存在一平衡,因?yàn)榇鎯?chǔ)啟用信號(hào)不能太晚以使得寫入不能夠在循環(huán)期間完成。延遲電路可以非常低的電力、面積和復(fù)雜性成本來維持所述平衡。此可通過使用于寫入啟用信號(hào)的交叉槽邏輯計(jì)算與用于字線信號(hào)的庫存取時(shí)間的一部分重疊來進(jìn)行。用以使用“或”歸約門116、146和組合邏輯120、150來產(chǎn)生存儲(chǔ)啟用信號(hào)126、156的上述處理引起處理延遲。圖2展示允許數(shù)據(jù)庫承擔(dān)此處理延遲的示范性電路。到圖2所示的電路的輸入包含時(shí)鐘信號(hào)220、字線啟用信號(hào)、列地址線、讀取啟用信號(hào)和寫入啟用信號(hào)。字線啟用信號(hào)為行解碼器電路的輸出,行解碼器電路的輸入可為命中向量和設(shè)置位的某一部分。列地址可由行解碼器中未使用的設(shè)置位的一部分形成。寫入啟用信號(hào)可為基于允許在數(shù)據(jù)庫內(nèi)處理的存儲(chǔ)器存取的次序而選擇的兩個(gè)存儲(chǔ)啟用信號(hào)126、156中的一者。指示將讀取數(shù)據(jù)或?qū)懭霐?shù)據(jù)的位置的字線啟用信號(hào)與時(shí)鐘信號(hào)220 —起輸入到“與”門。時(shí)鐘信號(hào)220激活η個(gè)“與”門且將所述位置傳遞到N個(gè)字線。圖2中展示用于η個(gè)字線的η個(gè)“與”門中的兩個(gè)“與”門202、204。字線134、164為N個(gè)字線的實(shí)例。字線134、164還可與設(shè)置位一起使用以尋址較大行解碼器。將時(shí)鐘信號(hào)220、讀取啟用和列地址信號(hào)輸入到“與非”門206以產(chǎn)生讀取列選擇信號(hào)。接著將時(shí)鐘220輸入到延遲電路210以產(chǎn)生用于寫入列選擇信號(hào)的經(jīng)延遲時(shí)鐘222。延遲電路210在產(chǎn)生存儲(chǔ)啟用信號(hào)時(shí)考慮電路延遲且放寬寫入啟用設(shè)置約束。將經(jīng)延遲時(shí)鐘222、寫入啟用和列地址信號(hào)輸入到“與”門208以產(chǎn)生寫入列選擇信號(hào)。寫入芯片選擇信號(hào)138、168為寫入列選擇信號(hào)的實(shí)例。對于圖1所示的實(shí)施例,延遲電路210在產(chǎn)生存儲(chǔ)啟用信號(hào)126、156時(shí)考慮“或”歸約門116、146,組合邏輯120、150和其它電路的延遲。延遲電路可引入額外延遲以便提供操作裕度??墒寡舆t適合于用于產(chǎn)生寫入啟用信號(hào)的實(shí)施方案。如果延遲太長,那么可能使用不必要的電力;且如果延遲太短,那么寫入可能失敗。在此實(shí)施例中,字線和讀取列選擇信號(hào)未延遲,但寫入列選擇信號(hào)被延遲。這是因?yàn)閷懭肓羞x擇必須等待產(chǎn)生存儲(chǔ)/寫入啟用信號(hào)126、156且輸入到“與”門208。讀取列選擇信號(hào)不依賴于存儲(chǔ)啟用信號(hào)且,因此無需延遲以等待存儲(chǔ)啟用信號(hào)的產(chǎn)生。延遲讀取列選擇信號(hào)會(huì)增加系統(tǒng)的讀取等待時(shí)間。多路復(fù)用器212用以控制預(yù)充電時(shí)鐘以確保系統(tǒng)等待位線在先前存儲(chǔ)器存取操作之后進(jìn)行再充電。將非延遲時(shí)鐘信號(hào)220和經(jīng)延遲時(shí)鐘信號(hào)222輸入到多路復(fù)用器212且將讀取啟用信號(hào)輸入到多路復(fù)用器212的選擇線。當(dāng)讀取啟用信號(hào)在作用中時(shí),將非延遲時(shí)鐘信號(hào)220輸出作為預(yù)充電時(shí)鐘,且當(dāng)讀取啟用信號(hào)不在作用中時(shí),將經(jīng)延遲時(shí)鐘信號(hào)222輸出作為預(yù)充電時(shí)鐘。經(jīng)延遲寫入和預(yù)充電時(shí)鐘避免歸因于字線上升與寫入列選擇之間的失配而產(chǎn)生的寫入失敗。圖3展示用于控制對存儲(chǔ)器的系統(tǒng)存取的示范性方法的流程圖。在方框302處,系統(tǒng)接收第一和第二處理器指令??纱嬖谕瑫r(shí)接收的兩個(gè)以上處理器指令,且所屬領(lǐng)域的技術(shù)人員將理解可如何將方法擴(kuò)展為處置兩個(gè)以上處理器指令。在方框304處,系統(tǒng)評估第一處理器指令是否可在架構(gòu)上完成且,在方框306處,系統(tǒng)評估第二處理器指令是否可在架構(gòu)上完成。流程圖展示方框304和306按順序發(fā)生,但這些評估可通過電路(例如圖1所示的電路)并行地發(fā)生,以減少所需評估時(shí)間。如果方框304和306中的評估確定所述指令中的一者不能在架構(gòu)上完成,那么在方框308處延遲兩個(gè)指令且直到兩個(gè)指令都可在架構(gòu)上完成時(shí),執(zhí)行才繼續(xù)。當(dāng)?shù)谝恢噶詈偷诙噶顑烧叨伎稍诩軜?gòu)上完成時(shí),將控制傳送到方框310。在方框310處,系統(tǒng)確定第一和第二處理器指令中的任一者是否為寫入/存儲(chǔ)指令。如果第一和第二處理器指令中的任一者為寫入/存儲(chǔ)指令,那么將控制傳送到方框312。否則,將控制傳送到方框314,在方框314處執(zhí)行第一和第二處理器指令。在方框312處,考慮在產(chǎn)生寫入啟用信號(hào)時(shí)的評估延遲。在圖1的示范性實(shí)施例中,此包含在產(chǎn)生存儲(chǔ)啟用信號(hào)126和156時(shí)的電路延遲。圖2的示范性實(shí)施例將此評估延遲展示為延遲電路210。在方框312中考慮延遲,將控制傳送到方框314,在方框314處執(zhí)行第一和第二處理器指令。圖4展示示范性無線通信系統(tǒng)400,在所述無線通信系統(tǒng)400中可有利地使用用以消除具有多個(gè)存儲(chǔ)器存取的處理器中的存儲(chǔ)緩沖器的架構(gòu)和方法的實(shí)施例。為了說明的目的,圖4展示三個(gè)遠(yuǎn)程單元420、430和450,以及兩個(gè)基站440。應(yīng)認(rèn)識(shí)到,典型無線通信系統(tǒng)可具有更多的遠(yuǎn)程單元和基站。遠(yuǎn)程單元420、430和450中的任一者可包含如本文中揭示的用以消除具有多個(gè)存儲(chǔ)器存取的處理器中的存儲(chǔ)緩沖器的架構(gòu)和方法。圖4展示從基站440到遠(yuǎn)程單元420、430和450的前向鏈路信號(hào)480,和從遠(yuǎn)程單元420、430和450到基站440的反向鏈路信號(hào)490。在圖4中,將遠(yuǎn)程單元420展示為移動(dòng)電話,將遠(yuǎn)程單元430展示為便攜式計(jì)算機(jī),且將遠(yuǎn)程單元450展示為無線本地環(huán)路系統(tǒng)中的固定位置遠(yuǎn)程單元。舉例來說,遠(yuǎn)程單元可為手機(jī)、手持式個(gè)人通信系統(tǒng)(PCS)單元、例如個(gè)人數(shù)據(jù)助理的便攜式數(shù)據(jù)單元,或例如儀表讀取裝備的固定位置數(shù)據(jù)單元。盡管圖4說明可包含如本文中揭示的用以消除具有多個(gè)存儲(chǔ)器存取的處理器中的存儲(chǔ)緩沖器的架構(gòu)和方法的某些示范性遠(yuǎn)程單元,但如本文中揭示的架構(gòu)和方法不限于這些示范性說明單元。實(shí)施例可適用于需要具有多個(gè)存儲(chǔ)器存取的處理器的任何電子裝置。盡管上文已揭示并有本發(fā)明的原理的示范性實(shí)施例,但本發(fā)明不限于所揭示實(shí)施例。而是,希望本申請案涵蓋使用本發(fā)明的一般原理的本發(fā)明的任何變化、使用或適應(yīng)。另夕卜,希望本申請案涵蓋例如在本發(fā)明所屬且在所附權(quán)利要求書的限制內(nèi)的技術(shù)中已知的或慣例的實(shí)踐內(nèi)的與本發(fā)明的偏離。
權(quán)利要求
1.一種用于控制對存儲(chǔ)器的系統(tǒng)存取的方法,其包括: 接收第一處理器指令和第二處理器指令; 評估所述第一和第二處理器指令是否可在架構(gòu)上完成; 當(dāng)所述第一和第二處理器指令中的至少一者不能在架構(gòu)上完成時(shí),延遲所述第一和第二處理器指令兩者; 當(dāng)所述第一和第二處理器指令兩者都可在架構(gòu)上完成且所述第一和第二處理器指令中的至少一者為寫入指令時(shí),調(diào)整所述存儲(chǔ)器的寫入控制以考慮評估延遲。
2.根據(jù)權(quán)利要求1所述的方法,其中所述評估延遲為足以評估所述第一和第二處理器指令是否可在架構(gòu)上完成的時(shí)間。
3.根據(jù)權(quán)利要求2所述的方法,其中在用于所述存儲(chǔ)器的寫入列選擇中考慮所述評估延遲。
4.根據(jù)權(quán)利要求1所述的方法,其中當(dāng)所述第一或第二處理器指令中的任一者為讀取指令時(shí),所述存儲(chǔ)器的讀取控制不考慮所述評估延遲。
5.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包括當(dāng)所述第一和第二處理器指令兩者都可在架構(gòu)上完成且所述第一和第二處理器指令中的至少一者為寫入指令時(shí),調(diào)整所述存儲(chǔ)器的預(yù)充電時(shí)鐘以考慮所述評估延遲。
6.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包括當(dāng)所述第一和第二處理器指令兩者都可在架構(gòu)上完成且所述第一和第二處理器指令中的至少一者為存儲(chǔ)器存取指令時(shí), 將不考慮所述評估延遲的非延遲時(shí)鐘信號(hào)發(fā)送到所述存儲(chǔ)器的讀取控制, 將考慮所述評估延遲的經(jīng)延遲時(shí)鐘信號(hào)發(fā)送到所述存儲(chǔ)器的所述寫入控制, 將所述非延遲時(shí)鐘信號(hào)和所述經(jīng)延遲時(shí)鐘信號(hào)兩者發(fā)送到所述存儲(chǔ)器的預(yù)充電時(shí)鐘多路復(fù)用器;以及 選擇性地控制所述預(yù)充電時(shí)鐘多路復(fù)用器以將所述非延遲時(shí)鐘信號(hào)和所述經(jīng)延遲時(shí)鐘信號(hào)中的一者作為預(yù)充電時(shí)鐘信號(hào)而發(fā)送。
7.根據(jù)權(quán)利要求6所述的方法,其中所述控制預(yù)充電時(shí)鐘包括: 將所述非延遲時(shí)鐘和所述經(jīng)延遲時(shí)鐘兩者輸入到多路復(fù)用器;以及 將所述讀取啟用信號(hào)輸入到所述多路復(fù)用器的選擇輸入; 其中當(dāng)所述讀取啟用指示讀取指令時(shí),所述非延遲時(shí)鐘由所述多路復(fù)用器輸出以作為所述預(yù)充電時(shí)鐘,且當(dāng)所述讀取啟用不指示讀取指令時(shí),所述經(jīng)延遲時(shí)鐘由所述多路復(fù)用器輸出以作為所述預(yù)充電時(shí)鐘。
8.根據(jù)權(quán)利要求1所述的方法,其中所述評估步驟包括確定所述第一和第二處理器指令的數(shù)據(jù)是否位于高速緩沖存儲(chǔ)器中。
9.根據(jù)權(quán)利要求8所述的方法,其中所述評估步驟進(jìn)一步包括確定所述第一處理器指令是否為存儲(chǔ)器存取指令以及確定所述第二處理器指令是否為存儲(chǔ)器存取指令。
10.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包括當(dāng)所述第一處理器指令為寫入指令且所述第二處理器指令的數(shù)據(jù)位于高速緩沖存儲(chǔ)器中或所述第二處理器指令不是存儲(chǔ)器存取指令時(shí),產(chǎn)生寫入啟用信號(hào)。
11.一種存儲(chǔ)器存取控制器,其包括: 第一槽,其用于處理第一指令;第二槽,其用于處理第二指令; 系統(tǒng)組合邏輯,其產(chǎn)生指示所述第一和第二指令兩者是否可在架構(gòu)上完成的信號(hào);以及 延遲電路,其用于調(diào)整存儲(chǔ)器的寫入控制以考慮由所述系統(tǒng)組合邏輯產(chǎn)生的所述信號(hào)的延遲。
12.根據(jù)權(quán)利要求11所述的存儲(chǔ)器存取控制器,其進(jìn)一步包括: 第一高速緩沖存儲(chǔ)器; 第一高速緩存命中信號(hào),其指示用于所述第一指令的數(shù)據(jù)是否存儲(chǔ)在所述第一高速緩沖存儲(chǔ)器中; 第二高速緩沖存儲(chǔ)器; 第二高速緩存命中信號(hào),其指 示用于所述第二指令的數(shù)據(jù)是否存儲(chǔ)在所述第二高速緩沖存儲(chǔ)器中; 所述系統(tǒng)組合邏輯使用所述第一和第二高速緩存命中信號(hào)兩者。
13.根據(jù)權(quán)利要求11所述的存儲(chǔ)器存取控制器,其中所述系統(tǒng)組合邏輯進(jìn)一步包括: 第一槽組合邏輯,其接收所述第二高速緩存命中信號(hào)且產(chǎn)生用于所述第一指令的存儲(chǔ)啟用信號(hào);以及 第二槽組合邏輯,其接收所述第一高速緩存命中信號(hào)且產(chǎn)生用于所述第二指令的存儲(chǔ)啟用信號(hào)。
14.根據(jù)權(quán)利要求13所述的存儲(chǔ)器存取控制器,其中 所述第一槽組合邏輯進(jìn)一步接收指示所述第一指令是否為存儲(chǔ)指令的第一指令存儲(chǔ)信號(hào)以及指示所述第二指令是否為存儲(chǔ)器存取指令的第二指令無依賴性信號(hào),且所述第一槽組合邏輯在所述第一指令存儲(chǔ)信號(hào)指示所述第一指令為存儲(chǔ)指令且所述第二高速緩存命中信號(hào)指示用于所述第二指令的所述數(shù)據(jù)在所述第二高速緩沖存儲(chǔ)器中或所述第二指令無依賴性信號(hào)指示所述第二指令不是存儲(chǔ)器存取指令時(shí),產(chǎn)生用于所述第一指令的所述存儲(chǔ)啟用信號(hào);且 所述第二槽組合邏輯進(jìn)一步接收指示所述第二指令是否為存儲(chǔ)指令的第二指令存儲(chǔ)信號(hào)以及指示所述第一指令是否為存儲(chǔ)器存取指令的第一指令無依賴性信號(hào),且所述第二槽組合邏輯在所述第二指令存儲(chǔ)信號(hào)指示所述第二指令為存儲(chǔ)指令且所述第一高速緩存命中信號(hào)指示用于所述第一指令的所述數(shù)據(jù)在所述第一高速緩沖存儲(chǔ)器中或所述第一指令無依賴性信號(hào)指示所述第一指令不是存儲(chǔ)器存取指令時(shí),產(chǎn)生用于所述第二指令的所述存儲(chǔ)啟用信號(hào)。
15.根據(jù)權(quán)利要求13所述的存儲(chǔ)器存取控制器,其進(jìn)一步包括: 數(shù)據(jù)陣列,其具有加載邏輯和存儲(chǔ)邏輯; 所述加載邏輯接收所述第一高速緩存命中信號(hào)和所述第二高速緩存命中信號(hào),其中當(dāng)所述第一和第二高速緩存命中信號(hào)中的一者指示所述數(shù)據(jù)陣列中的位置時(shí),所述加載邏輯產(chǎn)生指示所述數(shù)據(jù)陣列中的所述位置的字線信號(hào); 所述存儲(chǔ)邏輯接收用于所述第一指令的所述存儲(chǔ)啟用信號(hào)和用于所述第二指令的所述存儲(chǔ)啟用信號(hào),其中當(dāng)用于所述第一和第二指令的所述存儲(chǔ)啟用信號(hào)中的一者指示所述數(shù)據(jù)陣列中的位置時(shí),所述存儲(chǔ)邏輯產(chǎn)生指示所述數(shù)據(jù)陣列中的所述位置的寫入芯片選擇信號(hào)。
16.根據(jù)權(quán)利要求11所述的存儲(chǔ)器存取控制器,其中,當(dāng)所述第一和第二指令中的任一者為寫入指令時(shí),所述系統(tǒng)組合邏輯在所述第一和第二指令兩者都可在架構(gòu)上完成時(shí)產(chǎn)生寫入啟用信號(hào)。
17.根據(jù)權(quán)利要求16所述的存儲(chǔ)器存取控制器,其中,當(dāng)產(chǎn)生了寫入啟用信號(hào)時(shí),所述延遲電路將所述存儲(chǔ)器的所述寫入控制延遲與所述系統(tǒng)組合邏輯產(chǎn)生所述寫入啟用信號(hào)所花費(fèi)的時(shí)間量大致相同的時(shí)間量。
18.根據(jù)權(quán)利要求11所述的存儲(chǔ)器存取控制器,其進(jìn)一步包括用于所述存儲(chǔ)器的寫入列選擇和讀取列選擇,所述延遲電路調(diào)整所述存儲(chǔ)器的所述寫入列選擇以考慮由所述系統(tǒng)組合邏輯產(chǎn)生的所述信號(hào)的所述延遲且不調(diào)整所述存儲(chǔ)器的所述讀取列選擇以考慮由所述系統(tǒng)組合邏輯產(chǎn)生的所述信號(hào)的所述延遲。
19.根據(jù)權(quán)利要求11所述的存儲(chǔ)器存取控制器,其進(jìn)一步包括 多路復(fù)用器,其具有第一輸入、第二輸入、輸出和選擇線,所述第一輸入I禹合到未由所述延遲電路延遲的非延遲時(shí)鐘,所述第二輸入耦合到由所述延遲電路延遲的經(jīng)延遲時(shí)鐘,所述輸出產(chǎn)生預(yù)充電時(shí)鐘,且所述選擇線耦合到讀取啟用信號(hào); 其中所述多路復(fù)用器在所述讀取啟用指示讀取指令時(shí)將所述非延遲時(shí)鐘傳遞到所述輸出,且在所述讀取啟用不指示讀取指令時(shí)將所述經(jīng)延遲時(shí)鐘傳遞到所述輸出。
20.根據(jù)權(quán)利要求11所述的存儲(chǔ)器存取控制器,其并入到選自由以下各物組成的群組的裝置中:音樂播放器、視頻播放器、娛樂單元、導(dǎo)航裝置、通信裝置、個(gè)人數(shù)字助理PDA、固定位置數(shù)據(jù)單元以及計(jì)算機(jī)。
21.一種存儲(chǔ)器存 取控制器,其包括: 第一裝置,其用于處理第一指令; 第二裝置,其用于處理第二指令; 計(jì)算裝置,其用于產(chǎn)生指示所述第一和第二指令兩者是否可在架構(gòu)上完成的信號(hào);以及 延遲裝置,其用于調(diào)整存儲(chǔ)器的寫入控制以考慮由所述計(jì)算裝置產(chǎn)生的所述信號(hào)的延遲。
全文摘要
一種用于控制對存儲(chǔ)器的系統(tǒng)存取的方法和設(shè)備,其包含接收第一和第二指令,以及評估兩個(gè)指令是否可在架構(gòu)上完成。當(dāng)至少一個(gè)指令不能在架構(gòu)上完成時(shí),延遲兩個(gè)指令。當(dāng)兩個(gè)指令可在架構(gòu)上完成且至少一者為寫入指令時(shí),調(diào)整所述存儲(chǔ)器的寫入控制以考慮評估延遲。所述評估延遲可足以評估兩個(gè)指令是否可在架構(gòu)上完成??蓪⑺鲈u估延遲輸入到所述存儲(chǔ)器的所述寫入控制而不是讀取控制??烧{(diào)整所述存儲(chǔ)器的預(yù)充電時(shí)鐘以考慮所述評估延遲。評估兩個(gè)指令是否可在架構(gòu)上完成可包含確定用于每一指令的數(shù)據(jù)是否位于高速緩沖存儲(chǔ)器中,以及所述指令是否為存儲(chǔ)器存取指令。
文檔編號(hào)G06F9/38GK103189838SQ201180052455
公開日2013年7月3日 申請日期2011年11月1日 優(yōu)先權(quán)日2010年11月1日
發(fā)明者詹特星·肯·林, 阿賈伊·阿南特·英格爾, 伊新·A·郭, 保羅·道格拉斯·巴塞特 申請人:高通股份有限公司