Escolar Documentos
Profissional Documentos
Cultura Documentos
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)
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
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