Método de control de generación de direcciones
Descripción general
 Es posible generar de manera eficiente una dirección a la memoria de datos, y es posible reducir el área de la memoria de instrucciones. ] Los registros de direcciones 2 y 3 que contienen direcciones que cambian secuencialmente en un grupo de datos, y también tienen una dirección que contiene un valor inicial. En la primera ejecución de la instrucción de repetición, se envían los datos de la dirección en la que se almacena el valor inicial, y se emiten los valores de los registros de direcciones originales 2 y 3 para la segunda y las siguientes instrucciones de iteración. Las instrucciones repetidas dirigen estos controles.
Campo técnico
La presente invención se refiere a un método para controlar la generación de direcciones en una memoria de datos.
Antecedentes de la técnica
Recientemente, procesador de señal digital (en adelante abreviado como DSP) ha atraído la atención como un procesador de un dispositivo de aplicaciones embebidas en la comunicación móvil digital (procesador de señal Tomonori Aoyama Ono TeiYasushi co Ohm etc.).
Convencionalmente, un método como se describe en la publicación de patente japonesa abierta a consulta por el público número 314160 se conoce como un método para generar direcciones de DSP.
Este método de generación de direcciones designa secuencialmente las direcciones de las series de datos almacenadas en la memoria. Es decir, la dirección principal se mantiene por adelantado en el primer registro de dirección, la dirección principal se genera desde el primer registro de dirección cuando se genera la primera dirección, y la primera dirección incrementa el valor el almacenamiento de un valor obtenido añadiendo el segundo registro de direcciones, los tiempos de segundo y posteriores, el segundo genera una dirección desde el registro de direcciones, leer el valor obtenido añadiendo el primero de incremento de dirección el valor de dirección una 2 en el registro de direcciones.
De acuerdo con el método anterior, dado que el primer registro de direcciones puede almacenar la dirección principal, además del valor de incremento para devolver los contenidos del segundo registro de direcciones 3 a la dirección principal cuando se realiza el retorno a la dirección principal de la serie de datos Se vuelve innecesario. Por lo tanto, no es necesario un sumador que tenga el mismo ancho de bit que el del registro de direcciones, el suministro de direcciones de alta velocidad solo se puede realizar con el incremento y la escala de hardware se puede reducir.
Tarea de solución
Sin embargo, el método convencional anterior tiene los siguientes problemas.
Es necesario indicar a la dirección que se registre si se debe realizar el control anterior mediante una instrucción que instruya la operación. Por otro lado, en el procesador con la longitud de palabra de instrucción fija, la longitud de palabra de instrucción depende de la palabra de instrucción más larga. Y la palabra de comando más larga es una instrucción que instruye simultáneamente muchas cosas. Es decir, es una instrucción para controlar el uso del registro de dirección y acceder a los datos al mismo tiempo. Como se describió anteriormente, es necesario controlar el uso del registro de dirección que es la palabra de instrucción más larga y ordenar el control por la instrucción que realiza la operación de datos. Para hacer una instrucción, se requiere un campo de instrucción y la longitud de la palabra de comando debe alargarse. Aumentar la longitud de la palabra de instrucción aumenta el área de la memoria de instrucciones. Por lo tanto, se requiere controlar el uso del registro de dirección para controlar la longitud de la longitud de palabra de instrucción, y acortar la longitud de palabra de instrucción de la instrucción para calcular los datos.
La presente invención está destinada a resolver los problemas convencionales tal como se describe anteriormente, y la instrucción a muchos a instruir a la repetición de la sola instrucción del ejemplo convencional es particularmente eficaz cuando la repetición de la sola instrucción Es posible mejorar la eficiencia de generación de direcciones prestando atención al hecho de que hay un margen en el campo de bits de la instrucción para que el área de la memoria de instrucciones de la longitud de palabra de instrucción fija se pueda reducir Para proporcionar un método de control de generación de direcciones.
Solución
Con el fin de lograr el objeto mencionado anteriormente, el método de control de generación de direcciones de la presente invención ordena la repetición de una única instrucción al mismo tiempo que ordena una dirección de una serie de datos almacenada en una memoria en orden, .
En la primera iteración de una única instrucción, la dirección se emite desde los primeros medios de almacenamiento para almacenar la dirección de la memoria de datos, el valor obtenido añadiendo el valor de incremento de dirección se almacena en los segundos medios de almacenamiento, , La dirección se emite desde el segundo medio de almacenamiento y el valor obtenido al agregar el valor de incremento de dirección que se almacena en el segundo medio de almacenamiento se repite.
De acuerdo con otro aspecto de la presente invención, se proporciona un método de control de generación de direcciones para designar secuencialmente una dirección de una serie de datos almacenada en una memoria, que comprende los pasos de: Para realizar o no realizar la operación.
En la primera iteración de una única instrucción, la dirección se emite desde el primer medio de almacenamiento para almacenar la dirección de la memoria de datos, el valor obtenido al agregar el valor de incremento de dirección se almacena en los primeros medios de almacenamiento, , Se repite la operación de dar salida a la dirección desde el primer medio de almacenamiento y almacenar el valor obtenido añadiendo el valor de incremento de dirección en los primeros medios de almacenamiento.
Por lo tanto, de acuerdo con la presente invención, es posible no aumentar el campo para controlar el uso del registro de dirección en la instrucción que instruye muchas cosas simultáneamente.
Descripción de las formas de realización preferidas A continuación, se describirá una realización de la presente invención con referencia a los dibujos.
La figura 1 es un diagrama de bloques esquemático que muestra un método de control de generación de direcciones de acuerdo con una realización de la presente invención.
1, una memoria de datos 1, un primer registro de direcciones 2 para mantener la dirección principal de una serie de datos almacenada en la memoria de datos 1, un segundo registro de direcciones 3 para contener la dirección de la serie de datos almacenada en la memoria de datos 1 registro de direcciones, un selector para seleccionar ya sea la salida del primer registro de dirección 2 y la salida de la segunda dirección de registro 3 4, 5 proporciona la memoria de datos 1 almacena temporalmente la salida del selector de 4 registros, 6 incrementador para añadir y salida 1 a la salida del selector 4, la salida 7 divisor ya sea a una salida del incrementador 6 de la primera registro de dirección 2 y el segundo registro de dirección 3, 8 Una unidad de control para controlar la operación de selección del selector 4 y el distribuidor 7, y 9 una memoria de instrucciones para enviar una orden a la unidad de control 8.
La figura 2 es un diagrama conceptual de memoria que muestra un conjunto A como un ejemplo de un grupo de datos. En la figura 2, los números que se muestran entre paréntesis indican las direcciones de los datos.
En la configuración anterior, suministrando la dirección de A realizando la operación de (1) que se muestra a continuación o realizando la operación de (2) con la instrucción que indica n repeticiones, se suministra la dirección de A .
(1) Después de realizar la operación del paso (a) que se muestra a continuación, la dirección de A se obtiene repitiendo la operación del paso (b) n 1 vez.
(B) Paso del suministro de dirección de A [0]
El selector 4 selecciona la dirección de cabecera almacenada en el primer registro de direcciones 2 y la envía al registro 5 y al incrementer 6. El registro 5 emite la salida del primer registro de direcciones 2 como una dirección a la memoria de datos 1. El incrementador 6 agrega 1 al valor de la dirección del cabezal y lo envía al distribuidor 7. El distribuidor 7 selecciona el segundo registro de direcciones 3 y escribe la salida del incrementador 6.
(B) Suministro del paso de la dirección de A [i] (i = 1, 2, 3, ... n)
El selector 4 selecciona la dirección de cabecera almacenada en el segundo registro de dirección 3 y la envía al registro 5 y al incremento 6. El registro 5 emite la salida del segundo registro de direcciones 3 como una dirección a la memoria de datos 1. El incrementador 6 agrega 1 al valor del segundo registro de direcciones 3 y lo envía al distribuidor 7. El distribuidor 7 selecciona el segundo registro de direcciones 3 y escribe el valor de la salida del incrementador 6.
(2) Repita la operación que se muestra a continuación n veces para proporcionar la dirección de A
El selector 4 selecciona la dirección de cabecera almacenada en el primer registro de direcciones 2 y la envía al registro 5 y al incrementer 6. El registro 5 emite la salida del primer registro de direcciones 2 como una dirección a la memoria de datos 1. El incrementador 6 agrega 1 al valor de la dirección del cabezal y lo envía al distribuidor 7. El distribuidor 7 selecciona el primer registro de direcciones 2 y escribe la salida del incrementador 6.
Mediante el proceso descrito anteriormente, se accede a la matriz A que es un ejemplo de un grupo de datos mostrado en la figura 2. Después de realizar la operación que se muestra en (1), el valor inicial de la matriz A se almacena en el primer registro de dirección 2. Por otro lado, después de realizar la operación que se muestra en (2), la dirección de la matriz A [n + 1] se mantiene en el primer registro de direcciones 2. Por esta razón, cuando accede a la matriz A desde el principio después del final de la operación repetitiva, le indica que realice la operación que se muestra en (1). Por otro lado, se completa la operación después de repetidas, y cuando se accede a la matriz A por detrás, en por ejemplo, cuando se accede a la secuencia A continuar después de n un tamaño de m (m> n), la operación se muestra en (2) Enseña a hacer.
En un DSP que a menudo tiene instrucciones de longitud fija, una instrucción que indica repetir una sola instrucción tiene un margen en el campo de bits de la instrucción. Por ejemplo, en una instrucción con una longitud fija de 16 bits, hay casos en los que se asignan 6 bits para la designación de la instrucción, 8 bits se asignan para el número de veces de repetición ny quedan 2 bits. Por otro lado, la instrucción que se ejecuta repetidamente, (selección modificada del registro de direcciones, y si lo que para operar en los datos) instrucciones para dirigir muchas cosas al mismo tiempo, ya que a menudo viene, el campo de bits de la instrucción No puedo pagarlo. Por ejemplo, la instrucción de 16 bits de longitud fija, 8 bits para especificar un comando, selección y modificado 5 bits del registro de puntero, y similares 3 bits para especificar el registro fuente y operación de datos de registro de destino dest.
Por lo tanto, si aumenta el número de contenidos a controlar por una instrucción que instruye la repetición de una única instrucción, la eficiencia de la instrucción aumenta y es efectiva para reducir los pasos estáticos del programa. La reducción del número de pasos estáticos es efectiva para reducir el área de la sección de memoria en el DSP con memoria incorporada.
También es posible controlar la función para cambiar entre los anteriores (1) y (2) dependiendo del tipo de comando que se repetirá.
Hay instancias en las que hay instancias en las que no es fácil volver al puntero de valor inicial después de la ejecución de la instrucción, entre las instrucciones repetidas por la instrucción que ordena repetir la instrucción individual. Por ejemplo, la memoria de datos para permitir la lectura de intercalación, si tal se lleva a cabo la operación del producto de suma dos veces en un ciclo de la máquina, ya sea número impar de veces, incluso el número es el número de repeticiones, y la dirección de inicio es la última dirección o incluso aborda ni una dirección impar diferente . En este caso, se requiere una clasificación de condición complicada, y no es fácil regresar a la dirección superior. En el caso de este comando, el control se realiza para generar la dirección del punto (1) anterior. Por otro lado, en el caso de una instrucción para transferir datos, se realiza la generación de direcciones anterior de (2). Una vez que la repetición finaliza, los datos pueden volver a colocarse después de la serie de datos.
Así, el anterior (1), controlando el tipo de instrucciones que ser repetido una función de cambio (2), es posible acortar aún más la longitud de palabras de instrucción, en la memoria DSP incorporado reducción de área de la unidad de memoria Tiene un efecto.
Efecto de la invención
Como se describió anteriormente, de acuerdo con la presente invención, es posible proporcionar un DSP de alto rendimiento con un área pequeña de memoria de instrucciones manteniendo por separado el valor inicial del registro de direcciones y realizando el control mediante una instrucción que instruye la repetición Tu puedes
Breve descripción de los dibujos La figura 1 es un diagrama de bloques que muestra un método de control de generación de direcciones de acuerdo con una realización de la presente invención.
Figura 2 Diagrama del concepto de memoria que muestra la matriz A como ejemplo de un grupo de datos
1 memoria de datos
2 Primer registro de dirección
3 segundo registro de dirección
4 Selector
5 registros
6 Incrementador
7 divisor
8 Unidad de control
9 instrucciones de memoria
Reclamo
Tras una dirección de instrucción de la reivindicación 1 de memoria para almacenar datos de la secuencia de forma secuencial, y simultáneamente instruye la repetición de una sola instrucción, el método de control de generación de dirección para indicar si o no para llevar a cabo las siguientes operaciones. En la primera iteración de una única instrucción, la dirección se emite desde los primeros medios de almacenamiento para almacenar la dirección de la memoria de datos, el valor obtenido añadiendo el valor de incremento de dirección se almacena en los segundos medios de almacenamiento, , La dirección se emite desde el segundo medio de almacenamiento y el valor obtenido al agregar el valor de incremento de dirección que se almacena en el segundo medio de almacenamiento se repite.
2. Un método de control de generación de direcciones para instruir si se realiza o no la siguiente operación dependiendo del tipo de comando repetido cuando se repite una instrucción individual cuando se designa secuencialmente una dirección de una serie de datos almacenada en una memoria. . En la primera iteración de una única instrucción, la dirección se emite desde el primer medio de almacenamiento para almacenar la dirección de la memoria de datos, el valor obtenido al agregar el valor de incremento de dirección se almacena en los primeros medios de almacenamiento, , Se repite la operación de dar salida a la dirección desde el primer medio de almacenamiento y almacenar el valor obtenido añadiendo el valor de incremento de dirección en los primeros medios de almacenamiento.
Dibujo :
Application number :1997-026908
Inventors :松下電器産業株式会社
Original Assignee :鈴木秀俊、石川利広