next up previous
Next: C'omo puede realizarse la Up: Práctica 2. Simulación de Previous: El cerrojo SR

C'omo puede programarse usando un lenguaje de programaci'on paralelo

Los lenguajes paralelos permiten la ejecuci'on de m'ultiples tareas en concurrencia (o pseudo-concurrencia si s'olo un procesador est'a disponible). Los circuitos digitales son intr'insecamente paralelos, ya que todas las puertas l'ogicas que los forman trabajan en paralelo. Por esta raz'on, la mayor'ia de los lenguajes ideados para la descripci'on y simulaci'on de circuitos digitales son paralelos.

A nivel de puertas l'ogicas (que va a ser siempre nuestro nivel de partida m'as b'asico: no vamos a simular nada m'as simple o peque no, como pudieran ser los transistores, resistencias, etc, que se utilizan para construir las puertas l'ogicas), un lenguaje paralelo tal como Verilog o VHDL, describir'ian el cerrojo SR como dos procesos de una clase llamada ``NAND''. Los dos procesos se llamar'ian con los argumentos necesarios para que el cerrojo SR sea correctamente descrito. Para conocer el valor de alguna de las l'ineas f'isicas de entrada o salida presentes en el cerrojo SR, bastar'ia con presentar el contenido de dichos argumentos.

La principal ventaja de los lenguajes paralelos en el caso de la simulaci'on de los circuitos digitales radica en que la descripci'on es natural. No hay orden de llamada a los procesos que simulan las puertas. Todas se simulan simult'aneamente. Esta ventaja es algo m'as dif'icil de conseguir usando un lenguaje de programaci'on secuencial como puede ser el C o el C++.

Por otra parte, la principal desventaja de los lenguajes paralelos es que cargan a la CPU con la gesti'on de los procesos concurrentes. Si estamos hablando de la simulaci'on de circuitos digitales que contienen decenas de miles de puertas (a veces incluso m'as), la mayor'ia de los lenguajes paralelos que existen son incapaces de soportar tal cantidad de procesos concurrentes, y si lo hacen, las simulaciones son muy lentas en comparaci'on a como las realizar'ia un programa secuencial.


next up previous
Next: C'omo puede realizarse la Up: Práctica 2. Simulación de Previous: El cerrojo SR
Vicente González Ruiz 2001-10-03