viernes, 14 de diciembre de 2007

Unidad de control

Como complemento al diseños mostrado. La parte interna de la unidad de control. CM permite hacer macros de circuitos. por lo tanto, la unidad de control tiene los componentes de la fig.

Es la parte del circuito que recibe de la unidad de procesamiento señales sobre el estado de las operaciones y genera la secuencia de señales de control que gobiernan a la unidad de procesamiento.

Como comente en el post anterior contiene una memoria programable que almacena una tabla de valores de estados actuales (entrada) y estados futuros (salidas). Tabla que fue generada con un programa escrito en C:

#include
#include

int main(void){
char ep,i,z,q0,ef,c0,c1,c2,c3,dir,nb;

int max;
nb=5;
max=(1<

FILE *archivo;

archivo = fopen("uc.dat", "wb");
if(archivo==NULL)
{
printf("error\n");
exit(1);
}

ef=0;
c0=0;
c1=0;
c2=0;
c3=0;

for(dir=0;dir<=max;dir++){
ep=(dir>>3)&3;
i=(dir>>2)&1;
z=(dir>>1)&1;
q0=dir&1;

switch(ep){
case 0: if(i==1){
c0=c3=1;
ef=1;
}else
c0=1;
break;
case 1: if(q0==0){
c3=c2=c1=c0=0;
}else
c1=1;
ef=2;
break;
case 2: c3=c2=1;
c1=0;
if(z==0){
ef=1;
}else
ef=0;
break;
}
printf("%d%d%d%d %d%d%d%d%d\n",ep,i,z,q0,ef,c0,c1,c2,c3);

fputc(ef,archivo);
fputc(c0,archivo);
fputc(c1,archivo);
fputc(c2,archivo);
fputc(c3,archivo);

}
fclose(archivo);
return 0;
}

Por favor comenten para asi poder mejorar los post cada dia. ;-)

Toda la información publicada esta bajo términos y condiciones de licencia de documentación libre GNU

No hay comentarios: