Introdução à Arquitetura de Computadores/Introdução: diferenças entre revisões
[revisão pendente] | [revisão pendente] |
m Foram revertidas as edições de 154.127.139.40 (disc) para a última revisão de Marcos Antônio Nunes de Moura Etiqueta: Reversão |
|||
Linha 1: | Linha 1: | ||
== O Que é |
== O Que é Arquitetura de Computadores ? == |
||
A ''' |
A '''Arquitetura de Computadores''' é o projeto conceitual e |
||
fundamental da estrutura operacional de um sistema computacional. Ela |
fundamental da estrutura operacional de um sistema computacional. Ela |
||
é o estudo dos requisitos necessários para que um computador funcione |
é o estudo dos requisitos necessários para que um computador funcione |
||
Linha 14: | Linha 14: | ||
* '''Desktop:''' Computadores de baixo-custo e com desempenho razoável para um usuário "comum". |
* '''Desktop:''' Computadores de baixo-custo e com desempenho razoável para um usuário "comum". |
||
* '''Servidor:''' Máquinas |
* '''Servidor:''' Máquinas projetadas para ter um desempenho considerado bom para uma aplicação muito grande e complexa ou então para um número muito grande de operações mais simples. Alguns servidores são simples computadores de Desktop melhorados. Entretanto, existem também aqueles que possuem arquiteturas muito mais sofisticadas que contam com dezenas ou até mesmo centenas de processadores. |
||
* '''Sistemas Embarcados:''' Possuem um uso dedicado à uma única tarefa e normalmente vem embutidos em outros aparelhos como celulares, microondas, elevadores ou veículos. Possuem uma Entrada/Saída muito simples. |
* '''Sistemas Embarcados:''' Possuem um uso dedicado à uma única tarefa e normalmente vem embutidos em outros aparelhos como celulares, microondas, elevadores ou veículos. Possuem uma Entrada/Saída muito simples. |
||
Os princípios estudados em |
Os princípios estudados em Arquitetura de Computadores são |
||
fundamentais para se |
fundamentais para se projetar máquinas realmente eficientes. |
||
== Computadores e as Várias Camadas de |
== Computadores e as Várias Camadas de Abstração == |
||
Computadores são aparelhos extremamente complexos. Para |
Computadores são aparelhos extremamente complexos. Para |
||
compreender o seu funcionamento, precisamos entender várias camadas de |
compreender o seu funcionamento, precisamos entender várias camadas de |
||
abstração diferente. |
|||
A camada mais baixa de todas é aquela formada por |
A camada mais baixa de todas é aquela formada por transistores, tensão |
||
e corrente |
e corrente elétrica. Quem costuma lidar com esta camada são físicos e |
||
engenheiros |
engenheiros eletricistas. Nesta camada estuda-se o funcionamento de |
||
transistores e circuitos sempre levando em conta as propriedades |
|||
físicas da corrente |
físicas da corrente elétrica. Abaixo vemos um desenho representando um transistor. |
||
[[Imagem:Transistor_npn.png|200px]] |
[[Imagem:Transistor_npn.png|200px]] |
||
Uma camada acima, estão as portas lógicas - todas elas compostas por |
Uma camada acima, estão as portas lógicas - todas elas compostas por |
||
transistores. Neste nível estuda-se como criar estruturas mais |
|||
complexas combinando-se as diversas portas como AND, OR e NOT para |
complexas combinando-se as diversas portas como AND, OR e NOT para |
||
criar estruturas como multiplexadores, flip-flops e somadores. Neste |
criar estruturas como multiplexadores, flip-flops e somadores. Neste |
||
Linha 43: | Linha 43: | ||
[[Imagem:Logic-gate-index.png|800px]] |
[[Imagem:Logic-gate-index.png|800px]] |
||
Subindo mais um nível de |
Subindo mais um nível de abstração, começamos a lidar com estruturas |
||
mais complexas como |
mais complexas como registradores e unidades lógicas aritméticas - |
||
todas compostas por muitos flip-flops, somadores e |
todas compostas por muitos flip-flops, somadores e |
||
multiplexadores. Vemos como todas essas estruturas realmente geram as |
multiplexadores. Vemos como todas essas estruturas realmente geram as |
||
instruções de cada máquina e como cada instrução funciona. É neste |
instruções de cada máquina e como cada instrução funciona. É neste |
||
nível que costuma trabalhar um ''' |
nível que costuma trabalhar um '''Arquiteto'''. Este será o nível que |
||
será abordado ao longo deste Wiki-livro. Abaixo mostramos a imagem de uma Unidade Lógica Aritmética - estrutura usada por computadores para realizar cálculos: |
será abordado ao longo deste Wiki-livro. Abaixo mostramos a imagem de uma Unidade Lógica Aritmética - estrutura usada por computadores para realizar cálculos: |
||
Edição atual desde as 18h49min de 21 de março de 2019
O Que é Arquitetura de Computadores ?[editar | editar código-fonte]
A Arquitetura de Computadores é o projeto conceitual e fundamental da estrutura operacional de um sistema computacional. Ela é o estudo dos requisitos necessários para que um computador funcione e de como organizar os diversos componentes para obter melhores desempenhos.
Como computador entendemos qualquer tipo de dispositivo capaz de receber uma entrada e que retorna uma saída após realizar uma série de operações com base nos valores recebidos e armazenados. Existem vários tipos de computadores. Uma das formas de classificá-los é por meio das seguintes categorias:
- Desktop: Computadores de baixo-custo e com desempenho razoável para um usuário "comum".
- Servidor: Máquinas projetadas para ter um desempenho considerado bom para uma aplicação muito grande e complexa ou então para um número muito grande de operações mais simples. Alguns servidores são simples computadores de Desktop melhorados. Entretanto, existem também aqueles que possuem arquiteturas muito mais sofisticadas que contam com dezenas ou até mesmo centenas de processadores.
- Sistemas Embarcados: Possuem um uso dedicado à uma única tarefa e normalmente vem embutidos em outros aparelhos como celulares, microondas, elevadores ou veículos. Possuem uma Entrada/Saída muito simples.
Os princípios estudados em Arquitetura de Computadores são fundamentais para se projetar máquinas realmente eficientes.
Computadores e as Várias Camadas de Abstração[editar | editar código-fonte]
Computadores são aparelhos extremamente complexos. Para compreender o seu funcionamento, precisamos entender várias camadas de abstração diferente.
A camada mais baixa de todas é aquela formada por transistores, tensão e corrente elétrica. Quem costuma lidar com esta camada são físicos e engenheiros eletricistas. Nesta camada estuda-se o funcionamento de transistores e circuitos sempre levando em conta as propriedades físicas da corrente elétrica. Abaixo vemos um desenho representando um transistor.
Uma camada acima, estão as portas lógicas - todas elas compostas por transistores. Neste nível estuda-se como criar estruturas mais complexas combinando-se as diversas portas como AND, OR e NOT para criar estruturas como multiplexadores, flip-flops e somadores. Neste estágio pode-se usar linguagens como o Verilog ou VHDL para programar circuitos. Abaixo vemos desenhos que representam várias portas lógicas:
Subindo mais um nível de abstração, começamos a lidar com estruturas mais complexas como registradores e unidades lógicas aritméticas - todas compostas por muitos flip-flops, somadores e multiplexadores. Vemos como todas essas estruturas realmente geram as instruções de cada máquina e como cada instrução funciona. É neste nível que costuma trabalhar um Arquiteto. Este será o nível que será abordado ao longo deste Wiki-livro. Abaixo mostramos a imagem de uma Unidade Lógica Aritmética - estrutura usada por computadores para realizar cálculos:
Um nível além, estuda-se como combinar as instruções da camada anterior para realizar comandos mais sofisticados como as operações da lingüagem C e como coordenar o funcionamento de um sistema operacional por meio de interrupções e outros recursos. A imagem abaixo é um diagrama que representa o Kernel de um Sistema Operacional sendo usado como um meio de comunicação entre o Software e o Hardware:
Acima desta camada, está o estudo do funcionamento de funções de bibliotecas, APIs e a programação de aplicativos e programas de computador simples.E finalmente, na camada de abstração mais superior está o funcionamento de um programa de computador do ponto de vista do usuário. Como utilizar um aplicativo já criado.