新四季網

雙埠訪問對稱動態存儲器的接口的製作方法

2023-06-03 02:51:41 1

專利名稱:雙埠訪問對稱動態存儲器的接口的製作方法
技術領域:
本發明涉及計算機接口,特別涉及處理器與存儲器之間的接口,具體為雙處理器埠訪 問對稱動態存儲器的接口。
背景技術:
近年來,多處理器系統中共享存儲器是研究的熱點。當前對共享存儲器的訪問埠只有 一個,這樣就增加了多處理器對這個共享存儲器訪問的衝突的可能。當有兩個或兩個以上處 理器對存儲器進行訪問時只能允許一個處理器對存儲器進行訪問,其它處理器處於等待狀 態,即各個處理器不能並行地訪問存儲器。為解決這個問題,現在普遍流行的技術主要有
利用雙埠RAM器件、採用總線的分時復用技術。但現在的共享存儲器一般只採用一個物
理存儲器,這樣在高系統性能、高速處理器的要求下, 一個共享存儲器不能很好的滿足處理 器的讀寫時序要求,需使處理器增加等待周期,降低了整體的系統性能。

發明內容
本發明為了解決在高系統性能、高速處理器的要求下, 一個共享存儲器不能很好的滿足 處理器的讀寫時序要求,需使處理器增加等待周期,從而降低了整體的系統性能的問題,提 供一種雙埠訪問對稱動態存儲器的接口。該接口可連接兩片相同型號、互為鏡像的動態存 儲器,進而作為兩個(或兩個以上)的處理器的共享存儲器。
本發明是採用如下技術方案實現的雙埠訪問對稱動態存儲器的接口,包括中來控制 模塊、處理器接口模塊l、處理器接口模塊2、動態存儲器接口模塊I、動態存儲器接口模塊
II、初始化模塊、刷新模塊;本發明所述的動態存儲器可以是DDRSDRAM、 DDR2 SDRAM 等;
中央控制模塊由對來自初始化模塊的初始化請求、來自刷新模塊的刷新請求、來自處理 器接口模塊1的讀寫請求和寫回請求、來自處理器接口模塊2的讀寫請求和寫回請求進行判 決的請求判決模塊,與請求判決模塊相連的主狀態機模塊,信號接口選通模塊,控制命令生 成模塊和存儲器接口選通模塊構成;主狀態機模塊負責整個接口的工作狀態的切換;信號接 口選通模塊在主狀態機模塊控制下對來自處理器接口模塊1的讀信號(包括命令地址信號和 數據信號)或本地寫信號(包括命令地址信號和數據信號)和(異地)寫回信號(包括命令 地址信號和數據信號)、來自處理器接口模塊2的讀信號或本地寫信號和(異地)寫回信號、 初始化信號、刷新信號進行選通,控制命令生成模塊配合主狀態機模塊生成對處理器接口模 塊l、處理器接口模塊2、初始化模塊、刷新模塊的響應信號以及對動態存儲器接口模塊I、 動態存儲器接口模塊II的選通控制信號,存儲器接口選通模塊在主狀態機模塊的選通控制下 一側與信號接口選通模塊連接、另一側分別與動態存儲器接口模塊I、動態存儲器接口模塊 II相連;
處理器接口模塊包括控制部分、處理器命令接口部分、數據緩存區部分;控制部分由控 制器模塊、與控制器模塊相連的狀態反饋模塊和命令生成模塊構成;處理器命令接口部分由 處理器狀態機模塊、命令解析模塊、地址轉換模塊、與控制部分中的控制器模塊相連的讀寫 狀態機模塊和寫回狀態機模塊構成,命令解析模塊和地址轉換模塊配合處理器狀態機模塊分 別完成對處理器的命令翻譯和將處理器訪問地址轉換為存儲器的訪問地址並輸送給控制部 分的控制器模塊;數據緩存區部分由與處理器命令接口部分中的地址轉換模塊和控制部分中 的控制器模塊相連的數據分離選通模塊、讀緩存模塊、本地寫緩存模塊、異地寫緩存模塊構 成,數據分離選通模塊將處理器讀寫共用的數據信號和經地址轉換模塊轉換後的地址信號分 成讀通道和寫通道,讀通道連接讀緩存,寫通道連接本地寫緩存和異地寫緩存,本地寫緩存 和讀緩存模塊受控於讀寫狀態機模塊,異地寫緩存模塊受控於寫回狀態機模塊,讀緩存模塊、 本地寫緩存模塊、異地寫緩存模塊分別與數據分離選通模塊和中央控制模塊中的信號接口選 通模塊相連(作為信號接口選通模塊的讀信號或本地寫信號和寫回信號中的數據信號),同 時讀緩存模塊、本地寫緩存模塊和異地寫緩存模塊還與控制器模塊相連;控制部分中的控制 器首先依據處理器命令接口部分中的命令解析模塊發來的讀寫命令並與命令生成模塊配合 向中央控制模塊發出讀寫請求、寫回請求,並根據狀態反饋模塊接收到的響應信號及處理器 命令接口部分中的讀寫狀態機、寫回狀態機內的狀態信息並與命令生成模塊配合生成發向中 央控制模塊中的信號接口選通模塊的讀信號中的命令地址信號、本地寫信號中的命令地址信 號和寫回信號中的命令地址信號,狀態反饋模塊接收來自中央控制模塊的響應信號和來自動 態存儲器接口模塊的動態存儲器狀態信息(當前動態存儲器的各個BANK及其各行的打開與 關閉情況)並將該存儲器狀態信息經控制器送往讀寫狀態機和寫回狀態機模塊;
動態存儲器接口模塊由控制器模塊、控制器模塊選通控制的內部命令選通模塊和動態存 儲器數據選通分離模塊、與內部命令選通模塊相連的動態存儲器命令模塊和BANK管理模塊 構成;控制器模塊接收來自中央控制模塊的選通控制信號並將BANK管理模塊所負責的動態 存儲器狀態信息(當前動態存儲器的各個BANK及其各行的打開與關閉情況)反饋給處理器 接口模塊;內部命令選通模塊在控制器模塊的選通控制下將來自中央控制模塊的信號(命令、 地址)送給動態存儲器命令模塊和BANK管理模塊,動態存儲器命令模塊直接與動態存儲器 的控制信號線、地址信號線相連,BANK管理模塊根據對動態存儲器操作的命令和地址信號 判斷存儲器內部各BANK和行的狀態信息,並將該狀態反饋給控制器模塊;動態存儲器數據 分離選通模塊將動態存儲器的讀寫數據分離開,並直接與動態存儲器的數據線相連。
本發明上述接口總的工作過程如下當兩個處理器同時進行讀操作時,各處理器對各自 對應的存儲器(本地存儲器)進行讀操作;當一個處理器對本地存儲器進行寫操作的同時,
還對與另一個處理器對應的存儲器(異地存儲器)進行寫回操作(即將寫入本地存儲器中的
相同內容寫入異地存儲器);當處理器對本地存儲器的讀操作與另一個處理器對本地存儲器 的寫回操作衝突時,該處理器將訪問異地存儲器。具體的工作過程為當處理器l發出讀信 號時,處理器接口模塊l中的命令解析模塊和地址轉換模塊配合處理器狀態機模塊分別完成 對處理器的命令翻譯和將處理器訪問地址轉換為存儲器的訪問地址並輸送給控制部分的控 制器,控制器配合命令生成模塊發出讀請求信號至中央控制模塊的請求判決模塊,如果請求 判決模塊選通了該讀請求,中央控制模塊中的主狀態機模塊配合控制命令生成模塊發出響應 信號,根據請求判決模塊的判決結果(如,在選通該讀請求信號時,若處理器接口模塊2沒 有提出寫回請求或其寫回請求沒有被響應,則向處理器接口模塊l發出本地讀響應信號;若 處理器接口模塊2的寫回請求正在被響應,而處理器接口模塊2沒有提出讀寫請求,則向處 理器接口模塊l發出異地讀響應信號;若處理器接口模塊2的寫回請求正在被響應,而處理 器接口模塊2也提出讀寫請求或其讀寫請求正在被響應,則向處理器接口模塊2發出寫回掛 起響應信號,使處理器接口模塊2結束寫回操作,然後向處理器接口模塊l發出本地讀響應 信號),該響應信號可以是本地讀響應信號或異地讀響應信號,以實現本地讀操作和異地讀 操作;中央控制模塊發出的響應信號返回處理器接口模塊,經狀態反饋模塊送給控制器,控 制器使讀寫狀態機工作,控制器根據讀寫狀態機的狀態(該狀態依據本地或異地動態存儲器 發來的動態存儲器狀態信息)並配合命令生成模塊發出讀命令、地址至中央控制模塊的信號 接口選通模塊,中央控制模塊中的主狀態機模塊選通信號接口選通模塊和存儲器接口選通模 塊,將處理器接口模塊發來的讀命令、地址送給動態存儲器接口模塊I (本地讀操作)或動 態存儲器接口模塊II (異地讀操作),同時中央控制模塊中的主狀態機模塊配合控制命令生
成模塊生成動態存儲器接口模塊I或動態存儲器接口模塊n的選通命令至動態存儲器接口
模塊中的控制器模塊,將動態存儲器接口模塊I或動態存儲器接口模塊II選通;來自中央控 制模塊的讀命令、地址進入動態存儲器接口模塊中,經內部命令選通模塊後送給動態存儲器 命令模塊和BANK管理模塊,由動態存儲器命令模塊最終送給動態存儲器,BANK管理模 塊根據對動態存儲器操作的命令和地址信號判斷存儲器內部各BANK和行的狀態信息,並將 該狀態反饋給控制器模塊,由控制器模塊反饋給處理器接口模塊,同時控制器模塊根據內部 中央控制模塊的控制命令選通動態存儲器數據選通分離模塊,將動態存儲器內的讀數據送入 處理器接口模塊中由讀寫狀態機控制的讀緩存模塊中,然後在處理器接口模塊中的控制器和 處理器狀態機的控制下將讀緩存模塊中的讀數據經數據分離選通模塊送給處理器1,而完成 讀操作。當處理器l發出寫信號時,處理器接口模塊l中的命令解析模塊和地址轉換模塊配 合處理器狀態機模塊分別完成對處理器的命令翻譯和將處理器訪問地址轉換為存儲器的訪 問地址並輸送給控制部分的控制器,同時寫地址、數據經數據分離選通模塊分別寫入本地寫 緩存模塊和異地寫緩存模塊,控制器配合命令生成模塊發出本地寫請求和(異地)寫回請求 信號至中央控制模塊的請求判決模塊,如果請求判決模塊選通了該本地寫請求和寫回請求 (可以同時選通),中央控制模塊中的主狀態機模塊配合控制命令生成模塊發出本地寫響應 信號和寫迴響應信號,該本地寫響應信號和寫迴響應信號返回處理器接口模塊,經狀態反饋 模塊送給控制器,控制器使讀寫狀態機、寫回狀態機工作,控制器根據讀寫狀態機、寫回狀 態機的狀態(該狀態依據本地或異地動態存儲器發來的動態存儲器狀態信息)並配合命令生 成模塊發出本地寫和(異地)寫回命令、地址至中央控制模塊的信號接口選通模塊,同時讀
寫狀態機和寫回狀態機分別控制本地寫緩存模塊和異地寫緩存模塊向中央控制模塊的信號 接口選通模塊發出寫數據,中央控制模塊中的主狀態機模塊選通信號接口選通模塊和存儲器 接口選通模塊,將處理器接口模塊發來的本地寫和寫回命令、地址以及寫數據分別送給動態 存儲器接口模塊I (本地寫操作)和動態存儲器接口模塊n (異地讀操作),同時中央控制 模塊中的主狀態機模塊配合控制命令生成模塊生成動態存儲器接口模塊I和動態存儲器接
口模塊n的選通命令至動態存儲器接口模塊中的控制器模塊,將動態存儲器接口模塊i和動
態存儲器接口模塊II選通;來自中央控制模塊的本地寫或(異地)寫回命令、地址以及寫數 據進入動態存儲器接口模塊中,本地寫或寫回命令、地址經內部命令選通模塊後送給動態存 儲器命令模塊和BANK管理模塊,由動態存儲器命令模塊最終送給動態存儲器,BANK管 理模塊根據對動態存儲器操作的命令和地址信號判斷存儲器內部各BANK和行的狀態信息, 並將該狀態反饋給控制器模塊,由控制器模塊反饋給處理器接口模塊;本地寫數據或寫回數
據送給數據選通分離模塊,同時控制器模塊根據中央控制模塊的控制命令選通動態存儲器數 據選通分離模塊,將本地寫數據或寫回數據寫入動態存儲器,而完成本地寫和(異地)寫回 操作。
本發明所述接口中的處理器接口模塊中還包括快速通道部分,快速通道部分由與控制器 及讀緩存模塊相連的發送狀態機、與控制器相連的接收狀態機和分別與接收狀態機模塊、異 地寫緩存模塊相連的地址比較模塊構成,同時一個處理器接口模塊的異地寫緩存模塊與另一 個處理器接口模塊的讀緩存模塊相連, 一個處理器接口模塊的狀態反饋模塊還接收來自另一 個處理器接口模塊由控制器根據發送狀態機模塊、接收狀態機模塊的狀態信息並配合命令生 成模塊生成的且先於讀寫請求、寫回請求信號的快速通道命令信息。快速通道部分用於實現 兩個處理器之間的數據快速交換以及保證寫入到兩個動態存儲器中的數據的一致性。發送狀 態機包括申請比較狀態、接收結果狀態、數據傳輸狀態、空閒狀態。在申請比較狀態該處理 器接口模塊將要比較的地址信息和申請比較信號送給另一個處理器接口模塊,在接收結果狀 態接收另一個處理器接口模塊反饋回來的比較結果。若比較成功則進入數據傳輸狀態,否則 進入空閒狀態。接收狀態機包括比較狀態、數據傳輸狀態、空閒狀態。在比較狀態,處理器 接口模塊接收地址信息,並控制地址比較模塊進行地址比較和數據定位並生成比較結果。若 比較成功,則進入數據傳輸狀態發送數據,否則進入空閒狀態。具體來說,若處理器2要進 行讀數據操作,處理器接口模塊2中的發送狀態機進入申請比較狀態,處理器接口模塊2中 的控制器根據此時發送狀態機的狀態配合命令生成模塊將申請比較信號和地址信息發送至 處理器接口模塊l,經狀態反饋模塊、控制器模塊送到接收狀態機,處理器接口模塊l中的 接收狀態機隨即進入比較狀態,並通過地址比較模塊在異地寫緩存中進行地址比較和數據定 位,如果比較成功,處理器接口模塊l中的接收狀態機就轉入數據傳輸狀態,同時處理器接 口模塊1中的控制器根據此時接收狀態機的狀態配合命令生成模塊將比較成功信號發送至處 理器接口模塊2,經狀態反饋模塊、控制器送到發送狀態機,處理器接口2中的發送狀態機 進入接收結果狀態,則接下來處理器接口 1中的接收狀態機和處理器接口 2中的發送狀態機 都進入數據傳輸狀態,控制處理器接口模塊l中的異地寫緩存模塊和處理器接口模塊2中的 讀緩存模塊,將在處理器接口模塊l的異地寫緩存中找到的數據快速送給處理器接口模塊2 的讀緩存中,這樣處理器2就可以不對動態存儲器進行讀操作,提高了讀出速度,減少了存 儲器訪問動作。如果比較不成功,接收狀態機和發送狀態機則都進入空閒狀態,處理器接口 模塊2隨後向中央控制模塊發出讀請求信號,申請對存儲器進行讀操作。若處理器2要進行
寫操作,處理器接口模塊2在將地址、寫數據寫到模塊內的本地寫緩存和異地寫緩存的同時, 其內部的發送狀態機模塊進入申請比較狀態,處理器接口模塊2中的控制器根據此時發送狀 態機的狀態配合命令生成模塊將申請比較信號和地址信息發送至處理器接口模塊1,經狀態 反饋模塊、控制器送到接收狀態機,處理器接口 1中的接收狀態機隨即進入比較狀態,並通 過地址比較模塊找到異地寫緩存中與處理器2要寫的地址相同的數據,將該數據標誌為無效, 從而保證了寫到兩個存儲器中的數據一致。然後處理器接口 2的發送狀態機和處理器接口 1 中的接收狀態機都進入空閒狀態。處理器接口模塊1和處理器接口模塊2中的快速通道部分 的功能是完全一樣的。
傳統的電路設計一般採用專用集成電路(ASIC), ASIC器件雖然通過精心設計和先進的 工藝保證良好的性能,但是由於開發成本高,設計周期長以及生成測試開銷大,只有晶片量 產後才具有較好的性價比。晶片一旦定型,其邏輯結構和性能更改比較困難。本發明的設計 先在FPGA上完成,即以上各個模塊採用硬體描述語言編寫,仿真、調試後下載到FPGA器 件內,證明可以實現雙通道訪問存儲器。然後再進行定製ASIC的設計。
本發明所述接口的有益技術效果1、兩個(或兩個以上)處理器可以同時並行地訪問 共享存儲器,可以同時對存儲器進行讀寫操作,實現了高性能的共享存儲器系統。2、採用 兩片相同型號的動態存儲器,互為鏡像,進而作為多處理器的共享存儲器,可以滿足高系統 性能、高速處理器的要求。採用兩個存儲器作為鏡像存儲,雖然浪費了一片存儲器的容量, 但採用集成度較高的動態存儲器則不會明顯增加系統的成本。3、將存儲器n (n為1, 2)定 義為處理器n的本地存儲器,存儲器m (m不等於n)定義為處理器n的異地存儲器。 一般 情況下處理器訪問本地存儲器,從而保證處理器能快速讀寫數據。存儲器之間的信息同步通 過寫回操作將本地存儲器的更新數據寫回到異地存儲器中。4、通過快速通道實現了兩個處 理器讀寫數據之間的快速交換,提升了系統的整體性能。5、採用預讀技術,進一步降低處 理器對存儲器的直接操作,尤其適合處理器塊讀寫的情況,提升了系統的整體性能,這項技 術是可配置的。6、共享存儲器採用容量比較大、成本比較低的動態存儲器(DRAM)器件。 一方面加大了共享存儲器的容量,另一方面也降低了共享存儲器系統的成本,使整個共享存 儲系統的性能得到了進一步的提高。由於動態存儲器的特殊性,本接口完成對動態存儲器的 初始化、刷新等操作。7、處理器可以定製對存儲器的訪問時序。本發明可以在具體應用時 定製成但不局限於以下時序模式如動態存儲器、異步存儲器、AMBA總線、PC104總線、 WISHBONE總線的訪問時序中的任一種時序訪問動態存儲器。這樣簡化了處理器對存儲器
訪問的時序要求,具有易用性。


圖1是本發明所述接口整體結構示意圖。
圖2是本發明所述接口的中央控制模塊的內部結構示意圖。
圖3是本發明所述接口的中央控制模塊的主狀態機狀態轉移圖。
圖4是本發明所述接口的處理器接口模塊的內部結構示意圖。
圖5是本發明所述接口的處理器接口模塊中的讀緩存模塊內的數據結構圖。
圖6是本發明所述接口的處理器接口模塊中的本地寫緩存模塊內的數據結構圖。
圖7是本發明所述接口的處理器接口模塊中的異地寫緩存模塊內的數據結構圖。
圖8是本發明所述接口的存儲器接口模塊的內部結構示意圖。
圖l、 2、 4、 8中同命令端和同號線端相連。
圖中命令端為Al-初始化模塊的初始化請求,A2-刷新模塊的刷新請求,A3-處理器接 口模塊l的讀寫請求,A4-處理器接口模塊1的寫回請求,A5-處理器接口模塊2的讀寫請求, A6-處理器接口模塊2的寫回請求,A7-處理器接口模塊1的讀信號中的命令地址信號,A9-處理器接口模塊1的本地寫信號中的命令地址信號,All-處理器接口模塊1的寫回信號中的 命令地址信號,A13-處理器接口模塊2的讀信號中的命令地址信號,A15-處理器接口模塊2 的本地寫信號中的命令地址信號,A17-處理器接口模塊2的寫回信號中的命令地址信號, A19-初始化模塊的初始化信號,A20-刷新模塊的刷新信號,A21-對處理器接口模塊l的響應 信號,A22-對處理器接口模塊2的響應信號,A23-對初始化模塊的響應信號,A24-對刷新模 塊的響應信號,A25-對動態存儲器接口模塊I的選通控制信號,A26-動態存儲器接口模塊I1 的選通控制信號,A27-對動態存儲器接口模塊I的讀寫信號中的命令地址信號,A29-對動態 存儲器接口模塊II的讀寫信號中的命令地址信號,A31-處理器的命令信號,A32-處理器的地 址信號,A34-動態存儲器接口模塊的動態存儲器狀態信息,A35-快速通道命令信號,A36-動態存儲器的命令地址信號。
圖中數據端為Dl-處理器接口模塊l的讀信號中的數據信號,D2-處理器接口模塊l的 本地寫信號中的數據信號,D3-處理器接口模塊l的寫回信號中的數據信號,D4-處理器接口 模塊2的讀信號中的數據信號,D5-處理器接口模塊2的本地寫信號中的數據信號,D6-處理 器接口模塊2的寫回信號中的數據信號,D7-對動態存儲器接口模塊I的讀寫信號中的數據 信號,D8-對動態存儲器接口模塊II的讀寫信號中的數據信號,D9-處理器的數據信號,D10-
快速通道數據信號,Dll-動態存儲器的數據信號。
具體實施例方式
FPGA器件與ASIC相比具有現場可編程的優點,而且用FPGA實現的成熟邏輯也可以 方便的轉換成ASIC。本實施方式給出一種在FPGA上實現的雙埠訪問對稱動態存儲器的 接口。在本實施方式中,動態存儲器選用兩片相同型號的DDRSDRAM,兩個處理器的訪問 時序選用異步存儲器的訪問時序。
雙埠訪問對稱動態存儲器的接口,包括中央控制模塊、處理器接口模塊l、處理器接 口模塊2、動態存儲器接口模塊I、動態存儲器接口模塊II、初始化模塊、刷新模塊(如圖l 所示);本具體實施方式
中,動態存儲器選用兩片相同型號的DDR SDRAM。與其它現有接 口一樣,該接口還包括時鐘模塊,時鐘模塊將輸入的時鐘信號變換成系統內各個模塊和動態 存儲器需要的各種時鐘信號。根據存儲器的具體類型和內部各個模塊的具體需要進行時鐘模 塊定製。比如,若動態存儲器是DDR SDRAM,時鐘模塊則需提供DQS信號需要的90度和 270度的相移信號。時鐘模塊在本實施方式中是調用FPGA內部的數字時鐘延遲鎖相環電路 DLL單元,生成了90度、180度和270度的相移信號,以供其它各個模塊使用。
中央控制模塊由對來自初始化模塊的初始化請求A1、來自刷新模塊的刷新請求A2、來 自處理器接口模塊l的讀寫請求A3和寫回請求A4、來自處理器接口模塊2的讀寫請求A5 和寫回請求A6進行判決的請求判決模塊,與請求判決模塊相連的主狀態機模塊,信號接口 選通模塊,控制命令生成模塊和存儲器接口選通模塊構成(如圖2所示);主狀態機模塊負 責整個接口的工作狀態的切換;信號接口選通模塊在主狀態機模塊控制下對來自處理器接口 模塊l的讀信號(包括命令地址信號A7和數據信號D1)或本地寫信號(包括命令地址信號 A9和數據信號D2)和(異地)寫回信號(包括命令地址信號A11和數據信號D3)、來自處 理器接口模塊2的讀信號(包括命令地址信號A13和數據信號D4)或本地寫信號(包括命 令地址信號A15和數據信號D5)和(異地)寫回信號(包括命令地址信號A17和數據信號 D6)、初始化信號A19、刷新信號A20進行選通,控制命令生成模塊配合主狀態機模塊生成 對處理器接口模塊l的響應信號A21、處理器接口模塊2的響應信號A22、初始化模塊的響 應信號A23、刷新模塊的響應信號A24以及對動態存儲器接口模塊I的選通控制信號A25、 動態存儲器接口模塊II的選通控制信號A26,存儲器接口選通模塊在主狀態機模塊的選通控 制下一側與信號接口選通模塊連接、另一側將對動態存儲器接口模塊I的讀寫信號(包括命 令地址信號A27和數據信號D7)與動態存儲器接口模塊I相連、將對動態存儲器接口模塊 II的讀寫信號(包括命令地址信號A29和數據信號D8)與動態存儲器接口模塊II相連。中 央控制模塊對接口各個內部模塊提出的請求進行響應,並根據當前各個存儲器接口模塊和處 理器接口模塊的各種狀態生成合適的控制命令信號,最後將各個處理器接口模塊、初始化模 塊和刷新模塊的信號進行選通送給存儲器接口模塊。主狀態機模塊是本模塊的核心模塊,負 責整個系統的工作狀態的切換。控制其它模塊的工作。主狀態機的狀態轉移圖如圖3所示, 系統上電時進入初始化狀態,到達刷新間隔進入刷新狀態,其餘時間一般工作在正常讀寫狀 態,即處理器訪問本地存儲器,當出現寫回操作和處理器讀操作衝突時,系統進入交叉讀寫 狀態,即處理器訪問異地存儲器。請求判決模塊接受來自兩個處理器接口的讀寫請求和寫回 請求以及初始化和刷新的請求, 一般情況下,初始化和刷新的優先級最高,處理器接口的讀 寫請求次之,處理器接口的寫回請求最低。
處理器接口模塊包括控制部分、處理器命令接口部分、數據緩存區部分;控制部分由控 制器模塊、與控制器模塊相連的狀態反饋模塊和命令生成模塊構成(如圖4所示);處理器 命令接口部分由處理器狀態機模塊、命令解析模塊、地址轉換模塊、與控制部分中的控制器 模塊相連的讀寫狀態機模塊和寫回狀態機模塊構成(如圖4所示),命令解析模塊和地址轉 換模塊配合處理器狀態機模塊分別完成對處理器的命令信號A31翻譯和將處理器訪問地址 信號A32轉換為存儲器的訪問地址並輸送給控制部分的控制器模塊;數據緩存區部分由與處 理器命令接口部分中的地址轉換模塊和控制部分中的控制器模塊相連的數據分離選通模塊、 讀緩存模塊、本地寫緩存模塊、異地寫緩存模塊構成(如圖4所示),數據分離選通模塊將 處理器讀寫共用的數據信號D9和經地址轉換模塊轉換後的地址信號分成讀通道和寫通道, 讀通道連接讀緩存,寫通道連接本地寫緩存和異地寫緩存,本地寫緩存和讀緩存模塊受控於 讀寫狀態機模塊,異地寫緩存模塊受控於寫回狀態機模塊,讀緩存模塊、本地寫緩存模塊、 異地寫緩存模塊分別與數據分離選通模塊和中央控制模塊中的信號接口選通模塊相連(作為 信號接口選通模塊的讀信號中的數據信號Dl/D4或本地寫信號中的數據信號D2/D5和寫回 信號中的數據信號D3/D6),同時讀緩存模塊、本地寫緩存模塊和異地寫緩存模塊還與控制 器模塊相連;控制部分中的控制器首先依據處理器命令接口部分中的命令解析模塊發來的讀 寫命令並與命令生成模塊配合向中央控制模塊發出讀寫請求A3/A5、寫回請求A4/A6,並根 據狀態反饋模塊接收到的響應信號A21/A22及處理器命令接口部分中的讀寫狀態機、寫回狀 態機內的狀態信息並與命令生成模塊配合生成發向中央控制模塊中的信號接口選通模塊的 讀信號中的命令地址信號A7/A13、本地寫信號中的命令地址信號A9/A15和寫回信號中的命
令地址信號A11/A17,狀態反饋模塊接收來自中央控制模塊的響應信號A21/A22和來自動態 存儲器接口模塊的動態存儲器狀態信息A34(當前動態存儲器的各個BANK及其各行的打開 與關閉情況)並將該存儲器狀態信息經控制器送往讀寫狀態機和寫回狀態機模塊。具體實施 時,處理器狀態機可以根據處理器的訪問時序定製。在本實施方式中,處理器的訪問時序是 異步存儲器的時序,讀寫過程分為建立(Setup)、存儲(Strobe)、保持(Hold)三個階段。 處理器接口模塊中的處理器命令接口部分可以定製,即根據不同的處理器,其命令解析模塊 分別配置成能夠識別和翻譯動態存儲器、異步存儲器、AMBA總線、PC104總線、WISHBONE 總線中的任一種讀寫時序命令的形式。在本具體實施方式
中,處理器接口模塊l和處理器接 口模塊2中的命令解析模塊都配置成能夠識別異步存儲器讀寫時序命令的形式。處理器接口 模塊可配置成對存儲器進行預讀操作,即處理器要訪問N個數據,而處理器接口模塊中的控 制器配合命令生成模塊向中央控制模塊中的信號接口選通模塊發出一次讀出2N個數據的讀 信號(包括讀命令、地址和數據)。當處理器下次進行讀操作時,如果就是預讀出的數據, 則不用再對存儲器進行讀操作,直接把上次預讀出的數據送給處理器,非常適合處理器經常 處於塊訪問操作的場合。讀緩存模塊用來緩存從存儲器中讀出(或快速通道中獲取)的數據。 這裡將處理器要讀取的數據以及後續的連續地址中的數據一次從存儲器中或快速通道中讀 到讀緩存中,然後根據處理器的讀請求適時的將數據送給處理器。讀緩存模塊內的數據結構 (如圖5所示)為,讀地址信息B1由包括動態存儲器的BANK、行、列地址的首地址信息 和以該地址作為起始地址的數據長度信息構成;讀數據隊列B2長度為n;每組讀數據由數 據信息和該數據的狀態信息構成。在本實施方式中,數據隊列長度為4,即11=4。本地寫緩 存模塊是用來緩存處理器將要寫到存儲器中的數據流, 一方面調整處理器和存儲器的時序差 異,另一方面,通過緩存技術可以把寫入到存儲器中的依次連續地址上的數據合併形成並發 模式一次寫入到存儲器中。本地寫緩存模塊內的數據結構(如圖6所示)為,本地寫地址隊 列B3長度為m,其中的每組寫地址信息由包括動態存儲器的BANK、行、列地址的首地址 信息、以該地址作為起始地址的數據長度信息和該地址狀態信息構成;本地寫數據隊列B4 長度為n,其中每組數據只記錄要寫到本地存儲器中的數據信息。在本實施例中,地址隊列 和數據隊列長度均為4,即m=n=4。異地寫緩存模塊存放處理器要寫到異地存儲器的寫數據, 它主要是為兩個存儲器的數據同步而設計的,即將處理器的寫數據暫時放到異地寫緩存中, 等待異地存儲器出現空閒時間,再將異地寫緩存中的數據寫到異地存儲器中。同時異地寫緩 存配合快速通道部分,將數據快速提供給另一個處理器。異地寫緩存的數據結構圖(如圖7
所示)為,異地寫地址隊列B5中的每組地址對應一個數據子隊列,所有的子隊列共同組成 異地寫數據隊列B6;異地寫地址隊列長度為m,其中的每組寫地址信息由包括動態存儲器 的BANK、行、列地址的首地址信息、以該地址作為起始地址的數據長度信息和該地址狀態 信息構成;數據隊列中的每個子隊列的長度為n,子隊列中的每組數據由將要寫到異地存儲 器的數據信息和該數據的狀態信息構成。在本實施例中,異地寫地址先入先出循環隊列共記 錄10組地址信息,即m-10;每組地址信息對應一個長度為4的數據子隊列,即11=4。 10組 長度為4的數據子隊列共同組成總長度為40 (m*n=40)的異地寫數據先入先出循環隊列。 處理器接口模塊中還包括快速通道部分,快速通道部分由與控制器模塊及讀緩存模塊相連的 發送狀態機、與控制器模塊相連的接收狀態機和分別與接收狀態機模塊、異地寫緩存模塊相 連的地址比較模塊構成,同時一個處理器接口模塊的異地寫緩存模塊與另一個處理器接口模 塊的讀緩存模塊相連,以傳送快速通道數據信號DIO, 一個處理器接口模塊的狀態反饋模塊 還接收來自另一個處理器接口模塊由控制器根據發送狀態機模塊、接收狀態機模塊的狀態信 息並配合命令生成模塊生成的且先於讀寫請求、寫回請求信號的快速通道命令信號A35。
動態存儲器接口模塊由控制器模塊、控制器模塊選通控制的內部命令選通模塊和動態存 儲器數據選通分離模塊、與內部命令選通模塊相連的動態存儲器命令模塊和BANK管理模塊 構成(如圖8所示);控制器模塊接收來自中央控制模塊的選通控制信號A25/A26並將BANK 管理模塊所負責的動態存儲器狀態信息A34(當前動態存儲器的各個BANK及其各行的打開 與關閉情況)反饋給處理器接口模塊;內部命令選通模塊在控制器模塊的選通控制下將對來 自中央控制模塊的信號A27/A29 (命令、地址)送給動態存儲器命令模塊和BANK管理模塊, 動態存儲器命令模塊與動態存儲器的命令、地址信號A36相連,BANK管理模塊根據對動態 存儲器操作的命令和地址信號判斷存儲器內部各BANK和行的狀態信息A34,並將該狀態反 饋給控制器模塊;動態存儲器數據分離選通模塊與動態存儲器的數據線相連,將動態存儲器 的讀寫數據信號Dll分離開。
初始化和刷新模塊生成對DDR SDRAM存儲器的初始化和刷新操作。上電時,根據DDR SDRAM的操作手冊,對其進行初始化操作。通過初始化操作,DDR SDRAM進入正常工作 狀態。另外,由於DDR SDRAM是依靠電容來存儲信息的,電容又是傾向於放電的元器件, 所以DDR SDRAM的每一行都要在64ms內至少刷新一次,這樣就可以根據總行數算出刷新 間隔。如果一片DDR SDRAM總共有4個BANK,每個BANK中又有4096行,每次執行刷 新操作,4個BANK同時各自刷新其中一行,則刷新間隔為64ms/4096=15.625us。刷新模
塊中,包含了一個計數器,每15.625us向中央控制器模塊提出刷新DDR SDRAM操作的請 求。在本實施方式中刷新間隔是可以根據具體晶片的行數進行配置的。
以上各個模塊採用硬體描述語言編寫,仿真、調試後下載到FPGA器件內,即可以實現 雙通道共享雙動態存儲器。
該接口工作時,當處理器進行讀操作時,先在處理器接口模塊內進行快速通道比較和預 讀比較,如果快速通道比較成功,將從快速通道中獲得的數據送給處理器,如果快速通道比 較不成功,預讀比較成功,將預讀數據送給處理器,如果快速通道比較和預讀比較都不成功, 則對本地或異地動態存儲器進行讀操作;當處理器進行寫操作時,在處理器接口模塊內進行 快速通道比較,同時對兩塊動態存儲器分別進行本地寫和(異地)寫回操作。
權利要求
1、雙埠訪問對稱動態存儲器的接口,其特徵為包括中央控制模塊、處理器接口模塊1、處理器接口模塊2、動態存儲器接口模塊I、動態存儲器接口模塊II、初始化模塊、刷新模塊;中央控制模塊由對來自初始化模塊的初始化請求、來自刷新模塊的刷新請求、來自處理器接口模塊1的讀寫請求和寫回請求、來自處理器接口模塊2的讀寫請求和寫回請求進行判決的請求判決模塊,與請求判決模塊相連的主狀態機模塊,信號接口選通模塊,控制命令生成模塊和存儲器接口選通模塊構成;主狀態機模塊負責整個接口的工作狀態的切換;信號接口選通模塊在主狀態機模塊控制下對來自處理器接口模塊1的讀信號或本地寫信號和寫回信號、來自處理器接口模塊2的讀信號或本地寫信號和寫回信號、初始化信號、刷新信號進行選通,控制命令生成模塊配合主狀態機模塊生成對處理器接口模塊1、處理器接口模塊2、初始化模塊、刷新模塊的響應信號以及對動態存儲器接口模塊I、動態存儲器接口模塊II的選通控制信號,存儲器接口選通模塊在主狀態機模塊的選通控制下一側與信號接口選通模塊連接、另一側分別與動態存儲器接口模塊I、動態存儲器接口模塊II相連;處理器接口模塊包括控制部分、處理器命令接口部分、數據緩存區部分;控制部分由控制器模塊、與控制器模塊相連的狀態反饋模塊和命令生成模塊構成;處理器命令接口部分由處理器狀態機模塊、命令解析模塊、地址轉換模塊、與控制部分中的控制器模塊相連的讀寫狀態機模塊和寫回狀態機模塊構成,命令解析模塊和地址轉換模塊配合處理器狀態機模塊分別完成對處理器的命令翻譯和將處理器訪問地址轉換為存儲器的訪問地址並輸送給控制部分的控制器模塊;數據緩存區部分由與處理器命令接口部分中的地址轉換模塊和控制部分中的控制器模塊相連的數據分離選通模塊、讀緩存模塊、本地寫緩存模塊、異地寫緩存模塊構成,數據分離選通模塊將處理器讀寫共用的數據信號和經地址轉換模塊轉換後的地址信號分成讀通道和寫通道,讀通道連接讀緩存,寫通道連接本地寫緩存和異地寫緩存,本地寫緩存和讀緩存模塊受控於讀寫狀態機模塊,異地寫緩存模塊受控於寫回狀態機模塊,讀緩存模塊、本地寫緩存模塊、異地寫緩存模塊分別與數據分離選通模塊和中央控制模塊中的信號接口選通模塊相連,同時讀緩存模塊、本地寫緩存模塊和異地寫緩存模塊還與控制器模塊相連;控制部分中的控制器首先依據處理器命令接口部分中的命令解析模塊發來的讀寫命令並與命令生成模塊配合向中央控制模塊發出讀寫請求、寫回請求,並根據狀態反饋模塊接收到的響應信號及處理器命令接口部分中的讀寫狀態機、寫回狀態機內的狀態信息並與命令生成模塊配合生成發向中央控制模塊中的信號接口選通模塊的讀信號或本地寫信號和寫回信號,狀態反饋模塊接收來自中央控制模塊的響應信號和來自動態存儲器接口模塊的動態存儲器狀態信息並將該存儲器狀態信息經控制器送往讀寫狀態機和寫回狀態機模塊;動態存儲器接口模塊由控制器模塊、控制器模塊選通控制的內部命令選通模塊和動態存儲器數據選通分離模塊、與內部命令選通模塊相連的動態存儲器命令模塊和BANK管理模塊構成;控制器模塊接收來自中央控制模塊的選通控制信號並將BANK管理模塊所負責的動態存儲器狀態信息反饋給處理器接口模塊;內部命令選通模塊在控制器模塊的選通控制下將對來自中央控制模塊的信號送給動態存儲器命令模塊和BANK管理模塊,動態存儲器命令模塊與動態存儲器的控制信號線、地址信號線相連,BANK管理模塊根據對動態存儲器操作的命令和地址信號判斷存儲器內部各BANK和行的狀態信息,並將該狀態反饋給控制器模塊;動態存儲器數據分離選通模塊將動態存儲器的讀寫數據分離開,並直接與動態存儲器的數據線相連。
2、 如權利要求1所述的雙埠訪問對稱動態存儲器的接口,其特徵為處理器接口模 塊中還包括快速通道部分,快速通道部分由與控制器及讀緩存模塊相連的發送狀態機、與控 制器相連的接收狀態機和分別與接收狀態機模塊、異地寫緩存模塊相連的地址比較模塊構 成,同時一個處理器接口模塊的異地寫緩存模塊與另一個處理器接口模塊的讀緩存模塊相 連, 一個處理器接口模塊的狀態反饋模塊還接收來自另一個處理器接口模塊由控制器根據發 送狀態機模塊、接收狀態機模塊的狀態信息並配合命令生成模塊生成的且先於讀寫請求、寫 回請求信號的快速通道命令信號。
3、 如權利要求1或2所述的雙埠訪問對稱動態存儲器的接口,其特徵為動態存儲 器採用兩片相同型號的DDR SDRAM。
4、 如權利要求1或2所述的雙埠訪問對稱動態存儲器的接口,其特徵為處理器接 口模塊中的處理器命令接口部分可以定製,即根據不同的處理器,其命令解析模塊分別配置 成能夠識別和翻譯動態存儲器、異步存儲器、AMBA總線、PC104總線、WISHBONE總線 中的任一種讀寫時序命令的形式。
5、 如權利要求1或2所述的雙埠訪問對稱動態存儲器的接口,其特徵為處理器接 口模塊可配置成對存儲器進行預讀操作,即處理器要訪問N個數據,而處理器接口模塊中的 控制器配合命令生成模塊向中央控制模塊中的信號接口選通模塊發出一次讀出2N個數據的 讀信號。
6、 如權利要求4所述的雙埠訪問對稱動態存儲器的接口,其特徵為處理器接口模 塊可配置成對存儲器進行預讀操作,即處理器要訪問N個數據,而處理器接口模塊中的控制 器配合命令生成模塊向中央控制模塊中的信號接口選通模塊發出一次讀出2N個數據的讀信號。
7、 如權利要求1或2所述的雙埠訪問對稱動態存儲器的接口,其特徵為讀緩存模塊內的數據結構為,讀地址信息由包括動態存儲器的BANK、行、列地址的首地址信息和以 該地址作為起始地址的數據長度信息構成,讀數據隊列長度為n;每組讀數據由數據信息和 該數據的狀態信息構成;本地寫緩存模塊內的數據結構為,本地寫地址隊列長度為m,其中 的每組寫地址信息由包括動態存儲器的BANK、行、列地址的首地址信息、以該地址作為起 始地址的數據長度信息和該地址狀態信息構成,本地寫數據隊列長度為n,其中每組數據只 記錄要寫到本地存儲器中的數據信息;異地寫緩存的數據結構圖為,異地寫地址隊列中的每 組地址對應一個數據子隊列,所有的子隊列共同組成異地寫數據隊列;異地寫地址隊列長度 為m,其中的每組寫地址信息由包括動態存儲器的BANK、行、列地址的首地址信息、以該 地址作為起始地址的數據長度信息和該地址狀態信息構成;數據隊列中的每個子隊列的長度 為n,子隊列中的每組數據由將要寫到異地存儲器的數據信息和該數據的狀態信息構成。
8、 如權利要求4所述的雙埠訪問對稱動態存儲器的接口,其特徵為讀緩存模塊內 的數據結構為,讀地址信息由包括動態存儲器的BANK、行、列地址的首地址信息和以該地 址作為起始地址的數據長度信息構成,讀數據隊列長度為n;每組讀數據由數據信息和該數 據的狀態信息構成;本地寫緩存模塊內的數據結構為,本地寫地址隊列長度為m,其中的每 組寫地址信息由包括動態存儲器的BANK、行、列地址的首地址信息、以該地址作為起始地 址的數據長度信息和該地址狀態信息構成,本地寫數據隊列長度為n,其中每組數據只記錄 要寫到本地存儲器中的數據信息;異地寫緩存的數據結構圖為,異地寫地址隊列中的每組地 址對應一個數據子隊列,所有的子隊列共同組成異地寫數據隊列;異地寫地址隊列長度為m, 其中的每組寫地址信息由包括動態存儲器的BANK、行、列地址的首地址信息、以該地址作 為起始地址的數據長度信息和該地址狀態信息構成;數據隊列中的每個子隊列的長度為n, 子隊列中的每組數據由將要寫到異地存儲器的數據信息和該數據的狀態信息構成。
全文摘要
本發明涉及計算機接口,具體為雙埠訪問對稱動態存儲器的接口。解決採用雙口RAM器件作為共享存儲器和採用總線的分時復用技術訪問共享存儲器存在的成本、存儲器容量、系統性能、易用性等方面的缺陷。包括中央控制模塊、2個處理器接口模塊、2個存儲器接口模塊、刷新模塊、初始化模塊。本發明的接口連接兩片相同型號、互為鏡像的動態存儲器,進而作為兩個處理器的共享存儲器,實現了在高系統性能、高速處理器的要求下,兩個處理器同時通過本接口無衝突的訪問共享存儲器。
文檔編號G06F13/16GK101196857SQ20081005440
公開日2008年6月11日 申請日期2008年1月4日 優先權日2008年1月4日
發明者剛 張, 陌 張, 偉 李, 謝克明 申請人:太原理工大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀