El caso de la Reducción del conjunto de instrucciones del ordenador
Enviado por xamykg • 3 de Febrero de 2014 • Examen • 6.394 Palabras (26 Páginas) • 361 Visitas
El caso de la Reducción del conjunto de instrucciones del ordenador
David A. Patterson
Reducción del conjunto de instrucciones del ordenador tienen por objeto tanto la simplicidad en el hardware y la sinergia entre las arquitecturas y compiladores. Optimización de los compiladores se utilizan para compilar lenguajes de programación a las instrucciones que son tan comprometidos como microinstrucciones en un gran espacio de direcciones virtuales, y para hacer que el tiempo de ciclo de instrucción lo más rápido posible.
Como las tecnologías de circuitos reducen el coste relativo de procesamiento y memoria, juegos de instrucciones que son demasiado complejos se convierten en una responsabilidad distinta a la rentabilidad. Los diseñadores de Reducción del conjunto de instrucciones del ordenador (RISCs) luchan por la simplicidad en el hardware y la sinergia entre la arquitectura y los compiladores, con el fin de agilizar el procesamiento tanto como sea posible. La experiencia inicial indica que RISCs de hecho, puede correr mucho más rápido que las máquinas más convencionales diseñadas.
ANTECEDENTES
El IBM System/360, introducido por primera vez en 1964, fue el verdadero comienzo de la arquitectura de la computadora moderna. Aunque los equipos de la "familia" System/360 proporcionaron un diferente nivel de rendimiento a un precio diferente, todos corrieron software idénticos. El System/360 originó la distinción entre el ordenador arquitectura de la estructura abstracta de un equipo que un programador en lenguaje de máquina necesita saber para escribir programas y la implementación de hardware de esa estructura.
Antes del System/360, las compensaciones arquitectónicas se determinaron por el efecto sobre el precio y el rendimiento de una sola aplicación: a partir de ahora, de arquitectura compensaciones se hicieron más esotérico. Las consecuencias de las implementaciones individuales ya no serían suficientes para atender una discusión sobre el diseño del conjunto de instrucciones.
Microprogramación fue la innovación tecnológica principal detrás de este concepto de marketing. Microprogramación contaba con una pequeña memoria de control y fue una manera elegante de la construcción de la unidad de control del procesador para un sistema de instrucción general. Cada palabra de memoria de control se llama una microinstrucción, y los contenidos son esencialmente un intérprete, programado en microinstrucciones. Los principales recuerdos de estos equipos eran recuerdos de núcleo magnético, los pequeños recuerdos de control de las cuales eran por lo general 10 veces más rápido que la base.
Fabricantes de miniordenadores tienden a seguir el ejemplo de los fabricantes de mainframe, sobre todo cuando el fabricante del mainframe es IBM, y así microprogramación prendió rápidamente.
El rápido crecimiento de las memorias de los semiconductores también aceleró esta tendencia. A principios de la década de 1970. Por ejemplo, 8192 bits de memoria de sólo lectura (ROM) ocupaban más espacio que 8 bits del registro. Con el tiempo, las minicomputadoras utilizando la memoria y el control de los semiconductores se convirtió en estándar en la industria minicomputadora. Con el continuo crecimiento de la memoria de semiconductores, un conjunto de instrucciones mucho más ricas y más complicadas podría ser implementado. La comunidad de investigadores arquitectura abogó por sistemas de instrucción más ricos. Revisemos algunos de los argumentos que avanzaron en ese momento:
1. conjuntos de instrucciones simplificarían compiladores. Como se contó la historia, los compiladores eran muy difíciles de construir, y compiladores para máquinas con registros fueron los más difíciles de todos. Compiladores para arquitecturas con modelos de ejecución basados ya sea en las pilas o las operaciones de memoria a la memoria eran mucho más simple y más fiable.
2. conjuntos de instrucciones aliviarían la crisis del software. En momentos en que los costos de software estaban aumentando más rápido que los costos de hardware fueron cayendo, parecía apropiado para mover la mayor funcionalidad para el hardware como sea posible. La idea fue crear instrucciones de máquina que se asemejaban a instrucciones del lenguaje de programación, a fin de cerrar la "brecha semántica" entre lenguajes de programación y lenguajes de máquina.
3. conjuntos de instrucciones mejorarían la calidad de la arquitectura.
Después de que IBM diferenciada arquitectura de la aplicación, la comunidad de investigadores buscó maneras de medir la calidad de una arquitectura, a diferencia de la velocidad a la que las implementaciones podrían ejecutar programas. Los únicos parámetros arquitectónicos entonces ampliamente reconocidos fueron el tamaño del programa, el número de bits de instrucciones, y bits de datos obtenidos a partir de la memoria durante la ejecución del programa.
La eficiencia de la memoria era una preocupación dominante en estos indicadores porque la memoria magnética principal era muy lenta y costosa. Estas métricas son parcialmente responsables de la creencia imperante en la década de 1970 que la velocidad de ejecución es proporcional al tamaño del programa. Incluso se puso de moda para examinar largas listas de ejecución de instrucciones para ver si un par o triple de las instrucciones antiguas podrían ser reemplazadas por una sola instrucción, más potente. La creencia de que los programas más grandes eran programas invariablemente más lentos inspiró la invención de muchos formatos de instrucciones exóticas que redujeron el tamaño del programa.
El rápido aumento del circuito integrado, junto con los argumentos de la comunidad de investigación de la arquitectura en la década de 1970 dio lugar a ciertos principios de diseño que guiaron la arquitectura de computadores:
1. La tecnología de memoria utilizada para los microprogramas estaba creciendo rápidamente, por lo que grandes microprogramas añadiría poco o nada que el costo de la máquina.
2. Desde microinstrucciones eran mucho más rápido que las instrucciones normales de la máquina, moviendo las funciones del software de microcódigo hecho para un equipo más rápido y más fiable funciones.
3. También desde la velocidad de ejecución es proporcional al tamaño del programa, técnicas arquitectónicas que llevó a los programas más pequeños llevó a un equipo más rápido.
4. Registros estaban pasadas de moda y hacen que sea difícil para construir compiladores; pilas o arquitecturas de memoria a la memoria eran modelos de ejecución superiores. Como una arquitectura investigador
...