Introducción a los sistemas basados en microprocesador y

Anuncio
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Introducción a los sistemas basados en
microprocesador y microcontrolador
Lección 1
Ing. Jorge Castro-Godı́nez
MT7003 Microprocesadores y Microcontroladores
Área de Ingenierı́a Mecatrónica
Instituto Tecnológico de Costa Rica
I Semestre 2014
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
1 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Contenido
1
Historia
Cronologı́a
2
Generalidades
Desde el 4004 hasta el 80x86
Microcontroladores
3
Arquitecturas de memoria
4
Arquitecturas RISC y CISC
5
Microcontrolador PIC
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
2 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Cronologı́a
Era mecánica
¿Desde cuando existen las computadoras?
Aún antes de dispositivos eléctricos y electrónicos, habı́a
computación.
El ábaco, el odómetro, máquina analı́tica.
Ábaco y diseño de la máquina analı́tica
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
3 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Cronologı́a
Era eléctrica
(1)
Surgimiento del motor eléctrico.
Tarjetas y código de Hollerith, IBM.
ENIAC: primer sistema computacional programable.
ENIAC: 17000 tubos al vacı́o, + 500 millas de cable, 30
toneladas, 100000 operaciones/segundo.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
4 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Cronologı́a
Era eléctrica
(2)
La Whirlwind fue una computadora diseñada a finales de los 40’s
en el MIT para controlar el simulador de bombarderos. Fue la
primera que soportaba tiempo real. Fı́sicamente era muy grande,
contenı́a alrededor de 4000 tubos al vacı́o.
Circuiterı́a y pila de memoria de la Whirlwind.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
5 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Cronologı́a
Cronologı́a
(1)
1939 - Tecnologı́a de computadoras: John Atanasoff y
Clifford Berry crearon el primer prototipo de Atanasoff-Berry
Computer (ABC), la primera computadora digital.
1945 - Depuración: La primera “pulga” de computadoras
fue encontrada por Grace Hopper.
1946 - Tecnologı́a de computadoras: ENIAC la primera
computadora digital con programas almacenados del mundo
fue creada.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
6 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Cronologı́a
Cronologı́a
(2)
El primer bug reportado.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
7 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Cronologı́a
Cronologı́a
(3)
1950s - Evolución de lenguajes: Los lenguajes de
ensamblador fueron creados.
1952 - Compiladores: Grace Hopper escribió el primer
compilador para una computadora digital.
1954 - Evolución de lenguajes: John Backus y su equipo en
IBM empezaron el desarrollo de FORTRAN (FORmula
TRANslator).
1958 - Electrónica: Jack St. Clair inventó el circuito
integrado en Texas Instruments.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
8 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Cronologı́a
Cronologı́a
(4)
Primer CI desarrollado.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
9 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Cronologı́a
Cronologı́a
(5)
1962 - Electrónica: Texas Instruments introdujo la serie
7400 de circuitos integrados.
1965 - Tecnologı́a de computadoras: Gordon Moore
publica en un artı́culo la famosa ley de Moore.
1967 - Evolución de lenguajes: Niklaus Wirth empieza el
desarrollo de PASCAL.
1970 - Electrónica: Texas Instruments desarrolla un circuito
integrado programable llamado PLA (programmable logic
array).
1970 - Tecnologı́a de computadoras: Intel libera el chip
1103, el primer chip de memoria DRAM.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
10 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Cronologı́a
Cronologı́a
(6)
1971 - Tecnologı́a de computadoras: Intel libera el primer
microprocesador, el 4004, que es una unidad central de
proceso (CPU) de 4 bits. El mismo fue creado para el diseño
de la primera calculadora digital.
1971 - Electrónica: General Electric desarrolla el primer
dispositivo de lógica programable y borrable (PLD), basado en
la tecnologı́a PROM.
1972 - Evolución de lenguajes: Dennis Ritchie desarrolla C
en los laboratorios Bell para ser empleado en el sistema
operativo UNIX.
1973 - Tecnologı́a de computadoras: Ethernet fue
desarrollado.
1975 - Compiladores: Bill Gates and Paul Allen enviaron el
compilador BASIC a MITS. Microsoft fue fundado.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
11 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Cronologı́a
Cronologı́a
(7)
1979 - Evolución de lenguajes: Bjarne Stroustrup
desarrolló C++ en los laboratorios Bell como una mejora al
lenguaje C.
1979 - Tecnologı́a de computadores: Laboratorios Bell
introdujo el primer procesador de señales digitales (DSP).
1981 - Tecnologı́a de computadores: Un equipo liderado
por John L. Hennessy en la Universidad de Standford
empezaron a trabajar en el primer procesador MIPS.
1983 - Sistemas operativos: Richard Stallman anuncia el
sistema operativo GNU.
1984 - Electrónica: Xilinx desarrolló el FPGA.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
12 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Cronologı́a
Cronologı́a
(8)
1984 - Tecnologı́a de computadoras: Fujio Masuoka
inventó la memoria flash (NAND y NOR) mientras trabajaba
para Toshiba.
1985 - Tecnologı́a de computadoras: Acorn Computers
lanza el ARM1.
1991 - Sistemas operativos: Linux es diseñado por un
estudiante avanzado de universidad llamado Linus Torvarlds.
1993 - Tecnologı́a de computadoras: IBM, Apple y
Motorola liberan la arquitectura PowerPC.
1990s - Métodos de programación: Agile aparece en
escena.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
13 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Cronologı́a
Cronologı́a
(9)
1995 - Evolución de lenguajes: Sun Microsystems libera
Java.
1996 - Sistemas operativos: Microsoft libera la primera
versión de Windows Embedded CE.
2005 - Tecnologı́a de computadoras: IBM, Intel y AMD
liberan sus primeros procesadores de múltiple núcleo.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
14 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Desde el 4004 hasta el 80x86
Microcontroladores
Era del microprocesador
Primer microprocesador: Intel 4004.
4 bits, 4096 posiciones de memoria (4 bits)
ISA: 45 instrucciones.
Tecnologı́a MOSFET de canal tipo p.
50000 instrucciones/segundo.
Aplicaciones de videojuegos.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
15 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Desde el 4004 hasta el 80x86
Microcontroladores
4004
(1)
Encapsulado DIP del 4004.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
16 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Desde el 4004 hasta el 80x86
Microcontroladores
4004
(2)
Arquitectura del 4004.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
17 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Desde el 4004 hasta el 80x86
Microcontroladores
Chips de soporte del 4004
(1)
4001: ROM de 256 bytes (256 instrucciones de programa de
8bits), y un puerto incorporado de I/O de 4 bits.
4002: RAM de 40 bytes (80 palabras de datos de 4 bits), y un
puerto de salida incorporado de 4 bits. La porción de RAM del
chip está organizada en cuatro “registro” de veinte palabras
de 4 bits:
16 palabras de datos (usadas para los dı́gitos significativos en
el diseño original de la calculadora).
4 palabras de estado (usadas para los dı́gitos de exponente en
el diseño original de la calculadora).
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
18 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Desde el 4004 hasta el 80x86
Microcontroladores
Chips de soporte del 4004
(2)
4003: shift register (registro de desplazamiento) de salida
paralela de 10 bits para explorar teclados, pantallas,
impresoras, etc.
4008: latch de 8 bits de dirección para acceso a chips de
memoria estándar, y un chip incorporado de 4 bits de
selección y puerto de I/O.
4009: programa y convertidor de acceso I/O a memoria
estándar y a chips de I/O.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
19 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Desde el 4004 hasta el 80x86
Microcontroladores
8008
Versión extendida de 8 bits del microprocesador 4004.
Direccionamiento de memoria de 16 Kbytes (recordar que 1 B
= 8 bits y 1 K son 1024).
48 instrucciones.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
20 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Desde el 4004 hasta el 80x86
Microcontroladores
8080
(1)
Microprocesador de 8 bits.
10x más rápido que el 8008
Compatible con tecnologı́a TTL.
4x direccionamiento de memoria (64 Kbytes)
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
21 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Desde el 4004 hasta el 80x86
Microcontroladores
8080
(2)
Primera computadora personal MITS Altair 8800.
Bill Gates y Paul Allen desarrollan intérprete de BASIC escrito
para esta computadora, 1975.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
22 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Desde el 4004 hasta el 80x86
Microcontroladores
8080
(3)
Publicidad impresa del MITS Altair 8800.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
23 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Desde el 4004 hasta el 80x86
Microcontroladores
8080
(4)
Apple I basada en 8080.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
24 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Desde el 4004 hasta el 80x86
Microcontroladores
8085
El 8085 fue una versión actualizada del 8080.
1,3 µs / instrucción.
Ventas por más de 100 millones de microprocesadores.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
25 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Desde el 4004 hasta el 80x86
Microcontroladores
Microprocesador moderno
Intel lanza el microprocesador 8086 en 1978.
Un año después lanza el 8088.
Ambos de 16 bits, con tasa de procesamiento de 400
ns/instrucción.
Direccionamiento 1M de memoria, 16x más que el 8085.
Caché o cola de 4 - 6 bytes, precargar instrucciones.
CISC (computadoras de conjunto de instrucciones complejas)
debido al número y la complejidad de las instrucciones.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
26 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Desde el 4004 hasta el 80x86
Microcontroladores
Computadora genérica
Diagrama Bloques Computadora.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
27 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Desde el 4004 hasta el 80x86
Microcontroladores
Diagrama Bloques 8086
Diagrama Bloques 8086.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
28 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Desde el 4004 hasta el 80x86
Microcontroladores
Diagrama Bloques 8088
Diagrama Bloques 8088.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
29 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Desde el 4004 hasta el 80x86
Microcontroladores
Microprocesadores y Microcontroladores
Microcomputadora consiste básicamente de: Unidad central
de procesamiento (CPU), memoria y sistema de
entrada/salida (I/O).
Las lı́neas eléctricas de interconexión entre los componentes se
llaman buses.
Buses de dirección: Transportan direcciones de memoria o I/O.
Buses de datos: Transportan datos o instrucciones.
Buses de control: Transportan señales de control.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
30 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Desde el 4004 hasta el 80x86
Microcontroladores
Microprocesadores y Microcontroladores
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
31 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Desde el 4004 hasta el 80x86
Microcontroladores
Microprocesadores y Microcontroladores
El CPU constituye el cerebro de una microcomputadora.
Busca las instucciones almacenas en memoria, las interpreta y
ejecuta.
Incluye la circuiterı́a necesaria para realizar operaciones lógicas
y aritméticas (ALU: Arithmetic Logic Unit).
En una microcumputadora, el CPU es su microprocesador.
Un microcontrolador es considerado como una
microcomputadora construida dentro de un solo circuito
integrado (CI) o chip.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
32 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Desde el 4004 hasta el 80x86
Microcontroladores
Microprocesadores
Los microprocesadores se encuentran principlamente en
estaciones de trabajo.
Empleadas donde se requiere una gran potencia computacional
y la habilidad de manejar instrucciones grandes.
Trabajan a altas velocidades.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
33 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Desde el 4004 hasta el 80x86
Microcontroladores
Microcontroladores
Son empleados en una gran variedad de aplicaciones.
Se encuentran en electrónica de consumo, aplicaciones
médicas, equipos de hospital e industrias, juguetes, y muchos
más.
Llevan a cabo un número de tareas reducido.
Tienen su programa almacenado permanentemente en
memoria.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
34 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Desde el 4004 hasta el 80x86
Microcontroladores
Microcontroladores
Algunos requerimientos son importantes para el diseño y uso de
microcontroladores.
Recursos de entrada y salida.
Optimización de espacio.
Uso apropiado del microcontrolador para la aplicación dada.
Protección contra falla.
Bajo consumo de potencia.
Protección de programas contra copias.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
35 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Desde el 4004 hasta el 80x86
Microcontroladores
Microcontrolador
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
36 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Arquitecturas de memoria
La memoria es donde se almacenan los datos y las
instrucciones.
La forma en que está organizada la memoria y la forma en que
se comunica con el CPU determina la eficiencia de un
dispositivo.
Existen dos modelos genéricos de HW para estructuras de
memoria: von Neumann y Harvard.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
37 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
von Neunmann
Propuesta por el matemático John von Neumann.
Se emplea una sola memoria para almacenar los datos y las
instrucciones.
Un único bus de direcciones permite el acceso a datos e
instrucciones.
Análogamente solo se posee un bus para obtener las
instrucciones y los datos.
No hay señales de control independientes.
Aún cuando se emplea ROM para instrucciones y RAM para
datos, el CPU no está al tanto de esto y los trata de la misma
manera sin distinción. (RAM + ROM una sola memoria)
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
38 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
von Neunmann
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
39 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Harvard
Emplea diferentes memorias para almacenar instrucciones y
datos.
Cada memoria posee su propio bus de direcciones, datos y
control.
La memoria de programa solo puede ser leı́da, mientras la de
datos puede ser leı́da y escrita.
La arquitectura von Neumann posee menos lı́neas lo que hace
más simple la conexión entre la memoria y el CPU, no
obstante no permite manejo simultáneo entre instrucciones y
datos.
La arquitectura Harvard permite accesos simultáneos de
instrucciones y memoria, lo que permite mayor velocidad de
ejecución de programas.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
40 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Harvard
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
41 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Arquitecturas RISC y CISC
CISC: Complex set instruction computer.
RISC: Reduced set instruction computer.
En el inicio de los microprocesadores y microcontroladores se
buscó darle el set de instrucciones más poderoso posible.
CISC se convirtió en el más popular, aun cuando posee
instrucciones muy simples (mover información a memoria), y
muy complejas a la vez (mover una cadena de datos entre
locaciones de memoria).
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
42 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Arquitecturas RISC y CISC
RISC implica instrucciones más simples, encargadas de tareas
simples y que se llevan a cabo rápidamente.
Los procesadores con RISC poseen menor cantidad de
transistores y son más baratos en el proceso de manufactura.
Los microcontroladores PIC poseen una arquitectura RISC.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
43 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Caracterı́sticas generales
Los microcontroladores PIC están basados en una arquitectura
de memoria Harvard.
El acceso a diversas E/S se lleva a cabo mediante registros en
la memoria de datos llamados registros de función especial
(SFR).
Los PIC son microcontroladores RISC.
Microcontroladores PIC poseen un registro de trabajo (W,
working register ) y múltiples registros de memoria.
PIC posee una pila de tamaño fijo y que no es parte de la
memoria de datos.
Gran variedad de dispositivos de E/S: temporizadores, puerto
serie y paralelo, convertidores A/D y D/A.
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
44 / 45
Historia
Generalidades
Arquitecturas de memoria
Arquitecturas RISC y CISC
Microcontrolador PIC
Arquitectura Harvard en PIC 16F877A
Jorge Castro-Godı́nez
Sistemas Basados en µP y MCU
45 / 45
Descargar