Weekend Sale - Limited Time 70% Discount Offer - Ends in 0d 00h 00m 00s - Coupon code: sntaclus

During an investigation into a software performance problem an engineer doubles the clock frequency of a cached ARM processor running the software. Unfortunately the performance of the application does not increase by very much, despite running on the processor for 100% of the time. What is likely to be the main bottleneck in the system?

A.

The processor is context switching between multiple processes

B.

Performance is limited by the speed of external memory

C.

The processor is taking too long to execute branch instructions

D.

The system is raising interrupts too fast for the processor to handle them

Which of the following is TRUE for dynamically linked executables?

A.

They can contain unresolved relocations

B.

They contain the code and data for all libraries they use

C.

They are larger than an equivalent statically linked application

D.

They are designed to be run standalone with no other supporting software

Which of the following is an external exception?

A.

Supervisor Call

B.

FIQ

C.

Undefined Instruction

D.

Parity

An advantage of removable flash memory over built-in flash memory is that:

A.

Storage can be easily replaced, for example to increase capacity.

B.

It is quicker to access, providing far greater bandwidth for read operations.

C.

It has a longer life, indicated by being rated for a higher number of write cycles.

D.

It takes up less physical space in a device, and does not require any space on the printed circuit board.

An ARM processor connected to a Generic Interrupt Controller (GIC) is handling an active interrupt 11. A new interrupt 12 that is received at the GIC is forwarded to the processor, and the active interrupt 11 is preempted. Which of the following possible values of 11's priority (P1), 12's priority (P2) and the processor’s priority mask (PM) permit this to happen? Assume there are 256 priority levels implemented.

A.

P1 = 0x0F, P2 = 0x10, PM = 0xFF

B.

P1 = 0x10, P2 = 0x0F, PM = 0xFF

C.

P1 =0x0F, P2 = 0x10. PM = 0x0

D.

P1 = 0x10, P2 = 0x0F, PM = 0x0

Assume a multicore processor with coherency management based on the MESI protocol. When a core changes the contents of a shared cache line, what is the final status of that line in the local cache?

A.

Modified

B.

Exclusive

C.

Shared

D.

Invalid

Under which of the following circumstances would a DSB instruction be used?

A.

In a multi-threaded system, when two threads need to be synchronized at a particular point

B.

When accessing a peripheral, it is necessary to halt until the memory access is complete

C.

When it is necessary to temporarily disable interrupts while carrying out a particular memory access

D.

In a multiprocessor system, when it is necessary to halt one of the cores while the other completes a critical task

In an ARMv7-A system, the following C function calculates a simple checksum for an input data packet of variable length. The checksum is defined to be the sum of all of the 16-bit data items in the packet modulo 65536. The parameter data_items contains the number of 2-byte data items in the packet, and it cannot be zero by design.

When using an ARM compiler, which TWO of the following optimizations could improve the performance of this code? (Choose two)

A.

Use a do/while loop instead of a for loop

B.

Change the type of sum to be an unsigned short

C.

Change the type of i to be an unsigned int

D.

Use signed variables instead of unsigned variables

E.

Declare sum as a global variable

When debugging an embedded Linux system, which one of the following techniques can be used to halt a single user thread, while allowing other threads to continue to run during the debug process?

A.

Halting a single user thread in an embedded Linux system is not possible

B.

Use the Linux kernel printk() function to output messages to the console

C.

Connect a Linux-aware JTAG debugger to the target, which allows single-stepping of the code

D.

Connect a debugger running on an external host device to an instance of gdbserver running on the target, using Ethernet

The Cortex-A9 processor has 6 breakpoint units and 4 watchpoint units. What is the maximum number of breakpoints the debugger can set on code in ROM?

A.

6

B.

10

C.

2

D.

The debugger can use the BKPT instruction to do this.