tamaño: 180094B

Anuncio
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
Descargar