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