Arquitetura de computadores
Na engenharia informática, a arquitetura computacional é o projeto conceitual e a estrutura operacional fundamental de um sistema informático. São os desenhos técnicos e a descrição funcional de todos os requisitos de projeto (especialmente velocidades e interconexões), é como projetar e implementar várias partes de um computador - concentrando-se em grande parte na forma pela qual a unidade central de processamento (CPU) opera internamente e como ela acessa endereços na memória.
Pode ser definida como a ciência e a arte de selecionar e interconectar componentes de hardware para criar computadores que atendam às metas funcionais, de desempenho e de custo.
A arquitetura de computadores inclui pelo menos três subcategorias principais:
- A arquitetura do conjunto de instruções, ou ISA, é o modelo abstrato de um sistema de computação que é visto por um programador de linguagem de máquina (ou linguagem de montagem), incluindo o conjunto de instruções, modos de endereço de memória, registros de processador e formatos de endereço e dados.
- A microarquitetura, também conhecida como Organização de computadores é um nível inferior, uma descrição detalhada do sistema que é suficiente para descrever completamente o funcionamento de todas as partes do sistema de computação, e como elas são interligadas e interoperacionais a fim de implementar o ISA. O tamanho do cache de um computador, por exemplo, é uma questão organizacional que geralmente não tem nada a ver com o ISA.
- Projeto de sistema que inclui todos os outros componentes de hardware dentro de um sistema de computação como, por exemplo:
· O sistema se interconecta, como ônibus e interruptores de computador.
· Controladores e hierarquias de memória.
· Mecanismos de CPU off-load, como acesso direto à memória.
· Questões como o multi-processamento.
Uma vez especificados tanto o ISA como a microarquitetura, o sistema de computação real precisa ser projetado em hardware. Este processo de projeto é chamado de implementação. A implementação é normalmente um processo de projeto de engenharia de hardware.
A implementação pode ser ainda dividida em três partes, mas não totalmente separadas:
- Implementação da lógica: Projeto de blocos definidos na microarquitetura, principalmente nos níveis de registro-transferência e portão.
- Implementação de circuitos: Projeto em nível de transistor de elementos básicos (portões, multiplexadores, flip-flops, etc.) bem como de alguns blocos maiores (ALUs, caches, etc.) que podem ser implementados neste nível, ou mesmo em um nível físico inferior, por razões de desempenho.
- Implementação física: Os circuitos físicos são puxados para fora, os diferentes componentes do circuito são colocados em uma planta de chips ou em uma placa e os fios que os conectam são roteados.
Para as CPUs, todo o processo de implementação é freqüentemente chamado de projeto de CPU; também pode ser uma família de projetos de CPU relacionados, tais como RISC e CISC.
Mais sub-definições
Alguns praticantes de arquitetura de computadores utilizam subcategorias mais finas:
- Macroarquitetura: Camadas arquitetônicas que são mais abstratas do que a microarquitetura, por exemplo, ISA.
- Arquitetura do Conjunto de Instrução (ISA): Como definido acima.
- UISA (Microcode Instruction Set Architecture): Uma família de máquinas com diferentes microarquiteturas a nível de hardware pode compartilhar uma arquitetura de microcódigo comum e, portanto, chamada UISA.
- Montagem ISA: Um assembler inteligente pode converter uma linguagem de montagem abstrata comum a um grupo de CPUs em uma linguagem de máquina ligeiramente diferente para diferentes implementações de CPU.
- Programador Macroarquitetura Visível: Ferramentas de linguagem de nível superior, tais como compiladores, podem definir uma interface definida para programadores que as utilizam, abstraindo diferenças entre ISA, UISA e microarquiteturas subjacentes; por exemplo, os padrões C, C++, ou Java definem três interfaces de programação definidas diferentes.
- Arquitetura de pinos: O conjunto de funções que se espera que um microprocessador forneça, do ponto de vista de uma plataforma de hardware. Por exemplo, sinais que se espera que o processador emita durante a execução de uma instrução.
Exemplos de arquiteturas de computadores
- O x86, fabricado pela Intel e AMD.
- A SPARC, feita pela Sun Microsystems e outros.
- O PowerPC, fabricado pela Apple, IBM e Motorola.
Páginas relacionadas
- Hardware de computador
- Arquitetura de software
- Microarquitetura
Perguntas e Respostas
P: O que é arquitetura informática?
R: Arquitetura informática é o desenho conceitual e a estrutura operacional fundamental de um sistema informático. Ela envolve os desenhos técnicos e a descrição funcional de todos os requisitos de projeto, tais como velocidades e interconexões, a fim de criar computadores que atendam aos objetivos de desempenho, custo e funcionalidade.
P: Quais são as três principais subcategorias da arquitetura de computadores?
R: As três subcategorias principais da arquitetura de computadores são: Instruction Set Architecture (ISA), Microarchitecture (também conhecida como Computer Organization), e System Design.
P: O que o ISA envolve?
R: A arquitetura do Conjunto de Instrução (ISA) envolve um modelo abstrato de um sistema de computação que é visto por um programador de linguagem de máquina ou de linguagem de montagem. Isso inclui o conjunto de instruções, modos de endereço de memória, registros de processador, e formatos de endereço e dados.
P: O que a microarquitetura envolve?
R: Microarquitetura envolve uma descrição detalhada de nível inferior do sistema que é suficiente para descrever completamente o funcionamento de todas as partes do sistema de computação, bem como a forma como elas estão interconectadas e interagem entre si para implementar o ISA.
P: O que o projeto do sistema envolve?
R: O projeto do sistema envolve todos os outros componentes de hardware dentro de um sistema de computação, tais como: barramentos e interruptores de computador; controladores de memória; mecanismos de CPU off-load como acesso direto à memória; questões de multiprocessamento, etc.
P: Como a implementação é decomposta em três partes?
R: A implementação pode ser dividida em Implementação lógica que inclui o desenho de blocos definidos em microarquitetura em níveis de transferência de registro ou de portão; Implementação de circuitos que inclui o desenho em nível de transistor para elementos básicos ou blocos maiores; Implementação física que inclui o desenho de circuitos físicos, a colocação de diferentes componentes de circuito em uma placa ou placa de circuito, o roteamento de fios conectando-os entre si.