Lecture 1 - Introduction to ARM assembly language Flashcards

1
Q

What is an embedded system?

A

A device that includes a programable computer, but is not itself a general purpose computer.

A computing system, specialized for only few applications with none (or few) end user programmability, embedded into a larger product

The main purpose of embedded systems are not computing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Name a few examples of embedded systems

A

Washing machine
a car
smart homes
air craft

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Define Cyber-physical systems

A

A term that defines there being a physical world and a digital one.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How are embedded systems connected to the term Cyber-physical?

A

An embedded system observes something in the physical world, and processes information and does computing in the digital one, and based on computation deside how to influence the physical world

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the key design objectives when designing embedded systems

A

Predictability
Dependability
Efficiency

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Define predictability as a design objective for embedded systems

A

It is essential to predict how the CPS (cyber-physical system) will behave under any circumstances and conditions, before the system is deployed. This is due to the fact that the system will influence the physical world, and thereby needs to be safe in any situation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Define efficiency as a design objective for embedded systems

A

CPSs should be energy and run-time efficient, and weight and cost efficient.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Define dependability as a design objective for embedded systems

A

CPSs must operate dependable, safely, securely, efficiently in real time. They must operate as you would expect in any situation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Name properties of embedded systems

A

Reactive
Time constrained
Specialized

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Define reactive-ness as a property of embedded systems

A

As the physical world constantly changes, an embedded system must be highly reactive to these changes.
Must react to stimuli for environment.

The rate of reaction is defined by the rate in which the environment is changing, and the embedded system should be able to keep pace with this rate

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Define time constraint as a property of embedded systems

A

Embedded systems must do computation and action within a certain real-time constraints.
As embedded systems does computations based on real world observations, if the answers arrives too late they would already be wrong as they are would no longer be useful.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Define specialized as a property of embedded systems

A

Embedded systems are sepcialized towards a few applications or domains, and does little less.
Domain knowledge helps optimize design and resource use, maximize predictability etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the differences of embedded- and general purpose systems

A

Embedded systems are specialized and have few applications (these are known at design time). General purpose systems have a broad range of applications. You might not know in advanced what the general computer will be used for, but it should still be able to execute applications and programs as they arrive.

Embedded systems are not programmable by the end user, where as general purpose systems are.

Embedded systems have fixed performance requirements. Additional performance is not necessarily useful. High performance in general purpose systems are useful to allow additional new applications.

Both embedded- and general purpose systems have cost and power consumptions as design criteria. However, when it comes to speed, what matters in embedded systems are the worst case speed, and in GPS are the avarage speed. Embedded systems also need to take into account size, weight and dependability.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Name the 5 stages in the design flow of embedded systems

A

Requirements
Specification (technical details)
Architecture (what are the components, and how are these connected)
Components (design of individual components)
Integration (Connect all components and make them work together)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Define a top-down design

A

When starting at the requirements and working the way to integration.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Define a bottom-up design

A

When implementing a system, sometimes you might realise that the system does not meet the requirements astablished in the beginning.
At this point it is necessary to step through the previous stages to see where an error might have occured. This is a bottom-up approach

17
Q

What happens during the requirement stage of designing embedded systems

A

Functional and non-functional requirements

Functional: What will the system do

Non functional: cost, size, battery life, power

18
Q

What happens during the specification stage of designing embedded systems

A

An unambiguous technical description derived from the requirement. Needs to be detailed enough to design the architecture.

Will be used by the engineer and designer.

19
Q

What happens during the Architecture stage of designing embedded systems

A

A high level overview of the system structure in terms of components needed and their interaction.

20
Q

What happens during the components stage of designing embedded systems

A

Choose or build the components to implement the architecture and meet the specifications.

Can use standard components such as CPU, memory and software libraries.

Custom components such as printed circuit boards, software modules

21
Q

What happens during the integration stage of designing embedded systems

A

The components are put together to make the system work.

22
Q

What are a key challenge during the architecture phase of embedded system design

A

Distributing functionality between software and hardware to meet the competing requirements of cost, performance, power, etc.

23
Q

What are a key challenge during the integration phase of embedded system design

A

Handling unforseen bugs that pop up during integration.
Requires debugging.

Helps using careful component design

24
Q

Name hardware components often used in embedded systems

A

CPU

Memory

I/O devices: because of interaction with physical world

BUS: connects these components

Operating system: not all embedded systems needs an OS

Compiler, assembler, optimizer

Assembly/C code software: Usually used because of performance benefits

25
Q

What is Instruction set architecture (ISA)

A

The interface between hardware and software. Abstracts the hardware implementation details from the programmer.

Defines the processor’s recognizable machine instructions

Defines architecure state, memory management

26
Q

What are micro architectures

A

The same ISA may have different implementations. These implementations are called microarchitectures.

27
Q

What are machine instructions

A

String of binary numbers.
Difficult for humans to understand

28
Q

What are assembly instructions?

A

Symbolic representation of machine instructions.

Easier for humans to understand.

One-to-one mapping between machine and assembly instructions (one assembly instruction usually has only one binary representation).

29
Q

What is a load-store architecture?

A

An ISA where instructions for accessing memory, and operating on data is seperate.

No single instruction can do both memory access and computation

30
Q

What does it mean if an architecture is 64-bit?

A

The majority of instructions operate on 64-bit operands. The operands for an ADD instruction would be represented with 64 bit.

31
Q

What does it mean that instructions are represented using 32-bit?

A

32 bits are used to encode what operation is being performed (the nmemonic, opcode?), where the source operands are and where the result should be put.

32
Q

What are registers?

A

Storage locations within the processor that hold program variable and control state.
Very fast to access.

33
Q

What is endianness?

A

Given a memory address, endianness tells where to find the first byte of a word.

Big-endian: Most significant byte goes to the smallest memory address.

Memory:
OA: address a
OB: address a + 1
OC. address a + 2
OD: address a + 3

Little-endian: Least significant byte goes to the smallest memory address.

Memory:
OD: address a
OC: address a + 1
OB. address a + 2
OA: address a + 3