Está en la página 1de 11

FUNDAMENTOS DE

SISTEMASDIGITALES
Informe
Grupo #2

Integrantes:

Noe Caguatijo
Brandon Calderón

NRC: 9892
OBEJETIVOS:

• Entender la organización de un procesador en lo relativo a las unidades funcionales que lo


componen: registros, ALU y unidad de control.
• Entender cómo ejecuta una instrucción un procesador.
• Conocer la organización del conjunto de registros del procesador.
• Ver los conceptos básicos relacionados con la ALU.
• Entender el funcionamiento de la unidad de control del procesador.
• Conocer las ideas clave para diseñar una unidad de control.

Evolución histórica de los procesadores

• La evolución de los procesadores ha sido impresionante a lo largo de la historia de la


computación. Desde los primeros dispositivos basados en válvulas de vacío en la
década de 1940 hasta los microprocesadores de alta gama y múltiples núcleos de la
actualidad, se han realizado avances significativos.

• Las válvulas de vacío fueron los primeros componentes utilizados en los


computadores electrónicos. Aunque eran voluminosas y consumían mucha energía,
permitieron la realización de cálculos complejos.

• La invención del transistor en la década de 1950 revolucionó la industria de la


computación. Los transistores eran más pequeños, más rápidos y más eficientes
energéticamente que las válvulas de vacío, lo que llevó a una mayor miniaturización y
a la creación de los primeros microprocesadores.

• Posteriormente, los circuitos integrados permitieron la integración de cientos, miles e


incluso millones de transistores en un solo chip, lo que condujo a la creación de los
microprocesadores modernos que impulsan nuestros dispositivos electrónicos

La función principal de un procesador es ejecutar instrucciones y la organización que tiene viene


condicionada por las tareas que debe realizar y por cómo debe hacerlo.
Los procesadores están diseñados y operan según una señal de sincronización. Esta señal, conocida
como señal de reloj, es una señal en forma de onda cuadrada periódica con una determinada
frecuencia. Todas las operaciones hechas por el procesador las gobierna esta señal de reloj: un ciclo de
reloj determina la unidad básica de tiempo, es decir, la duración mínima de una operación del
procesador.
Para ejecutar una instrucción, son necesarios uno o más ciclos de reloj, dependiendo del tipo de
instrucción y de los operandos que tenga.
Las prestaciones del procesador no las determina solo la frecuencia de reloj, sino otras características
del procesador, especialmente del diseño del juego de instrucciones y la capacidad que tiene para
ejecutar simultáneamente múltiples instrucciones.

Arquitectura del procesador

La arquitectura básica del procesador consta de varios componentes esenciales que trabajan
en conjunto para ejecutar instrucciones y realizar cálculos.

• La unidad de control es responsable de coordinar y controlar las operaciones del


procesador. Recibe instrucciones desde la memoria y envía señales de control a los
componentes correspondientes para ejecutar esas instrucciones.

• La unidad aritmético-lógica (ALU) es el núcleo del procesador y se encarga de


realizar operaciones aritméticas (como sumas y restas) y operaciones lógicas (como
comparaciones y operaciones booleanas) en los datos.

• Los registros son unidades de almacenamiento de alta velocidad que almacenan datos
temporales y resultados intermedios durante la ejecución de instrucciones. Permiten
un acceso rápido y eficiente a los datos necesarios para las operaciones del procesador.

Unidad de control

La unidad de control es un componente crucial en la organización del procesador. Su función


principal es interpretar y ejecutar las instrucciones del programa almacenadas en la memoria.

La unidad de control decodifica las instrucciones, determinando la secuencia de operaciones


que deben llevarse a cabo para ejecutarlas correctamente.

Además, la unidad de control genera las señales de control necesarias para activar los
componentes adecuados en cada etapa del procesamiento de instrucciones.

La unidad de control también maneja las operaciones de transferencia de datos entre los
registros y la memoria, asegurando que los datos sean leídos o escritos correctamente.

Unidad Aritmético-Lógica (ALU)

La unidad aritmético-lógica (ALU) es el componente central del procesador encargado de


realizar operaciones aritméticas y lógicas en los datos.

La ALU es capaz de realizar una amplia gama de operaciones matemáticas, como sumas,
restas, multiplicaciones y divisiones, así como operaciones lógicas, como AND, OR y NOT.

La ALU opera utilizando el sistema binario, realizando operaciones bit a bit en los datos de
entrada.
Además, la ALU puede realizar comparaciones entre datos y generar señales de banderas o
flags que indican el resultado de la operación, como igualdad, mayor o menor que.

Procesos

Los registros son unidades de almacenamiento de alta velocidad ubicadas dentro del
procesador.

Los registros son utilizados para almacenar datos temporales, resultados intermedios y
direcciones de memoria durante la ejecución de las instrucciones.

Los registros ofrecen un acceso muy rápido a los datos, ya que están integrados directamente
en el procesador y tienen una capacidad limitada.

Algunos de los registros más comunes son el acumulador, utilizado para almacenar el
resultado de operaciones aritméticas, y los registros de propósito general, que se utilizan para
almacenar datos temporales y direcciones de memoria.

Para ejecutar las instrucciones, todo procesador dispone de tres componentes principales:

1) Un conjunto de registros: espacio de almacenamiento temporal de datos e instrucciones


dentro del procesador.

2) Unidad aritmética y lógica o ALU (1) : circuito que hace un conjunto de operaciones
aritméticas y lógicas con los datos almacenados dentro del procesador.

3) Unidad de control: circuito que controla el funcionamiento de todos los componentes del
procesador. Controla el movimiento de datos e instrucciones dentro y fuera del procesador y
también las operaciones de la ALU.
Como se observa, aparte de los tres componentes principales, es necesario disponer de un
sistema que permita interconectar estos componentes. Este sistema de interconexión es
específico para cada procesador. Distinguimos dos tipos de líneas de interconexión: líneas de
control, que permiten gobernar el procesador, y líneas de datos, que permiten transferir los
datos y las instrucciones entre los diferentes componentes del procesador. Este sistema de
interconexión tiene que disponer de una interfaz con el bus del sistema.

El término procesador actualmente se puede entender como microprocesador porque todas las
unidades funcionales que forman el procesador se encuentran dentro de un chip, pero hay que
tener presente que, por el aumento de la capacidad del nivel de integración, dentro de los
microprocesadores se pueden encontrar otras unidades funcionales del computador.

Unidades de ejecución SIMD: unidades especializadas en la ejecución de instrucciones


SIMD (single instruction, multiple data), instrucciones que trabajan con estructuras de datos
vectoriales, como por ejemplo instrucciones multimedia.

Memoria caché: prácticamente todos los procesadores modernos incorporan dentro del
propio chip del procesador algunos niveles de memoria caché.

Unidad de gestión de memoria o memory management unit (MMU): gestiona el espacio


de direcciones virtuales, traduciendo las direcciones de memoria virtual a direcciones de
memoria física en tiempo de ejecución. Esta traducción permite proteger el espacio de
direcciones de un programa del espacio de direcciones de otros programas y también permite
separar el espacio de memoria del sistema operativo del espacio de memoria de los programas
de usuario.

Unidad de punto flotante o floating point unit (FPU): unidad especializada en hacer
operaciones en punto flotante; puede funcionar de manera autónoma, ya que dispone de un
conjunto de registros propio.

¿Como funciona un procesador?

Una CPU lo que hace es ejecutar las instrucciones de un programa situado en una memoria.
Todos siguen el mismo ciclo de instrucción, el cual se divide en tres etapas diferenciadas
llamadas Fetch, Decode y Execute, las cuales se traducen como captación, descodificación y
ejecución.

Los procesadores funcionan en tres etapas distintas en su versión más simple que son las
siguientes:

• Fetch o Captación: En la que la instrucción es captada desde la memoria RAM y


copiada a dentro del procesador.
• Decode o Descodificacion: En la que la instrucción previamente captada es
descodificada y enviada a las unidades de ejecución.
• Execute o Ejecución: Donde la instrucción es resuelta y el resultado escrito en los
registros internos del procesador o en una dirección de memoria de la RAM.
Primera etapa del ciclo de instrucción: Fetch

La primera etapa del ciclo de instrucción se encarga de captar las instrucciones que hay en la
memoria RAM asignada al procesador a través de una serie de unidades y registros que son
las siguientes:

1) Program Counter o Contador de Programa: El cual apunta a la siguiente línea de


memoria donde se encuentra la siguiente instrucción del procesador. Se incrementa en
1 su valor cada vez que se termina un ciclo completo de instrucción o cuando una
instrucción de salto cambia el valor del contador de programa.
2) Memory Address Register o registro de direccionamiento de memoria: El MAR
copia el contenido del PC y lo envía a la RAM a través de los pines de
direccionamiento de la CPU, los cuales están cableados con los pines de
direccionamiento de la propia memoria RAM.
3) Memory Data Register o registro de datos a memoria: En el caso que la CPU tenga
que realizar una lectura a memoria, lo que hace el MDR es copiar el contenido de esa
dirección de memoria a un registro interno de la CPU, el cual es un registro temporal
de paso antes de que su contenido sea copiado al Instruction Register. El MDR al
contrario del MAR está conectado a los pines de datos de la RAM y no a los de
direccionamiento y en el caso de que se trate de una instrucción de escritura el
contenido de lo que se quiere escribir en la RAM también se escribe en el MDR.
4) Instruction Register o Registro de Instrucción: La parte final de la etapa de
captación o fetch es la escritura de la instrucción en el registro de instrucción, del cual
la unidad de control del procesador copiará su contenido para la segunda etapa del
ciclo de instrucción.
Segunda etapa: unidad de control

Hay diferentes tipos de instrucciones y no todas hacen lo mismo, por lo que dependiendo del
tipo de instrucción necesitamos saber hacía que unidades de ejecución se van a enviar y la
manera más clásica de hacerlo es a través de lo que llamamos un descodificador, el cual toma
cada instrucción, la divide internamente según el opcode o instrucción y el dato o la dirección
de memoria donde se encuentra este.

Por ejemplo, en el diagrama de abajo tenemos el diagrama de un procesador de solo 8


instrucciones, las cuales se pueden codificar en solo 3 bits. Cada una de las instrucciones una
vez descodificadas se envían a las diferentes unidades de ejecución que las resolverán.

Este ciclo de instrucción es el más complejo de todo y el que define el tipo de arquitectura.
Dependiendo si tenemos un conjunto de instrucciones reducido o complejo esto afectará a la
naturaleza de la unidad de control, dependiendo del formato de la instrucción o de cuantas se
procesen al mismo tiempo la fase de descodificación y por tanto la unidad de control tendrá
una naturaleza u otra.

La forma más fácil de visualizar lo que ocurre es pensar en las instrucciones como trenes
circulando a través de una compleja red ferroviaria y la unidad de control dirigiéndolos a una
estación termino, la cual es la unidad de ejecución que se encargará de resolver la instrucción.
Tercera etapa: execute
La última etapa es la de la ejecución de las instrucciones, en esta étapa las instrucciones son resueltas,
pero no todos los tipos de instrucción se resuelven de la misma forma, ya que la forma de utilizar el
hardware dependerá de la función de cada una de ellas, en general tenemos cuatro tipos de
instrucciones:
• Instrucciones de movimiento de bits: En el cual se manipula el orden de los bits que
contienen el dato.
• Instrucciones aritméticas: Donde se realizan operaciones matemáticas y también lógicas,
estas se solucionan en las llamadas ALU o unidades aritmético-logicas
• Instrucciones de salto: En la que se cambia la siguiente el valor del contador de programa, lo
que permite utilizar el código de manera recursiva.
• Instrucciones a memoria: Son con las que el procesador lee y escribe la información de la
memoria del sistema.
Pipelining y paralelismo
El pipelining es una técnica utilizada para mejorar el rendimiento del procesador mediante la
superposición de las etapas de ejecución de instrucciones.
El proceso de ejecución de una instrucción se divide en varias etapas, como búsqueda de
instrucciones, decodificación, ejecución y escritura de resultados.
Al utilizar el pipelining, se puede iniciar la ejecución de una instrucción antes de que se haya
completado la anterior, aprovechando al máximo los recursos del procesador y reduciendo el tiempo
de ejecución.
Sin embargo, el pipelining puede presentar desafíos, como las dependencias de datos entre
instrucciones, que pueden generar conflictos y retrasos en la ejecución.

Jerarquía y memoria de caché

La jerarquía de memoria es un sistema organizado en capas que consta de memoria caché, memoria
principal (RAM) y almacenamiento secundario (disco duro, SSD).
La memoria caché es una memoria de acceso rápido y costosa que almacena datos e instrucciones que
se utilizan con frecuencia.
La utilización de la memoria caché permite reducir el tiempo de acceso a los datos y mejorar el
rendimiento del procesador.
Sin embargo, la memoria caché es limitada en tamaño, por lo que no puede almacenar todos los datos
necesarios. En caso de que los datos no se encuentren en la caché, se accede a la memoria principal,
que es más lenta, pero tiene mayor capacidad.
El uso eficiente de la memoria caché es crucial para maximizar el rendimiento del procesador. Las
políticas de reemplazo de caché, como LRU (Least Recently Used) o LFU (Least Frequently Used),
determinan qué datos se mantienen en la caché y cuáles se reemplazan.

Procesadores multinúcleo y paralelismo a nivel de hilos:

Los procesadores multinúcleo son aquellos que cuentan con varios núcleos independientes en un solo
chip. Esto permite ejecutar múltiples tareas de manera simultánea y mejorar el rendimiento del
sistema.
El paralelismo a nivel de hilos es una técnica utilizada en los procesadores multinúcleo para ejecutar
múltiples hilos de ejecución en diferentes núcleos de manera concurrente.
El paralelismo a nivel de hilos permite realizar varias tareas al mismo tiempo, lo que aumenta la
eficiencia y el rendimiento del procesador.
Sin embargo, para aprovechar al máximo el paralelismo, es necesario que las tareas sean
independientes entre sí y que el software esté diseñado para aprovechar esta capacidad.
CONCLUSION
En conclusión, la organización del procesador desempeña un papel fundamental en el rendimiento y la
eficiencia de los sistemas informáticos. Comprender su arquitectura y funcionamiento nos permite
aprovechar al máximo su potencial, diseñando sistemas más rápidos y eficientes. La optimización de
la jerarquía de memoria y el aprovechamiento del paralelismo a nivel de hilos son aspectos clave para
mejorar el rendimiento y la capacidad de respuesta de los sistemas. Además, las últimas tendencias
tecnológicas, como la computación cuántica, abren nuevas fronteras en la informática y prometen
revolucionar la manera en que realizamos cálculos complejos y aplicaciones de inteligencia artificial.

BIBLIOGRAFIA
https://hardzone.es/tutoriales/rendimiento/ciclo-instruccion-cpu/
https://hardzone.es/noticias/tarjetas-graficas/asus-presenta-rtx-4060/
http://hugobrito.net/arquitecturateoria/definicioncomputadora.html
http://cv.uoc.edu/annotation/8255a8c320f60c2bfd6c9f2ce11b2e7f/619469/PID_00218272/PID_00218
272.html

También podría gustarte