clase 2
ARQUITECTURA DE COMPUTADORES
Descripción
y Objetivo
La materia está
orientada a que el alumno obtenga una visión técnica de la organización y
arquitectura de los computadores modernos mediante el análisis, diseño y
evaluación de los niveles de abstracción en la cual están organizados los
sistemas computacionales modernos.
Metodología
¿Qué es un computador?
DEFINICIÓN DE
LA RAE:
Máquina
electrónica, analógica o digital, dotada de una memoria de gran capacidad y de
métodos de tratamiento de información, capaz de resolver problemas matemáticos
y lógicos mediante la utilización automática de programas informáticos.
Se acepta
computador o computadora.
DEFINICIÓN DE
Stallings:
Máquina digital
electrónica programable para el tratamiento automático de la información, capaz
de recibirla, operar sobre ella mediante procesos determinados y suministrar
los resultados de tales operaciones.
Introducción
“Distinguir entre
Arquitectura y organización”
l Arquitectura se refiere a los atributos
físicos y organización la estructura interna de funcionamiento.
l La
organización de Computadores se refiere a las unidades funcionales y sus
interconexiones que dan lugar a especificaciones arquitectónicas.
l Detalles
Hardware transparentes al programador tales como señales de control, interfaces
entre el computador y los periféricos y la tecnología de Memoria usada.

La generación 0
(hasta 1945)
•
Ábacos
•
Calculadoras
mecánicas.
Tu
Difference Engine (1822)
Primera Computadora Digital (mecánica)
Usada para calcular tablas numéricas, calculaba cualquier
función algebraica y almacenaba números. Se programaba con tarjetas.
Charles Babbage y Ada Lovelace.
Harvard Mark I (1930)
Usada
para computar tablas matemáticas y de navegación.
La primera generación (1940-1955)
•
Luego se utilizan tubos al vacío
•
Eran enormes (20.000 tubos) y lentas (un ciclo » 1 seg.)
•
Un solo grupo diseñaba, construía, programaba, operaba y mantenía cada máquina.
•
Toda la programación se hacía en lenguaje máquina (alambrando tableros por ejemplo).
•
No existían los sistemas operativos.
•
En 1950 se introducen las tarjetas perforadas.
Colossus (1945)
ENIAC (1946)
UNIVAC (1946)
Manchester
Mark I (1948)
Primera
máquina que funcionó con un programa almacenado.
John von Neumann, Princeton
La segunda generación (1955-1965)
•Se introducen los transistores.
• Distinción entre diseñadores,
constructores, programadores, operadores y personal de mantenimiento.
• Mainframes en salas
acondicionadas.
• Se escribían los programas en
papel, luego se perforaban las tarjetas, cuarto de entrada, café, esperar la
salida.
• Los operadores toman las tarjetas
del programa y colocan también los del compilador.
•
Se crea el proceso por lotes que agrupa trabajos.
JOHNNIAC (1954)
Tarjeta sin perforar
Tarjeta perforada
Transistores y sistemas por lote
La
introducción del transistor a mediados de la década de 1950 alteró el panorama
radicalmente. Las
computadoras se hicieron lo bastante confiables como para poderse fabricar y vender a clientes
comerciales con la expectativa de que seguirían funcionando el tiempo
suficiente para realizar algo de trabajo útil. Por primera vez, había una
separación clara entre diseñadores, constructores, operadores, programadores y
personal de mantenimiento.
Estas máquinas se
encerraban en cuartos de computadora con acondicionamiento de aire especial,
con equipos de operadores profesionales para operarias. Sólo las grandes
empresas, o las principales dependencias del gobierno o universidades, podían
solventar el costo de muchos millones de dólares. Para ejecutar un trabajo (es
decir, un programa o serie de programas), un programador escribía primero el
programa en papel (en FORTRAN o ensamblador) y luego lo perforaba en tarjetas.
Después, llevaba el grupo de tarjetas al cuarto de entrada y lo entregaba
a uno de los operadores.
Cuando la
computadora terminaba el trabajo que estaba ejecutando en ese momento, un
operador acudía a
la impresora, separaba la salida impresa y la llevaba al cuarto de salida donde el
programador podía recogerla después. Luego, el operador
tomaba uno de los grupos
de tarjetas traídos del cuarto de entrada y lo introducía en el
lector. Si se requería el compilador de FORTRAN, el operador tenía que traerlo de un archivero e introducirlo en el lector. Gran parte del tiempo de
computadora se desperdiciaba mientras los operadores iban de un lugar a otro,
en el cuarto de la máquina.
Dado el
alto costo del equipo, no es sorprendente que la gente pronto buscara formas de
reducir el desperdicio de tiempo. La solución que se adoptó generalmente fue el
sistema por lotes. El principio de este modo de operación consistía en juntar
una serie de trabajos en el cuarto de entrada, leerlos y grabarlos en una cinta
magnética usando una computadora pequeña y (relativamente) económica, como una
IBM 1401, que era muy buena para leer tarjetas, copiar cintas e imprimir
salidas, pero no para realizar cálculos numéricos. Otras máquinas, mucho más
costosas, como la IBM 7094, se usaban para la computación propiamente dicha,
ver Figura 2.

Figura 2.
Uno de los primeros sistemas por lote.
Secuencia:
(a) Los programadores traen tarjetas a
la 1401
(b) La 1401 lee lotes de trabajos y los
graba en cinta
(c) El operador lleva la cinta de
entrada a la 7094
(d) La 7094 realiza la computación
(e) El operador lleva la cinta de
salida a la 1401
(f) La 1401 imprime la salida
En resumen
las computadoras grandes de la segunda generación se usaban primordialmente
para cálculos científicos y de ingeniería, como la resolución de ecuaciones
diferenciales parciales. Estas máquinas generalmente se programaban en FORTRAN
y lenguaje ensamblador. Los sistemas operativos típicos eran FMS (el Fortran
Monitor System) e IBSYS, el sistema operativo de IBM para la 7094.
Tercera generación (1965-1980)
Circuitos integrados y multiprogramación
A principios de la década de 1960, la mayoría de los fabricantes de
computadoras tenían dos líneas de producto distintas y totalmente
incompatibles. Por un lado estaban las computadoras científicas a gran
escala, orientadas hacia las palabras, como la 7094, que se usaban para
cálculos numéricos en ciencias e ingeniería. Por el otro, estaban las
computadoras comerciales orientadas hacia los caracteres, como la 1401, que
los bancos y las compañías de seguros utilizaban amplia- mente para ordenar e
imprimir desde cinta.
La creación y mantenimiento de dos líneas de producto totalmente
distintas era una situación costosa para los fabricantes. Además, muchos
clientes de computadoras nuevas necesitaban inicialmente una máquina pequeña
que más adelante les resultaba insuficiente, de modo que querían una máquina
más grande que ejecutara todos sus viejos programas, pero más rápidamente.
IBM trató de resolver simultáneamente ambos problemas introduciendo la
System/360. La 360 era una serie de máquinas de software compatible que iban
desde tamaños comparables a la 1401 hasta computadoras mucho más potentes que
la 7094. Las máquinas diferían sólo en el precio y el rendimiento (memoria
máxima, velocidad del procesador, número de dispositivos de E/S permitidos,
etc.). Puesto que todas las máquinas tenían la misma arquitectura y conjunto
de instrucciones, los programas escritos para una máquina podían ejecutarse
en todas las demás, al menos en teoría. Además, la 360 estaba diseñada para
manejar computación tanto científica como comercial. Así, una sola familia de
máquinas podía satisfacer las necesidades de todos los clientes. En años
subsecuentes IBM produjo sucesoras comparables a la línea 360, usando
tecnología más moderna, conocidas como series 370, 4300, 3080 y 3090.
A pesar de su enorme tamaño y de sus problemas, OS/360 y los sistemas
operativos de tercera generación parecidos a él producidos por otros
fabricantes de computadoras lograron satisfacer a sus clientes en un grado
razonable, y también popularizaron varias técnicas clave que no existían en
los sistemas operativos de la segunda generación. Tal
vez la más importante de ellas haya sido
la multiprogramación. En la
7094, cuando el trabajo actual hacía una pausa para esperar que
se completara una operación de
cinta u otra operación de E/S, la CPU simplemente permanecía
ociosa hasta que la E/S terminaba. En los cálculos científicos,
con gran uso de CPU, la E/S es
poco frecuente, así que el tiempo desperdiciado no es
significativo. En el procesamiento de datos comerciales, el tiempo de espera
por E/S puede ser el 80090% del tiempo total, de modo que algo debía hacerse
para evitar que la CPU estuviera ociosa tanto tiempo.
La solución a la que se llegó fue dividir la memoria en varias secciones,
con un trabajo distinto en cada partición, como se muestra en la Figura 3.
Mientras un trabajo estaba esperando que terminara su E/S, otro
podía estar usando el CPU. Si se podían tener en la memoria principal
suficientes trabajos a la vez, el CPU podía mantenerse ocupada casi todo el
tiempo. Tener múltiples trabajos en la memoria a la vez requiere hardware
especial para proteger cada trabajo contra espionaje por parte de los demás,
pero la 360 y otros sistemas de tercera generación estaban equipados con este
hardware.
g
Sistema de multiprogramación con tres trabajos en la
memoria.
Otro avance importante durante la tercera generación fue el
crecimiento fenomenal de las minicomputadoras, comenzando con la DEC PDP- 1
en 1961. La PDP- 1 sólo tenía 4K de palabras de 18 bits, pero a $120 000 por
máquina (menos del 5% del precio de una 7094), se vendieron como
pan caliente. Para ciertos tipos de trabajos no numéricos, la PDP-1 era casi
tan rápida como la 7094, e hizo nacer una industria totalmente
nueva. A esta máquina pronto siguió una serie de Otras PDP (todas
incompatibles, a diferencia de la familia IBM), culminando en la PDP- 11.
|
Cuarta generación (a partir de 1980)
|












Comentarios
Publicar un comentario