tema1.pdf

122
Estructura de 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

Upload: arnaubc

Post on 20-Nov-2015

214 views

Category:

Documents


0 download

DESCRIPTION

tema 1 computadores

TRANSCRIPT

  • 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

  • ARCOS Estructura de Computadores 2

    Contenido

    1. Qu es un computador? 2. Concepto de estructura y arquitectura 3. Elementos constructivos de un computador 4. Arquitectura Von Neumann 5. Instrucciones mquina. Programacin 6. Fases de ejecucin de una instruccin 7. Parmetros caractersticos de un computador 8. Evolucin histrica

  • ARCOS Estructura de Computadores 3

    Qu es un computador?

    ?

  • ARCOS Estructura de Computadores 4

    Qu es un computador?

  • Industria de los semiconductores

    ARCOS Estructura de Computadores 5

    Fuente: embedded.com

  • Tipos de procesadores

    ARCOS Estructura de Computadores 6

    Fuente: embedded.com

    ! 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 serie 7 tiene ms de 65

  • ARCOS Estructura de Computadores 7

    Qu es un computador?

    Procesador datos

    Instrucciones

    resultados

    ! Mquina destinada a procesar datos.

  • ARCOS Estructura de Computadores 8

    Qu es un computador?

    Procesador datos

    Instrucciones

    resultados

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

    }{ }{ mnf 1,01,0:

  • ARCOS Estructura de Computadores 9

    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

  • Conceptos de repaso

    ! Sistema binario ! Elementos constructivos de un computador " Transistores " Puertas lgicas " Principales bloques conbinacionales " Principales elementos secuenciales

    ARCOS Estructura de Computadores 10

  • 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

    ARCOS Estructura de Computadores 11

    0x A 5

  • Pregunta

    ! Cuntos cdigos distintos se pueden codificar con 8 bits?

    ! Cuntos bits hacen falta para representar 512 cdigos?

    ARCOS Estructura de Computadores 12

  • ARCOS Estructura de Computadores 13

    Transistor

    E

    A

    B

    E

    A

    B

    N-MOS P-MOS

    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 lgicos)

  • Puertas lgicas. Inversor (NOT)

    ARCOS Estructura de Computadores 14

    E S

    V3,3

    E S E S 3.3 0 1 0 0 3.3 0 1

  • Puertas lgicas. NOR

    A B C 0 0 1 0 1 0 1 0 0 1 1 0

    ARCOS Estructura de Computadores 15

  • Puertas lgicas. OR

    A B C0 0 00 1 11 0 11 1 1

    ARCOS Estructura de Computadores 16

  • Puertas lgicas. NAND

    A B C0 0 10 1 11 0 11 1 0

    ARCOS Estructura de Computadores 17

  • Puertas lgicas. AND

    A B C 0 0 0 0 1 0 1 0 0 1 1 1

    ARCOS Estructura de Computadores 18

  • ARCOS Estructura de Computadores 19

    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 Estructura de Computadores 20

    Decodificador

    ! N entradas, 2N salidas

  • ARCOS Estructura de Computadores 21

    Multiplexor

    ! Selecciona con n bits, 2n entradas

    A B C D

    MUX S1 S0

    S

  • ARCOS Estructura de Computadores 22

    Elementos de memoria Biestables R-S

    ! Elemento que almacena un bit

  • ARCOS Estructura de Computadores 23

    Elementos de memoria Biestables D

    ! Elemento que almacena un bit

    Q

    Q C

    D Q C

  • ARCOS Estructura de Computadores 24

    Elementos de memoria Registro

    ! Elemento que almacena un conjunto de bits

  • ARCOS Estructura de Computadores 25

    Esquema de un registro

    Registro

    Entrada

    Carga

    Salida

  • ARCOS Estructura de Computadores 26

    Memoria

    k = 2n posiciones

    m bits

    Espacio de direcciones: Nmero de posiciones

    Tamao de cada posicin: Nmero de bits por posicin

  • ARCOS Estructura de Computadores 27

    Componentes de un computador

    Procesador Memoriaprincipal

    Mdulo de E/S Mdulo de E/S

    Perifrico Perifrico

    Bus de controlBus de datosBus de direcciones

  • Computador von Neumann

    ! Mquina capaz de ejecutar una serie de instrucciones elementales: instrucciones mquina " Instrucciones almacenadas en

    memoria " Ledas " Ejecutadas

    ARCOS Estructura de Computadores 28

  • ARCOS Estructura de Computadores 29

    Arquitectura Von Neumann

    Procesador Memoriaprincipal

    Mdulo de E/S Mdulo de E/S

    Perifrico Perifrico

    Bus de controlBus de datosBus de direcciones

  • ARCOS Estructura de Computadores 30

    Memoria

    Procesador Memoriaprincipal

    Mdulo de E/S Mdulo de E/S

    Perifrico Perifrico

    Bus de controlBus de datosBus de direcciones

    Almacena: ! instrucciones ! datos

  • ARCOS Estructura de Computadores 31

    Memoria

    Memoria

    direccin Dato/instruccin

    L E

    00001001110001101010111101011000 10101111010110000000100111000110 11000110101011110101100000001001 01011000000010011100011010101111

    MAR MBR

    Registro de direcciones de memoria Registro de datos de memoria

  • ARCOS Estructura de Computadores 32

    Procesador

    Procesador

    Memoriaprincipal

    Mdulo de E/S Mdulo de E/S

    Perifrico Perifrico

    Bus de controlBus de datosBus de direcciones

    Registros

    Unidad decontrol

    ALU

    Estructura que almacena un conjunto de bits

    Realiza las operaciones

    Ejecuta las instrucciones

  • ARCOS Estructura de Computadores 33

    Registros especiales

    Procesador

    Memoriaprincipal

    Mdulo de E/S Mdulo de E/S

    Perifrico Perifrico

    Bus de controlBus de datosBus de direcciones

    Registros

    Unidad decontrol

    ALU

    PC: contador de programa RI: registro de instruccin

  • Unidad aritmtico-lgica

    ! Realiza operaciones elementales sobre los datos: " Operaciones aritmticas " Operaciones lgicas

    ARCOS Estructura de Computadores 34

  • ARCOS Estructura de Computadores 35

    Programa

    ! Secuencia consecutiva de instrucciones mquina

    00001001110001101010111101011000 10101111010110000000100111000110 11000110101011110101100000001001 01011000000010011100011010101111

  • ARCOS Estructura de Computadores 36

    Programa

    ! Secuencia consecutiva de instrucciones mquina

    00001001110001101010111101011000 10101111010110000000100111000110 11000110101011110101100000001001 01011000000010011100011010101111

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

  • ARCOS Estructura de Computadores 37

    Ejecucin de un programa

    Fichero ejecutable 00001001110001101010111101011000 10101111010110000000100111000110 11000110101011110101100000001001

    01011000000010011100011010101111

    Disco

    Memoria principal

    Procesador

    PC RI

  • ARCOS Estructura de Computadores 38

    Ejecucin de un programa

    Fichero ejecutable 00001001110001101010111101011000 10101111010110000000100111000110 11000110101011110101100000001001

    01011000000010011100011010101111

    00001001110001101010111101011000 10101111010110000000100111000110 11000110101011110101100000001001

    01011000000010011100011010101111

    Disco

    Memoria principal

    Procesador

    PC RI

  • ARCOS Estructura de Computadores 39

    Ejecucin de un programa

    Fichero ejecutable 00001001110001101010111101011000 10101111010110000000100111000110 11000110101011110101100000001001

    01011000000010011100011010101111

    00001001110001101010111101011000 10101111010110000000100111000110 11000110101011110101100000001001

    01011000000010011100011010101111

    Disco

    Memoria principal

    Procesador

    PC RI

  • ARCOS Estructura de Computadores 40

    Ejecucin de un programa

    Fichero ejecutable 00001001110001101010111101011000 10101111010110000000100111000110 11000110101011110101100000001001

    01011000000010011100011010101111

    00001001110001101010111101011000 10101111010110000000100111000110 11000110101011110101100000001001

    01011000000010011100011010101111

    Disco

    Memoria principal

    Procesador

    PC RI 00001001110

  • ARCOS Estructura de Computadores 41

    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 Estructura de Computadores 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? 8 instrucciones ! Nmero de registros de propsito general: 4 (2 bits) ! R0 (00) ! R1 (01) ! R2 (10) ! R3 (11)

  • 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

    ARCOS Estructura de Computadores 43

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

  • Formato de una instruccin mquina

    ARCOS Estructura de Computadores 44

    001 AB 00000000101

  • Formato de una instruccin mquina

    ARCOS Estructura de Computadores 45

    001 AB 00000000101

    Cdigo de operacin

  • Formato de una instruccin mquina

    ARCOS Estructura de Computadores 46

    001 AB 00000000101

    Cdigo de operacin

    Operandos Registros Direcciones de memoria Nmeros

  • 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 Estructura de Computadores 47

  • Ejemplos

    ! 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 Estructura de Computadores 48

  • Ejemplos

    ! 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 Estructura de Computadores 49

    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

  • Ejemplos Solucin

    ! 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 Estructura de Computadores 50

  • ARCOS Estructura de Computadores 51

    Ejemplo de programa

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

  • ARCOS Estructura de Computadores 52

    Inicio de la ejecucin del programa

    PC

    RI

    00 01 10 11

    000100

    ? ? ? ?

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    ?

  • ARCOS Estructura de Computadores 53

    Fases de ejecucin de una instruccin

    ! Lectura de la instruccin (ciclo de fetch) " MAR PC " Lectura " MBR Memoria " PC PC + 1 " RI MBR

    ! Decodificacin de la instruccin

    ! Ejecucin de la instruccin ! Volver a fetch

    PC

    000100 0010000000000000 Direccin Contenido

    Memoria

    MAR MBR

    RI

    000100

  • ARCOS Estructura de Computadores 54

    Fases de ejecucin de una instruccin

    ! Lectura de la instruccin (ciclo de fetch) " MAR PC " Lectura " MBR Memoria " PC PC + 1 " RI MBR

    ! Decodificacin de la instruccin

    ! Ejecucin de la instruccin ! Volver a fetch

    PC

    000100 0010000000000000 Direccin Contenido

    Memoria

    MAR MBR

    RI

    000100

    000100

  • ARCOS Estructura de Computadores 55

    Fases de ejecucin de una instruccin

    ! Lectura de la instruccin (ciclo de fetch) " MAR PC " Lectura " MBR Memoria " PC PC + 1 " RI MBR

    ! Decodificacin de la instruccin

    ! Ejecucin de la instruccin ! Volver a fetch

    PC

    000100 0010000000000000 Direccin Contenido

    Memoria

    MAR MBR

    RI

    000100

    000100

  • ARCOS Estructura de Computadores 56

    Fases de ejecucin de una instruccin

    ! Lectura de la instruccin (ciclo de fetch) " MAR PC " Lectura " MBR Memoria " PC PC + 1 " RI MBR

    ! Decodificacin de la instruccin

    ! Ejecucin de la instruccin ! Volver a fetch

    PC

    000100 0010000000000000 Direccin Contenido

    Memoria

    MAR MBR

    RI

    000100

    000100 0010000000000000

  • ARCOS Estructura de Computadores 57

    Fases de ejecucin de una instruccin

    ! Lectura de la instruccin (ciclo de fetch) " MAR PC " Lectura " MBR Memoria " PC PC + 1 " RI MBR

    ! Decodificacin de la instruccin

    ! Ejecucin de la instruccin ! Volver a fetch

    PC

    000100 0010000000000000 Direccin Contenido

    Memoria

    MAR MBR

    RI

    000101

    000100 0010000000000000

  • ARCOS Estructura de Computadores 58

    Fases de ejecucin de una instruccin

    ! Lectura de la instruccin (ciclo de fetch) " MAR PC " Lectura " MBR Memoria " PC PC + 1 " RI MBR

    ! Decodificacin de la instruccin

    ! Ejecucin de la instruccin ! Volver a fetch

    PC

    000100 0010000000000000 Direccin Contenido

    Memoria

    MAR MBR

    RI

    000101

    000100 0010000000000000

    0010000000000000

  • ARCOS Estructura de Computadores 59

    Fases de ejecucin de una instruccin

    ! Lectura de la instruccin (ciclo de fetch) " MAR PC " Lectura " MBR Memoria " PC PC + 1 " RI MBR

    ! Decodificacin de la instruccin

    ! Ejecucin de la instruccin ! Volver a fetch

    PC

    000100 0010000000000000 Direccin Contenido

    Memoria

    MAR MBR

    RI

    000101

    000100 0010000000000000

    0010000000000000

  • ARCOS Estructura de Computadores 60

    Fases de ejecucin de una instruccin

    ! Lectura de la instruccin (ciclo de fetch) " MAR PC " Lectura " MBR Memoria " PC PC + 1 " RI MBR

    ! Decodificacin de la instruccin

    ! Ejecucin de la instruccin ! Volver a fetch

    PC

    000100 0010000000000000 Direccin Contenido

    Memoria

    MAR MBR

    RI

    000101

    000100 0010000000000000

    0010000000000000

  • ARCOS Estructura de Computadores 61

    Ejecucin de instrucciones

    0010000000000000 RI

    R0 0000000000 Se carga en R0 el valor 0

  • ARCOS Estructura de Computadores 62

    Ejecucin de instrucciones

    0100100000001001 RI

    R1 MP[00000001001]

    00000001001 0000000000000101 Direccin Contenido

    Se carga en R1 el contenido de la posicin de memoria 00000001001

  • ARCOS Estructura de Computadores 63

    Ejecucin de instrucciones

    1000000000001000 RI

    PC 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 Estructura de Computadores 64

    Fases de ejecucin de una instruccin

    ! Lectura de la instruccin (ciclo de fetch) " MAR PC " Lectura " MBR Memoria " PC PC + 1 " RI MBR

    ! Decodificacin de la instruccin

    ! Ejecucin de la instruccin ! Volver a fetch

    PC

    000100 0010000000000000 Direccin Contenido

    Memoria

    MAR MBR

    RI

    000101

    000100 0010000000000000

    0010000000000000

  • ARCOS Estructura de Computadores 65

    Fases de ejecucin de una instruccin

    ! Lectura de la instruccin (ciclo de fetch) " MAR PC " Lectura " MBR Memoria " PC PC + 1 " RI MBR

    ! Decodificacin de la instruccin

    ! Ejecucin de la instruccin ! Volver a fetch

    PC

    000100 0010000000000000 Direccin Contenido

    Memoria

    MAR MBR

    RI

    000101

    000100 0010000000000000

    0010000000000000

  • ARCOS Estructura de Computadores 66

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    000100

    ? ? ? ?

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    ?

    Fetch

  • ARCOS Estructura de Computadores 67

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    000100

    ? ? ? ?

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    0010000000000000

    Fetch Lectura de la Inst.

  • ARCOS Estructura de Computadores 68

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    000101

    ? ? ? ?

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    0010000000000000

    Fetch PC PC + 1

  • ARCOS Estructura de Computadores 69

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    000101

    ? ? ? ?

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    0010000000000000

    Decodificacin

  • ARCOS Estructura de Computadores 70

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    000101

    ? ? ?

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    0010000000000000

    Ejecucin R0 00000000000

    00000000000

  • ARCOS Estructura de Computadores 71

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    000101

    ? ? ?

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    0010000000000000

    Fetch

    00000000000

  • ARCOS Estructura de Computadores 72

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    000101

    ? ? ?

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    0010100000000100

    Fetch Lectura de la Inst.

    00000000000

  • ARCOS Estructura de Computadores 73

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    000110

    ? ? ?

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    0010100000000100

    Fetch PC PC +1

    00000000000

  • ARCOS Estructura de Computadores 74

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    000110

    ? ? ?

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    0010100000000100

    Decodificacin

    00000000000

  • ARCOS Estructura de Computadores 75

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    000110

    00000000100 ? ?

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    0010100000000100

    Ejecucin R1 00000000100

    00000000000

  • ARCOS Estructura de Computadores 76

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    000110

    00000000100 ? ?

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    0010100000000100

    Fetch

    00000000000

  • ARCOS Estructura de Computadores 77

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    000110

    00000000100 ? ?

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    0011000000000001

    Fetch Lectura de la Inst.

    00000000000

  • ARCOS Estructura de Computadores 78

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    000111

    00000000100 ? ?

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    0011000000000001

    Fetch PC PC +1

    00000000000

  • ARCOS Estructura de Computadores 79

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    000111

    00000000100 ? ?

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    0011000000000001

    Decodificacin

    00000000000

  • ARCOS Estructura de Computadores 80

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    000111

    00000000100 00000000001

    ?

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    0011000000000001

    Ejecucin R2 00000000001

    00000000000

  • ARCOS Estructura de Computadores 81

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    000111

    00000000100 00000000001

    ?

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    0011000000000001

    Fetch

    00000000000

  • ARCOS Estructura de Computadores 82

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    000111

    00000000100 00000000001

    ?

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    0011100000000000

    Fetch Lectura de la Inst.

    00000000000

  • ARCOS Estructura de Computadores 83

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    001000

    00000000100 00000000001

    ?

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    0011100000000000

    Fetch PC PC +1

    00000000000

  • ARCOS Estructura de Computadores 84

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    001000

    00000000100 00000000001

    ?

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    0011100000000000

    Decodificacin

    00000000000

  • ARCOS Estructura de Computadores 85

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    001000

    00000000100 00000000001 00000000000

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    0011100000000000

    Ejecucin R3 00000000000

    00000000000

  • ARCOS Estructura de Computadores 86

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    001000

    00000000100 00000000001 00000000000

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    0011100000000000

    Fetch

    00000000000

  • ARCOS Estructura de Computadores 87

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    001000

    00000000100 00000000001 00000000000

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    Fetch Lectura de la Inst.

    00000000000

    1010001000001100

  • ARCOS Estructura de Computadores 88

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    001001

    00000000100 00000000001 00000000000

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    Fetch PC PC +1

    00000000000

    1010001000001100

  • ARCOS Estructura de Computadores 89

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    001001

    00000000100 00000000001 00000000000

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    Decodificacin

    00000000000

    1010001000001100

  • ARCOS Estructura de Computadores 90

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    001001

    00000000100 00000000001 00000000000

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

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

    00000000000

    1010001000001100

  • ARCOS Estructura de Computadores 91

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    001001

    00000000100 00000000001 00000000000

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    Fetch

    00000000000

    1010001000001100

  • ARCOS Estructura de Computadores 92

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    001001

    00000000100 00000000001 00000000000

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    Fetch Lectura de la Inst.

    00000000000

    0001111100000000

  • ARCOS Estructura de Computadores 93

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    001010

    00000000100 00000000001 00000000000

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    Fetch PC PC + 1

    00000000000

    0001111100000000

  • ARCOS Estructura de Computadores 94

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    001010

    00000000100 00000000001 00000000000

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    Decodificacin

    00000000000

    0001111100000000

  • ARCOS Estructura de Computadores 95

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    001010

    00000000100 00000000001 00000000001

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    Ejecucin R3 R3 + R2

    00000000000

    0001111100000000

  • ARCOS Estructura de Computadores 96

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    001010

    00000000100 00000000001 00000000001

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    Fetch

    00000000000

    0001111100000000

  • ARCOS Estructura de Computadores 97

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    001010

    00000000100 00000000001 00000000001

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    Fetch Lectura de la Inst.

    00000000000

    0000000100000000

  • ARCOS Estructura de Computadores 98

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    001011

    00000000100 00000000001 00000000001

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    Fetch PC PC +1

    00000000000

    0000000100000000

  • ARCOS Estructura de Computadores 99

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    001011

    00000000100 00000000001 00000000001

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    Decodificacin

    00000000000

    0000000100000000

  • ARCOS Estructura de Computadores 100

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    001011

    00000000100 00000000001 00000000001

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    Ejecucin R0 R0 + R2

    00000000001

    0000000100000000

  • ARCOS Estructura de Computadores 101

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    001011

    00000000100 00000000001 00000000001

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    Fetch

    00000000001

    0000000100000000

  • ARCOS Estructura de Computadores 102

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    001011

    00000000100 00000000001 00000000001

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    Fetch Lectura de la Inst.

    00000000001

    1000000000001000

  • ARCOS Estructura de Computadores 103

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    001100

    00000000100 00000000001 00000000001

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    Fetch PC PC +1

    00000000001

    1000000000001000

  • ARCOS Estructura de Computadores 104

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    001100

    00000000100 00000000001 00000000001

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    Decodificacin

    00000000001

    1000000000001000

  • ARCOS Estructura de Computadores 105

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    001100

    00000000100 00000000001 00000000001

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    Ejecucin Se salta a ejecutar la instruccin

    almacenada en la posicin de memoria 0000000001000

    00000000001

    1000000000001000

  • ARCOS Estructura de Computadores 106

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    0001000

    00000000100 00000000001 00000000001

    000100 000101

    000110

    000111

    001000

    001001

    001010

    001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    Ejecucin PC 0000000001000

    00000000001

    1000000000001000

  • ARCOS Estructura de Computadores 107

    Ejecucin del programa

    PC

    RI

    00 01 10 11

    0001000 000100 000101

    000110

    000111

    001000

    001001

    001010 001011

    001100

    0010000000000000

    0010100000000100

    0011000000000001

    0011100000000000 1010001000001100

    0001111100000000

    0000000100000000

    1000000000001000

    0111100000100000

    Direccin Contenido

    1000000000001000

    Contina la ejecucin

    00000000001 00000000100 00000000001 00000000001

  • ARCOS Estructura de Computadores 108

    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 Estructura de Computadores 109

    Lenguaje ensamblador

    li R0, 0 li R1, 4 li R2, 1 li R3, 0 bucle: beq R0, R1, fin add R3, R3, R2 add R0, R0, R2 b bucle fin: sw R3, 100000

  • ARCOS Estructura de Computadores 110

    Secuencia de ejecucin de instrucciones

    Lectura de la instruccin

    Arranque

    Parada

    DecodificacinEjecucin dela instruccin

  • Microprocesador

    ! Incorpora las funciones de la CPU de un computador en un nico circuito integrado

    ARCOS Estructura de Computadores 111

  • ARCOS Estructura de Computadores 112

    Ley de Moore

  • ARCOS Estructura de Computadores 113

    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 distancias de 45 nanometros

    ! Para cumplir la ley de Moore se necesita tecnologa cuyo precio se dobla cada 4.4 aos

  • ARCOS Estructura de Computadores 114

    Proceso de fabricacin

  • 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 Estructura de Computadores 115

  • Parmetros caractersticos de un computador

    ! Juego de instrucciones ! Ancho de palabra: tamao que el computador puede transferir

    y procesar "Coincide con el tamao de los registros, buses, ALU

    ! Mapa de memoria: "Espacio de memoria accesible por un computador "Si la memoria se direcciona por bytes (es decir, cada

    direccin representa un byte), el tamao de memoria accesible es de 2n bytes

    ! Frecuencia de reloj: frecuencia del reloj que gobierna el funcionamiento del procesador (MHz, GHz) "Nmero medio de ciclos por instruccin

    ARCOS Estructura de Computadores 116

  • Parmetros caractersticos de un computador

    ! Ancho de banda: nmero de bits transferidos por unidad de tiempo.

    ! Latencia: tiempo transcurrido entre la emisin de una peticin y la recepcin de la respuesta.

    ! MIPS: millones de instrucciones por segundo ! MFLOPS: millones de operaciones en coma flotante por

    segundo

    ARCOS Estructura de Computadores 117

  • Ejercicio

    ! Considere un hipottico computador con un ancho de palabra de 20 bits con 60 registros que direcciona la memoria por bytes. Responda a las siguientes preguntas:

    a) Cuntos bits se emplean para las direcciones de memoria? b) Cul es el tamao de los registros? c) Cuntos bits se almacenan en cada posicin de memoria? d) Cuntas posiciones de memoria se pueden direccionar? Exprese el resultado en KB. e) Cuntos bits se necesitan para identificar a los registros?

    ARCOS Estructura de Computadores 118

  • ARCOS Estructura de Computadores 119

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

  • Ejercicio

    ! Cuntos bytes almacena un disco duro de 250 GB ?

    ARCOS Estructura de Computadores 120

  • ARCOS Estructura de Computadores 121

    Prefijos

    ! 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 1Mbit/s transfiere 106 bps.

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

  • ARCOS Estructura de Computadores 122

    Evolucin histrica

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

    History.htm ! Museos de informtica ! Buscar en google: Computer history