PRIMEROS COMPUTADORES

Anuncio
Miguel Ángel Asensio 03/04
Arquitectura de Equipos y Sistemas Informáticos
TEMA UNO
INTRODUCCIÓN A LOS COMPUTADORES.
Informática es una palabra de origen francés formada por la contracción de los
vocablos INFORmación y autoMÁTICA. Es una disciplina que trata del
diseño, análisis, implementación, y aplicación de procesos que transforman la
información.
El ordenador o computador es una máquina capaz de aceptar unos datos
de entrada, efectuar con ellos operaciones lógicas y aritméticas, y
proporcionar la información resultante a través de un medio de salida; todo
esto sin intervención y bajo el control de un programa de instrucciones que
previamente se ha almacenado en la memoria del computador.
En la definición de computador se ha utilizado el término datos, el cual es
conveniente precisar. Los datos son conjuntos de símbolos utilizados para
expresar o representar un valor numérico, un hecho, un objeto o una idea; en la
forma adecuada para ser objeto de tratamiento.
En informática es frecuente codificar la información. Codificación es una
transformación que representa los elementos de un conjunto mediante los de
otro, de forma tal que a cada elemento del primer conjunto le corresponde un
elemento distinto del segundo.
La unidad más elemental de información es un valor binario, conocido como
BIT. El origen de este término es inglés, y se suele considerar que procede de la
contracción de las palabras BInary y digiT. Un bit es, por tanto, una posición o
variable que toma el valor 0 o 1.
1
Miguel Ángel Asensio 03/04
Arquitectura de Equipos y Sistemas Informáticos
Todo lo que hace un ordenador digital se basa en una operación: la capacidad
de determinar si un conmutador, o 'puerta', está abierto o cerrado. Es decir, el
ordenador puede reconocer sólo dos estados en cualquiera de sus circuitos
microscópicos: abierto o cerrado, alta o baja tensión o, en el caso de números,
0 o 1. Sin embargo, es la velocidad con la cual el ordenador realiza este acto tan
sencillo lo que lo convierte en una maravilla de la tecnología moderna. Las
velocidades del ordenador se miden en megahercios, o millones de ciclos por
segundo. Un ordenador con una velocidad de reloj de 1000MHz, velocidad
bastante representativa de un microordenador o microcomputadora, es
capaz de ejecutar 1000 millones de operaciones discretas por segundo.
La velocidad y la potencia de cálculo de los ordenadores digitales se
incrementan aún más por la cantidad de datos manipulados durante cada ciclo.
Si un ordenador verifica sólo un conmutador cada vez, dicho conmutador puede
representar solamente dos comandos o números. Así, ON simbolizaría una
operación o un número, mientras que OFF simbolizará otra u otro. Sin
embargo, al verificar grupos de conmutadores enlazados como una sola unidad,
el ordenador aumenta el número de operaciones que puede reconocer en cada
ciclo. Por ejemplo, un ordenador que verifica dos conmutadores cada vez,
puede representar cuatro números (del 0 al 3), o bien ejecutar en cada ciclo una
de las cuatro operaciones, una para cada uno de los siguientes modelos de
conmutador: OFF-OFF (0), OFF-ON (1), ON-OFF (2) u ON-ON (3).
En general, los ordenadores de la década de 1970 eran capaces de verificar 8
conmutadores simultáneamente; es decir, podían verificar ocho dígitos
binarios, de ahí el término bit de datos en cada ciclo. Un grupo de ocho bits se
denomina byte y cada uno contiene 256 configuraciones posibles de ON y OFF
(o 1 y 0). Cada configuración equivale a una instrucción, a una parte de una
instrucción o a un determinado tipo de dato; estos últimos pueden ser un
número, un carácter o un símbolo gráfico. Por ejemplo, la configuración
11010010 puede representar datos binarios, en este caso el número decimal
210, o bien estar indicando al ordenador que compare los datos almacenados en
estos conmutadores con los datos almacenados en determinada ubicación del
2
Miguel Ángel Asensio 03/04
Arquitectura de Equipos y Sistemas Informáticos
chip de memoria. El desarrollo de procesadores capaces de manejar
simultáneamente 16, 32 y 64 bits de datos ha permitido incrementar la
velocidad de los ordenadores. La colección completa de configuraciones
reconocibles, es decir, la lista total de operaciones que una computadora es
capaz de procesar, se denomina conjunto, o repertorio de instrucciones. Ambos
factores, el número de bits simultáneos y el tamaño de los conjuntos de
instrucciones, continúa incrementándose a medida que avanza el desarrollo de
los ordenadores digitales modernos.
Historia
Antecedentes históricos
En un principio el hombre contaba con los dedos. Después apareció el ábaco,
inventado por los chinos; aquí aparece el concepto de notación posicional, es
decir, cada número poseerá un valor, dependiendo de la posición que ocupe.
Posteriormente, Al-Khowarizmi (Algoritmo) inventó las cuatro reglas básicas
(suma, resta, multiplicación y división). También es el creador del concepto de
algoritmo, que es el conjunto de procedimientos que se deben realizar para
resolver un problema. Su obra, “Al-Gebr” dio lugar al álgebra.
En 1623 apareció la primera calculadora, inventada
por Wilhelm Schicard y cuyos componentes eran
ruedas dentadas. Podía realizar sumas y restas
automáticas, además de multiplicaciones y
divisiones (basándose en que la multiplicación y
división vienen dadas por la suma y la resta
respectivamente).
Figura 1.3 El Ábaco
La primera máquina de calcular mecánica, un precursor del ordenador digital,
fue inventada en 1642 por el matemático francés Blas Pascal. Aquel
dispositivo utilizaba una serie de ruedas de diez dientes en las que cada uno de
los dientes representaba un dígito del 0 al 9. Las ruedas estaban conectadas de
tal manera que podían sumarse números haciéndolas avanzar el número de
dientes correcto. En 1670 el filósofo y matemático alemán Gottfried
Wilhelm Leibniz perfeccionó esta máquina e inventó una que también podía
multiplicar.
La máquina analítica
También en el siglo XIX (1822) el matemático e inventor británico Charles
Babbage elaboró los principios de la computadora digital moderna. Inventó
una serie de máquinas, como la máquina diferencial, diseñadas para solucionar
problemas matemáticos complejos. Muchos historiadores consideran a
Babbage y a su socia, la matemática británica Augusta Ada Byron (18153
Miguel Ángel Asensio 03/04
Arquitectura de Equipos y Sistemas Informáticos
1852), hija del poeta inglés Lord Byron, como a
los verdaderos inventores de la computadora
digital moderna. La tecnología de aquella época
no era capaz de trasladar a la práctica sus
acertados conceptos; pero una de sus
invenciones, la máquina analítica, ya tenía
muchas de las características de un ordenador
moderno. Incluía una corriente, o flujo de
entrada en forma de paquete de tarjetas
perforadas, una memoria para guardar los datos,
un procesador para las operaciones matemáticas
y una impresora para hacer permanente el registro.
El inventor francés Joseph Marie Jacquard, al diseñar un telar automático,
utilizó delgadas placas de madera perforadas para controlar el tejido utilizado
en los diseños complejos. Durante la década de 1880 el estadístico
estadounidense Herman Hollerith concibió la idea de utilizar tarjetas
perforadas, similares a las placas de Jacquard, para procesar datos. Hollerith
consiguió compilar la información estadística destinada al censo de población
de 1890 de Estados Unidos mediante la utilización de un sistema que hacía
pasar tarjetas perforadas sobre contactos eléctricos.
ESTRUCTURA FUNCIONAL DE LAS COMPUTADORAS
En el verano de 1944, Jhon von Neumann (1903-1957), empezó a colaborar
en la construcción del ENIAC (primera computadora electrónica de uso
general), contribuyendo a la concepción de una nueva computadora, sus
sugerencias fueron relevantes y se centraron en:
1.- Adoptar la concepción utilizada por Babbage en su máquina diferencial para
las distintas unidades funcionales de la computadora: entrada, salida, unidad
aritmética, unidad de control y memoria.
2.- Utilizar una representación binaria para la realización de operaciones
aritméticas.
3.- El concepto de programa almacenado en memoria.
4.- Descomponer las tareas en secuencias de pasos elementales realizables uno
detrás del otro.
La mayoría de las computadoras actuales siguen estos criterios y por ello se
suelen denominar arquitecturas von Neumann.
Unidades funcionales
•
•
•
•
•
•
Unidad de entrada
Unidad de salida
Memoria principal
Memoria masiva
Unidad aritmético-lógica (ALU)
Unidad de control
4
Miguel Ángel Asensio 03/04
Arquitectura de Equipos y Sistemas Informáticos
5
Miguel Ángel Asensio 03/04
Arquitectura de Equipos y Sistemas Informáticos
Ciertamente el ENIAC, Calculador e integrador numérico digital electrónico,
(acrónimo de Electronic Numerical Integrator and Computer), fue la primera
computadora electrónica programable. Pero según mostró la evidencia se
basaba en gran medida en el computador Atanasoff-Berry, la Colossus;
prototipo construido dos años antes y era una computadora no programable.
La motivación de la construcción del ENIAC fue realizar automáticamente
tablas matemáticas. Eran tablas balísticas para la armada de los Estados
Unidos.
La programación se realizaba por medio de interconexiones en un panel de
control. Para cambiar de programa era necesario extraer el panel de control,
cambiar manualmente las interconexiones y volverlo a insertar. Más tarde, el
control se realizó con tarjetas perforadas. Las entradas y salidas de datos se
efectuaban con este tipo de tarjetas. Era capaz de efectuar 300 operaciones
aritméticas por segundo (en 3 ms realizaba multiplicaciones de 10 dígitos). Su
memoria de trabajo contenía 20 acumuladores, cada uno de los cuales
memorizaba un número decimal de 10 cifras. Cada cifra decimal se almacenaba
en un contador de anillo formado por 10 biestables de triodos; es decir, utilizaba
aritmética decimal. El ENIAC pesaba más de 30 toneladas y requería para su
instalación más de 140 m2 de superficie. Disponía de 17.000 válvulas de vacío y
un consumo medio de 150.000 vatios.
6
Miguel Ángel Asensio 03/04
Arquitectura de Equipos y Sistemas Informáticos
Desde el año 1946 a la actualidad la evolución de las computadoras se suele
agrupar en cuatro generaciones. Lo que más claramente caracteriza cada
generación es la tecnología usada.
La etapa electromecánica precedió a la 1ª
generación de computadores, en la que se
desarrollan distintos tipos de calculadoras
mecánicas y electromecánicas basadas en
las ideas de Pascal, Leibniz y Hollerith. En
1944 se presentó la Mark I, primera
calculadora digital automática.
PRIMERA GENERACIÓN DE COMPUTADORAS (1946-1954)
La primera generación de computadoras utilizaba dispositivos electrónicos, y
más concretamente tubos de vacío. Computadoras de esta época fueron la
Colossus y el ENIAC.
a) Dibujo simplificado de un tubo de
vacío (válvula termoiónica o diodo);
b) Rectificador con diodo de vacío.
SEGUNDA GENERACIÓN DE COMPUTADORAS (1955-1963)
En la segunda generación la válvula termoiónica es sustituida por el transistor
de unión (dispositivo electrónico de estado sólido).
a) transistor, aspecto exterior; b) símbolo y c) estructura.
7
Miguel Ángel Asensio 03/04
Arquitectura de Equipos y Sistemas Informáticos
TERCERA GENERACIÓN DE COMPUTADORAS (1964-1970)
Entre 1958 y 1960, se concibió y desarrolló la idea de construir circuitos
integrados monolíticos. Los primeros desarrollos con éxito se deben a la
tecnología planar, propuesta por Noyce y Moore, consistente en la fabricación
de dispositivos complejos por procesos fotolitográficos y de difusión térmica.
Por tanto, la tercera generación se caracteriza por la utilización de circuitos
integrados de pequeña y mediana escala de integración.
La computadora más significativa de la época fue la IBM 360; se concibió como
una línea o familia de computadoras utilizable tanto para aplicaciones
comerciales como científicos-técnicas. Otros equipos destacados fueron las
supercomputadoras escalares CDC6600 y CDC7600, capaces de procesar 20
millones de instrucciones en coma flotante por segundo.
En el extremo opuesto se encontraban las minicomputadoras de la firma Digital,
como la PDP-11, que disponía de un bus normalizado al que podían conectarse
tarjetas de distintos fabricantes. Sobre esta máquina se desarrolló el Lenguaje C
y como consecuencia el UNIX.
CUARTA GENERACIÓN DE COMPUTADORAS (1971-…)
Una de las peculiaridades de la actual generación de computadoras es el
concepto de sistema abierto. En las generaciones anteriores cada computadora
estaba muy ligada a su fabricante (sistema propietario), de forma que tanto
el software como los distintos elementos hardware, incluidos los periféricos,
eran suministrados, en la configuración inicial y en ampliaciones sucesivas,
exclusivamente por el fabricante original. Con los sistemas abiertos la
filosofía es distinta: el usuario puede configurar su sistema prácticamente a
medida.
Se utilizan circuitos integrados LSI y VLSI, lo que ha permitido
comercialización de circuitos integrados de memoria de 1Gbits, con tiempos
acceso de 35ns, así como el desarrollo de microprocesadores
microcontroladores, que permitieron la difusión en gran escala de
informática.
la
de
y
la
8
Miguel Ángel Asensio 03/04
Arquitectura de Equipos y Sistemas Informáticos
Muchas funciones hardware de gran complejidad se implementan con circuitos
integrados, como controladores DMA, gestores de memoria, controladores de
E/S, o coprocesadores aritméticos.
Cabe destacar la miniaturización y aumento de velocidad de las memorias de
circuito integrados. En 1970 Intel comercializa las primeras RAM dinámicas
(DRAM), y desde entonces se ha logrado un incremento de su capacidad
constante: se multiplica por 4 su capacidad cada 3 años. Así, en 1999 Samsumg
desarrolló una memoria DRAM de 1Gbits capaz de operar a 350MHz, utilizando
una litografía de 0,13 µm.
9
Miguel Ángel Asensio 03/04
Arquitectura de Equipos y Sistemas Informáticos
Parámetros para caracterización de prestaciones
Existen varias magnitudes que determinan las prestaciones de las distintas
unidades que componen una computadora: capacidad de almacenamiento,
tiempo de acceso, longitud de palabra y ancho de banda.
La capacidad de almacenamiento se refiere a las posibilidades de una
unidad para almacenar datos o instrucciones de forma temporal o fija. La
capacidad de la memoria principal y dispositivos de memoria masiva se da en
bytes (MB, GB, TB, etc.).
El tiempo de acceso de una unidad es el intervalo de tiempo que transcurre
desde el instante en que se proporciona a la misma la posición concreta del dato
o instrucción que se quiere leer o escribir, y el instante en que se obtiene(lee) o
graba (escribe) el mismo.
Se denomina palabra al conjunto de bits que forma un dato con los que opera
la ALU, y coincide, en general, con el número de bits de cada uno de los
registros del procesador. La longitud de una palabra es el número de bits
que la forman. Con frecuencia la longitud de la palabra coincide con el ancho del
bus de datos que conecta el procesador con la memoria. La longitud de palabra
determina, de forma indirecta la velocidad del computador.
El ancho de banda representa la cantidad de información transferida por
segundo entre una unidad y otra.
El rendimiento de una computadora en la ejecución de un programa es la
inversa de su tiempo de ejecución. La ejecución de cada instrucción para un
procesador consume un número determinado de ciclos de reloj, existiendo
instrucciones más rápidas que otras. En realidad el rendimiento de un
procesador depende de tres factores: el repertorio de instrucciones, la
frecuencia de reloj y el número de ciclos asociados a cada instrucción.
Otro problema en la determinación del rendimiento es que, tal como se ha
definido, depende del programa que se ejecute; y el hecho de que un programa
se ejecute más rápidamente en una computadora que en otra no implica que
vaya a ocurrir lo mismo para cualquier otro programa. Para poder evaluar lo
más correctamente posible el rendimiento de una computadora se han
establecido por la comunidad informática conjuntos de programas de
prueba (benchmars).
El rendimiento de un computador se puede dar dividiendo el número de
instrucciones total del conjunto de programas de prueba entre el tiempo total de
su ejecución, y se da, o bien en MIPS, o bien en MFLOPS.
10
Miguel Ángel Asensio 03/04
Arquitectura de Equipos y Sistemas Informáticos
Programas e Instrucciones
Una instrucción es un conjunto de símbolos que representa una orden de
operación.
Un programa es un conjunto ordenado de instrucciones indicando las
operaciones o tareas que se desean realizar.
Todo lo relativo a símbolos y reglas para construir o redactar con ellos un
programa se denomina lenguaje de programación.
Los circuitos electrónicos de la unidad de control de una computadora solo
pueden interpretar instrucciones de un determinado lenguaje, denominado
lenguaje máquina. Las instrucciones de este lenguaje están formadas por
bits agrupados normalmente en al menos dos bloques o campos. Uno de ellos es
el código de operación y el otro una dirección. El código de operación indica
la operación correspondiente a la instrucción. El campo de dirección
especifica el lugar dónde se encuentra el dato.
El lenguaje máquina tiene serios inconvenientes, como son: la dependencia del
procesador; un repertorio de instrucciones reducido y operaciones elementales;
es laborioso programar con él. Para evitar estos problemas se han ideado los
lenguajes de alto nivel, que no dependen del procesador. Un programa escrito
en lenguaje de alto nivel es sometido a un proceso de traducción, que genera
como resultado un programa en lenguaje máquina.
El conjunto de programas que controlan y gestionan los recursos del
computador se denomina sistema operativo. Un sistema operativo es una
colección de programas que juntos suministran una interfaz entre el hardware
de la computadora y los usuarios, facilitando su uso, asignando los recursos del
sistema para asegurar un funcionamiento adecuado y eficaz. A las instrucciones
del programa de control se las suele denominar órdenes (comandos).
11
Miguel Ángel Asensio 03/04
Arquitectura de Equipos y Sistemas Informáticos
Niveles conceptuales de una computadora
El hardware o soporte físico de un ordenador es la máquina en sí: es decir,
el conjunto de circuitos electrónicos, dispositivos electromecánicos y otros
elementos físicos que forman la computadora.
El software o soporte lógico de una computadora es el conjunto de
programas ejecutables por la computadora.
La palabra hardware no sólo se utiliza para designar los dispositivos físicos del
computador (tecnología), sino también sus distintos modos de interconexión
(arquitectura).
La computadora es uno de los sistemas más complejos ideados por el hombre,
contiene cientos o miles de circuitos integrados pudiendo incluir cada uno de
ellos millones de elementos individuales (transistores), todos ellos actuando
coordinadamente. Para facilitar su diseño o análisis, se puede describir según
distintos niveles conceptuales.
Los tres niveles inferiores corresponden a los de tecnología de computadoras. El
nivel electrónico es de gran importancia ya que de él depende el rendimiento de
las computadoras.
El nivel 3 describe la estructura de la computadora, en el tiene lugar la
transferencia de instrucciones a nivel de microoperaciones. Los circuitos que
utiliza este nivel son registros, multiplexores, bancos de registros, módulos de
memoria RAM, etc., construidos con los elementos del nivel 2 (puertas lógicas).
El nivel 4, lenguaje máquina, es el genuino nivel de arquitectura de la
computadora, ya que el diseño de una computadora parte de la especificación
de las instrucciones del lenguaje máquina, (el lenguaje ensamblador es igual al
lenguaje máquina).
El nivel 5, sistema operativo, puede considerarse como la interfaz entre el
hardware y el software. Añade una capa para facilitar el uso del hardware y
hacerlo lo más eficaz posible desde el punto de vista de los usuarios y de los
programas de aplicación.
El último nivel, es el que realmente ven los programadores y usuarios, y está
formado básicamente por los traductores. Si está bien concebido, el usuario no
tendrá necesidad de conocer nada de los niveles inferiores.
12
Miguel Ángel Asensio 03/04
Arquitectura de Equipos y Sistemas Informáticos
13
Descargar