MIPS-2

26
 Sección de procesamiento: El camino de datos Montse Bóo Cepeda Este tr abaj o est á publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain.

description

Mips

Transcript of MIPS-2

  • Seccin de procesamiento: El camino de datos

    Montse Bo Cepeda

    Este trabajo est publicado bajo licencia Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Spain.

  • 2Estructura del curso

    1. Evolucin y caracterizacin de los computadores.2. Arquitectura del MIPS: Introduccin.3. Tipo de datos.4. El repertorio de instrucciones.5. Aritmtica del computador.6. El camino de datos.7. Seccin de control.8. El camino de datos multiciclo.9. Seccin de control multiciclo.10. Entrada/Salida (I/O).

  • 3Esquema de contenidos

    1. Estructura bsica del procesador2. El ciclo de instruccin3. Diseo de un procesador sencillo

  • 4Estructura bsica de un procesador

    CONTROL

    ALU

    MEMORIA

    ENTRADA/SALIDA

    PROCESADORArquitectura Von Neumann

  • 5Estructura bsica de un procesador

    El procesador es el que se encarga de ejecutar las instrucciones especificadas por el programa.

    Funciones bsicas: Captar instrucciones. El procesador debe leer instrucciones

    de la memoria Interpretar instrucciones. La instruccin debe decodificarse

    para determinar qu accin es necesaria Captar datos. La ejecucin puede exigir leer datos de la

    memoria o de un mdulo de E/S Procesar datos. La ejecucin de una instruccin puede exigir

    llevar a cabo alguna operacin aritmtica o lgica Escribir datos. Los resultados de una ejecucin pueden tener

    que ser escritos en la memoria o en un mdulo de E/S

  • 6Estructura bsica de un procesador

    El procesador se compone de varias partes:1. Unidad de control2. Unidad aritmtico-lgica3. Un banco de registros4. Otros registros internos:

    El contador de programa (PC) Registro de instrucciones (IR)

    5. Buses, multiplexores, memorias

  • 7Estructura bsica de un procesador

    ALU

    Unidad

    Control

    Registros

    Seales de control

    Datos

    Seales de control

    Seales control del bus

    Datos (resultados)

    Datos (operandos)

    Bus direcciones Bus datos

  • 8Metodologa de sincronizacin El camino de datos se basa en transferencias/computaciones

    entre registros: Elementos combinacionales:

    Su salida depende nicamente de las entradas Ejemplo: ALU (sumador, multiplexor, desplazador,)

    Elementos secuenciales: Operan sobre el estado del sistema. La salida depende de la entrada y del estado. Ejemplo: Memorias y registros

    La metodologa de sincronizacin define cundo pueden leerse y escribirse la diferentes seales

    Asumimos sincronizacin por flancos

  • 9Metodologa de sincronizacinEstrategia de sincronizacin por flancos

    Estado 1 Estado 2Lgica

    combinacional

    Ciclo de reloj

  • 10

    El ciclo de instruccin

    El procesamiento que requiere una instruccin se denomina ciclo de instruccin.

    Ciclo bsico de instruccin:INICIO

    FIN

    Captura dela instruccin

    Ejecucin de la instruccin

    Ciclo de captacin

    Ciclo de ejecucin

  • 11

    Diseo del camino de datos Vamos a construir un camino de datos y su unidad de control para dos

    realizaciones diferentes de un subconjunto del repertorio de instrucciones del MIPS:

    Instrucciones de acceso a memoria: lw, sw Instrucciones aritmtico-lgicas: add, sub, or, slt Instruccin de salto condicional: beq Instruccin de salto incondicional: j

    PC Direccin

    InstruccinMemoria de instrucciones

    RegistrosDatos

    n de registron de registron de registro

    ALUMemoria de

    datos

    Direccin

    Datos

  • 12

    Contador de programa

    El camino de datos implementa el ciclo completo de instruccin: carga-decodificacin-ejecucin.

    Cada instruccin est en una posicin de memoria especfica. Contador de programa:

    Almacenamos la direccin de la instruccin en el PC. Tras procesar una instruccin, avanzamos el contador hasta la siguiente

    instruccin. Elementos para la bsqueda de instrucciones y el incremento del

    contador de programa:

    PC Instrucci n

    Direcci n de la instrucci n

    Memoria de instrucciones

    SumadorSuma

  • 13

    Contador de programa

    SumadorSuma

    Instrucci n

    Direcci n

    Memoria de instrucciones

    PC

    4 Incrementando PC

  • 14

    Instrucciones aritmtico y lgicas

    TIPO R: Operaciones aritmticas y lgicas

    op rs rt rd shamt funct

    6 bits 5 bits 5 bits 5 bits 5 bits 6 bits

    TIPO R

    Campos:op: cdigo de operacin.rs: primer registro operando fuentert: segundo registro operando fuenterd: registro operando destinoshamt: tamao de desplazamiento (shift amount)funct: cdigo de funcin.

  • 15

    Instrucciones aritmtico y lgicas

    Elementos bsicos para la realizacin de instrucciones tipo R

    R

    E

    G

    I

    S

    T

    R

    O

    S

    Reg. de lectura 1

    Reg. de lectura 2Reg. de escritura 1 Dato a

    escribir

    Dato le do 1

    Dato le do 2

    5

    5

    5

    EscribirReg

    Numero de registro

    Dato

    Datos ALU CeroResultado de la ALU

    Control de la ALU

    3

  • 16

    Instrucciones aritmtico y lgicas

    ALU CeroResultado de la ALU

    Control de la ALU

    3

    R

    E

    G

    I

    S

    T

    R

    O

    S

    Reg. de lectura 1

    Reg. de lectura 2Reg. de escritura 1 Dato a

    escribir

    Dato le do 1

    Dato le do 2

    EscribirReg

    Instrucci n

    Operaciones tipo R: Involucran tres registros: dos de lectura y uno de escritura. Usan la ALU para realizar operaciones

  • 17

    Instrucciones de carga y almacenamiento

    Ejemplo: lw $t1, offset($t2) Direccin almacenada en $t2 + offset lw: Lectura memoria, escritura en registro $t1

    Computacin de la direccin: Extensin del signo del offset (16-bits) a una palabra de 32

    bits con signo

    Requerido hardware para la extensin de signo

  • 18

    Instrucciones de carga y almacenamiento

    Load: realiza un acceso al banco de registros, calcula la direccin de memoria, lee de memoria y escribe en el banco de registros

    Store: realiza un acceso al banco de registros, calcula la direccin de memoria, lee del banco de registros y escribe en memoria.

    Elementos para la realizacin de loads y stores, adems del banco de registros y la ALU

    Direcci n

    Memoria de datos

    Dato a escribir

    Dato le do

    LeerMem

    EscribirMemEntensi n de signo

    16 32

    1101 0011 1111 1111 1111 1111 1101 0011

  • 19

    Instrucciones de carga y almacenamiento

    R

    E

    G

    I

    S

    T

    R

    O

    S

    Reg. de lectura 1

    Reg. de lectura 2Reg. de escritura 1 Dato a

    escribir

    Dato le do 1

    Dato le do 2

    EscribirReg

    ALU CeroResultado de la ALU

    Control de la ALU

    3

    Direcci n

    Memoria de datos

    Dato a escribir

    Dato le do

    LeerMem

    EscribirMem

    Entensi n de signo

    16 32

    Instrucci n

  • 20

    Salto condicional

    Ejemplo: beq $t1, $t2, offset Se evala si dos registros contienen el mismo valor ($t1, $t2)

    El salto es relativo. El offset es con signo y de 16 bits y tiene que realizarse una extensin de signo.

    Direccin de salto: La direccin base es la siguiente a la instruccin del salto

    (PC+4) Hacer un desplazamiento de 2 posiciones a la izquierda del

    offset (slo se direccionan palabras completas) Suma el offset desplazado, con extensin de signo, al PC

    incrementado (PC+4)

  • 21

    Salto condicional

    R

    E

    G

    I

    S

    T

    R

    O

    S

    Reg. de lectura 1

    Reg. de lectura 2Reg. de escritura 1 Dato a

    escribir

    Dato le do 1

    Dato le do 2

    EscribirReg

    ALUCero

    Control de la ALU

    3

    Decidir si se hace el salto

    Entensi n de signo

    16 32

    Instrucci n

    Desp. 2 bits a la izq.

    Sumador

    Resultado Destino de salto

    PC + 4 del camino de datos de instrucciones

  • 22

    Diseo del camino de datos

    Para construir el camino de datos hemos de combinar los elementos explicados anteriormente que permiten implementar: Instrucciones de acceso a memoria: lw, sw Instrucciones aritmtico-lgicas: add, sub, or, slt Instruccin de salto condicional: beq Instruccin de salto incondicional: j

    Reutilizacin del hardware: hardware compartido selecciona los datos mediante multiplexores

    Parte del hardware no se podr reutilizar y habr que replicarlo

  • 23

    Diseo del camino de datos

    Camino de datos para instrucciones de memoria y aritmtico-lgicas

    R

    E

    G

    I

    S

    T

    R

    O

    S

    Reg. de lectura 1

    Reg. de lectura 2Reg. de escritura 1 Dato a

    escribir

    Dato le do 1

    Dato le do 2

    EscribirReg

    ALU CeroResultado de la ALU

    Control de la ALU

    3

    Direcci n

    Memoria de datos

    Dato a escribir

    Dato le do

    LeerMem

    EscribirMem

    Entensi n de signo

    16 32

    Instrucci n

    MU X

    MU X

    Fuente ALUMem2reg

  • 24

    Diseo del camino de datosIncorporando contador de programa

    R

    E

    G

    I

    S

    T

    R

    O

    S

    Reg. de lectura 1

    Reg. de lectura 2Reg. de escritura 1 Dato a

    escribir

    Dato le do 1

    Dato le do 2

    EscribirReg

    ALU CeroResultado de la ALU

    Control de la ALU

    3

    Direcci n

    Memoria de datos

    Dato a escribir

    Dato le do

    LeerMem

    EscribirMem

    Entensi n de signo

    16 32

    MU X

    MU X

    Fuente ALUMem2reg

    SumadorSuma

    Instrucci n

    Direcci n

    Memoria de instrucciones

    PC

    4

  • 25

    Diseo del camino de datosAadimos saltos condicionales

    R

    E

    G

    I

    S

    T

    R

    O

    S

    Reg. de lectura 1

    Reg. de lectura 2Reg. de escritura 1 Dato a

    escribir

    Dato le do 1

    Dato le do 2

    EscribirReg

    ALU CeroResultado de la ALU

    Control de la ALU

    3

    Direcci n

    Memoria de datos

    Dato a escribir

    Dato le do

    LeerMem

    EscribirMem

    Entensi n de signo

    16 32

    MU X

    MU X

    Fuente ALUMem2reg

    SumadorSuma

    Instrucci n

    Direcci n

    Memoria de instrucciones

    PC

    4Sumador

    SumaDesp. 2 bits

    a la izq.

    MU X

    Origen PC