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

0

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

Eu vejo de um dos segmentos de troca de pilha que o Linux binário para x64 da AMD pode ser executado em arquitetura Intel x64, bem insira a descrição do link aqui

ou seja, não deve haver código-fonte Linux diferente para o Intel Pentium e o AMD Athlon, embora compartilhem o mesmo ISA (x86)? Razão de ser sua implementação do ISA seria diferente, usando diferentes conjuntos de controle e registros de dados!

    
por Darshan L 20.08.2018 / 06:30

1 resposta

0

Não consegui chegar ao cerne do conceito, mas reuni informações suficientes para convencer-me 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 é -

ISA é como linguagem C ; 'um padrão', a ser seguido para fazer alguma coisa.

Considerando que microarquitetura é como compilador C ; 'uma implementação' para aplicar essas regras ou padrão.

Trecho do wiki - Microarquitetura

A given ISA may be implemented with different microarchitectures; implementations may vary due to different goals of a given design or due to shifts in technology.

The ISA is roughly the same as the programming model of a processor as seen by an assembly language programmer or compiler writer. The ISA includes the execution model, processor registers, address and data formats among other things. The microarchitecture includes the constituent parts of the processor and how these interconnect and interoperate to implement the ISA.

Machines with different microarchitectures may have the same instruction set architecture, and thus be capable of executing the same programs. New microarchitectures and/or circuitry solutions, along with advances in semiconductor manufacturing, are what allows newer generations of processors to achieve higher performance while using the same ISA.

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

Execution units are also essential to microarchitecture. Execution units include arithmetic logic units (ALU), floating point units (FPU), load/store units, branch prediction, and SIMD. These units perform the operations or calculations of the processor. The choice of the number of execution units, their latency and throughput is a central microarchitectural design task. The size, latency, throughput and connectivity of memories within the system are also microarchitectural decisions.

System-level design decisions such as whether or not to include peripherals, such as memory controllers, can be considered part of the microarchitectural design process. This includes decisions on the performance-level and connectivity of these peripherals.

    
por 22.08.2018 / 05:42