CPU

CPU

Unidad central de procesamiento

La operación fundamental de la mayoría de los CPU, es ejecutar una secuencia de instrucciones almacenadas llamadas programas, el mismo es representado por una serie de números que se mantienen en una cierta clase de memoria de computador, existiendo cuatro pasos, que casi todos los CPU de Eckert-Mauchly usan en su operación: fetch, decode, execute, y writeback, (leer, decodificar, ejecutar, y escribir).
El contador de programa indica al CPU, el lugar de la instrucción en el programa actual. Después de que se lee una instrucción, el PC es incrementado por la longitud de la palabra de instrucción en términos de unidades de memoria.[4] Frecuentemente la instrucción a ser leída debe ser recuperada de memoria relativamente lenta, haciendo detener al CPU mientras espera que la instrucción sea retornada. Este problema es tratado en procesadores modernos en gran parte por los cachés y las arquitecturas pipeline
La instrucción que el CPU lee desde la memoria es usada para determinar qué deberá hacer el CPU, en el paso de decodificación, la instrucción es dividida en partes que tienen significado para otras porciones del CPU, la manera en que el valor de la instrucción numérica es interpretado está definida por la arquitectura del conjunto de instrucciones (el ISA) del CPU.
Después de los pasos de lectura y decodificación, es llevado a cabo el paso de la ejecución de la instrucción. durante este paso, varias porciones del CPU son conectadas de tal manera que ellas pueden realizar la operación deseada.
El paso final, la escritura, simplemente escribe los resultados del paso de ejecución a una cierta forma de memoria, en algunos casos, los resultados son escritos a algún registro interno del CPU para acceso rápido por subsecuentes instrucciones, y en otros los resultados pueden ser escritos a una memoria principal más lenta y más grande.
Después de la ejecución de la instrucción y la escritura de los datos resultantes, el proceso entero se repite con el siguiente ciclo de instrucción, normalmente leyendo la siguiente instrucción en secuencia debido al valor incrementado en el contador del programa.