1 - Escuela Técnica Superior de Ingenieros de Telecomunicación

Anuncio
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, especialmente, de las tres últimas décadas. Son una herramienta esencial en muchas áreas: industria, gobierno, 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 ordenador 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
2. Evolución histórica de los ordenadores
3. Estructura básica de un ordenador
4. Componentes de un ordenador
5. El hardware
6. El software
7. Organización de la memoria principal
8. Un poco de humor: el ordenador, ¿masculino o femenino?
1
2
8
9
10
12
12
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 adelantos 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 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 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-
2
¿Qué es un ordenador?
ción. El término digital hace referencia a que la información almacenada y procesada por el ordenador 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 operaciones 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 serie de operaciones que realiza el ordenador para llegar a un resultado, con un grupo de datos específicos. En resumen:
Programa: Es el conjunto de instrucciones escritas de algún lenguaje de programació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. Esto 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 tendidos una serie de hilos o varillas. En cada uno de ellos se insertan una serie de cuentas que permiten almacenar cantidades y realizar operaciones básicas de suma y resta.
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 realizar 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 cuentakilómetros.
Máquina de Pascal
En 1671, Gottfried Wilhelm Leibniz construye la primera máquina capaz de sumar, restar, multiplicar 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.
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ó incompleta 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 calcular. En 1924 la compañía fundada por Hollerith cambia de nombre para denominarse "International Business Machines" (IBM).
La aparición de la tecnología eléctrica permite la incorporación de relés, que son interruptores binarios 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 utiliza 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.
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 computadora 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 instrucciones, 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 permitían substituir la programación en Lenguaje Máquina, es decir 1 y 0, que eran introducidos direc-
6
¿Qué es un ordenador?
tamente en el computador, por una Programación Simbólica, que traduce símbolos del lenguaje natural 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 capacidad 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 generació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 sistemas operativos para el control de la computadora, almacenes centrales de datos a los que se puede 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. Surgen terminales inteligentes con memoria propia y los procesadores de palabras. Se reduce del tamañ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 pesetas. 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.
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. Intel 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 microelectró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
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 cerebro 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 cerebro 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 identificado 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 secuenciar 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érica: 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 representan la información (tanto instrucciones como datos). Los seres humanos utilizan los lenguajes naturales, que contienen una gran variedad de símbolos, y suelen representar los números en base
10.
Componentes de un ordenador
9
Sin embargo los computadores actuales, debido a las tecnologías electrónicas en que se fundamentan basadas en transistores, procesan y almacenan la información en forma binaria, es decir, utilizando 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 viceversa. 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 computador 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 datos 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 memoria del ordenador; a la persona que escribe programas se le denomina programador, y el conjunto 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á formado 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.
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 campo.
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 detalles internos. La mayoría de los ordenadores, independientemente de su tamaño, están organizados tal como se muestra en la figura 2. Constan fundamentalmente de tres componentes principales:
•
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 coordinado 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, resta, 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 ordenador. Decide cuando se obtendrán datos de los dispositivos de entrada para ser llevados a la memoria, 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.
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, cualquier operación se realiza en base al contenido actual de la memoria principal. A la memoria principal se la conoce también como memoria RAM (Random Access Memory, Memoria de Acceso Aleatorio).
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érico.
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 dirección.
Siempre que una nueva información se almacene en una posición de memoria, se destruye la informació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 (Random 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 información del ordenador (dispositivos de salida). Es decir, los dispositivos de E/S son una interfaz entre 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 tarjeta 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 discos 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 proporcionado 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).
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 manipular datos: por ejemplo, un procesador de textos o un videojuego. Estos programas suelen almacenarse 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 controlada 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: caracteres, 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, procesamiento 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 programas 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ásicamente, 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 colección compleja de muchos programas y es el encargado de coordinar el funcionamiento de los componentes 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 Microsoft Word, usted decide guardar el documento que ha
elaborado, es el sistema operativo el encargado de almacenar el documento como un archivo en el disco duro o disco flexible, según haya elegido. Así pues, entre
muchas otras cosas, el sistema operativo se encarga del almacenamiento y recuperación de archivos. Los sistemas operativos pueden ser: monousuarios (un sólo usuario) y multiusuarios (diferentes 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. Cada 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 temporal. Es estación obligada en todas las operaciones de entrada y salida y, por supuesto, de los resultados parciales o finales del proceso.
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 posiciones 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 encuentra 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 tecnologí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 seleccionados por medio de finos hilos que los atraviesan siendo la corriente eléctrica la encargada de efectuar 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 programas 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 conserva 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".
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 estables, se puede emplear para almacenar una información elemental: sólo hay que asignar arbitrariamente los valores "0" y "1" a esos estados.
Organización de la memoria principal
Estado "0"
15
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 cambio 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 lectura es mucho menor que en el otro caso.
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 nuevo 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 organizada 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-
Organización de la memoria principal
17
duciendo una corriente apreciable en su hilo de bit. Pero como esta corriente es menor que la necesaria 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: primero se ponen a "0" todos los anillos de la fila mediante una corriente negativa (como en la lectura), 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 pequeñ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 selección horizontales y verticales.
18
¿Qué es un ordenador?
Por razones técnicas, esos hilos estaban colocados de forma que alternasen el sentido de la corriente 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 espacio, 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éndolos 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 anillos de la misma posición de memoria en los diferentes planos. En este esquema, los anillos de cada posición de memoria están alineados en el sentido de la profundidad.
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 selección y el de lectura, que no se ha representado en los dibujos anteriores por simplificar. Pero falta 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 estaban 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 posició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 corriente" 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.
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 forma. Aunque hoy son una reliquia, representaron un avance decisivo. Comparadas con las existentes 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 convertirse 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 ferrita 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 instalados. Las memorias de semiconductores, surgidas a principios de los 70, empezaron con los microprocesadores, 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 anillos 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 anterior, y se aprecia el hilo de lectura en diagonal, aunque no es fácil seguir su recorrido sin perderse.
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ª.
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 mediante 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 constuyendo memorias con anillos cada vez menores. Llegaron a medir menos de medio milímetro de
diámetro exterior.
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 incluyen 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 ordenador 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 razones:
* Para captar su atención hay que encenderlo.
* Está lleno de información pero no tiene ninguna 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 conclusión de que el ordenador era femenino por las
siguientes razones:
* Nadie, salvo su creador, comprende su lógica 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.
Descargar