stringtranslate.com

Ejecutar instrucción

En una arquitectura de conjunto de instrucciones de computadora (ISA) , una instrucción de ejecución es una instrucción en lenguaje de máquina que trata los datos como una instrucción de máquina y los ejecuta.

Puede considerarse un cuarto modo de secuenciación de instrucciones después de la ejecución secuencial ordinaria , la ramificación y la interrupción . [1] Dado que es una instrucción que opera sobre otras instrucciones como la instrucción de repetición , también se ha clasificado como una metainstrucción. [2]

Modelos de computadora

Muchas familias de computadoras introducidas en los años 1950 y 1960 incluyen instrucciones de ejecución : el IBM 709 [1] y el IBM 7090 ( código de operación mnemónico : XEC ), [3] el IBM 7030 Stretch ( EX , EXIC ), [ 4] [1] el PDP-1 / -4 / -7 / -9 / -15 ( XCT ), [5] [6] el UNIVAC 1100/2200 ( EXRI ), [7] el CDC 924 ( XEC ), [8] el PDP-6 / -10 ( XCT ), el IBM System/360 ( EX ), [9] el GE-600 / Honeywell 6000 ( XEC , XED ), [10] el SDS-9xx ( EXU ), [11] el SDS 92 ( EXU ), [12] y la serie SDS Sigma ( EXU ). [13]

Menos diseños de la década de 1970 incluyen instrucciones de ejecución : la minicomputadora Nuclear Data 812 (1971) ( XCT ), [14] la HP 3000 (1972) ( XEQ ), [15] y la Texas Instruments TI-990 (1975) [16] y su versión de microprocesador, la TMS9900 (1976) ( X ). [17] El Signetics 8X300 (1976) es un diseño de microprocesador poco común con una instrucción de ejecución. XEC ejecuta una instrucción de una tabla de 1 a 255 instrucciones. La mayoría de las instrucciones actúan como subrutinas de instrucción única, pero se utilizan ramas para implementar tablas de salto. [18] Se propuso una instrucción de ejecución para la PDP-11 en 1970, [19] pero nunca se implementó para ella [20] o su sucesora, la VAX . [21]

Los conjuntos de instrucciones modernos no incluyen instrucciones de ejecución porque interfieren con la segmentación , la precarga y otras optimizaciones. [ cita requerida ]

Semántica

La instrucción que se va a ejecutar, la instrucción de destino, puede estar en un registro o ser extraída de la memoria. Algunas arquitecturas permiten que la instrucción de destino sea en sí misma una instrucción de ejecución ; otras no.

La instrucción de destino se ejecuta como si estuviera en la ubicación de memoria de la instrucción de ejecución . Si, por ejemplo, se trata de una instrucción de llamada a una subrutina, la ejecución se transfiere a la subrutina, siendo la ubicación de retorno la ubicación posterior a la instrucción de ejecución . Sin embargo, algunas arquitecturas implementan variantes de la instrucción de ejecución que inhiben las bifurcaciones. [1]

El sistema/360 admite instrucciones de destino de longitud variable. También permite modificar la instrucción de destino antes de ejecutarla. La instrucción de destino debe comenzar en un byte par . [9]

La serie GE-600 admite la ejecución de secuencias de dos instrucciones, que deben estar alineadas con palabras dobles . [10]

Algunas arquitecturas admiten una instrucción de ejecución que funciona en un modo de protección y reubicación de direcciones diferente . Por ejemplo, el dispositivo de paginación ITS PDP-10 admite una instrucción XCTR de modo privilegiado 'ejecutar reubicado' que permite que las lecturas, escrituras o ambas de la memoria utilicen las asignaciones de páginas del modo de usuario. [22] De manera similar, la variante KL10 del PDP-10 admite la instrucción privilegiada PXCT 'contexto previo XCT'. [23]

La instrucción de ejecución puede causar varios problemas cuando una instrucción de ejecución apunta a otra y así sucesivamente:

Surgen problemas similares con los modos de direccionamiento indirecto multinivel .

Aplicaciones

La instrucción de ejecución tiene varias aplicaciones: [1]

Notas

  1. ^ abcdefgh Brooks, FP (marzo de 1960). "Las operaciones de ejecución: un cuarto modo de secuenciación de instrucciones". Comunicaciones de la ACM . 3 (3): 168–170. doi : 10.1145/367149.367168 . S2CID  37725430.
  2. ^ Rossman, George E. (diciembre de 1975). "Un curso de estudio en arquitectura de hardware de computadoras". IEEE Computer . 8 (12): 44–63. doi :10.1109/CM.1975.218835. S2CID  977792., pág. 50
  3. ^ Manual de referencia, Sistema de procesamiento de datos IBM 7090 (PDF) . IBM . Marzo de 1962. pág. 36.
  4. ^ Manual de referencia, Sistema de procesamiento de datos 7030 (PDF) . IBM . Agosto de 1961. pág. 50.
  5. ^ Manual del procesador de datos programado-1 (PDF) . Digital Equipment Corporation . 1961. pág. 14.
  6. ^ Supnik, Bob. "Evolución arquitectónica en las computadoras DEC 18b" (PDF) . pág. 8 (no se muestran los números de página).
  7. ^ Computadora central Univac 1107 (PDF) . Noviembre de 1961. p. 12-1.
  8. ^ Control Data 924 Computer Reference Manual (PDF) . Octubre de 1962. pág. 2-41.
  9. ^ ab IBM System/360 Principios de funcionamiento (PDF) . IBM . 1964. pág. 65. A22-6821-0.
  10. ^ ab GE-635 System Manual (PDF) . Departamento de Computación de General Electric. Julio de 1964. pág. A-5.
  11. ^ SDS 940 Teoría de operaciones (PDF) . Scientific Data Systems . Marzo de 1967. pág. 2-12. SDS-98-01-26A.
  12. ^ SDS 92 Computadora. Sistemas de datos científicos . Junio ​​de 1965. pág. 2-6.
  13. ^ Computadora Xerox SIGMA 7: Manual de referencia (PDF) . 90 09 5J; XG46, Archivo No: 1X03 (0 ed.). Xerox Corporation. Octubre de 1973. págs. 70–71.{{cite book}}: Mantenimiento de CS1: otros ( enlace )
  14. ^ Principios de programación de la computadora ND812 (PDF) . Nuclear Data, Inc. 1971. pág. 4-4.
  15. ^ Sistema informático HP 3000: Manual de referencia del conjunto de instrucciones de la máquina (PDF) . Hewlett-Packard . 1980. pág. 2-31.
  16. ^ Manual de sistemas de la familia de computadoras 990 (PDF) . Texas Instruments . pág. 3-28.
  17. ^ Manual de datos del microprocesador TMS 9900 (PDF) . Texas Instruments . Diciembre de 1976. pág. 24.
  18. ^ "Microcontrolador SL8X305" (PDF) . Lansdale Semiconductor Inc . Consultado el 20 de junio de 2017 .
  19. ^ ab van de Goor, Ad (21 de septiembre de 1970). "La instrucción de ejecución" (PDF) . Memorándum técnico PDP-11/40 n.º 18.
  20. ^ ab Manual del procesador PDP11: PDP11/04/34a/44/60/60 (PDF) . Digital Equipment Corporation . 1979.
  21. ^ Manual de referencia del conjunto de instrucciones y MACRO de VAX (PDF) . Compaq Computer Corporation . Abril de 2001. AA-PS6GD-TE.
  22. ^ Holloway, J. (20 de febrero de 1970). "Hardware Memo 2 - Dispositivo de búsqueda PDP-10" (PDF) . MIT AI Lab . pág. 11.
  23. ^ Manual de referencia del procesador DECsystem-10, DECSYSTEM-20 (PDF) . Digital Equipment Corporation . Junio ​​de 1982. pág. 2-63. AA-H391A-TK, AD-H391A-T1.
  24. ^ Gabriel, Richard P. (agosto de 1985). Rendimiento y evaluación de sistemas Lisp (PDF) . MIT Press. pág. 32. ISBN 9780262070935.
  25. ^ Pitman, Kent M. "PURE". Manual revisado de Maclisp, edición del domingo por la mañana.
  26. ^ Moon, David A. (abril de 1974). Manual de referencia de Maclisp (PDF) . Revisión 0. pág. 181.