Story Transcript
Electrónica Digital
UPM DIE
LECCI ÓN 13 LECCIÓN 13 MICROCOMPUTADORES MICROCOMPUTADORES Introducción: Introducción: Conceptos Conceptos básicos básicos Sistema Sistema microcomputador microcomputador Unidad Unidad Central Central de de Proceso Proceso (CPU) (CPU) Memoria Memoria
13-1
13. Microcomputadores
Electrónica Digital
UPM DIE
Introducción ¿Por qué qué surgen los microprocesadores? Circuitos Circuitos digitales digitales Avance Avancetécnico técnico
Circuitos Circuitosmás más complejos complejos
¾ Circuitos específicos con alto coste de desarrollo ¾ Difícil justificación utilidad/coste ¾ Nueva aplicación Æ Nuevo diseños
13. Microcomputadores
Especialización Especialización
Alto Altocoste coste ¿¿Es Es posible posible un un circuito circuito para para varias varias tareas? tareas?
13-2
1
Electrónica Digital
UPM DIE
Introducción Solució Solución: Microprocesadores ¾ Circuito de propósito general ¾ Programable
Sistema Sistema computador computador Software Software
Hardware Hardware
Programa que controla su funcionamiento
Componentes físicos
13-3
13. Microcomputadores
Electrónica Digital
UPM DIE
Secciones primarias ¾ Memoria ¾ CPU ¾ Entrada/Salidas
Memoria Memoria Almacena: • datos • programa
13. Microcomputadores
CPU CPU
Ejecuta instrucciones del programa
Entrada Entrada Salida Salida Dispositivos para comunicarse con el exterior
13-4
2
Electrónica Digital
UPM DIE
Comunicación dentro del microcomputador ¾ Bus de datos (longitud de palabra) ¾ Bus de direcciones ¾ Bus de control
La comunicación tiene lugar a través de buses Bus Æ conjunto cables que permiten flujo información
Entrada Entrada Salida Salida
CPU CPU
Memoria Memoria
Bus direcciones Bus datos Bus control 13-5
13. Microcomputadores
Electrónica Digital
UPM DIE
Registros, direcciones ¾ Memoria formada por registros, o posiciones de memoria ¾ Cada registro tiene un número de identificación Æ dirección
FFF
Registro
1
Memoria Memoria Dirección 005 004 003 002 001 000 13. Microcomputadores
0
0
1
1
0
0
1
Capacidad de direccionamiento: Número de posiciones de memoria que el procesador puede especificar. Determinada por el nº de bits del bus de direcciones (NA). 2NA Ejemplo: Bus de direcciones 10 bits puede direccionar 210 =1024 (1k) posiciones de memoria 13-6
3
Electrónica Digital
UPM DIE
Salidas triestado Salidas triestado
Para evitar que dos registros impongan tensiones distintas en un bus, lo que producirí produciría un cortocircuito se utilizan salidas triestado
Y
A
c C = 1 Æ Y = A (salida = entrada) C = 0 Æ Y = Z (salida = alta impedancia)
Bus
X1
X1
X2
Si X1 = 1 y X2 = 0 en la línea del bus aparecería un conflicto, para evitarlo salidas triestado
X3
C2=1
c1
Seleccionamos qué dato (X2) queremos poner en el bus
X2 c2 X3
c3 13-7
13. Microcomputadores
Electrónica Digital
UPM DIE
Almacenamiento de datos y programa Memoria Memoria
Libre
Programa
Datos
Dirección
Contenido
1005
operando
1004
operando
1003
opcode
1002
operando
1001
opcode
1000
opcode
Ejemplo, si el ancho de la memoria es de 1byte:
instrucción de 3 bytes
instrucción de 2 bytes instrucción de 1 byte
¾ Numéricos ) Enteros (con/sin signo) ) Punto fijo/flotante ¾ Texto
Opcode Opcode (código (código de de operación): operación): define define la la operación operación que que ha ha de de ejecutar ejecutar una una instrucción. instrucción. Operando: Operando: información información que que acompaña acompaña al al opcode opcode (dato, (dato, dirección) dirección) 13. Microcomputadores
13-8
4
Electrónica Digital
UPM DIE
Estructura de un microprocesador Bus Datos Externo
Bus Datos Interno
Acumulador
SP
PC
R0 R1
RN
ALU
Reg Instr
Control y Decodificación
Banderas
Bus Direcciones Interno
Bus Direcciones Externo 13. Microcomputadores
Electrónica Digital
13-9
UPM DIE
Estructura de un microprocesador Acumulador
¾ Registro de uso general ¾ Mayor parte de operaciones sobre él o relacionadas con él ¾ Muy ligado con la ALU
Registros índice
Almacenan información sobre direcciones Normalmente se pueden incrementar o decrementar de forma automática para acceso secuencial de direcciones
13. Microcomputadores
13-10
5
Electrónica Digital
UPM DIE
Estructura de un microprocesador Registro instrucciones
¾ Registro que almacena el opcode para su ejecución ¾ Conectado a unidad de control y decodificación de instrucciones
Contador de programa
Almacena la dirección de memoria del siguiente byte de programa. Al finalizar la ejecución de una instrucción, el contador del programa apunta a la siguiente instrucción a ejecutar. Se incrementa cada vez que se extrae un byte, señalando al siguiente de manera automática.
13-11
13. Microcomputadores
Electrónica Digital
UPM DIE
Estructura de un microprocesador Unidad Aritmé Aritmético Ló Lógica (ALU)
¾ Realiza operaciones aritméticas y lógicas necesarias para ejecutar distintos opcodes ) Resta, suma, incremento, decremento ) AND, OR, XOR ) Desplazamiento izquierda, derecha, rotación de palabras de datos
Registro de estado (Banderas)
Relacionado con la ALU
Indican estados de operaciones Existen reglas de cuando cambian Existen instrucciones que dependen de banderas Æ saltos
Ejemplo
Z (Zero) se pone a 1 si el resultado de una operación es cero y a cero si el resultado es distinto de cero
13. Microcomputadores
13-12
6
Electrónica Digital
UPM DIE
Estructura de un microprocesador Unidad de control y decodificació decodificación ¾ Corazón del procesador ¾ Extrae de forma secuencial instrucciones y las ejecuta
Ciclo Ciclo de de Búsqueda Búsqueda ¾ Secuencia fija de señales de control ¾ Objetivo: pone el opcode en el registro de instrucciones Decodificador de Instrucciones
Registro Instrucciones
opcode
Ciclo Ciclo de de Ejecución Ejecución ¾ Después de decodificar la instrucción se genera la secuencia apropiada de señales de control para poder ejecutarla. Esta secuencia de señales es el ciclo de ejecución. ¾ Depende de cada instrucción.
13-13
13. Microcomputadores
Electrónica Digital
UPM DIE
Búsqueda y ejecución de una instrucción. Ejemplo 1 byte
LDA 3F “Cargar acumulador con dato 3F”
Ciclo Ciclo de de Búsqueda Búsqueda 11
CP(CF01) ÖAB (Address Bus)
22
Habilita señal de lectura en memoria “LDA” ÖDB (Data Bus)
33
DB(“LDA”) ÖRI
44
CP =CP+1 (CF02)
13. Microcomputadores
CP
3F “LDA”
CF03 CF02 CF01 CF00
13-14
7
Electrónica Digital
UPM DIE
Búsqueda y ejecución de una instrucción. Ejemplo El código de la instrucción se decodifica y se lanza la secuencia de señales apropiada Ciclo Ciclo de de Ejecución Ejecución 55
CP(CF02) ÖAB (Address Bus)
66
Habilita señal de lectura en memoria 3F ÖDB (Data Bus)
77
DB(3F) ÖA
88
CP =CP+1 (CF03)
El contador del programa se queda apuntando a la siguiente instrucción a ejecutar. 13-15
13. Microcomputadores
Electrónica Digital
UPM DIE
Estructura de un microprocesador Puntero de pila
Registro especial que poseen la mayoría de microprocesadores. Almacena dirección que apunta a la posición actual de memoria de la pila. Hay instrucciones cuyo opcode origina tratamiento de información en la posición definida por el apuntador de pila.
SP
SP
1001
1000
Push A
13. Microcomputadores
pila
pila
pila
Introduce A Incrementa SP
SP A
1000
Pull
Decrementa SP Extrae valor 13-16
8
Electrónica Digital
UPM DIE
Tipos de memoria Las memorias son dispositivos capaces de almacenar información, que se puede leer o modificar por el procesador cuando éste ejecuta una instrucción de lectura o escritura en memoria. Primaria (RAM, ROM, acceso rápido) y secundaria (disco duro o unidades de disco, acceso relativamente lento). RAM (Random (Random Access Memory) Memory)
Memoria de Acceso Aleatorio. Suele almacenarse información que debe cambiarse durante la ejecución de un programa. El tiempo de acceso a cualquier dato es el mismo. Es volátil, sin alimentación de cc. se pierden los datos. Tipos de RAM (dos técnicas diferentes): RAM estática (Biestables). La información se mantiene siempre que haya alimentación. RAM dinámica (Matriz de carga/descarga de condensadores). Necesita refresco, es decir, actualizar el valor de los condensadores. 13-17
13. Microcomputadores
Electrónica Digital
UPM DIE
Tipos de memoria ROM (Read (Read Only Memory) Memory)
Memoria de sólo lectura. El procesador no puede escribir en ella. No volátil. Almacenan programas o información que no deba cambiar. Programados por el fabricante del dispositivo por litografía.
PROM (Programmable (Programmable Read Only Memory) Memory)
Memoria ROM programable por el usuario. Una sola programación.
EPROM (Erasable (Erasable and Programmable Read Only Memory) Memory)
Memoria PROM que se puede borrar (rayos ultravioletas, ventana de mica) y volver a programar por medio de un programador EPROM.
EEPROM (Electrically (Electrically Erasable and Programmable Read Only Memory) Memory)
Memoria EPROM que se puede borrar y volver a programar eléctricamente sin quitarla de su sitio en el circuito electrónico.
13. Microcomputadores
13-18
9
Electrónica Digital
UPM DIE
Estructura de una memoria 00
Direcciones 2Na bits
1
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
01
10
DEC
Bus direcciones Na bits A1 = 0 A0 = 1
11
Selecciona la línea 01
Lectura/Escritura
CONTROL D3
D2 0
1
D1
D0 0
0
Bus datos Nd bits 13-19
13. Microcomputadores
Electrónica Digital
UPM DIE
Dispositivo típico de memoria Vcc (alimentación)
Bus de direcciones Bus de control
Lectura Escritura CS
Memoria
Tierra
Bus de datos
Ejemplo: Memoria 1 kbytes • Si la longitud de palabra de la memoria es de 8 bits, se necesitan 10 bits para direccionar 1 kbytes (1k direcciones x 8 bits de datos = 1 kbytes) • Si la longitud de palabra de la memoria es de 16 bits, se necesitan 9 bits para direccionar 1 kbytes (512 direcciones x 16 bits de datos =1 kbytes)
CS (Chip Select): Habilita la selección del chip, cuando se encuentra deshabilitado el dispositivo no responde al resto de señales de control.
13. Microcomputadores
13-20
10
Electrónica Digital
UPM DIE
Configuración de la memoria
Mapa de memoria
Configurar mapa de memoria Bus datos 8 bits ROM 2 kbytes EPROM 2 kbytes RAM 4 kbytes Tamañ Tamaño
Líneas bus direcciones
Direcciones
RAM
4 kbytes
12 lí líneas
A0 – A11
EPROM
2 kbytes
11 lí líneas
A0 - A10
ROM
2 kbytes
11 lí líneas
A0 - A10
Total
8 kbytes
13 lí líneas
A0 - A12
1FFF
RAM 4Kbytes 1000 0FFF 0800 07FF 0000
EPROM 2Kbytes ROM 2Kbytes
8 kbytes = 23·210 Æ 13 líneas 13-21
13. Microcomputadores
Electrónica Digital
UPM DIE
Configuración de la memoria Decodificació Decodificación de direcciones Mapa Mapa de de memoria memoria 1FFF
RAM 4Kbytes EPROM 2Kbytes ROM 2Kbytes
12 11
A11
1
1
1
0
0
1
EPROM
0
0
ROM
0001 1111 1111 1111 0001 1000 0000 0000 0001 0111 1111 1111
1000 0FFF
0001 0000 0000 0000 0000 1111 1111 1111
0800 07FF
0000 1000 0000 0000 0000 0111 1111 1111
0000
0000 0000 0000 0000
13. Microcomputadores
A12
RAM
13-22
11
Electrónica Digital
UPM DIE
Configuración de la memoria Circuito Circuito decodificador decodificador de de direcciones direcciones A12
Solución 1
CS RAM
A12
A11
1
1
CS EPROM
RAM
A11
1
0
0
1
EPROM
0
0
ROM
CS ROM A12 Solución 2
A11
CS RAM E0
S1
CS EPROM
en
S0
CS ROM
DEC
13-23
13. Microcomputadores
Electrónica Digital
UPM DIE
Configuración de la memoria Esquema de memoria con conexió conexión de buses Bus de direcciones A12 CS
RAM
A11
A0-A11
Bus de datos
D0-D7
R/W
Decodificador de direcciones
CS
EPROM
A0-A10 D0-D7
R
Señal escritura sólo en RAM
A0-A10 CS
ROM
D0-D7
R
13. Microcomputadores
13-24
12
Electrónica Digital
UPM DIE
Periféricos de E/S típicos Tipo Tipo
Sirven Sirven para para
Ejemplos Ejemplos (estándares) (estándares)
E/S E/S paralelo paralelo
Control Control yy comunicaciones comunicaciones (entrada, (entrada, salida, salida, bidir) bidir)
Centronics Centronics (impresoras) (impresoras)
E/S E/S serie serie
Comunicaciones Comunicaciones
UART, UART, USART, USART, USB, USB, I2C, I2C, FireWire, FireWire, CAN, CAN, etc. etc.
Temporizadores Temporizadores yy contadores contadores
Control Control (en (en general) general) Datado Datado (en (en particular) particular)
Perro Perro guardián guardián (watchdog) (watchdog)
Control Control de de la la ejecución ejecución correcta correcta de de un un programa programa
Convertidores Convertidores A/D A/D yy D/A D/A
Adquisición Adquisición yy generación generación DSP: DSP: Digital Digital Signal Signal Processing Processing
Controladores Controladores específicos específicos
Discos Discos duros, duros, disquetes, disquetes, etc. etc.
SCSI, SCSI, IDE, IDE, ATAPI, ATAPI, VGA, VGA, ... ...
13-25
13. Microcomputadores
Electrónica Digital
UPM DIE
Puertos y registros de Entrada/Salida Puerto Puerto de de E/S E/S Circuitería que permite leer y/o gobernar señales externas. Diferentes tipos: E/S paralelo, E/S serie, E/S analógica, controladores, ...
Registros Registros de de E/S E/S
Señales externas uP
Mem
E/S Direcciones Datos Control
Registros asociados a los puertos de E/S. Cada puerto de E/S puede tener asociados varios registros (o un registro afectar a varios puertos). Existen registros asociados a los datos (las señales a controlar) y al control del flujo de información (el modo de operación). Los registros de E/S se acceden mediante instrucciones de lectura/escritura o de entrada/salida.
Puertos Puertos de de E/S E/S paralelo paralelo Puerto de E/S en el que se controlan varias señales externas al mismo tiempo. El tamaño (nº de bits) del puerto suele coincidir con la longitud de palabra del uP. Pueden ser de entrada, salida, o programables (E/S)
13. Microcomputadores
13-26
13
Electrónica Digital
UPM DIE
Puertos de E/S en el 68HC11 Los puertos de E/S en el 68HC11 pueden operar en varios modos
Puertos Puertos de de E/S E/S Puerto B: sólo salidas, también usado como bus de direcciones. Puerto C: programable, también usado como bus de datos/direcciones. Puerto E: sólo entradas, compartido con el CAD. Puerto A: Mixto, especializado en tratamiento de interrupciones. Puerto D: programable, compartido con la E/S serie.
13-27
13. Microcomputadores
Electrónica Digital
UPM DIE
Microprocesadores y Microcontroladores ¾ Microprocesador (uP): circuito de computación integrado en un chip Microprocesador ALU
Memoria
CU REGS
Dispositivos de Entrada y Salida
(interruptores, relés, teclado, ratón, pantalla, disco, etc.)
¾ Microcontrolador (uC): Dispositivo integrado que incluye un microprocesador, memoria y dispositivos periféricos (dispositivos de entrada/salida, convertidores A/D, puertos de comunicación, etc.). Microcontrolador Memoria CPU (micro) ALU CU
E/S
(interruptores, relés, teclado, ratón, pantalla, disco, etc.)
REGS
13. Microcomputadores
13-28
14