Calculadora de vectores
Descripción general
 Encuentra de manera eficiente los elementos que satisfacen la condición del registro vectorial. ] Los elementos se leen de forma secuencial desde los dos registros de vectores especificados por la instrucción de comparación de vectores y la entrada al comparador. Cuando el resultado de la comparación satisface la condición establecida en el registro de condición, el comparador emite una señal de establecimiento condicional. El registro numérico del elemento contiene el número del elemento que se compara. Cuando se emite la señal de señal de condición ON, la unidad de control de instrucción finaliza la ejecución de instrucción y almacena el valor del registro de número de elemento en ese momento en el registro escalar especificado por la instrucción de comparación vectorial.
Campo técnico
La presente invención se refiere a una mejora de un calculador vectorial que tiene una función de comparación de vectores.
Antecedentes de la técnica
El cálculo del vector se ha realizado convencionalmente como un método para realizar cálculos de manera eficiente que aplican la misma operación a una pluralidad de datos. El principio básico del cálculo vectorial es leer elementos uno a uno de dos registros vectoriales que almacenan datos vectoriales que son la fuente de computación, realizar cálculos, almacenar los resultados en registros vectoriales que se convierten en destinos uno por uno, Repita tantas veces como se lo haya definido como longitud. Está diseñado para que la carga / almacenamiento entre el registro vectorial y la memoria se pueda realizar a alta velocidad.
Sin embargo, en general, no todos los procesos necesarios para ejecutar un determinado programa se realizan por cálculo vectorial, y, por ejemplo, a menudo ocurre que cierta información en los datos vectoriales se saca y se realiza algún cálculo en ella. . Para este procesamiento, es habitual incluir una función que selecciona datos vectoriales que satisfacen la condición especificada a partir de los datos vectoriales en el conjunto de instrucciones de la computadora vectorial. La presente invención se refiere a tal función de un calculador vectorial.
Para realizar la función de búsqueda anterior, la calculadora vectorial convencional prepara un registro de máscara que tiene la misma longitud que el de los datos vectoriales a buscar, teniendo cada elemento 1 bit y preparando cada elemento del registro de máscara Una instrucción para establecer ON cuando se satisfacen datos vectoriales satisface la función de búsqueda y para establecer OFF cuando no está preparado. Además, una instrucción para devolver el número de elemento más joven cuyo valor está activado con el registro de máscara a medida que se preparó el operando.
Tarea de solución
Dado que estas instrucciones se controlan de la misma manera que las instrucciones de vector ordinarias, es necesario repetir la operación por el número correspondiente a la longitud del vector sin falta. En general, sin embargo, en tal búsqueda, el procesamiento puede finalizar en el momento en que se encuentran datos que satisfacen la condición, y las operaciones subsiguientes son inútiles, lo que resulta en una sobrecarga que no puede ser ignorada por un programa con una longitud de vector relativamente larga . La presente invención se ha realizado a la vista de este punto y tiene como objetivo mejorar la eficacia de un comando de búsqueda vectorial reduciendo la sobrecarga anterior.
Solución
La figura 1 es un diagrama para explicar el principio de la presente invención. Un calculador vectorial según la reivindicación 1 de la presente invención compara una pluralidad de registros vectoriales, un registro de condición en el que se establecen condiciones y un elemento leído de dos registros vectoriales, y cuando el resultado de comparación indica que la condición de establecimiento del registro de condición Un comparador para emitir una señal de establecimiento de condición cuando está llena, un número de elemento registrado para mantener el número del elemento a comparar y una sección de control de instrucción, en el que la sección de control de instrucción tiene una condición de ENCENDIDO En el momento en que se emite la señal, la instrucción que se está ejecutando finaliza y el valor del número de elemento registrado en ese momento se escribe en el registro escalar.
Un calculador vectorial de acuerdo con un segundo aspecto de la presente invención compara una pluralidad de registros de vectores, un registro de condición en el que se establecen condiciones y un elemento leído de dos registros de vectores, y si el resultado de comparación indica que la condición de configuración del registro de condición Un comparador para emitir una señal de establecimiento de condición que está ENCENDIDA cuando está llena, un número de elemento registrado para mantener el número del elemento a comparar y una sección de control de instrucción, donde la sección de control de instrucción juzga que la señal de satisfacción de condición es Un contador de números ON para contar el número de tiempos ON, y un registro de configuración de conteo para retener el valor establecido del número. Cuando el valor del contador de números ON alcanza el valor establecido del registro de configuración de conteo, se ejecuta una instrucción Y el valor del registro del número de elemento en ese punto está escrito en el registro escalar.
Un calculador vectorial según un tercer aspecto de la presente invención compara una pluralidad de registros vectoriales, un registro de condición en el que se establecen condiciones y un elemento leído de dos registros vectoriales, y si el resultado de comparación indica que la condición de establecimiento del registro de condición Un comparador para emitir una señal de establecimiento de condición que está ENCENDIDA cuando está llena, un registro de número de elemento para mantener el número del elemento que se va a comparar, y una sección de control de instrucción, donde la sección de control de instrucción tiene dos vectores Un contador de números de elementos que indica el número de elementos sometidos al procesamiento de comparación en el registro y un circuito lógico para juzgar si el valor del contador de números de elementos es un valor en un rango específico y el valor del contador de números de elementos dentro de un rango específico , La instrucción en ejecución finaliza en el momento en que se activa la señal de establecimiento de condición y se registra el valor del número de elemento en ese momento en el registro escalar.
Se describirá la operación del calculador vectorial de la reivindicación 1. Cuando se inicia la ejecución del comando de comparación de vectores predeterminado, los elementos se leen de forma secuencial desde los dos registros de vectores designados por la instrucción y se introducen en el comparador. El comparador compara los dos elementos, emite una condición que habilita la señal de ENCENDIDO cuando el resultado de la comparación satisface la condición establecida en el registro de condición y emite una señal de activación de condición cuando el resultado de la comparación no está satisfecho . Una condición se establece previamente en el registro de condición. El registro de número de elemento almacena el número del elemento que se está comparando actualmente. Cuando se emite la señal de señal de condición ON, la unidad de control de instrucción finaliza la instrucción que se está ejecutando actualmente y almacena el valor del registro de número de elemento en ese momento en el registro escalar especificado por la instrucción.
Se describirá la operación del calculador vectorial de la reivindicación 2. Suponiendo que el valor establecido en el registro de ajuste de número de veces es n, cuando se emite la condición n-ésima que satisface la señal ON del comparador, la unidad de control de instrucciones finaliza el comando que se está ejecutando, Almacene el valor del registro del número de elemento en el registro escalar especificado por la instrucción.
Se describirá la operación del calculador vectorial de la reivindicación 2. Por ejemplo, si se supone que el rango específico es 3 ≦ m ≦ 10 y el elemento que satisface la condición es el quinto, cuando se realiza el proceso de comparación del quinto elemento, la sección de control de instrucciones establece La instrucción finaliza y el valor del número de elemento registrado en ese momento se almacena en el registro escalar especificado por la instrucción.
La descripción nemotécnica de la instrucción (instrucción de detención de comparación) introducida en la presente invención es, por ejemplo,
cmpstpXX r0, r1, sr
Tiene una forma llamada. Sin embargo, r 0 yr 1 indican un registro vectorial (fuente) y sr indica un registro escalar (destino). La instrucción de parada de comparación compara los datos de los registros de vector r 0 yr 1 para cada elemento y almacena el número de elemento al que la condición designada por la parte de XX en el mnemónico se almacena en el registro escalar sr. Como condición, se consideran varios patrones, como 'igual', 'r1 es más grande'.
La figura 2 es un diagrama que muestra una realización del comparador y el circuito periférico de la presente invención. En la figura, 1 es un comparador, 2 es un registro de condición, 3 es un registro de índice, 4 a 8 son líneas de señal, y 9 es un circuito +1.
Para ejecutar la instrucción de detención de comparación, primero configure la condición en el registro de condición 2 a través de la línea de señal 4. Esta es la condición especificada por XX descrita anteriormente codificada en una forma comprensible por el comparador 1 y se proporciona a partir de un decodificador de instrucciones (no mostrado). Además, 0 se establece como el valor inicial en el registro de índice 3.
A continuación, los datos de vector del primer operando y el segundo operando se introducen secuencialmente en el comparador 1 a través de las líneas de señal 5 y 6, y el comparador 1 compara el valor de entrada y la condición almacenada en el registro de condición 2 con la condición Cuando se establece, la señal de la línea de señal 7 se activa, y en los otros casos, la señal de la línea de señal 7 se desconecta. Además, el valor del registro de índice 3 se incrementa cada vez que se proporciona un operando. Es decir, el número de elemento de los datos de operando comparados en ese momento siempre se envía a la línea de señal 8.
La figura 3 es un diagrama que muestra una primera realización del circuito de evaluación de extremo de instrucción vectorial. En la figura, el número de referencia 11 denota un circuito de determinación del extremo del proceso de todos los elementos, de 12 a 14 líneas de señal, y 15 indica un circuito O.
El circuito de determinación del extremo de instrucción vectorial de la figura 2 existe en el sistema de control. El circuito de determinación de terminación de proceso de todos los elementos 11 es un circuito de determinación de terminación convencional, y es un circuito que incluye principalmente un contador que determina que el procesamiento para todos los elementos de datos de vector ha finalizado. El circuito 11 de evaluación del extremo del proceso de todos los elementos activa la señal de la línea 12 de señal en el momento en que se juzga el final del proceso. La señal de la línea de señal 13 es una señal que indica si la condición está o no satisfecha y es igual a la señal de la línea de señal 7.
Se toma una suma lógica de la señal en la línea de señal 12 y la línea de señal 13 y el resultado se envía a la línea de señal 14. La señal de la línea de señal 14 se utiliza como la señal final de la orden de vector en lugar de la señal de la línea de señal 12 que es la señal de terminación convencional. Es decir, incluso antes de que lleguen los últimos datos, la ejecución de la instrucción finaliza cuando se cumple la condición. Cuando la señal de la línea de señal 14 se activa, la señal de la línea de señal 8 se escribe en el registro escalar de destino.
La figura 4 es un diagrama que muestra una segunda realización del circuito de evaluación del extremo de la instrucción vectorial de la presente invención. En la misma figura, el número de referencia 21 indica un circuito de determinación del extremo del proceso de todos los elementos, 22 a 24 una línea de señal, 25 un contador, 26 un registro, 27 una línea de señal y 28 un circuito O.
El circuito de determinación del extremo de instrucción vectorial de la figura 4 también existe en el sistema de control. El circuito de determinación de la terminación del proceso de todos los elementos 21 es un circuito compuesto principalmente por un contador para juzgar que el procesamiento para todos los elementos de datos vectoriales se completa mediante un circuito de determinación de final de carrera convencional. El circuito evaluador del extremo del proceso de todos los elementos 21 activa la señal de la línea de señal 22 en el momento en que se juzga el final del proceso. La señal en la línea de señal 23 es una señal que indica si la condición se cumple o no y es la misma que la señal en la línea de señal 7 en la figura 1.
En el registro 26, los valores numéricos deseados se escriben con antelación. El contador 25 cuenta el número de veces que la señal en la línea de señal 23 se activa (indicando que se ha cumplido la condición). Cuando el valor de conteo del contador 25 llega a ser igual al valor del registro 26, la señal de la línea de señal 27 se activa. La señal en la línea de señal 22 y la señal en la línea de señal 27 están lógicamente ORed, y el resultado se envía a la línea de señal 24. Cuando la señal en la línea de señal 24 se usa como la señal final de la instrucción vectorial, cuando esta señal se activa, la ejecución de la instrucción finaliza y la señal en la línea de señal 8 se escribe en el registro escalar de destino. De acuerdo con la segunda realización, el proceso puede finalizar cuando la condición se satisface en la enésima vez (n es el valor establecido del registro 26).
La figura 5 es un diagrama que muestra una tercera realización del circuito de evaluación del extremo de instrucción vectorial de la presente invención. En la figura, el número de referencia 31 indica un circuito de determinación de proceso de todos los elementos, los números de referencia 32 a 34 indican líneas de señal, 35 indica un contador, 36 indica un circuito lógico, 37 indica una línea de señal, 38 indica un circuito Y, 39 indica un circuito O Lo ha hecho.
El circuito de determinación de fin de proceso de todos los elementos 31 tiene un contador 35 y un circuito lógico 36. El contador 35 cuenta el número de elementos procesados.Cuando el valor del contador 35 llega a ser igual a la longitud del vector, la señal de la línea de señal 32 se activa. El circuito lógico 31 determina si el valor x del contador 35 existe en un rango predeterminado o no y enciende la señal en la línea de señal 40 cuando existe en el rango designado. El rango se puede especificar arbitrariamente.
Para el circuito Y 38, se introducen la señal de la línea de señal 40 y la señal de la línea de señal 33. La señal de la línea de señal 33 es una señal que indica si la condición está o no satisfecha y es la misma que la señal de la línea de señal 7. La señal de la línea de señal 37 que es la salida del circuito AND 38 y la señal de la línea 32 de señal que es la salida del circuito 31 de determinación del extremo del proceso de todos los elementos se introducen en el circuito OR 39. La señal de la línea de señal 34 que es la salida del circuito OR 39 se usa como la señal final de la instrucción vectorial. Cuando esta señal se activa, la ejecución de la instrucción finaliza y la señal de la línea de señal 8 se escribe en el registro escalar de destino . De acuerdo con la tercera realización, es posible establecer restricciones sobre los números de elementos que se someterán a la determinación de la condición.
Efecto de la invención
Como es evidente a partir de la descripción anterior, de acuerdo con la presente invención, es posible reducir el trabajo del proceso de búsqueda de datos que satisface las condiciones en los datos del vector en promedio a aproximadamente la mitad del convencional.
BREVE DESCRIPCIÓN DE LOS DIBUJOS FIG.
La figura 2 es un diagrama que muestra una realización del comparador y el circuito periférico de la presente invención.
La figura 3 es un diagrama que muestra una primera realización de un circuito de evaluación de extremo de instrucción vectorial de acuerdo con la presente invención.
La figura 4 es un diagrama que muestra una segunda realización del circuito de evaluación del extremo de la instrucción vectorial de la presente invención.
La figura 5 es un diagrama que muestra una tercera realización del circuito de evaluación del extremo de instrucción vectorial de la presente invención.
1 comparador
2 Estado de registro
3 Registro de índice
4 a 8 líneas de señal
Circuito 9 + 1
11 Todo el circuito de determinación del extremo del procesamiento del elemento
12 a 14 líneas de señal
15 O circuito
21 Todos los circuitos de determinación de fin de procesamiento de elementos
22 a 24 líneas de señal
25 contador
26 registros
27 línea de señal
28 O circuito
31 Todo el circuito de determinación de procesamiento de elementos
32 a 34 líneas de señal
35 mostrador
36 circuito lógico
37 Línea de señal
38 Y circuito
39 O circuito
40 línea de señal
Reclamo
Reivindicaciones: Se reivindica: 1. Un registro vectorial que comprende: una pluralidad de registros vectoriales, un registro de condición en el que se establece una condición y un elemento leído de dos registros vectoriales, y cuando el resultado de comparación satisface las condiciones de configuración del registro de condición, Un número de elemento registrado para contener un número de un elemento a comparar, y una sección de control de instrucciones, en el que la sección de control de instrucciones, cuando se emite una señal de condición de ENCENDIDO, Termina la instrucción que se está ejecutando y escribe el valor del registro del número de elemento en ese punto del registro escalar.
2. Un dispositivo de memoria semiconductor que comprende: una pluralidad de registros vectoriales, un registro de condición en el que se establecen las condiciones y un elemento leído de dos registros vectoriales, y cuando el resultado de la comparación satisface las condiciones de configuración del registro de condición, , Un número de elemento se registra para mantener el número del elemento que se va a comparar, y una sección de control de instrucción, y la sección de control de instrucción cuenta el número de veces que se activa la señal de establecimiento de condición Un contador de números ON y un registro de configuración de conteo para retener el valor establecido del número Cuando el valor del contador de conteo ON alcanza el valor establecido del registro de configuración de recuento, el comando actual finaliza y el elemento actual Y escribe el valor del registro numérico en el registro escalar.
3. Un dispositivo de memoria de semiconductor que comprende: una pluralidad de registros vectoriales, un registro de condición en el que se establece una condición y un elemento leído de dos registros vectoriales, y cuando el resultado de comparación satisface las condiciones de configuración del registro de condición, Un número de elemento se registra para mantener el número del elemento que se va a comparar, y una sección de control de instrucción, en la que la sección de control de instrucción compara el número de elementos comparados en los dos registros de vectores. Y un circuito lógico para juzgar si el valor del contador de números de elementos es o no un valor dentro de un rango específico, y la condición se establece bajo la condición de que el valor del contador de números de elementos esté dentro de un rango específico En el momento en que se activa la señal, el comando que se está ejecutando finaliza y el valor del número de elemento registrado en ese momento se escribe en el registro escalar.
Dibujo :
Application number :1996-320859
Inventors :富士通株式会社
Original Assignee :安里彰