Ir ao conteúdo

Posts recomendados

Postado

 Olá estou usando este while para um codigo de memoria cache virtual e ele esta perpetuando que faço para resolver

while(!infile.eof()) //Le os endereços achados no arquivo TRACE
 {

        if(base!=10)
        {
            infile>>hex;
            endereco = trocabase(hex, base);
        }
        else
            infile>>endereco;

  set = (endereco / block_size) % no_set;
  tag = endereco / (block_size * no_set);


  check++;
  found = 0;
  for(i=0;i<asso;i++)
   if(cache[set] == tag)
    {
        found = 1;
        pos = i;
    }


  if(found)
  {
      hit++;
      if(op == 2)
      {
                trasparatopo(set,asso,pos);
      }
  }

  else
  {
            if(op==1)
            {
             i = fifo[set];

   cache[set] = tag;
   fifo[set]++;

   if(fifo[set] == asso)
    fifo[set] = 0;

            }
            else if(op==2)
            {
                i = lru[set][0];
                cache[set] = tag;
                trasparatopo(set,asso,i);

            }
            else
            {
                r = rand() % asso;
                cache[set][r] = tag;

            }

  }

 } 

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...