lunes, 28 de marzo de 2011

Factores que afectan la velocidad de procesamiento

A pesar de que todas las microcomputadoras tienen una CPU y memoria, por ningun motivo las microcomputadoras son iguales. Desde hace 15 años, el poder de las microcomputadoras se ha incrementado notablemente. El poder de cómputo por lo general se refiere a la velocidad con la que la computadora procesa datos. Por tanto, más poder de cómputo significa en realidad procesamiento más rápido. Un axioma común es que el poder de cómputo de las CPU se duplica cada 18 meses. Esto se conoce como la ley de Moore, conocida así en honor de Gordon Moore, fundador y presidente emérito de Intel. Hasta ahora, la ley de Moore ha resultado cierta, pues colocar más transistores en chips más pequeños, ha dado como resultado ganancias en el desempeño e incrementos en la velocidad. Una razón de que la velocidad se incremente es porque se reduce la distancia entre transistores. En el futuro, la construcción de CPU será tan pequeña que se llevará a cabo a escala atómica.

El diseño de los circuitos de una CPU determina su velocidad básica, pero varios factores adicionales pueden hacer que trabajen aún más rápido los chips ya diseñados para determinada velocidad. Ya se han introducido algunos de ellos, como los registros de la CPU y la memoria. En esta sección, usted verá cómo estos dos componentes, al igual que otros, como la memoria caché, la velocidad de reloj, el bus de datos y el coprocesador matemático, afectan la velocidad de la computadora.

Cómo es que los registros afectan la velocidad
Los registros en las primeras PC podían contener dos bytes de 16 bits cada uno. La mayoría de las CPU vendidas hoy en día, tanto para computadoras PC como Macintosh, tienen registros de 32 bits. Algunas computadoras potentes, como las minicomputadoras y algunas estaciones de trabajo terminales, tienen registros de 64 bits; esta tendencia está abriendo camino a la corriente principal de las PC.

El tamaño de los registros, que algunas veces se llama tamaño de palabra, indica la cantidad de datos con la que puede trabajar la computadora en cualquier momento. Entre mayor es el tamaño de palabra, más rápido puede procesar la computadora un conjunto de datos. De manera ocasional, usted escuchará a la gente referirse a "procesadores de 32 bits" o "procesadores de 64 bits" o incluso "computadoras de 64 bits".

Esta terminología se refiere al tamaño del registro en el procesador. Si todos los otros factores se mantienen igual, una CPU con registros de 32 bits puede procesar datos el doble de rápido que una con registros de 16 bits.

Potencia de memoria y de cómputo
La cantidad de RAM en una computadora puede tener un gran efecto en la potencia de la computadora. Por una parte, más RAM significa que la computadora puede usar programas más grandes y más potentes; de igual forma estos programas pueden tener acceso a archivos de datos más grandes.

Más RAM también puede hacer que la computadora corra más rápido. La computadora no necesariamente tiene que cargar un programa entero en la memoria para correrlo, pero entre más del programa pueda caber en la memoria, más rápido correrá el programa. Por ejemplo, una PC con 12 MB de RAM es capaz de ejecutar Microsoft Windows 98, aun cuando el programa en realidad ocupe cerca de 50 MB de espacio de almacenamiento en el disco. Cuando corre Windows, el programa no necesita cargar todos los archivos en memoria para correr de manera apropiada. Carga sólo las partes más esenciales en memoria. Cuando la computadora necesita tener acceso a otras partes del programa en el disco, puede descargar; o intercambiar por extracción, partes no esenciales de la RAM de vuelta al disco duro. Entonces la computadora puede cargar, o intercambiar por introducción, el código del programa o los datos que necesita. Sin embargo, si su PC tiene 16 MB de RAM o más, notará la gran diferencia en lo rápido que corre Microsoft Windows 98 debido a que la CPU necesitará sustituir instrucciones de programa entre la RAM y el disco duro con mucho menor frecuencia.

Por suerte, si decide que necesita más RAM de la que tiene, puede comprar más, abrir su computadora y conectarla. En las computadoras actuales, los chips están agrupados por lo general en pequeños tableros de circuitos llamados Módulos Simples de Memoria en Línea (Single In-Line Memory Modules: SIMM) o Módulos de Memoria Doble en Línea (Dual In-Line Memory Modules: DIMM). Cada SIMM o DIMM puede mantener entre 1 MB y 64 MB de RAM y conectarse a la tarjeta madre con conexiones de 30 o 72 pins. El costo de la actualización de memoria de una computadora oscila entre 10 y 25 dólares por megabyte, así que con frecuencia es la forma más efectiva y económica para obtener más velocidad de su computadora.

El reloj interno de la computadora
Toda microcomputadora tiene un reloj del sistema, pero el propósito principal del reloj no es mantener la hora del día. Como la mayor parte de los relojes de pulsera modernos, el reloj es accionado por un cristal de cuarzo. Cuando se aplica electricidad, las moléculas en el cristal vibran millones de veces por segundo, con un ritmo que nunca cambia. La velocidad de la vibración es determinada por el grosor del cristal. La computadora usa las vibraciones del cuarzo en el reloj del sistema para medir sus operaciones de procesamiento.

Con los años, las velocidades de los relojes se han incrementado en forma constante. Por ejemplo, la primera PC operaba a 4.77 megahertz. Hertz es una medida de ciclos por segundo. Un ciclo de reloj es el tiempo que le toma a un transistor apagarse y encenderse de nuevo. Megahertz (MHz) significa "millones de ciclos por segundo". Las velocidades de reloj de 400MHz y superiores son comunes. Las velocidades de procesador están incrementándose con rapidez. Para el momento en que usted lea esto, es probable que las velocidades de reloj hayan excedido los 500 MHz. Los expertos predicen que las velocidades de reloj de 1 GHz (gigahertz) se lograrán poco después de que acabe el siglo. Si todos los otros factores permanecieran iguales (aunque nunca lo están), una CPU operando a 300 MHz puede procesar datos más del doble de rápido que la misma operando a 133 MHz.

El bus
En las microcomputadoras, el término bus se refiere a las rutas entre los componentes de una computadora. Hay dos buses principales en una computadora: el bus de datos y el bus de direcciones. Del que más se habla es del bus de datos, así que cuando la gente sólo dice "el bus", por lo general se refiere al bus de datos.

El bus de datos
El bus de datos es una ruta eléctrica que conecta la CPU, la memoria y los otros dispositivos de hardware en la tarjeta madre. En realidad, el bus es un grupo de cables paralelos. El número de cables en el bus afecta la velocidad a la que pueden viajar los datos entre los componentes del hardware, como el número de carriles en una autopista afecta el tiempo que le toma a la gente llegar a su destino. Debido a que cada cable puede transferir un bit a la vez, un bus de ocho cables puede mover ocho bits a un tiempo, lo cual es un byte completo. Un bus de 16 bits puede transferir dos bytes y un bus de 32 bits puede transferir cuatro bytes a la vez.

Los buses de la PC están diseñados para igualar las capacidades de los dispositivos conectados a ellos. Cuando las CPU sólo podían enviar y recibir un byte de datos a la vez, no tenía caso conectarlas a un bus que pudiera mover más datos. Sin embargo, conforme mejoró la tecnología de los microprocesadores, fueron construidos chips que podían enviar y recibir más datos a la vez, y los diseños de buses mejorados crearon rutas más anchas por las que podían fluir los datos.

Cuando IBM introdujo la PC-AT en 1984, la mayor mejora fue un bus de datos aumentado que fue igualado con las capacidades de un microprocesador introducido en 1982, el Intel 80286. El bus de datos de la AT tenía un ancho de 16 bits y de inmediato se convirtió en la norma dentro de la industria. Todavía es usado por dispositivos de PC que no requieren de un bus de más de 16 bits. El bus AT es conocido comúnmente como el bus de Arquitectura Estándar de la Industria (Industry Standard Architecture: ISA).

Dos años después, sin embargo, cuando los primeros chips 80386 (por lo común abreviados como 386) empezaron a distribuirse, fue necesaria una nueva norma para el bus de 32 bits de la 386. El primer competidor fue el bus de Arquitectura de Microcanal (Micro Channel Architecture: MCA), de IBM. Luego vino el bus de Arquitectura Industrial Extendida Estándar (Extended Industry Standard Architecture: EISA) de un consorcio de desarrolladores de hardware que se opuso a la nueva norma de IBM debido a que no tenía compatibilidad decreciente. El ganador de la guerra de buses no fue ni MCA ni EISA. Fue el bus de Interconexión de Componentes Periféricos (Peripheral Component Interconnect: PCI). Intel diseñó el bus PCI de manera específica para hacer más fácil integrar nuevos tipos de datos, como sonido, vídeo y gráficos.

El bus de direcciones
El segundo bus encontrado en cada microcomputadora es el bus de direcciones. El bus de direcciones es un juego de cables similar al bus de datos que conecta la CPU y la RAM y lleva las direcciones de memoria. (Recuerde, cada byte en la RAM se asocia con un número, el cual es la dirección de memoria.)

El bus de direcciones es importante porque el número de cables en éste determina la cantidad máxima de direcciones de memoria. Por ejemplo, recuerde que un byte de datos es suficiente para representar 256 valores diferentes. Si el bus de direcciones sólo pudiera llevar ocho bits a la vez, la CPU direccionara sólo 256 bytes de RAM.

En realidad, la mayor parte de las primeras PC tenian buses de direcciones de 20 bits, asi que la CPU podia direccionar 220 bytes, o 1 MB, de datos. Hoy en dia, la mayoria de las CPU tienen buses de direcciones de 32 bits que pueden direccionar 4 GB (más de 4 mil millones de bytes) de RAM. Algunos de los modelos más recientes pueden direccionar aún más.

Una de las más grandes dificultades en la evolucion de las PC fue que DOS, el sistema operativo usado en la vasta mayoria de PC por más de una decada, fue diseñado para máquinas que sólo direccionaban 1 MB de RAM. Cuando las PC comenzaron a contener más RAM, tuvo que diseñarse software especial para direccionarla.

Los programadores propusieron dos dispositivos llamados memoria expandida y memoria extendida. Windows 95 en gran medida suprimio éstas, aunque la memoria extendida aún existe en el sistema operativo con propositos de compatibilidad decreciente.

Memoria caché
Mover datos entre la RAM y los registros de la CPU es una de las operaciones que debe desempeñar una CPU que consumen más tiempo, simplemente porque la RAM es mucho más lenta que la CPU.

Una solucion parcial a este problema es incluir una memoria caché en la CPU. La memoria caché es similar a la RAM, excepto que es muy rápida comparada con la memoria normal, y se usa en una forma diferente.

Cuando u programa está corriendo y la CPU necesita leer datos o instrucciones desde la RAM, la CPU verifica primero para ver si los datos estan en la memoria caché. Si los datos que necesita no estan ahi, lee los datos desde la RAM a sus registros, pero tambien carga una copia de los datos en la memoria caché. La siguiente vez que la CPU necesite los mismos datos, los encontrará en la memoria caché y ahorrará el tiempo necesario para cargar los datos desde la RAM. Conociendo el tamaño de la mayor parte de los programas y muchos archivos de datos, usted podria pensar que las probabilidades de que la CPU encuentre los datos que necesita en la memoria caché son pequeñas, pero en realidad encuentra los datos que necesita con la frecuencia suficiente para mejorar el desempeño de una PC.

Las instrucciones de programas a menudo se encuentran en la memoria caché. Con frecuencia, los programas piden a la computadora que haga la misma operacion de manera repetida hasta que se cumpla una condicion particular. En lenguaje de computadora, este proceso repetitivo se llama ciclo (loop). Por ejemplo, cuando un programa procesador de palabras busca una palabra específica, debe revisar cada palabra en el documento hasta que encuentra una igual. Si las instrucciones que le dicen a la unidad logica aritmetica cómo encontrar una pareja estan en la memoria caché, la unidad de control no tiene que cargarlas desde la RAM cada vez. Como resultado, la busqueda se completa más rapido.

Desde fines de la decada de 1980, la memoria caché ha sido incorporada en la mayor parte de las CPU de las PC. Las primeras caché de CPU venian con 0.5 KB, luego 8 KB, luego 16 KB, luego 32 KB. En la actualidad, algunos chips tienen hasta 64 KB incorporados. Además de la memoria caché incorporada en la CPU, ahora la caché tambien se agrega a la tarjeta madre. Muchas PC vendidas hoy en dia tienen 512 KB o 1 024 KB de memoria caché en la tarjeta matriz. Es claro que la memoria caché brinda beneficios de desempeño, así que usted puede esperar que los nuevos chips y nuevas tarjetas madre continuen superando a las viejas con más memoria caché.

Transferencia de operaciones matematicas al coprocesador matemático
Algunas computadoras aceleran ciertas clases de procesamientos agregando un coprocesador matemático a la CPU. Un coprocesador matemático es un chip diseñado en forma especial para manejar operaciones matemáticas complicadas. Las CPU más antiguas no lo tenían, así que muchos usuarios eligieron actualizar sus máquinas agregándoselo.

La ULA (unidad lógica aritmética), que maneja la mayor parte de las operaciones dew procesamiento, puede manipular en código binario representando números, texto, imágenes, sonido: cualquier forma de datos que la computadora pueda almacenar. En términos de procesamiento, la ULA es de uso general.

La ULA, sin embargo, tiene dificultades para realizar ciertas operaciones matemáticas. Por ejemplo, digamos que el procesador necesita calcular (314.15927)4. La ULA está diseñada para manipular números enteros que no son demasiados largos ni pequeños. Si es forzada a trabajar con decimales, en realidad puede atascarse. El coprocesador matemático, por otra parte, es un procesador especializado, diseñado para trabajar exactamente con esta clase de números. Puede ejecutar rutinas aritméticas mucho más rápido que la ULA debido a que usa aritmética de punto flotante, una técnica de cómputo que traduce los números a notación científica. (En algunas computadoras, el coprocesador matemático se llama unidad de punto flotante, o FPU: floating-point arithmetic.

Esta técnica simplifica la aritmética compleja porque la computadora no es forzada a almacenar numeros grandes de lugares decimales.

Cuando la computadora debe hacer mucha aritmética de punto flotante, la presencia de una unidad de punto flotante del coprocesador matematico puede aumentar la velocidad de manera considerable. Las aplicaciones que se benefician del coprocesador matematico incluyen las hojas de cálculo y los programas de dibujo. El software para diseño asistido por computadora (computer-aided design; CAD) y de diseño tridimensional por lo general ni siquiera correrán sin un coprocesador matematico porque cada punto en un diseño complejo debe ser marcado en forma numérica.

No hay comentarios:

Publicar un comentario