MICROCONTRLADORES
CISC
Gran número de instrucciones
Control microprogramado (instrucciones en memoria)
Menor velocidad.
Menor consumo de espacio
Pocos registros
INTEL, Motorola, AMD, etc.
MICROPROCESADOR
RISC
Reducido número de instrucciones.
Control alambrado. (instrucciones en hardware)
Mayor velocidad.
Mayor consumo de espacio.
Muchos registros.
Motorola, Apple, National
MICROPROCESADOR
Propósito General
Los elementos auxiliares (memoria, puertos, reloj, etc.) son
externos al CPU
Fabricación más costosa
Arquitectura potente y flexible
MICROPROCESADOR (FAMILIAS)
INTEL
8 bits: 8008, 8080, 8085
16bits: 8086, 8088, 80186, 80286
32 bits: 80386, 80486
64 bits: Pentium, Pentium Pro, Pentium MMX, Pentium II,
Pentium III, Pentium IV, Xeón, Itanium, Centrino
ZILOG :
Z80, Z8000
MOTOROLA
68XX (6800…. 6809)
68XXX (68000)
Unidad de control.
Unidad Aritmético-lógica (ALU).
Registros.
Contador programa.
Registros generales.
Registro de estado.
Stack.
MICROPROCESADOR (COMPONENTES)
Posee tres bloques funcionales básicos:
CPU.
Memoria.
Puertos.
BUS DE DATOS
Bidireccional.
Influye en la velocidad de acceso de un procesador.
BUS DE CONTROL
Señales de control del procesador.
- Ejemplos: Lectura ( Rd), Escritura ( Wr),
Memoria ( MEM), Puertos ( IOR)
UNIDAD CENTRAL DE PROCESAMIENTO
Unidad central de procesamiento (CPU)
Tiene la función de realizar las operaciones lógicas y
aritméticas para controlar la transferencia de información
entre los dispositivos.
Registros
Son localizaciones físicas que sirven para almacenar
temporalmente datos, pueden ser de 8 o 16 bits.
Acumulador (W)
Registro de Instrucción (IR)
Contador de programa (PC)
CPU REGISTROS
Acumulador (W)
Almacena temporalmente el resultado de las operaciones
aritméticas lógicas.
Registro de Instrucciones (IR)
Almacena la instrucción que esta ejecutando el CPU.
Contador de Programa (PC)
Contiene la dirección de la siguiente instrucción del programa.
Registro de memoria (MAR)
Contiene la dirección de memoria a la cual se tendrá acceso.
Registro de operación (ROP)
Contiene el código de la operación que ejecutara la unidad
aritmética lógica.
CPU-ALU
La unidad aritmética lógica es una red combinacional
que se encarga de realizar operaciones entre 2 o más
operandos.
Unidad de tiempo
Se encarga de generar señales de sincronización de acuerdo
a una señal de reloj y es la responsable de la velocidad del
microprocesador.
UNIDAD DE DECODIFICACIÓN
Tiene a cargo el proceso de trasladar un patrón binario
en una operación o secuencia de operaciones.
Si se tiene el código 01101101 que representa un “ADD”, la
unidad de decodificación se encarga de generar las señales
necesarias a todas las partes que integran el
microprocesador para que esta instrucción se ejecute.
MOTOROLA
68HC11( 8 bits)
68 HC16 ( 16 bits)
NATIONAL SEMICONDUCTOR
COPx ( COP8 )
MICROCHIP
PIC ( PIC 12Cxx, 16Cxx, 17Cxx, 18Cxx)
ATMEL: Procesadores AVR (AT90S8535, AT89C51)
MICROCONTROLADOR
Fabricantes
MICROCONTROLADORES PIC DE MICROCHIP
En la actualidad se emplean cada vez más debido a:
Velocidad
Precio
Facilidad de uso
Información y herramientas de apoyo.
Gamas
PIC12C5X
Gama baja o clásica ( palabra de programa de 12 bits).
PIC16CXXX
Gama media (palabra de programa de 14 bits).
PIC17CXXX, PIC18XXX
Gama alta (palabra de programa de 16 bits).
MICROCONTROLADORES PIC DE MICROCHIP
PIC. “Periphera Interface Controller”
Los fabrica ARIZONA MICROCHIP TECHNOLOGY
Fábrica principal: Chandler (Arizona). Otras en Tender
(Arizona), Taiwán y Tailandia.
Características
Arquitectura siguiendo el modelo Harvard
Distinción entre Memoria de Programa y Memoria
de datos.
Distinción entre bus de datos y bus de
instrucciones. Distinción entre palabra de datos y
palabra de instrucciones.
MICROCONTROLADORES PIC DE MICROCHIP
Ejecución encauzada.
Dos etapas de ejecución.
Cada instrucción se ejecuta en un ciclo de reloj,
vez, el cual se
selecciona mediante
(FSR).
CARACTERÍSTICAS GENERALES (PIC16F870)
Tres bloques de memoria
RAM: Dividida en dos bloques:
GPR. Registros de propósito general
400h (20h=420h=820h...)
CARACTERÍSTICAS (PIC16F870)
Reset vector: 0000h
(tras un reset, la primera instrucción a
GPR
Banco 0: 0x0C -> 0x4F (68 bytes)
Banco 1: Mapeado completamente en el banco 0
STATUS
OPTION
INTCON
STATUS
OPTION
INTCON
CARACTERÍSTICAS (PIC16F870)
Se dispone de un total de 13 líneas.
Cada una programable individualmente como entrada o
como salida
Se distribuyen en 4 puertos:
PORT A, PORT B, PORTC Y PORTD
Se accede a cada puerto leyendo o escribiendo en su
registro (5h y 6h en RAM)
Para configurar cada línea como entrada o salida se
modifica su bit correspondiente en el registro TRIS del
puerto asociado: TRIS A, TRIS B, TRISC, TRISD (85h y
86h en RAM)
‘1’ línea configurada como entrada
‘0’ línea configurada como salida
PUERTOS PIC16F870
PUERTO RA0-RA4
Puerto bidireccional de Entrada/Salida.
RA4/T0CKL puede comportarse como una Entrada/Salida
normal, o bien como una entrada de reloj del
contador/temporizador TMR0.
PUERTO RB0-RB7
Puerto bidireccional de Entrada/Salida.
RB0/INT puede ser utilizado como una entrada de
interrupciones.
RB4/RB7 pueden ser utilizados para generar interrupciones
ante un cambio de nivel.
RB6/RB7 pueden ser utilizados para programa el PIC.
OSCILADOR PIC16F870
Mediante los condensadores y el oscilador se puede
seleccionar la frecuencia del reloj: 455KHz, 2 MHz, 4MHz,
8MHz y 10 MHz.
Ciclo de instrucción = 4 · Periodo de reloj
Ejemplo:
Frecuencia de reloj = 4MHz ⇒ Periodo de reloj = 250ns.
Ciclo de instrucción = 1/Fosc x 4 = 250 ns x 4 = 1 μs.
Temporizador/Contador
Consiste en un contador cíclico de 00h a FFh. Cuando se
llega a FF se produce un desbordamiento. Dos modos de
trabajo:
TEMPORIZADOR/CONTADOR PIC16F870
Temporizador: determinar intervalos concretos de tiempo.
Se incrementa con cada ciclo de instrucción o divisor.
Contador: contar impulsos producidos en el exterior del
sistema.
CONJUNTO DE INSTRUCCIONES.
El conjunto de instrucciones de los microprocesadores
PIC consiste en un pequeño conjunto de 32 a 35
instrucciones de 12 bits, que pueden ser agrupadas para
su estudio en tres o cinco grupos.
Instrucciones que operan con bytes y que involucran algún
registro de la memoria interna.
Instrucciones que operan solo sobre el registro W y que
permiten cargarle una constante implícita.
Instrucciones que operan sobre bits individuales de los
registros de la memoria interna.
Instrucciones de control de flujo del programa.
Instrucciones especiales, cuyas funciones o tipos de
operandos son muy específicos.
INSTRUCCIONES DE BYTE
Estas instrucciones pueden ser de simple o doble
operando.
El primer operando es el registro seleccionado.
El segundo, en caso de existir, será el registro W.
Directo
La dirección del dato aparece de forma explícita en la propia
instrucción.
Indirecto