Lección Nº VI

Ahora que ya conoce para que sirve la memoria caché, y en que se diferencia de la memoria Ram, Estamos en capacidad de decir que la memoria Cahé acelera el funcionamiento del Procesador y en consecuencia del microprocesador. También podemos señalar que acelerando el reloj tenemos mayor velocidad. Pero existe otra forma de aumentar la rapidez de un computador y esto tiene que ver con los microcódigos. Los microcódigos son instrucciones realizados en lenguaje de bajo nivel denominados lenguaje ensamblador que se realiza por cada ciclo de reloj. Las mejoras en si es hacer con menos ciclos de reloj mayor cantidad de instrucciones. Por ejemplo 8088 puede calcular una división entera 7/2 da como resultado 3, no 3.5 y para empeorar las cosas necesita 70 ciclos de reloj. En cambio el 80188 puede hacer en solo 25 ciclos de reloj.

Vias de instrucciones (Pipelines)

Las vias de  instrucciones de un CPU depende del Chip, pero básicamente puede descomponerse la ejecución de cualquier instrucción  en cinco pasos básicos.

- Coger la instrucción:

Obtener la siguiente instrucción , ya sea de memoria Ram externa a la CPU (en las cpu anteriores al 486) ó de la memoria caché de instrucciones de la CPU (en chips 486 y posteriores).

- Decodificar:

Las instrucciones tienen distinto tamaños, algunos son de un byte y otras de varios. Una instrucción dada, como el comando MOVE, puede tener distintas variantes: de una ubicación en el interior de la CPU a una externa, entre dos registros internos y muchos más. Incluso aunque las diferencias sean sutiles, son importantes. El paso de decodificación se encarga de eso.

- Obtener los operandos:

La mayoría de las instrucciones necesitan trabajar sobre unos datos. El simple comando move no significa nada, la CPU  debe saber que moverá y dónde  son operandos. Del mismo modo, si se le indica a la CPU   suma 34 y 22 entonces 34 y 22 son operandos.

- Ejecutar:

Sea lo que sea lo que indique la instrucción ( añadir,  mover,  dividir, comparar, o  lo que sea ) ya es hora de realizar esa operación.

- Apuntar el resultado:

Después de que se haya completado la operación, hay que escribir en registros internos del ordenador los resultados ( Tanto los valores producidos, como cualquier información de estado )

Al separar los pasos de la ejecución de una instrucción  en subtareas más pequeñas , los fabricantes de Chips pueden dividir el trabajo de diseñar chips  en partes más pequeñas.
Esto hace que se puedan construir sistemas  más rápidos. En otras palabras, es más fácil  construir un CPU  compuesto por cinco subcomponentes rápidos que construir una CPU  como unico componente veloz. Este proceso de coger la instrucción , decodificarla, obtener los operandos, ejecutar y apuntar los resultados se llama vías de instrucciones del CPU.
Algunas CPU utilizan múltiples vías, algunos de los competidores de intel  intentaron vencer a intel en el apartado de la velocidad, modificando la estructura de una via Cyrix creó un chip  llamado M1 que utilizaba siete pasos  en lugar de cinco. AMD creó una CPU llamada K5 con seis subpasos y NextGen fabricó el Nx586 con siete subpasos. Intel se adelanto así misma  con el Pentium Pro II/ Celeron /Xeon que dividia sus vias de instrucciones en 14 pasos

Tamaño de Palabra

Cada ordenador utiliza áreas de trabajo internas, como una especie de bancos de trabajo. Estos bancos de trabajo se llaman registros.
Cualquier ordenador puede programarse  para manipular números de cualquier tamaño. pero cuando mayor sea el número, más tiempo tardará. El número más grande que puede manipular el ordenador en una operación queda determinado por su tamaño de palabra. Es de 8, 16, 32 bits.
Piense en ello  de esta forma: si le pregunto cuanto es 5 veces 6, responderá 30 inmediatamente ( lo hizo en una sola operación. Si le pregunto cuanto es 55 veces 66, dará una series de pasos para llegar a la respuesta, es así por que 55 es mayor que su tamaño de palabra y cinco no lo es. Si tuviera un banco de trabajo mayor, un tamaño de palabra mayor, entonces podría realizar operaciones complejas en menos pasos y por tanto más rápidamente. Esa es una razón por la que un 386, con registros de 32 bits es más rápido  que un 286, con registros de 16 bits.
Los chips desde el 8088 al 80286 utilizaban palabra de 16 bits. del 80386 a los sistemas pentium pro/II Celeron /Xeon se utilizaron palabras de 32bits. El pentium4 también utiliza palabras de 32 bits, pero los registros de coma flotante y multimedia del chip se han incrementado hasta los 128 bits para aumentar la velocidad de transferencia de datos.

Ruta de datos

Sin importar como de grande sea el tamaño de  palabra del ordenador hay que transportar los datos a la cpu. Se trata ahora de la anchura de la puerta de carga del ordenador, o la ruta de datos. También puede ser de 8, 16, 32, o 64 bits. obviamente una puerta más ancha permitirá que se trasmitan más datos en un tiempo menor que con una puerta más estrecha.
Cosidere por ejemplo, un 8088 a 8mhz. frente a un 8086 a 8 mhz. La única diferencia entre el 8088 y el 8086 es que el 8088 tiene una ruta de datos de 8 bits y el 8086  una ruta de 16 bits. ahora tanto el 8088 y el 8086 tienen registros de 16 bits. Es por esto que el 8086 realiza a mayor velocidad una instrucción debido a su puerta de entrada de 16 bits.