Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en...

22
Tema 1. ¿Qué es un ordenador? OBJETIVOS El objetivo principal de este tema es presentar al alumno la herramienta que utilizaremos para desarrollar y ejecutar aplicaciones de software: el ordenador. Los ordenadores modernos son uno de los productos más importantes del siglo XXI, y, especial- mente, de las tres últimas décadas. Son una herramienta esencial en muchas áreas: industria, go- bierno, ciencia, educación, y prácticamente en casi todas las actividades de nuestra vida cotidiana. El papel de los programas de ordenador es esencial; sin una lista de instrucciones a seguir el orde- nador es una máquina inútil. Los lenguajes de programación nos permiten escribir estos programas y comunicarnos con los ordenadores. Este tema introduce al ordenador y a sus componentes, así como y a la metodología a seguir para la resolución de problemas con ordenador. CONTENIDOS 1. Concepto y antecedentes del ordenador 1 2. Evolución histórica de los ordenadores 2 3. Estructura básica de un ordenador 8 4. Componentes de un ordenador 9 5. El hardware 10 6. El software 12 7. Organización de la memoria principal 12 8. Un poco de humor: el ordenador, ¿masculino o femenino? 22 Bibliografía Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill. Pont, M.J. “Software Engineering with C++ and CASE Tools”. Capítulo 1. Ed. Addison-Wesley. 1. Concepto y antecedentes del ordenador El ordenador ocupa un lugar sobresaliente en la sociedad moderna. Ha contribuido a muchos ade- lantos científicos, industriales y comerciales. También se utiliza como medio de entretenimiento en la sociedad, especialmente el hogar, tratamientos médicos, predicción del clima, exploración del espacio, control del tráfico aéreo, cálculos científicos y otros numerosos campos del quehacer humano. El mundo de la alta tecnología nunca hubiera existido de no ser por el desarrollo del ordenador. Toda la sociedad utiliza estas máquinas, en distintos tipos y tamaños, para el almacenamiento y manipulación de datos. Han abierto una nueva era. En la fabricación gracias a las técnicas de au- tomatizació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 aplicada. Pero, ¿qué es un ordenador? en sí un ordenador es un dispositivo electrónico. Un ordenador es un dispositivo electrónico digital capaz de recibir un conjunto de instrucciones y ejecutarlas realizando cálculos sobre los datos numéricos, o bien compilando y correlacionando otros tipos de informa-

Transcript of Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en...

Page 1: Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill. •

Tema 1. ¿Qué es un ordenador?

OBJETIVOS

El objetivo principal de este tema es presentar al alumno la herramienta que utilizaremos para desarrollar y ejecutar aplicaciones de software: el ordenador.

Los ordenadores modernos son uno de los productos más importantes del siglo XXI, y, especial-mente, de las tres últimas décadas. Son una herramienta esencial en muchas áreas: industria, go-bierno, ciencia, educación, y prácticamente en casi todas las actividades de nuestra vida cotidiana. El papel de los programas de ordenador es esencial; sin una lista de instrucciones a seguir el orde-nador es una máquina inútil. Los lenguajes de programación nos permiten escribir estos programas y comunicarnos con los ordenadores.

Este tema introduce al ordenador y a sus componentes, así como y a la metodología a seguir para la resolución de problemas con ordenador.

CONTENIDOS

1. Concepto y antecedentes del ordenador 1 2. Evolución histórica de los ordenadores 2 3. Estructura básica de un ordenador 8 4. Componentes de un ordenador 9 5. El hardware 10 6. El software 12 7. Organización de la memoria principal 12 8. Un poco de humor: el ordenador, ¿masculino o femenino? 22

Bibliografía

• Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill.

• Pont, M.J. “Software Engineering with C++ and CASE Tools”. Capítulo 1. Ed. Addison-Wesley.

1. Concepto y antecedentes del ordenador El ordenador ocupa un lugar sobresaliente en la sociedad moderna. Ha contribuido a muchos ade-lantos científicos, industriales y comerciales. También se utiliza como medio de entretenimiento en la sociedad, especialmente el hogar, tratamientos médicos, predicción del clima, exploración del espacio, control del tráfico aéreo, cálculos científicos y otros numerosos campos del quehacer humano.

El mundo de la alta tecnología nunca hubiera existido de no ser por el desarrollo del ordenador. Toda la sociedad utiliza estas máquinas, en distintos tipos y tamaños, para el almacenamiento y manipulación de datos. Han abierto una nueva era. En la fabricación gracias a las técnicas de au-tomatizació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 aplicada.

Pero, ¿qué es un ordenador? en sí un ordenador es un dispositivo electrónico. Un ordenador es un dispositivo electrónico digital capaz de recibir un conjunto de instrucciones y ejecutarlas realizando cálculos sobre los datos numéricos, o bien compilando y correlacionando otros tipos de informa-

Page 2: Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill. •

2 ¿Qué es un ordenador?

ción. El término digital hace referencia a que la información almacenada y procesada por el orde-nador esta representada mediante códigos numéricos binarios formados por ceros y unos (0 y 1) conocidos como bits. Lo más sorprendente de los ordenadores es que pueden realizar operaciones complejas cuando sus circuitos electrónicos solo pueden comparar dos bits o cambiar un bit de 0 a 1. ¿Como es esto posible?, pues debido a las altas velocidades con que se ejecutan estas operacio-nes sencillas.

El ordenador no solamente es una maquina que puede realizar procesos para darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza para llegar a esos resultados. Con el ordenador, además, también podemos diseñar soluciones a la medida, de problemas especí-ficos que se nos presenten. Mas aún, si estos involucran operaciones matemáticas complejas y/o repetitivas, o requieren del manejo de un volumen muy grande de datos.

El diseño de soluciones a la medida de nuestros problemas, requiere como en otras disciplinas una metodología que nos enseñe de manera gradual, la forma de llegar a estas soluciones.

A las soluciones creadas por ordenador se les conoce como programas y no son más que una se-rie de operaciones que realiza el ordenador para llegar a un resultado, con un grupo de datos espe-cíficos. En resumen:

Programa: Es el conjunto de instrucciones escritas de algún lenguaje de programa-ción y que ejecutadas secuencialmente resuelven un problema especifico.

Para poder realizar programas, además de conocer la metodología mencionada, también debemos de conocer, de manera específica las funciones que puede realizar el ordenador y las formas en que se pueden manejar los elementos que hay en la misma.

2. Evolución histórica de los ordenadores

2.1. Calculadoras

Las calculadoras aparecieron ante la necesidad del hombre por realizar cálculos básicos, que le permitían un mayor control sobre sus posesiones y sobre diferentes aspectos de la realidad que le rodeaba.

La calculadora más antigua son las manos, a través de las cuales el hombre realiza sus primeros cálculos. Pronto comienza a utilizar objetos de la naturaleza como trozos de madera y pequeñas piedras, en latín Calculus, para realizar cálculos mas complicados. Pero para operaciones con nú-meros grandes este método es limitado.

El paso siguiente es asignar un valor simbólico al objeto, hasta ahora el valor de un objeto era la unidad, a partir de ahora un objeto puede significar 5, 10 o cualquier cantidad que se le asigne. Es-to hace que aparezcan los primeros objetos creados con el único propósito de realizar cálculos.

El ábaco es un ejemplo de estos diseños, se compone de un marco de madera en el que hay tendi-dos una serie de hilos o varillas. En cada uno de ellos se insertan una serie de cuentas que permi-ten almacenar cantidades y realizar operaciones básicas de suma y resta.

Page 3: Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill. •

Evolución histórica de los ordenadores 3

Ábaco

2.2. Calculadoras mecánicas

En 1623, un alemán Schickard diseñó la primera calculadora que sumaba y restaba. Tuvo tan mala suerte que el modelo fue destruido en un incendio. Es considerada como la primera calculadora mecánica.

La calculadora que alcanzó mayor difusión fue la desarrollada por el filósofo Blaise Pascal, que a la edad de 19 años desarrolló su Machina Aritmética. Años después creó la Pascaliana que podía reali-zar sumas y restas. Esta calculadora estaba basada en una serie de engranajes y ruedas dentadas. La base de las operaciones consistía en contar los dientes de un engranaje, al igual que un cuenta-kilómetros.

Máquina de Pascal

En 1671, Gottfried Wilhelm Leibniz construye la primera máquina capaz de sumar, restar, multipli-car y dividir. El mecanismo también era de engranajes. Las multiplicaciones se realizaban como sumas sucesivas y las divisiones como restas sucesivas. Fue denominada Máquina Universal.

Estas no eran máquinas automáticas ya que requerían la intervención humana durante el proceso.

Al comienzo del siglo XIX el francés Joseph-Marie Jacquard, inventa un telar mecánico cuyos dise-ños se reproducían gracias a una serie de tarjetas perforadas, las cuales permitían repetir el diseño del dibujo en la tela siempre que se desease. Las tarjetas perforadas transmitían a la tejedora las instrucciones necesarias para su funcionamiento.

Utilizando este procedimiento de tarjetas perforadas unido al anterior diseño de ruedas mecánicas, Charles Babbage desarrolló en 1834 la Máquina Analítica. Esta máquina se proyectó con los tres componentes básicos de un ordenador actual:

1. Una memoria

2. Una unidad de cálculo

3. Una unidad de control de las operaciones a través de tarjetas perforadas.

Page 4: Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill. •

4 ¿Qué es un ordenador?

Máquina diferencial de Babbage

Era capaz de realizar cualquier cálculo y de almacenar programas, pero la máquina quedó incom-pleta debido a la tecnología de la época.

En 1890 Herman Hollerith, crea una máquina para realizar el censo de EEUU. Esta máquina utiliza un sistema electrónico para la lectura de las tarjetas perforadas y un sistema mecánico para calcu-lar. En 1924 la compañía fundada por Hollerith cambia de nombre para denominarse "Internatio-nal Business Machines" (IBM).

La aparición de la tecnología eléctrica permite la incorporación de relés, que son interruptores bina-rios con dos posiciones, encendido y apagado.

¿Cómo es posible representar los números si los interruptores sólo tienen dos posiciones? En china antiguamente ya se había utilizado un sistema binario de numeración que fue descrito por Leibniz en el siglo XVII.

Calculadora de Leibniz

Este sistema consiste en utilizar dos dígitos para representar las cifras, comúnmente 1 y 0, así 0 = Cero, 1= Uno, 10= dos, 11= Tres, 100= Cuatro, 101= Cinco, etcétera…

Es aquí importante destacar la aportación de la Lógica Algebraica de Boole, que reduce la lógica, y en consecuencia las operaciones matemáticas, a combinaciones de elementos binarios (Boole utili-za Verdadero y Falso, que corresponden a 1 y 0).

2.3. Computadoras

Las computadoras se diferencian de las calculadoras en que poseen un programa, el cual puede ser modificado para que la máquina realice diferentes operaciones, mientras que las calculadoras se limitan a un único propósito, o varios, pero ya prefijados a la hora de su fabricación.

Page 5: Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill. •

Evolución histórica de los ordenadores 5

Los ordenadores que han ido apareciendo desde los años 40 se han agrupado en 5 generaciones, que se diferencian por sus componentes. Sin embargo la verdadera revolución de la informática no llegó hasta la aparición de los microprocesadores.

2.3.1. Primera generación 1940-1960 En 1936 Turing desarrolla una teoría sobre el funcionamiento de calculadores binarios. Esta teoría se ve plasmada en 1941 cuando el científico alemán Konrad Zuze construye la primera computado-ra que funciona con relés eléctricos, se denominará Z3. Este fue el primer computador, ya que era controlado por un programa.

La Universidad de Harvard establece un acuerdo con la empresa IBM para crear un computador de carácter general. Esta máquina estuvo operativa en 1944 y se denominó Mark I. Tenía la capacidad de almacenar 72 números de 23 cifras, utilizaba tarjetas perforadas para introducir los números y las operaciones. Su velocidad no era muy elevada, necesitando diez segundos para realizar una multiplicación y once para una división.

E.N.I.A.C. Primer ordenador construido totalmente electrónico

En 1947 se construyó en la Universidad de Pennsylvania la ENIAC, que fue la primera computadora propiamente dicha. Esta máquina ocupaba todo un sótano de la universidad, pesaba 30 toneladas y requería todo un sistema de aire acondicionado, pero era capaz de realizar cinco mil operaciones aritméticas en un segundo. Lo que MARK I realizaba en una semana, ENIAC lo hacía en una hora, pero cada vez que se cambiaba el de tipo de operación había que cambiar las conexiones de los cables, operación que podía durar varios días de trabajo.

El proyecto, subvencionado por el Departamento de Defensa de los Estados Unidos, culminó dos años después, cuando se integró el ingeniero húngaro John von Neumann; sus ideas resultaron tan fundamentales para el desarrollo posterior que es considerado el padre de las computadoras.

La idea fundamental de Neumann fue permitir que en la memoria coexistieran datos con instruc-ciones, para que la computadora pudiera ser programada a través de esos datos y no por medio de alambre que eléctricamente programaban las operaciones de la computadora.

En 1952 Neumann termina EDVAC. Esta máquina, además de almacenar en la memoria los datos y las instrucciones, era capaz de almacenar programas específicos para su funcionamiento, de esta forma el cambio de operaciones se hacía por medio de programas y no alambres.

En 1951 aparece la UNIVAC. Se creó para la realización del censo electoral de Estados Unidos. Es la primera computadora comercial. Disponía de mil palabras de memoria central y podía leer cintas magnéticas. Dos años después IBM lanza el IBM 701.

En esta generación cabe destacar la aparición de los primeros lenguajes de programación que per-mitían substituir la programación en Lenguaje Máquina, es decir 1 y 0, que eran introducidos direc-

Page 6: Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill. •

6 ¿Qué es un ordenador?

tamente en el computador, por una Programación Simbólica, que traduce símbolos del lenguaje na-tural a Lenguaje Máquina.

2.3.2. Segunda generación 1960-1965 Se caracteriza por el cambio de la válvula de vacío por transistores y por un aumento de la capaci-dad de memoria. Los circuitos con transistores, reducen el tamaño de las máquinas. El transistor es un dispositivo electrónico formado por un cristal de silicio. Su funcionamiento es sencillo, tiene dos posibilidades, transmitir o no transmitir.

Su aparición hizo que las computadores fuesen más rápidas pequeñas y baratas. En esta genera-ción se ampliaron las memorias auxiliares y se crearon los discos magnéticos de gran capacidad. Se diseñaron las impresoras y lectores ópticos y se desarrollaron los lenguajes de programación, aparecen los nuevos lenguajes de programación denominados Lenguajes de Alto Nivel.

El primer ordenador con transistores, el ATLAS 1962, se construyó en 1956.

2.3.3. Tercera generación 1965-1975 Se caracteriza por la aparición de los circuitos integrados realizados a base de silicio, el aumento de la velocidad, el mayor número de programas y lenguajes: Cobol, Fortran y la aparición de los terminales para transmitir datos al procesador central a distancia, o viceversa. Aparecen los siste-mas operativos para el control de la computadora, almacenes centrales de datos a los que se pue-de acceder desde varios usuarios a la vez.

El primer aparato basado totalmente en circuitos integrados es el IBM serie 360 que incorporó además un Sistema Operativo para el control de la máquina.

A mediados de los 70 aparecen las primeras minicomputadoras.

2.3.4. Cuarta generación 1975-1990 La característica más importante de esta generación es la aparición de los microprocesadores "Chip", que son circuitos con gran cantidad de transistores integrados en un pequeño espacio.

Otras características son el aumento de la capacidad de entrada y salida de datos, mayor duración de los componentes, nuevos lenguajes de programación Logo, Pascal, Basic, bases de datos. Sur-gen terminales inteligentes con memoria propia y los procesadores de palabras. Se reduce del ta-maño y coste de los computadores y mejora la velocidad de cálculo.

Se abre una nueva era con la aparición de las Computadoras Personales o Personal Computer.

En 1976 Steve Wozniak y Steve Jobs fabrican en el garaje de su casa la primera microcomputadora Apple I del mundo y más tarde fundan la compañía Apple.

Otras compañías lanzan posteriormente sus modelos de microcomputadoras.

En 1981 IBM lanza al mercado su primer IBM-PC.

Un ejemplo, los primeros microcomputadores tenían un precio superior a los dos millones de pese-tas. A finales de los 80, el precio estaba sobre las doscientas mil pesetas y su rendimiento era 100 veces mayor.

En esta época destaca el desarrollo de los sistemas operativos, que buscan una integración entre el usuario y el ordenador, a través de la utilización de gráficos.

2.3.5. Quinta generación 1990-hoy La revolución llega con los microprocesadores de nueva generación. La velocidad se dispara y se suceden las sucesivas generaciones de microprocesadores, se generaliza el ordenador personal.

Page 7: Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill. •

Evolución histórica de los ordenadores 7

Las alianzas entre compañías rivales son la tónica de esta época, IBM firma acuerdos con Apple y Motorola, para la producción de una nueva serie de microprocesadores denominados PowerPC. In-tel lanza el microprocesador Pentium como respuesta a esta alianza. Conforme avanzan los años la velocidad y el rendimiento de los microprocesadores es mayor gracias a los avances en la microe-lectrónica.

Hay que destacar que por otro lado otras empresas continúan trabajando en supercomputadores que incorporan varios microprocesadores en la misma máquina.

Según la "Ley de Moore" el número de transistores por microprocesador se duplica cada 18 meses. Se ha cumplido en los últimos 30 años y se prevé se cumpla durante los próximos 20 años.

Modelo Fecha Velocidad de reloj

Ancho de bus interno

4004 15/11/1971 108 Khz 4 bits

8008 1/4/1972 108 Khz 8 bits

8080 1/4/1974 2 Mhz 8 bits

8088 8/6/1978 5-8 Mhz 8 bits

8086 1/6/1979 5-10 Mhz 16 bits

80286 1/2/1982 8-12 Mhz 16 bits

80386 SX 17/10/1985 16-33 Mhz 16 bits

80386 DX 16/6/1988 16-20 Mhz 32 bits

80486 SX 10/4/1989 16-33 Mhz 32 bits

80486 DX 22/4/1991 25-50Mhz 32 bits

PENTIUM 22/3/1993 60-200 Mhz 32 bits

PENTIUM PRO 27/3/1995 150-200 Mhz 64 bits

PENTIUM II 7/5/1997 233-300 Mhz 64 bits

PENTIUM III 7/5/1999 > 400 Mhz 64 bits

Page 8: Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill. •

8 ¿Qué es un ordenador?

3. Estructura básica de un ordenador La información digital va asociada a las actividades humanas y al modo en que el hombre resuelve los problemas. Por tanto, los computadores digitales son especialmente apropiados para simular dicho comportamiento y utilizan como modelo para su funcionamiento y organización interna al ce-rebro humano.

Resulta útil ilustrar estas consideraciones con el siguiente ejemplo, en el que se van a analizar los procesos involucrados en el cálculo manual a base de lápiz y papel. El principal objetivo del papel es almacenar información. La información que se almacena en el papel puede incluir una lista de instrucciones que indica los pasos a seguir en el cálculo- es decir un algoritmo o programa-, así como los datos iniciales del problema a partir de los cuales se realizan los cálculos. A lo largo del proceso de cálculo también se escribirán en el papel los resultados intermedios de las operaciones y, al término del mismo, se escribirá el resultado final. Los procesos de cálculo tiene lugar en el ce-rebro humano, al cual podemos denominar el procesador.

Pueden distinguirse dos funciones básicas en el cerebro humano mientras realiza este trabajo:

• una función de control que interpreta las instrucciones del papel y cuida de que se realicen en el orden adecuado

• una función de ejecución que realiza cálculos concretos tales como sumas, multiplicaciones y divisiones.

El cerebro humano es ayudado hoy en día por las calculadores de bolsillo a la hora de realizar la función de ejecución.

Los elementos principales de un computador digital son análogos a los elementos que hemos iden-tificado en la actividad anterior y se muestran en la Figura.

• La unidad de memoria (abreviadamente UM) realiza las funciones del papel y su misión es la de almacenar tanto instrucciones como datos.

• La unidad de control de programa (abreviadamente UC) se encarga de interpretar y secuen-ciar las instrucciones.

• La unidad aritmético-lógica (abreviadamente UAL) se encarga de ejecutar las instrucciones y se denomina así porque, al igual que el cerebro, las operaciones que esta unidad es capaz de realizar pueden ser tanto de naturaleza numérica: operaciones aritméticas, como no numéri-ca: operaciones lógicas, tales como saltos condicionales en el programa o procesamiento simbólico.

Las unidades de control de programa y aritmético-lógica suelen unirse formando la denominada unidad central de proceso o, abreviadamente, UCP, que se asemeja en sus cometidos al cerebro cuando realiza los cálculos humanos.

Una diferencia sustancial entre el hombre y la máquina radica en la forma en que ambos represen-tan la información (tanto instrucciones como datos). Los seres humanos utilizan los lenguajes na-turales, que contienen una gran variedad de símbolos, y suelen representar los números en base 10.

Page 9: Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill. •

Componentes de un ordenador 9

Sin embargo los computadores actuales, debido a las tecnologías electrónicas en que se fundamen-tan basadas en transistores, procesan y almacenan la información en forma binaria, es decir, utili-zando dos únicos símbolos denominados convencionalmente 0 y 1.

Para poder establecer la comunicación entre la máquina y los usuarios humanos deberá utilizarse un traductor que convierta la información desde el lenguaje máquina al lenguaje humano y vice-versa. El dispositivo que realiza esta función es un computador digital que se denomina unidad de entrada-salida.

Como conclusión se puede decir que cualquier computador digital o humano debe disponer de los siguientes elementos:

1. Un procesador capaz de interpretar y ejecutar programas.

2. Una memoria para almacenar programas y datos.

3. Un sistema para transferir la información entre la memoria y el procesador, y entre el com-putador y el mundo externo.

4. Componentes de un ordenador Un sistema de procesamiento de la información involucra tres componentes: datos de entrada, procesador y datos de salida, como se muestra en la figura 1. El procesador transforma los da-tos de entrada en datos de salida ejecutando instrucciones precisas y detalladas (programas).

Figura 1. Proceso de información en un ordenador.

Los componentes físicos que constituyen el ordenador, junto con los dispositivos que realizan las tareas de entrada y salida, se conocen con el término hardware. El conjunto de instrucciones que hacen que el ordenador funcione se denomina programa, que se encuentra almacenado en la me-moria del ordenador; a la persona que escribe programas se le denomina programador, y el con-junto de programas escritos para un ordenador se conoce como software. Por tanto:

• El hardware es la parte física del ordenador. Es aquello que podemos ver y tocar. Está for-mado por el monitor, el teclado, el ratón, la unidad del sistema, la impresora, etc.

• El software es la parte lógica del ordenador y esta formado por el conjunto de programas que controlan el funcionamiento del ordenador.

Page 10: Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill. •

10 ¿Qué es un ordenador?

Esta asignatura se centra fundamentalmente en el software, pero haremos una breve revisión del hardware como recordatorio o introducción, según sean los conocimientos del alumno es este cam-po.

5. El hardware El Hardware es el equipo utilizado para el funcionamiento de un ordenador. El hardware se refiere a los componentes materiales de un sistema informático. La función de estos componentes suele dividirse en tres categorías principales: entrada, salida y almacenamiento. Los componentes de esas categorías están conectados a través de un conjunto de cables o circuitos llamado bus con la unidad central de proceso (CPU) del ordenador, el microprocesador que controla el ordenador y le proporciona capacidad de cálculo.

Daremos aquí una breve descripción de las partes fundamentales del hardware sin entrar en deta-lles internos. La mayoría de los ordenadores, independientemente de su tamaño, están organiza-dos tal como se muestra en la figura 2. Constan fundamentalmente de tres componentes principa-les:

• Procesador también llamado Unidad Central de Proceso o CPU, del inglés, Central Processing Unit. Consta de la Unidad Aritmética-lógica y la Unidad de Control.

• Memoria principal.

• Dispositivos de entrada y salida E/S.

• Memoria auxiliar.

Figura 2. Organización física de un ordenador.

5.1. Procesador o Unidad Central de Proceso

El procesador es el cerebro del ordenador, el responsable de mantener en funcionamiento coordi-nado todas las partes del ordenador ejecutando instrucciones precisas y detalladas que son los programas. El procesador esta compuesto de dos partes fundamentales que son: la Unidad Aritmé-tica-Lógica y la Unidad de Control.

La Unidad Aritmética-Lógica, es la responsable de efectuar operaciones aritméticas (suma, res-ta, multiplicación y división) y operaciones lógicas (comparaciones booleanas).

La Unidad de Control, es la responsable de la sincronización de todas las actividades del ordena-dor. Decide cuando se obtendrán datos de los dispositivos de entrada para ser llevados a la memo-ria, cuando se efectuarán cálculos con los datos almacenados en la memoria y cuando se llevarán datos de la memoria a los dispositivos de salida.

Page 11: Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill. •

El hardware 11

5.2. Memoria principal

La memoria principal es el espacio donde se almacenan los datos e instrucciones que se requieren para la realización de un proceso. En caso que los datos e instrucciones no quepan íntegramente en la memoria principal, entonces serán cargados hacia ella por etapas, pero en todo caso, cual-quier operación se realiza en base al contenido actual de la memoria principal. A la memoria prin-cipal se la conoce también como memoria RAM (Random Access Memory, Memoria de Acceso Alea-torio).

Las características más relevantes de la memoria principal son las siguientes:

• La memoria principal es un espacio de almacenamiento temporal por lo que los datos no guardados en un medio de almacenamiento permanente se pierden al apagar el ordenador o al salir un programa de la memoria.

• Esta íntimamente ligada al procesador por lo que el acceso a la memoria principal es muy rápido lo que le permite al procesador acceder a la memoria principal millones de veces por segundo.

• Es de tamaño reducido en comparación a la memoria secundaria

La unidad más pequeña de memoria es el bit. Un bit puede almacenar un sólo dígito binario, 0 ó 1. Le sigue a esto el byte, que esta compuesto de 8 bits. Un byte tiene la capacidad de almacenar un carácter de información. En cambio para almacenar información numérica se requiere de mayor memoria que puede ser 2, 4 e incluso 8 bytes consecutivos, dependiendo del tipo de dato numéri-co.

Con cada byte de memoria se asocian dos cosas: dirección y contenido (la combinación de ceros y unos que puede almacenar). El procesador accede a una posición de memoria en base a su direc-ción.

Siempre que una nueva información se almacene en una posición de memoria, se destruye la in-formación actual almacenada en esa posición y no se puede recuperar.

La memoria principal puede subdividirse en: memoria ROM, EPROM, RAM, DRAM, CMOS y Caché. La memoria a que se hizo referencia en la descripción anterior se denomina memoria RAM (Ran-dom Access Memory, Memoria de Acceso Aleatorio). Para una descripción sobre los otros tipos de memoria puede recurrir a cualquier literatura técnica al respecto.

5.3. Dispositivos de entrada/salida

También conocidos como periféricos E/S. Estos dispositivos permiten comunicar el ordenador con el usuario permitiendo el ingreso de datos al ordenador (dispositivos de entrada) y la salida de infor-mación del ordenador (dispositivos de salida). Es decir, los dispositivos de E/S son una interfaz en-tre el usuario y el ordenador.

Entre los dispositivos de entrada más comunes se cuentan el teclado y el ratón. Existen otros dispositivos de entrada como el escáner, el lápiz óptico, el joystick, lápiz óptico, etc.

Entre los dispositivos de salida más comunes tenemos: la pantalla y la impresora. Existen otros dispositivos de salida como los trazadores de gráficos, tarjetas de sonido, etc.

También existen dispositivos que permiten la comunicación bidireccional, como el modem o la tar-jeta de red.

5.4. Memoria auxiliar

Son dispositivos en los que se puede almacenar datos y programas de forma permanente. Entre los dispositivos más comunes de este tipo tenemos: los discos duros y los discos flexibles. Existen otros dispositivos de almacenamiento permanente como las unidades de cinta magnética, los dis-cos compactos, los discos ópticos, etc.

Las características más relevantes de la memoria secundaria son las siguientes:

• Es un espacio de almacenamiento permanente.

• Un disco duro tiene un espacio de almacenamiento muchísimo mas grande que el proporcio-nado por la memoria principal. Así un disco duro de 8 gigabytes es 250 veces la capacidad de almacenamiento de la memoria principal (asumiendo una memoria principal típica de 32 megabytes de RAM).

Page 12: Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill. •

12 ¿Qué es un ordenador?

• El procesador no actúa directamente con la memoria secundaria por lo que el acceso a la memoria secundaria es lento.

6. El software El software, (o soporte lógico) es el conjunto de instrucciones que un ordenador emplea para ma-nipular datos: por ejemplo, un procesador de textos o un videojuego. Estos programas suelen al-macenarse y transferirse a la CPU a través del hardware del ordenador. El software también rige la forma en que se utiliza el hardware, como por ejemplo la forma de recuperar información de un dispositivo de almacenamiento. La interacción entre el hardware de entrada y de salida es contro-lada por un software llamado BIOS (siglas en inglés de 'sistema básico de entrada / salida').

Un programa es un conjunto detallado de instrucciones que instruyen al procesador para realizar determinados procesos. Los datos pueden ser cualquier información que necesite el programa: ca-racteres, números, imágenes, etc. A efectos de la memoria del ordenador (principal y secundaria) no hay ninguna distinción entre programas y datos.

6.1. Software específico o de aplicación

Son programas que tienen una aplicación específica tales como la preparación de nóminas, proce-samiento de texto, procesamiento de imágenes, procesamiento de audio, etc.

Es decir, son programas que responden a una necesidad concreta y que ayudan a las persona a realizar sus trabajos. El mercado del software esta lleno de software de aplicación. Algunos pro-gramas de aplicación conocidos son: Microsoft Word, Microsoft Excel, Microsoft Power Point, Adobe Photoshop, Corel Draw, WinZip, Internet Explorer, etc.

6.2. Software de sistema

Son programas indispensables para el funcionamiento del ordenador. Estos programas son, bási-camente, el sistema operativo, los compiladores e intérpretes y los programas de utilidad.

El software de sistema más importante es el sistema operativo. El sistema operativo es una colec-ción compleja de muchos programas y es el encargado de coordinar el funcionamiento de los com-ponentes hardware y software de un sistema de cómputo. El sistema operativo es responsable de iniciar la ejecución de otros programas proporcionando los recursos necesarios. Cuando un programa esta en ejecución, el sistema operativo maneja los detalles del hardware para dicho programa. Por ejemplo, cuando desde un programa procesador de textos, como Micro-soft Word, usted decide guardar el documento que ha elaborado, es el sistema operativo el encargado de al-macenar el documento como un archivo en el disco du-ro o disco flexible, según haya elegido. Así pues, entre muchas otras cosas, el sistema operativo se encarga del almacenamiento y recuperación de archi-vos. Los sistemas operativos pueden ser: monousuarios (un sólo usuario) y multiusuarios (dife-rentes usuarios), atendiendo al número de usuarios y monocarga (una sola tarea) o multitarea (múltiples tareas), atendiendo al número de tareas (procesos) que puede realizar simultáneamente

Los sistemas operativos modernos normalmente vienen con una interfaz gráfica de usuario que permite a los usuarios interactuar fácilmente con el sistema operativo mediante menús, íconos, el ratón y el teclado. Como ejemplos de sistemas operativos tenemos los siguientes: Unix, Windows 98, Windows NT, Linux, Solaris y System7.

Los compiladores e intérpretes son programas traductores que traducen un programa escrito en un determinado lenguaje de programación al lenguaje máquina que es el lenguaje del procesador. Ca-da lenguaje de programación tiene su propio compilador o intérprete.

7. Organización de la memoria principal Los primeros ordenadores estaban dotados de memorias que almacenaban sus datos en forma de campo magnético en núcleos de ferrita, los cuales estaban ensamblados en conjuntos de núcleos de memoria.

La función de la memoria principal es almacenar datos e instrucciones de programa de forma tem-poral. Es estación obligada en todas las operaciones de entrada y salida y, por supuesto, de los re-sultados parciales o finales del proceso.

Page 13: Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill. •

Organización de la memoria principal 13

La memoria esta estructurada en forma de una colección de celdas, en cada una de las cuales cabe una unidad especifica de información: octetos o palabras. El contenido de cada una de las posicio-nes de memoria podrá ser bien dato o instrucción. Cada celda tiene asignada una posición relativa con respecto a un origen, cuyo valor numérico constituye la dirección de la misma y que no se en-cuentra almacenado en ella.

Con la misión de garantizar estabilidad y seguridad en las operaciones, la dirección y datos deben mantenerse en registros durante ese tiempo. En la memoria nos encontramos con:

Registro de dirección de memoria en la que almacena temporalmente la dirección sobre la que efectúa la selección.

Registro de Información de memoria en donde se almacena el dato durante las fases de lectura o escritura en la celda señalada por el registro anterior.

7.1. Tecnologías de Fabricación

La constitución de las memorias ha evolucionado en la misma manera que lo ha hecho la tecnolo-gía. En un principio se utilizaron núcleos diminutos de ferrita, los cuales dependiendo del sentido de imanación permiten asignar uno o cero a los dos posibles estados. Los núcleos son selecciona-dos por medio de finos hilos que los atraviesan siendo la corriente eléctrica la encargada de efec-tuar la selección y la lectura. Cada bit conforma junto con el resto de los de otras celdas, lo que se denomina plano de memoria y habrá, por tanto, tantos como ancho tiene la palabra de memoria.

Actualmente se han pasado a utilizar memorias de estado sólido, basadas en circuitos eléctricos de silicio, los cuales, mediante un conjunto de biestables es posible almacenar la información de igual manera que si fueran ferritas. Estos dispositivos se denominan RAM, memorias de acceso al azar, constituyendo la vertiente estática de las mismas. Dentro de la misma familia se encuentran las dinámicas, que al basar su funcionamiento en la carga de diminutos condensadores, necesitan ser refrescadas cada cierto tiempo para evitar que pierdan toda la carga, y, por tanto, el uno binario. Habitualmente en este tipo de memoria se pierde la información si se quita la alimentación, salvo que se les dote de baterías para mantenerla. Las memorias de ferrita conservan indefinidamente la información.

Si la celda anterior (biestable o condensador), se sustituye por un fusible que puede estar fundido o no tendremos una ROM, es decir, memoria de solo lectura, muy adecuada para guardar progra-mas indefinidamente sin ninguna posibilidad de ser borrados.

7.2. ¿Un anillo de ferrita...? ¿Y eso qué es?

La ferrita es un material que contiene partículas de óxido de hierro. Se puede magnetizar, y con-serva la magnetización durante mucho tiempo. Algunas de sus características se mejoran si tiene forma de anillo.

Podemos actuar sobre la magnetización de un anillo de ferrita enhebrándole un hilo conductor y haciendo circular por él una corriente eléctrica. A este hilo lo llamaremos "hilo de escritura".

Page 14: Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill. •

14 ¿Qué es un ordenador?

Si aplicamos en el hilo una corriente eléctrica de intensidad suficiente, el anillo se magnetiza en el sentido del campo magnético inducido.

Al suprimir la corriente inductora, el anillo mantiene la magnetización.

Aplicando ahora una corriente electrica en sentido contrario, si no tiene intensidad suficiente, el anillo se resiste a cambiar y conserva el sentido de su magnetización.

Cuando la corriente eléctrica es suficiente, logra que la magnetización cambie de sentido.

Como en el caso anterior, al suprimir la corriente inductora, el anillo mantiene la magnetización.

Puesto que el anillo de ferrita es capaz de adoptar dos estados de magnetización distintos y esta-bles, se puede emplear para almacenar una información elemental: sólo hay que asignar arbitra-riamente los valores "0" y "1" a esos estados.

Page 15: Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill. •

Organización de la memoria principal 15

Estado "0" Estado "1"

Vale, ya sé grabar. Pero ahora, ¿cómo averiguo qué estado tiene?

Se puede detectar el sentido de un campo magnético haciendo que induzca una corriente eléctrica en un hilo. Esto se puede lograr de dos formas: moviendo el campo (habría que agitar el anillo) o haciendo que cambie su valor. Ésta es la solución más sencilla.

Así, se pasa otro hilo por el anillo de ferrita, que no debe estar paralelo al hilo de escritura para evitar inducciones directas entre ambos. Le llamaremos "hilo de lectura".

Para averiguar el estado, a través del hilo de escritura se aplica una corriente eléctrica que fuerce la magnetización del anillo hasta adoptar el estado "0".

Si el anillo está en el estado "1", al pasar al "0" su magnetización cambia bruscamente. Este cam-bio induce una corriente eléctrica en el hilo de lectura. Su intensidad es apreciable, aunque menor que la necesaria para producir la conmutación.

Si está en el estado "0", su magnetización apenas cambia, y la corriente inducida en el hilo de lec-tura es mucho menor que en el otro caso.

Page 16: Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill. •

16 ¿Qué es un ordenador?

La forma de leer la información deja el anillo en el estado "0"; por eso se dice que la lectura es destructiva. Pero esto tiene fácil arreglo: si estaba a "1" y ha pasado a "0", basta con dar un nue-vo pulso de escritura para volver a ponerlo a "1" y dejarlo como estaba.

De esta forma, para construir una memoria de de 1kByte, se necesitan 8 x 1024 = 8192 anillos. Sólo hay un problemilla: con dos hilos por cada anillo, se necesitarían 16384 hilos para manejarla, y también 16384 circuitos para controlarlos.

7.3. La memoria de ferrita

El objetivo principal del diseño es reducir el número total de cables independientes, ya que cada uno necesita un circuito que lo controle. Y en las fechas en que se desarrollan estas memorias, hay que construirlos con válvulas termoiónicas (diodos, triodos, pentodos...)

Estudiando los hilos de lectura, vemos que no hace falta uno por cada anillo. Como la corriente que se induce en él al leer de un anillo no es suficiente para que otro conmute, se pueden enhebrar en un hilo todos los anillos de igual posición relativa de todas las palabras. Para una memoria organi-zada en octetos, bastan 8 hilos de lectura.

Igualmente, podríamos unir con un hilo todos los anillos de una posición de memoria, y formar una estructura bidimensional.

Esta forma de distribuirlos se conoce como organización 2D. En ella, el hilo que pasa por todos los anillos de la posición (el horizontal) se denomina hilo de palabra, y el que pasa por los bits homólogos (el vertical) se denomina hilo de bit.

Para una memoria de 1 kB, se necesitarían 1024 hilos de palabra y 8 hilos de bit, muchos menos que los 16384 iniciales.

¿Y cómo funciona?

La lectura es igual que para un anillo, pero ampliada a todos los de la posición de memoria. Se hace pasar una corriente negativa por el hilo de palabra de la posición elegida, que lleve a todos los anillos al estado "0". Los que tienen un "0" siguen igual, y los que tienen un "1" pasan a "0" in-

Page 17: Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill. •

Organización de la memoria principal 17

duciendo una corriente apreciable en su hilo de bit. Pero como esta corriente es menor que la ne-cesaria para forzar una conmutación, no afecta al estado de los demás anillos atravesados por el mismo hilo de bit.

Pero después hay que volver a grabar los "unos" donde estuviesen...

Para eso, se hace pasar una corriente eléctrica positiva por el hilo de palabra y, simultáneamente, otras iguales por los hilos de bits cuyos anillos hay que poner a "1".

La intensidad de esas corrientes está establecida de forma que una, por sí sola, no es capaz de hacer que los anillos que atraviesa se pongan a "1"; pero dos juntas, sí. Los anillos que reciben el efecto combinado de la corriente en el hilo de palabra con la del hilo de bit se pondrán a "1".

Para escribir una información en una posición de memoria, se sigue un procedimiento similar: pri-mero se ponen a "0" todos los anillos de la fila mediante una corriente negativa (como en la lectu-ra), y después se graban los "unos" que correspondan.

¿Así eran las memorias en aquellos tiempos?

En realidad, no. Todavía eran demasiados hilos, y había que reducirlos mucho más. Con este pe-queño rodeo se entiende mejor el próximo paso, que nos lleva a una estructura tridimensional, llamada organización 3D.

De momento, piensa sólo en el primer anillo de todas las posiciones de memoria. Imagina que los distribuimos en un plano de M x N (puede ser M=N), y que los enhebramos con hilos de selec-ción horizontales y verticales.

Page 18: Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill. •

18 ¿Qué es un ordenador?

Por razones técnicas, esos hilos estaban colocados de forma que alternasen el sentido de la co-rriente positiva. En consecuencia, los anillos también tenían que estar alternados.

Usando dos corrientes simultáneas, como en la escritura con la organización anterior, una en un hilo horizontal y otra en un hilo vertical, bastan M + N (o 2M) hilos para actuar sobre uno de los M x N (o M2) anillos.

Para formar una memoria de 1024 bits, se haría una matriz de 32 x 32; sólo tendría 64 hilos en vez de los 1024 anteriores.

Para extender la idea a los demás anillos de las posiciones de memoria, sin ocupar demasiado es-pacio, bastaría con superponer un plano como éste para cada uno de ellos.

Pero así se multiplicaría el número de hilos.

Recuerda que, en el modelo anterior, bastaba con un hilo para todos los anillos de la posición de memoria. Para lograr el mismo efecto, se superponen los planos colocándolos alternados, uno al derecho y otro al revés. Finalmente, se conectan en serie los hilos de selección homólogos unién-dolos en lados alternos, de modo que se forme una especie de zig-zag con cada hilo.

Aquí tienes un esquema con los tres primeros planos, vistos desde arriba:

Así, con una corriente en un hilo horizontal y otra en un hilo vertical se seleccionan todos los ani-llos de la misma posición de memoria en los diferentes planos. En este esquema, los anillos de ca-da posición de memoria están alineados en el sentido de la profundidad.

Page 19: Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill. •

Organización de la memoria principal 19

Muy ingenioso.

Pues aún faltan algunas sorpresas. De momento, en cada anillo ya tenemos tres hilos, dos de se-lección y el de lectura, que no se ha representado en los dibujos anteriores por simplificar. Pero fal-ta otro.

¿Otro más? ¿Y para qué?

Verás. Como he dicho antes, al aplicar simultáneamente las corrientes en un hilo vertical y en otro horizontal se actúa sobre todos los anillos de una posición.

Para leer, se manda "media corriente" negativa por cada hilo, todos se ponen a "0", y los que esta-ban a 1 inducen una corriente en el hilo de lectura.

Para escribir, como en el modelo anterior, se empieza poniendo a "0" todos los anillos de la posi-ción de memoria, y luego se graban los "unos". Pero si se manda "media corriente" positiva por ambos hilos de selección, se pondrían a "1" todos los anillos.

Y aquí aparece el hilo de inhibición (en amarillo en el dibujo), que pasa por todos los anillos de un plano, y va paralelo a uno de los de selección.

Cuando, en un plano, el anillo seleccionado debe seguir a "0", se introduce por este hilo "media co-rriente" negativa que anula el efecto en ese plano de la que circula por el hilo de selección que va paralelo a él.

Si a este esquema le añades el hilo de lectura, que venimos dejando atrás, y le das la vuelta, ya tienes el elemento central del escudo de la profesión:

¡Yo creía que las rayas sólo eran un adorno!

Pues ya ves que no. Las cuatro líneas representan los dos hilos de selección (uno vertical y uno horizontal), el de inhibición (el segundo horizontal, debajo del anterior), y el de lectura (inclinado).

A propósito: alguna descripción oficial del escudo cita tres hilos, que designa como de lectura, de escritura y de inhibición, y no es así, como acabas de ver.

¿Por qué eligieron el anillo de ferrita como emblema?

Porque, cuando se diseñó, las memorias de anillos de ferrita eran lo más distintivo de la profesión.

Page 20: Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill. •

20 ¿Qué es un ordenador?

Se usaron durante más de 20 años y casi no se concebía que la memoria pudiese ser de otra for-ma. Aunque hoy son una reliquia, representaron un avance decisivo. Comparadas con las existen-tes hacia 1950, eran más fiables, mucho más baratas, más rápidas, necesitaban menos espacio y menos energía eléctrica. Por lo tanto, las desplazaron en poco tiempo. Gracias a ellas, junto con los transistores, los ordenadores electrónicos dejaron de ser equipos casi "de laboratorio" para conver-tirse en máquinas verdaderamente útiles, y así empezó el desarrollo real de la Informática.

Incluso durante varios años después, todavía se siguieron empleando memorias de anillos de ferri-ta en equipos especiales. Como no pierden la información si se interrumpe el suministro eléctrico, son muy adecuadas en algunos casos, como aplicaciones de toma de datos, equipos remotos sin operador, etc.

Fueron casi las únicas que se emplearon desde 1953 hasta mediados de los 1970. Se calcula que en 1976, momento en que se produce su declive, se usaban en el 95% de los ordenadores instala-dos. Las memorias de semiconductores, surgidas a principios de los 70, empezaron con los micro-procesadores, pero tardaron varios años en llegar a los equipos grandes.

He leído que el "Space Shuttle", la lanzadera espacial, tenía ordenadores con estas memorias hasta que se sustituyeron en una renovación de todo el equipo informático.

Volviendo a la parte técnica: con tanto hilo pasando por todos los anillos ¿cómo era un plano de memoria de aquellos?

Además, como la distribución real es algo liosa (especialmente, la del hilo de lectura), en los libros se suelen poner esquemas más sencillos, y al simplificarlos suelen introducir errores.

Esta fotografía muestra un bastidor con un plano de memoria experimental. Como ves, estos ani-llos tienen un diámetro de unos 4 o 5 mm, y el plano contiene 16 x 16 = 256 anillos.

Puedes ver la colocación de los hilos y de los anillos como en el esquema del plano en la página an-terior, y se aprecia el hilo de lectura en diagonal, aunque no es fácil seguir su recorrido sin perder-se.

Y si te fijas con mucha atención, podrás ver que el hilo de inhibición sigue líneas verticales. Aunque no se distingue cuando atraviesa los anillos, se le ve cuando da la vuelta abajo o arriba para pasar junto al hilo de selección siguiente: empieza abajo a la izquierda (ese cable negro que sale a 45º de una borna en la esquina interna), sube y da la vuelta para bajar por la segunda columna de la izquierda, y así sucesivamente, hasta salir por abajo en la última columna, y termina en la borna de la esquina interna. Donde mejor se ve es abajo al dar la vuelta de la columna 6ª a la 7ª, y de la 8ª a la 9ª.

Page 21: Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill. •

Organización de la memoria principal 21

Esta otra fotografía muestra a Jay W. Forrester, que patentó en 1951 el método de selección me-diante corrientes coincidentes que te he contado en la página anterior. Sin embargo, es mucho más conocido por su trabajo en la Dinámica de Sistemas.

Aquí tienes un fragmento de un plano, de fecha posterior.

Como el tiempo de conmutación de los anillos disminuye al reducir el diámetro, se fueron constu-yendo memorias con anillos cada vez menores. Llegaron a medir menos de medio milímetro de diámetro exterior.

Page 22: Tema 1. ¿Qué es un ordenador? · 2006. 10. 4. · • Joyanes Aguilar, J. “Programación en C++. Algoritmos, estructuras de datos y Objetos”. Capítulo 1. Ed. McGraw-Hill. •

22 ¿Qué es un ordenador?

Fabricante: Digital Equipment Corporation. Modelo: placa de memoria. Año: 1972. Memoria: 16k RAM. Es un bloque de 8k palabras de 16 bits, lo que supone una cantidad apreciable para la época. Con varias de estas placas tenemos para un

mini de entonces, discos aparte. En cada intersección de los hilos de direccionamiento hay un núcleo de ferrita (material cerámico con limaduras de hierro) que se magnetiza con un tercer hilo, que también sirve para la lectura. Los ciclos de acceso siempre in-cluyen una lectura y después una escritura, ya que la lectura es destructiva (hay que

volver a escribir lo que había después de haberlo leído).

8. Un poco de humor: el ordenador, ¿masculino o femenino? Durante un reciente estudio realizado en los EE.UU. se preguntó a dos grupos de expertos si el or-denador era un aparato de tipo femenino o masculino.

El primer grupo estaba formado por mujeres, mientras el segundo por hombres. Cada grupo debía encontrar razones para justificar el género masculino o femenino del ordenador.

El grupo de mujeres llego a la conclusión de que el ordenador era masculino, por las siguientes ra-zones:

* Para captar su atención hay que encenderlo.

* Está lleno de información pero no tiene nin-guna imaginación.

* Se supone que tiene que ayudarte, pero la mitad del tiempo él es el problema.

* Desde el momento que tienes uno, te das cuenta de que si hubieses esperado un poco más hubieses conseguido un modelo mucho más potente.

El grupo de hombres, por su parte, llego a la con-clusión de que el ordenador era femenino por las siguientes razones:

* Nadie, salvo su creador, comprende su lógi-ca interna.

* El lenguaje que utiliza para dialogar con otros ordenadores es totalmente incomprensible.

* El más pequeño de los errores es almacenado en la memoria y puede surgir en el momento más inoportuno.

* Desde el momento en que tienes uno, descubres que tienes que gastarte la mitad del sueldo en accesorios.