Introducción

Hoy en el curso de Introducción a los Sistemas Embebidos aprenderás a definir qué es un microsistema y las reglas que lo definen.

¿Qué es un sistema integrado?

Esta es una pregunta fundamental que debemos plantearnos para llegar al meollo del asunto. Un sistema embebido se define como un sistema electrónico y computacional autónomo, especializado en una tarea específica. Ésta es toda la diferencia con un ordenador que no está dedicado a una tarea específica sino que es multifuncional para ser útil a la mayoría de las personas. Por tanto, un ordenador no es un sistema integrado.
En los cursos de sistemas embebidos, a menudo hablamos de “System on Chip” o SOC, que significa sistema en un chip en inglés. Hay muchos términos en inglés en sistemas integrados, pero se proporcionará una traducción al francés para cada término. En este curso utilizaremos el término microsistema para hablar de Sistema en Chip.
Un microsistema está compuesto por un procesador, una memoria y un periférico.

Los 7 principios de un microsistema

Aquí están los 7 principios para caracterizar un microsistema:

1. Un microsistema integrado significa que está oculto. De hecho, todos los objetos electrónicos de uso cotidiano tienen electrónica incorporada: tostadoras, calentadores eléctricos, microondas, y sin embargo, en ninguno de estos objetos veremos la tarjeta electrónica desde el exterior.

2. Sólo puede realizar una tarea. Por ejemplo, una tostadora sólo puede hacer café.

3. Debe ser necesario y suficiente. Esto significa que su chip electrónico no debe ser sobredimensionado para no aumentar los costes. El mejor microsistema es aquel que funciona y no cuesta mucho.

4. Un microsistema debe consumir poco. De hecho, no queremos que la electrónica suponga el principal gasto energético, como por ejemplo un mando a distancia.

5. Debe ser muy pequeño. No queremos que la tarjeta electrónica duplique el tamaño de nuestra tostadora, por ejemplo.

6. Debe ser resistente a un entorno exigente. De hecho, la tarjeta electrónica se puede utilizar tanto en verano como en invierno y, por tanto, debe soportar temperaturas muy altas o muy bajas. Además, estos microsistemas deben respetar las temperaturas del mercado al que serán vendidos:

  • Temperatura del mercado comercial: [0°C; [85°C]
  • Temperatura del mercado industrial: [-20°C; [125°C]
  • Temperatura del mercado espacial: [-40°C; [150°C]
7. Por último, un sistema embebido debe ser autónomo, es decir, debe funcionar sin intervención del usuario sobre la propia tarjeta electrónica.

El rendimiento de un corazón

Si estás realizando un proyecto, seguramente tendrás la posibilidad de elegir entre varios microsistemas. Así que tendrás que compararlos para saber cuál se adapta mejor a lo que quieres. Por eso te vamos a dar unos criterios de comparación de rendimiento:

El tamaño del bus de datos

Hay varios tamaños: 8; 16 o 32 bits. Cuanto mayor sea el tamaño, más rápido se podrán comunicar los datos.

Arquitectura del procesador

Al igual que los buses de datos, los procesadores pueden ser de 8, 16 y 32 bits. Un procesador de 32 bits podrá realizar más cálculos que uno de 8 bits en el mismo tiempo.

Coprocesadores integrados

Como se vio anteriormente, un microsistema está dedicado a una tarea específica. Bueno es lo mismo que el procesador, solo podrá hacer adiciones por ejemplo. Por último, podemos hacer que el procesador realice un bucle de suma o resta para emular la multiplicación o la división.

Sin embargo, para multiplicaciones más grandes, el procesador puede tardar un tiempo en realizar el cálculo. Es por esto que agregamos un coprocesador que se utilizará para una tarea específica, en particular la multiplicación si la necesitamos.

Antes de darle los siguientes criterios, veremos un concepto importante para los microsistemas: una instrucción. Esto es lo que se le pide al microsistema que haga. Por ejemplo, una adición puede corresponder a una instrucción. Para el siguiente criterio calcularemos el número de ticks de reloj que tarda el microsistema en ejecutar la instrucción solicitada. Una instrucción se calcula en MIPS/MHz, lo que significa la cantidad de instrucciones ejecutadas por tic de reloj y Mega Hertz.

el rendimiento

La eficiencia de un procesador es la capacidad del procesador para realizar una cantidad de cálculos en un tiempo reducido para un tic de reloj.

Este rendimiento lo dan los fabricantes de estos procesadores. Así que tomaremos un ejemplo para que lo puedas entender mejor:

microship puce

Pastilla:

  • 8 bits
  • 0,25 MIPS/Mhz
  • Frecuencia máxima: 40 MHz

Aquí podemos ver el chip Microchip de 8 bits a 0,25 MIPS/Mhz. Esto significa que se necesitarán 4 ticks de reloj para ejecutar una instrucción.

Además se indica una frecuencia máxima. Veremos enseguida cuál es su utilidad.

La frecuencia máxima de funcionamiento

La frecuencia máxima de un microsistema es la frecuencia a la que el procesador opera al máximo para la tarea dada. Sin embargo, el procesador no siempre funciona con este valor, depende de si la tarea solicitada es significativa o no. Reducir la frecuencia permitirá que el microsistema consuma menos energía.

Tomando nuestro ejemplo con el chip Microchip, tenemos 0,25 MIPS/MHz para una frecuencia máxima de 40 MHz, lo que da 10 Mega instrucciones por segundo (0,25 * 40)

Los primeros 5 criterios que vimos se refieren al hardware, ahora veremos el último criterio que es un criterio de software.

el compilador

En electrónica, los microsistemas se programan en lenguaje C: es un lenguaje que te permitirá controlar fácilmente una tarjeta.

Sin embargo, los microsistemas sólo entienden el lenguaje máquina, es decir, el lenguaje ensamblador, por lo que necesitamos un compilador. El compilador transformará las instrucciones en lenguaje C en instrucciones binarias que el microsistema pueda entender.

compilateur c++

El compilador es un criterio de calidad, de hecho si el compilador genera 20 líneas de ensamblador es más eficiente que uno que genera 30 líneas de ensamblador. Además, requerirá menos memoria y por tanto un menor coste.

Podemos pedirle al compilador que compile por tamaño, es decir el menor número de líneas de ensamblaje posibles, o por velocidad, es decir que el programa debe ejecutarse rápidamente.

Un posible compromiso es optimizar la velocidad sin ocupar demasiada línea de montaje.