Está en la página 1de 11

CAPÍTULO 2: FAMILIAS DE MICROPROCESADORES.

lección 2: Microprocesadores de 8 bits

En arquitectura de computadores, 8 bits es un adjetivo usado para describir enteros, direcciones


de memoria u otras unidades de datos que comprenden hasta 8 bits (1 octeto o 1 byte) de ancho,
o para referirse a una arquitectura de CPU y ALU basadas en registros, bus de direcciones o bus
de datos de ese ancho.

Las CPU de 8 bits normalmente usan un bus de datos de 8 bits y un bus de direcciones de 16 bits,
lo que causa que su memoria direccionable esté limitada a 64 Kbytes.

El primer microprocesador de 8 bits ampliamente utilizado es el Intel 8080, que se usó en


computadores de aficionados a finales de los años 1870 y principio de los años 1980. Estos
computadores llevaban el sistema operativo CP/M.

Características Generales

INTEL 8008

El i8008 es un microprocesador diseñado y fabricado


por Intel, que fue lanzado al mercado en abril de 1972.

El conjunto de instrucciones del i8008 y de todos los


posteriores de Intel está fuertemente basado en las
especificaciones de diseño de Computer Terminal
Corporation.

Emplea direcciones de 14 bits, pudiendo direccionar


hasta 16 KB de memoria. El circuito integrado, limitado
por las 18 patillas de su encapsulado DIP, tiene un bus
compartido de datos y direcciones de 8 bits, por lo que necesita una gran cantidad de circuitería
externa para poder ser utilizado.

Puede acceder a 8 puertos de entrada y 24 de salida.


Aunque un poco más lento que los microprocesadores Intel 4004 e Intel 4040 de 4 bits en cuanto
a la cantidad de millones de instrucciones por segundo ejecutadas, el hecho de que
el i8008 procesara 8 bits de datos al tiempo y de que pudiera acceder a mucha más memoria
hacen que el i8008 sea en la práctica unas tres o cuatro veces más rápido que sus predecesores
de 4 bits.
El i8008 era un diseño aceptable para utilizarlo como el controlador de un terminal, pero no para
el resto de tareas, por lo que pocos ordenadores se basaron en él. La mayoría de los ordenadores
de la época emplearon el mejorado Intel 8080.

INTEL 8080

El Intel 8080 fue el sucesor del Intel 8008; esto se dio fácilmente ya que eran

compatibles en muchos aspectos y porque utilizaban el mismo conjunto de

instrucciones.

El Intel 8080 fue un microprocesador


temprano diseñado y fabricado por Intel. El
de 8 bits fue lanzado en abril de 1974. Tenía
una velocidad de 2 MHz, y generalmente se
le considera el primer diseño de CPU
microprocesador verdaderamente usable.

Fue el sucesor del Intel 8008, esto se debía a que era compatible a nivel fuente en el lenguaje
ensamblador porque usaban el mismo conjunto de instrucciones desarrollado por Computer
Terminal Corporation.

Con un empaquetado más grande, DIP de 40 pines, se permitió al 8080 proporcionar un bus de
dirección de 16 bits y un bus de datos de 8 bits, permitiendo el fácil acceso a 64KB de memoria.
Tenía siete registros de 8 bits, seis de los cuales se podían combinar en tres registros de 16 bits,
un puntero de pila en memoria de 16 bits que reemplazaba la pila interna del 8008, y un contador
de programa de 16 bits.

El 8080 tenía 256 puertos de I/O (entrada/salida) que podían ser usados por los programas
mediante instrucciones dedicadas de I/O, cada una de esas instrucciones tomando una dirección
de puerto de I/O como su operando.
El 8080 fue usado en muchos de los primeros microcomputadores, tales como la Altair 8800 de
MITS y el IMSAI 8080, formando la base para las máquinas que corrían el sistema operativo CP/M.

Poco después el lanzamiento del 8080, fue introducido su competidor, el Motorola 6800, y
después de ese, el 6502, la variante del 6800 desarrollada por MOS Technology.
Funciones y diagrama de pines
El microprocesador 8080 es un
chip de 40 pines con encapsulado
de doble línea o DIP. Tiene 16
líneas de direcciones ( pin 1, pines
25 al 27 y pines 29 al 40 ) y 8 líneas
bidireccionales para el de bus
datos ( pines 3 al 10 ). Todas estas
líneas se encargan del
direccionamiento de la memoria y
los dispositivos de entrada/salida,
y del manejo de los datos.

Pata Nombre Descripción

1 A10 Bus de direcciones

2 GND Referencia de tierra. Todas las tensiones se miden con respecto a este punto.

Si SYNC = 0: Bus de datos.


3 D4
Si SYNC = 1: Señal de control que indica salida a periférico.

Si SYNC = 0: Bus de datos.


4 D5
Si SYNC = 1: Señal que indica si el uP está en ciclo de búsqueda de instrucción.

Si SYNC = 0: Bus de datos.


5 D6
Si SYNC = 1: Señal de control que indica entrada de periférico.
Si SYNC = 0: Bus de datos.
6 D7
Si SYNC = 1: Señal de control que indica lectura de memoria.

Si SYNC = 0: Bus de datos.


7 D3
Si SYNC = 1: Señal que indica que el uP se ha detenido.

Si SYNC = 0: Bus de datos.


8 D2
Si SYNC = 1: Señal que indica que se realiza una operación con el stack.

Si SYNC = 0: Bus de datos.


9 D1
Si SYNC = 1: Modo lectura/escritura.

Si SYNC = 0: Bus de datos.


10 D0
Si SYNC = 1: Señal de reconocimiento de interrupción.

11 -5V Una de las tres patas de alimentación del 8080.

Señal de borrado de todos los registros internos del 8080. Para ello, ponerlo a
12 RESET
uno durante tres ciclos de reloj como mínimo.

Sirve para poner los buses en alta impedancia para el manejo de DMA (acceso
13 HOLD
directo a memoria).

14 INT Señal de pedido de interrupción.

15 CLK2 Señal de reloj (debe venir del generador de reloj 8224).

16 INTE Señal de aceptación de interrupción.

17 DBIN Indica que el bus de datos está en modo lectura.

18 /WR Indica que el bus de datos está en modo escritura.

19 SYNC Este pin se pone a uno cuando comienza una nueva instrucción.

20 +5V Una de las tres patas de alimentación del 8080.

21 HLDA Reconocimiento de HOLD.

22 CLK1 Señal de reloj (debe venir del generador de reloj 8224).

Sirve para sincronizar memorias o periféricos lentos (detiene al 8080 mientras se


23 READY
lee o escribe el dispositivo).

24 WAIT Cuando vale "1", el 8080 está esperando al periférico lento.

25 A0
Bus de direcciones.
26 A1
27 A2

28 +12V Una de las tres patas de alimentación del 8080.

29 A3

30 A4

31 A5

32 A6

33 A7

34 A8
Bus de direcciones.
35 A9

36 A15

37 A12

38 A13

39 A14

40 A11

Componentes

Interrupciones

El microprocesador 8085 posee un complejo y completo sistema de interrupciones. Esta uP posee


cinco terminales destinados al tratamiento de interrupciones. Recordemos que una interrupción
es un artificio hardware/software por el cual es posible detener el programa en curso para que,
cuando se produzca un evento predeterminado, después de concluir la instrucción que está
ejecutando, efectúe un salto a una determinada subrutina en donde se efectuará el tratamiento
de la interrupción; una vez acabado éste, el uP continúa con la instrucción siguiente del programa
principal. Así pues, el 8085 dispone de tres formas diferentes de tratar las interrupciones que le
llegan por los citados cinco terminales. Los nombres de estos cinco terminales son:

INTR (Interrupt Request): Por esta entrada se introduce una interrupción que es aceptada o no
según haya sido previamente indicado por las instrucciones EI (Permitir interrupciones) o DI (No
permitir interrupciones). Cuando una interrupción es permitida y ésta se ha producido,
la CPUbusca una instrucción RST (de un sólo byte), que es presentada por el bus de datos por el
periférico que interrumpe. Este byte tiene el formato binario 11 XXX 111. La subrutina se ubicará
en la dirección 00 XXX 000.

RST 5.5, RST 6.5 y RST 7.5: Los terminales de RST 5.5 y RST 6.5 detectan la interrupción sólo si la
señal que se les aplica es un uno lógico o nivel alto de una cierta duración, lo mismo que la entrada
anterior INTR; sin embargo, la entrada de interrupción correspondiente al terminal RST 7.5 se
excita por flanco ascendente, es decir, por una transición de cero a uno. Esta transición se
memoriza en un biestable en el interior del uP.

Estas interrupciones se pueden habilitar o deshabilitar mediante las instrucciones EI y DI, como
en el caso de INTR; pero además son enmascarables por software mediante la instrucción SIM
(Set Interrupt Mask). Es posible leer tanto el estado de la máscara como las interrupciones que
se han producido y aún no se atendieron mediante la instrucción RIM. TRAP: Es una interrupción
no enmascarable que es activada cuando el terminal del mismo nombre se lleva a nivel lógico
uno. Esta interrupción es la de más alta prioridad, por lo que puede ser usada para tratar los
acontecimientos más relevantes, tales como errores, fallos de alimentación, etc.

Control de entrada/salida serie

Este microprocesador posee dos terminales denominados SID (Serial Input Data) y SOD (Serial
Output Data). Estos terminales se pueden usar con propósitos generales. Por ejemplo el
terminal SID se puede conectar a un interruptor y el SOD a un LED (a través de una compuerta
inversora externa). Para leer el estado del terminal SID se ejecuta la instrucción RIM, con lo que
se puede leer en el bit 7 del acumulador el estado de dicho terminal.
Para enviar un dato por el terminal SOD se ejecuta la instrucción SIM, donde el bit 7 del
acumulador debe tener el valor a poner en el terminal, y el bit 6 debe estar a uno.

Set de Instrucciones

INTEL 8085

El Intel 8085 es un
procesador de
8 bits fabricado por Intel a
mediados de los 70. Era
binariamente compatible con
el anterior Intel 8080 pero
exigía menos soporte de hardware, así permitía unos sistemas de microordenadores más simples
y más baratos de hacer.
El número 5 de la numeración del procesador proviene del hecho que solamente requería una
alimentación de 5 voltios, no como el 8080 que necesitaba unas alimentaciones de 5 y 12 voltios.
Fue usado en el sistema operativo CP/M, y también como un micro controlador.
Ambos diseños fueron sobrepasados por el Z80 que era más compatible y mejor, que se llevó
todo el mercado de los ordenadores CP/M.