Issuu on Google+

1

UNIDAD # I: EVOLUCION DEL COMPUTADOR


2

UNIDAD I: EVOLUCION DEL COMPUTADOR: 1. Antecedentes históricos del computador La primera máquina de calcular mecánica, un precursor del ordenador digital, fue inventada en 1642 por el matemático francés Blaise Pascal. Aquel dispositivo utilizaba una serie de ruedas de diez dientes en las que cada uno de los dientes representaba un dígito del 0 al 9. Las ruedas estaban conectadas de tal manera que podían sumarse números haciéndolas avanzar el número de dientes correcto. En 1670 el filósofo y matemático alemán Gottfried Wilhelm Leibniz perfeccionó esta máquina e inventó una que también podía multiplicar. El inventor francés Joseph Marie Jacquard, al diseñar un telar automático, utilizó delgadas placas de madera perforadas para controlar el tejido utilizado en los diseños complejos. Durante la década de 1880 el estadístico estadounidense Herman Hollerith concibió la idea de utilizar tarjetas perforadas, similares a las placas de Jacquard, para procesar datos. Hollerith consiguió compilar la información estadística destinada al censo de población de 1890 de Estados Unidos mediante la utilización de un sistema que hacía pasar tarjetas perforadas sobre contactos eléctricos. El mundo de la alta tecnología nunca hubiera existido de no ser por el desarrollo del ordenador o computadora. Toda la sociedad utiliza estas máquinas, en distintos tipos y tamaños, 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 y en tecnología


3 aplicada.

2. La máquina analítica También en el siglo XIX el matemático e inventor británico Charles Babbage elaboró los principios de la computadora digital moderna. Inventó una serie de máquinas, como la máquina diferencial, diseñadas para solucionar problemas matemáticos complejos. Muchos historiadores consideran a Babbage y a su socia, la matemática británica Augusta Ada Byron (1815-1852), hija del poeta inglés Lord Byron, como a los verdaderos inventores de la computadora digital moderna. La tecnología de aquella época no era capaz de trasladar a la práctica sus acertados conceptos; pero una de sus invenciones, la máquina analítica, ya tenía muchas de las características de un ordenador moderno. Incluía una corriente, o flujo de entrada en forma de paquete de tarjetas perforadas, una memoria para guardar los datos, un procesador para las operaciones matemáticas y una impresora para hacer permanente el registro.


4 Considerada por muchos como predecesora directa de los modernos dispositivos de cálculo, la máquina diferencial era capaz de calcular tablas matemáticas. Este corte transversal muestra una pequeña parte de la ingeniosa máquina diseñada por el matemático británico Charles Babbage en la década de 1820. La máquina analítica, ideada también por Babbage, habría sido una auténtica computadora programable si hubiera contado con la financiación adecuada. Las circunstancias quisieron que ninguna de las máquinas pudiera construirse durante su vida, aunque esta posibilidad estaba dentro de la capacidad tecnológica de la época. En 1991, un equipo del Museo de las Ciencias de Londres consiguió construir una máquina diferencial Nº 2 totalmente operativa, siguiendo los dibujos y especificaciones de Babbage.

3. Los primeros ordenadores Los ordenadores analógicos comenzaron a construirse a principios del siglo XX. Los primeros modelos realizaban los cálculos mediante ejes y engranajes giratorios. Con estas máquinas se evaluaban las aproximaciones numéricas de ecuaciones demasiado difíciles como para poder ser resueltas mediante otros métodos. Durante las dos guerras mundiales se utilizaron sistemas informáticos analógicos, primero mecánicos y más tarde eléctricos, para predecir la trayectoria de los torpedos en los submarinos y para el manejo a distancia de las bombas en la aviación.

4. Ordenadores electrónicos 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, que incorporaba 1.500 válvulas o tubos de vacío, era ya operativo. Fue


5 utilizado por el equipo dirigido por Alan Turing para descodificar los mensajes de radio cifrados de los alemanes. 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 (en inglés ENIAC, Electronic Numerical

Integrator and Computer) en 1945. El ENIAC, que según se demostró se basaba en gran medida en el ordenador Atanasoff-Berry (en inglés ABC, Atanasoff-Berry

Computer), obtuvo una patente que caducó en 1973, varias décadas más tarde.

La primera computadora electrónica comercial, la UNIVAC I, fue también la primera capaz de procesar información numérica y textual. Diseñada por J. Presper Eckeret y John Mauchly, cuya empresa se integró posteriormente en Remington Rand, la máquina marcó el inicio de la era informática. En la ilustración vemos una UNIVAC. La computadora central está al fondo, y en primer plano puede verse al panel de control de supervisión. Remington Rand entregó su primera UNIVAC a la Oficina del Censo de Estados Unidos en 1951.

5. El eniac El ENIAC contenía 18.000 válvulas de vacío y tenía una velocidad de varios cientos de


6 multiplicaciones por minuto, pero su programa estaba conectado al procesador y debía ser modificado manualmente. Se construyó un sucesor del ENIAC con un almacenamiento de programa que estaba basado en los conceptos del matemático húngaro-estadounidense John von Neumann. Las instrucciones se almacenaban dentro de una llamada memoria, lo que liberaba al ordenador de las limitaciones de velocidad del lector de cinta de papel durante la ejecución y permitía resolver problemas sin necesidad de volver a conectarse al ordenador. A finales de la década de 1950 el uso del transistor en los ordenadores marcó el advenimiento de elementos lógicos más pequeños, rápidos 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.


7 6. Circuitos integrados A finales de la década de 1960 apareció el circuito integrado (CI), que posibilitó la fabricación de varios transistores en un único sustrato de silicio en el que los cables de interconexión iban soldados. El circuito integrado permitió una posterior reducción del precio, el tamaño y los porcentajes de error. El microprocesador se convirtió en una realidad a mediados de la década de 1970, con la introducción del circuito de integración a gran escala (LSI, acrónimo de Large Scale Integrated) y, más tarde, con el circuito de integración a mayor escala (VLSI, acrónimo de Very Large Scale Integrated), con varios miles de transistores interconectados soldados sobre un único sustrato de silicio.

Los circuitos integrados han hecho posible la fabricación del microordenador o microcomputadora. Sin ellos, los circuitos individuales y sus componentes ocuparían demasiado espacio como para poder conseguir un diseño compacto. También llamado chip, un circuito integrado típico consta de varios elementos como reóstatos, condensadores y transistores integrados en una única pieza de silicio. En los más


8 pequeños, los elementos del circuito pueden tener un tamaño de apenas unos centenares de átomos, lo que ha permitido crear sofisticadas computadoras del tamaño de un cuaderno. Una placa de circuitos de una computadora típica incluye numerosos circuitos integrados interconectados entre sí.

7. Evolución cronológica de la computadora La necesidad del hombre de encontrar métodos rápidos y efectivos para resolver sus cálculos y su gran inventiva lo llevaron a través de los siglos al desarrollo de lo que hoy conocemos como la computadora. Desde el ábaco hasta las computadoras personales éstas han tenido una gran influencia en diferentes aspectos de nuestro diario vivir, mejorando nuestra calidad de vida y abriendo puertas que antes eran desconocidas para la humanidad. 500 AC: Ábaco El primer calculador de tipo mecánico fue ideado en Babilonia alrededor de 500 A.C. Este dispositivo mecánico llamado ábaco consistía de un sistema de barras y poleas con lo cual se podían efectuar diferentes tipos de cálculos aritméticos. 1622: Oughtred presenta la regla de cálculo Hacia 1622, el matemático inglés William Oughtred utilizó los recién inventados logaritmos para fabricar un dispositivo que simplificaba la multiplicación y la división. Consistía en dos reglas graduadas unidas que se deslizaban una sobre otra. 1642: Primera máquina de sumar El matemático y filósofo francés Blaise Pascal tenía diecinueve años cuando construyó la primera máquina sumadora del mundo en 1642. Utilizaba un engranaje de ruedas dentadas como contadores. El dispositivo llevaba 1 automáticamente al llegar a las


9 decenas y también podía emplearse para restar. 1834: Primera computadora digital programable En 1834 el científico e inventor inglés Charles Babbage realizó los esquemas de un dispositivo el cual llamó máquina analítica lo que en realidad era una computadora de propósitos generales. Esta máquina era programada por una serie de tarjetas perforadas que contenían datos o instrucciones las cuales pasaban a través de un dispositivo de lectura, eran almacenados en una memoria y los resultados eran reproducidos por unos moldes. Esta máquina superaba por mucho la tecnología de su tiempo y nunca se terminó. 1850: Primera sumadora de teclado El teclado apareció en una máquina inventada en Estados Unidos en 1850. Podían sumarse una secuencia de dígitos pulsando unas teclas sucesivas. Cada tecla alzaba un eje vertical a cierta altura y la suma quedaba indicada por la altura total.

8. Generaciones Del Computador A.C. (Antes De Ordenadores) Dotación física

Mecánico Software lógica

Tarjetas o cinta de papel perforadas


10 Ada Lovelace - primer programador (c. 1840) Máquina de Turing y Church-Turing Thesis (1937) Máquinas Especiales

Ábaco Pascaline - Primera Máquina calculadora Automática (1642) Telar De Telar jacquar (1805) Motores De Babbage

Motor De Diferencia (1822) Motor Analítico (1832) Hollerith

Máquina De Tabulación (Censo 1890 De los E.E.U.U.) La máquina de tabulación de las formas Co. (1896) - se convierte la IBM en 1924 Máquina sumadora De Burroughs (1888) 10. Primera generación: C. 1940 – 1955 Dotación física

Tubos de vacío


11 Tambores magnéticos Cinta magnética (cerca del extremo de la generación) Software lógica

Programas en terminología de la informática Programas en lenguaje ensamblador (cerca del extremo de la generación) 1946 - von Neumann publica el documento sobre el ordenador salvado del programa 1950 - Prueba de Turing publicada

Máquinas Especiales 1940 - ABC (1r ordenador electrónico) 1940 - Robinson (1r ordenador, código operacionales de Enigma de las grietas) 1946 - Calculadora numérica de ENIAC (1r completamente electrónico, de uso general) 1950 - UNIVAC I (1r ordenador comercialmente acertado) 11. Segunda generación: C. 1955 – 1964 Dotación física

Transistores 1947 - Convertido 1955 - Calculadora Del Transistor De IBM's


12 Minicomputadoras Discos magnéticos Tarjetas de circuito impresas Software lógica

Lenguajes de alto nivel 1956 - FORTRAN 1959 - COBOL

Máquinas Especiales 1963 -- PDP 8 (1ra minicomputadora) 12. Tercera generación: C. 1964 – 1971 Dotación física

Circuitos integrados (c. desarrollada 1958) Familias de los ordenadores (1964 - IBM 360) 1970 - Diskette Software lógica

Los programas entraron directamente en los ordenadores


13 Lenguajes de un nivel más alto (1965 - BASIC) Sistemas operativos Timesharing

Máquinas Especiales 1964 -- Serie del sistema 360 de la IBM (1ra familia de ordenadores) 13. Cuarta generación: C. 1971 – PRESENTE Dotación física

1971 - Viruta del microprocesador introducida en los E.E.U.U. por Intel Microordenadores (Ordenadores Personales) Integración De la Escala Grande (LSI) Integración De la Escala Muy Grande (Vlsi) Software lógica

Programación estructurada Conjuntos de aplicación Sistemas del windowing (interfaces utilizador gráficos -- GUIs) Programas conviviales


14 Máquinas Especiales 1971 - (1ra calculadora de bolsillo) 1975 -- Altaír 8800 (1ra PC) 1977 -- Manzana I (hágala usted mismo kit) 1978 -- Manzana II (pre montada) 1981 -- PC DE LA IBM 1984 -- Impermeable 14. Tendencias generales Dotación física

Más pequeño Más rápidamente Más barato Más disponible Software lógica

Más grande (más exige en la dotación física: CPU, memoria, espacio de disco, etc.) Más fácil utilizar Mejore El Diseño Más barato


15 Más disponible 15. Ordenadores analógicos El ordenador analógico es un dispositivo electrónico o hidráulico diseñado para manipular la entrada de datos en términos de, por ejemplo, niveles de tensión o presiones hidráulicas, en lugar de hacerlo como datos numéricos. El dispositivo de cálculo analógico más sencillo es la regla de cálculo, que utiliza longitudes de escalas especialmente calibradas para facilitar la multiplicación, la división y otras funciones. En el típico ordenador analógico electrónico, las entradas se convierten en tensiones que pueden sumarse o multiplicarse empleando elementos de circuito de diseño especial. Las respuestas se generan continuamente para su visualización o para su conversión en otra forma deseada.

16. Ordenadores digitales Todo lo que hace un ordenador digital se basa en una operación: la capacidad de determinar si un conmutador, o ‘puerta’, está abierto o cerrado. Es decir, el ordenador puede reconocer sólo dos estados en cualquiera de sus circuitos microscópicos: abierto o cerrado, alta o baja tensión o, en el caso de números, 0 o 1. Sin embargo, es la velocidad con la cual el ordenador realiza este acto tan sencillo lo que lo convierte en una maravilla de la tecnología moderna. Las velocidades del ordenador se miden en megahercios, o millones de ciclos por segundo. Un ordenador con una velocidad de reloj de 100 MHz, velocidad bastante representativa de un microordenador o microcomputadora, es capaz de ejecutar 100 millones de operaciones discretas por


16 segundo. Las microcomputadoras de las compañías pueden ejecutar entre 150 y 200 millones de operaciones por segundo, mientras que las supercomputadoras utilizadas en aplicaciones de investigación y de defensa alcanzan velocidades de miles de millones de ciclos por segundo. La velocidad y la potencia de cálculo de los ordenadores digitales se incrementan aún más por la cantidad de datos manipulados durante cada ciclo. Si un ordenador verifica sólo un conmutador cada vez, dicho conmutador puede representar solamente dos comandos o números. Así, ON simbolizaría una operación o un número, mientras que OFF simbolizará otra u otro. Sin embargo, al verificar grupos de conmutadores enlazados como una sola unidad, el ordenador aumenta el número de operaciones que puede reconocer en cada ciclo. Por ejemplo, un ordenador que verifica dos conmutadores cada vez, puede representar cuatro números (del 0 al 3), o bien ejecutar en cada ciclo una de las cuatro operaciones, una para cada uno de los siguientes modelos de conmutador: OFF-OFF (0), OFF-ON (1), ON-OFF (2) u ON-ON (3). En general, los ordenadores de la década de 1970 eran capaces de verificar 8 conmutadores simultáneamente; es decir, podían verificar ocho dígitos binarios, de ahí el término bit de datos en cada ciclo. Un grupo de ocho bits se denomina byte y cada uno contiene 256 configuraciones posibles de ON y OFF (o 1 y 0). Cada configuración equivale a una instrucción, a una parte de una instrucción o a un determinado tipo de dato; estos últimos pueden ser un número, un carácter o un símbolo gráfico. Por ejemplo, la configuración 11010010 puede representar datos binarios, en este caso el número decimal 210, o bien estar indicando al ordenador que compare los datos almacenados en estos conmutadores con los datos almacenados en determinada ubicación del chip de memoria. El desarrollo de procesadores capaces de manejar simultáneamente 16, 32 y 64 bits de datos ha permitido incrementar la velocidad de los ordenadores. La colección completa de configuraciones reconocibles, es decir, la lista total de operaciones que una


17 computadora es capaz de procesar, se denomina conjunto, o repertorio, de instrucciones. Ambos factores, el número de bits simultáneos y el tamaño de los conjuntos de instrucciones, continúa incrementándose a medida que avanza el desarrollo de los ordenadores digitales modernos.

17. Evolución futura Una tendencia constante en el desarrollo de los ordenadores es la micro miniaturización, iniciativa que tiende a comprimir más elementos de circuitos en un espacio de chip cada vez más pequeño. Además, los investigadores intentan agilizar el funcionamiento de los circuitos mediante el uso de la superconductividad, un fenómeno de disminución de la resistencia eléctrica que se observa cuando se enfrían los objetos a temperaturas muy bajas. Las redes informáticas se han vuelto cada vez más importantes en el desarrollo de la tecnología de computadoras. Las redes son grupos de computadoras interconectados mediante sistemas de comunicación. La red pública Internet es un ejemplo de red informática planetaria. Las redes permiten que las computadoras conectadas


18 intercambien rápidamente información y, en algunos casos, compartan una carga de trabajo, con lo que muchas computadoras pueden cooperar en la realización de una tarea. Se están desarrollando nuevas tecnologías de equipo físico y soporte lógico que acelerarán los dos procesos mencionados. Otra tendencia en el desarrollo de computadoras es el esfuerzo para crear computadoras de quinta generación, capaces de resolver problemas complejos en formas que pudieran llegar a considerarse creativas. Una vía que se está explorando activamente es el ordenador de proceso paralelo, que emplea muchos chips para realizar varias tareas diferentes al mismo tiempo. El proceso paralelo podría llegar a reproducir hasta cierto punto las complejas funciones de realimentación, aproximación y evaluación que caracterizan al pensamiento humano. Otra forma de proceso paralelo que se está investigando es el uso de computadoras moleculares. En estas computadoras, los símbolos lógicos se expresan por unidades químicas de ADN en vez de por el flujo de electrones habitual en las computadoras corrientes.


19

UNIDAD # II: HARDWARE Y SOFTWARE:


20

UNIDAD II: HARDWARE Y SOFTWARE: HARDWARE:

Corresponde a todas las partes tangibles de una computadora: sus componentes


21 eléctricos, electrónicos, electromecánicos y mecánicos; sus cables, gabinetes o cajas, periféricos de todo tipo y cualquier otro elemento físico involucrado; contrariamente, el soporte lógico es intangible y es llamado software. El término es propio del idioma inglés (literalmente traducido: partes duras), su traducción al español no tiene un significado acorde, por tal motivo se la ha adoptado tal cual es y suena; la Real Academia Española lo define como «Conjunto de los componentes que integran la parte material de una computadora». El término, aunque es lo más común, no solamente se aplica a una computadora tal como se la conoce, ya que, por ejemplo, un robot, un teléfono móvil, una cámara fotográfica o un reproductor multimedia también poseen hardware (y software). El término hardware tampoco correspondería a un sinónimo exacto de «componentes informáticos», ya que esta última definición se suele limitar exclusivamente a las piezas y elementos internos, independientemente de los periféricos. La historia del hardware del computador se puede clasificar en cuatro generaciones, cada una caracterizada por un cambio tecnológico de importancia. Este hardware se puede clasificar en: básico, el estrictamente necesario para el funcionamiento normal del equipo; y complementario, el que realiza funciones específicas. Un sistema informático se compone de una unidad central de procesamiento (CPU), encargada de procesar los datos, uno o varios periféricos de entrada, los que permiten el ingreso de la información y uno o varios periféricos de salida, los que posibilitan dar salida (normalmente en forma visual o auditiva) a los datos procesados.

HISTORIA DEL HARDWARE


22 La clasificación evolutiva del hardware del computador electrónico, está dividida en generaciones, donde cada una supone un cambio tecnológico muy notable. El origen de las primeras es sencillo de establecer, ya que en ellas el hardware fue sufriendo cambios radicales. Los componentes esenciales que constituyen la electrónica del computador fueron totalmente reemplazados en las primeras tres generaciones, originando cambios que resultaron trascendentales. En las últimas décadas es más difícil distinguir las nuevas generaciones, ya que los cambios han sido graduales y existe cierta continuidad en las tecnologías usadas. En principio, se pueden distinguir: 1ª Generación (1945-1956): Electrónica implementada con tubos de vacío. Fueron las primeras máquinas que desplazaron los componentes electromecánicos (relés). 2ª Generación (1957-1963): Electrónica desarrollada con transistores. La lógica discreta era muy parecida a la anterior, pero la implementación resultó mucho más pequeña, reduciendo, entre otros factores, el tamaño de un computador en notable escala. 3ª Generación (1964-hoy): Electrónica basada en circuitos Integrados . Esta tecnología permitió integrar cientos de transistores y otros componentes electrónicos en un único circuito integrado conformando una pastilla de silicio. Las computadoras redujeron así considerablemente su costo, consumo y tamaño, incrementándose su capacidad, velocidad y fiabilidad, hasta producir máquinas como las que existen en la actualidad. 4ª Generación (futuro): Probablemente se originará cuando los circuitos de silicio, integrados a alta escala, sean reemplazados por un nuevo tipo de material o tecnología. La aparición del microprocesador marca un hito de relevancia, y para muchos autores constituye el inicio de la cuarta generación. A diferencia de los cambios tecnológicos anteriores, su invención no supuso la desaparición radical de los computadores que no lo utilizaban. Así, aunque el microprocesador 4004 fue lanzado al mercado en 1971,


23 todavía a comienzo de los 80's había computadores, como el PDP-11/44,[8] con lógica carente de microprocesador que continuaban exitosamente en el mercado; es decir, en este caso el desplazamiento ha sido muy gradual. Otro hito tecnológico usado con frecuencia para definir el inicio de la cuarta generación es la aparición de los circuitos integrados VLSI (Very Large Scale Integration), a principios de los ochenta. Al igual que el microprocesador no supuso el cambio inmediato y la rápida desaparición de los computadores basados en circuitos integrados en más bajas escalas de integración. Muchos equipos implementados con tecnologías VLSI y MSI (Medium Scale Integration) aun coexistían exitosamente hasta bien entrados los 90.

TIPOS DE HARDWARE Una de las formas de clasificar el Hardware es en dos categorías: por un lado, el "básico", que abarca el conjunto de componentes indispensables necesarios para otorgar la funcionalidad mínima a una computadora, y por otro lado, el Hardware "complementario", que, como su nombre lo indica, es el utilizado para realizar funciones específicas (más allá de las básicas), no estrictamente necesarias para el funcionamiento de la computadora. Así es que: Un medio de entrada de datos, la unidad de procesamiento (C.P.U.), la memoria RAM, un medio de salida de datos y un medio de almacenamiento constituyen el "hardware básico". Los medios de entrada y salida de datos estrictamente indispensables dependen de la aplicación: desde el punto de vista de un usuario común, se debería disponer, al menos, de un teclado y un monitor para entrada y salida de información, respectivamente; pero ello no implica que no pueda haber una computadora (por ejemplo controlando un


24 proceso) en la que no sea necesario teclado ni monitor, bien puede ingresar información y sacar sus datos procesados, por ejemplo, a través de una placa de adquisición/salida de datos. Las computadoras son aparatos electrónicos capaces de interpretar y ejecutar instrucciones programadas y almacenadas en su memoria, ellas consisten básicamente en operaciones aritmético-lógicas y de entrada/salida. Se reciben las entradas (datos), se las procesa y almacena (procesamiento), y finalmente se producen las salidas (resultados del procesamiento). Por ende todo sistema informático tiene, al menos, componentes y dispositivos hardware dedicados a alguna de las funciones antedichas; a saber: Procesamiento: Unidad Central de Proceso o CPU Almacenamiento: Memorias Entrada: Periféricos de Entrada (E) Salida: Periféricos de salida (S) Entrada/Salida: Periféricos mixtos (E/S) Desde un punto de vista básico y general, un dispositivo de entrada es el que provee el medio para permitir el ingreso de información, datos y programas (lectura); un dispositivo de salida brinda el medio para registrar la información y datos de salida (escritura); la memoria otorga la capacidad de almacenamiento, temporal o permanente (almacenamiento); y la

CPU

provee la capacidad de cálculo y

procesamiento de la información ingresada (transformación). Un periférico mixto es aquél que puede cumplir funciones tanto de entrada como de salida, el ejemplo más típico es el disco rígido (ya que en él se lee y se graba información y datos).


25

UNIDAD CENTRAL DE PROCESAMIENTO ARTÍCULO PRINCIPAL: CPU

Microprocesador de 64 bits doble núcleo, el AMD Athlon 64 X2 3600. La CPU, siglas en inglés de Unidad Central de Procesamiento, es la componente fundamental del computador, encargada de interpretar y ejecutar instrucciones y de procesar datos. En los computadores modernos, la función de la CPU la realiza uno o más microprocesadores. Se conoce como microprocesador a un CPU que es manufacturado como un único circuito integrado.


26 Un servidor de red o una máquina de cálculo de alto rendimiento (supercomputación), puede tener varios, incluso miles de microprocesadores trabajando simultáneamente o en paralelo (multiprocesamiento); en este caso, todo ese conjunto conforma la CPU de la máquina. Las unidades centrales de proceso (CPU) en la forma de un único microprocesador no sólo están presentes en las computadoras personales (PC), sino también en otros tipos de dispositivos que incorporan una cierta capacidad de proceso o "inteligencia electrónica"; como pueden ser: controladores de procesos industriales , televisores, automóviles, calculadores, aviones, teléfonos móviles, electrodomésticos, juguetes y muchos más. Actualmente los diseñadores y fabricantes más populares de microprocesadores de PC son Intel y AMD; y para el mercado de dispositivos móviles y de bajo consumo, los principales son Samsung, Qualcomm y Texas Instruments.

PLACA BASE FORMATO µATX. El microprocesador se monta en la llamada placa base, sobre el un zócalo conocido


27 como zócalo de CPU, que permite las conexiones eléctricas entre los circuitos de la placa y el procesador. Sobre el procesador ajustado a la placa base se fija un disipador térmico de un material con elevada conductividad térmica, que por lo general es de aluminio, en algunos casos de cobre; éste es indispensable en los microprocesadores que consumen bastante energía, la cual, en gran parte, es emitida en forma de calor: En algunos casos pueden consumir tanta energía como una lámpara incandescente (de 40 a 130 vatios). Adicionalmente, sobre el disipador se acopla uno o dos ventiladores (raramente más), destinados a forzar la circulación de aire para extraer más rápidamente el calor acumulado por el disipador, y originado en el microprocesador. Complementariamente, para evitar daños por efectos térmicos, también se suelen instalar sensores de temperatura del microprocesador y sensores de revoluciones del ventilador, así como sistemas automáticos que controlan la cantidad de revoluciones por unidad de tiempo de estos últimos. La gran mayoría de los circuitos electrónicos e integrados que componen el hardware del computador van montados en la placa madre. La placa madre, también conocida como placa base o con el anglicismo board, es un gran circuito impreso sobre el que se suelda el chipset, las ranuras de expansión (slots), los zócalos, conectores, diversos integrados, etc. Es el soporte fundamental que aloja y comunica a todos los demás componentes: Procesador, módulos de memoria RAM, tarjetas gráficas, tarjetas de expansión, periféricos de entrada y salida. Para comunicar esos componentes, la placa base posee una serie de buses mediante los cuales se trasmiten los datos dentro y hacia afuera del sistema. La tendencia de integración ha hecho que la placa base se convierta en un elemento que incluye también la mayoría de las funciones básicas (vídeo, audio, red, puertos de varios tipos), funciones que antes se realizaban con tarjetas de expansión. Aunque ello


28 no excluye la capacidad de instalar otras tarjetas adicionales específicas, tales como capturadoras de vídeo, tarjetas de adquisición de datos, etc. La tendencia en los últimos años es eliminar elementos separados en la placa base e integrarlos al microprocesador. MEMORIA RAM

Módulos de memoria RAM instalados. Artículo principal: Memoria RAM Del inglés Random Access Memory, literalmente significa "memoria de acceso aleatorio". El término tiene relación con la característica de presentar iguales tiempos de acceso a cualquiera de sus posiciones (ya sea para lectura o para escritura). Esta particularidad también se conoce como "acceso directo", en contraposición al Acceso secuencial. La RAM es la memoria utilizada en una computadora para el almacenamiento transitorio y de trabajo (no masivo). En la RAM se almacena temporalmente la información, datos y programas que la Unidad de Procesamiento (CPU) lee, procesa y ejecuta. La memoria RAM es conocida como Memoria principal de la computadora,


29 también como "Central o de Trabajo";

[14]

a diferencia de las llamadas memorias

auxiliares, secundarias o de almacenamiento masivo (como discos duros, unidades de estado sólido, cintas magnéticas u otras memorias). Las memorias RAM son, comúnmente, volátiles; lo cual significa que pierden rápidamente su contenido al interrumpir su alimentación eléctrica. Las más comunes y utilizadas como memoria central son "dinámicas" (DRAM), lo cual significa que tienden a perder sus datos almacenados en breve tiempo (por descarga, aún estando con alimentación eléctrica), por ello necesitan un circuito electrónico específico que se encarga de proveerle el llamado "refresco" (de energía) para mantener su información. La memoria RAM de un computador se provee de fábrica e instala en lo que se conoce como “módulos”. Ellos albergan varios circuitos integrados de memoria DRAM que, conjuntamente, conforman toda la memoria principal. Memoria RAM dinámica Es la presentación más común en computadores modernos (computador personal, servidor); son tarjetas de circuito impreso que tienen soldados circuitos integrados de memoria por una o ambas caras, además de otros elementos, tales como resistencias y capacitores. Esta tarjeta posee una serie de contactos metálicos (con un recubrimiento de oro) que permite hacer la conexión eléctrica con el bus de memoria del controlador de memoria en la placa base. Los integrados son de tipo DRAM, memoria denominada "dinámica", en la cual las celdas de memoria son muy sencillas (un transistor y un condensador), permitiendo la fabricación de memorias con gran capacidad (algunos cientos de Megabytes) a un costo relativamente bajo. Las posiciones de memoria o celdas, están organizadas en matrices y almacenan cada


30 una un bit. Para acceder a ellas se han ideado varios métodos y protocolos cada uno mejorado con el objetivo de acceder a las celdas requeridas de la manera más eficiente posible.

Memorias RAM con tecnologías usadas en la actualidad. Entre las tecnologías recientes para integrados de memoria DRAM usados en los módulos RAM se encuentran: SDR SDRAM: Memoria con un ciclo sencillo de acceso por ciclo de reloj. Actualmente en desuso, fue popular en los equipos basados en el Pentium III y los primeros Pentium 4. DDR SDRAM: Memoria con un ciclo doble y acceso anticipado a dos posiciones de memoria consecutiva. Fue popular en equipos basados en los procesadores Pentium 4 y Athlon 64. DDR2 SDRAM: Memoria con un ciclo doble y acceso anticipado a cuatro posiciones de memoria consecutivas. DDR3 SDRAM: Memoria con un ciclo doble y acceso anticipado a ocho posiciones de memoria consecutivas. Es el tipo de memoria más actual, está reemplazando rápidamente a su predecesora, la DDR2. Los estándares JEDEC, establecen las características eléctricas y las físicas de los


31 módulos, incluyendo las dimensiones del circuito impreso. Los estándares usados actualmente son: DIMM Con presentaciones de 168 pines (usadas con SDR y otras tecnologías antiguas), 184 pines (usadas con DDR y el obsoleto SIMM) y 240 (para las tecnologías de memoria DDR2 y DDR3). SO-DIMM Para computadores portátiles, es una miniaturización de la versión DIMM en cada tecnología. Existen de 144 pines (usadas con SDR), 200 pines (usadas con DDR y DDR2) y 240 pines (para DDR3). Memorias RAM especiales Hay memorias RAM con características que las hacen particulares, y que normalmente no se utilizan como memoria central de la computadora; entre ellas se puede mencionar: SRAM: Siglas de Static Random Access Memory. Es un tipo de memoria más rápida que la DRAM (Dynamic RAM). El término "estática" deriva del hecho que no necesita el refresco de sus datos. Si bien esta RAM no requiere circuito de refresco, ocupa más espacio y utiliza más energía que la DRAM. Este tipo de memoria, debido a su alta velocidad, es usada como memoria caché. NVRAM: Siglas de Non-Volatile Random Access Memory. Memoria RAM no volátil (mantiene la información en ausencia de alimentación eléctrica). Hoy en día, la mayoría de memorias NVRAM son memorias flash, muy usadas para teléfonos móviles y reproductores portátiles de MP3. VRAM: Siglas de Video Random Access Memory. Es un tipo de memoria RAM que se utiliza en las tarjetas gráficas del computador. La característica particular de esta clase de memoria es que es accesible de forma simultánea por dos dispositivos. Así, es posible que la CPU grabe información en ella, al tiempo que se leen los datos que serán


32 visualizados en el Monitor de computadora. De las anteriores a su vez, hay otros subtipos más. Periféricos ARTÍCULO PRINCIPAL: PERIFÉRICOS Se entiende por periférico a las unidades o dispositivos que permiten a la computadora comunicarse con el exterior, esto es, tanto ingresar como exteriorizar información y datos. Los periféricos son los que permiten realizar las operaciones conocidas como de entrada/salida (E/S). Aunque son estrictamente considerados “accesorios” o no esenciales, muchos de ellos son fundamentales para el funcionamiento adecuado de la computadora moderna; por ejemplo, el teclado, el disco duro y el monitor son elementos actualmente imprescindibles; pero no lo son un escáner o un plotter. Para ilustrar este punto: en los años 80, muchas de las primeras computadoras personales no utilizaban disco duro ni mouse (o ratón), tenían sólo una o dos disqueteras, el teclado y el monitor como únicos periféricos. Dispositivos de entrada de información (E)

Teclado para PC inalámbrico.


33

Ratón (Mouse) común alámbrico. De esta categoría son aquellos que permiten el ingreso de información, en general desde alguna fuente externa o por parte del usuario. Los dispositivos de entrada proveen el medio fundamental para transferir hacia la computadora (más propiamente al procesador) información desde alguna fuente, sea local o remota. También permiten cumplir la esencial tarea de leer y cargar en memoria el sistema operativo y las aplicaciones o programas informáticos, los que a su vez ponen operativa la computadora y hacen posible realizar las más diversas tareas. Entre los periféricos de entrada se puede mencionar:

[10]

teclado, mouse o ratón,

escáner, micrófono, cámara web , lectores ópticos de código de barras, Joystick, lectora de CD, DVD o BluRay (sólo lectoras), placas de adquisición/conversión de datos, etc. Pueden considerarse como imprescindibles para el funcionamiento, (de manera como hoy se concibe la informática) al teclado, al ratón y algún dispositivo lector de discos; ya que tan sólo con ellos el hardware puede ponerse operativo para un usuario. Los otros son más bien accesorios, aunque en la actualidad pueden resultar de tanta necesidad que son considerados parte esencial de todo el sistema.


34

Impresora de inyección de tinta. Dispositivos de salida de información (S) Son aquellos que permiten emitir o dar salida a la información resultante de las operaciones realizadas por la CPU (procesamiento). Los dispositivos de salida aportan el medio fundamental para exteriorizar y comunicar la información y datos procesados; ya sea al usuario o bien a otra fuente externa, local o remota. Los dispositivos más comunes de este grupo son los monitores clásicos (no de pantalla táctil), las impresoras, y los altavoces. Entre los periféricos de salida puede considerarse como imprescindible para el funcionamiento del sistema, al monitor. Otros, aunque accesorios, son sumamente necesarios para un usuario que opere un computador moderno. Dispositivos mixtos (E/S de información)


35

Piezas de un Disco duro. Son aquellos dispositivos que pueden operar de ambas formas: tanto de entrada como de salida. Típicamente, se puede mencionar como periféricos mixtos o de Entrada/Salida a: discos rígidos, disquetes, unidades de cinta magnética, lectograbadoras de CD/DVD, discos ZIP, etc. También entran en este rango, con sutil diferencia, otras unidades, tales como: Tarjetas de Memoria flash o unidad de estado sólido, tarjetas de red, módems, tarjetas de captura/salida de vídeo, etc. Si bien se puede clasificar al pendrive (lápiz de memoria), memoria flash o memoria USB o unidades de estado sólido en la categoría de memorias, normalmente se los utiliza como dispositivos de almacenamiento masivo; siendo todos de categoría Entrada/Salida. Los dispositivos de almacenamiento masivo también son conocidos como "Memorias Secundarias o Auxiliares". Entre ellos, sin duda, el disco duro ocupa un lugar especial, ya que es el de mayor importancia en la actualidad, en el que se aloja el sistema operativo, todas las aplicaciones, utilitarios, etc. que utiliza el usuario; además de tener la suficiente capacidad para albergar información y datos en grandes volúmenes por tiempo prácticamente indefinido. Los servidores Web, de correo electrónico y de


36 redes con bases de datos, utilizan discos rígidos de grandes capacidades y con una tecnología que les permite trabajar a altas velocidades como SCSI incluyendo también, normalmente, capacidad de redundancia de datos RAID; incluso utilizan tecnologías híbridas: disco rígido y unidad de estado sólido, lo que incrementa notablemente su eficiencia. Las interfaces actuales más usadas en discos duros son: IDE, SATA, SCSI y SAS; y en las unidades de estado sólido son SATA y PCI-Express ya que necesitan grandes anchos de banda. La pantalla táctil (no el monitor clásico) es un dispositivo que se considera mixto, ya que además de mostrar información y datos (salida) puede actuar como un dispositivo de entrada, reemplazando, por ejemplo, a algunas funciones del ratón o del teclado. HARDWARE GRÁFICO

GPU de Nvidia GeForce. Artículo principal: Tarjeta gráfica El hardware gráfico lo constituyen básicamente las tarjetas gráficas. Dichos componentes disponen de su propia memoria y unidad de procesamiento, esta última llamada unidad de procesamiento gráfico (o GPU, siglas en inglés de Graphics Processing Unit). El objetivo básico de la GPU es realizar los cálculos asociados a


37 operaciones gráficas, fundamentalmente en coma flotante,

[16]

liberando así al

procesador principal (CPU) de esa costosa tarea (en tiempo) para que éste pueda efectuar otras funciones en forma más eficiente. Antes de esas tarjetas de vídeo con aceleradores por hardware, era el procesador principal el encargado de construir la imagen mientras la sección de vídeo (sea tarjeta o de la placa base) era simplemente un traductor de las señales binarias a las señales requeridas por el monitor; y buena parte de la memoria principal (RAM) de la computadora también era utilizada para estos fines. Dentro de ésta categoría no se deben omitir los sistemas gráficos integrados (IGP), presentes mayoritariamente en equipos portátiles o en equipos prefabricados (OEM), los cuales generalmente, a diferencia de las tarjetas gráficas, no disponen de una memoria dedicada, utilizando para su función la memoria principal del sistema. La tendencia en los últimos años es integrar los sistemas gráficos dentro del propio procesador central. Los procesadores gráficos integrados (IGP) generalmente son de un rendimiento y consumo notablemente más bajo que las GPU de las tarjetas gráficas dedicadas, no obstante, son más que suficiente para cubrir las necesidades de la mayoría de los usuarios de un PC. Actualmente se están empezando a utilizar las tarjetas gráficas con propósitos no exclusivamente gráficos, ya que en potencia de cálculo la GPU es superior, más rápida y eficiente que el procesador para operaciones en coma flotante, por ello se está tratando de aprovecharla para propósitos generales, al concepto, relativamente reciente, se le denomina GPGPU (General-Purpose Computing on Graphics Processing Units). La Ley de Moore establece que cada 18 a 24 meses la cantidad de transistores que puede contener un circuito integrado se logra duplicar; en el caso de los GPU esta tendencia es bastante más notable, duplicando, o aún más, lo indicado en la ley de Moore.


38 Desde la década de 1990, la evolución en el procesamiento gráfico ha tenido un crecimiento vertiginoso; las actuales animaciones por computadoras y videojuegos eran impensables veinte años atrás.

1.- Monitor de computadora El monitor de computadora o pantalla de ordenador, aunque también es común llamarlo «pantalla», es un dispositivo de salida que, mediante una interfaz, muestra los resultados del procesamiento de una computadora.


39 Historia Los primeros monitores surgieron en el año 1981, siguiendo el estándar MDA (Monochrome Display Adapter) eran monitores monocromáticos (de un solo color) de IBM. Estaban expresamente diseñados para modo texto y soportaban subrayado, negrita, cursiva, normal, e invisibilidad para textos. Poco después y en el mismo año salieron los monitores CGA (Color Graphics Adapter-graficos adaptados a color) fueron comercializados en 1981 al desarrollarse la primera tarjeta gráfica a partir del estándar CGA de IBM. Al comercializarse a la vez que los MDA los usuarios de PC optaban por comprar el monitor monocromático por su costo. Tres años más tarde surgió el monitor EGA (Enhanced Graphics Adapter - adaptador de gráficos mejorados) estándar desarrollado por IBM para la visualización de gráficos, este monitor aportaba más colores (16) y una mayor resolución. En 1987 surgió el estándar VGA (Video Graphics Array - gráficos de video arreglados) fue un estándar muy acogido y dos años más tarde se mejoró y rediseñó para solucionar ciertos problemas que surgieron, desarrollando así SVGA (Super VGA), que también aumentaba colores y resoluciones, para este nuevo estándar se desarrollaron tarjetas gráficas de fabricantes hasta el día de hoy conocidos como S3 Graphics, NVIDIA o ATI entre otros. Con este último estándar surgieron los monitores CRT que hasta no hace mucho seguían estando en la mayoría de hogares donde había un ordenador. Tecnologías Monitores analógicos Los monitores CRT usan las señales de vídeo analógico roja, verde y azul en intensidades variables para generar colores en el espacio de color RGB. Éstos han usado prácticamente de forma exclusiva escaneo progresivo desde mediados de la


40 década de los 80. Mientras muchos de los primeros monitores de plasma y cristal líquido tenían exclusivamente conexiones analógicas, todas las señales de estos monitores atraviesan una sección completamente digital antes de la visualización. Los estándares más conocidos de vídeo analógico son VGA,SVGA éste último desarrollado Video Electronics Standards Association (VESA), soportan resoluciones de 800x600 píxeles y 36 bits de profundidad de color siguiendo la codificación RGB, siguiendo la especificación VESA cuyo estándar es abierto. Mientras que conectores similares (13W3, BNC, etc…) se fueron usando en otras plataformas, el IBM PC y los sistemas compatibles se estandarizaron en el conector VGA. Combinación digital y analógica Los primeros conectores de monitor externos y digitales popularizados, como el DVI-I y los varios conectores breakout basados en él, incluían las señales analógicas compatibles con VGA y las señales digitales compatibles con los nuevos monitores de pantalla plana en el mismo conector. Los monitores LCD normalmente soportan DVI-I cuya especificación sostiene que debe soportar la especificación VGA de VESA y es por ello que siendo una tecnología digital, tiene soporte para VGA (analógico) y por lo tanto se clasifica como combinación. Actualmente se venden LCD analógicos con VGA, o con soporte para DVD o con soporte para ambos y además para HDMI conforme soportan más cosas, también son más caros por cuestiones de licencias. Monitores digitales Los nuevos conectores que se han creado tienen sólo señal de vídeo digital. Varios de ellos, como los HDMI y DisplayPort, también ofrecen audio integrado y conexiones de


41 datos. Las señales digitales de DVI-I son compatibles con HDMI, actualmente se usan para señales de vídeo de alta definición. Protección de datos HDCP Actualmente existe un estándar de protección de datos para señales digitales que atraviesan conexiones DVI, HDMI o Display Port su nombre es HDCP (del inglés HighBandwidth Digital Content Protection, protección de contenido digital de gran ancho de banda), fue desarrollado para la codificación de los datos que atraviesan cables DVI o HDMI, se trata de un estándar propietario y se requiere licencia para implementarlo. Con nuevas versiones de HDCP se añaden soporte para más interfaces de conexión. DPCP La protección contra copia DPCP (DisplayPort Content Protection) de AMD está disponible de forma opcional para conexiones DisplayPort, usa cifrado AES de 128-bit, con modernos cifrados criptográficos. Parámetros de una pantalla Píxel: unidad mínima representable en un monitor. Los monitores pueden presentar píxeles muertos o atascados. Tamaño de punto o (dot pitch): el tamaño de punto es el espacio entre dos fósforos coloreados de un píxel. Es un parámetro que mide la nitidez de la imagen, midiendo la distancia entre dos puntos del mismo color; resulta fundamental a grandes resoluciones. Los tamaños de punto más pequeños producen imágenes más uniformes. un monitor de 14 pulgadas suele tener un tamaño de punto de 0,28 mm o menos. En


42 ocasiones es diferente en vertical que en horizontal, o se trata de un valor medio, dependiendo de la disposición particular de los puntos de color en la pantalla, así como del tipo de rejilla empleada para dirigir los haces de electrones. En LCD y en CRT de apertura de rejilla, es la distancia en horizontal, mientras que en los CRT de máscara de sombra, se mide casi en diagonal. Lo mínimo exigible en este momento es que sea de 0,28mm. Para CAD o en general para diseño, lo ideal sería de 0,25mm o menor. 0,21 en máscara de sombra es el equivalente a 0.24 en apertura de rejilla. Área útil: el tamaño de la pantalla no coincide con el área real que se utiliza para representar los datos. Ángulo de visión: es el máximo ángulo con el que puede verse el monitor sin que se degrade demasiado la imagen. Se mide en grados. Luminancia: es la medida de luminosidad, medida en Candela. Tiempo de respuesta: también conocido como latencia. Es el tiempo que le cuesta a un píxel pasar de activo (blanco) a inactivo (negro) y después a activo de nuevo. Contraste: es la proporción de brillo entre un píxel negro a un píxel blanco que el monitor es capaz de reproducir. Algo así como cuantos tonos de brillo tiene el monitor. Coeficiente de contraste de imagen: se refiere a lo vivo que resultan los colores por la proporción de brillo empleada. A mayor coeficiente, mayor es la intensidad de los colores (30000:1 mostraría un colorido menos vivo que 50000:1). Consumo: cantidad de energía consumida por el monitor, se mide en Vatio. Ancho de banda: frecuencia máxima que es capaz de soportar el monitor. Hz o frecuencia de refresco vertical: son 2 valores entre los cuales el monitor es capaz de mostrar imágenes estables en la pantalla. Hz o frecuencia de refresco horizontal: similar al anterior pero en sentido horizontal,


43 para dibujar cada una de las líneas de la pantalla. Blindaje: un monitor puede o no estar blindando ante interferencias eléctricas externas y ser más o menos sensible a ellas, por lo que en caso de estar blindando, o semi-blindado por la parte trasera llevara cubriendo prácticamente la totalidad del tubo una plancha metálica en contacto con tierra o masa. Tipo de monitor: en los CRT pueden existir 2 tipos, de apertura de rejilla o de máscara de sombra. Líneas de tensión: son unas líneas horizontales, que tienen los monitores de apertura de rejilla para mantener las líneas que permiten mostrar los colores perfectamente alineadas; en 19 pulgadas lo habitual suelen ser 2, aunque también los hay con 3 líneas, algunos monitores pequeños incluso tienen una sola. Tamaño de la pantalla y ratio Medida de tamaño de la pantalla para TFT. El tamaño de la pantalla es la distancia en diagonal de un vértice de la pantalla al opuesto, que puede ser distinto del área visible cuando hablamos de CRT , mientras que el ratio o relación de aspecto es una medida de proporción entre el ancho y el alto de la pantalla, así por ejemplo un ratio de 4:3 ( Cuatro tercios ) significa que por cada 4 píxeles de ancho tenemos 3 de alto, una resolución de 800x600 tiene una relación de aspecto 4:3, sin embargo estamos hablando del ratio del monitor. Estas dos medidas describen el tamaño de lo que se muestra por la pantalla, históricamente hasta no hace mucho tiempo y al igual que las televisiones los monitores de ordenador tenían un ratio de 4:3. Posteriormente se desarrollaron estándares para pantallas de aspecto panorámico 16:9 (a veces también de 16:10 o 15:9) que hasta entonces solo veíamos en el cine. Medición del tamaño de la pantalla


44 Las medidas de tamaño de pantalla son diferentes cuando se habla de monitores CRT y monitores LCD . Para monitores CRT la medida en pulgadas de la pantalla toma como referencia los extremos del monitor teniendo en cuenta el borde, mientras que el área visible es más pequeña. Para monitores LCD la medida de tamaño de pantalla se hace de punta a punta de la pantalla sin contar los bordes (Como se hace para los monitores CRT)

Los tamaños comunes de pantalla suelen ser de 15, 17, 19, 21 pulgadas. La correspondencia entre las pulgadas de CRT y LCD en cuanto a zona visible se refiere, suele ser de una escala inferior para los CRT , es decir una pantalla LCD de 17 pulgadas equivale en zona visible a una pantalla de 19 pulgadas del monitor CRT (aproximadamente) . Resolución máxima

Comparación de resoluciones de vídeo. Artículo principal: Resolución de pantalla Es el número máximo de píxeles que pueden ser mostrados en cada dimensión, es


45 representada en filas por columnas. Está relacionada con el tamaño de la pantalla y el ratio. Los monitores LCD solo tienen una resolución nativa posible, por lo que si se hacen trabajar a una resolución distinta, se escalará a la resolución nativa, lo que suele producir artefactos en la imagen. Las resoluciones más Usadas son: % de usuarios de

Ancho Estándar

Nombre

XGA

eXtended Graphics Array

1024

768

15,37%

WXGA

Widescreen eXtended Graphics Array 1280

800

7,35%

SXGA

Super eXtended Graphics Array

1280

1024 21,01%

1440

900

1680

1050 18,48%

WSXGA

WSXGA+

Widescreen Super eXtended Graphics Array Widescreen Super eXtended Graphics Array Plus

Alto

Steam

11,12%

Noviembre de 2009, encuesta del hardware usado en equipos con Steam instalado[1] Colores


46

Geometría de los píxeles. Cada píxel de la pantalla tiene interiormente 3 subpíxeles, uno rojo, uno verde y otro azul; dependiendo del brillo de cada uno de los subpíxeles, el píxel adquiere un color u otro de forma semejante a la composición de colores RGB. La manera de organizar los subpíxeles de un monitor varía entre los dispositivos. Se suelen organizar en líneas verticales, aunque algunos CRT los organizan en puntos formando triángulos. Para mejorar la sensación de movimiento, es mejor organizarlos en diagonal o en triángulos. El conocimiento del tipo de organización de píxeles, puede ser utilizado para mejorar la visualización de imágenes de mapas de bit usando renderizado de subpíxeles. La mayor parte de los monitores tienen una profundidad 8 bits por color (24 bits en total), es decir, pueden representar aproximadamente 16,8 millones de colores distintos. Ventajas y desventajas Monitores LCD Ventajas:


47 El grosor es inferior por lo que pueden utilizarse en portátiles. Cada punto se encarga de dejar o no pasar la luz, por lo que no hay moire. La geometría es siempre perfecta, lo determina el tamaño del píxel Desventajas: Sólo pueden reproducir fielmente la resolución nativa, con el resto, se ve un borde negro, o se ve difuminado por no poder reproducir medios píxeles. Por sí solas no producen luz, necesitan una fuente externa. Si no se mira dentro del cono de visibilidad adecuado, desvirtúan los colores. El ADC y el DAC de un monitor LCD para reproducir colores limita la cantidad de colores representable. El ADC (Convertidor Digital a Analógico) en la entrada de vídeo analógica (cantidad de colores a representar). El DAC (Convertidor Analógico a Digital) dentro de cada píxel (cantidad de posibles colores representables). En los CRT es la tarjeta gráfica la encargada de realizar esto, el monitor no influye en la cantidad de colores representables, salvo en los primeros modelos de monitores que tenían entradas digitales TTL en lugar de entradas analógicas. Monitores CRT Ventajas: Permiten reproducir una mayor variedad cromática. Distintas resoluciones se pueden ajustar al monitor. En los monitores de apertura de rejilla no hay moire vertical.


48 Desventajas: Ocupan más espacio (cuanto más fondo, mejor geometría). Los modelos antiguos tienen la pantalla curva. Los campos eléctricos afectan al monitor (la imagen vibra). Para disfrutar de una buena imagen necesitan ajustes por parte del usuario. En los monitores de apertura de rejilla se pueden apreciar (bajo fondo blanco) varias líneas de tensión muy finas que cruzan la pantalla horizontalmente. Datos técnicos, comparativos entre sí En los CRT, la frecuencia de refresco es la que tiene la tarjeta gráfica, en los LCD no siempre es la que se le manda Los CRT pueden tener modo progresivo y entrelazado, los LCD tienen otro método de representación. En los CRT se pierde aproximadamente 1 pulgada del tamaño, que se utiliza para la sujeción del tubo, en los LCD es prácticamente lo que ocupa el LCD por si mismo. El peso de un LCD se ve incrementado por la peana para darle estabilidad, pero el monitor en sí no pesa prácticamente nada. Los LCD suelen necesitar de un transformador externo al monitor, en los CRT toda la electrónica va dentro del monitor. En los LCD el consumo es menor, y la tensión de utilización por parte de la electrónica también. En los CRT pueden aparecer problemas de "quemar" el fósforo de la pantalla, esto ocurre al dejar una imagen fija durante mucho tiempo, como la palabra "insert coin" en


49 las recreativas, en los LCD los problemas pueden ser de píxeles muertos (siempre encendido o, siempre apagado), aparte de otros daños. El parpadeo de ambos tipos de pantallas es debido a la baja frecuencia de refresco, unido a la persistencia del brillo del fósforo, y a la memoria de cada píxel en un CRT y LCD respectivamente, que mitigan este defecto. Con alta velocidad de refresco y un tiempo grande de persistencia del fósforo, no hay parpadeo, pero si la persistencia del fósforo es baja y el refresco es bajo, se produce este problema. Sin embargo esto puede causar un efecto de desvanecimiento o visión borrosa, al permanecer aún encendido un punto, en el siguiente refresco de la pantalla. En breve: ---En hardware, un monitor es un periférico de salida que muestra la información de forma gráfica de una computadora. Los monitores se conectan a la computadora a través de una tarjeta gráfica (o adaptador o tarjeta de video). Un monitor puede clasificarse, según la tecnología empleada para formar las imágenes en: LCD, CRT, plasma o TFT. En tanto, según el estándar, un monitor puede clasificarse en: Monitor numérico, MDA, CGA, EGA, analógico, VGA, SVGA, entro otros. En cuanto a los colores que usan los monitores pueden ser monocromáticos o policromáticos. Existen algunos conceptos cuantificables relacionados a los monitores y sirven para medir su calidad, estos son: píxel, paso (dot pitch), resolución, tasa de refresco, dimensión del tubo, tamaño de punto, área útil. ---En software, un monitor de un programa es toda aquella herramienta que viene con un programa que sirve para controlar alguna situación. Por ejemplo el monitor de un


50 antivirus, encargado de monitorear continuamente la computadora para verificar que no se ejecute ningĂşn virus. Principales fabricantes Los principales fabricantes de monitores conocidos a nivel internacional son los siguientes: Acer Aoc Apple Inc. BenQ Dell Eizo Gateway, Inc. Hewlett-Packard LG Mitsubishi NEC Corporation Samsung Sony Toshiba ViewSonic


51 PLACA BASE La placa base, también conocida como placa madre o tarjeta madre (del inglés

motherboard o mainboard) es una placa de circuito impreso a la que se conectan los componentes que constituyen la computadora u ordenador. Tiene instalados una serie de circuitos integrados, entre los que se encuentra el chipset, que sirve como centro de conexión entre el microprocesador, la memoria de acceso aleatorio (RAM), las ranuras de expansión y otros dispositivos. Va instalada dentro de una caja o gabinete que por lo general está hecha de chapa y tiene un panel para conectar dispositivos externos y muchos conectores internos y zócalos para instalar componentes dentro de la caja. La placa base, además, incluye un firmware llamado BIOS, que le permite realizar las funcionalidades básicas, como pruebas de los dispositivos, vídeo y manejo del teclado, reconocimiento de dispositivos y carga del sistema operativo. Componentes de la placa base Una placa base típica admite los siguientes componentes: Uno o varios conectores de alimentación: por estos conectores, una alimentación eléctrica proporciona a la placa base los diferentes voltajes e intensidades necesarios para su funcionamiento. El zócalo de CPU es un receptáculo que recibe el microprocesador y lo conecta con el resto de componentes a través de la placa base. Las ranuras de memoria RAM, en número de 2 a 6 en las placas base comunes. El chipset: una serie de circuitos electrónicos, que gestionan las transferencias de datos entre los diferentes componentes de la computadora (procesador, memoria, tarjeta gráfica,unidad de almacenamiento secundario, etc.).


52 Se divide en dos secciones, el puente norte (northbridge) y el puente sur (southbridge). El primero gestiona la interconexión entre el microprocesador, la memoria RAM y la unidad de procesamiento gráfico; y el segundo entre los periféricos y los dispositivos de almacenamiento, como los discos duros o las unidades de disco óptico. Las nuevas líneas de procesadores de escritorio tienden a integrar el propio controlador de memoria en el interior del procesador. Un reloj: regula la velocidad de ejecución de las instrucciones del microprocesador y de los periféricos internos. La CMOS: una pequeña memoria que preserva cierta información importante (como la configuración del equipo, fecha y hora), mientras el equipo no está alimentado por electricidad. La pila de la CMOS: proporciona la electricidad necesaria para operar el circuito constantemente y que éste último no se apague perdiendo la serie de configuraciones guardadas. La BIOS: un programa registrado en una memoria no volátil (antiguamente en memorias ROM, pero desde hace tiempo se emplean memorias flash). Este programa es específico de la placa base y se encarga de la interfaz de bajo nivel entre el microprocesador y algunos periféricos. Recupera, y después ejecuta, las instrucciones del MBR (Master Boot Record), registradas en un disco duro o SSD, cuando arranca el sistema operativo. El bus (también llamado bus interno o en inglés front-side bus'): conecta el

microprocesador al chipset, está cayendo en desuso frente a HyperTransport y Quickpath. El bus de memoria conecta el chipset a la memoria temporal. El bus de expansión (también llamado bus I/O): une el microprocesador a los


53 conectores entrada/salida y a las ranuras de expansión. Los conectores de entrada/salida que cumplen normalmente con la norma PC 99: estos conectores incluyen: Los puertos PS2 para conectar el teclado o el ratón, estas interfaces tienden a desaparecer a favor del USB Los puertos serie, por ejemplo para conectar dispositivos antiguos. Los puertos paralelos, por ejemplo para la conexión de antiguas impresoras. Los puertos USB (en inglés Universal Serial Bus), por ejemplo para conectar periféricos recientes. Los conectores RJ45, para conectarse a una red informática. Los conectores VGA, DVI, HDMI o Displayport para la conexión del monitor de la computadora. Los conectores IDE o Serial ATA, para conectar dispositivos de almacenamiento, tales como discos duros, unidades de estado sólido y unidades de disco óptico. Los conectores de audio, para conectar dispositivos de audio, tales como altavoces o micrófonos. Las ranuras de expansión: se trata de receptáculos que pueden acoger tarjetas de expansión (estas tarjetas se utilizan para agregar características o aumentar el rendimiento de un ordenador; por ejemplo, un tarjeta gráfica se puede añadir a un ordenador para mejorar el rendimiento 3D). Estos puertos pueden ser puertos ISA (interfaz antigua), PCI (en inglés Peripheral Component Interconnect) y, los más recientes, PCI Express. Con la evolución de las computadoras, más y más características se han integrado en la


54 placa base, tales como circuitos electrónicos para la gestión del vídeo IGP (en inglés

Integrated Graphic Processor), de sonido o de redes (10/100 Mbps/1 Gbps), evitando así la adición de tarjetas de expansión. Tipos de bus Los buses son espacios físicos que permiten el transporte de información y energía entre dos puntos de la computadora. Los buses generales son los siguientes: Bus de datos: son las líneas de comunicación por donde circulan los datos externos e internos del microprocesador. Bus de dirección: línea de comunicación por donde viaja la información específica sobre la localización de la dirección de memoria del dato o dispositivo al que se hace referencia. Bus de control: línea de comunicación por donde se controla el intercambio de información con un módulo de la unidad central y los periféricos. Bus de expansión: conjunto de líneas de comunicación encargado de llevar el bus de datos, el bus de dirección y el de control a la tarjeta de interfaz (entrada, salida) que se agrega a la tarjeta principal. Bus del sistema: todos los componentes de la CPU se vinculan a través del bus de sistema, mediante distintos tipos de datos el microprocesador y la memoria principal, que también involucra a la memoria caché de nivel 2. La velocidad de transferencia del bus de sistema está determinada por la frecuencia del bus y el ancho del mínimo. Placa multiprocesador


55

Una placa con dos procesadores. Este tipo de placa base puede acoger a varios procesadores (generalmente de 2, 4, 8 o más). Estas placas base multiprocesador tienen varios zócalos de microprocesador, lo que les permite conectar varios microprocesadores físicamente distintos (a diferencia de los de procesador de doble núcleo). Cuando hay dos procesadores en una placa base, hay dos formas de manejarlos: El modo asimétrico, donde a cada procesador se le asigna una tarea diferente. Este método no acelera el tratamiento, pero puede asignar una tarea a una unidad central de procesamiento, mientras que la otra lleva a cabo a una tarea diferente. El modo simétrico, llamado multiprocesamiento simétrico, donde cada tarea se distribuye de forma simétrica entre los dos procesadores. Linux fue el primer sistema operativo en gestionar la arquitectura de doble procesador en x86. Sin embargo, la gestión de varios procesadores existía ya antes en


56 otras plataformas y otros sistemas operativos. Linux 2.6.x maneja multiprocesadores simétricos, y las arquitecturas de memoria no uniformemente distribuida Algunos fabricantes proveen placas base que pueden acoger hasta 8 procesadores (en el caso de socket 939 para procesadores AMD Opteron y sobre socket 604 para procesadores Intel Xeon). Tipos La mayoría de las placas de PC vendidas después de 2001 se pueden clasificar en dos grupos: Las placas base para procesadores AMD Slot A Duron, Athlon Socket A Duron, Athlon, Athlon XP, Sempron Socket 754 Athlon 64, Mobile Athlon 64, Sempron, Turion Socket 939 Athlon 64, Athlon FX , Athlon X2, Sempron, Opteron Socket 940 Opteron y Athlon 64 FX Socket AM2 Athlon 64, Athlon FX, Athlon X2, Sempron, Phenom Socket F Opteron Socket AM2 + Athlon 64, Athlon FX, Athlon X2, Sempron, Phenom Socket AM3 Phenom II X2/X3/X4. Socket AM4 Phenom III X3/X4/X5 Las placas base para procesadores Intel Socket 7: Pentium I, Pentium MMX


57 Slot 1: Pentium II, Pentium III, Celeron Socket 370: Pentium III, Celeron Socket 423: Pentium 4 Socket 478: Pentium 4, Celeron Socket 775: Pentium 4, Celeron, Pentium D (doble nĂşcleo), Core 2 Duo, Core 2 Quad Core 2 Extreme, Xeon Socket 603 Xeon Socket 604 Xeon Socket 771 Xeon LGA1366 Intel Core i7, Xeon (Nehalem) LGA1156 Intel Core i3, Intel Core i5, Intel Core i7 (Nehalem) LGA 2011 Intel Core i7 (Sandy Bridge) LGA 1155 Intel Core i7, Intel Core i5 y Intel Core i3 (Sandy Bridge) Formatos


58

Las tarjetas madre necesitan tener dimensiones compatibles con las cajas que las contienen, de manera que desde los primeros computadores personales se han establecido características mecánicas, llamadas factor de forma. Definen la distribución de diversos componentes y las dimensiones físicas, como por ejemplo el largo y ancho de la tarjeta, la posición de agujeros de sujeción y las características de los conectores. Con los años, varias normas se fueron imponiendo: XT: es el formato de la placa base del PC de IBM modelo 5160, lanzado en 1983. En este factor de forma se definió un tamaño exactamente igual al de una hoja de papel tamaño carta y un único conector externo para el teclado. 1984 AT 305 × 305 mm ( IBM) Baby AT: 216 × 330 mm AT: uno de los formatos más grandes de toda la historia del PC (305 × 279–330 mm), definió un conector de potencia formado por dos partes. Fue usado de manera extensa de 1985 a 1995. 1995 ATX 305 × 244 mm (Intel) MicroATX: 244 × 244 mm FlexATX: 229 × 191 mm MiniATX: 284 × 208 mm ATX: creado por un grupo liderado por Intel, en 1995 introdujo las conexiones exteriores en la forma de un panel I/O y definió un conector de 20 pines para la energía. Se usa en la actualidad en la forma de algunas variantes, que incluyen


59 conectores de energía extra o reducciones en el tamaño. 2001 ITX 215 × 195 mm (VIA) MiniITX: 170 × 170 mm NanoITX: 120 × 120 mm PicoITX: 100 × 72 mm ITX: con rasgos procedentes de las especificaciones microATX y FlexATX de Intel, el diseño de VIA se centra en la integración en placa base del mayor número posible de componentes, además de la inclusión del hardware gráfico en el propio chipset del equipo, siendo innecesaria la instalación de una tarjeta gráfica en la ranura AGP. 2005 [BTX] 325 × 267 mm (Intel) Micro bTX: 264 × 267 mm PicoBTX: 203 × 267 mm RegularBTX: 325 × 267 mm BTX: retirada en muy poco tiempo por la falta de aceptación, resultó prácticamente incompatible con ATX, salvo en la fuente de alimentación. Fue creada para intentar solventar los problemas de ruido y refrigeración, como evolución de la ATX. 2007 DTX 248 × 203 mm ( AMD) Mini-DTX: 170 × 203 mm Full-DTX: 243 × 203 mm DTX: destinadas a PCs de pequeño formato. Hacen uso de un conector de energía de 24 pines y de un conector adicional de 2x2. Formato propietario: durante la existencia del PC, mucha marcas han intentado


60 mantener un esquema cerrado de hardware, fabricando tarjetas madre incompatibles físicamente con los factores de forma con dimensiones, distribución de elementos o conectores que son atípicos. Entre las marcas mas persistentes está Dell, que rara vez fabrica equipos diseñados con factores de forma de la industria. Escalabilidad Hasta la mitad de la década de 1990, los PC fueron equipados con una placa en la que se soldó el microprocesador (CPU). Luego vinieron las placas base equipadas con zócalo de microprocesador «libre», que permitía acoger el microprocesador de elección (de acuerdo a sus necesidades y presupuesto). Con este sistema (que pronto se hizo más generalizado y no ha sido discutido), es teóricamente posible equipar el PC con una CPU más potente, sin sustituir la placa base, pero a menor costo. De hecho, esta flexibilidad tiene sus límites porque los microprocesadores son cada vez más eficientes, e invariablemente requieren placas madre más eficaces (por ejemplo, capaces de manejar flujos de datos cada vez más importantes). Fabricantes Varios fabricantes se reparten el mercado de placas base, tales como Abit, Albatron, Aopen, ASUS, ASRock, Biostar, Chaintech, Dell, DFI, ECS EliteGroup, Epox, Foxconn, Gigabyte Technology, Intel, MSI, QDI, Sapphire Technology, Soltek, Super Micro, Tyan, Via, XFX, Pc Chips. Algunos diseñan y fabrican uno o más componentes de la placa base, mientras que otros ensamblan los componentes que terceros han diseñado y fabricado. Unidad central de procesamiento La unidad central de procesamiento o CPU (por el acrónimo en inglés de central processing unit), o simplemente el procesador o microprocesador, es el componente del computador y otros dispositivos programables, que interpreta las instrucciones


61 contenidas en los programas y procesa los datos. Los CPU proporcionan la característica fundamental de la computadora digital (la programabilidad) y son uno de los componentes necesarios encontrados en las computadoras de cualquier tiempo, junto con el almacenamiento primario y los dispositivos de entrada/salida. Se conoce como microprocesador el CPU que es manufacturado con circuitos integrados. Desde mediados de los años 1970, los microprocesadores de un solo chip han reemplazado casi totalmente todos los tipos de CPU, y hoy en día, el término "CPU" es aplicado usualmente a todos los microprocesadores. La expresión "unidad central de proceso" es, en términos generales, una descripción de una cierta clase de máquinas de lógica que pueden ejecutar complejos programas de computadora. Esta amplia definición puede fácilmente ser aplicada a muchos de los primeros computadores que existieron mucho antes que el término "CPU" estuviera en amplio uso. Sin embargo, el término en sí mismo y su acrónimo han estado en uso en la industria de la informática por lo menos desde el principio de los años 1960. La forma, el diseño y la implementación de los CPU ha cambiado drásticamente desde los primeros ejemplos, pero su operación fundamental ha permanecido bastante similar. Los primeros CPU fueron diseñados a la medida como parte de una computadora más grande, generalmente una computadora única en su especie. Sin embargo, este costoso método de diseñar los CPU a la medida, para una aplicación particular, ha desaparecido en gran parte y se ha sustituido por el desarrollo de clases de procesadores baratos y estandarizados adaptados para uno o muchos propósitos. Esta tendencia de estandarización comenzó generalmente en la era de los transistores discretos, computadoras centrales, y microcomputadoras, y fue acelerada rápidamente con la popularización del circuito integrado (IC), éste ha permitido que sean diseñados y fabricados CPU más complejos en espacios pequeños (en la orden de milímetros). Tanto la miniaturización como la estandarización de los CPU han aumentado la presencia de estos dispositivos digitales en la vida moderna mucho más allá de las


62 aplicaciones limitadas de máquinas de computación dedicadas. Los microprocesadores modernos aparecen en todo, desde automóviles, televisores, neveras, calculadoras, aviones, hasta teléfonos móviles o celulares, juguetes, entre otros. HISTORIA Casi todos los CPU tratan con estados discretos, y por lo tanto requieren una cierta clase de elementos de conmutación para diferenciar y cambiar estos estados. Antes de la aceptación comercial del transistor, los relés eléctricos y los tubos de vacío (válvulas termoiónicas) eran usados comúnmente como elementos de conmutación. Aunque éstos tenían distintas ventajas de velocidad sobre los anteriores diseños puramente mecánicos, no eran fiables por varias razones. Por ejemplo, hacer circuitos de lógica secuencial de corriente directa requería hardware adicional para hacer frente al problema del rebote de contacto. Por otro lado, mientras que los tubos de vacío no sufren del rebote de contacto, éstos deben calentarse antes de llegar a estar completamente operacionales y eventualmente fallan y dejan de funcionar por completo. Generalmente, cuando un tubo ha fallado, la CPU tendría que ser diagnosticada para localizar el componente que falla para que pueda ser reemplazado. Por lo tanto, los primeros computadores electrónicos, (basados en tubos de vacío), generalmente eran más rápidos pero menos confiables que las computadoras electromecánicas, (basadas en relés). Las computadoras de tubo, como el EDVAC, tendieron en tener un promedio de ocho horas entre fallas, mientras que las computadoras de relés, (anteriores y más lentas), como el Harvard Mark I, fallaban muy raramente. Al final, los CPU basados en tubo llegaron a ser dominantes porque las significativas ventajas de velocidad producidas generalmente pesaban más que los problemas de confiabilidad. La mayor parte de estos tempranos CPU síncronos corrían en frecuencias de reloj bajas comparadas con los modernos diseños micro electrónicos, (ver más abajo para una exposición sobre la frecuencia de reloj). Eran muy comunes en este tiempo las frecuencias de la señal del reloj con un rango desde


63 100 kHz hasta 4 MHz, limitado en gran parte por la velocidad de los dispositivos de conmutación con los que fueron construidos. CPU de transistores y de circuitos integrados discretos

CPU, memoria de núcleo, e interfaz de bus externo de un MSI PDP-8/I. La complejidad del diseño de los CPU se incrementó a medida que varias tecnologías facilitaron la construcción de dispositivos electrónicos más pequeños y confiables. La primera de esas mejoras vino con el advenimiento del transistor. Los CPU transistorizados durante los años 1950 y los años 1960 no tuvieron que ser construidos con elementos de conmutación abultados, no fiables, y frágiles, como los tubos de vacío y los relés eléctricos. Con esta mejora, fueron construidos CPU más complejos y más confiables sobre una o varias tarjetas de circuito impreso que contenían componentes discretos (individuales). Durante este período, ganó popularidad un método de fabricar muchos transistores en un espacio compacto. El circuito integrado (IC) permitió que una gran cantidad de transistores fueran fabricados en una simple oblea basada en semiconductor o "chip".


64 Al principio, solamente circuitos digitales muy básicos, no especializados, como las puertas NOR fueron miniaturizados en IC. Los CPU basadas en estos IC de "bloques de construcción" generalmente son referidos como dispositivos de pequeña escala de integración "small-scale integration" (SSI). Los circuitos integrados SSI, como los usados en el computador guía del Apollo (Apollo Guidance Computer), usualmente contenían transistores que se contaban en números de múltiplos de diez. Construir un CPU completo usando IC SSI requería miles de chips individuales, pero todavía consumía mucho menos espacio y energía que diseños anteriores de transistores discretos. A medida que la tecnología microelectrónica avanzó, en los IC fue colocado un número creciente de transistores, disminuyendo así la cantidad de IC individuales necesarios para un CPU completo. Los circuitos integrados MSI y el LSI (de mediana y gran escala de integración) aumentaron el número de transistores a cientos, y luego a miles. En 1964, IBM introdujo su arquitectura de computador System/360, que fue usada en una serie de computadores que podían ejecutar los mismos programas con velocidades y desempeños diferentes. Esto fue significativo en un tiempo en que la mayoría de las computadoras electrónicas eran incompatibles entre sí, incluso las hechas por el mismo fabricante. Para facilitar esta mejora, IBM utilizó el concepto de microprograma, a menudo llamado "microcódigo", ampliamente usado aún en los CPU modernos . La arquitectura System/360 era tan popular que dominó el mercado del mainframe durante las siguientes décadas y dejó una herencia que todavía aún perdura en las computadoras modernas, como el IBM zSeries. En el mismo año de 1964, Digital Equipment Corporation (DEC) introdujo otro computador que sería muy influyente, dirigido a los mercados científicos y de investigación, el PDP-8. DEC introduciría más adelante la muy popular línea del PDP-11, que originalmente fue construido con IC SSI pero eventualmente fue implementado con componentes LSI cuando se convirtieron en prácticos. En fuerte contraste con sus precursores hechos con tecnología SSI y MSI, la primera implementación LSI del PDP-11 contenía un CPU integrado únicamente por


65 cuatro circuitos integrados LSI . Los computadores basados en transistores tenían varias ventajas frente a sus predecesores. Aparte de facilitar una creciente fiabilidad y un menor consumo de energía, los transistores también permitían al CPU operar a velocidades mucho más altas debido al corto tiempo de conmutación de un transistor en comparación a un tubo o relé. Gracias tanto a esta creciente fiabilidad como al dramático incremento de velocidad de los elementos de conmutación que por este tiempo eran casi exclusivamente transistores, se fueron alcanzando frecuencias de reloj del CPU de decenas de megahertz. Además, mientras que los CPU de transistores discretos y circuitos integrados se usaban comúnmente, comenzaron a aparecer los nuevos diseños de alto rendimiento como procesadores vectoriales SIMD (Single Instruction Multiple Data) (Simple Instrucción Múltiples Datos). Estos primeros diseños experimentales dieron lugar más adelante a la era de las supercomputadoras especializadas, como los hechos por Cray Inc.

MICROPROCESADORES


66

Microprocesador Intel 80486DX2 en un paquete PGA de cerámica Artículo principal: Microprocesador Desde la introducción del primer microprocesador, el Intel 4004, en 1971, y del primer microprocesador ampliamente usado, el Intel 8080, en 1974, esta clase de CPUs ha desplazado casi totalmente el resto de los métodos de implementación de la Unidad Central de Proceso. Los fabricantes de mainframes y minicomputadores de ese tiempo lanzaron programas de desarrollo de IC propietarios para actualizar sus más viejas arquitecturas de computador, y eventualmente produjeron microprocesadores con conjuntos de instrucciones que eran compatibles hacia atrás con sus más viejos hardwares y software. Combinado con el advenimiento y el eventual vasto éxito del ahora ubicuo computadora personal, el término "CPU" es aplicado ahora casi exclusivamente a los microprocesadores. Las generaciones previas de CPUs fueron implementadas como componentes discretos y numerosos circuitos integrados de pequeña escala de integración en una o más tarjetas de circuitos. Por otro lado, los microprocesadores son CPUs fabricados con un número muy pequeño de IC; usualmente solo uno. El tamaño más pequeño del CPU, como resultado de estar implementado en una simple pastilla, significa tiempos de


67 conmutación más rápidos debido a factores físicos como el decrecimiento de la capacitancia parásita de las puertas. Esto ha permitido que los microprocesadores síncronos tengan tiempos de reloj con un rango de decenas de megahercios a varios gigahercios.

Adicionalmente,

como

ha

aumentado

la

capacidad

de

construir

transistores excesivamente pequeños en un IC, la complejidad y el número de transistores en un simple CPU también se ha incrementado dramáticamente. Esta tendencia ampliamente observada es descrita por la ley de Moore, que ha demostrado hasta la fecha, ser una predicción bastante exacta del crecimiento de la complejidad de los CPUs y otros IC. Mientras que, en los pasados sesenta años han cambiado drásticamente, la complejidad, el tamaño, la construcción, y la forma general del CPU, es notable que el diseño y el funcionamiento básico no ha cambiado demasiado. Casi todos los CPU comunes de hoy se pueden describir con precisión como máquinas de programa almacenado de von Neumann. A medida que la ya mencionada ley del Moore continúa manteniéndose verdadera, se han presentado preocupaciones sobre los límites de la tecnología de transistor del circuito integrado. La miniaturización extrema de puertas electrónicas está causando los efectos de fenómenos que se vuelven mucho más significativos, como la electro migración, y el subumbral de pérdida. Estas más nuevas preocupaciones están entre los muchos factores que hacen a investigadores estudiar nuevos métodos de computación como la computadora cuántica, así como ampliar el uso de paralelismo, y otros métodos que extienden la utilidad del modelo clásico de von Neumann. Operación del CPU La operación fundamental de la mayoría de los CPU, es ejecutar una secuencia de instrucciones almacenadas llamadas "programa". El programa es representado por una serie de números que se mantienen en una cierta clase de memoria de computador.


68 Hay cuatro pasos que casi todos los CPU de arquitectura de von Neumann usan en su operación: fetch, decode, execute, y writeback, (leer, decodificar, ejecutar, y escribir).

Diagrama mostrando como es decodificada una instrucción del MIPS32. (MIPS Technologies 2005) El primer paso, leer (fetch), implica el recuperar una instrucción, (que es representada por un número o una secuencia de números), de la memoria de programa. La localización en la memoria del programa es determinada por un contador de programa (PC), que almacena un número que identifica la posición actual en el programa. En otras palabras, el contador de programa indica al CPU, el lugar de la instrucción en el programa actual. Después de que se lee una instrucción, el Contador de Programa es incrementado por la longitud de la palabra de instrucción en términos de unidades de memoria.[2] Frecuentemente la instrucción a ser leída debe ser recuperada de memoria relativamente lenta, haciendo detener al CPU mientras espera que la instrucción sea retornada. Este problema es tratado en procesadores modernos en gran parte por los cachés y las arquitecturas pipeline (ver abajo). La instrucción que el CPU lee desde la memoria es usada para determinar qué deberá hacer el CPU. En el paso de decodificación, la instrucción es dividida en partes que tienen significado para otras unidades del CPU. La manera en que el valor de la instrucción numérica es interpretado está definida por la arquitectura del conjunto de instrucciones (el ISA) del CPU.[3] A menudo, un grupo de números en la instrucción,


69 llamados opcode, indica qué operación realizar. Las partes restantes del número usualmente proporcionan información requerida para esa instrucción, como por ejemplo, operandos para una operación de adición. Tales operandos se pueden dar como un valor constante (llamado valor inmediato), o como un lugar para localizar un valor, que según lo determinado por algún modo de dirección, puede ser un registro o una dirección de memoria. En diseños más viejos las unidades del CPU responsables de decodificar la instrucción eran dispositivos de hardware fijos. Sin embargo, en CPUs e ISAs más abstractos y complicados, es frecuentemente usado un microprograma para ayudar a traducir instrucciones en varias señales de configuración para el CPU. Este microprograma es a veces reescribible de tal manera que puede ser modificado para cambiar la manera en que el CPU decodifica instrucciones incluso después de que haya sido fabricado.

Diagrama de bloques de un CPU simple Después de los pasos de lectura y decodificación, es llevado a cabo el paso de la ejecución de la instrucción. Durante este paso, varias unidades del CPU son


70 conectadas de tal manera que ellas pueden realizar la operación deseada. Si, por ejemplo, una operación de adición fue solicitada, una unidad aritmético lógica (ALU) será conectada a un conjunto de entradas y un conjunto de salidas. Las entradas proporcionan los números a ser sumados, y las salidas contendrán la suma final. La ALU contiene la circuitería para realizar operaciones simples de aritmética y lógica en las entradas, como adición y operaciones de bits (bitwise). Si la operación de adición produce un resultado demasiado grande para poder ser manejado por el CPU, también puede ser ajustada una bandera (flag) de desbordamiento aritmético localizada en un registro de banderas (ver abajo la sección sobre rango de números enteros). El paso final, la escritura (writeback), simplemente "escribe" los resultados del paso de ejecución a una cierta forma de memoria. Muy a menudo, los resultados son escritos a algún registro interno del CPU para acceso rápido por subsecuentes instrucciones. En otros casos los resultados pueden ser escritos a una memoria principal más lenta pero más barata y más grande. Algunos tipos de instrucciones manipulan el contador de programa en lugar de directamente producir datos de resultado.

Éstas

son

llamadas

generalmente

"saltos"

(jumps)

y

facilitan

comportamientos como |bucles (loops), la ejecución condicional de programas (con el uso de saltos condicionales), y funciones en programas.[4] Muchas instrucciones también cambiarán el estado de dígitos en un registro de "banderas". Estas banderas pueden ser usadas para influenciar cómo se comporta un programa, puesto que a menudo indican el resultado de varias operaciones. Por ejemplo, un tipo de instrucción de "comparación" considera dos valores y fija un número, en el registro de banderas, de acuerdo a cuál es el mayor. Entonces, esta bandera puede ser usada por una posterior instrucción de salto para determinar el flujo de programa. Después de la ejecución de la instrucción y la escritura de los datos resultantes, el proceso entero se repite con el siguiente ciclo de instrucción, normalmente leyendo la siguiente instrucción en secuencia debido al valor incrementado en el contador de


71 programa. Si la instrucción completada era un salto, el contador de programa será modificado para contener la dirección de la instrucción a la cual se saltó, y la ejecución del programa continúa normalmente. En CPUs más complejos que el descrito aquí, múltiples instrucciones pueden ser leídas, decodificadas, y ejecutadas simultáneamente. Esta sección describe lo que es referido generalmente como el "entubado RISC clásico" (Classic RISC pipeline), que de hecho es bastante común entre los CPU simples usados en muchos dispositivos electrónicos, a menudo llamados microcontroladores. Diseño e implementación Artículo principal: Diseño del CPU Prerrequisitos Arquitectura informática Circuitos digitales

Rango de enteros La manera en que un CPU representa los números es una opción de diseño que afecta las más básicas formas en que el dispositivo funciona. Algunas de las primeras calculadoras digitales usaron, para representar números internamente, un modelo eléctrico del sistema de numeración decimal común (base diez). Algunas otras computadoras han usado sistemas de numeración más exóticos como el ternario (base tres). Casi todos los CPU modernos representan los números en forma binaria, en donde cada dígito es representado por una cierta cantidad física de dos valores, como un voltaje "alto" o "bajo".


72

Microprocesador MOS 6502 en un dual in-line package (encapasulado en doble línea), un diseño extremadamente popular de 8 bits. Con la representación numérica están relacionados el tamaño y la precisión de los números que un CPU puede representar. En el caso de un CPU binario, un bit se refiere a una posición significativa en los números con que trabaja un CPU. El número de bits (o de posiciones numéricas, o dígitos) que un CPU usa para representar los números, a menudo se llama "tamaño de la palabra", "ancho de bits", "ancho de ruta de datos", o "precisión del número entero" cuando se ocupa estrictamente de números enteros (en oposición a números de coma flotante). Este número difiere entre las arquitecturas, y a menudo dentro de diferentes unidades del mismo CPU. Por ejemplo, un CPU de 8 bits maneja un rango de números que pueden ser representados por ocho dígitos binarios, cada dígito teniendo dos valores posibles, y en combinación los 8 bits teniendo 2 8 ó 256 números discretos. En efecto, el tamaño del número entero fija un límite de hardware en el rango de números enteros que el software corre y que el CPU puede usar directamente. El rango del número entero también puede afectar el número de posiciones en memoria que el CPU puede direccionar (localizar). Por ejemplo, si un CPU binario utiliza 32 bits para representar una dirección de memoria, y cada dirección de memoria representa a un octeto (8 bits), la cantidad máxima de memoria que el CPU puede direccionar es 232 octetos, o 4 GB. Ésta es una vista muy simple del espacio de dirección del CPU, y muchos diseños modernos usan métodos de dirección mucho más complejos como paginación para localizar más memoria que su rango entero permitiría


73 con un espacio de dirección plano. Niveles más altos del rango de números enteros requieren más estructuras para manejar los dígitos adicionales, y por lo tanto, más complejidad, tamaño, uso de energía, y generalmente costo. Por ello, no es del todo infrecuente, ver microcontroladores de 4 y 8 bits usados en aplicaciones modernas, aun cuando están disponibles CPU con un rango mucho más alto (de 16, 32, 64, e incluso 128 bits). Los microcontroladores más simples son generalmente más baratos, usan menos energía, y por lo tanto disipan menos calor. Todo esto pueden ser consideraciones de diseño importantes para los dispositivos electrónicos. Sin embargo, en aplicaciones del extremo alto, los beneficios producidos por el rango adicional, (más a menudo el espacio de dirección adicional), son más significativos y con frecuencia afectan las opciones del diseño. Para ganar algunas de las ventajas proporcionadas por las longitudes de bits tanto más bajas, como más altas, muchas CPUs están diseñadas con anchos de bit diferentes para diferentes unidades del dispositivo. Por ejemplo, el IBM System/370 usó un CPU que fue sobre todo de 32 bits, pero usó precisión de 128 bits dentro de sus unidades de coma flotante para facilitar mayor exactitud y rango de números de coma flotante. Muchos diseños posteriores de CPU usan una mezcla de ancho de bits similar, especialmente cuando el procesador está diseñado para usos de propósito general donde se requiere un razonable equilibrio entre la capacidad de números enteros y de coma flotante. Frecuencia de reloj Artículo principal: Frecuencia de reloj La mayoría de los CPU, y de hecho, la mayoría de los dispositivos de lógica secuencial, son de naturaleza síncrona.[8] Es decir, están diseñados y operan en función de una señal de sincronización. Esta señal, conocida como señal de reloj, usualmente toma la forma de una onda cuadrada periódica. Calculando el tiempo máximo en que las señales


74 eléctricas pueden moverse en las varias bifurcaciones de los muchos circuitos de un CPU, los diseñadores pueden seleccionar un período apropiado para la señal del reloj. Este período debe ser más largo que la cantidad de tiempo que toma a una señal moverse, o propagarse, en el peor de los casos. Al fijar el período del reloj a un valor bastante mayor sobre el retardo de la propagación del peor caso, es posible diseñar todo el CPU y la manera que mueve los datos alrededor de los "bordes" de la subida y bajada de la señal del reloj. Esto tiene la ventaja de simplificar el CPU significativamente, tanto en una perspectiva de diseño, como en una perspectiva de cantidad de componentes. Sin embargo, esto también tiene la desventaja que todo el CPU debe esperar por sus elementos más lentos, aun cuando algunas unidades de la misma son mucho más rápidas. Esta limitación ha sido compensada en gran parte por varios métodos de aumentar el paralelismo del CPU (ver abajo). Sin embargo, las solamente mejoras arquitectónicas no solucionan todas las desventajas de CPUs globalmente síncronas. Por ejemplo, una señal de reloj está sujeta a los retardos de cualquier otra señal eléctrica. Velocidades de reloj más altas en CPUs cada vez más complejas hacen más difícil de mantener la señal del reloj en fase (sincronizada) a través de toda la unidad. Esto ha conducido que muchos CPU modernos requieran que se les proporcione múltiples señales de reloj idénticas, para evitar retardar una sola señal lo suficiente significativamente como para hacer al CPU funcionar incorrectamente. Otro importante problema cuando la velocidad del reloj aumenta dramáticamente, es la cantidad de calor que es disipado por el CPU. La señal del reloj cambia constantemente, provocando la conmutación de muchos componentes (cambio de estado) sin importar si están siendo usados en ese momento. En general, un componente que está cambiando de estado, usa más energía que un elemento en un estado estático. Por lo tanto, a medida que la velocidad del reloj aumenta, así lo hace también la disipación de calor, causando que el CPU requiera soluciones de enfriamiento más efectivas.


75 Un método de tratar la conmutación de componentes innecesarios se llama el clock gating, que implica apagar la señal del reloj a los componentes innecesarios, efectivamente desactivándolos. Sin embargo, esto es frecuentemente considerado como difícil de implementar y por lo tanto no ve uso común afuera de diseños de muy baja potencia. Otro método de tratar algunos de los problemas de una señal global de reloj es la completa remoción de la misma. Mientras que quitar la señal global del reloj hace, de muchas maneras, considerablemente más complejo el proceso del diseño, en comparación con diseños síncronos similares, los diseños asincrónicos (o sin reloj) tienen marcadas ventajas en el consumo de energía y la disipación de calor. Aunque algo infrecuente, CPUs completas se han construido sin utilizar una señal global de reloj. Dos notables ejemplos de esto son el AMULET, que implementa la arquitectura del ARM, y el MiniMIPS, compatible con el MIPS R3000. En lugar de remover totalmente la señal del reloj, algunos diseños de CPU permiten a ciertas unidades del dispositivo ser asincrónicas, como por ejemplo, usar ALUs asincrónicas en conjunción con pipelining superescalar para alcanzar algunas ganancias en el desempeño aritmético. Mientras que no está completamente claro si los diseños totalmente asincrónicos pueden desempeñarse a un nivel comparable o mejor que sus contrapartes síncronas, es evidente que por lo menos sobresalen en las más simples operaciones matemáticas. Esto, combinado con sus excelentes características de consumo de energía y disipación de calor, los hace muy adecuados para sistemas embebidos . Paralelismo Artículo principal: Computación paralela


76 Modelo de un CPU subescalar. Note que toma quince ciclos para terminar tres instrucciones. La descripción de la operación básica de un CPU ofrecida en la sección anterior describe la forma más simple que puede tomar un CPU. Este tipo de CPU, usualmente referido como subescalar, opera sobre y ejecuta una sola instrucción con una o dos piezas de datos a la vez. Este proceso da lugar a una ineficacia inherente en CPUs subescalares. Puesto que solamente una instrucción es ejecutada a la vez, todo el CPU debe esperar que esa instrucción se complete antes de proceder a la siguiente instrucción. Como resultado, el CPU subescalar queda "paralizado" en instrucciones que toman más de un ciclo de reloj para completar su ejecución. Incluso la adición de una segunda unidad de ejecución (ver abajo) no mejora mucho el desempeño. En lugar de un camino quedando congelado, ahora dos caminos se paralizan y aumenta el número de transistores no usados. Este diseño, en donde los recursos de ejecución del CPU pueden operar con solamente una instrucción a la vez, solo puede, posiblemente, alcanzar el desempeño escalar (una instrucción por ciclo de reloj). Sin embargo, el desempeño casi siempre es subescalar (menos de una instrucción por ciclo). Las tentativas de alcanzar un desempeño escalar y mejor, han resultado en una variedad de metodologías de diseño que hacen comportarse al CPU menos linealmente y más en paralelo. Cuando se refiere al paralelismo en los CPU, generalmente son usados dos términos para clasificar estas técnicas de diseño. El paralelismo a nivel de instrucción, en inglés Instruction Level Parallelism (ILP), busca aumentar la tasa en la cual las instrucciones son ejecutadas dentro de un CPU, es decir, aumentar la utilización de los recursos de ejecución en la pastilla El paralelismo a nivel de hilo de ejecución, en inglés thread level parallelism (TLP), que se propone incrementar el número de hilos (efectivamente programas individuales) que


77 un CPU pueda ejecutar simultáneamente. Cada metodología se diferencia tanto en las maneras en las que están implementadas, como en la efectividad relativa que producen en el aumento del desempeño del CPU para una aplicación. ILP: Entubado de instrucción y arquitectura superescalar Artículo principal: Entubado de instrucción y superescalar

Tubería básica de cinco etapas. En el mejor de los casos, esta tubería puede sostener un ratio de completado de una instrucción por ciclo. Uno de los más simples métodos usados para lograr incrementar el paralelismo es comenzar los primeros pasos de leer y decodificar la instrucción antes de que la instrucción anterior haya terminado de ejecutarse. Ésta es la forma más simple de una técnica conocida como instruction pipelining (entubado de instrucción), y es utilizada en casi todos los CPU de propósito general modernos. Al dividir la ruta de ejecución en etapas discretas, la tubería permite que más de una instrucción sea ejecutada en cualquier tiempo. Esta separación puede ser comparada a una línea de ensamblaje, en la cual una instrucción es hecha más completa en cada etapa hasta que sale de la tubería de ejecución y es retirada. Sin embargo, la tubería introduce la posibilidad de una situación donde es necesario terminar el resultado de la operación anterior para completar la operación siguiente; una condición llamada a menudo como conflicto de dependencia de datos. Para hacer


78 frente a esto, debe ser tomado un cuidado adicional para comprobar estas clases de condiciones, y si esto ocurre, se debe retrasar una porción de la tubería de instrucción. Naturalmente, lograr esto requiere circuitería adicional, los procesadores entubados son más complejos que los subescalares, pero no mucho. Un procesador entubado puede llegar a ser casi completamente escalar, solamente inhibido por las abruptas paradas de la tubería (una instrucción durando más de un ciclo de reloj en una etapa).

Tubería superescalar simple. Al leer y despachar dos instrucciones a la vez, un máximo de dos instrucciones por ciclo pueden ser completadas. Una mejora adicional sobre la idea del entubado de instrucción (instruction pipelining) condujo al desarrollo de un método que disminuye incluso más el tiempo ocioso de los componentes del CPU. Diseños que se dice que son superescalares incluyen una larga tubería de instrucción y múltiples unidades de ejecución idénticas. En una tubería superescalar, múltiples instrucciones son leídas y pasadas a un despachador, que decide si las instrucciones se pueden o no ejecutar en paralelo (simultáneamente). De ser así, son despachadas a las unidades de ejecución disponibles, dando por resultado la capacidad para que varias instrucciones sean ejecutadas simultáneamente. En general, cuanto más instrucciones un CPU superescalar es capaz de despachar simultáneamente a las unidades de ejecución en espera, más instrucciones serán


79 completadas en un ciclo dado. La mayor parte de la dificultad en el diseño de una arquitectura superescalar de CPU descansa en crear un despachador eficaz. El despachador necesita poder determinar rápida y correctamente si las instrucciones pueden ejecutarse en paralelo, tan bien como despacharlas de una manera que mantenga ocupadas tantas unidades de ejecución como sea posible. Esto requiere que la tubería de instrucción sea llenada tan a menudo como sea posible y se incrementa la necesidad, en las arquitecturas superescalares, de cantidades significativas de caché de CPU. Esto también crea técnicas para evitar peligros como la predicción de bifurcación, ejecución especulativa, y la ejecución fuera de orden, cruciales para mantener altos niveles de desempeño. La predicción de bifurcación procura predecir qué rama (o trayectoria) tomará una instrucción condicional, el CPU puede minimizar el número de tiempos que toda la tubería debe esperar hasta que sea completada una instrucción condicional. La ejecución especulativa frecuentemente proporciona aumentos modestos del desempeño al ejecutar las porciones de código que pueden o no ser necesarias después de que una operación condicional termine. La ejecución fuera de orden cambia en algún grado el orden en el cual son ejecutadas las instrucciones para reducir retardos debido a las dependencias de los datos. En el caso donde una porción del CPU es superescalar y una parte no lo es, la parte que no es superescalar sufre en el desempeño debido a las paradas de horario. El Intel Pentium original (P5) tenía dos ALUs superescalares que podían aceptar, cada una, una instrucción por ciclo de reloj, pero su FPU no podía aceptar una instrucción por ciclo de reloj. Así el P5 era superescalar en la parte de números enteros pero no era superescalar de números de coma (o punto [decimal]) flotante. El sucesor a la arquitectura del Pentium de Intel, el P6, agregó capacidades superescalares a sus


80 funciones de coma flotante, y por lo tanto produjo un significativo aumento en el desempeño de este tipo de instrucciones. El entubado simple y el diseño superescalar aumentan el ILP de un CPU al permitir a un solo procesador completar la ejecución de instrucciones en ratios que sobrepasan una instrucción por ciclo (IPC).[11] La mayoría de los modernos diseños de CPU son por lo menos algo superescalares, y en la última década, casi todos los diseños de CPU de propósito general son superescalares. En los últimos años algo del énfasis en el diseño de computadores de alto ILP se ha movido del hardware del CPU hacia su interface de software, o ISA. La estrategia de la muy larga palabra de instrucción, very long instruction word (VLIW), causa a algún ILP a ser implícito directamente por el software, reduciendo la cantidad de trabajo que el CPU debe realizar para darle un empuje significativo al ILP y por lo tanto reducir la complejidad del diseño. TLP: ejecución simultánea de hilos Otra estrategia comúnmente usada para aumentar el paralelismo de los CPU es incluir la habilidad de correr múltiples hilos (programas) al mismo tiempo. En general, CPUs con alto TLP han estado en uso por mucho más tiempo que los de alto ILP. Muchos de los diseños en los que Seymour Cray fue pionero durante el final de los años 1970 y los años1980 se concentraron en el TLP como su método primario de facilitar enormes capacidades de computación (para su tiempo). De hecho, el TLP, en la forma de mejoras en múltiples hilos de ejecución, estuvo en uso tan temprano como desde los años 1950 . En el contexto de diseño de procesadores individuales, las dos metodologías principales usadas para lograr el TLP son, multiprocesamiento a nivel de chip, en inglés chip-level multiprocessing (CMP), y el multihilado simultáneo, en inglés simultaneous multithreading (SMT). En un alto nivel, es muy común construir computadores con múltiples CPU totalmente independientes en arreglos como multiprocesamiento simétrico (symmetric multiprocessing (SMP)) y acceso de memoria no uniforme (Non-Uniform Memory Access (NUMA)). Aunque son usados medios muy


81 diferentes, todas estas técnicas logran la misma meta: incrementar el número de hilos que el CPU(s) puede correr en paralelo. Los métodos de paralelismo CMP y de SMP son similares uno del otro y lo más directo. Éstos implican algo más conceptual que la utilización de dos o más CPU completos y CPU independientes. En el caso del CMP, múltiples "núcleos" de procesador son incluidos en el mismo paquete, a veces en el mismo circuito integrado. Por otra parte, el SMP incluye múltiples paquetes independientes. NUMA es algo similar al SMP pero usa un modelo de acceso a memoria no uniforme. Esto es importante para los computadores con muchos CPU porque el tiempo de acceso a la memoria, de cada procesador, es agotado rápidamente con el modelo de memoria compartido del SMP, resultando en un significativo retraso debido a los CPU esperando por la memoria. Por lo tanto, NUMA es considerado un modelo mucho más escalable, permitiendo con éxito que en un computador sean usados muchos más CPU que los que pueda soportar de una manera factible el SMP. El SMT se diferencia en algo de otras mejoras de TLP en que el primero procura duplicar tan pocas porciones del CPU como sea posible. Mientras es considerada una estrategia TLP, su implementación realmente se asemeja más a un diseño superescalar, y de hecho es frecuentemente usado en microprocesadores superescalares, como el POWER5 de IBM. En lugar de duplicar todo el CPU, los diseños SMT solamente duplican las piezas necesarias para lectura, decodificación, y despacho de instrucciones, así como cosas como los registros de propósito general. Esto permite a un CPU SMT mantener sus unidades de ejecución ocupadas más frecuentemente al proporcionarles las instrucciones desde dos diferentes hilos de software. Una vez más esto es muy similar al método superescalar del ILP, pero ejecuta simultáneamente instrucciones de múltiples hilos en lugar de ejecutar concurrentemente múltiples instrucciones del mismo hilo. Procesadores vectoriales y el SIMD Artículos principales: Procesador vectorial y SIMD


82 Un menos común pero cada vez más importante paradigma de CPU (y de hecho, de computación en general) trata con vectores. Los procesadores de los que se ha hablado anteriormente son todos referidos como cierto tipo de dispositivo escalar. [14] Como implica su nombre, los procesadores vectoriales se ocupan de múltiples piezas de datos en el contexto de una instrucción, esto contrasta con los procesadores escalares, que tratan una pieza de dato por cada instrucción. Estos dos esquemas de ocuparse de los datos son generalmente referidos respectivamente como SISD (Single Instruction, Single Data|) (Simple Instrucción, Simple Dato) y SIMD (Single Instruction, Múltiple Data) (Simple Instrucción, Múltiples Datos). La gran utilidad en crear CPUs que se ocupen de vectores de datos radica en la optimización de tareas que tienden a requerir la misma operación, por ejemplo, una suma, o un producto escalar, a ser realizado en un gran conjunto de datos. Algunos ejemplos clásicos de este tipo de tareas son las aplicaciones multimedia (imágenes, vídeo, y sonido), así como muchos tipos de tareas científicas y de ingeniería. Mientras que un CPU escalar debe completar todo el proceso de leer, decodificar, y ejecutar cada instrucción y valor en un conjunto de datos, un CPU vectorial puede realizar una simple operación en un comparativamente grande conjunto de datos con una sola instrucción. Por supuesto, esto es solamente posible cuando la aplicación tiende a requerir muchos pasos que apliquen una operación a un conjunto grande de datos. La mayoría de los primeros CPU vectoriales, como el Cray-1, fueron asociados casi exclusivamente con aplicaciones de investigación científica y criptografía. Sin embargo, a medida que la multimedia se desplazó en gran parte a medios digitales, ha llegado a ser significativa la necesidad de una cierta forma de SIMD en CPUs de propósito general. Poco después de que comenzara a ser común incluir unidades de coma flotante en procesadores de uso general, también comenzaron a aparecer especificaciones e implementaciones de unidades de ejecución SIMD para los CPU de uso general. Algunas de estas primeras especificaciones SIMD, como el MMX de Intel, fueron solamente para números enteros. Esto demostró ser un impedimento


83 significativo para algunos desarrolladores de software, ya que muchas de las aplicaciones que se beneficiaban del SIMD trataban sobre todo con números de coma flotante. Progresivamente, éstos primeros diseños fueron refinados y rehechos en alguna de las comunes, modernas especificaciones SIMD, que generalmente están asociadas a un ISA. Algunos ejemplos modernos notables son el SSE de Intel y el AltiVec relacionado con el PowerPC (también conocido como VMX).[15 MEMORIA RAM: Memoria de acceso aleatorio La memoria de acceso aleatorio (en inglés: random-access memory, cuyo acrónimo es RAM) es la memoria desde donde el procesador recibe las instrucciones y guarda los resultados. Nomenclatura La frase memoria RAM se utiliza frecuentemente para referirse a los módulos de memoria que se usan en los computadores personales y servidores. En el sentido estricto, los módulos de memoria contienen un tipo, entre varios de memoria de acceso aleatorio, ya que las ROM, memorias Flash, caché (SRAM), los registros en procesadores y otras unidades de procesamiento también poseen la cualidad de presentar retardos de acceso iguales para cualquier posición. Los módulos de RAM son la presentación comercial de este tipo de memoria, que se compone de circuitos integrados soldados sobre un circuito impreso, en otros dispositivos como las consolas de videojuegos, esa misma memoria va soldada sobre la placa principal. Su capacidad se mide en bytes, y dada su naturaleza siempre binaria, sus múltiplos serán representados en múltiplos binarios tales como Kigabyte, Megabyte, Gigabyte... Y así sucesivamente desde Giga, Tera, Hexa y Zota. Historia


84 La historia está marcada por la necesidad del volumen de datos. Originalmente, los datos eran programados por el usuario con movimientos de interruptores. Se puede decir que el movimiento de datos era bit a bit. Las necesidades apuntaron a una automatización y se crearon lo que se denomina byte de palabra. Desde una consola remota, se trasladaban los interruptores asignándoles valores de letra, que correspondían a una orden de programación al microprocesador. Así, si se deseaba programar una orden NOT con dos direcciones distintas de memoria, solo se tenía que activar el grupo de interruptores asociados a la letra N, a la letra O y a la letra T. Seguidamente, se programaban las direcciones de memoria sobre las cuales recibirían dicho operador lógico, para después procesar el resultado. Los interruptores evolucionaron asignándoles una tabla de direccionamiento de 16x16 bytes, en donde se daban 256 valores de byte posibles (la actual tabla ASCII). En dicha tabla, se traducen lo que antes costaba activar 8 interruptores por letra, a una pulsación por letra (de cara al recurso humano, un ahorro en tiempos. Una sola pulsación, predisponía 1 byte en RAM... o en otras palabras, cambiaba la posición de 8 interruptores con una sola pulsación). Se usó el formato de máquina de escribir, para representar todo el alfabeto latino, necesario para componer palabras en inglés; así como los símbolos aritméticos y lógicos que permitían la escritura de un programa directamente en memoria RAM a través de una consola o teclado. En origen, los programadores no veían en tiempo real lo que tecleaban, teniendo que imprimir de cuando en cuando el programa residente en memoria RAM y haciendo uso del papel a la hora de ir modificando o creando un nuevo programa. Dado que el papel era lo más accesible, los programas comenzaron a imprimirse en un soporte de celulosa más resistente, creando lo que se denominó Tarjeta perforada. Así pues, los programas constaban de una o varias tarjetas perforadas, que se almacenaban en archivadores de papel con las típicas anillas de sujeción. Dichas perforaciones, eran leídas por un dispositivo de entrada, que no era muy diferente al teclado y que constaba de pulsadores que eran activados o desactivados, dependiendo de si la


85 tarjeta en la posición de byte, contenía una perforación o no. Cada vez que se encendía la máquina, requería de la carga del programa que iba a ejecutar. Dado que los datos en memoria son de 0 o 1, que esas posiciones físicamente representan el estado de un conmutador, que la estimulación del conmutador evolucionó a pulsos electromagnéticos, el almacenamiento de los programas era cuestión de tiempo que su almacenamiento pasara del papel a un soporte lógico, tal como las cintas de almacenamiento. Las cintas eran secuenciales, y la composición de la cinta era de un material magneto estática; bastaba una corriente Gauss para cambiar las polaridades del material. Dado que el material magnético puede tener polaridad norte o sur, era ideal para representar el 0 o el 1. Así, ahora, cargar un programa no era cuestión de estar atendiendo un lector de tarjetas en el cual se debían de ir metiendo de forma interminable tarjetas perforadas que apenas podían almacenar apenas unos bytes. Ahora, los dispositivos electromagnéticos secuenciales requerían la introducción de la cinta y la pulsación de una tecla para que se cargara todo el programa de inicio a fin, de forma secuencial. Los accesos aleatorios no aparecieron hasta la aparición del disco duro y el Floppy. Con estos medios, un cabezal lector se deslizaba por la superficie en movimiento, si dicho movimiento tenía como consecuencia la lectura de un valor N-N (norte-norte) no generaba corriente, tampoco si era S-S (Sur-Sur), por el contrario, si era N-S o S-N sí creaba una corriente, que era captada por el circuito que mandaba el dato a la memoria RAM. Toda esta automatización requiso del diseño de un sistema operativo, o de un área de gestión del recurso para su automatización. Estos sistemas requerían de un área de memoria reservada, en origen de 64 Kb (Capacidades de representación de texto en monitor monocromo), para irse ampliando a 128 Kb (Monocromo con capacidades gráficas), 256 (Texto y gráficos a dos colores), 512 (Texto y gráficos a 4 colores) y los tradicionales 640 Kb (Texto y gráficos a 16 colores). Esa memoria se denominó MEMORIA BASE.


86 Es en esta parte del tiempo, en donde se puede hablar de un área de trabajo para la mayor parte del software de un computador. La RAM continua siendo volátil por lo que posee la capacidad de perder la información una vez que se agote su fuente de energía. Existe una memoria intermedia entre el procesador y la RAM, llamada caché, pero ésta sólo es una copia (de acceso rápido) de la memoria principal (típicamente discos duros) almacenada en los módulos de RAM.

4MiB de memoria RAM para un computador VAX de finales de los 70. Los integrados de memoria DRAM están agrupados arriba a derecha e izquierda.

Módulos de memoria tipo SIPP instalados directamente sobre la placa base. La denominación “de Acceso aleatorio” surgió para diferenciarlas de las memoria de acceso secuencial, debido a que en los comienzos de la computación, las memorias


87 principales (o primarias) de las computadoras eran siempre de tipo RAM y las memorias secundarias (o masivas) eran de acceso secuencial (unidades de cinta o tarjetas perforadas). Es frecuente pues que se hable de memoria RAM para hacer referencia a la memoria principal de una computadora, pero actualmente la denominación no es precisa. Uno de los primeros tipos de memoria RAM fue la memoria de núcleo magnético, desarrollada entre 1949 y 1952 y usada en muchos computadores hasta el desarrollo de circuitos integrados a finales de los años 60 y principios de los 70. Antes que eso, las computadoras usaban relés y líneas de retardo de varios tipos construidas con tubos de vacío para implementar las funciones de memoria principal con o sin acceso aleatorio. En 1969 fueron lanzadas una de las primeras memorias RAM basadas en semiconductores de silicio por parte de Intel con el integrado 3101 de 64 bits de memoria y para el siguiente año se presentó una memoria DRAM de 1 Kibibyte, referencia 1103 que se constituyó en un hito, ya que fue la primera en ser comercializada con éxito, lo que significó el principio del fin para las memorias de núcleo magnético. En comparación con los integrados de memoria DRAM actuales, la 1103 es primitiva en varios aspectos, pero tenía un desempeño mayor que la memoria de núcleos. En 1973 se presentó una innovación que permitió otra miniaturización y se convirtió en estándar para las memorias DRAM: la multiplexación en tiempo de la direcciones de memoria. MOSTEK lanzó la referencia MK4096 de 4 Kb en un empaque de 16 pines, [2] mientras sus competidores las fabricaban en el empaque DIP de 22 pines. El esquema de direccionamiento se convirtió en un estándar de facto debido a la gran popularidad que logró esta referencia de DRAM. Para finales de los 70 los integrados eran usados en la mayoría de computadores nuevos, se soldaban directamente a las placas base o se instalaban en zócalos, de manera que ocupaban un área extensa de circuito impreso.


88 Con el tiempo se hizo obvio que la instalación de RAM sobre el impreso principal, impedía la miniaturización, entonces se idearon los primeros módulos de memoria como el SIPP, aprovechando las ventajas de la construcción modular. El formato SIMM fue una mejora al anterior, eliminando los pines metálicos y dejando unas áreas de cobre en uno de los bordes del impreso, muy similares a los de las tarjetas de expansión, de hecho los módulos SIPP y los primeros SIMM tienen la misma distribución de pines. A finales de los 80 el aumento en la velocidad de los procesadores y el aumento en el ancho de banda requerido, dejaron rezagadas a las memorias DRAM con el esquema original MOSTEK, de manera que se realizaron una serie de mejoras en el direccionamiento como las siguientes:

Módulos formato SIMM de 30 y 72 pines, los últimos fueron utilizados con integrados tipo EDO-RAM. FPM-RAM (Fast Page Mode RAM) Inspirado en técnicas como el "Burst Mode" usado en procesadores como el Intel 486, se implantó un modo direccionamiento en el que el controlador de memoria envía una sola dirección y recibe a cambio esa y varias consecutivas sin necesidad de generar todas las direcciones. Esto supone un ahorro de tiempos ya que ciertas operaciones


89 son repetitivas cuando se desea acceder a muchas posiciones consecutivas. Funciona como si deseáramos visitar todas las casas en una calle: después de la primera vez no seria necesario decir el número de la calle únicamente seguir la misma. Se fabricaban con tiempos de acceso de 70 ó 60 ns y fueron muy populares en sistemas basados en el 486 y los primeros Pentium. EDO-RAM (Extended Data Output RAM) Lanzada en 1995 y con tiempos de accesos de 40 o 30 ns suponía una mejora sobre su antecesora la FPM. La EDO, también es capaz de enviar direcciones contiguas pero direcciona la columna que va utilizar mientras que se lee la información de la columna anterior, dando como resultado una eliminación de estados de espera, manteniendo activo el búffer de salida hasta que comienza el próximo ciclo de lectura. BEDO-RAM (Burst Extended Data Output RAM) Fue la evolución de la EDO RAM y competidora de la SDRAM, fue presentada en 1997. Era un tipo de memoria que usaba generadores internos de direcciones y accedía a mas de una posición de memoria en cada ciclo de reloj, de manera que lograba un desempeño un 50% mejor que la EDO. Nunca salió al mercado, dado que Intel y otros fabricantes se decidieron por esquemas de memoria sincrónicos que si bien tenían mucho del direccionamiento MOSTEK, agregan funcionalidades distintas como señales de reloj. Arquitectura base En origen, la memoria RAM se componía de hilos de cobre que atravesaban toroides de ferrita, la corriente polariza la ferrita. Mientras esta queda polarizada, el sistema puede invocar al procesador accesos a partes del proceso que antes (en un estado de reposo) no es posible acceder. En sus orígenes, la invocación a la RAM, producía la activación de contactores, ejecutando instrucciones del tipo AND, OR y NOT. La


90 programación de estos elementos, consistía en la predisposición de los contactores para que, en una línea de tiempo, adquiriesen las posiciones adecuadas para crear un flujo con un resultado concreto. La ejecución de un programa, provocaba un ruido estruendoso en la sala en la cual se ejecutaba dicho programa, por ello el área central de proceso estaba separada del área de control por mamparas insonorizadas. Con las nuevas tecnologías, las posiciones de la ferrita se ha ido sustituyendo por, válvulas de vacío, transistores y en las últimas generaciones, por un material sólido dieléctrico. Dicho estado sólido dieléctrico tipo DRAM permite que se pueda tanto leer como escribir información. Uso por el sistema Se utiliza como memoria de trabajo para el sistema operativo, los programas y la mayoría del software. Es allí donde se cargan todas las instrucciones que ejecutan el procesador y otras unidades de cómputo. Se denominan "de acceso aleatorio" porque se puede leer o escribir en una posición de memoria con un tiempo de espera igual para cualquier posición, no siendo necesario seguir un orden para acceder a la información de la manera más rápida posible. Módulos de la memoria RAM


91 Formato SO-DIMM. Los módulos de memoria RAM son tarjetas de circuito impreso que tienen soldados integrados de memoria DRAM por una o ambas caras. La implementación DRAM se basa en una topología de Circuito eléctrico que permite alcanzar densidades altas de memoria por cantidad de transistores, logrando integrados de decenas o cientos de Megabits. Además de DRAM, los módulos poseen un integrado que permiten la identificación de los mismos ante el computador por medio del protocolo de comunicación SPD. La conexión con los demás componentes se realiza por medio de un área de pines en uno de los filos del circuito impreso, que permiten que el modulo al ser instalado en un zócalo apropiado de la placa base, tenga buen contacto eléctrico con los controladores de memoria y las fuentes de alimentación. Los primeros módulos comerciales de memoria eran SIPP de formato propietario, es decir no había un estándar entre distintas marcas. Otros módulos propietarios bastante conocidos fueron los RIMM, ideados por la empresa RAMBUS. La necesidad de hacer intercambiable los módulos y de utilizar integrados de distintos fabricantes condujo al establecimiento de estándares de la industria como los JEDEC. Módulos SIMM: Formato usado en computadores antiguos. Tenían un bus de datos de 16 o 32 bits Módulos DIMM: Usado en computadores de escritorio. Se caracterizan por tener un bus de datos de 64 bits. Módulos SO-DIMM: Usado en computadores portátiles. Formato miniaturizado de DIMM. Relación con el resto del sistema


92

Diagrama de la arquitectura de un ordenador. Dentro de la jerarquía de memoria la RAM se encuentra en un nivel después de los registros del procesador y de las cachés. Es una memoria relativamente rápida y de una capacidad media: sobre el año 2010), era fácil encontrar memorias con velocidades de más de 1 Ghz, y capacidades de hasta 8 GB por módulo, llegando a verse memorias pasando la barrera de los 3 Ghz por esa misma fecha mediante prácticas de overclock extremo. La memoria RAM contenida en los módulos, se conecta a un controlador de memoria que se encarga de gestionar las señales entrantes y salientes de los integrados DRAM. Algunas señales son las mismas que se utilizan para utilizar cualquier memoria: Direcciones de las posiciones, datos almacenados y señales de control. El controlador de memoria debe ser diseñado basándose en una tecnología de memoria, por lo general soporta solo una, pero existen excepciones de sistemas cuyos controladores soportan dos tecnologías (por ejemplo SDR y DDR o DDR1 y DDR2), esto sucede en las épocas transitorias de una nueva tecnología de RAM. Los controladores de memoria en sistemas como PC y servidores se encuentran embebidos en el llamado "North Bridge" o "Puente Norte" de la placa base; o en su defecto, dentro del mismo procesador (en el caso de los procesadores desde AMD Athlon 64 e Intel Core i7) y posteriores; y son los encargados de manejar la mayoría de información que entra y sale del procesador.


93 Las señales básicas en el módulo están divididas en dos buses y un conjunto misceláneo de líneas de control y alimentación. Entre todas forman el bus de memoria: Bus de datos: Son las líneas que llevan información entre los integrados y el controlador. Por lo general están agrupados en octetos siendo de 8,16,32 y 64 bits, cantidad que debe igualar el ancho del bus de datos del procesador. En el pasado, algunos formatos de modulo, no tenían un ancho de bus igual al del procesador.En ese caso había que montar módulos en pares o en situaciones extremas, de a 4 módulos, para completar lo que se denominaba banco de memoria, de otro modo el sistema no funciona. Esa es la principal razón de haber aumentar el número de pines en los módulos, igualando el ancho de bus de procesadores como el Pentium de 64 bits a principios de los 90. Bus de direcciones: Es un bus en el cual se colocan las direcciones de memoria a las que se requiere acceder. No es igual al bus de direcciones del resto del sistema, ya que está multiplexado de manera que la dirección se envía en dos etapas.Para ello el controlador realiza temporizaciones y usa las líneas de control. En cada estándar de módulo se establece un tamaño máximo en bits de este bus, estableciendo un límite teórico de la capacidad máxima por módulo. Señales misceláneas: Entre las que están las de la alimentación (Vdd, Vss) que se encargan de entregar potencia a los integrados. Están las líneas de comunicación para el integrado de presencia que da información clave acerca del módulo. También están las líneas de control entre las que se encuentran las llamadas RAS (row address strobe) y CAS (column address strobe) que controlan el bus de direcciones y las señales de reloj en las memorias sincrónicas SDRAM. Entre las características sobresalientes del controlador de memoria, está la capacidad de manejar la tecnología de canal doble (Dual Channel), tres canales, o incluso cuatro para los procesadores venideros; donde el controlador maneja bancos


94 de memoria de 128 bits. Aunque el ancho del bus de datos del procesador sigue siendo de 64 bits, el controlador de memoria puede entregar los datos de manera intercalada, optando por uno u otro canal, reduciendo las latencias vistas por el procesador. La mejora en el desempeño es variable y depende de la configuración y uso del equipo. Esta característica ha promovido la modificación de los controladores de memoria, resultando en la aparición de nuevos chipsets (la serie 865 y 875 de Intel) o de nuevos zócalos de procesador en los AMD (el 939 con canal doble , reemplazo el 754 de canal sencillo). Los equipos de gama media y alta por lo general se fabrican basados en chipsets o zócalos que soportan doble canal o superior.

Módulos de memoria instalados de 256 MiB cada uno en un sistema con doble canal. Tecnologías de memoria La tecnología de memoria actual usa una señal de sincronización para realizar las funciones de lectura-escritura de manera que siempre esta sincronizada con un reloj del bus de memoria, a diferencia de las antiguas memorias FPM y EDO que eran asíncronas. Hace más de una década toda la industria se decantó por las tecnologías síncronas, ya que permiten construir integrados que funcionen a una frecuencia


95 superior a 66 MHz (A día de hoy, se han superado con creces los 1600 Mhz).

Memorias RAM con tecnologías usadas en la actualidad. SDR SDRAM Artículo principal: SDRAM Memoria síncrona, con tiempos de acceso de entre 25 y 10 ns y que se presentan en módulos DIMM de 168 contactos. Fue utilizada en los Pentium II y en los Pentium III , así como en los AMD K6, AMD Athlon K7 y Duron. Está muy extendida la creencia de que se llama SDRAM a secas, y que la denominación SDR SDRAM es para diferenciarla de la memoria DDR, pero no es así, simplemente se extendió muy rápido la denominación incorrecta. El nombre correcto es SDR SDRAM ya que ambas (tanto la SDR como la DDR) son memorias síncronas dinámicas. Los tipos disponibles son: PC100: SDR SDRAM, funciona a un máx de 100 MHz. PC133: SDR SDRAM, funciona a un máx de 133 MHz. DDR SDRAM Artículo principal: DDR SDRAM Memoria síncrona, envía los datos dos veces por cada ciclo de reloj. De este modo


96 trabaja al doble de velocidad del bus del sistema, sin necesidad de aumentar la frecuencia de reloj. Se presenta en módulos DIMM de 184 contactos en el caso de ordenador de escritorio y en módulos de 144 contactos para los ordenadores portátiles. Los tipos disponibles son: PC2100 o DDR 266: funciona a un máx de 133 MHz. PC2700 o DDR 333: funciona a un máx de 166 MHz. PC3200 o DDR 400: funciona a un máx de 200 MHz. DDR2 SDRAM

SDRAM DDR2. Artículo principal: DDR2 Las memorias DDR 2 son una mejora de las memorias DDR (Double Data Rate), que permiten que los búferes de entrada/salida trabajen al doble de la frecuencia del núcleo, permitiendo que durante cada ciclo de reloj se realicen cuatro transferencias. Se presentan en módulos DIMM de 240 contactos. Los tipos disponibles son: PC2-4200 o DDR2-533: funciona a un máx de 533 MHz. PC2-5300 o DDR2-667: funciona a un máx de 667 MHz.


97 PC2-6400 o DDR2-800: funciona a un máx de 800 MHz. PC2-8600 o DDR2-1066: funciona a un máx de 1066 MHz. PC2-9000 o DDR2-1200: funciona a un máx de 1200 MHz DDR3 SDRAM Artículo principal: DDR3 Las memorias DDR 3 son una mejora de las memorias DDR 2, proporcionan significantes mejoras en el rendimiento en niveles de bajo voltaje, lo que lleva consigo una disminución del gasto global de consumo. Los módulos DIMM DDR 3 tienen 240 pines, el mismo número que DDR 2; sin embargo, los DIMMs son físicamente incompatibles, debido a una ubicación diferente de la muesca. Los tipos disponibles son: PC3-8600 o DDR3-1066: funciona a un máx de 1066 MHz. PC3-10600 o DDR3-1333: funciona a un máx de 1333 MHz. PC3-12800 o DDR3-1600: funciona a un máx de 1600 MHz. RDRAM (Rambus DRAM) Artículo principal: RDRAM Memoria de gama alta basada en un protocolo propietario creado por la empresa Rambus, lo cual obliga a sus compradores a pagar regalías en concepto de uso. Esto ha hecho que el mercado se decante por la tecnología DDR, libre de patentes, excepto algunos servidores de grandes prestaciones (Cray) y la consola PlayStation 3. La RDRAM se presenta en módulos RIMM de 184 contactos. Detección y corrección de errores


98 Existen dos clases de errores en los sistemas de memoria, las fallas (Hard fails) que son daños en el hardware y los errores (soft errors) provocados por causas fortuitas. Los primeros son relativamente fáciles de detectar (en algunas condiciones el diagnóstico es equivocado), los segundos al ser resultado de eventos aleatorios, son más difíciles de hallar. En la actualidad la confiabilidad de las memorias RAM frente a los errores, es suficientemente alta como para no realizar verificación sobre los datos almacenados, por lo menos para aplicaciones de oficina y caseras. En los usos más críticos, se aplican técnicas de corrección y detección de errores basadas en diferentes estrategias: La técnica del bit de paridad consiste en guardar un bit adicional por cada byte de datos, y en la lectura se comprueba si el número de unos es par (paridad par) o impar (paridad impar), detectándose así el error. Una técnica mejor es la que usa ECC, que permite detectar errores de 1 a 4 bits y corregir errores que afecten a un sólo bit. Esta técnica se usa sólo en sistemas que requieren alta fiabilidad. Por lo general los sistemas con cualquier tipo de protección contra errores tiene un costo más alto, y sufren de pequeñas penalizaciones en desempeño, con respecto a los sistemas sin protección. Para tener un sistema con ECC o paridad, el chipset y las memorias deben tener soporte para esas tecnologías. La mayoría de placas base no poseen dicho soporte. Para los fallos de memoria se pueden utilizar herramientas de software especializadas que realizan pruebas integrales sobre los módulos de memoria RAM. Entre estos programas uno de los más conocidos es la aplicación Memtest86+ que detecta fallos de memoria. Memoria RAM registrada


99 Es un tipo de módulo usado frecuentemente en servidores y equipos especiales. Poseen circuitos integrados que se encargan de repetir las señales de control y direcciones. Las señales de reloj son reconstruidas con ayuda del PLL que está ubicado en el módulo mismo. Las señales de datos pasan directamente del bus de memoria a los CI de memoria DRAM. Estas características permiten conectar múltiples módulos de memoria (más de 4) de alta capacidad sin que haya perturbaciones en las señales del controlador de memoria, haciendo posible sistemas con gran cantidad de memoria principal (8 a 16 GiB). Con memorias no registradas, no es posible, debido a los problemas surgen de sobrecarga eléctrica a las señales enviadas por el controlador, fenómeno que no sucede con las registradas por estar de algún modo aisladas. Entre las desventajas de estos módulos están el hecho de que se agrega un ciclo de retardo para cada solicitud de acceso a una posición no consecutiva y por supuesto el precio, que suele ser mucho más alto que el de las memorias de PC. Este tipo de módulos es incompatible con los controladores de memoria que no soportan el modo registrado, a pesar de que se pueden instalar físicamente en el zócalo. Se pueden reconocer visualmente porque tienen un integrado mediano, cerca del centro geométrico del circuito impreso, además de que estos módulos suelen ser algo más altos. TARJETA DE EXPANSION: Tarjeta de expansión Las tarjetas de expansión son dispositivos con diversos circuitos integrados y controladores que, insertadas en sus correspondientes ranuras de expansión, sirven para ampliar las capacidades de un ordenador. Las tarjetas de expansión más comunes sirven para añadir memoria, controladoras de unidad de disco, controladoras de vídeo, puertos serie o paralelo y dispositivos de módem internos. Por lo general, se suelen


100 utilizar indistintamente los términos «placa» y «tarjeta» para referirse a todas las tarjetas de expansión. En la actualidad las tarjetas suelen ser de tipo PCI, PCI Express o AGP. Como ejemplo de tarjetas que ya no se utilizan tenemos la de tipo Bus ISA. Gracias al avance en la tecnología USB y a la integración de audio, video o red en la placa base, hoy en día son menos imprescindibles para tener un PC completamente funcional. La historia de la tarjeta de expansión El primer microordenador en ofrecer un bus de tarjeta tipo ranura fue el Altair 8800, desarrollado en 1974-1975. Inicialmente, las implementaciones de este bus eran de marca registrada (como Apple II y Macintosh), pero en 1982 fabricantes de computadoras basadas en el Intel 8080/Zilog Z80 que ejecutaban CP/M ya habían adoptado el estándar S-100. IBM lanzó el bus XT, con el primer IBM PC en 1981; se llamaba entonces el bus PC, ya que el IBM XT, que utilizaba el mismo bus (con una leve excepción) no se lanzó hasta 1983. XT (también denominado ISA de 8 bits) fue reemplazado por ISA (también denominado ISA de 16 bits), conocido originalmente como el bus AT, en 1984. El bus MCA de IBM, desarrollado para el PS/2 en 1987, competía con ISA, pero cayó en desgracia debido a la aceptación general de ISA de parte de la industria, y la licencia cerrada que IBM mantenía sobre MCA. EISA, la versión extendida de 32 bits abogada por Compaq, era común en las placas base de los PC hasta 1997, cuando Microsoft lo declaró un «subsistema heredado» en el libro blanco industrial PC 97. VESA Local Bus, un bus de expansión al principio de los 1990 que estaba ligado intrínsecamente a la CPU 80486, se volvió obsoleto (además del procesador) cuando Intel lanzó la CPU Pentium en 1993. El bus PCI se lanzó en 1991 para reemplazar a ISA. El estándar (ahora en la versión 3.0) se encuentra en las placas base de los PC aun hoy en día. Intel lanzó el bus AGP en


101 1997 como una solución dedicada de aceleración de video. Aunque se denominaba un bus, AGP admite una sola tarjeta a la vez. A partir de 2005, PCI Express ha estado reemplazando a PCI y a AGP. Este estándar, aprobado en 2004, implementa el protocolo lógico PCI a través de una interfaz de comunicación en serie. Después del bus S-100, este artículo sólo menciona buses empleados en PCs compatibles con IBM/Windows-Intel. La mayoría de las otras líneas de computadoras que no eran compatibles con IBM, inclusive las de Tandy, Commodore, Amiga y Atari, ofrecían sus propios buses de expansión. Aun muchas consolas de videojuegos, tales como el Sega Genesis, incluían buses de expansión; al menos en el caso del Genesis, el bus de expansión era de marca registrada, y de hecho las ranuras de cartucho de la muchas consolas que usaban cartuchos (excepto el Atari 2600) calificarían como buses de expansión, ya que exponían las capacidades de lectura y escritura del bus interno del sistema. No obstante, los módulos de expansión conectados a esos interfaces, aunque eran funcionalmente iguales a las tarjetas de expansión, no son técnicamente tarjetas de expansión, debido a su forma física. Para sus modelos 1000 EX y 1000 HX, Tandy Computer diseñó la interfaz de expansión PLUS, una adaptación de las tarjetas del bus XT con un factor de forma más pequeño. Porque es eléctricamente compatible con el bus XT (también denominado ISA de 8 bits o XT-ISA), un adaptador pasivo puede utilizarse para conectar tarjetas XT a un conector de expansión PLUS. Otra característica de tarjetas PLUS es que se pueden apilar. Otro bus que ofrecía módulos de expansión capaces de ser apilados era el bus «sidecar» empleado por el IBM PCjr. Éste pudo haber sido eléctricamente igual o similar al bus XT; seguramente poseía algunas similitudes ya que ambos esencialmente exponían los buses de dirección y de datos de la CPU 8088, con búferes y preservación de estado, la adición de interrupciones y DMA proveídos por chips complementarios de Intel, y algunas líneas de detección de fallos (corriente idónea, comprobación de Memoria, comprobación de Memoria E/S). Otra vez, PCjr sidecars no


102 son técnicamente tarjetas de expansión, sino módulos de expansión, con la única diferencia siendo que el sidecar es una tarjeta de memoria envuelta en una caja de plástico (con agujeros que exponen los conectores). Tipos de tarjetas de expansión Capturadora de televisión Módem interno Tarjeta gráfica Tarjeta de red Tarjeta de sonido CAPTURADORA DE TELEVISION: Una tarjeta sintonizadora (o capturadora) de televisión es un periférico que permite ver los distintos tipos de televisión en la pantalla de ordenador. La visualización se puede efectuar a pantalla completa o en modo ventana. La señal de televisión entra por el chip K_98_Begijar y en la toma de antena de la sintonizadora y puede proceder de una antena (externa o portátil) o bien de la emisión de televisión por cable. Este periférico puede ser una tarjeta de expansión, generalmente de tipo PCI, o bien un dispositivo externo que se conecta al puerto USB. Los modelos externos codifican la grabación por software; es decir, que es el procesador del ordenador quien realmente hace todo el trabajo. En cambio el K_98_Begijar en algunos modelos internos realizan la codificación de la grabación por hardware; es decir que es la propia tarjeta quien la hace, liberando de esa tarea al procesador del ordenador para dar mayor rendimiento a la maquina. En consecuencia, en un mismo ordenador se podrá efectuar una grabación de calidad (sin pérdida de frames) a mayor resolución con una sintonizadora interna que con una externa.


103 Estas tarjetas también pueden ser usadas para captar señales de alguna fuente de video como cámaras filmadoras, reproductores de DVD o VHS, etc. y a su vez ser difundidas a través de codificador de video (como Windows Encoder) para trasmitirse por Internet. Las sintonizadoras se distribuyen junto a sus drivers y un software que permite la sintonización, memorizado, visualización y grabación directa o programada de los canales. También existe software gratuito de terceros que funciona con cualquier tarjeta sintonizadora y que en muchos casos mejora la calidad de la visualización y de la grabación obtenida por el software original de la sintonizadora: MODEM: Un módem es un dispositivo que sirve para enviar una señal llamada moduladora mediante otra señal llamada portadora. Se han usado módems desde los años 60, principalmente debido a que la transmisión directa de las señales electrónicas inteligibles, a largas distancias, no es eficiente, por ejemplo, para transmitir señales de audio por el aire, se requerirían antenas de gran tamaño (del orden de cientos de metros) para su correcta recepción. Es habitual encontrar en muchos módems de red conmutada la facilidad de respuesta y marcación automática, que les permiten conectarse cuando reciben una llamada de la RTPC (Red Telefónica Pública Conmutada) y proceder a la marcación de cualquier número previamente grabado por el usuario. Gracias a estas funciones se pueden realizar automáticamente todas las operaciones de establecimiento de la comunicación. TARJETA GRAFICA: Una tarjeta gráfica, tarjeta de vídeo, placa de vídeo, tarjeta aceleradora de gráficos o adaptador de pantalla, es una tarjeta de expansión para una computadora u ordenador, encargada de procesar los datos provenientes de la CPU y transformarlos en información comprensible y representable en un dispositivo de salida, como un


104 monitor o televisor. Las tarjetas gráficas más comunes son las disponibles para las computadoras compatibles con la IBM PC, debido a la enorme popularidad de éstas, pero otras arquitecturas también hacen uso de este tipo de dispositivos. TARJETA DE RED: Una tarjeta de red o adaptador de red permite la comunicación con aparatos conectados entre si y también permite compartir recursos entre dos o más computadoras (discos duros, CD-ROM, impresoras, etc). A las tarjetas de red también se les llama NIC (por network interface card; en español "tarjeta de interfaz de red"). Hay diversos tipos de adaptadores en función del tipo de cableado o arquitectura que se utilice en la red (coaxial fino, coaxial grueso, Token Ring, etc.), pero actualmente el más común es del tipo Ethernet utilizando una interfaz o conector RJ-45. TARJETA DE SONIDO: Una tarjeta de sonido o placa de sonido es una tarjeta de expansión para computadoras que permite la entrada y salida de audio bajo el control de un programa informático llamado controlador (en inglés driver). El típico uso de las tarjetas de sonido consiste en proveer mediante un programa que actúa de mezclador, que las aplicaciones multimedia del componente de audio suenen y puedan ser gestionadas. Estas aplicaciones multimedia engloban composición y edición de video o audio, presentaciones multimedia y entretenimiento (videojuegos). Algunos equipos (como los personales) tienen la tarjeta ya integrada, mientras que otros requieren tarjetas de expansión. También hay otro tipo de equipos que por circunstancias profesionales (como por ejemplo servidores) no requieren de dicho servicio. FUENTE DE ALIMENTACION: En electrónica, una fuente de alimentación es un dispositivo que convierte la tensión


105 alterna de la red de suministro, en una o varias tensiones, prácticamente continuas, que alimentan los distintos circuitos del aparato electrónico al que se conecta (ordenador, televisor, impresora, router, etc.). Clasificación Las fuentes de alimentación, para dispositivos electrónicos, pueden clasificarse básicamente como fuentes de alimentación lineales y conmutadas. Las lineales tienen un diseño relativamente simple, que puede llegar a ser más complejo cuanto mayor es la corriente que deben suministrar, sin embargo su regulación de tensión es poco eficiente. Una fuente conmutada, de la misma potencia que una lineal, será más pequeña y normalmente más eficiente pero será más compleja y por tanto más susceptible a averías. Fuentes de alimentación lineales Las fuentes lineales siguen el esquema: transformador, rectificador, filtro, regulación y salida. En primer lugar el transformador adapta los niveles de tensión y proporciona aislamiento galvánico. El circuito que convierte la corriente alterna en continua se llama rectificador, después suelen llevar un circuito que disminuye el rizado como un filtro de condensador. La regulación, o estabilización de la tensión a un valor establecido, se consigue con un componente denominado regulador de tensión. La salida puede ser simplemente un condensador. Esta corriente abarca toda la energía del circuito,esta fuente de alimentación deben tenerse en cuenta unos puntos concretos a la hora de decidir las características del transformador. Fuentes de alimentación conmutadas Una fuente conmutada es un dispositivo electrónico que transforma energía eléctrica mediante transistores en conmutación. Mientras que un regulador de tensión utiliza


106 transistores polarizados en su región activa de amplificación, las fuentes conmutadas utilizan los mismos conmutándolos activamente a altas frecuencias (20-100 Kilociclos típicamente) entre corte (abiertos) y saturación (cerrados). La forma de onda cuadrada resultante es aplicada a transformadores con núcleo de ferrita (Los núcleos de hierro no son adecuados para estas altas frecuencias) para obtener uno o varios voltajes de salida de corriente alterna (CA) que luego son rectificados (Con diodos rápidos) y filtrados (Inductores y capacitores) para obtener los voltajes de salida de corriente continua (CC). Las ventajas de este método incluyen menor tamaño y peso del núcleo, mayor eficiencia y por lo tanto menor calentamiento. Las desventajas comparándolas con fuentes lineales es que son mas complejas y generan ruido eléctrico de alta frecuencia que debe ser cuidadosamente minimizado para no causar interferencias a equipos próximos a estas fuentes. Las

fuentes

conmutadas

tienen

por

esquema:

rectificador,

conmutador,

transformador, otro rectificador y salida. La regulación se obtiene con el conmutador, normalmente un circuito PWM (Pulse Width Modulation) que cambia el ciclo de trabajo. Aquí las funciones del transformador son las mismas que para fuentes lineales pero su posición es diferente. El segundo

rectificador

convierte la señal alterna pulsante

que llega del

transformador en un valor continuo. La salida puede ser también un filtro de condensador o uno del tipo LC. Las ventajas de las fuentes lineales son una mejor regulación, velocidad y mejores características EMC. Por otra parte las conmutadas obtienen un mejor rendimiento, menor coste y tamaño. UNIDAD DE DISCO OPTICO: En informática, una unidad de disco óptico es una unidad de disco que usa una luz láser u ondas electromagnéticas cercanas al espectro de la luz como parte del proceso de


107 lectura o escritura de datos desde o a discos ópticos. Algunas unidades solo pueden leer discos, pero las unidades más recientes usualmente son tanto lectoras como grabadoras. Para referirse a las unidades con ambas capacidades se suele usar el término lectograbadora. Los discos compactos (CD), DVD, y Blu-ray Disc son los tipos de medios ópticos más comunes que pueden ser leídos y grabados por estas unidades. Las unidades de discos ópticos son una parte integrante de los aparatos de consumo autónomos como los reproductores de CD, reproductores de DVD y grabadoras de DVD. También son usados muy comúnmente en las computadoras para leer software y medios de consumo distribuidos en formato de disco, y para grabar discos para el intercambio y archivo de datos. Las unidades de discos ópticos (junto a las memorias flash) han desplazado a las disqueteras y a las unidades de cintas magnéticas para este propósito debido al bajo coste de los medios ópticos y la casi ubicuidad de las unidades de discos ópticos en las computadoras y en hardware de entretenimiento de consumo. La grabación de discos en general es restringida a la distribución y copiado de seguridad a pequeña escala, siendo más lenta y más cara en términos materiales por unidad que el proceso de moldeo usado para fabricar discos planchados en masa. DISCO DURO: En informática, un disco duro o disco rígido (en inglés Hard Disk Drive, HDD) es un dispositivo de almacenamiento de datos no volátil que emplea un sistema de grabación magnética para almacenar datos digitales. Se compone de uno o más platos o discos rígidos, unidos por un mismo eje que gira a gran velocidad dentro de una caja metálica sellada. Sobre cada plato, y en cada una de sus caras, se sitúa un cabezal de lectura/escritura que flota sobre una delgada lámina de aire generada por la rotación de los discos. El primer disco duro fue inventado por IBM en 1956. A lo largo de los años, los discos


108 duros han disminuido su precio al mismo tiempo que han multiplicado su capacidad, siendo la principal opción de almacenamiento secundario para PC desde su aparición en los años 60. Los discos duros han mantenido su posición dominante gracias a los constantes incrementos en la densidad de grabación, que se ha mantenido a la par de las necesidades de almacenamiento secundario. Los tamaños también han variado mucho, desde los primeros discos IBM hasta los formatos estandarizados actualmente: 3,5" los modelos para PCs y servidores, 2,5" los modelos para dispositivos portátiles. Todos se comunican con la computadora a través del controlador de disco, empleando una interfaz estandarizado. Los más comunes hoy día son IDE (también llamado ATA o PATA), SCSI (generalmente usado en servidores y estaciones de trabajo), Serial ATA y FC (empleado exclusivamente en servidores). Para poder utilizar un disco duro, un sistema operativo debe aplicar un formato de bajo nivel que defina una o más particiones. La operación de formateo requiere el uso de una fracción del espacio disponible en el disco, que dependerá del formato empleado. Además, los fabricantes de discos duros, SSD y tarjetas flash miden la capacidad de los mismos usando prefijos SI, que emplean múltiplos de potencias de 1000 según la normativa IEC, en lugar de los prefijos binarios clásicos de la IEEE, que emplean múltiplos de potencias de 1024, y son los usados mayoritariamente por los sistemas operativos. Esto provoca que en algunos sistemas operativos sea representado como múltiplos 1024 o como 1000, y por tanto existan ligeros errores, por ejemplo un Disco duro de 500 GB, en algunos sistemas operativos sea representado como 465 GiB (Según la IEC Gibibyte, o Gigabyte binario, que son 1024 Mebibytes) y en otros como 465 GB. Existe otro tipo de almacenamiento que recibe el nombre de Unidades de estado sólido; aunque tienen el mismo uso y emplean las mismas interfaces, no están formadas por discos mecánicos, sino por memorias de circuitos integrados para almacenar la información. El uso de esta clase de dispositivos anteriormente se limitaba a las


109 supercomputadoras, por su elevado precio, aunque hoy en día ya son muchísimo más asequibles para el mercado doméstico. TECLADO: En informática un teclado es un periférico de entrada o dispositivo, en parte inspirado en el teclado de las máquinas de escribir, que utiliza una disposición de botones o teclas, para que actúen como palancas mecánicas o interruptores electrónicos que envían información a la computadora. Después de las tarjetas perforadas y las cintas de papel, la interacción a través de los teclados al estilo teletipo se convirtió en el principal medio de entrada para las computadoras. El teclado tiene entre 99 y 108 teclas aproximadamente, y está dividido en cuatro bloques: 1. Bloque de funciones: Va desde la tecla F1 a F12, en tres bloques de cuatro: de F1 a F4, de F5 a F8 y de F9 a F12. Funcionan de acuerdo al programa que esté abierto. Por ejemplo, en muchos programas al presionar la tecla F1 se accede a la ayuda asociada a ese programa. 2. Bloque alfanumérico: Está ubicado en la parte inferior del bloque de funciones, contiene los números arábigos del 1 al 0 y el alfabeto organizado como en una máquina de escribir, además de algunas teclas especiales. 3. Bloque especial: Está ubicado a la derecha del bloque alfanumérico, contiene algunas teclas especiales como Imp Pant, Bloq de desplazamiento, pausa, inicio, fin, insertar, suprimir, RePag, AvPag, y las flechas direccionales que permiten mover el punto de inserción en las cuatro direcciones. 4. Bloque numérico: Está ubicado a la derecha del bloque especial, se activa al presionar la tecla Bloq Num, contiene los números arábigos organizados como en una calculadora con el fin de facilitar la digitación de cifras. Además contiene los signos de las cuatro operaciones básicas: suma +, resta -, multiplicación * y división /;


110 también contiene una tecla de Intro o Enter. RATON/MOUSE: El ratón o mouse (del inglés, pronunciado [maʊs]) es un dispositivo apuntador usado para facilitar el manejo de un entorno gráfico en un computador. Generalmente está fabricado en plástico y se utiliza con una de las manos. Detecta su movimiento relativo en dos dimensiones por la superficie plana en la que se apoya, reflejándose habitualmente a través de un puntero o flecha en el monitor. Hoy en día es un elemento imprescindible en un equipo informático para la mayoría de las personas, y pese a la aparición de otras tecnologías con una función similar, como la pantalla táctil, la práctica ha demostrado que tendrá todavía muchos años de vida útil. No obstante, en el futuro podría ser posible mover el cursor o el puntero con los ojos o basarse en el reconocimiento de voz.

SOFTWARE: Se conoce como software al equipamiento lógico o soporte lógico de una computadora digital; comprende el conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas específicas, en contraposición a los componentes físicos, que son llamados hardware.


111 Los componentes lógicos incluyen, entre muchos otros, las aplicaciones informáticas; tales como el procesador de texto, que permite al usuario realizar todas las tareas concernientes a la edición de textos; el software de sistema, tal como el sistema operativo,

que,

básicamente,

permite al

resto

de los

programas

funcionar

adecuadamente, facilitando también la interacción entre los componentes físicos y el resto de las aplicaciones, y proporcionando una interfaz para el usuario. Existen varias definiciones similares aceptadas para software, pero probablemente la más formal sea la siguiente: Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones de un sistema de computación. Clasificación del software Si bien esta distinción es, en cierto modo, arbitraria, y a veces confusa, a los fines prácticos se puede clasificar al software en tres grandes tipos: Software de sistema: Su objetivo es desvincular adecuadamente al usuario y al programador de los detalles de la computadora en particular que se use, aislándolo especialmente del procesamiento referido a las características internas de: memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. El software de sistema le procura al usuario y programador adecuadas interfaces de alto nivel, herramientas y utilidades de apoyo que permiten su mantenimiento. Incluye entre otros:

Sistemas operativos Controladores de dispositivos Herramientas de diagnóstico


112 Herramientas de Corrección y Optimización Servidores Utilidades Software de programación: Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos, usando diferentes alternativas y lenguajes de programación, de una manera práctica. Incluye entre otros: Editores de texto Compiladores Intérpretes Enlazadores Depuradores Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores herramientas, usualmente en un entorno visual, de forma tal que el programador no necesite introducir múltiples comandos para compilar, interpretar, depurar, etc. Habitualmente cuentan con una avanzada interfaz gráfica de usuario (GUI). Software de aplicación: Es aquel que permite a los usuarios llevar a cabo una o varias tareas específicas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios. Incluye entre otros: Aplicaciones para Control de sistemas y automatización industrial Aplicaciones ofimáticas Software educativo Software empresarial


113 Bases de datos Telecomunicaciones (por ejemplo Internet y toda su estructura lógica) Videojuegos Software médico Software de Cálculo Numérico y simbólico. Software de Diseño Asistido (CAD) Software de Control Numérico (CAM)


114

UNIDAD # III: SISTEMA OPERATIVO:


115

UNIDAD III: SISTEMA OPERATIVO Un sistema operativo (SO) es el programa o conjunto de programas que efectúan la gestión de los procesos básicos de un sistema informático, y permite la normal ejecución del resto de las operaciones. Nótese que es un error común muy extendido denominar al conjunto completo de herramientas sistema operativo, es decir, la inclusión en el mismo término de programas como el explorador de ficheros, el navegador y todo tipo de herramientas que permiten la interacción con el sistema operativo, también llamado núcleo o kernel. Uno de los más prominentes ejemplos de esta diferencia, es el núcleo Linux, que es el núcleo del sistema operativo GNU, del cual existen las llamadas distribuciones GNU. Este error de precisión, se debe a la modernización de la informática llevada a cabo a finales de los 80, cuando la filosofía de estructura básica de funcionamiento de los grandes computadores[2] se rediseñó a fin de llevarla a los hogares y facilitar su uso,


116 cambiando el concepto de computador multiusuario, (muchos usuarios al mismo tiempo) por un sistema monousuario (únicamente un usuario al mismo tiempo) más sencillo de gestionar.[3] (Véase AmigaOS, beOS o MacOS como los pioneros[4] de dicha modernización, cuando los Amiga, fueron bautizados con el sobrenombre de Video

Toasters por su capacidad para la Edición de vídeo en entorno multitarea round robin, con gestión de miles de colores e interfaces intuitivos para diseño en 3D. Uno de los propósitos del sistema operativo que gestiona el núcleo intermediario consiste en gestionar los recursos de localización y protección de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. Se encuentran en la mayoría de los aparatos electrónicos que utilizan microprocesadores para funcionar. (Teléfonos móviles, reproductores de DVD, computadoras, radios, etc.). PERSPECTIVA HISTÓRICA Los primeros sistemas (1945-1960) eran grandes máquinas operadas desde la consola maestra por los programadores. Durante la década siguiente (1950-1960) se llevaron a cabo avances en el hardware: lectoras de tarjetas, impresoras, cintas magnéticas, etc. Esto a su vez provocó un avance en el software: compiladores, ensambladores, cargadores, manejadores de dispositivos, etc. A finales de los años 80, una computadora Commodore Amiga equipada con una aceleradora Video Toaster era capaz de producir efectos comparados a sistemas dedicados que costaban el triple. Un Video Toaster junto a Lightwave ayudó a producir muchos programas de televisión y películas, entre las que se incluyen Babylon 5, Seaquest DSV y Terminator II. PROBLEMAS DE EXPLOTACIÓN Y SOLUCIONES INICIALES El problema principal de los primeros sistemas era la baja utilización de los mismos, la


117 primera solución fue poner un operador profesional que lo manejase, con lo que se eliminaron las hojas de reserva, se ahorró tiempo y se aumentó la velocidad. Para ello, los trabajos se agrupaban de forma manual en lotes mediante lo que se conoce como procesamiento por lotes (batch) sin automatizar. MONITORES RESIDENTES

Fichas en lenguaje de procesamiento por lotes, con programa y datos, para ejecución secuencial. Según fue avanzando la complejidad de los programas, fue necesario implementar soluciones que automatizaran la organización de tareas sin necesidad de un operador. Debido a ello se crearon los monitores residentes: programas que residían en memoria y que gestionaban la ejecución de una cola de trabajos. Un monitor residente estaba compuesto por un cargador, un Intérprete de comandos y un Controlador (drivers) para el manejo de entrada/salida. SISTEMAS CON ALMACENAMIENTO TEMPORAL DE E/S Los avances en el hardware crearon el soporte de interrupciones y posteriormente se llevó a cabo un intento de solución más avanzado: solapar la E/S de un trabajo con sus propios cálculos, por lo que se creó el sistema de buffers con el siguiente


118 funcionamiento: Un programa escribe su salida en un área de memoria (buffer 1). El monitor residente inicia la salida desde el buffer y el programa de aplicación calcula depositando la salida en el buffer 2. La salida desde el buffer 1 termina y el nuevo cálculo también. Se inicia la salida desde el buffer 2 y otro nuevo cálculo dirige su salida al buffer 1. El proceso se puede repetir de nuevo. Los problemas surgen si hay muchas más operaciones de cálculo que de E/S (limitado por la CPU) o si por el contrario hay muchas más operaciones de E/S que cálculo (limitado por la E/S). SPOOLERS PERSPECTIVA HISTÓRICA Los primeros sistemas (1945-1950) eran grandes máquinas operadas desde la consola maestra por los programadores. Durante la década siguiente (1950-1960) se llevaron a cabo avances en el hardware: lectoras de tarjetas, impresoras, cintas magnéticas, etc. Esto a su vez provocó un avance en el software: compiladores, ensambladores, cargadores, manejadores de dispositivos, etc. Hace aparición el disco magnético con lo que surgen nuevas soluciones a los problemas de rendimiento. Se eliminan las cintas magnéticas para el volcado previo de los datos de dispositivos lentos y se sustituyen por discos (un disco puede simular varias cintas). Debido al solapamiento del cálculo de un trabajo con la E/S de otro trabajo se crean tablas en el disco para diferentes tareas, lo que se conoce como Spool (Simultaneous Peripherial Operation On-Line).


119 SISTEMAS OPERATIVOS MULTIPROGRAMADOS Surge un nuevo avance en el hardware: el hardware con protección de memoria. Lo que ofrece nuevas soluciones a los problemas de rendimiento: Se solapa el cálculo de unos trabajos con la entrada/salida de otros trabajos. Se pueden mantener en memoria varios programas. Se asigna el uso de la CPU a los diferentes programas en memoria. Debido a los cambios anteriores, se producen cambios en el monitor residente, con lo que éste debe abordar nuevas tareas, naciendo lo que se denomina como Sistemas Operativos multiprogramado, los cuales cumplen con las siguientes funciones: Administrar la memoria. Gestionar el uso de la CPU (planificación). Administrar el uso de los dispositivos de E/S. Cuando desempeña esas tareas, el monitor residente se transforma en un sistema operativo multiprogramado. LLAMADAS AL SISTEMA OPERATIVO Definición breve: llamadas que ejecutan los programas de aplicación para pedir algún servicio al SO. Cada SO implementa un conjunto propio de llamadas al sistema. Ese conjunto de llamadas es la interfaz del SO frente a las aplicaciones. Constituyen el lenguaje que deben usar las aplicaciones para comunicarse con el SO. Por ello si cambiamos de SO, y abrimos un programa diseñado para trabajar sobre el anterior, en general el programa no funcionará, a no ser que el nuevo SO tenga la misma interfaz. Para ello:


120 Las llamadas correspondientes deben tener el mismo formato. Cada llamada al nuevo SO tiene que dar los mismos resultados que la correspondiente del anterior. MODOS DE EJECUCIÓN EN UN CPU Las aplicaciones no deben poder usar todas las instrucciones de la CPU. No obstante el Sistema Operativo, tiene que poder utilizar todo el juego de instrucciones del CPU. Por ello, una CPU debe tener (al menos) dos modos de operación diferentes: Modo usuario: el CPU podrá ejecutar sólo las instrucciones del juego restringido de las aplicaciones. Modo supervisor: la CPU debe poder ejecutar el juego completo de instrucciones. LLAMADAS AL SISTEMA Una aplicación, normalmente no sabe dónde está situada la rutina de servicio de la llamada. Por lo que si ésta se codifica como una llamada de función, cualquier cambio en el SO haría que hubiera que reconstruir la aplicación. Pero lo más importante es que una llamada de función no cambia el modo de ejecución de la CPU. Con lo que hay que conseguir llamar a la rutina de servicio, sin tener que conocer su ubicación, y hacer que se fuerce un cambio de modo de operación de la CPU en la llamada (y la recuperación del modo anterior en el retorno). Esto se hace utilizando instrucciones máquina diseñadas específicamente para este cometido, distintas de las que se usan para las llamadas de función. BIBLIOTECAS DE INTERFAZ DE LLAMADAS AL SISTEMA Las llamadas al sistema no siempre tienen una expresión sencilla en los lenguajes de alto nivel, por ello se crean las bibliotecas de interfaz, que son bibliotecas de


121 funciones que pueden usarse para efectuar llamadas al sistema. Las hay para distintos lenguajes de programación. La aplicación llama a una función de la biblioteca de interfaz (mediante una llamada normal) y esa función es la que realmente hace la llamada al sistema. INTERRUPCIONES Y EXCEPCIONES El SO ocupa una posición intermedia entre los programas de aplicación y el hardware. No se limita a utilizar el hardware a petición de las aplicaciones ya que hay situaciones en las que es el hardware el que necesita que se ejecute código del SO. En tales situaciones el hardware debe poder llamar al sistema, pudiendo deberse estas llamadas a dos condiciones: Algún dispositivo de E/S necesita atención. Se ha producido una situación de error al intentar ejecutar una instrucción del programa (normalmente de la aplicación). En ambos casos, la acción realizada no está ordenada por el programa de aplicación, es decir, no figura en el programa. Según los dos casos anteriores tenemos las interrupciones y la excepciones: Interrupción: señal que envía un dispositivo de E/S a la CPU para indicar que la operación de la que se estaba ocupando, ya ha terminado. Excepción: una situación de error detectada por la CPU mientras ejecutaba una instrucción, que requiere tratamiento por parte del SO. TRATAMIENTO DE LAS INTERRUPCIONES Una interrupción se trata en todo caso, después de terminar la ejecución de la instrucción en curso.


122 El tratamiento depende de cuál sea el dispositivo de E/S que ha causado la interrupción, ante la cual debe poder identificar el dispositivo que la ha causado. La ventaja de este procedimiento es que no se tiene que perder tiempo ejecutando continuamente rutinas para consultar el estado del periférico. El inconveniente es que el dispositivo debe tener los circuitos electrónicos necesarios para acceder al sistema de interrupciones del computador. IMPORTANCIA DE LAS INTERRUPCIONES El mecanismo de tratamiento de las interrupciones permite al SO utilizar la CPU en servicio de una aplicación, mientras otra permanece a la espera de que concluya una operación en un dispositivo de E/S. El hardware se encarga de avisar al SO cuando el dispositivo de E/S ha terminado y el SO puede intervenir entonces, si es conveniente, para hacer que el programa que estaba esperando por el dispositivo, se continúe ejecutando. En ciertos intervalos de tiempo puede convenir no aceptar señales de interrupción. Por ello las interrupciones pueden inhibirse por programa (aunque esto no deben poder hacerlo las mismas). Un ejemplo de sincronismo por interrupción es el almacenamiento de caracteres introducidos mediante el teclado. Cuando se introduce un carácter, se codifica en el registro de datos del dispositivo y además se activa un bit del registro de estado quien crea una interrupción en el hardware. El procesador deja temporalmente la tarea que estaba completando y ejecuta la rutina de atención a la interrupción correspondiente. El teclado almacena el carácter en el vector de memoria intermedia (también llamado buffer) asociada al teclado y despierta el proceso que había en el estado de espera de la operación de entrada/salida. EXCEPCIONES


123 Cuando la CPU intenta ejecutar una instrucción incorrectamente construida, la unidad de control lanza una excepción para permitir al SO ejecutar el tratamiento adecuado. Al contrario que en una interrupción, la instrucción en curso es abortada. Las excepciones al igual que las interrupciones deben estar identificadas. Clases de excepciones Las instrucciones de un programa pueden estar mal construidas por diversas razones: El código de operación puede ser incorrecto. Se intenta realizar alguna operación no definida, como dividir por cero. La instrucción puede no estar permitida en el modo de ejecución actual. La dirección de algún operando puede ser incorrecta o se intenta violar alguno de sus permisos de uso. Importancia de las excepciones El mecanismo de tratamiento de las excepciones es esencial para impedir, junto a los modos de ejecución de la CPU y los mecanismos de protección de la memoria, que las aplicaciones realicen operaciones que no les están permitidas. En cualquier caso, el tratamiento específico de una excepción lo realiza el SO. Como en el caso de las interrupciones, el hardware se limita a dejar el control al SO, y éste es el que trata la situación como convenga. Es bastante frecuente que el tratamiento de una excepción no retorne al programa que se estaba ejecutando cuando se produjo la excepción, sino que el SO aborte la ejecución de ese programa. Este factor depende de la pericia del programador para controlar la excepción adecuadamente. COMPONENTES DE UN SISTEMA OPERATIVO


124

Componentes del Sistema Operativo. GESTIÓN DE PROCESOS Un proceso es simplemente, un programa en ejecución que necesita recursos para realizar su tarea: tiempo de CPU, memoria, archivos y dispositivos de E/S. El SO es el responsable de: Crear y destruir los procesos. Parar y reanudar los procesos. Ofrecer mecanismos para que se comuniquen y sincronicen. La gestión de procesos podría ser similar al trabajo de oficina. Se puede tener una lista de tareas a realizar y a estas fijarles prioridades alta, media, baja por ejemplo. Debemos comenzar haciendo las tareas de prioridad alta primero y cuando se terminen seguir con las de prioridad media y después las de baja. Una vez realizada la tarea se tacha. Esto puede traer un problema que las tareas de baja prioridad pueden que nunca lleguen a ejecutarse. y permanezcan en la lista para siempre. Para solucionar esto, se puede asignar alta prioridad a las tareas más antiguas. GESTIÓN DE LA MEMORIA PRINCIPAL La Memoria es una gran tabla de palabras o bytes que se referencian cada una


125 mediante una dirección única. Este almacén de datos de rápido accesos es compartido por la CPU y los dispositivos de E/S, es volátil y pierde su contenido en los fallos del sistema. El SO es el responsable de: Conocer qué partes de la memoria están siendo utilizadas y por quién. Decidir qué procesos se cargarán en memoria cuando haya espacio disponible. Asignar y reclamar espacio de memoria cuando sea necesario. GESTIÓN DEL ALMACENAMIENTO SECUNDARIO Un sistema de almacenamiento secundario es necesario, ya que la memoria principal (almacenamiento primario) es volátil y además muy pequeña para almacenar todos los programas y datos. También es necesario mantener los datos que no convenga mantener en la memoria principal. El SO se encarga de: Planificar los discos. Gestionar el espacio libre. Asignar el almacenamiento. Verificar que los datos se guarden en orden EL SISTEMA DE E/S Consiste en un sistema de almacenamiento temporal (caché), una interfaz de manejadores de dispositivos y otra para dispositivos concretos. El sistema operativo debe gestionar el almacenamiento temporal de E/S y servir las interrupciones de los dispositivos de E/S. SISTEMA DE ARCHIVOS Los archivos son colecciones de información relacionada, definidas por sus creadores.


126 Éstos almacenan programas (en código fuente y objeto) y datos tales como imágenes, textos, información de bases de datos, etc. El SO es responsable de: Construir y eliminar archivos y directorios. Ofrecer funciones para manipular archivos y directorios. Establecer la correspondencia entre archivos y unidades de almacenamiento. Realizar copias de seguridad de archivos. Existen diferentes Sistemas de Archivos, es decir, existen diferentes formas de organizar la información que se almacena en las memorias (normalmente discos) de los ordenadores. Por ejemplo, existen los sistemas de archivos FAT, FAT32, EXT3, NTFS, XFS, etc. Desde el punto de vista del usuario estas diferencias pueden parecer insignificantes a primera vista, sin embargo, existen diferencias muy importantes. Por ejemplo, los sistemas de ficheros FAT32 y NTFS, que se utilizan fundamentalmente en sistemas operativos de Microsoft, tienen una gran diferencia para un usuario que utilice una base de datos con bastante información ya que el tamaño máximo de un fichero con un Sistema de Archivos FAT32 está limitado a 4 gigabytes, sin embargo, en un sistema NTFS el tamaño es considerablemente mayor.

SISTEMAS DE PROTECCIÓN Mecanismo que controla el acceso de los programas o los usuarios a los recursos del sistema. El SO se encarga de: Distinguir entre uso autorizado y no autorizado. Especificar los controles de seguridad a realizar.


127 Forzar el uso de estos mecanismos de protección. SISTEMA DE COMUNICACIONES Para mantener las comunicaciones con otros sistemas es necesario poder controlar el envío y recepción de información a través de las interfaces de red. También hay que crear y mantener puntos de comunicación que sirvan a las aplicaciones para enviar y recibir información, y crear y mantener conexiones virtuales entre aplicaciones que están ejecutándose localmente y otras que lo hacen remotamente. PROGRAMAS DE SISTEMA Son aplicaciones de utilidad que se suministran con el SO pero no forman parte de él. Ofrecen un entorno útil para el desarrollo y ejecución de programas, siendo algunas de las tareas que realizan: Manipulación y modificación de archivos. Información del estado del sistema. Soporte a lenguajes de programación. Comunicaciones. GESTOR DE RECURSOS Como gestor de recursos, el Sistema Operativo administra: La CPU (Unidad Central de Proceso, donde está alojado el microprocesador). Los dispositivos de E/S (entrada y salida) La memoria principal (o de acceso directo). Los discos (o memoria secundaria). Los procesos (o programas en ejecución).


128 y en general todos los recursos del sistema. CLASIFICACIÓN ADMINISTRACIÓN DE TAREAS Monotarea: Solamente puede ejecutar un proceso (aparte de los procesos del propio S.O.) en un momento dado. Una vez que empieza a ejecutar un proceso, continuará haciéndolo hasta su finalización y/o interrupción. Multitarea: Es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de S.O. normalmente asigna los recursos disponibles (CPU, memoria, periféricos) de forma alternada a los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez, de forma concurrente. ADMINISTRACIÓN DE USUARIOS Monousuario: Si sólo permite ejecutar los programas de un usuario al mismo tiempo. Multiusuario: Si permite que varios usuarios ejecuten simultáneamente sus programas, accediendo a la vez a los recursos de la computadora. Normalmente estos sistemas operativos utilizan métodos de protección de datos, de manera que un programa no pueda usar o cambiar los datos de otro usuario. MANEJO DE RECURSOS Centralizado: Si permite utilizar los recursos de una sola computadora. Distribuido: Si permite utilizar los recursos (memoria, CPU, disco, periféricos...) de más de una computadora al mismo tiempo.


129


computacion para todos