La CPU, también conocida como microprocesador, es el corazón y / o cerebro de una computadora. Permite profundizar en el núcleo de la computadora y comprender cómo funciona la CPU, lo que nos ayudará a escribir programas de computadora de manera eficiente.
Una computadora es una máquina alimentada principalmente por electricidad, pero su flexibilidad y programabilidad han ayudado a lograr la simplicidad de una herramienta.
la CPU es el corazón y/o el cerebro de una computadora. Ejecuta las instrucciones que se les proporcionan. Su trabajo principal es realizar operaciones aritméticas y lógicas y orquestar las instrucciones juntas. Antes de sumergirnos en las partes principales, comencemos por ver cuáles son los componentes principales de una CPU y cuáles son sus funciones:
- Dos componentes principales de una CPU (procesador)
- Unidad de control — CU
- Unidad aritmética y lógica-ALU
- Almacenamiento: Registros y memoria
- Registros
- Memoria (RAM)
- Qué son las instrucciones
- Reloj de CPU
- Cómo se ejecuta una instrucción
- PASO 1-LOAD_A 8:
- PASO 2 — LOAD_B 2
- PASO 3 — AGREGAR B A
- PASO 4-STORE_A 23
- BUS
- Cache
- Canalización de instrucciones
- Equipo multinúcleo
- Rendimiento
Dos componentes principales de una CPU (procesador)
- Unidad de control — CU
- Unidad aritmética y lógica — ALU
Unidad de control — CU
Unidad de control CU es la parte de la CPU que ayuda a orquestar la ejecución de instrucciones. Dice qué hacer. De acuerdo con la instrucción, ayuda a activar los cables que conectan la CPU a otras partes de la computadora, incluida la unidad de ALUMINIO. La unidad de control es el primer componente de la CPU que recibe las instrucciones para el procesamiento.
Hay dos tipos de unidades de control:
- unidades de control cableadas.
- unidades de control micro programables (microprogramadas).
Las unidades de control cableadas son el hardware y necesitan el cambio en el hardware para agregar modificar su funcionamiento, mientras que la unidad de control microprogramable se puede programar para cambiar su comportamiento. CU cableado es más rápido en la instrucción de procesamiento, mientras que micro programable es más flexible.
Unidad aritmética y lógica-ALU
Unidad aritmética y lógica ALU como su nombre indica hace todos los cálculos aritméticos y lógicos. ALU realiza operaciones como suma, resta. ALU consiste en circuitos lógicos o puertas lógicas que realizan estas operaciones.
La mayoría de las puertas lógicas toman dos entradas y producen una salida
A continuación se muestra un ejemplo de un circuito de media sumadora que toma dos entradas y produce el resultado. Aquí A y B son la entrada, S es la salida y C es la carga.
Almacenamiento: Registros y memoria
El trabajo principal de la CPU es ejecutar las instrucciones que se le proporcionan. Para procesar estas instrucciones la mayor parte del tiempo, necesita datos. Algunos datos son datos intermedios, algunos de ellos son entradas y otros son la salida. Estos datos junto con las instrucciones se almacenan en el siguiente almacenamiento:
Registros
Un registro es un pequeño conjunto de lugares donde se pueden almacenar los datos. Un registro es una combinación de pestillos. Los pestillos también conocidos como chanclas son combinaciones de puertas lógicas que almacenan 1 bit de información.
Un pestillo tiene dos cables de entrada, cables de escritura y entrada y un cable de salida. Podemos habilitar el cable de escritura para realizar cambios en los datos almacenados. Cuando el cable de escritura está desactivado, la salida siempre permanece igual.
La CPU tiene registros para almacenar los datos de salida. El envío a la memoria principal (RAM) sería lento, ya que son los datos intermedios. Estos datos se envían a otros registros que están conectados por un BUS. Un registro puede almacenar instrucciones, datos de salida, direcciones de almacenamiento o cualquier tipo de datos.
Memoria (RAM)
La ram es una colección de registros organizados y compactos de una manera optimizada para que pueda almacenar un mayor número de datos. La RAM (Memoria de acceso aleatorio) es volátil y sus datos se pierden cuando apagamos la energía. Como RAM es una colección de registros para leer/escribir datos, una RAM toma la entrada de direcciones de 8 bits, la entrada de datos para que los datos reales se almacenen y, finalmente, el habilitador de lectura y escritura que funciona como lo es para los pestillos.
Qué son las instrucciones
La instrucción es el cálculo de nivel granular que una computadora puede realizar. Hay varios tipos de instrucciones que una CPU puede procesar.
Las instrucciones incluyen:
- Aritmética como sumar y restar
- Instrucciones lógicas como and, or, and not
- Instrucciones de datos como mover, entrar, salir, cargar y almacenar
- Instrucciones de flujo de control como goto, if got goto, llamar y devolver
- Notificar a la CPU que el programa ha finalizado Halt
Las instrucciones se proporcionan a un equipo que utiliza lenguaje ensamblador o son generadas por un compilador o idiomas de alto nivel .
Estas instrucciones están cableadas dentro de la CPU. ALU contiene aritmética y lógica, mientras que el flujo de control es administrado por CU.
En un ciclo de reloj, las computadoras pueden realizar una instrucción, pero las computadoras modernas pueden realizar más de una.
Un grupo de instrucciones que un ordenador puede realizar se denomina conjunto de instrucciones.
Reloj de CPU
Ciclo de reloj
La velocidad de un ordenador está determinada por su ciclo de reloj. Es el número de períodos de reloj por segundo en los que trabaja una computadora. Los ciclos de un solo reloj son muy pequeños como alrededor 250 * 10 *-12 segundo. Más alto es el ciclo de reloj más rápido que el procesador.
Un ciclo de reloj de CPU se mide en GHz (Gigahercios). 1 GHz es igual a 10 Hz Hz (hertz). Hertz significa un segundo. Así que 1 Gigahertz significa 10 cycles ciclos por segundo.
Cuanto más rápido sea el ciclo del reloj, más instrucciones podrá ejecutar la CPU. Ciclo de reloj = 1 / velocidad de reloj Tiempo de CPU = número de ciclo de reloj / velocidad de reloj
Esto significa que para mejorar el tiempo de CPU, podemos aumentar la velocidad de reloj o disminuir el número de ciclos de reloj optimizando la instrucción que proporcionamos a la CPU. Algunos procesadores proporcionan la capacidad de aumentar el ciclo del reloj, pero como se trata de cambios físicos, puede haber sobrecalentamiento e incluso humos/incendios.
Cómo se ejecuta una instrucción
Las instrucciones se almacenan en la RAM en orden secuencial. Para una CPU hipotética, la instrucción consiste en código OP(código operativo) y memoria o dirección de registro.
Hay dos registros dentro de un registro de Instrucciones(IR) de la Unidad de control que carga el código OP de la instrucción y el registro de direcciones de instrucción que carga la dirección de la instrucción en ejecución. Hay otros registros dentro de una CPU que almacenan el valor almacenado en la dirección de los últimos 4 bits de una instrucción.
Tomemos un ejemplo de un conjunto de instrucciones que agrega dos números. Las siguientes son las instrucciones junto con su descripción. La CPU funciona ejecutando las siguientes instrucciones:
PASO 1-LOAD_A 8:
La instrucción se guarda en RAM inicialmente como, por ejemplo, <>. El primer bit de 4 es el código de operación. Esto determina la instrucción. Esta instrucción se obtiene en el IR de la unidad de control. La instrucción se decodifica para ser load_A, lo que significa que necesita cargar los datos en la dirección 1000, que es el último bit de 4 de la instrucción para registrar A.
PASO 2 — LOAD_B 2
Similar a lo anterior, carga los datos en la dirección de memoria 2 (0010) al registro de CPU B.
PASO 3 — AGREGAR B A
Ahora la siguiente instrucción es agregar estos dos números. Aquí el CU le dice a ALU que realice la operación agregar y guarde el resultado de nuevo para registrar A.
PASO 4-STORE_A 23
Este es un conjunto de instrucciones muy simple que ayuda a agregar dos números.
Hemos añadido dos números con éxito!
BUS
Todos los datos entre la CPU, el registro, la memoria y el dispositivo de E / S se transfieren a través de bus. Para cargar los datos en la memoria que acaba de agregar, la CPU coloca la dirección de memoria en el bus de direcciones y el resultado de la suma en el bus de datos y habilita la señal correcta en el bus de control. De esta manera, los datos se cargan en la memoria con la ayuda del bus.
Cache
La CPU también tiene un mecanismo para preestablecer la instrucción en su caché. Como sabemos, hay millones de instrucciones que un procesador puede completar en un segundo. Esto significa que se dedicará más tiempo a obtener la instrucción de la RAM que a ejecutarla. Por lo tanto, la caché de la CPU preestablece parte de la instrucción y también los datos para que la ejecución sea rápida.
Si los datos en la caché y la memoria operativa son diferentes, los datos se marcan como un bit sucio.
Canalización de instrucciones
La CPU moderna utiliza la canalización de instrucciones para la paralelización en la ejecución de instrucciones. Buscar, Decodificar, Ejecutar. Cuando una instrucción está en la fase de decodificación, la CPU puede procesar otra instrucción para la fase de recuperación.
Esto tiene un problema cuando una instrucción depende de otra. Por lo tanto, los procesadores ejecutan la instrucción que no es dependiente y en un orden diferente.
Equipo multinúcleo
Es básicamente la CPU diferente, pero tiene algunos recursos compartidos como la caché.
Rendimiento
El rendimiento de la CPU está determinado por su tiempo de ejecución. Rendimiento = 1 / tiempo de ejecución
digamos que un programa tarda 20 ms en ejecutarse. El rendimiento de la CPU es 1/20 = 0.05m Rendimiento relativo = tiempo de ejecución 1/tiempo de ejecución 2
El factor que se considera para el rendimiento de una CPU es el tiempo de ejecución de la instrucción y la velocidad del reloj de la CPU. Por lo tanto, para aumentar el rendimiento de un programa, necesitamos aumentar la velocidad del reloj o disminuir el número de instrucciones en un programa. La velocidad del procesador es limitada y las computadoras modernas con varios núcleos pueden admitir millones de instrucciones por segundo. Pero si el programa que hemos escrito tiene muchas instrucciones, esto disminuirá el rendimiento general.
La notación Big O determina con la entrada dada cómo se verá afectada la ejecución.
Se realizan muchas optimizaciones en la CPU para que sea más rápida y funcione lo más que pueda. Al escribir cualquier programa, debemos considerar cómo reducir el número de instrucciones que proporcionamos a la CPU aumentará el rendimiento del programa informático.
¿Está interesado en optimizar las bases de datos? Más información aquí: https://milapneupane.com.np/2019/07/06/how-to-work-optimally-with-relational-databases/