Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CS 220 / ARM / ARM1176JZ-S Technical Reference Mmanual.pdf
Источник:
Скачиваний:
45
Добавлен:
16.04.2015
Размер:
4.47 Mб
Скачать

Programmer’s Model

2.7Addresses in a processor system

Three distinct types of address exist in the processor system:

Virtual Address (VA)

Modified Virtual Address (MVA)

Physical Address (PA).

When the core is in the Secure world the VA is Secure, and when the core is in the Non-secure world the VA is Non-secure. To get the VA to PA translation, the core uses Secure pages tables while it is in Secure world. Otherwise it uses the Non-secure page tables.

Table 2-3 lists the address types in the processor system.

Table 2-3 Address types in the processor system

Processor

Caches

TLBs

AXI bus

 

 

 

 

Virtual Address

Virtual index Physical tag

Translates Virtual Address to

Physical Address

 

 

Physical Address

 

 

 

 

 

This is an example of the address manipulation that occurs when the processor requests an instruction, see Figure 1-1 on page 1-8:

1.The VA of the instruction is issued by the processor, Secure or Non-secure VA according to the world where the core is.

2.The Instruction Cache is indexed by the lower bits of the VA. The VA is translated using the ProcID, Secure or Non-secure one, to the MVA, and then to PA in the Translation Lookaside Buffer (TLB). The TLB performs the translation in parallel with the Cache lookup. The translation uses Secure descriptors if the core is in Secure world. Otherwise it uses the Non-secure ones.

3.If the protection check carried out by the TLB on the MVA does not abort and the PA tag is in the Instruction Cache, the instruction data is returned to the processor.

4.The PA is passed to the AXI bus interface to perform an external access, in the event of a cache miss. The external access is always Non-secure when the core is in Non-secure world. In Secure world, the external access is Secure or Non-secure according to the NS attribute value in the selected descriptor.

ARM DDI 0333H

Copyright © 2004-2009 ARM Limited. All rights reserved.

2-16

ID012410

Non-Confidential, Unrestricted Access

 

Programmer’s Model

2.8Operating modes

In all states there are eight modes of operation:

User mode is the usual ARM program execution state, and is used for executing most application programs

Fast interrupt (FIQ) mode is used for handling fast interrupts

Interrupt (IRQ) mode is used for general-purpose interrupt handling

Supervisor mode is a protected mode for the OS

Abort mode is entered after a data abort or prefetch abort

System mode is a privileged user mode for the OS

Undefined mode is entered when an undefined instruction exception occurs.

Secure Monitor mode is a Secure mode for the TrustZone Secure Monitor code.

Note

Secure Monitor mode is not the same as monitor debug mode.

Modes other than User mode are collectively known as privileged modes. Privileged modes are used to service interrupts or exceptions, or to access protected resources. Table 2-4 lists the mode structure for the processor.

Table 2-4 Mode structure

Modes

Mode

State of core

 

 

 

type

NS bit = 1

NS bit = 0

 

 

 

 

 

 

 

User

User

Non-secure

Secure

 

 

 

 

FIQ

privileged

Non-secure

Secure

 

 

 

 

IRQ

privileged

Non-secure

Secure

 

 

 

 

Supervisor

privileged

Non-secure

Secure

 

 

 

 

Abort

privileged

Non-secure

Secure

 

 

 

 

Undefined

privileged

Non-secure

Secure

 

 

 

 

System

privileged

Non-secure

Secure

 

 

 

 

Secure Monitor

privileged

Secure

Secure

 

 

 

 

ARM DDI 0333H

Copyright © 2004-2009 ARM Limited. All rights reserved.

2-17

ID012410

Non-Confidential, Unrestricted Access

 

Соседние файлы в папке ARM