Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Matrícula:
174745
Grupo:
K116
Programa de estudios:
Ingeniería en Sistemas Computacionales
Materia:
Estructuras en lenguaje ensamblador
Asesor:
Eduardo Bella Villaseñor
Fecha y lugar
Cadereyta de Montes, 07 de marzo de 2024
Objetivo
Identificar por medio de un cuadro sinóptico los principios de funcionamiento de las arquitecturas RISC y CISC para
comprender su importancia dentro de la CPU.
Instrucciones
La arquitectura de las computadoras consiste en un conjunto de técnicas que permiten construir maquias lógicas generales
programables en forma práctica. Se puede decir que la arquitectura es la visión funcional (el conjunto de recursos que “ve” el
programador), mientras que la organización es la forma en que se construye una cierta arquitectura en base a circuitos lógicos.
Esta arquitectura fue propuesta por el matemático John von Neumann para a construcción de la computadora EDVAC en 1945
(la maquina se terminó de construir en 1949), sucesora de la que se considera la primera computadora electrónica, la ENIAC
(1946).
Una arquitectura de von Neumann tiene tres bloques constructivos básicos; la Unidad Central de Procesamiento (CPU), la
memoria y la Entrada/Salida.
CPU: tiene la tarea de ejecutar los programas.
Memoria: almacena el programa (conjunto de instrucciones ordenado lógicamente) y datos (operadores y resultados
de la ejecución de las instrucciones).
Entrada/salida: comunica al computador con el mundo exterior, permitiendo la interacción con los usuarios y con otras
computadoras.
Una arquitectura particular (Intel x86, Power PC, SPARC, MIPS, etc.) establece en forma diferenciada los siguientes elementos
característicos, los que deben ser conocidos por los programadores “de bajo nivel” para poder escribir programas para una de
esas arquitecturas:
Esta arquitectura empezó a desarrollarse en la década de los 70. Las primeras soluciones desarrolladas basadas en esta
arquitectura fueron desarrolladas por IBM y las universidades de Standford y Berkeley.
Hoy en día la arquitectura RISC, debido a su flexibilidad, es muy usada para desarrollar chips para smartphone y tablets. ARM
es el más grande desarrollador de chips basados en esta arquitectura.
La arquitectura RISC hace referencia a procesadores que están diseñados para ejecutar un número reducido de tipos de
instrucciones, lo cual les permite operar a una velocidad más elevada. Esta arquitectura principalmente, requiere menos
cantidad de hardware y una mayor flexibilidad de construcción.
No obstante, cuando nos referimos a ”reducido” no significa que la arquitectura soporte menos instrucciones, sino que hace
referencia a que las instrucciones en RISC son más simples. Es decir, el procesador espera una nueva instrucción que le diga
que tiene que hacer con esos datos.
Características de RISC
Ejecución en un único ciclo: 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 de menos frecuencia.
Poco o ningún microcódigo: los microcódigos agregan sobrecargas operativas, por ende, aumenta el número de
ciclos por instrucción.
Pocos modos de direccionamiento: se simplifican instrucciones complejas y los modos de direccionamiento.
Diseño de registro-registro: únicamente carga y almacena la memoria de acceso.
Ventajas: mejor rendimiento, menor cantidad de hardware físico, menor consumo energético y generación de calor,
son polivalentes.
Desventajas: rendimiento variable según el software, la mayoría de software actual se basa en instrucciones
complejas, necesitan tecnologías de almacenamiento muy rápidas.
Arquitectura CISC (Complex Instruction Set Computing)
Una de las premisas que caracteriza esta arquitectura es que con ella 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, debido a que el
hardware siempre será mucho más rápido que el software.
Características
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 un 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, normalmente entre 5 y 20.
Se enfatiza la construcción de instrucciones en el hardware, debido a que es más rápido que crear el software.
Ventajas y desventajas
Ventajas
Para el compilador se requiere 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
Puede 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 complicada.
Estos procesadores requieren de muchos más transistores que la arquitectura RISC.
Utilizan sobre el 20% de las instrucciones existentes en un evento de programación.
Tiene un mayor diseño que la arquitectura RISC, lo cual conlleva más generación de temperatura, mayor consumo y
mayor requisito de espacio físico.
Concepto/características Arquitectura RISC (Reduced Instruction Arquitectura CISC (Complex
Set Computing) Instruction Set Computing)
Características Ejecución en un único ciclo. Tamaño de código pequeño.
Poco o ningún microcódigo. Se requieren menos instrucciones
Pocos modos de direccionamiento. para escribir un software.
Requiere menos cantidad de hardware Soporte para una estructura de datos
y una mayor flexibilidad de compleja y fácil de compilar en
construcción. lenguajes de alto nivel.
Compuesto por menos registros y
más nodos de direccionamiento,
normalmente entre 5 y 20
Ventajas Mejor rendimiento. El tamaño del código es corto,
Menor cantidad de hardware físico. reduciendo los requisitos de memoria.
Menor consumo energético y Para el compilador se requiere poco
generación de calor, son polivalentes. esfuerzo para traducir programas de
alto nivel.
Desventajas Rendimiento variable según el software, la Tiene un mayor diseño que la
mayoría de software actual se basa en arquitectura RISC, lo cual conlleva
instrucciones complejas, necesitan más generación de temperatura,
tecnologías de almacenamiento muy mayor consumo y mayor requisito de
rápidas. espacio físico.
El rendimiento del equipo sufre un
descenso debido a la velocidad del
reloj.
Puede requerir de varios ciclos de
reloj para completar una instrucción
de un software.
Rendimiento Mejor rendimiento en operaciones simples El rendimiento del equipo sufre un
pero repetitivas, además de que tiene un descenso debido a la velocidad del reloj.
ciclo de reloj más corto. Pero es muy eficiente en tareas exigentes
y muy variadas.
Usos Debido a su flexibilidad es usada para Se usa en equipos que requieren realizar
dispositivos móviles (smartphones y tablets, tareas más demandantes en dispositivos
por ejemplo). de planta (PC y laptops, principalmente).
Ciclos de ejecución Su diseño enfatiza solo un ciclo único de Las instrucciones complejas suelen
ejecución. Permite incluso sintetizar necesitar más de un ciclo de reloj para
secuencias de múltiples instrucciones para ejecutar un código.
operaciones de menos frecuencia.
Diseño Basado en la terminología “registro – Se basa en completar una tarea en el
registro” únicamente almacena y carga la menor número de líneas de código
memoria de acceso. ensamblador posibles.
Conclusiones/reflexión
Entre las cosas que más despertaron mi interés y mi atención es el hecho de que exista toda una infraestructura, es decir,
RISC y CISC detrás de ellos y más aún, que existe toda una infraestructura detrás de los procesadores de dispositivos móviles
y de dispositivos usados más profesional y laboralmente como las PC de escritorio y las laptops (de diferentes gamas).
Me ha llenado de entusiasmo saber que ninguna de estas dos arquitecturas son mejor o peor que la otra, sino que cada una
cubre un sector diferente y que ambas contienen sus diferencias, virtudes y áreas de oportunidad entre sí. Al final, ambas son
muy importantes.
Referencias
Arquitectura de computadoras. (15 de mayo de 2017). Obtenido de Arquitectura de computadoras:
https://www.fing.edu.uy/tecnoinf/mvd/cursos/arqcomp/material/teo/arq-teo05.pdf
Solé, R. (17 de julio de 2021). Profesional Review. Obtenido de Profesional Review: https://www.profesionalreview.com/2021/07/17/que-
es-risc/
Solé, R. (18 de julio de 2021). Profesional Review. Obtenido de Profesional Review: https://www.profesionalreview.com/2021/07/18/risc-
vs-cisc/