首先...
我們會使用到的是SARAM ( Single Access RAM )
為可以自由使用的RAM 不像大部分的記憶體 有被命名或者保護占用等等
SARAM在28069中分為九段 分別為 L0 ~ L8
使用空間為:
L0:0-Wait、Secure Zone、ECSL、CLA Data RAM2
L1:0-Wait、Secure Zone、ECSL、CLA Data RAM0
L2:0-Wait、Secure Zone、ECSL、CLA Data RAM1
L3:0-Wait、Secure Zone、ECSL、CLA Program RAM
L4:0-Wait、Secure Zone、ECSL
L5:0-Wait、Secure Zone、DMA RAM0
L6:0-Wait、Secure Zone、DMA RAM1
L7:0-Wait、Secure Zone、DMA RAM2
L8:0-Wait、Secure Zone、DMA RAM3
CLA是之前提到的功能
而這裡主要是DMA的地方
DMA的好處是,可以加快記憶體的移動,
EX:
A= C + B ;
CPU的動作是
1. 呼叫B位置(1 cycle )
2. 找到 B的位置(2)、呼叫C位置(1)
3. 找到 C的位置(2)
耗時 5 cycle
如果是採用 DMA
則CPU的動作是
1. 呼叫B位置(1 cycle )
2. 找到 B的位置(1)、呼叫C位置(1)
3. 找到 C的位置(1)
耗時 3 cycle
工作原理是採用pipeline
不過跟先前一樣,萬一你的值還沒有存進去就直接讀取 會讀到錯誤的值
但是通常都是採用觸發式讀值,應該是沒有這疑慮~
設定並不困難,在這就不多講解了~XD
留言列表