Summer Special Limited Time 65% Discount Offer - Ends in 0d 00h 00m 00s - Coupon code: exc65

An interrupt handler contains the following instruction sequence at the end. The purpose of these instructions is to clear the interrupt request in the interrupt controller and then safely re-enable interrupts.

STR r0, [r1] ; write to interrupt controller register to clear interrupt request

CPSIE i ; re-enable IRQ interrupts

Which of the following instructions should be placed at position in order to ensure that the interrupt controller sees the write before interrupts are re-enabled?

A.

DMB

B.

DSB

C.

ISB

D.

NOP

In a Cortex-A9 MPCore cluster with four processors, which of the processors can be interrupted by a software-generated interrupt?

A.

Any processor in the cluster

B.

Only the processor raising the software-generated interrupt

C.

Only processors outside the cluster

D.

Any processor except the one raising the software-generated interrupt

Within the ARMv7 architecture, which one of the following features is unique to the ARMv7-A profile?

A.

Cache support

B.

Privileged execution

C.

The ARM instruction set

D.

Virtual memory support

The following C function is compiled with hard floating point linkage.

float function(int a, float b, int c, float d);

Which register is used to pass argument c?

A.

R0

B.

R1

C.

R2

D.

R3

Literal pool loads to access constants at run-time can be minimized by:

A.

Ensuring constants can be encoded as immediates in the current instruction set.

B.

Storing the code in ROM.

C.

Using Thumb code rather than ARM code.

D.

Compiling and linking as position-independent code.

Clicking the Start button in a debugger:

A.

Begins processor execution.

B.

Resets the processors.

C.

Erases existing breakpoints.

D.

Puts the processor(s) into debug state.

According to the AAPCS, how many bytes are used to store a C variable of type 'int' in memory?

A.

1 byte

B.

2 bytes

C.

4 bytes

D.

8 bytes

In a multi-processor system, there are four processors numbered 0, 1, 2 and 3. The state of the processors is as follows:

    CPU 0 and 1 are sleeping in low-power state following a WFI instruction. . CPU 2 is executing program code.

    CPU 3 is sleeping in low-power state following a WFE instruction.

CPU 2 executes a SEV instruction. What is the effect on the system?

A.

CPU 0: executing, CPU 1: executing, CPU 2: executing. CPU 3: executing

B.

CPU 0: executing, CPU 1: executing. CPU 2: executing. CPU 3: sleeping

C.

CPU 0: sleeping, CPU 1: sleeping. CPU 2: executing. CPU 3: executing

D.

CPU 0: sleeping, CPU 1: sleeping. CPU 2: sleeping, CPU 3: executing

Which of the following features was added in version 2 of the ARM Architecture Advanced SIMD extensions?

A.

Additional quadword registers

B.

Support for double precision floating-point arithmetic

C.

Fused Multiply-Accumulate (Fused MAC) instructions

D.

Support for polynomials

The Cortex-A9 processor implements a feature called "small loop mode" which reduces power consumption when executing small loops by turning off instruction cache accesses. Which of the following statements describes a condition that must be satisfied for this mode to be enabled?

A.

The loop must fit into two cache lines

B.

The loop must only contain forward branches

C.

Only integer arithmetic can be used

D.

All variables must be held in registers