cpu對各種儲存器的訪問速度基本上是:
cpu 內部ram > 外部同步ram > 外部非同步ram > flash/rom
(1)對於程式**,已經被燒錄在flash 或rom 中,我們可以讓cpu 直接從其中讀取代
碼執行,但通常這不是乙個好辦法,我們最好在系統啟動後將flash 或rom 中的目標代
碼拷貝入ram 中後再執行以提高取指令速度;
(2)對於uart 等裝置,其內部有一定容量的接收buffer,我們應盡量在buffer 被佔
滿後再向cpu 提出中斷。例如計算機終端在向目標機通過rs-232 傳遞資料時,不宜設定
uart 只接收到乙個byte 就向cpu 提中斷,從而無謂浪費中斷處理時間;
(3)如果對某裝置能採取dma 方式讀取,就採用dma 讀取,dma 讀取方式在讀取目標
中包含的儲存資訊較大時效率較高,其資料傳輸的基本單位是塊,而所傳輸的資料是從裝置
直接送入記憶體的(或者相反)。dma 方式較之中斷驅動方式,減少了cpu 對外設的干預,
進一步提高了cpu 與外設的並行操作程度。
記憶體對其加速cpu訪問速度原理
記憶體對齊問題是每乙個c程式設計師都應該考慮過的問題,c編譯器的規則明確規定了對齊問題,就是乙個struct中按照最長的型別對齊,比如考慮下面的結構體 struct abc char a int b char c 在32位x86機器上它的大小是多少呢?是12,為什麼呢?因為該結構體中最長的型別是in...
通過矩陣乘法看記憶體訪問對CPU運算速度的影響
關於intel c 編譯器和visual c 編譯器的差異塊可見 intel和microsoft c 編譯器在矩陣乘法測試例子中執行時間的差異 從速度上考量這裡僅測試intel c 編譯器的情形。矩陣乘法有普通的按定義的方法和塊方法,測試結果表明後者可達到前者的兩倍速度。速度和 通過加法運算看記憶體...
各種儲存器的介紹
儲存器分為兩大類 ram和rom。ram就不講了,今天主要討論rom。rom最初不能程式設計,出廠什麼內容就永遠什麼內容,不靈活。後來出現了prom,可以自己寫入一次,要是寫錯了,只能換一片,自認倒霉。人類文明不斷進步,終於出現了可多次擦除寫入的eprom,每次擦除要把晶元拿到紫外線上照一下,想一下...