119
Estructura de Computadores Tema 1. Introducción a los computadores Tema 1. Introducción a los computadores Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID

Estrucutura de computadoras

Embed Size (px)

DESCRIPTION

Computadoras

Citation preview

Page 1: Estrucutura de computadoras

Estructura de Computadores

Tema 1. Introducción a los computadoresTema 1. Introducción a los computadores

Departamento de InformáticaGrupo de Arquitectura de Computadores, Comunicaciones y Sistemas

UNIVERSIDAD CARLOS III DE MADRID

Page 2: Estrucutura de computadoras

Contenido

1. ¿Qué es un computador?2. Concepto de estructura y arquitectura3. Elementos constructivos de un computador4. Arquitectura Von Neumann5. Instrucciones máquina. Programación 6. Fases de ejecución de una instrucción

ARCOS Estructura de Computadores 2

6. Fases de ejecución de una instrucción7. Parámetros característicos de un computador8. Evolución histórica

Page 3: Estrucutura de computadoras

¿Qué es un computador?

ARCOS Estructura de Computadores 3

?

Page 4: Estrucutura de computadoras

¿Qué es un computador?

ARCOS Estructura de Computadores 4

Page 5: Estrucutura de computadoras

Industria de los semiconductores

ARCOS Estructura de Computadores 5

Fuente: embedded.com

Page 6: Estrucutura de computadoras

Tipos de procesadores

� Procesadores: 2% de la industria de los semiconductores

ARCOS Estructura de Computadores 6

Fuente: embedded.com

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 más de 65

Page 7: Estrucutura de computadoras

¿Qué es un computador?

Procesadordatos

Instrucciones

resultados

ARCOS Estructura de Computadores 7

Instrucciones

� Máquina destinada a procesar datos.

Page 8: Estrucutura de computadoras

¿Qué es un computador?

Procesadordatos

Instrucciones

resultados

ARCOS Estructura de Computadores 8

Instrucciones

� Desde el punto de vista matemático es una máquina abstracta que evalúa

}{ }{ mnf 1,01,0: →

Page 9: Estrucutura de computadoras

Estructura y arquitectura

� Estructura� Componentes de un computador� Organización de los componentes

� Arquitectura: atributos visibles para un programador� Juego de instrucciones que ofrece la máquina

ARCOS Estructura de Computadores 9

� Juego de instrucciones que ofrece la máquina� Tipo y formato de datos que es capaz de utilizar el

computador� Número y tamaño de los registros� Técnicas y mecanismos de E/S� Técnicas de direccionamiento de la memoria

� Tecnología: cómo se construyen los componentes

Page 10: Estrucutura de computadoras

Conceptos de repaso

� Sistema binario� Elementos constructivos de un computador

� Transistores� Puertas lógicas� Principales bloques conbinacionales� Principales bloques conbinacionales� Principales elementos secuenciales

ARCOS Estructura de Computadores 10

Page 11: Estrucutura de computadoras

Sistema binario

� BinarioX = 1 0 1 0 0 1 0 1

... 27 26 25 24 23 22 21 20

� d31d30 ... d1d0 : nº de 32 bits (dígitos binarios)� Valor = d31× 231 + d30 × 230 + ... + d1 × 21 + d0 × 20

� Hexadecimal� HexadecimalY = 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 dígito hexadecimal� Ej.: 1 0 1 0 0 1 0 1

ARCOS Estructura de Computadores 11

0x A 5

Page 12: Estrucutura de computadoras

Pregunta

� ¿Cuántos códigos distintos se pueden codificar con 8 bits?

� ¿Cuántos bits hacen falta para representar 512 códigos?

ARCOS Estructura de Computadores 12

Page 13: Estrucutura de computadoras

Transistor

E

A

E

A N-MOS P-MOS

ARCOS Estructura de Computadores 13

B B

E funcionamiento

1 Conecta A con B (circuito abierto)

0 No conecta A con B (circuito cerrado)

E funcionamiento

0 Conecta A con B (circuito abierto)

1 No conecta A con B (circuito cerrado)

(valores lógicos)

Page 14: Estrucutura de computadoras

Puertas lógicas. Inversor (NOT)

E S

V3,3

E S E S

3.3 0 1 0

ARCOS Estructura de Computadores 14

E S

0 3.3 0 1

Page 15: Estrucutura de computadoras

Puertas lógicas. NOR

A B C

0 0 1

0 1 0

1 0 0

1 1 0

ARCOS Estructura de Computadores 15

Page 16: Estrucutura de computadoras

Puertas lógicas. OR

A B C

0 0 0

0 1 1

1 0 1

1 1 1

ARCOS Estructura de Computadores 16

Page 17: Estrucutura de computadoras

Puertas lógicas. NAND

A B C

0 0 1

0 1 1

1 0 1

1 1 0

ARCOS Estructura de Computadores 17

Page 18: Estrucutura de computadoras

Puertas lógicas. AND

A B C

0 0 0

0 1 0

1 0 0

1 1 1

ARCOS Estructura de Computadores 18

Page 19: Estrucutura de computadoras

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

ARCOS Estructura de Computadores 19

� La salida depende de la entrada y del estado actual� Almacenan información

Page 20: Estrucutura de computadoras

Decodificador

� N entradas, 2N salidas

ARCOS Estructura de Computadores 20

Page 21: Estrucutura de computadoras

Multiplexor

� Selecciona con n bits, 2n entradas

A B C D

ARCOS Estructura de Computadores 21

A B C D

MUX S1S0

S

Page 22: Estrucutura de computadoras

Elementos de memoria

Biestables R-S

� Elemento que almacena un bit

ARCOS Estructura de Computadores 22

Page 23: Estrucutura de computadoras

Elementos de memoria

Biestables D

� Elemento que almacena un bit

ARCOS Estructura de Computadores 23

Q

Q

C

D Q

C

Page 24: Estrucutura de computadoras

Elementos de memoria

Registro

� Elemento que almacena un conjunto de bits

ARCOS Estructura de Computadores 24

Page 25: Estrucutura de computadoras

Esquema de un registro

Registro

Entrada

Carga

ARCOS Estructura de Computadores 25

Registro Carga

Salida

Page 26: Estrucutura de computadoras

Memoria

••••••••

k = 2n

posiciones

Espacio de direcciones:Número de posiciones

ARCOS Estructura de Computadores 26

••••••••••••

posiciones

m bits

Número de posiciones

Tamaño de cada posición:Número de bits por posición

Page 27: Estrucutura de computadoras

Componentes de un computador

ARCOS Estructura de Computadores 27

Procesador Memoriaprincipal

Módulo de E/S Módulo de E/S

Periférico Periférico

Bus de controlBus de datos

Bus de direcciones

Page 28: Estrucutura de computadoras

Computador von Neumann

� Máquina capaz de ejecutar una serie de instrucciones elementales: instrucciones máquina� Instrucciones almacenadas en � Instrucciones almacenadas en

memoria � Leídas � Ejecutadas

ARCOS Estructura de Computadores 28

Page 29: Estrucutura de computadoras

Arquitectura Von Neumann

Procesador Memoriaprincipal

Bus de controlBus de datos

ARCOS Estructura de Computadores 29

Módulo de E/S Módulo de E/S

Periférico Periférico

Bus de datos

Bus de direcciones

Page 30: Estrucutura de computadoras

Memoria

Procesador Memoriaprincipal

Bus de control

Almacena:

� instrucciones

� datos

ARCOS Estructura de Computadores 30

Módulo de E/S Módulo de E/S

Periférico Periférico

Bus de controlBus de datos

Bus de direcciones

Page 31: Estrucutura de computadoras

Memoria

Memoria

dirección Dato/instrucción

00001001110001101010111101011000

10101111010110000000100111000110

11000110101011110101100000001001

01011000000010011100011010101111

MAR MBR

ARCOS Estructura de Computadores 31

Memoria

L E

MAR MBR

Registro de direcciones de memoria Registro de datos de memoria

Page 32: Estrucutura de computadoras

Procesador

Procesador

Memoriaprincipal

Registros

Unidad decontrol

ALU

Estructura que almacena un conjunto de bits

Realiza las operaciones

Ejecuta las instrucciones

ARCOS Estructura de Computadores 32

Módulo de E/S Módulo de E/S

Periférico Periférico

Bus de controlBus de datos

Bus de direcciones

Page 33: Estrucutura de computadoras

Registros especiales

Procesador

Memoriaprincipal

Registros

Unidad decontrol

ALU

PC: contador de programa

RI: registro de instrucción

ARCOS Estructura de Computadores 33

Módulo de E/S Módulo de E/S

Periférico Periférico

Bus de controlBus de datos

Bus de direcciones

Page 34: Estrucutura de computadoras

Unidad aritmético-lógica

� Realiza operaciones elementales sobre los datos:� Operaciones aritméticas� Operaciones lógicas

ARCOS Estructura de Computadores 34

Page 35: Estrucutura de computadoras

Programa

� Secuencia consecutiva de instrucciones máquina

00001001110001101010111101011000

10101111010110000000100111000110

11000110101011110101100000001001

01011000000010011100011010101111

ARCOS Estructura de Computadores 35

Page 36: Estrucutura de computadoras

Programa

� Secuencia consecutiva de instrucciones máquina

00001001110001101010111101011000

10101111010110000000100111000110

11000110101011110101100000001001

01011000000010011100011010101111

temp = v[k];

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

v[k+1] = temp;

ARCOS Estructura de Computadores 36

Page 37: Estrucutura de computadoras

Ejecución de un programa

Disco

Memoria principal

ARCOS Estructura de Computadores 37

Fichero ejecutable

00001001110001101010111101011000

10101111010110000000100111000110

11000110101011110101100000001001

01011000000010011100011010101111

Procesador

PCRI

Page 38: Estrucutura de computadoras

Ejecución de un programa

00001001110001101010111101011000

10101111010110000000100111000110

11000110101011110101100000001001

01011000000010011100011010101111

Disco

Memoria principal

ARCOS Estructura de Computadores 38

Fichero ejecutable

00001001110001101010111101011000

10101111010110000000100111000110

11000110101011110101100000001001

01011000000010011100011010101111

Procesador

PCRI

Page 39: Estrucutura de computadoras

Ejecución de un programa

00001001110001101010111101011000

10101111010110000000100111000110

11000110101011110101100000001001

01011000000010011100011010101111

Disco

Memoria principal

ARCOS Estructura de Computadores 39

Fichero ejecutable

00001001110001101010111101011000

10101111010110000000100111000110

11000110101011110101100000001001

01011000000010011100011010101111

Procesador

PCRI

Page 40: Estrucutura de computadoras

Ejecución de un programa

00001001110001101010111101011000

10101111010110000000100111000110

11000110101011110101100000001001

01011000000010011100011010101111

Disco

Memoria principal

ARCOS Estructura de Computadores 40

Fichero ejecutable

00001001110001101010111101011000

10101111010110000000100111000110

11000110101011110101100000001001

01011000000010011100011010101111

Procesador

PCRI 00001001110

Page 41: Estrucutura de computadoras

Ejemplo

� Conjunto de instrucciones con las siguientes características:� Tamaño de una posición de memoria: 16 bits� Tamaño de la instrucción: 16 bits� Código de operación: 3 bits

� ¿Cuántas instrucciones diferentes puede tener este

ARCOS Estructura de Computadores 41

� ¿Cuántas instrucciones diferentes puede tener este computador?

� Número de registros de propósito general: 4� Identificadores simbólicos:

� R0 � R1 � R2 � R3

� ¿Cuántos bits se necesitan para representar estos 4 registros?

Page 42: Estrucutura de computadoras

Ejemplo

� Conjunto de instrucciones con las siguientes características:� Tamaño de una posición de memoria: 16 bits� Tamaño de la instrucción: 16 bits� Código de operación: 3 bits

� ¿Cuántas instrucciones diferentes puede tener este

ARCOS Estructura de Computadores 42

� ¿Cuántas instrucciones diferentes puede tener este computador? 8 instrucciones

� Número de registros de propósito general: 4 (2 bits)� R0 (00)� R1 (01)� R2 (10)� R3 (11)

Page 43: Estrucutura de computadoras

Ejemplo. Juego de instrucciones

Instrucción Descripción

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 posición de memoria 00000001001posición de memoria 00000001001

011AB00000001001 Almacena en la posición de memoria 00000001001 el contenido del registro AB

1000000000001001 Se salta a ejecutar la instrucción almacenada en la posición de memoria 0000000001001

101ABCD000001001 Si el contenido del registro AB es igual al del registro CDse salta a ejecutar la instrucción almacenada en 000001001

ARCOS Estructura de Computadores 43

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

Page 44: Estrucutura de computadoras

Formato de una instrucción máquina

001 AB 00000000101

ARCOS Estructura de Computadores 44

Page 45: Estrucutura de computadoras

Formato de una instrucción máquina

001 AB 00000000101

ARCOS Estructura de Computadores 45

Códigode operación

Page 46: Estrucutura de computadoras

Formato de una instrucción máquina

001 AB 00000000101

ARCOS Estructura de Computadores 46

Códigode operación

OperandosRegistros

Direcciones de memoria

Números

Page 47: Estrucutura de computadoras

Ejemplo. Juego de instrucciones

Instrucción Descripción

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 0100100000001001 Almacena en el registro 01 el valor almacenado en la posición de memoria 00000001001

0110100000001001 Almacena en la posición de memoria 00000001001 el contenido del registro 01

1000000000001001 Se salta a ejecutar la instrucción almacenada en la posición de memoria 0000000001001

1010100000001001 Si el contenido del registro 01 es igual al del registro 00se salta a ejecutar la instrucción almacenada en 000001001

ARCOS Estructura de Computadores 47

Page 48: Estrucutura de computadoras

Ejemplos

� Instrucción que almacena un 5 en el registro 00

� Instrucción que almacena un 7 en el registro 01� Instrucción que almacena un 7 en el registro 01

� Instrucción que suma el contenido del registro 00 y el registro 01 y deja el resultado en el registro 10

� Instrucción que almacena el resultado anterior en la posición de memoria 1027 (en decimal)

ARCOS Estructura de Computadores 48

Page 49: Estrucutura de computadoras

Ejemplos

� Instrucción que almacena un 5 en el registro 00

� Instrucción que almacena un 7 en el registro 01

Instrucción Descripción

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 posición de memoria 00000001001

0110100000001001 Almacena en la posición de memoria 00000001001 el contenido del registro 01

1000000000001001 Se salta a ejecutar la instrucción almacenada en la posición de memoria 0000000001001

1010100000001001 Si el contenido del registro 01 es igual al del registro 00 se salta a ejecutar la instrucción almacenada en 000001001

� Instrucción que almacena un 7 en el registro 01

� Instrucción que suma el contenido del registro 00 y el registro 01 y deja el resultado en el registro 10

� Instrucción que almacena el resultado anterior en la posición de memoria 1027 (en decimal)

ARCOS Estructura de Computadores 49

Page 50: Estrucutura de computadoras

Ejemplos

Solución

� Instrucción que almacena un 5 en el registro 00� 0010000000000101

� Instrucción que almacena un 7 en el registro 01� 0010100000000111

� Instrucción que suma el contenido del registro 00 y el registro � Instrucción que suma el contenido del registro 00 y el registro 01 y deja el resultado en el registro 10� 000100001XXXXXXX

� Instrucción que almacena el resultado anterior en la posición de memoria 1027 (en decimal)� 0111010000000011

ARCOS Estructura de Computadores 50

Page 51: Estrucutura de computadoras

Ejemplo de programa

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

ARCOS Estructura de Computadores 51

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 52: Estrucutura de computadoras

Inicio de la ejecución del programa

PC

RI

0001

000100

?

?

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

?

ARCOS Estructura de Computadores 52

011011

?

?

?

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 53: Estrucutura de computadoras

Fases de ejecución de una instrucción

� Lectura de la instrucción (ciclo de fetch)� MAR PC� Lectura� MBR Memoria� PC PC + 1� RI MBR

PC

MAR MBR

RI

000100

ARCOS Estructura de Computadores 53

� RI MBR

� Decodificación de la instrucción

� Ejecución de la instrucción� Volver a fetch

000100 0010000000000000

Dirección Contenido

Memoria

Page 54: Estrucutura de computadoras

Fases de ejecución de una instrucción

� Lectura de la instrucción (ciclo de fetch)� MAR PC� Lectura� MBR Memoria� PC PC + 1� RI MBR

PC

MAR MBR

RI

000100

000100

ARCOS Estructura de Computadores 54

� RI MBR

� Decodificación de la instrucción

� Ejecución de la instrucción� Volver a fetch

000100 0010000000000000

Dirección Contenido

Memoria

Page 55: Estrucutura de computadoras

Fases de ejecución de una instrucción

� Lectura de la instrucción (ciclo de fetch)� MAR PC� Lectura� MBR Memoria� PC PC + 1� RI MBR

PC

MAR MBR

RI

000100

000100

ARCOS Estructura de Computadores 55

� RI MBR

� Decodificación de la instrucción

� Ejecución de la instrucción� Volver a fetch

000100 0010000000000000

Dirección Contenido

Memoria

Page 56: Estrucutura de computadoras

Fases de ejecución de una instrucción

� Lectura de la instrucción (ciclo de fetch)� MAR PC� Lectura� MBR Memoria� PC PC + 1� RI MBR

PC

MAR MBR

RI

000100

000100 0010000000000000

ARCOS Estructura de Computadores 56

� RI MBR

� Decodificación de la instrucción

� Ejecución de la instrucción� Volver a fetch

000100 0010000000000000

Dirección Contenido

Memoria

Page 57: Estrucutura de computadoras

Fases de ejecución de una instrucción

� Lectura de la instrucción (ciclo de fetch)� MAR PC� Lectura� MBR Memoria� PC PC + 1� RI MBR

PC

MAR MBR

RI

000101

000100 0010000000000000

ARCOS Estructura de Computadores 57

� RI MBR

� Decodificación de la instrucción

� Ejecución de la instrucción� Volver a fetch

000100 0010000000000000

Dirección Contenido

Memoria

Page 58: Estrucutura de computadoras

Fases de ejecución de una instrucción

� Lectura de la instrucción (ciclo de fetch)� MAR PC� Lectura� MBR Memoria� PC PC + 1� RI MBR

PC

MAR MBR

RI

000101

000100 0010000000000000

0010000000000000

ARCOS Estructura de Computadores 58

� RI MBR

� Decodificación de la instrucción

� Ejecución de la instrucción� Volver a fetch

000100 0010000000000000

Dirección Contenido

Memoria

Page 59: Estrucutura de computadoras

Fases de ejecución de una instrucción

� Lectura de la instrucción (ciclo de fetch)� MAR PC� Lectura� MBR Memoria� PC PC + 1� RI MBR

PC

MAR MBR

RI

000101

000100 0010000000000000

0010000000000000

ARCOS Estructura de Computadores 59

� RI MBR

� Decodificación de la instrucción

� Ejecución de la instrucción� Volver a fetch

000100 0010000000000000

Dirección Contenido

Memoria

Page 60: Estrucutura de computadoras

Fases de ejecución de una instrucción

� Lectura de la instrucción (ciclo de fetch)� MAR PC� Lectura� MBR Memoria� PC PC + 1� RI MBR

PC

MAR MBR

RI

000101

000100 0010000000000000

0010000000000000

ARCOS Estructura de Computadores 60

� RI MBR

� Decodificación de la instrucción

� Ejecución de la instrucción� Volver a fetch

000100 0010000000000000

Dirección Contenido

Memoria

Page 61: Estrucutura de computadoras

Ejecución de instrucciones

0010000000000000 RI

R0 0000000000

ARCOS Estructura de Computadores 61

Se carga en R0 el valor 0

Page 62: Estrucutura de computadoras

Ejecución de instrucciones

0100100000001001 RI

R1 MP[00000001001]

ARCOS Estructura de Computadores 62

00000001001 0000000000000101

Dirección Contenido

Se carga en R1 el contenido de la posición de memoria00000001001

Page 63: Estrucutura de computadoras

Ejecución de instrucciones

1000000000001000 RI

PC 0000000001000

ARCOS Estructura de Computadores 63

Se modifica el PC con la dirección 0000000001000

de forma que la siguiente instrucción a ejecutar es la que se encuentra en 0000000001000

Page 64: Estrucutura de computadoras

Fases de ejecución de una instrucción

� Lectura de la instrucción (ciclo de fetch)� MAR PC� Lectura� MBR Memoria� PC PC + 1� RI MBR

PC

MAR MBR

RI

000101

000100 0010000000000000

0010000000000000

ARCOS Estructura de Computadores 64

� RI MBR

� Decodificación de la instrucción

� Ejecución de la instrucción� Volver a fetch

000100 0010000000000000

Dirección Contenido

Memoria

Page 65: Estrucutura de computadoras

Fases de ejecución de una instrucción

� Lectura de la instrucción (ciclo de fetch)� MAR PC� Lectura� MBR Memoria� PC PC + 1� RI MBR

PC

MAR MBR

RI

000101

000100 0010000000000000

0010000000000000

ARCOS Estructura de Computadores 65

� RI MBR

� Decodificación de la instrucción

� Ejecución de la instrucción� Volver a fetch

000100 0010000000000000

Dirección Contenido

Memoria

Page 66: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

000100

?

?

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

?

ARCOS Estructura de Computadores 66

011011

?

?

?

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

Page 67: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

000100

?

?

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

0010000000000000

ARCOS Estructura de Computadores 67

011011

?

?

?

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

Lectura de la Inst.

Page 68: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

000101

?

?

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

0010000000000000

ARCOS Estructura de Computadores 68

011011

?

?

?

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

PC PC + 1

Page 69: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

000101

?

?

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

0010000000000000

ARCOS Estructura de Computadores 69

011011

?

?

?

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Decodificación

Page 70: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

000101

?

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

0010000000000000

00000000000

ARCOS Estructura de Computadores 70

011011

?

?

?

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Ejecución

R0 00000000000

Page 71: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

000101

?

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

0010000000000000

00000000000

ARCOS Estructura de Computadores 71

011011

?

?

?

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

Page 72: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

000101

?

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

0010100000000100

00000000000

ARCOS Estructura de Computadores 72

011011

?

?

?

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

Lectura de la Inst.

Page 73: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

000110

?

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

0010100000000100

00000000000

ARCOS Estructura de Computadores 73

011011

?

?

?

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

PC PC +1

Page 74: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

000110

?

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

0010100000000100

00000000000

ARCOS Estructura de Computadores 74

011011

?

?

?

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Decodificación

Page 75: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

000110

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

0010100000000100

00000000000

ARCOS Estructura de Computadores 75

011011

00000000100

?

?

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Ejecución

R1 00000000100

Page 76: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

000110

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

0010100000000100

00000000000

ARCOS Estructura de Computadores 76

011011

00000000100

?

?

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

Page 77: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

000110

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

0011000000000001

00000000000

ARCOS Estructura de Computadores 77

011011

00000000100

?

?

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

Lectura de la Inst.

Page 78: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

000111

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

0011000000000001

00000000000

ARCOS Estructura de Computadores 78

011011

00000000100

?

?

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

PC PC +1

Page 79: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

000111

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

0011000000000001

00000000000

ARCOS Estructura de Computadores 79

011011

00000000100

?

?

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Decodificación

Page 80: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

000111

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

0011000000000001

00000000000

ARCOS Estructura de Computadores 80

011011

00000000100

00000000001

?

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Ejecución

R2 00000000001

Page 81: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

000111

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

0011000000000001

00000000000

ARCOS Estructura de Computadores 81

011011

00000000100

00000000001

?

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

Page 82: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

000111

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

0011100000000000

00000000000

ARCOS Estructura de Computadores 82

011011

00000000100

00000000001

?

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

Lectura de la Inst.

Page 83: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

001000

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

0011100000000000

00000000000

ARCOS Estructura de Computadores 83

011011

00000000100

00000000001

?

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

PC PC +1

Page 84: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

001000

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

0011100000000000

00000000000

ARCOS Estructura de Computadores 84

011011

00000000100

00000000001

?

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Decodificación

Page 85: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

001000

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

0011100000000000

00000000000

ARCOS Estructura de Computadores 85

011011

00000000100

00000000001

00000000000

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Ejecución

R3 00000000000

Page 86: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

001000

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

0011100000000000

00000000000

ARCOS Estructura de Computadores 86

011011

00000000100

00000000001

00000000000

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

Page 87: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

001000

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

00000000000

1010001000001100

ARCOS Estructura de Computadores 87

011011

00000000100

00000000001

00000000000

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

Lectura de la Inst.

Page 88: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

001001

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

00000000000

1010001000001100

ARCOS Estructura de Computadores 88

011011

00000000100

00000000001

00000000000

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

PC PC +1

Page 89: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

001001

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

00000000000

1010001000001100

ARCOS Estructura de Computadores 89

011011

00000000100

00000000001

00000000000

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Decodificación

Page 90: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

001001

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

00000000000

1010001000001100

ARCOS Estructura de Computadores 90

011011

00000000100

00000000001

00000000000

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

EjecuciónSi el contenido del registro 01 es igual

al del registro 00 se salta a ejecutar la

instrucción almacenada en 000001100

Page 91: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

001001

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

00000000000

1010001000001100

ARCOS Estructura de Computadores 91

011011

00000000100

00000000001

00000000000

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

Page 92: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

001001

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

00000000000

0001111100000000

ARCOS Estructura de Computadores 92

011011

00000000100

00000000001

00000000000

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

Lectura de la Inst.

Page 93: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

001010

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

00000000000

0001111100000000

ARCOS Estructura de Computadores 93

011011

00000000100

00000000001

00000000000

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

PC PC + 1

Page 94: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

001010

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

00000000000

0001111100000000

ARCOS Estructura de Computadores 94

011011

00000000100

00000000001

00000000000

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Decodificación

Page 95: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

001010

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

00000000000

0001111100000000

ARCOS Estructura de Computadores 95

011011

00000000100

00000000001

00000000001

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Ejecución

R3 R3 + R2

Page 96: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

001010

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

00000000000

0001111100000000

ARCOS Estructura de Computadores 96

011011

00000000100

00000000001

00000000001

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

Page 97: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

001010

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

00000000000

0000000100000000

ARCOS Estructura de Computadores 97

011011

00000000100

00000000001

00000000001

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

Lectura de la Inst.

Page 98: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

001011

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

00000000000

0000000100000000

ARCOS Estructura de Computadores 98

011011

00000000100

00000000001

00000000001

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

PC PC +1

Page 99: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

001011

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

00000000000

0000000100000000

ARCOS Estructura de Computadores 99

011011

00000000100

00000000001

00000000001

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Decodificación

Page 100: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

001011

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

00000000001

0000000100000000

ARCOS Estructura de Computadores 100

011011

00000000100

00000000001

00000000001

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Ejecución

R0 R0 + R2

Page 101: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

001011

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

00000000001

0000000100000000

ARCOS Estructura de Computadores 101

011011

00000000100

00000000001

00000000001

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

Page 102: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

001011

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

00000000001

1000000000001000

ARCOS Estructura de Computadores 102

011011

00000000100

00000000001

00000000001

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

Lectura de la Inst.

Page 103: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

001100

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

00000000001

1000000000001000

ARCOS Estructura de Computadores 103

011011

00000000100

00000000001

00000000001

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Fetch

PC PC +1

Page 104: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

001100

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

00000000001

1000000000001000

ARCOS Estructura de Computadores 104

011011

00000000100

00000000001

00000000001

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Decodificación

Page 105: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

001100

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

00000000001

1000000000001000

ARCOS Estructura de Computadores 105

011011

00000000100

00000000001

00000000001

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

EjecuciónSe salta a ejecutar la instrucción

almacenada en la posición de memoria 0000000001000

Page 106: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

0001000

00000000100

000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

00000000001

1000000000001000

ARCOS Estructura de Computadores 106

011011

00000000100

00000000001

00000000001

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

EjecuciónPC 0000000001000

Page 107: Estrucutura de computadoras

Ejecución del programa

PC

RI

0001

0001000 000100

000101

000110

000111

0010000000000000

0010100000000100

0011000000000001

0011100000000000

Dirección Contenido

1000000000001000

00000000001

00000000100

ARCOS Estructura de Computadores 107

011011

000111

001000

001001

001010

001011

001100

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Continúa la ejecución

00000000100

00000000001

00000000001

Page 108: Estrucutura de computadoras

Algoritmo del programa anterior

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

ARCOS Estructura de Computadores 108

i = i + 1;}

El programa almacena en la posición de memoria 00000100000

el valor: 1 + 1 + 1 + 1

Page 109: Estrucutura de computadoras

Lenguaje ensamblador

li R0, 0li R1, 4li R2, 1li R3, 0

bucle: beq R0, R1, fin

ARCOS Estructura de Computadores 109

bucle: beq R0, R1, finadd R3, R3, R2add R0, R0, R2b bucle

fin: sw R3, 100000

Page 110: Estrucutura de computadoras

Secuencia de ejecución de instrucciones

Ejecución de

ARCOS Estructura de Computadores 110

Lectura de la instrucción

Arranque

Parada

DecodificaciónEjecución dela instrucción

Page 111: Estrucutura de computadoras

Ley de Moore

ARCOS Estructura de Computadores 111

Page 112: Estrucutura de computadoras

Ley de Moore

� Doblar la densidad implica reducir lasdimensiones de sus elementos en un 30%

� En 1971 el Intel 4004 tenía 2300 transistorescon tamaños de 10 micrometros

� Hoy en día se consiguen chips con

ARCOS Estructura de Computadores 112

� Hoy en día se consiguen chips condistancias de 45 nanometros

� Para cumplir la ley de Moore se necesita tecnología cuyo precio se dobla cada 4.4 años

Page 113: Estrucutura de computadoras

Proceso de fabricación

ARCOS Estructura de Computadores 113

Page 114: Estrucutura de computadoras

Mejoras en la tecnología

� Memoria� Capacidad de DRAM: 2x / 2 años (desde 96);

64x en la última decada� Procesador

� Velocidad: 2x / 1.5 años (desde 85); � Velocidad: 2x / 1.5 años (desde 85); 100X en la última decada.

� Discos � Capacidad: 2x / 1 año (desde 97)

250X en la última decada.

ARCOS Estructura de Computadores 114

Page 115: Estrucutura de computadoras

Parámetros característicos de un

computador

� Ancho de palabra� Memoria principal o Memoria RAM� Memoria auxiliar� Ancho de banda� Ancho de banda� MIPS� MFLOPS

ARCOS Estructura de Computadores 115

Page 116: Estrucutura de computadoras

Prefijos

Nombre Abr Factor SI

Kilo K 210 = 1,024 103 = 1,000

Mega M 220 = 1,048,576 106 = 1,000,000

Giga G 230 = 1,073,741,824 109 = 1,000,000,000

Tera T 240 = 1,099,511,627,776 1012 = 1,000,000,000,000

Peta P 250 = 1,125,899,906,842,624 1015 = 1,000,000,000,000,000

Exa E 260 = 1,152,921,504,606,846,976 1018 = 1,000,000,000,000,000,000

ARCOS Estructura de Computadores 116

Exa E 2 = 1,152,921,504,606,846,976 10 = 1,000,000,000,000,000,000

Zetta Z 270 = 1,180,591,620,717,411,303,424 1021 = 1,000,000,000,000,000,000,000

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

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

Page 117: Estrucutura de computadoras

Ejercicio

� ¿Cuántos bytes almacena un disco duro de 250 GB ?

ARCOS Estructura de Computadores 117

Page 118: Estrucutura de computadoras

Prefijos

Nombre Abr Factor SI

Kilo K 210 = 1,024 103 = 1,000

Mega M 220 = 1,048,576 106 = 1,000,000

Giga G 230 = 1,073,741,824 109 = 1,000,000,000

Tera T 240 = 1,099,511,627,776 1012 = 1,000,000,000,000

Peta P 250 = 1,125,899,906,842,624 1015 = 1,000,000,000,000,000

Exa E 260 = 1,152,921,504,606,846,976 1018 = 1,000,000,000,000,000,000

ARCOS Estructura de Computadores 118

� 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.

Exa E 2 = 1,152,921,504,606,846,976 10 = 1,000,000,000,000,000,000

Zetta Z 270 = 1,180,591,620,717,411,303,424 1021 = 1,000,000,000,000,000,000,000

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

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

Page 119: Estrucutura de computadoras

Evolución histórica

� http://history.sandiego.edu/GEN/recording/computer1.html� http://www.computerhope.com/history/� http://www.computerhistory.org/� http://www.computersciencelab.com/ComputerHistory/History

.htm

ARCOS Estructura de Computadores 119

.htm� Museos de informática� Buscar en google: “Computer history”