Вы находитесь на странице: 1из 133

Estructura de Computadores

Tema 1. Introduccin a los computadores

Departamento de Informtica
Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas
UNIVERSIDAD CARLOS III DE MADRID

Contenido
1.
2.
3.
4.
5.
6.
7.
8.

Qu es un computador?
Concepto de estructura y arquitectura
Elementos constructivos de un computador
Arquitectura Von Neumann
Instrucciones mquina. Programacin
Fases de ejecucin de una instruccin
Parmetros caractersticos de un computador
Evolucin histrica

ARCOS-UC3M

Estructura de Computadores

Qu es un computador?

?
ARCOS-UC3M

Estructura de Computadores

Qu es un computador?

ARCOS-UC3M

Estructura de Computadores

Industria de los semiconductores

Fuente: embedded.com

ARCOS-UC3M

Estructura de Computadores

Tipos de procesadores

 Procesadores: 2% de la industria

de los semiconductores



Procesadores para PC: 2 % de todos


los procesadores
Un coche de tipo medio tiene una
docena de microprocesadores
 Un BMW setie 7 tiene ms de 65

Fuente: embedded.com

ARCOS-UC3M

Estructura de Computadores

Qu es un computador?
resultados

datos
Procesador

Instrucciones

 Mquina destinada a procesar datos.

ARCOS-UC3M

Estructura de Computadores

Qu es un computador?
resultados

datos
Procesador

Instrucciones

 Desde el punto de vista matemtico es una mquina abstracta que evala

f : {0,1} {0,1}
n

ARCOS-UC3M

Estructura de Computadores

Estructura y arquitectura
 Estructura



Componentes de un computador
Organizacin de los componentes

 Arquitectura: atributos visibles para un programador








Juego de instrucciones que ofrece la mquina


Tipo y formato de datos que es capaz de utilizar el
computador
Nmero y tamao de los registros
Tcnicas y mecanismos de E/S
Tcnicas de direccionamiento de la memoria

 Tecnologa: cmo se construyen los componentes

ARCOS-UC3M

Estructura de Computadores

Clases de computadores
 Desktop: diseados para ofrecer un buen rendimiento a un

usuario final
 Aspectos crticos:
 Precio vs. rendimiento
 Rendimiento de grficos

 Servidores: usados para ejecutar programas de gran tamao y

dar servicio a mltiples usuarios de forma simultnea


 Aspectos crticos:
 Tasa de procesamiento: throughput
 Disponibilidad
 Escalabidilidad

ARCOS-UC3M

Estructura de Computadores

10

Clases de computadores
 Empotrados: computador dentro de otro sistema que ejecuta

aplicaciones predeterminadas para controlar su funcionamiento


(electrodomsticos, mp3, consolas de juegos, etc.)
 Aspectos crticos:
 Precio
 Consumo de energa
 Rendimiento para una aplicacin concreta

ARCOS-UC3M

Estructura de Computadores

11

Conceptos de repaso
 Sistema binario
 Elementos constructivos de un computador





Transistores
Puertas lgicas
Principales bloques conbinacionales
Principales elementos secuenciales

ARCOS-UC3M

Estructura de Computadores

12

Sistema binario
 Binario
X= 1 0 1 0 0 1 0 1
... 27 26 25 24 23 22 21 20
 d31d30 ... d1d0 : n de 32 bits (dgitos binarios)
 Valor = d31 231 + d30 230 + ... + d1 21 + d0 20
 Hexadecimal
Y = 0x F 1 F A 8 0
... 165 164 163 162 161 160
 De binario a hexadecimal:
 Agrupar de 4 en 4 bits, de derecha a izquierda
 Cada 4 bits es el valor del dgito hexadecimal
 Ej.:
1 0 1 0 0 1 0 1

0x

ARCOS-UC3M

Estructura de Computadores

13

Pregunta
 Cuntos cdigos distintos se pueden codificar con 8 bits?
 Cuntos bits hacen falta para representar 512 cdigos?

ARCOS-UC3M

Estructura de Computadores

14

Transistor
N-MOS

P-MOS
E

E
1
0

funcionamiento
Conecta A con B (circuito abierto)
No conecta A con B (circuito cerrado)

E
0
1

funcionamiento
Conecta A con B (circuito abierto)
No conecta A con B (circuito cerrado)

(valores lgicos)
ARCOS-UC3M

Estructura de Computadores

15

Puertas lgicas. Inversor (NOT)

V3,3

ARCOS-UC3M

E
3.3
0

Estructura de Computadores

S
0
3.3

E
1
0

S
0
1

16

Puertas lgicas. NOR

ARCOS-UC3M

Estructura de Computadores

17

Puertas lgicas. OR

ARCOS-UC3M

Estructura de Computadores

1
18

Puertas lgicas. NAND

ARCOS-UC3M

Estructura de Computadores

19

Puertas lgicas. AND

ARCOS-UC3M

Estructura de Computadores

1
20

Bloques constructivos
 Circuitos combinacionales

La salida depende de los valores de entrada


Sin estado
 Circuitos secuenciales
 La salida depende de la entrada y del estado actual
 Almacenan informacin



ARCOS-UC3M

Estructura de Computadores

21

Decodificador
 N entradas, 2N salidas

ARCOS-UC3M

Estructura de Computadores

22

Multiplexor
 Selecciona con n bits, 2n entradas

A B C D
MUX

S1
S0

ARCOS-UC3M

Estructura de Computadores

23

Elementos de memoria
Biestables R-S
 Elemento que almacena un bit

ARCOS-UC3M

Estructura de Computadores

24

Elementos de memoria
Biestables D
 Elemento que almacena un bit

Q
C
Q

D
C
ARCOS-UC3M

Estructura de Computadores

25

Elementos de memoria
Registro
 Elemento que almacena un conjunto de bits

ARCOS-UC3M

Estructura de Computadores

26

Esquema de un registro

Entrada
Registro

Carga

Salida

ARCOS-UC3M

Estructura de Computadores

27

Memoria

Espacio de direcciones:
Nmero de posiciones

k = 2n
posiciones

Tamao de cada posicin:


Nmero de bits por posicin

ARCOS-UC3M

Estructura de Computadores

m bits

28

Componentes de un computador

Procesador

Memoria
principal

Bus de control
Bus de datos
Bus de direcciones

ARCOS-UC3M

Mdulo de E/S

Mdulo de E/S

Perifrico

Perifrico

Estructura de Computadores

29

Computador von Neumann


 Mquina capaz de ejecutar una

serie de instrucciones
elementales: instrucciones
mquina
 Instrucciones almacenadas en
memoria
 Ledas
 Ejecutadas

ARCOS-UC3M

Estructura de Computadores

30

Arquitectura Von Neumann

Procesador

Memoria
principal

Bus de control
Bus de datos
Bus de direcciones

ARCOS-UC3M

Mdulo de E/S

Mdulo de E/S

Perifrico

Perifrico

Estructura de Computadores

31

Memoria

Procesador

Almacena:
 instrucciones
 datos

Memoria
principal

Bus de control
Bus de datos
Bus de direcciones

ARCOS-UC3M

Mdulo de E/S

Mdulo de E/S

Perifrico

Perifrico

Estructura de Computadores

32

Memoria

00001001110001101010111101011000
10101111010110000000100111000110
11000110101011110101100000001001
01011000000010011100011010101111

direccin
Memoria

MAR

MBR

Registro de direcciones de memoria

ARCOS-UC3M

Dato/instruccin

Estructura de Computadores

Registro de datos de memoria

33

Procesador
Estructura que almacena un conjunto de bits
Realiza las operaciones

Procesador
ALU

Ejecuta las instrucciones

Registros

Unidad de
control

Memoria
principal

Bus de control
Bus de datos
Bus de direcciones

ARCOS-UC3M

Mdulo de E/S

Mdulo de E/S

Perifrico

Perifrico

Estructura de Computadores

34

Registros especiales
PC: contador de programa
RI: registro de instruccin
Procesador
ALU

Registros

Unidad de
control

Memoria
principal

Bus de control
Bus de datos
Bus de direcciones

ARCOS-UC3M

Mdulo de E/S

Mdulo de E/S

Perifrico

Perifrico

Estructura de Computadores

35

Unidad aritmtico-lgica
 Realiza operaciones elementales sobre los datos:



Operaciones aritmticas
Operaciones lgicas

ARCOS-UC3M

Estructura de Computadores

36

Programa
 Secuencia consecutiva de instrucciones mquina
00001001110001101010111101011000
10101111010110000000100111000110
11000110101011110101100000001001
01011000000010011100011010101111

ARCOS-UC3M

Estructura de Computadores

37

Programa
 Secuencia consecutiva de instrucciones mquina
00001001110001101010111101011000
10101111010110000000100111000110
11000110101011110101100000001001
01011000000010011100011010101111

ARCOS-UC3M

Estructura de Computadores

temp = v[k];
v[k] = v[k+1];
v[k+1] = temp;

38

Ejecucin de un programa
Memoria principal

Disco

Fichero ejecutable

Procesador

00001001110001101010111101011000
10101111010110000000100111000110
11000110101011110101100000001001

PC
RI

01011000000010011100011010101111

ARCOS-UC3M

Estructura de Computadores

39

Ejecucin de un programa
Memoria principal
00001001110001101010111101011000
10101111010110000000100111000110
11000110101011110101100000001001
01011000000010011100011010101111

Disco

Fichero ejecutable

Procesador

00001001110001101010111101011000
10101111010110000000100111000110
11000110101011110101100000001001

PC
RI

01011000000010011100011010101111

ARCOS-UC3M

Estructura de Computadores

40

Ejecucin de un programa
Memoria principal
00001001110001101010111101011000
10101111010110000000100111000110
11000110101011110101100000001001
01011000000010011100011010101111

Disco

Fichero ejecutable

Procesador

00001001110001101010111101011000
10101111010110000000100111000110
11000110101011110101100000001001

PC
RI

01011000000010011100011010101111

ARCOS-UC3M

Estructura de Computadores

41

Ejecucin de un programa
Memoria principal
00001001110001101010111101011000
10101111010110000000100111000110
11000110101011110101100000001001
01011000000010011100011010101111

Disco

Fichero ejecutable

Procesador

00001001110001101010111101011000
10101111010110000000100111000110
11000110101011110101100000001001

PC
RI

01011000000010011100011010101111

ARCOS-UC3M

Estructura de Computadores

00001001110

42

Ejemplo
 Conjunto de instrucciones con las siguientes caractersticas:




Tamao de una posicin de memoria: 16 bits


Tamao de la instruccin: 16 bits
Cdigo de operacin: 3 bits
 Cuntas instrucciones diferentes puede tener este

computador?
 Nmero de registros de propsito general: 4
 Identificadores simblicos:





R0
R1
R2
R3

 Cuntos bits se necesitan para representar estos 4 registros?

ARCOS-UC3M

Estructura de Computadores

43

Ejemplo
 Conjunto de instrucciones con las siguientes caractersticas:




Tamao de una posicin de memoria: 16 bits


Tamao de la instruccin: 16 bits
Cdigo de operacin: 3 bits
 Cuntas instrucciones diferentes puede tener este

computador? 8 instrucciones
 Nmero de registros de propsito general: 4
 Identificadores simblicos:





R0
R1
R2
R3

 Cuntos bits se necesitan para representar estos 4 registros?


 2 bits
ARCOS-UC3M

Estructura de Computadores

44

Ejemplo. Juego de instrucciones


Instruccin

Descripcin

000EFABCDXXXXXXX

Suma el registro AB con el CD y deja el resultado en EF

001AB00000000101

Almacena en el registro AB el valor 00000000101

010AB00000001001

Almacena en el registro AB el valor almacenado en la


posicin de memoria 00000001001

011AB00000001001

Almacena en la posicin de memoria 00000001001 el


contenido del registro AB

1000000000001001

Se salta a ejecutar la instruccin almacenada en la


posicin de memoria 0000000001001

101ABCD000001001

Si el contenido del registro AB es igual al del registro CD


se salta a ejecutar la instruccin almacenada en
000001001

Siendo A,B, C, D, E, F = 0 o 1
ARCOS-UC3M

Estructura de Computadores

45

Formato de una instruccin mquina

001 AB 00000000101

ARCOS-UC3M

Estructura de Computadores

46

Formato de una instruccin mquina

001 AB 00000000101

Cdigo de operacin

ARCOS-UC3M

Estructura de Computadores

47

Formato de una instruccin mquina

001 AB 00000000101

Cdigo de operacin

Operandos

ARCOS-UC3M

Registros
Direcciones de memoria
Nmeros

Estructura de Computadores

48

Ejemplo. Juego de instrucciones


Instruccin

Descripcin

000010010XXXXXXX

Suma el registro 00 con el 10 y deja el resultado en 01

0010100000000101

Almacena en el registro 01 el valor 00000000101

0100100000001001

Almacena en el registro 01 el valor almacenado en la


posicin de memoria 00000001001

0110100000001001

Almacena en la posicin de memoria 00000001001 el


contenido del registro 01

1000000000001001

Se salta a ejecutar la instruccin almacenada en la


posicin de memoria 0000000001001

1010100000001001

Si el contenido del registro 01 es igual al del registro 00


se salta a ejecutar la instruccin almacenada en
000001001

ARCOS-UC3M

Estructura de Computadores

49

Ejemplo

 Instruccin que almacena un 5 en el registro 00


 Instruccin que almacena un 7 en el registro 01
 Instruccin que suma el contenido del registro 00 y el registro

01 y deja el resultado en el registro 10


 Instruccin que almacena el resultado anterior en la posicin

de memoria 1027 (en decimal)

ARCOS-UC3M

Estructura de Computadores

50

Ejemplo

Instruccin

Descripcin

000010010XXXXXXX

Suma el registro 00 con el 10 y deja el resultado en 01

0010100000000101

Almacena en el registro 01 el valor 00000000101

0100100000001001

Almacena en el registro 01 el valor almacenado en la posicin de memoria 00000001001

0110100000001001

Almacena en la posicin de memoria 00000001001 el contenido del registro 01

1000000000001001

Se salta a ejecutar la instruccin almacenada en la posicin de memoria 0000000001001

1010100000001001

Si el contenido del registro 01 es igual al del registro 00 se salta a ejecutar la instruccin


almacenada en 000001001

 Instruccin que almacena un 5 en el registro 00


 Instruccin que almacena un 7 en el registro 01
 Instruccin que suma el contenido del registro 00 y el registro

01 y deja el resultado en el registro 10


 Instruccin que almacena el resultado anterior en la posicin

de memoria 1027 (en decimal)

ARCOS-UC3M

Estructura de Computadores

51

Ejemplo
Solucin

Instruccin

Descripcin

000010010XXXXXXX

Suma el registro 00 con el 10 y deja el resultado en 01

0010100000000101

Almacena en el registro 01 el valor 00000000101

0100100000001001

Almacena en el registro 01 el valor almacenado en la posicin de memoria 00000001001

0110100000001001

Almacena en la posicin de memoria 00000001001 el contenido del registro 01

1000000000001001

Se salta a ejecutar la instruccin almacenada en la posicin de memoria 0000000001001

1010100000001001

Si el contenido del registro 01 es igual al del registro 00 se salta a ejecutar la instruccin


almacenada en 000001001

 Instruccin que almacena un 5 en el registro 00

0010000000000101
 Instruccin que almacena un 7 en el registro 01
 0010100000000111
 Instruccin que suma el contenido del registro 00 y el registro
01 y deja el resultado en el registro 10
 000100001XXXXXXX
 Instruccin que almacena el resultado anterior en la posicin
de memoria 1027 (en decimal)
 0111010000000011


ARCOS-UC3M

Estructura de Computadores

52

Ejemplo de programa
Direccin

ARCOS-UC3M

Contenido

000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

000111

0011100000000000

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

Estructura de Computadores

53

Ejemplo de programa
Direccin
Direccin de inicio

ARCOS-UC3M

Contenido

000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

000111

0011100000000000

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

Estructura de Computadores

54

Inicio de la ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

000111

0011100000000000

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC
RI
00
01
10
11

ARCOS-UC3M

Contenido

000100
?
?

Estructura de Computadores

55

Fases en la ejecucin de una instruccin


PC

 Lectura de la instruccin (ciclo de fetch)








MAR
PC
Lectura
MBR
Memoria
PC
PC + 1
RI
MBR

000100

RI
MAR

 Decodificacin de la instruccin

Direccin
000100

MBR

Contenido
0010000000000000

 Ejecucin de la instruccin
 Volver a fetch

Memoria
ARCOS-UC3M

Estructura de Computadores

56

Fases en la ejecucin de una instruccin


PC

 Lectura de la instruccin (ciclo de fetch)








MAR
PC
Lectura
MBR
Memoria
PC
PC + 1
RI
MBR

000100

RI
MAR

MBR

000100

 Decodificacin de la instruccin

Direccin
000100

Contenido
0010000000000000

 Ejecucin de la instruccin
 Volver a fetch

Memoria
ARCOS-UC3M

Estructura de Computadores

57

Fases en la ejecucin de una instruccin


PC

 Lectura de la instruccin (ciclo de fetch)








MAR
PC
Lectura
MBR
Memoria
PC
PC + 1
RI
MBR

000100

RI
MAR

MBR

000100

 Decodificacin de la instruccin

Direccin
000100

Contenido
0010000000000000

 Ejecucin de la instruccin
 Volver a fetch

Memoria
ARCOS-UC3M

Estructura de Computadores

58

Fases en la ejecucin de una instruccin


PC

 Lectura de la instruccin (ciclo de fetch)








MAR
PC
Lectura
MBR
Memoria
PC
PC + 1
RI
MBR

000100

RI
MAR
000100

 Decodificacin de la instruccin

Direccin
000100

MBR
0010000000000000

Contenido
0010000000000000

 Ejecucin de la instruccin
 Volver a fetch

Memoria
ARCOS-UC3M

Estructura de Computadores

59

Fases en la ejecucin de una instruccin


PC

 Lectura de la instruccin (ciclo de fetch)








MAR
PC
Lectura
MBR
Memoria
PC
PC + 1
RI
MBR

000101

RI
MAR
000100

 Decodificacin de la instruccin

Direccin
000100

MBR
0010000000000000

Contenido
0010000000000000

 Ejecucin de la instruccin
 Volver a fetch

Memoria
ARCOS-UC3M

Estructura de Computadores

60

Fases en la ejecucin de una instruccin


 Lectura de la instruccin (ciclo de fetch)






MAR
PC
Lectura
MBR
Memoria
PC
PC + 1
RI
MBR

PC

000101

RI

0010000000000000

MAR
000100

 Decodificacin de la instruccin

Direccin
000100

MBR
0010000000000000

Contenido
0010000000000000

 Ejecucin de la instruccin
 Volver a fetch

Memoria
ARCOS-UC3M

Estructura de Computadores

61

Fases en la ejecucin de una instruccin


 Lectura de la instruccin (ciclo de fetch)






MAR
PC
Lectura
MBR
Memoria
PC
PC + 1
RI
MBR

PC

000101

RI

0010000000000000

MAR
000100

 Decodificacin de la instruccin

Direccin
000100

MBR
0010000000000000

Contenido
0010000000000000

 Ejecucin de la instruccin
 Volver a fetch

Memoria
ARCOS-UC3M

Estructura de Computadores

62

Fases en la ejecucin de una instruccin


 Lectura de la instruccin (ciclo de fetch)






MAR
PC
Lectura
MBR
Memoria
PC
PC + 1
RI
MBR

PC

000101

RI

0010000000000000

MAR
000100

 Decodificacin de la instruccin

Direccin
000100

MBR
0010000000000000

Contenido
0010000000000000

 Ejecucin de la instruccin
 Volver a fetch

Memoria
ARCOS-UC3M

Estructura de Computadores

63

Ejecucin de la instruccin

0010000000000000 RI
R0

0000000000
Se carga en R0 (00) el valor 0

Cdigo de operacin
Instruccin

Descripcin

000010010XXXXXXX

Suma el registro 00 con el 10 y deja el resultado en 01

0010100000000101

Almacena en el registro 01 el valor 00000000101

0100100000001001

Almacena en el registro 01 el valor almacenado en la posicin de memoria 00000001001

0110100000001001

Almacena en la posicin de memoria 00000001001 el contenido del registro 01

1000000000001001

Se salta a ejecutar la instruccin almacenada en la posicin de memoria 0000000001001

1010100000001001

Si el contenido del registro 01 es igual al del registro 00 se salta a ejecutar la instruccin


almacenada en 000001001

ARCOS-UC3M

Estructura de Computadores

64

Ejecucin de la instruccin

0100100000001001 RI

R1

Instruccin

Descripcin

000010010XXXXXXX

Suma el registro 00 con el 10 y deja el resultado


en 01

0010100000000101

Almacena en el registro 01 el valor


00000000101

0100100000001001

Almacena en el registro 01 el valor almacenado


en la posicin de memoria 00000001001

0110100000001001

Almacena en la posicin de memoria


00000001001 el contenido del registro 01

1000000000001001

Se salta a ejecutar la instruccin almacenada en la


posicin de memoria 0000000001001

1010100000001001

Si el contenido del registro 01 es igual al del


registro 00 se salta a ejecutar la instruccin
almacenada en 000001001

MP[00000001001]
Direccin
00000001001

Contenido
0000000000000101

Se carga en R1 el contenido de la posicin de memoria


00000001001
ARCOS-UC3M

Estructura de Computadores

65

Ejecucin de la instruccin

1000000000001000 RI

PC

Instruccin

Descripcin

000010010XXXXXXX

Suma el registro 00 con el 10 y deja el resultado


en 01

0010100000000101

Almacena en el registro 01 el valor


00000000101

0100100000001001

Almacena en el registro 01 el valor almacenado


en la posicin de memoria 00000001001

0110100000001001

Almacena en la posicin de memoria


00000001001 el contenido del registro 01

1000000000001001

Se salta a ejecutar la instruccin almacenada en la


posicin de memoria 0000000001001

1010100000001001

Si el contenido del registro 01 es igual al del


registro 00 se salta a ejecutar la instruccin
almacenada en 000001001

0000000001000

Se modifica el PC con la direccin 0000000001000


de forma que la siguiente instruccin a ejecutar es la que se
encuentra en 0000000001000

ARCOS-UC3M

Estructura de Computadores

66

Fases en la ejecucin de una instruccin


 Lectura de la instruccin (ciclo de fetch)






MAR
PC
Lectura
MBR
Memoria
PC
PC + 1
RI
MBR

PC

000101

RI

0010000000000000

MAR
000100

 Decodificacin de la instruccin

Direccin
000100

MBR
0010000000000000

Contenido
0010000000000000

 Ejecucin de la instruccin
 Volver a fetch

Memoria
ARCOS-UC3M

Estructura de Computadores

67

Fases en la ejecucin de una instruccin


 Lectura de la instruccin (ciclo de fetch)






MAR
PC
Lectura
MBR
Memoria
PC
PC + 1
RI
MBR

PC

000101

RI

0010000000000000

MAR
000100

 Decodificacin de la instruccin

Direccin
000100

MBR
0010000000000000

Contenido
0010000000000000

 Ejecucin de la instruccin
 Volver a fetch

Memoria
ARCOS-UC3M

Estructura de Computadores

68

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

000111

0011100000000000

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC
RI
00
01
10
11
Fetch

ARCOS-UC3M

Contenido

000100
?
?

Estructura de Computadores

69

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

000111

0011100000000000

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

000100

RI

0010000000000000

00
01
10
11

Fetch
Lectura de la Inst.

ARCOS-UC3M

Contenido

Estructura de Computadores

70

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

000111

0011100000000000

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

000101

RI

0010000000000000

00
01
10
11
Fetch
PC

ARCOS-UC3M

Contenido

PC + 1

Estructura de Computadores

71

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

000111

0011100000000000

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

000101

RI

0010000000000000

00
01
10
11

Decodificacin

ARCOS-UC3M

Contenido

Estructura de Computadores

72

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

000111

0011100000000000

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

000101

RI

0010000000000000

00
01
10
11

00000000000

Ejecucin
R0
00000000000

ARCOS-UC3M

Contenido

Estructura de Computadores

73

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

000111

0011100000000000

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

000101

RI

0010000000000000

00
01
10
11

00000000000

Fetch

ARCOS-UC3M

Contenido

Estructura de Computadores

74

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

000111

0011100000000000

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

000101

RI

0010100000000100

00
01
10
11

00000000000

Fetch
Lectura de la Inst.

ARCOS-UC3M

Contenido

Estructura de Computadores

75

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

000111

0011100000000000

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

000110

RI

0010100000000100

00
01
10
11

00000000000

Fetch
PC

ARCOS-UC3M

Contenido

PC +1

Estructura de Computadores

76

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

000111

0011100000000000

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

000110

RI

0010100000000100

00
01
10
11

00000000000

Decodificacin

ARCOS-UC3M

Contenido

Estructura de Computadores

77

Ejecucin del programa


Direccin

PC

000110

RI

0010100000000100

00
01
10
11

000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

000111

0011100000000000

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

00000000000
00000000100

?
?

Ejecucin
R1
00000000100

ARCOS-UC3M

Contenido

Estructura de Computadores

78

Ejecucin del programa


Direccin

PC

000110

RI

0010100000000100

00
01
10
11

000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

000111

0011100000000000

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

00000000000
00000000100

Fetch

ARCOS-UC3M

Contenido

Estructura de Computadores

79

Ejecucin del programa


Direccin

PC

000110

RI

0011000000000001

00
01
10
11

000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

000111

0011100000000000

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

00000000000
00000000100

?
?

Fetch
Lectura de la Inst.

ARCOS-UC3M

Contenido

Estructura de Computadores

80

Ejecucin del programa


Direccin

PC

000111

RI

0011000000000001

00
01
10
11

000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

000111

0011100000000000

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

00000000000
00000000100

Fetch
PC

ARCOS-UC3M

Contenido

PC +1

Estructura de Computadores

81

Ejecucin del programa


Direccin

PC

000111

RI

0011000000000001

00
01
10
11

000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

000111

0011100000000000

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

00000000000
00000000100

?
?

Decodificacin

ARCOS-UC3M

Contenido

Estructura de Computadores

82

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

000111

RI

0011000000000001

00
01
10
11

Contenido

00000000000

Ejecucin
R2
00000000001

ARCOS-UC3M

Estructura de Computadores

83

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

000111

RI

0011000000000001

00
01
10
11

Contenido

00000000000

Fetch

ARCOS-UC3M

Estructura de Computadores

84

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

000111

RI

0011100000000000

00
01
10
11

Contenido

00000000000

Fetch
Lectura de la Inst.

ARCOS-UC3M

Estructura de Computadores

85

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

001000

RI

0011100000000000

00
01
10
11

Contenido

00000000000

Fetch
PC

ARCOS-UC3M

PC +1

Estructura de Computadores

86

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

001000

RI

0011100000000000

00
01
10
11

Contenido

00000000000

Decodificacin

ARCOS-UC3M

Estructura de Computadores

87

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

001000

RI

0011100000000000

00
01
10
11

Contenido

00000000000

00000000000

Ejecucin
R3
00000000000

ARCOS-UC3M

Estructura de Computadores

88

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

001000

RI

0011100000000000

00
01
10
11

Contenido

00000000000

00000000000

Fetch

ARCOS-UC3M

Estructura de Computadores

89

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

001000

RI

1010001000001100

00
01
10
11

Contenido

00000000000

00000000000

Fetch
Lectura de la Inst.

ARCOS-UC3M

Estructura de Computadores

90

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

001001

RI

1010001000001100

00
01
10
11

Contenido

00000000000

00000000000

Fetch
PC

ARCOS-UC3M

PC +1

Estructura de Computadores

91

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

001001

RI

1010001000001100

00
01
10
11

Contenido

00000000000

00000000000

Decodificacin

ARCOS-UC3M

Estructura de Computadores

92

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

001001

RI

1010001000001100

00
01
10
11

Contenido

00000000000

00000000000

Ejecucin
Si el contenido del registro 01 es igual
al del registro 00 se salta a ejecutar la
instruccin almacenada en 000001100
ARCOS-UC3M

Estructura de Computadores

93

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

001001

RI

1010001000001100

00
01
10
11

Contenido

00000000000

00000000000

Fetch

ARCOS-UC3M

Estructura de Computadores

94

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

001001

RI

0001111100000000

00
01
10
11

Contenido

00000000000

00000000000

Fetch
Lectura de la Inst.

ARCOS-UC3M

Estructura de Computadores

95

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

001010

RI

0001111100000000

00
01
10
11

Contenido

00000000000

00000000000

Fetch
PC

ARCOS-UC3M

PC + 1

Estructura de Computadores

96

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

001010

RI

0001111100000000

00
01
10
11

Contenido

00000000000

00000000000

Decodificacin

ARCOS-UC3M

Estructura de Computadores

97

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

001010

RI

0001111100000000

00
01
10
11

Contenido

00000000000

00000000001

Ejecucin
R3
R3 + R2

ARCOS-UC3M

Estructura de Computadores

98

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

001010

RI

0001111100000000

00
01
10
11

Contenido

00000000000

00000000001

Fetch

ARCOS-UC3M

Estructura de Computadores

99

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

001010

RI

0000000100000000

00
01
10
11

Contenido

00000000000

00000000001

Fetch
Lectura de la Inst.

ARCOS-UC3M

Estructura de Computadores

100

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

001011

RI

0000000100000000

00
01
10
11

Contenido

00000000000

00000000001

Fetch
PC

ARCOS-UC3M

PC +1

Estructura de Computadores

101

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

001011

RI

0000000100000000

00
01
10
11

Contenido

00000000000

00000000001

Decodificacin

ARCOS-UC3M

Estructura de Computadores

102

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

001011

RI

0000000100000000

00
01
10
11

Contenido

00000000001

00000000001

Ejecucin
R0
R0 + R2

ARCOS-UC3M

Estructura de Computadores

103

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

001011

RI

0000000100000000

00
01
10
11

Contenido

00000000001

00000000001

Fetch

ARCOS-UC3M

Estructura de Computadores

104

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

001011

RI

1000000000001000

00
01
10
11

Contenido

00000000001

00000000001

Fetch
Lectura de la Inst.

ARCOS-UC3M

Estructura de Computadores

105

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

001100

RI

1000000000001000

00
01
10
11

Contenido

00000000001

00000000001

Fetch
PC

ARCOS-UC3M

PC +1

Estructura de Computadores

106

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

001100

RI

1000000000001000

00
01
10
11

Contenido

00000000001

00000000001

Decodificacin

ARCOS-UC3M

Estructura de Computadores

107

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

001100

RI

1000000000001000

00
01
10
11

Contenido

00000000001

00000000001

Ejecucin
Se salta a ejecutar la instruccin
almacenada en la posicin de
memoria 0000000001000

ARCOS-UC3M

Estructura de Computadores

108

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC

0001000

RI

1000000000001000

00
01
10
11

Contenido

00000000001

00000000001

Ejecucin
PC

ARCOS-UC3M

0000000001000

Estructura de Computadores

109

Ejecucin del programa


Direccin
000100

0010000000000000

000101

0010100000000100

000110

0011000000000001

00000000100

000111

0011100000000000

00000000001

001000

1010001000001100

001001

0001111100000000

001010

0000000100000000

001011

1000000000001000

001100

0111100000100000

PC
RI
00
01
10
11

Contenido

0001000
1000000000001000
00000000001

00000000001

Contina la ejecucin

ARCOS-UC3M

Estructura de Computadores

110

Algoritmo del programa anterior


i=0;
s = 0;
while (i < 4)
{
s = s + 1;
i = i + 1;
}

El programa almacena en la posicin de memoria 00000100000


el valor: 1 + 1 + 1 + 1

ARCOS-UC3M

Estructura de Computadores

111

Programa en lenguaje ensamblador

bucle:

fin:

ARCOS-UC3M

li
li
li
li
beq
add
add
b
sw

R0, 0
R1, 4
R2, 1
R3, 0
R0, R1, fin
R3, R3, R2
R0, R0, R2
bucle
R3, 100000

Estructura de Computadores

112

Secuencia de ejecucin de instrucciones

Arranque

Lectura de la
instruccin

Decodificacin

Ejecucin de
la instruccin

Parada

ARCOS-UC3M

Estructura de Computadores

113

Microprocesador
 Incorpora las funciones de la CPU de un computador en un

nico circuito integrado

ARCOS-UC3M

Estructura de Computadores

114

Ley de Moore

 El nmero de transistores por

chip se dobla cada dos aos.

ARCOS-UC3M

Estructura de Computadores

115

Ley de Moore
 Doblar la densidad implica reducir las

dimensiones de sus elementos en un 30%


 En 1971 el Intel 4004 tena 2300 transistores
con tamaos de 10 micrometros
 Hoy en da se consiguen chips con
transistores de < 20 nanometros
 Para cumplir la ley de Moore se necesita tecnologa cuyo
precio se dobla cada 4.4 aos

ARCOS-UC3M

Estructura de Computadores

116

Intel 4004 (1971)








Usado en calculadoras
Tecnologa de 10000 nm
2300 transitores
108 KHz
Datos de 4 bits

ARCOS-UC3M

Estructura de Computadores

117

Intel Core i7 (2009)











Usados en desktop y servidores


Tecnologa de 45 nm
774M de transisotres
3.2 GHz a 3.6 GHz
Datos de 128 bits
4 instrucciones por ciclo
Tres niveles de cach
Cuatro ncleos

ARCOS-UC3M

Estructura de Computadores

118

Proceso de fabricacin

ARCOS-UC3M

Estructura de Computadores

119

Evolucin de los microprocesadores de


Intel

Fuente: Communications of the ACM

ARCOS-UC3M

Estructura de Computadores

120

Rendimiento de las memorias

Fuente: Communications of the ACM

ARCOS-UC3M

Estructura de Computadores

121

Rendimiento de la memoria

Fuente: Communications of the ACM

ARCOS-UC3M

Estructura de Computadores

122

Evolucin de las cachs

Fuente: Communications of the ACM

ARCOS-UC3M

Estructura de Computadores

123

Anlisis del rendimiento de los


procesadores

Fuente: Communications of the ACM

ARCOS-UC3M

Estructura de Computadores

124

Diferentes arquitecturas multicore

Fuente: Communications of the ACM

ARCOS-UC3M

Estructura de Computadores

125

Movimiento de datos y consumo de energa

Fuente: Communications of the ACM

ARCOS-UC3M

Estructura de Computadores

126

Eficiencia energtica y voltaje

Fuente: Communications of the ACM

ARCOS-UC3M

Estructura de Computadores

127

Mejoras en la tecnologa
 Memoria

Capacidad de DRAM: 2x / 2 aos (desde 96);


64x en la ltima decada
 Procesador
 Velocidad: 2x / 1.5 aos (desde 85);
100X en la ltima decada.
 Discos
 Capacidad: 2x / 1 ao (desde 97)
250X en la ltima decada.


ARCOS-UC3M

Estructura de Computadores

128

Parmetros caractersticos de un
computador
 Ancho de palabra
 Memoria principal o Memoria RAM
 Memoria auxiliar
 Ancho de banda
 MIPS
 MFLOPS

ARCOS-UC3M

Estructura de Computadores

129

Prefijos
Nombre

Abr

Factor

SI

Kilo

210 = 1,024

103 = 1,000

Mega

220 = 1,048,576

106 = 1,000,000

Giga

230 = 1,073,741,824

109 = 1,000,000,000

Tera

240 = 1,099,511,627,776

1012 = 1,000,000,000,000

Peta

250 = 1,125,899,906,842,624

1015 = 1,000,000,000,000,000

Exa

260 = 1,152,921,504,606,846,976

1018 = 1,000,000,000,000,000,000

Zetta

270 = 1,180,591,620,717,411,303,424

1021 = 1,000,000,000,000,000,000,000

Yotta

280 =
1,208,925,819,614,629,174,706,176

1024 = 1,000,000,000,000,000,000,000,000

ARCOS-UC3M

Estructura de Computadores

130

Ejercicio
 Cuntos bytes almacena un disco duro de 250 GB ?

ARCOS-UC3M

Estructura de Computadores

131

Prefijos
Nombre

Abr

Factor

SI

Kilo

210 = 1,024

103 = 1,000

Mega

220 = 1,048,576

106 = 1,000,000

Giga

230 = 1,073,741,824

109 = 1,000,000,000

Tera

240 = 1,099,511,627,776

1012 = 1,000,000,000,000

Peta

250 = 1,125,899,906,842,624

1015 = 1,000,000,000,000,000

Exa

260 = 1,152,921,504,606,846,976

1018 = 1,000,000,000,000,000,000

Zetta

270 = 1,180,591,620,717,411,303,424

1021 = 1,000,000,000,000,000,000,000

Yotta

280 =
1,208,925,819,614,629,174,706,176

1024 = 1,000,000,000,000,000,000,000,000

 1 KB = 1024 bytes, pero en el SI es 1000 bytes


 Los fabricantes de disco duros y en telecomunicaciones emplea el SI.

Un disco duro de 30 GB almacena 30 x 109 bytes


 Una red de 1 Mbit/s transfiere 106 bps.


ARCOS-UC3M

Estructura de Computadores

132

Evolucin histrica
 http://www.computerhope.com/history/
 http://www.computerhistory.org/
 http://www.computersciencelab.com/ComputerHistory/History

.htm
 Museo Histrico de la Informtica (FI-UPM)
 Museo de Informtica Garca-Santesmases (UCM)
 Buscar en google: Computer history

ARCOS-UC3M

Estructura de Computadores

133

Вам также может понравиться