Programacion
E.U.P. Valladolid
11
formatos de instrucción
La representación de la instrucción en la computadora se denomina formato. Sabemos que un programa está formado por una secuencia de instrucciones, cada una de las cuales especifica una acción particular. La parte esencial de la instrucción es lo que llamamos código de operación, que señala la acción que debeejecutarse. Muchas instrucciones contienen además los datos que usan o especifican donde están. Así, por ejemplo, una instrucción que compare dos caracteres para ver si son iguales, debe especificar qué caracteres se han de comparar. Todo lo relativo a la especificación de dónde está el dato o dónde hay que almacenar el resultado se llama direccionamiento y lo estudiaremos en la lección siguiente.11.1 Criterios en el diseño de los formatos de instrucción
Cuando un grupo de diseñadores de una computadora ha de elegir un formato (o formatos) de instrucción, son múltiples los factores que han de tenerse en cuenta. El primero y más importante es que las instrucciones cortas son mejor que las largas. Así un programa formado por n instrucciones de 16 bits ocupa la mitad de espacio en memoriaque uno con n instrucciones de 32 bits. Este requisito es importante, ya que la memoria no es gratuita, y cuanta más memoria usemos para almacenar las instrucciones (programas), menos datos podremos almacenar simultáneamente en memoria central, y por lo tanto, aumentará el uso de la memoria secundaria, con lo que el procesamiento del programa será más lento. La segunda razón a tener en cuenta,viene impuesta por la velocidad de transferencia que posee la memoria, que en general viene determinada por la tecnología empleada en su diseño. Hemos dicho que esta velocidad de transferencia o caudal de una memoria es el número de bits por segundo que pueden ser leídos en ella. • Si el caudal de una memoria es de t bits por segundo y la longitud media de instrucción es de r bits, entonces lamemoria puede entregar un máximo de t/r instrucciones por segundo. Esto implica que la velocidad de ejecución de las instrucciones depende de la longitud, ya que toda instrucción antes de ser ejecutada (fase de operación) ha de ser leída (fase de búsqueda), y por lo tanto, las instrucciones más cortas requieren un procesador más rápido. • Si el tiempo de ejecución es muy largo comparado con el requeridopara la extracción de memoria, no hay problema, pero en caso contrario pueden producirse anomalías si la CPU es rápida, presentando la memoria situaciones de cuello de botella. Otra razón importante en el diseño de los formatos de instrucción es la de dejar suficiente sitio (suficientes bits) en la instrucción para expresar todas las operaciones deseadas. Es imposible pensar en una máquina con 2noperaciones (o instrucciones) distintas utilizando menos de n bits en la instrucción. También resulta muy conveniente que la longitud de la palabra de instrucción sea un múltiplo entero de la longitud de palabra de memoria. Si la longitud de palabra de memoria es de k bits, la palabra de instrucción debería tener una longitud de k, 2k, 3k, ... Podríamos incluir otro criterio para el diseño delformato de instrucciones que ya hemos visto con anterioridad. Se trata de elegir el número de campos de dirección que va a tener la instrucción (recordemos formatos de instrucción de 4, 3, 2, 1 y 0 direcciones). Además, debe tenerse en cuenta el número de bits del
Formatos de instrucción
Página 1
Departamento de Informática.
E.U.P. Valladolid
campo de dirección, ya que incluir uncampo de dirección en un formato de instrucción implica quitar esos bits del campo de código de operación, tal y como se verá en la siguiente pregunta.
11.2 Códigos de operación con extensión
Consideremos una instrucción de n+k bits de longitud con un código de operación de k bits y una única dirección de n bits. Esta instrucción admite 2k operaciones diferentes y 2n células de memorias...
Regístrate para leer el documento completo.