Ir al contenido principal

Arquitectura RISC y CISC


Cuando se desarrolla una aplicación, se utilizan por lo general lenguajes de programación de alto nivel como JAVA, C++, PYTHON etc. Pero estos lenguajes durante su proceso de compilación se transforman en lenguaje ensamblador, existen casos en los cuales se desarrolla un software directamente en el lenguaje ensamblador, pero para poder realizar esto último se necesita saber la arquitectura del dispositivo. A continuación, se explicarán las arquitecturas RISC y CISC.

La arquitectura RISC, su nombre significa en inglés Reduce Instruction Set Computer, y CISC que significa en Complex Instruction set Computer. El primero hace referencia a un conjunto reducido de instrucciones en el procesador, mientras que el segundo se refiere a un conjunto complejo de instrucciones. Estos dos, forman las dos arquitecturas de procesadores que podemos encontrar en los computadores actuales, y cada uno tiene sus usos específicos y particularidades respecto al otro.

CISC (Complex Instruction Set Computer)
Fuente:https://sites.google.com/site/fhwjesus2/home/procesador-cpu/componentes-cpu/2-2arquitectura-cisc-risc/1909162.jpg?attredirects=0


Esta arquitectura tiene la particularidad de contar con una amplia gama de instrucciones, las cuales le permiten ejecutar instrucciones muy complejas y específicas, estas operaciones también pueden ser realizadas cuando se ubican en memoria y registros internos del procesador.

El uso de la arquitectura CISC fue de las primeras corrientes en los procesadores, por ello durante el tiempo han ido adoptando diversas funciones o instrucciones de las que tienen en la actualidad.

La arquitectura CISC se puede encontrar generalmente en dispositivos como:

·         Computadoras de Escritorio

·         Laptops

·         Servidores

·         Xbox One – PS4

·         Entre otros…

Algunas de las ventajas de esta arquitectura son las siguientes:

·         Mayor facilidad para crear compiladores

·         Mayor compactación de Código, debido a que se tiene funciones más específicas.

·         De acuerdo con los dos puntos anteriores, Reduce los costos de creación de software

 RISC (Reduce Instruction Set Computer)
Fuente:https://i.blogs.es/762cc5/arm/450_1000.jpg


Una característica muy propia de RISC, es que posee un conjunto reducido de instrucciones en relación con CISC, mientras en CISC tenemos instrucciones muy específicas, RISC solo posee instrucciones más generales; esto último podría interpretarse como una desventaja de RISC frente a CISC, pero no necesariamente, ya que RISC al tener instrucciones más simples y pequeñas, le permite ejecutarlas de manera mucho más rápida.

Los RISC se desarrollaron bastante después de los CISC. Una característica muy importante en RISC, es el paralelismo en la ejecución de instrucciones, esto es tan importante, que en los últimos años los procesadores CISC han ido implementando algunas tecnologías RISC para facilitar esto en estos procesadores.

La arquitectura RISC se puede encontrar generalmente en dispositivos como:

·         Smartphones

·         Tabletas

·         Raspberrys

·         Otros dispositivos principalmente portátiles…

Algunas de las ventajas de RISC son las siguientes:

·         Ejecuta instrucciones de forma más rápida

·         Paralelismo de Instrucciones

·         Cualquier instrucción puede ser ejecutada en un solo ciclo de reloj

Como se aprecia, cada arquitectura tiene sus particularidades, el RISC se encuentra principalmente en los dispositivos portátiles debido a su reducido número de instrucciones, así como de su rapidez de ejecución. Mientras que los CISC vienen con las computadoras de escritorio y otros dispositivos desde sus inicios, no obstante, ambos van evolucionando, un ejemplo mencionado es el paralelismo implementado en los CISC, obtenido básicamente de la arquitectura RISC. Ninguno es mejor que el otro solo la función que desempeñaran lo que definirá lo apto que sea el procesador. Todo los anterior nos condicionara a la hora de programar en ensamblador, por eso es muy importante conocer en cual arquitectura trabajaremos
Referencias:

Comentarios

Entradas populares de este blog

Importancia de los Sistemas Numéricos en la Computación

Un sistema de numeración se define como un conjunto de símbolos y reglas que permiten representar datos numéricos. Además, los sistemas numéricos modernos se caracterizan por ser posicionales, ya que un símbolo tiene un peso según en la posición que se encuentre en la cifra numérica. Existen distintos sistemas numéricos modernos, los más comunes son: ·          Sistema Decimal : 0-1-2-3-4-5-6-7-8-9, (Diez símbolos) ·          Sistema Binario : 0-1, (Dos símbolos) ·          Sistema Octal : 0-1-2-3-4-5-6-7, (Ocho símbolos) ·          Sistema Hexadecimal : 0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F, (Dieciséis Símbolos) Todos los sistemas mencionados anteriormente tienen reglas y relaciones que permiten la realización de las operaciones básica que conocemos como la suma, resta, multiplicación, división. La siguiente imagen presenta una comparativa de los sistemas:   Fuente: http://e-ducativa.catedu.es/44700165/aula/archivos/repositorio//4750/4920/html/tabla1.jpg El

Ciclo Fetch Decode Execute

El encargado de ejecutar un programa en una computadora u otro sistema computacional es el CPU, lo realiza siguiendo el llamado ciclo Fetch Decode Execute, con este ciclo se ejecutan todas las tareas que una computadora puede realizar. Este ciclo tiene algunas variantes y conforme ha avanzado el tiempo y la tecnología ha sufrido algunos cambios, pero el ciclo básico se conforma de las siguientes etapas: Traer la instrucción: Se obtiene la instrucción desde memoria y se almacena en el registro del CPU para instrucciones. Decodificar la instrucción: Se identifica el modo de direccionamiento de la instrucción y la ubicación de los datos a tratar, ya sea de memoria, registro o instrucción directamente. Carga de Parámetros: Se ejecuta la lectura, cargando todos los datos identificados en el paso anterior. Ejecutar: Se ejecuta la instrucción ya configurada, realiza la tarea indicada, ya sea una suma, resta, almacenar información, extraer información etc. Almacenar: Se almacen