Você está na página 1de 45

SISTEMAS

MICROPROCESADOS
ING. PAUL ANDRES CHASI PESANTEZ
INTRODUCCIÓN A LOS MICROPROCESADORES
• Arquitectura de un microprocesador y sus aplicaciones reales.
• Avances tecnológicos en el tiempo
• Set de Instrucciones
• Instrucciones aritméticas y lógicas
• Instrucciones para control del programa
• Modos de Direccionamiento
• Transferencia de datos
• Programación del microprocesador
• Interfaz básica de entrada-salida
• Interfaz con la memoria
microprocesador
• En donde y para que se utiliza un microprocesador?

• COSTO
• ES UN COSTO NO RECURRENTE
• FLEXIBILIDAD
• SE PUEDE REDISEÑAR
• Y SE ADAPTA CON POCAS LINEAS DE CODIGO
• PROGRAMABILIDAD
• SE PUEDE UTILIZAR EL MISMO MICROCONTROLADOR PARA DIFERENTES TAREAS
• ADAPTABILIDAD
• SE ADAPTAN PARA SU ENTORNO, VARIEDAD DE MICROCONTROLADORES
SELECCIÓN DEL PROCESADOR
• Números requeridos de pines I/O
• Interface requerida
• Arquitectura de memoria
• Requerimiento de memoria • Von Neumann (datos y códigos
• RAM (variables + buffers + FIFOs + stacks) mezclados)
• ROM (código de programa) • Harvard (separados datos y códigos)
• Número de interrupciones • Requerimientos de potencia
• Consideraciones de Tiempo-real
• Entorno a desarrollarse • Requerimientos ambientales
• El programa a utilizar • Costos de ciclo de vida
• Velocidad de procesamiento requerida
• (no confundir la tasa de clock con la velocidad
del procesador)
• Capacidad de la ROM
ANTECEDENTES HISTORICOS

• LA ERA MECÁNICA
• 500 aC. Sacerdotes Babilonios
inventaron el ábaco
• 1642 matemático Blasie Pascal invento
una calculadora construidas con bases
de engranajes y ruedas
• 1800 primeras maquinas mecánicas
con engranajes automáticas
• 1823-1937 Charles Babbage Máquina
analítica podía almacenar 1000
números de veinte dígitos.
ANTECEDENTES HISTORICOS

• LA ERA ELÉCTRICA
• 1800 Michael Faraday maquinas con motores eléctricos
y procesos mecánicos.
• 1889 Herman Hollerith utiliza tarjetas perforadas y
utiliza en el censo 1890 EEUU
• 1896 Hollerith forma Tabulating Machine Company,
después de barias fusiones forma IBM. Inc, utiliza
tarjetas de 12 bits
• 1941 alemán Konrad Zuse crea la primera computadora
moderna Z3 tenia un reloj de 5.33Hz
• 1943 Alan Turing, con tubos a vacio Colossus
• 1946 Universidad de Pensilvania ENIAC enorme con
17000 tubos a vacio y mas de 500 milas de cable.
• 1947 desarrollo del transistor laboratorios Bell
• 1958 circuito integrado Jack Kilby de Texas Instruments
La era del Microprocesador
• 1960 1er microprocesador Inte 4004
• era de 4 bits
• controlador programable en un chip
• 4096 posiciones de memoria de 4 bits
• 45 instrucciones
• MOSFET-P
• ejecutaba instrucciones a una V = 50KIPs
• Problemas de velocidad, anchura de
palabras, tamaño de memoria
• 4040
• Texas Instruments (TMS-1000)
• 1971 Intel Corporation saca el
8008 (8 bits, 16 kbytes de
memoria, 48 instrucciones)
• 1973 micro procesador 8080
• 8080 2us (500000 instrucciones
por segundo)
• 8085 1.3 us(769230 instrucciones
por segundo)

La era del Microprocesador


Microprocesador moderno
• 1979 Intel saca el microprocesador 8086 y 8088.
• Microprocesadores de 16 bits
• Instrucciones 400ns
• 1 Mbyte de memoria
• 1024 Kbytes posiciones de memoria
• 4 o 6 bytes una cache (obtenia previamente
unas cuantas instrucciones antes de
ejecutarlas)
• Instrucciones adicionales (multiplicar y dividir)
• Microprocesador 80286
Microprocesador moderno(investigar)
• El microprocesador de 32 bits(bits de memoria, bus de direcciones,
velocidad, velocidad de reloj, etc)
• El microprocesador 80486(bits de memoria, bus de direcciones,
velocidad, velocidad de reloj, etc)
• El microprocesador Pentium(bits de memoria, bus de direcciones,
velocidad, velocidad de reloj, etc)
• La ultima tecnologia
El diagrama de bloques de un sistema computacional basado
en microprocesador

EL SISTEMA DE
COMPUTADOR
A PERSONAL
BASADO EN
MICROPROCES
ADOR
La memoria y el
sistema de E/S
• El mapa de memoria
de la computadora
personal.
TPA (área de programas
transitorios)
• guarda el sistema operativo DOS (sistema
operativo en disco) y otros programas que
controlan el sistema computacional
• El BIOS del sistema es una colección de
programas almacenados en la ROM, que
opera muchas de los dispositivos de E/S
conectados a su sistema computacional. El
BIOS del sistema y las áreas de
comunicaciones del DOS contienen datos
transitorios utilizados por los programas
para acceder a los dispositivos de E/S y a
las características internas del sistema
computacional.
El área del sistema
• El área del sistema contiene programas en
memoria de sólo lectura (ROM) o en memoria
flash, y áreas de memoria de lectura/escritura
(RAM) para almacenar datos.
memoria extendida (o XMS)
• Se llama memoria extendida (o XMS) a las direcciones de memoria
comprendidas entre 1MB y 16MB en los computadores con
procesador 286, y con las direcciones de hasta 4 gigabytes en los
que tienen procesador superior al 386. Se tiene acceso a esta
memoria sólo cuando el procesador está trabajando en modo
protegido.
• El DOS ejecuta las aplicaciones en modo real y puede utilizar
memoria extendida sólo mediante un programa administrador de
dicha memoria (extended memory manager), tal como HIMEM. SYS
del MS-DOS. Windows 95, Windows98 y Windows NT la pueden
usar normalmente.
Espacio de E/S.
• El espacio de E/S (entrada/salida) en un
sistema computacional se extiende desde el
puerto de E/S 0000H hasta el puerto FFFFH.
(Una dirección de puerto de E/S es similar a
una dirección de memoria, sólo que en vez de
direccionar memoria direcciona un dispositivo
de E/S.).
• Los dispositivos de E/S permiten que el
microprocesador se comunique con el mundo
exterior.
El microprocesador

1 2
Este elemento, que algunas veces se le El microprocesador realiza tres tareas
denomina como el CPU (unidad central de principales para el sistema computacional:
proceso), es el elemento de control en un • (1) transfiere datos entre sí mismo y los sistemas de
sistema computacional. El memoria o de E/S,
microprocesador controla la memoria y la • (2) operaciones simples aritméticas y lógicas.
E/S a través de una serie de conexiones • (3) el flujo del programa mediante decisiones
llamadas buses. simples.
• Los datos se operan desde el
sistema de memoria o desde los
registros internos. Las anchuras de
los datos son variables y pueden ser:
byte (8 bits), word (16 bits) y
doubleword (32 bits).
• el microprocesador contiene un
coprocesador numérico que le
permite realizar operaciones
aritméticas complejas utilizando
aritmética de punto flotante
• El coprocesador numérico también
es capaz de realizar operaciones
enteras en quadwords (64 bits)

El microprocesador
El
microprocesador
• habilidad de realizar
decisiones simples con base
en hechos numéricos. Por
ejemplo, un microprocesador
puede decidir si un número
es cero, si es positivo,
etcétera.
• Un bus es un grupo común de cables
que interconectan componentes en un
sistema computacional. Los buses que
interconectan las secciones de un
sistema computacional transfieren
información sobre direcciones, datos y
control entre el microprocesador y sus
sistemas de memoria y de E/S
• existen tres buses para esta
transferencia de información:
• de dirección
• de datos
• de control

Buses
Buses
• El bus de control tiene líneas que seleccionan la memoria
o E/S y hacen que realice una operación de lectura o de
escritura. En la mayoría de los sistemas computacionales
hay cuatro conexiones del bus de control: MRDC (control
de lectura de memoria), MWTC (control de escritura de
memoria), IORC (control de lectura de E/S) y IOWC
(control de escritura de E/S).
Que hay dentro de un microprocesador?
• El microprocesador o CPU lee cada instrucción de la memoria, los
decodifica y los ejecuta, este procesa los datos como los requiere
cada instrucción.
• El procesamiento se realiza en forma de operaciones aritméticas y
lógicas
• Los datos se recuperan de la memoria o se toman de un dispositivo
de entrada y el resultado del procesamiento se almacena en la
memoria o se entrega a un dispositivo de salida apropiado, todo
según las instrucciones.
El
microproces
ador y su
arquitectura
(8085)
Arithmetic-Logic Unit (ALU)
• La unidad aritmético-lógica es
una red combinacional que
realiza operaciones
aritméticas y lógicas en los
datos.
Registro internos
Estos se utilizan para el guardado temporal de los datos, instrucciones y
direccionamiento durante la ejecución de un programa.
• Acumulador
• Se trata de un registro de 8 bits utilizado en diversas operaciones aritméticas
y lógicas. Fuera de los dos operandos a operar, uno proviene del acumulador
(Acc), mientras que el otro puede estar en otro registro interno o puede ser
traído por el bus de datos desde la memoria principal. Al finalizar la operación
aritmética / lógica, el resultado se coloca en el acumulador (reemplazando al
operando anterior). Debido a la función posterior, este registro también se
denomina registro de resultados.
Registros de Propósito General
• Los registros de propósito general se utilizan de cualquier manera que
el programador desee (siempre y cuando sea permitido). Se utilizan
registros de 16 bits (AX,BX,CX,DX) o dos registros de 8 Bits(AH, AL, BH,
BL, CH, CL,DH y DL)
• AX (acumulador o W), es utilizado para operaciones que implican
entrada/salida, multiplicación y división (estas dos últimas en
conjunto con el registro DX)
• BX (base), utilizado par mantener la dirección base de un dato
localizado en la memoria y también la dirección base de una tabla
de datos referenciada por una instrucción(INDICE).
• CX (contador). Contador en ciertas instrucciones, tal como
contador de corrimientos (CL) y rotaciones, contador (CX) con la
instrucción LOOP
• DX (Dato). En algunas operaciones se indica mediante este
registro el número de puerto de entrada/salida, y en las
operaciones de multiplicación y división de 16 bits se utiliza junto
con el acumulador AX
• Este registro de 8 bits almacena la
siguiente instrucción a ejecutar. En el
momento adecuado, esta palabra
Instruction Register almacenada (instrucción) es alimentada
(IR) a un decodificador de instrucciones que
la decodifica y suministra señales
apropiadas a la unidad de control.
Cuando se ha completado la ejecución,
se procesa la nueva palabra en el
registro de instrucciones

• Recibe la entrada de el IR. Este tiene


Instruction decoder una entran a 8 bits y salida 256
decodificada. Dependiendo de la
entrada, solo una de las 256 salidas
serán activadas. La salida de la
instrucción decodificada es manejada
por la unidad de control.
• Este es un registro de 16 bits que contiene
la dirección de la siguiente instrucción que
tiene que ser extraída de la memoria
principal y cargada en el registro de
instrucciones. El programa que controla la
operación se almacena en la memoria
principal y las instrucciones se recuperan de
esta memoria normalmente en orden. Por
Program Counter (PC) lo tanto, normalmente la dirección
contenida en el PC se incrementa después
de que se obtiene cada instrucción. Sin
embargo, ciertas clases de instrucción
pueden modificar el PC para que el
programador pueda proporcionar
ramificaciones fuera del flujo normal del
programa. Ejemplos son instrucciones en
los grupos “jump" y “call subroutine".
• Este es también un registro de 16 bits y
es utilizado por el programador para
Stack Pointer (SP) mantener una pila en la memoria
mientras utiliza subrutinas.
Status Register or
Condition Flags
• Un registro de estado que
consta de unos pocos flip-
flops, llamado como
indicadores de condición (en
8085 el número de banderas
es cinco) se utiliza para
proporcionar indicación de
ciertas condiciones que
surgen durante operaciones
aritméticas y lógicas. Estos
son:
• Varios otros registros se incorporan en
el μP para su funcionamiento interno.
Dedicated Registers No pueden ser accedidos por el
programador y por lo tanto no afectan
mucho a un usuario de μP.
Timing and Control Unit
• Esta unidad es responsable de generar señales
temporizadas y señales de control. Esta unidad
controla todas las actividades dentro y fuera
del 8085
• Una ciclo de instrucción requiere de una a
cinco ciclos de maquina, depende de la
instrucción{
Memorias
semiconductores
• Son requeridas en una
microcomputadora para
almacenar información
que puede comprender
• El dato que se
utilizaran para el
calculo
• Instrucciones
• Resultado
computacionales
CLASES DE MEMORIA

• Las memorias pueden


ser divididas dentro de
dos clases:
• Random Access
Memory (RAM) o
Read/Write Memory
(RWM)
• Read-Only Memory
(ROM)
• Hay provisión en RAMs (RWMs) para
escribir información en la memoria y
Random leerla cuando la microcomputadora está
en funcionamiento. Por lo tanto, se
Access utiliza para almacenar información que
Memory cambia o puede cambiar durante el
funcionamiento del sistema, a saber.
(RAM) or datos para cálculos y resultados de
Read/Write cálculos. También se utiliza para
almacenar los programas que se van a
Memory cambiar con frecuencia.
(RWM) Semiconductor RAM es una memoria
volátil.
La ROM funciona como un vector de memoria
cuyo contenido una vez programado, está
Read-Only permanentemente fijo y no puede ser alterado
Memory por el μP mientras el sistema está funcionando.
No es volátil.
(ROM)
Read-Only Memory (ROM)
Erasable
Programmable ROM Electrically Alterable
Mask ROM. Programmable ROM
(PROM) ROM (EAROM).
(EPROM).

• Es programado • Este es • En este tipo de • Como la EAROM


personalizado programable por el memoria, el contenido este es un tipo de
puede ser
cuando se fabrica, usuario, eléctricamente borrado memoria que
después no se (típicamente (aplicando un voltaje puede también ser
puede alterar. mediante negativo elevado a las borrado y
sobrecalentamient compuertas de control reprogramado. Sin
de las células de
o eléctrico de memoria) y la memoria embargo, su
enlaces fusibles de puede ser entonces borrado es por la
una manera reprogramada exposición del chip
seleccionada). Una (aplicando un voltaje de memoria a altas
positivo).
vez programado el intensidades de luz
contenido no ultravioleta.
puede ser alterado
INTERFACES PERIFÉRICOS
1. Funciones

Buffering. Address Decoding.


• Tomar precauciones de • Se requiere para
compatibilidad entre el seleccionar uno o
uP y el periférico algunos periféricos
conectados.

Command Decoding. Timing and Control.


• se requiere para los • Todas las funciones
periféricos que realizan mencionadas
acciones distintas de las anteriormente requieren
transferencias de datos. tiempo y control.
Programmed Data Transfer
• Una rutina de software que reside en la memoria
INTERFACES solicita al dispositivo periférico para la
PERIFÉRICOS transferencia de datos hacia o desde el μP. En
general, los datos se transfieren hacia o desde el
2. acumulador, aunque en algunos μPs, otros
registros internos también pueden participar en la
transferencia transferencia.
Las transferencias de datos programadas se utilizan
de datos generalmente cuando se transfiere una pequeña
cantidad de datos con dispositivos de E / S
relativamente lentos, por ejemplo convertidores A
/ D y D / A, multiplicador periférico, unidad
aritmética de punto flotante periférico, etc. En
estos casos, usualmente una palabra de datos se
transfieren a la vez
Direct Memory Access (DMA) Transfer or
Cycle Stealing Transfer
INTERFACES • En este modo, la transferencia de datos es controlada
PERIFÉRICOS por el dispositivo periférico. El μP se ve obligado a
mantenerse activo mediante un dispositivo de E / S
2. hasta que la transferencia de datos entre el
dispositivo y la memoria esté completa. Dado que la
transferencia transferencia de control de datos es controlada
completamente por hardware, la interfaz es más
compleja que la requerida para una transferencia de
de datos datos programada. La transferencia DMA se utiliza
cuando se va a transferir un gran bloque de datos,
por ejemplo, para transferir datos desde dispositivos
de almacenamiento masivo periférico como el
disquete y el lector de tarjetas de alta velocidad.
• Bastantes hardwares (chips IC) ya está
disponible para diseñar interfaces
personalizadas. Se incluyen en este multiplexor
y demultiplexores, controladores de línea y
receptores, traductores de nivel y buffers,
multivibradores estables y monostables, flip-
Dispositivos flops, compuertas, registros de desplazamiento,
etc.
de Interface A continuación, hay interfaces más sofisticadas:
las interfases programables, cuyas funciones
pueden ser alteradas por una instrucción de la
uP. Estas interfaces pueden ser de tipo general o
de propósito especial (función específica).
Set de instrucciones https://www.tutorialspoint.com/microprocessor/microprocess
or_8085_instruction_sets.htm

Instrucciones Instrucciones Instrucciones


de Control logicas de ramificación

Instrucciones
Instrucciones
de transferencia
aritmeticas
de datos
• Estas instrucciones son usadas para transferir
MODOS DE los datos de un registro a otro registro, de la
DIRECCIONAM memoria al registro, y de el registro a la
memoria si ninguna alteración en el contenido.
IENTO
Direccionamiento Direccionamiento de Direccionamiento Direccionamiento Direccionamiento
Inmediato registros directo indirecto implícito
• los datos de 8/16 • los datos se copian • los datos se copian • los datos se • Este modo no
bits se especifican de un registro a directamente de la transfieren de un requiere ningún
en la propia otro. Por ejemplo: dirección dada al registro a otro operando; los
instrucción como MOV K, B: significa registro. Por utilizando la datos son
uno de sus que los datos del ejemplo: LDB dirección señalada especificados por
operandos. Por registro B se 5000K: significa por el registro. Por el propio código
ejemplo: MVI K, copian en el que los datos en la ejemplo: MOV K, de operación. Por
20F: significa que registro K. dirección 5000K se B: significa que los ejemplo: CMP.
20F se copian en el copian en el datos se
registro K registro B. transfieren desde
la dirección de
memoria señalada
por el registro al
registro K

MODOS DE DIRECCIONAMIENTO
Interrupción
Interrupción Interrupción Interrupción Interrupción
No
de Vector no vectorial: máscara de software
mascarable
• la dirección de • la dirección de • podemos • no podemos • el programador
interrupción es interrupción no desactivar la desactivar la tiene que agregar
conocida por el es conocida por interrupción interrupción las instrucciones
procesador. Por el procesador, escribiendo escribiendo al programa para
ejemplo: RST7.5, por lo que la algunas algunas ejecutar la
RST6.5, RST5.5, dirección de instrucciones en instrucciones en interrupción. Hay
TRAP. interrupción el programa. Por el programa. Por 8 interrupciones
debe ser enviada ejemplo: RST7.5, ejemplo: TRAP. de software en
externamente RST6.5, RST5.5. 8085, es decir,
por el dispositivo RST0, RST1, RST2,
para realizar RST3, RST4, RST5,
interrupciones. RST6 y RST7.
Por ejemplo:
INTR.

Interrupciones

Você também pode gostar