You are on page 1of 12

Arquitectura de computadores Departamento de Automatica / UAH 1

TEMA 1: INTRODUCCION
DeIiniciones.
Arquitectura de Von Neumann.
Fases de ejecucion de una instruccion.
Estructura de un computador elemental.
Diseo de computadores.
Historia de los Computadores.
Lineas actuales en Arquitectura.
Arquitectura de computadores Departamento de Automatica / UAH 2
Introduccion DeIiniciones
Computador
Maquina destinada a procesar inIormacion
Proceso
Las sucesivas manipulaciones para resolver un problema determinado
Calculador o calculadora, aparato o maquina de calcular.
Aparato electronico que realiza operaciones matematicas y logicas
con gran rapidez (RAE)
Conjunto de las Iases sucesivas de un Ienomeno natural o de una
operacion artiIicial (RAE)

Arquitectura de computadores Departamento de Automatica / UAH 3
-Sistema Digital, Computador
Sistema Digital
InIormacion
de Control
Vectores de
inIormacion binaria
Sistema digital binario:
procesar y/o transmitir
maneja InIor y/o Control. Secuenciadores.
Computador maneja ambos tipos de inIormacion
Arquitectura de computadores Departamento de Automatica / UAH 4
Introduccion DeIiniciones
Definiciones de arquitectura de computadores
1. Los atributos de un sistema (computacional) tal cual los ve un
programador. (Amdahl, Blaaw, and Brooks, 1964)
2. El arte o ciencia de planiIicar, disear, construir y dar tratamiento
decorativo a los computadores (Baer, 1980)
3. Es realmente un concepto de sistema que integra el hardware, el
soItware, los algoritmos y los lenguajes para realizar grandes
calculos (Hwang, Briggs 1990)
4. (En este libro) el termino arquitectura` se pretende que cubra los
tres aspectos del diseo de un computador: repertorio de instrucciones,
organizacion y hardware (Hennessy-Patterson, 1996)

Arquitectura de computadores Departamento de Automatica / UAH 5
Introduccion DeIiniciones
Definiciones de arquitectura de computadores

Diferencia estructura-arquitectura.

La arquitectura hace reIerencia a todos aquellos atributos del


sistema visibles para el programador, es decir, aquellos atributos que
tienen impacto directo en la ejecucion logica de un programa. Es un
sistema que integra hardware, soItware, algoritmos y lenguajes.

La estructura u organi:acion se reIiere a las unidades Iuncionales y


su interconexion para realizar las especiIicaciones de la arquitectura.
La arquitectura de un computador es una abstraccion del mismo,
puesto que deIine su comportamiento, pero no sus caracteristicas
internas.

Relacin arquitectura- programacin.


Una vez dada la Iorma de programar, se disea la arquitectura que la
hace posible. Asi, los Sistemas Operativos y los compiladores de
lenguajes de alto nivel, inIluyen Iuertemente en la arquitectura de
estas maquinas.
Arquitectura de computadores Departamento de Automatica / UAH 6
Arquitectura Von Neumann
Estructura de un computador

Arquitectura de computadores Departamento de Automatica / UAH 7
Introduccion Arquitectura de Von Neumann
Arquitectura de Von Neumann

Fue establecida en 1945 por John von Neumann.

Su caracteristica principal es que ejecuta instrucciones de maquina de


un programa almacenado en memoria, desde donde se lee y ejecuta.

Bloques:

Memoria principal

Unidad aritmetica y
banco de registros

Unidad de control (UC)

Unidad de entrada/salida

Los buses son los elementos que interconectan los diIerentes


elementos de la arquitectura: bus de datos, bus de direcciones y bus de
control.
REGSTROS
UNDAD
ARTMTCA
MEMORA
PRNCPAL
UNDAD DE CONTROL
PC
PERFRCO
UNDAD
DE E/S
PERFRCO
PERFRCO
UCP
Arquitectura de computadores Departamento de Automatica / UAH 8
MULTPLEXOR X MULTPLEXOR Y
OPERADOR
X Y
[X0, X1] [Y0, Y1]
[S0,...S3]
DT
BUS DE DATOS
BUS DE DIRECCIONES
4 bits
DRECCN A
4 bits
DRECCN B
LR
SALDA A SALDA B
PUERTA
DE ENTRADA
BANCO DE REGISTROS
16 registros
RESET
SALDA DE DESPLAZAMENTOS
O DATOS NMEDATOS
CONTADOR
DE FASES
seales de control
UNIDAD DE CONTROL
L ENTRADA DE
NSTRUCCONES
OSCLADOR
reloj
LFlags
REGSTRO DE ESTADO
DRECCN A
DRECCN B
DRECCONESDE REGSTROS
PCT
ACUMULADOR ACUMULADOR LAC
DT
AT
CONTADOR DE PROGRAMA
CP
LPC
MEMORIA
PRINCIPAL
MEM
MR
MW
ALE
MR
MEMT

Arquitectura de computadores Departamento de Automatica / UAH 9
Introduccion Fases de Ejecucion de una Instruccion
Fases CLASICAS de ejecucin de una instruccin
1. Fase de bsqueda de la instruccin (FETCH):
La UC activa las seales de control necesarias para leer de memoria la
instruccion a la que apunta el Contador de Programa (CP).
2. Fase de decodificacin:
La UC recibe la instruccion (RI) y la decodiIica.
3. La UC actualiza el CP, para pasar a ejecutar la siguiente instruccion.
4. Ejecucin de la instruccin, por ejemplo, una de operacion proceso:
4.1 Bsqueda de operandos
4.2 Ejecucin de la operacin
4.3 Almacenamiento del resultado
Arquitectura de computadores Departamento de Automatica / UAH 10
Introduccion Estructura de un Computador Elemental
Funcionamiento de la Unidad de Control

La UC interpreta las instrucciones y gobierna la ejecucion de las


mismas, gestionando el modo en que se controlan los diversos
elementos del computador.

La UC genera todas las seales que Iorman el bus de control en Iuncion


de la inIormacion que dispone de:

La propia instruccion
(operacion a realizar, modo de direccionamiento, etc.)

El registro de estado

InterIaz con memoria

InterIaz con el sistema de E/S

El comportamiento de un computador es sincrono. La ejecucion de una


instruccion esta gobernada por un contador de periodos.

Arquitectura de computadores Departamento de Automatica / UAH 11
Introduccion Diseo de computadores
Aplicaciones
Subsistema de Lenguajes Utilidades
Compilador Sistema Operativo
Repertorio de Instrucciones (ISA)
Organizacion del
Hardware
CPU Memoria I/O Coprocesador
Implementacion
VLSI Logica
Energia
ReIrigeracion
Encapsulado
COMM
Visin 1errquica de un computador
AC
SoIt
Hard
Arquitectura de computadores Departamento de Automatica / UAH 12
Caracteristicas de un computador
Debe tener un medio de EA1RADA en virtud del cual
pueda introducirse un numero esencialmente ilimitado de
operandos o instrucciones.
Debe tener un ALMACEA desde el cual puedan
recuperarse operandos o instrucciones y donde tambien
puedan almacenarse resultados en cualquier orden que se
desee.
Debe tener un REA DE CLCULOS capaz de realizar
operaciones aritmeticas o logicas sobre cualquier operando
que este en el 'almacen

Arquitectura de computadores Departamento de Automatica / UAH 13
Caracteristicas de un Computador -cont
Debe tener un medio de SALIDA en virtud del cual
pueda obtenerse un numero esencialmente ilimitado de
resultados para el usuario
Debe tener CAPACIDAD DE DECISIN en virtud de
la cual pueda escogerse el curso de las acciones a realizar
dependiendo de los resultados que se computan.
Datos e instrucciones deben ser guardados en el mismo
formato v en la misma memoria de modo que sean
igualmente accesibles a los elementos de calculo de la
maquina. De este modo, las instrucciones podran ser
tratadas como datos por el computador v ser
modificadas. (auto-modiIicacion de instrucciones).
Arquitectura de computadores Departamento de Automatica / UAH 14
Historia y Evolucion
Caracteristicas 1-5: Charles Babbage (1792-1871) en
1830. Concepcion mecanica de 'maquina diIerencial.
Necesidad de potencia de calculo matematico
Caracteristica 6: 1ohn von Neuman (Budapest, 1903-
1957) en 1947. ENIAC / UNIVAC, 'Arquitectura von
Neuman
- Brillante matematico: axiomatizacion espacio de
Hilbert 1929. Impulso matematicas aplicadas a Ciencias
Sociales y economicas (coautor 'Theory oI games and
Economic Behavior, 1944)

Arquitectura de computadores Departamento de Automatica / UAH 15
Introduccion Historia de los Computadores
Historia de los computadores
(a vista de pajaro)
Prehistoria: abaco, maquina de Babbagge, calculadoras (Zuse, Bell)
El primer computador: ENIAC (1946)
Resto de la primera generacion: EDVAC, EDSAC, IAS, MARK I,II,...
Invento 1: el transistor: menos es mas (1948)
Segunda generacin: PDP-1, el Stretch, B5000, ATLAS
Invento 2: el circuito integrado: todo mas cerca (1958)
Tercera generacin: IBM 360, PDP-5 y -8, CDC6600, CRAY
Invento 3: el microprocesador: todo en uno: el Intel 4004 (1971)
Cuarta generacin: los micros actuales
Invento 4: transistor molecular, computacion cuantica? La quinta
generacion?
Arquitectura de computadores Departamento de Automatica / UAH 16
Arquitecturas Alternativas
El paralelismo consigue un aumento de las prestaciones
Paralelismo interno: queda oculto a la arquitectura del computador, aumentando su
velocidad sin modiIicar su Iuncionamiento. Segmentacion (pipe-line) de Iunciones.
Paralelismo explcito es aquel que queda visible al usuario.
ClasiIicacion FLYNN del paralelismo: Ilujos de instrucciones y Ilujos de datos
SISD: arquitectura de simple instruccion sobre simple dato. Serie en datos e instrucciones,
arquitectura de Von Neumann.
SIMD: un solo Ilujo de instrucciones y multiples en datos. Computadores matriciales. Una unica
unidad de control que gobierna varias unidades aritmetico-logicas.
MISD: varios Ilujos de instrucciones y uno solo de datos. Arquitectura no implementada,
consecuencia teorica de la clasiIicacion. Superestructura pipe-line, varios conjuntos de unidad de
control mas unidad aritmetico-logica realizan partes de una operacion sobre un Ilujo serie de datos.
MIMD: arquitectura multiprocesador con varios Ilujos tanto de instrucciones como de datos.
Varios procesadores serie convencionales que manejan cada uno un Ilujo de instrucciones sobre un
Ilujo de datos.

Arquitectura de computadores Departamento de Automatica / UAH 17
Taxonoma de Flynn
SSD: Flujo de instrucciones nico, flujo de datos nico (ARQ. DE VON NEUMANN)
Unidad de
control
Procesador
aritmtico
instrucciones
Flujo de Flujo de
datos
SMD: Flujo de instrucciones nico, flujo de datos mltiple
Unidad de
control
instrucciones
Flujo de
Flujo de
datos 1
Flujo de
datos 2
Flujo de
datos n
Procesador
aritmtico 1
Procesador
aritmtico 2
Procesador
aritmtico n
Unidad de
control 1
Unidad de
control 2
Unidad de
control n
Procesador
aritmtico 1
Procesador
aritmtico 2
instrucciones 2
Flujo de
Flujo de
datos
instrucciones 1
Flujo de
instrucciones n
Flujo de
Procesador
aritmtico n
MSD: Flujo de instrucciones mltiple, flujo de datos nico
... ...
Flujo de
datos 1
Flujo de
datos 2
Flujo de
datos n
MMD: Flujo de instrucciones mltiple, flujo de datos mltiple
Unidad de
control 1
Unidad de
control 2
Unidad de
control n
Procesador
aritmtico 1
Procesador
aritmtico 2
instrucciones 2
Flujo de
instrucciones 1
Flujo de
instrucciones n
Flujo de
Procesador
aritmtico n
... ...
Arquitectura de computadores Departamento de Automatica / UAH 18
Paralelismo en sistemas monoprocesador
Segmentacin
Tiempo de proceso T
Tiempo de proceso T/n

Arquitectura de computadores Departamento de Automatica / UAH 19
En una estructura segmentada, si cada unidad independiente procesa una
subIuncion en un periodo T / n, en el tiempo T se habran podido procesar n
Iunciones.
tiempo
subIuncion
t
1
t
2
t
3
t
4
t
5
t
6
F1
F4
F2
F5
F3
P1 P4 P2 P5 P3 P6
P1
P1
P1
P1
P2
P2
P2
P2
P3
P3
P3
P4
P4
P5
La segmentacion se puede aplicar a cualquier operacion compleja,
concretamente en la unidad de control y en la unidad aritmetico-logica.
Estructuras Segmentadas
Arquitectura de computadores Departamento de Automatica / UAH 20
Concepto de segmentacin de cauce
Ejecucion secuencial:
Ejecucion segmentada (en tres etapas: proIundidad 3)
F
1
D
1
D
2
E
2
E
2
F
2
I
2
I
3
I
1

E
3
D
3
F
3
F
2
D
2
I
1
I
2
I
3
Ciclos de reloj 3 4
I
n
s
t
r
u
c
c
i
o
n
e
s
E
2
F
1
E
1
D
1
1 2 5
I
4
F
3
E
3
D
3
F
4
E
4
D
4
6

Arquitectura de computadores Departamento de Automatica / UAH 21
Lanzamiento de mas instrucciones por ciclo Incrementar el numero de
operaciones simultaneas por ciclo.
El numero de instrucciones que se pueden lanzar se denomina grado
superescalar.
Efemplo. Grado superescalar 3 v profundidad de cauce 4

t1 t2 t5 t4 t3 t6
Estructuras Superescalares
Arquitectura de computadores Departamento de Automatica / UAH 22
Resumen de caracteristicas ideales
Segmentacion:
ProIundidad de cauce N (N de etapas)
CPI 1 ; IPC 1
Aceleracion: N
Superescalares
Grado superescalar N (N de instrucciones
simultaneas en la MISMA Iase)
CPI 1/N; IPC N

Arquitectura de computadores Departamento de Automatica / UAH 23

Contiene dos o mas unidades de procesamiento que comparten acceso a


modulos comunes de memoria, canales de E/S y otros dispositivos
periIericos.
Efecutan un solo programa
Programacion multihilo. varias rutinas (ef. funcion en C) efecutan
en CPUs distintas
Comparten datos, se sincroni:an, colaboran etc.
Efecutan en paralelo

No es transparente al programador
Sistema Multiprocesador
Red de Conexion
P1 P2 Pn
M1
M2 Mk
...
.
...
.
Arquitectura de computadores Departamento de Automatica / UAH 24

Conjunto de computadores independientes (con sus propios recursos)


que se comunican entre si a traves del paso de mensajes a traves de una
red de interconexion. Ejecutan programas distintos con Iinalidad comun
(tampoco es paralelismo transparente al programador)
Multicomputadores
Estacion (workstation) Estacion (workstation) ................
Servidor
de
Ficheros
Bus Ethernet

You might also like