對存儲帶寬的要求使手機設(shè)計面臨兩難抉擇
以這種方式對存儲器系統(tǒng)進行重新分配,為主機和存儲器系統(tǒng)之間提供了一條統(tǒng)一總線,同時考慮到了密度、存儲器類型以及速度級等性能指標。此外,該方法還最小化了外部總線的負荷,因而允許更高的總線頻率,這是減少引腳數(shù)量的預(yù)備條件。而且,重新分區(qū)也同時把存儲器件之間大量引腳的接口限制為典型多芯片封裝(MCP)內(nèi)部的一種解決方案,這降低了手機成本,并允許在MCP中容納更多的存儲模塊(Memory Bank)。
主機與存儲器系統(tǒng)之間采用統(tǒng)一總線,可盡量減輕外部總線的負荷。主機接口與客戶機接口之間的總線以DDR存儲器總線來實現(xiàn),因此作為實例存儲器系統(tǒng)的總體外部引腳數(shù)量在35至43之間(控制總線:15個引腳,地址總線:12個引腳,數(shù)據(jù)總線:8到16個引腳) 。
根據(jù)時鐘頻率的不同,以上所給出的系統(tǒng)劃分可使外部存儲器帶寬僅以43個引腳就達到10Gbps,因而可將外部引腳數(shù)目減少約60%,同時大大增強性能。此外,由于引腳數(shù)量的減少,單個CPU的成本也隨之降低。最為重要的是,這種方法將存儲器與總線各自獨立開來,從而能夠建立起分層的存儲器-系統(tǒng)架構(gòu),甚至允許以一種對存儲器透明的模式把總線移植到超高速的差分結(jié)構(gòu)中?;谶@種方式,存儲器件可以開發(fā)成直接與總線相連,或是可開發(fā)成經(jīng)重配置總線接口之后再與總線連接的結(jié)構(gòu)。
客戶機接口與主機接口之間的總線可以被所有存儲器件共享,雖然目前的系統(tǒng)中通常只有靜態(tài)存儲器(NOR、SRAM和NAND)共享一條總線。因此必須謹慎設(shè)計系統(tǒng)以避免延遲問題,尤其是對DRAM存儲器而言,這個問題對系統(tǒng)的整體性能影響最大。
延遲問題
只有當(dāng)處理單倍數(shù)據(jù)率(SDR)器件時,延遲問題才能得到解決。在這種情況下,靜態(tài)存儲器可以和動態(tài)SDR多路復(fù)用,即在每半個時鐘周期中利用工作在雙倍數(shù)據(jù)率(DDR)模式下的總線使一種存儲器工作。通過訪問傳統(tǒng)存儲子系統(tǒng)和重新分區(qū)的子系統(tǒng)的存儲器,再對二者在時序上的區(qū)別進行比較可以看到,后者能夠避免延遲帶來的影響。
大部分邏輯操作都發(fā)生時鐘沿(通常是上升沿)。主機控制器在上升沿創(chuàng)建信號,該信號在下一個上升沿時在迭置焊接層(registered pad layer)被捕獲。如果這種重新分區(qū)的存儲器系統(tǒng)如同慣有的那樣在上升沿的同時輸出信號,就不存在延遲問題。
在重新分區(qū)的結(jié)構(gòu)中,控制器在上升沿建立信號,焊接層(Pad Layer)在下一個下降沿捕獲信號。客戶機控制器在下一個上升沿將信號輸出,因此存儲器件在存儲接口上得到相同的時序。
建立的系統(tǒng)時序在一個時鐘周期內(nèi)很可能無法避免延遲,但在大多數(shù)情況下,延遲損失是可以預(yù)防的。為彌補這種不能避免的相對較小的延遲,可以增加預(yù)取(prefetch)功能。在存取數(shù)據(jù)n的期間,可以自動讀取數(shù)據(jù)n+1,這樣,延遲問題實際上就得到了改善。
在存儲子系統(tǒng)內(nèi)部采用預(yù)取技術(shù)(prefetching)的結(jié)果是帶寬隨延遲的改善平均增加15%。這對于可能需要大量預(yù)取的隨機數(shù)據(jù)和DSP操作是正確的。預(yù)取并不會引起性能的降低,但如果預(yù)取的數(shù)據(jù)并非在放回預(yù)取緩存器中之前CPU所需的,則會導(dǎo)致功率的浪費。實現(xiàn)預(yù)取方案的邏輯相當(dāng)直接簡單。預(yù)取緩存器可以在客戶機總線接口中實現(xiàn)以避免使用用戶存儲器。
對帶寬的影響
對于存儲器系統(tǒng)而言,恒定帶寬(sustained bandwidth)是一個關(guān)鍵參數(shù)。如上所述,引入重新分區(qū)存儲控制器的客戶機接口會增加存儲器訪問的延遲,而延遲對對恒定帶寬有很大影響。
由于恒定帶寬是評價存儲器系統(tǒng)性能的一個關(guān)鍵指標,就必須考慮慢速和快速存儲器如何在同一條總線上操作的問題。恒定帶寬是最小的總線和器件帶寬。較慢的閃存(Flash)存儲器工作頻率最高為100MHz,需要大得多的容量。相對于DRAM,對閃存的訪問很少,因此,如果能夠通過在DRAM中臨時緩存高峰數(shù)據(jù)流并使進出Flash的流量更加恒定,則較慢的恒定帶寬是可以接受的。若寬度W的Nburst是可變的,則恒定帶寬可表示為:
BWsust=W×Nburst/(tini+Nburst–1)×twords/s
峰值帶寬可表示為:
BWpeak=W/twords/s
許多手機應(yīng)用如錄音和照相,都證明“突發(fā)”活動并不總是需要匹配目標存儲器帶寬與峰值應(yīng)用帶寬。在那種情況下,對臨時緩沖器的管理非常關(guān)鍵,因為它占用了更長的時間在后臺復(fù)制數(shù)據(jù),同時也為CPU提供了臨時的數(shù)據(jù)存儲空間。重新分區(qū)的存儲器系統(tǒng)允許采用雙端口(端口A和端口B)的RAM進行后臺復(fù)制,其中端口A覆蓋的存儲范圍為Ma,端口B覆蓋了剩余的存儲范圍Mb。M、Ma以及Mb之間的關(guān)系為:通過寄存器寫入可以完成存儲器范圍Ma和Mb的重新配置,因而Ma變成Ma prime,而Mb變?yōu)镸b prime:
Mailbox表示存儲器的空間,一次指派給端口A,一次指派給端口B。從A到B重新指派Mailbox可以拷貝大量的數(shù)據(jù),而實際上并不移動數(shù)據(jù),類似于“C語言”中傳遞指向數(shù)據(jù)結(jié)構(gòu)的指針而非傳遞數(shù)據(jù)結(jié)構(gòu)本身。這樣一來,每個端口都有一個已知的私有存儲范圍Ma(prime)/Mailbox或Mb(prime)/Mailbox以及一個共享的Mailbox。當(dāng)通過在Mailbox中存放數(shù)據(jù)執(zhí)行后臺復(fù)制,然后重新將Mailbox指派給執(zhí)行后臺復(fù)制的該端口時,這就可以以簡單的方法保持數(shù)據(jù)的一致性。
信令問題
在最簡單的情形下,連接到主機的靜態(tài)和動態(tài)存儲器均為SDR器件,并共享一條存儲總線。這時可以采用一個簡單的方法來實現(xiàn)DDR模式下共享總線的操作。時鐘上升沿可用于所有DRAM操作,下降沿則可用于所有SRAM操作。在本質(zhì)上,主機控制器在一個DDR流中多路復(fù)用了兩個SDR數(shù)據(jù)流,故而可以為SRAM和DRAM提供兩個獨立的通道。
如果主機的SRAM和DRAM控制器在上升沿進行操作,則這種方案中對于一個通道的延遲為零,而對于另外一個通道的延遲為半個時鐘周期。通過重新分區(qū)時序,這種延遲就可以消除。
另一方面,采用DDR存儲器時,上述簡單的映射方案不適用。不過有一種簡單的擴展方法也可用于支持DDR器件。
SDR方法定義了一種共享總線上的時隙方案(timeslot),這種時隙就是半個時鐘周期中兩個捕獲的時鐘邊沿間的時間。時隙在SRAM和DRAM間是均勻分配的。為滿足DDR器件的帶寬需求,總線必須采用fbus時鐘,BWstatic是SRAM所需的帶寬,BWdyn是DRAM所需的帶寬,width則表示連接存儲器與主機系統(tǒng)的總線數(shù)據(jù)引腳的數(shù)量:
Fbus=1/2×((BWstatic+BWdyn)/Width)
對于任意時間周期,DDR方案都比SDR能提供更多的時鐘沿和更多的時隙,因此,帶寬和延遲需求都可以在比SDR方法更精細的區(qū)間內(nèi)進行調(diào)節(jié)。
建立存儲器系統(tǒng)總線只能輔助性地提高DRAM通道的延遲性能(每個方向不超過一個時鐘)。
考慮到手機的每32字節(jié)緩存列(Cache line)需要16個節(jié)拍,而PC機每32字節(jié)緩存列僅需要4個節(jié)拍,一個周期附加的延遲造成每節(jié)拍1/8周期的負荷,性能降低不超過12.5%,這很容易通過超頻總線進行補償。如果在存儲器通道中允許采用集成的非授權(quán)mux結(jié)構(gòu),就不會有附加延遲出現(xiàn)。
這種存儲器系統(tǒng)應(yīng)該是很容易被接受的,因為它允許采用現(xiàn)有的存儲器系統(tǒng)。同時實現(xiàn)主機接口和規(guī)范的DRAM/SRAM控制器是可能的。主機CPU的DRAM控制器能夠與新的存儲器主機接口共享DRAM焊盤(通過配置寄存器或鍵合方式)。如果SRAM控制器的焊盤以鍵合方式實現(xiàn),則同樣的CPU裸片就能配置為支持傳統(tǒng)或新型存儲器系統(tǒng)的器件。
總之,不同的存儲器系統(tǒng)均可用于相同的主機平臺,并可以根據(jù)性能和成本擴展多種系統(tǒng)。
重新分區(qū)的方法最大限度減輕了外部總線的負荷,并為主機和存儲器系統(tǒng)之間提供了一條統(tǒng)一總線,從而將外部存儲器帶寬提高到10Gbps,并減少了60%的引腳數(shù)量,進而降低了每個CPU的成本。此外,這種方式還為存儲器系統(tǒng)提供了一個獨立的物理層,可以把現(xiàn)有存儲器總線透明地移植到未來的架構(gòu)中。
評論