Memoria multipuerto
Clasificado en Informática
Escrito el en español con un tamaño de 7,64 KB
Capitulo 5. 3. Estructuras de la memoria.4. Formas de reducir los accesos a memoria.5. Estados de espera. 7. Interfaces xternos de memoria.8. Adaptaciones.9. Arquitectura de la memoria del C3X
5.3. Estructuras de la memoria.Esta estructura no se utiliza en procesadores DSP y se denominam“arquitectura de Von Neumann”.Con esta estructura se puede acceder a un dato por ciclo. Por lo tanto para el filtro FIR necesitaríamos 4 ciclos para completar una operación. Arquitectura Harvard.Es una estructura de la memoria donde el procesador se conecta con la memoria a través de dos buses independientes.Generalmente un banco de memoria se utiliza para almacenar codigosde instrucción y el otro para almacenar datos.Arquitectura Harvard modificada. Cuando el procesador tiene mas de dos buses de acceso Como ya hemos visto con las arquitecturas Harvard se consiguen múltiples accesos por ciclo utilizando múltiples buses independientes.Hay otros caminos para conseguir múltiples accesos a memoria: Memorias rápidas:soportan múltiples accesos secuenciales por ciclo de reloj sobre un bus simple. Por ejemplo las memorias las que dan un acceso por cada semiciclo.Un procesador Harvard con memorias rápidas de ½ ciclo podría realizar 4 accesos por ciclo de reloj. La limitación esta en la ordenación de los datos en la memoria. Si no se cumple esta restricción, el rendimiento no sera optimo.El AT&T DSP32xx tiene una arquitectura Von Neumann conmemorias de acceso múltiple (4 accesos secuenciales en un ciclo). memorias multipuerto: Una memoria multipuerto (puerto dual) tiene múltiples conexiones de direcciones y datos, pudiendo realizar múltiples accesos independientes en paralelo.Estas memorias no tienen la restricción del ordenamiento de los datos pero por el contrario son mas caras que las anteriores.El empleo de memorias rápidas y multipuerto interna en el chip, obliga a realizar transferencias continuas entre memoria externa (mayor capacidad) y memoria interna (mayor rendimiento).
4 Formas de reducir los accesos a memoria. Cache de programa:Es una reducida memoria dentro del chip que se utiliza para almacenar una porción de programa y de esta forma eliminar la necesidad de la lectura del código de instrucción.Este acceso se podrá utilizar para leer datos y/o aumentar el rendimiento con arquitecturas simples.Las caches de los DSP son mas simples que las de los micro de propósito general. Las caches mas simples son los “buffer de repetición” son caches de una palabra de instrucción que se habilitan con las instruciones de repetición.Una generalización del buffer de repetición de múltiples instrucciones es la “cache de instrucciones de un sector”.Esta cache es capaz de almacenar un nº determinado de las ultims ins La limitación mas importante es que solamente actúa en regiones contiguas de memoria.Cuando se produce una bifurcación interr y llamadas subrutina) las instrucciones no se encuentran en la cache y es necesario acceder a la memoria.La diferencia con el buffer de rpeticion es que la cache actúa de forma automática e inteligente, almacenando las instrucciones que es probable que se ejecuten posteriormente.La cache puede actuar sobre cualquier instrucción incluso saltos bifurcaciones.Este tipo de caches son útiles cuando se ejecuta de forma repetitiva un grupo de instrucciones, exactamente lo que sucede en el DSP.Una estructura mas flexible es la “cache de múltiples sectores” en este caso es posible almacenar varias zonas de memoria.
El TMS320C3X tiene una cache de dos sectores de 32 palabras cada uno. Por lo tanto puede almacenar el programa principal y una subrutina o servicio de interrupción. Texas I. Utiliza el algoritmo LRU (Least Recently Used) para determinar que sector debe anularse cuando una instrucción no pertenece a ningún sector.Algunos DSP tienen instrucciones especiales o bits de control que permiten al usuario controlar la cache de forma limitada. De esta forma controlan que el código critico se ejecute con el máximo rendimiento. Direccionamiento por modulo:Es una técnica utilizada en los DSP para implementar las lineas de retardo vistas en el ejemplo del filtro FIR. Esta técnica consiste en mover punteros dentro de la tabla de adquisición de datos en vez de los propios datos. Algoritmos de aproximación:Es una técnica software que trata de aprovechar la localización de los datos para reducir los accesos.Un programa hábil puede reutilizar los datos previamente cargados en registros de la Unidad Aritmética Principal y por lo tanto reducir el nº de accesos
5 Estados de espera.es cuando el procesador no puede ejecutar el programa porque esta esperando un acceso a memoria. Los estados de espera se pueden producir por tres razones:• Utilización de memoria lenta.•Conflictos ente dispositivos.•Buses compartidos. Todos los procesadores tienen conflictos e insertan de forma automática el nº mínimo de estados de espera para solucionar el conflicto. Los procesadores insertan estados de espera cuando acceden a memoria externa lenta (mas barata).Algunas veces la generación de estados de espera no se puede predecir,
7 Interfaces externos con la memoria.Las diferencias de los interfaces externos con la memoria de los DSP y los procesadores de propósito general son:• Nº de puertos.• flexibilidad en el interface.• Características temporales.La mayoría de los DSP tienen un bus externo con la memoria externa,El TMS320C30 tienen dos interfaces externos uno de 24 x 32 y otro de13 x 32.Aunque dos procesadores tengan el mismo tiempo de ciclo, pueden no tener la misma temporizacion de las señales del bus extern Cache manual.Para mejorar el rendimiento general de una aplicación es interesante copiar zonas de memoria externa (mucho mas barata y de mayor capacidad) en memoria interna (mas rápida con menos conflictos y de menor capacidad).Soporte para sistemas multiprocesador.En un sistema multiprocesador tiene que existir un mecanismo que permita negociar el control del bus común esto se denomina “arbitraje del bus”.El TMS320C5X tiene también dos señales (*HOLD y *HOLDA) para petición y reconocimiento de bus. Ademas tiene la señal *BR y*IAQ que le permite acceder a la memoria interna de otro procesador conectado al sistema.Otra característica que simplifica el uso de variables compartidas es el“bus bloqueado” que permite a un procesador consultar y modificar una variable sin ser interrumpido por otro procesador. Esta característica también se denomina “test-and-set”.El TMS320C3x tiene instrucciones de “operaciones interbloqueo”
5.3. Estructuras de la memoria.Esta estructura no se utiliza en procesadores DSP y se denominam“arquitectura de Von Neumann”.Con esta estructura se puede acceder a un dato por ciclo. Por lo tanto para el filtro FIR necesitaríamos 4 ciclos para completar una operación. Arquitectura Harvard.Es una estructura de la memoria donde el procesador se conecta con la memoria a través de dos buses independientes.Generalmente un banco de memoria se utiliza para almacenar codigosde instrucción y el otro para almacenar datos.Arquitectura Harvard modificada. Cuando el procesador tiene mas de dos buses de acceso Como ya hemos visto con las arquitecturas Harvard se consiguen múltiples accesos por ciclo utilizando múltiples buses independientes.Hay otros caminos para conseguir múltiples accesos a memoria: Memorias rápidas:soportan múltiples accesos secuenciales por ciclo de reloj sobre un bus simple. Por ejemplo las memorias las que dan un acceso por cada semiciclo.Un procesador Harvard con memorias rápidas de ½ ciclo podría realizar 4 accesos por ciclo de reloj. La limitación esta en la ordenación de los datos en la memoria. Si no se cumple esta restricción, el rendimiento no sera optimo.El AT&T DSP32xx tiene una arquitectura Von Neumann conmemorias de acceso múltiple (4 accesos secuenciales en un ciclo). memorias multipuerto: Una memoria multipuerto (puerto dual) tiene múltiples conexiones de direcciones y datos, pudiendo realizar múltiples accesos independientes en paralelo.Estas memorias no tienen la restricción del ordenamiento de los datos pero por el contrario son mas caras que las anteriores.El empleo de memorias rápidas y multipuerto interna en el chip, obliga a realizar transferencias continuas entre memoria externa (mayor capacidad) y memoria interna (mayor rendimiento).
4 Formas de reducir los accesos a memoria. Cache de programa:Es una reducida memoria dentro del chip que se utiliza para almacenar una porción de programa y de esta forma eliminar la necesidad de la lectura del código de instrucción.Este acceso se podrá utilizar para leer datos y/o aumentar el rendimiento con arquitecturas simples.Las caches de los DSP son mas simples que las de los micro de propósito general. Las caches mas simples son los “buffer de repetición” son caches de una palabra de instrucción que se habilitan con las instruciones de repetición.Una generalización del buffer de repetición de múltiples instrucciones es la “cache de instrucciones de un sector”.Esta cache es capaz de almacenar un nº determinado de las ultims ins La limitación mas importante es que solamente actúa en regiones contiguas de memoria.Cuando se produce una bifurcación interr y llamadas subrutina) las instrucciones no se encuentran en la cache y es necesario acceder a la memoria.La diferencia con el buffer de rpeticion es que la cache actúa de forma automática e inteligente, almacenando las instrucciones que es probable que se ejecuten posteriormente.La cache puede actuar sobre cualquier instrucción incluso saltos bifurcaciones.Este tipo de caches son útiles cuando se ejecuta de forma repetitiva un grupo de instrucciones, exactamente lo que sucede en el DSP.Una estructura mas flexible es la “cache de múltiples sectores” en este caso es posible almacenar varias zonas de memoria.
El TMS320C3X tiene una cache de dos sectores de 32 palabras cada uno. Por lo tanto puede almacenar el programa principal y una subrutina o servicio de interrupción. Texas I. Utiliza el algoritmo LRU (Least Recently Used) para determinar que sector debe anularse cuando una instrucción no pertenece a ningún sector.Algunos DSP tienen instrucciones especiales o bits de control que permiten al usuario controlar la cache de forma limitada. De esta forma controlan que el código critico se ejecute con el máximo rendimiento. Direccionamiento por modulo:Es una técnica utilizada en los DSP para implementar las lineas de retardo vistas en el ejemplo del filtro FIR. Esta técnica consiste en mover punteros dentro de la tabla de adquisición de datos en vez de los propios datos. Algoritmos de aproximación:Es una técnica software que trata de aprovechar la localización de los datos para reducir los accesos.Un programa hábil puede reutilizar los datos previamente cargados en registros de la Unidad Aritmética Principal y por lo tanto reducir el nº de accesos
5 Estados de espera.es cuando el procesador no puede ejecutar el programa porque esta esperando un acceso a memoria. Los estados de espera se pueden producir por tres razones:• Utilización de memoria lenta.•Conflictos ente dispositivos.•Buses compartidos. Todos los procesadores tienen conflictos e insertan de forma automática el nº mínimo de estados de espera para solucionar el conflicto. Los procesadores insertan estados de espera cuando acceden a memoria externa lenta (mas barata).Algunas veces la generación de estados de espera no se puede predecir,
7 Interfaces externos con la memoria.Las diferencias de los interfaces externos con la memoria de los DSP y los procesadores de propósito general son:• Nº de puertos.• flexibilidad en el interface.• Características temporales.La mayoría de los DSP tienen un bus externo con la memoria externa,El TMS320C30 tienen dos interfaces externos uno de 24 x 32 y otro de13 x 32.Aunque dos procesadores tengan el mismo tiempo de ciclo, pueden no tener la misma temporizacion de las señales del bus extern Cache manual.Para mejorar el rendimiento general de una aplicación es interesante copiar zonas de memoria externa (mucho mas barata y de mayor capacidad) en memoria interna (mas rápida con menos conflictos y de menor capacidad).Soporte para sistemas multiprocesador.En un sistema multiprocesador tiene que existir un mecanismo que permita negociar el control del bus común esto se denomina “arbitraje del bus”.El TMS320C5X tiene también dos señales (*HOLD y *HOLDA) para petición y reconocimiento de bus. Ademas tiene la señal *BR y*IAQ que le permite acceder a la memoria interna de otro procesador conectado al sistema.Otra característica que simplifica el uso de variables compartidas es el“bus bloqueado” que permite a un procesador consultar y modificar una variable sin ser interrumpido por otro procesador. Esta característica también se denomina “test-and-set”.El TMS320C3x tiene instrucciones de “operaciones interbloqueo”