Está en la página 1de 17

Introduccin

Qu tan rpida es tu PC? Cuando alguien te pregunta esto, normalmente se

refiere a la frecuencia de un minsculo reloj dentro de tu PC, un oscilador de cristal que

marca el ritmo bsico usado en toda la mquina. En una PC de un gigahertz, por

ejemplo, el reloj hace mil millones de ticks en un segundo. Cada accin en una PC se

realiza en nfimos pasos, cada paso dura un mil millonsima de segundo. Una simple

transferencia de datos puede tomar un solo paso; clculos complejos pueden tomar

muchos ms. Todas las operaciones, sin embargo, deben empezar y terminar de acuerdo

a las seales de tiempo del reloj.

Desarrollo

A las computadoras modernas se las llama sncronas porque usan un nico reloj

para marcar el tiempo. Dentro del chip del microprocesador de la PC, un reloj enva

seales desde un oscilador de cristal a varios circuitos, as como el aire enva el sonido

de un tambor a los soldados para marcar su marcha. Como todas las partes del chip

comparten el mismo ritmo, el output de cualquier circuito en un paso puede servir como

input para cualquier otro circuito en el siguiente paso. La sincronizacin proveda por el

reloj ayuda a los diseadores de los chips a planificar secuencias de acciones para la PC.

El uso de un reloj central tambin trae problemas. A medida que la velocidad ha

aumentado, la distribucin de las seales de tiempo se ha vuelto ms y ms difcil. Los

transistores actuales pueden procesar datos tan rpido que pueden completar varios
pasos en el tiempo que le toma a un cable llevar una seal de un lado a otro en un chip.

Mantener un ritmo idntico en todas las partes de un chip grande requiere un cuidadoso

diseo y un gran trabajo con la energa elctrica.

Actualmente se estn investigando alternativas para disear un sistema de

computacin en el cual cada parte pueda ir a su propio paso, en vez de depender de las

seales de un reloj central. Estos sistemas son llamados asncronos. Cada parte de un

sistema asncrono puede extender o disminuir el tiempo de sus pasos cuando sea

necesario. Algunos de los pioneros de la era de la computacin, como Alan M. Turing,

trataron de usar diseos asncronos para construir mquinas a principios de los 50s. Los

ingenieros pronto abandonaron esta idea en favor de las computadoras sncronas porque

el tiempo comn facilitaba mucho ms el proceso de diseo.

Ahora la computacin asncrona esta experimentando un renacimiento. En varias

universidades en el mundo se ha demostrado el uso de procesadores asncronos. Incluso

algunos ya estn en la etapa de produccin comercial masiva. Algunos ejemplos son: la

compaa japonesa Sharp, que us diseo asncrono para construir un chip para manejo

de grficos, video y audio; Philips produjo microcontroladores asncronos para dos de

sus buscapersonas. Tambin la empresa Sun introdujo el procesador UltraSPARC IIIi

que incluye algunos circuitos asncronos. Los procesadores asncronos se volvern cada

vez ms populares a medida que los investigadores aprendan a explotar sus beneficios y

a desarrollar mtodos para simplificar su diseo. An queda un largo camino para el

xito comercial, aunque el xito tcnico ya se ha logrado.


Ganar al Reloj

Cules son los beneficios potenciales de los sistemas asncronos? Primero, la

asincrona puede acelerar las computadoras. En un chip sncrono, la frecuencia del reloj

debe ser lo suficientemente lenta para acomodarse a la accin ms lenta dentro de los

circuitos del chip. Si le toma una mil millonsima de segundo a un circuito para

completar su operacin, el chip no puede ir ms rpido que un gigahertz. Incluso si

varios otros circuitos en el chip pueden completar sus operaciones en menos tiempo,

estos deben esperar hasta el siguiente tic del reloj antes de proseguir con el siguiente

paso lgico. En contraste, cada parte de un sistema asncrono se toma tanto ms o

menos tiempo para cada accin como sea necesario. Clculos complejos pueden tardar

un poco ms que el promedio, y los ms simples pueden tomar menos. Las acciones

pueden empezar tan pronto como terminan las acciones necesarias anteriores, sin

esperar al siguiente tic del reloj. Por tanto, la velocidad del sistema depende del

tiempo de una accin promedio y no del tiempo de la accin ms lenta.

Coordinar acciones asncronas, sin embargo, tambin ocupan espacio y tiempo

en el chip. Si los esfuerzos requeridos para coordinacin local son pequeos, un sistema

asncrono puede, en promedio, ser ms rpido que un sistema sncrono. La asincrona

ofrece una gran ayuda a los diseos de chips irregulares donde las acciones lentas

ocurren infrecuentemente.

El diseo asncrono tambin puede reducir la energa consumida por un chip. En

la generacin actual de grandes y rpidos chips sncronos, los circuitos que envan las

seales de tiempo toman gran parte de la superficie del chip. Adems, cerca del 30 por

ciento de la energa elctrica usada por el chip debe usarse para el reloj y su sistema de

distribucin de la seal. Ms an, ya que el reloj est siempre corriendo, genera calor ya
sea que est haciendo algo til o no.

En los sistemas asncronos, las partes inactivas consumen una energa

inapreciable. Esta caracterstica es particularmente importante para equipos a bateras,

pero tambin puede reducir el costo para sistemas ms grandes al reducir la necesidad

de ventiladores y sistema de enfriamiento para prevenir sobrecalentamiento. Sistemas

con partes que actan solo ocasionalmente se benefician ms que aquellos que actan

continuamente. La mayora de las computadoras poseen componentes, como la unidad

aritmtica de punto-flotante, que permanecen inactivas por largos perodos de tiempo.

Adems de esto, los sistemas asncronos producen menos radiointerferencia que

los sncronos. Ya que los sistemas con reloj emiten una seal de radio fuerte en su

frecuencia de operacin y en las armnicas a esa frecuencia. Tales seales pueden

interferir con telfonos celulares, televisin y sistemas de navegacin de aviones que

operan en las mismas frecuencias. Los sistemas asncronos al no tener el reloj

esparcen su energa irradiada a travs del espectro, emitiendo menos en cualquier

frecuencia.

An otro beneficio del diseo asncrono es que puede servir de puente entre dos

sistemas sncronos que funcionan a distintas velocidades. Muchos clusters de

computadoras, por ejemplo, enlazan PCs rpidas con lentas, estos clusters pueden

enfrentar problemas complejos al dividir las tareas computacionales entre las PCs. Tal

sistema es inherentemente asncrono: diferentes partes marchan a diferentes ritmos.

Mover datos controlados por un reloj al control de otro reloj requiere de puentes

asncronos, ya que los datos pueden estar desincronizados con el reloj receptor.

Finalmente, aunque el diseo asncrono puede ser desafiante, puede ser tambin

maravillosamente flexible. Ya que los circuitos de un sistema asncrono no necesitan


compartir una seal de tiempo comn, los diseadores tienen ms libertad para elegir las

partes del sistema y determinar como interactan. Ms an, reemplazar cualquier parte

con una ms rpida mejorar la velocidad del sistema completo. En contraste, aumentar

la velocidad de un sistema sncrono usualmente requiere reemplazar todas las partes.

Cooperacin local

Una manera de describir como funciona un sistema asncrono es usando la

metfora de la cadena de agua para apagar un incendio. Un sistema con reloj es como

esta cadena en la cual cada persona debe pasar y recibir baldes de acuerdo al ritmo de

tick impuesto por el reloj. Cuando el reloj hace tick, cada persona pasa el balde que

posee a la siguiente en la cadena; cuando el reloj hace tock, cada persona toma el

balde que le pasa la que la precede. El ritmo de la cadena no puede ir ms rpido que el

tiempo que le toma a la persona ms lenta para mover el balde ms pesado. Incluso si la

mayora de los baldes son livianos, todos en la cadena deben esperar al siguiente tick
del reloj para pasar el siguiente balde.

Una cadena asncrona esta gobernada por la cooperacin local ms que por un

reloj comn. Cada persona que sostiene un balde puede pasarlo a la siguiente en la

cadena tan pronto como las manos de sta estn libres. Antes de cada accin, una

persona puede tener que esperar a que la otra est lista. Cuando la mayora de los baldes

son livianos, la cadena puede moverse rpidamente. Ms an, cuando no hay baldes

para pasar, todos pueden descansar. Una persona lenta an afectar el performance de

toda la cadena, pero reemplazarla har que el sistema vuelva a su mejor velocidad.

Este tipo de cadenas de agua en la computacin reciben el nombre de pipelines.

Un pipeline comn ejecuta las instrucciones del computador. Un pipeline de este tipo

tiene 6 o ms etapas, cada una de las cuales acta como una persona en una cadena de

agua. En vez de manejar baldes, sin embargo, cada etapa realiza una accin de la

ejecucin de la instruccin. Por ejemplo, un procesador ejecutando la instruccin

SUMAR A B C debe tomar la instruccin de la memoria, decodificarla, tomar los

nmeros de las direcciones A y B en memoria, realizar la suma y guardar el resultado en

la direccin de memoria C. Un pipeline dirigido con un reloj ejecuta estas acciones en

un ritmo independiente de las operaciones realizadas o del tamao de los nmeros.

Sumar uno ms uno puede tomar tanto tiempo como sumar dos nmeros de treinta

dgitos. En un pipeline asncrono, sin embargo, la duracin de cada accin puede

depender de la operacin realizada, el tamao de los nmeros y la ubicacin de los datos

en memoria (as como en una cadena de agua, la cantidad de agua en el balde puede

determinar cuanto toma pasarlo de una persona a otra).

Sin un reloj que gobierne sus acciones, un sistema asncrono debe basarse en la

coordinacin local de los circuitos. Estos circuitos intercambian seales de completitud


para asegurar que las acciones en cada etapa slo comienzan cuando los circuitos

poseen los datos que necesitan. Los dos circuitos de coordinacin ms importantes son

llamados el Rendezvous y el Arbiter.

Un elemento Rendezvous indica cuando la ltima de dos o ms seales ha

llegado a una etapa en particular. Los sistemas asncronos utilizan estos elementos para

esperar hasta que todas las acciones concurrentes terminan antes de empezar la siguiente

accin.

Una forma de circuito Rendezvous es llamado el elemento Muller-C. Un

elemento Muller-C es un circuito lgico con dos inputs y un output. Cuando ambos

inputs son VERDADERO, su salida tambin lo es. Cuando ambos son FALSO, su

salida es FALSO. De otra manera el output no se modifica. Para que el Muller-C acte

como un circuito Rendezvous, su inputs no deben volver a cambiar hasta que su output

responda. Una cadena de elementos Muller-C pueden controlar el flujo de datos a travs

de una cadena electrnica de agua.

Recientemente se ha introducido un nuevo tipo de circuito Rendezvous llamado

GasP. Se ha comprobado que los mdulos GasP son tan rpidos y ahorradores de

energa como los elementos Muller-C, caben mejor en los cerrojos de datos ordinarios y

ofrecen mucha ms versatilidad en diseos complejos.

El Asno de Buridan

Un circuito Arbiter realiza otra tarea esencial para las computadoras asncronas.

Un Arbiter es como un agente de trnsito en una interseccin quien decide cual

automvil puede en el momento. Dado slo un pedido, un Arbiter directamente permite

la accin correspondiente, retardando cualquier segundo pedido hasta que el primero se


complete. Cuando un Arbiter recibe dos pedidos a la vez, debe decidir a cual atender

primero. Por ejemplo, cuando dos procesadores piden acceso a una memoria compartida

aproximadamente al mismo tiempo, el Arbiter pone los pedidos en una secuencia,

dando acceso slo a un procesador a la vez. El Arbiter garantiza que nunca hayan dos

acciones en proceso a la vez, as como un agente de trnsito prevenie los accidentes al

asegurarse que nunca hayan dos automviles cruzando la interseccin al mismo tiempo.

Aunque el circuito Arbiter nunca accede a ms de un pedido a la vez, no existe

manera de construir un Arbiter que siempre llegue a una decisin dentro de un tiempo

limitado. Los Arbiters actuales toman decisiones rpidamente en promedio, usualmente

dentro de unos pocos cientos de picosegundos. (Un picosegundo es la trillonsima parte

de un segundo.) Cuando se enfrenta a decisiones seguidas, sin embargo, los circuitos

pueden ocasionalmente tardar el doble, y en casos muy raros el tiempo necesitado para

tomar una decisin pude ser diez veces superior a lo normal.

La dificultad fundamental para tomar estas decisiones est muy bien ilustrada

por la parbola del Asno de Buridan. Atribuida a Buridan, un filsofo francs del siglo

XIV, el parbola sugiere que un asno ubicado exactamente en el medio de dos pilas de

heno iguales podra morir de hambre porque no podra elegir de que pila comer.

Dilemas menores similares son comunes en la vida cotidiana. Por ejemplo, dos personas

que se aproximan a una puerta al mismo tiempo podran detenerse antes de decidir

quien pasar primero. Pueden pasar en cualquier orden, as como el asno puede comer

de cualquiera de las pilas. En ambos casos, todo lo que se necesita es una manera de

romper el empate.

Un Arbiter rompe empates. Como un circuito flip-flop, un Arbiter tiene dos

estados estables correspondientes a las dos elecciones. Uno puede pensar en estos
estados como el ocano Pacfico y el golfo de Mjico. Cada pedido al Arbiter lleva al

circuito a un estado estable u otro, as como una piedra que cae de la cima de una

montaa en la Rocallosas puede ir para el lado del ocano Pacfico o para el del golfo de

Mjico. Entre los dos estados estables, sin embargo, debe existir una lnea meta-estable,

que sera equivalente a la divisin continental. Si la piedra cae precisamente en la

divisin continental, puede balancearse momentneamente en el borde de la cima antes

de precipitarse para algn lado. Similarmente, si dos pedidos llegan a un Arbiter con

una diferencia de unos pocos picosegundos el uno del otro, el circuito puede parar en su

estado meta-estable antes de llegar a uno de sus estados estables para romper el empate.

Los diseadores novatos de Arbiter comnmente buscar evitar incluso el retraso

ocasional modelando circuitos complicados. Un error comn envuelve a un circuito que

nota el estado meta-estable y lleva al Arbiter hacia una decisin particular. Esto es como

entrenar a un asno de Buridan a ir a la pila de la izquierda cuando se enfrenta a una

decisin difcil. Tal entrenamiento, an as, apenas da al asno tres opciones en vez de

dos: la pila de la izquierda, la de la derecha, o notar que es una decisin difcil e ir a la

de la izquierda. Incluso un asno entrenado morir de hambre cuando no pueda decidir

entre las dos ltimas opciones. Aunque no hay manera de deshacerse de los estados

meta-estables, los circuitos Arbiter bien diseados pueden asegurar que virtualmente

todos los retrasos son muy breves. Un Arbiter contemporneo tpico tiene un retardo

normal de cien picosegundos y experimenta un retardo de 400 picosegundos menos de

una vez por cada diez horas de funcionamiento. La probabilidad de retardos decrece

exponencialmente con la longitud del retardo: una pausa de 800 picosegundos ocurre

menos de una vez por cada mil millones de aos de funcionamiento.


La necesidad por ser veloz

En las investigaciones se ha observado que la velocidad normalmente viene con

la simplicidad. Una de las investigaciones tena la meta inicial de construir un pipeline

de contraflujo con dos flujos de datos opuestos como dos cadenas de agua paralelas

que se mueven en direcciones opuestas. Se buscaba que los datos de ambos flujos

interacten en cada uno de las etapas; el gran desafo era asegurar que cada dato lmite

norte interacte con cada dato lmite sur. El arbitraje resulto ser esencial. En cada

unin entre etapas sucesivas, un circuito Arbiter permita que slo un dato a la vez pase.

Esta idea prob ser muy til como un objetivo de investigacin; se concluyeron grandes

cuestiones acerca de la coordinacin y el arbitraje y la construccin de chips de prueba

para demostrar la confiabilidad de los circuitos Arbiter.

Ms recientemente, se ha encontrado un nuevo objetivo de investigacin, una

estructura de procesamiento llamada FLOTA. El nombre no slo se refiere a la

velocidad sino tambin a la coleccin de elementos de cmputo, cada uno de los cuales

son llamados barcos. Cada barco realiza su tarea concurrentemente con los otros; la

sistema Flota controla sus acciones al mover datos entre ellos a travs de una red

asncrona. El trabajo sobre Flota ha llevado a varios descubrimientos. Buscando

velocidad se lleg a la creacin de los circuitos bsicos para GasP. Se quizo encauzar

datos de un pipeline a otro, como automviles en las interconecciones de autopistas, y

esto llev al diseo de una familia de circuitos GasP ms grandes que podan actuar

como un intrincado sistema de autopistas. Estos circuitos pueden mover datos casi dos

veces ms rpido que un sistema sncrono. Para medir la velocidad de las redes, se

construyen aros en los chips de prueba alrededor de los cuales los datos corren como

autos de carreras. Se mide el tiempo que le toma a un dato completar el round-trip, lo


cual es mucho ms fcil que medir el tiempo mucho ms corto que le toma al dato pasar

por una etapa.

Los diseos estn empezando a introducirse en los productos de computacin de

Sun. El chip procesador UltraSPARC IIIi contiene colas de datos asncronas que

aceptan informacin de chips de memoria. Este sistema asncrono es la manera ms

simple y rpida de compensar por las diferencias en el tiempo de arribo de las seales

desde los chips de memoria que se ubican a distintas distancias del procesador. Los

diseadores de productos de Sun estn ganando confianza en que ellos pueden construir

partes asncronas, que stas funcionan y pueden ser testeadas, y que la asincrona ofrece

importantes ventajas sobre el diseo sncrono. As como su confianza crece, ms y ms

productos comerciales usarn partes asncronas para mayor velocidad y flexibilidad,

mayor eficiencia en la energa y reduccin de interferencias.

Sun no es en ningn caso la nica compaa que est investigando circuitos

asncronos. Un grupo de investigacin de Philips en Holanda ha desarrollado un

corrector de errores asncrono para un reproductor de casetes digitales y una versin

asncrona de un popular microcontrolador de dispositivos porttiles. El

microcontrolador asncrono ha sido incorporado a buscapersonas vendidos por Philips.

El suceso del grupo de investigacin de Philips proviene de tres factores. Primero, el

equipo aprendi como crear productos rpidamente usando un lenguaje de

programacin llamado Tangram que simplifica el diseo del hardware. Segundo, el bajo

consumo de energa de sus circuitos asncronos permite a un buscapersonas operar ms

tiempo con una batera. Tercero, la interferencia reducida de sus circuitos asncronos

permite la inclusin tanto de una computadora como un de un receptor de radio en un

diminuto dispositivo.
As tambin, los experimentos en Manchester, Caltech y Philips demuestran que

los microprocesadores asncronos pueden ser compatibles con sus contrapartes

sincronos. Los procesadores asncronos pueden conectarse a dispositivos perifricos sin

programas especiales o circuitos de interfaz.

Un tiempo desafiante

Aunque la libertad en la arquitectura de los sistemas asncronos es un gran

beneficio, tambin supone un difcil desafo. Debido a que cada parte impone su propio

ritmo, ese ritmo puede variar de momento a momento en cualquier sistema y puede

variar de un sistema a otro. Si varias acciones son concurrentes, stas pueden terminar

en un gran nmero de secuencias posibles. Enumerar todas las posibles secuencias en

un complejo chip asncrono es tan difcil como predecir la secuencia de acciones en el

patio lleno de nios en una escuela. Este dilema es llamado el problema del estado de

explosin. Pueden los diseadores de chips crear un orden del caos potencial de las

acciones concurrentes?

Afortunadamente, los investigadores estn desarrollando teoras para enfrentar

este problema. Los diseadores no deben preocuparse sobre todas las posibles

secuencias de acciones si pueden poner ciertas limitaciones en el comportamiento de la

comunicacin de cada circuito. Continuando con la metfora del patio de la escuela, un

profesor puede promover juegos seguros al ensear a cada nio como evitar el peligro.

Otra dificultad que se enfrenta es la falta de herramientas de diseo robustas,

mtodos aceptados de testeo y una educacin extendida en el diseo asncrono.


Conclusin

Una creciente comunidad de investigadores estn realizando grandes progresos,

pero la inversin actual total en computacin asncrona es muy pequea en comparacin

con la inversin en el diseo sncrono. An as, existe confianza en que los rpidos

avances en la velocidad y la complejidad de los circuitos integrados forzar a los

diseadores a aprender tcnicas asncronas. No se sabe an si los sistemas asncronos se

desarrollarn primero dentro de las grandes compaas de computacin y electrnica o

dentro de nuevas compaas vidas por desarrollar nuevas ideas. La tendencia

tecnolgica, sin embargo, es inevitable: en las prximas dcadas, el diseo asncrono se

volver prevaleciente. Eventualmente ya no ser ms tan fcil responder a la pregunta,

Qu tan rpida es tu PC?

Bibligrafa

- Asynchronous Microchips: Fast Computing without a clock. Revista

Scientific American Agosto 2002, pgs. 46 y sgtes.

- Asynchronous Circuits and Systems. Proceedings of the IEEE Febrero 1999.

- Micropipelines. Ivan Sutherland, Communications of the ACM, pgs. 720-738,

Junio 1989.
Anexos

Cmo funciona un circuito Rendezvous?

[1] Asumamos que el input izquierdo es inicialmente VERDADERO y el derecho es

FALSO. (Seal VERDADERO se muestra en azul, FALSO en rojo).


[2] Se produce un cambio en la seal en el input izquierdo de VERDADERO a FALSO

indicando que el canal de la izquierda est lleno, esto es, ha llegado un dato. Ya que los

inputs son iguales para el Muller-C, su output cambia a FALSO.

[3] Este cambio en la seal produce tres eventos: mueve datos en el pipeline al abrir

brevemente el cerrojo de datos (data latch); enva una seal FALSO de regreso al

Muller-C precedente para vaciar el canal izquierdo; y enva una seal FALSO al

siguiente Muller-C para llenar el canal derecho.

Cmo funciona un mdulo GasP?


[1] Al principio, todas las seales en los canales son VERDADERO (azul), lo que

indica que stos estn vacos.

[2] La llegada de datos al pipeline cambia la seal del canal de llegada a FALSO (rojo).

Un inversor pasa la seal a VERDADERO y lo enva a la puerta NAND, la cual cambia

su output a FALSO. Esto abre el cerrojo permitiendo que los datos se mueven en el

pipeline. El output FALSO adems hace que el canal de llegada pase de nuevo a

VERDADERO (vaco) a travs de un transistor pull-up y que el canal de envo pase a

FALSO (lleno) a travs de un inversor y un transistor pull-down.

[3] El output de la puerta NAND retorna a VERDADERO, haciendo que el cerrojo se

cierre de nuevo. Mientras, la seal de FALSO en el canal de envo dispara el mismo

proceso en el siguiente mdulo GasP.


FACULTAD DE CIENCIAS Y TECNOLOGA

UNIVERSIDAD CATLICA
Nuestra Seora de la Asuncin

INGENIERA INFORMTICA
CTEDRA DE
TEORA Y APLICACIN DE LA INFORMTICA 2

TRABAJO PRCTICO

PROCESADORES ASNCRONOS

ALUMNOS:
CARLOS ROBLEDO
ANBAL GAMARRA

ASUNCIN PARAGUAY
AO 2003