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 138.122.140.38 (disc) para a última revisão de Marcos Antônio Nunes de Moura Etiqueta: Reversão |
|||
Linha 1: | Linha 1: | ||
== O Que é |
== O Que é Arquitectura de Computadores ? == |
||
A ''' |
A '''Arquitectura de Computadores''' é o projecto 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 projectadas 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 arquitecturas 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 Arquitectura de Computadores são |
||
fundamentais para se |
fundamentais para se projectar máquinas realmente eficientes. |
||
== Computadores e as Várias Camadas de |
== Computadores e as Várias Camadas de Abstracçã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 |
||
abstracção diferente. |
|||
A camada mais baixa de todas é aquela formada por |
A camada mais baixa de todas é aquela formada por transístores, tensão |
||
e corrente |
e corrente eléctrica. Quem costuma lidar com esta camada são físicos e |
||
engenheiros |
engenheiros electricistas. Nesta camada estuda-se o funcionamento de |
||
transístores e circuitos sempre levando em conta as propriedades |
|||
físicas da corrente |
físicas da corrente eléctrica. Abaixo vemos um desenho representando um transístor. |
||
[[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 |
||
transístores. 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 abstracção, começamos a lidar com estruturas |
||
mais complexas como |
mais complexas como registadores 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 '''Arquitecto'''. 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: |
||
Revisão das 10h01min de 20 de março de 2019
O Que é Arquitectura de Computadores ?
A Arquitectura de Computadores é o projecto 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 projectadas 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 arquitecturas 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 Arquitectura de Computadores são fundamentais para se projectar máquinas realmente eficientes.
Computadores e as Várias Camadas de Abstracção
Computadores são aparelhos extremamente complexos. Para compreender o seu funcionamento, precisamos entender várias camadas de abstracção diferente.
A camada mais baixa de todas é aquela formada por transístores, tensão e corrente eléctrica. Quem costuma lidar com esta camada são físicos e engenheiros electricistas. Nesta camada estuda-se o funcionamento de transístores e circuitos sempre levando em conta as propriedades físicas da corrente eléctrica. Abaixo vemos um desenho representando um transístor.
Uma camada acima, estão as portas lógicas - todas elas compostas por transístores. 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 abstracção, começamos a lidar com estruturas mais complexas como registadores 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 Arquitecto. 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.