Mecanismo de procesamiento de transferencia de datos del dispositivo de almacenamiento principal
Descripción general
 Es un objeto de la presente invención ejecutar transferencia de datos entre dispositivos de almacenamiento principales a alta velocidad en un sistema de procesamiento de información que tiene una CPU, un dispositivo de procesamiento IO y un dispositivo de almacenamiento principal sin provocar un aumento en la cantidad y complejidad del hardware. ] Cuando la solicitud principal de transferencia de datos de memoria se emite, el dispositivo de almacenamiento principal 300 recibe del bus del sistema 500 en el comando de registro de direcciones 421, lee los datos de transferencia desde la memoria principal 302 a través de un búfer de comandos dirección 422. Esta dirección de escritura desde el sumador 436, junto con un comando de escritura desde el circuito de generación de órdenes 437 se mantiene en la lectura registro de datos 411, enviada a la memoria intermedia de datos de lectura 412, se emite al bus de sistema 500 como una petición de escritura. Esta solicitud de escritura es recibida por la misma o por la memoria principal diferente y es escrita en la memoria principal por el registro de datos de escritura 401 y la memoria tampón de datos de escritura.
Campo técnico
La presente invención se refiere a un mecanismo de transferencia de datos en un sistema informático, particularmente un mecanismo de transferencia de datos entre dispositivos de almacenamiento principales.
Antecedentes de la técnica
Se conocen diversos métodos para la transferencia de datos entre dispositivos de almacenamiento principales convencionales. Por ejemplo, una primera técnica anterior, entre el controlador de acceso directo a memoria (DMAC) proporcionó, DMAC memoria de origen de transferencia y la memoria de destino como 'JP-A 3 204 753 JP' la técnica descrita, las señales de control y método de reducción de ciclo de la transferencia de DMA utilizando cada uno independientemente una señal de dirección, también reduce la capacidad de procesamiento de la CPU para separar el bus utilizando el DMAC y CPU como 'JP-4 155 464 JP' la técnica descrita No hay forma de realizar DMA sin eso.
Como segunda técnica anterior, 'JP 61 123966 da a conocer', como en 'JP-A 3 182 945 da a conocer' y 'JP-A 3 48354 JP' La técnica describe, entre la memoria en lugar principal a la CPU Se realiza proporcionando un dispositivo de transferencia de datos dedicado.
Además, como una tercera técnica anterior, 'JP 62 35951 da a conocer', 'JP 63 47 864 da a conocer' y como 'JP-A 3 171 356 JP' la técnica descrita, la unidad principal de control de almacenamiento y la principal un dispositivo de almacenamiento para agregar una unidad de procesamiento central y separadas temporalmente al dispositivo, una ruta de datos dedicado o se proporciona similares, crear una dirección de destino y fuente de transferencia de nuevo hay un método para realizar la transferencia de datos entre el dispositivo de almacenamiento principal.
Tarea de solución
En el método de usar el DMAC de la primera técnica anterior descrita anteriormente, DMAC se separa bus utilizando el proporcionado o o independientemente señales de DMAC y de control de la CPU y las señales de dirección entre la memoria del destino de transferencia y la memoria fuente transferencia Como se debe proporcionar un bus dedicado, existe la desventaja de que la cantidad de hardware es mayor y más complicada, y es imposible mantener la coherencia del caché.
Además, en la segunda técnica anterior descrita anteriormente, se debe proporcionar un dispositivo de transferencia de datos dedicado para transferir datos entre los dispositivos de almacenamiento principales en lugar de la CPU, dando como resultado un aumento en la cantidad y la complicación del hardware.
Además, en la tercera técnica anterior descrita anteriormente, es necesario proporcionar una unidad principal de control de almacenamiento y una unidad de memoria principal para agregar la unidad de procesamiento central y separadas temporalmente a un aparato y ruta de datos dedicado, aumentar y la complejidad del hardware tamaño Existe la desventaja de que se incurre en ello.
Solución
El primer mecanismo de procesamiento principal de transferencia de datos de memoria de la presente invención, una pluralidad de memoria principal que tiene una pluralidad de unidad de procesamiento central que tiene un procesador y una memoria caché, una memoria principal y la unidad principal de control de memoria para controlar esto, una pluralidad de unidad de procesamiento de entrada y salida, la unidad de procesamiento central y el dispositivo de almacenamiento principal y los principales datos de la unidad de memoria prevista en la parte de control de almacenamiento principal de un aparato de procesamiento de información y un bus de sistema para la conexión de la unidad de entrada y procesamiento de salida Medios para recibir una solicitud de transferencia de datos entre la memoria principal desde la unidad de procesamiento central, una dirección de origen de transferencia, una dirección de cabecera de destino de transferencia y el número de bloques de datos de transferencia desde la unidad de procesamiento central a través del bus de sistema; Medios para leer datos de forma secuencial desde dicha dirección de cabecera de fuente de transferencia; medios para enviar una solicitud de escritura, una dirección de destino de transferencia y un bloque de datos de escritura a dicho bus de sistema Y significa que, un medio para la escritura y recibir el bloque de datos en la memoria principal en respuesta a dicha solicitud de escritura y la dirección de destino de la transferencia y el bloque de escritura de datos a la dirección de destino.
El segundo mecanismo de procesamiento de transferencia de datos de la memoria principal de la presente invención, el comando dirección para la celebración de (a) un número de memoria principal entre la solicitud de transferencia de datos y la dirección de la cabeza fuente de transferencia y los bloques de datos de cabeza de transferencia de dirección de destino de la transferencia de dicho bus de sistema (B) un búfer de comando de dirección que contiene una pluralidad de conjuntos de salidas de dicho registro de comando de dirección; (c) un registro de dirección de lectura de cabecera que contiene dicha dirección de origen de transferencia desde dicho búfer de comando de dirección; (E) un registro de conteo de datos que contiene el número de bloques de datos de transferencia del búfer de comando de dirección; (f) un incremento de una dirección para la memoria principal está configurado para Un contador creciente para contar, (g) Un primer sumador que agrega la salida del registro de dirección del cabezal de escritura y el contador de incremento y transfiere el valor agregado como la dirección de lectura a la memoria principal; (h) la adición de la salida del registro de dirección del cabezal de escritura y el contador de incremento (I) un circuito de creación de comandos para crear un comando de escritura que instruye escritura a dicha memoria principal; (j) un segundo sumador para generar una dirección de escritura para dicha memoria principal, Un registro de datos leídos que contiene datos de lectura de una memoria principal correspondiente a una dirección de lectura, una dirección de escritura de dicho segundo sumador y un comando de escritura de dicho circuito de creación de comandos, (k) una salida de dicho registro de datos leídos Y los almacena en el bus del sistema como una solicitud de escritura, una dirección de escritura y datos de escritura (1) un registro de escritura para retener la solicitud de escritura, la dirección de escritura y los datos de escritura del bus del sistema, (m) una pluralidad de conjuntos de salidas del registro de escritura, y Y un buffer de escritura para transferir a la memoria principal.
A continuación, la presente invención se describirá en detalle con referencia a los dibujos.
La figura 2 es un diagrama de bloques de un sistema informático al que se aplica el mecanismo de procesamiento de transferencia de datos entre los dispositivos de almacenamiento principales de la presente invención. Haciendo referencia a la Fig. 2, un sistema de ordenador al que se aplica la presente invención, la unidad de procesamiento aritmético (EPU) 101, una unidad de procesamiento central que incluye una memoria caché 102, una unidad de control (CCU) 103 que realiza el control de memoria caché y un control de bus de sistema (CPU) 100 cuando, 100 y del mismo tipo de CPU 500, control IO, una pluralidad de aparatos de procesamiento de IO 200 incluye una unidad de control (BCU) 201 y la memoria caché 202 para el control de control de bus de sistema y la memoria caché, y 200 y el procesador IO 600 del mismo tipo, el principal compuesto de una pluralidad de memoria principal (MEM) 300 que incluye una unidad de control de almacenamiento (MCU) 301 y una memoria principal (SIMM) 302, 300 y un dispositivo de almacenamiento principal 700 del mismo tipo, el bus del sistema 500. la conexión de los respectivos dispositivos .
La figura 1 es un diagrama de bloques que muestra una realización de la presente invención.
Haciendo referencia a la Fig. 1, una realización de la presente invención incluye un comando de registro de direcciones 421 que recibe la petición de transferencia de datos desde el bus del sistema 500, leer desde la memoria intermedia de comando dirección 422, la memoria intermedia de comando dirección 422 que mantiene la salida del comando registro de direcciones 421 una lectura de dirección de inicio registro 431 contiene la dirección de inicio, la dirección de comienzo de escritura registro 432, que contiene la dirección de comienzo de escritura de la memoria intermedia de comandos de direcciones 422, cuentan el registro de datos 433 para sostener el número de bloques de datos de transferencia del búfer de comandos de direcciones 422, añadiendo el contador de la subasta 434 para la celebración de un incremento de la dirección de comienzo de lectura y una dirección de escritura de la cabeza, las salidas del contador incremental 434 de la dirección de inicio de lectura de registro 431 Un segundo sumador 436 para agregar la salida del registro de dirección de inicio de escritura 432 y la salida del contador de incremento 434, un circuito de generación de comando 437 para generar un comando de escritura cuando un registro de lectura 411 para la celebración de los datos leídos de la memoria principal 302 un comando de escritura desde el circuito de dirección de escritura y la generación de comandos 437 desde el segundo sumador 436, y mantiene la salida del registro 411 de lectura a la salida del bus del sistema 500 , Un registro de datos de escritura 401 para recibir una solicitud de escritura del bus del sistema 500, y un buffer de datos de escritura 402 para contener la salida del registro de datos de escritura 401.
La figura 3 es un diagrama de tiempos que muestra el paso del tiempo del procesamiento de transferencia de memoria entre las principales.
En la figura 3, la señal de ciclo de bus, la señal de datos de dirección y la señal de comando son todas las señales en el bus de sistema 500.
A continuación, la operación se describirá con referencia a las figuras 1, 2 y 3.
En el caso de instruir a la MCU 301 para que se transfiera a la memoria principal desde la CCU 103 o la BCU 201, se emite un comando de transferencia entre las memorias principales diferente de las órdenes ordinarias de lectura y escritura. La dirección de origen de la fuente de transferencia, la dirección superior del destino de la transferencia y la cantidad de bloques de datos de transferencia se envían al bus del sistema 500.
La MCU 301 siempre supervisa el bus del sistema 500 y almacena información de la transacción tal como comandos, direcciones, etc. en el registro de comando de dirección 421.
Cuando el comando se transfiere entre las memorias principales, la MCU 301 juzga si la dirección de la fuente de transferencia es o no un espacio de direcciones a controlar por la MCU 301. Si es así, transfiere el contenido del registro de comando de dirección 421 a la memoria intermedia de comando de dirección 422. Si no es aplicable, la MCU 301 descarta el valor del registro de comando de dirección 421.
búfer de comandos de direcciones 422 secuencialmente ejecuta la orden, si el comando es el almacenamiento principal entre el comando de transferencia, y almacena la dirección inicial fuente de transferencia en la dirección de inicio de Lectura de Registro 431, una dirección de destino de la transferencia en la dirección de la cabeza de escritura registro 432 , Almacena el número de bloques de datos de transferencia en el registro de conteo de datos 433, e inicializa el contador de incrementos 434 a '0'.
El valor del registro de dirección de inicio de avance 431 y el valor del contador de incremento 434 se añaden mediante el primer sumador 435 para generar una dirección de lectura, que se da al SIMM 302 para leer el bloque de datos. Al mismo tiempo, se registran 432 se añaden por el segundo sumador 436 genera una dirección de escritura que transmita los valores del contador incremental 434 de la dirección de comienzo de escritura, mediante la adición de los comandos de escritura creados por el comando circuito generador 437, Junto con el bloque de datos, en el registro de datos leídos 411.
Después de ello, incrementa el contador incremental 434 repetidamente ejecuta la operación de almacenar el bloque de datos de lectura y el registro de datos de lectura desde SIMM302 descrito anteriormente, el valor de contador incremental 434 se continúa hasta que es igual al valor de los datos de recuento de registro 433.
El comando de escritura, la dirección de escritura y el bloque de datos (datos de escritura para la dirección de destino de transferencia) almacenados en el registro de datos de lectura 411 se envían al bus de sistema 500 a través de la memoria tampón de datos de lectura 412.
MCU 301 monitoriza constantemente el bus del sistema, MCU 301 la dirección del comando de escritura corresponde a ti mismo, comando en el bus del sistema de escribir, el comando de registro de direcciones 421 la dirección de escritura, y almacena el bloque de datos para registrar los datos de escritura 401. El comando de escritura y la dirección de escritura se transfieren al SIMM 302 a través de la memoria tampón de comando de dirección 422, y el bloque de datos se escribe en el SIMM 302 a través de la memoria intermedia de datos de escritura 402.
Como resultado de lo anterior, se ha realizado la transferencia de datos entre las memorias principales.
Al enviar los datos de transferencia al bus de sistema 500 una vez, se puede mantener la coherencia entre los cachés 102 incluidos en la pluralidad de CPU 100 y los cachés 202 incluidos en la pluralidad de dispositivos de procesamiento de E / S 200.
Además, cuando la lectura normal desde CCU103 o BCU201 a MCU 301 (leer) petición se emite, el procesamiento similares se leen bloques de datos realizadas al bus del sistema 500 de SIMM301 es de salida, que emite una solicitud Recibido por la CCU 103 o la BCU 201.
Además, cuando la escritura normal desde CCU103 o BCU201 a MCU 301 (escritura) invitación procede, un comando de escritura, escribir la dirección es recibida por comando registro de direcciones 421, el bloque de datos se recibe en la escritura del registro de datos 401 directamente, respectivamente Se transfiere al SIMM 302 a través de la memoria intermedia de comandos de dirección 422 y la memoria intermedia de datos de escritura 402, y se ejecuta la escritura.
Efecto de la invención
Como se describió anteriormente, el principal mecanismo de procesamiento de transferencia de datos de la memoria de la presente invención, una vez que el bus del sistema, proporcionando la unidad principal de control de almacenamiento en la memoria principal (MCU), también leer bloque de datos en la transferencia de datos entre la memoria principal ,
(1) Como no es necesario proporcionar nuevamente el DMAC y tener independientemente la señal de control y la señal de dirección entre la memoria de la fuente de transferencia y la memoria de destino de la transferencia, es posible suprimir el aumento y la complejidad de la cantidad de hardware.
(2) Además, para separar el bus del sistema mediante el DMAC una CPU, no hay necesidad de configurar un bus dedicado, lo que aumenta la cantidad de hardware, hay un efecto tan complicado puede ser evitado.
(3) Además, no hay necesidad de proporcionar un aparato de transferencia de datos dedicado para la realización de la transferencia de bloques de datos entre el dispositivo de almacenamiento en lugar de la CPU, la mayor cantidad de hardware, no es un efecto que complica pueden prevenirse.
(4) Incluso con el mismo dispositivo de almacenamiento principal, dado que la transferencia de datos puede realizarse mediante el mismo procesamiento que la transferencia de datos entre diferentes memorias principales, existe la ventaja de que el control es simple.
(5) Se puede mantener la coherencia de la memoria caché.
La figura 1 es un diagrama de bloques de un sistema informático al que se aplica la presente invención.
La figura 2 es un diagrama de bloques de una realización de la presente invención.
La figura 3 es un diagrama de tiempos que muestra el lapso de tiempo de la operación de la realización de la presente invención.
100, 500 unidad de procesamiento central (CPU)
101 unidad de procesamiento aritmético (EPU)
102 efectivo
103 Control de caché y unidad de control del bus del sistema (CCU)
200, 600 equipos de procesamiento IO
201 Control de caché, control del bus del sistema y unidad de control IO (BCU)
202 Efectivo
300, 700 memoria principal (MEM)
301 Unidad de control de memoria principal (MCU)
302 memoria principal (SIMM)
401 Escribir registro de datos
402 Escribir memoria intermedia
411 Lectura de registro de datos
412 buffer de datos leídos
421 Registro de comando de dirección
422 Buffer de comando de dirección
431 Registro de dirección de inicio de cliente potencial
432 Registro de dirección de inicio de escritura
433 Registro de conteo de datos
434 Contador de incrementos
435, 436 sumador
437 Circuito de creación de comandos
Reclamo
Una pluralidad de unidades de procesamiento central y un procesador de la reivindicación 1 y la memoria caché, la memoria principal y una pluralidad de memoria principal y una unidad principal de control de memoria para el control de este, y una pluralidad de entrada y la unidad de tratamiento de salida, dicha unidad central de procesamiento Y un bus de sistema que conecta el dispositivo de almacenamiento principal y el dispositivo de procesamiento de entrada / salida, el mecanismo de procesamiento de transferencia de datos del dispositivo de almacenamiento principal provisto en la unidad de control de almacenamiento principal del dispositivo de procesamiento de información, una solicitud principal de transferencia de datos de memoria del procesador y la dirección de la cabeza fuente de transferencia y la dirección de inicio de destino de transferencia y medios para recibir el número de bloques de datos de transferencia, medios para secuencialmente lectura de los datos desde la dirección de la cabeza fuente de transferencia de la memoria principal, dicho sistema de Medios para enviar una solicitud de escritura, una dirección de destino de transferencia y un bloque de datos de escritura al bus; Principal mecanismo de procesamiento de transferencia de datos de memoria, caracterizado porque comprende un medio para escribir a dicha memoria principal para recibir y el bloque de datos de acuerdo con la dirección de destino de transferencia de dirección Okusaki y el bloque de datos de escritura.
Y la reivindicación 2 (a) el registro de órdenes de dirección para la celebración de la principal petición de transferencia de datos de memoria de la dirección inicial fuente de transferencia de bus de sistema y la dirección de inicio de destino de transferencia y el número de bloques de datos de transferencia, (b) la salida del registro de comandos de direcciones (C) un registro de dirección de cabeza de lectura que contiene la dirección de cabecera de fuente de transferencia del búfer de comando de dirección, y (d) contiene la dirección de cabecera de destino de transferencia del búfer de comando de dirección (E) un registro de conteo de datos para mantener el número de bloques de datos de transferencia desde dicha memoria intermedia de comandos de dirección; (f) un contador de incrementos para contar un incremento de una dirección para dicha memoria principal; (g) Dirección de registro de salida e incremento Un primer sumador para transferir un valor de suma después de la adición del contador como una dirección de lectura a dicha memoria principal, la (h) una dirección de escritura a dicha memoria principal realiza una suma de la salida y de incrementar el contador de comienzo registro de dirección de escritura un segundo sumador para crear, a partir de la memoria principal correspondiente a (i) un circuito de generación de órdenes que crea un comando de escritura para dar instrucciones por escrito a la memoria principal, (j) la dirección de lectura a partir de dicho primer sumador Una dirección de escritura desde dicho segundo sumador y un comando de escritura desde dicho circuito de creación de comandos; (k) una pluralidad de conjuntos de salidas desde dicho registro de datos de lectura, Un búfer de lectura de datos para enviar como solicitud de escritura, escribir dirección y escribir datos en el bus del sistema, 1) un registro de escritura para retener la solicitud de escritura, la dirección de escritura y los datos de escritura del bus del sistema; (m) un buffer de escritura para contener una pluralidad de conjuntos de salidas del registro de escritura y transferir los conjuntos a la memoria principal Y un mecanismo de procesamiento de transferencia de datos para transferir datos entre los dispositivos de almacenamiento principales de acuerdo con la reivindicación 1.
Dibujo :
Application number :1997-006714
Inventors :甲府日本電気株式会社
Original Assignee :水上信也