Estou estudando para um exame de final de semestre e estou confuso com a seguinte pergunta. Se uma CPU possui um barramento de endereço de 16 bits e palavras de 8 bits, quanta memória em KB pode ser endereçada? Meu entendimento me diria que ele pode endereçar 64 KB, no entanto, para fazer isso, usei 2 ^ 16 = 65.536. Esse cálculo nunca levou em consideração palavras de 8 bits, então não tenho certeza se está correto. Também o que significam palavras de 8 bits?
Felicidades
Respostas:
Uma palavra, na maioria das arquiteturas, é o maior dado que pode ser transferido de e para a memória de trabalho em uma única operação.
O maior tamanho de endereço possível, usado para designar um local na memória, geralmente é chamado de palavra de hardware.
Portanto, sua CPU poderá endereçar 64 KB (2 ^ 16), mas somente poderá transferir em uma única operação 8 bits.
fonte
Uma palavra de máquina, ou geralmente apenas palavra, é a maior unidade de dados que a CPU pode manipular como um todo usando instruções comuns. Isso não tem nada a ver com endereçamento de memória.
O que importa é a resolução da unidade de endereço , que geralmente é um byte de 8 bits, mesmo em arquiteturas de 16/32/64 bits. Não precisa ser igual ao tamanho da palavra da máquina, mas provavelmente é o seu caso.
Uma unidade endereçável de 8 bits combinada com o barramento de endereços de 16 bits atinge 64KiB de RAM que a CPU pode endereçar.
fonte
No contexto, o tamanho da palavra acompanha o tamanho do endereço para descrever o barramento de memória. Há 16 bits brilhando na memória para que você possa escolher os locais de 64ki. Então, cada local contém 8 bits.
O tamanho da palavra aqui pode ou não corresponder ao tamanho da unidade de computação da CPU, e isso pode ou não corresponder à granularidade lógica no endereçamento.
Por exemplo, uma CPU pode anunciar um barramento de 16 bits (para essa finalidade). Ele usa endereços de 16 bits em suas instruções e, como no exemplo, tem 64ki. Mas possui 15 bits de barramento de endereços e 16 bits de barramento de dados. Ele só precisa de 32ki endereços e sempre recebe 2 bytes em cada local. (Se uma instrução quisesse 1 byte, ela despacharia o endereço com o mínimo de bits faltando, buscaria os dois bytes nessa etapa e, em seguida, observe o mínimo do endereço desejado para decidir qual metade usar.)
Observe que a troca de banco, o PAE etc. mencionados por outras pessoas não são relevantes aqui. Uma unidade de gerenciamento de memória pode usar endereços de 16 bits e ter um endereço de hardware de 20 bits; portanto, a CPU precisa alternar e mapear itens para fazer uso do intervalo real de endereços de 20 bits dos chips de RAM que podem ser endereçados.
Certifique-se de especificar unidades em suas respostas. "64ki". Sobre o que? Palavras de 8 bits, tornando-se (ainda) 64ki bytes de RAM endereçável. Essa etapa elimina a confusão e cria problemas como esse triviais.
fonte
Você também deve usar o tamanho da palavra nos cálculos. A resposta é 64 KB.
Você pode endereçar 2 ^ 16 palavras e cada palavra tem 8 bits (= 1 byte). Portanto, é de 64 KB.
Se o tamanho da palavra for 16 bits. A resposta seria 128 KB.
fonte
Existem dois lados disso: o que seu instrutor provavelmente deseja que você diga a ele e qual é a realidade.
Primeiro, o que seu instrutor provavelmente deseja que você conte a ele.
"16 bits podem endereçar 2 ^ 16 locais de memória, cada local é 8 bits. Portanto, podemos endereçar uma memória de 524288 bits (65536 octetos)."
No entanto, isso reflete uma visão de mundo bastante simplificada. A realidade é mais complicada e dar uma resposta definitiva requer mais informações. Algumas das maneiras pelas quais sistemas reais podem ser mais complicados do que isso incluem.
fonte