Qué es la arquitectura de computadores
Anticipación, paralelismo y segmentación
Clasificación de Flynn
Máquinas MIMD
Multiprocesadores
Multicomputadores
Supercomputadores:
Computadores vectoriales
Computadores SIMD
Entornos de programación:
Paralelismo implícito
Paralelismo explícito
Evolución de las arquitecturas de procesadores
1
RESUMEN
ARQUITECTURA DE COMPUTADORES
Versa sobre la organización del hardware y los requisitos de programación / software.
Enganche entre el código ensamblador y el hardware.
Hardware: CPUs, caches, buses, registros, pipelines, etc.
Software: juego de instrucciones (código de operación, registros, modos de direccionamiento, etc.).
2
INSTRUCCIONES
3
x = (a + b) – c;
ADR r4,a ; get address for a
LDR r0,[r4] ; get value of a
ADR r4,b ; get address for b, reusing r4
LDR r1,[r4] ; get value of b
ADD r3,r0,r1 ; compute a+b
ADR r4,c ; get address for c
LDR r2,[r4] ; get value of c
SUB r3,r3,r2 ; complete computation of x
ADR r4,x ; get address for x
STR r3,[r4] ; store value of x
C:
Assembler:
VON NEUMAN
4
Mismo almacenamiento para instrucciones y para datos
La mayoría de las computadoras modernas
(Gp:) CPU
(Gp:) Memoria Principal
(Gp:) Sistemas de
Entrada/Salida
(Gp:) ALU
(Gp:) Unidad de Control
(Gp:) Registros
(Gp:) Contador de Programa
EJECUCIÓN DE INSTRUCCIONES
5
Instr
Fetch
Reg
ALU
Data
Access
Reg
Instr
Fetch
Reg
ALU
Data
Access
Reg
Instr
Fetch
Instr.
Fetch
Reg
ALU
Data
Access
Reg
Instr.
Fetch
Reg
ALU
Data
Access
Reg
8ns
9ns
Instr.
Fetch
Reg
ALU
Data
Access
Reg
Idle
Decodification
2ns
2ns
2ns
Secuencial
Segmentación
I1
I2
I3
I1
I2
I3
etc.
etc.
ANTICIPACIÓN, PARALELISMO Y SEGMENTACIÓN
6
SEGMENTACIÓN
Descomponer la ejecución de cada instrucción en varias etapas para poder empezar a procesar una instrucción diferente en cada una de ellas y trabajar con varias a la vez.
ANTICIPACIÓN
Búsqueda “anticipada” de instrucciones para superponer las fases de búsqueda, descodificación y ejecución.
PARALELISMO FUNCIONAL: tareas que se pueden ejecutar al mismo tiempo.
Espacial: replicación de hardware.
Temporal: solapamiento de operaciones funcionales en el tiempo, segmentación.
PARALELISMO DE DATOS
Se ejecuta una instrucción sobre un conjunto de datos.
PARALELISMO A NIVEL DE MÁQUINA VS PROCESADOR
El paralelismo en los computadores ha tenido dos aspectos que han evolucionado en paralelo:
Paralelismo a nivel de máquina:
En este nivel se distinguen diferentes tipos de organización de máquinas que en este curso se mencionan y se ampliarán en cursos posteriores.
Paralelismo a nivel de procesador:
En este nivel se pueden estudiar una serie de avances organizativos que han conducido a una mejora en la eficiencia.
El curso de organización de computadores se centrara en este nivel.
7
8
Evolución de la Arquitectura de Computadores
Escalar
Secuencial
Anticipación
Solapamiento E/S
Paralelismo Funcional
UF Múltiples
Segmentación
Vectoriales Implícitos
Vectoriales Explícitos
Mem-mem
Reg-reg
SIMD
MIMD
Multicomputadores
Multiprocesadores
Procesadores Asociativos
Arrays de Procesadores
CLASIFICACIÓN DE FLYNN
Se considera:
Flujo de instrucciones: secuencia de instrucciones ejecutadas por la máquina.
Flujo de datos: secuencia de datos, tanto de entrada como resultados finales e intermedios.
SISD (single instruction stream over a single data stream).
SIMD (single instruction stream over multiple data stream).
MIMD (multiple instruction streams over multiple data streams).
MISD (multiple instruction streams and a single data streams).
9
(Gp:) MIMD
(Gp:) MISD
(Gp:) MÚLTIPLE
(Gp:) SIMD
(Gp:) SISD
(Gp:) ÚNICO
(Gp:) MÚLTIPLE
(Gp:) ÚNICO
(Gp:) Flujo de datos
Flujo de instrucciones
ARQUITECTURA SISD
10
Corresponde a un uni-procesador.
Puede estar segmentado o no.
Página siguiente |