<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x
    查看: 3934|回復: 0
    打印 上一主題 下一主題

    S3C2410 MMU&CACHE&BUF&SWI&TLB

    [復制鏈接]
    跳轉到指定樓層
    樓主
    發表于 2010-10-26 17:40:12 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
    關鍵詞: amp , Cache , MMU , SWI , TLB
    附件的代碼是在廣嵌的GEC2410V1.1上調試通過的。主要程序說明:1、MMUGEN.C,根據MMU.DEF產生TTB數據2、MMU.C,完成MMU的初始化3、SWI.S,SWIC.C,方便的添加SWI功能。4、LED_C.C:跑馬燈程序。5、KeyScan.c,按鍵處理程序。6、ULINK2.INI,少了這個初始化文件,MDK不能把FLASH燒寫算法加載到SDRAM.7、RUNINRAM.SCT,分散鏈接加載文件。   1、使能ICACHE時,速度快N1倍
    2、使能DCACHE時,速度快N2倍
    3、MMU禁止時,ICACHE可以使能,此時全部地址都有ICACHE功能。
    4、MMU禁止時,DCACHE不可以使能,全部地址都沒有DCACHE.
    5、MMU使能時,ICACHE,DCACHE根據CP15的C,B使能位和描述符中的C,B位確定。
    6、對于必須嚴格按照程序的順序執行的地址(如I/O),不能用CACHE和WRITE BUFFER,否則產生時序錯亂。TLB:
    1、TLB包含的信息有:1)虛擬頁號 2)物理頁號 3)頁SIZE(1K,4K,16K,64K,1M),頁訪問屬性,4)TLB有效位
    2、當(AP0,AP1,AP2,AP3)不完全一致時,只有當前選中的一個子頁被填入TLB,分別為1K(1/4小頁)或16K(1/4大頁)。
    3、當(AP0,AP1,AP2,AP3)完全一致時,整個大頁(64K)或整個小頁(4K)被填入TLB
    4、當TTB的內容改變時,必須要清除相應的TLB項,以保證新的TTB項能被填入TLB.
    5、MMU直接從C2對應的物理基地址去讀取TTB的描述符,不會經過VA-PA轉換,也就不會用到CACHE中的數據,所以如果程序需要改變TTB的內容,
       TTB相關地址不能設置成WRITE-BACK,只能使用WRITE-THROUGH,保證TTB的內容能實時更新。

    GEC2410_EINT.rar

    369.92 KB, 下載積分: 積分 -1

    您需要登錄后才可以回帖 登錄 | 立即注冊

    本版積分規則

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷