Download presentation
Presentation is loading. Please wait.
1
記憶體控制器 6-1
2
大綱 記憶體分類 概論 功能描述 記憶體系統範例 記憶體存取 記憶體組態暫存器 6-2
3
記憶體分類 隨機存取記憶體 唯讀記憶體 靜態隨機存取記憶體 動態隨機存取記憶體 可抹除可程式唯讀記憶體 電子式可抹除可程式唯讀記憶體
同步動態隨機存取記憶體 雙速率隨機存取記憶體 唯讀記憶體 可抹除可程式唯讀記憶體 電子式可抹除可程式唯讀記憶體 快閃記憶體 6-3
4
隨機存取記憶體 簡稱為記憶體 系統在運算過程中暫時儲存資料的空間 系統有電源時,資料存在於系統中,系統關機時記憶體中的資料則全部消失
要保留記憶體的內容,在關機前將資料儲存到永久性儲存媒體中 可分成兩大類: 靜態隨機存取記憶體 動態隨機存取記憶體 6-4
5
靜態隨機存取記憶體 每個位元使用四到六個電晶體所組成,沒有需要充電的元件 沒有電容器放電的問題,不需要不斷地充電
存取時間較短,製造成本較高,而且容量也比動態隨機存取記憶體還小 主要用作快取記憶體 未來的發展以通訊市場為重點,主要是在手機市場 6-5
6
動態隨機存取記憶體 由電容組成的陣列且以電荷方式來儲存資料 必須適時的充電以免電荷消失而導致資料遺失
需要有外部電路的支援,使得CPU對記憶體存取的延遲 價格便宜容量大,普遍用於多數的電腦系統中 發展出好幾種不同類型的動態隨機存取記憶 6-6
7
同步動態隨機存取記憶體 時脈速度上比動態隨機存取記憶體還要快上許多倍
利用同步計時器對記憶體的輸出輸入做控制,使得CPU能與記憶體有相同的時脈 同時開啟兩個記憶體的分頁 採用3.3V電壓,168個接腳,可以搭配CPU的各種不同類型的外頻規格 6-7
8
雙速率隨機存取記憶體 加強的同步動態隨機存取記憶體 在一個時脈週期的波峰與波底都能夠傳輸資料 傳輸率至少是同步動態隨機存取記憶體的兩倍
規格不同於同步動態隨機存取記憶體 採用2.5 V電壓,184個接腳,外頻為133MHz 6-8
9
唯讀記憶體 非揮發記憶體 不需電力的供給,記憶體內的資料會長時間的被儲存起來 由大型二極體所組成的陣列構成 主要是存放開機時所需的軟體
可分為 : 可抹除可程式唯讀記憶體 電子式可抹除可程式唯讀記憶體 快閃記憶體 6-9
10
可抹除可程式唯讀記憶體 利用紫外線的照射晶片頂端的一個小窗口,將記憶體內部的資料清除掉 再透過燒錄器,把資料燒錄到記憶體中
大約能重複寫入100次左右 不用於經常性變動參數的電腦系統內 未來會朝往通訊用途發展,如用於手機 6-10
11
電子式可抹除可程式唯讀記憶體 可以在電路上做清除與寫入 不必額外提高電壓就能將資料寫入到記憶體內,只需寫入某些控制碼
大約可重複寫入高達10000次左右 不適合用來存放韌體 儲存介面介面卡的設定資料 未來會朝往也通訊用途發展,如用於手機 6-11
12
快閃記憶體 最新技術的唯讀記憶體 有電子式可抹除可程式唯讀記憶體可重複寫入的功能,同時也具備一般唯讀記憶體的大容量
重複寫入次數可達 次之多 資料更新是以每個區塊為單位加以覆寫 價格較便宜且容量大,逐漸成為主流 6-12
13
概論 PXA250與PXA210應用處理器外部記憶體匯流排支援 記憶體型態可利用記憶體介面組態暫存器來設定
同步動態隨機存取記憶體(SDRAM) 同步與非同步突發傳輸(burst)模式 分頁模式(Page-mode)快閃記憶體 同步遮罩唯讀記憶體(SMROM) 分頁模式唯讀記憶體 靜態隨機存取記憶體(SRAM) 類似SRAM可變延遲I/O(VLIO) 16位元PC卡擴充記憶體 快閃記憶體 記憶體型態可利用記憶體介面組態暫存器來設定 6-13
14
6-14
15
功能描述 說明 SDRAM介面簡介 靜態記憶體介面與可變延遲I/O介面 16位元PC卡與快閃記憶體介面 6-15
16
說明 Intel PXA250與PXA210應用處理器有三個不同的記憶體空間 SDRAM有4個分割,靜態記憶體有6個,卡的空間有2個
卡記憶體 SDRAM有4個分割,靜態記憶體有6個,卡的空間有2個 當記憶體存取需跨過相鄰分割的範圍時,這兩個分割的組態必須一致(包括匯流排寬度及突發傳送長度) 6-16
17
SDRAM介面簡介 應用處理器的SDRAM介面提供4個16與32位元寬的SDRAM分割
每個分割可定址64MB的內部記憶體,但實際的大小需視SDRAM的組態而定 4個分割分成成對的兩組 分割0與分割1 分割2與分割3 每對內的分割其大小與組態必須相同 6-17
18
SDRAM介面簡介(cont.) 應用處理器在一般操作時會自動充電(CBR) ,並支援在睡眠模式時自我充電(self-refreshing)
當設定auto-power-down mode位元時, SDRAM的時脈與時脈致能在沒有SDRAM的分割被存取時會自動的變成不作用(de-assert) 應用處理器支援x8, x16與x32的SDRAM晶片 6-18
19
SDRAM介面簡介(cont.) 當致能一個SDRAM的分割時, 一個模式暫存器設定命令(MRS)會寫入MDMRS暫存器來送到SDRAM裝置
CAS延遲由MDCNFG的DTC0或DTC2欄位設定 6-19
20
SDRAM記憶體選擇 可支援4個分割區,分為2對 每個分割區須有相同 SDRAM大小 組態 時序種類 資料匯排寬度 6-20
21
Bank Bits x Row Bits x Column Bits
SDRAM記憶體大小選擇範例 SDRAM組態 (Word x Bits) 晶片大小 晶片數目/分割區 Bank Bits x Row Bits x Column Bits 分割區大小 (Mbyte/分割區) 16位元Bus 32位元Bus 32位元 Bus 1M x 16 16Mbit 1 2 1 x 11 x 8 2Mbyte 4Mbyte 2M x 8 4 1 x 11 x 9 8Mbyte 2M x 32 64Mbit N/A 2 x 11 x 8 4M x 16 1 x 13 x 8 2 x 12 x 8 16Mbyte 8M x 8 1 x 13 x 9 2 x 12 x 9 32Mbyte 8M x 16 128Mbit 16M x 8 2 x 12 x 10 64Mbyte 16M x 16 256Mbit 2 x 13 x 9 32M x 8 2 x 13 x 10 128Mbyte – 超過分割區大小 6-21
22
應用處理器訊號 4個分割選擇訊號(nSDCS[3:0]) 4個位元組選擇訊號(DQM[3:0])
15個多工組/列/行位址訊號(MA[24:0]) 1個啟動寫入訊號(nWE) 1個行位址選通脈衝(nSDCAS) 1個列位址選通脈衝(nSDRAS) 1個啟動時脈訊號(SDCKE[1]) 2個時脈訊號(SDCLK[2:1]) 32個資料訊號(MD[31:0]) 6-22
23
靜態記憶體介面與可變延遲I/O介面 支援最多6組(bank) 有6個晶片選擇(nCS[5:0])與26位元的位元組地址(MA[25:0])
每組記憶體最多可以有64MB 6-23
24
靜態記憶體介面與可變延遲I/O介面(cont.)
每個晶片選擇可個別程式化來選擇所支援的靜態記憶體類別之一: nCS[5:0]支援非突發傳輸ROM或快閃記憶體 nCS[5:0]支援突發傳輸ROM或快閃記憶體(非突發傳輸寫入) nCS[5:0]支援突發和非突發傳輸SRAM nCS[5:0]支援可變延遲I/O nCS[3:0]支援同步靜態記憶體 6-24
25
靜態記憶體介面與可變延遲I/O介面(cont.)
可變延遲I/O介面與SRAM的不同 允許資料準備(data-ready)輸入訊號RDY插入可變個數的等待狀態 應用處理器重置時 會先從位址0x00取得指令並執行 晶片選擇nCS<0>會作用 BOOL_SEL腳位決定開機記憶體的型態 6-25
26
靜態記憶體介面 為了使每個晶片選擇最多可存取64Mbyte,處理器提供26位元的位元組位址 使用32位元系統不可連接MA[1:0]
在32位元系統的讀取,DQM[3:0]和MA[1:0]都為0 在16位元系統的讀取,DQM[1:0]和MA[0]都為0 6-26
27
32位元匯流排寫入存取 資料大小 MA[1:0] DQM[3:0] 8位元 00 1110 01 1101 10 1011 11 0111
16位元 1100 0011 32位元 0000 6-27
28
16位元匯流排寫入存取 資料大小 MA[0] DQM[1:0] 8位元 10 1 01 16位元 00 6-28
29
16位元PC卡與快閃記憶體介面 提供控制訊號支援 使用地址線MA[25:0]與資料線MD[15:0] 16位元PC卡與快閃記憶體的任意組合
最多兩個插槽 使用地址線MA[25:0]與資料線MD[15:0] 6-29
30
16位元PC卡與快閃記憶體介面(cont.) 16位元PC卡與快閃記憶體控制器提供以下訊號
nPREG作MA[26]和選擇暫存器空間(I/O或屬性)對記憶體空間的多工處理 nPOE與nPWE允許記憶體與屬性讀取和寫入 nPIOR、nPIOW與nIOIS16控制I/O讀取和寫入 nPWAIT允許延伸的讀取時間 nPCE2與nPCE1為16位元資料匯流排位元組高低選擇。 PSKTSEL選擇2個卡槽之一 6-30
31
16位元PC卡與快閃記憶體介面(cont.) 16位元PC卡記憶體映象空間分成8個分割區 每個插槽有4個分割區 4個分割區為:
共用記憶體 I/O 屬性記憶體 保留空間。 每一個分割區皆以64Mbyte的邊界開始 6-31
32
記憶體系統範例 使用4Mx16位元的SDRAM裝置(共48MB) 在靜態組0與1的2Mx16位元的SMROM以及在靜態組2的RAM裝置
6-32
33
6-33
34
6-34
35
記憶體存取 若記憶體存取後,有一段匯流排閒置時間,則 控制訊號會回到不活動的(inactive)狀態
為了避免不必要的轉變與消除,位址和資料訊號仍為原來的數值 6-35
36
裝置交易(Device Transactions)
匯流排操作 突發傳輸大小 (word) 開始位址 Bits[4:2] 說明 Read single 1 任何 由核心、DMA或LCD的請求所產生。 Read burst 4 由DMA或LCD的請求所產生。 8 由於快取線(cache line)滿載而產生。 Write single 1..4位元組由位元組遮罩指定要寫入那些位元 組。由DMA的請求所產生。 Write burst 2 0, 1, 2 4, 5, 6 每一個word的所有4個位元組都被寫入。由DMA的 請求所產生。 3 0, 1 4, 5 快取線(cache line)複製回去。全部32個byte 都被寫入。 6-36
37
讀取與寫入 DQM<3:0>為資料遮罩位元 DQM<3>對應到MD<31:24>
6-37
38
放棄與不存在的記憶體 存取記憶體映象保留的部分,會導致資料放棄的例外事件 硬體不會偵測到讀取或寫入至啟動的記憶體或不存在的記憶體
若啟動的分割區內的記憶體不存在,則讀取會傳回不確定的資料 如果記憶體並未佔有分割區全部的64MB,則執行讀取或寫入至這些未被佔有的區域時,仍與記憶體佔有分割區全部的64MB時相同 6-38
39
放棄與不存在的記憶體(cont.) 單一字組對未啟動的SDRAM分割區(MDCNFG:DEx=0)做存取導致對所有的分割區進行一個CBR更新週期 這種技術被使用在硬體初始化程序。 6-39
40
放棄目標(target-abort)的例外事件
突發傳輸讀取對未啟動的SDRAM做存取會導致放棄目標(target-abort)的例外事件 對Flash/ROM空間做突發寫入與突發傳輸至組態空間也會產生Target-abort Target-abort可以是資料放棄或預先取得(prefetch)放棄,依據試圖作突發傳輸的來源而定 6-40
41
記憶體組態暫存器 組態暫存器是記憶體介面控制暫存器中的一個
記憶體介面控制暫存器必須對應為不可快取(non-cacheable)與不可緩衝(non-bufferable) 只可為單一word存取 被分組為同一分頁,而所有記憶體介面控制暫存器都具有相同記憶體保護 6-41
42
記憶體介面控制暫存器列表 實體位址 符號 暫存器名稱 0x4800 0000 MDCNFG SDRAM組態暫存器 0x4800 0004
MDREFR SDRAM更新控制暫存器 0x MSC0 靜態記憶體控制暫存器0 0x C MSC1 靜態記憶體控制暫存器1 0x MSC2 靜態記憶體控制暫存器2 0x MECR 擴充記憶體(16位元PC卡/Compact Flash)匯流排組 態暫存器 0x C SXCNFG 同步靜態記憶體暫存器 0x SXMRS 將MRS值寫入SMROM 0x MCME0 插卡介面通用記憶體空間插座0時序組態 0x C MCME1 插卡介面通用記憶體空間插座1時序組態 0x MCATT0 插卡介面屬性空間插座0時序組態 0x MCATT1 插卡介面屬性空間插座1時序組態 0x MCIO0 插卡介面空間插座0時序組態 0x C MCIO1 插卡介面空間插座1時序組態 0x MDMRS 將MRS值寫入SDRAM 6-42
43
啟動記憶體之選擇和設定(cont.) 位元 名稱 說明 31:4 - 保留 3 PKG_TYPE 處理器類型。此位元為唯讀。
0 – PXA210應用處理器 1 – PXA250應用處理器 2:0 BOOT_SEL 包含3個應用處理器輸入腳位(BOOT_SEL[2:0])。這些位元為唯讀。 參考表8-22之有效啟動組態。參考 節之啟動時間組態描述。 6-43
44
啟動記憶體之選擇和設定(cont.) 處理器類型 BOOT_SEL訊號之有效啟動組態 0(PXA210應用處理器) 001 011 101
111 1(PXA250應用處理器) 000 010 100 110 6-44
45
啟動記憶體之選擇和設定 BOOT_SEL 啟動位置 2 1 非同步32位元ROM 非同步16位元ROM 保留
非同步32位元ROM 非同步16位元ROM 保留 1個32位元同步遮罩ROM(64Mbit) 2個16位元同步遮罩ROM = 32位元(每一個為32Mbit) 1個16位元同步遮罩ROM(64Mbit) 2個16位元同步遮罩ROM = 32位元(每一個為64Mbit) 1個16位元同步遮罩ROM(32Mbit) 6-45
46
GPIO重置 (cont.) MBREQ和MBGNT要設定自己的重置狀態 MBREQ和MBGNT腳位成為一般用途的輸入
當GPIO重置時,若有一個處理在執行,Alternate master會喪失匯流排的控制權 觸發GPIO重置之後,會立刻發生一個SDRAM更新 記憶體控制器暫存器會保留重置之前的數值 不保證記憶體的內容,而軟體必須決定記憶體的內容是否被影響 6-46
47
GPIO重置 記憶體 只保留重置 前的數值 記憶體 控制器 不保証記 憶體內容 6-47
Similar presentations