6.1.         Peculiaridades en el acceso a periféricos externos.

 

Como comentarios, cabe señalar:

 

1.      Después de completar los accesos a través de los buses externos, el bus en cuestión se pone en estado inactivo (, ,  a valor lógico alto). Además, y como anécdota, cabe señalar que la transición o paso de un acceso en lectura o escritura a través del bus de expansión con  activo al bus de expansión con  activo genera, por la necesidad de sincronizar las señales de control del bus (,  e ), estados de espera adicionales..

 

2.      Desconexión temporal del DSP de los buses externos conectados al bus principal del microprocesador. El microprocesador ofrece la posibilidad de ceder el control de los buses asociados al bus principal a un dispositivo externo. La forma de ceder los buses es mediante un protocolo acuse de recibo asociado a las líneas  y  (de entrada y salida, respectivamente, del DSP). Esto permitiría a otro dispositivo diferente del DSP gobernar los buses asociados al bus principal (el DSP dejaría de ser, temporalmente, el maestro del sistema microprocesador). Por defecto, es el DSP el que gobierna el bus principal. Si el usuario lo permite (bandera NOHOLD=0 en el registro de control del bus principal) el DSP, cuando reciba una petición de ceder el bus principal () se desconecta del bus principal (pone todos los buses asociados al bus principal en triestado) y, cuando ya se ha desconectado totalmente, avisa al dispositivo externo de que puede gobernar el bus principal (). A partir de ese momento el DSP no puede realizar accesos al exterior por el bus principal hasta que no deje de ser maestro el periférico que hizo la petición de HOLD y el DSP no detecte . Esta característica está muy relacionada con periféricos de tipo DMA (Direct Memory Access) y se comprenderá mejor cuando se estudie el periférico DMA interno del DSP (Tema 17).

 

3.      Finalmente, asociados también al bus principal, aparecen los bancos de conmutación programables. Permiten conmutar entre dos dispositivos externos de memoria sin necesidad de insertar estados de espera adicionales desde el exterior.

 

Esta característica se asocia con los tiempos de acceso a periféricos externos tan bajos que permite el DSP. Los periféricos de almacenamiento de datos y programas que necesita el DSP para alcanzar toda su potencia de operación deben tener tiempos de acceso muy pequeños. Esto encarece el coste de dichos integrados en el sistema digital. Los dispositivos de memoria externa pueden haberse seleccionado muy al límite en sus tiempos de acceso, respecto de los que precisa el DSP, de manera que dos accesos consecutivos al mismo periférico se realicen correctamente, dentro del tiempo de acceso al periférico. Podría, sin embargo, necesitarse (al hacer un acceso a un periférico seguido de un acceso a otro periférico diferente del anterior y para garantizar la desconexión del primero antes de la conexión del segundo) la inserción de ciclos extra de acceso al exterior. Se evitan, de esta forma, posibles conflictos en el acceso al bus. Es en este caso donde resulta interesante el empleo de los bancos de conmutación programables. El tamaño de dichos bancos se programa en los bits BNKCMP del registro de control del bus principal. Un banco de conmutación programable se define por el número de MSBs de la dirección que van a ser examinados:

 

ü      Si BNKCMP=16, los 16 MSBs de la dirección se usan para definir los bancos de conmutación programables mientras que el resto, los 8 LSBs de la dirección, determinan el tamaño de cada banco. En este caso, cada banco es de 28 =256 words de 32 bits. Si fuese BNKCMP>16, BNKCMP=16 (no se permiten bancos de conmutación programables de un tamaño inferior a 256 words).

 

ü      Si BNKCMP=N<16, los N MSBs de la dirección se usan para definir los bancos de conmutación programables mientras que el resto (los 24-N LSBs de la dirección) determinan el tamaño de cada banco (en este caso cada banco es de 224-N words de 32 bits).

 

El tamaño de los bancos varía, por tanto, de 28 a 224 (caso extremo con BNKCMP=0 y un único banco).

 

 

Figura 2.36. Bits de la dirección que definen los bancos de conmutación programables.

 

           El DSP dispone de un registro interno que contiene los MSBs, definidos por BNKCMP, de la dirección externa que se accedió por última vez. Si valor de este registro no coincide con los MSBs de la nueva dirección a acceder se inserta, si se está efectuando una operación de acceso externo en lectura que sigue a otra que se acaba de realizar, un ciclo extra en el acceso (si el acceso fuese en escritura no se insertaría ningún estado de espera). En ambos casos, acceso en lectura o escritura, y durante ese ciclo máquina se cambia el registro interno del DSP que contiene los MSBs de la dirección accedida (se copian en él los MSBs de la última dirección externa que fue accedida). En el acceso en lectura a un banco de conmutación programable distinto del anterior la dirección cambia cuando le corresponde (estados de espera programados) pero la señal de control  no permanece activa sino que, durante un ciclo máquina, es desactivada (similar a una lectura que sigue a una escritura). Obsérvese que el registro interno que contiene los MSBs del DSP cambia en cada acceso en lectura o escritura, asociado al bus principal, a la memoria externa. Sin embargo, mientras que en los accesos en lectura, los más rápidos, se inserta un estado de espera adicional al conmutar de banco, en un acceso en escritura, más lento que el de lectura, no se inserta el ciclo extra al producirse la conmutación del banco. En la figura 2.38 se muestra el efecto que produce el cambio de bancos de conmutación programables en dos accesos consecutivos en lectura a través del bus principal.

 

Figura 2.37. Modo de operación con bancos de conmutación programables: Acceso en lectura con cambio de banco.

 

 

e-REdING. Biblioteca de la Escuela Superior de Ingenieros de Sevilla.


IMPLANTACIÓN DE UNA RED ASÃNCRONA DE ENSEÑANZA DEDICADA A LA IMPARTICIÓN DE LA ASIGNATURA COPLEMENTOS DE SISTEMAS ELECTRÓNICOS DIGITALES DE 3º CURSO DE INGENIERÃA DE TELECOMUNICACIÓN.

: Oliveros Garrido, Antonio
: Ingeniería Telecomunicación
Contenido del proyecto: