O sistema operacional difere com base no ISA ou na microarquitetura?

O sistema operacional difere com base no ISA ou na microarquitetura?

Se um sistema operacional for desenvolvido, digamos, por exemplo, 'Linux', ele será escrito de forma ligeiramente diferente quando necessário (perfilado) para diferentes microarquiteturas (Intel Pentium e AMD Athlon)?

Vejo em um dos threads de troca de pilha que o binário Linux para x64 da AMD também pode ser executado na arquitetura Intel x64 insira a descrição do link aqui

ou seja, não deveria haver código-fonte Linux diferente para Intel Pentium e AMD Athlon, mesmo que eles compartilhem o mesmo ISA (x86)? A razão é que a implementação do ISA seria diferente, usando diferentes conjuntos de registros de controle e dados!

Responder1

Não consegui chegar ao cerne do conceito, porém reuni informações suficientes para me convencer de que os sistemas operacionais diferem com base no ISA (por exemplo: x86 e x64) e não na microarquitetura (Intel Pentium e AMD Athlon).

Uma analogia simples é -

É UMé comoLinguagem C; 'um padrão', a ser seguido para fazer algo.

enquantomicroarquiteturaé comoCompilador C; 'uma implementação' para fazer cumprir essas regras ou padrões.

Trecho do wiki -Microarquitetura

Um determinado ISA pode ser implementado com diferentes microarquiteturas; as implementações podem variar devido a diferentes objetivos de um determinado projeto ou devido a mudanças na tecnologia.

O ISA é aproximadamente igual ao modelo de programação de um processador visto por um programador de linguagem assembly ou escritor de compilador.O ISA inclui o modelo de execução, registros do processador, endereços e formatos de dados, entre outras coisas.A microarquitetura inclui as partes constituintes do processador e como elas se interconectam e interoperam para implementar o ISA.

Máquinas com microarquiteturas diferentes podem ter a mesma arquitetura de conjunto de instruções e, portanto, serem capazes de executar os mesmos programas.Novas microarquiteturas e/ou soluções de circuitos, juntamente com avanços na fabricação de semicondutores, são o que permite que as novas gerações de processadores alcancem maior desempenho usando o mesmo ISA.

Os fatores que distinguem diferentes microarquiteturas, mas ainda implementando o mesmo ISA são-

Unidades de execução também são essenciais para a microarquitetura. As unidades de execução incluem unidades lógicas aritméticas (ALU), unidades de ponto flutuante (FPU), unidades de carga/armazenamento, previsão de ramificação e SIMD. Essas unidades realizam as operações ou cálculos do processador. A escolha do número de unidades de execução, sua latência e rendimento é uma tarefa central do projeto microarquitetural. O tamanho, a latência, o rendimento e a conectividade das memórias dentro do sistema também são decisões microarquiteturais.

As decisões de projeto em nível de sistema, como incluir ou não periféricos, como controladores de memória, podem ser consideradas parte do processo de projeto microarquitetural. Isto inclui decisões sobre o nível de desempenho e conectividade destes periféricos.

informação relacionada