75
Organización de Computadoras Principios de Conjuntos de Intrucciones

Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

  • Upload
    dinhbao

  • View
    249

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Organización de Computadoras

Principios de Conjuntos de Intrucciones

Page 2: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Clasifición de las ISA

Page 3: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Secuencia de Código para C = A + B

Stack Acumulador Registro

(Reg-Mem)

Registro

(load-store)

Push A Load A Load R1, A Load R1,A

Push B Add B Add R3,R1,B Load R2,B

Add Store C Store R3, C Add R3,R1,R2

Pop C Store R3,C

Page 4: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Combinaciones de operandos en

memoria y operandos totales en

instrucciones de ALU

Nro. de direcciones de memoria

Máximo nro. de operandos permitidos

Tipo de arquitectura

Ejemplos

0 3 Registro-registro Alpha, ARM, MIPS, PowerPC, SPARC.SPARC.

1 2 Registro-memoria

IBM 360/370, Intel 80x86, Motorola 68000

2 2 Memoria-Memoria

VAX

3 3 Memoria-Memoria

VAX

Page 5: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Ventajas y desventajas de los 3 tipos más

comunes de computadoras del tipo registro

de propósito general

Tipo Ventajas Desventajas

R-R (0,3) Simple, codificación con instrucciones de tamaño fijo, modelo de generación de código simple, instrucciones toman similares ciclos de reloj para su ejecución

Conteo de instrucciones más alto, programas más grandes

similares ciclos de reloj para su ejecución

R-M (1,2) Se pueden acceder datos sin un load separado primero. Tendencia a ser facilmente codificado,

Los operandos no son equivalentes (uno es destuido). Pocos bits disponibles para codificar el registro

M-M (2,2)

o (3,3)

Código compacto. No desperdicia registros como temporarios

Gran variación en el tamaño de instrucción. CPI muy variable. Cuello de botella en la memoria

Page 6: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Direccionamiento de Memoria

� Direccionamiento por byte, acceso a:• Byte

• Half word

• Word

•• Word

• Double word

� Tópicos• Alineación

• Orden• Litttle endian

• Big endian

Page 7: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Alineación de objetos en memoria

Page 8: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Direccionamiento de Memoria

� Interpretación de las direcciones de memoria.

• “Little Endian”: pone el byte cuya dirección es XXA000 en la parte más

Word

XXA000 en la parte más baja de la palabra.

• “Big Endian”: pone el byte cuya dirección es XXA000 en la parte más alta de la palabra.

Word

Page 9: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Modos de Direccionamiento MIPS 32

B y te H a lfw o rd W o rd

R e g is te rs

M e m o r y

R e g is te r

R e g is te r

1 . Im m e d ia te a d d re s s in g

2 . R e g is te r a d d re ss in g

3 . B a s e a d d re s s in g

o p rs r t

o p rs r t

o p rs r t A d d re s s

rd . . . fu n c t

Im m e d ia te

+ B y te H a lfw o rd W o rd

M e m o r y

W o rd

M e m o r y

W o rd

R e g is te r

4 . P C -re la tive a d d re ss in g

5 . P se u d o d ire c t a d d re s s in g

o p

o p

rs r t A d d re s s

A d d re ss

P C

P C

+

+

Page 10: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Modos de Direccionamiento en

MIPS 32, ejemplos

� Registro

� Inmediato

� Desplazamiento� Desplazamiento

add $1, $2, $3 regs[1] regs[2] + regs[3]addi $1, $2, 35 regs[1] regs[2] + 35lw $1, 35($2) regs[1] mem[regs[2] + 35]

Page 11: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Modos de Direccionamiento en

MIPS

� C code:

g = h + A[8];

� g in $s1, h in $s2, base address of A in $s3

� Compiled MIPS code:

� Index 8 requires offset of 32

� 4 bytes per word

lw $t0, 32($s3) #load wordadd $s1, $s2, $t0

Page 12: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Frecuencia de modos de

direccionamiento (VAX, SPEC89)

Page 13: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Número de bits de desplazamiento

(Alpha, SPEC CPU2000)

Page 14: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Uso de inmediatos (Alpha, SPEC

CPU2000)

Page 15: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Tipo y tamaño de operandos

� Generalmente lo implica el OpCode• Carácter

• ASCII

• Unicode

• Enteros• Enteros• Half word

• Word

• Coma flotante, precisión simple y doble• IEEE 754

• Decimal• BCD

Page 16: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Operaciones en el conjunto de

instrucciones

Page 17: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Top 10 instrucciones en 80x86

Page 18: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Soporte multimedia para

desktop RISC

Page 19: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Instrucciones de control del

flujo del programa

� Salto condicional (branch)

� Salto incondicional (jump)(jump)

� Llamado a procedimiento (call)

� Retorno de procedimiento (return)

Page 20: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Modos de direccionamiento para

instrucciones de control

� Relativas al PC

� Registro indirecto (dirección del salto no conocida en tiempo de compilación)conocida en tiempo de compilación)

Page 21: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Evaluación de las condiciones

de los Branchs

Page 22: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Frecuencia de los diferentes

tipos de comparaciones

Page 23: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Programando a nivel de la máquina

Programa en MIPS 32 quecalcula la suma de los cuadrados de los numeroscuadrados de los numerosde 0 a 100.

Page 24: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Programando en lenguaje

ensamblador (crudo)

Da una sintaxis con mnemónicos para lasinstrucciones, registros y modos de direccionamiento.

Page 25: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Programando en lenguaje

ensamblador (con abstracciones)

Agrega: directivas, labels, pseudoinstrucciones, modos de direccionamiento no soportadospor el procesador.por el procesador.

Page 26: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Proceso de producir un ejecutable

Page 27: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Ensamblador

� Programa que traduce el códigoassembly a binario.

� Genera como salida un archivo objeto. � Genera como salida un archivo objeto.

Archivo objeto generado por un assembler en Unix

Page 28: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Linker

� Enlaza los archivos objeto y genera el ejecutable.

� Resuelve las referencias a bibliotecas externas.

� Asigna las posiciones finales en memoria.

Page 29: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Necesidad de mayores de abstracciones:

lenguajes de alto nivel

Page 30: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

El compilador

Page 31: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Generación de un ejecutable

Page 32: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

El Roll de los Compiladores

Page 33: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Expectativas para aplicaciones

del tipo de escritorio

� Arquitectura carga/almacenamiento� Registros de propósito general� Modos de direccionamiento

• Desplazamiento• Inmediato• Inmediato

� Tipos de datos• Enteros, 8, 16, 32 y 64 bits• Coma flotante, IEEE 754

� Instrucciones simples• load, store, add, subtract, move reg-reg, shift• Compare, branch, jump, call, return

� Codificación de instrucción fija

Page 34: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

La Arquitectura MIPS

MIPS 32

Page 35: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

La Arquitectura MIPS

� Conjunto de instrucciones simple L/S

� Diseñada para eficiencia del pipeline

� Eficiencia para el compilador� Eficiencia para el compilador

Page 36: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

La Arquitectura MIPS

� Registros• 32 registros de 32 bits: $0, $1, $2, $31 (int)

• 32 registros de 32 bits: $f0, $f1, $f2, $f31 (fp)

� Tipos de datos� Tipos de datos• Bytes (8 bits), Half Word (16 bits), Words (32 bits)

• Double words (fp)

� Modos de direccionamiento• Inmediato

• Desplazamiento

Page 37: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

CPU, FPU y el

coprocesador 0

Page 38: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Causa de excepciones

El registro CAUSE

Page 39: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Convención de uso de registros

Registers

Name Number Use Callee must preserve?

$zero $0 constant 0 N/A

$at $1 assembler temporary No

$v0–$v1 $2–$3values for function returns and expression evaluation

Noevaluation

$a0–$a3 $4–$7 function arguments No

$t0–$t7 $8–$15 temporaries No

$s0–$s7 $16–$23 saved temporaries Yes

$t8–$t9 $24–$25 temporaries No

$k0–$k1 $26–$27 reserved for OS kernel No

$gp $28 global pointer Yes

$sp $29 stack pointer Yes

$fp $30 frame pointer Yes

$ra $31 return address N/A

Page 40: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Ejemplo de un loop# Computa la suma de los elementos de un vector. Precondiciones en zona de datos: length es la longitud del vector de enteros array. Postcondiciones: el resultado queda en donde estaba la longitud del vector.

.text

.globl mainmain: addi $v0, $zero, 0 # v0 = resultado = 0

la $t0, length # t0 = address de lengthlw $t1, 0($t0) # t1 = lengthla $t4, array # t4 = address de array[0]addi $t1, $t1, -1 # t1 = indice del ultimo elemento del vectorsll $t1, $t1, 2 # multiplico length por 4, t1 = address de array[length-1]

loop: add $t3, $t4, $t1lw $t2, 0($t3) # t2 = array[i]add $v0, $v0, $t2 # resultado += array[i]addi $t1, $t1, -4 # i--

test: slti $t9, $t1, 0 # if !(i<0) ...beq $t9, $zero, loop # ... go to loopnopsw $v0, 0($t0) # reemplaza length con resultado

halt: beq $zero, $zero, haltnop

.datalength: .word 8array: .word 9, 8, 7, 6, 5, 4, 3, 2

Page 41: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

.text

.globl mainmain: addi $v0, $zero, 0 # v0 = resultado = 0

#la $t0, length # t0 = address de lengthluiorilw $t1, 0($t0) # t1 = length#la $t4, array # t4 = address de array[0]luioriaddi $t1, $t1, -1 # t1 = indice del ultimo elemento del vectorsll $t1, $t1, 2 # multiplico length por 4, t1 = address de array[length-

loop: add $t3, $t4, $t1lw $t2, 0($t3) # t2 = array[i]lw $t2, 0($t3) # t2 = array[i]add $v0, $v0, $t2 # resultado += array[i]addi $t1, $t1, -4 # i--

test: slti $t9, $t1, 0 # if !(i<0) ...beq $t9, $zero, loop # ... go to loopnopsw $v0, 0($t0) # reemplaza length con resultado

halt: beq $zero, $zero, haltnop

.datalength: .word 8array: .word 9, 8, 7, 6, 5, 4, 3, 2 Código sin pseudoinstrucciones

Page 42: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Para el código anterior calcular:

� Cantidad de instrucciones del programa.

� Tamaño del código en bytes.

� Cantidad de instrucciones ejecutadas.

� Cantidad de bytes de instrucciones transferidos entre � Cantidad de bytes de instrucciones transferidos entre CPU y memoria.

� Cantidad de accesos a datos en memoria realizados.

� Cantidad de bytes de datos transferidos entre CPU y

memoria.� Cantidad total de bytes transferidos entre CPU y

memoria.

Page 43: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Para el código anterior calcular:

� Porcentaje de accesos a datos que son lectura.

� Porcentaje de accesos a memoria que son lectura.

� Clasificar a las instrucciones en los grupos: ALU, L/S, BRANCH, JUMP, FP.

� Calcular la frecuencia de ejecución de cada grupo.

� Calcular el porcentaje de saltos tomados.

� Calcular el CPI del código (usar CPI típicos de grupos)

� Calcular el tiempo de ejecución si la CPU corre a 100MHZ.

� Calcular el porcentaje de tiempo que la CPU ejecuta intrucciones de ALU.

Page 44: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Para el código anterior calcular:

� Se propone llevar el CPI de las instrucciones de BRANCH a 1 (branchstomados y no tomados).

• Calcular el SPEEDUP total usando la ecuación • Calcular el SPEEDUP total usando la ecuación de desempeño de CPU.

• Calcular el SPEEDUP total usando la ley de Amdahl.

Page 45: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Formatos de Instrucciones MIPS

Page 46: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Instrucción del Tipo I: addi

addi rt, rs, imm regs[rt] ← regs[rs] + imm(Texto)

Ensam

bla

do

8 rs rt imm(Hardware)

Op Code fuente destino inmediato(6 bits) (5 bits) (5 bits) (16 bits)

Ensam

bla

do

031

Page 47: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Ejemplo de addi

addi $1, $2, 15 regs[1] ← regs[2] + 15(Texto)

Ensam

bla

do

001000 00010 00001 0000000000001111(Hardware)

Op Code fuente destino inmediato

Ensam

bla

do

Page 48: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Instrucción del Tipo I: lw

lw rt, offset(rs) Regs[rt] ← Mem[Regs[rs] + imm](Texto)

Ensam

bla

do

0x23 rs rt Offset(Hardware)

Op Code fuente destino inmediato(6 bits) (5 bits) (5 bits) (16 bits)

Ensam

bla

do

031

Page 49: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Ejemplo de lw

lw $3, 33($4) Regs[3] ← Mem[Regs[4] + 33](Texto)

Ensam

bla

do

010111 00100 00011 0000000000100001(Hardware)

Op Code fuente destino inmediato(6 bits) (5 bits) (5 bits) (16 bits)

Ensam

bla

do

031

Page 50: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Instrucción del Tipo I: bne

bne rs, rt, label if (Regs[rs] ≠ Regs[rt]) then PC ← PC+4+(Offsetx4)(Texto)

Ensam

bla

do

else PC ← PC+4

5 rs rt Offset(Hardware)

Op Code fuente destino inmediato(6 bits) (5 bits) (5 bits) (16 bits)

Ensam

bla

do

031

Page 51: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Ejemplo de bne

bne $5, $6, loop if (Regs[5] ≠ Regs[6]) then PC ← PC+4+(-5x4)

else PC ← PC+4Loop:

000101 000101 000110 1111111111111011

Op Code fuente destino inmediato(6 bits) (5 bits) (5 bits) (16 bits)

031

bne $5, $6,-16

Page 52: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Instrucción del Tipo R: add

add rd, rs, rt Regs[rd] ← Regs[rs] + Regs[rt](Texto)

Ensam

bla

do

(Hardware)

Op Code fuente 1 fuente 2 destino función (6 bits) (5 bits) (5 bits) (5 bits) (6 bits)

Ensam

bla

do

031

0 rs rt rd 0 0x20

Page 53: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Ejemplo de add:

add $7, $8, $9 Regs[rd] ← Regs[rs] + Regs[rt](Texto)

Ensam

bla

do

(Hardware)

Op Code fuente 1 fuente 2 destino función (6 bits) (5 bits) (5 bits) (5 bits) (6 bits)

Ensam

bla

do

031

0 01000 01001 00111 0 0x20

Page 54: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Instrucción del Tipo R: sll

sll rd, rt, shamt Regs[rd] ← Regs[rt] << shamt(Texto)

Ensam

bla

do

(Hardware)

Op Code fuente destino despl. función (6 bits) (5 bits) (5 bits) (5 bits) (6 bits)

Ensam

bla

do

031

0 rt rd shamt 0

Page 55: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Instrucción del Tipo J: j

j target pc ← target(Texto)

Ensam

bla

do

(Hardware)

Op Code destino(6 bits) (26 bits)

Ensam

bla

do

031

2 target

Page 56: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Instrucción del Tipo J: jal

jal target Regs[31] ← pcpc ← target*

(Texto)

Ensam

bla

do

(Hardware)

Op Code destino(6 bits) (26 bits)

Ensam

bla

do

031

3 target

Page 57: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Instrucciones Aritmético

Lógicas

� add, addu, addi, addiu, sub

� and, andi, xor, xori, nor, or, ori

� clo, clz

� div (cociente en Lo, resto en Hi), divu� div (cociente en Lo, resto en Hi), divu

� mult, multu (resultado en Hi-Lo)

� mul (especifica rdest)

� madd, maddu, msub, msubu (resultado en Hi-Lo)

� sll, sllv, sra, srav, srl, srlv

Page 58: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Instrucciones que manipulan

constantes y de comparación

� lui (load upper immediate)

� slt, sltu, slti, sltiu (set)

• Ejemplo slt:

Page 59: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Instrucciones de branch

� beq

� bgez, bgezal

� bgtz� bgtz

� blez

� bltz, bltzal

� bne

Page 60: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Instrucciones de jump

� j (jump)

� jal (jump and link)

� jr (jump register)� jr (jump register)

� jalr (jump and link register)

Page 61: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Instrucciones de carga-

almacenamiento

� lb, lbu, lh, lhu, lw

� sb, sh, sw

Page 62: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Instrucciones de movimiento de

datos

� mfhi, mflo

� mthi, mtlo

� movn� movn

� movz

Page 63: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Instrucción de llamada al

sistema

� eret

� syscall

� break� break

Page 64: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Instrucción que no hace nada

� nop

Page 65: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

PseudoinstruccionesName instruction syntax

Real instruction

translationmeaning

Move move $rt,$rs addi $rt,$rs,0 R[rt]=R[rs]

Clear clear $rt add $rt,$zero,$zero R[rt]=0

Load Address la $at, LabelAddrlui $at, LabelAddr[31:16]; ori $at,$at, LabelAddr[15:0]

$at = Label Address

Load Immediate li $at, IMMED[31:0]lui $at, IMMED[31:16]; ori $at,$at, IMMED[15:0]

$at = 32 bit Immediate value

Branch if greater than bgt $rs,$rt,Labelslt $at,$rt,$rs; bne $at,$zero,Label

if(R[rs]>R[rt]) PC=Label$at,$zero,Label

Branch if less than blt $rs,$rt,Labelslt $at,$rs,$rt; bne $at,$zero,Label

if(R[rs]<R[rt]) PC=Label

Branch if greater than or equal

bge $rs,$rt,Labelslt $at,$rs,$rt; beq $at,$zero,Label

if(R[rs]>=R[rt]) PC=Label

Branch if less than or equal

ble $rs,$rt,Labelslt $at,$rt,$rs; beq $at,$zero,Label

if(R[rs]<=R[rt]) PC=Label

Branch if greater than unsigned

bgtu $rs,$rt,Label if(R[rs]=>R[rt]) PC=Label

Branch if greater than zero

bgtz $rs,$rt,Label if(R[rs]>0) PC=Label

Multiplies and returns only first 32 bits

mul $1, $2, $3 mult $2, $3; mflo $1 $1 = $2 * $3

Page 66: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro
Page 67: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Modelo de memoria

Page 68: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Llamados a funciones

Page 69: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

MIPS Microprocessors

ModelFrequency

(MHz)Year

Process

(µm)

Transistors

(millions)

Die Size

(mm2)Pin Count Power (W)

Voltage

(V)

D. cache

(KB)

I. cache

(KB)L2 Cache L3 Cache

R2000 8–16.67 1985 2.0 0.11 ? ? ? ? 32 64 None None

R300012–40 1988 1.2 0.11 66.12 145 4 ? 64 64

0-256 KB

External None

R4000100 1991 0.8 1.35 213 179 15 5 8 8

1 MB

External None

R4400100–250 1992 0.6 2.3 186 179 15 5 16 16

1-4 MB

External None

R4600100–133 1994 0.64 2.2 77 179 4.6 5 16 16

512 KB

External None

R4650133–180 1994 0.64 2.2? 77? 179 4.6? 5 16 16

512 KB

External None

R4700 100–200 1996 0.5 2.2? ? 179 ? ? 16 16 External none

R5000150–200 1996 0.35 3.7 84 223 10 3.3 32 32

1 MB

External None

R80004 MB

R800075–90 1994 0.7 2.6 299 591+591 30 3.3 16 16

4 MB

External None

R10000

150–250 1996 0.35, 0.25 6.7 299 599 30 3.3 32 32

512 KB–

16 MB

external None

R12000

270–400 1998 0.25, 0.18 6.9 204 600 20 4 32 32

512 KB–

16 MB

external None

RM7000250–600 1998

0.25, 0.18,

0.13 18 91 304 10, 6, 3

3.3, 2.5,

1.5 16 16

256 KB

internal

1 MB

external

R14000

500–600 2001 0.13 7.2 204 527 17 ? 32 32

512 KB–

16 MB

external None

R16000

700–1000 2002 0.11 ? ? ? 20 ? 32 32

512 KB–

16 MB

external None

R24K750+ 2003 65 nm ? 0.83 ? ? ? 64 64

4-16 MB

external

Page 70: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Sistemas basados en MIPS

� Routers

� Cablemodem

� ADSL

� Smart Cards� Smart Cards

� Impresoras laser

� Decodificadores

� PlaySation 2

� Robots

� Celulares

Page 71: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Arquitectura MIPS presente en

los siguientes procesadores

� IDT RC32438; ATI Xilleon; Alchemy Au1000, 1100, 1200; Broadcom Sentry5; RMI XLR7xx, CaviumOcteon CN30xx, CN31xx, CN36xx, CN38xx and CN5xxx; Infineon Technologies EasyPort, Amazon, CN5xxx; Infineon Technologies EasyPort, Amazon, Danube, ADM5120, WildPass, INCA-IP, INCA-IP2; Microchip Technology PIC32; NEC EMMA and EMMA2, NEC VR4181A, VR4121, VR4122, VR4181A, VR5432, VR5500; Oak TechnologiesGeneration; PMC-Sierra RM11200; QuickLogicQuickMIPS ESP; Toshiba Donau, ToshibaTMPR492x, TX4925, TX9956, TX7901.

Page 72: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Supercomputadoras basadas en

MIPS.

Estacionesde Trabajo

gráficasServidores Supercomputadoras

Evolución SGI

gráficas

1990 1996 2005

Page 73: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Supercomputadoras basadas en

MIPS.

SGI Origin 2000

Page 74: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

Supercomputadoras basadas en

MIPS. Sircortex startup (2007)

Sircortex SC5832CHIP (nodo): multinucleo 6 MIPS 64Topologia Kautz graphControlador de memoria crossbarControlador de memoria crossbarinterconnect DMA engine, Gigabit Ethernet y PCI Expressen un chip que consume 10 wattsDesempeño pico de 6 Gigaflops.Configuración tope (un solo gabinete):972 nodos, total de 5832 nucleosMIPS64 y 8.2 teraFLOPS de desempeñopico.

Page 75: Organización de Computadoras - materias.fi.uba.armaterias.fi.uba.ar/6620/clases/clase3.pdf · Ventajas y desventajas de los 3 tipos más comunes de computadoras del tipo registro

FIN