• No se han encontrado resultados

Risc y Cisc

N/A
N/A
Protected

Academic year: 2021

Share "Risc y Cisc"

Copied!
17
0
0

Texto completo

(1)

"Año de la Diversificación Productiva y del Fortalecimiento de la Educación"

FACULTAD DE INGENIERÍA

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS

ARQUITECTURAS CISC Y

RISC

INTEGRANTES:

 Anaid Jimenez Moreano 009100950c

 Grety Ccorahua Yupaiccana 012100600G

 Jean Marco Perez Huaman 011200086D

 Felipe Herrera Huama 013100380f

(2)

ÍNDICE

Introducción……….…….…..Pág. 2

1. Marco Teórico………Pág. 3

1.1 Historia………..…Pág. 3

1.2 Definición……….……….Pág. 4

1.2.1Arquitectura CISC……….…….………..….Pág. 7

1.2.2 Arquitectura RISC………..…..Pág. 10

1.3 Diferencias entre CISC y RISC………...……..Pág. 13

1.4 Papel de los compiladores en un sistema RISC………….Pág. 14

Conclusión………...Pág. 15

Bibliografía………..… Pág. 16

(3)

Introducción

La evolución de la arquitectura de computadores ha mostrado una tendencia desde principios hacia una complejidad creciente del lenguaje ofrecido. Sin embargo en 1975, los arquitectos de computadores de IBM cuestionaron, con la construcción del 801, que la creciente complejidad fuera el camino más apropiado para seguir una mejor relación coste/ rendimiento. Ya que IBM no aireo demasiado en esta nueva filosofía, no tuvo gran recuperación hasta que a principios de los 80 Hennessy y Patterson (en Berkeley y Stanford) retomaron la idea y dieron lugar al movimiento RISC (Reduced Instruction Set Computer) en oposición a los tradicionales ordenadores con complejos juegos de instrucciones CISC(Complex Intruction Set Computer).

1.- Marco Teórico

1.1

Historia

(4)

Al principio de la era electrónica de los ordenadores, la memoria era un recurso muy costoso. Esto dio a la idea de que la mejor arquitectura de un ordenador era la que permita minimizar los programas (en términos de memoria ocupada). Otros factores que también se utilizaban para medir la calidad de una arquitectura era el número de bits por instrucción y la cantidad de bits de instrucciones y de datos que se alimentaban durante la ejecución de programa.

Debido a la introducción de la microprogramación (que permitió que los complejos circuitos lógicos de la unidad de control se reemplazaran por una memoria con un microprograma), se volvió mucho más barato sustituir funciones que antes se realizaban mediante una serie de instrucciones, por instrucciones más complejas que entendía y ejecutaba el microprograma. Al tener un programa menos instrucciones se conseguían dos cosas:

 Menos espacio de memoria

 Menos instrucciones que alimentar desde la lenta memoria, luego se aumentaba la velocidad de ejecución.

No obstante a medida que se incorporaban más y más funciones al micro código, el tamaño de la microprograma fue creciendo.

Otro argumento para implementar funciones complejas de micro código era que estas funciones acortaban la gran distancia semántica que había entre el lenguaje máquina y los lenguajes de alto nivel, ofreciendo un mejor soporte para los compiladores de estos lenguajes. Si la sentencia de un lenguaje de alto nivel se podía traducir a unas únicas instrucciones máquina, la construcción de los compiladores sería mucho más sencilla.

(5)

2.2 Definición

Veamos primero cual es el significado de los términos CISC y RISC:

 CISC (complex instruction set computer) Computadoras con un conjunto de instrucciones complejo.

 RISC (reduced instruction set computer) Computadoras con un conjunto de instrucciones reducido.

Los atributos complejo y reducido describen las diferencias entre los dos modelos de arquitectura para microprocesadores solo de forma superficial. Se requiere de muchas otras características esenciales para definir los RISC y los CISC típicos. Aún más, existen diversos procesadores que no se pueden asignar con facilidad a ninguna categoría determinada.

Así, los términos complejo y reducido, expresan muy bien una importante característica definitiva, siempre que no se tomen solo como referencia las instrucciones, sino que se considere también la complejidad del hardware del procesador.

(6)

Con tecnologías de semiconductores comparables e igual frecuencia de reloj, un procesador RISC típico tiene una capacidad de procesamiento de dos a cuatro veces mayor que la de un CISC, pero su estructura de hardware es tan simple, que se puede realizar en una fracción de la superficie ocupada por el circuito integrado de un procesador CISC.

Esto hace suponer que RISC reemplazará al CISC, pero la respuesta a esta cuestión no es tan simple ya que:

 Para aplicar una determinada arquitectura de microprocesador son decisivas las condiciones de realización técnica y sobre todo la rentabilidad, incluyendo los costos de software.

 Existían y existen razones de compatibilidad para desarrollar y utilizar procesadores de estructura compleja así como un extenso conjunto de instrucciones.

La meta principal es incrementar el rendimiento del procesador, ya sea

optimizando alguno existente o se desee crear uno nuevo. Para esto se deben considerar tres áreas principales a cubrir en el diseño del procesador y estas son:

 La arquitectura.

 La tecnología de proceso.

 El encapsulado.

La tecnología de proceso, se refiere a los materiales y técnicas utilizadas en la fabricación del circuito integrado, el encapsulado se refiere a cómo se integra un procesador con lo que lo rodea en un sistema funcional, que de alguna manera determina la velocidad total del sistema.

Aunque la tecnología de proceso y de encapsulado son vitales en la

elaboración de procesadores más rápidos, es la arquitectura del procesador lo que hace la diferencia entre el rendimiento de una CPU (Control Process Unit) y otra. Y es en la evaluación de las arquitecturas RISC y CISC donde

centraremos nuestra atención.

Dependiendo de cómo el procesador almacena los operando de las instrucciones de la CPU, existen tres tipos de juegos de instrucciones:

1. Juego de instrucciones para arquitecturas basadas en pilas.

2. Juego de instrucciones para arquitecturas basadas en acumulador. 3. Juego de instrucciones para arquitecturas basadas en registros. Las arquitecturas RISC y CISC son ejemplos de CPU con un conjunto de instrucciones para arquitecturas basadas en registros

.

(7)

I= N° de instrucciones

C=N° de ciclos por instrucción Tc= Duración de cada ciclo.

El propósito de las arquitecturas tradicionales CISC es minimizar esta expresión haciendo más pequeño el número d instrucciones a base de instrucciones más potentes y complejas.

(8)

2.2.1 Arquitecturas CISC:

La microprogramación es una característica importante y esencial de casi todas las arquitecturas CISC.

La microprogramación significa que cada instrucción de máquina es interpretada por una microprograma localizada en una memoria en el circuito integrado del procesador.

En la década de los sesentas la microprogramación, por sus características, era la técnica más apropiada para las tecnologías de memorias existentes en esa época y permitía desarrollar también procesadores con compatibilidad ascendente. En consecuencia, los procesadores se dotaron de poderosos conjuntos de instrucciones.

Las instrucciones compuestas son decodificadas internamente y ejecutadas con una serie de microinstrucciones almacenadas en una ROM interna. Para esto se requieren de varios ciclos de reloj (al menos uno por microinstrucción). Buscando aumentar la velocidad del procesamiento, se descubrió en base a experimentos que, con una determinada arquitectura de base, la ejecución de programas resultaban ser más eficientes. Debido a un conjunto de instrucciones simplificado, éstas se pueden implantar por hardware directamente en la CPU.

20% de las instrucciones ocupa el 80% del tiempo total de ejecución. Existen secuencias de instrucciones simples que obtienen el mismo resultado que secuencias complejas predeterminadas.

Los microprocesadores CISC tienen un conjunto de instrucciones que se caracteriza por ser muy amplio y permitir operaciones complejas entre operandos situados en la memoria o en los registros internos.

Este tipo de arquitectura dificulta el paralelismo entre instrucciones, por lo que en la actualidad la mayoría de los sistemas CISC de alto rendimiento implementan un sistema que convierte dichas instrucciones complejas en varias instrucciones simples, llamadas generalmente microinstrucciones.

La microprogramación es una característica importante y esencial de casi todas las arquitecturas CISC. La microprogramación significa que cada instrucción de máquina es interpretada por un microprograma localizado en una memoria en el circuito integrado del procesador. Las instrucciones compuestas son decodificadas internamente y ejecutadas con una serie de microinstrucciones almacenadas en una ROM interna. Para esto se requieren de varios ciclos de reloj, al menos uno por microinstrucción. Es así entonces como los chips CISC utilizan comandos que incorporan una gran diversidad de pequeñas instrucciones para realizar una única operación.

Cuando el sistema operativo o una aplicación requieren de una de estas acciones, envía al procesador el nombre del comando para realizarla junto con el resto de información complementaria que se necesite. Pero cada uno de estos comandos de la ROM del CISC varían de tamaño y, por lo tanto,

(9)

el chip debe en primer lugar verificar cuanto espacio requiere el comando para ejecutarse y poder así reservárselo en la memoria interna. Además, el procesador debe determinar la forma correcta de cargar y almacenar el comando, procesos ambos que ralentizan el rendimiento del sistema.

Ventajas:

Objetivo: ISA amplio y versátil

• Gran cantidad de instrucciones. • Instrucciones complejas.

• Gran cantidad de modos de direccionamiento. • Soporta gran cantidad de tipos de datos.

• Implementación de instrucciones de alto nivel lo más directamente posible. • Reducción del tiempo de ejecución de instrucciones complejas por medio de Implementación directa en hardware.

• Compatibilidad con miembros anteriores de la familia. • Micro arquitectura más compleja.

• Instrucciones de longitud variable.

Desventajas:

• Poco uso de las instrucciones y direccionamientos complejos.

• Poco aprovechamiento de parte de los compiladores: no es fácil encontrar la mejor instrucción para ejecutar una tarea.

• Baja densidad de código.

• Accesos a memoria disminuyen velocidad de ejecución.

Características:

(10)

 Utiliza memoria de microprograma.

 Tienen un conjunto de instrucciones que se caracteriza por ser muy amplio y permitir operaciones complejas.

Ejemplos:

 Motorola 68000 ( microprocesador CISC 16/32 -bit)  Zilog Z80 ( microprocesador de 8 bits)

 Intel x86  AMD x86-64

2.2.2 Arquitecturas RISC

Es un tipo de diseño de CPU generalmente utilizado en microprocesadores o micro controladores con las siguientes características fundamentales:

1. Instrucciones de tamaño fijo y presentado en un reducido número de formatos.

2. Sólo las instrucciones de carga y almacenamiento acceden a la memoria de datos.

(11)

Además estos procesadores suelen disponer de muchos registros de propósito general.

RISC es una filosofía de diseño de CPU para computadora que está a favor de conjuntos de instrucciones pequeñas y simples que toman menor tiempo para ejecutarse. El tipo de procesador más comúnmente utilizado en equipos de escritorio, el x86, está basado en CISC en lugar de RISC, aunque las versiones más nuevas traducen instrucciones basadas en CISC x86 a instrucciones más simples basadas en RISC para uso interno antes de su ejecución.

La idea fue inspirada por el hecho de que muchas de las características que eran incluidas en los diseños tradicionales de CPU para aumentar la velocidad estaban siendo ignoradas por los programas que eran ejecutados en ellas. Además, la velocidad del procesador en relación con la memoria de la computadora que accedía era cada vez más alta. Esto conllevó la aparición de numerosas técnicas para reducir el procesamiento dentro del CPU, así como de reducir el número total de accesos a memoria.

Características:

 Estos microprocesadores siguen tomando como base el esquema moderno de Von Neumann.

 Las instrucciones, aunque con otras características, siguen divididas en tres grupos:

o Transferencia.

b) Operaciones.

c) Control de flujo.

 Reducción del conjunto de instrucciones a instrucciones básicas simples, con la que pueden implantarse todas las operaciones complejas.

 Arquitectura del tipo load-store (carga y almacena). Las únicas instrucciones que tienen acceso a la memoria son 'load' y 'store'; registró a registro, con un menor número de acceso a memoria.

 Casi todas las instrucciones pueden ejecutarse dentro de un ciclo de reloj. Con un control implantado por hardware (con un diseño del tipo load-store), casi todas las instrucciones se pueden ejecutar cada ciclo de reloj, base importante para la reorganización de la ejecución de instrucciones por medio de un compilador.

(12)

la instrucción, ya que esta técnica permite que una instrucción puede empezar a ejecutarse antes de que haya terminado la anterior.

El hecho de que la estructura simple de un procesador RISC conduzca a una notable reducción de la superficie del circuito integrado, se aprovecha con frecuencia para ubicar en el mismo, funciones adicionales:

 Unidad para el procesamiento aritmético de punto flotante.

 Unidad de administración de memoria.

 Funciones de control de memoria cache.

 Implantación de un conjunto de registros múltiples.

La relativa sencillez de la arquitectura de los procesadores RISC conduce a ciclos de diseño más cortos cuando se desarrollan nuevas versiones, lo que posibilita siempre la aplicación de las más recientes tecnologías de semiconductores. Por ello, los procesadores RISC no solo tienden a ofrecer una capacidad de procesamiento del sistema de 2 a 4 veces mayor, sino que los saltos de capacidad que se producen de generación en generación son mucho mayores que en los CISC.

Por otra parte, es necesario considerar también que:

 La disponibilidad de memorias grandes, baratas y con tiempos de acceso menores de 60 ns en tecnologías CMOS.

 Módulos SRAM (Memoria de acceso aleatorio estática) para memorias cache con tiempos de acceso menores a los 15 ns.

 Tecnologías de encapsulado que permiten realizar más de 120 terminales.

Esto ha hecho cambiar, en la segunda mitad de la década de los ochentas, esencialmente las condiciones técnicas para arquitecturas RISC.

La relativa sencillez de la arquitectura de los procesadores RISC conduce a ciclos de diseño más cortos. Por ello, los procesadores RISC no solo tienden a ofrecer una capacidad de procesamiento del sistema de 2 a 4 veces mayor, sino que los saltos de capacidad que se producen de generación en generación son mucho mayores que en los CISC.

(13)

Por otra parte, es necesario considerar también que:

 La disponibilidad de memorias.

 Módulos SRAM.

 Tecnologías de encapsulado.

Ventajas:

Objetivo: Implementar el caso frecuente para ejecución rápida.

 Conjunto de instrucciones reducido y simple.

 Conjunto de instrucciones ortogonal (sólo una instrucción para cada función).

 Pocos modos simples de direccionamiento.

 Pocos tipos de datos soportados.

 Arquitectura load/store.

 Gran número de registros de propósito general.

 Longitud de instrucción fija.

 Compiladores más sencillos y eficientes.  Microarquitectura más simple.

 Instrucciones más cortas, menos tiempo de acceso a memoria.

Desventajas:

 Mayor número de líneas de código para una función.

 Compatibilidad con arquitecturas antiguas es más difícil de mantener.

2.3 Diferencias Arquitectura RISC y CISC

La siguiente tabla esquematiza algunas de las principales características de las arquitecturas RISC Y CISC.

(14)

Hoy en día, los programas cada vez más grandes y complejos demandan mayor velocidad en el procesamiento de información, lo que implica la búsqueda de microprocesadores más rápidos y eficientes.

Los avances y progresos en la tecnología de semiconductores, han reducido las diferencias en las velocidades de procesamiento de los microprocesadores con las velocidades de las memorias, lo que ha repercutido en nuevas

tecnologías en el desarrollo de microprocesadores. Hay quienes consideran que en breve los microprocesadores RISC (reduced instruction set computer) sustituirán a los CISC (complex instruction set computer), pero existe el hecho que los microprocesadores CISC tienen un mercado de software muy

difundido, aunque tampoco tendrán ya que establecer nuevas familias en comparación con el desarrollo de nuevos proyectos con tecnología RISC. La arquitectura RISC plantea en su filosofía de diseño una relación muy estrecha entre los compiladores y la misma arquitectura como se verá más adelante.

(15)

El compilador:

Motivos por el que los compiladores no utilizan el juego completo de instrucciones es que levaría mucho tiempo analizar en cada sentencia cual es la instrucción o secuencia de instrucciones más rápida o más corta. Para favorecer la tarea del compilador se debe ofrecer un juego de instrucciones que sea regular.

2.3.1 Papel de los compiladores en un sistema RISC:

El compilador juega un papel clave para un sistema RISC equilibrado. Todas las operaciones complejas se trasladan al microprocesador por medio de conexiones fijas en el circuito integrado para agilizar las instrucciones básicas más importantes. De esta manera, el compilador asume la función de un mediador inteligente entre el programa de aplicación y el microprocesador. Es decir, se hace un gran esfuerzo para mantener al hardware tan simple como sea posible, aún a costa de hacer al compilador considerablemente más complicado. Esta estrategia se encuentra en clara contra posición con las

(16)

práctica, la existencia en algunos modos de direccionamiento complicados en los microprocesadores CISC, hacen que tanto el compilador como el

microprograma sean muy complicados.

No obstante, las máquinas CISC no tienen características complicadas como carga, almacenamiento y salto que consumen mucho tiempo, las cuales en efecto aumentan la complejidad del compilador.

Conclusiones

Las arquitecturas RISC y CISC son ejemplos de CPU con un conjunto de instrucciones para arquitecturas basadas en registros

.

 La microprogramación es una característica importante y esencial de casi todas las arquitecturas CISC.

 La microprogramación significa que cada instrucción de máquina es interpretada por una microprograma localizada en una memoria en el circuito integrado del procesador.

 Los microprocesadores CISC tienen un conjunto de instrucciones que se caracteriza por ser muy amplio y permitir operaciones complejas entre operandos situados en la memoria o en los registros internos.

Arquitecturas RISC:

 RISC es una filosofía de diseño de CPU para computadora que está a favor de conjuntos de instrucciones pequeñas y simples

 Instrucciones más cortas, menos tiempo de acceso a memoria

 Arquitectura load/store.

 Gran número de registros de propósito general.  Longitud de instrucción fija.

(17)

Bibliografía

Camacho, R. (17 de Marzo de 2012). Arquitectura RISC y CISC . Obtenido de Computo Integrado Web Site:

http://rcmcomputointegrado.blogspot.com/2012/03/arquitectura-risc-y-cisc.html

Osses Anguita, E. (20 de septiembre de 2001). RISC / CISC. Obtenido de http://pitagoras.usach.cl/~eflores/lcc/cd_arq/arquitectura/t1-risc-cisc.pdf

Vega, J. & Sánchez, R. & Salgado, G. (2008). Arquitectura RISC vs CISC. Octubre 14,2008, de UNIVERSIDAD AUTONOMA METROPOLITANA

UNIDAD AZCAPOTZALCO DIVISION CIENCIAS BASICAS E INGENIERIA Sitio web: http://www.azc.uam.mx/publicaciones/enlinea2/num1/1-2.htm

Referencias

Documento similar