Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CAMILO CIENFUEGOS.
FACULTAD DE INGENIERAS QUMICA Y MECANICA.
DICIEMBRE, 2003
INTRODUCCION A LOS MICROPROCESADORES
INTRODUCCIN.
1
1-)Computadora Digital.
2
de alto nivel que permiten especificar ms fcilmente los procesos de informacin,
donde cada instruccin se convierte posteriormente en un conjunto de instrucciones en
lenguaje de mquina.
Tanto el lenguaje simblico como los de alto nivel, hicieron necesario el
desarrollo de programas que al ser ejecutados por un computador tradujeran los
programas escritos en aquellos al lenguaje de mquina.
Estos programas traductores se conocen con el nombre de compiladores y
realizan la traduccin al lenguaje de mquina para la totalidad del programa de una sola
vez. Esta versin traducida del programa escrito en un lenguaje de alto nivel (llamado
programa fuente), se denomina programa objeto, y puede transferirse a la memoria y
ejecutarse directamente.
Los programas intrpretes utilizan otros principios de funcionamiento. Cada
instruccin escrita en el programa fuente le indica al intrprete un conjunto de acciones
que debe cumplir sin que medie un programa objeto en cdigo de mquina. La principal
ventaja de un intrprete es que permite fcilmente probar y poner a punto el programa.
Tanto el programa intrprete como el programa fuente permanecen en la
memoria durante la ejecucin del programa, lo cual generalmente ocupa una mayor
capacidad de memoria, y no se posee un programa objeto en cdigo de mquina para
su posterior concatenacin con cualquier programa.
Posteriormente surgi la combinacin de intrprete y compilador en un solo
paquete de programas, pudiendo aprovecharse las ventajas de ambos sistemas, como es
el caso del TURBOBASIC, TURBOPASCAL, etc.
3
La cuarta generacin apareci hacia 1971 simultneamente con la aparicin de
las MICROCOMPUTADORAS, de las terminales de TELEPROCESOS y solapndose
con los lenguajes de ms alto nivel (PL1, ALGOL68, BASIC, etc.).
4
1.2) Estructura de una Computadora Digital.
Memoria
Salidas
Unidad de
Entradas Procesos
Unidad de
Control
Unidad
Unidad de Unidad de Unidad de Unidad de Unidad de
Bus de datos D
Bus de Control C
Puede verse que tanto en una como en otra figura las unidades funcionales son
prcticamente las mismas; lo que ha sufrido modificaciones han sido las
interconexiones de estas unidades, que modernamente se realizan por BUSES y antes no
se realizaban as.
Un bus est formado por un grupo de lneas por donde se trasmiten los datos,
cdigos de instruccin, seales de sincronizacin y cdigos de direccin entre las
diferentes unidades funcionales de la computadora de forma paralela lo que permite una
alta velocidad de transmisin.
La interconexin por buses ha representado un gran ahorro de interconexiones y
una simplificacin desde el punto de vista estructural. Esta evolucin ha sido debida al
desarrollo tecnolgico que ha permitido obtener sistemas con tres estados lgicos
posibles (TRI-STATE): 1 lgico, 0 lgico y 3er estado tambin denominado estado de
alta impedancia, permitiendo que el dispositivo que no est tomando parte del
intercambio de informacin en un momento dado pueda aislarse.
En realidad las lneas del bus se agrupan en tres, de acuerdo con la informacin
que transportan: bus de direccin, bus de datos y bus de control.
5
El bus de datos es bidireccional y por l circulan los datos que llegan o salen de
la computadora por las unidades de entrada y salida, as como los datos intermedios
que son ledos o almacenados en la memoria .De acuerdo con la longitud de la palabra
que es capaz de manejar el bus de datos, se designa la longitud de palabra de la
microcomputadora.
El bus de direcciones es unidireccional, y con el cdigo binario que aparece en
ese bus se selecciona la unidad o dispositivo que trabajar en cada instante.
El bus de control est formado por varias lneas donde cada una posee una
funcin muy especfica e indica a cada una de las unidades y dispositivos externos la
funcin que debe realizar. As se logra la sincronizacin de todos los elementos de la
computadora, lo cual queda a cargo de la unidad de control. Tambin sirve para que la
CPU reciba ciertas indicaciones de las unidades perifricas.
En la figura se distinguen adems los siguientes elementos funcionales: unidad
de entradas, memorias, unidad de proceso, unidad de control y unidad de salidas.
La unidad de entradas no es ms que un multiplexor con el que se escoge por el
bus de direcciones y el de control cul de las informaciones presentes se desea traspasar
al bus de datos.
La unidad de memoria es el almacn tanto de instrucciones como de datos.
La unidad de proceso realiza las operaciones aritmticas y lgicas con las
informaciones que entran en ella a partir del bus de datos y el de direcciones. Tiene para
ello una unidad aritmtica lgica (ALU), uno o varios acumuladores, unos registros de
indicadores o banderas, as como unos registros rpidos de trabajo (RRT) en los que se
almacenan temporalmente los datos que no interesa guardar indefinidamente en
memoria
La unidad de control es el verdadero cerebro del sistema pues es capaz de tomar
decisiones lgicas en el curso de la ejecucin de un algoritmo. Es decir, segn
informaciones, normalmente suministradas por la unidad de procesos sobre el valor de
algn resultado, se puede ejecutar una parte u otra del programa, slo con ir a buscar las
nuevas instrucciones a un sitio diferente de la memoria central. En ella se encuentra el
contador de programas con su sistema de aritmtica de direcciones y el puntero del
stack. Tambin se encuentra el registro de instrucciones, decodificador de instrucciones,
registros auxiliares, etc.
La unidad de salidas recibe por el bus de datos la informacin a sacar al exterior
y por el bus de direcciones la direccin por la cual debe sacar los datos anteriormente
mencionados.
Generalmente la Unidad de Control y la Unidad de Procesos se agrupan en un
solo bloque denominado UNIDAD CENTRAL de PROCESAMIENTO (CPU).
6
fabricantes ofrecen bajo el nombre de microprocesador vara mucho de uno a otro
modelo.
En el 8080 por ejemplo, estn integrados los bloques de procesos y la mayor
parte del control, en el 6800 est completo proceso y control; en el 2650 se incluye
adems parte de las entradas/salidas, el 8048 es un ejemplo de los microcomputadores
en una sola pastilla, pues incluye casi todo lo necesario para constituir un pequeo
sistema, y en general, en la medida que se desarrollan los microprocesadores, estos
abarcan cada vez estructuras mas complejas.
A continuacin haremos una descripcin ms detallada de cada uno de estos
elementos de la microcomputadora.
AB
DB
CB
7
En la figura siguiente se muestra un segmento de 8 localizaciones de memoria
cuyas direcciones estn numeradas desde la 83F2H (el sufijo H significa que el nmero
est escrito en notacin hexadecimal) hasta la 83F9H:
Dcion. CONTENIDO
(Hex.)
83F2 0 0 1 1 1 1 1 0 (3E)
83F3 0 1 0 0 0 0 0 1 (41)
83F4 1 1 1 1 1 1 0 0 (FC)
83F5 1 1 0 1 0 1 0 1 (D5)
83F6 0 1 1 1 1 0 1 0 (7A)
83F7 0 0 1 0 0 0 1 0 (22)
83F8 0 1 0 0 0 0 0 0 (40)
83F9 1 1 1 0 1 0 1 1 (E8)
8
necesario convertir las seales elctricas de entrada en un tipo que sea aceptable a esta.
Esto tambin se aplica aunque de forma invertida para el caso de los dispositivos de
salida. Fsicamente las interfaces de entrada y salida son C.I. extremadamente verstiles
en sus funciones los cuales pueden ajustarse mediante la variacin de sus software
correspondientes.
Las tareas ms simples son realizadas por los puertos de entrada y salida (PIO).
Los PIO pueden ser incluidos como parte integrante del C.I. junto a la CPU o pueden
aparecer de forma independiente. En este ltimo caso es un MSI chip (circuito integrado
de escala de integracin media), que contiene un buffer de registro de direcciones
multimodo con salida de tres estados.
A travs de los puertos de entrada la microcomputadora puede recibir
informacin de cualquier dispositivo externo, como por ejemplo, un teclado de
caracteres alfanumricos, un disco magntico, o las seales provenientes de un proceso
industrial o un instrumento mdico. A su vez la microcomputadora tambin requiere
uno o ms puertos que permitan a la CPU comunicar el resultado de su actividad al
mundo exterior. La salida puede ir a un visualizador de televisin, para ser usada por un
operador o un impresor para producir una copia legible en papel, tambin puede estar
constituida por seales para el control de procesos que dirijan las operaciones de otro
sistema.
Tanto los puertos de entrada como los de salida son direccionables, es decir;
para trasmitir informacin hacia el puerto, o recibirla donde est, es necesario que la
CPU enve previamente un nmero que lo identifica y que constituye a su vez la
direccin del puerto.
Dos tipos de entrada-salida se hallan en la computadora en una tarjeta: los
puertos de entrada-salida en paralelo y los puertos de entrada-salida en serie.
Los PIO paralelos permiten la entrada-salida de datos en forma paralela, es decir,
todas las lneas del bus de datos entran o salen a la vez de la microcomputadora, lo que
posibilita una transferencia de datos entre la CPU y cualquier equipo perifrico a alta
velocidad.
Los PIO en paralelo ms usados son los de tipo programable, es decir, que puede
la misma pastilla ser usada como entrada o como salida de acuerdo con el programa de
instrucciones que realice el usuario.
Ejemplo : El circuito integrado 8255 constituye un PIO programable con E/S Paralelo
Tiene 8 terminales de datos que se conectan al bus de datos y 24 terminales de salida
que pueden agruparse en tres grupos de 8 bits, 4 grupos (2 de 8 bits y 2 de 4 bits).
Bus de 8
Datos D0-D7 PA
A0
8
A1 PB
Rd 8255 8
Wr PB
Cs
9
A1 A0 Rd Wr Cs
x x x x 1 D0-D7 en 3er estado
x x 1 1 0 D0-D7 en 3er estado
0 0 1 0 0 D0-D7 Puerto A
0 0 0 1 0 D0-D7 Puerto A
0 1 1 0 0 D0-D7 Puerto B
0 1 0 1 0 D0-D7 Puerto B
1 0 1 0 0 D0-D7 Puerto C
1 0 0 1 0 D0-D7 Puerto C
1 1 1 0 0 D0-D7 Palabra de
Control
Wr
Clock 8251
Cs
10
Esta unidad es capaz de buscar instrucciones en la memoria, decodificar su
contenido y ejecutarlas. Es la encargada de comunicarse con la memoria y con los PID
tantas veces como sea necesario durante la ejecucin de un programa. La CPU deber
tambin reconocer y responder a ciertas seales de control externo, tales como
solicitudes de interrupcin u otras a fines. Lleva en su interior la base de tiempo que
genera los ritmos o impulsos de reloj de las diferentes partes del sistema .
Todas las instrucciones tienen dos tiempos fundamentales, llamados busca
(fetch) y ejecucin (execute). El tiempo de ejecucin empieza por un subtiempo de
decodificacin de la instruccin y prosigue con la parte de ejecucin que puede tener
varios subtiempos , dependiendo del tipo de instruccin. La suma del tiempo de busca y
el de ejecucin, da lo que se conoce como ciclo de instruccin y el mismo depende no
solo del tipo de instruccin sino tambin de las caractersticas de velocidad de la CPU.
La CPU realiza tambin las operaciones aritmticas y lgicas, as como la
transferencia entre acumulador, registros de trabajo, etc.
Cuando la CPU se fabrica en un solo chip, a dicha estructura como sealamos
anteriormente, se le da el nombre de microprocesador. Por la importancia que tienen
estos dispositivos, en los epgrafes siguientes de este material se realizar un estudio
ms detallado del mismo.
2-Microprocesadores.
Pocas reas de la electrnica han experimentado un progreso tan acelerado como
el ocurrido en el caso de los microprocesadores, las microcomputadoras y sus circuitos
asociados correspondientes. La complejidad de los circuitos integrados prcticamente se
ha ido duplicando en cada ao a partir de los inicios de la dcada de los 60.
Como consecuencia de este desarrollo, a finales de la dcada aparecieron los
circuitos integrados de gran nivel de integracin (LSI) los cuales realizaban funciones
de un alto grado de complejidad. Ejemplo de ello fue el desarrollo de unidades lgico-
aritmticos (ALU) en un chip, que podan ejecutar muchas de las funciones de las
microcomputadoras actuales como son la suma, la resta, rotacin y desplazamiento.
Sin embargo, no fue hasta 1971 en que fue posible combinar esta unidad (ALU)
con circuitos secuenciales tales como flip-flops, registros de desplazamientos y otros
elementos, todo dentro de un chip, para dar lugar a un rudimentario microprocesador.
La tcnica de los microprocesadores implica una unin indisoluble entre el
HARDWARE y el SOFTWARE. No ser posible la construccin de un sistema
completo si no se trabaja en ambos sentidos.
Una microcomputadora est compuesta por un microprocesador, circuitos de
entrada-salida y las memorias, todo ello unido a los equipos perifricos, estando
ntimamente ligada la cantidad de estos elementos con las caractersticas de la
aplicacin particular.
El microprocesador es el puesto de mando donde se dirige el proceso de la
computadora y en el que ocurre una buena parte de l. De este componente depende la
velocidad del proceso, el sistema operativo que se correr e incluso una importante
porcin del consumo energtico del equipo y del costo del sistema. Est constituido por
un chip de silicio cuya rea aproximada en dependencia del modelo es de apenas 1.5
cm2 y en este reducido espacio se encuentran dispuestos varios millones de transistores
que son los verdaderos actores de procesamiento lgico de la informacin.
Desde el ms humilde Intel 4004 que en 1971 trabajaba a 0.2 MHz., hasta el
impresionante Pentium 4 de Intel con 3 GHz., todos los MP en esencia hacen lo mismo:
11
reciben la informacin binaria y la procesan sobre la base de instrucciones predefinidas
que generan una nueva informacin tambin binaria.
El MP reacciona constantemente a las instrucciones, pero no puede hacerlo con
todas a la vez, porque estas se atascaran. Ello se resuelve mediante una espera del
procesador hasta que se aprueba la recepcin de la seal. El reloj del sistema determina
el tiempo de espera. A espacios definidos de tiempo, el reloj enva impulsos elctricos
que marcan al sistema el rango de estas esperas. Si una instruccin se halla en espera y
el procesador no est ocupado con instrucciones previas, le da entrada y trabaja con
ellas. El nmero de instrucciones que el MP puede procesar por cada una de estas
pulsaciones de reloj (ciclos) depender del diseo o arquitectura del mismo. En sus
inicios las CPU podan manejar una sola instruccin por ciclo, pero en la actualidad esa
cifra se ha incrementado notablemente a partir de dos concepciones aplicadas a la
construccin de esos sistemas: la canalizacin y la ejecucin superescalar.
La canalizacin permite que el procesador lea una nueva instruccin de la
memoria antes de terminar la fase de la instruccin en curso. Algunos de los modernos
MP pueden trabajar simultneamente con varias instrucciones. La profundidad del canal
ser la medida del flujo de datos que puede aceptar el sistema. Digamos por ejemplo
que el 80486 tiene una profundidad de canal de 4, o sea, que hasta 4 instrucciones
pueden encontrarse en distintas etapas de canalizacin, ya en el pentium esa cifra es de
5 y crece en el diseo de CPU con tecnologa MMX y otros equivalentes como el K6 y
en superiores como el pentium II.
La ejecucin superescalar significa que el sistema posee ms de un canal, lo que
significa que puede procesar ms de un grupo de instrucciones a la vez. Si bien
tcnicamente esto debera multiplicar el desempeo, en la prctica no es exactamente
as, pues ocurre que un canal espera a que termine el otro. No obstante, en trminos
prcticos optimiza el funcionamiento del procesador.
En la historia de los MP han existido dos filosofas de diseo: la CISC y la
RISC.
CISC (Complex Instruction Set Computing), creada por IBM como un software sencillo
almacenado en el chip y que contena las instrucciones para el procesador, permiti
salvar el escollo que represent la complejidad sucesiva de las aplicaciones de software
que en otras circunstancias habra llevado al cambio constante del hardware en funcin
de los programas. Al ejecutarse, los programas CISC ocupaban menos espacio en
memoria y esta ltima vala en los aos 60 y 70 ms que el oro. CISC se incluye en los
procesadores Mainframe de IBM, los Motorola 680X0 y es emblemtico de los
procesadores Intel, principalmente de los X86 y todava se utiliza en los pentium
actuales.
En el diseo RISC (Reduced Instruction-Set Computing), existen menos
instrucciones, cada una tiene una longitud de 32 bits y se ejecuta en un solo ciclo de
reloj. Con esta arquitectura, los procesadores incorporan una cach de memoria de alta
velocidad en la que se almacenan la secuencia de instrucciones a ejecutar. El uso eficaz
de tales datos depende en gran medida de la canalizacin, que en esta arquitectura
adquiere un protagonismo indiscutible. Bajo esta concepcin se desarrollaron algunas
de las CPU ms poderosas en la actualidad tales como los Power PC de Macintosh,
incluido el clebre 750, ms conocido como G3, los alpha de las estaciones Silicon
Graphics y los SPARC de Sun Microsystem. Incluso hasta unidades tan sencillas como
las mquinas de juego Nintendo, poseen en su interior uno de estos dispositivos.
Por sus innumerables aplicaciones los microprocesadores han invadido los ms
diversos campos de la ciencia y la tcnica, abarcando desde complejos sistemas de
control o de computo hasta sencillos equipos electrodomsticos o de juguetera,
12
incluyendo sistemas de comunicacin de datos, diagnstico mdico, control numrico
de mquinas herramientas y otros.
Dentro de las ventajas de los sistemas con los microprocesadores podemos
sealar las siguientes:
a-) Pueden realizar muchas operaciones por software, en lugar de usar componentes
electrnicos.
b-) Reduccin del tamao, no slo del microprocesador, sino del resto de los circuitos
que lo complementan.
c-) Aumento de la fiabilidad, ya que disminuye el nmero de componentes.
d-) Flexibilidad en el diseo.
e-) Disminucin de los costos tanto en diseo, como de la produccin y reparaciones.
En cuanto a las desventajas mencionaremos:
a-) El aprendizaje del software, pues cada microprocesador posee un juego de
instrucciones a las cuales responde.
b-) Los mtodos difciles de prueba que deben hacerse a la velocidad de trabajo del
microprocesador.
Es por ello que para brindar una idea general de la estructura y lograr una
comprensin ms simple, analizaremos como se conforman los MP de 8 bits y para ello
consideraremos la existencia de dos bloques funcionales dentro del microprocesador, a
los cuales denominaremos como bloque, subsistema o unidad de procesamiento, y
bloque, subsistema o unidad de control.
13
El acumulador adems de las funciones antes mencionadas podr:
-rotar su contenido
-complementar su contenido
-aceptar o enviar datos a los PIO
-realizar operaciones aritmticas y lgicas con el contenido de cualquiera de los
registros de propsito general
-en general el acumulador siempre es el origen de uno de los operandos y el destino del
resultado.
S Z X A X P X C
D7 D6 D5 C D3 D2 D1 D0
D4
CERO
14
si el nmero de 1 lgicos en el acumulador es impar (1, 3, 5 7), se fija un 1 lgico en
dicho bit de paridad.
Ejemplo: Si en el acumulador hay 11001100 entonces D2 es cero, pero si el contenido
del acumulador es 10101000 entonces D2 es 1.
15
programa, a la vez que emitir las seales para entrelazar todos los diversos registros del
microprocesador que son necesarios para la ejecucin del una instruccin en particular.
La unidad de control cuenta adems con una seccin de tiempo o sincronizacin
que realiza una funcin muy importante, pues el MP como ya hemos sealado a partir
de la salida del decodificador de instrucciones tiene que especificar los ciclos
apropiados de mquina que son necesarios para la ejecucin correcta de dicha
instruccin. Todo esto es posible lograrlo mediante la generacin de la seal de control
y de tiempo internas apropiadas y su envo a los diferentes elementos y componentes
dentro y fuera de MP.
Para sincronizar todo este proceso los MP disponen de un generador interno de
pulsos llamados pulsos de reloj, cuya frecuencia se controla exteriormente mediante una
red RC o modernamente mediante un CRISTAL conectado a sus terminales .
En el microprocesador se encuentran tambin presentes algunos registros
adicionales que se utilizan para el almacenamiento temporal de datos. Por ejemplo,
usualmente se coloca un registro entre el contador de programa y la memoria, que se
denomina registro de direcciones de memoria (MAR); y entre la memoria y el registro
de instrucciones en ocasiones se emplea un registro denominado registro de datos de
memoria (MDR).
Cada instruccin programada por un usuario requiere de la realizacin de un
determinado nmero de operaciones internas denominadas microinstrucciones, y de
aqu surge la necesidad de almacenar un cierto nmero de resultados intermedios. El
conjunto particular de microinstrucciones de un microprocesador se almacena en una
ROM llamada ROM de control o microROM, la cual generalmente se encuentra dentro
del propio C.I. del microprocesador.
Perodo de reloj
16
durante el procesamiento de una instruccin, es a lo que se le denomina ciclo de
instruccin.
La sucesin de estados (generalmente entre 3 y 5) en los cuales se efecta una
comunicacin con la memoria y se procesa el dato por este comunicado, constituye lo
que se conoce con el nombre de ciclo de mquina. En general un ciclo de instruccin
est compuesto de uno o varios ciclos de mquina en dependencia de su complejidad.
Existen instrucciones que conllevan a una alteracin del contenido del contador
de programas. Dentro de ellas se encuentran la realizacin de las siguientes operaciones:
a) salto incondicional (JMP)
b) salto condicional (JNZ , JP)
c) salto a subrutinas (CALL , CNC , CC)
d) instrucciones de retorno (RET , RPU , RM)
e) instrucciones de carga (PCHL)
d) interrupcin.
Siempre que se realice un salto a subrutina debe, despus de haberla ejecutado,
aparecer una instruccin de retorno, y el contador de programa debe retornar a su valor
original desde donde salt para continuar la ejecucin del programa.
Para garantizar esto se crea una zona en memoria (RAM) llamada STACK
(pila), llamada as por la estructura que tiene de almacenar los datos en forma de pila,
donde el ltimo dato que entra es el primero que sale (LIFO - last in first out).
Cuando se realiza un salto a subrutina, el contenido del contador de programa
(PC) se guarda en la pila; si dentro de esa subrutina salta a otra, se vuelve a guardar en
la pila el contenido que tenia el contador de programa y as sucesivamente; esto permite
que al ir terminando la ejecucin de cada subrutina se vaya retornando hacia el
programa principal con slo llevar con cada instruccin de retorno el ltimo dato que
entr a la pila al PC.
Pero existe un detalle muy importante. Es necesario saber en que localizacin de
memoria se encuentra el ltimo dato que queda en la pila. Es por ello que existe el
puntero del stack.
17
2.5.1)Puntero del STACK (SP).
1 2
DR2
DR1
4 3
PILA PILA
SP
SP DR1
Si la salida del programa en lugar de ser por un salto a subrutina es por una interrupcin,
adems de la direccin en que se estaba, en la pila se guardan los datos necesarios para
poder continuar la ejecucin del programa.
2.5.2) Interrupciones.
18
cualquier momento. Despus ser cuestin del procesador el decidir si dicho servicio es
prioritario o no sobre lo que estaba haciendo, y romper la secuencia en curso.
Como ya se ha dicho, formalmente una interrupcin es muy parecida a un salto a
subrutina, pero la llamada no se realiza por una instruccin especial sino activando
asncronamente una lnea especial (puede haber varias). La CPU termina la instruccin
en curso y despus o sale hacia donde debe saltar o lo pregunta. Los detalles deben ser
estudiados en relacin a cada mquina en concreto.
Existe sin embargo una diferencia muy importante entre el salto a subrutina
dentro de un programa y el salto a la subrutina de atencin a una interrupcin. Cuando
el procesador la recibe, est ejecutando una tarea que en cada momento est
representada por un conjunto de informaciones de las cuales depende la evolucin
posterior de su trabajo, y que deben de ser preservadas si la tarea que est realizando
ahora, ms adelante ha de reemprenderse en el mismo punto en que se abandon para
atender la interrupcin.
Estas informaciones pueden ser resultados parciales o datos en memoria, datos
presentados por el medio exterior, etc. que en principio no se pierden ni se alteran por el
cambio de tarea pero tambin se necesita guardar todo el estado de la CPU, es decir, el
contenido de sus registros, pues estos van a sufrir alteraciones. Por tanto en el salto a
interrupcin no basta con guardar el contenido de PC (direccin de retorno) sino que es
necesario guardar en principio los contenidos del acumulador, registro de estado,
registros generales de trabajo, etc. Para ello se utiliza tambin el stack. Segn el
microprocesador que se trate, la salvaguarda del estado se realiza automticamente al
aceptar la interrupcin, o bien el mismo programador lo incluye como primeras
instrucciones en la subrutina del servicio. De la misma forma la recuperacin de estos
datos puede ser automtica con la instruccin RTI (retorno desde interrupcin), o bien
por instrucciones especiales antes de RET. Las instrucciones especiales son PUSH,
guardar un dato en el STACK (al mismo tiempo que se decrementa el SP), o POP,
recuperar un dato del STACK (incrementando previamente SP).
Las operaciones de entrada-salida controladas por interrupcin se deben utilizar
cuando el tiempo de respuesta a la solicitud de atencin por parte de un perifrico ha de
ser lo ms rpido posible.
La secue ncia de operaciones es la siguiente:
- el perifrico solicita seal de servicio a travs de una seal que activa una de
sus lneas de interrupcin
19
2.6) Acceso directo a memoria.
20
3) Operaciones de I/O controladas por programas.
Los dos primeros casos ya han sido explicados con anterioridad. En el tercer
caso es el microprocesador a instancias del programa el que inicia y controla todos los
tipos de transferencia de datos, o sea, la CPU solicita informacin de entrada o enva
informacin a la salida, posicionando las seales correspondientes de direccionamiento
y de control. Tiene como ventajas la facilidad de implementacin de hardware y
software y la facilidad de intercambio, siendo su principal inconveniente su falta de
validez para control de procesos en tiempo real.
M1-T1
M2-T1 M3-T1 M4-T1
M1-T3
21
Estado M1-T2. Asumamos que la memoria toma menos que un microsegundo en
responder. Esto significa que cuando nuestro circuito entra en este estado, el primer byte
ya se encuentra en los terminales de salida de la memoria. Es por ello que en este estado
el registro de instrucciones (RI) se conecta al bus de datos, producindose el enlace
directo entre la memoria y este RI, el cual recibir la seal de control que le indica que
debe almacenar la informacin existente en la memoria y que se le enva a travs del
bus de datos. Note que el bus de direcciones no est siendo usado en este estado.
Estado M1-T3. En este estado el cdigo de operacin se decodifica. La salida del
decodificador posibilitar la secuencia correcta de estados y las seales que debe
generar la unidad de control para que la instruccin sea correctamente ejecutada. En
nuestro caso ello
implica transitar por los estados M2-T1 , M2-T2 , M3-T1 , M3-T2 , M4-T1 y M4-T2.
En este estado ni el bus de control ni el de datos han sido utilizados.
Estado M2-T1. La accin realizada en este estado es idntica a la del estado M1-T1, con
la excepcin que el PC ha sido incrementado.
Estado M2-T2. En este estado el DB se conecta al registro de direcciones y mediante un
pulso correspondiente de control este graba el segundo byte en el lugar correspondiente
(este es un registro de 16 bits).
Estado M3-T1. La accin es semejante a los estados M1-T1 y M2-T2, con la excepcin
que el PC tiene la direccin del tercer byte.
Estado M3-T2. Cuando el MP asume este estado, se obtiene el siguiente byte
componente de la direccin, generndose por la unidad de control las seales apropiadas
para grabar este byte en el lugar correspondiente del registro de direcciones.
22
El contenido de la memoria que nos afecta es el siguiente :
23
microprocesadores deber consultar los textos de referencia que aparecen al final del
presente material.
24
competitividad. En estos casos ha de tenerse en cuenta que los fabricantes pueden
producir bajo demanda, chips especficos para una determinada aplicacin.
4-Posibilidad de introducir en el futuro cambios en el programa de trabajo del sistema
(basta cambiar el programa de la memoria), as como ampliarle si es necesario.
5-Reduccin de costos en mano de obra y verificacin.
6-Importante aumento de la fiabilidad debido a la reduccin de componentes en los
sistemas con MP.
7-Reduccin importante del volumen y del gasto de energa consumida.
8-Fcil introduccin de programas de auto chequeo que facilitan la reparacin y el
mantenimiento del equipo.
9-Capacitacin del personal en general de la empresa, que le permite desarrollar en el
futuro nuevos y ms avanzados productos que a veces sern permisibles a corto plazo.
10-Mejora de la imagen del producto y de la empresa que lo fabrica.
Una clasificacin general de carcter bsico que delimita algunos de los campos
industriales de ms inters y desarrollo de los sistemas basados en MP es la siguiente:
1-Industria en general.
2-Industria elctrica y de electrodomsticos.
3-Instrumentacin y medidas.
4-Terminales inteligentes.
5-Juegos y derivados.
25
En el esquema que a continuacin mostramos est representado el diagrama de
bloques simplificado de un voltmetro digital con el empleo de MP.
Seal de Dispositivo
Entrada Acomodador CAD Sistema Micro-
de seal procesador de Salida
26
La introduccin de softwares cada vez ms sencillos de operar y por ende ms "
amistosos" empleando el mouse, ha ayudado a simplificar la comunicacin, pero se
desea desarrollar circuitos analizadores y sintetizadores de voz que faciliten an ms la
entrada y salida de la informacin de las computadoras. Cuando se logre que estos
circuitos puedan fabricarse de manera compacta, y puedan ser reducidos a escala de los
circuitos integrados, podremos darles las instrucciones a la mquina mediante la voz y
con ello podemos comunicarnos con la mquina de manera semejante a como lo
hacemos con otro ser humano.
El 80186 constituye una versin mejorada del 8086 que posee en su interior el
generador de los impulsos de sincronismo, la lgica de control de interrupciones, los
esquemas de temporalizacin y los controladores del acceso directo a memoria. El
esquema de este MP presenta un total de 68 terminales distribuidos en los 4 lados, y
posee dos veces mayor productividad en comparacin con el 8086, adems de poseer
mayor capacidad de carga en sus lneas fundamentales.
27
El 80386 operaba con velocidad de 16 MHz., pero rpidamente subieron hasta
33, lo que le da la posibilidad de ejecutar de 3 a 5 millones de instrucciones por
segundo, adems de que su capacidad de direccionamiento de memoria fsica alcanza
los 4 gigabytes. Los competidores de Intel, AMD y Cyrix llegaron a producirlo con
velocidades de hasta 40 Mhz. Su arquitectura permite realizar simultneamente
operaciones de bsqueda de instrucciones, decodificacin, ejecucin y control de
memoria. La aceptacin y el xito de este MP estuvo dado por mantener sus
caractersticas de compatibilidad con sus predecesores 8086, 8088, 80186, 80286, pues
prcticamente todos los programas que fueron elaborados para estos ltimos, tambin
son capaces de correr en el 80386.
28
MHz. est montado sobre una tarjeta madre trabajando a la cmoda y ms que
suficiente velocidad de 25 MHz. 33 Mhz. y sin embargo su procesador opera a 100
MHz. Tales procesadores usaban un voltaje de 3.3 v con el fin de conservar bajos
niveles de emisin del calor, aunque existieron versiones del DX4 a 5v que requirieron
nuevas tarjetas madres y que llevaban ventiladores para refrescar el chip.
Entre ellas:
Ciryx con su 586 al que llam M1 alcanzaba velocidades de 100 y 120 Mhz e inclua
un bus interno de 64 bits, un canal de 6 etapas (una ms que el 486 ) y era compatible
con las tarjetas madres del 486. No obstante sus excelencias, lleg tarde al mercado
ganado en aquel tiempo por la descomunal campaa de Intel para sus pentiums.
INTEL sac a la luz un nuevo MP conocido con el nombre de "Pentium" que segua
siendo un procesador de arquitectura CISC pero incluy varias tecnologas RISC en su
diseo que le permitieron alcanzar los 300 MIPS (millones de instrucciones por
segundo). Todas las versiones de pentium poseen ms de 3 millones de transistores
integrados y requieren radiadores con ventilador para disipar el calor de su
funcionamiento. El nuevo procesador ofreca una arquitectura superescalar, dos canales
en lugar de uno como el 486 y la tecnologa de prediccin de ramificaciones que le
permita minimizar las demoras que suceden cuando una instruccin compleja retrasa la
ejecucin de otras. Tambin increment el ancho de banda del bus hasta 64 bits. Incluy
29
dos cachs de nivel 1 (L1) independientes, uno para los datos y otro para las
instrucciones de clculo decimal que constituyen la base para las aplicaciones grficas y
de multimedia.
Intel sorpresivamente cambi el standard que hasta ese momento haba seguido en la
industria, razones?, pues el auge de las aplicaciones multimedia y el peso que cobraron
grandes programas con complicados efectos grficos, como los juegos para ordenador,
que exigieron un mejor desempeo del hardware y especficamente de las CPU.
En 1996, casi un ao antes del P-MMX, Intel sac el Pentium Pro (P-Pro). Parte en su
diseo de una concepcin similar al pentium, pero ofrece avances tales como: una nueva
forma de ejecutar las instrucciones y un aumento de las etapas del canal de 5 a 14 con 3
canales en lugar de 2 a una velocidad de ejecucin resultante mucho mayor. Incluye un
cach integrado L2 de 256 K adems de 2 cachs L1 de 16 K, que eleva en
consideracin sus prestaciones, pero tambin su precio, y ello automticamente lo
releg para la construccin de grandes servidores, lejos de los sistemas PC de uso
domstico o profesional ms modestos.
En el centro del P-Pro existe un procesador RISC, mientras que las instrucciones
CISCX86 se forman a partir de microinstrucciones RISC ms sencillas y por
consiguiente se ejecutan con mayor rapidez. Tiene 5.5 millones de transistores los
cuales generan una considerable cantidad de calor lo que exige el uso de disipadores y
micro ventiladores.
30
servidores, que fue aceptado por los especialistas como relevo del ya entonces algo
desfasado P-Pro.
En los predios del mercado apareci luego el esperado pentium III (P III) o Katmai que
tena como principal novedad la inclusin de 70 nuevas instrucciones conocidas como
las MMX2 o KNI (Katmai New Instructions). Trabaja a voltajes de 1,8 volts, posee
tamao ms reducido y menor consumo energtico, gracias a la tecnologa de 0.25
micras empleadas en su fabricacin (prximamente a 0.18 micras). Los primeros
modelos, con ncleo Katmai, se fabricaron todos en el mismo formato Slot 1 de los
Pentium II, pero la actual revisin Coppermine de este micro utiliza mayoritariamente
el Socket 370 FC-PGA.
Muchos denominaron al Pentium III Coppermine "el autntico Pentium III", porque al
tener sus 256 KB de cach secundaria integrados en el ncleo del micro su rendimiento
mejora en todo tipo de aplicaciones (incluso las no optimizadas).
El Celeron (Pentium II light), result ser un Pentium II sin la cach secundaria, fue
construido para liquidar el mercado de placas base tipo Pentium no II (con socket 7, que
se dice) y liquidar definitivamente a AMD y otras empresas que usan estas placas. Sin
embargo, resultaba realmente muy poco recomendable, por poseer un rendimiento
mucho ms bajo que el de Pentium II, pues era casi idntico al del Pentium MMX.
AMD logr a finales del 97 el K6 que de inmediato fue un formidable contrincante para
el P-Pro, con su favorable handicap de menor costo. Presenta una cach L1 de 64K, una
extensa tabla de prediccin de ramificaciones, as como 7 unidades de ejecucin
paralela y el juego de instrucciones MMX. En las pruebas realizadas dej atrs a los
Pentium MMX de igual velocidad de reloj y se acerc notablemente al desempeo de
los Pentium II. Posteriormente se puso a la venta el K 6-2, que incorpora tecnologa de
0.25 micras y mejoraba notablemente el desempeo del procesador en cuanto a
velocidad y capacidad multimedia, sentando un nuevo standard en las instrucciones
3Dnow (algo as como un MMX para 3D).
El K6-III result ser un micro casi idntico al K6-2, excepto por el "pequeo detalle" de
que incluye 256 KB de cach secundaria integrada, corriendo a la velocidad del micro
(es decir, a 400 MHz o ms), al estilo de los Celeron Mendocino. Esto le hace mucho
ms rpido que el K6-2 (en ocasiones, incluso ms rpido que el Pentium III) en
aplicaciones que utilicen mucho la cach, como las ofimticas o casi todas las de ndole
"profesional"; sin embargo, en muchos juegos la diferencia no es demasiado grande (y
sigue necesitando el uso de las instrucciones 3DNow! para exprimir todo su potencial).
El AMD Athlon (K7) result ser la gran apuesta de AMD: un micro con una
arquitectura totalmente nueva, que le permiti ser en su tiempo el ms rpido en todo
tipo de aplicaciones. Con 128 KB de cach de primer nivel (cuatro veces ms que el
Pentium III), bus de 200 266 MHz (realmente 100 133 MHz fsicos con doble
aprovechamiento de cada seal), 512 256 KB de cach secundaria (los 256 KB
integrados le posibilitaban ser ms rpido), instrucciones 3DNow! para multimedia... y
el mejor micro de todos los tiempos en clculos matemticos.
31
zcalo cuadrado similar al Socket 370, pero con muchos ms pines). Los modelos
actuales usan el ncleo Thunderbird, con la cach secundaria integrada.
El AMD Duron result un micro casi idntico al Athlon Socket A (no existe para Slot
A) pero con menos memoria secundaria (64 KB), aunque integrada (es decir, ms
rpida, la cach va a la misma velocidad que el micro); Con l se obtuvo una fantstica
relacin calidad/precio.
Cyrix por su parte present el M II que posee un diseo superescalar, dos canales
separados, 64K de cach L1, una novedosa cach auxiliar de 256k que acelera
notablemente el desempeo de la CPU y prediccin mltiple de ramificaciones. Este es
un procesador completamente CISC (a diferencia del K6 y del P II), que no lleg a
alcanzar el desempeo del K 6, pero se situ dignamente en el sector de las llamada
mquinas de bajo costo.
La ltima apuesta de Intel, el Pentium 4, represent todo un cambio de arquitectura;
pese a su nombre, internamente poco o nada tiene que ver con otros miembros de la
familia Pentium.
Por otro lado, incluye mejoras importantes: bus de 400 MHz (100 MHz fsicos
cudruplemente aprovechados) y nuevas instrucciones para clculos matemticos, las
SSE2. stas son muy necesarias para el Pentium 4, ya que su unidad de coma flotante es
MUCHSIMO ms lenta que la del Athlon; si el software est especficamente
preparado (optimizado) para las SSE2, el Pentium 4 puede ser muy rpido.
Finalmente, un detalle positivo: el ncleo del micro est mejor protegido que antes,
gracias a un disipador de calor integrado sobre el mismo (por eso tiene ese aspecto
metlico).
Todos estos datos son para el Pentium 4 versin 1.0, pero el desarrollo de estos micros
se ha venido perfeccionando En la actualidad existen procesadores mucho mas
poderosos. La compaa Intel acaba de lanzar al mercado su nuevo procesador Intel
Pentium 4 de 3.0GHz y ya hoy se anuncian versiones capaces de trabajar a velocidades
mayores lo cual representa un salto bastante importante.
32
En las plataformas no Wintel(elipsis de las palabras Windows e Intel) aparecen como
notables los SPARC concebidos para las estaciones UNIX de Sun y otros
desarrolladores de este entorno, cuyo desempeo es la base, entre otros usos, de la
industria de los efectos especiales, muestra de los cuales son los filmes TITANIC y
Toys Story.
Por otra parte anda el G-3, corazn de los Macintosh, uno de cuyos modelos, el iMac
barri con las cifras de ventas en Europa y Estados Unidos en el 1er trimestre de 1999.
Por ejemplo, el G-3 de 266 Mhz super en todo, desde las operaciones con pto. Flotante
hasta el trabajo con grficos y texturas en 3D, al P Pro y P II de 300 Mhz. montados en
configuraciones similares. Tiene arquitectura completamente RISC, basada en
instrucciones ms sencillas que se ejecutan a una mayor velocidad real.
Con lo expuesto hasta aqu basta para que el lector se percate de la rapidez con que se
desarrollan estos dispositivos y de la importancia que tiene para un profesional el poseer
un mnimo de conocimiento de su evaluacin y de sus posibilidades.
CONSIDERACIONES FINALES
Esperamos que con el estudio de este material los estudiantes puedan alcanzar un
conocimiento elemental sobre esta temtica y comprendan la importancia de desarrollar
una profundizacin ulterior en las aplicaciones vinculadas a la rama de la ingeniera que
les corresponda.
33
BIBLIOGRAFIA
- Microelectronic .Millmanm J.
34
MEMORIA
PRINCIPAL
bus de control
Registro de
Direcciones
Registro de Instrucciones
ACU- Unidad Registros Seales de
MULA- Lgico De Sincronizacin Contador
DECODIFICADOR de
DOR Aritm- Utiliza- Y Control
tica Cin Gral. Programa
Comandos o Direcciones
Reg.In-
+1 dicado-
res