# Lernkarten

Subhan Waizi
Karten 38 Karten 2 Lernende English Grundschule 12.05.2016 / 16.06.2017 Keine Angabe
0 Exakte Antworten 38 Text Antworten 0 Multiple Choice Antworten

What are some advantages of using multi-core processors?

• can exploit different types of parallelism leading to higher performance
• can exploit different and more energy efficient types of cummunication mechanisms for inter-processor communication
• simpler cores can lead to more speed
• simper cores make testing and verification easier and thus allow both faster time-to-market and higher yield which results in lower cost

Briefly describe the principles of the ARM big.LITTLE architecture and comment on its main advantages.

ARM big.LITTLE is a heterogeneous computing architecture which couples slower, low-power processor cores with more powerful and power-hungry ones. The original big.LITTLE comprises the Cortex-A7 processor with its more powerful but architecturally compatible counterpart Cortex-A15. The latest Cortex processors, A53 and A57 cores, are also compatible with each other to allow their use in a big.LITTLE chip.

The main advantage is to create a multi-core processor that can adjust better to dynamic computing needs and use less power than clock scaling alone. Big.LITTLE employsheterogeneous multi-processing (MP), which enables the use of all physical cores at the same time. Threads with high priority or computational intensity can in this case be allocated to the 'big' cores while threads with less priority or less computational intensity, such as background tasks, can be performed by the 'LITTLE' cores.

In terms of higher-level programming the advantage is clearly that the big.LITTLE architecture is transparent to the programmer. This means that the programmer does not need to take care of different cores and how to assign tasks to them, but this will be done automatically at a lower level.

What are the three instruction types/formats for the MIPS architecture?

Lizenzierung: Keine Angabe

The formats are R, I and J - instructions. They all start with a 6-bit operation code.

• R instructions can be used for normal ALU arithetic functions where you specify two operands and a destination register for the result
• I instructions can be used for memory access instructions where you specify a destination and (base-address + immediate) for the RAM address. The destination is either the data that should be stored into the RAM or the source register of the data that has been loaded from the RAM
• J instructions are mainly for jump imstructions with a 26-bit immediate field

Translate following while-loop into picoMIPS assembly:

$$while(i\leq n)\{a+= a; i++;\}$$

Lizenzierung: Keine Angabe

See figure

Write area efficient code two add two 8-bit input operands.

Lizenzierung: Keine Angabe

Note sign-extension!

What is the difference between carry and overflow?

Lizenzierung: Keine Angabe

Carry is generally used for unsigned arithmetic, whereas overflow is used for signed arithmetics.

How do you detecct an overflow in a 8-bit signed addition / subtraction?

Lizenzierung: Keine Angabe

see figure

State and explain common picoMIPS instructions.

J <address>: Set program counter to address

JAL <subroutine address>: Set program counter to subroutine address, store PC+1 into %31

JR reg: Jump to address which is content of register reg (for example JR %31 as return after JAL)

MULT %s, %d: Calculate %s = %s * %d

ADDI %d, %s, immediate: Calculate %d = %s + immediate

LDI %s, immediate: Psuedo instruction that gets translated to ADDI %d, %0, imm

LW %d, %s, imm: Load ram[%s+imm] into register %d

SW %d, %s, imm: Store context of register %d into ram[%s+imm]