This preview shows page 1. Sign up to view the full content.
Unformatted text preview: inition Region priorities 298 Architectural Support for Operating Systems Table 11.2 Protection unit region size encoding. Rd[5:l] 01011 01100 01101 Region size 4 Kbytes 8 Kbytes 16 Kbytes 32 Kbytes 5 12 Mbytes 1 Gbyte 2 Gbytes 4 Gbytes 01110
11100 11101 11110 111 11 The restriction on the start of a region, which must be a multiple of its size, means that checking whether or not an address falls within a region is simply a matter of comparing some number (up to 20) of the most significant bits of the address against the corresponding bits of the region start address. If they match, the address falls inside that region. If they don't match, the address falls outside the region. No addition or subtraction is required, so the process can be fast. The organization of the protection unit is therefore as shown in Figure 11.2 on page 299. In this illustration region 0 cover the complete 4 Gbyte address space and therefore all addresses fall into it. Regions 1, 2 and 4 are 4 Kbytes, and regions 3, 6, 7 and 5 have increasing sizes. The example address falls in regions 0, 3 and 6 (as denoted by the black arrows), so the priority encoder selects the attributes for the highest priority region, region 6. If an address does not fall into any enabled region the protection unit will generate an abort. Harvard cores ARM cores that use a Harvard architecture (such as the ARM940T) have separate protection units on their instruction and data ports, so they have a total of 16 regions. 11.5 CP15 MMU registers
The MMU register structure is illustrated in Table 11.3 on page 299. The registers are read and written using the CP15 instruction shown in Figure 11.1 on page 294, with CRn specifying the register to be accessed. In detail, the register functions are as shown on page 300. CP15 MMU registers 299 300 Architectural Support for Operating Systems Bits [3:0] contain a revision number, bits [15:4] contain a 3-digit part number in Register 0 (which is read-only) returns identification information. binary-coded decimal, bits [23:16] contain the architecture...
View Full Document
- Spring '09