Como continuación de la publicación anterior, vamos a ver un "sencillo" procesador de 8bits, a modo de ejemplo. Y con esta, damos por finalizadas las publicaciones de Electrónica Básica.
8080.
Como ejemplo sencillo, vamos a ver someramente un microprocesador de 8bits,
en el cual se fundamentó la informática moderna.
Este procesador está dentro de un circuito integrado encapsulado, con 40
patillas. A continuación se muestra el encapsulado con la descripción de los pines y los elementos lógicos dentro del procesador:
Pero actualmente esta realidad es muy distinta. En nuestro hogar, existe
una enorme cantidad de microprocesadores realizando diversas tareas, que
hacen la vida diaria más sencilla. Los podemos encontrar en nuestro
televisor, en el equipo de sonido, en el reproductor de DVD, en los
teléfonos móviles, en el mando a distancia o en un reloj de pulsera.
Y es que esta tecnología se ha abaratado hasta tal punto que muchas
aplicaciones que antes requerían el uso de varios dispositivos individuales,
ahora se pueden realizar con más facilidad y de manera más económica con la
aplicación de un microprocesador, o de su variante, un
microcontrolador.
Sus funciones se definen a continuación de forma breve:
- Registro de instrucción: Esta unidad es un registro de 8 bits que contiene el primer byte de una instrucción (el código de op).
- Decodificador de instrucciones: Esta unidad interpreta el contenido del registro de instrucción, determina el microprograma exacto que se debe seguir para ejecutar la instrucción completa y dirige adecuadamente la sección de control.
- Unidad aritmética y lógica: Esta unidad realiza las operaciones aritméticas, lógicas y de desplazamiento circular que afectan al registro de status (señalizadores). Los resultados de la sección de la ALU se colocan de nuevo en el acumulador vía el bus interno. El registro temporal y acumulador muchas veces se consideran parte de la ALU. Las condiciones de los señalizadores son realimentadas a la unidad de control y temporización.
- Acumulador: Esta unidad es un registro de propósito general de 8 bits que es el foco de la mayor parte de las instrucciones aritméticas, lógicas, de carga, almacenamiento y E/S.
- Contador de programa: Esta unidad es un área de almacenamiento de 16 bits que siempre apunta a la siguiente instrucción que se va a ejecutar. Siempre contiene una dirección de 16 bits. Puede ser incrementada o puesta a cero por la sección de controlo modificada por instrucciones de transferencia.
- Unidad de control y temporización: Esta sección recibe señales del decodificador de instrucciones para determinar la naturaleza de la instrucción que se va a ejecutar. La información del registro de status también está disponible para las bifurcaciones condicionales. Las señales de temporización y control son enviadas a todo el microprocesador para coordinar la ejecución de las instrucciones. También se generan las señales externas de control.
- Registro de status: Contiene solamente los señalizadores de cero y arrastre en su registro de status.
En la siguiente imagen se muestra el diagrama genérico de un
microprocesador de 8bits.
Este CI utiliza una fuente de alimentación de 5 V conectada a las
patillas 1 y 2. La utilización de fuentes de alimentación de +5 V es
común en los microprocesadores.
Las patillas XI y X2, es para conectarlas a un cristal que regule la
frecuencia de reloj. En los uPC modernos, la circuitería de reloj se
construye dentro del propio microprocesador.
La salida CLK (patilla 38) es una señal de reloj que se utiliza como reloj del sistema. La frecuencia de la salida de CLK suele ser menor que la del reloj interno.
La salida CLK (patilla 38) es una señal de reloj que se utiliza como reloj del sistema. La frecuencia de la salida de CLK suele ser menor que la del reloj interno.
El bus de direcciones del sistema se conectará a las patillas del CI
etiquetadas AQ a A IS. Estas 16 salidas de dirección pueden acceder
hasta 65.536 (2 16) posiciones de memoria y/o entradas/salidas.
El flujo de instrucciones y datos dentro y fuera del microprocesador
pasa a través de las patillas etiquetadas Do a D/. Estas patillas
(21-28) son bidireccionales, ya que unas veces sirven como entradas y
otras como salidas. En general, estas patillas de datos también pueden
ser configuradas como tres estados (estado de alta impedancia).
La patilla 30m es la salida de control de escritura. Un nivel BAJO en la
patilla WR indica que el dato del bus de datos se va a grabar en la
posición de memoria o E/S seleccionada.
La salida de control de lectura está etiquetada RD (patilla 31). Un
nivel BAJO en la patilla RD indica que se va a leer la memoria o el
dispositivo de E/S seleccionado y que el bus de datos está disponible
para transferir el dato leído. La lectura se realiza cuando la señal RD
está en el nivel BAJO. La habilitación de la entrada de reinicio, hace
que el uPC suspenda su trabajo en el programa actual y bifurque a una
rutina de inicialización. Un nivel BAJO en la entrada REINICIALIZACIÓN
pondrá en reinicialización el contador de programa con algún número
predeterminado, como por ejemplo 000H, Los demás registros internos de
la CPU también se pueden poner a cero o cambiar sus contenidos durante
la operación de reinicialización. Cuando la entrada de REINICIALlZACIÓN
alcanza de nuevo el nivel ALTO (inhabilitado), la CPU comenzará a
ejecutar instrucciones de la ROM en la nueva posición de memoria
0000H.
La mayoría de las acciones del microprocesador se realizan en conjunción
con el reloj, y por tanto se dice que son síncronas. La entrada de
RE/NICIALIZACION a la MPU es asíncrona y puede interrumpir y detener una
instrucción a medio ejecutar.
La entrada de petición de interrupción al microprocesador es la patilla
35, INTR y responde a un nivel ALTO de algún dispositivo externo.
PROGRAMACIONDEL MICROPROCESADOR.
Los fabricantes, junto con el procesador, incluyen información detallada
sobre el repertorio de instrucciones. En la siguiente imagen se muestra
como ejemplo, el resumen del repertorio de instrucciones para los
microprocesadores Intel 8080/8085.
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
realizar.
Este listado de operaciones, se denomina programa máquina. El
contenido de la memoria de programa, es un programa en código máquina,
que en el ejemplo comienza en la dirección 2000H con el código de
operación 00 1111102 Y finaliza en la dirección 2006H con 01110 1102.
Estos programas, con este formato son casi imposibles de comprender
para nosotros.
Para que sea algo más sencillo de manejar, los números binarios se
representan en notación hexadecimal. Pero aun así, los programas son
muy difíciles de comprender.
En un nivel más humano, el programa anteriormente mostrado en código
máquina puede describirse como sigue:
- Cargar el número binario (10110100) en el acumulador del microprocesador.
- Complementar cada bit del número binario del acumulador para formar el complemento a 1.
- Almacenar el resultado, del complemento a 1, en la posición 2100H de la memoria de datos.
Las instrucciones o sentencias del lenguaje ensamblador se suelen
dividir en en cuatro campos:
(1) etiqueta, (2) nemotécnico, (3) operando y (4) comentarios.
El campo de etiqueta no se utiliza siempre y aparece vacío en este
sencillo fragmento de programa.
El campo de nemotécnico contiene el nemotécnico exacto que proporciona
el fabricante.
Este campo indica al programa ensamblador esencialmente la operación que
se va a realizar.
El campo de operando contiene información sobre registros. datos o direcciones asociados con la operación. Utilizando la información de los campos de nemotécnico y operando, el programa ensamblador puede generar el código correcto en lenguaje máquina.
El campo de operando contiene información sobre registros. datos o direcciones asociados con la operación. Utilizando la información de los campos de nemotécnico y operando, el programa ensamblador puede generar el código correcto en lenguaje máquina.
El programa ensamblador puede también asignar posiciones de la memoria
de programa a los listados en código máquina.
El campo de comentario no lo evalúa el programa ensamblador, solamente
lo imprime. El campo de comentario es una ayuda valiosa para comprender
qué ocurre en el programa.
Con todo lo visto, y teniendo en cuenta la función o proceso a realizar, y acorde a las instrucciones del procesador a ser usado, es cuando se ha de construir, redactar, depurar y codificar el programa adecuado.
Esto, como es de suponer, entra dentro de otro campo, más relacionado a la programación, ya sea en un lenguaje de Bajo Nivel, que ejecutan control directo sobre el hardware (Assembler, Código Máquina, etc.) o de Alto Nivel, que mediante códigos más cercanos al lenguaje humano, "traducen" estos a conjuntos de códigos de Bajo Nivel (BASIC, C, etc.).
Con esto, damos por finalizadas las publicaciones de Electrónica Básica.
En próximas haremos referencia a elementos, componentes y/o aspectos más concretos,
relacionados con la electrónica, como Microprocesadores Programables PIC, Arduino, etc.
Seguir atentos a nuestro Blog!
Y como siempre, aquí tienes la lista de publicaciones anteriores, por si os perdisteis alguna:
Electrónica Básica, Conceptos Básicos (I)
Electrónica Básica, Circuitos Básicos (II)
Electrónica Básica, Resistencias (III)
Electrónica Básica, Condensadores (IV)
Electrónica Básica, Inductores (V)
Electrónica Básica, Diodos (VI)
Electrónica Básica, Transistores (VII)
Electrónica Básica, Circuitos Integrados (VIII)
Electrónica Básica, Amplificador Operacional (IX)
Electrónica Básica, Amplificadores de Audio (X)
Electrónica Básica, Temporizador 555 (XI)
Electrónica Básica, Conmutadores (XII)
Electrónica Básica, Comparadores (XIII)
Electrónica Básica, Electrónica Digital (XIV)
Electrónica Básica, Puertas Lógicas (XV)
Electrónica Básica, Funciones Lógicas (XVI)
Seguir atentos a nuestro Blog!
Y como siempre, aquí tienes la lista de publicaciones anteriores, por si os perdisteis alguna:
Electrónica Básica, Conceptos Básicos (I)
Electrónica Básica, Circuitos Básicos (II)
Electrónica Básica, Resistencias (III)
Electrónica Básica, Condensadores (IV)
Electrónica Básica, Inductores (V)
Electrónica Básica, Diodos (VI)
Electrónica Básica, Transistores (VII)
Electrónica Básica, Circuitos Integrados (VIII)
Electrónica Básica, Amplificador Operacional (IX)
Electrónica Básica, Amplificadores de Audio (X)
Electrónica Básica, Temporizador 555 (XI)
Electrónica Básica, Conmutadores (XII)
Electrónica Básica, Comparadores (XIII)
Electrónica Básica, Electrónica Digital (XIV)
Electrónica Básica, Puertas Lógicas (XV)
Electrónica Básica, Funciones Lógicas (XVI)
Esperamos que os haya gustado esta publicación. Si es así, no
dudes en compartirla.
© Se permite reproducción total o parcial de este contenido, siempre y cuando se reconozca la fuente de información utilizada y se incluya el enlace a este artículo.
Equipo Xanur©2022.
© Se permite reproducción total o parcial de este contenido, siempre y cuando se reconozca la fuente de información utilizada y se incluya el enlace a este artículo.
Equipo Xanur©2022.