UNIVERSIDAD AUTÓNOMA DE NUEVO LEÓN
FACULTAD DE INGENIERÍA MECÁNICA Y
ELÉCTRICA
Microcontroladores
TITULO DE LA TAREA:
TAREA 2
DOCENTE: Alejandro Pérez González
Semestre: Enero Julio 2024
Hora: Jueves N4 N5 N6
Grupo: 013
Salón: 7207
Matricula Nombre COMPLETO Programa
Educativo
2172291 Job Neftalí Chávez IMC
Saldaña
Fecha de entrega: 05/02/25
¿Qué es un microcontrolador?
Una unidad de microcontrolador (MCU) es esencialmente una
computadora pequeña en un solo chip. Está diseñado para administrar
tareas específicas dentro de un sistema integrado sin requerir un
sistema operativo complejo.
Estos circuitos integrados compactos (IC) contienen un núcleo de
procesador (o núcleos), memoria de acceso aleatorio (RAM) y memoria
de solo lectura programable borrable eléctricamente (EEPROM) para
almacenar los programas personalizados que se ejecutan en el
microcontrolador, incluso cuando la unidad está desconectada de una
fuente de alimentación.
A diferencia de los microprocesadores de uso general, los
microcontroladores integran periféricos de procesamiento, memoria y
entrada/salida (E/S), incluidos temporizadores, contadores y
convertidores de analógico a digital (ADC), en una unidad independiente
eficiente y rentable. Al combinar múltiples componentes en un solo
sistema, los microcontroladores son adecuados para aplicaciones que
requieren procesamiento de señales en tiempo real, como controlar
motores y servos e interactuar con varios tipos de sensores y
comunicaciones.
Calculadora de TCO
Descubra el ROI que su negocio podría obtener de los servidores IBM
Power.
Emplee esta calculadora para ver el costo total de propiedad (TCO) para
varias configuraciones y cuánto Power podría reducir su TCO
respondiendo algunas preguntas simples en la calculadora.
Calcule su TCO
Componentes del microcontrolador
Los siguientes son componentes clave de un microcontrolador:
Unidad central de procesamiento (CPU): coloquialmente
conocida como el "cerebro" de la computadora, la CPU sirve como
el componente central responsable de ejecutar instrucciones y
controlar operaciones.
Memoria: Los microcontroladores contienen memoria volátil
(RAM) —que, a diferencia de la memoria de programa, almacena
datos temporales que pueden perderse si el sistema pierde
energía— y memoria flash no volátil para almacenar el conjunto de
instrucciones de programación (firmware) del microcontrolador.
Periféricos: Dependiendo de la aplicación prevista, un
microcontrolador puede contener varios componentes auxiliares,
como interfaces de entrada/salida (E/S), incluidos temporizadores,
contadores, convertidores de señal (ADC) de analógico a digital
(ADC) y de digital a analógico (DAC), y protocolos de comunicación
(UART, SPI, I2C). Los auxiliares también pueden incluir
componentes como pantallas LCD, puertos de conectividad
Ethernet o interfaces para este tipo de módulos.
Los microcontroladores son ideales para productos electrónicos de
consumo que funcionan con baterías, como teléfonos inteligentes,
relojes inteligentes y otros dispositivos portátiles, porque son livianos,
pequeños y requieren una potencia comparativamente baja.
Un favorito entre los aficionados al código abierto, los
microcontroladores de bajo costo y las placas de desarrollo de
microcontroladores, como los fabricados por Arduino y Adafruit, se
pueden configurar fácilmente dentro de un entorno de desarrollo
integrado (IDE) empleando lenguajes de programación comunes como C,
C++ y Python. Aunque son fácilmente accesibles incluso para los
desarrolladores principiantes, los microcontroladores también se
emplean con frecuencia para controlar sistemas en una amplia gama de
aplicaciones profesionales, como la creación de prototipos, la robótica,
los sistemas de automoción, la automatización industrial y las
aplicaciones de Internet de las cosas (IoT ).
Microcontroladores frente a microprocesadores
Los microcontroladores y los microprocesadores comparten muchas
similitudes. Ambos pueden describir como procesadores de un solo chip
capaces de ejecutar lógica computacional, y ambos son muy valiosos en
el desarrollo y la proliferación de la tecnología informática general. Sin
embargo, los dos componentes difieren tanto en la arquitectura del
hardware como en la aplicación.
La característica definitoria de un microcontrolador es la combinación de
todos los elementos informáticos necesarios en un solo chip: los
microcontroladores no requieren ningún circuito externo adicional para
funcionar. Por el contrario, los microprocesadores constan de una CPU y
varios chips de soporte que proporcionan memoria, interfaz serial, E/S y
otras características necesarias.
Si bien los términos microprocesador y CPU a veces se usan
indistintamente, es más preciso describir los semiconductores del
microprocesador como circuitos integrados individuales que contienen
una CPU y se pueden conectar a otros auxiliares externos, como
dispositivos de entrada/salida.
La principal diferencia entre estos dos tipos de microchips es que los
microcontroladores son autónomos, mientras que los microprocesadores
están diseñados para interactuar con auxiliares externos.
Como resultado, las tareas generalizadas y exigentes que pueden
requerir hardware especializado con mayor potencia de procesamiento
son más adecuadas para los microprocesadores. Las tareas específicas
dentro de los sistemas incrustados, como el control de sensores o
motores, son buenos ejemplos de aplicaciones adecuadas para
microcontroladores.
Diferencias clave entre microcontroladores y microprocesadores
Al comparar microcontroladores y microprocesadores, es útil considerar
cuatro características clave:
1. Integraciones:
o Los microcontroladores integran la CPU, la memoria y los
auxiliares de E/S en un solo chip.
o Los microprocesadores requieren memoria externa y
auxiliares adicionales.
2. Aplicaciones:
o Los microcontroladores son más adecuados para
aplicaciones específicas de bajo o ultrabajo consumo en
sistemas integrados, como electrodomésticos o dispositivos
IoT.
o Microprocesadores son más adecuados para aplicaciones
de uso general y de alto rendimiento que requieren más
potencia de procesamiento, como computadoras personales
o servidores de centros de datos.
3. Desempeño:
o Los microcontroladores están optimizados para la
eficiencia y el procesamiento en tiempo real y funcionan a
velocidades de reloj más bajas de hasta 200 MHz.
o Los microprocesadores están diseñados para cálculos más
exigentes y complicados y pueden funcionar a velocidades
de reloj superiores a 1 GHz.
4. Costos operativos:
o El hardware de los microcontroladores es económico y,
debido a que no requieren conocimientos de programación
especializados, agregan poco a las cotizaciones generales
del proyecto.
o Los microprocesadores son más caros y complejos. La
configuración de un sistema avanzado basado en
microprocesadores puede requerir habilidades
especializadas.
Tipos de microcontroladores
Los primeros tipos de microcontroladores surgieron de los avances
realizados en la fabricación de microprocesadores a medida que los
investigadores desarrollaron técnicas para integrar CPU, memoria y
componentes periféricos en chips únicos.
A los ingenieros de Texas Instruments, Gary Boone y Michael Cochran, se
les atribuye la creación del primer microcontrolador en 1971. Fabricantes
como Intel y varios proveedores japoneses de productos electrónicos
siguieron rápidamente.
En la actualidad, decenas de fabricantes de microcontroladores, como
Intel, NXP y Arm, ofrecen cientos de variedades, desde opciones de uso
general para aficionados y amateurs hasta soluciones altamente
especializadas para tecnólogos profesionales y todo tipo de industrias.
¿Qué es un microprocesador?
Un microprocesador es el tipo predominante de procesador de
computadora moderno. Combina los componentes y la función de
una unidad central de procesamiento (CPU) en un solo circuito integrado
(IC) o unos pocos IC conectados.
Al igual que las CPU, los microprocesadores suelen considerarse el
"cerebro" de la computadora. A diferencia de las CPU tradicionales, los
microprocesadores integran los circuitos aritméticos, lógicos y de control
de las CPU más tradicionales en un único circuito digital multipropósito,
controlado por un reloj y basado en registros.
Si bien los términos CPU y microprocesador a menudo se usan
indistintamente, un microprocesador es esencialmente una CPU todo en
uno en un solo chip. Este diseño de chip único reduce el número de
conexiones eléctricas vulnerables, mejorando la confiabilidad al reducir
los posibles puntos de falla. Como tal, los microprocesadores
reemplazaron casi por completo a las CPU tradicionales de varios
componentes.
Antes de los microprocesadores, las computadoras usaban racks de
circuitos integrados para realizar las principales funciones informáticas
de la computadora. En 1971, se produjo un cambio significativo en la
tecnología informática con la introducción de Intel 4004, el primer
microprocesador disponible comercialmente. Este innovador dispositivo,
diseñado por Federico Faggin, no fue solo una respuesta a una solicitud
de 12 microchips personalizados para una calculadora del fabricante
japonés de electrónica Busicom. Fue un momento histórico que
revolucionó la forma en que pensamos sobre la computación, ya que
Intel, en lugar de producir 12 chips individuales, creó un dispositivo
lógico de uso general.
Con una potencia inferior a los estándares actuales, la arquitectura del
Intel 4004 funcionaba a una velocidad de reloj de 740 kHz y sólo podía
procesar flujos de datos con un máximo de 4 bits, también conocidos
como "nibble". Aunque el 4004 es débil en comparación con los
microprocesadores modernos de 8 a 64 bits, está considerado
universalmente como un avance revolucionario en circuitos. Como
predijo la ley de Moore, el rápido desarrollo de la tecnología de
semiconductores condujo a importantes mejoras en la potencia del
procesamiento. Fabricados por proveedores líderes, como Intel y
Pentium, y empleados por las principales compañías tecnológicas, como
IBM, Microsoft y Apple, los microprocesadores impulsan miles de
sistemas y aplicaciones, desde mandos a distancia de televisores hasta
la Estación Espacial Internacional.
Calculadora de TCO
Descubra el ROI que su negocio podría obtener de los servidores IBM
Power.
Emplee esta calculadora para ver el costo total de propiedad de varias
configuraciones y cuánto Power podría reducir su TCO por medio de
algunas preguntas simples en la calculadora.
¿Cómo funcionan los microprocesadores?
Los microprocesadores modernos combinan millones de pequeños
transistores, resistencias y diodos ensamblados en un
material semiconductor para crear los componentes clave de una CPU.
Estos componentes están organizados en varios tipos de arquitectura
informática única para realizar cálculos y ejecutar instrucciones. Las
funciones de un microprocesador promedio se pueden dividir en cuatro
pasos principales.
Pasos clave del microprocesador
1. Capturar: el microprocesador recupera (o "captura") instrucciones
de la memoria de la computadora. El proceso de capturar puede
iniciarse mediante entrada automática o manual.
2. Decodificar: El microprocesador "decodifica" las instrucciones,
esencialmente interpretando la entrada o comando en una
solicitud e instigando un proceso o cálculo específico.
3. Ejecutar: En pocas palabras, el microprocesador realiza la
operación requerida o solicitada.
4. Almacenar: el resultado de la ejecución se compromete en la
memoria de la computadora.
Componentes del microprocesador
Los microprocesadores pueden completar estos procesos combinando
los componentes principales de una CPU en un circuito singular. Los
componentes clave de un microprocesador son los siguientes:
Unidad aritmética lógica (ALU): Unidad lógica principal de la
CPU, este componente realiza operaciones lógicas, incluidos
cálculos matemáticos y comparaciones de datos.
Unidad de control (CU): el circuito CU interpreta las
instrucciones e inicia su ejecución, dirigiendo las operaciones
básicas del procesador.
Registros: los registros proporcionan un almacenamiento de
memoria pequeño y rápido empleado por una CPU para almacenar
temporalmente datos e instrucciones durante los procesos
computacionales.
Memoria caché: los microprocesadores y las CPU emplean
memoria caché, una forma de memoria de alta velocidad ubicada
cerca de la CPU, para almacenar datos a los que se accede con
frecuencia para acelerar el rendimiento.
Buses e interfaces de bus: las interfaces de bus proporcionan
puntos de entrada y salida para que los datos viajen a través de
varios grupos de cables (denominados buses), como el bus de
direcciones o el bus de datos. Los buses y las interfaces conectan
físicamente diferentes componentes internos, lo que permite y
facilita la comunicación dentro de la CPU y otros periféricos, como
unidades de entrada/salida (E/S).
Transistores: uno de los principales componentes básicos de los
circuitos integrados, los transistores, son pequeños
semiconductores que regulan, amplifican y generan corrientes y
señales eléctricas. También pueden actuar como simples
interruptores o combinarse para formar puertas lógicas. El número
de transistores es un indicador común de la potencia del
microprocesador.
Núcleos del procesador: Las unidades de procesamiento
individuales dentro de los microprocesadores se conocen como
núcleos. Los procesadores modernos frecuentemente incorporan
múltiples núcleos (doble núcleo, cuádruple núcleo), lo que permite
el procesamiento paralelo al posibilitar la realización de múltiples
tareas simultáneamente.
Reloj: aunque no todos los microprocesadores contienen un reloj
interno, todos están controlados por un reloj. Algunos dependen de
chips de reloj externos, que son conocidos por mejorar la
precisión. Ya sea interno o externo, el ciclo del reloj de un
microprocesador determina la frecuencia con la que ejecutará los
comandos. Las velocidades de reloj modernas se miden en
megahercios (MHz) y gigahercios (GHz).
Arquitectura del microprocesador
La arquitectura de un microprocesador se refiere a diversas
metodologías de diseño y organización de los diversos componentes de
la CPU del procesador. Estos son los elementos arquitectónicos clave de
un microprocesador:
Arquitectura del conjunto de instrucciones (ISA): la ISA del
microprocesador define el conjunto de instrucciones que el
procesador puede realizar. Las ISA, como las arquitecturas de
computadora de conjunto de instrucciones reducidas (RISC) y
computadora de conjunto de instrucciones complejas (CISC),
proporcionan varios métodos para el procesamiento de datos,
ofreciendo diferentes niveles de rendimiento, confiabilidad y
velocidad adecuados para diferentes tipos de aplicaciones.
Ruta de datos: la ruta de datos de un microprocesador dicta el
orden en que los datos se mueven a través de los componentes
del microprocesador (buses, ALU o registros), lo que influye en el
rendimiento general.
Ruta de control: Similar a la ruta de datos, el elemento de ruta
de control de la arquitectura de un microprocesador instruye la
secuencia de operaciones y administra la transmisión de datos
dentro de la CPU.
Jerarquía de memoria: la jerarquía de memoria es un componente
crítico de la arquitectura del procesador, ya que ofrece una
estructura para diferentes niveles de memoria (caché, registros
y RAM) para optimizar el acceso eficiente a los datos y la velocidad
de recuperación.
Tipos de microprocesadores y casos de uso
Los microprocesadores varían en potencia, rendimiento, metodologías
de arquitectura, tamaño, consumo de energía y muchas otras variables,
y están diseñados para todo tipo de aplicaciones. Los microprocesadores
de uso general son habituales en computadoras personales y
dispositivos móviles, mientras que las unidades especializadas de alto
rendimiento, como los procesadores digitales de señales (DSP), se
diseñan para tareas exigentes como el procesamiento de audio, voz,
video e imágenes.
Los siguientes son algunos de los principales tipos de
microprocesadores.
¿Cuál es la diferencia entre microprocesadores y microcontroladores?
Los microprocesadores y microcontroladores son los componentes
internos de los dispositivos electrónicos. Un microprocesador es una
unidad de procesamiento muy pequeña dentro de una CPU. Es un
circuito integrado único en un chip de computadora que realiza diversas
funciones aritméticas y lógicas en señales digitales. Varias docenas de
microprocesadores trabajan juntos dentro de servidores de alto
rendimiento para el procesamiento y el análisis de datos.
Por otro lado, un microcontrolador es la unidad de computación básica
dentro de los dispositivos electrónicos inteligentes, como las lavadoras y
los termostatos. Es una computadora muy pequeña con sus propios
sistemas de RAM, ROM y E/S, todos integrados en un solo chip. Puede
procesar señales digitales y responder a las entradas del usuario, pero
su capacidad de computación es limitada.
¿Cuáles son las similitudes entre los microprocesadores y los
microcontroladores?
Los microprocesadores y microcontroladores son chips de computadora
centralizados que proporcionan inteligencia a computadoras personales
y dispositivos electrónicos. Están construidos con circuitos integrados de
semiconductores y comparten ciertas partes internas.
Circuito integrado
Tanto los microprocesadores como los microcontroladores son
componentes semiconductores construidos en un circuito integrado. Un
circuito integrado es un chip cuadrado o rectangular muy pequeño que
contiene miles o incluso millones de componentes electrónicos. Los
circuitos integrados permiten a los ingenieros reducir el tamaño de los
circuitos electrónicos.
CPU
Tanto los microprocesadores como los microcontroladores tienen una
CPU. Una CPU es la parte centralizada del chip de la computadora que
procesa las instrucciones proporcionadas por las aplicaciones o el
firmware. La CPU también tiene un módulo especial de unidad aritmética
lógica (ALU). Una ALU calcula valores matemáticos y evalúa los
problemas lógicos basándose en las instrucciones de la computadora.
Registros
Los registros son módulos de memoria que la CPU utiliza para el
procesamiento. La CPU almacena de manera temporal instrucciones o
datos binarios antes, durante y después de procesarlos. Tanto los
microprocesadores como los microcontroladores se construyen con
registros internos, aunque los microcontroladores suelen tener más
registros que los microcontroladores.
Diferencias arquitectónicas: microprocesadores frente a
microcontroladores
Diferencias arquitectónicas: microprocesadores frente a
microcontroladores
A pesar de adoptar la forma de chips de computadora, los
microprocesadores y microcontroladores se construyen con diferentes
arquitecturas.
Los microprocesadores están diseñados con la arquitectura Von
Neumann, en la que un programa y los datos residen en el mismo
módulo de memoria. Mientras tanto, los microcontroladores utilizan la
arquitectura Harvard, que separa la memoria del programa del espacio
de datos.
Los microprocesadores tienen más componentes de circuitos integrados
que los microcontroladores. Esta diferencia arquitectónica afecta a las
consideraciones de diseño de los microprocesadores y
microcontroladores en aplicaciones informáticas y de sistemas
integrados.
Más información sobre los chips de computadora »
Memoria
Los microprocesadores no tienen módulos de memoria interna para
almacenar los datos de las aplicaciones. Los ingenieros deben conectar
el microprocesador a los almacenamientos de memoria externos, como
la ROM y la RAM, con un bus externo.
Un bus es un conjunto de conexiones eléctricas paralelas que permiten
al microprocesador enviar y recibir datos de otros dispositivos. Hay tres
tipos de buses:
Un bus de datos transmite datos
Un bus de direcciones transmite información sobre dónde
almacenar y recuperar datos
Un bus de control transmite señales para coordinarlas con otros
componentes eléctricos
Los tres funcionan de manera colectiva en un sistema de
microprocesador.
Por otro lado, los microcontroladores están construidos con memorias
ROM y RAM internas. Un microcontrolador utiliza un bus interno para
interactuar con los módulos de memoria integrados.
Periféricos
Los periféricos son temporizadores, comunicaciones, E/S y otras
capacidades que permiten a los microcontroladores o microprocesadores
interactuar con componentes o usuarios externos.
El microprocesador no tiene periféricos integrados en su circuito
integrado. En cambio, los periféricos se conectan de manera externa
para ampliar los casos de uso del microprocesador más allá del
procesamiento matemático y lógico.
Por el contrario, los microcontroladores se conectan a los periféricos del
chip mediante un bus de control interno. Esto permite que el
microcontrolador controle los dispositivos electrónicos con un mínimo de
piezas adicionales o incluso sin ellas.
Capacidad computacional
Los microprocesadores son potentes chips de computadora capaces de
realizar tareas matemáticas y computacionales complejas. Por ejemplo,
puede ejecutar un software de procesamiento estadístico porque el
microprocesador admite el funcionamiento en punto flotante.
Por el contrario, los microcontroladores tienen una potencia de
procesamiento comparativamente menor y rara vez admiten el cálculo
de punto flotante. En cambio, se centran en implementar una lógica
específica, como controlar la temperatura de un calentador en función
de varios sensores.
Otras diferencias clave: microprocesadores frente a microcontroladores
Los microprocesadores permiten operaciones de computación versátiles
en computadoras personales y servidores empresariales. Mientras tanto,
los microcontroladores permiten que los sistemas integrados analicen y
respondan a las entradas en tiempo real.
Cuando los ingenieros desarrollan sistemas con microprocesadores y
microcontroladores, tienen en cuenta estas diferencias.
Velocidad del reloj
Los microprocesadores proporcionan capacidades de computación
sólidas y de alta velocidad para diversas aplicaciones. Un procesador de
computadora moderno funciona en el rango de gigahercios (GHz). Esto
permite que un sistema de computación realice cálculos matemáticos
complejos y devuelva los resultados con rapidez.
Si bien la velocidad del microcontrolador ha aumentado a lo largo de las
décadas, es mucho menor que la velocidad de procesamiento del
microprocesador. Según su propósito, la velocidad del reloj de un
microcontrolador oscila entre kilohercios (kHz) y cientos de megahercios
(MHz). A pesar del rango de velocidad inferior, un microcontrolador
puede funcionar de manera óptima dentro de su ámbito de aplicación
dedicado.
Tamaño del circuito
Un microprocesador no puede funcionar por sí solo. Se basa en partes
externas, como chips de comunicación, puertos de E/S, RAM y ROM, para
formar un sistema de computación completo. Por lo tanto, un circuito
basado en un microprocesador consiste en un bus de direcciones y datos
que conecta muchos periféricos y chips de memoria. Incluso con los
avances en las tecnologías de placas de circuito impreso (PCB), un
sistema de microprocesador requiere un espacio considerable.
Sin embargo, el microcontrolador proporciona un diseño que ahorra
espacio con un circuito más simple. La mayoría de los componentes
adicionales que necesita un sistema basado en microprocesadores están
disponibles fácilmente en el mismo chip. En lugar de utilizar
componentes separados de manera individual, los ingenieros utilizan un
solo microcontrolador al diseñar dispositivos electrónicos. Esto permite
disponer de más espacio en la placa de circuito electrónico, lo que
permite a los ingenieros producir sistemas compactos.
Consumo de energía
Los microprocesadores suelen funcionar a una velocidad mayor que los
microcontroladores y consumen más energía, por lo que requieren una
fuente de alimentación externa. Del mismo modo, un sistema de
computación basado en una unidad de microprocesador tiene un mayor
consumo total de energía debido a la gran cantidad de componentes
adicionales.
Mientras tanto, los microcontroladores están diseñados para funcionar
de manera eficiente con una potencia mínima. Además, la mayoría de
los microcontroladores cuentan con características de ahorro de energía,
de las que carecen los microprocesadores.
Por ejemplo, un microcontrolador puede activar el modo de ahorro de
energía y consumir energía limitada cuando no procesa datos. Los
microcontroladores también pueden apagar los periféricos internos que
no estén en uso para ahorrar energía. Esto hace que los
microcontroladores sean ideales para crear una aplicación dedicada de
bajo consumo que funcione con energía almacenada.
Sistema operativo
En aplicaciones prácticas, los microprocesadores requieren un sistema
operativo que proporcione las funcionalidades adecuadas. Sin un
sistema operativo, los usuarios tendrían que instruir al microprocesador
en lenguaje ensamblador o binario.
Mientras tanto, los microcontroladores no requieren un sistema
operativo para funcionar. Sin embargo, existen sistemas operativos
específicos que ayudan a los microcontroladores de gama media y alta a
funcionar de manera más eficiente.
Conectividad
Los microprocesadores manejan tecnologías de comunicación más
diversas que los microcontroladores. Por ejemplo, un microprocesador
procesa datos USB 3.0 o Gigabit Ethernet de alta velocidad sin un
procesador secundario.
Sin embargo, la mayoría de los microcontroladores necesitan un
procesador especial para la conectividad de datos de alta velocidad.
Costo
Un circuito integrado de microprocesador solo consta de la CPU, la
unidad aritmética lógica (ALU) y los registros, lo que reduce el costo de
fabricación por unidad. Mientras tanto, un solo microcontrolador tiene
una arquitectura interna más compleja y, por lo general, es más caro
que un microprocesador.
Sin embargo, un sistema basado en microprocesadores es más caro, ya
que requiere componentes adicionales. Por el contrario, un
microcontrolador es autosuficiente para la aplicación elegida.
El microcontrolador requiere menos componentes adicionales, lo que se
traduce en sistemas basados en microcontroladores más baratos. Por
ejemplo, la placa de circuito de un acondicionador de aire con
microcontrolador cuesta menos que la placa base de un ordenador con
microprocesadores.
Casos de uso: microprocesadores frente a microcontroladores
Tanto los microprocesadores como los microcontroladores son
componentes electrónicos útiles cuando se aplican a los casos de uso
adecuados.
Utilice un microprocesador si necesita una potencia de procesamiento
sólida para tareas de computación complejas o impredecibles. Los
microprocesadores se utilizan en todo tipo de dispositivos de
computación, como servidores, computadoras de sobremesa y
dispositivos de computación móviles. Las organizaciones utilizan
servidores con muchos microprocesadores para la computación de alto
rendimiento y para ejecutar aplicaciones de inteligencia artificial (IA).
Por otro lado, el microcontrolador es la mejor opción si está creando un
sistema de control con un alcance definido de forma limitada. Los
microcontroladores también son útiles para sistemas que requieren un
bajo consumo de energía. Algunos microcontroladores pueden funcionar
durante meses con solo una batería pequeña. Por ejemplo, un sistema
doméstico inteligente funciona con microcontroladores. Los dispositivos
compactos como los drones o los reproductores de audio portátiles
también contienen microcontroladores.
RISC y CISC representan arquitecturas de procesador clave desarrolladas
para mejorar el rendimiento de la CPU.
RISC y CISC son arquitecturas de procesador populares que
utilizan diferentes conjuntos de instrucciones de procesamiento de
datos para realizar operaciones lógicas básicas y de
entrada/salida.
Este artículo explica las arquitecturas de procesadores RISC y CISC
en detalle, junto con las comparaciones clave entre ellas.
RISC (ordenador con conjunto de instrucciones reducido) y CISC
(ordenador con conjunto de instrucciones complejo) hacen referencia a
las arquitecturas de procesador más populares que utilizan diferentes
conjuntos de instrucciones de procesamiento de datos para realizar
operaciones lógicas y de entrada/salida básicas. Cada arquitectura tiene
sus propias ventajas y desventajas.
Antes de profundizar en las arquitecturas de procesador, comprendamos
primero el flujo de trabajo de un procesador típico.
Los procesadores o microcontroladores utilizan "conjuntos de
instrucciones" para llevar a cabo diversas tareas. Consideremos una
analogía. Digamos que usted entrena a su mascota para que comprenda
ciertas órdenes, como "dormir" y "correr", que están asociadas con
tareas específicas de dormir y correr. Más tarde, cuando usted le lanza
un juguete y le da la instrucción "correr" a su mascota, esta corre y
busca el juguete para usted.
Una unidad central de procesamiento (CPU) típica, el cerebro de una
computadora, funciona de manera similar, en la que la CPU equivale a
procesadores y microcontroladores. De manera similar al ejemplo
anterior, le damos instrucciones a la CPU, que activa y desactiva
transistores para ejecutar instrucciones específicas.
Introducimos instrucciones en códigos de operación o opcodes, que se
expresan en forma de 0 y 1. Dado que es difícil para los humanos
memorizar y utilizar combinaciones de 0 y 1, utilizamos instrucciones
comprensibles para los humanos. Estas instrucciones se representan
mediante un lenguaje ensamblador, que luego los compiladores
convierten en opcodes comprensibles para las máquinas de 0 y 1.
El conjunto de todas esas instrucciones forma un "conjunto de
instrucciones". Este es un componente importante de cualquier sistema
informático, ya que el diseño de varios lenguajes de alto nivel,
como Python , C# y otros, depende de él. Además, el diseño del
hardware y de los conjuntos de instrucciones se utiliza como métrica
para evaluar la velocidad y el rendimiento computacionales de una CPU.
El rendimiento de una CPU se deduce en función de la cantidad de
programas que puede ejecutar en un período de tiempo determinado.
Matemáticamente, esto se representa de la siguiente manera:
Rendimiento de la
CPU = Tiempo/Programa = Instrucciones/Programa X Ciclos/Instruccione
s X Tiempo/Ciclo ….. [Ecuación 1]
Según esta ecuación, el rendimiento de la CPU depende de la cantidad
de instrucciones de un programa informático. Esto implica que cuantas
más instrucciones haya, más tiempo se necesita para ejecutarlas. Se
puede simplificar aún más en la cantidad de ciclos de reloj por
instrucción y el tiempo por ciclo.
De esta forma, el rendimiento de la CPU se puede optimizar de dos
maneras:
1.
o Reducir el número de instrucciones por programa, o
o Minimizar ciclos por instrucción.
Como estas dos opciones son complementarias, lograr ambas a la vez es
imposible. Esto significa que mejorar un parámetro puede fácilmente
sacrificar el otro. Sin embargo, todo esto es solo un nivel superficial; las
optimizaciones reales que pretendemos introducir están profundamente
arraigadas en el hardware y el conjunto de instrucciones de la CPU.
El objetivo principal de las arquitecturas RISC y CISC es mejorar el
rendimiento de la CPU. La diferencia fundamental entre ambas es que
RISC tiene un menor número de instrucciones, cada una de las cuales es
capaz de realizar una única operación, mientras que CISC tiene un
mayor número de instrucciones complejas capaces de realizar múltiples
operaciones internas.
La industria de las CPU incluye empresas que respaldan y apoyan
cualquiera de las dos arquitecturas. Por ejemplo, las máquinas de Intel
utilizan CPU que funcionan con la arquitectura CISC, mientras que las
CPU de Apple y las máquinas de ARM vienen con procesadores y
microcontroladores basados en RISC.
¿Qué es CISC?
CISC significa "Complex Instruction Set Computer" (ordenador con
conjunto de instrucciones complejo). Esta arquitectura fue introducida
en la década de 1970 por Intel Corporation, cuando las primeras
computadoras se centraron en mejorar la velocidad de la CPU al
minimizar la cantidad de instrucciones por programa (según la ecuación
1). Este objetivo se logró combinando múltiples comandos simples en
una instrucción compleja.
En la analogía de la mascota, la orden "correr" puede denominarse
instrucción CISC. Cuando le ordenas a tu mascota que corra, esta
ejecuta una serie de instrucciones como "sigue el juguete", luego
"recoge el juguete", seguido de "vuelve con el dueño" y, por último,
"entrega el juguete al dueño". Como revela el ejemplo, es mucho más
cómodo y rápido dar una única instrucción "correr" a tu mascota en
lugar de darle cuatro órdenes independientes. Ésta es exactamente la
razón por la que las empresas tecnológicas como Intel prefirieron
diseñar procesadores CISC en los primeros años de la informática.
Entendamos esto con una simple instrucción CISC ADD, que requiere dos
entradas:
1.
o Ubicaciones de memoria de dos números esenciales para
una suma
o Realizar la suma y almacenar el resultado en la primera
ubicación de memoria
| AÑADIR 1800, 1801
La instrucción ADD selecciona números de las posiciones de memoria
1800 y 1801 o de los registros. Luego, los números seleccionados se
suman y, finalmente, se almacenan en la posición 1800.
Aquí, una única instrucción ADD realiza múltiples operaciones de bajo
nivel, como cargar números desde la memoria, realizar la operación
aritmética ADD y luego almacenar el resultado en otra memoria. La
carga de trabajo del compilador se reduce significativamente aquí, ya
que las instrucciones de alto nivel se calculan y almacenan fácilmente.
Además, estas instrucciones consumen una cantidad mínima de RAM, ya
que el hardware se encarga de la mayoría de las tareas mientras
decodifica las instrucciones en las etapas iniciales.
Por lo tanto, en las arquitecturas CISC, la CPU tiene derecho a realizar
más trabajo para ejecutar una sola instrucción. Como la ejecución de la
instrucción lleva más tiempo, las velocidades de reloj se ven
comprometidas. Además, las operaciones CISC requieren más
transistores para decodificar instrucciones complejas.
Los ejemplos comúnmente conocidos de procesadores CISC son AMD,
Intel x86, VAX y System/360.
Ver más: Los 10 mejores enrutadores de red en malla en 2022
¿Qué es RISC?
RISC significa "Reduced Instruction Set Computer" (ordenador con
conjunto de instrucciones reducido). Fueron introducidos en la década de
1980 por David Patterson y John Hennessy para superar las
complejidades de los procesadores CISC. Los procesadores RISC
funcionan con más instrucciones; sin embargo, se minimiza la cantidad
de ciclos que puede tardar una instrucción en ejecutarse. En términos
generales, una máquina RISC necesita un ciclo de CPU para completar
una instrucción. Esto puede equivaler a la instrucción de "dormir" que le
dio a su mascota adiestrada.
Consideremos la misma instrucción ADD y observemos cómo la llevan a
cabo los dispositivos RISC. Para empezar, las máquinas RISC no ejecutan
la instrucción ADD en un solo paso, sino que la dividen en varios pasos.
Por ejemplo, es necesario cargar los números desde la memoria
mediante una instrucción LOAD, seguida de una instrucción ADD que los
suma y, por último, una instrucción STORE que almacena el resultado en
la memoria.
| Carga X, 1600
| Carga Y, 1601
|AGREGAR X, Y
| Tienda 1600, X
En este ejemplo, la instrucción 'Load' carga los datos de la posición de
memoria 1600 en el registro X. De manera similar, la segunda
instrucción 'Load' toma los datos de 1601 y los carga en el registro Y.
Luego, se suman los valores de los registros X e Y. Por último, el
resultado X de la suma se almacena en la posición de memoria 1600 o
en cualquier otra posición. Vale la pena señalar que las operaciones en
los procesadores de tipo RISC se realizan en 'registros' en lugar de
hacerlo directamente en la memoria.
Aunque el proceso parece complicado, ya que cada una de estas
instrucciones consume solo un ciclo de reloj, toda la operación de
adición se realiza en muchos menos ciclos de reloj. Sin embargo, estos
beneficios en términos de tiempo también presentan algunas
desventajas. Por ejemplo, dado que los procesadores RISC utilizan
conjuntos de instrucciones más simples, las instrucciones complejas y de
alto nivel deben dividirse en múltiples instrucciones simples.
La tarea de descomponer comandos complejos en otros más simples es
trivial y la llevan a cabo los compiladores. Como resultado, los
componentes de software tienen más trabajo que hacer en RISC que el
hardware del procesador, como se ve en CISC. Esto supone una
responsabilidad adicional para los diseñadores de software, ya que son
responsables en caso de que el compilador no funcione correctamente.
A diferencia de los procesadores CISC, la lógica de las máquinas RISC es
fácil de decodificar. En consecuencia, se necesitan menos transistores
para completar las tareas. La arquitectura RISC utiliza un conjunto
simplificado de instrucciones que tienden a trabajar menos pero se
ejecutan a un ritmo significativo. La característica clave de estas
máquinas es que permiten a los desarrolladores incorporar registros más
generales en las CPU y, por lo tanto, centrarse en el uso de subprocesos
paralelos para completar instrucciones complejas pero optimizadas. Esto
potencia el paralelismo interno y acelera el tiempo de ejecución de las
instrucciones de la CPU.