Computadores… como funcionam?

Original: https://www.fazfacil.com.br/manutencao/computadores-como-funcionam/ Escrito por

 

 

Mesmo que a tecnologia utilizada nos computadores digitais tenha mudado dramaticamente desde os primeiros computadores da década de 1940 , muitos ainda utilizam a arquitetura de von Neumann proposta no final da década de 1940 por John von Neumann.

A arquitetura de von Neumann descreve o computador com quatro seções principais:
A Unidade lógica e aritmética (ULA), a Unidade de controle, a memória, e os dispositivos de entrada e saída (E/S ou I/O).
Estas partes são interconectadas por fios o “barramento do computador.”

Memoria

Memória de um PC. Neste sistema, a memória é uma sequência de células numeradas, cada uma contendo uma pequena quantidade de informação.
A informação pode ser uma instrução para dizer ao computador o que fazer.
As células podem conter também dados que o computador precisa para realizar uma instrução.
Qualquer célula pode conter instrução ou dado, assim o que em algum momento armazenava dados pode armazenar instruções em outro momento.

Em geral, o conteúdo de uma célula de memória pode ser alterado a qualquer momento – A memória é um rascunho e não um bloco de pedra.

O tamanho de cada célula, e o número de células, varia de computador para computador, e as tecnologias utilizadas para implementar a memória variam bastante.
Atualmente o mais comum é a implementação em circuitos integrados.

A memória no ciberespaço (nas Nuvens)

As tecnologias de memória usam materiais e processos bastante variados. Na informática, elas têm evoluído sempre em direção de uma maior capacidade de armazenamento, maior miniaturização, maior rapidez de acesso e confiabilidade, enquanto seu custo cai constantemente.

Entretanto, a memória de um computador não se limita a sua memoria individual e física, ela se apresenta de maneira mais ampla, e sem lugar definido (desterritorializada). Temos possibilidades de armazenar em diversos lugares na rede, podemos estar em Luanda e acessar arquivos que foram armazenados em sites no Brasil.

É crescente a tendência para o armazenamento das informações na memória do espaço virtual, ou o chamado ciberespaço, através de discos virtuais, anexos de e-mails etc. Assim, textos, imagens, vídeos, arquivos de audio, entre tantos outros formatos, se tornam disponíveis para o acesso de qualquer computador conectado à Internet.

Processamento

A ULA, é o dispositivo que faz as operações elementares (adição, subtração e etc.), operações lógicas (AND, OR, NOT), e operações de comparação (por exemplo, comparar dois bytes e dizer se são iguais). É nesta unidade que o “trabalho real” é feito.

A unidade de controle armazena a posição de memória que contém a instrução corrente que o computador está executando, informando à ULA qual operação a executar, buscando a informação (da memória) que a ULA precisa para executá-la e transferindo o resultado de volta para o local apropriado da memória.
Feito isto, a unidade de controle vai para a próxima instrução (tipicamente localizada na próxima posição da memória (endereço de memória), a menos que a instrução seja uma instrução de desvio informando o computador que a próxima instrução está em outra posição).

Entrada e Saída

A E/S permite ao computador obter informações do mundo externo, e envia os resultados do trabalho para o mundo externo. Existe uma infinidade de tipos de dispositivos de E/S, dos familiares teclados, monitores e drive de disquetes, até outros menos usuais como webcams e placas de captura de video (dispositivos que capturam seqüências de vídeo ou frames de vídeo e os armazenam no computador).

O que todos os dispositivos de entrada têm em comum é que eles precisam codificar (converter) a informação de algum tipo em dados que podem ser processados pelo sistema digital do computador. Dispositivos de saída por outro lado, descodificam os dados em informação que é entendida pelo usuário do computador. Neste sentido, um sistema de computadores digital é um exemplo de um sistema de processamento de dados.

Podemos ter dispositivos que funcionam tanto para entrada como para saída de dados, o modem, o drive do CD ou disquete, as portas USB entre outros, são exemplos destes dispositivos.

Instruções

As instruções discutidas acima não são um rico conjunto de instruções como a linguagem humana.
O computador tem apenas um limitado número de instruções bem definidas.

Um exemplo típico de uma instrução existente na maioria dos computadores é “copie o conteúdo da posição de memória 123 para a posição de memória 456”, “adicione o conteúdo da posição de memória 510 ao conteúdo da posição 511 e coloque o resultado na posição 507” e “se o conteúdo da posição 012 é igual a 0, a próxima instrução está na posição 678”.

Instruções são representadas no computador como números – o código para “copiar” poderia ser 007, por exemplo. O conjunto particular de instruções que um computador possui é conhecido como a linguagem de máquina do computador.

Na prática, as pessoas não escrevem instruções diretamente na linguagem de máquina mas em uma linguagem de programação, que é posteriormente traduzida na linguagem de máquina através de programas especiais (interpretadores e compiladores).

Algumas linguagens de programação se aproximam bastante da linguagem de máquina, como o assembler (linguagem de baixo nível); por outro lado linguagens como o Prolog são baseadas em princípios abstratos e se distanciam bastante dos detalhes da operação da máquina (linguagens de alto nível).

Arquitetura do Computador

Nos computadores modernos, a ULA e a unidade de controle ficam em um único circuito integrado conhecido como CPU (Central Processing Unit). Tipicamente, a memória do computador é localizada em poucos circuitos integrados perto da CPU. A maior parte da massa de um computador é devida a sistemas auxiliares (por exemplo, a fonte de energia elétrica) ou dispositivos de E/S.

Alguns computadores maiores diferem do modelo acima em um aspecto principal – eles têm múltiplas CPUs trabalhando simultaneamente. Adicionalmente, poucos computadores, utilizados principalmente para pesquisa e computação científica, têm diferenças significativas do modelo acima, mas eles não tem grande aplicação comercial.

O funcionamento do computador segue basicamente as regras expostas. O computador busca as instruções e os dados da memória, as instruções são executadas, os resultados armazenados, e a próxima instrução é buscada.
Este processo se repete até o computador ser desligado.

Programas de Computador

Programas são simplesmente grandes listas de instruções para o computador executar, talvez com tabelas de dados. Muitos programas de computador contêm milhões de instruções, e muitas destas instruções são executadas repetidamente.

Um computador pessoal típico (no ano de 2003) podia executar cerca de 2-3 bilhões de instruções por segundo.
Os computadores não têm a sua extraordinária capacidade devido a um conjunto de instruções complexo.

Apesar de existirem diferenças de projeto com CPU com um maior número de instruções e mais complexas, os computadores executam milhões de instruções simples combinadas, escritas por bons “programadores”.

Estas instruções combinadas são escritas para realizar tarefas comuns como, por exemplo, desenhar um ponto na tela.
Tais instruções podem então ser utilizadas por outros programadores.

Hoje em dia, muitos computadores aparentam executar vários programas ao mesmo tempo. Isto é normalmente conhecido como multi-tarefa.

Na realidade, a CPU executa as instruções de um programa por um curto período de tempo e, em seguida, troca para um outro programa e executa algumas de suas instruções.
Isto cria a ilusão de vários programas sendo executados simultaneamente através do compartilhamento do tempo da CPU entre os programas.
Este compartilhamento de tempo e normalmente controlado pelo sistema operacional.

Sistema Operacional

Um computador sempre precisa de no mínimo um programa em execução por todo o tempo para operar. Tipicamente este programa é o sistema operacional (ou sistema operativo). O sistema operacional determina quais programas vão executar, quando, e que recursos (como memória e E/S) ele poderá utilizar.
Por exemplo, o sistema operacional que no momento continua sendo o mais utilisado pelo mundo é o windows.

O sistema operacional também fornece uma camada de abstração sobre o hardware, e dá acesso aos outros programas fornecendo serviços, como programas gerenciadores de dispositivos (“drivers”) que permitem aos programadores escreverem programas para diferentes máquinas sem a necessidade de conhecer especificidades de todos os dispositivos eletrônicos de cada uma delas.

Alguns exemplos de software de sistemas operacionais:

Windows   –   Linux   –   Unix   –   Mac Os   –   OS/2   –   BeOS