Un programa en ejecución es conocido como proceso y este proceso sigue lo que se conoce como el ciclo Fetch – Execute, FETCH-DECODE-EXECUTE-WRITE (Fig F7) en donde una copia de la dirección (Address) de datos o instrucciones tomados (Fetch)de la memoria principal es llevada al PC (program counter) para ser ejecutado, pero antes se debe establecer que instrucción es, por lo tanto, esta se decodifica antes para determinarlo.

Fig F7

Por ende, después que se busca (Fetch) el dato o instrucción, se decodifica (Decode), si la instrucción requiere de más datos de la memoria o ejecutar otra instrucción esta procede a buscarla, de lo contrario, la instrucción es ejecutada (Execute).

El proceso de ejecución se lleva a cabo en el ALU controlado por la unidad de control CU y es cuando los registros son utilizados para manejo de datos e instrucciones, a la misma vez el “program counter” o PC es actualizado con la dirección de la próxima instrucción a ser ejecutada. La instrucción que en el momento se esté llevando a cabo una vez procesada los resultados se llevan al EDB (External Data Bus) una vez más (Write ) y el proceso se repite con la próxima instrucción señalada por el” program counter”.

Ahora bien, cada instrucción que pasa por este proceso de cuatro etapas o “stages” se inicia con un pulso eléctrico (clock cicle) en una línea que conecta al procesador conocida como el CLK line o línea del reloj que es como un boton que inicia la operacion inicial para llevar a cabo el fetch -decode , pero el procesador tiene a veces instrucciones tan complejas que a veces cae en un “pipeline stall” (estado de detención) , esto usualmente ocurre cuando son operaciones de índole matemáticas , repetitivas o cuando los algoritmos son complicados específicamente en áreas de predicción (branch ) . Por esta razón, los procesadores actuales se les incorporan otra línea de procesos (Pipe Line) especializados para ejecuciones aritméticas y lógicas, de esta forma, mejorando su efectividad.

Por cada pipe line se ejecuta el ciclo de FETCH -DECODE -EXECUTE – WRITE (FDEW) y en la actualidad existen más de cuatro etapas por “pipeline”. Intel y AMD se han establecido aproximadamente en 12 etapas aunque puede que esto cambie en un futuro. Cada etapa del (FDEW) está controlada por un ciclo del reloj, es por eso que a veces se requiere de muchos ciclos de reloj para ejecutar una instrucción completa.

Fig F8

Sin embargo, las instrucciones provienen inicialmente del HD (hard disk) lo cual resulta ser muy lento en comparación con la memoria principal RAM que también resulta ser muy lenta en comparación con el procesador (Fig F8).

La memoria RAM en particular DRAM que debe ser continuamente actualizada con sus datos por ser volátiles, el controlador de esta quien está encargado de refrescar sus capacitores inherentes en ella tarda un tiempo que el procesador no siempre está dispuesto a esperar por tanto se crea un “delay” de espera (wait state).

 

 

 

Fig F9

Para evitar esto los fabricantes de procesadores añaden al procesador unas áreas de memorias estáticas bien rápidas conocidas como cache, de tal manera, que instrucciones que se determinen que podrían sucesivamente repetirse o datos que se determinen puedan volverse a usar, sean fácilmente encontrados en estas áreas de memoria y no tener que buscarlas en la memoria RAM.

Se añade entonces una segunda área de memoria cache en las inmediaciones del procesador que en la actualidad ubica en el mismo empaque. Al primer área de cache se le conoce como L1 o nivel 1 y a la segunda L2 o nivel 2. Si el procesador entra en estado de espera (wait state) automáticamente busca en L1 Para ver si hay códigos o datos que puedan utilizarse en algún proceso en agenda y si no encuentra ninguno entonces busca en el L2.

El cache L1 es de menor capacidad que el L2 pero de mayor rapidez y está en el mismo procesador, sin embargo, el L2 está en el mismo empaque del procesador, pero físicamente separado de este (Fig F9). En la actualidad los procesadores han mejorado en la cantidad y capacidad de sus caches y registros y en la amplitud de sus Buses (Address Bus y External Data Bus).

A nivel de “mainboard” la configuración de procesador con memoria principal (RAM) , caches y buses siguen una nomenclatura basada en la relación entre estos. Por ejemplo: entre el CPU, Controladores, “Address Bus”, EDB, y Memoria se conoce como “Front Side Bus” y entre el CPU y el L2 se conoce como “Back Side Bus”. En el pasado, había la tendencia de hacer los llamados “upgrades” en las computadoras instalando nuevos procesadores más rápidos o reajustando el reloj de la computadora a lo que se conocía como “over clocking” donde se aumentaba la frecuencia de este, cosa que no era recomendable si el procesador no estaba diseñado para esta frecuencia, ya que podía arruinarlo.

Un procesador en su funcionamiento nominal genera calor , mucho calor de tal manera, que podría derretirse así mismo, por lo tanto, es necesario la adaptación de dispositivos de enfriamiento en su empaquetado, como lo es los disipadores de calor hechos en aluminio que desplazan el calor generado a través de su superficie y bajan la temperatura del procesador , pero aun así a veces crean tanta calor que en adición se les conectan abanicos (ventiladores “FANS”) sobre éstos para que apoyen en la extracción del calor y a veces sistemas de enfriamiento por “coolants” líquidos.

En la actualidad se reconoce que lo mejor es aumentar la memoria RAM en vez de la velocidad del procesador; y así mantener un espacio prudente en el sistema de la computadora y mejorar su efectividad. La tecnología moderna permite mejoras en el procesador no por el aumento en su frecuencia si no por la implementación de mejores caches, registros y “pipelines”, siempre siguiendo el principio de que a más pequeño el encapsulado (reducción de microcircuitos) menos potencia necesitará, y por ende menos calor generara.

 

 

 

 

......................................................................Designed By P.Sepulveda .... (@)All Rights Reserved 2015.. / WebMaster Juny MP3