Sunteți pe pagina 1din 275

Microprocessadors i Perifrics

Codi: 102793

Bloque 1. Diseo de sistemas de


cmputo basados en microprocesadores y
microcontroladores.
Bloque 2. Dispositivos perifricos.
Sistemas de almacenamiento.
Bloque 3. Interconexin de dispositivos
perifricos.
Bloque 4. Evaluacin de prestaciones de
sistemas de cmputo.

Bloque 1. Diseo de sistemas de


cmputo basados en microprocesadores y
microcontroladores.
Procesadores digitales de propsito general
para el diseo de sistemas basado en
aplicaciones:
Microcontroladores, DSP
Mtodos sistemticos de diseo
Criterios de seleccin en funcin de la
aplicacin

Analizar el diseo de un sistema de cmputo


orientado a una aplicacin especfica.
Buscar informacin sobre el sistema
Descripcin del sistema
Requisitos
Funcionales
No funcionales

Anlisis del Procesador


Anlisis de los Perifricos
Entrada / salida
Almacenamiento

Anlisis del Sistema de interconexin


Anlisis de Prestaciones, consumo, fiabilidad,
10

20-abr

24-abr

TEMA 3

D. Rexachs

Exposiciones Anlisis

D. Rexachs

11
12

27-abr
04-may

01-may
08-may

TEMA 3
TEMA 3

D. Rexachs
D. Rexachs

Exposiciones Anlisis
Exposiciones Anlisis

D. Rexachs
D. Rexachs

Actualmente estamos en una era


en la que los avances tecnolgicos
se dan casi diariamente
Es importante conocer las
diferencias entre los diferentes
tipos y marcas de procesadores
que hay en el mercado, ya sea
para
Conocer y Comparar que CPU se
amolda mejor a nuestras
necesidades
Adquirir un sistema de cmputo o
realizar un nuevo diseo

Uso

Procesado de control

Propsito
general

Microp
rocessa
dores

Microcontrolado
res
ASIC
FPGA
DSP

- Tiempo de
desarrollo
Procesado de seal

Propsito
especfico

+ Prestaciones
+ Confiabilidad

+ Flexibilidad

- Espacio y
consumo

Procesador: Trmino
genrico que no distingue
entre microprocesador,
microcontrolador y DSP.
Microprocesador (P): Un
chip de silicio que contiene una
CPU de propsito general.
Microcontrolador (C)
Procesador de Seal
Digital (DSP)
Aceleradores (GGPU)
Procesadores de red o network
processors (NPU), Cul
utilizar?
ASIC, FPGA,

FPGA
GGPU

Proce
sador

DSP

ASIC

network
processor
NPU

10

Microcontroladores

ARM, 486SX, Hitachi SH7000, NEC V800


Single program
Aplicaciones ligeras, Tiempo real OS
Soporte DSP
Telfonos celulares, electrnica de consumo (e. g. CD players)

Muy sensible a costo


Small word size 8-16 bits
Alto volumen
Automvil, electrodomsticos, consumo etc..

11

Incrementa la cantidad

Procesadores de altas
prestaciones para
sistemas empotrados
(High Performance
Embedded Computing)

Aumenta el coste

Propsito General high performance

Pentiums, Alpha's, SPARC


Ejecucin de SW de propsito general
SO complejos - UNIX, NT
Workstations, PC's, servers, HPC

Es difcil establecer los lmites que los diferencia


Muchos fabricantes de microprocesadores construyen
con funcionalidad DSP (extensiones multimedia)
Muchas veces es difcil determinar si es un
microprocesador o un DSP
Procesador
Seal
Digital (DSP)

Microprocesador

Microcomputador

12

Mquina
Computacin
Adaptable

Vista externa de un
microprocesador

Vista externa de un
microcontrolador

14

Rendimiento

Arquitecturas
especficas
para sistemas
de alto
rendimiento

Procesadores
empotrados
DSP

Microprocesadores

Importante:
el rendimiento &
el software

Microcontrola
dores

Importante: el coste
Coste
15

Variables controladas

Entradas

Sistema
Realimentacin

Del latn systema, un


sistema es mdulo ordenado
Variables no controladas
de elementos que se
encuentran
interrelacionados y que
interactan entre s, buscan
alcanzar un objetivo comn

Contexto

salidas

Debemos compararlo con otros de su misma categora. Categoras

Sistemas empotrados o sistemas a medida


Computador personal de sobremesa
Estaciones de trabajo / servidores de gama media
Servidores de gama alta
Computadores Paralelos

https://www.youtube.com/watch?v=PpMGbhqMsqA#t=24

19

Arquitec
turas

Caractersticas,
especificaciones,
diseos de
referencia

Arquitectura fsica HW:


CPUs, memoria, sistema de interconexin, E/S

Arquitectura SW:

Procesos, planificacin de tareas, asignacin

Aplica
ciones

Metodo
logas

Modelos, anlisis y
simulacin
Rendimiento, coste, consumo,
fiabilidad, verificacin,

Dependiendo del
uso: generalidad
de su uso

Uso general
Uso especfico
Sistemas empotrados

Basado en
aplicaciones

Grado de
Paralelismo

Monoprocesador (SISD)
Matriciales y vectoriales(SIMD)
Multiprocesadores y Multicomputadores (MIMD)

Potencia de
cmputo

Supercomputadores de gama alta (Computador Paralelo y


Macrocomputadores paralelos)
Servidores de gama alta / gama media / bsicos
Computadores personales
Sistemas empotrados (Computadores Mviles)

21

Supercomputadores
Mainframes
Clster (HPC)
Servidores
Computadores de sobremesa
Microcomputadores

Sistemas
empotrados
o sistemas
a medida

Criterios de
comparacin?
Indicadores?
Debemos compararlo
con otros de su misma
categora.

Computador
personal de
sobremesa

Computadores
Paralelos

Categoras

Servidores
de gama
alta

Estaciones
de trabajo /
servidores
de gama
media
23

N de
Objetivo fundamental
procesadore
s
Supercomputador
(Computador
Paralelo, MPP)

32 a 65K

Servidor gama alta


(Computador
Paralelo)

2 a 128

Servidor gama media

1 a 32

Servidor bsico

1a8

Computador Personal

1a2

Sistemas empotrados
(Computador Mvil)

24

Orden de
magnitud
(precio)

Capacidad
de Memoria
Principal

Supercomputa
dor
(Computador
Paralelo)
Servidor gama
alta
Servidor gama
media
Servidor
bsico
Computador
Personal
Computador
Mvil
26

Capacidad
de Memoria
secundaria

N de
usuarios
simultneos

Consumo

Tiempo de desarrollo

Requisitos
funcionales

Coste

Cmo evaluarlo

Rendimiento

Aspectos claves
para las aplicaciones
Reciclado

Fiabilidad

Consumo de potencia

Facilidad de
mantenimiento

Cmo
conseguirlo?
30

Qu diferencia
hay entre
caractersticas y
prestaciones?

Componentes:
caractersticas

Caracters
ticas del
sistema

Prestaciones
del sistema

Aplicaciones:

Sistemas:

Tipo de aplicacin

Caracterizacin de los
sistemas

Comportamiento
repetitivo

Utilizacin de los
sistemas

Caracterizacin de cada
una de las fases de las
aplicaciones

Prestaciones
Eficiencia
Consumo

Fiabilidad

Tiempo de ejecucin
Cmo medir?

Usuarios
(Aplicaciones)

Sistema
a evaluar

Para comparar diferentes sistemas hay que


establecer un criterio de medida

Eje Y

Performance = f (Workload)

Eje X

Sistemas de control
empotrados
Sistemas en Tiempo
Real
Computadores
personales,
servidores
Computadores de
altas prestaciones:
cluster, grid, cloud
Supercomputadores

Componentes: Tipos,
Capacidades, rendimiento.

Prestaciones

Cmo estn
interconectados los
componentes?

Disponibilidad y
Tolerancia a Fallos

Caractersticas de las
principales unidades
funcionales
Cmo se controla el flujo
de informacin?.
34

Sistemas empotrados

Computador de
propsito general

Sistema especialmente
diseado y optimizado
para servir como una
plataforma de
computacin de
propsito general.
Por qu son
diferentes?

Diferencias :
Operaciones en tiempo real
Dedicado
Sin sistema de almacenamiento
Tipo de restricciones para el diseo:
Rendimiento / Coste
Fiabilidad
Tamao / peso
35
consumo

Sistema basado en un
procesador digital con
elementos adicionales
diseados para ejecutar
una funcin dedicada.
Pueden ser parte de un
sistema o producto mayor.

Sistemas
empotrados:
consumo,
memoria,
Laptop: consumo
Desktop: precio
Servidor:
disponibilidad
Servidor HPC:
rendimiento

37

Sistema es todo
aquello que

Interacta con su
entorno
Entrada +
Procesamiento +Salida

Sistemas empotrados.
Procesamiento
basado en
Microcontroladores
DSP
Dispositivos de lgica
programable

38

Computador de propsito
general

Una combinacin de HW y SW del


computador que sirve como una
plataforma de computacin de
propsito general.

Sistemas empotrados

Una combinacin de HW y SW del


computador con elementos
adicionales diseados para
ejecutar una funcin dedicada.
Sistema controlado por un
procesador digital
Un sistema independiente de
control electrnico, generalmente
con una interaccin limitada de
usuarios de entrada / salida.
En algunos casos los sistemas
empotrados son parte de un
sistema o producto mayor
como en el caso de un sistema
anti-lock braking system en un
coche.
39

http://www.chipcenter.com/eexpert/images/bhenderson/bhenderson006fig1.gif

40

Cmo
utilizar la
tecnologa?

Avances en los
microprocesadores

Tecnolgicos
N de
transistores
Escala de
integracin
Encapsulado

Consumo
Disipacin

Arquitecturales

Frecuencia
de reloj

Propsito
general (GPP)

Propsito especfico
(MC DSP)

Consumo
Disipacin

RISC /
CISC /
VLIW

SISC, Memoria
Conversores,

Cache MMU,
Pipelines,
Superescalar LMI,
Prediccin
Especulacin

41

Multicores,
Manycores

controladores, buses

DSP

Microcontro
ladores

Condiciones
ambientales
extremas

Consumo de
potencia
Aspectos claves
para las
aplicaciones

Restricciones
Recursos
Tiempo

Cmo
conseguirlo?

Coste
Fiabilidad

Prestaciones
Fiabilidad
42

Prestacio
nes

Coste

Consumo

Condiciones
ambientales
externas

Fiabilidad /
disponibilidad

Prestaciones

Coste

Anlisis
de
sistemas

Mantenimiento,
reciclado,

Compati
bilidad

44

Especificacin del sistema


Especificacin
funcional

Funcionalidad

Caractersticas

Especificacin meta funcional

Prestaciones

Confiabilidad

Coste

Consumo

Mantenimiento

Sistemas empotrados = Sistemas de procesamiento


de la informacin empotrados en un producto
mayor
51

Tiempo de respuesta
Analizar
cuellos de botella:
Procesador, interconexin,
memoria...

Adaptarse
a las
aplicaciones

Objetivos

Calidad de servicio:
disponibilidad,
confiabilidad,
Tolerancia a fallos

Reducir impacto
medioambiental: Green
computing: Consumo,
Reciclado,

Cualquier dispositivo que incluye un computador


programable, pero no es en s mismo un computador de
propsito general
Trabaja en un entorno reactivo y con restricciones
temporales
Parte de las caractersticas de la aplicacin para
optimizar el diseo:
No necesita todas las funcionalidades del propsito general
Software: usado para darle las caractersticas de funcionamiento y
flexibilidad
Hardware: Microcontroladores, DSP, ASICs,...: utilizado para darle
buena relacin coste/prestaciones y seguridad
53

Estabilidad y repetabilidad:

Insensibilidad a condiciones del entorno


La temperatura.
la antigedad,

Insensibilidad a la tolerancia de los


componentes: equipos analgicos iguales
pueden tener diferentes respuestas
Mejor calidad de seal

Tamao
Rendimiento

54

Application
Operating
System
Compiler

Firmware

Instr. Set Proc. I/O system


Datapath & Control
Digital Design
Circuit Design

Instruction Set
Architecture
Existen todos
los niveles en
los sistemas
empotrados?

Layout

Coordinacin de muchos niveles de abstraccin


Diseo, medidas y evaluacin
55

Sistema empotrado
Programa de
aplicacin
con
componentes
de SO

HW

Sistema convencional
Progra
ma
usuari
o

SO

HW

Sensor

Sensor
Transductor: acondicionamiento
de seales

Sensor

Interface de salida

Microcontrolador
Actuador

Indicador

Los recursos estn limitados


Procesador, memoria, E/S,

Los dispositivos de entrada y salida son especiales

No suelen utilizar perifricos convencionales como teclado, pantalla,..

El computador debe reaccionar a tiempo ante los cambios en el


sistema fsico
Una accin retrasada puede ser intil o peligrosa
Ejemplos: sistema de frenado ABS, imgenes de video,

59

Basados en componentes programables: Capacidad de


procesamiento.
Fcil de disear: Principalmente en software
Fcil Interaccin con el entorno (dispositivos fsicos)
Flexibilidad
Tiempo al mercado: Reducido tiempo de prototipado
Eficiencia: Deben responder con rapidez a los cambios en el sistema controlado
Fiabilidad y seguridad: Estrategias de tolerancia a fallos

Permiten disear sistemas confiables: asegurar que si el sistema de


control falla: lo tolere o lo haga de forma contralada y quede en un estado seguro

Rendimiento y coste Los procesadores empotrados son baratos y rpidos


Modularidad, Escalabilidad: redes de sistema empotrados
Consumo, peso, espacio
Alternativas: ASIC, FPGA,

60

Funcionalidad sofisticada
Operan en tiempo real
Interaccin con dispositivos fsicos:
el funcionamiento depende del sistema
concreto
Bajo coste de produccin
Bajo consumo
Diseado por pequeos equipos en
tiempos ajustados
61

Operacin en RealTime

Reactivo: Clculos que deben ocurrir en respuesta a eventos


externos
Exactitud es parcialmente una funcin del tiempo

Ambientes adversos

Operacin de
seguridad crtica

Calor, vibracin, golpes, fluctuaciones de corriente, interferencia,


luz, corrosin

Deben funcionar correctamente y no deben


funcionar incorrectamente

Dispositivos manuales
y aplicaciones
transportables
62

Pequeo y de bajo peso


Bajo consumo de energa
Batera con duracin de 8 horas (laptops comnmente menos de 2
horas)

Determinismo
Temporal

Acciones en intervalos de tiempo determinados


Es fundamental que el comportamiento temporal de
los STR sea determinista
no hay que confundirlo con la necesidad de que sea
eficiente
el sistema debe responder correctamente en todas
las situaciones
hay que prever el comportamiento en el peor caso
posible

Fiabilidad y
seguridad

Un fallo en un sistema de control puede hacer que el


sistema controlado se comporte de forma peligrosa o
antieconmica
Es importante asegurar que si el sistema de control
falla lo haga de forma que el sistema controlado
quede en un estado seguro => hay que tener en
cuenta los posibles fallos o excepciones en el diseo

Transductor

Senso r

Senso r

Las respuestas correctas


dependen no solo de los
resultados lgicos sino
tambin del tiempo en que
son entregadas.

Actuator

Senso r

Real-time
contro l system

Actuator

64

Actuator

Senso r

Senso r

Los fallos por NO


responder a tiempo son
tan malos como una
mala respuesta

Actuator

Restricciones de tiempos:
Computo, Periodo, Plazos.

Restricciones de predecibilidad:
Evitar componentes que lo hagan no predecible

Restricciones de recursos:
una tarea puede requerir acceso, adems del procesador, a ciertos recursos como
dispositivos de E/S, redes de comunicacin, estructuras de datos, archivos y bases de
datos.

Restricciones de precedencia:
una tarea puede requerir resultados de una u otra tarea antes de comenzar su
ejecucin.

Restricciones de fiabilidad, disponibilidad y rendimiento:


una tarea podra tener que cumplir con ciertas restricciones de confiabilidad,
disponibilidad o desempeo.

65

Arqui
tectu
ras
Caractersticas,
especificaciones,
diseos de
referencia

Arquitectura HW:
CPUs, memoria, sistema de
interconexin, E/S

Arquitectura SW:

Procesos, planificacin de tareas,


asignacin

Apli
cacio
nes
Meto
dolo
gas

Modelos, anlisis y
simulacin
Rendimiento, coste,
consumo, fiabilidad,
verificacin,

Aplicacin
Definir los
requerimientos del sistema

Eleccin del dispositivo

Seleccin de las
herramientas de desarrollo

Plan de desarrollo

Diseo del sistema

68

Se basa en un magnetrn, una unidad de


potencia que genera microondas para calentar
alimentos
Al encenderse el magnetrn genera su
mxima potencia
Para conseguir niveles de potencia inferiores,
se procede encendiendo y apagando el
magnetrn con ciertos intervalos de tiempo
Controlando el nivel de potencia y el tiempo
total de calentamiento el usuario pude
seleccionar entre diversas opciones de coccin
70

Opciones

Seleccin manual del nivel de potencia y del tiempo de coccin


Programa o secuencia de diferentes etapas de coccin
seleccionable manualmente
Seleccin automtica
Descongelacin

En el display puede mostrar:

La hora
El tiempo de funcionamiento
Mensajes de informacin al usuario

Pitido de alarma para indicar el fin de coccin


Luz
Ventilador extractor
Interruptor de seguridad
71

Describir la interfase con la


parte operativa
Nmero de entradas
Naturaleza de las seales
tratadas
Nmero de salidas

Especificar las relaciones con


el entorno:
Entradas (teclado de mando,
sensores,...)
Salidas (paneles, indicadores
luminosos,...)
Soporte normalizado para el
intercambio de informacin
(port serie, paralelo,...)

Otras especificaciones de las


tareas
Temporizadores

Eleccin del dispositivo


Eleccin de la herramienta de
desarrollo
72

Memoria programa
Tamao
Tipo

Control

Applications

Memoria datos
Tamao

CT-lib
CSP

E/S (teclas, visualizador,


seales de control)
Paralelo
Serie

Theory

Temporizadores
75

Hardware

Describir la interfase con la


parte operativa
Nmero de entradas
Naturaleza de las seales
tratadas
Nmero de salidas

Especificar las relaciones con


el entorno:

Entradas (teclado de mando,


sensores,...)
Salidas (paneles, indicadores
luminosos,...)
Soporte normalizado para el
intercambio de informacin
(port serie, paralelo,...)

Desarrollo del Hardware


Hardw are

Diseo del esquemtico

Simulacin en
el ordenador
host

Construccin
del prototipo

Depuracin y test
del prototipo

76

http://www.spansion.com/Applications/homeappliances/microwave/Pages/default.aspx

Sensores,
transductores

Microcontrolador
(telemetra)
Transmisin
inalmbrica

Mvil

Servidor de
almacenamiento

Computador:
visualizacin

Equipo medico

Cunto hardware necesitamos?


Cul es el tamao de la CPU?, de la Memoria, E/S?

Cmo logramos respetar los tiempos lmite (deadlines)?


Hardware rpido? / Software inteligente?

Cmo minimizamos el consumo de potencia?


Desconectar la lgica innecesaria?
Reducir los accesos a memoria?

Cmo garantizar el funcionamiento?


Durante el diseo: La especificacin es correcta? La implementacin cumple las especificaciones?
Durante la implementacin: Cmo testeamos la caractersticas de tiempo real? Cmo testeamos con
datos reales?
En funcionamiento: Estn funcionando todos los componentes? Hay algn fallo?

Cmo trabajamos en el sistema?


Observabilidad, controlabilidad?
Cul es nuestra plataforma de desarrollo?

85

Predecibilidad: Caracterstica distintiva de un sistema en


tiempo real.

Implica que debe ser posible demostrar o comprobar a priori


que los requerimientos de tiempos se cumplen en
cualquier circunstancia.

Como consecuencia, que sea predecible implica:

una cuidadosa planificacin de tareas y recursos.


cumplimiento predecible de requisitos temporales:
determinismo.
anticipacin a fallos, y sus requerimientos temporales.
consideraciones de sobrecargas: degradacin controlada.
consideraciones de elementos de impredecibilidad.
dotar al sistema con capacidades de monitorizacin y control
de tiempos (hardware, software,).
86

Problema: tamao del cdigo

Restricciones: coste, rea, consumo


Programa adecuado a la memoria
del chip
Compiladores vs programar en
ensamblador
Portabilidad
Costes de desarrollo

Cdigo hinchado

Solucin: compresin de cdigo


Reduce el tamao del cdigo
compilado
Tiene ventaja de repeticin de
instruccin

Implementacin

Qu hacer en HW y qu en SW?
tamao de cdigo?
velocidad de ejecucin?

87

Conceptos del producto

Requerimientos: descripcin de la Funcionalidad

Requerimientos del sistema


Funcionales

Requisitos de cmputo
Requisitos de memoria
Requisitos de E/S: tipos de seales
Requisitos de comunicacin

No funcionales

Tecnologa y herramientas seleccionados


Especificaciones del sistema (ms preciso)

Consideraciones:

Puedo obtener ayuda cuando tenga problemas?


Qu herramientas de desarrollo estn
disponibles y cuanto cuestan?.
Que clase de documentacin tengo disponible
(manuales de referencia, notas de aplicacin, libros)
Tiene el fabricante disponibles para ese
microcontrolador dispositivos perifricos
(conversores A/D, memoria, reguladores de
tensin)?
Disponen de microcontroladores OTM, grabables
por mscara, EPROM, de esa misma familia?
89

Bloque 1. Diseo de sistemas de


cmputo basados en microprocesadores y
microcontroladores.
Procesadores digitales de propsito general
para el diseo de sistemas basado en
aplicaciones:
Microcontroladores, DSP
Mtodos sistemticos de diseo
Criterios de seleccin en funcin de la
aplicacin

93

Un computador que forma parte como componente de un sistema


mucho mayor, pero que no es visible como tal a un usuario de ese
sistema
Un solo chip que contiene el procesador (CPU), memoria no voltil
para el programa (ROM o flash), memoria voltil para variables
(RAM), un reloj y E / S. Tambin se llama "ordenador en un chip
Un controlador empotrado es un circuito integrado digital diseado
para aplicaciones que requieren procesadores que realicen
computo de forma programada y de dispositivos que lleve a cabo
por si solos, las tareas propias de un sistema de control
Un componente programable o un subsistema que proporciona
algunas funciones inteligentes al sistema del que forma parte
Sistemas con una funcionalidad HW y/o SW ms limitada que un
computador de sobremesa
Un sistema empotrado est diseado para ejecutar una funcin
dedicada
Un computador con mayores requisitos de fiabilidad y calidad
que otros sistemas computadores
Algunos dispositivos que son llamados sistemas empotrados, tales
como PDA, no son realmente sistemas empotrados
94

Una definicin de controlador o


computador empotrado
(embedded controller):
Un computador dedicado a una sola
tarea, y generalmente,
incorporado en el mismo producto
al que gobierna.
A menudo reemplaza componentes
electromecnicos previos

Microcomputador

CPU

ROM

EEPRO
M

RAM

Oscilad
or

Tempori
zadores

E/S

Cotrolad
ores:
Interrup
ciones

Microcontroller: includes I/O devices, onboard memory.


Digital signal processor (DSP):
microprocessor optimized for digital
signal processing.
Typical embedded word sizes: 8-bit, 16bit, 32-bit.

2008 Wayne Wolf

Overheads for Computers as


Components, 2nd ed.

99

Renen en un slo circuito integrado varios elementos


Disminucin del hardware
Menor complejidad de los circuitos impresos

Mayor fiabilidad del sistema

Al haber menor nmero de componentes disminuyen las


conexiones y las fuentes de error

Tecnologa MOS, CMOS o HCMOS

Disminucin del consumo

Disminucin de los costes

Ms barato que los componentes que reemplaza


Simplificacin en la fabricacin (mano de obra)

Flexibles: Vlido para mayor nmero de aplicaciones


(reduccin de coste y volumen)
Fciles de utilizar
Bajo costo
102

Los microcontroladores se
usan en los sistemas de
control que renan las
siguientes propiedades:
el precio es un factor crtico
la capacidad de memoria
necesaria es pequea
los sistemas son dedicados
y siempre ejecutan el
mismo programa de
aplicacin
el procesamiento se realiza
en tiempo real (STR)
no se gobiernan muchos
perifricos

103

Incorporan muchos ports de E/S serie


y paralelo, que facilitan la
comunicacin con el exterior. (Entre
24 y 32 lneas de E/S)
Incorporan bloques de memoria que
pueden ser RAM y/o ROM (EPROM o
FLASH)
Permiten realizar expansiones de
memoria externa. Muchos disponen
de espacio de memoria y de espacio de
E/S.
Utilizan un lenguaje de programacin
compatible con familias de
microprocesadores comerciales.
Frecuencia de trabajo de 10 a 20 MHz
Por lo general consumo inferior a 1W,
104

Qu elementos tienen en comn?


Qu elementos son varan?
Ventajas
Adaptacin
Fabricante / fabricantes

Cada fabricante intenta enfatizar los


recursos ms idneos para las
aplicaciones a las que se destinan
preferentemente
Problema del diseador: seleccin
105

Cada fabricante oferta numerosas versiones de una


arquitectura bsica de microcontroladores:
ampla las capacidades de las memorias
incorpora nuevos recursos,
Reduce las prestaciones al mnimo para aplicaciones muy
simples,...
Existen Microcontroladores/Procesadores especializados para:

Comunicaciones,
Manejo del teclado,
Procesamiento de la seal,
Proceso vdeo,

La labor del diseador es encontrar el modelo mnimo


que satisfaga todos los requerimientos de la
aplicacin. De esta forma, minimizar el coste, el hardware
y el software.
106

The L Series consists of


5 MCU families KL0 /
KL1 / KL2 / KL3 / KL4.
All families are built on
the new ARM
Cortex-M0+ core

El tipo de encapsulado
para protegerlo de
condiciones ambientales
tales como polvo,
temperatura, humedad y
golpes
Caractersticas
Costo
Tamao
Calidad

Tipos

Plstico
Cermicos
111

Capacidad de computo necesaria: Se debe prestar atencin al


tipo de los datos que manejar la aplicacin y a los requerimientos
temporales Factores que afectan a la capacidad de los
procesadores:
la frecuencia de reloj,
el tamao de los registros,
el conjunto de instrucciones, etc.

Conocimiento del procesador


Perifricos disponibles para dicho procesador: reduce el
nmero de chips y la circuitera (y drivers) a desarrollar para su
conectividad con el hardware a controlar
Soporte integrado para la depuracin: algunos procesadores
tienen pines que facilitan la conexin de hardware externo para la
depuracin
Soporte software: es necesario la existencia de software que
permita desarrollar la aplicacin e introducirla en la placa. Si se
va a emplear un RTOS, debe haber una versin disponible para
dicho procesador
112

Segn el ancho de palabra:


4, 8, 16, y 32 bits

ISA

CISC, RISC, SISC, VLIW

Formato de instrucciones

Tipos de instrucciones
Modos de direccionamiento

Data-path

Pipeline

Registros

Registros de propsito general


Registros de funciones especiales

Registros mapeados en memoria


Bancos de registros
Interrupciones / excepciones

Usua
rio

ISA:Un Interface crtico

Interfaz
usuario

Programas

software

Sistema Operativo

instruction set
Computador (Hardware)

hardware

114

John Kubiatowicz

ISA
CISC

RISC

CRISC

SISC

VLIW

(SISC: Specific Instruction Set Computer ).


Realmente, un microcontrolador podra llamarse
ordenador con repertorio de instrucciones
especficas
Al contrario del repertorio de instrucciones de
propsito general que tienen los
microprocesadores (8085, 8088. 68000, 32032),
el repertorio de instrucciones de los
microcontroladores se dise para el propsito
especfico de control:
Las instrucciones de entrada/salida son eficaces y
sencillas
Instrucciones especficas de operacin con bit
Instrucciones adecuadas para operaciones con
tablas de datos
116

Instrucciones conceptualmente simples.


Transferencias Memoria/Registros
exclusivamente LOAD/STORES.
Las operaciones aritmticas son entre registros.
Tamao de instrucciones uniformes.
Pocos formatos para las instrucciones.
Pocos modos de direccionamiento.
Casi todas las instrucciones se ejecutan en un
ciclo de reloj.
Tendencia a tener un gran nmero de registros

Combinacin de CISC con RISC

Complex-Reduced Instruction Set


Computer

Los uC. Von-Neuman tienen un


solo bus por el cual circulan
instrucciones y datos.
Las instrucciones del programa y
los datos se guardan en una
memoria comn.
Cuando la CPU se dirige a la
MP, primero saca la
instruccin y despus saca los
datos necesarios para
ejecutarla, esto retarda el
funcionamiento de la CPU.
Los uC. Harvard tienen separados
el bus de datos y el bus de
instruccin. Esto permite el
proceso paralelo:
Cuando una instruccin esta siendo
"captada", la instruccin actual
est utilizando el bus de datos.
120

Factor limitante
Capacidad
Velocidad
Tipo

Memoria: Los microcontroladores incorporan


una pequea memoria en el chip:

ROM

EEPROM

FLASH
El nmero de
veces que se
puede
borrar/grabar
est limitado

PROM/
EPROM

(Electrically
Erasable
PROM):
Reprograma
bles

Modo de acceso

122

RAM:
Variables que cambian durante la
ejecucin

Esttica

Dinmicas

La mayora de los
microcontroladores estn
disponibles en la versin
ROM-less, la cual
permite conectar una
ROM / RAM externa.
Muchos
microcontroladores estn
tambin disponibles en
versin piggy-back con
un zcalo de EPROM en
la parte de arriba del
package del
microcomputador.
http://www.microcontroller.com/wp/mot_flash/Flash_Micros.htm

123

124

125

http://webdiee.cem.itesm.mx/web/servicios/archivo/manuales/micro8051.

http://webdiee.cem.itesm.mx/web/servicios/archivo/manuales/micro8051.pdf
126

127

http://webdiee.cem.itesm.mx/web/servicios/archivo/manuales/micro8051.

128

http://webdiee.cem.itesm.mx/web/servicios/archivo/manuales/micro8051.

E/S

E/S digital
E/S analgica

Puertos de E/S

Mapeados en memoria

La comunicacin del
microcontrolador con el
mundo se da a travs de
sus pines de E/S
Estos pines son
compartidos con mdulos
del microcontrolador
Pueden configurarse
como entrada o salida

131

Son las ms comunes y se utilizan para:

Controlar rels, triacs, LEDs, displays, ...

Control de leds

Se conectan directamente al puerto de alta corriente (10 mA)


interponiendo una resistencia serie
Si no existen puertos de alta corriente se utiliza un transistor
amplificador

Si no hay lneas suficientes

Se utiliza HW externo
Tambin se realiza una presentacin multiplexada

132

Permite procesar seales analgicas del


mundo real
Conversin: ADC: es utilizado para
procesar las entradas analgicas.
El microcontrolador puede incluir
convertidores y comparadores analgicos

DAC: es utilizado para generar salidas


analgicas
133

UART (Unidad Universal de


Transmisin Recepcin Asncrona) es un
dispositivo adaptador del puerto serie
para comunicaciones asncronas.
USART (Unidad Universal de
Transmisin Recepcin Sncrona y
Asncrona) es un adaptador del puerto de
serie para comunicaciones asncronas o
sncronas. Los dispositivos que usan un
USART son tpicamente ms rpidos
(tanto como 16 veces) que con un UART.
SPI (Motorola) (interface perifrica de
serie) es un puerto de serie sncrono.
SCI (serial communications interface) es
un UART reforzado (puerto de serie
asncrono).
134

Serial Peripheral Interface (SPI)


Inter Integrated Circuit (I2C)
Bus CAN
Jtag

Serie Sncrona o
asncrona
SPI (Motorola)

Un SPI (interface perifrica


de serie) es un puerto de
serie sncrono.

SCI (serial
communications
interface)

Un SCI es un UART
reforzado (puerto de serie
asncrono).

Redes de dispositivos

136

El tiempo es una magnitud fsica fundamental, cuya


unidad en el Sistema es el segundo.
Se necesitan dos tipos de medidas:
Tiempo absoluto
Tiempo relativo o intervalos de tiempo

El tiempo absoluto necesita un sistema de referencia


escala de tiempo
con un origen que se denomina poca

Un sistema de tiempo real para medir el paso del tiempo


puede:

Acceder a un sistema de referencia externo (p.e. Seal UTC


del GPS)
Utilizar un reloj de hardware interno que proporciona una
aproximacin del paso del tiempo en el entorno
Utilizar un reloj interno + sincronizaciones con sistema de
referencia externo

El tiempo en un computador se mide con:


Relojes

Pueden llegar a medir tiempo absoluto


Funcionan de forma continua

Temporizadores

Medida de intervalos temporales


Arranque y paro

Se utiliza para trabajar


con eventos de tiempo
Temporizadores:
controlan perodos de
tiempo
Contadores: cuentan
acontecimientos que
suceden en el exterior

139

Temporizadores (timer)

La fuente de reloj es la frecuencia interna


de reloj

Registros para divisin programar la forma de


utilizar, dividir la frecuencia,

puede utilizarse como un generador de


interrupcin

Contador de eventos

Entrada externa de un pin de entrada


Puede generar salidas a travs de un pin

Instrucciones call

Soporte de Hardware para


el stack
Software

Paso de parmetros

Stack (variables locales)


Memoria
Registros

141

142

Permite llevar al microcontrolador a un


estado conocido. Inicializando todos los
componentes del microcontrolador
Sistema POR ( Power On Reset):
generar una autoreinicializacin o
autoreset al conectarles la alimentacin
Sistema BOR (Brown - Out Reset)
Cadas de tensin
143

Reloj: es un mdulo (de hardware y software) que


proporciona el valor del tiempo real cuando se lee.
Un reloj est compuesto por:
Un circuito que genera impulsos peridicos
Un contador que acumula los impulsos
Un software de gestin

Lectura del tiempo


Puesta en hora
Conversin del contador en unidades de tiempo (segundos, minutos,
...)
...

Las caractersticas ms importantes de un reloj son:

Precisin (granularidad). Depende de la frecuencia de los


impulsos.
Intervalo de valores. Depende de la precisin y de la
capacidad del contador.

Los Microcontroladores
estn diseados para
ejecutar con poco soporte
externo para el reloj del
sistema
Los Microcontroladores
ejecutan en el entorno de
las decenas de MHz
Existen diversos mtodos
para proporcionarle el
reloj al Microcontrolador

Usando un cristal
Resonador cermico
Oscilador RC
Ninguno

145

Cuestin importante:
minimizar el consumo de
corriente
Hay que tener en cuenta el
consumo:

Del microcontrolador en modo


normal:
Depende de la frecuencia y el
voltaje proporcionado

Del microcontrolador en modo


sleep
De los dispositivos conectados
a la E/S

En qu se diferencian una
pila y una batera?

Particular de cada aplicacin


Pueden gestionarse
adecuadamente los
dispositivos

147

Alternativas y opciones que pueden encontrarse segn el


modelo seleccionado
Memoria interna / externa: Modo expandido
Arquitectura von Neumann/ Arquitectura Harvard
Tipo de Memoria no voltil:
ROM con mscara, OTP, EPROM, EEPROM, Flash,

Repertorio de instrucciones:

CISC / RISC / SISC

Reloj
Interrupciones
Timers / contadores
Puertos de E/S
Puertos de comunicacin
Control de fallos
Tipo de Encapsulado
148

Presentacin del dispositivo


Tecnologas de chips
Reset
Alimentacin
Reloj del sistema
UAL
Proteccin ante fallos
Modo bajo consumo
Subrutinas
Interrupciones
Timers
E/S digital
Comunicacin
E/S analgica
Expansin de dispositivos
Programacin
Debug

149

Rutinas de software
almacenadas en memoria
ROM
Software que se
encuentra empotrado en
un dispositivos HW
Es una combinacin de
SW y HW

150

151

Ejemplo: Microcontroladores De 8 Bits 8051


153

154

158

http://www.enseirb.fr/~kadionik/68hc11/comparaison.html

Temporizadores o timers
Watchdog
Proteccin ante fallo de
alimentacin o Brownout
Estado de reposo o de bajo
consumo
Conversores A/D, D/A
Comparador analgico
Modulador de anchura de
pulsos PWM
Ports de E/S digitales
Ports de comunicacin.
Proteccin del SW
http://www.genesispowerprotection.com/electroflowlink.html

162

Watch Dog Timer (WDT)

Existe un temporizador que


produce un reset
automticamente si no es
recargado antes que pase
un tiempo prefijado. As se
evita que e! sistema quede
"colgado" dado en esa
situacin el programa no
recarga dicho temporizador
y se genera un reset

163

http://dbserv.maxim-ic.com/appnotes.cfm?appnote_number=279

Es utilizado para prevenir cadas del software


En entornos con ruido elctrico, puede ocurrir que el
procesador del microcontrolador se vea afectado y
comience a ejecutar en un lugar indeterminado
El circuito WDT se encarga de resetear el
microcontrolador si el registro WD se desborda

164

Diferentes condiciones de inicializacin


POR: Power on reset

Hardware
Evento POR Software

BOR: Brownout reset (siempre genera un POR)


Encendido
Seal de BOR o Reset

PUC power up clear

Watchdog
Violacin de memoria
Password incorrecto

Proteccin de Brownout

Proteccin de Brownout
normalmente es un circuito
que protege contra
sobretensiones de
alimentacin.

166

http://dbserv.maxim-ic.com/appnotes.cfm?appnote_number=279

Trata de la proteccin contra el contacto fsico, cuerpos extraos y la


penetracin de agua de los aparatos elctricos.
El grado de proteccin se establece mediante el uso de las siglas IP
(Grado de Proteccin) y dos nmeros de identificacin
El primer nmero indica la proteccin de las personas contra el acceso a
partes peligrosas y proteccin interna de los equipos contra la entrada de
objetos slidos.
La segunda cifra indica la proteccin interna de los equipos contra la
penetracin de agua.

Por ejemplo, cuando un equipamiento tiene como grado de proteccin


las siglas: IP67.
Las letras IP identifican al estndar (una antigua herencia de la
terminologa International Protection),
El valor 6 en el primer dgito numrico describe el nivel de proteccin ante
polvo, en este caso: "El polvo no debe entrar bajo ninguna circunstancia"
El valor 7 en el segundo dgito numrico describe el nivel de proteccin frente
a lquidos (normalmente agua), en nuestro ejemplo: "El objeto debe resistir
(sin filtracin alguna) la inmersin completa a 1 metro durante 30 minutos."

Como regla general se puede establecer que cuando mayor es el


grado de proteccin IP, ms protegido est el equipamiento.
170

Condiciones
ambientales
extremas

Es un sistema de clasificacin para los diferentes grados de


proteccin de los contenedores de los dispositivos
electrnicos.
Indica la proteccin de la electrnica dentro de una caja,
molde de plstico,indica el grado de proteccin y
estanqueidad ( frente agua y partculas ) de dicha caja o
molde.
Indica cmo est de protegida la electrnica que guarda en su
interior.
Es un requisito de dispositivos en multitud de proyectos y de
concursos, sobre todo, de aquellas partes que deben
instalarse a la intemperie.

http://webstore.iec.ch/webstore/webstore.nsf/artnum/0355

Condiciones
ambientales
extremas

In North America enclosures are rated


using the NEMA system

Condiciones
ambientales
extremas

estndar IEC60529
173

http://www.hubersuhner.com/9-120-p-rf-cab-env-ip-ratings_en.pdf

Reactiva: Computacin en respuesta a


acontecimientos externos
Eventos peridicos
Eventos aperidicos

Sistemas en tiempo real: el


funcionamiento correcto es tambin
funcin del tiempo
Predecibilidad

Prestaciones
177

En muchos sistemas:
El usuario introduce un
comando y espera una
respuesta rpida
No es crtico si la
respuesta no se recibe
inmediatamente
No dar una respuesta a
tiempo no se considera
como errnea

En Sistemas de
Tiempo Real
La exactitud del resultado
depende:
Resultados lgicos computacin
Instante de produccin de los
resultados

No vale una respuesta fuera


de tiempo aunque sea
correcta
Incluso puede ser indeseable

180

181

Imagen extrada de Digital Signal Processing.


Principles, Algorithms and Applications

Seal analgica:

es una funcin definida en


un rango de tiempo
continuo y en el cul la
amplitud debe tener un
rango continuo de valores
182

Seal digital:

es una funcin en la que


tanto el tiempo y la amplitud
tendrn valores discretos
cuantificados e infinitos

No se puede mostrar la imagen en este momento.

Imagen extrada del tutorial on-line de


www.ti.com

Imagen extrada del tutorial on-line de


www.ti.com

El trmino procesamiento digital de la seal se refiere a la


manipulacin discreta en el tiempo de seales de amplitud
discreta.
Un procesador de seal digital (DSP) es un sistema que acepta
informacin de seales digitalizadas, realiza algunas operaciones sobre
la informacin y entrega el resultado al un sistema primario o a un
dispositivo de salida.
El DSP es un procesador especializado para tratamiento con
seales
183

La conversin
Analgico-Digital
consta de varios
procesos:
Muestreo
Cuantizacin
Codificacin

4 tipos bsicos en PDS:

Analgicas, x(t): amplitud y tiempo continuos


Muestreadas, xS[n]: tiempo discreto, amplitud
continua
Cuantizadas, xQ(t): tiempo continuo, amplitud
discreta
Digitales, xQ[n]: tiempo y amplitud discretos
XS[n]

X(t)

.
..
.
. ...
....

....

XQ[n]

XQ(t)

...
..
.
..
..
. .. .
..

185

ruido de cuantificacin:

187

DSP (Digital Signal Processor):


la CPU interna ha sido optimizada
para usar en aplicaciones que
impliquen procesamiento de
seal discreta en el tiempo.
Adems de las instrucciones
estndares de un P, los DSP
usualmente soportan un conjunto de
instrucciones complejas para
ejecutar rpidamente computaciones
comunes en procesamiento de seal.
Familias comunes de DSP son TI's
320Cxx y las series de Motorola
5600x.
189

La mayora de las aplicaciones DSP


requieren:

Computacin numrica repetitiva


Atencin a la fidelidad numrica
Accesos mayoritarios a arrays en memoria, por
tanto alto ancho de banda de la memoria
Procesamiento en tiempo real
Repertorio de instrucciones flexible.
Flexibilidad operacional.
Alta velocidad.
Arquitectura paralela.
Bajo coste.
190

Bases matemticas:

Modelado de seales continuas. Series y transformadas de


Fourier. Filtros analgicos.
Convolucin y Correlacin.
Sistemas de muestreo, cuantificacin de seales: cuantificacin
de ruido.
Modelado de seales muestreadas. La Transformada em Z.
La Transformada Discreta de Fourier (DFT), Transformada
Discreta Cosesno (DCT), otras transformadas (Wavelets,
Hartley,...).

Algoritmos:

Transformada Rpida de Fourier (Fast Fourier Transform)


(FFT).
Otros algoritmos tpicos: (Algoritmo de Goertzel, ...). Codificacin
y decodificacin de voz, Encriptacin y desencriptacin de voz.
Diseo de filtros digitales.

191

El algoritmo especifica la operacin


aritmtica que debe realizar el DSP pero
no cmo se debe implementar
Velocidad/ precisin aritmtica
Software

En un procesador ordinario
DSP programable

Hardware
ASIC

DSP: Funciones de Filtro


Una de las funciones ms comunes en
DSP: filtrado de seales. Operaciones:
sumas, multiplicacin, retardo
xn

c1

c2

xn-1

D
Cn-1

Tap

cn

x1

yn = xn c1 + xn-1c2 +........ + x1 cn
194

yn

Operacin bsica de procesado de


seales

Bloquear o dejar pasar determinadas


frecuencias presentes en la seal
Filtro ms sencillo: promediador (tapped
delay line) = filtro pasa-baja
Ejemplo: promediador de 4 muestras

x(n) + x(n 1) + x(n 2) + x(n 3)


y ( n) =

195

Caractersticas tpicas de las seales analgicas:


Frecuencia a la que se producen: elevada
Necesidad de tratamiento en TR
197

Paralelismo, Superescalar:
Muy Alto rendimiento
Procesadores empotrados

Rendimiento

DSP

Alto rendimiento
Procesadores empotrados

DSP

Avanzados
Controladores empotrados
Bajo coste
Controladores empotrados

198

Microcontrola
dores

199
http://www.esiee.fr/~mimounh/Assets/Introdsp.pdf

Sistemas programables, diseados para aplicaciones de tratamiento de


seal digital
Su arquitectura interna es similar a la de un microprocesador o
microcontrolador, optimizada para realizar los clculos necesarios
para implementar algoritmos de procesamiento de seal:
Implementacin de operaciones por hardware (no microprogramado)
Data path configurado para DSP
Repertorio de instrucciones especializado: Soporte para MAC ejecutan
varias operaciones en un solo ciclo (MAC,...); Bucles con Zero-overhead
Mltiples bancos de memoria y buses: Arquitectura Harvard modificada
(Mltiples memorias de datos)
Memoria de programa ancha, normalmente codifican instrucciones y datos.
Modos de direccionamiento especializados
Bit-reversed addressing
Buffers circulares
Perifricos especializados para DSP

200

Procesador DSP

Unidad aritmtica central rpida


(incluye operaciones de
multiplicacin y suma)
Unidad aritmtica auxiliar
(operaciones lgicas, otras
operaciones matemticas)
Ports serie para la comunicacin con
otros DSPs y con los convertidores

Memoria de datos
Memoria de instrucciones
Ports de E/S
ADC
DAC

202

Para optimizar cada una de estas operaciones se introducen requisitos


especiales
Multiplicador y sumador paralelo
Acceso mltiple a memoria (buscar 2 operandos y almacenar el
resultado)
Gran cantidad de registros para mantener datos temporalmente
Eficiente generador de direcciones para el manejo de arrays
Caractersticas especiales tales como delays o direccionamiento circular
203

http://www.bores.com/courses/intro/chips/6_basics.htm

Elevada capacidad de procesamiento


aritmtico de datos en tiempo real, con elevada
precisin, para evitar problemas de redondeo y
truncamiento
Etapas Multiplicadora/Acumuladora (MAC)
apta para resolver ecuaciones del tipo A = A +
(B x C) en un nico ciclo
Circuitos BS (Barrel Shifter) para desplazar
un dato varios bits a derecha/izquierda en un
nico ciclo de instruccin
Varias unidades de procesamiento operando
en forma concurrente (MAC, barrel shift): Una
ALU operando en forma independiente al
MAC y al BS
Cdigos de operacin para controlar al MAC,
ALU y BS en una nica instruccin (varias
operaciones concurrentes )
Operaciones aritmticas especiales
(saturacin)
Algunos DSPs con unidades de punto flotante

205

Recursos internos o dispositivos


perifricos especializados para la
conversin de seales A/D y D/A, el
filtrado anti-alias y la reconstruccin.
Esquema de timing e interrupciones
mucho ms orientado a acciones en
tiempo real
Arquitecturas tipo HARVARD con
mapas de datos e instrucciones
separados
HARVARD modificado: Dos o ms
mapas de memoria de datos que
permiten leer concurrentemente
operandos y coeficientes

Howard Aiken,
desarroll las mquinas
con arquitectura
Harvard
206

Arquitectura que soporte flujo de datos a alta velocidad a y


desde las unidades de computacin y memoria, mediante
un conjunto de registros multipuerto.
Direccionamiento: Manejo especializado de punteros de
direcciones a travs de unidades de clculo dedicadas
Disponibilidad de modos de direccionamiento
especializados (ej: bit-reversal, colas circulares)
Lazos iterativos de overhead nulo: tener un mecanismo
eficiente de lazos, porque la mayora del cdigo DSP es
altamente repetitivo
Manejar precisin extendida y rangos dinmicos para
evitar overflow y minimizar los errores de redondeo
207

Mltiples bancos
de memoria y buses
Arquitectura
Harvard
Harvard
modificado:
Mltiples
memorias de datos

Aspectos de la
microarquitectura
Pipeline
Cache

Repertorio de
instrucciones
RISC
CISC
SISC
VLIW

Tipos de datos
Datos
empaquetados
SIMD

Data path (Camino


de datos) configurado
para DSP
Aritmtica: punto
fijo / punto flotante
MACMultiplicacin acumulacin

Juego de instrucciones
especializado y control
Bucles con Zerooverhead
Soporte para MAC

Modos de
direccionamiento
especializados
Bit-reversed
addressing
Buffers circulares

Perifricos
especializados para
DSP

208

Mayor paralelismo

Incrementan el nmero de
operaciones que se puede
realizar en cada instruccin

Aadiendo unidades de
ejecucin(ej: Multiplicadores)

Incrementan el nmero de
instrucciones que pueden ser
emitidas y ejecutadas en cada
ciclo.

Hardware del ncleo


altamente especializado.
Co-procesadores
210

http://www.analog.com/library/analogDialogue/archives/31-2/DSP.html

212

Memoria de programas y
datos pueden tener
anchos diferentes
213

Arquitecturas tipo HARVARD con


mapas de datos e instrucciones
separados
HARVARD modificado: Dos o ms
mapas de memoria de datos que
permiten leer concurrentemente
operandos y coeficientes
Dos memorias de datos
Varios Buses paralelos,
Permite que ambos operandos
pueden ser accedidos en un ciclo

Howard Aiken,
desarroll las mquinas
con arquitectura
Harvard
214

La mayora de los procesadores DSPs no tienen cache;


algunos usan bancos de memoria en el chip y varios
conjuntos de buses para capacitar ms de un acceso a
memoria por ciclo de instruccin
Algunos procesadores DSP incluyen una cache de
instrucciones especializada muy pequea en el
chip. El programador, no el procesador decide que
instrucciones residen en ella Buffer Permite
predecir cuando las instrucciones son buscadas en
cache o en memoria importante para poder predecir
el tiempo de ejecucin.
Los DSPs ejecutan computaciones con cada muestra
de datos y despus descarta la muestra, con poco
reutilizacin.
La mayora de los procesadores DSP no incorporan
cache de datos. Esto es porque los datos DSP estn
tpicamente fluyendo (streaming).
216

Buffer

217

Desde el punto de
vista fsico, la
arquitectura de
memoria con caches
de instrucciones y
datos de los
procesadores
superescalares es casi
idntica a la
arquitectura Harvard.

Desde el punto de vista


lgico, hay diferencias:

DSP: el programador controla


EXPLCITAMENTE qu datos e
instrucciones se almacenan en sus
memorias.
GPP: el proceso de decidir que datos e
instrucciones residen en la cach, es
transparente al programador: desde el
punto de vista del programador solo
hay una nica memoria de datos e
instrucciones (Von Neumann)
DSP: La mayora de los DSP no
contienen cach: usan mltiples
bancos de memoria dentro del chip.
Algunos pueden llegar a tener una
pequea cach de instrucciones,
No suelen tener cache de datos porque
los datos en los algoritmos de DSP se
usan y se descartan. (no hay re-uso)

218

Opciones para la
digitalizacin y
captura de
seales con
intervalos
regulares (DMA)
Pocos o nulos
recursos que
generan
latencias, como
memoria
virtual, caches,
etc.

219

220

221

Arquitectura Acumulador memoria

Arquitectura memoria registro

Arquitectura load -store

222

La accin depende de
los tipos de
instrucciones

Operativas: Aritmticas
y lgicas
Transferencia:
Referencias a memoria
Control: Bifurcaciones

223

1980s: aparecen en el mercado como una


natural evolucin de los procesadores
microprogramados horizontalmente.

mltiples U.F. operando en paralelo, y un


nico Banco de Registros (o dos para FX y
FP)

Los mismos cambios en la tecnologa


motivaron
la aparicin de RISC.
El mercado de procesadores
especializados, que tenan cableados
importantes algoritmos como FFT

RISC y VLIW, tema crucial: el


compilador.
En VLIW, el compilador debe especificar
el paralelismo directamente
compiladores que extraigan mucho
paralelismo.
Se construyeron pocas CPUs de propsito
general VLIW. A pesar de explotar mucho
ILP, no tuvieron xito comercial.

Cach
Instr

Unidad
Fetch

nica Instruccin Multioperacin


VLI
W
EU

EU

EU

Banco de Registros

224

No se pude mostrar la imagen vinculada. Puede que se haya movido, cambiado de nombre o eliminado el archivo. Compruebe que el vnculo seala al archivo y ubicaciones correctos.

225

Pirsch

226

227

228

Sistema
Multicomputador

Debe haber un cierto grado de


paralelismo en el programa

3 Fases de pipeline:
Bsqueda:

PG->Direccin sig. paquete.


PS-> Direccin a mem.
PW->Lectura
PR->Recibir instrucciones.

Descodificacin:

DP->Generar paquete ex.


DC->Decodificar operandos.

Ejecucin:

E1->Cond. y leer operandos.


E2->Env. Direccin a mem.
E3->Acceso a mem.
E4->Recibir datos de mem.
E5->Escritura a reg.

230

Cuadruple palabra empaquetada:


1 cantidad de 64 bits
63

Doble palabra empaquetada:

2 palabras empaquetadas en 64 bits


63

32 31

Palabra empaquetada:

4 palabras empaquetadas en 64 bits


63

16 15

Byte empaquetado:
8 bytes empaquetados en 64 bits
63

8 7

231

232

233

A = a1 a0
B = b1 b0
C = (a1 + b1) ( a0 + b0 )
234

235

http://users.ece.gatech.edu/~scotty/overview/sld001.htm

236

238

239

class Matriz{
double _tabla[][];
// ...
/**
* Transpone la matriz (cambia filas por columnas)
* @return true si la matriz se puede trasponer. false en caso
*
contrario
*/
boolean trasponer(){
double aux = 0;
boolean retorno = true;

La transposicin
de una matriz:
cambiar las filas por
las columnas

for (int f = 0 ; f < _tabla.length ; f++){


// Comprueba que la matriz es cuadrada, es decir que todas las
columnas
// tienen la misma longitud que las filas
if (_tabla.length != _tabla[f].length)
retorno = false;
}
if (retorno != false)
for (int f = 0 ; f < _tabla.length ; f++){
for (int c = f + 1; c < _tabla[f].length; c++) {
aux = _tabla[f][c];
_tabla[f][c] = _tabla[c][f];
_tabla[c][f] = aux;
}
}
return retorno;
}

d3

d2

d1

d0

d3

c3

b3

a3

c3

c2

c1

c0

d2

c2

b2

a2

b3

b2

b1

b0

d1

c1

b1

a1

a3

a2

a1

a0

d0

c0

b0

a0

240

241

Aspectos clave

Velocidad Tiempo real


Densidad de cdigo
Bajo consumo
Programacin (compatibilidad,
lenguaje)

Mltiples bancos de memoria y


buses

Arquitectura Harvard
Harvard modificado: Mltiples
memorias de datos

Repertorio de instrucciones

RISC / CISC / SISC / VLIW

242

Datos empaquetados
SIMD

Data path configurado para


DSP

Aspectos de la microarquitectura
Pipeline
cache

Tipos de datos

Aritmtica: punto filjo /


punto flotante
MAC- Multiplicacin acumulacin
Modos de direccionamiento
especializados
Bit-reversed addressing
Buffers circulares

Juego de instrucciones
especializado y control

Bucles con Zero-overhead


Soporte para MAC

Perifricos especializados para


DSP

Camino de datos: la unidad del procesador


en la que se manipulan los datos par
efectuar la operacin que conlleva cada
instruccin
Uno de los recursos ms importantes del
camino de datos es la ALU

Tipos (segn la representacin numrica).


DSP de coma fija
DSP de coma flotante

Operacin ms frecuente MAC

Program Memory Data Bus


Data Memory Data Bus
Program
Memory

Arquitectura
optimizada para
proveer procesamiento
veloz de seales
discretas en el tiempo,
ej: Multiplicar y
Acumular (MAC) en un
solo ciclo

Data
Memory

Multiplexer

Multiplexer

ALU

Accumulator

244

Data path con unidades MAC y ALU


separadas
245

Data path con MUL y ALU combinadas

246

DSP contienen un multiplicador


que
puede
multiplicar
2
operandos de tamao nativo en
un nico ciclo de instruccin.
Hay DSPs que en lugar de un
multiplicador
en
1
ciclo
incluyen
un
multiplicador
pipeline que lo que pueden es
producir un nuevo resultado
por ciclo, pero que incorporar
una latencia de ms de 1 ciclo
de retardo para disponer de un
resultado concreto.

Lecturas y escrituras
concurrentes

247

El tamao de la palabra afecta


a la precisin en nmeros en
punto fijo
DSPs tienen palabras de datos
de 16-bit, 20-bit, or 24-bit
Ley de conservacin de bits:
cuando multiplicamos 2
nmeros en punto fijo, si
tenemos 2xn bits para
representar el resultado.
Algunos DSP, por razones de
velocidad y economa reducen
el nmero de bits del
resultado, al multiplicar 2
nmeros de 16 bits producen
un resultado de 24 bits

248

Aritmtica en punto fijo

La precisin depende del nmero representado


Muchas sumas consecutivas pueden producir overflow

Evitar overflow bits de guarda Los acumuladores son de 2n+ g


bits (2g-1 overflows)

Permite realizar ms acumulaciones sin el riesgo de overflows


No hay que estar continuamente testeando el flag V
Elude realizar escalados de los resultados intermedios
Slo habra que escalar al final (cuando el dato se almacena en
memoria)

249

Sin bits de guarda

En algn punto del


algoritmo puede ser
necesario escalar para
evitar desbordamientos

Alternativa: despus de
la multiplicacin y antes
de acumular
Desplazar a la derecha el
resultado (escalar)
Se pierden los bits menos
significativos
Descenso de la precisin a
costa de eludir el overflow

250

Aritmtica regular con redondeo


(wrap-around): cuando una operacin
realiza un overflow o un underflow, los
bits ms significativos son usualmente
truncados.
La saturacin aritmtica evita este efecto,
el resultado de la instruccin, ser el
nmero mayor o ms pequeo posible
representable en el tipo de datos de la
operacin.

252

La saturacin aritmtica evita este efecto, de forma que el resultado de


la instruccin, en lugar del redondeado ser el nmero mayor o ms
pequeo posible representable en el tipo de datos de la operacin.
2 tipos de saturacin aritmtica:
Saturacin signada y
Saturacin sin signo

253

El hardware automticamente detecta el overflow


(underflow), lo sustituye por el nmero ms positivo
(negativo)
Es un modo de trabajo opcional dentro del DSP
En TDS es preferible un error de saturacin que un
error de signo
254

255

Cuando se opera con nmeros muy grandes se suele usar la


notacin exponencial.
13257.3285, por ejemplo, puede representarse, entre otras, de las
siguientes formas:

13257.3285=
13257.3285100=
1.32573285104=
0.132573285105=
13257328510-4=
1325732850010-6= ...

N = M BE

: signo del nmero


M: mantisa
B: base (en el ejemplo, 10)
E: exponente

Se dice que el numero esta


normalizado cuando la
cifra mas significativa
esta en la posicin de las
unidades

Las unidades de
procesamiento de punto fijo de
un procesador DSP
tpicamente incorporan:
Un multiplicador
Una UAL (unidad para realizar
la combinacin funciones
sumador/restador/funciones
lgicas)
Uno o ms desplazadores
Registros para los operandos,
Acumuladores

Otras unidades especializadas


Unidad de generacin de
direcciones: Normalmente
esta UAL no se utiliza para el
clculo de la direccin de
memoria sino que se
proporciona un hardware
separado para el clculo de
direcciones

260

Ejemplos DSPs de punto flotante

DSP32 de AT&T, introducido


en 1985 fue el primer DSP de
coma flotante en un chip
TI TMS320C3x
MC9600x

262

Lapsley

Procesadores DSP
Punto fijo
16 bits

20 bits

Punto flotante
24 bits
32 bits
IEEE 754

263

Otros

El formato estndar para nmeros en coma flotante est


definido por el IEEE 754. 1985.
Algunos dispositivos de DSP, (TMS320C3x, TMS320C4x de
Texas Instruments,) utilizan un formato especial de
representacin de nmeros en coma flotante para los clculos
internos.

No son directamente compatibles con el estndar IEEE 754.


Esto no supone un problema normalmente pues la compatibilidad es
importante cuando se introducen o se sacan los nmeros hacia otros
dispositivos que si utilizan el estndar del IEEE.
Para todos los clculos internos, no se requiere ningn formato
especfico.

264

El valor decimal (v) de cualquier nmero X se determina como sigue:


v = {(-2)S+(.FRAC)}2EXP
donde: S es 0 1
FRAC es el equivalente decimal de FRACCION
EXP es el equivalente decimal de el EXPONENTE

Un formato equivalente para describir el formato de la mantisa en el


TMS320 es como sigue:

SS.FRACCION - Ntese que el bit a la izquierda del punto binario es implcito y


es el complemento del bit de signo.

Diferencias

la posicin del bit de signo,


El exponente es un nmero en complemento a dos.

266

Aspectos clave

Velocidad Tiempo real


Densidad de cdigo
Bajo consumo
Programacin (compatibilidad,
lenguaje)

Mltiples bancos de memoria y


buses

Arquitectura Harvard
Harvard modificado: Mltiples
memorias de datos

Repertorio de instrucciones

RISC / CISC / SISC / VLIW

267

Datos empaquetados
SIMD

Data path configurado para


DSP

Aspectos de la microarquitectura
Pipeline
cache

Tipos de datos

Aritmtica: punto filjo / punto


flotante
MAC- Multiplicacin acumulacin
Modos de direccionamiento
especializados
Bit-reversed addressing
Buffers circulares

Juego de instrucciones
especializado y control

Bucles con Zero-overhead


Soporte para MAC

Perifricos especializados para


DSP

Unidad generadora de direcciones: ALUs de direcciones


Los DSP incluyen 1 2 ALUs de direcciones

Objetivo:

Generar las direcciones para acceder a los operandos


Realizar clculos relativamente complejos sin emplear el data
path del procesador
Trabajan en paralelo con las unidades de tratamiento de datos
Adems de los modos de direccionamiento normales,
implementan
Direccionamiento en mdulo (gestin de buffers circulares)
Direccionamiento bit invertido o bit reversed (FFTs)

Normalmente incluyen varios tipos de registros


Punteros a memoria
Registros de incremento o indexacin
Registros de modo (lineal, circular, bit invertido)

268

269

Es un buffer normal exceptuando


cuando alcanza el final del lazo,
entonces vuelve al punto de partida.
Definir el punto de partida
Define el tamao del buffer

270

El generador de direcciones
debe calcular la siguiente
direccin dentro del buffer y
mantener el espaciado
adecuado entre datos, en el
ejemplo 2 posiciones son
saltadas. 30, 33, 36, 31, 34,...
Despus del 36 debe detectar
que la direccin 39 no es del
buffer y debe modificar para
acceder a la direccin 31
Esta comparacin y
modificacin se realiza sin
aadir retardos, gracias al
modulo circular buffering

http://www.analog.com/library/analogDialogue/archives/31-2/DSP.html

271

Es una UAL especfica para la


generacin de direcciones de
operandos que trabaja en
paralelo con el resto de las
Unidades Funcionales (UF)
Tiene asociados un gran nmero
de registros para
direccionamiento indirecto
(punteros)
Modos especiales de
direccionamiento para
procesamiento digital

Direccionamiento circular
(modular)
Direccionamiento para realizar
de forma rpida la transformada
discreta de Fourier
272

La direccin gira bsicamente alrededor de un


valor mximo, el mdulo N; por ejemplo N = 8:
repetidamente alrededor de las direcciones 07
Este tipo de direccionamiento es til cuando un
DSP est ejecutando un ncleo de cdigo y
repetidamente accede a un pequeo grupo de
datos y coeficientes
N debe ser divisible por 2, para simplificar el
diseo del hardware, ya que se puede utilizar el
bit overflow de un contador de P-bit (P log2N)
para resetearlo cada vez que excede el valor
mximo de la cuenta.
273

275

276

277

278

Es un buffer normal exceptuando cuando alcanza el final del


lazo, entonces vueve al punto de partida.
Definir el punto de partida
Define el tamao del buffer

A cada valor de y[n0] el puntero para los coeficientes x[k] debe apuntar a la ltima entrada (ej: x{-2} = -3)..
X[-2]

-3

X[-1]

X[0]

0.5

0
0

Al trmino de cada
muestra computada
vuelve atrs a x[-2]

buffer Circular = 3

h[0]

0.25

h[1]

0.25

h[2]

0.25

h[3]

0.25
0
0

279

Bsicamente el proceso de la inversin de bit involucra


tomar la salida de una seal binaria e ir invirtiendo el
orden de cada uno de los bits (LSB se vuelve MSB, etc.).
http://www.chipcenter.com/eexpert/bhenderson/bhenderson008-3.html

281

282
http://bernia.disca.upv.es/~gbenet/doctorat/fundam_dsp/ca

El modo normalmente
usado al realizar un
radix-2 FFT
Cuando una FFT radix-2
se computa, o los
resultados o los datos
fuente tienen que ser
accedidos en el orden bitinvertido.

Direccionamiento Binario Normal y BitReversed para un nmero de 4-bit


Normal
Bit-Reversed
Denary B3 B2 B1 B0 Denary B3 B2 B1 B0
0 0 0 0
0
0 0 0 0
0
8
1 0 0 0
1
0 0 0 1
2
0 0 1 0
4
0 1 0 0
3
0 0 1 1
12
1 1 0 0
2
0 0 1 0
4
0 1 0 0
10
1 0 1 0
5
0 1 0 1
6
0 1 1 0
6
0 1 1 0
7
0 1 1 1
14
1 1 1 0
1
0 0 0 1
8
1 0 0 0
9
1 0 0 1
9
1 0 0 1
5
0 1 0 1
10
1 0 1 0
11
1 0 1 1
13
1 1 0 1
12
1 1 0 0
3
0 0 1 1
13
1 1 0 1
11
1 0 1 1
7
0 1 1 1
14
1 1 1 0
15
1 1 1 1
15
1 1 1 1
283

284

Los algoritmos DSP son por naturaleza


repetitivos
Los DSP disponen de control del lazos
sin sobrecarga (zero-overhead looping)
Se evita el ciclo de determinar si debe o
no saltar y el clculo de la direccin
efectiva del salto
DSPs ejecutan estas funciones de test y
bifurcacin en hardware, almacenando
las direcciones necesarias
285

Usa una pequea


cache o buffer de
instrucciones, a veces
de 1 instruccin
El proceso debe ser
ineinterrumpible: las
interrupciones debes
ser descapacitadas al
entrar en el bloque
repeat

http://www.chipcenter.com/eexpert/bhenderson/bhenderson008.html

286

Caracterstica

Uso
Lgica cableada interna de una microprocesador, semejante a un multiplexor,

Barrell shifter

Buffer circular

Permite realizar diversos desplazamientos o rotaciones de una palabra de n bits


en un solo ciclo mquina
Area de la memoria utilizada para almacenar un flujo continuo de datos
Despus de alcanzar el final, comienza de nuevo por el principio del buffer.
Es escrito por un proceso y ledo generalmente por otro, manteniendo punteros
separados para ambos procesos a fin de impedir la sobreescritura de los datos
an no leidos

Permite a un procesador poner una lnea de retardo en ejecucin, sin tener que
realmente mover los valores de lso datos en memoria.
Mdulo de direccionamiento Realmente los datos permanecen inamovibles mientras son necesarios.
Esta simulacin se consigue manipulando punteros a memoria. El buffer
utilizado recibe el nombre de buffer circular

Lazos con overhead-0

Los algoritmos de DSP contienen a menudo bucles con un n conocido de


iteraciones.
Un DSP dedica tpicamente 2 ( 3) registros para el control de estos bucles.
Cuando en el cdigo existe una declaracin de bucle, se carga un registro con el
n deseado de iteraciones y otro con la direccin del final del bucle. .
Desus, el cuerpo del bucle se ejecuta rpidamente como cdigo lineal sin
causar ninguna parada del pipeline.
Este mecanismo puede ser jerarquizado

287

288

291

292

293

Arquitectura Harvard
Almacenamiento local para datos e instrucciones en el chip.
Un sistema de almacenamiento jerrquico con pequeas unidades
de memoria en el chip y gran capacidad de memoria externa mejora
el ancho de banda de memoria efectivo
El paralelismo a nivel de instruccin puede ser soportado por
arquitecturas VLIW
Paralelismo de subpalabras: UALs divididas esto incrementa la
concurrencia de operaciones.
Empleo de multplicadores y desplazadores dedicados para acelerar
las operaciones
Extensiones de hardware adicional para reducir el nmero de ciclos
de instrucciones DSP especializadas.
Implementaciones especiales de la Unidad de generacin de
direcciones con un hardware diseado para contador de lazos.
294

Elevada capacidad de procesamiento


aritmtico de datos en tiempo real, con elevada
precisin, para evitar problemas de redondeo y
truncamiento
Etapas Multiplicadora/Acumuladora (MAC)
apta para resolver ecuaciones del tipo A = A +
(B x C) en un nico ciclo
Circuitos BS (Barrel Shifter) para desplazar
un dato varios bits a derecha/izquierda en un
nico ciclo de instruccin
Varias unidades de procesamiento operando
en forma concurrente (MAC, barrel shift): Una
ALU operando en forma independiente al
MAC y al BS
Cdigos de operacin para controlar al MAC,
ALU y BS en una nica instruccin (varias
operaciones concurrentes )
Operaciones aritmticas especiales
(saturacin)
Algunos DSPs con unidades de punto flotante
301

302

Objetivo del diseo:

Implementar un sistema con la funcionalidad deseada


Requisitos funcionales

Retos claves del diseo


Optimizar simultneamente varis mtricas de diseo
Requisitos no funcionales

Mtricas de diseo

Una caracterstica medible de una implementacin del


sistema

Usualmente captura aspectos no funcionales del


sistema

Cmo trabaja el sistema en lugar de qu hace el sistema

Muchos SE estn orientados al mercado de produccin


masiva (n elevado de unidades) deben tener bajos
costes de fabricacin, para ello limitan
Memoria
Potencia del procesador, etc

Tiempos de diseo ajustados

Tiempo desde que se plantea disear un producto hasta que est


disponible en el mercado

El consumo de potencia es crtico en dispositivos a


bateras

Consumo excesivo de potencia incrementa el coste del sistema


como en los dispositivos conectados a la red

Fiabilidad / Disponibilidad
305

Restricciones
Recursos
Tiempo

Diferencias :
Operaciones en tiempo real
306
Tipo de restricciones para el diseo

Cunto HW necesito?
Qu restricciones temporales?
Cmo minimizar el consumo de energa?
Cmo gestionar la compatibilidad, la
facilidad de actualizacin?
Qu tipo de robustez, fiabilidad,
disponibilidad?
Test necesarios
Cmo observar el comportamiento? cmo
controlarlo?

Qu entornos de desarrollo existe?

Proceso de diseo proceso de


refinamientos sucesivos con niveles de
abstraccin decrecientes.
En el proceso de refinamiento hay
que considerar:

Compromisos: propiedades de diseo del


sistema que no se cambiarn en los
niveles inferiores.
Obligaciones: aspectos del diseo sobre
los que no se alcanzan compromisos en
un nivel particular y deben ser tratados
en niveles inferiores del diseo.

Refinamos los
requerimientos
en una
especificacin
Especificaciones

El proceso de refinar un diseo


transformar las obligaciones en
compromisos est sujeto a
restricciones impuestas principalmente
por el entorno de ejecucin.

308

309

310

Aplicacin
Definir los
requerimientos del sistema

Desarrollo del software


Escritura
programa
Cdigo fuente

Desarrollo del Hardware


Hardware

Diseo del esquemtico

Integracin del sistema


Pruebas de conjunto

Depuracin y test
del sistema

Ensamblado del

Eleccin del dispositivo

programa

Seleccin de las

Simulacin en
el ordenador
host

herramientas de desarrollo

Plan de desarrollo

Depuracin
correccin
errores

Diseo del sistema

grabacin del
microcontrolador

Simulacin en
el ordenador
host

documentacin del diseo

Construccin
del prototipo

Depuracin y test
del prototipo

311

Anlisis

Plan de desarrollo
Diseo
(documentacin del diseo)
Realizacin

Test y bsquedas de errores


Documentacin
312

Objetivos

Diseo
Rendimiento

ISA

Qu hacer en SW?
til: permitir programacin ptima
Qu hacer por HW? Implementacin:
rendimiento / coste

Equilibrio

Diseo
del HW

Construccin de bloques:
CPU, memoria, dispositivos de E/S,
interconexiones
Balancear rendimiento y coste.
Mtricas de rendimiento: velocidad, consumo...
tiempo (diseo, construccin, depuracin)
coste de implementacin

Aanalizar si se han cumplido las metas:


Herramientas de medida de rendimiento:
programas benchmark,... .
...
315

316

Aplicacin

Hardware

Software

Prueba de
conjunto
317

http://www.stsc.hill.af.mil/crosstalk/2001/06/moore.html
318

Intertwined subtasks

ASIC
Processor

DSP
Code

Analog I/O
Memory

Specification/modeling
H/W & S/W partitioning
Scheduling & resource allocations
H/W & S/W implementation
Verification & debugging

Crucial is the co-design and joint


optimization of hardware and
software

319

Slide courtesy of Mani Srivastava

Para decidir el tipo de dispositivo a utilizar para


llevar a cabo un proyecto, hemos de considerar
lo siguiente:

Puedo obtener ayuda cuando tenga problemas?


Qu herramientas de desarrollo estn disponibles
y cuanto cuestan?.
Que clase de documentacin tengo disponible
(manuales de referencia, notas de aplicacin, libros)
Tiene el fabricante disponibles para ese
microcontrolador dispositivos perifricos
(conversores A/D, memoria, reguladores de
tensin)?
Disponen de microcontroladores OTM, grabables
por mscara, EPROM, de esa misma familia?
320

Hardware: arquitectura, velocidad, dispositivos,


memoria, protocolos de interfaces con otros
dispositivos
Cundo estar disponible el HW para probar?
Costo del hardware en relacin al costo del
desarrollo (cuntos miles o millones se
harn?)
Uso o no de un sistema operativo de tiempo real
(RTOS = real-time operating system)
Soporte de la marca/distribuidores
Disponibilidad de herramientas de software y
de hardware
321

Coste

Arquitectura

Consumo

Rendimiento

Es suficiente con 1 slo chip?


Alimentado por bateras
Necesita disipar calor?
Tecnologa?

CMOS frecuencia de reloj

Recursos en el chip

CISC, RISC, SISC, VLIW


Performance

Tiempo de ciclo de
instruccin
Velocidad del bus

Thorughput

Tamao

Tamao del cdigo

Fabricante

Memoria
Recursos de E/S

Repertorio de instrucciones
Modos de direccionamiento

4, 8, 16, bits?
Dimensin fsica
Otros suministradores?
Elemento de la familia

322

Latencia de las interrupciones


Rendimiento de los perifricos
on-chip
Consumo de potencia
(MIPS/watt)
Modos stanby o sleep (25%
procesador; 50% memoria;
25% dispositivos de E/S)

Testeabilidad:

Puerto de acceso de test


compatible con el estndar de
test IEEE 1149.1

Fiabilidad

Ciclo de vida tpico superior al


del computador de sobremesa

Software

Fcil programabilidad

Herramientas de desarrollo
HW
SW

323

Adaptacin a la aplicacin:

Tamao de memoria
Tipo de memoria (EPROM; Flash,
N de timers
Requerimientos de E/S,

Compatibilidad: para futuras ampliaciones


con otros elementos de la familia, evitar
rediseos
Disponibilidad
Soporte y documentacin
Herramientas de desarrollo HW y SW
324

Cuestiones que facilitan el diseo de nuevos productos

Que sea popular


Que disponga de herramientas CAD
Buenos manuales, aplicaciones de diseo bien documentadas,
Gran cantidad de experiencia y conocimiento

325

No existen buenos y malos fabricantes de


microcontroladores:
Posibilidades de integracin y competencias
tcnicas casi idnticas

Entre los criterios de eleccin, el ms


importante:

Adaptacin de la arquitectura a las necesidades


de la aplicacin
Disponer o no del sistema de desarrollo

Considerar las familias de


microcontroladores

Microcontroladores compatibles a nivel de


arquitectura, programacin y herramientas de
desarrollo
326

La velocidad de cmputo de un
microprocesador se asocia a su rendimiento.
Qu es la velocidad de cmputo? De qu
depende?
Velocidad del reloj
Nmero de bits de los registros
Nmero de bits del bus (externo) de datos
Procesamiento paralelo: pipelining, SIMD, ...
Velocidad media de acceso a memoria: uso de
cach

Un procesador de 32 bits significa...


327

Caractersticas:

Tcnicas: velocidad, consumo, tamao, coste


Otros: herramienta de desarrollo, experiencia, licencias, tiempo para
estar en el mercado, etc.

Velocidad: Cmo evaluar la velocidad de un procesador?

Velocidad del Clock speed pero las instrucciones por ciclo pueden
variar
Instrucciones por segundo pero el trabajo por segundo puede variar
Benchmark
Dhrystone: benchmark sinttico, desarrollado en 1984. Dhrystones/sec.

MIPS: 1 MIPS = 1757 Dhrystones /seg (basado en Digitals VAX 11/780).


A.k.a. Dhrystone MIPS. Commonly used today.
So, 750 MIPS = 750*1757 = 1,317,750 Dhrystones per second

SPEC: es un conjunto de benchmarks ms realista, pero orientado a desktops


EEMBC EDN Embedded Benchmark Consortium, www.eembc.org
Grupo de benchmarks: automocin, electrnica de consumo, redes,
automatizacin de oficina, telecomunicaciones

328

329

330

Problema: la carga es
variable

Usuarios

Variables controladas y
variables no
controladas
Carga

Sistema
informtico

Prestaciones

Evaluacin de rendimiento: la medida de


cmo un SW determinado est utilizando
el HW con una determinada combinacin
de programas, que constituyen lo que se
denomina carga del sistema

Depende de la finalidad

Predecir: El mejor benchmark la propia


aplicacin
Comparacin: Los fabricantes de los
microprocesadores proporcionan benchmarks
mostrando que sus dispositivos son mejores
que los otros

Es importante usar una gran variedad de


benchmarks que sean representativos de
la aplicacin especfica
332

333

ECL does benchmark certifications and


benchmark development work for EEMBC
Synchromesh Computing was formed to
divest ECL of any non-EEMBC work, and
has taken over the First Impressions, Deep
Impressions, Benchmark Studies, Compiler
Studies, Embedded Development, and First
Customer work from ECL
ECL completely supports EEMBC and its
mission of benchmarks for processors
334

Control de Acceso Usando la RFid


http://digitalesitesi.blogspot.com.es/2010/10/control-deacceso-usando-la-rfid-parte.html

Herramientas y entornos de desarrollo

Editor
Compilador
Ensamblador
Simulador
Emulador
Programador

Programacin

Metodologa de trabajo

Programar en assembler o lenguaje de alto nivel


Generar el contenido de la ROM
Grabar en la ROM el programa
Verificar el contenido de la ROM

Programacin en el sistema
Proteccin del programa

Debug

Reemplazar al Microcomputador en el circuito


Usar el interfaz para debug si est disponible
Uso de emuladores
337

Compilers

Cross compiler

C File

C File

Compil
er
Binary File

Binary File

Asm. File

Assembl
er
Binary File

Linker
Library

Runs on one
processor, but
generates code for
another

Assemblers
Linkers
Debuggers
Profilers

Debugge
r

Exec. File

Profile
r

Implementation Phase

Verification Phase

Integrated Development Environment (IDE)


338

339

http://www.grifo.com/SVIL/uk_h_tool.htm

Cuestiones que facilitan el diseo de


nuevos productos

Que sea popular


Que disponga de herramientas CAD
Que disponga de herramientas de desarrollo
Buenos manuales, aplicaciones de diseo
bien documentadas,
Gran cantidad de experiencia y
conocimiento
342

Bloque 1. Diseo de sistemas de


cmputo basados en microprocesadores y
microcontroladores.
Bloque 2. Dispositivos perifricos.
Sistemas de almacenamiento.
Bloque 3. Interconexin de dispositivos
perifricos.
Bloque 4. Evaluacin de prestaciones de
sistemas de cmputo.

S-ar putea să vă placă și