introducción a los microprocesadores y microcontroladores
TRANSCRIPT
Introducción a los Microprocesadores y Microcontroladores
Camilo A. Infante
Universidad Santiago De Cali Palmira, Colombia
2009
Diagrama de bloques General de una Aplicación Electrónica con Procesamiento Digital
Señal Digital (1,0)
Niveles mInimos y Máximos
Variaciones Lineales
Señal Análoga
Señal Digital (1,0)
Presión, Flujo, nivel, Temperatura, etc
Señal Digital (1,0)
Variaciones De Voltaje o Corriente
TecnologIas usadas en el procesamiento digital
TTL: LOgica Transistor Transistor CMOS: Metal Oxido Semiconductor Complementario ECL: LOgica de Emisor Acoplado
Microprocesadores Microcontroladores DSP’s : Procesador digital de Señales Psoc: Program System on Chip
PAL: Arreglo LOgico programable
GAL: Arreglo lOgico generica
PLDs: Dispositivos de LOgica Programable FPGA: Campos de Matrices de Puertas Programables
5
Microprocesador: es un circuito de gran escala de integraciOn que contiene la CPU completa de una computadora en un Unico circuito integrado.
Bus de Control
Registros
Unidad de Control
CPU
ALU (Unidad Aritmético
LOgica)
Bus de Direcciones
Bus de Datos
4
5
Sistema básico Microprocesado
Reloj
CPU
Bus de Direcciones
MEMORIA
Bus de Control
Bus de Datos
UDS. E l S
5
Sistema Básico de un computador
CPU
Bus de direcciones
Bus de Control
Bus de Datos
Unidades de Memoria:
RAM, ROM, DISCO, ETC
Teclado
Ratôn
Computadora
Puerto de Entrada
Monitor
Puerto
de Salida
Impresora
6
9 9 9
Historia de los Microprocesadores
Fecha de presentació
n
Velocidad de reloj
Anch o
de bus
Nümero de transistores
Memoria direccionab
le
Breve descripción
4004 15/11/71 108 KHz. 4 bits 2.300 (10 micras) 640 byte Primer chip con manipulación aritmética
8008 1/4/72 108 KHz. 8 bits 3.500 16 KBytes Manipulación Datos/texto
8080 1/4/74 2 MHz. 8 bits 6.000 64 KBytes 10 veces las (6 micras) prestaciones del 8008
8086 8/6/78
5 MHz. 8 MHz. 10 MHz.
16 bits
29.000 (3 micras)
1 MegaByte 10 veces las prestaciones del 8080
8088 1/6/79 5 MHz. 8 MHz.
8 - 16 bits 29.000
Idéntico al 8086 excepto en su bus externo de 8 bits
80286 1/2/82
8 MHz. 10 MHz. 12 MHz.
16 Bits
134.000 (1.5 micras)
16 Megabytes De 3 a 6 veces las prestaciones del 8086
Microprocesador Intel 386 DX® 17/10/85
16 MHz. 20 MHz. 25 MHz. 33 MHz.
32 Bits
275.000 (1 micra) 4 Gigabytes Primer chip x86 capaz de manejar juegos
de datos de 32 bits
Microprocesador Intel 386 SX® 16/6/88
16 MHz. 20 MHz.
32 Bits
275.000 (1 micra) 4 gigabytes
Bus capaz de direccionar 16 bits procesando 32bits a bajo coste
9 9
Fecha de presentación
Velocidad de reloj
Ancho de bus
Nümero de transistores
Memoria direccionable
Breve descripción
Microprocesador Intel 486 DX® 10/4/89
25 MHz. 33 MHz. 50 MHz.
32 Bits (1 micra, 0.8 micras en 50 MHz.)
4 Gigabytes Caché de nivel 1 en el chip
Microprocesador Intel 486 SX® 22/4/91
16 MHz. 20 MHz. 25 MHz.
33 MHz. 32 Bits 1.185.000 (0.8 micras) 4 Gigabytes Idéntico en diseflo al Intel 486DX,
pero sin coprocesador matemático
Procesador Pentium® 22/3/93
60 MHz. 66 MHz. 75 MHz. 90 MHz. 100 MHz. 120 MHz. 133 MHz. 150 MHz. 166 MHz. 200 MHz.
32 Bits 3,1 millones (0.8 micras) 4 Gigabytes
Arquitectura escalable. Hasta 5 veces las prestaciones del 486 DX a 33 MHz.
9 9
Fecha de presentación
Velocidad de reloj
Ancho de bus
Nümero de transistores
Memoria direccionable
Breve descripción
Procesador PentiumPro® 27/3/95
150 MHz. 180 MHz. 200 MHz. 64 Bits 5,5 millones
(0.32 micras) 4 Gigabytes Arquitectura de ejecución dinámica con procesador de altas prestaciones
Procesador PentiumII® 7/5/97
233 MHz. 266 MHz. 300 MHz. 64 Bits 7,5 millones
(0.32 micras) 4 Gigabytes S.E.C., MMX, Doble Bus Indep., Ejecución Dinámica
32-bit processors: Pentium Pro, II, Celeron, III, M,
Core
32-bit processors: Pentium 4 range
The 64-bit processors:
EM64T
Pentium Pro, Pentium II, Celeron (Pentium II-based), Pentium III, Pentium II and III Xeon, Celeron (Pentium III Coppermine-based), Celeron (Pentium III Tualatin-based), Pentium M, Celeron M, Intel Core,
Dual-Core Xeon LV: 1) Sossaman 0.065 tm (65 nm) process technology; 2) Variants 2.0 GHz
Pentium 4, Xeon, Mobile Pentium 4-M, Pentium 4 EE, Pentium 4E,
Pentium 4F: 1) 3.2–3.6 GHz
Pentium 4F, D0 and later steppings, Pentium D, Pentium Extreme Edition, Intel Xeon,
Intel Core 2: 1) 0.065 tm (65 nm) process technology; 2) Core 2 Duo T5500 - 1.66 GHz
MEMORIAS
La memoria es la parte de un sistema que almacena datos binarios en grandes cantidades. Las memorias semiconductoras están formadas por matrices de elementos de almacenamiento que pueden ser Fets, latches o condensadores.
10
17 17 17
Matriz de almacenamiento de 64 celdas, organizada en tres formas diferentes
2
2
3
3
4 4
5
5
6
6
7
7
1 1
1 2 3 4
8 8
13
14
15
16
61
62
63
64
Matriz 16 X 4 Matriz 64 x 1
3
8
1
2
4
Celda 5
6
7
1 2 3 4 5 6 7 8
Matriz 8X8
Celda: elemento de almacenamiento de 1 bit
17 17
Dirección y Capacidad de las memorias
1
2
3
4
5
6
7
8 8
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
La dirección del bit resaltada en gris La dirección del byte resaltada en gris oscuro Oscuro Corresponde a la fila 5, columna 4. corresponde a la fila 3
1
2
3
4
5
6
7
17 17
Diagrama de Bloques de una memoria
Bus de Direcciones Decodificador
de Direcciones
Matriz de Memoria
Bus de Datos
Lectura Escritura
Señales de control
17 17
Registro de direcciones
Matriz de Memoria Organizada en Bytes
1 0 0 0 0 1 0
0 1 0 0 0 1 1
1 0 0 1 0 1 0
1 0 0 0 0 0 1
1 1 0 1 0 0 0
0 0 0 1 1 0 1
1 1 1 0 0 1 0
0 0 0 0 0 0 0
Registro de datos
101
1
Bus de Direcciones
4
2
0
3
5 6 7
1
0
0
1 1
1 1 1
1
10001101
Bus de datos
2
Lectura Escritura 3 Lectura Escritura
Señales de c3ontrol
Señales de control
1 El código de dirección 101 se coloca en el bus de direcciones y se selecciona la dirección 5
2 El byte de datos se coloca en el bus de datos
3 El comando de escritura o lectura hace que el byte de datos se almacena en la dirección 5, o se lea de la dirección 5, segUn sea la orden de la señal de control.
17 17
CLASIFICACION DE LAS MEMORIAS
Memoria RAM: (random-Access memory) la memoria de acceso aleatorio es un tipo de memoria en la que se tarda lo mismo en acceder a cualquier direcciOn de memoria y estas se pueden seleccionar en cualquier orden tanto en una operaciOn de lectura como de escritura.
La informaciOn almacenada es volátil, ya que en cuanto se desconecta la alimentaciOn, se pierden datos.
17 17
Memoria ROM: (read-only memory, memoria de solo lectura) es un tipo de memoria en la que los datos se almacenan de forma permanente o semipermanente. Los datos se pueden leer de una ROM, pero no existe la operaciOn de escritura como en la RAM.
Los datos almacenados permanecen incluso si se desconecta la alimentaciOn, por esta razOn reciben el nombre de no volátiles.
17 17
Clasificación de la Memoria RAM:
Memoria de
acceso aleatorio (RAM)
SRAM AsIncrona
SRAM De ráfaga Sincronla
(SB SRAM)
DRAM Con modo
Página rápido (FPM SRAM)
DRAM Con salida de
Datos extendida (EDO DRAM)
EDO DRAM En ráfaga (BEDO
DRAM)
DRAM Sincrona (SDRAM)
DDRAM Doble Tasa deTransfer (SDRAM)
(ASRAM)
RAM Dinámica (DRAM)
RAM Estática (SRAM)
RAM estática (SRAM) : se caracterizan por las celdas de almacenamiento con Flip-Flops que, tIpicamente, se implementan en circuitos integrados con varios transistores MOS (MOSFET). Cuando se aplica alimentaciOn continua a una celda de memoria estática se puede mantener un estado 1 o 0 indefinidamente.
SelecciOn de bit
+Vcc
18
Datos Datos’
22
RAM dinámica (DRAM): Las celdas de las memorias dinámicas almacenan un bit de datos en un condensador en lugar de un latch, la ventaja de este tipo de celda es que es muy sencilla, lo que permite construir matrices de memoria muy grandes en un chip a un coste por bit mas bajo que el de las memorias estáticas. La desventaja es que el condensador de almacenamiento no puede mantenerse cargado por mucho tiempo y el dato almacenado se pierde a no ser que su carga se refresque periOdicamente.
Columna (lInea de bit)
Fila
19
22
DDR-RAM, del acrOnimo ingles Double Data Rate, significa memoria de doble tasa de transferencia de datos en castellano. Son mOdulos compuestos por memorias smncronas (SDRAM), disponibles en encapsulado DIMM, que permite la transferencia de datos por dos canales distintos simultáneamente en un mismo ciclo de reloj.
22
22
Ejemplo de algunas memorias RAM comerciales
NOMBRE DE LOS PINES A0 - A15 Adress inputs D0 - D7 Data input/output
DI Data Input DO Data Ouput CS Chip selector WE Escritura /Lectura OE Output Enable
PIN MODO CS WE I/O
NO SELECCION 1 X H-Z ESCRITURA 0 0 Din
LECTURA 0 1 Dout
24
24
24
Clasificación de la Memoria ROM:
ROM Memoria de solo lectura
ROM PROM PROM ROM
Programable
Borrable por
Borrable de mascara
ultravioleta
Eléctricamente
(PROM)
(EPROM)
(EEPROM)
24
24
ROM : Memoria de solo lectura
Celda Memoria ROM
La memoria ROM es una memoria programada de forma permanente durante el proceso de fabricación. Una vez que se programa la memoria, esta no puede cambiarse. La mayoria de los circuitos integrados ROM utilizan la presencia o ausencia de una conexión de transistor en una unión fila/columna para presentar un 1 o un 0.
Uno (1) cero (0)
Celdas MOS
25
0 1 2 6
LIneas de Salida de Datos
0
2
1
14
15
1
0
Fila 1
Fila 2
Fila 14
Fila 15
Fila 0
Matriz ROM de 16 x 8 bits
Decodificador de
Direcciones
LInea de 2
entrada de 4
direcciones
0
8
27
27
27
SImbolo Lógico de una ROM de 256 x 4
Ao
A1
A2
A3
A4
A5
A6
A7
Eo E1
LInea de entrada de
direcciones
ROM 256 x 4
&
Qo Q1 de datos
Q2 Q2
LIneas de salida
27
27
Dirección De Columna
Habilitación
Del chip E1
Eo
A5
A6
A7
Matriz de memoria 32 x 32
Decodificadores de columna 1 de 8
Decodificador De
Filas 1-32
A0
A1
A2
A3
A4
LInea de entrada de direcciones
Buiffers De Salida
ROM de 1024 bits con una Organización de 256 x 4 Basada en una matriz 32 x 32 Q3 Q2 Q1 Q0
VDD
28 Columnas
Filas
Memoria PROM: (Memoria de solo lectura Programable):
Utiliza algUn tipo de fundición para almacenar bits, donde un hilo de memoria se funde o se queda intacto para representar un 0 o 1. el proceso de fundición es irreversible: una vez que una PROM ha sido programada no puede cambiarse.
32
32
32
32
32
SImbolo Lógico de una EPROM de 2048 x 8
CE/PGM
A0
A1
A2
A4
A5
A0
6
A7 A8
A10
&
EPROM
2048X8
EN
Q0
Qi
Q2
Q3
Q4 Q5
Q6 Q7
32
32
Programador Universal: Dispositivo electrOnico que permite, leer, borrar y programar, memorias tipo EPROM, EEPROM, FLASH, microcontroladores, PLD´s entre otros.
Borrador de memorias UV EPROM:
Dispositivo electrOnico temporizado, para exponer a luz ultravioleta las memorias EPROM.
32
32
Memoria FLASH : Son memorias de lectura/escritura de alta densidad no volátil, lo que significa que pueden almacenar los datos indefinidamente en ausencia de alimentaciOn.
Es la memoria ideal , tiene alta capacidad de almacenamiento, permite lectura y escritura, alta velocidad y no volátil.
La célula de memoria flash es monotransistor (MOS), con una puerta de control y una flotante donde se almacenan los electrones (carga)
33
Pocos electrones = menos carga = 1 almacenado
Muchos electrones = mas carga = 0 almacenado
Célula de almacenamiento De una memoria flash
Drenador
Puerta Flotatente
Puerta de Control SImbolo del
Transistor MOS
Fuente
+VD +VD
Puerta flotante
+VPROG
0V
almacenando un 0 almacenando un 1
Proceso de Almacenamiento De un 1 o 0 en una célula Flash
Durante la programacion
41
41
41
Operación de Lectura de una célula flash de una matriz
+VD
+VREAD
0V
Lectura de un 0
+VD
0V
i
+VREAD
Lectura de un 1
41
41
Operación de Borrado de una célula flash de una matriz
0V
+ERASE
Para borrar una célula, se aplica a la fuente Una tensión suficientemente positiva con Respecto a la puerta de control, con el fin de Extraer la carga de la puerta flotante durante La operación de borrado
41
41
Ejemplo de algunas memorias EPROM comerciales
Vcc = 5V Vpp = 25V
PIN NAMES
A0-A12 Addresses
CE Chip Enable
OE Output Enables
O0 - O7 Outputs
Program PGM VPP Voltage Program
PIN MODO CE OE PGM Vpp Vcc Outputs
Lectura 0 0 1 Vcc Vcc Dout Desactiiado 1 X X Vcc Vcc Alta Z Programacion 0 X 0 Vpp Vcc Din Vrificacion del Programa 0 0 1 Vpp Vcc Dout Promacion Prohibida 1 X X Vpp Vcc Alta Z
41
41
Comparación de los Tipos de Memorias
Tipo de memoria Volátil Alta densidad Celda con un solo transistor
Reescribible en El sistema final
FLASH No SI SI SI
SRAM SI No No Si
DRAM SI Si Si Si
ROM No Si Si No
EPROM No Si Si No
EEPROM No No No Si
41
41
Esquema de Un Sistema Microprocesado
RD WR
CPU Z80
D
A
RD
DECODIFICADOR
ROM CS
DATOS
DIRECCIONES
RD
RAM CS
WR
I/O(8255) CS
RD WR
41
41
MICROPROCESADOR Bus de Datos
Bus de Direcciones
Bus de control
CPU
CU
ALU
REGS
El microprocesador es un circuito integrado que realiza opera raciones de transferencia de datos, control, aritmOticas, lOgicas y tratamientos de las interrupciones mediante la ejecuciOn de instrucciones obtenidas en la memoria.
41
41
DIAGRAMA DE BLOQUES ARQUITECTURA INTERNA DE UN MICROPROCESADOR
Contador de programa
Registro de Programa
Registro de Codigo de
Instrucciones
RELOJ
BUS DEL SISTEMA Bus de Control Bus de Direcciones Bus de Datos
ALU
Registro A Registro B Registro Induce X Sp Puntero De Pila Registro Status
41
41
BLOQUES FUNCIONALES DE UN PROCESADOR:
U Unidad de cálculo (ALU): para la ejecuciOn de operaciones aritmOtico y lOgicas.
U Unidad de control (UC): capaz de coordinar el funcionamiento de todo el sistema y de tomar decisiones en funciOn de resultados previos.
U Sistema de Memoria: para la obtenciOn de instrucciones (Programa) y almacenamiento de informaciOn (variables del programa).
U Un Sistema de Entradas/Salidas: para establecer la comunicaciOn con el mundo exterior (recepciOn de Ordenes, datos, y entrega de resultados tanto de carácter analOgico como digital).
reloj n R0
n R1
R2 n n
R3
n R4
n R5
n n
R6 Datos de entrada
0
0 7 0 7
Decodificadores
7 Selección
Mux SB Mux Selección SA
B A
S
V Z C
Unidad Aritmética
y Lógica
Selección de Operación
F Bits de estado
Selección del Destino
D
Unidad de Corrimiento Selección de Corrimiento H
n Datos de
Salida
42
45 45 45
BLOQUES FUNCIONALES:
Programa: un conjunto de instrucciones que especifica las Operaciones, operándos y la secuencia en que ocurrirá el procesamiento. La tarea del procesamiento se modifica especificando un programa con instrucciones diferentes o con las mismas instrucciones y diferentes datos.
Set De Instrucciones: Conjunto de instrucciones u ordenes propias de cada computadora. Cada una de estas instrucciones tiene su propio cOdigo que l identifica.
Código de Instrucción: es un grupo de bits, que indica a la computadora la operaciOn especifica a realizar.
45 45
LENGUAJE DE MAQUINA
45 45
Set de Instrucciones MInimo
Ejemplo: Escriba un programa que realice la siguiente operación:
83H – (52H ~ 25H) y almacene el resultado en la direccion : FAH
LDI 52H Carga en el acumulador (Registro A) ADI 25H Suma 25 al Acumulador CMA ComplementaAcumulador INA Incrementa Acumulador ADI 83H Suma 83 STA FAH Almacena el resultado del Acumulador
en la posición de memoria FAH
PC-H M-prog M-dat
PC-L
AR-H
AR-L DR
IR ACR Bus ctr
ALU
C
Z
N
P S-UNIT
uProcesador Básico
Máquina de estados
Bus dir A0…An
Bus dat D0...D7
Ejecución interna de instrucciones por un microprocesador básico
uProcesador Básico
Bus ctr
Máquina de estados
AR-H
PC-H
AR-L
PC-L
IR
C
Z
ACR
N
P S-UNIT
ALU
DR
Bus dir A0…An
M-prog
Bus dat D0…D7
M-dat
And A,Inm 30H Add A,Inm 20H Mov A,Inm 10H JMP, Dir16b 40H
And A,Direct 31H Add A,Direct 21H Mov A,Direct 11H JZ,Dir8b 41H
Or A,Inm 32H Sub A,Inm 22H Mov A,@ptr 12H JC,Dir8b 42H
Or A,Direct 33H Sub A,Direct 23H Mov Direct,A 13H JNZ,Dir8b 43H
Xor A,Inm 34H Inc A 24H Mov Direct,Inm 14H JNC,Dir8b 44H
Xor A,Direct 35H Dec A 25H Srl A 50H Rrl A 52H
Cmp A 36H
Srr A 51H Rrr A 53H
uProcesador Básico
Bus ctr
Máquina de estados
AR-H
PC-H
AR-L
PC-L
IR
C
Z
ACR
N
P S-UNIT
ALU
DR
Bus dir A0…An
M-prog
Bus dat D0…D7
M-dat
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A Srl A
uProcesador Básico
Bus ctr
Máquina de estados
AR-H
PC-H
AR-L
PC-L
IR
C
Z
ACR
N
P
S-UNIT
ALU
DR
Bus dir A0…An
M-prog
Bus dat D0…D7
M-dat
Dir Contenido
0000 Mov A
0001 ,#37H
0002 Add A
0003 ,#5FH
0004 Mov Dir,A
0005 10H
0006 Inc A
0007 Srl A
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A Srl A
Compilación
Contenido
10H
5FH
20H
24H
37H
50H
13H
10H
Dir
0000
0001
0002
0003
0004
0005
0006
0007
uProcesador Básico
Bus ctr
Máquina de estados
AR-H
PC-H
AR-L
PC-L
IR
C
Z
ACR
N
P
S-UNIT
ALU
DR
Bus dir A0…An
Dir Conteni do
0000 10H
0001 37H
0002 20H
0003 5FH
0004 13H
0005 10H
0006 24H
0007 50H
M-prog
Programación de la memoria
Bus dat D0…D7
M-dat
Dir Contenido
0000 Mov A
0001 ,#37H
0002 Add A
0003 ,#5FH
0004 Mov Dir,A
0005 10H
0006 Inc A
0007 Srl A
Dir Contenido
0000 10H
0001 37H
0002 20H
0003 5FH
0004 13H
0005 10H
0006 24H
0007 50H
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A Srl A
Compilación
M-prog PC-H M-dat Dir Conteni
do
PC-L 10H 0000 Bus dir A0…An
0001 37H
AR-H 20H 0002
0003 5FH
AR-L 13H 0004
0005 10H DR 24H 0006
0007 50H
Bus dat
D0...D7 IR ACR Bus ctr Toda máquina de estados posee
Máquina de estados
ALU
P
N
Z
C
S-UNIT
uProcesador Básico
Dir Contenido
0000 Mov A
0001 ,#37H
0002 Add A
0003 ,#5FH
0004 Mov Dir,A
0005 10H
0006 Inc A
0007 Srl A
una señal de inicialización o reset. En los microprocesadores este reset inicializa los registros internos del procesadora un estado predeterminado, y prepara al microprocesador para ir en bUsqueda de la primera instrucción a ser ejecutada.
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A Srl A
La primera instrucción se encuentra en la posición 0000H de la memoria de programa ó en otra segUn sea la inicialización del contador de programa o PC
uProcesador Básico
Bus ctr
Máquina de estados
AR-H
PC-H
AR-L
PC-L
IR
C
Z
ACR
N
P
S-UNIT
ALU
DR
Bus dir A0…An
Para c a d a u n a d e l a s instrucciones existen dos fases:
1.Fase de captura
2.Fase de ejecución
0000
0001
0002
0003
0004
0005
0006
0007
Dir
M-prog Conteni
do
20H
5FH
24H
37H
50H
10H
13H
10H
Bus dat
D0...D7
M-dat
Dir Contenido
0000 Mov A
0001 ,#37H
0002 Add A
0003 ,#5FH
0004 Mov Dir,A
0005 10H
0006 Inc A
0007 Srl A
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A Srl A
uProcesador Básico
Bus ctr
Máquina de estados
PC-H =00
PC-L=00
AR-H
AR-L
IR
C
Z
ACR
N
P
S-UNIT
ALU
DR
Bus dir A0…An
1. El microprocesador direcciona la primera posicion de memoria de programa
Fase de captura:
0000
0001
0002
0003
0004
0005
0006
0007
Dir
M-prog Conteni
do
20H
5FH
24H
37H
50H
10H
13H
10H
Bus dat
D0...D7
M-dat
Dir Contenido
0000 Mov A
0001 ,#37H
0002 Add A
0003 ,#5FH
0004 Mov Dir,A
0005 10H
0006 Inc A
0007 Srl A
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A Srl A
M-prog PC-H=00 M-dat
Dir Conteni do
PC-L=00 10H 0000 Bus dir A0…An
0001 37H
AR-H 20H 0002
0003 5FH
AR-L 13H 0004
0005 10H DR = 10H 24H 0006
0007 50H
Bus dat
D0...D7 IR ACR Bus ctr Fase de captura:
Máquina de estados
ALU
P
N
Z
C
S-UNIT
uProcesador Básico
Dir Contenido
0000 Mov A
0001 ,#37H
0002 Add A
0003 ,#5FH
0004 Mov Dir,A
0005 10H
0006 Inc A
0007 SrI A
1.El microprocesador direcciona la primera posición de memoria de programa
2.El contenido de dicha dirección se lee de la memoria y se almacena en el registro de datos DR. Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A SrI A
M-prog PC-H=00 M-dat
Dir Conteni do
PC-L=00 10H 0000 Bus dir A0…An
0001 37H
AR-H 20H 0002
0003 5FH
AR-L 13H 0004
0005 10H DR = 10H 24H 0006
0007 50H
Bus dat
D0...D7 IR=10H ACR Bus ctr Fase de captura:
Máquina de estados
ALU
P
N
Z
C
S-UNIT
uProcesador Básico
Dir Contenido
0000 Mov A
0001 ,#37H
0002 Add A
0003 ,#5FH
0004 Mov Dir,A
0005 10H
0006 Inc A
0007 SrI A
1.El microprocesador direcciona la primera posición de memoria de programa
2.El contenido de dicha dirección se lee de la memoria y se almacena en el registro de datos DR.
3.El contenido del registro DR se transfiere al registro IR
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A SrI A
M-prog PC-H=00 M-dat
Dir Conteni do
PC-L=00 10H 0000 Bus dir A0…An
0001 37H
AR-H 20H 0002
0003 5FH
AR-L 13H 0004
0005 10H DR = 10H 24H 0006
0007 50H
Bus dat
D0...D7 IR=10H ACR Bus ctr Fase de captura:
Máquina de estados
ALU
P
N
Z
C
S-UNIT
uProcesador Básico
Dir Contenido
0000 Mov A
0001 ,#37H
0002 Add A
0003 ,#5FH
0004 Mov Dir,A
0005 10H
0006 Inc A
0007 SrI A
1.El microprocesador direcciona la primera posición de memoria de programa
2.El contenido de dicha dirección se lee de la memoria y se almacena en el registro de datos DR.
3.El contenido del registro DR se transfiere al registro IR
4.El contador de programa se incrementa para accesar la siguiente posición de memoria
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A SrI A
M-prog PC-H=00 M-dat
Dir Conteni do
PC-L=01 10H 0000 Bus dir A0…An
0001 37H
AR-H 20H 0002
0003 5FH
AR-L 13H 0004
0005 10H DR = 10H 24H 0006
0007 50H
Bus dat
D0...D7 IR=10H ACR Bus ctr Fase de captura:
Máquina de estados
ALU
P
N
Z
C
S-UNIT
uProcesador Básico
Dir Contenido
0000 Mov A
0001 ,#37H
0002 Add A
0003 ,#5FH
0004 Mov Dir,A
0005 10H
0006 Inc A
0007 SrI A
1.El microprocesador direcciona la primera posición de memoria de programa
2.El contenido de dicha dirección se lee de la memoria y se almacena en el registro de datos DR.
3.El contenido del registro DR se transfiere al registro IR
4.El contador de programa se incrementa para accesar la siguiente posición de memoria
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A SrI A
Estos pasos se denominan micro-
operaciones y son ejecutadas por Ia
máquina de estados
M-prog PC-H=00 M-dat
Dir Conteni do
PC-L=01 10H 0000 Bus dir A0…An
0001 37H
AR-H 20H 0002
0003 5FH
AR-L 13H 0004
0005 10H DR = 37H 24H 0006
0007 50H
Bus dat
D0...D7 IR=10H ACR Bus ctr Fase de ejecución:
Dependiendo del código de
Máquina de estados
ALU
P
N
Z
C
operación, la mãquina de estados ejecuta una secuencia de estados determinada.
S-UNIT
uProcesador Básico
Dir Contenido
0002 Add A
0003 ,#5FH
0004 Mov Dir,A
0005 10H
0006 Inc A
0007 SrI A
• Identificado el tipo de direccionamiento, el dato direccionado por el PC se almacena en el registro DR.
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A SrI A
desplazamient o.
M-prog PC-H=00 M-dat
Dir Conteni do
PC-L=01 10H 0000 Bus dir A0…An
0001 37H
AR-H 20H 0002
0003 5FH
AR-L 13H 0004
0005 10H DR = 37H 24H 0006
0007 50H
Bus dat
D0...D7 IR=10H ACR = 37H Bus ctr Fase de ejecución:
Dependiendo del código de
Máquina de estados
ALU
P
N
Z
C
operación, la mãquina de estados ejecuta una secuencia de estados determinada.
S-UNIT
uProcesador Básico
Dir Contenido
0002 Add A
0003 ,#5FH
0004 Mov Dir,A
0005 10H
0006 Inc A
0007 SrI A
·Identificado el tipo de direccionamiento, el dato direccionado por el PC se almacena en el registro DR.
·El contenido del registro DR se transfiere al registro ACR (Acumulador), esto obligando a la ALU a realizar una operación de transferencia al igual que en la unidad de
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A SrI A
desplazamient o.
desplazamient o.
M-prog PC-H=00 M-dat
Dir Conteni do
PC-L=02 10H 0000 Bus dir A0…An
0001 37H
AR-H 20H 0002
0003 5FH
AR-L 13H 0004
0005 10H DR = 37H 24H 0006
0007 50H
Bus dat
D0...D7 IR=10H ACR = 37H Bus ctr Fase de ejecución:
Dependiendo del código de
Máquina de estados
ALU
P
N
Z
C
operación, la mãquina de estados ejecuta una secuencia de estados determinada.
S-UNIT
uProcesador Básico
Dir Contenido
0002 Add A
0003 ,#5FH
0004 Mov Dir,A
0005 10H
0006 Inc A
0007 SrI A
·Identificado el tipo de direccionamiento, el dato direccionado por el PC se almacena en el registro DR.
·El contenido del registro DR se transfiere al registro ACR (Acumulador), esto obligando a la ALU a realizar una operación de transferencia al igual que en la unidad de
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A SrI A
3. El contenido del registro PC se incrementa nuevamente para estar listo para la próxima captura de instrucción
desplazamient o.
desplazamient o.
uProcesador Básico
Bus ctr
Máquina de estados
PC-H=00
PC-L=02
IR=10H
AR-H
AR-L
C
ACR = 37H
Z
N
P
S-UNIT
ALU
DR = 20H
Bus dir A0…An
Fase de captura: • El dato contenido en la
nueva dirección de memoria direccionado por el PC se almacena en el registro DR.
0000
0001
0002
0003
0004
0005
0006
0007
Dir
M-prog Conteni
do
20H
5FH
24H
37H
50H
10H
13H
10H
Bus dat D0...D7
M-dat
Dir Contenido
0002 Add A
0003 ,#5FH
0004 Mov Dir,A
0005 10H
0006 Inc A
0007 SrI A
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A SrI A
M-prog PC-H=00 M-dat
Dir Conteni do
PC-L=03 10H 0000 Bus dir A0…An
0001 37H
AR-H 20H 0002
0003 5FH
AR-L 13H 0004
0005 10H DR = 20H 24H 0006
0007 50H
Bus dat D0...D7
IR=20H ACR = 37H Bus ctr Fase de captura:
·El dato contenido en la
Máquina de estados
ALU
P
N
Z
C
S-UNIT
uProcesador Básico
Dir Contenido
0002 Add A
0003 ,#5FH
0004 Mov Dir,A
0005 10H
0006 Inc A
0007 Srl A
nueva dirección de memoria direccionado por el PC se almacena en el registro DR.
·El contenido del registro DR se transfiere al registro IR.
·El contador de programa se incrementa de nuevo Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A Srl A
M-prog PC-H=00 M-dat
Dir Conteni do
PC-L=03 10H 0000 Bus dir A0…An
0001 37H
AR-H 20H 0002
0003 5FH
AR-L 13H 0004
0005 10H DR = 5FH 24H 0006
0007 50H
Bus dat D0...D7
IR=20H ACR = 37H Bus ctr Fase de captura:
·El dato contenido en la
Máquina de estados
ALU
P
N
Z
C
S-UNIT
uProcesador Básico
Dir Contenido
0000 Mov A
0001 ,#37H
0004 Mov Dir,A
0005 10H
0006 Inc A
0007 Srl A
nueva dirección de memoria direccionado por el PC se almacena en el registro DR.
·El contenido del registro DR se transfiere al registro IR.
·El contador de programa se incrementa de nuevo Fase de ejecución: Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A Srl A
·Interpretada la instrucción por la mãquina de estados, se transfiere el dato de la memoria al registro de datos DR.
M-prog PC-H=00 M-dat
Dir Conteni do
PC-L=03 10H 0000 Bus dir A0…An
0001 37H
AR-H 20H 0002
0003 5FH
AR-L 13H 0004
0005 10H DR = 5FH 24H 0006
0007 50H
Bus dat D0...D7
IR=20H ACR = 37H Bus ctr Fase de captura:
·El dato contenido en la
Máquina de estados
ALU
P
N
Z
C
S-UNIT
uProcesador Básico
Dir Contenido
0000 Mov A
0001 ,#37H
0004 Mov Dir,A
0005 10H
0006 Inc A
0007 Srl A
nueva dirección de memoria direccionado por el PC se almacena en el registro DR.
·El contenido del registro DR se transfiere al registro IR.
·El contador de programa se incrementa de nuevo Fase de ejecución: Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A Srl A
·Interpretada la instrucción por la mãquina de estados, se transfiere el dato de la memoria al registro de datos DR.
·La mãquina de estados ordena a la ALU que ejecute la operación de adición entre el ACR y DR. La unidad de corrimiento ejecuta una operación de transferencia y el
result ado se almac ena de nuevo en el registr o ACR
M-prog PC-H=00 M-dat
Dir Conteni do
PC-L=03 10H 0000 Bus dir A0…An
0001 37H
AR-H 20H 0002
0003 5FH
AR-L 13H 0004
0005 10H DR = 5FH 24H 0006
0007 50H
Bus dat D0...D7
IR=20H ACR = 96H Bus ctr Fase de captura:
·El dato contenido en la
Máquina de estados
ALU
P
N
Z
C
S-UNIT
uProcesador Básico
Dir Contenido
0000 Mov A
0001 ,#37H
0004 Mov Dir,A
0005 10H
0006 Inc A
0007 Srl A
nueva dirección de memoria direccionado por el PC se almacena en el registro DR.
·El contenido del registro DR se transfiere al registro IR.
·El contador de programa se incrementa de nuevo Fase de ejecución: Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A Srl A
·Interpretada la instrucción por la máquina de estados, se transfiere el dato de la memoria al registro de datos DR.
·La máquina de estados ordena a la ALU que ejecute la operación de adición entre el ACR y DR. La unidad de corrimiento ejecuta una operación de transferencia y el resultado se almacena de nuevo en el registro ACR
M-prog PC-H=00 M-dat
Dir Conteni do
PC-L=04 10H 0000 Bus dir A0…An
0001 37H
AR-H 20H 0002
0003 5FH
AR-L 13H 0004
0005 10H DR = 5FH 24H 0006
0007 50H
Bus dat D0...D7
IR=20H ACR = 96H Bus ctr Fase de captura:
·El dato contenido en la
Máquina de estados
ALU
P
N
Z
C
S-UNIT
uProcesador Básico
Dir Contenido
0000 Mov A
0001 ,#37H
0004 Mov Dir,A
0005 10H
0006 Inc A
0007 Srl A
nueva dirección de memoria direccionado por el PC se almacena en el registro DR.
·El contenido del registro DR se transfiere al registro IR.
·El contador de programa se incrementa de nuevo Fase de ejecución: Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A Srl A
3. Se incrementa de nuevo el contador de programa para accesar a la siguiente instrucción almacenada en memoria
uProcesador Básico
Bus ctr
Máquina de estados
PC-H=00
PC-L=04
IR=20H
AR-H
AR-L
C
ACR = 96H
Z
N
P
S-UNIT
ALU
DR = 13H
Bus dir A0…An
Fase de captura: • El dato contenido en la
nueva dirección de memoria direccionado por el PC se almacena en el registro DR.
0000
0001
0002
0003
0004
0005
0006
0007
Dir
M-prog Conteni
do
20H
5FH
24H
37H
50H
10H
13H
10H
Bus dat D0...D7
M-dat
Dir Contenido
0000 Mov A
0001 ,#37H
0004 Mov Dir,A
0005 10H
0006 Inc A
0007 Srl A
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A Srl A
Dir Contenido
0000 Mov A
0001 ,#37H
0004 Mov Dir,A
0005 10H
0006 Inc A
0007 Srl A
uProcesador Básico
Bus ctr
Máquina de estados
PC-H=00
PC-L=04
IR=13H
AR-H
AR-L
C
ACR = 96H
Z
N
P
S-UNIT
ALU
DR = 13H
Bus dir A0…An
Fase de captura: ·El dato contenido en la
nueva dirección de memoria direccionado por el PC se almacena en el registro DR.
·El contenido del registro DR se transfiere al registro IR
0000
0001
0002
0003
0004
0005
0006
0007
Dir
M-prog Conteni
do
20H
5FH
24H
37H
50H
10H
13H
10H
Bus dat D0...D7
M-dat
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A Srl A
M-prog PC-H=00 M-dat
Dir Conteni do
PC-L=05 10H 0000 Bus dir A0…An
0001 37H
AR-H 20H 0002
0003 5FH
AR-L 13H 0004
0005 10H DR = 13H 24H 0006
0007 50H
Bus dat D0...D7
IR=13H ACR = 96H Bus ctr Fase de captura:
·El dato contenido en la
Máquina de estados
ALU
P
N
Z
C
S-UNIT
uProcesador Básico
Dir Contenido
0000 Mov A
0001 ,#37H
0004 Mov Dir,A
0005 10H
0006 Inc A
0007 Srl A
nueva dirección de memoria direccionado por el PC se almacena en el registro DR.
·El contenido del registro DR se transfiere al registro IR
·Se incrementa el contador de programa PC Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A Srl A
uProcesador Básico
Bus ctr
Máquina de estados
PC-H=00
PC-L=05
IR=13H
AR-H
AR-L
C
ACR = 96H
Z
N
P
S-UNIT
ALU
DR = 10H
Bus dir A0…An
Fase de ejecución:
• Interpretado el código de instrucción, la mãquina de estados lee la siguiente posición de memoria y el dato se almacena en DR.
0000
0001
0002
0003
0004
0005
0006
0007
Dir
M-prog Conteni
do
20H
5FH
24H
37H
50H
10H
13H
10H
Bus dat
D0...D7
M-dat
Dir Contenido
0000 Mov A
0001 ,#37H
0002 Add A
0003 ,#5FH
0005 10H
0006 Inc A
0007 SrI A
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A SrI A
uProcesador Básico
Bus ctr
AR-H =00
Máquina de estados
PC-H=00
AR-L=10
PC-L=05
IR=13H
C
ACR = 96H
Z
N
P
S-UNIT
ALU
DR = 10H
Bus dir A0…An
Fase de ejecución:
• El contanido en DR es una dirección de memoria, por lo que esta se transfiere al registro de direcciones AR.
0000
0001
0002
0003
0004
0005
0006
0007
Dir
M-prog Conteni
do
20H
5FH
24H
37H
50H
10H
13H
10H
Bus dat
D0...D7
M-dat
Dir Contenido
0000 Mov A
0001 ,#37H
0002 Add A
0003 ,#5FH
0005 10H
0006 Inc A
0007 SrI A
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A SrI A
M-prog PC-H=00 M-dat
Dir Conteni do
PC-L=06 10H 0000 Bus dir A0…An
0001 37H
AR-H =00 20H 0002
0003 5FH
AR-L=10 13H 0004
0005 10H DR = 10H 24H 0006
0007 50H
Bus dat
D0...D7 IR=13H ACR = 96H Bus ctr Fase de ejecución:
Máquina de estados
ALU
P
N
Z
C
S-UNIT
uProcesador Básico
Dir Contenido
0000 Mov A
0001 ,#37H
0002 Add A
0003 ,#5FH
0005 10H
0006 Inc A
0007 SrI A
·El contanido en DR es una dirección de memoria, por lo que esta se transfiere al registro de direcciones AR.
·Se incrementa el contenido del PC, se direcciona la memoria de datos con la dirección contenida en AR y se ordena a la ALU y a la S-UNIT a realizar una operación de transferencia para poner el contenido del ACR en el bus de datos
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A SrI A
M-prog PC-H=00
M d a t
Dir Conteni do
000E XXH
000F XXH
0010 96H
0011 XXH
0012 XXH
Conteni do
Dir
PC-L=06 10H 0000 Bus dir A0…An
0001 37H
AR-H =00 20H 0002
0003 5FH
AR-L=10 13H 0004
0005 10H DR = 10H 24H 0006
0007 50H
Bus dat
D0...D7 IR=13H ACR = 96H Bus ctr Fase de ejecución:
Máquina de estados
ALU
P
N
Z
C
S-UNIT
uProcesador Básico
Dir Contenido
0000 Mov A
0001 ,#37H
0002 Add A
0003 ,#5FH
0005 10H
0006 Inc A
0007 SrI A
·El contanido en DR es una dirección de memoria, por lo que esta se transfiere al registro de direcciones AR.
·Se incrementa el contenido del PC, se direcciona la memoria de datos con la dirección contenida en AR y se ordena a la ALU y a la S-UNIT a realizar una operación de transferencia para poner el contenido del ACR en el bus de datos
·Se escribe en la memoria de datos el contenido del acumulador
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A SrI A
uProcesador Básico
Bus ctr
AR-H =00
Máquina de estados
PC-H=00
AR-L=10
PC-L=06
IR=13H
C
ACR = 96H
Z
N
P
S-UNIT
ALU
DR = 24H
Bus dir A0…An
Fase de captura:
• Se reestablece el bus de direcciones al PC y se carga el contenido de la nueva dirección de memoria de programa en el registro DR
0000
0001
0002
0003
0004
0005
0006
0007
Dir
M-prog Conteni
do
20H
5FH
24H
37H
50H
10H
13H
10H
Bus dat
D0...D7
M d a t
Dir Conteni do
000E XXH
000F XXH
0010 96H
0011 XXH
0012 XXH
Dir Contenido
0000 Mov A
0001 ,#37H
0002 Add A
0003 ,#5FH
0005 10H
0006 Inc A
0007 Srl A
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A Srl A
M-prog PC-H=00
Conteni do
M d a t
Dir Conteni do
000E XXH
000F XXH
0010 96H
0011 XXH
0012 XXH
Dir
PC-L=07 10H 0000 Bus dir A0…An
0001 37H
AR-H =00 20H 0002
0003 5FH
AR-L=10 13H 0004
0005 10H DR = 24H 24H 0006
0007 50H
Bus dat
D0...D7 IR=24H ACR = 96H Bus ctr Fase de captura:
Máquina de estados
ALU
P
N
Z
C
S-UNIT
uProcesador Básico
Dir Contenido
0000 Mov A
0001 ,#37H
0002 Add A
0003 ,#5FH
0005 10H
0006 Inc A
0007 Srl A
·Se reestablece el bus de direcciones al PC y se carga el contenido de la nueva dirección de memoria de programa en el registro DR
·Se transfiere el contenido de DR al registro IR y se incrementa el PC
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A Srl A
uProcesador Básico
Bus ctr
AR-H =00
Máquina de estados
PC-H=00
AR-L=10
PC-L=07
IR=24H
C
ACR = 96H
Z
N
P
S-UNIT
ALU
DR = 24H
Bus dir A0…An
Fase de ejecución:
• La mãquina de estados ordena a la ALU incrementar el acumulador y el resultado se almacena de nuevo en el registro ACR
0000
0001
0002
0003
0004
0005
0006
0007
Dir
M-prog Conteni
do
20H
5FH
24H
37H
50H
10H
13H
10H
Bus dat
D0...D7
M d a t
Dir Conteni do
000E XXH
000F XXH
0010 96H
0011 XXH
0012 XXH
Dir Contenido
0000 Mov A
0001 ,#37H
0002 Add A
0003 ,#5FH
0004 Mov Dir,A
0005 10H
0007 SrI A
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A SrI A
uProcesador Básico
Bus ctr
AR-H =00
Máquina de estados
PC-H=00
AR-L=10
PC-L=07
IR=24H
C
ACR = 97H
Z
N
P
S-UNIT
ALU
DR = 24H
Bus dir A0…An
Fase de ejecución:
• La mãquina de estados ordena a la ALU incrementar el acumulador y el resultado se almacena de nuevo en el registro ACR
0000
0001
0002
0003
0004
0005
0006
0007
Dir
M-prog Conteni
do
20H
5FH
24H
37H
50H
10H
13H
10H
Bus dat
D0...D7
M d a t
Dir Conteni do
000E XXH
000F XXH
0010 96H
0011 XXH
0012 XXH
Dir Contenido
0000 Mov A
0001 ,#37H
0002 Add A
0003 ,#5FH
0004 Mov Dir,A
0005 10H
0007 SrI A
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A SrI A
uProcesador Básico
Bus ctr
AR-H =00
Máquina de estados
PC-H=00
AR-L=10
PC-L=07
IR=24H
C
ACR = 97H
Z
N
P
S-UNIT
ALU
DR = 50H
Bus dir A0…An
Fase de captura:
• Se carga el contenido de la memoria de programa en el registro DR
0000
0001
0002
0003
0004
0005
0006
0007
Dir
M-prog Conteni
do
20H
5FH
24H
37H
50H
10H
13H
10H
Bus dat
D0...D7
M d a t
Dir Conteni do
000E XXH
000F XXH
0010 96H
0011 XXH
0012 XXH
Dir Contenido
0000 Mov A
0001 ,#37H
0002 Add A
0003 ,#5FH
0004 Mov Dir,A
0005 10H
0007 SrI A
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A SrI A
M-prog PC-H=00
Conteni do
M d a t
Dir Conteni do
000E XXH
000F XXH
0010 96H
0011 XXH
0012 XXH
Dir
PC-L=08 10H 0000 Bus dir A0…An
0001 37H
AR-H =00 20H 0002
0003 5FH
AR-L=10 13H 0004
0005 10H DR = 50H 24H 0006
0007 50H
Bus dat
D0...D7 IR=50H ACR = 97H Bus ctr Fase de captura:
Máquina de estados
ALU
P
N
Z
C
S-UNIT
uProcesador Básico
Dir Contenido
0000 Mov A
0001 ,#37H
0002 Add A
0003 ,#5FH
0004 Mov Dir,A
0005 10H
0007 SrI A
·Se carga el contenido de la memoria de programa en el registro DR
·Se transfiere el contenido de DR al registro IR y se incrementa el contador de programa
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A SrI A
M prog PC-H=00
Conteni do
M d a t
Dir Conteni do
000E XXH
000F XXH
0010 96H
0011 XXH
0012 XXH
Dir
PC-L=08 10H 0000 Bus dir A0…An
0001 37H
AR-H =00 20H 0002
0003 5FH
AR-L=10 13H 0004
0005 10H DR = 50H 24H 0006
0007 50H
Bus dat
D0...D7 IR=50H 10010111b
ACR = 97H Bus ctr Fase de ejecución:
Máquina de estados
ALU 10010111b
P
N
Z
C
S-UNIT
uProcesador Básico
Dir Contenido
0000 Mov A
0001 ,#37H
0002 Add A
0003 ,#5FH
0004 Mov Dir,A
0005 10H
0006 Inc A
• Interpretada la instrucción, la mãquina de estados ordena a la ALU realizar una operación de transferencia y a la unidad de corrimiento que desplaza el dato es su entrada a la izquierda una posición.
00101110b Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A Srl A
M prog PC-H=00
Conteni do
M d a t
Dir Conteni do
000E XXH
000F XXH
0010 96H
0011 XXH
0012 XXH
Dir
PC-L=08 10H 0000 Bus dir A0…An
0001 37H
AR-H =00 20H 0002
0003 5FH
AR-L=10 13H 0004
0005 10H DR = 50H 24H 0006
0007 50H
Bus dat
D0...D7 IR=50H 00101110b
ACR = 2EH Bus ctr Fase de ejecución:
Máquina de estados
ALU 00101110b
P
N
Z
C
S-UNIT
uProcesador Básico
Dir Contenido
0000 Mov A
0001 ,#37H
0002 Add A
0003 ,#5FH
0004 Mov Dir,A
0005 10H
0006 Inc A
·Interpretada la instrucción, la mãquina de estados ordena a la ALU realizar una operación de transferencia y a la unidad de corrimiento que desplaza el dato es su entrada a la izquierda una posición.
·El resultado se almacena de nuevo en el registro ACR
00101110b Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A Srl A
M-prog PC-H=00
Conteni do
M d a t
Dir Conteni do
000E XXH
000F XXH
0010 96H
0011 XXH
0012 XXH
Dir
PC-L=08 10H 0000 Bus dir A0…An
0001 37H
AR-H =00 20H 0002
0003 5FH
AR-L=10 13H 0004
0005 10H DR = 50H 24H 0006
0007 50H
Bus dat
D0...D7 IR=50H ACR = 2EH Bus ctr Fase de ejecución:
Máquina de estados
ALU
P
N
Z
C
S-UNIT
uProcesador Básico
Dir Contenido
0000 Mov A
0001 ,#37H
0002 Add A
0003 ,#5FH
0004 Mov Dir,A
0005 10H
0006 Inc A
·Interpretada la instrucción, la mãquina de estados ordena a la ALU realizar una operación de transferencia y a la unidad de corrimiento que desplaza el dato es su entrada a la izquierda una posición.
·El resultado se almacena de nuevo en el registro ACR
·Se finaliza la ejecución de esta parte de programa y se continua con el resto.
Programa
Mov A,#37H Add A,#5FH Mov 10H,A Inc A Srl A
Microcontroladores
Un microcontrolador integra la CPU y todos los periféricos en un mismo chip. El programador se desentiende de una gran cantidad de dispositivos y se concentra en el programa de trabajo.
Puerto Paralelo
CPU CONVERTIDOR A/D
CONVERTIDOR D/A
Temporizador
MEMORIA RAM
MEMORIA ROM
Puerto Serie
83
Clasificación de Los Microcontroladores CARACTERISTICAS DE LOS MICROCONTROLADORES
U Un sistema con estructura integrada.
U Gran capacidad para atender interrupciones en cuanto a rapidez y gestiOn de prioridades.
U Arquitectura dotada para el multiprocesamiento.
U Memoria RAM y ROM interna de gran capacidad, y facilidad para adicionar memoria externa.
U Controladores de periféricos adaptados para aplicaciones especIficas y cada vez más inteligentes.
U VersiOn de bajo consumo para aplicaciones especiales.
U inmunidad al ruido eléctrico.
U EjecuciOn rápida y eficiente de instrucciones.
U Lmneas de Entrada/Salida programables.
Clasificación de Los Microcontroladores
85
> Propósito general > DSP (Digital Signal Processor). > ASIP (Application Specific Integrated Processor). > Otros
Por la Arquitectur
a
ClasificaciOn de los Microcontroladores
> Gama Baja > Gama Media > Gama Alta > Multiprocesador
Por las Prestacione
s
Por la Tecnología
> Alimentación > Consumo > Frecuencia
Clasificación de Los Microcontroladores
87
Aplicación de Los Microcontroladores
La industria : RegulaciOn,
Automatismos, RobOtica, Control de procesos, Control de inyecciOn
Informática: Impresoras,
Plotters CDROM
Seguridad : Control de encendido,
Alarmas, Control de energia,
Remoto de electrodomésticos, etc.
Imagen y Sonido: Procesamiento de Señales
control de los motores Luces RobOticas,
vIdeo, etc.
Aplicaciones Tipicas de un
microcontrolador
OTROS: En medicina.
En aplicaciones militares.
En edificios inteligentes.
Electrodomésticos: Calefactores, lavadoras,
lavavajillas, etc.
Oficina: fax fotocopiadoras.
86
Clasificación de Los Microcontroladores
87
Las casas fabricantes de pC más conocidas en el mercado actualmente son:
Motorola
Intel
Zilog
Microchip
National Semiconductor
Mitsubishi
Rockwell
Dallas
Clasificación de Los Microcontroladores
87
Familias de Microcontroladores
Algunas Familias de Microcontroladores:
MCS-48 INTEL MCS-51
Microchip
68XX Motorola 68HC11
Zilog
PIC16FXX PIC18FXX
Z8XX Z8608 Z8603
88
92 92 92
SELECCION DEL MICROCONTROLADOR
Fabricante
PINES DE ENTRADA SALIDA ·Digitales ·Analogos
Memoria de Datos (bus de datos) Memoria de programa
Velocidad de procesamiento
CaracterIsticas, que definen la utilización de un microcontrolador en una aplicación especifica
Alimentación de voltaje
Hardware externo
Periféricos
Precio
92 92
Tipos de Arquitectura:
Arquitectura Von-Neuman:
Los p C. Von-Neuman tienen un solo bus de datos por el cual circulan instrucciones y datos. Las instrucciones del programa y los datos se guardan conjuntamente en una memoria comUn.
Cuando la CPU se dirige a la memoria principal, primero saca la instrucciOn y después saca los datos necesarios para ejecutarla, esto retarda el funcionamiento de la CPU.
MEMORIA
CPU BUS DE DATOS
8
INSTRUCCIONES
+
DATOS
BUS DE DIRECCIONES
92 92
•Arquitectura Harvard:
Los p C. Harvard tienen separados el bus de datos y el bus de instrucciOn. Esto permite el proceso paralelo:
Cuando una instrucciOn esta siendo "captada", la instrucciOn actual está utilizando el bus de datos.
Una vez que la instrucciOn actual está finalizada, la siguiente instrucciOn está disponible dentro de la CPU. Este procedimiento de trabajo permite una ejecuciOn más rápida.
BUS DE DIRECCIONES DE INSTRUCCIONES
BUS DE DIRECCIONES
DE DATOS
CPU 9
10
8 14
BUS DE BUS DE DATOS INSTRUCCIONES
MEMORIA DATOS
MEMORIA DE INSTRUCCIONES
92 92
Juego de Instrucciones:
RISC (Reduced Instruction Set Computers)
CISC ( Complex Instruction Set Computer)
SISC (Specific Instruction Set Computer)