Introducción al curso de Microprocesadores y Microcontroladores

Anuncio
Universidad Autónoma de Baja California
Facultad de Ingeniería Mexicali
Microprocesadores y
microcontroladores
M.C. Jorge Eduardo Ibarra Esquer
jorge.ibarra@uabc.edu.mx
Semestre 2012-1
Conceptos básicos
n  Computadora
¨ Máquina
diseñada para procesar, almacenar
y recuperar datos
¨ Los datos se almacenan como números
¨ La manipulación de los datos se efectúa
aplicando operaciones sobre los números
Computadoras
n  De
escritorio
n  Empotradas
Historia
1623 – Wilhelm Shickard diseñó
y construyó una máquina para
calcular tablas astronómicas.
Realizaba sumas y restas de
números de 6 dígitos.
1642 – Blaise Pascal construye
su calculadora mecánica
(Pascalina).
Realizaba sumas y restas en
complemento a 9.
Historia
1671 – Gottfried von Leibniz
diseñó la primer calculadora
mecánica capaz de realizar las
cuatro operaciones básicas.
1801 – Joseph Marie Jacquard
inventó un telar mecánico.
Es considerada la primer
máquina que podía ser
programada (por medio de
tarjetas de papel perforadas)
Historia
El retrato de Jacquard fue
tejido en seda utilizando el
telar que el inventó.
Sólo se hacían sobre pedido.
Se necesitaron 24000 tarjetas
perforadas.
Charles Babbage tenís uno de
estos retratos, lo que lo inspiró
a utilizarlos en su máquina
analítica.
Historia
Diseñada en 1822 para
“computar” valores de
funciones polinomiales.
Utilizaba el método de
diferencias finitas.
De haberse completado,
habría sido compuesta de
25000 partes y pesado
alrededor de 15 toneladas.
La Máquina Diferencial de
Charles Babbage
Historia
Se trata de una serie de
diseños que estuvo realizando
hasta su muerte.
Podía ser programada por
medio de tarjetas perforadas.
El diseño consideraba control
secuencial, saltos e
iteraciones.
La Máquina Analítica de
Charles Babbage
Historia
Hollerith inventó una manera
de grabar información que
podía ser leída por máquinas.
Utilizaba tarjetas perforadas.
Su primera versión se utilizó
para los cálculos del censo de
1890.
La Máquina Tabuladora de
Herman Hollerith (1890)
Historia
Utilizadas principalmente a
principios del siglo XX.
Se basan en cambios contínuos en
los valores de fenómenos físicos
(eléctricos, mecánicos, hidráulicos)
para modelar los problemas que
resuelven.
Si el problema cambiaba más allá
de ciertos límites, se requería
realizar reconexiones de sus
componentes.
Computadoras analógicas
Historia
Es un dispositivo que manipula
símbolos sobre una cinta de acuerdo a
una tabla que define ciertas reglas.
Se puede adaptar para simular la lógica
de cualquier algoritmo computacional.
Se trata de un dispositivo hipotético que
representa a una máquina
computacional.
Consite en:
-  Cinta
-  Lector (Cabeza)
-  Tabla finita (Función de transición)
-  Registro de estado
La Máquina de Turing
Historia
Se le considera como el padre de la
ciencia de la computación moderna.
La máquina de Turing proporcionó una
guía para el funcionamiento de las
computadoras digitales actuales.
Alan Turing
Historia
Primer dispositivo de cómputo digital
electrónico. (1937)
No era programable.
Diseñada para resolver sistemas de
ecuaciones lineales.
La Computadora Atanasoff-Berry (ABC)
Historia
n  Z3
– Primera computadora automática
programable funcional (1941)
¨ Electromecánica
n  Colossus
Mark 1 – Primera computadora
electrónica digital programable (1943)
n  ENIAC – Primera computadora electrónica
de propósito general (1946)
¨ Turing
complete
Historia
n  Tercera
generación
¨ Marcada
por la invención de los transistores
n  Mainframes
n  Minicomputadoras
(Basadas en circuitos LSI)
n  IBM
n  Cuarta
Generación
¨ Circuitos
n  Intel
integrados VLSI
4004 (1971)
n  Computadoras personales y empotradas
Historia
n  Intel
¨ Fundada
en 1968
¨ Gordon Moore y Robert Noyce
¨ Hasta 1981, su producto principal eran
circuitos de memoria SRAM y DRAM
¨ Arquitectura x86
Características
n 
De escritorio
¨  Hardware
n 
n 
n 
Procesador
Memoria
E/S
¨  Software
n 
n 
n 
Sistema operativo
Múltiples aplicaciones
Podemos cambiar de
aplicación
n 
Empotrada
¨  Hardware
n 
n 
n 
Procesador
Memoria
E/S
¨  Software
n 
n 
Puede tener un sistema
operativo
Aplicación específica
Conceptos básicos
n  Software
¨ Controla
la operación y funcionalidad de la
computadora
Conceptos básicos
n  Firmware
¨ Está
almacenado de manera permanente en
la memoria de la computadora
¨ Se ejecuta al encender la computadora
¨ Inicializa los subsistemas de hardware a un
estado conocido
¨ Configura la computadora para su correcta
operación
¨ Contiene el bootloader
Conceptos básicos
n  Sistema
operativo
¨ Controla
el funcionamiento de la computadora
¨ Organiza el uso de la memoria y controla los
dispositivos de la computadora
¨ No todos los sistemas empotrados utilizan o
necesitan un sistema operativo
n  Aplicaciones
¨ Programas
que dan la funcionalidad a la
computadora
Conceptos básicos
n  Procesador
¨ Es
el componente central de la computadora
¨ Dispositivo electrónico capaz de manipular
datos de una manera especificada por una
secuencia de instrucciones (opcode o código
máquina)
¨ La
secuencia de instrucciones es lo que se
conoce como un programa
n  ADD
#$34
n  AB 34 48 9E EB A0 4F
Arquitectura de computadoras
n  Es
la ciencia y arte de seleccionar e
interconectar componentes de hardware
para crear computadoras que cumplan
con ciertos criterios de funcionalidad,
desempeño y costo.
Arquitectura de computadoras
n  Es
una descripción detallada de:
¨ Hardware
– Elementos computacionales, de
comunicación y de almacenamiento de datos.
¨ Organización de computadoras – La forma en
la que los componentes de hardware
interactúan.
¨ Set de instrucciones – La forma en la que los
componentes de hardware son controlados.
Thisted, 1997
Arquitectura del set de
instrucciones (ISA)
n  Se
refiere a la parte del procesador que es
visible al programador o al desarrollador
de compiladores.
¨ Tipos
de datos nativos
¨ Instrucciones
¨ Registros
¨ Modos de direccionamiento
¨ Arquitectura de la memoria
¨ Manejo de interrupciones y excepciones
Complex Instruction Set
Computer (CISC)
n  Instrucciones
especializadas, muchas de
las cuales son rara vez utilizadas.
¨ Múltiples
modos de direccionamiento.
¨ Instrucciones de longitud variable.
¨ Sets de instrucciones grandes.
Arquitecturas CISC
n  m68k
– Motorola 68000
¨ Apple
Macintosh
¨ HP LaserJet
¨ Sega System 16
¨ Atari Jaguar
¨ TI-89, TI-92, TI-Voyage
Arquitecturas CISC
n  x86
– Intel 8086 CPU
¨ Procesadores
Intel, AMD, Cyrix y otros.
¨ Implementaciones de 16, 32 y 64 bits.
¨ Utilizada por la IBM PC
Reduced Instruction Set
Computer (RISC)
n  Conjunto
de instrucciones pequeño que
permita la implementación de tareas
frecuentes de una forma eficiente.
¨ Tamaño
de instrucciones fijo
¨ Pocos modos de direccionamiento.
Arquitecturas RISC
n  ARM
¨ Procesadores
Kinetis
n  AVR
¨ Procesadores
n  PIC
¨ PIC24F
(IOIO)
n  Sparc
n  PowerPC
Atmel (Arduino)
Organización de computadoras
o Microarquitectura
n  Se
refiere a la forma en la que los
componentes del sistema se interconectan
e interoperan.
n  Se representa mediante diagramas de
bloques que muestran la relación entre los
componentes.
Intel
8086
Motorola 68000
Arquitectura de hardware
n  Consiste
de los detalles a bajo nivel de la
computadora:
¨ Requerimientos
de tiempo
¨ Componentes
¨ Descripciones
¨ Diseño
de los circuitos
lógico
¨ Requerimientos de voltaje y corriente
Taxonomía de Flynn
n  Single
Instruction, Single Data (SISD)
n  Single Instruction, Multiple Data (SIMD)
n  Multiple Instruction, Single Data (MISD)
n  Multiple Instruction, Multiple Data (MIMD)
Conceptos básicos
n  Arquitectura
de una computadora
Arquitectura Von Neumann
Arquitectura Von Neumann
Arquitectura Harvard
Comparación
Conceptos básicos
n  Microprocesador
¨ Procesador
implementado en un solo circuito
integrado (registros, unidad de control, ALU,
unidad de interfaz de bus)
¨ Se le conoce también como CPU
n  Microcontrolador
¨ Microprocesador,
memoria y dispositivos de
E/S incluidos en un solo circuito integrado
¨ Por lo general se utiliza en sistemas
empotrados
Conceptos básicos
n  Memoria
¨ Se
utiliza para almacenar el software y los
datos
¨ La memoria no volátil permite almacenar el
software y los datos constantes
¨ La memoria de acceso aleatorio (volátil) se
utiliza para almacenar datos que están siendo
manipulados por un programa
Conceptos básicos
n  Espacio
de memoria
Conceptos básicos
n  Dispositivos
de E/S (Periféricos)
¨ Permiten
que el microprocesador se
comunique con el mundo exterior para
intercambiar datos
¨ Hay tres formas de hacer dicho intercambio:
n  E/S
Programada
n  E/S controlada por interrupciones
n  Acceso Directo a Memoria DMA
Conceptos básicos
n  Clasificación
¨ Paralela
¨ Serial
¨ Analógica
¨ De
tiempo
de interfaces E/S
Conceptos básicos
n  Interrupciones
¨ Son
una técnica para distraer al procesador
del programa que esté ejecutando, para que
atienda algún evento que se presente
¨ Le evitan al procesador el tener que estar
verificando el estado de cada dispositivo de
E/S presente en el sistema
Sistema basado en
microprocesador
Sistema basado en
microcontrolador
Descargar