Método de recopilación de información de seguimiento de instrucciones de microprocesador
Descripción general
 Su objetivo es mejorar la eficiencia del rastreo de almacenamiento y recopilar información detallada de cada instrucción inmediatamente antes de detener el rastreo y la información de cada instrucción específica antes de eso. ] Cuando el seguimiento de una instrucción de ejecución lee y saca secuencialmente desde el circuito de almacenamiento de control 20 integrado en el microprocesador y recoge la información de seguimiento de instrucción sucesivamente, la información de la última instrucción de ejecución es leída desde el circuito de almacenamiento de control 20 Lo rastrea, lo almacena en el primer circuito 34 de almacenamiento de rastreo, lee la información de seguimiento de la instrucción más antigua de este primer circuito 34 de almacenamiento de rastreo, y almacena solo la información de seguimiento de la instrucción específica en el segundo circuito de almacenamiento de rastreo 37 , Es posible recoger la información para cada instrucción desde inmediatamente antes de la parada de rastreo desde el primer circuito de almacenamiento de rastreo 34 y al mismo tiempo desde el segundo circuito de almacenamiento de rastreo 37 para identificar De modo que la información en el momento de la ejecución del comando de la FIG.
Campo técnico
La presente invención se refiere a un microprocesador utilizado en, por ejemplo, un aparato de procesamiento de entrada / salida de datos, y en particular a un método de recopilación de información de seguimiento de instrucciones.
Antecedentes de la técnica
En un aparato de procesamiento de entrada / salida de datos convencional en una computadora de propósito general, se compone de una pluralidad de dispositivos de canal basados ​​en reglas prescritas y un dispositivo de control de canal para controlarlos. El dispositivo de control de canal contiene un microprocesador dedicado y controla la comunicación con la CPU, control de conexión con dispositivos periféricos (dispositivo de disco, dispositivo de comunicación, computadora, etc.) del dispositivo de canal según el programa de canal, control de transferencia de datos del dispositivo de canal Por ejemplo.
La figura 2 muestra una configuración de un microprocesador convencional utilizado en el dispositivo de control de canal. En la figura 2, los microprogramas de diversas instrucciones se almacenan previamente en el circuito de almacenamiento de control 20. La información de instrucción leída desde el circuito de almacenamiento de control 20 se mantiene temporalmente en el registro de instrucciones 21 y se analiza mediante el decodificador de instrucciones 22. Aquí, la lectura del circuito de memoria de control 20, de acuerdo con el resultado del análisis del decodificador de instrucciones 22, es a través del contador de instrucciones 23, el selector de dirección 24, el decodificador de instrucciones 22 propia operación con registros de uso general, ALU / palanca de cambios, la sección de procesamiento de la bandera El accionamiento se controla mediante el procesamiento del circuito 25.
El circuito de almacenamiento de control 20, el registro de instrucciones 21, el decodificador de instrucciones 22, el contador de instrucciones 23, el selector de direcciones 24 y el circuito aritmético 25 son componentes esenciales del microprocesador. información de instrucciones analizadas por el decodificador de instrucciones 22 es salida externamente a través de la línea de señal de comando 11, se suministra también al circuito de control del trazador 30, una escritura / lectura circuito de control 31, un circuito de memoria traza 37 como información de seguimiento de instrucciones al mismo tiempo. El circuito de control de trazadores 30 controla la selección de la información de seguimiento de instrucciones en el selector 33. Además, el control de escritura / lectura se lleva a cabo en el circuito de almacenamiento de trazas 37 a través del circuito de control de escritura / lectura 31 y el contador de direcciones 36, y se realiza el control de establecimiento del activador de trazas.
Escritura / lectura circuito de control 31, cuando la instrucción respectiva o instrucciones específicas para cada una de la información de rastreo solamente, para proporcionar una habilitación de escritura señal al circuito de memoria traza 37 a través de la línea de señal de habilitación de escritura 13, el circuito de información de seguimiento de instrucciones de almacenamiento traza 37 . El selector 33 selecciona información adicional de una traza de instrucción tal como un factor de determinación de índice y un tiempo de ejecución de instrucción. El contador de direcciones 36 genera una dirección de escritura / lectura del circuito de almacenamiento de trazas 37. El circuito de almacenamiento de trazas 37 almacena la última información de seguimiento de instrucciones que incluye la dirección del circuito de almacenamiento de control 20, el tipo de instrucción decodificada por el decodificador de instrucciones 22, y la información adicional seleccionada por el selector 33. La información de rastreo de instrucciones leída desde el circuito de almacenamiento de trazas 37 por control de lectura desde el circuito de control de trazadores 30 se mantiene temporalmente en el registro 39 y sale externamente a través de la línea de señales de datos de trazado 12.
Por cierto, en la configuración inicial del microprograma, las instrucciones respectivas para escribir / leer circuito de control 31, o un modo de rastrear sólo por un conjunto de instrucciones en particular, el principio de traza se instruyó. En este momento, la información de seguimiento de instrucción se extrae secuencialmente del circuito de almacenamiento de control 20 y se ejecuta. Por lo tanto, la escritura / lectura de circuito de control 31 es un disparador de la traza de acuerdo con el modo, la dirección del circuito de memoria de control 20, el tipo de instrucciones decodificadas por el decodificador de instrucciones 22, y la traza información instrucción adicional seleccionado por el selector 33 Lo escribe en el circuito 37 de almacenamiento de trazas e incrementa el contador 36 de direcciones. Cuando la información se llena en el circuito 37 de almacenamiento de trazas, la información más antigua se descarta y la última información se sobrescribe allí.
Se sabe que la traza de instrucción descrita anteriormente es efectiva para verificar la validez de la operación, captar el estado de operación en el momento de ocurrencia de falla y similares. Sin embargo, en el método de recopilación de información de rastreo de instrucciones convencionales, dado que la oportunidad de almacenar en el circuito de almacenamiento de trazas es fija, es insuficiente para obtener la información necesaria. Es decir, de acuerdo con el método convencional, la información rastreada es información cada vez que se ejecuta cada instrucción, o cada vez que se ejecutan todas una o más instrucciones específicas. Por otro lado, la información necesaria es información detallada de cada instrucción hasta cientos de instrucciones antes de la falla donde ocurrió el problema (detener el rastreo) y la información detallada de la instrucción anterior a un cierto rango La información para cada instrucción específica que puede ser captada por el comando en muchos casos.
Si se recopila información de rastreo de instrucciones cada vez que se ejecuta cada instrucción, se puede obtener información detallada inmediatamente antes de que ocurra un error, pero es demasiado insuficiente para conocer el rastro de la instrucción necesaria para investigar la ocurrencia de la falla. . Además, si la información de seguimiento de la instrucción se recopila solo al ejecutar una instrucción específica, la trayectoria de la instrucción puede conocerse dentro de un cierto rango, pero la información detallada justo antes de la ocurrencia de la falla es necesaria para determinar la instrucción de ocurrencia de la falla No puedo entenderlo Por lo tanto, en el método de recopilación de información de rastreo de instrucciones convencionales, era necesario cambiar el tiempo de la traza, realizar la prueba de reproducción y tomar información en varias ocasiones. Por otra parte, dado que en muchos casos no puede ser reproducida por el fracaso de campo, con el fin de obtener información útil, como puede ser llevado a cabo las huellas de cada ejecución de cada instrucción conocemos la trayectoria de ciertas instrucciones, la capacidad del circuito de memoria traza Es necesario asegurar una cantidad suficiente.
Tarea de solución
En la traza de instrucciones método de recogida de información anterior del microprocesador convencional como se ha mencionado, no se puede obtener información de rastreo sólo una oportunidad al mismo tiempo para recopilar los datos necesarios para llevar a cabo la prueba de reproducción cambiando el disparador de Trace No fue así. Por otra parte, dado que en muchos casos no puede ser reproducida por el fracaso de campo, con el fin de obtener información útil, como puede ser llevado a cabo las huellas de cada ejecución de cada instrucción conocen la trayectoria de ciertas instrucciones, la capacidad del circuito de memoria traza Es necesario asegurar una cantidad suficiente.
Un objeto de la presente invención se ha realizado en vista de los antecedentes anteriormente, utilizando circuito de memoria traza eficiente, al mismo tiempo información detallada microprocesador para cada instrucción inmediatamente antes de la parada de seguimiento, y la información específica anterior de recogida para cada instrucción Método de recopilación de información de rastreo de instrucciones.
Solución
rastro de instrucciones método de recogida de información del microprocesador de la presente invención es resolver los problemas anteriores es interno al microprocesador, para trazar el microprograma múltiple instrucción de ejecución que muestra diversas instrucciones de ejecución son leídos secuencialmente de salida desde el circuito de almacenamiento de control almacenado Y recopila secuencialmente la información de seguimiento de instrucción, rastrea la información de la última instrucción de ejecución, incluida la dirección del circuito de almacenamiento de control y el tipo de instrucción de ejecución leída del circuito de almacenamiento de control, y rastrea la información de rastreo de instrucción Un segundo medio de almacenamiento de rastreo para almacenar solo información de seguimiento de instrucción específica fuera de la información de rastreo de instrucción más antigua leída desde el primer medio de almacenamiento de rastreo; En respuesta a una instrucción de ejecución leída desde el circuito, escritura del primer y segundo medio de almacenamiento de rastreo / Lee control, de ajuste de control del gatillo traza, caracterizado por estar adaptado para comprender una unidad de control de trazador que realiza el control de la selección de la traza información instrucción adicional.
Donde dichos primeros medios de almacenamiento de rastreo comprenden: una sección de selección de información adicional para seleccionar información adicional en dicha instrucción de ejecución bajo el control de dicha sección de control de trazadores, una sección de selección de información adicional para seleccionar información adicional seleccionada por este medio, una dirección Una unidad de almacenamiento de rastreo que almacena el tipo de instrucción de ejecución como información de seguimiento de instrucción y una unidad de control que escribe la última información de seguimiento de instrucción en la unidad de almacenamiento de seguimiento bajo el control de la unidad de control de trazado, lee la información de seguimiento de instrucción más antigua. Y una unidad de control de escritura / lectura para hacer que la primera unidad de almacenamiento de rastreo envíe la primera unidad de almacenamiento de rastreo a la segunda unidad de almacenamiento de rastreo.
La segunda unidad de almacenamiento de rastreo puede incluir una unidad de selección de información que selecciona solo información de rastreo de instrucción específica entre la información de rastreo de instrucción más antigua leída desde la primera unidad de almacenamiento de rastreo, Una unidad de almacenamiento de trazas para almacenar la información de rastreo de instrucciones para controlar la escritura / lectura de la unidad de almacenamiento de trazas de acuerdo con el control de la unidad de control de trazadores.
El método de recogida de información de seguimiento de instrucciones del microprocesador de la presente invención, almacena la información de seguimiento de la última instrucción de ejecución incluyendo el tipo de dirección y la instrucción de ejecución para el circuito de almacenamiento de control para almacenar un microprograma diversa información de comandos para los medios de memoria primera traza La información de seguimiento más antigua se lee desde el primer medio de almacenamiento de rastreo y solo la información de seguimiento de la instrucción específica se almacena en el segundo medio de almacenamiento de rastreo. Por este motivo, es posible recopilar la información de cada comando inmediatamente antes de detener el rastreo desde el primer medio de almacenamiento de rastreo, y obtener información detallada justo antes de que ocurra el fallo necesario para determinar el comando de la ocurrencia del problema. Al mismo tiempo, desde el segundo medio de almacenamiento de rastreo, es posible recopilar información cuando se ejecuta una instrucción específica entre las instrucciones ejecutadas antes de esa información, y cómo se ejecutaron las instrucciones dentro de un cierto rango Puede ser conocido. En particular, la información de seguimiento del segundo medio de almacenamiento de rastreo es información antes de la información de seguimiento del primer medio de almacenamiento de rastreo, no hay superposición de información innecesaria, y la información de seguimiento incluye instrucciones innecesarias de la instrucción anterior No incluye toda la información de rastreo. Es decir, en el método de recogida de información de seguimiento de instrucciones de la presente invención, la confirmación de la validez de la operación, dos piezas de información necesaria para realizar el estado de la operación de agarre cuando se produce un fallo puede ser recogido simultáneamente, y los medios de memoria de traza De modo que la memoria utilizada se puede utilizar de manera eficiente para reducir la capacidad de almacenamiento de trazas.
En lo sucesivo, las realizaciones de la presente invención se describirán en detalle con referencia a los dibujos. Para evitar una descripción redundante, en la figura 1, las mismas partes que las de la figura 2 se indican con los mismos números de referencia, y se omite su descripción.
La figura 1 es un diagrama de bloques que muestra la configuración interna de un microprocesador de acuerdo con una realización de la presente invención. El microprocesador de una manera convencional como componentes esenciales, el circuito de memoria de control 20 para almacenar un microprograma, que comprende la instrucción de registro 21, el decodificador de instrucciones 22, contador de instrucciones 23, el selector de dirección 24 y la ALU 25.
Como se describió anteriormente, el circuito de control de trazadores 30 controla la selección de la información de seguimiento de instrucciones para el selector 33 de acuerdo con la información de seguimiento de instrucciones del decodificador de instrucciones 22. Además, el primer circuito de almacenamiento de traza 34 realiza control de escritura / lectura y establece el control de la sincronización de seguimiento a través del circuito de control de escritura 31 y el contador de direcciones 32 y ordena al segundo circuito de almacenamiento de trazas 37 escribir el circuito de control 35 y dirección Escribir / leer el control a través del contador 36, y establecer el control del tiempo de seguimiento. Más específicamente, el selector 33 selecciona información adicional de la traza de instrucción, tal como un factor de determinación de índice y un tiempo de ejecución de instrucción, y la envía al primer circuito 34 de almacenamiento de rastreo.
El circuito de control de escritura / lectura 31 suministra la señal de habilitación de escritura al primer circuito de almacenamiento de rastreo 34 a través de la línea de señal de habilitación de escritura 13 solo para cada instrucción de la información de seguimiento o en el caso de una instrucción específica. En este momento, el contador de direcciones 32 recibe la señal de habilitación de escritura, genera una dirección de escritura, y la envía al primer circuito de almacenamiento de rastreo 34 a través de la línea de señal de dirección de escritura 14. Como resultado, el primer circuito 34 de almacenamiento de trazas almacena la última información de seguimiento de instrucciones que incluye la dirección del circuito 20 de almacenamiento de control, el tipo de instrucción decodificada por el decodificador 22 de instrucciones, y la información seleccionada por el selector 33.
Además, el contador de direcciones 32 genera una dirección de lectura obtenida al agregar 1 a la dirección de escritura y la envía al primer circuito de almacenamiento de rastreo 34 a través de la línea de direcciones de lectura 15. Como resultado, la información de seguimiento más antigua se lee desde el primer circuito 34 de almacenamiento de rastreo. La información de seguimiento leída desde el primer circuito de almacenamiento de rastreo 34 es captada selectivamente en el registro 39 por el selector 38.
Por otra parte, el circuito de control de escritura / lectura 35 envía una señal de habilitación de escritura al segundo circuito de almacenamiento de rastreo 37 a través de la línea de señal de habilitación de escritura 16 solo para cada instrucción de la información de seguimiento o en el caso de una instrucción específica. En este momento, el contador de direcciones 36 recibe la señal de habilitación de escritura para generar una dirección de escritura y la envía al segundo circuito de almacenamiento de rastreo 37 a través de la línea de señal de dirección 17. Como resultado, el segundo circuito de almacenamiento de rastreo 37 almacena la información de rastreo mantenida en el registro 39.
Al recibir un comando de lectura del circuito de control de trazadores 30, el circuito de control de escritura / lectura 35 hace que el contador de direcciones 36 genere una dirección de lectura y la envíe al segundo circuito de almacenamiento de trazado 37 a través de la línea de señal de dirección 17. Como resultado, la información de seguimiento almacenada desde el segundo circuito de almacenamiento de rastreo 37 se lee secuencialmente y se envía externamente a través de la línea de señal de datos de seguimiento 12 a través del selector 38 y el registro 39.
A continuación, se describirá la operación del método de recopilación de trazas de instrucción de la presente invención. En la configuración inicial del microprograma, el circuito de control de escritura / lectura 31 se ajusta con un modo para rastrear cada instrucción. Además, el circuito de control de escritura / lectura 35 se configura en modo de seguimiento solo en el caso de la instrucción específica a, y se inicia el rastreo. Cada comando se extrae secuencialmente del circuito de almacenamiento de control 20 y se ejecuta. Al mismo tiempo, la dirección del circuito de memoria de control 20, el tipo de instrucciones decodificadas por el decodificador de instrucciones 22, y la información adicional de la traza instrucción seleccionada por el selector 33 está escrito en el circuito de memoria primera huella 34, escribir la dirección del contador de direcciones 32 Se incrementa
La dirección de lectura del primer circuito de almacenamiento de rastreo 34 es la dirección de escritura más uno e indica la información de seguimiento más antigua almacenada en el circuito de almacenamiento de rastreo 34. Esta información se lee en el registro 39. El circuito de control de escritura / lectura 35 escribe la información de seguimiento mantenida en el registro 39 en el segundo circuito de almacenamiento de rastreo 37 (solo cuando el tipo de instrucción en la información de seguimiento contenida en el registro 39 coincide con la instrucción específica a) . La temporización de esta escritura es la misma que la temporización cuando el circuito 31 de control de escritura / lectura escribe en el primer circuito 34 de almacenamiento de trazas.
Por consiguiente, el primer circuito 34 de almacenamiento de trazas almacena la última información de seguimiento de instrucciones para cada instrucción, y el segundo circuito 37 de almacenamiento de trazas almacena información de seguimiento para cada instrucción específica a antes de esa . Por lo tanto, de acuerdo con el método de instrucción de microprocesador colección información de rastreo de acuerdo con la configuración anterior, el circuito de memoria primera huella 34, para reunir información para cada instrucción de la traza inmediatamente antes de la parada, el obstáculo necesaria en la determinación del fallo instrucciones Se puede obtener información detallada inmediatamente antes de la ocurrencia.
Al mismo tiempo, desde el segundo circuito de almacenamiento de rastreo 37, es posible recopilar información cuando se ejecuta una instrucción específica entre las instrucciones ejecutadas antes de esa información, y cómo se ejecutaron las instrucciones en un cierto rango Usted puede saber eso. En este caso, la información de seguimiento del segundo circuito de almacenamiento de rastreo 37 es información antes de la información de seguimiento almacenada en el primer circuito de almacenamiento de rastreo 34, no hay superposición de información innecesaria, y en la información de seguimiento, No incluye información de seguimiento para cada instrucción innecesaria de la instrucción anterior.
Por lo tanto, el método de información de la colección de rastreo de la presente invención, la confirmación de la validez de la operación, es posible recoger simultáneamente dos información necesaria para realizar el estado de la operación de agarre cuando se produce un fallo, y el circuito de memoria traza 34, 37 se puede usar de manera eficiente para reducir la capacidad de almacenamiento de trazas.
Efecto de la invención
Como es evidente a partir de la descripción anterior, de acuerdo con el método de recopilación de información de rastreo de la instrucción de microprocesador de la presente invención, es posible usar eficientemente el circuito de almacenamiento de rastreo para obtener información detallada para cada instrucción inmediatamente antes de detener la traza. Es posible recopilar simultáneamente la información para cada instrucción de la FIG.
Breve descripción de los dibujos La figura 1 es un diagrama de circuito de bloques que muestra una configuración de un microprocesador de acuerdo con un sistema de recopilación de información de seguimiento de instrucciones de acuerdo con una realización de la presente invención.
La figura 2 es un diagrama de circuito de bloques que muestra la configuración de un microprocesador de acuerdo con el método de recopilación de información de rastreo de instrucciones convencional.
11 Línea de señal de instrucción
12 Línea de señal de datos de traza
13 Línea de señal de habilitación de escritura
14 Escribir línea de señal de dirección
15 Leer la línea de señal de dirección
16 Línea de señal de habilitación de escritura
17 línea de señal de dirección
20 circuito de almacenamiento de control
21 Registro de instrucciones
22 decodificador de instrucciones
23 Contador de instrucciones
24 Selector de dirección
25 circuito aritmético
30 Circuito de control Tracer
31 Circuito de control de escritura / lectura
32 contador de direcciones
33 Selector
34 Primer circuito de almacenamiento de rastreo
35 Circuito de control de escritura / lectura
36 Contador de direcciones
37 segundo circuito de almacenamiento de rastreo
38 Selector
39 registro
Reclamo
Construido en la reivindicación 1 microprocesador, rastrear múltiple salida ejecución microprograma son leídos secuencialmente a partir de las instrucciones de circuito de almacenamiento de control almacenados que muestran diversas instrucción de ejecución, vestigios de instrucciones secuencial del microprocesador para recoger la información de seguimiento de instrucciones Primer medio de almacenamiento de seguimiento para rastrear la información de la instrucción de ejecución más reciente incluyendo la dirección al circuito de almacenamiento de control y el tipo de instrucción de ejecución leída del circuito de almacenamiento de control y almacenarla como información de seguimiento de instrucción en el método de recopilación de información; cuando, entre la información de seguimiento de instrucciones más antigua leer desde el primer medio de memoria de traza, dijo dependiendo segundos medios de almacenamiento de rastreo para almacenar solamente la información de rastreo instrucción específica, la instrucción de ejecución leer desde el circuito de almacenamiento de control Control de escritura / lectura del primer y segundo medio de almacenamiento de rastreo, seguimiento de contrato Configuración de control, vestigios de instrucciones método de recogida de información del microprocesador, caracterizado porque comprende una unidad de control trazador que realiza el control de la selección de la traza información instrucción adicional.
2. El aparato de procesamiento de información de acuerdo con la reivindicación 1, en el que la primera unidad de almacenamiento de rastreo incluye: una unidad de selección de información adicional que selecciona información adicional en el comando de ejecución bajo el control de la unidad de control de trazadores; Una unidad de almacenamiento de rastreo para almacenar la dirección del circuito y el tipo de instrucción de ejecución como información de rastreo de instrucción de acuerdo con el control de la unidad de control del rastreador, escribiendo la última información de rastreo de instrucción en la unidad de almacenamiento de rastreo. Y una unidad de control de escritura / lectura que lee la información de seguimiento de instrucción de la primera unidad de almacenamiento de rastreo y la envía a la segunda unidad de almacenamiento de rastreo.
3. El aparato de procesamiento de información según la reivindicación 1, donde la segunda unidad de almacenamiento de rastreo incluye: una unidad de selección de información que selecciona solamente información de seguimiento de instrucción específica entre la información de rastreo de instrucción más antigua leída desde la primera unidad de almacenamiento de rastreo; Una unidad de almacenamiento de trazas para almacenar la información de rastreo de instrucciones a escribir en dicha unidad de almacenamiento de trazas, y una unidad de control de escritura / lectura para realizar el control de escritura / lectura de dicha unidad de almacenamiento de trazas bajo el control de dicha unidad de control de trazadores. Método de recopilación de información de rastreo de instrucciones del microprocesador como se describe.
Dibujo :
Application number :1997-016433
Inventors :日本電気エンジニアリング株式会社
Original Assignee :鈴木勝己