miércoles, 29 de junio de 2011

14 - Funcionamiento de los Registros del procesador

Registros Del Procesador


En arquitectura de computadora, a registro del procesador es una cantidad pequeña de almacenaje disponible en CPU de quién contenido se puede alcanzar más rápidamente que el almacenaje disponible a otra parte. La mayoría, pero no todos, las arquitecturas de computadora modernas funcionan encendido el principio de datos móviles desde memoria central en los registros, funcionándolos encendido, entonces moviendo el resultado nuevamente dentro de la memoria-uno principal supuesta carga-almacene la arquitectura. Una característica común de programas de computadora es lugar de la referencia: los mismos valores están alcanzados a menudo en varias ocasiones; y llevar a cabo estos valores con frecuencia usados en registros mejora funcionamiento de la ejecución de programa.
Los registros del procesador están en la tapa del jerarquía de la memoria, y proporcione la manera más rápida para a CPU a los datos del acceso. El término es de uso frecuente referirse solamente al grupo de los registros que se codifican directamente como parte de una instrucción, según lo definido por sistema de instrucción. Más correctamente, éstos se llaman los “registros arquitectónicos”. Por ejemplo, x86 el sistema de instrucción define un sistema de ocho 32 registros del pedacito, pero a CPU que los instrumentos el sistema de instrucción x86 contendrán a menudo muchos más registros que apenas estos ocho.
El asignación de variables con frecuencia usadas a los registros puede ser crítico al funcionamiento de un programa. Esta acción, a saber asignación del registro es realizado por a recopilador en cifre la generación fase.

Registros


Cuando el procesador ejecuta instrucciones, la información almacena en forma temporal en pequeñas ubicaciones de memoria local de 8, 16, 32 o 64 bits, denominadas registros. Dependiendo del tipo de procesador, el número total de registros puede variar de 10 a varios cientos.
Los registros más importantes son:
  • el registro acumulador (ACC), que almacena los resultados de las operaciones aritméticas y lógicas;
  • el registro de estado (PSW, Processor Estado: Word o Palabra de Estado del Procesador), que contiene los indicadores de estado del sistema (lleva dígitos, desbordamientos, etc.);
  • el registro de instrucción (RI), que contiene la instrucción que está siendo procesada actualmente;
  • el contador ordinal (OC o PC por Program Counter, Contador de Programa), que contiene la dirección de la siguiente instrucción a procesar;
  • el registro del búfer, que almacena información en forma temporal desde la memoria.


13 - Funcionamiento de la Memoria Cache

En muchos anuncios de ordenadores existen unas cifras que parecen sacadas de un código de espías, algo como: "256 Kb" o "512 burst-sram". Ante semejante galimatías, nuestro amigo informático de turno no duda en exclamar: "ah, sí, eso es la caché", en un tono rotundo que no deja lugar a más preguntas. Pero en nuestro fuero interno, seguimos preguntándonos ¿la ca-qué?

Para empezar, digamos que la caché no es sino un tipo de memoria del ordenador; por tanto, en ella se guardarán datos que el ordenador necesita para trabajar. ¿Pero no era eso la RAM?, preguntará usted. Bueno, en parte sí. A decir verdad, la memoria principal del ordenador (la RAM, los famosos 8, 16, 32 ó 64 "megas") y la memoria caché son básicamente iguales en muchos aspectos; la diferencia está en el uso que se le da a la caché.
Debido a la gran velocidad alcanzada por los microprocesadores desde el 386, la RAM del ordenador no es lo suficientemente rápida para almacenar y transmitir los datos que el microprocesador (el "micro" en adelante) necesita, por lo que tendría que esperar a que la memoria estuviera disponible y el trabajo se ralentizaría. Para evitarlo, se usa una memoria muy rápida, estratégicamente situada entre el micro y la RAM: la memoria caché.
Ésta es la baza principal de la memoria caché: es muy rápida. ¿Cuánto es "muy rápida"? Bien, unas 5 ó 6 veces más que la RAM. Esto la encarece bastante, claro está, y ése es uno de los motivos de que su capacidad sea mucho menor que el de la RAM: un máximo en torno a 512 kilobytes (512 Kb), es decir, medio "mega", frente a 16 ó 32 megas de RAM. Además, este precio elevado la hace candidata a falsificaciones y timos.
Pero la caché no sólo es rápida; además, se usa con una finalidad específica. Cuando un ordenador trabaja, el micro opera en ocasiones con un número reducido de datos, pero que tiene que traer y llevar a la memoria en cada operación. Si situamos en medio del camino de los datos una memoria intermedia que almacene los datos más usados, los que casi seguro necesitará el micro en la próxima operación que realice, se ahorrará mucho tiempo del tránsito y acceso
a la lenta memoria RAM; esta es la segunda utilidad de la caché.
Para los que tengan curiosidad por ver cómo es la caché (aunque en muchas ocasiones no resulta fácil de reconocer, por venir encapsulada en algún tipo de chip de control o toda junta en un único chip), aquí tienen una foto de unos chips de caché:




Leído lo anterior, usted pensará: pues cuanto más grande, mejor. Cierto, pero no; o más bien, casi siempre sí. Aunque la caché sea de mayor velocidad que la RAM, si usamos una caché muy grande, el micro tardará un tiempo apreciable en encontrar el dato que necesita. Esto no sería muy importante si el dato estuviera allí, pero ¿y si no está? Entonces habrá perdido el tiempo, y tendrá que sumar ese tiempo perdido a lo que tarde en encontrarlo en la RAM.
Por tanto, la caché actúa como un resumen, una "chuleta" de los datos de la RAM, y todos sabemos que un resumen de 500 páginas no resulta nada útil. Se puede afirmar que, para usos normales, a partir de 1 MB (1024 Kb) la caché resulta ineficaz, e incluso pudiera llegar a ralentizar el funcionamiento del ordenador. El tamaño idóneo depende del de la RAM, y viene recogido en la siguiente tabla:

RAM (MB)
Caché (Kb)
1 a 4
128 ó 256
4 a 12
256
12 a 32
512
más de 32
512 a 1024
Se debe hacer notar que muchos "chipsets" para Pentium, como los conocidos Intel "Tritón" VX o TX, no permiten cachear más de 64 MB de RAM; es decir, que a partir de esta cifra, ES COMO SI NO EXISTIERA CACHé EN ABSOLUTO (0 Kb!!).
Así que si necesita instalar más de 64 MB en una placa para Pentium, busque una placa que permita cachear más de esa cifra (como algunas -no todas- las que tienen chipsets "Tritón" HX). Para saber más sobre chipsets.

La caché a la que nos hemos referido hasta ahora es la llamada "caché externa" o de segundo nivel (L2). Existe otra, cuyo principio básico es el mismo, pero que está incluida en el interior del micro; de ahí lo de interna, o de primer nivel (L1).
Esta caché funciona como la externa, sólo que está más cerca del micro, es más rápida y más cara, además de complicar el diseño del micro, por lo que su tamaño se mide en pocas decenas de kilobytes. Se incorporó por primera vez en los micros 486, y por aquel entonces era de 8 Kb (aunque algunos 486 de Cyrix tenían sólo 1 Kb). Hoy en día se utilizan 32 ó 64 Kb, aunque seguro que pronto alguien superará esta cifra.
La importancia de esta caché es fundamental; por ejemplo, los Pentium MMX son más rápidos que los Pentium normales en aplicaciones no optimizadas para MMX, gracias a tener el doble de caché interna. A decir verdad, la eficacia de la "optimización MMX" de aplicaciones como Microsoft Office, está por ver...


La caché de los Pentium II/III y Celeron
Puede que haya oído hablar de que los Pentium II y Pentium III (y su antecesor el extinto Pentium Pro) tienen 512 Kb de caché interna; esto es inexacto, cuando no una "confusión interesada" por parte de Intel y los vendedores. Los Pentium II y III tienen 32 Kb de caché interna, y 512 Kb de caché dentro del cartucho SEC pero externa al encapsulado del microchip.
Este contrasentido se explica si se ve un Pentium II "destripado" como éste:

Dentro de la gran carcasa negra encontramos una placa de circuito en la que va soldado el micro en sí (en el centro de la imagen), junto con varios chips que forman la caché, externa a lo que es propiamente el micro. Sin embargo, esta caché funciona a una frecuencia que es la mitad de la del micro (es decir, a 133, 150 MHz o más), mientras que la caché externa clásica funciona a la de la placa base (de 50 a 66 MHz en los Pentium y 100 MHz en los AMD K6-2).
Los que casi pueden presumir de tener una gran caché interna son los micros más modernos: Pentium III Coppermine, Celeron Mendocino (no los antiguos Celeron, que carecían de caché L2 en absoluto) y AMD Athlon Thunderbird y Duron. Estos micros tienen la caché L2 integrada en el propio encapsulado del micro y la hacen funcionar a la misma velocidad que éste, de forma que no llega a ser tan rápida como la caché L1 pero sí lo bastante como para ser más rápidos que los modelos con caché externa, pese a tener la mitad o menos de caché.
Digamos, en fin, que los Pentium II y los primeros Pentium III y Celeron tienen una caché interna y una semi-externa, lo cual no es poco mérito en absoluto; pero las cosas son como son, mal que le pese a los magos de la publicidad.