risc
Uno de los principios básicos de diseño para todos los procesadores es añadir velocidad al proveerles alguna memoria muy rápida para almacenar información temporalmente, estas memorias son conocidas como registros. Por ejemplo, cada CPU incluye una orden para sumar dos números. La operación básica de un CPU sería cargar esos dos números en los registros,sumarlos y almacenar el resultado en otro registro, finalmente, tomar el resultado del último registro y devolverlo a la memoria principal.
Sin embargo, los registros tienen el inconveniente de ser algo complejos para implementar. Cada uno está representado por transistores en el chip, en este aspecto la memoria principal tiende a ser mucho más simple y económica. Además, los registros le añadencomplejidad al cableado, porque la unidad central de procesamiento necesita estar conectada a todos y cada uno de los registros para poder utilizarlos por igual.
Como resultado de esto, muchos diseños de CPU limitan el uso de registros de alguna u otra manera. Algunos incluyen pocos registros, aunque esto limita su velocidad. Otros dedican sus registros a tareas específicas para reducir lacomplejidad; por ejemplo, un registro podría ser cap registros, mientras que el resultado podría estar almacenado en cualquiera de ellos.
En el mundo de la microcomputación de los años setenta, éste era un aspecto más de las CPU, ya que los procesadores eran entonces demasiado lentos –de hecho había una tendencia a que el procesador fuera más lento que la memoria con la que se comunicaba-. En esoscasos tenía sentido eliminar casi todos los registros, y entonces proveer al programador de una buena cantidad de maneras de tratar con la memoria para facilitar su trabajo.
Dado el ejemplo de la suma, la mayoría de los diseños de CPU se enfocaron a crear una orden que pudiera hacer todo el trabajo automáticamente: llamar los dos números que serían sumados, sumarlos, y luego almacenarlos fueradirectamente. Otra versión podría leer los dos números de la memoria, pero almacenaría el resultado en un registro. Otra versión podría leer uno de la memoria y otro desde un registro y almacenarlo en la memoria nuevamente. Y así sucesivamente.
La meta en general en aquel tiempo era proveer cada posible modo de direccionamiento para cada instrucción, un principio conocido como ortogonalidad. Estollevó a un CPU complejo, pero en teoría capaz de configurar cada posible orden individualmente, haciendo el diseño más rápido en lugar de que el programador utilizara órdenes simples.
La última representación de este tipo de diseño puede ser vista en dos equipos, el MOS 6502 por un lado, y el VAX en el otro. El chip 6502 de $25 USD efectivamente tenía solamente un registro, y con laconfiguración cuidadosa de la interfaz de memoria fue capaz de sobrepasar diseños corriendo a velocidades mayores (como el Zilog Z80 a 4MHz). El VAX era un minicomputador que en una instalación inicial requería 3 gabinetes de equipo para un solo CPU, y era notable por la sorprendente variedad de estilos de acceso a memoria que soportaba, y el hecho de que cada uno de éstos estaba disponible para cadainstrucción.
[editar] Filosofía de diseño RISC
A finales de los setenta, investigaciones en IBM (y otros proyectos similares en otros lugares), demostraron que la mayoría de esos modos de direccionamiento ortogonal eran ignorados por la mayoría de los programas. Esto fue un efecto colateral en el incremento en el uso de compiladores para generar los programas, algo opuesto a escribirlos en lenguajeensamblador. Los compiladores tendían a ser demasiado tontos en términos de las características que usaban, un efecto colateral del intento por hacerlos pequeños. El mercado se estaba moviendo hacia un uso más generalizado de los compiladores, diluyendo aún más la utilidad de los modelos ortogonales.
Otro descubrimiento fue que debido a que esas operaciones eran escasamente utilizadas, de...
Regístrate para leer el documento completo.