Experiencias con MIPsim

De Wiki Asqueados
Revisión del 02:59 4 ene 2009 de 79.23.147.195 (Discusión) (Riesgos por dependencia de datos)

Saltar a: navegación, buscar

6b5mdq <a href="http://bsvsydtwmbwl.com/">bsvsydtwmbwl</a>, [url=http://trojwilrjoha.com/]trojwilrjoha[/url], [link=http://qhkrqtpduauq.com/]qhkrqtpduauq[/link], http://rgxmtasmjnnx.com/

RepMPa <a href="http://ddtxavbjbcao.com/">ddtxavbjbcao</a>, [url=http://bagcaqluzbfj.com/]bagcaqluzbfj[/url], [link=http://lcmgtpdoxjfu.com/]lcmgtpdoxjfu[/link], http://mudfppnpgusw.com/

lByYDa <a href="http://ndidawlaaabj.com/">ndidawlaaabj</a>, [url=http://ufsrfekefmnc.com/]ufsrfekefmnc[/url], [link=http://jnnqijetcxjd.com/]jnnqijetcxjd[/link], http://msaivmqmiguk.com/

Riesgos de Control

Estos se producen cuando hay un salto porque se introducen instrucciones en el cauce antes de que pueda evaluarse la condición y, por tanto, saber cual va a ser el camino del programa.

Probaremos con el siguiente programa:

 
beq $1, $2, 10
add $3, $2, $1
add $4, $2, $1
add $5, $2, $1
add $6, $2, $1
add $7, $2, $1
add $8, $2, $1
add $9, $2, $1
add $10, $2, $1

El programa debería saltar a la sexta instrucción y hacer las sumas que haya de allá para adelante. El resultado es el siguiente:

Resultado real
Registro Valor inicial Resultado Esperado Resultado Obtenido
1 1 1 1
2 1 1 1
3 1 1 1
4 1 1 1
5 1 1 1
6 1 1 1
7 1 2 2
8 1 2 2
9 1 2 2
10 1 2 2

Por tanto esta vez MIPS se comporta correctamente y salva los riesgos de control.

Durante la simulación observamos que tras la primera instrucción, se introduce en el cauce la segunda, sin hacer el salto. Después la tercera y entonces estas tres instrucciones se anulan (aparecen en gris en el programa) y se introduce la instrucción correcta, continuando el programa de forma correcta.


Errores de MIPSim

Ensamblador

  1. Cuando estás editando una instrucción y cambias de ventana, pierdes los cambios.

Formatos de archivo

Es una buena característica el que se puedan guardar las instrucciones, registros y memoria en ficheros para después cargarlos. Sin embargo los diseñadores tuvieron el desacierto de codificar estos ficheros de forma binaria. Se echa de menos, una vez has hecho un programa, poder manipularlo con un edior más potente, para insertar unas instrucciones entre otras, copiar y pegar texto, buscar dentro del programa, etc.