You are on page 1of 43

Sistemas Embebidos Primavera 2014

PROCESO DE DISEO DE SISTEMAS DEDICADOS

Contenido
Que es un sistema dedicado Ejemplos de sistemas dedicados Elementos de un sistemas dedicados Microprocesadores y Microcontroladores Conjunto de Instrucciones CISC y RISC Arquitectura Harvard Procesador ARM y SHARC

Tipos de Memoria
Organizacin de la Memoria

What is an embedded computer system?

Un sistema de computo embebido es cualquier dispositivo que incluye un procesador pero no esta diseado para ser de propsito general. Wayne Wolf Un sistema embebido es un sistema de propsito-especifico en el cual, el procesador esta completamente encapsulado por el dispositivo que controla.

What is an embedded computer system? A diferencia de las computadoras de propsitogeneral, tales como las computadoras personales, un sistema embebido desempea una tarea predefinida, con requerimientos muy especficos Dado que el sistema es dedicado a una tarea especifica, los ingenieros de diseo puede optimizarlo, reducir su tamao y costo.

EJEMPLOS DE SISTEMAS EMBEBIDOS

Sistemas Embebidos

Sistemas Automotrices
Funciones por procesamiento embebido:
ABS: Anti-lock braking systems ESP: Electronic stability control Airbags

Efficient automatic gearboxes Theft prevention with smart keys Blind-angle alert systems ... etc ...

Aeronautica

Sistema de Control de vuelo Sistema anti-colisin Sistema de Informacin del piloto Sistema de alimentacin de potencia Sistemas de Control de alern Sistema de entretenimiento

Fiabilidad es la mayor importancia

Telecomunicaciones
Telefonos mobiles es un de los mercados de crecimiento mas rapido en los aos Sistemas de geoposicionamiento Conexiones de Internet Rapidas Conectividad: WiFi, Bluetooth, Xbee Sistemas cerrados para policia, ambulancia, equipos de rescate

Sistemas Medicos Ojo Artificial:


Camara incluida en un armazn de lentes, computadora utilizada como cinturon y la salida conectada directamente al cerebro. William Dobelle.
[www.dobelle.com]

Traduccin al sonido, afirmando que tiene mejor resolucin


[http://www.seeingwithsound.com/etumble.h tm]

Caractersticas de un Sistema Embebido Algoritmos Complejos


Las operaciones desempeadas por el sistema embebido pueden ser muy sofisticadas. Por ejemplo
El sistema que controla el motor de un auto debe realizar filtrado de las seales de entregan un conjunto de sensores para optimizar el desempeo del auto mientras minimiza la contaminacin y maximiza la utilizacin del combustible

Interfaz de usuario
Los sistemas embebidos pueden requerir de interfaces de usuario complejas que incluyan varios mens y opciones
Navegador GPS (Global Positioning System) es un buen ejemplo de las interfaces de usuario complejas

Restricciones de los Sistemas Embebidos


Ejecucin en Tiempo Real.
El sistema debe realizar las operaciones dentro de un marco de tiempo establecido por la aplicacin Sistema de frenado debe responder en el momento que se presiona el pedal del auto de lo contrario puede resultar en perdida de vidas En otros casos, no es tan problemtico solo genera clientes insatisfechos por ejemplo una impresora que no realiza sus operaciones en tiempo puede mezclar varias paginas

1 Segundo Procesar 30 imgenes cada segundo

Restricciones de los Sistemas Embebidos Multirazn


Un sistema embebido debe controlar operaciones que corren a diferentes raznes de operacin Ejemplo: Las aplicaciones multimedia contienen audio y video los cuales son alimentados a diferentes razones pero deben mantenerse sincronizadas

1 Segundo

3 8 1920 1080 30 149,299,200 bits por segundo

44100 16 7,056,000 bits por segundo

Restricciones de los Sistemas Embebidos Costo de Manufactura


A diferencia de los sistemas de propsito general, en los sistemas embebidos el costo de manufactura dicta la forma de seleccionar tanto los algoritmos como los componentes

Potencia y Energa
El consumo de potencia directamente afecta el costo del hardware dado que puede ser necesario fuentes de potencia grandes Adicionalmente, el consumo de energa afecta la vida de la batera, lo cual es importante en muchas aplicaciones

Elementos de un Sistema de Computo Embebido


Unidad de Alimentacin

Sensores Unidad de Memoria Unidad de Procesamiento Actuadores

FPGA Micprocesadores Procesadores Digitales de Seales (DSPs)

Arquitectura General de un Microprocesador


MPU Dispositivos de I/O
Registros Bus Interno

Decodificador de Instruccion

Reconocimiento de Solicitud

Unidad Lgica Aritmtica (ALU)

Bus de Direccin Bus de Datos


Registros Apuntadores a Memoria

Seales de Control

Banderas

Decodificador

Solicitud Externa

Buffer de Entrada Registro 3 Registro 2 Registro 1 Registro 0 Buffer de Salida

Memoria

Que es un Microcontrolador?

Un microcontrolador es un sistema programable que contiene:


Microprocesador Memoria Perifricos de Entrada/Salida Programables Convertidor Analgico Digital Timer Programable

Convertidor Analgico Digital

Unidad de Memoria

Processor Core

Perifricos de Entrada/ Salida Programab le

Timer Programable

Fundamentos de diseo
Repertorio de Operaciones
CISC

Tipos de Datos
Nmeros de Punto fijo

Formato de las instrucciones


Variable

Registros

Tamao (wordlength)

RISC

Nmeros de Punto Flotante

Fijo

Numero de registros

17

Complex Instruction Set Computer


La estrategia de diseo detrs del conjunto de instrucciones CISC se basa en:
Simplificar compiladores
Usando instrucciones casi equivalentes a las instrucciones de alto nivel

Mejorar el desempeo por medio de decrementar el nmero de instrucciones

La estrategia de diseo es proveer una plataforma para el buen funcionamiento de los lenguajes de alto nivel

18

CISC

Teniendo instrucciones complejas reduce el tamao del programa Programas pequeos toman menos memoria por lo tanto ahorran este recurso. Si los programas son pequeos entonces deberan mejorar el desempeo
Programas pequeos implican menos instrucciones que leer Menos instrucciones reducir el tiempo de ejecucin del programa
19

CISC

En muchos casos el programa CISC, expresado en lenguaje de maquina simblico es mas corto, sin embargo, el numero de bits de memoria no es notablemente mas pequeo.
11 C Programs RISC 1 VAX-11/780 M68000 Z8002 PDP-11/70 1.0 0.8 0.9 1.2 0.9 0.71
20

12 C Programs 1.0 0.67

5 C Programs 1.0 0.9 1.12

CISC Las razones por la cual el ahorro es insignificante son las siguientes:
El conjunto de instrucciones es muy grande, por lo cual la forma de identificar cada instruccin (opcode) contiene un nmero mayor de bits Los compiladores favorecen el uso de instrucciones sencillas, por lo cual las instrucciones complejas son muy raramente usadas CISC favorece el direccionamiento a memoria, lo cual requiere mas bits que el direccionamiento a registros

21

CISC

El tiempo de ejecucin tampoco se ve reducido por medio de un programa mas pequeo debido a que:
Para soportar instrucciones complejas, la unidad de control requiere de una complejidad mayor. Esta complejidad afecta el tiempo de ejecucin por instruccin Debido a que las instrucciones simples son favorecidas sobre las complejas, tenemos muchas instrucciones que tienen un tiempo de ejecucin mayor debido a factores ajenos a ellas.

22

Reduced Instruction Set Computer Las caractersticas generales de las arquitecturas RISC son:
Operaciones registro-a-registro
La mayor parte de las instrucciones realizan las operaciones entre registros. Solo un par de instrucciones hacen acceso a memoria

Modos de direccionamiento simple


El conjunto de instrucciones realiza direccionamiento simple entre registros y algunos muy limitados a memoria. Direccionamiento mas complejos pueden ser construidos en base a estos

23

Caractersticas de RISC Formato de instrucciones simples


Generalmente, pocos formatos de instrucciones son usados La longitud de las instrucciones es fija y alineada al los limites de la longitud de palabra Locacin de campos es fija, especialmente el campo que identifica las instrucciones

CPI bajos
Instrucciones simples con formatos simples hacen que sea fcil realizar mas instrucciones en menos ciclos de reloj

24

Ventajas de RISC
El diseo efectivos de compiladores mas optimizados puede realizarse en base a instrucciones simples La mayora de las instrucciones generadas por el compilador son simples, por lo tanto una unidad de control especficamente optimizada para instrucciones simples ser mas rpida y la ejecucin de tales instrucciones ser mas rpida. Tcnicas avanzadas tales como pipeling puede ser mas eficientemente empleada en este tipo de arquitectura. Esta arquitectura responde mejor a las interrupciones debido a su bajo CPI

25

CISC vs RISC

CISC
nfasis en Hardware Incluye instrucciones complejas multi-ciclo Las instrucciones incluyen almacenamiento y obtencin de operandos desde la memoria Tamao de cdigo pequeo Unidad de control compleja

RISC
nfasis en Software Instrucciones reducidas a un solo ciclo Las operaciones de almacenamiento y obtencin de datos desde la memoria son independientes Tamao de cdigo relativamente mas grande Unidad de control optimizada para instrucciones simples
26

Desempeo del Procesador

300 250 RISC


Performance

200 150 100 50 0


1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995

Introduccin de RISC

Intel x86

35%/yr

Y ear

27

Tipos de Computacin

28

Arquitecturas

29

Arquitectura Von Neumann

Las caractersticas de esta arquitectura, conocida como Arquitectura Von Neumann son:
Una memoria principal que almacena tanto datos como instrucciones Una Unidad Lgica y Aritmtica (ALU) capaz de operar datos binarios Una unidad de control que interpreta y provoca la ejecucin de instrucciones Dispositivos de Entrada y Salida operados por la unidad de control

30

Arquitectura Harvard En un proyecto alterno Howard Aiken en la Universidad de Harvard desarrollo una computadora electromecnica llamada MARK-I Mark-I fue precedida por Mark-II realizada con relevadores. Despus realiz Mark-III y Mark IV realizadas con bulbos. Estas maquinas tenan la caracterstica de tener memorias separadas para datos e instrucciones. La arquitectura Harvard es conocida como aquella que tiene memoria separada para datos y programa

31

Neumann vs Harvard

NEUMANN
Una sola memoria principal para instrucciones y datos Un solo bus de datos que transfiere tanto datos como instrucciones Las instrucciones y datos no pueden ser procesadas al mismo tiempo La velocidad de procesamiento es mucho mayor que la velocidad de acceso a una sola memoria El procesador tiene una complejidad baja

HARVARD
Memoria separada para instrucciones y datos Dos o mas buses, lo cual permite la transferencia simultanea de datos y programa La arquitectura es mas rpida porque permite el acceso simultaneo a instrucciones y datos La complejidad del sistema aumenta debido a la inclusin de rutas separadas para datos e instrucciones

32

MEMORIA

Sistemas embebidos

Memory
Address 000000000 000000001 000000010 000000011
Datos Instrucciones

Data 95

000000100 000000101 000000110 000000111 000001000

-2365545

a 1.55e-2

Memoria

000001001 000001010 000001011

8 bits = 1 byte

Memoria
Borrable

EPROM

EEPROM

Read-Only Memory (ROM)

Flash

Masked ROM Primaria Permanente PROM Esttica Read/Write Memory Dinmica Memoria Floppy

Acceso Aleatorio Secundaria Acceso Serial

Discos

Duro

Cintas Magneticas

CD-ROM

35

Memoria Primaria

Memoria de Lectura y Escritura comnmente conocida como RAM (Random Access Memory) La memoria RAM es voltil, lo que significa que cuando la alimentacin se apaga, pierde toda la informacin
Existen dos tipos de memoria RAM
Memoria Esttica Memoria Dinmica
36

Random Acess Memory

Almacena los bits como voltaje Tiene una baja densidad pero alta velocidad Es una memoria cara y consume mayor potencia que la dinmica La memoria Cache incluida en los microprocesadores es SRAM

Memoria Dinmica (DRAM)

Memoria Esttica (SRAM)

Almacena bits como carga Tiene una alta densidad y bajo consumo de potencia Es mas barata que la memoria SRAM Su principal desventaja es que la carga se fuga, por lo cual se requiere refrescarla. Por lo cual requiere circuitera extra, aumentando el costo del sistema. Para memorias pequeas de menos de 8K es mas apropiada SRAM.

37

Read-Only Memory

ROM es una memoria no voltil, es decir, retiene la informacin aun si la alimentacin es apagada. Esta memoria es usada para almacenar datos y programas que no deben ser alterados Existen 5 tipos de ROM
Masked ROM PROM, EPROM EEPROM Flash memory
38

PROCESADORES ARM Y SHARC

Sistemas Embebidos

Procesadores Acorn RISC Machine

ARM es una familia de arquitecturas de procesadores basados en un Conjunto Reducido de Instrucciones (RISC) desarrollado por la Compaa Britanica ARM Holdings
ARM Holdings no manufactura procesadores, sino que vende la licencia de la arquitectura a compaas que manufacturan procesadores o que lo integran en sistemas mas complejos

Procesadores ARM

Las diferentes versiones de la arquitectura ARM son identificados por nmeros


ARM7 es un procesador RISC con organizacin Von Neumann ARM9 usa una organizacin Harvard

La diferencia es invisible para el programador, excepto por las diferencias en desempeo

Procesadores ARM Los procesadores ARM han sido especficamente diseados para ser pequeo, y de bajo consumo de potencia.

Estas caractersticas son esenciales para aplicaciones tales como telfonos inteligentes y tabletas.
Adicionalmente, estos procesadores estn diseados para alcanzar una alta densidad de cdigo lo cual es otro de los mayores requerimientos de los sistemas embebidos.

Los procesadores ARM


La filosofa de diseo ARM incorpora algunas ideas que no pertenece a la filosofa RISC, tales como:
Permite ciclos de ejecucin variable en ciertas instrucciones para ahorrar potencia, rea y tamao de cdigo. Adicional un barrel shifter para expandir la capacidad de ciertas instrucciones Uso un conjunto de instrucciones de 16-bits (Thumb) para mejorar la densidad de cdigo. Mejorar la densidad de cdigo y desempeo por medio de instrucciones de ejecucin condicional Incluye instrucciones mejoradas para desempear funciones de procesamiento digital de seales

You might also like