Changes between Version 11 and Version 12 of Component/Vci Xcache Wrapper


Ignore:
Timestamp:
Aug 25, 2008, 6:31:39 PM (16 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Component/Vci Xcache Wrapper

    v11 v12  
    6161
    6262The Vcache and CC_Vcache components implement a generic MMU, that can be used by all the single instruction issue 32 bits processors available in the SoCLib platform.
    63 
    64 The generic MMU defines 10 registers, that can be accessed by the software ttrough the generic cache/proccessor interface defined
    65 :|| PTPR     || set Page Table Pointer Register   || Write |||| TLB_EN         || activates Data & Instruction TLBs  || Write || || ICACHE_FLUSH || flush Instruction Cache         || Write |||| DCACHE_FLUSH || flush Data Cache         || Write |||| ITLB_INVAL || Instruction TLB line invalidate || Write |||| DTLB_INVAL || Data TLB line invalidate         || Write |||| ICACHE_INVAL || Instruction Cache line invalidate|| Write |||| DCACHE_INVAL || Data Cache line invalidate|| Write |||| BAD_VADDR || Bad Virtual Address Register   || Read |||| ERR_TYPE         || Exception type Register || Read ||In the Vcache and CC_Vcache components, the cachability (for both instruction & data accesses) can be defined by software - on a per-logical-page basis) through the cacheability
     63This MMU performs both the logical address to physical address translation, and access rights checking.
     64 * The logical address is 32 bits.
     65 * The Physical address is 36 bits (or less).
     66 * It is implemented as a two level, hierarchical, page table.
     67 * Both first & second level page table contains 1024 entries.
     68 * Two page sizes are supported : 4 Kbytes, or 4 Mbytes.
     69 * Two separated TLBs are iused for instruction and data addresses.
     70 * The TLB misses are handled by hardware (hardwired table-walk).
     71 * An execution context is defined by the value stored in the PTPR (Page Table Pointer Register).
     72 * Any context switch flush both the instruction & data TLBs.
     73
     74The page page descriptor format is 32 bits:
     75
     76||ET ||  Entry Type                                            || 2 bits  ||
     77||C   || Cachable                                               || 1 bit    ||
     78||W  || Writable                                                 || 1 bit    ||
     79||X   || eXecutable                                            || 1 bit    ||
     80||U   || User 'access in user mode allowed  || 1 bit    ||
     81||G   || Global (not invalidate by TLB flush  || 1 bit    ||
     82||D   || Dirty  (page has been modified)       || 1 bit    ||
     83||PPN||Physical Page Number                        || 24 bits ||
     84
     85The generic MMU defines 10 registers, that can be accessed by the software ttrough the generic cache/proccessor interface defined in source:root/trunk/soclib/soclib/lib/iss2/include/iss2.h
     86
     87|| PTPR                   || set Page Table Pointer Register     || Write ||
     88|| TLB_EN               || activates Data & Instruction TLBs  || Write ||
     89|| ICACHE_FLUSH  || flush Instruction Cache                   || Write ||
     90|| DCACHE_FLUSH || flush Data Cache                              || Write ||
     91|| ITLB_INVAL         || Instruction TLB line invalidate       || Write ||
     92|| DTLB_INVAL       || Data TLB line invalidate                  || Write ||
     93|| ICACHE_INVAL  || Instruction Cache line invalidate   || Write ||
     94|| DCACHE_INVAL || Data Cache line invalidate             || Write ||
     95|| BAD_VADDR      || Bad Virtual Address Register         || Read ||
     96|| ERR_TYPE           || Exception type Register                  || Read ||
     97
    6698In the Vcache and CC_Vcache components, the cachability (for both instruction & data accesses) can be defined
    6799by software - on a per-logical-page basis) through the cacheability attribut contained in each page descriptor.