Giter Club home page Giter Club logo

cache-memory-average-access-time-calculator's Introduction

Trabalho 1 - Arquitetura e Organização de Computadores II - 2018/1

Prof. Maurício Lima Pilla - http://lups.inf.ufpel.edu.br/~pilla

Dados do aluno

Declaro que o presente trabalho contém código desenvolvido exclusivamente por mim e que não foi compartilhado de nenhuma forma com terceiros a não ser o professor da disciplina. Compreendo que qualquer violação destes princípios será punida rigorosamente de acordo com o Regimento da UFPEL.

(Preencha com seus dados)

  • Nome completo:
  • Username do Bitbucket:
  • Email @inf:

Descrição

Neste primeiro trabalho, os alunos deverão implementar uma calculadora de tempo médio de acesso para memória parametrizável.

A assinatura da função a ser implementada é:

	struct nivel{
		uint32_t tempo_acesso; // em nanossegundos
		uint32_t taxa_falta; // em faltas por milhão de acessos -- deve ser zero para o último nível (memória)
	};

	uint32_t tempo_medio(int niveis_hierarquia, struct nivel * niveis, struct nivel * tlb);

Onde:

  • niveis_hierarquia diz quantos elementos níveis a hierarquia de memória possui (contando a memória principal);
  • niveis aponta para um vetor com as configurações dos níveis de cache e da memória principal, ordenados da cache mais próxima da CPU até a memória principal;
  • tlb aponta para a configuração da TLB (mas pode ser NULL se não for usada).

A função deve retornar zero quando:

  • Qualquer tempo de acesso for zero;
  • Um nível de memória possuir tempo de acesso menor que o anterior;
  • niveis for NULL;
  • O tempo de acesso à TLB for maior ou igual ao tempo de acesso à memória.

Nos demais casos, a função deve retornar o tempo médio de acesso calculado em nanossegundos. O valor final deve ser arredondado para cima, caso haja necessidade.

Caso a TLB seja empregada, uma falta no seu acesso implica em acesso à memória principal para a tabela de páginas de um nível.

Caso a TLB não seja configurada, considere que nãO há tabela de páginas.

O professor providenciará o arquivo de testes próximo do prazo de entrega.

Produtos

  • Implementação (tm.c)
  • Testes do aluno (testes.c)

Cronograma

  • Envio da versão final: 27/04/2018

cache-memory-average-access-time-calculator's People

Contributors

leogcoelho avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.