本發明專利技術涉及處理器及存取存儲器的方法。一種處理器包含了多個儲存模塊以及一仲裁器,其中該多個儲存模塊分別用以儲存多個讀取/寫入指令,且該多個讀取/寫入指令系用來要求讀取/寫入位于該處理器外部的一存儲器;以及該仲裁器系耦接于該多個儲存模塊,且用以接收來自該多個儲存模塊之該多個讀取/寫入指令,并安排該多個讀取/寫入指令傳送到一存儲器控制器的順序。
【技術實現步驟摘要】
本專利技術系有關于處理器,尤指一種處理器存取一外部存儲器的方法。
技術介紹
處理器在執行操作時,內部會有多個電路模塊需要自動態隨機存取存儲器(Dynamic Random-Access Memory, DRAM))中讀取數據,或是將數據寫入到DRAM中,因此,這些電路模塊會分別發送多個讀取/寫入指令到一 DRAM控制器中,以要求進行讀取/寫入DRAM的操作。然而,由于處理器在發送這些讀取/寫入指令到DRAM控制器時,通常并不會對這些讀取/寫入指令在處理器端做有利于DRAM傳輸協議之排序(DRAM-aware protocolscheduling)的工作,因此,會造成后端DRAM控制器的負擔增加,且在數據的存取上也比較沒有效率并增加存取反應時間。
技術實現思路
因此,本專利技術的目的之一在于提供一種處理器及其存取存儲器的方法,其可以透過仲裁器來安排多個讀取/寫入指令傳送到一存儲器控制器的順序,以解決先前技術的問題。依據本專利技術一實施例,一種處理器包含了多個儲存模塊以及一仲裁器,其中該多個儲存模塊分別用以儲存并同時發送多個讀取/寫入指令,且該多個讀取/寫入指令系用來要求讀取/寫入位于該處理器外部的一存儲器;以及該仲裁器系耦接于該多個儲存模塊,且用以接收來自該多個儲存模塊之該多個讀取/寫入指令,并安排該多個讀取/寫入指令傳送到一存儲器控制器的順序。依據本專利技術另一實施例,一種存取一存儲器的方法,包含有:接收分別來自多個儲存模塊之多個讀取/寫入指令,其中該多個讀取/寫入指令系用來要求讀取/寫入該一存儲器;以及安排該多個讀取/寫入指令傳送到一存儲器控制器的順序。【附圖說明】圖1為依據本專利技術一實施例之處理器的示意圖。圖2為依據本專利技術另一實施例之處理器的示意圖。圖3為讀取/寫入指令中有關于存取存儲器中的實體地址的示意圖。圖4為依據本專利技術一實施例之仲裁電路的示意圖。圖5為依據本專利技術一實施例之第一級仲裁電路與第二級仲裁電路的操作示意圖。圖6為依據本專利技術一實施例之有關于處理器的硬件設計流程圖。圖7為依據本專利技術另一實施例之有關于處理器的硬件設計流程圖。:100 處理器102周邊組件104存儲器控制器106存儲器110仲裁器120接口電路130LI指令高速緩存131儲存緩沖器132轉換后備緩沖器133LI數據高速緩存134寫入緩沖器135L2高速緩存140區塊信息【具體實施方式】在說明書及后續的申請專利范圍當中使用了某些詞匯來指稱特定的組件。所屬領域中具有通常知識者應可理解,硬件制造商可能會用不同的名詞來稱呼同一個組件。本說明書及后續的申請專利范圍并不以名稱的差異來作為區分組件的方式,而是以組件在功能上的差異來作為區分的準則。在通篇說明書及后續的請求項當中所提及的“包含”系為一開放式的用語,故應解釋成“包含但不限定于”。此外,“耦接” 一詞在此系包含任何直接及間接的電氣連接手段,因此,若文中描述一第一裝置耦接于一第二裝置,則代表該第一裝置可直接電氣連接于該第二裝置,或者透過其它裝置或連接手段間接地電氣連接至該第二裝置。請參考圖1,圖1為依據本專利技術一實施例之處理器100的示意圖。如圖1所示,處理器100包含了多個儲存模塊、仲裁器110以及(總線)接口電路120,其中該多個儲存模塊至少包含了 LI指令高速緩存130、儲存緩沖器131、轉換后備緩沖器(Translat1nLookaside Buffers,TLB) 132,LI數據高速緩存133、寫入緩沖器134、L2高速緩存135…等等。在本實施例中,處理器100與部分周邊組件102可以透過存儲器控制器104來對存儲器106進行存取(即讀取/寫入存儲器106),亦即,處理器100與部分周邊組件102會傳送多個讀取/寫入指令至存儲器控制器104,且存儲器控制器104會再根據這些讀取/寫入指令來讀取/寫入存儲器106,其中周邊組件102可以是透過直接存儲器存取引擎(DirectMemory Access engine, DMA engine)、快速周邊組件互連協議(Peripheral ComponentInterconnect Express, PCIE)、及 / 或通用序列總線(Universal Serial Bus, USB)或是其它接口來存取存儲器106的任何周邊裝置。在本實施例中,處理器100可以是中央處理器(Central Processing Unit, CPU)或是圖形處理器(Graphics Processing Unit, GPU)等相關的處理器。此外,需注意的是,圖1所示的處理器100僅繪示出與本專利技術較相關的部分,本領域具有通常知識者應能了解處理器100中尚具有其它必要的電路模塊。在本實施例中,存儲器控制器104為一DRAM控制器或是一同步動態隨機存取存儲器(Synchronous Dynamic Random-Access Memory, SDRAM)控制器,而存儲器 106 則為一DRAM 或是 SDRAM。在圖1所示的處理器100中,LI指令高速緩存130、儲存緩沖器131、轉換后備緩沖器132、LI數據高速緩存133、寫入緩沖器134、L2高速緩存135等儲存模塊均是用來儲存讀取/寫入指令,其中這些讀取/寫入指令系用來要求讀取/寫存儲器106。仲裁器110接著會接收來自這些儲存模塊的多個讀取/寫入指令,并安排這些讀取/寫入指令傳送到存儲器控制器104的順序。進一步來說,仲裁器110會根據已經傳送至存儲器控制器104之讀取/寫入指令所讀取/寫入之存儲器106的區塊地址(bank address),例如圖1所示的區塊信息140,以安排這些讀取/寫入指令傳送到存儲器控制器104的順序,以避免區塊沖突(bank conflict)的情形發生。詳細來說,在DRAM的存取上,當連續的兩筆存取指令需要存取同一個區塊(bank)中的不同數據頁(page)時,通常會需要較長的等待時間,亦即在第一筆存取指令的操作完成之后,存儲器控制器104會先關閉區塊中目前開啟的數據頁,之后才能開啟第二筆存取指令所需要存取的數據頁,之后再傳送讀取/寫入指令到存儲器106進行存取操作,此外,上述這些開啟數據頁、關閉數據頁、傳送讀取/寫入指令彼此之間需要一定長度的等待時間,而這些等待時間的規定可參考SDRAM相關的規格書JESD79F、JESD79-2C、JESD79-3D等等,在此不予贅述。如上所述,由于當連續的兩筆存取指令需要存取同一個區塊中的不同數據頁時會需要較長的存取時間,因而降低了存儲器控制器104的使用效率,因此,在本實施例中,處理器100另具有一先進先出緩存器(First In First Out,FIFO),用以儲存已經傳送至存儲器控制器104之讀取/寫入指令所讀取/寫入之該存儲器的區塊地址,而仲裁器110會根據該先進先出緩存器所儲存的區塊地址,優先傳送所讀取/寫入之區塊地址與該先進先出緩存器中所儲存之區塊地址不相同的讀取/寫入指令至存儲器控制器104。舉例來說,假設該先進先出緩存器目前儲存了存儲器106的第一個區塊(亦即表示了先前傳送至存儲器控制器104的存取指令需要存取第一個區塊中的數據頁),則仲裁器110會優先傳送LI指令高速緩存130、儲存緩沖器131、本文檔來自技高網...
【技術保護點】
一種處理器,包含有:多個儲存模塊,分別用以儲存多個讀取/寫入指令,其中該多個讀取/寫入指令系用來要求讀取/寫入位于該處理器外部的一存儲器;以及一仲裁器,耦接于該多個儲存模塊,用以接收來自該多個儲存模塊之該多個讀取/寫入指令,并安排該多個讀取/寫入指令傳送到一存儲器控制器的順序。
【技術特征摘要】
【專利技術屬性】
技術研發人員:賴奇劭,張雅閔,
申請(專利權)人:瑞昱半導體股份有限公司,
類型:發明
國別省市:中國臺灣;71
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。