Questão de Arquitetura de Computadores — Processadores — FGV 2024
- Código
- fg085408
- Banca
- FGV
- Órgão
- INPE
- Ano
- 2024
- Nível
- Superior
- Cargo
- Tecnologista Júnior I - Desenvolvimento de Sistemas Eletrônicos Digitais
- A2.
- B3.
- C4.
- D5.
- E8.
GabaritoB — 3.
Gabarito: letra B. Em um processador com barramento de dados de 32 bits, cada ciclo de barramento transfere até 4 bytes (32 bits) a partir de um endereço alinhado a 4 bytes. Uma variável de 64 bits (8 bytes) localizada no endereço 4K+1 (resto 1 na divisão por 4) não está alinhada a um limite de 4 bytes. Essa variável ocupa três palavras de 32 bits alinhadas: a primeira a partir de 4K (parcial), a segunda em 4K+4 (completa) e a terceira em 4K+8 (parcial). Portanto, são necessários 3 ciclos de barramento para completar a transferência.
Na arquitetura PC tradicional, acessos não alinhados são tratados pelo controlador de memória realizando múltiplas transações no barramento, uma para cada palavra alinhada envolvida. Assim, o número de ciclos é 3, conforme alternativa B.
2 ciclos seriam suficientes apenas se a variável estivesse alinhada a um limite de 8 bytes (64 bits), pois seriam necessárias duas transferências de 32 bits. Como o endereço 4K+1 não é alinhado, isso não ocorre.
Conforme explicado, a variável de 64 bits iniciando em 4K+1 demanda três ciclos de barramento.
4 ciclos seriam necessários apenas se a variável ocupasse quatro palavras alinhadas, o que não é o caso.
5 ciclos não são necessários para este cenário.
8 ciclos ocorreriam se cada byte fosse transferido individualmente, o que não é típico em barramentos de 32 bits.
Em questões de barramento, lembre-se: o número de ciclos depende do alinhamento do endereço e da largura do barramento. Teste mental: quantas palavras de 32 bits são tocadas a partir do endereço dado?
Link permanente: /questoes/fg085408