static void EscribirCacheAsociativa(int i, int v) {
        int Etiqueta = Integer.parseInt(Integer.toBinaryString(0x1000 | i).substring(1).substring(0, 9));
        int Palabra = Integer.parseInt(Integer.toBinaryString(0x1000 | i).substring(1).substring(9, 12), 2);
        int Linea = leastRecentlyUsed.consult(Integer.parseInt(Integer.toBinaryString(Etiqueta),2));
        leastRecentlyUsed.checkMap();

        if (CacheMemoryD[Linea].isValid()) {
            if (CacheMemoryD[Linea].getEtiqueta() == Etiqueta) {
                CacheMemoryD[Linea].setModify(true);
                CacheMemoryD[Linea].getPalabra()[Palabra] = v;
                Time += 0.01;
            } else {
                if (CacheMemoryD[Linea].isModify()) {
                    int firstLine = Integer.parseInt(Integer.toString(Etiqueta), 2) * 8;
                    int firstLineM = Integer.parseInt(Integer.toString(CacheMemoryD[Linea].getEtiqueta()), 2) * 8;
                    int count = 0;

                    for (int j = firstLineM; j < firstLineM + 8; j++) {
                        RAM[j] = CacheMemoryD[Linea].getPalabra()[count];
                        count++;
                    }

                    count = 0;
                    for (int j = firstLine; j < firstLine + 8; j++) {
                        CacheMemoryD[Linea].getPalabra()[count] = RAM[j];
                        count++;
                    }

                    Time += 0.75;
                    CacheMemoryD[Linea].setValid(true);
                    CacheMemoryD[Linea].setModify(true);

                } else {
                    int firstLine = Integer.parseInt(Integer.toString(Etiqueta), 2) * 8;
                    int count = 0;
                    for (int j = firstLine; j < firstLine + 8; j++) {
                        CacheMemoryD[Linea].getPalabra()[count] = RAM[j];
                        count++;
                    }

                    Time += 0.66;
                    CacheMemoryD[Linea].setModify(true);
                }
                CacheMemoryD[Linea].setEtiqueta(Etiqueta);
                CacheMemoryD[Linea].getPalabra()[Palabra] = v;
            }
        } else {
            int firstLine = Integer.parseInt(Integer.toString(Etiqueta), 2) * 8;
            int count = 0;

            for (int j = firstLine; j < firstLine + 8; j++) {
                CacheMemoryD[Linea].getPalabra()[count] = RAM[j];
                count++;
            }

            CacheMemoryD[Linea].setEtiqueta(Etiqueta);
            CacheMemoryD[Linea].setValid(true);
            CacheMemoryD[Linea].setModify(true);
            CacheMemoryD[Linea].getPalabra()[Palabra] = v;
            Time += 0.66;
        }
    }