Patent ES-2527937-T3 (ES)
Title: Procesador programable y método con operaciones amplias
Inventor: HANSEN CRAIG
IPC: G06F12/00
Filed: 2004-07-12
Granted: 2015-02-02
Abstract: Un procesador, que comprende: un primer camino de datos (137, 714 y 715) que tiene una primera anchura de bits; un segundo camino de datos (entre 136 y 149; 714 y 720n) que tiene una segunda anchura de bits mayor que la primera anchura de bits; una serie de terceros caminos de datos (155 a 158; 720A y 740) que tienen una anchura de bits combinada menor que la segunda anchura de bits; un primer almacenamiento de operando amplio (136, 714) acoplado al primer camino de datos y al segundo camino de datos para almacenar un primer operando amplio recibido sobre el primer camino de datos, teniendo el primer operando amplio un tamaño con un número de bits mayor que la primera anchura de bits; un segundo almacenamiento de operando amplio (134, 714) acoplado al primer camino de datos y al segundo camino de datos para almacenar un segundo operando amplio recibido sobre el primer camino de datos, teniendo el segundo operando amplio un tamaño con un número de bits mayor que la primera anchura de bits; un archivo de registros (720A a 720n) que incluye registros que tienen la primera anchura de bits, estando conectado el archivo de registros al primer camino de datos y a los terceros caminos de datos, e incluyendo almacenamiento (710) para un primer especificador de operando amplio que especifica una dirección de primer operando amplio y un segundo especificador de operando amplio que especifica una dirección del segundo operando amplio; una unidad funcional (149, 740) que puede iniciar instrucciones, la unidad funcional estando acoplada mediante el segundo camino de datos al primer almacenamiento de operando amplio y estando acoplada mediante los terceros caminos de datos al archivo de registros; y en el que la unidad funcional está dispuesta para ejecutar una instrucción de rebanada de transformada de Fourier amplia que contiene campos de instrucción que especifican (i) un primer registro de operando amplio (710) para provocar la recuperación del primer operando amplio para su almacenamiento en el primer almacenamiento de operando amplio, (ii) un segundo registro de operando amplio (710) para provocar la recuperación del segundo operando amplio para su almacenamiento en el segundo almacenamiento de operando amplio, (iii) por lo menos un registro de operando de control en forma de un registro general en el archivo de registros que almacena un operando de control y especifica parámetros de control de precisión y de extracción, y (iv) un registro de resultados (745) en el archivo de registros, y en el que la instrucción de rebanada de transformada de Fourier amplia está configurada para provocar que la unidad funcional (i) tome el primer operando amplio del primer almacenamiento de operando amplio, (ii) tome el segundo operando amplio del segundo almacenamiento de operando amplio, (iii) lleve a cabo multiplicaciones complejas paralelas de subconjuntos de elementos de datos del primer operando amplio, por subconjuntos de elementos de datos del segundo operando amplio para producir primeros resultados, (iv) lleve a cabo operaciones de mariposa paralelas y operaciones de extracción paralelas sobre subconjuntos de los primeros resultados para proporcionar de ese modo segundos resultados; en el que el resultado escalar de la instrucción de rebanada de transformada de Fourier amplia contiene información a partir de la cual se puede determinar la posición del bit más significativo de los segundos resultados; en el que la posición del bit más significativo del segundo resultado es: calculada mediante una serie de operaciones booleanas sobre subconjuntos paralelos de los segundos resultados, produciendo resultados booleanos vectoriales, y reduciendo además los resultados booleanos vectoriales a un valor booleano escalar, seguido por una determinación de la posición del bit más significativo del valor booleano escalar; y colocado en el registro general para proporcionar un parámetro de escala para su utilización en la fase subsiguiente de la instrucción de rebanada de transformada de Fourier amplia.