You are on page 1of 12

1

Estructura y Tecnologa de Computadores Estructura y Tecnologa de Computadores


Mdulo B. Mdulo B. Introduccin a la estructura de computadores Introduccin a la estructura de computadores
Tema 3. Introduccin a la estructura de computadores Tema 3. Introduccin a la estructura de computadores
Jos Manuel Mendas Cuadros Jos Manuel Mendas Cuadros
Dpto Dpto. Arquitectura de Computadores y Automtica . Arquitectura de Computadores y Automtica
Universidad Complutense de Madrid Universidad Complutense de Madrid
2
estructura y tecnologa de estructura y tecnologa de computadores computadores
contenidos contenidos
1. Niveles de descripcin de un computador
Niveles de descripcin. Conceptos de arquitectura y estructura. Concepto de familia.
2. Modelo Von Neumann
Mdulos bsicos.Caractersticas principales. Elementos de la CPU.
3. Medidas de rendimiento
Tiempo de ejecucin. MIPS. MFLOPS. Ley de Amdahl.
4. Perspectiva histrica (leer cap.2 Stallings, cap.1 Patterson y Hennessy)
Generaciones de computadores. 1 generacin. 2 generacin. 3 generacin. 4
generacin. 5 generacin.
3
estructura y tecnologa de estructura y tecnologa de computadores computadores
el computador el computador
Funciones de un computador
Procesamiento de datos
Almacenamiento de datos
Transferencias de datos entre el computador y el exterior
Control de las anteriores operaciones
La excesiva generalidad de estas funciones se debe a que la especializacin
funcional de un computador ocurre cuando se programa y no cuando se disea
Sus principales componentes estructurales son:
Procesador: controla el funcionamiento del computador y procesa los datos
Subsistema de memoria: almecena datos
Subsistema de entrada/salida: transfiere datos entre el computador y el entorno externo
Subsistema de interconexin: proporciona un medio de comunicacin entre el
procesador, la memoria y la E/S.
[HaVZ96]:Un computador es una mquina de clculo electrnica de alta velocidad
que acepta informacin digitalizada, la procesa atendiendo a una lista de
instrucciones que almacena internamente, y produce la correspondiente
informacin de salida
4
estructura y tecnologa de estructura y tecnologa de computadores computadores
dificultades en el estudio del computador dificultades en el estudio del computador
Existen una gran variedad de sistemas
Computadores personales
Estaciones de trabajo (workstations)
Mainframes
Supercomputadores
Es un campo extremadamente cambiante ya que la tecnologa avanza a pasos
agigantados:
Procesador:
la densidad de integracin aumenta un 30% anual
las frecuencias de funcionamiento aumentan un 20% anual
la potencia de clculo aumenta un 50% anual
Memoria:
la capacidad de almacenamiento (DRAMs) aumenta un 60% anual
velocidad de transferencia aumenta un 10% anual
coste por bit disminuye un 25% anual
Discos:
la capacidad de almacenamiento aumenta un 60% anual
Sin embargo, se aplican sistemticamente ciertos conceptos fundamentales
5
estructura y tecnologa de estructura y tecnologa de computadores computadores
Fsico
Circuito Digital
Estructura del
computador
Arquitectura del
computador
Sistema Operativo /
Compilador
Lenguaje de alto nivel
Aplicacin
CPU Mem.
E/S
Bus
Registros
Registro Estado
Contador Programa
R0
R7



Loop move #$10, R0
load R1(dir1), R2
add R2, R0
sub #1, R1
beq Loop
Gestin de memoria Compilacin
Gestin de procesos Enlazado
Gestin de ficheros Ubicacin
FOR, WHILE, REPEAT, PROCEDURE, ...
PASCAL, FORTRAN, C, COBOL, BASIC, ...
MODULA, C++, JAVA, ...
Ofimtica (MS-Office, Contaplus, D-Base)
Comunicaciones (Netscape, Explorer, Mail)
Diseo (AutoCAD, ...), Multimedia, Juegos, etc.
1. niveles de descripcin de un computador 1. niveles de descripcin de un computador
6
estructura y tecnologa de estructura y tecnologa de computadores computadores
1. niveles de descripcin de un computador 1. niveles de descripcin de un computador
Fsico
Circuito Digital
Estructura del
computador
Arquitectura del
computador
Sistema Operativo /
Compilador
Lenguaje de alto nivel
Aplicacin
1er cuatrimestre:
tecnologa
2do. cuatrimestre:
estructura
Sistemas Operativos (NO compiladores)
Estructuras de datos y de la informacin
Metodologa y tecnologa de la programacin
Auto-aprendizaje en ratos libres,
Academias de informtica/ofimtica
Dnde se estudia?
7
estructura y tecnologa de estructura y tecnologa de computadores computadores
Conjuntos de atributos de un computador que son visibles a:
El programador en lenguaje mquina,
El sistema operativo o
El compilador
Engloba los siguientes elementos
Conjunto de registros visibles al programador
Conjunto de instrucciones mquina o ensamblador
Tipos bsicos de datos soportados por las instrucciones mquina
Modos de direccionamiento
Mecanismos de E/S
Arquitectura del computador Arquitectura del computador
Conjunto de mdulos bsicos que componen el computador
CPU (ALU, unidad de control, registros, ...)
Memoria (memoria principal, memoria cache, memoria virtual)
E/S (perifricos, controladores, DMA, ...)
Buses (buses del sistema, buses de expansin, etc.)
Funcionamiento y alternativas de implementacin de los mdulos bsicos
Interconexin e interaccin entre los mismos
Estructura del computador Estructura del computador
1. niveles de descripcin de un computador 1. niveles de descripcin de un computador
8
estructura y tecnologa de estructura y tecnologa de computadores computadores
Conjunto de computadores con
Similar arquitectura
Distinta organizacin
Las familias de computadores hacen posible que
Existan mquinas de la misma familia con distinta
Tecnologa
Velocidad
Prestaciones
Precio
Las mquinas de una misma familia sean compatibles entre s
Todos los miembros de una misma familia pueden
ejecutar los mismos programas
La compatibilidad suele ser slo hacia arriba
(upward compatibility)
Las mquinas de gama alta de una familia pueden ejecutar los
mismos programas que las mquinas de gama baja
Lo contrario (compatibilidad hacia abajo) no suele ser cierto
Familia de computadores Familia de computadores
Familia PC compatible
IBM PC-XT (8088)
IBM PC-AT (80286)
80386
80486
Pentium
Pentium Pro
Pentium II
Familia Motorola 68XXX
MC68000
MC68010
MC68020
MC68030
MC68040
MC68060
Ejemplos de Familias Ejemplos de Familias
1. niveles de descripcin de un computador 1. niveles de descripcin de un computador
9
estructura y tecnologa de estructura y tecnologa de computadores computadores
MEMORIA E/S
Bus Datos
Bus Direcc.
Bus Control
CPU (Unidad Central de Proceso)
Realiza la ejecucin de las instrucciones
Unidad de Memoria
Almacena las instrucciones y los datos
Unidad de E/S
Transfiere informacin entre el computador
y los dispositivos perifricos
Esquema Esquema
Mdulos bsicos Mdulos bsicos
Bus de datos
Para transferencia de datos entre la CPU y
memoria o E/S
Bus de direcciones
Para especificar la direccin de memoria
o la direccin del registro de E/S
Bus de control
Seales de control de la transferencia
(reloj, lectura/escritura, etc.)
Elementos de interconexin: BUSES Elementos de interconexin: BUSES
2. modelo Von Neumann 2. modelo Von Neumann
Registros
Reg. Estado (SR)
Cont. Prog. (PC)
R0
R7



Unidad
Aritmtico
Lgica
(ALU)
Unidad de Control (UC)
C
P
U
Reg. Instr. (IR)
Reg. Dir. Mem. (MAR)
Reg. Dat. Mem. (MDR)
10
estructura y tecnologa de estructura y tecnologa de computadores computadores
Su funcionamiento se basa en el concepto de programa almacenado en memoria
La memoria principal almacena
Instrucciones: programa que controla el funcionamiento del computador
Datos: datos que procesa y genera dicho programa
Las palabras en memoria siguen una organizacin lineal
Todas las palabras de memoria tienen el mismo tamao
No hay distincin explcita entre direcciones y datos
La ejecucin de las instrucciones es secuencial
El secuenciamiento de las instrucciones es implcito, y viene determinado por el orden en que
han sido almacenadas en la memoria
Este secuenciamiento slo puede ser modificado por instrucciones especficas de salto
El contador de programa (PC) indica en cada instante cual es la siguiente instruccin a ejecutar
Las fases que se distinguen en la ejecucin de una instruccin son
Bsqueda de la instruccin en memoria (Fetch) y clculo de la direcc. de instruccin siguiente
Descodificacin de la instruccin por parte de la CPU
Bsqueda de los operandos de la instruccin
Ejecucin de la instruccin
Escritura del resultado
Caractersticas principales del modelo Von Neumann Caractersticas principales del modelo Von Neumann
2. modelo Von Neumann 2. modelo Von Neumann
11
estructura y tecnologa de estructura y tecnologa de computadores computadores
Unidad de proceso o ruta de datos (data-path)
Unidad Aritmtico-Lgica (ALU)
Realiza las operaciones aritmticas y lgicas que indican las instrucciones
Banco de Registros
Conjunto de registros visibles al usuario
Almacena los datos y los resultados con los que trabaja la ALU
Registros especiales
Contador de programa, registro de estado, direccin del dato en memoria, etc.
Buses internos
Caminos de interconexin entre los elementos anteriores
Unidad de control o ruta de control (control-path)
Genera las seales necesarias para que la unidad de proceso ejecute las instrucciones
de forma adecuada
Indica el tipo de operacin que tiene que realizar la ALU
Indica que registros contienen los datos y dnde se debe almacenar el resultado
Genera seales de carga de todos los registros cuando estos tienen que almacenar informacin
Es un sistema secuencial. Su complejidad depende de
La complejidad de la unidad de proceso y del nmero y tipo de instrucciones a ejecutar
Elementos de la CPU Elementos de la CPU
2. modelo Von Neumann 2. modelo Von Neumann
12
estructura y tecnologa de estructura y tecnologa de computadores computadores
Para qu son necesarias? Para qu son necesarias?
Permiten comparar objetivamente las prestaciones de computadores distintos:
Cul ofrece mayor potencia de clculo o mayor velocidad de procesamiento, es decir, cul
tarda menos tiempo en ejecutar nuestras aplicaciones
3. medidas de rendimiento 3. medidas de rendimiento
Tiempo de ejecucin (medido en segundos/programa)
cuenta todo: tiempos de E/S, tiempos de acceso a memoria, tiempo de S.O.
es til, pero depende de demasiados factores para poder ser usado eficientemente
Tiempo de CPU
slo cuenta la fraccin de tiempo de ejecucin en la que la CPU est ocupada
puede ser descompuesto en:
tiempo de usuario: tiempo empleado por la CPU para ejecutar un programa
tiempo de sistema: tiempo empleado por la CPU para ejecutar tareas del sistema
operativo en beneficio del programa
Cul es la principal mtrica Cul es la principal mtrica (desde el punto de vista del usuario individual) (desde el punto de vista del usuario individual)? ?
...consideraremos como mtrica principal del rendimiento de un procesador para un
programa dado el tiempo de usuario de CPU, sin embargo, es necesario
relacionarlo con aspectos ms cercanos al hardware
13
estructura y tecnologa de estructura y tecnologa de computadores computadores
3. medidas de rendimiento 3. medidas de rendimiento
Todos los computadores utilizan una seal peridica que determina el momento
en que tienen lugar los eventos hardware: dicha seal se llama reloj
tiempo de ciclo: tiempo que transcurre entre dos ticks (medido en s)
frecuencia de reloj: la inversa del tiempo de ciclo (medido en Hz=s
-1
)
Un computador funcionando a 200 MHz (frecuencia)
tiene un tiempo de ciclo de:
ns 5 s
9
10 5

6
10 200
1
=

puede asumirse que (ciclos de reloj por programa) = (instrucciones por programa)?
NO: diferentes instrucciones tardan diferentes cantidades de tiempo:
La multiplicacin tarda ms ciclos que la suma
Operaciones en punto flotante tardan ms que operaciones en punto fijo
Instrucciones con acceso a memoria tardan ms que con acceso a registros
(tiempo de CPU) = (ciclos de reloj por programa) (tiempo de ciclo)
= (ciclos de reloj por programa) / (frecuencia de reloj)
14
estructura y tecnologa de estructura y tecnologa de computadores computadores
3. medidas de rendimiento 3. medidas de rendimiento
tiempo (ciclos)
1


i
n
s
t
r
.
2


i
n
s
t
r
.
3


i
n
s
t
r
.
4

(ciclos de reloj por programa) = (instrucciones por programa) (ciclos promedio por instruccin)
Los ciclos promedio por instruccin (CPI) se calculan como una suma ponderada
del nmero de ciclos que tarda por separado cada tipo de instruccin
Operacin Frecuencia Ciclos CPI % tiempo
ALU 50% 1 .5 23%
Load 20% 5 1.0 45%
Store 10% 3 .3 14%
Branch 20% 2 .4 18%
2.2
15
estructura y tecnologa de estructura y tecnologa de computadores computadores
de quin dependen las instrucciones por programa?:
programadores / compiladores / arquitectura del repertorio de instrucciones
de quin depende el tiempo de ciclo?:
tecnologa / organizacin
de quin dependen los ciclos promedio por instruccin?:
organizacin / arquitectura del repertorio de instrucciones
(tiempo de CPU) = (instrucciones por programa) CPI (tiempo de ciclo)
ninguna de las variables por separado
es medida de rendimiento
3. medidas de rendimiento 3. medidas de rendimiento
El rendimiento se evala ejecutando programas reales
programas de juguete: 10~100 lneas de cdigo con resultado conocido
programas de prueba (benchmarks) sintticos: simulan la frecuencia de operaciones y
operandos de un abanico de programas reales
fragmentos de programas reales
programas tpicos con cargas de trabajo fijas
16
estructura y tecnologa de estructura y tecnologa de computadores computadores
3. medidas de rendimiento 3. medidas de rendimiento
MIPS (Millones de instrucciones por segundo) MIPS (Millones de instrucciones por segundo)
MIPS = (instrucciones por programa) / (tiempo ejecucin 10
6
)
MIPS = (frecuencia de reloj) / (CPI 10
6
)
Problemas
Depende del repertorio de instrucciones
El tiempo que tarda en ejecutarse una misma instruccin y el n de instrucciones mquina
que genera el compilador puede variar de un repertorio a otro
Dos programas distintos pueden tener comportamientos opuestos
La medida de MIPS puede variar mucho de un programa a otro
Existen instrucciones que tardan ms tiempo en ejecutarse que otras
Los programas en los que abundan instrucciones rpidas tardan menos en ejecutarse
Los programas en los que abundan instrucciones lentas tardan ms en ejecutarse
Los fabricantes suelen dar medidas de MIPS muy optimistas
Utilizan programas donde predominan instrucciones que tardan poco en ejecutarse
Existen, adems, otras mtricas muy populares pero que pueden resultar engaosas por
no incluir todas las variables anteriormente estudiadas.
17
estructura y tecnologa de estructura y tecnologa de computadores computadores
MFLOPS (Millones de instrucciones en punto flotante por segundo) MFLOPS (Millones de instrucciones en punto flotante por segundo)
MFLOPS = (instrucciones en punto flotante por programa) / (tiempo ejecucin 10
6
)
Las instrucciones en punto flotante son las que ms tardan en ejecutarse
Son una medida algo ms fiable del rendimiento real del computador
Problemas
Depende del repertorio de instrucciones en punto flotante
No todos los computadores ofrecen las mismas operaciones en punto flotante
Dos programas distintos pueden tener comportamientos opuestos
Es intil para muchos programas
Los programas enteros (sin operaciones en punto flotante) no pueden medirse en MFLOPS
Existen instrucciones en punto flotante de distinto tiempo de ejecucin
Por ejemplo: suma, resta, ... son rpidas; divisin, seno, exponencial, ... Son lentas
Los fabricantes pueden dar tambin medidas de MFLOPS demasiado optimistas
Conclusin Conclusin
MIPS y MFLOPS son medidas parciales poco indicativas por si solas
3. medidas de rendimiento 3. medidas de rendimiento
18
estructura y tecnologa de estructura y tecnologa de computadores computadores
3. medidas de rendimiento 3. medidas de rendimiento
medio de
transporte
viaje desde
Madrid (h)
mejora
viaje
completo (h)
mejora
real
caminando 50 1 70 1
bicicleta 20 2.5 40 1.8
moto 4 12.5 24 2.9
coche 1.67 30 21.27 3.2
tren 0.33 150 20.33 3.4
Cuando se pretende mejorar el rendimiento, debe tenerse en cuenta que la mejora
de un aspecto de la mquina no incrementa el rendimiento global en una cantidad
proporcional al tamao de la mejora
se pretende viajar desde el Yelmo a Ciudad Real y el viaje se realiza en 2 fases: del
Yelmo a Madrid (20h caminando) y de Madrid a Ciudad Real (en otro medio de transporte)
Ley de Amdahl: El aumento del rendimiento global que se obtiene mejorando
algn aspecto de un sistema est limitado por la fraccin de tiempo en la que
dicho aspecto mejorado puede ser usado
(t.e. tras la mejora) = (t.e. no afectado) + (t.e. afectado / cantidad de la mejora)
...hacer comn el caso rpido o acelerar el caso comn
19
estructura y tecnologa de estructura y tecnologa de computadores computadores
Generaciones de computadores Generaciones de computadores
1 Generacin (1946-1957) 1 Generacin (1946-1957)
ENIAC (1946)
Primer computador de propsito especial
Peso: 30 toneladas; Superficie: 1.400 m
2
; Consumo: 140 KW
Potencia clculo: 5000 sumas/seg
Difcil de programar. Mediante conmutadores y cables
Primeros computadores comerciales (Aos 50)
UNIVAC I y II (Eckert & Mauchly)
IBM Serie 700
Programacin en lenguaje mquina
4. perspectiva histrica 4. perspectiva histrica
Generacin Fechas Caractersticas Tecnolg. Potencia de clculo
Primera 1946-1957 Vlvula de vaco 0,04 MIPS
Segunda 1958-1964 Transistores 0,2 MIPS
Tercera 1965-1971 Circuitos integrados 1 MIPS
Cuarta 1972-1988 Microprocesador 10 MIPS
Quinta 1988- Sistema basados en micro > 100 MIPS
20
estructura y tecnologa de estructura y tecnologa de computadores computadores
2 Generacin (1958 - 1964) 2 Generacin (1958 - 1964)

El transistor
Inventado por los laboratorios Bell en 1947
Ms pequeos, baratos y menor consumo que las vlvulas de vaco
Computadores de menor coste y tamao, ms fiables mayores prestaciones
Principales computadores comerciales
DEC PDP-1
IBM Serie 7000
UNIVAC 1100
Otras innovaciones
Programacin en lenguajes de alto nivel (Fortran, Cobol, ...)
Canales de E/S
Memoria virtual
Interrupciones para la E/S
4. perspectiva histrica 4. perspectiva histrica
21
estructura y tecnologa de estructura y tecnologa de computadores computadores
3 Generacin (1965 - 1971) 3 Generacin (1965 - 1971)
El circuito integrado (CI)
Integracin de mltiples componentes (transistores, resistencias, condensadores, .. )
en un mismo CI de silicio
Reduce enormemente el tiempo de fabricacin, el tamao y el coste del computador
Aumenta an ms la fiabilidad y las prestaciones
Principales computadores comerciales
DEC PDP-8
IBM Series 360 y 370
UNIVAC 1108
CDC series 6600, 7800 y Cyber
Otras innovaciones
Microprogramacin
Interrupciones con prioridades
Memoria cache
Controladores DMA
Nuevos lenguajes de programacin (Basic, APL, Pascal)
Sistemas operativos robustos (MVS de IBM, VMS de DEC)
4. perspectiva histrica 4. perspectiva histrica
22
estructura y tecnologa de estructura y tecnologa de computadores computadores
4 Generacin (1972 - 1988) 4 Generacin (1972 - 1988)
El microprocesador
Aumento constante en escala de integracin (LSI, VLSI): se duplica cada ao
La escala LSI permite integrar todos los componentes de un procesador en un mismo chip
Nace el MICROPROCESADOR
Primer microprocesador: intel 4004 (procesador de 4 bits, 1971)
Aparece el computador personal (IBM/PC)
Microsoft desarrolla el primer sistema operativo: MS-DOS
Principales procesadores de esta generacin
De 8 bits: intel 8008, 8080; Motorola 6502, 6800
De 16 bits (ao 78): intel 8086, 80286; Motorola 68000, 68010
De 32 bits (aos 85): intel 80386; Motorola 68020, 68030
Surge el procesador con conjunto reducido de instrucciones (RISC)
MIPS R2000 (32 bits, ao 1986)
Supercomputadores vectoriales y paralelos
Basados en tecnologa ECL
Muy caros de fabricar y mantener
Cray, NEC, Hitachi, Fujitsu
Aparecen las redes de computadores
i4004
4. perspectiva histrica 4. perspectiva histrica
23
estructura y tecnologa de estructura y tecnologa de computadores computadores
5 Generacin (1988 - ...) 5 Generacin (1988 - ...)
Sistemas basados en microprocesador
Contina crecimiento en la escala de integracin:
Ms de 15 millones de transistores por chip
Se abaratan los precios de los microprocesadores y aumentan sus prestaciones
Aparece el procesador superescalar, capaz de lanzar varias instrucciones por ciclo de reloj
La increble relacin coste-prestaciones del microprocesador hace de ste el elemento bsico de:
Computadores personales
PC (i486, Pentium, Pentium II)
Machintosh (Motorola 68030, 40, PowerPC)
Estaciones de trabajo (Work-Stations)
Sun (SuperSparc, UltraSparc I, UltraSparc II)
DEC (Alpha 21064, 21164, 21264)
Silicon Graphics (MIPS R4000, R5000, R8000, R10000)
IBM (RS/6000)
Supercomputadores paralelos basados en microprocesadores
Multicomputadores de de memoria distribuida (Cray T3E, IBM SP2)
Multiprocesadores de memoria compartida (SG Origin 2000, Sun SparcServer, HP
PA8000)
4. perspectiva histrica 4. perspectiva histrica

You might also like