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