next up previous
Next: Implementaci'on del cerrojo SR Up: Práctica 2. Simulación de Previous: Simulaci'on del cerrojo SR

>Por qu'e hacen falta los objetos?

Seg'un el ejemplo anterior, parece no existir ning'un problema en simular cualquier circuito digital por complicado que sea, pero 'esto no es as'i. La descripci'on de circuitos complejos pasa inevitablemente por la descripci'on de los circuitos de la forma m'as jer'arquica posible. Si no se realizara una descripci'on jerarquizada, no ser'ia posible describir por ejemplo, un contador formado por flip-flops, los flip-flops formados por cerrojos, y los cerrojos formados por puertas l'ogicas. Sin una jerarqu'ia de clases, habr'ia de implementar cualquier circuito declarando todas las l'ineas f'isicas que son usadas para interconectar cualquiera de las puertas que lo forman, en la funci'on main() lo que dificultar'ia enormemente la implementaci'on de los circuitos.

El uso de variables locales est'aticas en las funciones no resuelve el problema, porque una misma funci'on (por ejemplo, la funci'on NAND()) puede ser usada por muchos procesos (muchas puertas l'ogicas diferentes), y s'olo existe una variable est'atica para todos ellos, que inevitablemente tiene valores distintos en funci'on del proceso.

Una alternativa es usar macros (#define's), pero las macros son complicadas y muy dif'iciles de depurar. Adem'as, el compilador de C no es capaz de manipular macros de m'as de 64K bytes de longitud y en algunos casos es posible sobrepasar este l'imite cuando simulamos circuitos secuenciales muy grandes.

La soluci'on de todos estos problemas pasa por usar objetos. Cuando una clase se declara, se pueden declarar con ella funciones y estructuras de datos que son locales a cada objeto. De esta forma, una clase que implemente un contador y que necesite sus variables (l'ineas f'isicas) locales, servir'a para instanciar m'ultiples objetos que pueden simularse sin interferencias. Usando clases, la descripci'on jer'arquica de los circuitos digitales es mucho m'as natural.


next up previous
Next: Implementaci'on del cerrojo SR Up: Práctica 2. Simulación de Previous: Simulaci'on del cerrojo SR
Vicente González Ruiz 2001-10-03