Objetivos
2
Objetivos
Arquitecturas
von Neumann
Otras
Unidad Central de Procesamiento (CPU)
Responsabilidades
Requisitos
Partes de una CPU
ALU
Control & Decode
Registros
Electrnica y buses
Arquitectura de Computadores
ndice
3
Captulo 1 : Arquitecturas
3. Arquitecturas
3.1 von Neumann
3.2 Harvard
3.3 Otras (Multiprocesador, Sistemas distribuidos)
Arquitectura de Computadores
Introduccin
Captulo 1 : Arquitecturas
Arquitectura de Computadores
Corresponde a la estructura, organizacin, e
interconexin de las diversas partes de un
computador
Cantidad de instrucciones
Tamao de las instrucciones
Maneras de acceder a memoria
Organizacin funcional
Registros
Interconexin entre los componentes
Mecansmos de Entrada/Salida (I/O)
Jerarquas de memoria
Arquitectura de Computadores
Introduccin
Captulo
3 : Arquitecturas
5
Arquitectura de Computadores
ndice
6
Captulo 1 : Arquitecturas
Arquitectura de Computadores
Introduccin
7
Arquitectura de Computadores
Introduccin
8
Arquitectura de Computadores
Memoria
Arquitectura de Computadores
CPU
Input/Output
Data Bus
Control
Memoria
CPU
I/O
Control
Address Bus
Arquitectura de Computadores
ndice
Captulo
1 : Arquitecturas
11
Arquitectura de Computadores
Arquitectura Harvard
Captulo
1 : Arquitecturas - Harvard
12
Arquitectura de Computadores
Arquitectura Harvard
Captulo
1 : Arquitecturas - Comparacin
13
Ms simple arquitectnicamente
Un solo tipo de instrucciones para acceder a memoria
Un solo bus de datos y de direcciones
Una misma forma de acceso a datos e instrucciones
Mayor flexibilidad
til para el sistema operativo
Paginacin a disco
Cdigo automodificante
14
Arquitectura de Computadores
ndice
15
Captulo 1 : Arquitecturas
Arquitectura de Computadores
Multiprocesador
16
Captulo 1 : Arquitecturas
Procesador
Procesador
Procesador
Procesador
Memoria
local *
Memoria
local
Memoria
local
Memoria
local
Memoria Principal
I/O
Multiprocesador
17
Captulo 1 : Arquitecturas
Ventajas
Procesamiento paralelo
Cercana entre CPUs permite altas tasas de
transferencia de datos
Desventajas
No todo es paralelizable
Sistemas distribuidos
18
Captulo 1 : Arquitecturas
Procesador
Procesador
Memoria
Memoria
Procesador
Memoria
I/O
I/O
Red de interconexin
Arquitectura de Computadores
I/O
Sistemas distribuidos
Captulo
3 : Arquitecturas
19
Red de interconexin
Arquitectura de Computadores
Sistemas distribuidos
20
Ventajas
Captulo 1 : Arquitecturas
Procesamiento paralelo
Facilidad de incorporar y quitar
nodos del sistema
Desventajas
No todo es paralelizable
Overhead en la transferencia de datos es
considerablemente mayor
Problemas de coherencia de memorias
Arquitectura de Computadores
ndice
21
Introduccin
Captulo 2 : Unidad de Procesamiento Central (CPU)
Arquitectura de Computadores
ndice
23
Arquitectura de Computadores
R.Mitnik
Partes de la CPU
24
Responsabilidades
Ejecutar Operaciones y Algoritmos
Controlar Flujo del Programa
Controlar Circuitos Internos
Arquitectura de Computadores
Partes de la CPU
Captulo
2 : Unidad de Procesamiento Central (CPU)
25
Memoria
1101110111
Load (7h)
01 1100011001
00
Requisitos:
Procesar
instruccin
Leer datos
Almacenar
Temporalmente los
datos
ALU
ALU FPU
Almacenar
Resultados
Arquitectura de Computadores
02
1110001010
03
1110000000
04
0110011000
05
0000011000
06
0001111000
07
0000000100
08
1111000000
09
0000000101
0A 0000000000
0000001001
R.Mitnik
Partes de la CPU
Captulo
2 : Unidad de Procesamiento Central (CPU)
26
MOVE(0Ah)
GOTO(08h)
ALU
Control de Flujo
Instruction Pointer
Mecanismos de Salto
Arquitectura de Computadores
GOTO(08h)
1110000000
04
0110011000
05
0000011000
06
0001111000
07
0000000100
08
1111000000
09
0000000101
01
ADD (09h)
Requisitos
03
00
LOAD (07h)
02
Memoria
1101110111
LOAD (07h)
1100011001
ADD(09h)
1110001010
MOVE(0Ah)
0A 0000000000
0000001001
4
5
Partes de la CPU
Captulo
2 : Unidad de Procesamiento Central (CPU)
27
Ej. implementacin
Circuitos internos
contador
00000000
memoria
Requisitos
Buses internos.
Seales de control.
ALU (funcin)
Mux
Registros (Load,etc)
Contador (Inc,
Load,etc)
00
LOAD (07h)
01
ADD(09h)
02
MOVE(0Ah)
03
GOTO(08h)
04
0110011000
05
0000011000
06
0001111000
07
0000000100
08
1111000000
09
0000000101
0A
0000000000
Arquitectura de Computadores
m
u
x
A
L
U
registro
0001111000
Partes de la CPU
Captulo
2 : Unidad de Procesamiento Central (CPU)
28
2k palabras
n bits por palabra
Arquitectura de Computadores
n seales de
control para
la instruccin
R.Mitnik
Partes de la CPU
Captulo
4 : Unidad de Procesamiento Central (CPU)
29
Registros de la CPU
Arquitectura de Computadores
Registros de la CPU
Captulo
4 : Unidad de Procesamiento Central (CPU) Partes de la CPU
30
Un procesador incluye:
registros visibles para el usuario
registros de control/estado.
Registros Visibles.
Registros de la CPU
Captulo
4 : Unidad de Procesamiento Central (CPU) Partes de la CPU
31
ptimo entre 8 y 32
Arquitectura de Computadores
Registros de la CPU
Captulo
4 : Unidad de Procesamiento Central (CPU) Partes de la CPU
32
Registros de la CPU
Captulo
4 : Unidad de Procesamiento Central (CPU) Partes de la CPU
33
Registros Control/Estado.
Arquitectura de Computadores
Registros de la CPU
Captulo
4 : Unidad de Procesamiento Central (CPU) Partes de la CPU
34
Registros Control/Estado.
Registros de la CPU
Captulo
4 : Unidad de Procesamiento Central (CPU) Partes de la CPU
35
Registros Control/Estado.
Arquitectura de Computadores
Partes de la CPU
Captulo
4 : Unidad de Procesamiento Central (CPU)
36
Ej.
Implementaci
n modificado
contador
00000000
memoria
00
LOAD (07)
01
ADD(09)
02
GOTO(0A)
03
1110000000
04
0110011000
05
0000011000
06
0001111000
07
0000000100
08
1111000000
09
0000000101
0A
0000000000
Arquitectura de Computadores
m
u
x
registro
0001111000
A
L
U
IR
Control &
Decode
Seales de
Control
Partes de la CPU
Captulo
4 : Unidad de Procesamiento Central (CPU)
37
Partes de la CPU.
Registros
Program Counter
Instruction Register
Uso general
ALU
FPU
Control & Decode
Buses
Circuitera
Arquitectura de Computadores
Resumen
38
Resumen
Distintas arquitecturas
Partes de la CPU y sus funciones
Registros
Visibles
Control/Estado
ALU, FPU
Control & Decode
Decodificacin de instrucciones
Seales de control
Buses Internos
Circuitera
Arquitectura de Computadores
Organizacin de
computadores
Procesadores
Memorias
Dispositivos de E/S
Computador
Dispositivos de E/S
Unidad
aritmtica y
lgica
Registros
Memoria
principal
Disco
Impresora
Bus
Procesadores
Ejecucin de una
instruccin
Ejecucin de instrucciones
en paralelo
Mquinas cada vez ms rpidas
Existen lmites fsicos
Es muy caro
SIMD: flujo
MIMD: flujo
Mquinas SISD
Dos modelos:
varias unidades funcionales
procesamiento en lnea
Procesamiento en lnea
Consiste en separar la ejecucin de cada instruccin en partes. Cada parte la ejecuta una
unidad de procesamiento de la CPU.
UP1
Unidad de
extraccin de
instruccin
UP2
UP3
UP4
UP5
Analizador de
instrucciones
Unidad de
clculo de
direcciones
Unidad de
extraccin
de datos
Unidad de
ejecucin de
instrucciones
P1
P2
1
8
P3
1
8
2
1
3
2
P4
P5
1
8
5
4
3
6
6
5
4
7
7
6
5
t
Mquinas SIMD
Mquina vectorial
vector de entrada B
Procesador de arreglos
Consiste de una malla cuadrangular de elementos procesador/memoria, que reciben las
instrucciones de la UC, stas son ejecutadas por todos los procesadores.
U.C
Mquinas MIMD
CPU
CPU
CPU
CPU
Memoria
compartida
Mquinas MIMD
Posibles soluciones:
Memoria local a cada procesador donde se almacena datos y
programas no comunes.
memorias locales
CPU
CPU
CPU
CPU
memoria compartida
Tener ms de un bus.
Usar memoria cach: tcnica para mantener en cada procesador las
palabras de memoria usadas con mayor frecuencia.
Memoria
Memoria
Memoria secundaria
Cintas magnticas
Discos magnticos
Discos flexibles
Discos pticos
Discos RAM
Se utiliza como disco una parte de la memoria principal previamente
reservada.
Ventajas: acceso instantneo, facilidad para un ordenador sin disco.
Dispositivos de E/S
Enfoque 1
Utilizado
en grandes computadores.
Memoria
principal
Bus de memoria
Bus de E/S
CPU
Procesadores de E/S
(canales)
Controlador
de terminales
Impresora
Terminales
Discos
Enfoque 2
CPU
Memoria
Contr.
de video
Contr. de
teclado
Unidad
de disco
Contr. de
disco
Bus
Rendimiento de la CPU
y sus factores
Rendimiento
59
Arquitectura de Computadoras
Ejemplo
60
Arquitectura de Computadoras
Definicin de rendimiento
61
RendimientoX
1
Tiempo de ejecucinX
62
Rendimiento relativo
RendimientoX
n 1
Rendimient
oY
Alternativamente:
Tiempo de ejecucinY
n 1
Tiempo de ejecucinX
Arquitectura de Computadoras
Ejemplo
63
RendimientoA / RendimientoB =
Tiempo de ejecucinB / Tiempo de ejecucinA
=
15 / 10 =
1.5
Conclusin: A es 1.5 veces ms rpida que B.
Arquitectura de Computadoras
Tiempo
64
1.
Accesos a disco.
Accesos a memoria.
Arquitectura de Computadoras
Tiempo
65
2.
Arquitectura de Computadoras
Tiempo
66
1.
2.
Arquitectura de Computadoras
Reloj
67
2.
Arquitectura de Computadoras
68
Rendimiento de la CPU
El tiempo de ejecucin de CPU de un programa:
Arquitectura de Computadoras
69
Rendimiento de la CPU
El tiempo de CPU de un programa puede mejorar
(disminuir) si:
El programa corre ms rpido (usa menos ciclos de
reloj).
Arquitectura de Computadoras
Ejemplo
70
Arquitectura de Computadoras
Ejemplo
71
Ejemplo
72
Ciclos de reloj
73
En la ecuacin
CPI
74
Arquitectura de Computadoras
Ejemplo
75
Arquitectura de Computadoras
Ejemplo
76
Se usan la ecuaciones:
Arquitectura de Computadoras
Ejemplo
77
=Ix2
Al final
= I x 500 ps
Ejemplo
78
= I x 1.2
Al final
Arquitectura de Computadoras
= I x 600 ps
79
Arquitectura de Computadoras
80
Rendimiento de la CPU
La ecuacin de rendimiento de la CPU puede
reescribirse como:
81
2.
3.
Arquitectura de Computadoras
82
Arquitectura de Computadoras
Universida
d de
Sonora
83
Arquitectura de Computadoras
84
Consideraciones
El nmero de instrucciones depende del conjunto de
instrucciones (el ISA) y no de la implementacin.
El CPI depende de la implementacin porque
depende de:
La estructura de la memoria.
La estructura del procesador.
Las instrucciones usadas en el programa.
Arquitectura de Computadoras
Nmero de ciclos
85
donde
Ci es el nmero de instrucciones de clase i ejecutadas.
CPIi es el promedio del nmero de ciclos por instruccin
para la clase i.
Arquitectura de Computadoras
Ejemplo
86
CPI
Arquitectura de Computadoras
Ejemplo
87
Secuencia
de cdigo
S1
S2
Arquitectura de Computadoras
Ejemplo
88
1.
2.
Qu secuencia es ms rpida?
3.
Arquitectura de Computadoras
Ejemplo
89
1.
Arquitectura de Computadoras
Ejemplo
90
2.
Qu secuencia es ms rpida?
es decir, Qu secuencia ejecuta menos ciclos?
Se usa la ecuacin:
Ciclos de S1 = (2 x 1) + (1 x 2) + (2 x 3) = 10 ciclos
Ciclos de S2 = (4 x 1) + (1 x 2) + (1 x 3) = 9 ciclos
Arquitectura de Computadoras
Ejemplo
91
3.
Se usa la ecuacin:
Para S1 CPI = 10 / 5 = 2
Arquitectura de Computadoras
Resumen
92
Componente
Unidad de medida
Periodo de reloj.
Arquitectura de Computadoras
Resumen
93
Arquitectura de Computadoras
Universida
d de
Sonora
Resumen
94
Periodo de reloj.
Arquitectura de Computadoras
Universida
d de
Sonora
Resumen
95
Componente
Qu afectan?
Algoritmo.
Nmero de instrucciones.
Tal vez el CPI.
Lenguaje de programacin.
Nmero de instrucciones.
CPI.
Compilador
Nmero de instrucciones.
CPI.
ISA (conjunto de
instrucciones)
Nmero de instrucciones.
CPI.
Periodo de reloj.
Arquitectura de Computadoras
Universida
d de
Sonora