/*
  * Escribir bloque de caché a memoria
  */
 public void BloqueAMem(BloqueCacheInstrucciones bloqueCache, int nBloque)
 {
     for (int i = 0; i < 4; i++)
     {
         memoriaPrincipal.SetPalabraInstruccion(nBloque, i, bloqueCache.GetPalabra(i));
     }
 }
Beispiel #2
0
 /*
  * Constructor de la clase
  */
 public CacheInstrucciones()
 {
     bloques = new BloqueCacheInstrucciones[CANTIDAD_BLOQUES];
     for (int i = 0; i < CANTIDAD_BLOQUES; i++)
     {
         bloques[i] = new BloqueCacheInstrucciones();
     }
 }
        /*
         * Leer bloque de memoria
         */
        public BloqueCacheInstrucciones BloqueDeMem(int nBloque)
        {
            BloqueCacheInstrucciones bloqueCache = new BloqueCacheInstrucciones();

            for (int i = 0; i < 4; i++)
            {
                bloqueCache.SetPalabra(i, memoriaPrincipal.GetPalabraInstruccion(nBloque, i));
            }
            bloqueCache.SetEtiqueta(memoriaPrincipal.GetEtiquetaInstruccion(nBloque));
            return(bloqueCache);
        }
Beispiel #4
0
 /*
  * SetBloque Colocar elBloque en la caché de instrucciones
  *
  * @param int Indice del arreglo de bloques que se va a modificar
  * @param BloqueCacheInstrucciones Bloque que se va a insertar
  */
 public void SetBloque(int iBloque, BloqueCacheInstrucciones elBloque)
 {
     bloques[iBloque] = elBloque;
 }