Calculando Linhas de Endereço para 10KB
A resposta anterior calculou incorretamente 17 linhas. Aqui está o cálculo correto:
Matemática Correta
- 10 KB = 10 × 1024 bytes = 10.240 bytes
- Cada byte precisa de um endereço único
- Linhas de endereço = ⌈log₂(10.240)⌉ = 14 (já que 2¹⁴ = 16.384 ≥ 10.240)
Por Que 17 Estava Errado
O erro: converter bytes para bits (×8) e depois tomar log₂. Linhas de endereço endereçam bytes, não bits. Memória é endereçável por byte em virtualmente todas as arquiteturas.
Verificação
- 13 linhas → 2¹³ = 8.192 bytes (8KB) – insuficiente
- 14 linhas → 2¹⁴ = 16.384 bytes (16KB) – suficiente
- 17 linhas → 2¹⁷ = 131.072 bytes (128KB) – exagero
Implementação Prática
- Use 14 linhas de endereço (A0–A13)
- Decode bits superiores de endereço para chip select (se múltiplos chips)
- 2KB restantes (16KB–10KB) não usados ou para outros dispositivos
Princípio-Chave
Linhas de endereço = log₂(número de unidades endereçáveis). Para memória endereçável por byte: unidades = bytes. Para endereçável por palavra: unidades = palavras.