Está en la página 1de 19

Depto.

Arquitectura y Tecnología de Computadores


ETSIIT, Universidad de Granada
Grado en ITT

SISTEMAS ELECTRÓNICOS DIGITALES

2. Microprocesadores

2.1 El microprocesador como componente principal de los


sistemas electrónicos digitales.
2.2 Clasificación de los procesadores integrados actuales.
2.3 Sistemas basados en microprocesadores:
generalidades, metodología y herramientas de
desarrollo. Organización de la memoria y
entradas/salidas.
2.1 El microprocesador como componente principal de los
sistemas electrónicos digitales.

• La mayoría de los sistemas electrónicos actuales están gobernados por


uno o varios procesadores integrados que ejecutan programas:
-Programa fijo de aplicación (a menudo denominado ‘firmware’).
-Software de aplicaciones elegidas y/o programadas por el usuario.
-Software de soporte del equipo (sistema operativo).

µP en PC

Router ADSL
4:µP 6:RAM 7:flash ARM en chip de iPod-nano

µC en tarjetas de
control de acceso,
identificación,
µC PIC en selector de monedas crédito, etc..
Procesadores integrados en aplicaciones de todos los sectores.
2.2 Clasificación de los procesadores integrados actuales.

• Según su ámbito de aplicación y arquitectura interna


– Microprocesadores (MPU o µP): Propósito general, para ordenadores
personales o donde se requiere una potencia de procesamiento
importante
– Microcontroladores (MCU o µC) : En sistemas empotrados: Menor
potencia de cálculo. Integra múltiples interfaces de periféricos útiles en
aplicaciones de control. Menor consumo.
– DSP (Digital Signal Processor): Aplicaciones para procesamiento de
señales.
– Procesadores Media: Microprocesadores con repertorios de
instrucciones multimedia y unidades hardware que implementan alguna
funcionalidad para simplificar los procesos de
compresión/descompresión de audio y/o vídeo u otras de
procesamiento de señales.
– Procesadores de red: procesadores interconectados en un chip para
aplicaciones de conmutación de paquetes en comunicaciones.
– GPU (Graphics Processing Unit): Chip con múltiples núcleos
procesadores+memorias para aplicaciones gráficas.
– Otros Procesadores integrados en SOC y en FPLD para distintos
dominios de aplicación.
Clasificación de los procesadores integrados actuales (cont.)

• Según el nº de bits (tamaño de palabra de ALU y registros)


– 4,8,16,32,64 bits

• Según repertorio de instrucciones:


– CISC: Complex instruction set computer
– RISC: Reduced instruction set computer
– VLIW: Very Large Instruction Word

• Según arquitectura CPU-memoria:


– Von Newmann: tradicional, con memoria de datos e
instrucciones compartida.
– Harvard: memorias separadas de datos y de instrucciones
(usual en DSP y microcontroladores)
Procesadores en distintos dominios de aplicación

Ordenadores personales,
Vídeo: Tratamiento de imágenes, efectos cálculo numérico, control
visuales, compresión y descompresión de complejo
imágenes, MPEG, HDTV, animación
Análisis: Militar: Radar, Identificación de blancos

Telefonía móvil: GSM, 3G Microprocesadores

Audio: Filtros, Ecualizadores gráficos,


vocoders, equipos de sonido Procesadores empotrados
Complejidad profesional, efectos de sonido, Impresoras, PDA, Enrutadores, GPS
grabación digital, sintetizadores
Telecomunicaciones: Compresión,
De/codificadores de señales y voz, descompresión de vídeo y
modems, cancelación de eco, ADSL, audio, MP3, MPEG2,…
Difusión de radio digital,
Domótica, Robótica, Procesadores
Automoción, Control, DSP Media
Electrodomésticos,
Periféricos, Juguetes

Microcontroladores

4/8 16/32
Nº bits 64
2.3 Sistemas basados en microprocesadores: generalidades,
metodología y herramientas de desarrollo. Organización de la
memoria y entradas/salidas.

- El elemento clave en el proceso de diseño del sistema es


la elección del procesador o familia de procesadores a
utilizar en el hardware del sistema.

- La elección se hace en base a:


- las características y requisitos de la aplicación.
- las alternativas de implementación disponibles (del
procesador, memorias, elementos de E/S y
comunicaciones).
- la disponibilidad de herramientas hw y sw para el
desarrollo del sistema.
Criterios a tener en cuenta en la selección
de un procesador
• Potencia requerida de cálculo (MIPS, MOPS, MFLOPS)
• Interfaces con periféricos integradas o no en el mismo chip.
• Interconexión con periféricos/elementos externos:
– Qué vamos a conectar
– Síncrono / asíncrono,
– Analógico / digital
• Requisitos de consumo (W)
– CMOS: Potencia ≈ área·frecuencia·voltaje2
– Modos activo y de bajo consumo (stand-by)
– Voltaje de funcionamiento. Alimentación con baterías?
– Disipación de calor en sistemas complejos o en aplicaciones críticas
• Posibilidad de actualización
– Programa residente en Flash vs. OTP (one-time programming)
• Requisitos de temperatura, tensión, interferencias
electromagnéticas, …
– Comercial, Industrial, automoción, militar, aeroespacial
Criterios a tener en cuenta en la selección
de un procesador (II)
• Integración.
– Chip aislado ó core de un diseño ASIC/SOC.
• Encapsulado
– DIL, PLCC, PGA,…
– Plástico, cerámico
• Time to Market…
– Desarrollar en un tiempo razonablemente corto.
– Herramientas adecuadas para desarrollo
• Múltiples fabricantes de microcontroladores y
procesadores empotrados
– Microchip, Intel, FreeScale(Motorola), ST, Renesas
(Hitachi+Mitsubishi electric), Atmel, Cypress, Maxim, …
– Algunos fabricantes de componentes de automoción y
aeroespacial requieren múltiples fabricantes de un procesador
y/o años de presencia en el mercado
Desarrollo de sistemas con
microprocesadores
Implica trabajo de co-diseño del hardware y del software.
Herramientas de desarrollo del software
(traductores)
• Ensambladores
– Permiten crear programas utilizando directamente el repertorio
de instrucciones del procesador y los registros internos.
– Al tener que escribir mayor cantidad de código, y de más bajo
nivel, más susceptible de cometer fallos de programación.

• Compiladores
– No requieren conocer el repertorio de instrucciones ni la
arquitectura interna a fondo.
– Lenguaje C ampliamente utilizado con microcontroladores.
– Incluyen bibliotecas que facilitan la programación:
aritmética, gráficos, comunicaciones, …
Herramientas de depuración software

• Simuladores
– Un simulador ejecuta un programa de un
microcontrolador en un computador de propósito
general (p.e. un PC).
– Los contenidos de la memoria y registros pueden ser
observados y alterados. Permiten introducir puntos
de parada y traza.
– Algunos soportan simulación de interrupciones y de
hardware adicional (ej. Proteus).
– La velocidad de ejecución puede ser menor que en el
µC real (depende de la carga de simulación).
Herramientas de desarrollo (hardware)

• Sistemas de desarrollo /
evaluación
– Residente en el µC, el
programa se ejecuta en el
µC. Permite visualizar la
ejecución desde una
terminal o computador
– Utiliza algunos recursos del
µC (un puerto de
comunicación, una
interrupción y memoria) y a
veces ralentiza la ejecución
(acceso a memoria y
registros, y comunicación)
– Permiten visualización y
actualización de memoria,
breakpoints, ...
Herramientas de desarrollo (hardware)

• Emuladores
– Hardware que “emula” al µC y
además permite obtener
información y actuar sobre la
aplicación sin gastar recursos
del µC ni alterar la evolución
temporal
– Se comunica por una parte
con un computador o terminal
(vía RS232 o similar) y por
otra con el sistema que
contendrá el µC (en
sustitución de éste)
– Permiten asignación de
puntos de parada, trazas…
Herramientas de desarrollo (hardware)
• In-Circuit Debugger
– Para micros que incorporan circuitería extra ICD.
– Mediante módulo de interfaz serie USB se programa y se
implementan funciones de depuración (paradas, visualización
de estado y memoria).
Organización de la memoria y e/s

Organización tradicional en un sistema basado en microprocesador:


La memoria puede estar ‘jerarquizada’ en varios niveles (SRAM, DRAM,
Disco/flash) y complementada por memorias caché internas del
microprocesador.
Acceso a memoria externa y periféricos mediante el bus del sistema.
Organización de la memoria y e/s
Organización en un microcontrolador:

Aunque suelen admitir extensiones de las memorias de datos y de


instrucciones, los microcontroladores suelen contener la memoria e
interfaces de e/s suficientes para resolver completamente la aplicación
(‘microcomputadores’ en un chip), conectando directamente los
periféricos a sus puertos de entrada/salida (input/ouput ports). El acceso
a memorias externas (en paralelo o en serie) también se realiza a través
de los puertos.
Acceso a datos e instrucciones en computador
con Arquitectura Von Neumann:
Memoria de datos y de instrucciones compartida.
Longitudes de palabra dependientes. Acceso compartido.
Acceso a datos e instrucciones en sistemas con
arquitectura Harvard (ej. Microcontroladores):
Memoria de datos y de instrucciones independientes. Longitudes
de palabra distintas y posibilidad de acceso simultáneo (*).

(*) Los valores numéricos indicados en la figura son un ejemplo,


correspondientes a un microcontrolador de 8 bits de gama media-baja.

También podría gustarte