Microprocesadores de 8 Bits

CAPÍTULO 2: FAMILIAS DE MICROPROCESADORES. lección 2: Microprocesadores de 8 bits En arquitectura de computadores, 8 bit

Views 143 Downloads 0 File size 494KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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.

3

D4

4

D5

5

D6

Si

SYNC

=

0:

Bus

de

datos.

de

datos.

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

SYNC

=

0:

Bus

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

SYNC

=

0:

Bus

de

Si SYNC = 1: Señal de control que indica entrada de periférico.

datos.

Si

SYNC

=

0:

Bus

de

datos.

de

datos.

de

datos.

6

D7

7

D3

8

D2

9

D1

10

D0

11

-5V

12

RESET

13

HOLD

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).

23

READY

24

WAIT

25

A0

26

A1

Si SYNC = 1: Señal de control que indica lectura de memoria. Si

SYNC

=

0:

Bus

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

SYNC

=

0:

Bus

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

SYNC

=

0:

Bus

de

datos.

0:

Bus

de

datos.

Si SYNC = 1: Modo lectura/escritura. Si

SYNC

=

Si SYNC = 1: Señal de reconocimiento de interrupción. 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 uno durante tres ciclos de reloj como mínimo. Sirve para poner los buses en alta impedancia para el manejo de DMA (acceso directo a memoria).

Sirve para sincronizar memorias o periféricos lentos (detiene al 8080 mientras se lee o escribe el dispositivo). Cuando vale "1", el 8080 está esperando al periférico lento. Bus de direcciones.

27

A2

28

+12V

29

A3

30

A4

31

A5

32

A6

33

A7

34

A8

35

A9

36

A15

37

A12

38

A13

39

A14

40

A11

Una de las tres patas de alimentación del 8080.

Bus de direcciones.

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

procesador

de

8 bits fabricado mediados

un

de

por Intel a 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.