Unidad de procesamiento múltiple
Descripción general
 Reduzca la sobrecarga causada por múltiples sistemas operativos que operan en paralelo en un sistema tanto como sea posible. ] Se proporcionan medios para mantener el número de identificación del dispositivo en el dispositivo de procesamiento y el dispositivo de almacenamiento principal y los medios para mantener el número de identificación del grupo del sistema operativo al que pertenece el dispositivo y el número de identificación del grupo Y un número de identificación de dispositivo, significa 103 106 para determinar un número de identificación de grupo de un sistema operativo que puede usar el bus para cada ciclo de bus, un uso de bus desde el dispositivo de procesamiento y el dispositivo de almacenamiento principal Y un circuito de arbitraje de autobús para determinar un dispositivo de uso de autobús a partir de la solicitud y la información de relación leída por el número de identificación de grupo determinado.
Campo técnico
La presente invención se refiere a un aparato de multiprocesamiento, en particular, a un aparato de multiprocesamiento para hacer que una pluralidad de sistemas operativos (OS) se ejecuten en paralelo en un sistema multiprocesador conectado a un bus.
Antecedentes de la técnica
En general, cuando se ejecuta software de aplicación en dos sistemas operativos diferentes en un sistema en paralelo, o cuando se desarrolla un nuevo sistema operativo con el sistema operativo antiguo en ejecución, es necesario utilizar un sistema informático virtual Han sido conocidos por mucho tiempo. En este caso, al usar el programa de control y la función de hardware para realizar el sistema de computadora virtual, es posible generar una pluralidad de dispositivos de procesamiento virtual (VM) en el dispositivo de procesamiento real y ejecutar cada sistema operativo en la VM .
Tarea de solución
En el aparato de procesamiento múltiple convencional descrito anteriormente, es indispensable desarrollar un programa de control de VM para controlar la VM. Además, para garantizar la independencia entre las VM, la instrucción privilegiada para cambiar el estado del dispositivo de procesamiento que emite el programa en la VM no se ejecuta directamente por el dispositivo de procesamiento real, y el programa de control de la VM cambia el estado de la VM Simula Por esta razón, existe el problema de que la sobrecarga asociada con la instrucción privilegiada es grande y el rendimiento se reduce significativamente en comparación con el caso en el que el aparato de procesamiento directo ejecuta la instrucción con privilegios. Con el fin de aliviar esta degradación del rendimiento, una función de alta velocidad para el control de VM generalmente se realiza mediante el uso de hardware y firmware.
Por cierto, en el sistema multiprocesador, es posible operar una pluralidad de sistemas operativos en paralelo mediante un sistema asignando OS para cada grupo de procesadores, de modo que no es necesario un sistema de computadora de memoria virtual. Sin embargo, la unidad de procesamiento, para los dispositivos de entrada y salida, el bus del sistema para la interfaz entre la memoria principal se comparte, por lo convencional para garantizar la independencia entre el sistema operativo, la transacción en el bus del sistema es qué sistema operativo mecanismo reconoce, ya sea en uno de los subordinados, por ejemplo, asigna un número de identificación de cada dispositivo para la transacción en el bus del sistema, determina si la transacción bajo el sistema operativo a la que pertenecen por el número de identificación en cada aparato , Y es necesario tener una función para activar su propia función en la transacción, lo que causa un problema de que la cantidad de hardware que se va a invertir es grande.
Solución
El aparato de la presente invención incluye una pluralidad de dispositivos de procesamiento, y una o más memoria principal, en un aparato de multi-procesamiento para ejecutar una pluralidad de sistemas operativos en paralelo en el aparato de procesamiento de información y el dispositivo de control de bus está conectado por un bus, en el que Medios para mantener el número de identificación del dispositivo propio en el dispositivo de procesamiento y el dispositivo de almacenamiento principal y medios para mantener el número de identificación de grupo del sistema operativo al que pertenece el dispositivo, y el dispositivo de control de bus se proporciona con la identificación de grupo Medios para mantener información de relación entre el número y el número de identificación del dispositivo, medios para determinar un número de identificación de grupo del sistema operativo utilizable por autobús para cada ciclo de autobús, medios para juzgar la solicitud de uso del autobús del dispositivo de procesamiento y el dispositivo de almacenamiento principal. Y medios para determinar un dispositivo de uso de autobús a partir de la información de relación leída por el número de identificación de grupo determinado aparato de multiproceso de acuerdo con la reivindicación.
Las realizaciones de la presente invención se describirán ahora con referencia a los dibujos. La figura 3 es un diagrama de bloques que muestra un ejemplo de una configuración de sistema multiprocesador a la que se aplica la presente invención. 3, las unidades de procesamiento aritmético (CPU) 1, 2, 3, 4, unidades de memoria principal (MMU) 5, 6, unidades de entrada / salida (IOP) 7, 8 y la unidad de control del bus del sistema (SBC) Está conectado. El bus de sistema 100 es controlado por el SBC 9 y es una línea de señal para la transferencia bidireccional de información entre los dispositivos 1 9 conectados por el bus de sistema 100. La línea de señal 301 308 solicita el uso del bus desde los respectivos dispositivos 18 conectados al bus de sistema 100 excepto el SBC 9 al SBC 9.
El funcionamiento del presente sistema se describirá con referencia al diagrama de tiempos mostrado en la figura 4, prestando atención a la función del bus del sistema. Un ciclo en el bus del sistema 100 está compuesto por cuatro relojes. En primer lugar, T 0 es el tiempo para emitir una solicitud de uso del bus del sistema desde los respectivos dispositivos 18 conectados al bus del sistema 100 al SBC 9. En este momento, cada dispositivo 18 emite una solicitud al SBC 9 utilizando la línea de conexión 301 308 en la figura 3. A continuación, en el T1, el SBC 9 realiza un arbitraje basado en la solicitud de uso del bus recibida del dispositivo 18 en T 0, y el número de dispositivo permitido para usar el bus en el ciclo se transmite a todos los dispositivos 18 a través del bus del sistema 100 Para transmitir. En T 2, T 3, el dispositivo autorizado para usar el bus emite información al bus del sistema 100. T4 T7 es una repetición del proceso anterior que se realizó en T0 T3.
A continuación, la figura 5 muestra un caso en el que una solicitud de lectura de memoria principal se emite desde la CPU 1 a la MMU 5 como un ejemplo de la tabla de tiempos de la FIG. Cuando se produce una solicitud de acceso en el ciclo 1, la CPU 1 emite una solicitud de uso del bus del sistema al SBC 9 utilizando la línea de conexión 301 en T 0. El SBC 9 da permiso para usar el bus del sistema a la CPU 1 a través del bus de sistema 100 en T1. La CPU 1 emite una solicitud de lectura de memoria principal y una dirección de solicitud a la MMU 5 en T 2 y T 3. En el ciclo 2, para devolver los datos leídos para la solicitud de lectura de la memoria principal solicitada en el ciclo 1, la MMU 5 emite una solicitud de uso del bus del sistema al SBC 9 utilizando la línea de conexión 301 en T4. El SBC 9 da permiso para usar el bus del sistema a la MMU 5 a través del bus del sistema 100 en T 5. El MMU 5 emite datos de lectura de la memoria principal a la CPU 1 en T2 y T3.
A continuación, se dará una descripción de un caso en el que cada dispositivo 18 que pertenece al presente sistema multiprocesador opera de manera dividida bajo una pluralidad de sistemas operativos. 6 es un diagrama que muestra una agrupación de aparatos en el caso en el que cada aparato funciona de forma dividida bajo dos SO en la configuración del sistema mostrada en la figura 3, en la que CPU 1, CPU 2, MMU 5 y PIO 7 El Grupo A) y la CPU 3, la CPU 4, la MMU 6 y la IOP 8 (grupo B) incluidas en el área 602 operan bajo diferentes sistemas operativos.
El funcionamiento del bus del sistema en este estado se describirá con referencia a un diagrama de tiempos mostrado en la FIG. Los derechos de uso del bus de sistema 100 son asignados por el SBC 9 a los grupos de dispositivos bajo los dos sistemas operativos para cada ciclo de bus. En este caso, en el gráfico de tiempos, el ciclo impar se asigna al dispositivo del grupo A, y el ciclo par se asigna al dispositivo del grupo B.
Y la solicitud principal leer la memoria se genera en el ciclo 1, CPU1 y CPU3, CPU1 y CPU3 para SBC9 en T0, se emite una solicitud de uso del sistema de bus con respectivas líneas de conexión 301 y 303. En el ciclo 1, el SBC 9 determina que el grupo A tiene el derecho de uso del bus y transmite que el permiso de uso del bus ha sido otorgado a la CPU del grupo A a todos los dispositivos 18 a través del bus del sistema 100 en T1. La CPU 1 emite una solicitud de lectura de memoria principal y una dirección de solicitud a la MMU 5 en T 2 y T 3. Los dispositivos que pertenecen al otro grupo A reciben una solicitud emitida desde la CPU 1 y operan. Los dispositivos que pertenecen al grupo B no hacen nada.
Y la principal petición de lectura de memoria se genera a partir de la CPU3 En el ciclo 2, emite una solicitud principal respuesta de memoria de datos se genera MMU5, CPU3 la solicitud sistema MMU5 uso de autobuses con respecto al SBC9 T4, líneas de conexión, respectivamente, 303, 305 . SBC 9 juzga que el grupo B tiene derecho a usar el bus en el ciclo 2 y difunde que la concesión de bus se ha otorgado a la CPU 3 del grupo B a todos los dispositivos 18 a través del bus de sistema 100 en T 5. La CPU 3 emite una solicitud de lectura de memoria principal y una dirección de solicitud a la MMU 6 en T 6 y T 7. Los dispositivos que pertenecen al otro grupo B reciben una solicitud emitida desde la CPU 3 y operan. Los dispositivos pertenecientes al grupo A no hacen nada.
Y la solicitud de memoria principal respuesta de datos se ha producido a partir del ciclo 3, MMU5 y MMU6, MMU5 y MMU6 para SBC9 en T8, emite una solicitud de uso del sistema de bus con respectivas líneas de conexión 305 y 306. SBC 9 juzga que el grupo A tiene derecho a usar el bus en el ciclo 3 y difunde que la concesión de bus se ha otorgado al grupo A MMU 5 a todos los dispositivos 18 a través del bus de sistema 100 en T 9. El MMU 5 emite datos de lectura de la memoria principal a la CPU 1 en T 10 y T 11. Los dispositivos que pertenecen al otro grupo A reciben una solicitud emitida por MMU 5 y operan. Los dispositivos que pertenecen al grupo B no hacen nada.
En el ciclo 4, se genera una solicitud de respuesta de datos de la memoria principal desde la MMU 6, y la MMU 6 emite una solicitud de uso del bus del sistema al SBC 9 utilizando la línea de conexión 306 en T 12. SBC 9 juzga que el grupo A tiene derecho a utilizar el bus en el ciclo 3 y difunde que el permiso del bus se ha otorgado a la MMU 6 del grupo M a todos los dispositivos 18 a través del bus del sistema 100 en T 13. El MMU 6 emite datos de lectura de la memoria principal a la CPU 3 en T 14 y T 15. Los dispositivos que pertenecen al otro grupo B reciben una solicitud emitida desde la MMU 6 y operan. Los dispositivos que pertenecen al grupo B no hacen nada.
A continuación, la operación descrita anteriormente se describirá con referencia al diagrama detallado del SBC 9 mostrado en la figura 1 y el diagrama detallado de la unidad de interfaz de bus del sistema de cada dispositivo 18 mostrado en la figura 2.
La memoria intermedia de almacenamiento de información de grupo 102 en la figura 1 es una memoria intermedia compuesta de 8 bits × 2 palabras, y contiene información que indica la relación de qué grupo de SO pertenece cada uno de los dispositivos 18 establecidos en el momento de la activación del sistema. El registro de designación de grupo utilizable de bus 103 indica que el número de grupo tiene el derecho de uso en el ciclo de bus, y el contador 104 cuenta cada ciclo de bus. El registro 305 es un registro para almacenar la cantidad de grupos de SO. '0' se establece en el caso de una configuración de sistema operativo y '1' se establece en el caso de dos configuraciones de sistema operativo. El comparador 106 compara los registros 103 y 105, y en el caso de coincidencia, el valor del registro 103 se restablece a '0'.
El número de grupo indicado por el registro 103 se introduce como la dirección de lectura de la memoria intermedia de almacenamiento de información de grupo 102 mediante la línea de conexión 110. La información del dispositivo que tiene el derecho de uso de bus leído desde la memoria intermedia de almacenamiento de información de grupo 102 se introduce en el grupo de circuitos AND 107. En el grupo de circuitos AND 107, el producto lógico de la señal de solicitud de adquisición de bus 301 308 emitido desde cada dispositivo 18 y la información del dispositivo que tiene el derecho de uso del bus se toma para cada dispositivo, entrada al circuito de arbitraje 101 del bus por la línea de conexión 111 . El circuito de arbitraje de bus de sistema 101 recibe la señal de solicitud de uso de bus 111 como entrada y arbitra entre los dispositivos 18 y determina el dispositivo utilizable de bus en cada ciclo de bus. El número de grupo y número de dispositivo disponibles del bus determinado se transmiten a todos los dispositivos 18 a través del bus de sistema 100.
A continuación, la unidad de interfaz del bus del sistema de cada dispositivo 18 conectado al bus del sistema 100 mostrado en la figura 2 se describirá tomando como ejemplo la CPU 1. El circuito de interfaz de bus 201 está ubicado entre la unidad de procesamiento 202 y el bus de sistema 100 y realiza el control de la interfaz. El registro 203 contiene el número de grupo del sistema operativo al que pertenece la CPU 1, y el valor se establece en el momento del inicio del sistema. El registro 204 contiene el número de dispositivo de la CPU 1, y su valor se establece en el momento del inicio del sistema.
El comparador 205 compara el número de grupo de bus disponible enviado desde la unidad de control de bus de sistema 9 para cada ciclo de bus a través del bus de sistema 101 con el registro 203 e informa el resultado al circuito de interfaz de bus 201. En respuesta al resultado, el circuito 201 de interfaz de bus juzga si el ciclo de bus es un ciclo que puede ser utilizado por el grupo al que pertenece el circuito de ciclo de bus. El comparador 206 compara el número de dispositivo disponible de bus enviado desde el controlador de bus de sistema 9 para cada ciclo de bus con el registro 204 e informa el resultado al circuito de interfaz de bus 201. Al recibir el resultado, el circuito 201 de interfaz de bus juzga si el ciclo de bus es un ciclo en el que puede emitir su propia solicitud de acceso al bus. Lo mismo se aplica a los otros dispositivos 28.
Efecto de la invención
Como se describió anteriormente, de acuerdo con la presente invención, es posible ejecutar una pluralidad de sistemas operativos en paralelo en un sistema multiprocesador sin requerir la función del sistema informático virtual. Además, al agregar un número mínimo de funciones de hardware al circuito de control del bus del sistema, se puede garantizar la independencia entre los sistemas operativos y se puede minimizar la sobrecarga causada por una pluralidad de sistemas operativos que funcionan en paralelo en un sistema. .
La figura 1 es un diagrama de bloques que muestra un ejemplo de un dispositivo de control de sistema de acuerdo con una realización de la presente invención.
La figura 2 es un diagrama de bloques que muestra un ejemplo de una unidad de interfaz de bus de sistema en una realización de la presente invención.
La figura 3 es un diagrama de bloques que muestra un ejemplo de configuración de un sistema multiprocesador al que se aplica la presente invención.
La figura 4 es un diagrama de tiempos general bajo 1 OS de acuerdo con la presente invención.
La figura 5 es un diagrama de tiempos que muestra un ejemplo específico de la tabla de tiempos mostrada en la figura 4.
La figura 6 es un diagrama que muestra la agrupación de un sistema multiprocesador a la que se aplica la presente invención.
La figura 7 es un diagrama de tiempos que muestra un ejemplo de funcionamiento bajo 2 OS en la presente invención.
1, 2, 3, 4 unidad de procesamiento aritmético (CPU)
5, 6 Dispositivo de almacenamiento principal (MMU)
Dispositivo de entrada / salida (IOP)
9 Controlador de bus del sistema (SBC)
bus de sistema 100
101 Circuito de arbitraje del bus del sistema
102 Tampón de almacenamiento de información grupal
103 Bus available group specification register
104 contador
105, 203, 204 registros
106, 205, 206 comparador
107 Y grupo de circuitos
Circuito de interfaz de bus 201
202 Unidad de procesamiento
Línea de conexión 110, 111, 301 308
Reclamo
Lo que se reivindica es: 1. Un aparato de multiprocesamiento para ejecutar una pluralidad de sistemas operativos en paralelo en un aparato de procesamiento de información al que están conectadas una pluralidad de unidades de procesamiento, una o más unidades de almacenamiento principal y una unidad de control de bus. Medios para mantener un número de identificación de dispositivo del dispositivo en dicho dispositivo de almacenamiento principal y medios para contener un número de identificación de grupo de un sistema operativo al que pertenece dicho dispositivo, y donde dicho dispositivo de control de bus está provisto con dicho número de identificación de grupo y dicho número de identificación de grupo Medios para determinar un número de identificación de grupo de un sistema operativo utilizable de bus para cada ciclo de bus; medios para determinar una solicitud de uso de bus desde el dispositivo de procesamiento y el dispositivo de almacenamiento principal y una solicitud de uso de bus de la determinada Y medios para determinar un dispositivo de uso de autobús a partir de la información de relación leída por el número de identificación del grupo Que los equipos de procesamiento múltiple.
Dibujo :
Application number :1997-006730
Inventors :甲府日本電気株式会社
Original Assignee :田草川純一