Пример #1
0
                    flagHit = memory.l1i.writeCache(end)
                    writeNumber += 1
                if (not flagHit):
                    if end > 15:
                        next = memory.l1d.locateCacheBlock(end)
                    else:
                        next = memory.l1i.locateCacheBlock(end)
                    if (next != -1):
                        memory.l2.writeCache(next)
                        writeNumber += 1
                    flagHit = memory.l2.readCache(end)
                    readNumber += 1
                    if (not flagHit):
                        memory.l2.locateCacheBlock(end)

    write_misses = memory.getWriteMiss()
    total_acessos_l1i = memory.l1i.n_hits + memory.l1i.misses
    total_acessos_l1d = memory.l1d.n_hits + memory.l1d.misses
    total_acessos_l2 = memory.l2.n_hits + memory.l2.misses
    total_acessos = total_acessos_l1i + total_acessos_l1d + total_acessos_l2
    print '\n\n\n#####ESTATISTICAS CACHE#####'
    print '\n-TOTAL DE ACESSOS:'
    print 'Acessos totais:', total_acessos
    print 'Acessos l1i:', total_acessos_l1i
    print 'Acessos l1d:', total_acessos_l1d
    print 'Acessos l2:', total_acessos_l2

    print '\n-MISSES:'
    print 'Misses compulsorios | Misses capacidade | Misses conflito'
    print 'Misses totais: ', tuple(memory.getMisses())
    print 'Misses l1i: ', memory.l1i.getMisses()