Se uma CPU tiver um barramento de endereços de 16 bits e palavras de 8 bits, quanto de memória ela pode endereçar?

22

Estou estudando para o exame final do semestre e estou confuso com a seguinte pergunta. Se uma CPU tiver um barramento de endereços de 16 bits e palavras de 8 bits, quanta memória em KB ela pode endereçar? Meu entendimento me diria que ele pode resolver 64KB, no entanto, para fazer isso eu usei apenas 2 ^ 16 = 65.536. Esse cálculo nunca levou em conta as palavras de 8 bits, então não tenho certeza se está correto. Também o que significam palavras de 8 bits?

Felicidades

    
por eZ_Harry 06.06.2017 / 10:32

5 respostas

37

Uma palavra, na maioria das arquiteturas, é a maior parte dos dados que podem ser transferidos para e da 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, é normalmente chamado de palavra de hardware.

Então, sua CPU será capaz de endereçar 64KB (2 ^ 16) mas só será capaz de transferir em uma única operação 8 bits.

    
por 06.06.2017 / 10:53
20

Uma palavra de máquina, ou comumente 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 o endereçamento de memória.

O que importa é a resolução da unidade de endereço , que é comumente um byte de 8 bits, mesmo em 16 / Arquiteturas de 32/64 bits. Não precisa ser igual ao tamanho da palavra da máquina, mas provavelmente está no seu caso.

Uma unidade endereçável de 8 bits combinada com um barramento de endereço de 16 bits equivale a 64 KiB de RAM que a CPU pode endereçar.

    
por 06.06.2017 / 11:40
2

Also what does 8 bit words mean?

No contexto, o tamanho da palavra acompanha o tamanho do endereço para descrever o barramento da memória. Há 16 bits na memória para que ele possa escolher locais 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 este propósito). Ele usa endereços de 16 bits em suas instruções e, como seu exemplo, tem 64ki. Mas tem 15 bits de barramento de endereços e 16 bits de barramento de dados. Ele só precisa de endereços 32ki 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, então, veria o menor bit do endereço desejado para decidir qual metade usar.)

Observe que a troca de banco, o PAE etc. mencionados por outros 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 os itens para usar o intervalo real de endereços de 20 bits dos chips de RAM que podem ser endereçados.

Certifique-se de especificar unidades nas suas respostas. “64ki”. Sobre o que? Palavras de 8 bits, tornando-o (ainda) 64k bytes de RAM endereçável. Essa etapa elimina a confusão e faz com que problemas como esse sejam triviais.

    
por 07.06.2017 / 11:35
0

Você também tem que usar o tamanho da palavra nos cálculos. A resposta é 64 KB.

Você pode endereçar 2 ^ 16 palavras e cada palavra é 8 bits (= 1 byte). Portanto, é de 64 KB.

Se o tamanho da palavra fosse de 16 bits. A resposta seria 128 KB.

    
por 07.06.2017 / 10:39
0

Há dois lados nisso, o que seu instrutor provavelmente quer que você diga a ele e qual é a realidade.

Primeiro o que seu instrutor provavelmente quer que você diga a ele.

"16 bits podem endereçar locais de memória 2 ^ 16, cada local é de 8 bits. Portanto, podemos endereçar uma memória de 524288 bits (65536 octetos)."

Isso, no entanto, reflete uma visão de mundo bastante simplificada. A realidade é mais complicada e dar uma resposta definitiva requer mais informação. Algumas das maneiras pelas quais os sistemas reais podem ser mais complicados incluem:

  • Muitos processadores não possuem um mapa de IO dedicado, portanto partes do espaço de endereço de memória podem precisar ser usadas para outras coisas além da memória.
  • O "tamanho da palavra" do processador não é necessariamente o mesmo que a largura do barramento de dados da memória ou a menor unidade endereçável de memória.
  • Alguns barramentos permitem o movimento de unidades de dados de tamanho variável. Isso requer mais endereçamento, que pode ou não ser tratado por bits do barramento de endereços principal.
  • Alguns barramentos multiplexam sinais diferentes nas mesmas linhas. Por exemplo, a SDRAM usa as mesmas linhas de endereço duas vezes para enviar um "endereço de linha" e um "endereço de coluna".
  • Muitos sistemas usaram abordagens de comutação de banco para permitir que os programas acessem mais memória do que o processador poderia endereçar de maneira nativa.
por 13.06.2017 / 12:58

Tags