|
基本上是:
CPU 內(nèi)部RAM > 外部同步RAM > 外部異步RAM > FLASH/ROM
對(duì)于程序代碼,已經(jīng)被燒錄在FLASH 或ROM 中,我們可以讓CPU 直接從其中讀取代碼執(zhí)行,但通常這不是一個(gè)好辦法,我們最好在系統(tǒng)啟動(dòng)后將FLASH 或ROM 中的目標(biāo)代碼拷貝入RAM 中后再執(zhí)行以提高取指令速度;
對(duì)于UART 等設(shè)備,其內(nèi)部有一定容量的接收BUFFER,我們應(yīng)盡量在BUFFER 被占滿(mǎn)后再向CPU 提出中斷。例如計(jì)算機(jī)終端在向目標(biāo)機(jī)通過(guò)RS-232 傳遞數(shù)據(jù)時(shí),不宜設(shè)置UART 只接收到一個(gè)BYTE 就向CPU 提中斷,從而無(wú)謂浪費(fèi)中斷處理時(shí)間;
如果對(duì)某設(shè)備能采取DMA 方式讀取,就采用DMA 讀取,DMA 讀取方式在讀取目標(biāo)中包含的存儲(chǔ)信息較大時(shí)效率較高,其數(shù)據(jù)傳輸?shù)幕締挝皇菈K,而所傳輸?shù)臄?shù)據(jù)是從設(shè)備直接送入內(nèi)存的(或者相反)。DMA 方式較之中斷驅(qū)動(dòng)方式,減少了CPU 對(duì)外設(shè)的干預(yù),進(jìn)一步提高了CPU 與外設(shè)的并行操作程度。
|
|