Pular para conteúdo

🏋️ Exercício 17 – Arquitetura Von Neumann e Hierarquia de Memória Avançada


🎯 Objetivo

Exercitar a compreensão sobre o gargalo de Von Neumann, calculando tempos médios de acesso à memória e analisando os níveis de Cache (L1, L2, L3) e RAM.


🥉 Nível Bronze (Fixação)

Exercício 1: Qual a diferença fundamental entre a arquitetura Von Neumann e a Arquitetura Harvard quanto aos barramentos de instruções e dados?

Gabarito Explicado Na **Arquitetura Von Neumann**, dados e instruções compartilham o mesmo barramento físico e o mesmo espaço de memória. Na **Arquitetura Harvard**, existem barramentos e memórias separadas para dados e para instruções, permitindo leituras simultâneas.

🥈 Nível Prata (Aplicação)

Exercício 2: Uma CPU possui um tempo de acesso à Cache L1 de \(2\text{ ns}\) e tempo de acesso à RAM de \(50\text{ ns}\). Se a taxa de acerto (hit rate) da Cache L1 for de \(90\%\), calcule o tempo médio de acesso à memória (\(t_{\text{médio}}\)).

Gabarito Explicado A fórmula do tempo médio de acesso é: \[ t_{\text{médio}} = h \cdot t_{\text{cache}} + (1 - h) \cdot t_{\text{ram}} \] Onde $h = 0{,}90$, $t_{\text{cache}} = 2\text{ ns}$ e $t_{\text{ram}} = 50\text{ ns}$. \[ t_{\text{médio}} = 0{,}90 \cdot 2 + 0{,}10 \cdot 50 = 1{,}8 + 5 = 6{,}8\text{ ns} \] O tempo médio de acesso é de **$6{,}8\text{ ns}$**.

🥇 Nível Ouro (Desafio)

Exercício 3: Explique o conceito de Gargalo de Von Neumann e apresente duas técnicas de hardware utilizadas nos processadores modernos para mitigar esse problema.

Gabarito Explicado O **Gargalo de Von Neumann** ocorre porque a velocidade de processamento da CPU cresceu muito mais rápido do que a taxa de transferência (*throughput*) do barramento de memória RAM. Como a CPU precisa buscar instruções e dados na RAM pelo mesmo barramento, ela frequentemente fica ociosa aguardando dados (ciclos de espera / *wait states*). Duas técnicas para mitigar o gargalo são: 1. **Hierarquia de Memória Cache (L1, L2, L3):** Memórias extremamente rápidas integradas no próprio chip da CPU que armazenam os dados/instruções mais frequentes (*princípio da localidade*). 2. **Execução Fora de Ordem e Pipelining:** Técnicas que reordenam as instruções independentes para manter as unidades funcionais da CPU ocupadas enquanto uma busca na RAM está em andamento.