Vous êtes sur la page 1sur 4

FORMATO DE INSTRUCCIONES Define la descripcin en un bit de instruccin en trminos de las distintas partes o en campos que la componen.

Un formato de instrucciones debe incluir un cdigo de operacin (Codop) e, implica, o explcitamente, cero o ms operandos. Cada operando explicito se referencia utilizando uno de los modos de direccionamiento descrito. El formato debe, implica o explcitamente, indicar el modo de direccionamiento para cada operando. Es la mayora de los repertorios de instrucciones se emplean mas de un formato de instruccin. El diseo de un formato de instruccin es una labor compleja, habindose implementado una variedad muy amplia de diseos. En esta seccin, examinamos los aspectos clave de diseo, analizando brevemente algunos diseos que servirn de instruccin, y despus examinaremos con detalle las soluciones adoptadas en el Pentium y en el PowerPC. Longitud de instruccin El aspecto de diseo bsico a considerar en el formato es la longitud o tamao de la instruccin. Esta decisin afecta, y se ve afectada por, el tamao de la memoria, su organizacin, la estructura de buses, la complejidad del procesador y la velocidad del procesador. Esta decisin define la riqueza y flexibilidad de la maquina desde el punto de vista del programador en lenguaje ensamblador. El compromiso ms obvio esta entre el deseo de disponer de un repertorio de instrucciones mquina potente y la necesidad de ahorrar espacio. El programador desde ms codops y ms operandos facilitan el trabajo del programador, ya que puede redactar problemas de las mismas tareas. De manera similar, ms modos de direccionamiento dan ms flexibilidad al programador para implementar ciertas funciones, tales como la gestin de tablas y las bifurcaciones multi-rama. Y, por supuesto, con el aumento del tamao de la memoria principal y el uso creciente de la memoria virtual, los programadores demandan poder direccionar rangos de memoria grandes. Todo esto (codops, operandos, modos de direccionamiento y rango de direcciones) requiere de bits y empuja hacia longitudes de instruccin mayores. Pero una longitud de instruccin mayor puede ser improcedente. Una instruccin de 64 bits ocupa el doble de espacio de una de 32 bits pero probablemente no es el doble de til. Aparte de este compromiso basico, hay otras consideraciones a tner en cuenta. Debiera cumplirse o bien que el tamao de las instruccin fuera igual al tamao de las transferencias a memoria (en un sistemas basado en un bus, igual al tamao de bus de datos), o bien que uno fuera un mltiplo del otro. En caso contrario, no conseguiremos un nmero ntegro de instrucciones durante el ciclo de captacin. Una cuestin relacionada es la velocidad de transferencia de memoria. Esta velocidad no ha seguido el mismo aumento que la velocidad de los procesadores. Por ello, la memoria puede convertirse en un cuello de botella si el procesador puede ejecutar las instrucciones ms rpido que lo que tarda en captarlas. Una solucin a este problema es el uso de memoria cach; otra es utilizar instrucciones ms cortas. De nuevo, las

instrucciones de 16 bits pueden captarse el doble de rpido que las de 32 bits, pero probablemente no pueden ejecutarse el doble de rpido. Una caracterstica aparentemente irrelevante pero sin embargo importante es que la longitud de la instruccin debera ser un mltiplo de la longitud de un carcter, que normalmente es 8 bits, y de la longitud de los nmeros en coma fija. Para verlo necesitamos hacer uso de un trmino desafortunadamente mal definido, la palabra [FRAI83]. La longitud de palabra de memoria es, en cierto sentido, la unidad <<natural>> de organizacin. El tamao de una palabra define normalmente el tamao de los nmeros en coma fija (usualmente ambos coinciden). La importancia de este punto es tal que IBM, cuando introdujo el Sistema/360 y quiso emplear caracteres de 8 bits, tuvo que adoptar la decisin drstica de pasar de la arquitectura de 36 bits de las mquinas cientficas de las series de 700/7000 a una arquitectura de 32 bits. Asignacin de los bits Existen algunos factores que influyen en la decisin de la longitud del formato de instruccin. Un aspecto igualmente difcil es cmo asignar los bits en dicho formato. Los compromisos a la hora de decidir son en este caso complejos. Para una longitud de instruccin dada, existe claramente un compromiso entre el nmero de codops y la capacidad de direccionamiento. Un mayor nmero de codops obviamente implica ms bits disponibles de direccionamiento. En esta aproximacin, existe una longitud mnima de Codop pero, para algunos de ellos, se pueden especificar operaciones adicionales utilizando ms bits de la instruccin. En una instruccin de longitud fija, esto deja menos bits para direccionamiento. Esta caracterstica se emplea en aquellas instrucciones que requieren menos operandos y/o menor capacidad de direccionamiento. Los siguientes factores, relacionados entre s, afectan a la definicin del uso dado a los bits de direccionamiento: Nmero de modos de direccionamiento: un modo de direccionamiento puede a veces indicarse de manera implicita, por ejemplo ciertos podrian siempre hacer referencia a indexacin. En otros casos, los modos de direccionamiento deben ser explicitos requiriendose uno o ms bits de modo. Numero de operandos: las instrucciones tpicas de las mquinas actuales permiten dos operandos. Cada direccin de operando podra requerir sus propio indicador de modo dentro de la instruccin, o el caso del indicador de modo podria estar limitado a solo uno de los campos de direcciones. Registros frente a memoria: una mquina debe disponer de registros para traer los datos al procesador a fin de procesarlos. En el caso de un solo registro visible para el usuario (denominado usualmente acumulador) la direccin del operando est implcita y no consume bits de la instruccin. Es aconsejable desponer de 8 a 32 registros visibles para el usuario [LUND77,

HUCK83]. La mayoria de las arquitecturas comtemporneas disponen de al menos 32 registros. Nmero de conjuntos de registros: estos registros pueden emplearse a guardar datos y para almacenar direcciones para direccionamiento con desplazamiento. La tendencia actual ha sido pasar de un solo banco de registros de uso general a un grupo de dos o ms conjuntos especializados. Rango de direcciones: esta relacionado con el nmero de bits de direccionamiento directo. En direccionamiento con desplazameinto, el rango se amplia al definido por la longitud del registro de direcciones. Incluso as, es an conveniente permitir desplazamientos bastante ms largos de los del registro de direcciones, y esto requiere de un nmero relativamente grande de bits de direcciones en la instruccin. Granularidad de las direcciones: para direcciones que hacen referencia a memoria en lugar de registros, otro factor es al granularidad del direccionamiento. En un sistema de palabras de 16 o 32 bits, una direccion puede referenciar una palabra o un byte, segn elija el diseador.

Por lo tanto, el diseador se enfrenta con una gran cantidad de factores a tener en cuenta o sopesar. No est claro cun crticas son las distintas opciones. A continuacin 2 diseos de mquinas histricas sopesan los distintos factores anteriores: PDP-8: uno de los diseos de instrucciones ms sencillos para un computador, utiliza instrucciones de 12 bits y opera con palabras de 12 bits. Hay un solo registro de uso general, el acumulador. PDP-10: se diseo para ser un sistema de tiempo compartido de gran escala, haciendo hincapi en que fuera fcil de programar, incluso a costa de hardware adicional.

Formato de instrucciones del PDP-8

Algunos de los principios que se usaron para definir el repertorio de instrucciones fueron [BELL78c]: Ortogonalidad: es un principio que hace que dos variables sean independientes entre s, este trmino indica que otros elementos de una instruccin son independientes de el codop. Complitud: cada tipo de datos aritmticos (enteros, en coma fija, reales) debiera disponer de un conjunto completo e idntico de operaciones. Direccionamiento directo: mediante base ms desplazamiento, que responsabiliza al programador de la organizacin de la memoria fue evitado a favor del direccionamiento directo.

EL PDP-10 tiene una longitud de palabra de 36 bits y una longitud de instruccin de 36 bits. El codop ocupa 9 bits permitiendo hasta 512 operaciones. De hecho se define un total de 365 instrucciones diferentes.

Formato de instrucciones de PDP-10 La mayora de las instrucciones incluyen 2 direcciones, una de las cuales especfica uno de los 16 registros de uso general. Esta referencia a operando ocupa 4 bits. La otra referencia a operando comienza con un campo de direcciones de 18 bits. Este puede utilizarse como operando inmediato o como una direccion de memoria. En el segundo caso, se permite direccionamiento tanto indirecto como indexado. Los mismos registros de uso general se emplean tambin como registros ndice.

Vous aimerez peut-être aussi