馬 超,丁 摯,田 澤,王 婷
(1.中國航空計算技術(shù)研究所,陜西 西安 710068;2.集成電路與微系統(tǒng)設(shè)計航空科技重點(diǎn)試驗(yàn)室,陜西 西安 710068;3.西安現(xiàn)代控制技術(shù)研究所,陜西 西安 710065)
MA Chao1,2,DING Zhi3,TIAN Ze1,2,WANG Ting1,2
從設(shè)備存儲器窗口遍歷機(jī)制設(shè)計與實(shí)現(xiàn)
馬 超1,2,丁 摯3,田 澤1,2,王 婷1,2
(1.中國航空計算技術(shù)研究所,陜西 西安 710068;2.集成電路與微系統(tǒng)設(shè)計航空科技重點(diǎn)試驗(yàn)室,陜西 西安 710068;3.西安現(xiàn)代控制技術(shù)研究所,陜西 西安 710065)
目前基于總線接口構(gòu)成的計算機(jī)系統(tǒng)在應(yīng)用中占據(jù)主流地位,并仍將持續(xù)作為主流。隨著計算機(jī)系統(tǒng)及應(yīng)用的復(fù)雜度的不斷提高,對外部存儲資源的需求越來越大。然而存儲資源的不斷增大以及存儲功能的正確與否大大增加了前期設(shè)計驗(yàn)證工作的難度并影響了系統(tǒng)的準(zhǔn)確性。文中采用總線接口架構(gòu),提出了一種接口總線從設(shè)備存儲器窗口遍歷機(jī)制,具有不限制存儲系統(tǒng)頻率、不限制存儲大小的優(yōu)勢。通過窗口更新,實(shí)現(xiàn)由主機(jī)對存儲系統(tǒng)的遍歷訪問,在系統(tǒng)設(shè)計初期完成對外部存儲資源功能的驗(yàn)證,極大提高了前端設(shè)計以及芯片測試中驗(yàn)證測試的準(zhǔn)確性。
計算機(jī)系統(tǒng);總線接口;從設(shè)備;窗口遍歷
MA Chao1,2,DING Zhi3,TIAN Ze1,2,WANG Ting1,2
計算機(jī)系統(tǒng)的不斷發(fā)展,加大了外部存儲資源對帶寬、傳輸效率的依賴,同樣也極大地增加了對前期測試驗(yàn)證的難度[1-2]。隨著處理效率及性能要求的增加,保證寫入存儲系統(tǒng)中數(shù)據(jù)的可測性,成為設(shè)計過程中的關(guān)鍵[3]。
為此,在設(shè)計中增加主機(jī)直接訪問存儲系統(tǒng)的通路,能夠在最大限度上保證前期設(shè)計、調(diào)試的正確性[4-5]。
1.1 設(shè)計及實(shí)現(xiàn)
主機(jī)通過從通道設(shè)計實(shí)現(xiàn)對存儲的讀寫訪問。主機(jī)從通道窗口遍歷機(jī)制架構(gòu)如圖1所示。
圖1 主機(jī)從通道窗口機(jī)制架構(gòu)圖
窗口機(jī)制訪問存儲操作序列:
(1)主機(jī)通過MEM類型從接口,配置窗口寄存器,該寄存器有效位與外部存儲資源大小相關(guān),依據(jù)外部存儲大小,確定窗口寄存器有效位。通過配置該寄存器,完成主機(jī)對外部存儲資源的窗口映射。
(2)由主機(jī)發(fā)起訪問外部存儲的讀寫操作,基地址由主機(jī)配置寄存器完成配置。
(3)更新窗口寄存器,執(zhí)行下一次讀寫操作。
1.2 窗口遍歷存儲機(jī)制
為方便主機(jī)靈活高效地訪問存儲系統(tǒng),允許主機(jī)發(fā)起單拍訪問/Burst讀寫訪問存儲系統(tǒng),采用FIFO類型從通道接口作為調(diào)試通路設(shè)計基礎(chǔ)[6]。
存儲的不斷增大提高了系統(tǒng)性能,同時受限于主機(jī)的帶寬,無法作為對外部主機(jī)的全部可見,然而,通過窗口機(jī)制的設(shè)計,能夠?qū)崿F(xiàn)主機(jī)對外部存儲空間的遍歷[7-8]。
窗口機(jī)制是主機(jī)通過配置窗口寄存器確定訪問存儲的基地址,結(jié)合主機(jī)從通路基地址寄存器,完成對外部存儲資源的地址映射關(guān)系。
根據(jù)存儲大小,在窗口寄存器的設(shè)計中確定寄存器的有效位數(shù)。主機(jī)配置寄存器的通路是通過從通道MEM類型實(shí)現(xiàn),所以在完成窗口寄存器設(shè)計后,仍需實(shí)現(xiàn)從通道MEM類型接口到從通道FIFO類型接口的數(shù)據(jù)傳輸。保證在FIFO類型接口操作發(fā)起時,窗口數(shù)據(jù)已更新[9]。
1.3 輸出控制子模塊
輸出控制子模塊作為主機(jī)訪問存儲系統(tǒng)的核心邏輯,完成外部主機(jī)和存儲管理與控制單元的讀寫交互,實(shí)現(xiàn)外部主機(jī)通過存儲管理與控制單元完成對外部存儲的讀寫操作。通過跨時鐘域處理,實(shí)現(xiàn)存儲管理與控制單元的反饋信號以及PCI控制信號的控制及交互[10]。
1.3.1 寫操作的設(shè)計
主機(jī)訪問存儲系統(tǒng)的寫操作設(shè)計方法如下:
(1)判斷是否發(fā)生主機(jī)訪問存儲系統(tǒng)中通路的切換;
(2)如果檢測到發(fā)生了通路的切換且緩存內(nèi)有未向存儲系統(tǒng)發(fā)送的數(shù)據(jù)時,將上一次寫操作的數(shù)據(jù)、地址、字節(jié)使能等信息寫入緩存內(nèi);
(3)如果未檢測到通路的切換,判斷本次操作;
(4)若本次操作為寫操作,判斷通路計數(shù)是否等于0,如本次操作為讀操作,將上一次寫操作的數(shù)據(jù)、地址、字節(jié)使能等信息寫入緩存內(nèi);
(5)若通路寫數(shù)據(jù)計數(shù)等于0,判斷本次操作的地址與上一次寫操作的地址是否連續(xù),若通路寫數(shù)據(jù)計數(shù)等于16,則將上一次寫操作的數(shù)據(jù)、地址、字節(jié)使能等信息寫入緩存內(nèi),若不等于0且不等于16,則返回初始狀態(tài);
(6)若本次操作訪問的地址與上一次寫操作訪問的地址連續(xù),則繼續(xù)判斷是否寫入滿16個字;
(7)若寫滿16個字,則將32位下數(shù)據(jù)拼接成256位,并將本次寫操作的數(shù)據(jù)、地址、字節(jié)使能等信息寫入緩存內(nèi),若未寫滿,則返回初始態(tài)。
主機(jī)訪問存儲系統(tǒng)寫操作狀態(tài)如圖2所示。
1.3.2 讀操作的設(shè)計
主機(jī)訪問存儲系統(tǒng)的讀操作設(shè)計方法如下:
(1)主機(jī)發(fā)起讀操作后,判斷緩存是否為空;
(2)若寫隊列非空,則將寫隊列內(nèi)數(shù)據(jù)寫入緩存,若寫隊列空,判斷本次操作是否為延遲讀;
(3)若為延遲讀,重試主機(jī),并等待后端邏輯按照讀操作地址取回數(shù)據(jù);
(4)若為立即讀,判斷本次讀操作地址是否在上一次讀操作地址的同一行內(nèi);
(5)讀重試中,若取回有效數(shù)據(jù)后,按照單拍或Burst操作類型,將256位數(shù)據(jù)拆分成若干32位數(shù)據(jù),并將數(shù)據(jù)反饋給主機(jī),回到初始化;
(6)若立即讀操作地址在上次讀操作的同一行內(nèi),則從緩存中取回數(shù)據(jù),按照單拍或Burst操作類型,將256位數(shù)據(jù)拆分成若干32位數(shù)據(jù),反饋給主機(jī),回到初始化。
主機(jī)訪問存儲系統(tǒng)讀操作狀態(tài)示意如圖3所示。
1.3.3 內(nèi)部緩存控制
緩存控制由兩部分設(shè)計實(shí)現(xiàn):向主機(jī)發(fā)送請求和數(shù)據(jù)緩存、地址控制位緩存。
其中數(shù)據(jù)緩存通過DPRAM實(shí)現(xiàn),地址控制位通過FIFO實(shí)現(xiàn)。
圖2 寫操作狀態(tài)示意圖
圖3 讀操作狀態(tài)示意圖
主機(jī)數(shù)據(jù)位寬32位,存儲系統(tǒng)接口數(shù)據(jù)位寬為256位,通過內(nèi)建DPRAM存儲,將主機(jī)32位數(shù)據(jù)位寬拼接成256位數(shù)據(jù)位寬后存入DPRAM(若主機(jī)單字操作,則其余位補(bǔ)零),待存儲管理與控制單元接到請求后,讀取該DPRAM內(nèi)的數(shù)據(jù),已完成外部主機(jī)對存儲管理與控制單元的數(shù)據(jù)寫操作[11-12]。
主機(jī)對存儲發(fā)起寫操作時,不僅要將數(shù)據(jù)準(zhǔn)確地發(fā)送給存儲系統(tǒng),還需要將地址等關(guān)鍵控制信息發(fā)送給存儲。將地址、字節(jié)使能以及窗口偏移地址拼接成48位數(shù)據(jù)壓棧到FIFO內(nèi),與數(shù)據(jù)同時發(fā)送給存儲系統(tǒng),以保證主機(jī)讀寫數(shù)據(jù)的一致性[13-14]。
存儲控制狀態(tài)如圖4所示。
圖4 存儲控制狀態(tài)示意圖
通過主機(jī)接口設(shè)計,實(shí)現(xiàn)了主機(jī)對外部存儲資源的直接讀寫訪問,有效解決了低速低優(yōu)先級主機(jī)接口訪問高速外部存儲時頻繁向外存發(fā)起請求,外部存儲頻繁仲裁而引起的效率及準(zhǔn)確率過低的問題,大大提高了訪問效率,保證了前端設(shè)計的準(zhǔn)確性。
通過主機(jī)訪問存儲系統(tǒng)來實(shí)現(xiàn)主機(jī)端對存儲器的直接讀寫訪問,通過32位寄存器,依據(jù)不同的外部存儲大小,選用不同有效位作為窗口結(jié)合PCI主機(jī)配置空間T1通路配置基地址寄存器,將主機(jī)對窗口的訪問映射到外部存儲資源,實(shí)現(xiàn)了通過窗口映射對外部存儲資源的遍歷訪問。一方面能夠在設(shè)計過程中確保整體功能的正確性,能夠以最快的時間通過主機(jī)對存儲的讀寫來定位問題,保證了設(shè)計進(jìn)度及功能正確;另外,在芯片測試時也能夠提供更加直觀的存儲功能的判斷。然而受限于存儲系統(tǒng)數(shù)據(jù)位寬與主機(jī)接口數(shù)據(jù)位寬的不匹配以及存儲系統(tǒng)競爭機(jī)制中主機(jī)訪問的優(yōu)先級問題,導(dǎo)致以往的設(shè)計中很少能夠?qū)崿F(xiàn)由外部主機(jī)直接對片外存儲的有效讀寫訪問,因此該設(shè)計充分考慮了主機(jī)訪問存儲系統(tǒng)的操作類型、操作順序以及存儲對外部讀寫訪問的處理、競爭機(jī)制的特點(diǎn),實(shí)現(xiàn)了在不限制外部主機(jī)操作類型、操作順序以及不影響存儲系統(tǒng)與其余功能單元的數(shù)據(jù)交互的前提下,由主機(jī)直接訪問存儲系統(tǒng)的功能,解決了日漸增加的外部存儲資源對前端設(shè)計造成的設(shè)計隱患,極大提高了前端設(shè)計驗(yàn)證的效率,保證了前端設(shè)計功能的準(zhǔn)確性。
[1] 蔡士杰,宋繼強(qiáng),蔡 敏.計算機(jī)圖形學(xué)[M].第3版.北京:電子工業(yè)出版社,2007:10-21.
[2] 徐新海,林宇裴,易 偉.CPU-GPGPU異構(gòu)體系結(jié)構(gòu)相關(guān)技術(shù)綜述[J].計算機(jī)工程與科學(xué),2009,31(A1):24-26.
[3] Wolf W.High performance embedded computing architectures,applications,and methodologies[M].New York:Elsevier,2007.
[4] 128-bit processor local bus architecture specifications[M].[s.l.]:IBM,2004.
[5] Patnaik G,Corrigan A.Efficient utilization of a CPU-GPU cluster[C]//Proc of 50th AIAA aerospace sciences meeting including the new horizons forum and aerospace exposition.Nashville,Tennessee:[s.n.],2012.
[6] Rainald F C,Baum J D.Large-scale blast calculations on GPU clusters[C]//Proc of 50th AIAA aerospace sciences meeting including the new horizons forum and aerospace exposition.Nashville,Tennessee:[s.n.],2012.
[7] 賈 真,林 清.PCI總線應(yīng)用設(shè)計與研究[J].現(xiàn)代電子技術(shù),2008,31(10):85-87.
[8] 馬安國,成 玉,唐遇星,等.GPU異構(gòu)系統(tǒng)中的存儲層次和負(fù)載均衡策略研究[J].國防科技大學(xué)學(xué)報,2009,31(5):38-43.
[9] 王 鵬,伊 鵬,金德鵬,等.基于三級存儲陣列緩存高速數(shù)據(jù)包及性能分析[J].軟件學(xué)報,2005,16(12):2181-2189.
[10] 張立倩,白鳳山.基于PCI總線的數(shù)據(jù)傳輸系統(tǒng)設(shè)計[J].內(nèi)蒙古大學(xué)學(xué)報:自然科學(xué)版,2005,36(1):84-88.
[11] 張偉棟,王國慶,崔紅利.一種基于IP內(nèi)核的PCI總線接口設(shè)計方法研究[J].航空計算技術(shù),2008,38(5):115-118.
[12] 柳 鈺,梅策香,吳繼俠.PCI總線從設(shè)備控制器的設(shè)計與實(shí)現(xiàn)[J].微計算機(jī)信息,2009,25(7-2):278-280.
[13] 劉 鑫,許華榮.基于GPU的特征點(diǎn)提取與匹配算法比較[J].計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報,2013,25(10):1496-1502.
[14] 劉海華,陳心浩.異步非透明PCI-PCI橋的應(yīng)用研究[J].微計算機(jī)應(yīng)用,2006,27(4):478-480.
Design and Implementation of Window Traversal Mechanism of
MEM Unit Accessing by Target Device
(1.Aeronautics Computing Technique Research Institute,Xi’an 710068,China;2.Aeronautics Science and Technology Key Laboratory of Integrated Circuit and Micro-system Design,Xi’an 710068,China;3.Xi’an Modern Control Technology Research Institute,Xi’an 710065,China)
The computing system based on bus-interface structure has been occupied large amount of implementation.With the huge increasing complexity of computing system and its application,the demand in chip-out MEM units has been increased either.However,the increasing of storage resources and storage function correcting or not significantly increases the difficulty of the preliminary design verification work and affects the accuracy of the system.A new windows traversal method in achieving the fully accessing to MEM units under the bus-interface-structure is proposed.This method allows the host device to access to MEM unit without any limitations in size of MEM unit and operation frequency.According to windows updating,implementing the traversal access to storage system by the host,completing verification of external storage resources functions in the early stage of system design,the veracity of design and completeness of verification would be enormously improving.
computer system;host interface;target device;windows traversal
2015-06-16
2015-09-22
時間:2016-05-05
中國航空工業(yè)集團(tuán)公司創(chuàng)新基金(2010BD63111)
馬 超(1984-),男,工程師,研究方向?yàn)榧呻娐吩O(shè)計與驗(yàn)證;田 澤,博士,研究員,中航首席技術(shù)專家,研究方向?yàn)镾oC設(shè)計、嵌入式系統(tǒng)設(shè)計、VLSI設(shè)計。
http://www.cnki.net/kcms/detail/61.1450.TP.20160505.0814.004.html
TP39
A
1673-629X(2016)05-0135-04
10.3969/j.issn.1673-629X.2016.05.029