Reduced instruction set computing
Además, la velocidad del procesador en relación con la memoria de la computadora que accedía era cada vez más alta.Terminología más moderna se refiere a esos diseños como arquitecturas de carga-almacenamiento.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.Otra versión podría leer los dos números de la memoria, pero almacenaría el resultado en un registro.La meta en general en aquel tiempo era proveer cada posible modo de direccionamiento para cada instrucción, un principio conocido como ortogonalidad.Esto llevó 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.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.Esta paradoja fue un efecto colateral del tiempo que se utilizaba diseñando los CPU, los diseñadores simplemente no tenían tiempo de optimizar cada instrucción posible, y en vez de esto solo optimizaban las más utilizadas.Aún a finales de los setenta, era aparente que esta disparidad continuaría incrementándose al menos durante la siguiente década, para entonces los CPU podrían ser cientos de veces más rápidos que la memoria.Otra parte del diseño RISC llegó desde las medidas prácticas de los programas en el mundo real.Tomando este hecho en cuenta sugiere que una máquina debería permitir que las constantes fuesen almacenadas en los bits sin utilizar de otras instrucciones, disminuyendo el número de accesos a memoria.Esta es la razón por la que la forma más correcta de denominar este diseño es cargar-almacenar.Al mismo tiempo no estaba claro dónde habría o no una ganancia neta en el desempeño debido a esta limitación, y hubo una batalla casi continua en el mundo de la prensa y del diseño sobre los conceptos de RISC.Así mismo, la paginación de la memoria RAM era dinámica y se asignaba una cantidad suficiente a cada instancia, existiendo una especie de 'simbiosis' entre la potencia del microprocesador y la RAM dedicada a cada instancia del mismo.La multitarea dentro de la arquitectura CISC nunca ha sido real, tal como en los RISC sí lo es.En CISC, el microprocesador en todo su conjunto está diseñado en tantas instrucciones complejas y diferentes, que la subdivisión no es posible, al menos a nivel lógico.Los microprocesadores actuales, al ser híbridos, permiten cierta parte de multitarea real.La capa final al usuario es como un CISC tradicional, mientras que las tareas que el usuario deja pendientes, dependiendo del tiempo de inactividad, el sistema traducirá las instrucciones (el software ha de ser compatible con esto) CISC a RISC, pasando la ejecución de la tarea a bajo nivel, en donde los recursos se procesan con la filosofía RISC.En pocas palabras esto significa que para cualquier nivel de desempeño dado, un chip RISC típicamente tendrá menos transistores dedicados a la lógica principal.Esto permite a los diseñadores una flexibilidad considerable; así pueden, por ejemplo: Las características que generalmente son encontradas en los diseños RISC son: Los diseños RISC también prefieren utilizar como característica un modelo de memoria Harvard, donde los conjuntos de instrucciones y los conjuntos de datos están conceptualmente separados; esto significa que el modificar las direcciones donde el código se encuentra pudiera no tener efecto alguno en las instrucciones ejecutadas por el procesador (porque la CPU tiene separada la instrucción y el caché de datos, al menos mientras una instrucción especial de sincronización es utilizada).Esta instrucción mantiene la ALU de la CPU ocupada por el tiempo extra normalmente necesario para ejecutar una brecha.Un programa que se limita asimismo a 32 registros por procedimiento puede hacer llamadas a procedimientos muy rápidas: la llamada, y el regreso, simplemente mueven la ventana de 32 registros actual para limpiar suficiente espacio de trabajo para la subrutina, y el regreso restablece esos valores.Casi al mismo tiempo, John Hennessy comenzó un proyecto similar llamado MIPS en la Universidad de Stanford en 1981.MIPS se centraba casi completamente en la segmentación, asegurándose de que ejecutara tan lleno como fuera posible.Sin embargo, también tenía un efecto colateral negativo al eliminar muchas de las instrucciones potencialmente utilizables, como una multiplicación o una división.De hecho, casi todos los procesadores RISC modernos son copias directas del diseño RISC-II.Entonces movieron sus computadoras centrales S/370 a los chips basados en IBM POWER, y se sorprendieron al ver que aun el conjunto de instrucciones muy complejas (que era parte del S/360 desde 1964) corría considerablemente más rápido.Motorola construyó un nuevo diseño pero no le vio demasiado uso y finalmente lo abandonó, uniéndose a IBM para producir el PowerPC.AMD lanzó su familia 29000 la cual se convirtió en el diseño RISC más popular a principios de los noventa.Después del lanzamiento de la SUN SPARCstation los otros proveedores se apuraron a competir con sus propias soluciones basadas en RISC.