Está en la página 1de 90

UNIDAD I

INTRODUCCIÓN A LOS SISTEMAS EMBEBIDOS


Objetivo particular de la unidad
Al término de la unidad, el alumno comprenderá y conocerá la organización básica de una
computadora y sus elementos básicos, así como qué es un sistema embebido entendiendo su
importancia, límites, restricciones, áreas de aplicación y requerimientos de diseño
Contenidos
1. Definición de procesador, controlador, 8. Diferencias entre Sistema Embebido y
computadora, DSP y DSC Sistema Basado en Computadora
2. Arquitectura general de una computadora 9. Recursos Internos de los
Microcontroladores
3. Definición y tipos de buses y memorias
10. Selección de Microcontroladores
4. Arquitecturas internas: Von Neuman y
Harvard 11. Aplicación de los Sistemas embebidos
5. Organización del procesador 12. Fases de Diseño de un Sistema Embebido.
6. Arquitecturas del procesador: CISC, RISC Y
SISC
7. Ejecución de instrucciones y pipeline
Definición de procesador, controlador, computadora, DSP y DSC
Microprocesador
Es un procesador de computadora que incorpora las funciones de la unidad central de
procesamiento (CPU) en un solo circuito integrado.
Los microprocesador es multipropósito, programable, cuenta con entradas y salidas digitales,
contiene lógica combinacional y secuencial.
Definición de procesador, controlador, computadora, DSP y
DSC
Microcontrolador
Es una pequeña computadora en un solo circuito que contiene un procesador, memorias y
periféricos de entrada/salida programables.
Estos dispositivos contienen memoria programable RAM, FLASH y ROM, están diseñados para
aplicaciones embebidas en contraste con los procesadores utilizados en las PC.
Definición de procesador, controlador, computadora, DSP y
DSC
Computadora
Es un dispositivo de propósito general que puede ser programable para llevar a cabo una serie de
operaciones lógico-aritméticas de manera automática.
Definición de procesador, controlador, computadora, DSP y
DSC
DSP
De sus siglas en inglés Digital Signal Processor, son microprocesadores especializados cuya
arquitectura para lo operacional necesita de una señal digital de procesamiento. Los DSP son
utilizados para realizar mediciones, filtrados o comprimir señales continuas análogas del mundo
real.
Definición de procesador, controlador, computadora, DSP y
DSC
DSC
De sus siglas en inglés, Digital Signal Controller. Son híbridos entre el microcontrolador y el DSP.
Estos dispositivos tienen una respuesta rápida de interrupciones y ofrecen un control orientado a
periféricos como el PWM.
Arquitectura general de una computadora.
Cuando hablamos de arquitectura en el ámbito de las computadoras, nos referimos a los
atributos de un sistema que son visibles para un programador, es decir que son los atributos que
tienen un impacto directo en la ejecución de un programa.
Arquitectura general de una computadora.
Entre los ejemplos de atributos tenemos:
-El conjunto de instrucciones
-Los bits utilizados para representar tipos de datos (números, caracteres)
-Mecanismos de Entrada/Salida
-Técnicas de direccionamiento de memoria.
Arquitectura general de una computadora.

Arquitectura: Instrucción de multiplicar


Organización: ¿Cómo va a ser implementada la instrucción? Esta se va a basar en la
frecuencia del uso de una instrucción y el coste y tamaño físico de la unidad.
Arquitectura general de una computadora.
La distinción entre organización y arquitectura es importante pues los fabricantes tienen familias
de modelos pero tienen la misma arquitectura, por ejemplo el sistema IBM 370
Organización Interna de la Computadora
La organización interna de la computadora puede desglosarse en tres partes:
◦ CPU – Unidad Central de procesamiento
◦ Memoria
◦ Dispositivos de Entrada o de Salida (I/O)
Organización Interna de la Computadora
Unidad Central de Procesamiento.
La función de esta parte es ejecutar toda la información almacenada dentro de la
memora, a esta función se le conoce como procesar.
Organización Interna de la Computadora
Dispositivos de Entrada/Salida
La función de estos dispositivos es proveer información mediante comunicación
con la computadora, por ejemplo el teclado o la pantalla sirven para establecer
comunicación entre el usuario y la máquina.
Organización Interna de la Computadora
La CPU esta conectada a la memoria y a los dispositivos de entrada/salida
mediante cables denominados como Bus, los cuales permiten el paso de
información de un lado a otro, existen tres tipos de buses: dirección, datos y
control.
Es importante mencionar que cada dispositivo ya sea memoria o dispositivos de
entrada/salida tienen una dirección única, para que puedan ser reconocidas por
el CPU.
Organización Interna de la Computadora
Buses
Como se comentó anteriormente, existen buses de tres tipos:
-Datos
-Dirección
-Control
-Sistema
Organización Interna de la Computadora
Bus de Datos
Estos buses son utilizados para desplazar información dentro y fuera de la CPU,
entre más cantidad de buses haya disponibles, mejor para la CPU.
El tamaño de los buses puede variar entre 8 y 64 bits, los cuales son
bidireccionales, ya que la CPU debe de enviar o recibir información. El nivel de
procesamiento de una computadora es relativo al tamaño de sus buses.
Organización Interna de la Computadora
Bus de Dirección.
Las direcciones son fundamentales para identificar a los dispositivos y las
localidades de memoria conectadas a la computadora, es decir que el número de
buses de dirección determinan la cantidad de locaciones con las que la CPU se
puede comunicar.
El número de locaciones es igual a 2X donde la x representa el número de líneas
de dirección.
Los buses de dirección son unidireccionales.
Organización Interna de la Computadora
Bus de control
Los buses de control son utilizados para leer o escribir señales al dispositivo para
indicar si la CPU está preguntando por información o enviando información.
Organización Interna de la Computadora
Bus de Sistema
Se utilizan para interconectar varios componentes como CPU, memoria, I/O.
Organización Interna de la Computadora
Memoria
Las memorias están organizadas en un número de locaciones dentro del circuito
integrado, cada locación puede contener 1, 4, 8 o 16 bits, dependiendo de cómo
esté diseñada internamente. El número de bits que puede contener cada
locación de memoria es igual al número de pines de datos del chip.
Organización Interna de la Computadora
Memoria
Un chip de memoria contiene 2x número de locaciones, donde x representa el
número de pines de dirección.
Cada locación contiene y bits, donde y es el número de pines de datos del chip
Todo el chip de memoria contiene 2xy bits, donde x es el número de pines de
dirección, y representa el número de pines de datos del chip.
Organización Interna de la Computadora
Memoria
Una de las características más importantes de la memoria es la velocidad con la
que se va a tener acceso a cada dato.
La velocidad del chip de memoria está relacionada con el tiempo de acceso, el
cual varía según la tecnología del circuito integrado.
Organización Interna de la Computadora
Memoria
Las características más importantes de la memoria son las siguientes:
-Capacidad
-Organización
-Tiempo de acceso.
Organización Interna de la Computadora
Memoria
Las memorias se pueden clasificar en las siguientes:
-ROM
-PROM
-EPROM
-FLASH
-RAM
-SRAM
Organización Interna de la Computadora

Memoria ROM
Read Only Memory
Es un tipo de memoria que no pierde su
contenido cuando la fuente de energía es
apagada, se le conoce también como memoria
no-volátil.
Organización Interna de la Computadora

Memoria PROM
Este tipo de memoria se refiere a una especie
de ROM en la que el usuario puede quemar
información (Progammable ROM).
Si la información quemada dentro de la PROM
es incorrecta, la PROM queda inservible (OTP)
Organización Interna de la Computadora

Memoria EPROM
Estas memorias se inventaron para realizar
cambios en el contenido de la PROM después
de ser quemada.
Los cambios se pueden realizar cientos de
veces (Erasable Programmable ROM).
Una de las variantes de estas memorias, son
las E-EPROM y UV-EPROM
Organización Interna de la Computadora

Memoria Flash EPROM


Dentro de este tipo de memorias permiten
borrar un byte determinado, en comparación
con las memorias Flash, que cuando son
borradas, se elimina todo el dispositivo.
Organización interna de la
computadora
Memoria RAM
Random Access Memory
Esta memoria es llamada “memoria
volátil”, ya que si se corta la alimentación
del circuito integrado, tenemos como
resultante la pérdida de información.
Organización interna de la
computadora
Memoria SRAM (Static RAM)
Las celdas de almacenamiento en este tipo
de memorias están hechas de flip-flops,
por lo que no requieren actualizaciones
para mantener sus datos.
Organización interna de la computadora
Unidad 1 – Actividad 1 -Realizar una tabla comparativa sobre los
buses, en la que incluya ejemplos.
-Realizar un cuadro sinóptico de los tipos de
memoria
Harvard y Von Neumann
ARQUITECTURAS INTERNAS.
Arquitecturas Harvard y Von Neumann
Las arquitecturas Harvard y Von Neumann son modelos generales de
Hardware de los ordenadores y nos representan dos soluciones
distintas para conectar la CPU con la memoria, así como a la
organización de la memoria como un almacén de instrucciones y
datos.
Arquitectura Harvard
El termino de arquitectura Harvard se le debe al donde se diseñaron los
ordenadores Mark I, II, III y IV por Howard Aiken, los cuales fueron los primeros
en usar memorias separadas para las instrucciones y los datos.
Arquitectura Harvard
➢Utiliza memorias separadas para instrucciones y datos.
➢La memoria de programa tiene su bus de direcciones, su
propio bus de datos y su bus de control.
➢La memoria de datos tiene sus propios buses de
direcciones, datos y control, estos son independientes de la
memoria de programa.
Arquitectura Harvard
Arquitectura Harvard
Ventajas.
➢Se puede optimizar el tamaño de cualquier instrucción
para que ocupe una sola posición de memoria de programa,
lo que produce una mayor velocidad y disminuir la longitud
de programa.
➢Se puede lograr una mayor velocidad en cada operación
gracias a que el tiempo de acceso a las instrucciones se
puede superponer con el de los datos.
Arquitectura Von-Neumann
Esta arquitectura toma el nombre del matemático John Von
Neumann, quien dio la idea de una computadora con el
programa almacenado (o por sus siglas en inglés, stored-
program computer).
Arquitectura Von-Neumann
➢Utiliza una memoria única para las instrucciones y los datos.
➢Las instrucciones y los datos se localizan mediante un solo bus de direcciones.
➢La señal de control que emite la CPU, sirve para leer un dato o leer una instrucción.
➢No existen señales de control particulares para datos e instrucciones.
➢Las memoria ROM y RAM forman un conjunto único, a donde la CPU emite señales de control,
dirección y datos.
Arquitectura Von-Neumann
Arquitectura Von-Neumann
Ventajas.
➢Requiere menos líneas que Harvard para conectar la CPU con la memoria, generando una
conexión más simple.
Desventajas.
➢Es imposible manejar al mismo tiempo instrucciones y datos, debido a los buses únicos.
➢Tiene una menor velocidad en comparación con Harvard para la ejecución de programas.
Organización del procesador
+
ARQUITECTURAS DEL PROCESADOR: CISC, RISC, SISC
Organización del Procesador
La función principal de esta unidad, es procesar datos y transferirlos
a otros elementos de la computadora mediante instrucciones, por lo
que es importante que la ejecución de estas sea de la manera más
eficiente.
Los procesadores operan según una señal de sincronización conocida
como señal de reloj, esta onda funciona con una determinada
frecuencia y gobierna a las operaciones del procesador, como
determinar la duración mínima de una operación del procesador.
Organización del Procesador
El procesador realiza actividades como:
➢Captar Instrucciones
➢Interpretar Instrucciones
➢Captar Datos
➢Procesar Datos
➢Escribir Datos
Organización del Procesador
Como elementos básicos del Procesador tenemos:
➢Conjunto de Registros
➢Unidad Aritmética y Lógica (ALU)
➢Unidad de control
Organización del Procesador
Organización del Procesador
UNIDAD ARITMÉTICA LÓGICA
Es el circuito que realiza operaciones aritméticas y lógicas con los
datos que almacena el procesador.
Organización del Procesador
UNIDAD DE CONTROL
Controla el funcionamiento de todos los componentes del
procesador, así como el movimiento de datos e instrucciones y las
operaciones de la ALU.
En la unidad de control se encuentra la Lógica Secuencial, los
registros y decodificadores de la unidad de control y la memoria de
control.
Organización del Procesador
UNIDAD DE CONTROL
Organización del Procesador
CONJUNTO DE REGISTROS
Espacio que almacena temporalmente datos e instrucciones dentro
del procesador.
Organización del Procesador
Organización del Procesador
REGISTROS
Se organizan de manera jerárquica, su contenido puede variar de un
equipo a otro dependiendo de los dispositivos, servicios y programas
instalados en cada equipo.
➢Registros de propósito general
➢Registros de instrucción
➢Registros de acceso a memoria
➢Registros de estado y control
Organización del Procesador
REGISTROS DE PROPOSITO GENERAL
Suelen utilizarse como operandos en las instrucciones del
ensamblador, se les pueden asignar funciones concretas como datos
o direccionamiento.
Organización del Procesador
REGISTROS DE INSTRUCCIÓN
Estan relacionados con el Contador de Programa, que contiene la
direccion de la instrucción siguiente que hay que leer de la memoria;
y el Registro de Instrucción que contiene la ejecución que hay que
ejecutar.
Organización del Procesador
REGISTROS DE ACCESO A MEMORIA
Hay dos registros necesarios para cualquier operación de lectura o
escritura de memoria:
➢Memory Address Register: registro de direcciones de memoria
➢Memory Buffer Register: registro de daos de memoria.
Organización del Procesador
REGISTROS DE ESTADO Y CONTROL
Los bits de estos registros son modificados por el procesador cuando
se ejecuta algún tipo de instrucción o como consecuencia de algún
acontecimiento como una interrupción
Arquitectura CISC
COMPLEX INSTRUCTION SET COMPUTER
➢Tiene un repertorio de instrucciones complejo
➢El repertorio de instrucciones permite realizar operaciones
complejas entre los operandos que se ubican en la memoria o en los
registros internos del procesador.
➢Esta basada en la microprogramación
Arquitectura RISC
REDUCED INSTRUCTION SET COMPUTER
➢Su finalidad es que las instrucciones se realicen lo más rápido posible.
➢Simplifican las instrucciones y se ejecutan de manera mas rápida.
➢Las instrucciones realizan operaciones simples.
➢Es posible que las instrucciones tengan la misma longitud.
➢Tiene pocos modos de direccionamiento de datos.
➢Disminuye la complejidad de la CPU.
➢Son más baratos de producir.
Arquitectura SISC
SIMPLE INSTRUCTION SET COMPUTING
Está orientada al procesamiento en paralelo. Permite a múltiples
dispositivos utilizarse conjuntamente para resolver un problema
particular dividido en partes disjuntas. Utiliza un conjunto de
instrucciones reducidos que se ejecutan a alta velocidad.
Arquitecturas CISC y RISC
Ejecución de Instrucciones
1.7
Ejecución de instrucciones
El ciclo de ejecución es la secuencia de operaciones que se
hace para ejecutar cada una de las instrucciones. Cada
instrucción puede requerir diferente número de ciclos de
instrucción para su ejecución.

Las instrucciones que utiliza un procesador deben de ser


completas y eficaces para que este pueda realizar todos los
cálculos que necesite.
Ejecución de instrucciones
TIPOS DE INSTRUCCIONES
➢Aritméticas
➢Lógicas
➢Control de Flujo
➢Movimiento de datos
➢Instrucciones de comparación
➢Instrucciones de entrada/salida
➢Instrucciones de control
➢Instrucciones de desplazamiento
➢Instrucciones de bits
Ejecución de instrucciones
El ciclo de ejecución se puede dividir en cuatro fases principales:
➢Lectura de la instrucción
➢Lectura de los operandos fuente
➢Ejecución de la instrucción y almacenamiento del operando de destino
➢Comprobación de interrupciones
Ejecución de Instrucciones
Lectura de la instrucción
➢Lee la instrucción: El registro de contador de programa indica la dirección de memoria donde
está la instrucción a leer.
➢Decodificar la instrucción: Se identifican las partes de la instrucción para determinar las
operaciones necesarias en cada fase del ciclo de ejecución.
➢Actualizar el contador de programa
Ejecucion de Instrucciones
Lectura de los operandos fuente.
Esta fase se repite para todos los operados fuente que tengan la instrucción.
Las operaciones que se tienen que realizar en esta fase, van a depender del modo de
direccionamiento que tenga el operando, es decir que para los más simples como el inmediato o
el directo al registro no se realiza ninguna operación.
Pero para los que son indirectos o relativos se tienen que realizar cálculos y acceso a la
memoria.
Ejecución de Instrucciones
Ejecución de la instrucción
Se llevan a cabo las operaciones (que varían para el código de operación), además se obtiene el
resultado de la ejecución y se pueden modificar los bits de resultado de la palabra de estado del
procesador.
Almacenamiento del operando de destino
Se recoge el resultado obtenido en la ejecución y se guarda en el lugar indicado por el operando;
si es un operando implícito, este se guarda en un lugar predeterminado por aquella instrucción.
Ejecución de Instrucciones
Comprobación de interrupciones.
**Interrupción: Es un mecanismo mediante el cual un dispositivo externo al procesador puede
interrumpir el programa que esta ejecutando el procesador para ejecutar otro programa (otra
rutina) para dar servicio al dispositivo que ha producido la interrupción.

En esta fase se verifica si se ha activado alguna linea de petición de interrupción del procesador
en el transcurso de la verificación de el procesador.
Si no se ha activado ninguna, se continúa el proceso normalmente; de otro modo, se tiene que
transferir el control del procesador a la rutina que debe atender la interrupción y después
regresa al estado en el que estaba antes de transferir el control a la rutina de la interrupción.
Pipeline
Se le conoce también como segmentación de instrucciones y
consiste en dividir el ciclo de ejecución de las instrucciones
en etapas, las cuales pueden coincidir o no con las fases del
ciclo de ejecución de instrucciones.
Pipeline
Su objetivo es segmentar instrucciones, es decir que se
puedan ejecutar simultáneamente diferentes etapas de
distintas instrucciones, lo cual aumenta el rendimiento del
procesador sin tener que hacer más rápidas las unidades del
procesador ni tener que duplicarlas.
Pipeline
Esta técnica intenta mantener ocupada a cada parte del
procesador mediante la división de instrucciones entrantes
en pasos secuenciales, los cuales serán realizados por
diferentes unidades del procesador de manera simultánea.
Pipeline
Dentro de la técnica de pipeline, se transformará el flujo de
datos en un proceso comprendiendo distintas fases. El
pipeline es común en el desarrollo de programas para el
intérprete de comandos, debido a que se pueden conectar
fácilmente con las tuberías.
Pipeline
La técnica de Pipeline es común verla en sistemas operativos
multitarea debido a que se pueden ejecutar procesos de
manera simultánea, tomando en cuenta distintos tipos de
prioridades y capacidades de procesamiento.
Pipeline
Dentro del procesador, las instrucciones se pueden descomponer en
una serie de pasos para poder ejecutarse con éxito.
-Fetch
-Store
-Execute
-Write
Pipeline
Fetch
Se encarga de obtener la instrucción a ejecutar, la cual está
almacenada en la dirección del contador de programa

Store
Guarda la instrucción en el registro de instrucciones y posteriormente
la decodifica e incrementa la dirección del contador de programa
Pipeline
Execute
Ejecuta la instrucción almacenada en el registro de instrucciones,
además se encarga de direccionar a la instrucción dependiendo de
qué tipo sea. Por ejemplo, si es una instrucción aritmética es enviada
a la ALU.

Write
Escribe los resultados de la instrucción dentro del registro de destino.
Pipeline
Pipeline
Diferencias entre sistema embebido
y sistema basado en computadora
Sistema embebido
Se refiere a todo circuito electrónico capaz de realizar operaciones de
computación, en tiempo real y sirven para cumplir una tarea especifica
en un producto.
Los sistemas embebidos suelen tener recursos limitados y aplicaciones
especificas.
Contienen un microprocesador que ejecuta instrucciones a
determinada velocidad.
Los programas ejecutados por un sistema embebido están hechos en
lenguaje ensamblador, C, C++, ANSI o Basic.
Bajo consumo de energía.
Sistema embebido
Aplicaciones
➢Campo automotriz
➢Teléfonos móviles
➢Alarmas de casas
➢Instrumentación industrial
➢Equipos médicos
Selección de Microcontroladores
1.10
Selección de Microcontroladores
Cada microcontrolador tiene un set de instrucciones y un set de
registros único, por lo que generalmente no son compatibles entre
una marca y otra; es decir que los programas que se escriban para
uno, no van a funcionar en otro de otra marca.
Podemos encontrar marcas como
➢Motorola
➢Intel
➢Atmel AVR
➢Zilog
➢PIC
Selección de Microcontroladores
Criterios para seleccionar un Microcontrolador
Debido a que los microcontroladores anteriormente mencionados, los diseñadores deben de
seguir un criterio para escoger un microcontrolador; los criterios son los siguientes:
➢Satisfacer las necesidades informáticas de la tarea en cuestión de manera eficiente y rentable
➢Disponibilidad de herramientas de desarrollo de software y hardware como compiladores,
ensambladores, depuradores y emuladores.
➢Amplia disponibilidad y fuentes confiables del microcontrolador.
Selección de Microcontroladores
Criterios para escoger un microcontrolador.
1. Satisfacer las necesidades informáticas de la tarea en cuestión de manera eficiente y rentable
Se tiene que analizar qué tipo de microcontrolador podrá llevar acabo las necesidades computacionales de
la tarea de la manera mas efectiva, tenemos microcontroladores de 8-bit, 16-bit o 32-bit. Además tenemos
las siguientes consideraciones:
➢Velocidad
➢Empaquetado
➢Consumo de energía
➢Cantidad de memoria RAM y ROM
➢Cantidad de pines de entrada y salida, así como timers
➢Facilidad de actualización a versiones de mayor rendimiento o consumo de menor rendimiento
➢Costo por unidad
Selección de Microcontroladores
Criterios para seleccionar un microcontrolador
2. Desarrollo
Este criterio para escoger un microcontrolador nos dice que tan fácil
es desarrollar productos en este. Para sus consideraciones, incluyen:
disponibilidad de un ensamblador, depurador, compilador de código
en lenguaje C, un emulador y soporte técnico.
Selección de Microcontroladores
Criterios para seleccionar un microcontrolador
3. Disponibilidad
Este criterio nos habla de la disponibilidad inmediata y cantidades
necesarias del microcontrolador en la actualidad como en el futuro.
Puede ser el criterio mas importante.

También podría gustarte