Feeds:
Entradas
Comentarios

Archive for the ‘Tecnología’ Category

TECNOLOGIA DE LOS PROCESADORES. El inicio de la revolución informática.

Desde los inicios de la computación se persiguió la disminución en el tamaño de las computadoras, a costa de la miniaturización de sus circuitos.

De las válvulas electrónicas de vacío en las computadoras de primera generación (1946-1958) se pasó a los pequeños transistores en las computadoras de segunda generación (1959-1964); luego se evolucionó a los circuitos integrados de la tercera generación (1965-1971), y posteriormente a los microchips de la cuarta generación (1972-1996).

1Las microcomputadoras modernos tienen su unidad central de proceso (CPU), con excepción de la memoria principal, dentro de un microchip de silicio que, por su pequeño tamaño, recibe el nombre de microprocesador.

 

 

 

La memoria principal, por su parte, está constituida usualmente por varios módulos independientes del microprocesador llamados SIMMs, (single in-line memory modules / módulos de memoria en línea independientes) ampliables en número y capacidad, y conectados al microprocesador a través del bus de datos o bus de memoria. En los últimos años se han popularizado los DIMMs (double in-line memory modules / módulos de memoria en línea emparejados), que están empezando a reemplazar eficientemente a los SIMMs dado que ocupan menor espacio y permiten una mayor expansibilidad.

                                                                          1 

Es en la memoria principal donde se almacenan las instrucciones que debe ejecutar la computadora; también se guardan los datos que requieren estas instrucciones, y se almacenan los resultados intermedios y finales del procesamiento de la información. La memoria principal funciona como un gran archivador, en el que parte de la información guardada puede ser modificada por el usuario y otra parte debe permanecer inalterada.

Es en el microprocesador donde se realiza el tratamiento de la información, para obtener resultados útiles.

Las primeras microcomputadoras se comercializaron a partir de 1974. Dos familias de microprocesadores dieron origen a los microprocesadores actuales: la línea 8080 (después llamada 80×86 o x86) de Intel Corporation, y la línea 6800 (después llamada 680×0) de Motorola.

Un convenio temporal de exclusividad para el uso de microprocesadores Intel en beneficio de IBM (International Bussiness Machines), dio origen a la familia más exitosa de microcomputadoras conocida como PCs (computadoras personales).

Por su parte Motorola, como fabricante de microprocesadores, en un inicio se asoció tecnológicamente con Apple para producir la línea de microcomputadoras Apple-Macintosh. Apple-Motorola fue por mucho tiempo la competencia de IBM-Intel, aunque la presencia de Apple en el mercado mundial ha disminuido considerablemente en los últimos años (aproximadamente abastece el 3% del mercado).

LAS COMPUTADORAS PERSONALES  Y SUS MICROPROCESADORES

Dependiendo del tipo de microprocesador utilizado, los PCs se suelen clasificar (desde los más antiguos hasta los más modernos) en: sistemas XT, sistemas AT, sistemas 386, sistemas 486, sistemas Pentium y sistemas Pentium Pro.

 1

 

EL PROCESADOR

Es el cerebro del computador, se denomina comúnmente (Unidad central de Proceso) CPU1

Es una compleja pieza de circuitos la cual controla la  operación del computador. Esta hecha de cientos de miles diminutos suitches y sendas por las puede transmitir información binaria. Ella puede manipular información a altas velocidades de acuerdo a un conjunto fijo de instrucciones o programas que se encuentra dentro de ella. La razón para su aparente inteligencia es la velocidad con la cual puede ejecutar una simple instrucción. Un microprocesador puede procesar más de 100 millones de instrucciones por segundo. Su función es ejecutar programas almacenados en la memoria principal, tomar de ellos cada instrucción, examinarla y ejecutarlas una después de la otra. La CPU está conformada por tres unidades diferentes, así: Unidad de Control, Unidad Aritmética Lógica, Registros de Almacenamiento Temporal y están contenidos en un chip muy pequeño llamado microprocesador, de un tamaño no mayor que el de la uña más pequeña.

 UNIDAD DE CONTROL

Dirige las operaciones de todas las otras unidades del computador incluyendo los dispositivos periféricos. Administra todos los recursos de la computadora, es como un policía dirige el flujo de datos entre por la CPU y la computadora. Unidad de control contiene las instrucciones de la CPU para llevar a cabo la ejecución de comandos. La unidad de control obtiene las instrucciones de la memoria, las interpreta y luego las transmite al componente apropiado para que efectué la labor que se indica.

UNIDAD ARITMETICA LOGICA

Cuando una instrucción en un programa involucra Aritmética o lógica, la unidad de control le pasa el control a la ALU (Unidad Aritmética Lógica) que se encarga de realizar las operaciones de tipo aritmético y lógico.

LOS REGISTROS

Los registros son un conjunto de lugares donde el procesador almacena datos mientras trabaja sobre ellos. La figura muestra los registros de un microprocesador 8088, 8086, 286.

  1                                                                                                                                        Definición de los registros

Cada uno de ellos es una parte Integral del procesador. Procesadores posteriores tienen dos registros más, con capacidad mayor para el almacenamiento de información. Es un área temporal por la cual pasan los datos mientras están siendo procesados.

El primer grupo de registros AX, BX, CX y DX también llamados de propósito general, son utilizadas para realizar operaciones.

 

 

 Registros de un Microprocesador         

Los procesadores 386 y posteriores tienen 8 registros de propósito general, y son EAX, EBX, ECX, EDX, ESI, EDI, EBP y ESP.

 

El tamaño del registro varía entre 16 o 32 bits, dependiendo del microprocesador.

El grupo de registros (CS, DS, SS) de segmento se usan para ayudar al procesador a encontrar su camino por la memoria del computador. Son útiles para ayudar en los procesos de toma de datos de la memoria. CS, indica donde se almacena un programa en memoria, DS sirve para localizar datos en memoria.

El último grupo de registro ayudan a los anteriores y son: IP Registro apuntador de Instrucciones, guarda el lugar de memoria en que se encuentra la instrucción siguiente a ejecutar por el procesador. Los otros (SI y DI) ayudan en tareas de movimiento de datos.

Los constructores de Microprocesadores más conocidos son INTEL y MOTOROLA.

Procesadores Intel

Modelo del

Procesador

Año de

Lanzamiento

Capacidad

del Bus

Tamaño

Palabra

Memoria

Direccionada

8086

1978

16 bits

16

1 MB

8088

1979

8 bits

16

1 MB

80286

1982

16 bits

16

16 MB

80286

1982

16 bits

16

16 MB

80386 DX

1985

32 bits

32

4 GB

80386 SX

1988

16 bits

32

4 GB

80486 DX

1989

32 bits

32

4 GB

80486 DX

1989

32 bits

32

4 GB

80486 SX

1985

32 bits

32

4 GB

Pentium

1993

64 bits

32

4 GB

 LOS MICROPROCESADORES 8086 y 8088

En junio de 1978 Intel lanzó al mercado el primer microprocesador de 16 bits: el 8086. En junio de 1979 apareció el 8088 (con bus de datos de 8 bits) y en 1980 los coprocesadores 8087 (matemático) y 8089 (de entrada y salida). Intel fue el primer fabricante que desarrolló software y hardware para estos chips.

El desarrollo más notable para la familia 8086/8088 fue la elección de la CPU 8088 por parte de IBM (International Business Machines) cuando en 1981 entró en el campo de las computadoras personales. Esta computadora se desarrolló bajo un proyecto con el nombre “Acorn” (Proyecto “Bellota”) pero se vendió bajo un nombre menos imaginativo, pero más correcto: “Computadora Personal IBM”, con un precio inicial entre 1260 dólares y 3830 dólares según la configuración (con 48KB de memoria RAM y una unidad de discos flexibles con capacidad de 160KB costaba 2235 dólares). Esta computadora entró en competencia directa con las ofrecidas por Apple (basado en el 6502) y por Radio Shack (basado en el Z-80).

ARQUITECTURA DE LOS PROCESADORES 8088 y 8086

El 8086 es un microprocesador de 16 bits, tanto en lo que se refiere a su estructura como en sus conexiones externas, mientras que el 8088 es un procesador de 8 bits que internamente es casi idéntico al 8086. La única diferencia entre ambos es el tamaño del bus de datos externo. Intel trata esta igualdad interna y desigualdad externa dividiendo cada procesador 8086 y 8088 en dos sub-procesadores. O sea, cada uno consta de una unidad de ejecución (EU: Execution Unit) y una unidad interfaz del bus (BIU: Bus Interface Unit). La unidad de ejecución es la encargada de realizar todas las operaciones mientras que la unidad de interfaz del bus es la encargada de acceder a datos e instrucciones del mundo exterior. Las unidades de ejecución son idénticas en ambos microprocesadores, pero las unidades de interfaz del bus son diferentes en varias cuestiones.

 1

La ventaja de esta división fue el ahorro de esfuerzo necesario para producir el 8088. Sólo una mitad del 8086 (el BIU) tuvo que rediseñarse para producir el 8088.

La explicación del diagrama en bloques es la siguiente:

Registros de uso general del 8086/8088:

Tienen 16 bits cada uno y son ocho:

  1. AX = Registro acumulador, dividido en AH y AL (8 bits cada uno).
    Usándolo se produce (en general) una instrucción que ocupa un byte menos que si se utilizaran otros registros de uso general. Su parte más baja, AL, también tiene esta propiedad. El último registro (AL) es el equivalente al acumulador de los procesadores anteriores (8080 y 8085). Además hay instrucciones como DAA; DAS; AAA; AAS; AAM; AAD; LAHF; SAHF; CBW; IN y OUT que trabajan con AX o con uno de sus dos bytes (AH o AL). También se utiliza este registro (junto con DX a veces) en multiplicaciones y divisiones.
  2. BX = Registro base, dividido en BH y BL.
    Es el registro base de propósito similar (se usa para direccionamiento indirecto) y es una versión más potente del par de registros HL de los procesadores anteriores.
  3. CX = Registro contador, dividido en CH y CL.
    Se utiliza como contador en bucles (instrucción LOOP), en operaciones con cadenas (usando el prefijo REP) y en desplazamientos y rotaciones (usando el registro CL en los dos últimos casos).
  4. DX = Registro de datos, dividido en DH y DL.
    Se utiliza junto con el registro AX en multiplicaciones y divisiones, en la instrucción CWD y en IN y OUT para direccionamiento indirecto de puertos (el registro DX indica el número de puerto de entrada/salida).
  5. SP = Puntero de pila (no se puede subdividir).
    Aunque es un registro de uso general, debe utilizarse sólo como puntero de pila, la cual sirve para almacenar las direcciones de retorno de subrutinas y los datos temporarios (mediante las instrucciones PUSH y POP). Al introducir (push) un valor en la pila a este registro se le resta dos, mientras que al extraer (pop) un valor de la pila este a registro se le suma dos.
  6. BP = Puntero base (no se puede subdividir).
    Generalmente se utiliza para realizar direccionamiento indirecto dentro de la pila.
  7. SI = Puntero índice (no se puede subdividir).
    Sirve como puntero fuente para las operaciones con cadenas. También sirve para realizar direccionamiento indirecto.
  8. DI = Puntero destino (no se puede subdividir).
    Sirve como puntero destino para las operaciones con cadenas. También sirve para realizar direccionamiento indirecto.

Cualquiera de estos registros puede utilizarse como fuente o destino en operaciones aritméticas y lógicas.

Además, cada registro tiene usos especiales:

·         Unidad aritmética y lógica. Es la encargada de realizar las operaciones aritméticas (suma, suma con “arrastre”, resta, resta con “préstamo” y comparaciones) y lógicas (AND, OR, XOR y TEST). Las operaciones pueden ser de 16 bits o de 8 bits.

·         Indicadores (flags). Hay nueve indicadores de un bit en este registro de 16 bits. Los cuatro bits más significativos están indefinidos, mientras que hay tres bits con valores determinados: los bits 5 y 3 siempre valen cero y el bit 1 siempre vale uno (esto también ocurría en los procesadores anteriores).

Registro de indicadores (16 bits)

Bit

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Flag

OF DF IF TF SF ZF 0 AF 0 PF 1 CF
  • CF (Carry Flag, bit 0): Si vale 1, indica que hubo “arrastre” (en caso de suma) hacia, o “préstamo” (en caso de resta) desde el bit de orden más significativo del resultado. Este indicador es usado por instrucciones que suman o restan números que ocupan varios bytes. Las instrucciones de rotación pueden aislar un bit de la memoria o de un registro poniéndolo en el CF.
  • PF (Parity Flag, bit 2): Si vale uno, el resultado tiene paridad par, es decir, un número par de bits a 1. Este indicador se puede utilizar para detectar errores en transmisiones.
  • AF (Auxiliary carry Flag, bit 4): Si vale 1, indica que hubo “arrastre” o “préstamo” del nibble (cuatro bits) menos significativo al nibble más significativo. Este indicador se usa con las instrucciones de ajuste decimal.
  • ZF (Zero Flag, bit 6): Si este indicador vale 1, el resultado de la operación es cero.
  • SF (Sign Flag, bit 7): Refleja el bit más significativo del resultado. Como los números negativos se representan en la notación de complemento a dos, este bit representa el signo: 0 si es positivo, 1 si es negativo.
  • TF (Trap Flag, bit 8): Si vale 1, el procesador está en modo paso a paso. En este modo, la CPU automáticamente genera una interrupción interna después de cada instrucción, permitiendo inspeccionar los resultados del programa a medida que se ejecuta instrucción por instrucción.
  • IF (Interrupt Flag, bit 9): Si vale 1, la CPU reconoce pedidos de interrupción externas enmascarables (por el pin INTR). Si vale 0, no se reconocen tales interrupciones. Las interrupciones no enmascarables y las internas siempre se reconocen independientemente del valor de IF.
  • DF (Direction Flag, bit 10): Si vale 1, las instrucciones con cadenas sufrirán “auto-decremento”, esto es, se procesarán las cadenas desde las direcciones más altas de memoria hacia las más bajas. Si vale 0, habrá “auto-incremento”, lo que quiere decir que las cadenas se procesarán de “izquierda a derecha”.
  • OF (Overflow flag, bit 11): Si vale 1, hubo un desborde en una operación aritmética con signo, esto es, un dígito significativo se perdió debido a que tamaño del resultado es mayor que el tamaño del destino.

·         Sistema de control de la unidad de ejecución. Es el encargado de decodificar las instrucciones que le envía la cola y enviarle las órdenes a la unidad aritmética y lógica según una tabla que tiene almacenada en ROM llamada CROM (Control Read Only Memory).

·         Cola de instrucciones. Almacena las instrucciones para ser ejecutadas. La cola se carga cuando el bus está desocupado, de esta manera se logra una mayor eficiencia del mismo. La cola del 8086 tiene 6 bytes y se carga de a dos bytes por vez (debido al tamaño del bus de datos), mientras que el del 8088 tiene cuatro bytes. Esta estructura tiene rendimiento óptimo cuando no se realizan saltos, ya que en este caso habría que vaciar la cola (porque no se van a ejecutar las instrucciones que van después del salto) y volverla a cargar con instrucciones que se encuentran a partir de la dirección a donde se salta. Debido a esto las instrucciones de salto son (después de multiplicaciones y divisiones) las más lentas de este microprocesador.

·         Registros de la unidad de interfaz con el bus. El programador puede acceder a cinco registros de 16 bits cada uno, siendo cuatro de ellos registros de segmento y el restante el puntero de instrucción (IP).

Los registros de segmento se llaman:

  • CS: Registro de segmento de código.
  • DS: Registro de segmento de datos.
  • ES: Registro de segmento extra.
  • SS: Registro de segmento de pila.

·         Lógica de control del bus. El cometido de este bloque es poder unir los bloques anteriormente mencionados con el mundo exterior, es decir, la memoria y los periféricos.

El 8088 tiene un bus de datos externo reducido de 8 bits. La razón para ello era prever la continuidad entre el 8086 y los antiguos procesadores de 8 bits, como el 8080 y el 8085. Teniendo el mismo tamaño del bus (así como similares requerimientos de control y tiempo), el 8088, que es internamente un procesador de 16 bits, puede reemplazar a los microprocesadores ya nombrados en un sistema ya existente.

El 8088 tiene muchas señales en común con el 8085, particularmente las asociadas con la forma en que los datos y las direcciones están multiplexadas, aunque el 8088 no produce sus propias señales de reloj como lo hace el 8085 (necesita un chip de soporte llamado 8284, que es diferente del 8224 que necesitaba el microprocesador 8080). El 8088 y el 8085 siguen el mismo esquema de compartir los terminales correspondientes a los 8 bits más bajos del bus de direcciones con los 8 bits del bus de datos, de manera que se ahorran 8 terminales para otras funciones del microprocesador. El 8086 comparte los 16 bits del bus de datos con los 16 más bajos del bus de direcciones.

El 8085 y el 8088 pueden, de hecho, dirigir directamente los mismos chips controladores de periféricos. Las investigaciones de hardware para sistemas basados en el 8080 o el 8085 son, en su mayoría, aplicables al 8088.

En todo lo explicado se basó el éxito del 8088.

TERMINALES (pinout) del 8088

1Este microprocesador está encapsulado en el formato DIP (Dual Inline Package) de 40 patas (veinte de cada lado). La distancia entre las patas es de 0,1 pulgadas (2,54 milímetros), mientras que la distancia entre patas enfrentadas es de 0,6 pulgadas (15,32 milímetros).

La posición de la pata 1 se identifica por el semicírculo que se encuentra al extremo (izquierdo, en el grafico). Esto sirve para no insertar el chip al revés en el circuito impreso.

El 8086/8088 puede conectarse al circuito de dos formas distintas: el modo máximo y el modo mínimo. El modo queda determinado al poner un determinado terminal (llamado MN/MX) a tierra o a la tensión de alimentación. El 8086/8088 debe estar en modo máximo si se desea trabajar en colaboración con el Procesador de Datos Numérico 8087 y/o el Procesador de Entrada/Salida 8089 (de aquí se desprende que en la IBM PC el 8088 está en modo máximo). En este modo el 8086/8088 depende de otros chips adicionales como el Controlador de Bus 8288 para generar el conjunto completo de señales del bus de control. El modo mínimo permite al 8086/8088 trabajar de una forma más autónoma (para circuitos más sencillos) en una manera casi idéntica al microprocesador 8085.

Los 40 pines del 8088 en modo mínimo tienen las siguientes funciones:

  1. GND (Masa)
  2. A14 (Bus de direcciones)
  3. A13 (Bus de direcciones)
  4. A12 (Bus de direcciones)
  5. A11 (Bus de direcciones)
  6. A10 (Bus de direcciones)
  7. A9 (Bus de direcciones)
  8. A8 (Bus de direcciones)
  9. AD7 (Bus de direcciones y datos)
  10. AD6 (Bus de direcciones y datos)
  11. AD5 (Bus de direcciones y datos)
  12. AD4 (Bus de direcciones y datos)
  13. AD3 (Bus de direcciones y datos)
  14. AD2 (Bus de direcciones y datos)
  15. AD1 (Bus de direcciones y datos)
  16. AD0 (Bus de direcciones y datos)
  17. NMI (Entrada de interrupción no enmascarable)
  18. INTR (Entrada de interrupción enmascarable)
  19. CLK (Entrada de reloj generada por el 8284)
  20. GND (Masa)
  21. RESET (Para inicializar el 8088)
  22. READY (Para sincronizar periféricos y memorias lentas)
  23. /TEST
  24. /INTA (El 8088 indica que reconoció la interrupción)
  25. ALE (Cuando está uno indica que salen direcciones por AD, en caso contrario, es el bus de datos)
  26. /DEN (Data enable: cuando vale cero debe habilitar los transceptores 8286 y 8287 (se conecta al pin de “output enable”), esto sirve para que no se mezclen los datos y las direcciones).
  27. DT/R (Data transmit/receive: se conecta al pin de dirección de los chips recién indicados).
  28. IO/M (Si vale 1: operaciones con ports, si vale 0: operaciones con la memoria)
  29. /WR (Cuando vale cero hay una escritura)
  30. HLDA (Hold Acknowledge: el 8088 reconoce el HOLD)
  31. HOLD (Indica que otro integrado quiere adueñarse del control de los buses, generalmente se usa para DMA o acceso directo a memoria).
  32. /RD (Cuando vale cero hay una lectura)
  33. MN/MX (Cuando esta entrada está en estado alto, el 8088 está en modo mínimo, en caso contrario está en modo máximo)
  34. /SSO (Junto con IO/M y DT/R esta salida sirve para determinar estados del 8088)
  35. A19/S6 (Bus de direcciones/bit de estado)
  36. A18/S5 (Bus de direcciones/bit de estado)
  37. A17/S4 (Bus de direcciones/bit de estado)
  38. A16/S3 (Bus de direcciones/bit de estado)
  39. A15 (Bus de direcciones)
  40. Vcc (+5V)

En modo máximo (cuando se aplica +5V al pin 33) hay algunos pines que cambian de significado:

24.- QS1: Estado de la cola de instrucciones (bit 1).
25.- QS0: Estado de la cola de instrucciones (bit 0).
26.- S0: Bit de estado 0.
27.- S1: Bit de estado 1.
28.- S2: Bit de estado 2.
29.- /LOCK: Cuando vale cero indica a otros controladores del bus (otros microprocesadores o un dispositivo de DMA) que no deben ganar el control del bus. Se activa poniéndose a cero cuando una instrucción tiene el prefijo LOCK.
30.- RQ/GT1: Es bidireccional y tiene la misma función que HOLD/HLDA en modo mínimo.
31.- RQ/GT0: Como RQ/GT1 pero tiene mayor prioridad.
34.- Esta salida siempre está a uno.

Por ser este un microprocesador mucho más complejo que el 8085, tiene más bits de estado. A título informativo se detallan los bits de estado:

S2

IO/M

DT/R

/SSO

Significado

S1

S0

1 0 0 0 Acceso a código (instrucciones)
1 0 0 1 Lectura de memoria
1 0 1 0 Escritura a memoria
1 0 1 1 Bus pasivo (no hace nada)
0 1 0 0 Reconocimiento de interrupción
0 1 0 1 Lectura de puerto de entrada/salida
0 1 1 0 Escritura a puerto de E/S
0 1 1 1 Estado de parada (Halt)
         

 

QS1

QS0

Significado

0 0 No hay operación
0 1 Primer byte del código de operación
1 0 Se vacía la cola de instrucciones
1 1 Siguiente byte de la instrucción

Estructura de interrupciones del 8086/8088

Hay tres clases de interrupción: por hardware, por software e internas (a las dos últimas también se las llama “excepciones”).

  • Hardware: El  procesador 8086/8088 tiene dos entradas de petición de interrupción: NMI e INTR y una de reconocimiento (INTA). La gran mayoría de las fuentes de interrupción se conectan al pin INTR, ya que esto permite enmascarar las interrupciones (el NMI no). Para facilitar esta conexión, se utiliza el circuito integrado controlador de interrupciones, que tiene el código 8259A. Este chip tiene, entre otras cosas, ocho patas para sendas fuentes de interrupción (IRQ0 – IRQ7), ocho para el bus de datos (D0 – D7), una salida de INTR y una entrada de INTA. Esto permite una conexión directa con el 8088/8086. Al ocurrir una petición de alguna de las ocho fuentes, el 8259A activa la pata INTR. Al terminar de ejecutar la instrucción en curso, el microprocesador activa la pata INTA, lo que provoca que el 8259A envíe por el bus de datos un número de ocho bits (de 0 a 255) llamado tipo de interrupción (programable por el usuario durante la inicialización del 8259A), que el 8086/8088 utiliza para saber cuál es la fuente de interrupción. A continuación busca en la tabla de vectores de interrupción la dirección del manejador de interrupción (interrupt handler). Esto se hace de la siguiente manera. Se multiplica el tipo de interrupción por cuatro, y se toman los cuatro bytes que se encuentran a partir de esa dirección. Los dos primeros indican el offset y los dos últimos el segmento del manejador, como se muestra a continuación.

Posición memoria

00 02 04 06 08 0A 0C 0E 10 12 …. 3FC 3FE

IP

CS

IP

CS

IP

CS

IP

CS

IP

CS

IP

CS

Tipo de interrupción

00

01

02

03

04

FF

Como se puede observar, la tabla ocupa el primer kilobyte de memoria (256 tipos * 4 bytes/tipo = 1024 bytes).

Una vez que se pusieron en la pila los flags, CS e IP (en ese orden), la CPU hace IF <- 0 (deshabilita interrupciones) y TF <- 0 (deshabilita la ejecución de instrucciones paso a paso) para que el manejador de interrupción no sea interrumpido, y carga IP y CS con los valores hallados en la tabla, con lo que se transfiere el control al manejador de interrupción, que es el procedimiento encargado de atender la fuente de interrupción. Luego de haber hecho su trabajo, el manejador debe terminar indicándole al controlador de interrupciones que ya fue atendido el pedido y finalmente deberá estar la instrucción IRET, que restaura los valores de los registros IP, CS y el registro de indicadores. El manejador debe poner en la pila todos los registros que use y restaurar sus valores antes de salir (en orden inverso al de su introducción en la pila), en caso contrario el sistema corre peligro de “colgarse”, ya que, al ocurrir la interrupción en cualquier momento de la ejecución del programa, se cambiarían los valores de los registros en el momento menos esperado, con consecuencias imprevisibles.

  • Software: Ocurren cuando se ejecuta la instrucción INT tipo. De esta manera se pueden simular interrupciones durante la depuración de un programa. El tipo de interrupción (para poder buscar el vector en la tabla) aparece en la misma instrucción como una constante de 8 bits. Muchos sistemas operativos (programas que actúan a modo de interfaz entre los programas de los usuarios (llamados también “aplicaciones”) y el hardware del sistema) utilizan esta instrucción para llamadas a servicios, lo que permite no tener que conocer la dirección absoluta del servicio, permitiendo cambios en el sistema operativo sin tener que cambiar los programas que lo ejecutan. De esta manera, una de las primeras operaciones que debe realizar dicho sistema operativo es inicializar la tabla de vectores de interrupción con los valores apropiados.
  • Predefinidas, de uso exclusivo del microprocesador, por lo que no es recomendable utilizar estos tipos de interrupción para interrupciones por hardware o software.
    • Tipo 0: Ocurre cuando se divide por cero o el cociente es mayor que el valor máximo que permite el destino.
    • Tipo 1: Ocurre después de ejecutar una instrucción si TF (Trap Flag) vale 1. Esto permite la ejecución de un programa paso a paso, lo que es muy útil para la depuración de programas.
    • Tipo 2: Ocurre cuando se activa la pata NMI (interrupción no enmascarable).
    • Tipo 3: Existe una instrucción INT que ocupa un sólo byte, que es la correspondiente a este tipo. En los programas depuradores (debuggers) (tales como Debug, CodeView, Turbo Debugger, etc.), se utiliza esta instrucción como punto de parada (para ejecutar un programa hasta una determinada dirección, fijada por el usuario del depurador, se inserta esta instrucción en la dirección correspondiente a la parada y se lanza la ejecución. Cuando el CS: IP apunte a esta dirección se ejecutará la INT 3, lo que devolverá el control del procesador al depurador). Debido a esto, si se le ordena al depurador que ejecute el programa hasta una determinada dirección en ROM (memoria de sólo lectura) (por ejemplo, para ver cómo funciona una subrutina almacenada en dicha memoria), la ejecución seguirá sin parar allí (ya que la instrucción INT 3 no se pudo escribir sobre el programa). En el 80386, con su elaborado hardware de ayuda para la depuración, se puede poner un punto de parada en ROM.
    • Tipo 4: Ocurre cuando se ejecuta la instrucción de interrupción condicional INTO y el flag OF (Overflow Flag) vale 1.

Los tipos 5 a 31 (1F en hexadecimal) están reservados para interrupciones internas (también llamados “excepciones”) de futuros microprocesadores.

Read Full Post »

Clasificación de computadoras. De las grandes computadoras hasta la miniaturización.

Introducción

El mundo de la tecnología nunca hubiera existido de no ser por el desarrollo de la  computadora. La sociedad en todos sus niveles recurre a estas máquinas para el almacenamiento y manipulación de datos. Los equipos informáticos han abierto una nueva era en la fabricación gracias a las técnicas de automatización, y han permitido mejorar los sistemas modernos de comunicación. Son herramientas esenciales prácticamente en todos los campos de investigación, la educación y en la comunicación.

 

Una clasificación general de las computadoras se hace atendiendo a la potencia, capacidad o tamaño de la misma. Esta clasificación es muy

Clasificacion de las computadotas

Clasificacion de las computadotas

difusa y se efectúa tomando en cuenta  parámetros tales como la longitud de palabra, su velocidad de funcionamiento, la capacidad de la memoria principal y el número de terminales (usuarios) interactivos conectables. Las  computadoras las encontramos disponibles en diversas formas, tamaños y pesos, y conforme a esto son utilizadas para realizar diferentes clases de aplicaciones. Una computadora que se utiliza en un hogar se diferencia de tamaño y forma de la computadora que es utilizada en un hospital, las computadoras son utilizadas desde las plantas nucleares como controladores de labores de alto riesgo hasta la simple tarea de calentar la comida con el microondas.

Las computadoras tienen muchas diferencias tanto interna como externamente, es decir vienen en muchos tamaños y con capacidades variables, razón por la que es necesario tener una clasificación que ayude a identificar que tipo de computadora es mas apta para un determinado tipo de trabajo.

 Los términos que describen los diferentes tipos de computadoras se acuñaron desde hace algún tiempo, aunque las capacidades de cada tipo han cambiado con rapidez. Éstos son los términos: Supercomputadora, Macrocomputadora (Mainframe), Minicomputadora y Microcomputadora.

 

DESARROLLO

Supercomputadora

Es una computadora diseñada para trabajar en tiempo real, de gran capacidad, tremendamente rápida y de costo elevado, es utilizada en cálculos complejos o tareas muy especiales .  Generalmente posee un gran número de procesadores que trabajan en paralelo, con lo que consiguen realizar billones de operaciones por segundo.

1Es una máquina capaz de distribuir el procesamiento de instrucciones al trabajar en paralelo y que puede utilizar instrucciones vectoriales. Estas máquinas están construidas para procesar enormes cantidades de información en forma muy rápida, debido a su gran generación de calor se instalan en ambientes controlados.

 Las supercomputadoras pueden costar desde 10 millones hasta 30 millones de dólares, y consumen energía eléctrica suficiente para alimentar 100 hogares. Solo países como EEUU, Japón y China han presentado supercomputadoras de más de 10 Teraflops, además estos tres países están en la carrera por el petaflops. Un ejemplo de estas computadoras es la  Cray Y-MP de Cray Research INC.

Las supercomputadoras se usan para:

  • Búsqueda y estudio de la energía y armas nucleares.
  • Búsqueda de yacimientos petrolíferos con grandes bases de datos sísmicos.
  • El estudio y predicción de tornados.
  • El estudio y predicción del clima de cualquier parte del mundo.
  • La elaboración de maquetas y proyectos de la creación de aviones, simuladores de     

      vuelo.

Macrocomputadora

  La computadora de mayor tamaño en uso común es la macrocomputadora, diseñada para ser usada por grandes empresas u organizaciones. Son sistemas que ofrecen mayor velocidad en el procesamiento y mayor capacidad de almacenaje que una minicomputadora típica.3

La macrocomputadora es un sistema de aplicación general cuya característica principal es el hecho de que el CPU es el centro de casi todas las actividades de procesamiento secundario. Por lo general cuenta con varias unidades de disco para procesar y almacenar grandes cantidades de información. El CPU actúa como árbitro de todas las solicitudes y controla el acceso a todos los archivos, lo mismo hace con las operaciones de Entrada / Salida cuando se preparan salidas impresas o efímeras. El usuario se dirige a la computadora central de la organización cuando requiere apoyo de procesamiento.

Las macrocomputadoras o también llamados mainframes están diseñadas para manejar grandes cantidades de entrada, salida y almacenamiento. De alguna forma los mainframes son más poderosos que las supercomputadoras porque soportan más programas simultáneamente. Pero las supercomputadoras pueden ejecutar un sólo programa más rápido que un mainframe.

Una de las características principales es la de soportar un gran número de terminales o estaciones de trabajo. Además pueden intervenir en proceso distribuidos en los que se conectan dos o más computadoras en paralelo, de tal forma que se reparte en trabajo a realizar.

Las computadoras mainframe de hoy generalmente cuestan desde $120,000 hasta varios millones de dólares. Era usual que las computadoras mainframe ocuparan cuartos completos o incluso pisos enteros de edificios. Generalmente eran colocadas dentro de oficinas con vidrios sellados y aire acondicionado especial para mantenerlas a una temperatura baja, y sobre pisos falsos para ocultar todos los cables necesarios para las conexiones de la máquina. Este tipo de instalación ya no es muy utilizada. Hoy en día, una computadora mainframe común se ve como una hilera sencilla de grandes archiveros, aunque puede seguir requiriendo de un ambiente controlado. Un buen ejemplo de este tipo de computadoras es la IBM 3090 de la internacional bussines machines, capaz de soportar aproximadamente 50000 terminales conectados.

Sus principales características:

  • Son grandes, rápidas y bastante costosas.
  • Permiten que cientos de terminales puedan compartir grandes bases centrales de datos.
  • Terminal – computadora que no tiene su propio CPU o almacenamiento, es sólo un dispositivo de entrada/salida que se conecta a otra computadora localizada en otra parte.
  • Las utilizan las empresas privadas u oficinas de gobierno para tener centralizado el almacenamiento, procesamiento y la administración de grandes cantidades de información.

MINICOMPUTADORAS

 Al inicio de la década de 1960 hicieron su aparición las minicomputadoras, fabricadas inicialmente por Digital Equipment Corporation (DEC). Las minicomputadoras son  computadoras de tamaño pequeño o mediano de propósitos generales. Estas se encuentran en un punto 1medio entre las macrocomputadoras y las microcomputadoras. Al igual que las mainframe, las minicomputadoras pueden realizar varios trabajos al mismo tiempo. Estas pueden dar servicios a un número limitado de usuarios mediante el uso de periferales. Su capacidad de almacenamiento y rapidez no es tan amplia como la de una macrocomputadora y su costo no es tan elevado. Son utilizadas en los diferentes departamentos de grandes compañías, universidades, trabajos de investigación o empresas medianas.

 Las Minicomputadoras pueden manejar una cantidad mucho mayor de entradas y salidas que una computadora personal. Aunque algunas minicomputadoras están diseñadas para un solo usuario, muchas pueden manejar docenas o inclusive cientos de terminales. Dos ejemplos muy típicos de este tipo de computadoras son las VAX de digital equipment corporation (DEC) y la AS/400 de IBM.

Actualmente se usan para almacenar grandes bases de datos, automatización industrial y aplicaciones multiusuario.  En cuanto a su forma de operar se asemeja más a una macrocomputadora ya que fueron diseñadas para:

  • Entornos de múltiples usuarios, apoyando múltiples actividades de proceso al mismo tiempo.
  • Ofrecer ciertos servicios más específicos
  • Soportar un número limitado de dispositivos
  •  Pequeñas y de bajo costo
  •  Para múltiples aplicaciones
  • Son algo mayores que las microcomputadoras.
  • Cuestan miles
  • Conservan algunas características de “mainframe”.

MICROCOMPUTADORAS

 

Un tipo de computadora que en la década pasada y en la presente ha tenido una gran importancia, por ser uno de los motores principales del desarrollo y difusión de la informática, es la denominada microcomputadora. Se trata de una maquina cuyo funcionamiento interno se  basa en el uso del microprocesador, y con el que se consigue una serie de prestaciones, que en potencia, manejabilidad, portabilidad, 1precio, etc., cubren la gama más baja de necesidades en el mundo de la informática. Se caracterizan por su configuración básica irregular, que puede estar compuesta por un monitor o una televisión, un drive, una unidad de cassette, etc. Su capacidad de memoria es mínima de 8 a 16 kbytes por lo cual trabaja pequeños volúmenes de información. Hoy se puede decir que el mundo de la microinformática o el de las Microcomputadoras es el más importante y también el más popular, actualmente se encuentran en gran escala en las oficinas, escuelas y hogares.

El origen de las microcomputadoras tuvo lugar en los Estados Unidos a partir de la comercialización de los primeros microprocesadores (INTEL 8008, 8080) En la década de los 80s comenzó la verdadera explosión masiva, de las computadoras  personales (PC) de IBM. Esta máquina basada en el microprocesador INTEL 8088  tenía características interesantes que hacían más amplio su campo de operaciones, sobre todo porque su nuevo sistema operativo estandarizado ( MS-DOS, Microsoft Disk Operating System ) y una capacidad mejorada de graficación, la hacían más atractiva y fácil de usar. La PC ha pasado por varias transformaciones y mejoras y se conocen como XT (Tecnología Extendida), AT (Tecnología Avanzada) y PS/2.

La microcomputadora es un dispositivo de computación de sobremesa o portátil, que utiliza un microprocesador como su unidad central de procesamiento o CPU. Las microcomputadoras son las computadoras más accesibles para cualquier tipo de usuario, son máquinas personales de escritorio. Pequeñas solo en tamaño físico y accesibles económicamente, este tipo de computadoras son tan dinámicas, que lo mismo las puede utilizar un experto en el trabajo como un niño en casa, por esta razón las microcomputadoras son las más conocidas, y ofrecen un sin número de aplicaciones.

Son microcomputadoras de longitud de palabra de 16 ó 32 bits, su memoria principal solía tener una capacidad de 640 Kilobytes (KB) a 2 Megabytes (MB), actualmente tienen de 16MB hasta 2 GB o más. Normalmente se utilizan en la forma monousuario, con uno o dos diskdrives de 1.2 o 1.44 MB, y pueden incluir un disco duro (HD) tipo IDE desde 1.2 Gigabytes (GB) hasta 120, o superior. La frecuencia de reloj suele variar desde 100 MHz hasta 2.4 GHz, en los modelos actuales, ya que pueden existir versiones anteriores que oscilan de 60 hasta 1 GHz.

Una de las características fundamentales de estos sistemas es que son monousuario, esto es un solo usuario a la vez, pero con los avances tecnológicos desde hace ya bastante tiempo este tipo de máquinas pueden ser utilizadas en ambientes multiusuario incluso como servidores de una red de computadoras. Existe una gran cantidad de programas disponibles para ellos y una gran compatibilidad entre unos y otros. Sin embargo, algunas computadoras personales son diseñadas para enlazarlas entre ellas para formar una red.
Dentro de las microcomputadoras se puede distinguir dos grupos importantes:

£  Computadora personal (personal computer-PC)

£  Estación de trabajo (workstation)

 

£  LA COMPUTADORA PERSONAL. Es la microcomputadora fácil de usar y con grandes prestaciones. Generalmente posee un solo puesto de trabajo, aunque puede tener varios. Actualmente la mayor gama de equipo hardware y de aplicaciones software que existen en el mercado pertenecen al grupo de computadoras personales. Dentro del grupo de computadoras personales, existen una clasificación según el tamaño, prestaciones, precio, etc. Los tipos de vertientes o computadoras personales diferentes del modelo clásico son las siguientes:

  • PORTÁTIL O TRANSPORTABLE. Se trata de una computadora de  características físicas que permiten fácilmente un transporte de un sitio6 a otro sin perder algunas cualidades de una computadora general clásica.

 

 

  • LAPTOP. Consisten en una computadora personal portátil de tamaño pequeño, gran potencia y muy manejable en todos los sentidos. Las características  principales su peso que oscila entre 1 y 2 kg.7

 

 

 

 

  • NOTEBOOK. Es una computadora personal similar a la laptop, pero aun más pequeña, de menor peso y más especializada, es decir, esta 8preparada para  realizar funciones de computadora personal, servir de ayuda a estudiantes sirviéndoles una capacidad de cálculo rápido importante, ofrecer a comerciales funciones de agenda muy evolucionadas, etc.

 

 

  • POCKET-PC O PALMTOP. Es una pequeña computadora personal de mano que viene a ser la última versión de calculadora científica programable. 9

 

 

  • PDA (Asistente Digital Personal). Con muchas menos prestaciones que las computadoras personales anteriores.10

 

 

 

 £  UNA ESTACION DE TRABAJO. Es una microcomputadora de gran potencia que se utiliza para trabajo de ingeniería o similares y permite la conexión a través de una red con una computadora de mayor potencia.  Generalmente este equipo contiene un monitor de alta resolución gráfica, por lo menos 16 MB de memoria principal, soporte de red, y una interface gráfica para el usuario. Los nuevos sistemas están basados en procesadores Intel Pentium III e Intel Pentium III Xeon y certificados para los sistemas operativos Microsoft® Windows NT® 4.0 y Red Hat®11 6.1. Estas características son esenciales para aquellos profesionales que trabajan sobre Windows NT y están disponibles también, y por primera vez, para usuarios Linux.

Son usadas para:

  • Estaciones de red. Son dispositivos de cómputo diseñados para operar como estaciones de usuario, por lo general configurados sin disco duro y con capacidades de procesamiento independientes del servidor. Para programas y almacenamiento de datos, dependen por lo general de un servidor y de estar conectadas a una red.
  • Aplicaciones de ingeniería CAD (Diseño asistido por computadora)  CAM (manufactura asistida por computadora) Publicidad Creación de Software en redes, 

 

Las principales características son:

  • Está entre las mini y las macro.
  • Es una computadora personal.
  • Las estaciones de trabajo tienen casi la misma capacidad que las microcomputadoras, pero generalmente es usada por una sola persona.

CONCLUSIONES

Toda la sociedad utiliza estas máquinas, en distintos tipos y tamaños, se han convertido en herramientas de apoyo importante para las ciencias tal es el caso de las supercomputadoras, que ahora podrán sentar las bases para el desarrollo de Internet 2, una vía  de alta velocidad para usos científicos y académicos.

La invención del microchip a permitido reducir el tamaño de los computadoras, desde las grandes supercomputadoras hasta las microcomputadoras, primero, lo suficiente para colocarlas encima de la mesa, y más tarde para llevarlos en la mano. Actualmente el tamaño de las computadoras se a miniaturizado pero en algunos casos se han vuelto lo suficientemente potentes que han emulado las funciones que desempeñaban los mainframes, de manera tal, que  pequeñas empresas han  adquirido microcomputadoras para el procesamiento de textos, para la contabilidad y el almacenamiento y gestión de correo electrónico. Las computadoras también son útiles a la investigación y compilación de proyectos estudiantiles, y numerosos centros académicos han incorporado hoy estas máquinas al proceso de Enseñanza-Aprendizaje, aprovechando una de las principales ventajas de las computadoras; la cantidad de información que pueden procesar y ofrecen mediante la conexión en red a una gran variedad de bases de datos en forma inmediata.

 En casa pueden servir como herramienta para la gestión doméstica (cálculo de impuestos, almacenamiento de recetas) y como equipo de diversión (juegos de computadora).

Los dispositivos de mano más completos disponen de varios megabytes (millones de caracteres) de espacio para almacenar archivos, enorme capacidad de cálculo, con utilidades de hoja de cálculo y gráficos, y los medios necesarios para enviar y recibir correo electrónico y navegar en Internet mientras se recorren las calles o se anda de paseo.

 

 

Read Full Post »

El Modelo de von Neumann: Un Nuevo concepto para un mejor desempeño.

INTRODUCCION

La creación de las primeras computadoras electrónicas, y la necesidad de almacenar las tareas a realizar, en la memoria, fue el factor principal que condujo a la creación de los lenguajes de programación. En un principio las computadoras se utilizaban como calculadoras, a las que se le indicaban paso a paso, las tareas a realizar.

En la actualidad cada computadora se basa en el modelo del matemático húngaro John Von Neumann. El modelo examina el interior de la computadora (la caja negra) y define cómo se realiza el procesamiento. Von Neumann  resolvió el problema de tener que cablear la máquina para cada tarea, dado que le pareció evidente, que programar computadoras con una enorme cantidad de interruptores y cables era algo lento, tedioso y poco flexible, y pensó que el programa podía representarse en forma digital en la memoria de la computadora, lo mismo que los datos. También observó que la torpeza de la aritmética decimal en serie utilizada por la ENIAC, con cada dígito representado por diez bulbos (uno encendido y nueve apagados), podía reemplazarse usando aritmética binaria paralela.

Su diseño básico, ahora conocido como una Máquina de Von Neumann, se usó en la EDSAC para la primera computadora que almacenaba el programa, y constituye todavía la base para la mayoría de las computadoras digitales, casi medio siglo después. Este diseño y la máquina IAS (Princeton Institute of Advanced Studies), construida en colaboración con Herman Goldstine, ha tenido una influencia tan grande en las maquinas actuales.

DESARROLLO

En 1945 John Von Neumann creó un modelo computacional que se caracteriza por disponer de una única memoria principal en la que se almacenan los datos y las instrucciones. La memoria estaba dividida en dos zonas, la primera para almacenar el programa que se debía ejecutar y la segunda, para retener los datos. Esta característica es la parte fundamental de las computadoras, porque un comando del programa para ser ejecutado debe estar necesariamente en la unidad central de procesamiento. De este modo, se gana velocidad de ejecución del conjunto de instrucciones que componen los programas.

La solución fue poner las instrucciones en la misma memoria que los datos, escribiéndolas de la misma forma, en código binario, “arquitectura de Von Neumann”. La EDVAC fue el modelo de las computadoras de este tipo.

El modelo define una computadora como cuatro subsistemas:

  • La memoria.
  • La unidad aritmético-lógica o ALU.
  • La unidad de control.
  • Un dispositivo de entrada/salida

Se puede decir que una computadora está formada por tres partes fundamentales, aunque una de ellas es subdividida en dos partes no menos importantes. En la figura siguiente se muestran dichas partes, llamadas genéricamente unidades funcionales debido a que, desde el punto de vista del funcionamiento, son independientes.

 modelo de von Neuman

El nombre de cada parte nos indica la función que realiza:

  • La unidad de Memoria Principal (MP) es el área de almacenamiento, se encarga de almacenar las instrucciones que realizará la Unidad de Control al ejecutar un programa y los datos que serán procesados.
  • La Unidad Central de Proceso (CPU) es la que coordina el funcionamiento conjunto de las demás unidades y realiza los cálculos necesarios; por eso la podemos subdividir en una Unidad de Control (UC) y en una unidad de cálculo o Unidad Aritmético-Lógica (ALU).

v  ALU es donde el cálculo aritmético y las operaciones lógicas toman lugar. Si una computadora es un procesador de datos, se debería poder realizar operaciones aritméticas con los datos (por ejemplo, sumar una lista de números). También debería poderse realizar operaciones lógicas con ellos (por ejemplo, encontrar el menor de dos elementos de datos).

v  UC determina las operaciones de la memoria, de la ALU y del subsistema de Entrada/Salida.

  • La Unidad de Entradas y Salidas será la encargada de la comunicación con el exterior a través de los periféricos. Estos periféricos pueden ser: de entrada, como los teclados; de salida, como los tubos de rayos catódicos, y de entrada y salida, como los discos magnéticos.

El esquema original del modelo de Von Neuman era el siguiente

 v1

La máquina de Von Neumann tenía 5 partes básicas:

  • La memoria,
  • La unidad Aritmética lógica,
  • La unidad de control del programa y
  • Los equipos de entrada y salida.

La memoria principal está formada por un conjunto de unidades llamadas palabras. Dentro de cada una de estas palabras se guarda la información que constituye una instrucción o parte de ella (puede darse el caso de que una sola instrucción necesite varia palabras), o un dato o parte de un dato (también un dato puede ocupar varias palabras).

La memoria constaba de 4096 palabras, cada una con 40 bits. Cada palabra podía contener 2 instrucciones de 20 bits o un número entero de 39 bits y su signo. Las instrucciones tenían 8 bits dedicados a señalar el tiempo de la misma y 12 bits para especificar alguna de las 4096 palabras de la memoria.

A la cantidad de palabras que forman la MP se le denomina capacidad de memoria. De este modo, cuanto mayor sea el número de palabras mayor será el número de instrucciones y datos que podrá almacenar la computadora.
Una palabra está formada a su vez de unidades más elementales llamadas bits, del mismo modo que en el lenguaje natural una palabra esta formada por letras.

El número de bits que forman una palabra se llama longitud de palabra. Por regla general, las computadoras potentes tienen memorias con longitud de palabra grande, mientras que las computadoras pequeñas tienen memorias con longitud de palabra menor.

En la figura siguiente se muestra como se puede estar organizada una Memoria Principal.

 v1

 

 

 

 

 

 

 

 

 

Dentro de la unidad aritmética-lógica, había un registro interno especial de 40 bits llamado acumulador. Una instrucción típica era sumar una palabra de la memoria al acumulador o almacenarlo en la memoria.

La comunicación es necesaria entre el interior de la computadora y su entorno o periferia. Esta comunicación se consigue a través de dispositivos de muy diversos tipos, como son: teclados, impresoras, pantallas, discos magnéticos, entre otros. Estos dispositivos se les conoce con el nombre genérico de periféricos.

En la siguiente figura  se muestran algunos periféricos conectados a la Unidad de E/S, la cual hace de intermediaria entre los periféricos y la CPU. Las flechas indican el sentido en que fluye la información.

 v1

 La coordinación de la comunicación entre los periféricos y la CPU la realiza la Unidad de E/S. Obsérvese que esta no es un periférico sino un dispositivo que gestiona a los periféricos siguiendo las órdenes de la CPU; es decir, la Unidad de E/S recibe de la Unidad de Control información sobre el tipo de transferencia de datos que debe realizar (si es de entrada o de salida) y periférico que debe de utilizar; si es de salida recibirá también el dato que debe enviar y el momento de la operación.

Entonces, la Unidad de E/S seleccionara el periférico y ejecutara la operación teniendo en cuanta las características propias de cada periférico. Una vez ejecutada la orden avisara a la UC de la terminación de la transferencia.

Cada periférico o parte de un periférico tendrá asignado un numero o dirección que servirá para identificarlo. Cuando la UC quiera seleccionarlo enviara dicho número a la Unidad de E/S.

  • El cerebro de la PC y compatibles es un microprocesador basado en la familia 8086 de Intel, que realiza todo el procesamiento de datos e instrucciones. Los procesadores varían en velocidad y capacidad de memoria, registros y bus de datos. 

El bus de datos es la forma de interconectar la CPU, la memoria principal y E/S en una computadora. El CPU y la memoria por lo general se conectan por medio de tres grupos de líneas, cada una llamada bus:

  • Bus de datos

Este está formado por varias líneas de control que transportan 1 bit a la vez, el número de líneas va ha depender del tamaño de la palabra. Si la palabra mide 32 bits (4 bits), se necesita un bus de datos con 32 líneas de modo que todos los 32 bits de una sola palabra puedan transmitirse al mismo tiempo.

  • Bus de Direcciones

Este permite el acceso a una palabra en particular en la memoria. El numero de líneas depende del espacio de direccionamiento de la memoria. Ej. Si la memoria tiene 2n palabras, el bus de direcciones necesita transporta n bits a la vez.

  • Bus de Control

El bus de control lleva la comunicación entre el CPU y la memoria. Es decir, debe haber un código enviado desde el CPU a la memora para especificar una operación de lectura y escritura. El número de líneas en este bus depende del número total de comandos que necesita la computadora. Ej. Si una computadora tiene 2n acciones de control, necesita m líneas para el bus de control porque m bits pueden definir 2n operaciones diferente.

Un programa en el modelo de von Neumann se conforma de un número finito de instrucciones. En este modelo, la unidad de control trae una instrucción de la memoria, la interpreta y luego la ejecuta, es decir, las instrucciones se ejecutan una después de otra, Desde luego, una instrucción puede requerir que la unidad de control salte a algunas instrucciones previas o posteriores, no significa que las instrucciones no se ejecutan de manera secuencial.

Un ordenador con esta arquitectura realiza o emula los siguientes pasos secuencialmente:

  1. Enciende el ordenador y obtiene la siguiente instrucción desde la memoria en la dirección (Para poder acceder a una ubicación específica de la memoria, la CPU genera señales en el bus de dirección, que habitualmente tiene un tamaño de 32 bits en la mayoría de máquinas actuales) indicada por el contador de programa (registro del procesador) y la guarda en el registro de instrucción (se almacena la instrucción que se está ejecutando).
  2. Aumenta el contador de programa en la longitud de la instrucción para apuntar a la siguiente.
  3. Decodifica la instrucción mediante la unidad de control. Ésta se encarga de coordinar el resto de componentes del ordenador para realizar una función determinada.
  4. Se ejecuta la instrucción. Ésta puede cambiar el valor del contador del programa, permitiendo así operaciones repetitivas. El contador puede cambiar también cuando se cumpla una cierta condición aritmética, haciendo que el ordenador pueda ‘tomar decisiones’, que pueden alcanzar cualquier grado de complejidad, mediante la aritmética y lógica anteriores.
  5. Vuelve al paso 1.

Aunque existen muchos tipos de computadoras digitales según se tenga en cuenta su tamaño, velocidad de proceso, complejidad de diseño físico, etc., los principios fundamentales básicos de funcionamiento son esencialmente los mismos en todos ellos.

CONCLUSION

La memoria de las computadoras modernas aloja tanto un programa como sus datos correspondientes. Esto implica que ambos, tanto los datos como el programa deben tener el mismo formato porque se almacenan en la memoria, se guardan como patrones binarios y sin lugar a dudas, el modelo de von Neumann establece el estándar de los componentes esenciales de una computadora, la cual debe incluir los cuatro componentes a los que se hace referencia como hardware de la computadora. El modelo no define cómo deben almacenarse los datos en una computadora, aunque si esta es un dispositivo electrónico, la mejor manera de almacenar los datos es en forma de señal eléctrica, específicamente su presencia o ausencia.

El modelo de von Neumann cambió el significado del término   programación, dado que los programas  con su modelo se almacenan en la memoria de la computadora, no sólo se necesita memoria para mantener los datos, sino que también se requiere memoria para mantener el programa y el programa debe ser una secuencia de instrucciones lo cual permitió volver a usar dicho programa y dejar de ser una tarea independiente

Read Full Post »

 

De la válvula termoiónica al microprocesador

 

INTRODUCCION

El hombre ha necesitado crear  a través del tiempo, dispositivos que le permitan 1automatizar los cálculos matemáticos y la elaboración de registros; muestra de ellos es lla invención y creación del ábaco hasta llegar a las computadoras electrónicas con el descubrimiento de la válvula de vacío y su posterior evolución.   

A diferencia de las primeras computadoras electrónicas, actualmente cada día son más pequeñas y más potentes por lo que cabria analizar el componente principal de ellas para entender la evolución tecnológica  de las computadoras electrónicas.

DESARROLLO

Durante la II Guerra Mundial (1939-1945), un equipo de científicos y matemáticos que trabajaban en Bletchley Park, al norte de Londres, crearon lo que se consideró el primer ordenador digital totalmente electrónico: el Colossus. Hacia diciembre de 1943 el Colossus,  incorporaba 1500 válvulas o tubos de vacío. En 1939 y con independencia de este proyecto, John Atanasoff y Clifford Berry ya habían construido un prototipo de máquina electrónica en el Iowa State College (EEUU). Este prototipo y las investigaciones posteriores se realizaron en el anonimato, y más tarde quedaron eclipsadas por el desarrollo del Calculador e Integrador Numérico Electrónico (ENIAC, Electronic Numerical Integrator and Computer) en 1945. El ENIAC contenía 18000 válvulas de vacío y tenía una velocidad de varios cientos de multiplicaciones por minuto.

La válvula electrónica, también llamada válvula termoiónica, válvula de vacío, tubo de vacío o simplemente bulbo, es un componente electrónico basado en la propiedad que tienen los metales en caliente de liberar electrones;  es utilizado para amplificar, conmutar, o modificar una señal eléctrica mediante el control del movimiento de los electrones en un espacio “vacío” a muy baja presión, o en presencia de gases especialmente seleccionados.

El origen de la válvula termoiónica se remonta a la invención de las lámparas incandescentes por Thomas Alva Edison quien al ver que con el uso, la parte superior del cristal de estas lámparas se iba oscureciendo, buscó la forma de aminorar dicho efecto. Para ello, colocó una lámina metálica dentro de la lámpara. Conectando a la misma una batería exterior, con el polo negativo a un electrodo del filamento, y el positivo a la lámina, se producía un flujo de corriente en el vacío interior de la lámpara, a pesar de la distancia entre los dos electrodos.

Con este experimento se observó que cuando el filamento se calienta se produce una agitación de los átomos del material que lo recubre, y los electrones de las órbitas de valencia son acelerados, alcanzado velocidades de escape, con lo que se forma una nube de electrones por encima del mismo. La nube termoiónica, fuertemente atraída por la placa, debido al potencial positivo aplicado en la misma, da lugar a la circulación de una corriente electrónica a través de la válvula entre el filamento y el ánodo. Este descubrimiento, fue llamado efecto termoelectrónico, porque cuando la lámpara se apagaba se enfriaba el filamento y, dejaba de fluir la corriente, del mismo modo que ocurría cuando se invertían los polos de la batería. La corriente circfigura 2ulaba únicamente del filamento a la placa, pero no en sentido inverso. Este dispositivo se le llamo Válvula Electrónica.

La válvula termoiónica más simple está constituida por una ampolla de vidrio, similar a la de las lámparas de incandescencia, a la que se le ha practicado el vacío y en la que, se hallan encerrados dos electrodos, denominados cátodo y ánodo. Físicamente, el cátodo, consiste en un filamento de tungsteno, recubierto por una sustancia rica en electrones libres, que se calienta mediante el paso de una corriente. El ánodo está formado por una placa metálica que rodea al filamento a una cierta distancia y a la que se aplica un potencial positivo. Por constar de dos electrodos a esta válvula denomina diodo. El funcionamiento  de esta válvula de dos electrodos, filamento y placa; fue más tarde  explicado por John A. Fleming en el año 1904, inventor del Tubo Termoiónico. Un poco después entre 1906 -1907 Lee De Forest físico americano, añadió un tercer electrodo al diodo, convirtiéndolo en un tríodo. El electrodo colocado entre el filamento imagen 3y la placa, llamado rejilla, revolucionó con su función la válvula electrónica. La función de este es regular el paso de electrones entre el filamento y la placa: cuanto más negativa es la tensión aplicada, menos paso de electrones hacia la placa, de ahí la denominación de válvula. Si no se aplica tensión alguna, los electrones emitidos por el filamento, son atraídos por la placa en su totalidad. La válvula de tres electrodos también llamada audión, es un amplificador. Por su perfección con el cátodo y otros electrodos, se emplea para aplicaciones diversas, tras cien años, aún  sobrevive la Válvula de Vacío.  

¿Por qué necesitan las válvulas el vacío? Si existiera aire en el interior de la válvula, los electrones chocarían con las moléculas del gas y la corriente disminuiría. Además, el filamento podría destruirse por oxidación al entrar en contacto con el oxígeno del aire. Esto mismo se hace en las bombillas normales. Otro fenómeno es que al chocar los electrones con los átomos del gas, éstos perderían algún electrón, convirtiéndose en iones positivos que serían atraídos por el cátodo negativo, que sería bombardeado y dañado por estos iones.

Así pues, el diodo se caracteriza porque conduce la corriente sólo en una dirección, cuando está polarizado en sentido directo: esto es, el ánodo positivo y el cátodo negativo. Esto hace que sea utilizado en la rectificación de una corriente alterna para obtener corriente continua

A finales de la década de 1950 el uso del transistor reemplazo a las válvulas de vacío en los circuitos de las computadoras. Ahora  son más pequeñas, rápidas y versátiles de lo que permitían las máquinas con válvulas. Como los transistores utilizan mucha menos energía y tienen una vida útil más prolongada, a su desarrollo se debió el nacimiento de máquinas más perfeccionadas, que fueron llamadas ordenadores o computadoras de segunda generación. Los componentes se hicieron más pequeños, así como los espacios entre ellos, por lo que la fabricación del sistema resultaba más barata.

Las características principales de las computadoras de esta época es que tienen circuitos de transistores, y se programan en lenguajes de alto nivel. Esta generación de computadoras era muy avanzada para la época, entre ellas podemos destacar la serie 5000 de Burroughs y la ATLAS de la Universidad de Manchester. Algunas otras computadoras de esta época fueron la Philco 212 y la UNIVAC M460, la Control Data Corporation modelo 1604, seguida por la serie 3000, la IBM sacó al mercado la 7090, la National Cash Register empezó a producir máquinas para proceso de datos de tipo comercial, introdujo el modelo NCR 315. La Radio Corporation of America lanzo al mercado el modelo 501, que ya usaba el lenguaje COBOL, se empleaba para tareas administrativas y comerciales.

El transistor funciona de manera muy semejante a la de un tríodo, pues puede funcionar como amplificador, como oscilador y como interruptor, pero tiene ventajas muy importantes respecto a éste:

  • Como no necesita vacío, es mucho más fácil de construir.
  •  Puede hacerse tan pequeño como se quiera.
  • Gasta mucha menos energía.
  • Funciona a una temperatura más baja.
  • No es necesario esperar a que se caliente.

El transistor fue descubierto por   los físicos estadounidenses John Bardeen, William Shockley y Walter Brattain en 1948; es un dispositivo formado por tres capas de materiales semiconductores (como el germanio o el silicio) a cada una de las capas se le añaden impurezas de dos tipos diferentes.

Fue el sustituto de la válvula termoiónica de tres electrodos o tríodo. Al principio se usaron transistores bipolares y luego se inventaron los denominados transistores de efecto de campo (FET).

Existen dos tipos transistores bipolares: el NPN y el PNP, La nomenclatura NPN se refiere a que hay una capa de Silicio, en seguida una de Germanio y al último otra de Silicio y así para el PNP; Germanio-Silicio-Germanio, y la dirección del flujo de la corriente en cada caso, lo indica la flecha como se muestra en las imágenes que se ven cada tipo de transistor.

El transistor es un dispositivo de 3 patillas con los siguientes nombres: base (B), colector (C) y emisor (E), coincidiendo siempre, el emisor, con la patilla que tiene la flecha en el gráfico de transistor.

                      imagen 5                                                            

           De manera simplificada, la corriente que circula por el “colector” es función amplificada de la que se inyecta en el “emisor”, pero el transistor sólo gradúa la corriente que circula a través de sí mismo, si desde una fuente de corriente continua se alimenta la “base” para que circule la carga por el “colector”, según el tipo de circuito que se utilice.

El transistor bipolar es un amplificador de corriente, esto quiere decir que si le introducimos una cantidad de corriente por una de sus patillas (base), el entregará por otra (emisor), una cantidad mayor a ésta, en un factor que se llama amplificación o ganancia.

Este factor se llama β (beta) y es un dato propio de cada transistor.

Entonces:

v  Ic (corriente que pasa por la patilla colector) es igual a β (factor de amplificación) por Ib (corriente que pasa por la patilla base).

Ic = β * Ib

v  Ie (corriente que pasa por la patilla emisor) es del mismo valor que Ic, sólo que, la corriente en un caso entra al transistor y en el otro caso sale de él, o viceversa.

El transistor consta de un sustrato (usualmente silicio) y tres partes dopadas (proceso intencional de agregar impurezas en un semiconductor extremadamente puro (también referido como intrínseco) con el fin de cambiar sus propiedades eléctricas. Las impurezas utilizadas dependen del tipo de semiconductores a dopar. Semiconductores con dopajes ligeros y moderados se los conoce como extrínsecos. ) que forman dos uniones bipolares, el emisor que emite portadores, el colector que los recibe o recolecta y la tercera, que está intercalada entre las dos primeras, modula el paso de dichos portadores (base). A diferencia de las válvulas, el transistor es un dispositivo controlado por corriente y del que se obtiene corriente amplificada.

En los transistores bipolares (NPN y PNP), la conducción tiene lugar gracias al desplazamiento de portadores de dos polaridades (huecos positivos y electrones negativos), y son de gran utilidad en gran número de aplicaciones pero tienen ciertos inconvenientes, entre los que se encuentra su impedancia de entrada bastante baja. 

Existen unos dispositivos que eliminan este inconveniente en particular y que pertenece a la familia de dispositivos en los que existe un solo tipo de portador de cargas, y por tanto, son unipolares. Se llaman transistor de efecto campo.

El transistor de efecto campo (Field-Effect Transistor o FET) es una familia de transistores que se basan en el campo eléctrico para controlar la conductividad de un “canal” en un material semiconductor (Sustancia que se comporta como conductor (conductor eléctrico es aquel cuerpo que puesto en contacto con un cuerpo cargado de electricidad transmite ésta a todos los puntos de su superficie)) o como aislante dependiendo de la temperatura del ambiente en el que se encuentre) Los FET, como todos los transistores, pueden plantearse como resistencias controladas por voltaje.

La mayoría de los FET están hechos usando las técnicas de procesado de semiconductores habituales, empleando la oblea monocristalina semiconductora como la región activa o canal. La región activa de los TFTs (thin-film transistores, o transistores de película fina), es una película que se deposita sobre un sustrato (usualmente vidrio).

Los transistores de efecto de campo o FET más conocidos son los JFET (Junction Field Effect Transistor), MOSFET (Metal-Oxide-Semiconductor FET) y MISFET (Metal-Insulator-Semiconductor FET). Tienen tres terminales, denominadas puerta (gate), drenador (drain) y fuente (source). La puerta es el terminal equivalente a la base del BJT (transistor bipolar del tipo NPN o PNP). El transistor de efecto de campo se comporta como un interruptor controlado por tensión, donde el voltaje aplicado a la puerta permite hacer que fluya o no corriente entre drenador y fuente. Así como los transistores bipolares se dividen en NPN y PNP, los de efecto de campo o FET son también de dos tipos: canal n y canal p, dependiendo de si la aplicación de una tensión positiva en la puerta pone al transistor en estado de conducción o no conducción.

                         

FET

                                                         imagen 6                                      FET de canal P

Símbolos esquemáticos para los JFETs canal N y canal P: G= Puerta (Gate), D=Drenado (Drain) y S = Fuente (Source).

El funcionamiento del transistor de efecto de campo es distinto al del BJT. En los MOSFET, la puerta no absorbe corriente en absoluto, frente a los BJT, donde la corriente que atraviesa la base, pese a ser pequeña en comparación con la que circula por las otras terminales, no siempre puede ser despreciada. Los MOSFET, además, presentan un comportamiento capacitivo muy evidente que hay que tener en cuenta para el análisis y diseño de circuitos.

En los transistores de efecto de campo (FET), la corriente entre la fuente y la pérdida (colector) se controla usando un campo eléctrico (salida y pérdida (colector) menores).

Estos modelos posteriores al transistor bipolar no utilizan la corriente que se inyecta en el terminal de “base” para modular la corriente de emisor o colector, sino la tensión presente en el terminal de puerta o reja de control y gradúa la conductancia del canal entre los terminales de Fuente y Drenador. De este modo, la corriente de salida en la carga conectada al Drenador (D) será función amplificada de la Tensión presente entre la Puerta (Gate) y Fuente (Source). Su funcionamiento es similar al del tríodo, con la excepción que en el tríodo los equivalentes a Puerta, Drenador y Fuente son Reja, Placa y Cátodo.

Por último, apareció el semiconductor metal-óxido FET (MOSFET). Los MOSFET permitieron un diseño extremadamente compacto, necesario para los circuitos altamente integrados (IC). Hoy la mayoría de los circuitos se construyen con la denominada tecnología CMOS (semiconductor metal-óxido complementario). La tecnología CMOS es un diseño con dos diferentes MOSFET (MOSFET de canal n y p), que se complementan mutuamente y consumen muy poca corriente en un funcionamiento sin carga.

Los transistores de efecto de campo, son los que han permitido la integración a gran escala que disfrutamos hoy en día, para tener una idea aproximada pueden fabricarse varios miles de transistores interconectados por centímetro cuadrado y en varias capas superpuestas.

El campo de la electrónica venía desarrollando los circuitos integrados o microcircuitos desde 1963. La mayoría de los circuitos integrados son pequeños trozos, o chips, de silicio, de entre 2 y 4 mm2, sobre los que se fabrican los transistores. La fotolitografía permite al diseñador crear centenares de miles de transistores en un solo chip situando de forma adecuada las numerosas regiones tipo n y p. Durante la fabricación, estas regiones son interconectadas mediante conductores minúsculos, a fin de producir circuitos especializados complejos. Estos circuitos integrados son llamados monolíticos por estar fabricados sobre un único cristal de silicio. Los chips requieren mucho menos espacio y potencia, y su fabricación es más barata que la de un circuito equivalente compuesto por transistores individuales.

Los procesos de producción de microcircuitos comienzan con cilindros de silicio químicamente puro que son cortados en rebanadas muy delgadas. Después, un diseño preconcebido es grabado en una capa protectora de la superficie de la oblea, mediante el uso de luz en un proceso fotográfico. Una vez que la superficie de la oblea de silicio ha sido procesada de esta manera, es puesta en un baño ácido para eliminar las partes de la capa protectora que no fueron expuestas a la luz y así dejar al descubierto parte de la superficie. Para permitir que el silicio pueda transportar cargas eléctricas, se agregan impurezas en las partes descubiertas y este proceso se repite capa por capa hasta que todo un circuito electrónico ha sido construido en la oblea.

En el diseño de circuitos a los transistores se les considera un elemento activo, a diferencia de los resistores (diseñado para introducir una resistencia eléctrica determinada entre dos puntos de un circuito), capacitores (dispositivo que almacena energía eléctrica) e inductores (almacena energía en forma de campo magnético) que son elementos pasivos. Su funcionamiento sólo puede explicarse mediante mecánica cuántica.

CONCLUSION

Como hemos visto, la aparición de las computadoras electrónicas es bastante reciente, y ha tenido un avance vertiginoso. Tanto es así, que hoy en día la competencia entre las empresas productoras de computadoras a provocado la aparición de nuevos modelos con períodos muy cortos de tiempo, los cuales a veces son de meses. Lo anterior expuesto,  provoca un aumento en:

  • las velocidades de los procesadores
  • capacidades de almacenamiento
  • velocidad de transferencia de los buses

Gracias a las computadoras y a los avances en relación a ellas hemos alcanzado un nivel de tecnología muy elevado el cual nos ha servido para muchas áreas, como por ejemplo las comunicaciones, la medicina y la educación entre otros.

La investigación actualmente va  dirigida a aumentar la velocidad y capacidad de las computadoras  y esta se centra sobre todo en la mejora de la tecnología de los circuitos integrados y en el desarrollo de componentes de conmutación aún más rápidos. Se han construido circuitos integrados a gran escala que contienen varios millones de componentes en un solo chip.

Las computadoras se han convertido en la principal herramienta utilizada por el hombre y ya forma parte esencial en nuestra existencia. Los circuitos integrados han permitido reducir el tamaño de los dispositivos con el consiguiente descenso de los costos de fabricación y de mantenimiento de los sistemas. Al mismo tiempo, ofrecen mayor velocidad y fiabilidad. Los relojes digitales, las computadoras portátiles y los juegos electrónicos son sistemas basados en microprocesadores.

Observando los hechos que han sucedido a lo largo de la evolución de los circuitos, podemos suponer que continuará creciendo en cuanto a velocidad, capacidad y disminuyendo el espacio físico ocupado para cubrir las necesidades de la vida moderna y los nuevos procesos industriales, de salud, educativos y de comunicación.

Read Full Post »