Microarquitetura: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
m Melhoria na concordância.
m +correções semiautomáticas (v0.50/3.1.38) +correções semiautomáticas (v0.50/3.1.38)
Linha 1:
{{Sem-fontes|ciência=sim|data=fevereiro de 2015}}
{{Wikificação|ciência=sim|data=fevereiro de 2015}}
{{má introdução}}
 
'''Microarquitetura''' ou '''''μarch''''' é a forma como um determinado [[conjunto de instruções]] (ISA) é implementado em um [[Unidade central de processamento|processador]], podendo ser implementado com microarquiteturas diferentes. As implementações podem variar devido a diferentes objetivos de um dado projeto ou a mudanças na tecnologia. A microarquitetura inclui os elementos constitutivos do processador e como estes interligam e interoperam para implementar o ISA. A ISA é aproximadamente o mesmo que o modelo de programação de um processador como visto por um programador de linguagem [[Assembly]] ou escritor de compilador. O ISA inclui o modelo de execução, [[Registrador (informática)|registradores do processador]], [[Endereço (memória)|endereço]] e formatos de dados, entre outras coisas.
 
Existem diferenças entre [[Arquitetura de computadores|arquitetura]] e microarquitetura de processadores. A arquitetura é um conjunto de registros, instruções e estruturas de dados, que são públicos para que possam ser utilizados pelos programadores. É através da arquitetura de um processador, que é possível definir se um conjunto de instruções é ou não compatível com a arquitetura. Por exemplo, se um conjunto processadores, utilizam a mesma arquitetura, isso significa que se em um desses processadores um certo conjunto de instruções pode ser executado, nos outros processadores com mesma arquitetura esse conjunto de instruções também poderá ser executado. A microarquitetura de um processador é o modo com que se usa a arquitetura para melhorar a velocidade e desempenho de processamento. É por isso que dentro de uma família de processadores, a microarquitetura pode ser atualizada frequentemente, pra melhorar o processamento, mas mesmo assim pode manter a arquitetura do processador.
 
Uma Microarquitetura é dividida em uma Parte Operativa e uma Parte de Controle. Parte Operativa (ou Caminho de Dados) - Constituída de todos os componentes responsáveis pela execução das operações elementares sobre os dados(transformações nos dados). Parte de Controle - Constituída de circuitos sequenciais e/ou memória de programa que gera o controle ciclo-a-ciclo da parte operativa.
 
A microarquitetura de uma máquina é geralmente representada com diagramas que descrevem as interligações dos vários elementos microarquiteturais da máquina, que pode ser tudo, desde portões individuais e registros, para completar a unidades de lógica e aritmética (ULA) e ainda maiores elementos. Estes diagramas geralmente separam o caminho de dados (onde os dados são colocados) e o caminho de controlo (que pode ser dito para dirigir os dados). Cada elemento da microarquitetura por sua vez é representado por um esquema que descreve as interconexões de portas lógicas usadas para implementá-lo. Cada porta lógica por sua vez é representado por um diagrama de circuito que descreve as conexões dos transistores usados para implementá-lo em alguma família lógica particular.
Linha 16 ⟶ 15:
Unidades de execução também são essenciais para a microarquitetura. Estas unidades executam as operações ou cálculos do processador. A escolha do número de unidades de execução, a sua latência e taxa de transferência é uma tarefa de projeto da microarquitetura central. O tamanho, a latência, o throughput ou periféricos como controladores de memoria e conectividade de memórias dentro do sistema também são decisões concepção microarquiteturais. Isso inclui decisões sobre o nível de desempenho e conectividade desses periféricos.
 
Como as decisões de design microarquitetura afetam diretamente o que se passa em um sistema o projeto da microarquitetura presta atenção em questões como:
 
Área Chip / custo
Linha 55 ⟶ 54:
Pipelines melhoraram o desempenho, permitindo uma série de tarefas ao mesmo tempo. No mesmo exemplo básico, o processador iria começar a decodificar (passo 1) uma nova instrução enquanto o último estava à espera de resultados. Isso permitiria que até quatro tarefas para estar "trabalhando" de uma só vez, fazendo com que o processador trabalhe quatro vezes mais rápido. Embora qualquer uma instrução leva o mesmo tempo para concluir (há ainda quatro etapas) a CPU como um executa mais em menos tempo.
 
A maioria dos processadores modernos são agora pipeline, e CPUs microcodificadas sem pipeline são visto apenas na maioria dos processadores embarcados com restrições de área. Máquinas CISC, como VAX 8800, Pentium 4 e Athlon, são implementadas com tanto microcódigo e pipeline. Melhorias no pipeline e cache são os dois grandes avanços microarquiteturais que permitiram o desempenho do processador para manter o ritmo com a tecnologia de circuito em que se baseiam.
apenas na maioria dos processadores embarcados com restrições de área. Máquinas CISC, como VAX 8800, Pentium 4 e Athlon, são implementadas com tanto microcódigo e pipeline. Melhorias no pipeline e cache são os dois grandes avanços
microarquiteturais que permitiram o desempenho do processador para manter o
ritmo com a tecnologia de circuito em que se baseiam.
 
== Cache ==
Linha 96 ⟶ 92:
Uma outra melhoria é multithreading simultâneo. Esta técnica permite que CPUs superescalares para executar instruções de diferentes programas / threads simultaneamente no mesmo ciclo.
 
{{Portal3|Tecnologias de informação}}
{{Referências}}
 
[[Categoria:Arquitetura de computadores]]