0% encontró este documento útil (0 votos)
45 vistas26 páginas

Risc-Cisc Trabajo de Investigación

Componentes electrónicos

Cargado por

cliza6100
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
45 vistas26 páginas

Risc-Cisc Trabajo de Investigación

Componentes electrónicos

Cargado por

cliza6100
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 26

INVESTIGACIÓN RISC/CISC

ciencias básicas
Camacho Orellana
lizaley
2 “c*
Ing. Nogales caballero
ramiro
04/11/2024
Componentes,
instrumentación
electrónica y
arquitectura de
computadoras

Cochabamba-Bolivia
¿QUÉ ES RISC?
Son procesadores que están diseñados para ejecutar un número reducido de tipos de
instrucciones que les permite operar a una velocidad más elevada. La arquitectura RISC
principalmente requiere menos cantidad de hardware y una mayor flexibilidad de
construcción.
Debemos tener claro que una instrucción son más que indicaciones de como el
procesador debe tratar los datos. Cualquier software está construido basándose en las
instrucciones. Aunque existen muchos tipos de instrucciones, las más comunes son las
aritméticas, las lógicas y las de control de flujo.
Cuando hablamos de «reducido» no hace referencia a que la arquitectura RISC soporte
menos tipos de instrucciones. Realmente hace referencia a que las instrucciones en
RISC son más simples. Para los procesadores RISC, una instrucción de carga de datos
en memoria, no hace más operaciones. El procesador espera una nueva instrucción que
le diga lo que tiene que hacer con esos datos.
Implementar estas instrucciones en el procesador es mucho más sencillo.
Adicionalmente ocupa menos espacio en los bloques lógicos, pudiéndolos hacer mucho
más pequeños. Esto a su vez permite obtener mayores velocidades de funcionamiento.
Como las unidades aritmético-lógicas o las de punto flotante pueden ser más sencillas
que en otras arquitecturas. Permite esto a su vez dejar más espacio para otros
elementos en el encapsulado del procesador o reducir el tamaño del mismo.
ORIGEN DE LA ARQUITECTURA RISC
El inicio del desarrollo de la arquitectura RISC empezo en la decada de 1970. Las
primeras soluciones desarrolladas basadas en esta arquitectura fueron desarrolladas
por IBM y las universidades de Standford y Berkeley.
Quien parece ser que acuño el término RISC fue David Patterson, Profesor de la
Universidad de California en Berkeley. El concepto se utilizó en los procesadores
SPARC de Sun Microsystems y fue la base de la creación de MIPS Tecnologies,
actualmente parte de Silicon Grpahics.
Durante bastante tiempo se desarrollaron diferentes tipos de investigaciones sobre la
arquitectura RISC. John Cocke de IBM Research, fue quien demostró que el 20% de las
instrucciones de un ordenador podían realizar el 80% del trabajo.
El primer sistema que se benefició de estas investigaciones fue el PC/XT de IBM en
1980. Fue más tarde cuando IBM lo implemento completamente en el RISC
System/6000.
Actualmente la arquitectura RISC, por su gran flexibilidad, es muy utilizada para
desarrollar chips para smartphone y tablets. ARM es el mayor desarrollador y licenciador
de chips basados en la arquitectura RISC, aunque hay muchas empresas trabajando y
desarrollando procesadores basados en el diseño RISC.
En arquitectura computacional, RISC (del inglés Reduced Instruction Set Computer, en
español Computador con Conjunto de Instrucciones Reducidas) es un tipo de diseño de
CPU generalmente utilizado en microprocesadores o microcontroladores con las
siguientes características fundamentales:
Instrucciones de tamaño fijo y presentadas en un reducido número de formatos.
Sólo las instrucciones de carga y almacenamiento acceden a la memoria de datos.
Además estos procesadores suelen disponer de muchos registros de propósito general.
El objetivo de diseñar máquinas con esta arquitectura es posibilitar la segmentación y el
paralelismo en la ejecución de instrucciones y reducir los accesos a memoria. Las
máquinas RISC protagonizan la tendencia actual de construcción de
microprocesadores. PowerPC, DEC Alpha, MIPS, ARM,SPARC son ejemplos de
algunos de ellos.
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.
CARACTERÍSTICAS DE RISC
La arquitectura RISC se basa en cinco características de diseño:
➢ Ejecución en un único ciclo: La mayoría de los diseños de CPU
convencionales tienen una tasa máxima de ejecución de una instrucción por ciclo
de máquina básica. Para una determinada tecnología, el tiempo de ciclo puede
tener un límite inferior. En las CPU complejas, la mayoría de las instrucciones
generadas por el compilador suelen ser sencillas. El diseño RISC lo que hace es
enfatizar solo un ciclo único de ejecución. Permite incluso sintetizar secuencias
de múltiples instrucciones para operaciones menos frecuencias.
➢ Poco o ningún microcódigo: Los microcódigos lo que hacen es agregar capas
de sobrecarga operativas. Esto lo que hace es aumentar el número de ciclos por
instrucción. Algo que puede llevar a que instrucciones sencillas puedan requerir
varios ciclos de cómputo.
➢ Pocos modos de direccionamiento: Se simplifican las instrucciones complejas
y los modos de direccionamiento. Esto implica a las instrucciones del
microcódigo o del multiciclo.
➢ Diseño de registro-registro: Únicamente carga y almacena la memoria de
acceso. Estos realizan operaciones de registro-registro. Esto se deriva de los
tres principios anteriores.
➢ Pipelining profundo y eficiente: Para hacer un uso conveniente de la
paralelización del hardware sin complejo microcódigo horizontal, los
procesadores utilizan canalizaciones (pipelining). Una canalización de ‘n’ etapas
mantienen ‘z’ instrucciones activas de manera simultánea, terminando una en
cada ciclo, idealmente. Las instrucciones deben de ajustarse cuidadosamente
para permitir el pipelining.
VENTAJAS DE ESTOS PROCESADORES
Ofrecen un mejor rendimiento gracias al número simple y limitado de instrucciones que
soportan
Requiere de menor cantidad de hardware físico, lo cual reduce su coste
Permite que el espacio libre en el encapsulado se puede usar para integrar otros
circuitos
Menos consumo energético y generación de calor, haciéndolos ideales para dispositivos
móviles
Son muy polivalentes, pudiéndose usar para todo tipo de aplicaciones
Inconvenientes de estos procesadores
Podemos encontrar rendimiento variable según el software ejecutado. Es posible que
las instrucciones nuevas dependan de una instrucción anterior.
Actualmente la mayoría de software disponible (sobre todo para ordenadores de
sobremesa) se basan en instrucciones complejas
Estos procesadores necesitan de memoria muy rápida para guardar varias
instrucciones, lo cual hace necesaria mucha memoria caché para poder ejecutar las
instrucciones en muy poco tiempo.
FUNCIONES
Funciona de modo muy diferente a la CISC, su objetivo no es ahorrar esfuerzos externos
por parte del software con sus accesos a la RAM, sino facilitar que las instrucciones
sean ejecutadas lo más rápidamente posible. La forma de conseguirlo es simplificando
el tipo de instrucciones que ejecuta el procesador. Así, las instrucciones más breves y
sencillas de un procesador RISC son capaces de ejecutarse mucho más aprisa que las
instrucciones más largas y complejas de un chip CISC. Sin embargo, este diseño
requiere de mucha más RAM y de una tecnología de compilador más avanzada.
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.
Los comandos que incorpora el chip RISC en su ROM constan de varias instrucciones
pequeñas que realizan una sola tarea. Las aplicaciones son aquí las encargadas de
indicar al procesador qué combinación de estas instrucciones debe ejecutar para
completar una operación mayor.
Los comandos de RISC son todos del mismo tamaño y se cargan y almacenan del
mismo modo. Al ser estas instrucciones pequeñas y sencillas, no necesitan ser
descodificadas en instrucciones menores como en el caso de los chips CISC, pues ya
constituyen en sí unidades descodificadas. Es por ello, que el procesador RISC no gasta
tiempo verificando el tamaño del comando, en descodificarlo ni en averiguar cómo
cargarlo y guardarlo.
El procesador RISC puede además ejecutar hasta 10 comandos a la vez pues el
compilador del software es el que determina qué comandos son independientes y por
ello es posible ejecutar varios a la vez.
Al ser los comandos del RISC más sencillos, la circuitería por la que pasan también es
más sencilla. Estos comandos pasan por menos transistores, de forma que se ejecutan
con más rapidez. Para ejecutar una sola instrucción normalmente les basta con un ciclo
de reloj.

CARACTERÍSTICAS GENERALES
Las características comunes a todos los procesadores RISC, fuente de sus capacidades
de altas prestaciones son:Modelo de conjunto de instrucciones Load/Store que significa:
Cargar-Almacenar. Sólo las instrucciones Load/Store acceden a memoria; las demás
operaciones en un RISC, tienen lugar en su gran conjunto de registros. Ello simplifica el
direccionamiento y acorta los tiempos de los ciclos de la CPU, además facilita la gestión
de los fallos de paginas page faults en entornos de memoria virtual, permite un elevado
nivel de concurrencia a consecuencia de la independencia de las operaciones de
Load/Store de la ejecución del resto de las instrucciones.
❖ Arquitectura no destructiva de tres direcciones. Los procesadores CISC
destruyen la información que existe en alguno de los registros, como
consecuencia de la ejecución normal de instrucciones; esto es debido a su
arquitectura de dos direcciones, por lo que el resultado de una operación
sobrescribe uno de los registros que contenía a los operandos. Por contra, las
instrucciones RISC, con tres direcciones, contienen los campos de los dos
operandos y de su resultado. Por lo tanto, tanto los operandos origen como el
destino, son mantenidos en los registros tras haber sido completada la
operación. Esta arquitectura no destructiva permite a los compiladores organizar
las instrucciones de modo que mantengan llenos los conductos (pipelines) del
chip, y por tanto reutilizar los operandos optimizando la concurrencia.
❖ Instrucciones simples, de formato fijo, con pocos modos de direccionamiento.
Las instrucciones simples reducen de manera muy significativa el esfuerzo para
su descodificación, y favorecen su ejecución en pipelines. Las instrucciones de
longitud fija, con formatos fijos, implican que los campos de códigos de operación
opcodes y de los operandos están siempre codificados en las mismas
posiciones, permitiendo el acceso a los registros al mismo tiempo que se está
descodificando el código de operación. Todas las instrucciones tienen una
longitud equivalente a una palabra y están alineadas en la memoria en límites
de palabra word boundaries, ya que no pueden ser repartidas en pedazos que
puedan estar en diferentes páginas.
❖ Ausencia de microcódigo. El microcódigo no se presta a la ejecución en ciclos
únicos, ya que requiere que el hardware sea dedicado a su interpretación
dinámica. La programación en microcódigo no hace que el software sea más
rápido que el programado con un conjunto de instrucciones simples. Todas las
funciones y el control, en los procesadores RISC, están cableados hardwired,
para lograr una máxima velocidad y eficiencia.
❖ Ejecución en conductos pipelined. Las instrucciones simples, de formato fijo y
ciclo único permiten que las diferentes etapas de los ciclos de ejecución
búsqueda o fetch, descodificación, ejecución, y escritura del resultado o result
write-back para instrucciones múltiples, se puedan realizar simultáneamente, de
un modo más simple y eficaz.
❖ Ejecución en ciclos únicos single-cycle. El resultado directo de los conjuntos de
instrucciones que ofrecen los procesadores RISC, es que cada instrucción puede
ser ejecutada en un único ciclo de la CPU. Esto invalida la creencia de que las
microinstrucciones en microcódigo, creadas para ser ejecutadas en un solo ciclo
de procesador, son más rápidas que las instrucciones del lenguaje ensamblador.
Ya que el caché esta construido partiendo de la misma tecnología que el
almacenamiento de control del microprograma, una única instrucción puede ser
ejecutada a la misma velocidad que una microinstrucción. La ejecución en ciclos
únicos también simplifica la gestión de las interrupciones y los conductos
pipelines.
TECNOLOGIA
Los inicios de la tecnología RISC surgen en el ambiente académico, en 1980, en la
Universidad de Berkeley California, donde el Dr. David A. Pattersoninició un proyecto
denominado RISC I, obteniendo resultados en tan solo 19 meses, seguido por RISC II,
SOAR Smalltalk on a RISC y SPUR (Symbolic Processing on a RISC), pero
simultáneamente, en la Universidad de Stanford, el Dr. John Hennesy inició también un
proyecto de implementación RISC, denominado MIPS, seguido por el sistema MIPS-
XMP, enfocados hacia el proceso simbólico, demostrando así las capacidades de
velocidad de la arquitectura RISC.
Ambos profesores se vieron envueltos rápidamente, en proyectos de productos
comerciales, y en concreto,el llamado Hennesy fué uno de los fundadores de MIPS
Computer Systems, mientras Patterson actuaba de asesor durante el desarrollo del
primer SPARC.
FAMILIA MIPS
Con el nombre de MIPS (siglas de Microprocessor without Interlocked Pipeline Stages)
se conoce a toda una familia de microprocesadores de arquitectura RISC desarrollados
por MIPS Technologies.
Los diseños del MIPS son utilizados en la línea de productos informáticos de SGI; en
muchos sistemas embebidos; en dispositivos para Windows CE;routers Cisco; y
videoconsolas como la Nintendo 64 o las Sony PlayStation, PlayStation 2 y PlayStation
Portable.
Las primeras arquitecturas MIPS fueron implementadas en 32 bits (generalmente rutas
de datos y registros de 32 bits de ancho), si bien versiones posteriores fueron
implementadas en 64 bits. Existen cinco revisiones compatibles hacia atrás del conjunto
de instrucciones del MIPS, llamadas MIPS I, MIPS II, MIPS III, MIPS IV y MIPS 32/64.
En la última de ellas, la MIPS 32/64 Release 2, se define a mayores un conjunto de
control de registros. Así mismo están disponibles varias "extensiones", tales como la
MIPS-3D, consistente en un simple conjunto de instrucciones SIMD en coma flotante
dedicadas a tareas 3D comunes, la MDMX(MaDMaX) compuesta por un conjunto más
extenso de instrucciones SIMD enteras que utilizan los registros de coma flotante de 64
bits, la MIPS16 que añade compresión al flujo de instrucciones para hacer que los
programas ocupen menos espacio (presuntamente como respuesta a la tecnología de
compresión Thumb de la arquitectura ARM) o la reciente MIPS MT que añade
funcionalidades multithreading similares a la tecnología HyperThreading de los
procesadores Intel Pentium 4.
Debido a que los diseñadores crearon un conjunto de instrucciones tan claro, los cursos
sobre arquitectura de computadores en universidades y escuelas técnicas a menudo se
basan en la arquitectura MIPS. El diseño de la familia de CPU's MIPS influiría de manera
importante en otras arquitecturas RISC posteriores como los DEC Alpha.
FAMILIA SPARC
Es una arquitectura RISC originalmente diseñada por Sun Microsystems en 1985.
SPARC es una marca registrada de SPARC International, Inc., organización establecida
en 1989 para promover la arquitectura SPARC.
SPARC International abrió completamente la arquitectura SPARC, la cual ha sido
licenciada por múltiples fabricantes como Texas Instruments, Cypress Semiconductor y
Fujitsu.
Las implementaciones de la arquitectura SPARC fueron inicialmente diseñadas y
usadas para las estaciones de trabajo Sun-4 y servidores de Sun Microsystems,
reemplazando los sistemas de Sun-3 basados en la familia de procesadores Motorola
68000.
Luego, la aquitectura SPARC fue incluida en los procesadores usados en servidores
SMP desarrollados por Sun, Solbourne y Fujitsu, entre otros. Por lo general, las
computadoras SPARC utilizan sistemas operativos como SunOS o Solaris, pero
también se utiliza en otros como NEXTSTEP, RTEMS, FreeBSD, OpenBSD, NetBSD y
Linux.
La arquitectura SPARC fue fuertemente influenciada por diseños más antiguos como
RISC I y II de la Universidad de California.
A lo largo del tiempo, la arquitectura SPARC ha pasado por pocas revisiones. Las más
destacadas son la versión 8, donde obtuvo funcionalidades de división y multiplicación
de hardware, y la versión 9, donde se actualizó a 64 bits.
Algunos ejemplos de microprocesadores basados en SPARC: microSPARC I
(Tsunami), SuperSPARC II (Voyager), UltraSPARC I (Hornet), UltraSPARC IIi (IIe+),
UltraSPARC IV+ (Panther), UltraSPARC T1 (Niagara), UltraSPARC T2 (Niagara II),
UltraSPARC RK (Rock), etc.
FAMILIA POWERCP
Los procesadores de esta familia fueron producidos por IBM y Freescale Semiconductor
(que era la división de semiconductores y microprocesadores de Motorola), siendo
utilizados principalmente en ordenadores o computadores Macintosh de Apple
Computer hasta el año 2006 y en varios modelos IBM
PowerPC (usualmente abreviada PPC) es el nombre original de la arquitectura de
computadoras de tipo RISC, que fue desarrollada por IBM, Motorola, y Apple.
La filosofía RISC fue introducida por el científico informático John Cocke en la década
de los años 70s. En 1980, IBM comienza el proyecto IBM 801 donde se derivaría el
primer procesador RISC, el proyecto estuvo a cargo del mismo John Cocke. Este
procesador RISC ofreció un rendimiento bastante malo, a veces se lo denominaba
"chagar" debido al gran consumo de recursos de sus aplicaciones, lo cual obligó a IBM
a emprender el Proyecto América, con el cual lograr crear el primer procesador de la
arquitectura Power (bajo consumo de energía pero potente procesador).
En 1991, IBM se dio cuenta del potencial de su diseño Power y buscó una alianza con
Apple y Motorola para impulsar su creación; entonces surgió la alianza AIM (Apple, IBM
y Motorola, actualmente Freescale) cuyo objetivo fue desbancar el dominio Microsoft e
Intel que ofrecía sistemas basados en 80386 y 80486.
FAMILIA ALPHA
Microprocesador Compaq Alpha 21264C. La familia de procesadores de 64 bits Alpha
fue introducida por DEC(Digital Equipment Corporation). La primera implementación de
la arquitectura Alpha, el 21064, es un chip de 200 MHz con 1.7 millones de transistores
que disipa 30 W. Puede emitirse hasta dos instrucciones por ciclo. Se utilizan 4 unidades
de procesamiento independientes: unidad de enteros, coma flotante, de salto, y una de
carga/almacenamiento.
Una nueva generación de procesadores Alpha anunció Compaq Computer Corporation.
Esta familia es representada con el procesador Alpha EV6, el más rápido del mercado,
con 102,000 transacciones por minuto bajo la prueba TPC-C. Este nuevo procesador
cuenta con una arquitectura Risc avanzada que permite velocidades de 600MHz. Esta
es la quinta generación del procesador que desde 1991 maneja 64 bits y sistemas
operativos MS-NT, Unix y OpenVMS y más de 65.000 aplicaciones de negocios. Otros
procesadores Risc comenzaron la migración a 64 bits en 1998. Intel planea la migración
para el año 2000. La ventaja principal de las arquitecturas de 64 bits es su gran
capacidad de direccionamiento de memoria. Hoy el procesador Alpha direcciona hasta
28Gb de memoria RAM, considerablemente más que otros procesadores.
TECNOLOGÍA RISC:
La comparación que antes hemos realizado entre CISC y RISC es algo simple, ya que
no es sólo una cuestión de diferencias en el conjunto de instrucciones, puesto que es
fundamental resaltar el mejor uso y aprovechamiento de los recursos del silicio, es decir,
menor tiempo de diseño y empleo de menor número de transistores, lo que redunda en
menor número de errores de diseño y menor tiempo de ejecución para instrucciones
individuales.
Las características comunes a todos los procesadores RISC, fuente de sus capacidades
de altas prestaciones, son:
Modelo de conjunto de instrucciones Load/Store (Cargar/Almacenar). Sólo las
instrucciones Load/Store acceden a memoria; las demás operaciones en un RISC,
tienen lugar en su gran conjunto de registros. Ello simplifica el direccionamiento y acorta
los tiempos de los ciclos de la CPU, y además facilita la gestión de los fallos de paginas
(page faults) en entornos de memoria virtual. Además, permite un elevado nivel de
concurrencia a consecuencia de la independencia de las operaciones de Load/Store de
la ejecución del resto de las instrucciones.
Arquitectura no destructiva de tres direcciones. Los procesadores CISC destruyen la
información que existe en alguno de los registros, como consecuencia de la ejecución
normal de instrucciones; esto es debido a su arquitectura de dos direcciones, por la cual
el resultado de una operación sobrescribe uno de los registros que contenía a los
operandos. Por contra, las instrucciones RISC, con tres direcciones, contienen los
campos de los dos operandos y de su resultado. Por lo tanto, tanto los operandos origen
como el destino, son mantenidos en los registros tras haber sido completada la
operación. Esta arquitectura "no destructiva" permite a los compiladores organizar las
instrucciones de modo que mantengan llenos los conductos (pipelines) del chip, y por
tanto reutilizar los operandos optimizando la concurrencia.
Instrucciones simples, de formato fijo, con pocos modos de direccionamiento. Las
instrucciones simples reducen de manera muy significativa el esfuerzo para su
descodificación, y favorecen su ejecución en pipelines. Las instrucciones de longitud fija,
con formatos fijos, implican que los campos de códigos de operación (opcodes) y de los
operandos están siempre codificados en las mismas posiciones, permitiendo el acceso
a los registros al mismo tiempo que se está descodificando el código de operación.
Todas las instrucciones tienen una longitud equivalente a una palabra y están alineadas
en la memoria en límites de palabra (word boundaries), ya que no pueden ser repartidas
en pedazos que puedan estar en diferentes páginas.
Ausencia de microcódigo. El microcódigo no se presta a la ejecución en ciclos únicos,
ya que requiere que el hardware sea dedicado a su interpretación dinámica. La
programación en microcódigo no hace que el software sea más rápido que el
programado con un conjunto de instrucciones simples. Todas las funciones y el control,
en los procesadores RISC, están "cableados" (hardwired), para lograr una máxima
velocidad y eficiencia.
Ejecución en conductos (pipelined). Las instrucciones simples, de formato fijo y ciclo
único permiten que las diferentes etapas de los ciclos de ejecución (búsqueda o fetch,
descodificación, ejecución, y escritura del resultado o result write-back) para
instrucciones múltiples, se puedan realizar simultáneamente, de un modo más simple y
eficaz.
Ejecución en ciclos únicos (single-cycle). El resultado directo de los conjuntos de
instrucciones que ofrecen los procesadores RISC, es que cada instrucción puede ser
ejecutada en un único ciclo de la CPU. Esto invalida la creencia de que las
microinstrucciones en microcódigo, creadas para ser ejecutadas en un solo ciclo de
procesador, son más rápidas que las instrucciones del lenguaje ensamblador. Ya que el
caché esta construido partiendo de la misma tecnología que el almacenamiento de
control del microprograma, una única instrucción puede ser ejecutada a la misma
velocidad que una microinstrucción. La ejecución en ciclos únicos también simplifica la
gestión de las interrupciones y los conductos (pipelines).
CONCEPTOS DE MULTIPROCESO:
La industria informática, ha tenido siempre un objetivo primordial, repetido a lo largo de
toda su cadena (fabricantes de semiconductores, fabricantes de sistemas y usuarios):
la búsqueda de la velocidad. Para alcanzar este objetivo se han invertido ingentes
cantidades de recursos, hasta alcanzar los límites físicos del silicio.
Obviamente, la velocidad va ligada a las prestaciones, y por lo general, la primera ha
sido la principal medida para decidirse por un sistema u otro. Sin embargo, por muy
evidente que parezca, y dados los límites físicos de los semiconductores, las
prestaciones pueden no estar forzosamente ligadas a la velocidad. Hoy es posible
construir sistemas, que aún teniendo procesadores más "lentos" que otros, ofrezcan
unas prestaciones significativamente superiores. Son los sistemas multiprocesador, que
como su denominación indica, incorporan varios procesadores para llevar a cabo las
mismas funciones.
No es un concepto nuevo, ya que los "minicomputadores" construidos por compañías
como NCR, Sequent y Stratus, ya empleaban varios nodos de proceso como
alternativas económicas a otros productos de otras compañías. Sin embargo, aquellos
sistemas aún duplicaban recursos caros del sistema, como memoria y dispositivos de
entrada/salida, y por tanto, confinaban a los sistemas multiprocesador al mundo de los
sistemas de alto nivel.
Ahora, y en gran medida gracias a los procesadores de arquitectura RISC, el soporte
multiprocesador es una solución integrada y fácilmente disponible en estaciones de
trabajo de sobremesa, que resuelve, a través de hardware VLSI, los complejos
problemas de compartición de recursos (memoria compartida) de aquellas primeras
máquinas.
Evidentemente, estas mejoras en el hardware, para ser funcionales, requieren
importantes desarrollos en el software, y de hecho, muchos sistemas operativos admiten
extensiones multiproceso (Match, SCO, Solaris, System V, etc.), que proporcionan
paralelismo "en bruto" (asignando múltiples tareas a múltiples procesadores) a nivel del
sistema operativo.
Las aplicaciones escritas para facilitar el paralelismo en su ejecución, incrementan
significativamente las prestaciones globales del sistema; esto es lo que se denomina
multi-enhebrado (multithreading), que implica dividir una sola aplicación entre varios
procesadores. Sin embargo, los desarrolladores de software y programadores de
aplicaciones sólo han comenzado a explorar las vastas posibilidades de incremento de
prestaciones que ofrecen los sistemas con capacidades reales de proceso en paralelo.

El multiproceso no es algo difícil de entender: más procesadores significa mas potencia


computacional. Un conjunto de tareas puede ser completado más rápidamente si hay
varias unidades de proceso ejecutándolas en paralelo. Esa es la teoría, pero otra historia
es la práctica, como hacer funcionar el multiproceso, lo que requiere unos profundos
conocimientos tanto del hardware como del software. Es necesario conocer
ampliamente como están interconectados dichos procesadores, y la forma en que el
código que se ejecuta en los mismos ha sido escrito para escribir aplicaciones y software
que aproveche al máximo sus prestaciones.
Para lograrlo, es necesario modificar varias facetas del sistema operativo, la
organización del código de las propias aplicaciones, así como los lenguajes de
programación.
Es difícil dar una definición exacta de un sistema multiprocesador, aunque podemos
establecer una clasificación de los sistemas de procesadores en:
SISD o secuencia única de instrucciones y datos (Single Instruction, Single Data): una
sola secuencia de instrucciones opera sobre una sola secuencia de datos (caso típico
de los ordenadores personales).
SIMD o secuencia única de instrucciones y múltiple de datos (Single Instruction, Multiple
Data): una sola secuencia de instrucciones opera, simultáneamente, sobre múltiples
secuencias de datos (array processors).
MISD o múltiples secuencias de instrucciones y única de datos (Multiple Instruction,
Single Data): múltiples secuencias de instrucciones operan, simultáneamente, sobre
una sola secuencia de datos (sin implementaciones útiles actualmente).
MIMD o múltiples secuencias de instrucciones y datos (Multiple Instruction, Multiple
Data): múltiples secuencias de instrucciones operan, simultáneamente, sobre múltiples
secuencias de datos.
Los sistemas multiprocesadores pueden ser clasificados con mayor propiedad como
sistemas MIMD. Ello implica que son máquinas con múltiples y autónomos nodos de
proceso, cada uno de los cuales opera sobre su propio conjunto de datos. Todos los
nodos son idénticos en funciones, por lo que cada uno puede operar en cualquier tarea
o porción de la misma.
El sistema en que la memoria está conectada a los nodos de proceso establece el primer
nivel de distinción entre diferentes sistemas multiprocesador:
Multiprocesadores de memoria distribuida (distributed-memory multiprocessors),
también denominados multiprocesadores vagamente acoplados (loosely coupled
multiprocessors). Se caracterizan porque cada procesador sólo puede acceder a su
propia memoria. Se requiere la comunicación entre los nodos de proceso para coordinar
las operaciones y mover los datos. Los datos pueden ser intercambiados, pero no
compartidos. Dado que los procesadores no comparten un espacio de direcciones
común, no hay problemas asociados con tener múltiples copias de los datos, y por tanto
los procesadores no tienen que competir entre ellos para obtener sus datos. Ya que
cada nodo es un sistema completo, por si mismo (incluso sus propios dispositivos de
entrada/salida si son necesarios), el único límite práctico para incrementar las
prestaciones añadiendo nuevos nodos, esta dictado por la topología empleado para su
interconexión. De hecho, el esquema de interconexión (anillos, matrices, cubos, ...),
tiene un fuerte impacto en las prestaciones de estos sistemas. Además de la
complejidad de las interconexiones, una de las principales desventajas de estos
sistemas, como es evidente, es la duplicación de recursos caros como memoria,
dispositivos de entrada/salida, que además están desocupados en gran parte del
tiempo.
Multiprocesadores de memoria compartida (shared-memory multiprocessors), también
llamados multiprocesadores estrechamente acoplados (tightly coupled
multiprocessors). Son sistemas con múltiples procesadores que comparten un único
espacio de direcciones de memoria. Cualquier procesador puede acceder a los mismos
datos, al igual que puede acceder a ellos cualquier dispositivo de entrada/salida. El
sistema de interconexión más empleado para estos casos, es el de bus compartido
(shared-bus). Tener muchos procesadores en un único bus tiene el inconveniente de
limitar las prestaciones del sistema a medida que se añaden nuevos procesadores. La
razón es la saturación del bus, es decir, su sobre utilización; en un sistema de bus
compartido, se deriva por la contienda entre los diferentes dispositivos y procesadores
para obtener el control del bus, para obtener su utilización.
Es evidente, que los sistemas actuales tienden al uso de arquitecturas de memoria
compartida, fundamentalmente por razones de costes, a pesar del problema de la
contienda por el bus. Los tres fuentes fundamentalmente responsables de dicha disputa
son la memoria (cada CPU debe usar el bus para acceder a la memoria principal), la
comunicación (el bus es usado por los "bus masters" para la comunicación y
coordinación), y la latencia de la memoria (el subsistema de memoria mantiene al bus
durante las transferencias de datos, y en función de la velocidad a la que la memoria
puede responder a las peticiones, puede llegar a ser un factor muy significativo).Los
sistemas de memoria caché y el multiproceso:
Los sistemas de memoria multinivel (caché) son un esfuerzo para evitar el número de
peticiones realizadas por cada CPU al bus. Los caches son pequeñas y rápidas (y por
tanto caras) memorias, que hacen de tampón (buffer) entre la CPU y la memoria externa,
para mantener los datos y/o instrucciones. Se basan en el principio de la "localidad", lo
que significa que, dada la fundamental naturaleza secuencial de los programas, los
siguientes datos o instrucciones requeridas, estarán localizadas inmediatamente a
continuación de las actuales.
Los datos contenidos en la memoria caché se organizan en bloques denominados
líneas. Las líneas son cargadas en el caché como copias exactas de los datos situados
en la memoria externa. Para referenciar a los datos de la memoria caché, se emplean
marcas (tags) que identifican a cada línea. Las marcas o tags emplean una porción de
la dirección física de los datos, para compararla con la dirección física solicitada por la
CPU. Cuando existe una coincidencia exacta de la dirección y de otros cualificadores
(estado, privilegio, contexto, etc.), se dice que ha tenido lugar un acierto (hit) de caché;
en caso contrario, tiene lugar un fallo (miss) del caché, y en ese caso, los datos han de
ser recuperados desde la memoria.
El empleo de memoria caché se ha popularizado, como medida para acelerar el tiempo
de acceso a la memoria principal, incluso en los sistemas monoprocesador, evitando
así, según se incrementa la velocidad de los propios procesadores, aumentar la
velocidad de dicha memoria, y por tanto encarecer el sistema.
La forma en que la memoria es actualizada por los caches locales puede tener un gran
impacto en las prestaciones de un sistema multiprocesador. Básicamente hay dos
métodos:
Escritura continua (write-through). Requiere que todas las escrituras realizadas en el
caché actualicen asimismo los datos de la memoria principal. De esta forma, la memoria
principal siempre tiene la última copia de los datos, y por tanto no hay nunca ninguna
incoherencia con el caché. El inconveniente es que se producen frecuentes accesos a
memoria, especialmente superfluos cuando el software está modificando las mismas
secciones de datos repetidamente (por ejemplo ejecutando bucles).
Copia posterior (copy-back). Es un sistema mucho más eficiente, aunque también más
complejo de implementar. En este caso, la CPU puede modificar la línea de caché sin
necesidad de actualizar inmediatamente la memoria principal. Los datos sólo son
copiados a la memoria principal cuando la línea de caché va a ser reemplazada con una
nueva. Ello no solo minimiza el tráfico del bus, de vital importancia para el resto de los
procesadores, sino que también libera al procesador de la tarea de escribir en la
memoria principal. Sin embargo, este sistema, en una arquitectura de bus compartido,
implica un nuevo nivel de dificultad, denominado coherencia o consistencia (coherency
o consistency); dado que cada caché puede tener una copia de los datos existentes en
la memoria principal, el desafío es asegurar que los datos permanecen iguales entre
todos los caches. Hay dos métodos para mantener cada línea de caché idéntica a las
demás:
Escritura radiada (write-broadcast), que requiere que la CPU que modifica los datos
compartidos actualice los otros caches, para lo cual escribe en el bus la dirección de los
datos, y los datos mismos, de modo que todos los dispositivos interesados (otras CPU’s)
los capturen. Esto asegura que cada línea de caché en el sistema es una copia exacta
de las demás.
Escritura invalidada (write-invalidate), impide a una CPU modificar los datos
compartidos en su caché hasta que otros caches han invalidado sus copias. En cuanto
otros caches invalidan sus líneas, el caché modificado tiene la única copia; de este
modo, se garantiza que un sólo caché escribe una línea compartida en un momento
dado. Tiene la ventaja de conservar el ancho de banda del bus ya que los datos
modificados no tienen que ser enviados a otros caches.

Ambos sistemas requieren que los caches sean capaces de identificar peticiones en el
bus que afecten a sus datos, lo que se realiza con una técnica conocida como "sondeo
del bus" (bus snooping). Cada caché compara las direcciones de las peticiones en el
bus compartido con los datos en su propio cache, usando las marcas (tags).
Este sistema requiere un acceso concurrente a las marcas (tags) del caché por parte
del bus del sistema y del bus del procesador. Sin dicho acceso concurrente, el
procesador no podría acceder al caché durante las operaciones de sondeo del bus (que
tienen que tener prioridad de acceso a las marcas, para poder mantener la coherencia
del caché). El resultado son frecuentes atascos del procesador y consecuentemente,
bajo rendimiento.
A su vez, hay varios protocolos asociados con el sondeo del bus para el movimiento de
los datos y los mensajes entre los caches:
Intervención indirecta de los datos (indirect data intervention). Es el método más simple
de intercambio de datos entre procesadores, aunque también el menos eficiente. La 1ª
CPU hace una petición de datos, que es sondeada por la 2ª; tiene lugar un acierto de
sondeo (snoop hit) si dichos datos están en el caché de la 2ª CPU, entonces esta obtiene
el control del bus e indica a la 1ª que lo reintente más tarde. La 2ª CPU escribe los datos
de su caché a la memoria, y la 1ª CPU obtiene el control del bus de nuevo, reiniciando
la petición. Los datos son ahora suministrados por la memoria.
Intervención directa de los datos (direct data intervention). Los datos son suministrados
directamente por la 2ª CPU a la 1ª. Este mecanismo es aplicable fundamentalmente a
los sistemas con sistemas de cache de copia posterior (copy-back). Aunque pueden
evitar muchos ciclos comparados con la intervención indirecta, la memoria principal
permanece inconsistente con el caché, y debe de ser actualizada cuando la línea de
caché es vaciada.
Reflexión a memoria (memory reflection) con intervención directa. La memoria captura
los datos que han sido depositados en el bus, mientras son enviados a la CPU
solicitante. Si la línea de caché no ha sido modificada antes de que tenga lugar la última
transacción de intervención de datos, no es necesario escribir a la memoria, con lo que
se conserva el ancho de banda. Esta actualización del cache solicitante y la memoria
puede tener lugar en un mismo y único ciclo de reloj.
RISC FRENTE A CISC:
Existen varios mitos que contraponen las ventajas de la tecnología RISC frente a la
CISC, que es importante descalificar:
Los procesadores RISC ofrecen peor soporte para los lenguajes de alto nivel o HLL
(High Level Language) que lo CISC. Esta creencia se argumenta en que un conjunto de
instrucciones de "alto nivel" (CISC) es mejor soporte para lenguajes de alto nivel. Sin
embargo, la característica fundamental de los lenguajes de alto nivel, implica que el
programador sólo interacciona con el ordenador a través del propio lenguaje de alto nivel
(programación, depuración, mensajes del sistema, etc.), por lo que todos los problemas
a "bajo nivel", deben de ser transparentes y desconocidos para el. Por ello, son de nulas
consecuencias para el programador y los lenguajes de alto nivel, como se implementan
las funciones, en función del tipo de CPU.
Es más complicado escribir compiladores RISC que CISC. Dado que los procesadores
CISC tienen un mayor número de instrucciones y modos de direccionamiento, existen
por tanto más formas de hacer la misma tarea, lo que puede confundir tanto al
compilador como al que lo escribe. Por ello, subjetivamente es posible escoger una
forma de hacerlo poco adecuada, por el tipo de instrucciones o por el tiempo de
ejecución que requieren. En cambio, en un procesador RISC, hay menos opciones, por
lo que el compilador es más simple, aunque se genere, habitualmente, un 20-30% más
código; a cambio, se consigue un incremento de la velocidad de hasta un 500%.
Un programa es más rápido cuanto más pequeño. La velocidad a la que un programa
puede ser ejecutado no depende en absoluto de su tamaño, sino del tiempo de ejecución
de cada una de sus instrucciones. Dado que las instrucciones RISC son más rápidas, y
admiten mejor los pipelines, puede haber mayor paralelismo y simultaneidad en la
ejecución de pequeñas secciones de código. Dichas secciones de código pueden ser
ejecutadas en una fracción del tiempo que requiere una sola instrucción CISC.
¿QUÉ ES CISC?
Es una gran colección de instrucciones que van desde simples a muy complejas y
especializadas a nivel de lenguaje de ensamblador. CISC es un sistema de
instrucciones desarrollado por Intel que requieren de mucho tiempo para ser ejecutadas
completamente.
Lo que sucede en CISC es que se reduce la cantidad de instrucciones de un software y
se ignora el número de ciclos por instrucción. Se especializa en crear instrucciones
complejas en el hardware, ya que el hardware siempre será mucho más rápido que el
software.
Este tipo de diseño es la base de los procesadores de Intel y de AMD, sin importar la
gama o la estructura interna. Cualquiera de los procesadores producidos por ambas
compañías se basan en la arquitectura CISC.
Características de los procesadores CISC
El tamaño del código es pequeño, lo que implica una baja necesidad de memoria RAM
Las instrucciones complejas suelen necesitar más de un ciclo de reloj para ejecutar el
código
Se requieren menos instrucciones para escribir un software
Ofrece programación más sencilla en lenguaje ensamblador
Soporte para una estructura de datos compleja y fácil de compilar en lenguajes de alto
nivel
Compuesto por menos registros y más nodos de direccionamiento, habitualmente entre
5 y 20
Instrucciones pueden ser más grandes que una sola palabra
Se enfatiza la construcción de instrucciones en el hardware, ya que es más rápido que
crear el software
VENTAJAS DE LOS PROCESADORES CISC
Para el compilador se requiere de poco esfuerzo para traducir programas de alto nivel
o lenguajes de instrucciones a lenguaje ensamblador o máquina
El tamaño del código es corto, reduciendo los requisitos de memoria
Almacenar las instrucciones CISC requieren de menos cantidad de memoria RAM
Genera procesos de administración de uso de energía que permiten ajustar la velocidad
y el voltaje del reloj
Requiere de menos instrucciones configuradas para realizar la misma instrucción que la
arquitectura RISC
DESVENTAJAS DE LOS PROCESADORES CISC
Pueden requerir de varios ciclos de reloj para completar una instrucción de un software
El rendimiento del equipo sufre un descenso debido a la velocidad del reloj
La ejecución mediante canalización en procesadores CISC puede ser realmente
complicado
Este diseño de procesadores requiere muchos más transistores que la arquitectura
RISC
Utilizan sobre el 20% de las instrucciones existentes en un evento de programación
Tienen un diseño mucho mayor que la arquitectura RISC, lo cual conlleva más
generación de temperatura, mayor consumo y mayor requisito de espacio físico.
CISC: Significado, funcionamiento, aplicación y características
SIGNIFICADO
En arquitectura computacional, CISC (del inglés Complex Instruction Set Computer, en
español Computador con Conjunto de Instrucciones Complejas) es un modelo de
arquitectura de computadores. 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, en contraposición a
la arquitectura RISC.
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
del tipo RISC, llamadas generalmente microinstrucciones.
FUNCIONAMIENTO
Funciona directamente en los bancos de la memoria de computadora y no requiere a
programador llamar explícitamente ningún cargamento o las funciones el almacenar. Se
asemeja de cerca a un comando en una lengua de alto nivel. Por ejemplo, si dejamos
“a” representar el valor de 2:3 y “b” representa el valor de 5:2, después este comando
es idéntica a la declaración de C “a = a * B.”
Una de las ventajas primarias de este sistema es que el recopilador tiene que hacer muy
poco el trabajo para traducir una declaración del idioma de alto nivel a la asamblea.
Porque la longitud del código es relativamente corta, el ESPOLÓN muy pequeño se
requiere para almacenar instrucciones. El énfasis se pone en instrucciones complejas
del edificio directamente en el hardware.
CISC no representa una propuesta de arquitectura de procesador en el sentido usual.
CISC refleja la forma en que se desarrollaban y las mejoras que se habían introducido
a las arquitecturas de procesadores hasta, más o menos, 1975. CISC, es el Computador
con un Conjunto Complejo de Instrucciones (Complex Instruction Set Computer),
representa el nombre la corriente principal desarrollada en arquitectura de
computadores y, quizás, podríamos entender que es el nombre que se asigno a la
tendencia a la cual el movimiento RISC se oponía.
APLICACIÓN
Las arquitecturas CISC utilizadas desde hace 15 años han permitido desarrollar un gran
número de productos de software. Ello representa una considerable inversión y asegura
a estas familias de procesadores un mercado creciente. Sin embargo, simultáneamente
aumentan las aplicaciones en las cuales la capacidad de procesamiento que se pueda
obtener del sistema es más importante que la compatibilidad con el hardware y el
software anteriores, lo cual no solo es válido en los subsistemas de alta capacidad en el
campo de los sistemas llamados "embedded", en los que siempre dominaron las
soluciones especiales de alta capacidad de procesamiento sino también para las
estaciones de trabajo ("workstations"). Esta clase de equipos se han introducido poco a
poco en oficinas, en la medicina y en bancos, debido a los cada vez mas voluminosos y
complejos paquetes de software que con sus crecientes requerimientos de reproducción
visual, que antes se encontraban solo en el campo técnico de la investigación y
desarrollo.
En este tipo de equipos, el software de aplicación, se ejecuta bajo el sistema operativo
UNIX, el cual es escrito en lenguaje C, por lo que las arquítecturas RISC actuales están
adaptadas y optimizadas para este lenguaje de alto nivel. Por ello, todos los productores
de estaciones de trabajo de renombre, han pasado en pocos años, de los procesadores
CISC a los RISC, lo cual se refleja en el fuerte incremento anual del número de
procesadores RISC, (los procesadores RISC de 32 bits han visto crecer su mercado
hasta en un 150% anual). En pocos años, el RISC conquistará de 25 al 30% del mercado
de los 32 bits, pese al aparentemente abrumador volumen de software basado en
procesadores con el estándar CISC que se ha comercializado en todo el mundo.
CARACTERÍSTICAS
La microprogramación es una característica importante y esencial de casi todas las
arquítecturas CISC. Como por ejemplo: Intel 8086, 8088, 80286, 80386, 80486, Motorola
68000, 68010, 620, 8030, 684.
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. En la
década de los sesentas la micropramació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). La meta fundamental de la
arquitectura de CISC es terminar una tarea adentro como pocas líneas de la asamblea
como sea posible. Esto es alcanzado construyendo el hardware del procesador que es
capaz de entender y de ejecutar una serie de operaciones.
Para esta tarea particular, un procesador de CISC vendría preparado con una
instrucción específica a la que se le nombrara MULT. Cuando está instrucción esta
ejecutada, carga los dos valores en los registros separados, multiplica los operandos en
la unidad de la ejecución, y después almacena el producto en el registro apropiado. Así,
la tarea entera de multiplicar dos números se puede terminar con una instrucción.
PALABRAS FINALES SOBRE LAS DIFERENCIAS ENTRE RISC Y CIS

Los procesadores de arquitectura CISC son los procesadores Intel Core y AMD Ryzen,
por ejemplo. Mientras que los procesadores de arquitectura RISC son los utilizados para
smartphone, como puedan ser los Qualcomm Snapdragon y Samsung Exynos.

CISC RISC
Es una arquitectura con conjunto de Es una arquitectura de conjunto de
instrucciones reducido instrucciones complejas
Hace hincapié en el software para Hace hincapié en el hardware para
optimizar el conjunto de instrucciones optimizar el conjunto de instrucciones
Es una unidad de programación cableada Unidad de microprogramación en el
en el procesador procesador
Requiere múltiples conjuntos de registros Requiere un único conjunto de registros
para almacenar la instrucción para almacenar la instrucción
Tiene una sencilla decodificación de las Tiene una compleja decodificación de las
instrucciones instrucciones
Los usos de la canalización son simples Los usos de la canalización son difíciles
Utiliza un número limitado de Utiliza una gran cantidad de instrucciones
instrucciones que requiere menos tiempo que requieren más tiempo para ejecutar
para ejecutar las instrucciones las instrucciones
Utiliza LOAD y STORE que son Utiliza la instrucción LOAD y STORE en
instrucciones independientes en el la interacción de memoria a memoria de
registro para registrar la interacción de un un programa
programa
Tiene más transistores en registros de Tiene transistores para almacenar
memoria instrucciones complejas
El tiempo de ejecución es muy corto El tiempo de ejecución es mayor
Se puede utilizar con aplicaciones de Se puede utilizar con aplicaciones de alta
gama baja como domótica, sistema de gama como telecomunicaciones,
seguridad, etc. procesamiento de imágenes,
procesamiento de video, etc.
Tiene instrucciones de formato fijo
Tiene instrucciones de formato variable

El programa escrito para esta Los programas escritos para esta


arquitectura necesita ocupar más espacio arquitectura tienden a ocupar menos
en la memoria espacio en la memoria

DIFERENCIAS ENTRE PROCESADORES CISC Y RISC


Vamos a ver las diferencias entre las arquitecturas de procesadores CISC y RISC en
una sencilla tabla para que se pueda ver de manera más clara.

Cada una de estas arquitecturas de procesadores tienen unas características bastante


diferenciables entre ellas y los usos son diferentes. Podemos resumir las diferencias de
estos en que los procesadores CISC son de fuerza bruta y los procesadores RISC son
eficientes.
Actualmente estamos viendo como RISC va consiguiendo ganarle terreno a la
arquitectura CISC. El Apple M1 usado en portátiles de la compañía se basa en licencias
de ARM, quien licencia diseños de procesadores basados en RISC. Hemos visto como
Apple ha anunciado el salto de portátiles, ordenadores de sobremesa y workstation a
procesadores de arquitectura RISC. Dejará de lado la dependencia que tenía de Intel y
de los procesadores CISC.
La apuesta de NVIDIA de adquirir ARM Holdings, quien desarrolla y licencia
procesadores de arquitectura CISC, es una muestra más del cambio en la industria.
Podemos destacar incluso los procesadores Intel Alder Lake, que se basan en un diseño
de núcleos de alta eficiencia y núcleos de fuerza, una copia del diseño ARM big. LITTLE
de tipos RISC, que Intel está llevando al mundo CISC.

ARQUITECTURA CISC VS RISC

En el siguiente caso de estudio se aborda los conceptos generales sobre arquitecturas


computacionales, evolución de las arquitecturas de computadoras, máquinas CISC y
RISC, comparación CISC vs. RISC, y arquitecturas paralelas.

En una empresa de desarrollo de software llamada TechSolutions, se está llevando a


cabo un proyecto para crear un nuevo sistema de gestión de inventario en tiempo real
para una cadena de supermercados. El equipo de desarrollo se encuentra debatiendo
qué tipo de arquitectura computacional sería la más adecuada para el proyecto. A
continuación, se presenta un análisis de las diferentes opciones y sus implicaciones.

La empresa ha investigado la evolución de las arquitecturas de computadoras a lo largo


de los años y ha identificado dos enfoques principales: CISC (Complex Instruction Set
Computer) y RISC (Reduced Instruction Set Computer). Estos enfoques difieren en la
cantidad y complejidad de las instrucciones que pueden ejecutar.

El equipo de desarrollo considera utilizar una arquitectura CISC debido a su amplia


compatibilidad con el software existente. Las máquinas CISC son conocidas por tener
un conjunto de instrucciones complejo, lo que permite realizar operaciones complejas
en una sola instrucción. Sin embargo, esto puede resultar en un mayor consumo de
energía y una menor eficiencia en ciertos casos
Otra opción que se está considerando es utilizar una arquitectura RISC. Las máquinas
RISC tienen un conjunto de instrucciones más reducido y se centran en ejecutar
instrucciones simples y eficientes. Esto puede resultar en un mejor rendimiento en
aplicaciones específicas y un menor consumo de energía. Sin embargo, la
compatibilidad con software existente puede ser un desafío.

El equipo de desarrollo está discutiendo las ventajas y desventajas de cada enfoque.


Algunos argumentos a favor de CISC incluyen su compatibilidad con el software
existente y su capacidad para realizar operaciones complejas en una sola instrucción.
Por otro lado, los defensores de RISC señalan su eficiencia energética y su rendimiento
en aplicaciones específicas.

Además de considerar CISC y RISC, el equipo también está explorando las


arquitecturas paralelas. Estas arquitecturas permiten la ejecución simultánea de
múltiples instrucciones y pueden ofrecer un mayor rendimiento en ciertos escenarios.
Sin embargo, la implementación de arquitecturas paralelas puede ser compleja y
requerir una programación especializada.

Una de las primeras decisiones a la hora de diseñar un microprocesador es decidir cual


será su juego de instrucciones.
La decisión por dos razones; primero, el juego de instrucciones decide el diseño físico
del conjunto; segundo, cualquier operación que deba ejecutarse en el microprocesador
deberá poder ser descrita en términos de un lenguaje de estas instrucciones.

Frente a esta cuestión caben dos filosofías de diseño; máquinas denominadas CISC y
máquinas denominadas RISC.
ARQUITECTURA CISC
En la arquitectura computacional, CISC (complex instruction set computer) es un modelo
de arquitectura de computadora.
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, en contraposición a la arquitectura RISC.

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
del tipo RISC, llamadas generalmente microinstrucciones.
Los CISC pertenecen a la primera corriente de construcción de procesadores, antes del
desarrollo de los RISC. Ejemplos de ellos son: Motorola 68000, Zilog Z80 y toda la
familia Intel x86 usada en la mayoría de las computadoras personales actuales.
Para realizar una sola instrucción un chip CISC requiere de cuatro a diez ciclos de reloj.
Entre las ventajas de CISC destacan las siguientes:
Reduce la dificultad de crear compiladores.
Permite reducir el costo total del sistema.
Reduce los costos de creación de sftware.
Mejora la compactación de código.
Facilita la depuración de errores.
Ejemplo de microprocesadores basados en la tecnología CISC:
Intel 8086, 8088, 80286, 80386, 80486.
Motorola 68000, 68010, 68020, 68030, 6840.
ARQUITECTURA RISC:
En la arquitectura computacional, RISC (del inglés reduced instruction set computer) es
un tipo de microprocesador con las siguientes características fundamentales:
Instrucciones de tamaño fijo y presentadas en un reducido número de formatos.
Sólo las instrucciones de carga y almacenamiento acceden a la memoria de datos.
El objetivo de diseñar máquinas con esta arquitectura es posibilitar la segmentación y el
paralelismo en la ejecución de instrucciones y reducir los accesos a memoria.
Las máquinas RISC protagonizan la tendencia actual de construcción de
microprocesadores. PowerPC, DEC Alpha, MIPS, ARM, SPARC… son ejemplos de
algunos de ellos.
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.
Entre las ventajas de RISC tenemos las siguientes:
La CPU trabaja mas rápido al utilizar menos ciclos de reloj para ejecutar instrucciones.
Utiliza un sistema de direcciones no destructivas en RAM. Eso significa que a diferencia
de CISC, RISC conserva después de realizar sus operaciones en memoria los dos
operandos y su resultado, reduciendo la ejecución de nuevas operaciones.
Cada instrucción puede ser ejecutada en un solo ciclo del CPU.
Ejemplo de microprocesadores basados en la tecnología RISC:
MIPS, Millions Instruction Per Second.
PA-RISC, Hewlett Packard.
SPARC, Scalable Processor Architecture, Sun Microsystems.
POWER PC, Apple, Motorola e IBM.
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.
BIBLIOGRAFÍA
https://liliana-karina-rodriguez-may.webnode.com.ar/blog/risc-significado-
funcionamiento-aplicaciones-etc-/
https://www.theipv6company.com/html/Tutoriales/Articulos/risc.html
https://liliana-karina-rodriguez-may.webnode.com.ar/cisc-significado-funcionamiento-
aplicacion-y-caracteristicas/
https://www.profesionalreview.com/2021/07/18/risc-vs-cisc/
https://is603arquicom2016.wordpress.com/arquitectura-cisc-vs-risc/

También podría gustarte