lunes, 19 de marzo de 2007

Casualidad

Alien

Hola a todos, en la revista pasada, mostraba un artículo donde exponía de forma irresponsable algunas cosas que pensaba sobre la conexión a Infomed. Y digo de forma irresponsable porque fue algo que escribí que, aunque perfectamente pudiera ser cierto, no tenia ninguna base científica, o por lo menos, no estaba  demostrado.

Hoy, justo ahora, después de terminar de ver una película (bastante mala según mi criterio), decidí antes de acostarme conectarme y probar la teoría que había expuesto, para darle así una base práctica, vean que sucedió:

Tiempo de conexión: 40 segundos

Tiempo registrado por Infomed: 36 segundos

Optimista yo, pienso, “es un error”, y repito.

Tiempo de conexión: 30 segundos

Tiempo registrado por Infomed: 27 segundos

Optimista yo, digo, “%$!!(&%$”#&#=?”, y repito

Tiempo de conexión: 20 segundos

Tiempo registrado por Infomed: 14 segundos

Y justo antes de apagar el último cigarro que tenia sobre la tecla Enter, recuerdo que la vez que Infomed me había descontado el tiempo, era cuando intentaba probar si por el viejo método todavía funcionaba, así que, subiendo la mano izquierda extorsionaba al cigarro, mientras la derecha se conectaba a la red, observen:

Tiempo de conexión: 30 segundos

Tiempo registrado por Infomed: ---

Tiempo de conexión: 1:50 minutos

Tiempo registrado por Infomed: ---

Tiempo de conexión: 3:01 minutos

Tiempo registrado por Infomed: 58 segundos

El resto es matemática, y es cosa de ustedes.

No es gran cosa pero, por lo menos el correo nos sale gratis.

Continuar leyendo

Curso de ensamblador (Parte 2)

Hola a todos los seguidores del curso de ensamblador.

A petición de algunos lectores de este curso, incluir‚ en esta lección una ampliación de la primera. Más concretamente, desarrollar‚ un poco más el tema de los chips de apoyo (inteligentes, porgramables, etc.) que toque tan ligeramente. Aunque aún no es el momento de estudiarlos por separado, y por tanto en profundidad, daré una relación de ellos, y que función realizan.

Bueno, menos rollo y al grano:

LECCION 3:

- CHIPS DE APOYO (Ampliación de la lección 1): -------------------------------------------- Ya vimos en la primera lección que se entendía por chips de apoyo, soporte, etc. También llamados controladores, ya que controlan una parte del hardware para ir aligerando el trabajo de la CPU. De esta forma la CPU tiene mas tiempo para la ejecución del programa correspondiente. En muchos casos, estos chips son programables. Por supuesto, estos chips pueden ser programados por el programador en ensamblador (valga la redundancia), con lo cual no trabajan por su cuenta, sino que aceptan las instrucciones que les hacen funcionar a través de la CPU.

A continuación se da una relación de los diferentes chips de apoyo o controladores del Pc:

- El controlador programable de interrupciones (chip 8259) En un Pc, una de las tareas esenciales de la CPU consiste en responder a las interrupciones del hardware. Una interrupción del hardware es una señal generada por un componente del ordenador que indica que ese componente requiere la atención del procesador. Por ejemplo el reloj del sistema, el teclado, y los controladores de disco, generan interrupciones de hardware en un momento dado para que se lleve a cabo su tarea. En ese momento, la CPU responde a cada interrupción, llevando a cabo la actividad de hardware apropiada, ejecutando lo que se llama rutina de atención a la interrupción, que es una porción de código que se ejecuta como respuesta a una petición de interrupción.

--- Tomemos como ejemplo el teclado. (Puede ser conveniente leer antes el apartado 'Interrupciones', que viene desarrollado mas abajo).

El usuario pulsa una tecla. Inmediatamente, la circuitería digital del periférico detecta la pulsación de la tecla y almacena su "código de rastreo" (toda tecla tiene asociado un código de 8 bits denominado scan code) en un registro reservado para tal fin, llamado puerto de teclado. (Mas adelante, al hablar de puertos, se amplía la información). Entonces, el teclado activa una línea de petición de interrupción, mas concretamente, la línea IR1 del 8259. (IR son las siglas de Interrupt Request, o petición de interrupción. También se puede decir IRQ, que es a lo que estamos mas acostumbrados, sobre todo cuando instalamos una tarjeta de sonido o algo por el estilo). A continuación, el 8259 activa el pin INTR de la CPU. (El pin INTR se activa cada vez que se produce una petición de interrupción, es una línea externa que comunica al Procesador con el exterior). Por último, y resumiendo mucho, la CPU termina la instrucción en curso, y ejecuta la rutina de atención a la interrupción. Al terminar de ejecutar esta rutina, el control vuelve a la siguiente instrucción por donde se había quedado en el programa en curso. Todos los registros deben tener el valor que tenían antes de ejecutar dicha rutina.

--- El controlador programable de interrupciones se llama a menudo por sus siglas: PIC.

- El controlador DMA (chip 8237). Algunas partes del ordenador son capaces de transferir datos hacia y desde la memoria, sin pasar a través de los registros de la CPU. Esta operación se denomina acceso directo a memoria o DMA (Direct Memory Access), y la lleva a cabo un controlador conocido como controlador DMA. El propósito principal de dicho controlador, es el de permitir a las unidades de disco leer y escribir datos prescindiendo de pasar por los registros del microprocesador. De esta forma, las transferencias de datos se hacen mas rápidas. Pero esto es sólo en teoría, ya que con los modernos procesadores que cuentan con una frecuencia de proceso varias veces mas rápida que la del bus, el controlador DMA, apenas ofrece ninguna ventaja.

- El Interface de periferia (chip 8255). El interface de periferia crea una conexión entre la CPU y los dispositivos periféricos como el teclado y el altavoz. Actúa como una especie de intermediario utilizado por la CPU para comunicar determinadas señales al dispositivo deseado.

- El generador de reloj (chip 8248). Este generador siministra las señales de reloj que coordinan el microprocesador y los periféricos. Produce una señal oscilante de alta frecuencia. Por ejemplo, en el IBM PC original esta frecuencia era de 14,31818 megahercios o millones de ciclos por segundo. No hay que confundir esta frecuencia con la frecuencia del procesador. Otros chips que necesitan una señal de tiempo regular, la obtienen del generador de reloj, dividiendo la frecuencia base por una constante para obtener la frecuencia que necesitan para realizar sus tareas. Por ejemplo, el 8088 del IBM PC, funcionaba a 4,77 MHz, una tercera parte de la frecuencia base. El bus interno del IBM PC y el temporizador utilizan una frecuencia de 1,193 MHz, es decir, un cuarto del ratio del 8088 y una doceava parte del ratio base.

- El temporizador o timer (chip 8253). Este chip genera señales de tiempo a intervalos regulares controlados por software. Esto es, que podemos cambiar la frecuencia de estos intervalos por medio de un programa. El timer dispone de varias líneas de salida, funcionando cada una con una frecuencia independiente a las otras, y conectadas cada una a otros componentes del sistema. Una función esencial del contador es la de generar un tic-tac de reloj que mantenga actualizada la hora del día. Otra de las señales producidas por el contador puede ser utilizada para controlar la frecuencia de los tonos producidos por el altavoz del ordenador.

- El controlador de vídeo (chip 6845). El controlador de vídeo, al contrario del resto de chips de apoyo presentados hasta ahora, no se encuentra en la placa madre del PC, sino que está depositado en una tarjeta de video colocada en una ranura de ampliación. Es el corazón de las tarjetas de video CGA, EGA, VGA, etc.

- Controladores de entrada/salida. Los PCs tienen varios subsistemas de entrada/salida con circuitería de control especializada que proporciona un interfaz entre la CPU y el hardware de E/S. Por ejemplo, el teclado tiene un chip controlador propio que transforma las señales eléctricas producidas por las pulsaciones de teclas en un código de 8 bits que representa la tecla pulsada. Todas las unidades de disco disponen de circuitería independiente que controla directamente la unidad. La CPU se comunica con el controlador a través de un interfaz. Los puertos serie y paralelo también disponen de sus propios controladores de entrada/salida.

- Los coprocesadores matematicos (8087/80287/80387). Son utilizados en caso de estar disponibles en el ordenador, para trabajar con números en coma flotante y coma real, cosa que el 8086 no puede hacer.

Todos estos chips, se conectan entre sí, a través del BUS, que ya sabemos en que consiste.

LECCION 4:

- ENTRADA/SALIDA (COMUNICACION CON EL HARDWARE I). - INTERRUPCIONES (COMUNICACION CON EL HARDWARE II). - LA PILA DEL 8086. --------------------------------------------------------------------

Hola a todos. En esta lección vamos a tratar aspectos muy interesantes de la programación del Pc, interrupciones, puertos, etc. Espero que tengais claro lo del error que os comentaba en la lección 1, acerca de los buses. Si no es así, a que esperais para preguntar... Bueno, seguimos con lo nuevo:

- ENTRADA/SALIDA (COMUNICACION CON EL HARDWARE I). ------------------------------------------------ La comunicación entre un programa y el hardware, es decir los chips de apoyo y las tarjetas de ampliación, se efectúa mediante los llamados Ports (puertos, en castellano). Estos puertos son zonas de memoria de 1 o 2 bytes de tamaño, en las cuales se depositan los datos que van a ser utilizados por los chips o tarjetas, y también se depositan los datos que devuelven estos chips o tarjetas al procesador.

En el Pc, existe una zona de memoria de 64 Ks, ajena a la memoria principal, dedicada a los puertos. Es decir, estos 64 Ks de memoria no tienen nada que ver con la memoria disponible para los programas.

Para realizar los movimientos de datos entre puertos y procesador existen instrucciones especiales: IN y OUT. Tanto IN como OUT tienen dos formas de uso, las cuales utilizan el registro AL o AX para almacenar los datos a leer o escribir. La forma difiere en función de que se quiera acceder a un puerto menor de 256 o mayor.

+ M‚todo directo o estático: corresponde cuando se quiere acceder a un puerto menor de 256.

IN AL,10H ---> lee un byte del puerto 10h IN AX,10H ---> lee una palabra del puerto 10h OUT 0FFH,AL --> escribe el valor de AL en el puerto 0FFH

+ M‚todo inndirecto o dinamico: corresponde al caso de querer acceder a un puerto mayor de 256, para lo cual se utiliza el registro DX indicando el número de puerto.

IN AL,DX ----> lee un byte del puerto indicado por DX. (Antes hemos tenido que introducir en DX la dirección del puerto). OUT DX,AX ----> escribe la palabra contenida en AX en el puerto DX.

Algunos ejemplos de puerto son: 60H ----------> acepta entradas de teclado. 61h ----------> controla el altavoz. 3F0H-3F7H ----> Opera sobre la controladora de discos.

En el PC cualquier subsistema, exceptuando la memoria, está controlado por el procesador a través de los puertos.

- INTERRUPCIONES (COMUNICACION CON EL HARDWARE II). --------------------------------------------------- Las interrupciones constituyen la forma en que la circuitería externa informa al microprocesador de que algo ha sucedido (como que se ha pulsado una tecla, por ejemplo) y solicita que se emprenda alguna acción. Pero no acaba ahí su utilidad, ya que las interrupciones ademas son el medio principal de comunicción entre las funciones de la BIOS y el DOS. En este segundo caso, son mal llamadas interrupciones. Mas bien habría que decir funciones, ya que nos sirven para hacer una llamada a una función BIOS o DOS, como por ejemplo la acción de cambiar de modo de video, para la cual se utiliza la interrupción 10h (Driver o controlador de vídeo), con el número adecuado de función. Mas adelante veremos cómo llamar a una función.

Al primer tipo de interrupciones se les denomina interrupciones de hardware, y son las interrupciones reales. Esto es, que estando un programa en ejecución, se interrumpe éste para ejecutar un trozo de código necesario para atender a la petición de un dispositivo, como puede ser el teclado. Acto seguido, se reanuda la ejecución del programa en cuestión. Son las interrupciones que vimos en la lección 3, al hablar del PIC.

Al segundo tipo de interrupciones se les denomina interrupciones de software, y son las 'ficticias', ya que no hay ningún dispositivo pidiendo atención del procesador, sino que es el programa del usuario el que ejecuta una función BIOS o DOS, mediante una interrupción. En este caso, no se interrumpe el programa de forma súbita, sino que es dicho programa el que lanza una interrupción, la cual tiene su rutina de atención a la interrupción (como vimos en la lección 3) 'conectada' a un grupo de funciones o rutinas.

Veamos las interrupciones con mas detalle:

+ La tabla de vectores: --------------------- Toda interrupción aceptada conduce a la ejecución de un subprograma específico, como hemos visto. Pero cómo sabe el procesador dónde empieza este subprograma, una vez que atiende a la interrupción... La respuesta nos la da la tabla de vectores.

Esta tabla de vectores contiene las direcciones de comienzo o punteros al subprograma de atención a la interrupción. La tabla está compuesta de 256 entradas. Es decir, son posibles 256 interrupciones diferentes en el PC.

Cada una de estas entradas, contiene la dirección de inicio del código de atención a una interrupción, en la siguiente forma: 2 primeros bytes (una palabra) que contienen la dirección base del segmento, y los 2 últimos bytes que contienen el desplazamiento. En total 4 bytes para indicar el comienzo de una interrupción, en la forma segmento:desplazamiento.

Ya vimos en la segunda lección cómo transformar una dirección segmentada (segmento:desplazamiento) en una dirección física o real.

Durante la aceptación de una interrupción, el 8086 carga la dirección base del segmento en el registro CS y el desplazamiento en el contador de programa IP. De esta forma, la siguiente instrucción a ejecutar, que viene dada por los registros CS:IP, ser la primera del subprograma de atención a la interrupción.

+ Pines (líneas de bus) para demandar interrupción desde el exterior. ------------------------------------------------------------------- Existen 3 líneas externas jerarquizadas que son, por orden de prioridades decrecientes: RESET, NMI e INTR. Sólo INTR es enmascarable (cuando un pin de demanda de interrupción está enmascarado -inhabilitado- la activación del pin, no produce ninguna interrupción).

Es decir, que si se activan los pines RESET o NMI, siempre van a conducir a la ejecución de una interrupción. Pero si se activa el pin INTR, tenemos dos opciones (dependiendo de si está enmascarado o no), que son hacer caso omiso de la petición de interrupción, o atender dicha interrupción, respectivamente.

Pin INTR: Una petición de interrupción sobre este pin es enmascarable mediante el bit IF (bandera de interrupción) del registro FLAGS o registro de estado. Este bit IF, es la mascara de INTR. Para saber si está enmascarada o no la línea INTR, se mira este flag. El cual puede tener (obviamente) dos valores: 0 y 1. Enmascarado es 0.

Para manipular este bit, disponemos de dos instrucciones en ensamblador: CLI (Clear IF, o borrar flag IF) que lo pone con valor 0. STI (Set IF, o activar flag IF) que lo pone con valor 1.

La petición de interrupción se realiza activando el pin INTR con nivel alto (1) y debe mantenerse así hasta que por el pin INTA (pin asociado al pin INTR. Es activo a nivel bajo (0), indicando que se ha aceptado la interrupción solicitada por medio del pin INTR) el 8086 indique que ha sido aceptada.

Entonces... Contamos con el pin INTR para pedir al procesador atención a

una interrupción, y con el pin asociado INTA que estr con valor (0)

cuando la interrupción haya sido aceptada.

INTR ---> Interrupt Request (petición de interrupción). INTA ---> Interrupt Accepted (interrupción aceptada).

Veamos cómo actúa la CPU desde que se activa el pin INTR hasta que se retorna del subprograma de atención a la interrupción:

Debido a que la interrupción interrumpir al programa en ejecución en cualquiera de sus instrucciones, es necesario resguardar el contenido del registro de estado (FLAGS), para que al volver de la interrupción, tengan las banderas el mismo valor. Y sobre todo, hay que guardar la dirección de la siguiente instrucción a ejecutar en el programa actual.

Pero dónde se guardan todos estos datos... En una zona de memoria denominada PILA, la pila del procesador. (Explicación en el último apartado de esta lección). Al acto de introducir un dato en la pila se le denomina apilar, y a sacarlo de la misma se le denomina desapilar.

Pues bien, el procesador hará lo siguiente: - Apila el contenido del registro de estado (flags) - Apila la dirección de retorno (contenido de los registros CS e IP). - Inhibe las interrupciones (IF=0 y TF=0, mas adelante se comenta la utilidad del flag TF o TRACE). Esto se hace para que no se produzca otra interrupción durante la secuencia de aceptación de la interrupción. Esto es muy importante. - Activa el pin INTA (lo pone a nivel bajo). El dispositivo que ha solicitado la interrupción, al notar el cambio en el pin INTA, queda enterado de la aceptación de la interrupción. - Lee el número del vector de interrupción del bus de datos. Previamente, el dispositivo lo ha depositado en respuesta a la activación del pin INTA. - Obtiene la dirección del subprograma de atención a la interrupción. Dicha dirección se encuentra (como hemos visto antes) almacenada en la tabla de vectores. - El 8086 ejecuta la subrutina que finaliza con la instrucción IRET, o Retorno de Interrupción, cuya ejecución restituye en CS e IP la dirección de retorno salvada en la pila, y en el registro de estado el valor de los flags.

Al restaurar los flags, se anula la inhibición anterior de IF y TF, con lo cual, otra vez se aceptan interrupciones. Pudiendo así tener interrupciones en cascada.

Repasar el ejemplo de la pulsación de tecla de la lección 3, a ver si ahora se ve con mas claridad.

Pin NMI: Este pin está reservado a acontecimientos graves, como puede ser un corte de corriente, un error de memoria, del bus, etc.

La activación de NMI no conlleva ninguna lectura en el bus de datos del nº de vector de interrupción, sino que la CPU directamente busca el vector de interrupción número 2.

Pin RESET: Inicializa el sistema. En la petición de RESET no se almacena nada en la pila ni se accede a la tabla de vectores para conseguir la dirección de comienzo. Al activar el pin RESET, el registro de estado queda borrado (0). CS = 0FFFFh. IP = 00000h. De esta manera, la siguiente instrucción a ejecutar por el procesador es la contenida a partir de FFFF:0, código de reinicialización y carga del sistema operativo. Son los últimos bytes de la ROM. El resto de registro de segmentos quedan con valor 0. DS = 0000 ES = 0000 SS = 0000

+ Interrupciones internas o desvíos. ---------------------------------- El microprocesador 8086 tiene 2 interrupciones internas: 'División imposible' y 'funcionamiento paso a paso (TRACE)'.

División imposible: Se produce cuando se divide por 0, o cuando el cociente resultante de la división no cabe en el registro preparado para contenerlo. En ambos casos, se ejecuta la interrupción 0.

Funcionamiento paso a paso: Si el programador coloca a (1) el bit TF (TRACE) del registro de estado, al final de cada instrucción, la CPU bifurcará a la posición de memoria indicada por el vector de interrupción número 1. Esto es lo que utilizan los debuggers o depuradores de código para hacer un seguimiento del programa, instrucción por instrucción.

Mas adelante, cuando hablemos acerca de la programación de utilidades residentes, entraremos en la programación práctica de las interrupciones. Valga lo dicho hasta ahora como base teórica.

- La pila del procesador: ------------------------- La pila es una característica interna del 8086. Es una estructura de datos situada en la RAM. Proporciona a los programas un lugar donde almacenar datos de forma segura, pudiendo compartirlos con otros procedimientos o programas de forma cómoda y práctica.

La función mas importante de la pila es la de mantener las direcciones de retorno en las llamadas a procedimientos e interrupciones, así como guardar los parámetros pasados a estos procedimientos. La pila también se utiliza para almacenamiento temporal de datos dentro de un programa, y para muchas cosas mas que se aprenden con la práctica.

La pila tiene su nombre por analogía con los montones de platos apilados (pilas de platos). Cuando un dato nuevo es introducido en la pila, se dice que es apilado (push) debido a que se sitúa por encima de los demas, es decir se sitúa en la CIMA de la pila.

Una pila opera en el orden último-en-entrar - primero-en-salir: LIFO (LAST IN FIRST OUT) o lo que es lo mismo, el último en entrar es el primero en salir.

Esto significa que cuando la pila se utiliza para seguir la pista de los retornos de las subrutinas, la primera llamada a subrutina que se hizo, es la última que se devuelve. De esta manera, la pila mantiene ordenado el funcionamiento del programa, las subrutinas y rutinas de tratamiento de interrupción, sin importar la complejidad de la operación.

La pila crece en orden inverso. Es decir, a medida que se añaden nuevos datos, la cima de la pila se acerca mas a posiciones mas bajas de memoria.

Existen 3 registros destinados a gestionar la pila. Registro de segmento de pila (SS): que indica la dirección base del segmento de pila Puntero de pila (SP): que apunta a la cima de la pila. Puntero base de pila (BP): que se usa para moverse a través de la pila sin cambiar la cima. Se suele utilizar para acceder a los distintos parámetros al llamar a una función.

Los elementos que se almacenan en la pila son del tipo palabra (2 bytes). Esto quiere decir, entre otras cosas, que el puntero de pila (SP), así como el puntero base de pila (BP), incrementan/decrementan en 2 su valor para apuntar a un nuevo elemento dentro de la pila, fruto de apilar o desapilar un elemento.

También conlleva el que si queremos almacenar un byte en la pila, primero lo debemos convertir en palabra (2 bytes), y luego almacenar esa palabra. Esto es muy sencillo, sólo hay que meter ese byte o registro de 8 bits en un registro de 16 bits y almacenar este registro.

Las instrucciones para manejar la pila son: PUSH ---> Guarda un dato en la pila. Decrementando SP en 2 unidades, para que apunte al nuevo elemento a introducir. Ejemplo: PUSH AX --> Apila el contenido de AX en la cima de la pila.

POP ----> Obtiene un dato de la pila. Incrementando SP en 2 unidades, para que apunte al nuevo elemento a introducir. Ejemplo: POP AX --> Desapila el contenido de la cima de la pila en el registro AX. Es decir, AX contendrá el valor que hubiera en la cima de la pila, y el puntero de pila se actualiza incrementándolo en 2.

PUSHF --> Guarda el contenido del registro de estado (FLAGS) en la pila. Decrementando SP en 2 unidades, para que apunte al nuevo elemento a introducir. No es necesario indicar sobre que actúa esta instrucción, lo lleva implícito en su nombre PUSHF (PUSH FLAGS).

POPF ---> Introduce en el registro FLAGS el contenido de la cima de la pila. Incrementando SP en 2 unidades, para que apunte al nuevo elemento a introducir. Al igual que con la instrucción anterior, no es necesario indicar sobre que actúa esta instrucción POPF (POP FLAGS).

Conviene recordar el hecho de que la pila crece en orden inverso al normal, es decir de direcciones de memoria altas a direcciones bajas. Por lo tanto es necesario tener en cuenta el uso que se va a hacer de la pila en el programa, debido a que si reservamos espacio en nuestro programa para una pila pequeña, en caso de sobrepasarla haciendo muchos push seguidos, machacaría nuestro programa.

Hay que tener en cuenta que no sólo es nuestro programa el que utiliza la pila mediante la instrucción PUSH y mediante llamadas a procedimientos, interrupciones, etc. Sino que mientras nuestro programa corre se están sucediendo numerosas interrupciones que conllevan muchos PUSH. Por ejemplo, 18'2 veces por segundo se produce la interrupción de reloj, con lo cual, todas estas veces se está apilando y posteriormente quitando información de la pila.

Por regla general, basta con tener una pila de unos 2 KS, es decir, espacio para almacenar 1024 elementos. Es muy difícil que se sobrepase este tamaño.

---

Bueno... Aquí seguro que hay dudas. Venga, decidme que quereis que explique mas detenidamente, que dentro de un par de lecciones empezamos a programar, y hay que tenerlo todo claro.

Continuar leyendo

El modem

El módem es otro de los periféricos que con el tiempo se han convertido en imprescindibles, y difícilmente encontraremos una configuración de un ordenador sin él. Se utiliza para la conexión a Internet y Fax principalmente, aunque puede hacer de contestador, de centralita y podremos hablar por teléfono a través de los altavoces y micrófono de nuestro ordenador.

Lo primero de todo es saber que el módem se utiliza para conectarse a través de líneas analógicas, aunque seguramente habrás oído hablar de módem RDSI o ADSL, pero son distintos y no tienen nada que ver y adoptan ese nombre solo porque realizan la misma función, el conectarnos a una red. La palabra módem significa MOdulador-DEModulador, exactamente igual en inglés. Lo que hace es convertir las señales digitales del ordenador en analógicas para enviarlas a través de las líneas y recibir señales analógicas y convertirlas a digitales, para que las entienda el ordenador.

Uno de los parámetros más importantes es la velocidad. Actualmente suelen ser de 56 kbps, lo que significa que reciben a una velocidad de 56.000 bits por segundo (que no bytes, por lo que vemos que la velocidad es bastante baja) y envían a una velocidad de 33,6 kbps, aunque llegar a estas velocidades puede ser casi imposible porque se tienen que dar una serie de condiciones como la calidad de la línea, el tipo de contrato con el servidor, el módem del servidor...

El último estándar de comunicación que salió es el V.92, que aunque mantiene la velocidad máxima a 56 kbps, tiene algunas novedades.

También es importante que tengan una memoria Flash, parecida a la BIOS de los ordenadores, para que se pueda actualizar el firmware. Así muchos módem de 33,6 Kbps se han podido actualizar a 56 Kbps sin ningún coste, ya que cuando salieron a la venta no existía el estándar V.90 que permitía esa comunicación. Al igual, casi todos los modem que originariamente eran V.90 se podrán convertir a V.92 sin ningún problema.

Estándar

Velocidad Estándar

Otras Velocidades

V.92      

56.000 bps         

52.000, 48.000, 44.000, 36.000 bps

V.90 y X2*         

56.000 bps         

52.000, 48.000, 44.000, 36.000 bps

V.34+   

33.600 bps         

31.200 bps

V.34      

28.800 bps         

 24.000, 19.200, 16.800 bps

V.32 bis               

14.400 bps         

12.000 bps

V.32

9.600 bps           

7.200 bps

V.23      

4.800 bps           

V.22 bis               

2.400 bps           

V.22 y Bell 212A

1.200 bps           

V.21 y Bell 103  

300 bps

* protocolo propietario de 3Com, no es estándar.    

Podemos distinguir varios tipos:

Módem Externo

Puerto Serie: Suelen ser de los más antiguos y están extinguiéndose y siendo sustituidos por los USB. Lo más importante es  que el puerto de comunicaciones al que esté conectado esté puesta a la máxima velocidad. Su principal desventaja es que ocupan un espacio importante y necesitan una fuente de alimentación adicional, pero todos los ordenadores tienen puertos series.

Puerto USB: Es uno de los tipos de módem más modernos. Tienen que compartir el USB con otros dispositivos, pero la mayoría no requieren una fuente de alimentación. Suelen ocupar aproximadamente el mismo espacio que uno para puerto serie.

Módem Interno

Ranura PCI: Este tipo de módem ha estado disponible desde siempre. No necesita que nos preocupemos por la velocidad de comunicación entre el y el ordenador ni requiere un transformador, pero no disponemos de lucecitas que nos informen de su estado ni podemos apagarlo en el caso de que se vuelva loco. Suele ser más barato al no necesitar la carcasa de  plástico.

Ranura ARM: La ranura de este tipo de módem es poco usual y está en desuso. La principal diferencia de este tipo de módem es que hacen que el procesador del ordenador haga todo el trabajo, por lo que son también llamados Winmodem, softmodem o HSP. Lo que quita mucho rendimiento al ordenador (claro que para navegar o chatear no se necesita mucho, pero si estamos en la base de datos de la empresa y haciendo cálculos enormes con ellos, se nota).

Módem PCMCIA

Está diseñado para los portátiles, ya que ocupa lo mismo que una tarjeta y no requiere fuente de alimentación externa. Se conecta a la PCMCIA del portátil, sin perder ninguna propiedad con los anteriores. Su única desventaja es su elevado precio.

Continuar leyendo

El monitor

Evidentemente, es la pantalla en la que se ve la información suministrada por el ordenador. En el caso más habitual se trata de un aparato basado en un tubo de rayos catódicos (CRT) como el de los televisores, mientras que en los portátiles es una pantalla plana de cristal líquido (LCD).

Si alguna vez se ha enfrentado al manual de su monitor (para lo que demasiadas veces hace falta saber inglés, alemán o japonés, ya que rara vez vienen en otro idioma), habrá encontrado un galimatías impresionante sobre Hz, MHz, refresh y demás aspectos. Usted intuye que eso tiene que ver con la calidad del aparato, pero ¿qué significa? Vamos a intentar explicarlo. Los bloques principales que conforman al monitor son:

1. CRT. Tubo de rayos catódicos.

2. Amplificador de video.

3. Circuito de deflexión y sincronización horizontal y vertical.

4. Fuente de alimentación.

MODO DE TRABAJO , los diferentes tipos de monitores que pueden utilizarse con las microcomputadoras son:

1. Monitores Monocromos Direct-drive .Obsoletos, diseñados para trabajar con la tarjeta mononocroma MDA (Monocromo Drive Adapter). También pueden utilizarse con la EGA.

2. Monitores Monocromos Compuestos. Se conectan a la salida de vídeo compuesto del controlador CGA y proporcionan una imagen de un solo color bastante aceptable.

3. CGA , se conectan al controlador Color Graphics Adapter .Combinan la alta calidad de las pantallas de texto de los monitores monocromos con gráficos de alta resolución y colores. También conocidos como RGB que significa Red-Green-Blue, porque utilizan estas 3 señales separadas.

4. EGA , controlados por la tarjeta Enhanced Graphics Adapter. Permiten una paleta de 64 colores máximo. Son multisíncronos lo que les permite ajustarse a las diferentes señales generadas por las tarjetas CGA y EGA.

5. VGA , Video Graphics Adapter / Video Graphics Array; en estos monitores las señales de video son analógicas (viajan por cables coaxiales),lo que permite representar en pantalla mayor cantidad de colores.

 

 Mejoran la calidad de los gráficos, usan señal analógica con lo que se puede representar un rango continuo de intensidades para cada color. Teóricamente el monitor analógico permite un ilimitado número de colores e intensidades (en la práctica el inevitable ruido y las limitaciones del CRT restringen el número de colores en el orden de los 64- 256 intensidades distinguibles para cada canal). TAMAÑO . Se mide en número de pulgadas en diagonal, y nos indica el tamaño visible del tubo de imagen. El tamaño del monitor no debe elegirse a la ligera, pues depende directamente de la resolución a la que se vaya a trabajar, aunque también es cierto que a mayor tamaño, mayor número de programas o aplicaciones podremos tener abiertas y visibles simultáneamente en pantalla.

FRECUENCIA DE PUNTOS (ancho de banda de la imagen). Define la cantidad de puntos (pixels) que deben ser iluminados en un segundo, garantizando que la pantalla completa sea barrida en un período del sincronismo vertical. Se calcula multiplicando por (1.5 a 3 ) el total de pixels y por la frecuencia vertical.

ANCHO DE BANDA DEL MONITOR (PIXEL RATE). Se define así a la capacidad de los circuitos de amplificación de video del monitor de hacer transiciones de ON a OFF sin que disminuya su ganancia. Un monitor que pueda manejar un ancho de banda superior al que requiere la imagen,

mostrará a ésta cualitativamente mucho mejor. En el ancho de banda del monitor influyen la calidad de los cables y su largo mínimo aceptable, las terminaciones del conector, el que no hayan extensiones, la estabilidad de la electrónica del monitor y que esté apantallado.

Para el modo VGA es necesario un ancho de banda de 34 Mhz, se alcanzan los 250 Mhz ahora. Gracias al ancho de banda aumentado se pueden proporcionar mayores frecuencias verticales de refrescamiento. En el ancho de banda del monitor influyen la calidad de los cables y su largo mínimo aceptable, las terminaciones del conector, el que no hayan extensiones, la estabilidad de la electrónica del monitor y que esté apantallado.

Resolución (Resolution)

Se trata del número de puntos que puede representar el monitor por pantalla, en horizontal x vertical. Así, un monitor cuya resolución máxima sea de 1024x768 puntos puede representar hasta 768 líneas horizontales de 1024 puntos cada una, probablemente además de otras resoluciones inferiores, como 640x480 u 800x600.

Cuanto mayor sea la resolución de un monitor, mejor será la calidad de la imagen en pantalla, y mayor será la calidad del monitor. La resolución debe ser apropiada además al tamaño del monitor; es normal que un monitor de 14" ó 15" no ofrezca 1280x1024 puntos, mientras que es el mínimo exigible a uno de 17" o superior.

Es una de las características más importantes de un monitor, indica el número mayor de pixels o puntos que se pueden visualizar en la pantalla. A mayor resolución mayor será el ancho de banda a emplear. En la resolución influyen el ancho de banda de la fuente de video, el cable, los amplificadores de video y el tamaño focal de cada punto del CRT.

Hay unas resoluciones recomendadas para cada tamaño de pantalla. Cuando un monitor tiene un tamaño de punto demasiado grande, se produce un solapamiento en las resoluciones mayores, dando lugar a una pérdida de calidad de la imagen. Si se desea utilizar resoluciones altas no habrá más remedio que comprar un monitor de gran tamaño, en caso contrario no se podrán apreciar los detalles.

Un monitor de 14'' es válido para trabajar a resoluciones de 640x480 e incluso a 800x600, aunque en la mayoría de los casos con una notable falta de definición. Un monitor de 15'' debe ser un mínimo hoy en día, para poder trabajar cómodamente a 800x600, y ocasionalmente a 1024x768. La primera de ellas es la resolución recomendada para ver la mayoría de las páginas WEB, y en trabajo con aplicaciones estándar nos permite presentar todas las barras de menús e iconos sin que nos ocupen cerca de la mitad de la pantalla visible. Un monitor de 17'' es el monitor ideal por prestaciones y por precio, permite trabajar a 1024x768 e incluso a 1280x1024, esta última sobre todo para el tratamiento de imágenes o para trabajar con dos aplicaciones abiertas simultáneamente. Los monitores de 21'' son excesivamente caros, y solamente son necesarios para un trabajo profesional.

CONSUMO, el consumo en funcionamiento para los monitores modernos varía desde los 100 W hasta los 150 W., prácticamente todos los monitores actualmente a la venta soportan los modos de ahorro de energía que posibilitan el paso del monitor a modo STANDBY(dormido) automáticamente tras el espacio de tiempo programado en la BIOS o en el sistema operativo. Los DPMS (Display Power Managenent Signalling) sistemas de gestión de consumo de pantalla ó modos de ahorro energético suelen ser tres:

1. espera (standby)

2. reposo (suspend)

3. apagado (off)

En cada uno de ellos el consumo es menor que en el anterior y el tiempo de recuperación mayor. No todos los monitores soportan todos los modos. Los monitores modernos tienen implementada la circuitería de manera que permitan todos o algunos modos VGA, la polaridad de los sincronismos Horizontal y Vertical permite al circuito detector determinar en qué modo se trabaja. Por la capacidad de sincronizarse con distintas frecuencias los monitores se dividen en:

FIXED- SCAN ----- Trabajan a frecuencia fija (permiten variación de 5%). Estos monitores son de alta calidad y muy estables.

AUTO-SCAN ------ Monitores que aceptan un rango amplio continuo de frecuencias horizontal y refrescamiento vertical, permiten múltiples resoluciones y, entrada analógica o TTL, la circuitería detecta la frecuencia automáticamente y selecciona el circuito y alimentación apropiados, se acomodan a las múltiples resoluciones de diferentes programas. También son conocidos como multisync, autosync, panasync, omnisync, autoscan, mutiscan en dependencia de fabricante La información que muestra esta tabla es proporcionada por los fabricantes de los monitores en el manual de instalación.

ENTRELAZADO- NO ENTRELAZADO , indican el modo en el que la tarjeta gráfica hace el redibujado de la pantalla.

El modo ENTRELAZADO, habitual en monitores antiguos y a altas resoluciones de otros monitores relativamente modernos, la tarjeta gráfica redibuja de una pasada las líneas impares y en la siguiente las líneas pares, de esta forma el

cuadro de N líneas se descompone en 2 campos de N/2 líneas cada uno, con esto la pantalla se ilumina una vez con cada campo lográndose una frecuencia de refrescaminento de 50 a 60 HZ sin aumentar el ancho de banda.

Para garantizar una correcta reproducción de la imagen hay que entrelazar correctamente los campos par e impar, es decir es necesario que cada línea del segundo campo se ubique exactamente en la mitad del intervalo que existe entre 2 líneas.

Al cabo de poco tiempo puede percibirse una cierta vibración en la pantalla, con la consiguiente dificultad para leer, especialmente las fuentes de letra pequeña, y para observar los detalles de la imagen, por eso de ningún modo debe aceptarse una resolución habitual de trabajo en modo entrelazado. El modo NO ENTRELAZADO consiste en redibujar todas las líneas de la pantalla en cada pasada, pero para que la imagen no muestre un leve parpadeo, este redibujado debe hacerse a una velocidad mínima de 75Hz, al menos en la resolución a la que vamos a trabajar normalmente.

MONITOR DIGITAL, el tipo de controles es lo que diferencia a los analógicos de los digitales, la mayoría usan botones para regular, sin embargo el abaratamiento de los circuitos digitales y sus facilidades para memorizar las distintas frecuencias de trabajo, resoluciones y el control digital con microprocesador los vuelven una alternativa atractiva para el diseño. Hoy los monitores de mayor calidad usan Control Digital, botones y menúes en pantalla para la mayoría de los ajustes excepto posiblemente Brillo y Contraste donde el botón es más conveniente.

Un monitor digital se caracteriza por poder memorizar no sólo las frecuencias de refresco para cada resolución de acuerdo con la tarjeta gráfica, sino también los ajustes de pantalla.

Controles y conexiones

Aunque se va cada vez más al uso de monitores con controles digitales, en principio no debe ser algo determinante a la hora de elegir un monitor, si bien se tiende a que los monitores con dichos controles sean los más avanzados de la gama.

Una característica casi común a los monitores con controles digitales son los controles OSD (On Screen Control, controles en pantalla). Son esos mensajes que nos indican qué parámetro estamos cambiando y qué valor le estamos dando. Son útiles, pero en absoluto imprescindibles (ni depende la calidad del monitor de incluir dicho sistema o no).

Lo que sí suelen tener algunos monitores digitales (no todos) son memorias de los parámetros de imagen (tamaño, posición...), por lo que al cambiar de resolución no tenemos que reajustar dichos valores, lo cual puede ser bastante engorroso. En cuanto a los controles en sí, los imprescindibles son: tamaño de la imagen (vertical y horizontal), posición de la imagen, tono y brillo. Son de agradecer los de "efecto barril" (para mantener rectos los bordes de la imagen), control trapezoidal (para mantenerla rectangular) y degauss magnético o desmagnetización.

Por lo que respecta a las conexiones, lo inexcusable es el típico conector mini D-sub de 15 pines; en monitores de 17" o más es interesante que existan además conectores BNC, que presentan la ventaja de separar los tres colores básicos. De cualquier modo, esto sólo importa si la tarjeta gráfica también los incorpora y si la precisión en la representación del color resulta determinante en el uso del monitor.

Hoy en día algunos monitores pueden incorporar una bahía USB, para la conexión de este tipo de periféricos. Resulta algo llamativo, pero para eso ya está la placa base; nunca lo tome como una auténtica ventaja.

Multimedia

Algunos monitores llevan acoplados altavoces, e incluso micrófono y/o cámaras de vídeo. Esto resulta interesante cuando se trata de un monitor de 15" ó 17" cuyo uso vaya a ser doméstico, para juegos o videoconferencia. Sin embargo, no nos engañemos: un monitor es para ver, no para oír. Ni la calidad de sonido de dichos altavoces es la mejor posible, ni su disposición la más adecuada, ni es mayor la calidad de un monitor con dichos aditamentos. Si lo que quiere (y debería quererlo) es un buen monitor, primero mire la calidad de imagen y luego estos extras.

Pantallas portátiles

Se basan en tecnologías de cristal líquido (LCD) parecidas a las de los relojes de pulsera digitales pero mucho más avanzadas. Una de las diferencias más curiosas respecto a los monitores "clásicos" es que el tamaño que se indica es el real, no como en éstos. Mientras que en un monitor clásico de 15" de diagonal de tubo sólo un máximo de unas 13,5 a 14" son utilizables, en una pantalla portátil de 12" son totalmente útiles, así que no son tan pequeñas como parece.

Otra cosa que les diferencia es que no emiten en absoluto radiaciones electromagnéticas dañinas, por lo que la fatiga visual y los posibles problemas oculares se reducen.

En la actualidad coexisten dos tipos:

Dual Scan (DSTN) : el estándar, razonablemente bueno pero que depende de las condiciones de iluminación del lugar donde se esté usando el portátil. Matriz Activa (TFT) : esta opción encarece bastante el portátil, pero permite una visualización perfecta sean cuales sean las condiciones de iluminación exteriores.

Por lo demás, en ambos casos las imágenes se ven mejor de frente que de lado, llegando a desaparecer si nos escoramos mucho, aunque en los portátiles modernos este ángulo de visión es muy alto, hasta unos 160º (el máximo es 180º, más significaría poder ver la pantalla desde la parte de atrás).

Continuar leyendo

Historia de los microprocesadores

Han pasado más de 25 años desde que Intel diseñara el primer microprocesador, siendo la compañía pionera en el campo de la fabricación de estos productos, y que actualmente cuenta con más del 90 por ciento del mercado. Un tiempo en el que todo ha cambiado enormemente, y en el que desde aquel 4004 hasta el actual Pentium II hemos visto pasar varias generaciones de máquinas que nos han entretenido y nos han ayudado en el trabajo diario.

Dicen que es natural en el ser humano querer mirar constantemente hacia el futuro, buscando información de hacia dónde vamos, en lugar de en dónde hemos estado. Por ello, no podemos menos que asombrarnos de las previsiones que los científicos barajan para dentro de unos quince años. Según el Dr. Albert Yu, vicepresidente de Intel y responsable del desarrollo de los procesadores desde el año 1984, para el año 2011 utilizaremos procesadores cuyo reloj irá a una velocidad de 10 GHz (10.000 MHz), contendrán mil millones de transistores y será capaz de procesar cerca de 100 mil millones de instrucciones por segundo. Un futuro prometedor, que permitirá realizar tareas nunca antes pensadas.

Los inicios

Sin embargo, para que esto llegue, la historia de los procesadores ha pasado por diferentes situaciones, siguiendo la lógica evolución de este mundo. Desde aquel primer procesador 4004 del año 1971 hasta el actual Pentium II del presente año ha llovido mucho en el campo de los procesadores. Tanto, que no estamos seguros si las cifras que se barajan en Intel se pueden, incluso, quedar cortas. Aquel primer procesador 4004, presentado en el mercado el día 15 de noviembre de 1971, poseía unas características únicas para su tiempo. Para empezar, la velocidad de reloj sobrepasaba por poco los 100 KHz (sí, habéis leído bien, kilohertzios), disponía de un ancho de bus de 4 bits y podía manejar un máximo de 640 bytes de memoria. Realmente una auténtica joya que para entonces podía realizar gran cantidad de tareas, pero que por desgracia no tiene punto de comparación con los actuales micros. Entre sus aplicaciones, podemos destacar su presencia en la calculadora Busicom, así como dotar de los primeros tintes de inteligencia a objetos inanimados.

Poco tiempo después, sin embargo, el 1 de abril de 1972, Intel anunciaba una versión mejorada de su procesador. Se trataba del 8008, que contaba como principal novedad con un bus de 8 bits, y la memoria direccionable se ampliaba a los 16 Kb. Además, llegaba a la cifra de los 3500 transistores, casi el doble que su predecesor, y se le puede considerar como el antecedente del procesador que serviría de corazón al primer ordenador personal. Justo dos años después, Intel anunciaba ese tan esperado primer ordenador personal, de nombre Altair, cuyo nombre proviene de un destino de la nave Enterprise en uno de los capítulos de la popular serie de televisión Star Trek la semana en la que se creó el ordenador. Este ordenador tenía un coste de entorno a los 400 dólares de la época, y el procesador suponía multiplicar por 10 el rendimiento del anterior, gracias a sus 2 MHz de velocidad (por primera vez se utiliza esta medida), con una memoria de 64 Kb. En unos meses, logró vender decenas de miles de unidades, en lo que suponía la aparición del primer ordenador que la gente podía comprar, y no ya simplemente utilizar.

La introducción de IBM

Sin embargo, como todos sabemos, el ordenador personal no pasó a ser tal hasta la aparición de IBM, el gigante azul, en el mercado. Algo que sucedió en dos ocasiones en los meses de junio de 1978 y de 1979. Fechas en las que respectivamente, hacían su aparición los microprocesadores 8086 y 8088, que pasaron a formar el denominado IBM PC, que vendió millones de unidades de ordenadores de sobremesa a lo largo y ancho del mundo. El éxito fue tal, que Intel fue nombrada por la revista "Fortune" como uno de los mejores negocios de los años setenta. De los dos procesadores, el más potente era el 8086, con un bus de 16 bits (por fin), velocidades de reloj de 5, 8 y 10 MHz, 29000 transistores usando la tecnología de 3 micras y hasta un máximo de 1 Mega de memoria direccionable. El rendimiento se había vuelto a multiplicar por 10 con respecto a su antecesor, lo que suponía un auténtico avance en lo que al mundo de la informática se refiere. En cuanto al procesador 8088, era exactamente igual a éste, salvo la diferencia de que poseía un bus de 8 bits en lugar de uno de 16, siendo más barato y obteniendo mejor respaldo en el mercado.

En el año 1982, concretamente el 1 de febrero, Intel daba un nuevo vuelco a la industria con la aparición de los primeros 80286. Como principal novedad, cabe destacar el hecho de que por fin se podía utilizar la denominada memoria virtual, que en el caso del 286 podía llegar hasta 1 Giga. También hay que contar con el hecho de que el tiempo pasado había permitido a los ingenieros de Intel investigar más a fondo en este campo, movidos sin duda por el gran éxito de ventas de los anteriores micros. Ello se tradujo en un bus de 16 bits, 134000 transistores usando una tecnología de 1.5 micras, un máximo de memoria direccionable de 16 Megas y unas velocidades de reloj de 8, 10 y 12 MHz. En términos de rendimiento, podíamos decir que se había multiplicado entre tres y seis veces la capacidad del 8086, y suponía el primer ordenador que no fabricaba IBM en exclusiva, sino que otras muchas compañías, alentadas por los éxitos del pasado, se decidieron a crear sus propias máquinas. Como dato curioso, baste mencionar el hecho de que en torno a los seis años que se le concede de vida útil, hay una estimación que apunta a que se colocaron en torno a los 15 millones de ordenadores en todo el mundo.

Microsoft también juega

El año de 1985 es clave en la historia de los procesadores. El 17 de octubre Intel anunciaba la aparición del procesador 80386DX, el primero en poseer una arquitectura de 32 bits, lo que suponía una velocidad a la hora de procesar las instrucciones realmente importante con respecto a su antecesor. Dicho procesador contenía en su interior en torno a los 275000 transistores, más de 100 veces los que tenía el primer 4004 después de tan sólo 14 años. El reloj llegaba ya hasta un máximo de 33 MHz, y era capaz de direccionar 4 Gigas de memoria, tamaño que todavía no se ha superado por otro procesador de Intel dedicado al mercado doméstico. En 1988, Intel desarrollaba un poco tarde un sistema sencillo de actualizar los antiguos 286 gracias a la aparición del 80386SX, que sacrificaba el bus de datos para dejarlo en uno de 16 bits, pero a menor coste. Estos procesadores irrumpieron con la explosión del entorno gráfico Windows, desarrollado por Microsoft unos años antes, pero que no había tenido la suficiente aceptación por parte de los usuarios. También había habido algunos entornos que no habían funcionado mal del todo, como por ejemplo el Gem 3, pero no es hasta este momento cuando este tipo de entornos de trabajo se popularizan, facilitando la tarea de enfrentarse a un ordenador, que por aquel entonces sólo conocíamos unos pocos. Windows vino a ser un soplo de aire fresco para la industria, pues permitió que personas de cualquier condición pudiera manejar un ordenador con unos requerimientos mínimos de informática.

Y si esto parecía la revolución, no tuvimos que esperar mucho para que el 10 de abril de 1989 apareciera el Intel 80486DX, de nuevo con tecnología de 32 bits y como novedades principales, la incorporación del caché de nivel 1 (L1) en el propio chip, lo que aceleraba enormemente la transferencia de datos de este caché al procesador, así como la aparición del co-procesador matemático, también integrado en el procesador, dejando por tanto de ser una opción como lo era en los anteriores 80386. Dos cambios que unido al hecho de que por primera vez se sobrepasaban el millón de transistores usando la tecnología de una micra (aunque en la versión de este procesador que iba a 50 MHz se usó ya la tecnología .8 micras), hacía posible la aparición de programas de calidad sorprendente, entre los que los juegos ocupan un lugar destacado. Se había pasado de unos ordenadores en los que prácticamente cualquier tarea compleja requería del intérprete de comandos de MS-DOS para poder ser realizada, a otros en los que con mover el cursor y pinchar en la opción deseada simplificaba en buena medida las tareas más comunes. Por su parte, Intel volvió a realizar, por última vez hasta el momento, una versión de este procesador dos años después. Se trataba del 80486SX, idéntico a su hermano mayor salvo que no disponía del famoso co-procesador matemático incorporado, lo que suponía una reducción del coste para aquellas personas que desearan introducirse en el segmento sin necesidad de pagar una suma elevada.

Llega el Pentium

Sin embargo, Intel no se quedó contemplando la gran obra que había creado, y rápidamente anunció que en breve estaría en la calle una nueva gama de procesadores que multiplicaría de forma general por cinco los rendimientos medios de los 80486. Se trataba de los Pentium, conocidos por P5 en el mundillo de la informática mientras se estaban desarrollando, y de los que la prensa de medio mundo auguraba un gran futuro, tal y como así ha sido. Estos procesadores pasarán a la historia por ser los primeros a los que Intel no los bautizó con un número, y sí con una palabra. Esto era debido a que otras compañías dedicadas a la producción de procesadores estaban utilizando los mismos nombres puesto que no se podía registrar una cadena de ellos como marca, y por lo tanto, eran de dominio público. De modo que a Intel no le quedó más remedio que ponerle una palabra a su familia de procesadores, que además, con el paso del tiempo, se popularizó en los Estados Unidos de tal forma, que era identificada con velocidad y potencia en numerosos cómics y programas de televisión. Estos procesadores que partían de una velocidad inicial de 60 MHz, han llegado hasta los 200 MHz, algo que nadie había sido capaz de augurar unos años antes.

Con una arquitectura real de 32 bits, se usaba de nuevo la tecnología de .8 micras, con lo que se lograba realizar más unidades en menos espacio (ver recuadro explicativo). Los resultados no se hicieron esperar, y las compañías empezaron aunque de forma tímida a lanzar programas y juegos exclusivamente para el Pentium, hasta el punto que en este momento quien no posea un procesador de este tipo, está seriamente atrasado y no puede trabajar con garantías con los programas que actualmente hay en el mercado. Algo que ha venido a demostrar la aparición del nuevo sistema operativo de Microsoft Windows 95, que aunque funciona en equipos dotados de un procesador 486, lo hace sin sacar el máximo partido de sus funciones.

Pentium Pro y Pentium II

La aparición, el 27 de marzo de 1995, del procesador Pentium Pro supuso para los servidores de red y las estaciones de trabajo un aire nuevo, tal y como ocurriera con el Pentium en el ámbito doméstico. La potencia de este nuevo procesador no tenía comparación hasta entonces, gracias a la arquitectura de 64 bits y el empleo de una tecnología revolucionaria como es la de .32 micras, lo que permitía la inclusión de cinco millones y medio de transistores en su interior. El procesador contaba con un segundo chip en el mismo encapsulado, que se encargaba de mejorar la velocidad de la memoria caché, lo que resultaba en un incremento del rendimiento sustancioso. Las frecuencias de reloj se mantenían como límite por arriba en 200 MHz, partiendo de un mínimo de 150 MHz. Un procesador que en principio no tiene muchos visos de saltar al mercado doméstico, puesto que los procesadores Pentium MMX parecen cubrir de momento todas las necesidades en este campo. No podemos asegurar que en un futuro cercano esto no acabe ocurriendo, pues en el mundo de la informática han sucedido las cosas más extrañas, y nunca se sabe por dónde puede tirar un mercado en constante evolución.

Una evolución que demostró Intel hace muy poco con un nuevo procesador, denominado Pentium II, que viene a ser simplemente un nuevo ingenio que suma las tecnologías del Pentium Pro con el MMX. Como resultado, el Pentium II es el procesador más rápido de cuantos ha comercializado Intel. Por el momento únicamente se dispone de las versiones a 233 y 266 MHz, pero después de este verano podremos disfrutar de la versión de 300 MHz, que supondrá un nuevo récord de velocidad de reloj. El Pentium II, cuyas características fueron tratadas con detalle en el artículo de portada del pasado mes de la revista, es hoy (por poco tiempo) el extremo de la cadena evolutiva de Intel.

El futuro de los microprocesadores

La evolución que están sufriendo los procesadores es algo que no parece escapar a la atención de millones de personas, cuyo trabajo depende de hasta dónde sean capaces de llegar los ingenieros de Intel a la hora de desarrollar nuevos chips. El último paso conocido ha sido la implementación de la nueva arquitectura de 0.25 micras, que viene a sustituir de forma rotunda la empleada hasta el momento, de 0.35 micras en los últimos modelos de procesador. Esto va a significar varias cosas en un futuro no muy lejano. Para empezar, la velocidad se incrementará una media del 33 por ciento con respecto a la generación de anterior. Es decir, el mismo procesador usando esta nueva tecnología puede ir un 33 por ciento más rápido que el anterior. Para que os podáis hacer una idea del tamaño de esta tecnología, deciros que el valor de 0.25 micras es unas 400 veces más pequeño que un pelo de cualquier persona. Y este tamaño es el que tienen los transistores que componen el procesador. El transistor, como muchos sabréis, permite el paso de la corriente eléctrica, de modo que en función de en qué transistores haya corriente, el ordenador realiza las cosas (esto es una simplificación de la realidad, pero se ajusta a ella más o menos). Dicha corriente eléctrica circula entre dos puntos, de modo que cuanto menor sea esta distancia, más cantidad de veces podrá pasar pues el tiempo de paso es menor. Aunque estamos hablando de millonésimas de segundo, tened en cuenta que un procesador está trabajando continuamente, de modo que ese tiempo que parece insignificante cuando es sumado a lo largo de las miles de millones de instrucciones que realizar, nos puede dar una cantidad de tiempo bastante importante. De modo que la tecnología que se utilice puede dar resultados totalmente distintos incluso utilizando el mismo procesador. Por el momento, en un futuro cercano además de contar con la arquitectura de 0.25 micras, podremos disfrutar de duna de 0.07 para el año 2011, lo que supondrá la introducción en el procesador de mil millones de transistores y alcanzando una velocidad de reloj cercana a los 10000 MHz, es decir, 10 GHz.

La tecnología MMX

Aunque no podamos considerar la tecnología MMX como un procesador en sí mismo, sería injusto no hablar de ella en un informe como éste. Es uno de los mayores pasos que ha dado Intel en la presente década, y según ellos mismos, todos los procesadores que fabriquen a partir de mediados del próximo año llevarán incorporada esta arquitectura. Para su desarrollo se analizaron un amplio rango de programas para determinar el funcionamiento de diferentes tareas: algoritmos de descompresión de vídeo, audio o gráficos, formas de reconocimiento del habla o proceso de imágenes, etc. El análisis dio como resultado que numerosos algoritmos usaban ciclos repetitivos que ocupaban menos del 10% del código del programa, pero que en la práctica suponían el 90% del tiempo de ejecución. De modo que nació la tecnología MMX, compuesta por 57 instrucciones y 4 tipos de datos nuevos, que se encargan de realizar esos trabajos cíclicos consumiendo mucho menos tiempo de ejecución. Antes, para manipular 8 bytes de datos gráficos requería 8 repeticiones de la misma instrucción; ahora, con la nueva tecnología, se puede utilizar una única instrucción aplicada a los 8 bytes simultáneamente, obteniendo de este modo un incremento del rendimiento de 8x.

Especificaciones técnicas de los microprocesadores Intel

Fecha de
Presen-
tación

Velocidad
de reloj

Ancho
de bus

Número de
transistores

Memoria
direccionable

Memoria
virtual

Breve
descripción

4004

15/11/71

108 KHz.

4 bits

2.300

(10 micras)

640 byte

Primer chip con

manipulación aritmética

8008

1/4/72

108 KHz.

8 bits

3.500

16 KBytes

Manipulación Datos/texto

8080

1/4/74

2 MHz.

8 bits

6.000

64 KBytes

10 veces las (6 micras)

prestaciones del 8008

8086

8/6/78

5 MHz.

8 MHz.

10 MHz.

16 bits

29.000

(3 micras)

1 MegaByte

10 veces las prestaciones del 8080

8088

1/6/79

5 MHz.

8 MHz.

8 bits

29.000

Idéntico al 8086 excepto en su bus

externo de 8 bits

80286

1/2/82

8 MHz.

10 MHz.

12 MHz.

16 Bits

134.000

(1.5 micras)

16 Megabytes

1 Gigabyte

De 3 a 6 veces las

prestaciones del 8086

Microprocesador

Intel 386 DX®

17/10/85

16 MHz.

20 MHz.

25 MHz.

33 MHz.

32 Bits

275.000

(1 micra)

4 Gigabytes

64 Terabytes

Primer chip x86 capaz de manejar

juegos de datos de 32 bits

Microprocesador

Intel 386 SX®

16/6/88

16 MHz.

20 MHz.

16 Bits

275.000

(1 micra)

4 gigabytes

64 Terabytes

Bus capaz de direccionar 16 bits

procesando 32bits a bajo coste

Microprocesador

Intel 486 DX®

10/4/89

25 MHz.

33 MHz.

50 MHz.

32 Bits

(1 micra, 0.8

micras

en 50 MHz.)

4 Gigabytes

64 Terabytes

Caché de nivel 1 en el chip

Microprocesador

Intel 486 SX®

22/4/91

16 MHz.

20 MHz.

25 MHz.

33 MHz.

32 Bits

1.185.000

(0.8 micras)

4 Gigabytes

64 Terabytes

Idéntico en diseño al Intel 486DX,

pero sin coprocesador matemático

Procesador

Pentium®

22/3/93

60 MHz.

66 MHz.

75 MHz.

90 MHz.

100 MHz.

120 MHz.

133 MHz.

150 MHz.

166 MHz.

200 MHz.

32 Bits

3,1 millones

(0.8 micras)

4 Gigabytes

64 Terabytes

Arquitectura escalable. Hasta 5 veces

las prestaciones del 486 DX a 33 MHz.

Procesador

PentiumPro®

27/3/95

150 MHz.

180 MHz.

200 MHz.

64 Bits

5,5 millones

(0.32 micras)

4 Gigabytes

64 Terabytes

Arquitectura de ejecución dinámica

con procesador de altas prestaciones

Procesador

PentiumII®

7/5/97

233 MHz.

266 MHz.

300 MHz.

64 Bits

7,5 millones

(0.32 micras)

4 Gigabytes

64 Terabytes

S.E.C., MMX, Doble Bus

Indep., Ejecución Dinámica

La ley de Moore

El Dr. Gordon Moore, uno de los fundadores de Intel Corporation, formuló en el año 1965 una ley que se ha venido a conocer como la "Ley de Moore". La citada ley que está reflejada en el gráfico adjunto, nos viene a decir que el número de transistores contenidos en un microprocesador se dobla más o menos cada dieciocho meses. Esta afirmación, que en principio estaba destinada a los dispositivos de memoria, pero también los microprocesadores han cumplido la ley. Una ley que significa para el usuario que cada dieciocho meses, de forma continua, pueda disfrutar de una tecnología mejor, algo que se ha venido cumpliendo durante los últimos 30 años, y de lo que se espera siga vigente en los próximos quince o veinte años. De modo que el usuario puede disponer de mejores equipos, aunque también significa la necesidad de cambiar de equipo cada poco tiempo, algo que no todo el mundo se puede permitir. Y eso que el precio aumenta de forma absoluta pero no relativa, puesto que la relación MIPS/dinero está decreciendo a velocidad vertiginosa. Algo que sin embargo no sucede con la industria del automóvil por ejemplo, ya que la potencia de los coches no se ha multiplicado de la misma forma que los precios. En cualquier caso, queda claro que en los próximos años nos espera una auténtica revolución en lo que a rendimiento de los procesadores se refiere, como ya predijera Moore hace más de treinta años.

Continuar leyendo