66.20 Organización de Computadoras - Primer Parcial
Práctica: Jueves
2 de noviembre de 2006
li $t0, 0 #$t0 → acumulador
li $t1, 0 #$t1 → índice
loop: mul $t2, $t1, 4 #$t2 → índice escalado x4
lw $t3, array($t2)
add $t0, $t0, $t3
beq $t1, 9999, fin
addu $t1, $t1, 1
j loop
fin …
Tipo de Instrucción | Ciclos de reloj |
---|---|
Aritmético/Lógica | 1 |
Carga/Almacenamiento | 1.9 |
Salto Condicional tomado | 2 |
Salto Condicional no tomado | 1.5 |
Salto Inondicional | 1.2 |
#define N 1024 long A[N][N], B[N][N], C[N][N]; register int i, j; for (j=0, j<N; j++) for (i=0, i<N; i++) C[i][j] = A[i][j] + B[i][j];''
Considerar una organización de caché de datos L1 2WSA de 4-KB con línea de 32 bytes y política de reemplazo LRU. El sistema de memoria una write through ante una escritura, y oplítica no-write allocate antes un desacierto de escritura.
El lenguaje C utiliza el esquema row-major order para almacenamiento de arreglos multidimensionales. El tipo ocupa 4 bytes.