Este projeto contém uma implementação lógica que simula o funcionamento de uma Memória de Acesso Aleatório (RAM) em uma placa FPGA Altera DE2-115, detalhada no arquivo RAMMemory.md.
O arquivo RAMMemory.md aplica conceitos fundamentais de arquitetura de computadores e de sistemas digitais para replicar como o hardware de memória gerencia dados temporários. A lógica implementada foca na eficiência do acesso direto e na manipulação de estados.
A simulação no arquivo RAMMemory.md baseia-se nos seguintes pilares:
- Endereçamento Direto: Assim como em uma RAM física, cada unidade de informação possui um identificador único (endereço), permitindo que o tempo de acesso seja constante, independentemente da localização do dado.
- Operações de Leitura e Escrita (R/W): O sistema suporta a atribuição dinâmica de valores a células de memória e a recuperação instantânea desses valores.
- Volatilidade Conceitual: A lógica é estruturada para representar o armazenamento de curto prazo, onde os dados são mantidos enquanto o contexto de execução está ativo.
- Estrutura de Células: A organização dos dados no arquivo segue um modelo de grade ou lista indexada, mimetizando os bancos de memória reais.
- Definição de Barramento: Simulação da largura de banda para transferência de dados.
- Mapa de Memória: Uma representação visual ou lógica de como os bits e bytes estão distribuídos.
- Ciclos de Acesso: Descrição do tempo lógico necessário para processar cada instrução de memória.
Esta implementação é útil para fins educacionais, permitindo entender como softwares de baixo nível interagem com o hardware, ou para sistemas que necessitam de um "cache" lógico performático baseado em princípios de hardware.
Nota: Este é um modelo lógico e deve ser tratado como uma abstração de hardware dentro do ambiente de software.
Desenvolvido por Gabriel Baptista como mini-projeto prático da disciplina de PI: Sistemas Digitais na Pontifiícia Universidade Católica de Campinas.