1 Características Comunes Un microprocesador puede
definirse brevemente como una pastilla de muy alta escala de
integración (VLSI), que realiza las tareas de la unidad
central de tratamiento de una microcomputadora u otro sistema de
control automático. Lo que sigue es un esbozo, abreviado,
de las características compartidas por casi todos los
microprocesadores de 8 y 16 bits. Este listado sirve para dar al
estudiante una visión general de las
características más importantes de los diversos
microprocesadores.
2 Conexiones de Alimentación.: Los microprocesadores
(excepto el 8080) requieren una fuente de alimentación
regulada de 5 Vdc. Tamaño en Bits. Los microprocesadores
se clasifican normalmente en unidades de 4, 8 16 ó 32
bits. El tamaño en bits de un procesador a veces se
denomina tamaño de palabra. La longitud del registro
acumulador es una buena pista para conocer el tamaño de
palabra de un microprocesador. Los microprocesadores 8080 / 8085,
6800 operan con 8 bits;el 32000 y Z-80000 son Ejemplos de
microprocesadores avanzados de 32 bits.
3 Línea de Datos Los microprocesadores transfieren datos e
instrucciones entre la MPU y memoria (o E/S) vía un bus de
datos bidireccional. El 6800, 6502, Z80 y 8080 son procesadores
que utilizan buses externos de datos de 8 bits. Muchos miembros
de la familia 8080 multiplexan direcciones o información
de control en las líneas de datos parte del tiempo.
4 Líneas de Dirección Los microprocesadores
más antiguos (8080 / 8085, 6800, 6502) utilizan buses de
dirección de 16 bits que pueden direccionar solamente 216
ó 64K de memoria. Las MPU más modernas de 16 bits
tienen buses de direcciones de 16, 20 ó 23 bits. Un bus de
direcciones más ancho permite direccionar memorias
mayores.
5 Líneas de Control. La mayoría de los
microprocesadores se caracterizan porque tienen todas o algunas
de las siguientes líneas de control: Líneas de
reloj. Líneas de lectura / escritura. Líneas de
entrada / salida. Líneas de interrupción.
Líneas de reinicialización. Líneas de
control de bus Líneas de status del ciclo.
6 Registros Internos Contador de Programa El contador de programa
(PC) es el registro que contiene la dirección de la
siguiente instrucción del programa. La longitud del
contador de programa es igual que la anchura del bus de
direcciones. El contador de programa normalmente contiene 16 bits
en los microprocesadores de 8 bits, pero es mayor en las MPU de
16 y 32 bits.
7 Acumulador El acumulador es el registro o registros asociados a
las operaciones de la ALU y a veces a las operaciones de E/S.
Puede ser de 8, 16 ó 32 bits. Las MPU del 8080 / 8085,
6800 y 6502 tienen todas acumuladores de 8 bits. Algunos
procesadores (6800 y Z8000) tienen sólo registros de
propósito general que pueden ser utilizados como
acumuladores
8 Registros de Status o Señalizadores. El registro de
status está en todos los microprocesadores. Los bits
individuales del registro se denominan señalizadores. Las
condiciones de los señalizadores se asocian, generalmente,
a las operaciones de la ALU y son utilizados por instrucciones de
bifurcación posteriores para tomar decisiones.
9 Registro de Propósito General. Los registros de
propósito general pueden utilizarse para almacenar datos
temporalmente o para que contengan una dirección. No
tienen asignada ninguna tarea específica. En los
microprocesadores de 8 bits, los registros de propósito
general no pueden funcionar como un acumulador en la ALU y en
operaciones de E/S. Sin embargo, las MPU de 16 bits habitualmente
permiten que los registros de propósito general se
utilicen como acumuladores.
10 Registro Índice El registro índice se utiliza
para que contenga la dirección de un operando cuando se
utiliza el modo de direccionamiento indexado (8080 / 8085, 6800,
6502, Z80, 8086). Los registros de propósito general son
utilizados como registros índice en los microprocesadores
Z8000 y 68000.
11 Registro de Puntero de Pila. El puntero de pila (SP) es un
registro especializado que sigue la pista de la siguiente
posición de memoria disponible en la pila. La pila es un
área reservada de la RAM utilizada para almacenamiento
temporal de datos, direcciones de vuelta y contenido de
registros. La pila se utiliza durante las llamadas a subrutina y
durante las interrupciones.
12 Descripción de la Hoja de Datos Las hojas de datos
contienen información sobre el empaquetamiento del CI,
diagramas de pines y función de cada pin del CI. El
esquema de la arquitectura de la CPU aparece junto a una
descripción de las características más
importantes. Los diagramas de temporización aparecen junto
al repertorio de instrucciones del procesador. La hoja de datos
también esboza los sistemas que utilizan el
microprocesador.
13 El microprocesador está ubicado normalmente en un
circuito integrado encapsulado en doble línea con 40
patillas ( 40 pin dual in line package) (CI DIP 40 patillas). En
la figura que se presenta a continuación, se muestran dos
tipos de encapsulado. El DIP de 40 patillas de la figura (a)
está encapsulado en plástico, mientras que el de la
figura (b) utiliza una base cerámica.
14 El empaquetamiento cerámico del microprocesador se
aconseja para operaciones a altas temperaturas. Los
microprocesadores vienen también empaquetados con 28, 42,
50 y 68 patillas. Las unidades mayores pueden ser empaquetadas en
portadores de pastillas planos más modernos montados en
superficie.
15
16 En las figuras (c) y (d) se detallan dos métodos para
determinarla patilla 1 del CI DIP de 40 patillas. Observar la
muesca central y la ranura longitudinal que sirven como marcas de
índice en el CI DIP plástico de la figura (c).
Inmediatamente en sentido contrario a las agujas del reloj, de
estas marcas de índice, está el pin 1 del CI. En la
figura (d), el punto en la parte inferior izquierda es la marca
índice para mostrar que terminal del CI es el pin 1. Los
pines se numeran entonces en modo creciente, en sentido contrario
a las agujas del reloj, en torno del CI cuando éste se
mira desde la parte superior.
17 Un diagrama de patillas, como el de la siguiente figura, se
incluye en las hojas de datos del microprocesador. El fabricante
detalla además el nombre y uso de cada patilla del
microprocesador
18 Distribución y Función de Pines del
Microprocesador Intel 8080
19
20
21 Algunas hojas de datos contienen también un resumen de
los registros de la CPU que son de interés para el
programador. A continuación se muestra los registros del
8080 que utiliza el programador. Observe que el registro
principal es el registro A o acumulador. Los registros B y C, D y
E, y H y L son unidades de propósito general. El puntero
de pila, contador de programa y señalizadores son
registros especializados. El registro par HL también puede
utilizarse como registro de direcciones.
22
23 Una hoja de datos típica también debe incluir un
diagrama de la estructura del microprocesador. A
continuación se muestra un diagrama de bloques del
microprocesador Intel 8080. El diagrama de la CPU del
microprocesador 8080 muestra los registros internos, incluyendo
el acumulador B y C, D y E, y H y L, puntero de pila, registro de
status (señalizadores) y algunos registros temporales. El
diagrama de bloques también muestra el registro de
instrucción y el decodificador de instrucciones,
así como la sección de control y
temporización. El diagrama de la CPU 8080 también
muestra la ALU y los señalizadores asociados y el bloque
de ajuste decimal. Las ocho entradas / salidas de datos
así como las salidas de dirección de 16 bits tienen
buffers. La CPU del 8080 también contiene muchas
líneas de control internas, caminos de datos y
buses.
24
25 Arquitectura del Microprocesador Casi todos los
microprocesadores contienen como mínimo lo siguiente:
Unidad aritmética y lógica. Varios registros.
Contador de programa Circuitería de decodificación
de instrucciones
26 Sección de control y temporizador. Cerrojos y buffers
de datos. Líneas de control y buses internos Varias
entradas y salidas de control.
27 Además de estos elementos, una pastilla
microprocesadora puede contener también algunas de las
unidades funcionales siguientes: Memoria ROM. Memoria RAM.
Puertas de entrada/salida serie. Circuitería de reloj
interna.
28 Temporizadores programables. Circuitería de
arbitración de prioridad de interrupciones. Lógica
de interfaz de comunicación de E/S serie a paralelo.
Lógica de control de acceso directo a memoria.
29 Software en los Microprocesadores Un sistema basado en
microprocesadores es capaz de gobernar cualquier tipo de proceso
periférico por medio del adecuado intercambio de
información. El procedimiento de intercambio, los
parámetros a controlar, y en definitiva, el tratamiento
que debe darse a la información puesta en juego,
constituyen los factores que especializan la actuación del
sistema y que deben ser comunicados a la unidad central de
proceso (microprocesador) en forma de secuencia de
instrucciones.
30 De forma resumida, la especialización de un sistema
basado en el microprocesador hacia determinada aplicación
práctica supone los siguientes pasos: Estudio del lenguaje
de programación a utilizar o del repertorio de
instrucciones interpretables y ejecutables del microprocesador.
Elaboración del programa de verificación del mismo.
Grabación del programa en una Memoria ROM, PROM o EPROM e
insertarla en el sistema basado en el microprocesador.
31 Lenguajes de Programación La especialización
operativa del microprocesador y por tanto del sistema organizado
en torno al mismo, está definido por el programa de
aplicación. Este Programa consta de una secuencia de
instrucciones que ponen en conocimiento del microprocesador las
sucesivas operaciones que debe cursar.
32 Cada instrucción está integrada por dos
componentes básicos: Código de operación
(CO) define el tipo de operación a efectuar Operando (OP):
Aporta un dato o dirección a tratar, de acuerdo con las
indicaciones dadas por el código de
operación.
33 Los lenguajes de programación se clasifican en tres
categorías Lenguaje de Máquina: La
información se codifica en el sistema binario y es
interpretada directamente por el microprocesador. Lenguajes
Simbólicos: El alfabeto es alfanumérico y el
léxico de representación consta de grupos de varios
caracteres. Lenguaje de Alto Nivel: Son lenguajes evolucionados,
próximos al lenguaje hablado y más comprensibles.
Además son más universales en comparación a
los simbólicos que varían de acuerdo al
microprocesador
34 Los programas confeccionados en lenguaje de máquina se
denominan “Programas Objetos” y son directamente
interpretables por el micrprocesador. Los “Programas
Fuente” son elaborados a partir de un lenguaje
simbólico o de alto nivel y deben ser traducidos a
“programa objeto para que puedan ser interpretados por el
microprocesador.
35 Lenguaje de Bajo Nivel Se denomina lenguaje máquina a
la serie de datos que la parte física de la computadora o
hardware, es capaz de interpretar. Una computadora digital o la
parte física, sólo distingue datos de tipo
binarioconstituidos por dos únicos valores a los que se
denomina valor 0 y valor 1 y que, físicamente, se
materializan con tensiones comprendidas entre 0 y 4.0 voltios y
entre 4 y 5 voltios, respectivamente.
36 La información que hace que el hardware de la
computadora realice una determinada actividad de llama
instrucción. Por consiguiente una instrucción es un
conjunto de unos y ceros. Las instrucciones así formadas
equivalen a acciones elementales de la máquina, por lo que
al conjunto de dichas instrucciones que son interpretadas
directamente por la máquina se denomina lenguaje
máquina
37 Las instrucciones en un lenguaje de máquina o
simbólico estará codificadas en binario o
más comúnmente en hexadecimal, está
posibilidad se da por la equivalencia directa que existe entre
ambos sistemas numéricos (un dígito hexadecimal,
equivale a una palabra binaria de 4 bits)
38 Se les aplica la denominación de lenguajes
evolucionados y se caracterizan por su acentuado paralelismo con
el lenguaje convencional. Su léxico incluye
términos ingleses y expresiones matemáticas. Este
tipo de lenguaje son generalmente universales, lo que significa
que pueden emplearse para crear programas destinados a cualquier
tipo de sistema (ordenados, mini, micro) siempre y cuando exista
el adecuado programa de traducción. Lenguaje de Alto
Nivel
39 Los lenguajes de Alto Nivel más utilizados son: APL:
“A Programming Language”, de carácter
universal, utilizado para el trabajo con tablas y matrices.
BASIC: “Beginners All Purpose symbolic instrucción
code”, código de instrucciones simbólicas de
uso general para principiantes. PL/1: “Programming Language
Nº 1” de uso general. PL/M: “Programming
Language/Microprocessors” derivado del PL/1.
40 MP-L: “Microprocessors Programming Language”
especialmente adaptado a la programación de
microprocesadores PASCAL: Lenguaje de uso general, uno de los
últimos en desarrollarse. FORTRAN: “Formula
Translator”, lenguaje general adecuado a tareas
científicas. ALGOL: “Algorithmic Language”,
adecuado para tareas matemáticas. COBOL: “Commercial
and Business Oriented Language”, útil para tareas de
gestión democráticas (contabilidad,
manipulación de ficheros, etc.)
41 Confección de Un Programa Una definido el problema que
se desea resolver con una máquina programada (sistema con
microprocesadores) las etapas para la confección de un
programa son:
42 DIAGRAMA DE FLUJO: Consiste en dibujar un diagrama de tipo
gráfico, que ordena la secuencia de las operaciones a
ejecutar por la máquina, para resolver un determinado
problema. Los símbolos más usuales en los diagramas
de flujo son: De Operación: Indican la realización
de una operación determinada, por ejemplo: sumar, cargar
acumulador, etc. Suma
43 De Toma de Decisión: Permiten la rotura de la secuencia
o continuación del programa según una
condición. Un ejemplo de utilización de este
símbolo puede ser “¿A=10?” que admite
dos respuestas SÍ y NO, ofreciendo para cada una de ellas
la posibilidad de una forma diferente de continuar el
programa.
44 De Terminal: empleado al principio y final de programa De
Línea de Flujo: Indicando el camino operativo del
programa
45 LISTADO DE INSTRUCCIONES: Una vez desarrollado el diagrama de
flujo, se escribe el programa de instrucciones resolviendo las
bases del diagrama mediante las instrucciones que admite su
decodificador. Es necesario conocer todas las instrucciones del
repertorio de instrucciones del microprocesador para poder
aplicar las posibles y reales soluciones a nuestro
problema.
46 DEPURACIÓN, CORRECCIÓN Y MEJORA DEL PROGRAMA:
Para esta etapa conviene dispones de sistemas de desarrollo con
facilidades en el software. EJECUCIÓN DEL PROGRAMA Y
COMPROBACIÓN DE RESULTADOS En programas extensión y
complicados, se recomienda dividirlos en bloques funcionales y
resolver cada uno separadamente para alcanzar el resultado
final.
47 Ejemplo: Realizar un contador secuencial de 0 a 15 y que se
reinicie automáticamente.
48
49