Black Friday Special Sale - Limited Time 70% Discount Offer - Ends in 0d 00h 00m 00s - Coupon code: mxmas70

Home > ARM > AAE > EN0-001

EN0-001 ARM Accredited Engineer Question and Answers

Question # 4

What is the value of r0 after executing the following instruction sequence?

MOV r0, #200

MOV r5, #1

STR r3, [r0, r5, LSL#3]!

A.

200

B.

201

C.

204

D.

208

Full Access
Question # 5

When linking with the standard C library, which library functions MUST be redefined in order to port your code to a new piece of production hardware?

A.

Functions that are not compliant with the ISO C library standard

B.

Functions that are not compliant with the 1985 IEEE 754 standard for binary floating-point arithmetic

C.

Target-dependent functions which use semihosting

D.

Functions called implicitly by the compiler

Full Access
Question # 6

In general, when programming in C, stack accesses will be reduced by:

A.

Disabling inlining.

B.

Never passing more than four parameters in function calls.

C.

Declaring automatic variables as "packed".

D.

Configuring the compiler to optimize for space.

Full Access
Question # 7

The following pair of functions implement a simple mutex spinlock which might be used to protect a critical code section in a multi-threaded application. The address of the lock variable is in r0.

In order to minimize power while waiting for the lock to be available. SEV and WFE instructions can be used to place the processor in a low power state while waiting for the lock to become available. At which points should these instructions be placed?

Question # 8

Which of these items is typically shared between threads running in the same Operating System (OS) process?

A.

Stack

B.

Memory map

C.

Register values

D.

Program Counter

Full Access
Question # 9

Which of the following properties is a required characteristic of a Symmetric Multiprocessing (SMP) system?

A.

All processors have the same view of memory

B.

An even number of processors is included

C.

All processors run in the same power state

D.

All processors switch between operating system tasks in lock-step

Full Access
Question # 10

When a linker is removing unused sections during a static link (for example, -remove or -gc-sections), it finds the sections to keep by following all relocations starting from:

A.

The entry point(s).

B.

The function named 'main'.

C.

All local functions and variables.

D.

The reset vector.

Full Access
Question # 11

Which power mode describes the state where the ARM processor is powered down, but its Level 1 caches remain powered?

A.

Run mode

B.

Dormant mode

C.

Standby mode

D.

Shutdown mode

Full Access
Question # 12

For Cortex-A series cores, what instruction(s) are recommended to implement a mutex or semaphore?

A.

SWP and SWPB

B.

DSB and ISB

C.

LDREX and STREX

D.

DMB

Full Access
Question # 13

In which of these cases would code have better performance when compiled for Thumb state than when compiled for ARM state?

A.

When the processor has no data cache

B.

When the code involves many shifting operations

C.

When the code has many conditionally executed instructions

D.

When the processor can only fetch instructions 16-bits at a time

Full Access
Question # 14

How many bytes of stack are needed to pass parameters when calling the following function?

int foo( short arg_a, long long arg_b, char arg_c, int arg_d )

A.

0

B.

4

C.

8

D.

15

Full Access
Question # 15

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

Full Access
Question # 16

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

Full Access
Question # 17

Which of these processors is only available as a single core configuration?

A.

Cortex-A5

B.

Cortex-A8

C.

Cortex-A9

D.

Cortex-A15

Full Access
Question # 18

On an ARM processor that does not implement Security Extensions, which one of the following can be the starting address of the exception vector table?

A.

0xFFFFFFFF

B.

0xFFFFFFF0

C.

0xFFFF0000

D.

0x0000FFFF

Full Access
Question # 19

To ensure optimum efficiency when programming in C, what is the recommended maximum number of arguments to be passed to a function?

A.

1

B.

4

C.

7

D.

8

Full Access
Question # 20

In a symmetric multi-processing (SMP) software architecture, which of the following pairs of statements are TRUE? (Select the option in which BOTH statements are TRUE).

A.

The roles of individual cores are determined dynamically. Each core has its own set of external peripherals.

B.

Each core has the same view of memory and shared peripherals. Any user application, process or task can be scheduled to run on any core.

C.

The roles of individual cores are statically determined by the system designer. Hardware must be implemented to provide cache coherency between the cores.

D.

Each core has the same view of memory and peripherals. The roles of individual cores are statically determined by the system designer.

Full Access
Question # 21

What are the values of the NZCV bits in the CPSR after executing the following instructions?

LDR R0, = 0xFFFFFFFF

ADDS R0, R0, #1

A.

0101

B.

0110

C.

1001

D.

1010

Full Access
Question # 22

When should an ISB instruction be used?

A.

When executing a long branch

B.

When clearing the branch predictor caches

C.

When reading a register from a coprocessor

D.

When returning from an exception handler

Full Access
Question # 23

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

Full Access
Question # 24

When developing a product using the standard ARM C library, what is the minimum effort required to re-target all platform-specific functions in the library?

A.

Replace all functions which use semi-hosting

B.

Locate the stack in an area of RAM

C.

Set the locale variable appropriately

D.

All functions in the standard library must be rewritten

Full Access
Question # 25

In an experiment, the time taken for an application to complete a given task is measured using a stopwatch. Which THREE of the following make up the total time? (Choose three)

A.

The time spent waiting for I/O operations

B.

The time taken to download the program via the debugger

C.

The time taken for memory accesses

D.

The time taken for the CPU to execute instructions

E.

The time taken to compile the source code

F.

The time taken to perform instruction tracing

Full Access
Question # 26

Which of the following is an advantage of the single-step debug technique?

A.

It allows a complete trace of real-time program execution to be captured

B.

It reduces the number of pins required to connect the debugger to the processor

C.

It allows examination of the system state before and after execution of a statement

D.

It requires only one change to the program source code

Full Access
Question # 27

According to the AAPCS, which of the following statements is TRUE with regard to preservation of register values by a function?

A.

A function must preserve R0-R3 and R12

B.

A function must preserve R4-R11 andR13

C.

No registers may be corrupted by any function

D.

All registers may be corrupted by any function

Full Access
Question # 28

In an ARMv7-R processor, with which level of the memory system is the Memory Protection Unit (MPU) associated?

A.

Level 1

B.

Level 2

C.

Level 3

D.

Level 4

Full Access
Question # 29

What type of instruction is used for cache maintenance operations?

A.

Dedicated ARM instructions

B.

Dedicated Thumb instructions

C.

CP14 instructions

D.

CP15 instructions

Full Access
Question # 30

A 32KB 4-way set associative instruction cache supports a cache line size of 64 bytes. How many bits are required to index a cache line in a way?

A.

6 bits

B.

7 bits

C.

9 bits

D.

15 bits

Full Access
Question # 31

An external debugger would need to clean the contents of the processor data cache in which of the following cases?

A.

When it changes the contents of ARM registers (r0-r15)

B.

When it displays the contents of an area of cacheable data

C.

When it displays the contents of an area of cacheable code

D.

When it sets a software breakpoint

Full Access