Arquitectura de computadores El concepto de arquitectura de un
computador se refiere a la integración de su estructura
física con su estructura lógica. ¿
Qué disciplinas integra el estudio de la arquitectura de
computadores ? ¿ Por qué es importante para un
ingeniero de sistemas y computación poseer conocimientos
sobre arquitectura de computadores ? La arquitectura de
computadores es un concepto que integra software, hardware,
algoritmos y lenguajes de programación para el
procesamiento de datos y la generación de
información.
Arquitectura de Computadores La disciplina dedicada al estudio,
diseño, construcción y aplicación de los
computadores recibe el nombre de Arquitectura de Computadores. Su
estudio se puede dividir en cinco grandes áreas: 1.
Entrada – Salida. 2. Comunicaciones. 3. Control. 4.
Procesamiento. 5. Almacenamiento.
Sistemas de cómputo – Introducción “Hace 25
años había no más de 50.000 computadores en
todo el mundo, hoy se venden diariamente alrededor de 150.000
computadores” El campo de la computación es
extremadamente dinámico. A cada momento se diseñan
y construyen máquinas cada vez mejores. Solo en Estados
Unidos, el mercado de la computación representa entre el 5
y el 10 % del producto nacional.
Los computadores han traído consigo la tercera
revolución a nuestra civilización: La
revolución de la información. El desarrollo y
evolución de los sistemas de cómputo sirve de
impulso a otras ciencias. El costo de estos sistemas disminuye a
un ritmo solo comparable al del aumento en su potencia
computacional. Las aplicaciones que antes eran poco factibles se
convierten ahora en prácticas: Cajeros automáticos,
Computadores en automóviles, Computadores de bolsillo,
proyecto Genoma Humano, world wide web. Sistemas de
cómputo – Introducción
Los buenos programadores siempre están interesados en el
desempeño de sus programas. En los años 60´s:
Tamaño de la memoria. Modelo actual: Esquema
jerárquico de la memoria del sistema y la naturaleza
paralela de los procesadores (*). Construir software competitivo
hoy en día implica necesariamente un conocimiento de la
organización de los sistemas de cómputo. Sistemas
de cómputo – Introducción
Historia y evolución La era “de piedra” (5000
a.c. – 1650 d.c.): Primeros dispositivos de cálculo:
Huesos usados para contabilizar eventos, tablillas de arcilla, el
ábaco, tablas para predecir eventos astronómicos,
geometría y matemática aplicada. Se desarrollan y
escriben los primeros algoritmos. Aparecen las primeras reglas de
cálculo.
Historia y evolución La era mecánica (1620 – 1940):
Se perfeccionan las reglas de cálculo. En el siglo XVII
aparecen las primeras calculadoras mecánicas, destinadas a
la relojería y juguetes. A partir del siglo XIX aparecen
los primeros dispositivos electromecánicos.
Historia y evolución La primera generación de
computadores electrónicos: Primeros computadores: Aparecen
entre 1938 y 1939. Discretos y análogos. Relés de
conmutación. Tubos de vacío: ENIAC. Se bosqueja la
“máquina de Von Newmann”. Aparición
EDVAC y EDSAC. En Inglaterra aparece Colossus. Desarrollo de la
arquitectura Harvard. Uso de cables aislados y de
aritmética bit a bit. No se maneja punto flotante. UNIVAC
I: Primera computadora comercial. Tubos de vació y cintas
magnéticas.
Historia y evolución Segunda generación (1952 –
1963): En 1954 Bell Laboratories construye el primer computador
transistorizado del mundo. TRADIC. Usaba memorias de
núcleo de ferrita y corrientes coincidentes. Aparecen los
lenguajes de programación de alto nivel (FORTRAN en 1957,
COBOL en 1959 y ALGOL en 1960). Aparecen los primeros
PCB´s. Paquetes de discos intercambiables.
Historia y evolución Tercera generación (1962 –
1975): Aparecen los SSI. PCB´s multicapa. Desarrollo de
compiladores inteligentes ? Lenguajes de alto nivel más
elaborados. Multiprogramación: Intercalar la
ejecución de programas en operaciones de Entrada –
Salida. Sistemas de tiempo compartido y computadores vectoriales.
El concepto de Memoria virtual.
Historia y evolución La cuarta generación (1972 –
actualidad): Uso de tecnologías LSI y VLSI.
Multiprocesamiento y mejora del desempeño usando
pipelining. Lenguajes de programación más
elaborados. Aparece el concepto de procesamiento en paralelo.
Computador y estaciones de trabajo personales.
Rendimiento y desempeño Por rendimiento o desempeño
se entiende la manera en la que un sistema de cómputo
particular resuelve cierto problema y enfrenta los casos
previstos. Es una medida relativa y se usa como base de
comparación En general para medir el desempeño se
toma como base una operación común y muy sencilla
para el sistema de cómputo y se evalúa la cantidad
de operaciones que se pueden realizar en una base de tiempo
dada.
Rendimiento y desempeño Es muy común adoptar la
velocidad del sistema de cómputo para evaluar su
desempeño ? La frecuencia de reloj. La frecuencia de reloj
del procesador no es una buena medida para comparar el
desempeño de un sistema de cómputo, ni siquiera
entre sistemas de la misma marca. La frecuencia de reloj
sería útil como parámetro para comparar el
desempeño entre sistemas con una misma arquitectura
(CPU).
Rendimiento y desempeño Tiene más sentido medir las
capacidades internas de la CPU. Por ejemplo: En un DEC PDP
– 11 con una frecuencia de reloj de 21 MHz (1983) ,
tomaría 480 ?s multiplicar dos enteros sin signo de 16
bits. La misma operación le toma alrededor de 30 ?s a un
8088 de 4.77 MHz (1981).
Rendimiento y desempeño
Desarrollo de los microprocesadores 1975 Intel 8080. 2 MHz. 4
ciclos de reloj / ciclo de memoria de 8 bits (500kB/s). 1977
Zilog Z – 80. 4 MHz. 4 ciclos / 8 bits. (1 MB / s). 1981
Intel 8088. 5 MHz*. 5 ciclos / 8 bits. (1 MB / s).
Desarrollo de los microprocesadores Intel 80286. 8 MHz. 3 ciclos
/ 16 bits. (5.3 MB / s). Intel 80386. 33 MHz. 2 ciclos / 32 bits.
(66 MB / s). Intel 486DX2. 66 MHz. 2 ciclos / 32 bits. (132 MB /
s). Intel Pentium. 90 MHz y bus de 60 MHz. Picos de 160 MB / s.
Pentium II. 400 MHz. El bus de memoria tiene un 1 ciclo de 64
bits a 100 MHz, con picos de 800 MB / s. Es muy difícil
calcular un valor exacto del desempeño real o promedio del
procesador.