Introduction

In this course of introduction of the embedded system we will define what is a microsystem and what is the rules which define it.

What is an Embedded System?

An embedded system is defined as an autonomous electronic and computing system, specialized on a specific task. This is the difference between a computer and the embedded system is that the computer is not dedicated to a specific task because it has to be adapted of the different needs of the people. Therefore a computer is not an embedded system.

 

The embedded system is alo called « System on chip » or SOC.

A system on chip is composed of a processor, memory and device.

The 7 principles of the system on chip

Theses are the 7 principles of a system on chip:

1. A system on chip is embedded that’s mean hidden. In fact, all the electronics object of everyday life has a system on chip: toaster, electric heater, microwave but all of theses objects have their electronics hidden.

2. A system on chip is dedicated to one task only. For example a toaster can’t wash a plate.

3. It has to be necessary and sufficient. It doesn’t have to be oversized to not increase the cost. The best system on chip is the one which do what you want with the cheapest price.

4. A system on chip has to consume low. In fact we don’t want to change the battery of a remote control every week.

5. It has to be small. We don’t want to have an electronic card with a double size of your toaster.

6. It has to be robust to the environment. In fact, the card can be used during summer or winter and have to withstand temperature very low or very high. Furthermore, the system on chip has to work on the market temperature they are destined:

  • Temperature for the commercial market: [0°C; 85°C]
  • Temperature for the industrial market: [-20°C; 125°C]
  • Temperature for the space market: [-40°C; 150°C]

7. Finally, a system on chip has to be autonomous, that’s mean that it has to work without the user intervention on the system on chip itself.

Core performance

If you make a project, you will have to choose between different microprocessor. Therefore you will to compare them to know which one is more adapted to your project. That’s why we will see the different core performance:

  • Size of the data bus

There are different size for a data bus: 8,16 or 32 bits. More the value is important, more the data can communicate quickly.

  • CPU architecture

Like the data bus, the processor can be 8,16 or 32 bits. A 32 bits processor can do more calculation than the 8 bits.

  • Embedded co-processor

As we have aforementioned, a system on chip is dedicated to a task. This is exactly the same thing for a processor: for example it can only do addition or subtraction. If we want to do multiplication or division, you can do it by a loop of addition or subtraction to emulation the multiplication or the division.

Nevertheless to do important multiplication, by using a loop of addition it can be long. That’s why some system on chip has a co-processor which will be dedicated to a specialized task, such as do multiplication or division.

Before mentioning the next criteria, we have to talk about an important notion in the system on chip: an instruction. This is what we ask to do the processor. For example a sum can be an instruction. For the next criteria we will calculate the clock stroke that need the system on chip to do the instruction we asked. The unit of an instruction is MIPS/MHz. that mean the number of instruction executed by clock stroke.

  • Efficiency

The efficiency of the processor is the capacity to execute many calculation for a clock time. This efficiency is given by the constructor of the processor. We will take an example:

microship puce

Chip MicroChip :

  • 8 bits
  • 0,25 MIPS/Mhz
  • Maximum frequency: 40 Mhz

We can see that the chip from Microchip has 8 bits and 0.25 MIPS/MHz. That’s mean you will need 4 clock stroke to finish an instruction. Furthermore the maximum frequency is given. We ill see what is it useful for.

  • Maximum frequency

The maximum frequency of a system on chip is the frequency in which the processor is working at its maximum for a task. Nevertheless the processor doesn’t work always at this value, it’s depend on the task. The reduction of the frequency also reduce the power consuming.

For our example with the Microchip chip, we have 0.25 MIPS/MHz for a maximum frequency of 40 MHz which means 10 Mega instructions per second. (0.25*40)

The 7 first criteria that we have seen concerned the hardware. Now we will see the last criteria which is a software criteria.

 

  • The compiler

In electronics, the system on chip are programmed in C language: it’s a language that allow you to control easily an electronic card.

Nevertheless the system on chip can only understand machine language, that’s why we need a compiler. This one will transform your instructions in C language to binaries understandable by the system on chip.

compilateur c++

The compiler is quality criteria because if it’s generate 20 lines of binaries it’s more efficient than the one which generate 30 lines of binaries. Furthermore it will use a less important memory and a less important cost.

We can ask to the compiler to compile in size, that’s the less lines of binaries possible, or in speed, that’s mean that the program has the execute quickly.

A happy medium is possible between speed and size.