Lecture 1 -- Introduction to embedded systems Flashcards

1
Q

What is an embedded system?

A

It is a **computing system **that does a specific, dedicated task inside a machine or larger electrical system, hence the name embedded since its embedded inside something larger.
It often has real-time computing constraints. This computing system is a combination of computer hardware and software (either fixed in capability or programmable, designed for a specific function or functions within a larger system)

Test4

Computing system
Specific, dedicated task,
Real-time computing constraint
Within Larger system

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

What is an embedded system?

A
  • It is a computing system that does a (specific, dedicated) task inside a machine or larger electrical system, hence the name embedded since its embedded inside something larger. It often has real-time computing constraints.
  • This computing system is a combination of computer hardware and software (either fixed in capability or programmable, designed for a specific function or functions within a larger system)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

When people say embedded systems, what might it mean?

A

When people talk about embedded systems, sometimes they are referring to IOT or CPS (Cyber Physical Systems)

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

What differentiates Embedded Systems from General Purpose Computers

A
  1. Operating Systems
  2. ADC
  3. Resource constraints
  4. Does one thing and one thing only
  5. Ability to connect to the analogue world.

For example, Raspberry pico has no OS, has an ADC and is resource constrained. Raspberry Pi on the other hand has an OS, has no ADC and is not resource constrained.
(What aobut does one thing and one thing only?)
(Are PCs, laptops, servers general purpose or embedded?)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q
  • Is the human world analogue and continuous? Or digital and discrete?
A

The human world is analogue and continuous

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

Is the computer world analogue and continuous? Or digital and discrete?

A

The computer world is digital and discrete

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q
  • Do embedded systems use analogue or digital?
A

Embedded systems must use a mix of analogue and digital electronics to represent the corresponding signals.

One of the key features of embedded systems is its ability to connect to the analogue world.

Difference between general purpose and embedded, also ADC. (Only embedded systems have that)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

There are 6 properties

What are the properties of embedded systems?

A
  • They are an **embedded or integral **part of a device, often including hardware and electromechanical parts.
  • They are dedicated to handle **specific **tasks that are known and assigned to them at design-time.
  • They use sensors (input) and actuators (output) to interact with the real world.
  • They have strict timing constraints (deadlines) due to their interaction with the physical world in a safety-critical environment. (General purpose might not be able to manage strict deadlines, but embedded systems will be able to)
  • They use limited resources(e.g. memory, processing power, power, etc.) compared to general-purpose computers.
  • They are based on microcontrollers (i.e. CPUs with integrated memory and / or peripheral interfaces)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is real-time?

A

Real-time is the ability to service a request on time. if deadline is 1 second, i take 1 second, i am able to meet the constraint.

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

What is a real-time system? (System with real-time constraints)

A

A real-time system is one in which the correctness of the application depends on both their functional and temporal results (the time at which the result is produced). In other words, a late answer is a wrong answer.

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

How do we classify real-time systems?

A

Consequences of tasks missing their deadlines help to classify real-time systems.

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

What are the 3 different classifications of a real-time system?

A
  • Non real-time constraints
    • What are the properties of Non real-time constraints?
      • Tasks have no deadlines
      • A late response usually does not significantly affect the performance and functionality
      • A late response causes no danger
      E.g., TV remote control, lawn sprinkler, window lifter.
  • Soft real-time constraints
    • What are the properties of Soft real-time constraints?
      • Tasks are allowed to miss deadlines occasionally
      • A late response can degrade the system performance
      • A missed deadline causes no significant danger
      E.g., mobile phone, air-conditioning, refrigerator
  • Hard real-time constraints
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the difference between a microcontroller and a microprocessor?

A
  • A microcontroller CONTAINS a microprocessor.
  • In addition to that, microcontroller has other things like flash, RAM, timers, other IO and more. A microcontroller is like a mini-PC.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is the difference between SOC and microcontroller?

A
  • SOC is kind of like a microcontroller, but it has more complex peripherals.
  • We have a GPU within the chip itself.
  • It has specific ASICs on the chip itself.
  • It basically has more complex add ons.
  • You can think of it as like a microcontroller on sterioids.
  • It has more advanced components and modules inside.
  • It typically has more COREs, bigger flash and RAMs.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What device typically uses SOCs?

A

Mobile phones

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

What is a FPGA?

A
  • A FGPA stands for field programmable gate array.
  • It is like a blank sheet of paper. Imagine we could design microcontrollers and microprocessors the way you want it to be, basically you want it tailored to you.
  • If you cannot find the perfect chip, then you can find an FPGA.
  • It is basically a blank chip where you can program it to do anything you want on it. You can put in a SoC, MC, MP. In a way you are designing a processor in software and installing it in the FPGA.
17
Q

What are the pros and cons of FPGA?

A

CONS
- Expensive
- Hard to use
- Power hungry compared to other chips
Pros
- Distinct advantage for data-driven and fine-grained parallel computations

18
Q

Briefly explain what Graphics Processing Unit (GPU) is and what its good for.

A

How it works
GPU is good as when you take an image, you need to run algorithm on every single pixel. If you use a CPU (8 core) then it means that you can at most manage 8 pixels at any one time. Even if the algo is a simple algo, you can only run 8.

So what they did is they simplify the core, such that they can only do what they require them to do most of the time in GPUs which is specific simple algorithms but then they scale it up in terms of quantity.

What its good for
- And that’s what GPU is about. Its just having a lot of cores that does simple processing. That is why they are good at image or video processing* due to the fact that it can handle way more pixels at one time. That is the purpose of GPU.*

  • GPU is also used for **machine learning/training. **This is true as a lot of these simple algorithms have to be done concurrently although the calculation is simple and that is where GPUs are used in AI.
19
Q

What is the ‘Typical’ Product Development Process?

A
  1. analyse problem – come up with specifications and constraints
  2. high level design – come up with UML, data flow diagram based on specifications and constraints
  3. engineering design – produce call graph, data structures, i/o interfaces
  4. implementation – start writing algorithms, logics and stuff
  5. test – worry about whether hardware, code are okay anot, test.
  6. if error, repeat 1-5, else DEPLOY.
20
Q
A