Diferencia entre revisiones de «Experiencias con MIPsim»

De Wiki Asqueados
Saltar a: navegación, buscar
(Riesgos por dependencia de datos)
(Riesgos de Control)
Línea 6: Línea 6:
 
lByYDa  <a href="http://ndidawlaaabj.com/">ndidawlaaabj</a>, [url=http://ufsrfekefmnc.com/]ufsrfekefmnc[/url], [link=http://jnnqijetcxjd.com/]jnnqijetcxjd[/link], http://msaivmqmiguk.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==
+
comment4, http://gzqeibn.hostshield.com/atdtm-sp3a/map.html advance masturbation, 11872,
 
 
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:
 
 
 
  <nowiki>
 
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
 
</nowiki>
 
 
 
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:
 
 
 
{| border=1 style="margin:0 0 1em 1em"
 
|+ 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==
 
==Errores de MIPSim==

Revisión del 11:52 4 ene 2009

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/

comment4, http://gzqeibn.hostshield.com/atdtm-sp3a/map.html advance masturbation, 11872,

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.