Pular para o conteúdo principal

Arquitetura de computadores

1.      Computador
Um computador é uma máquina composta de partes eletrônicas e eletromecânicas (hardware) capaz de coletar, manipular e fornecer os resultados de informações para um ou mais objetivos.
Para ser considerado um computador ele precisa ter processador, memória e dispositivos  de entrada e/ou saída, que podem ser utilizados de modo eficiente na solução de tipos de problemas os quais possuem uma grande complexidade ou grande volume de dados.
A arquitetura de computadores se refere ao comportamento de um sistema computacional visível para o programador, ou seja, aos aspectos relacionados com a execução lógica de um programa. A organização de computadores se refere às unidades estruturais e seus relacionamentos lógicos e eletrônicos.
Os sistemas digitais, em seu nível mais baixo (linguagem de máquina), representam as informações somente através de dígitos (obs.: 0 1). Num nível mais alto (linguagem que necessitam de interpretadores), estes dígitos codificados formam diferentes combinações capazes de representar qualquer tipo de informação.
As informações normalmente são representadas internamente por sinais binários que podem ser somente valores 0 ou 1, correspondendo a estar ligado ou desligado, ter energia ou não num circuito, onde 5 volts representam o dígito 1 e 0 volt representa o dígito 0.
Um computador é capaz de realizar basicamente 4 operações:
a.       Processamento de dados; (principal tarefa do computador)
b.      Armazenamento de dados;
c.       Movimentação de dados;
d.      Controle
A informação compreende os dados processados e organizados para atender um objetivo específico. Dessa forma:
Entrada: Dados                ->           Processamento                               ->           Saída: informação
O dado é a informação não tratada, como também o resultado do processamento. Para que este ocorra de forma adequada, é necessária uma unidade de controle que gerencie os recursos do computador e coordene o funcionamento de suas partes.
Também é necessário que o computador armazene os dados. Mesmo que computador esteja processando dados de forma dinâmica, de modo que os resultados sejam imediatos, o computador precisa armazenar temporariamente, pelo menos, alguma parte dos dados que estão sendo trabalhados. Esta é a capacidade da memória, armazenar as informações e fornecê-las quando necessário.
O computador precisa também ser capaz de movimentar os dados entre ele e o mundo exterior. Um sistema computacional contém dispositivos que são usados como origem ou destino dos dados, denominados periféricos. Quando os dados são recebidos ou enviados a esses periféricos o processo é conhecido como entrada/saída (E/S).
O computador é o responsável por processar os dados e transformá-los em informação, através da execução de instruções em linguagem de máquina (baixo nível) que o processador é capaz de executar.
Para que um problema possa ser resolvido pelo computador, é necessário criar um algoritmo computacional, composto por uma seqüência de passos ou ações que determinam a solução do problema e a respectiva codificação, usando uma linguagem de alto nível, que é mais fácil de ser escrita. Essa codificação transforma o algoritmo num programa (software).

2.       O modelo de Von Neumann

Os computadores digitais convencionais baseiam-se no modelo idealizado por Von Neumann que são baseados em cinco componentes principais:

a.       Unidade de entrada – provê instruções e dados ao sistema.
b.      Unidade de memória – armazena os dados do sistema.
c.       Unidade lógica e aritmética – processa os dados.
d.      Unidade de controle – controla a execução das instruções e o processamento
dos dados.
e.      Unidade de saída – apresenta os resultados dos dados processados.
Este modelo apresenta que após o programa ser armazenado na memória, em uma série de endereços consecutivos, o processador inicia a execução do programa. O primeiro endereço de um programa contém, necessariamente, uma instrução para o processador.
Para realizar o processamento, a unidade de controle busca a instrução que estiver armazenada no primeiro endereço de memória onde se encontra o programa. Em seguida, essa instrução é decodificada, ou seja, o processador define o código de operação daquela instrução em particular.
O passo seguinte é a execução da instrução, seguido de outro passo, o armazenamento do resultado, caso seja necessário. Nesse processo de busca, decodificação e execução, os dados e as instruções são armazenados dentro do processador em registradores. Este ciclo se repetirá até que a instrução a ser executada seja a de encerrar o programa.

3.       O modelo de barramento do sistema

Atualmente, o modelo de Von Neumann foi aperfeiçoado para outro tipo de barramento de sistema, formado por:

a.       CPU (Central Processing Unit) – é a Unidade Central de Processamento ou processador, composta pela unidade de controle, unidade lógica e aritmética e registradores.
b.      Memória – armazena os dados e as instruções.
c.       Entrada e Saída (E/S) – agrupa as unidades de entrada e saída numa única unidade.

Esses componentes se comunicam através de um barramento do sistema, composto por:

a.        Barramento de dados – transporta a informação, movendo dados entre os componentes do sistema.
b.      Barramento de endereços – identifica para onde a informação está sendo enviada.
c.        Barramento de controle – descreve a forma como a informação está sendo transmitida.

Os barramentos são um conjunto de fios agrupados por função. Um barramento de dados de 64 bits tem 64 fios individuais, onde cada fio transporta um bit da informação. Já um barramento de endereços de 32 bits, tem em cada fio o bit necessário para determinar o endereço onde vai ler ou escrever a informação e pode acessar qualquer endereço de 0 a 4 GB, pois 32 bits permitem acessar 4.294.967.296 endereços distintos. Já o barramento de controle possui informações que determinam se a operação será de leitura ou escrita e, se será na memória ou nos dispositivos de E/S.

4.      Níveis das máquinas

Um sistema computacional é um sistema complexo que pode ser visto sob diferentes perspectivas ou níveis, desde o nível mais alto (do usuário) até o nível mais baixo (dos transistores).
Um computador é projetado como uma série de níveis, e cada um deles é construído sobre seus antecessores. Nesse modelo, cada nível representa uma abstração do subseqüente. Ao utilizar um determinado nível não há a necessidade de saber como o nível abaixo funciona, apenas é necessário saber o que se pode fazer com as funcionalidades que o nível oferece.
Os computadores modernos são organizados normalmente em vários níveis.

a.       Nível do usuário ou programa aplicativo – nele o usuário interage com o computador usando programas como editores de texto, planilhas, jogos ou programas que acessam a internet.
b.       Nível da linguagem de alto nível – nesse nível o programador desenvolve os programas, aplicativos e sistemas através de uma linguagem de programação de alto nível como C, Java ou Pascal (Delphi).
c.        Nível da linguagem de montagem (de máquina) – esse é o nível onde as instruções são interpretadas e executadas pelo processador. Os programas desenvolvidos em linguagens de alto nível são traduzidos para uma linguagem de montagem ou Assembler, que apresenta um relacionamento direto com as instruções que o processador consegue executar.
d.       Nível de controle – aqui a unidade de controle, que está dentro do processador, efetua as devidas transferências de dados entre os registradores, memória e dispositivos de entrada e saída. Essa transferência é feita através de sinais de controle por um circuito lógico.

e.      Nível de unidades funcionais – nesse nível os registradores internos da CPU, a unidade lógica e aritmética e, a memória do computador é organizada sob a forma de unidades funcionais, de acordo com a função que desempenham para realizar as transferências de dados entre estas unidades funcionais.

Comentários

Postagens mais visitadas deste blog

Processadores CISC x RISC

Micro programação Máquinas antigas tinham poucas instruções, todas implementadas em hardware. Wilkes (1951) introduziu a microprogramação, que permite um conjunto grande de instruções de máquina (no nível convencional), usando um hardware simples capaz de executar apenas as chamadas microinstruções. Cada instrução de máquina no nível convencional é interpretada e pode dar origem à execução de muitas microinstruções. Exemplos de micro programação Os computadores que usam microprogramação são ditas CISC - Complex Instruction Set Computer. Exemplos: IBM 360, DEC VAX, Motorola 68030, família Intel como 8088, 80386, Pentium etc. Tanenbaum usa uma máquina fictícia chamada MAC para ilustrar o conceito de microprogramação. INTRODUÇÃO Um processador CISC (complex Instruction Set Computer, ou “computador com um conjunto complexo de instruções”), é capaz de executar várias centenas de instruções complexas diferentes, sendo extremamente versátil. Exemplos de processadores CISC sã...

Evolução dos computadores

     Depois que a Intel projetou o primeiro microprocessador, dispositivo que reúne num mesmo chip, todas as funções do processador central, tornou mais próxima a criação de computadores pessoais, ou microcomputador. Em 1981, a IBM lança o seu PC (Personal Computer), que se torna um sucesso comercial.  Personal Computer - 1981     A IBM passou a separar a criação de hardware do desenvolvimento de sistemas, iniciando o mercado da indústria de Software. Isso foi possível devido a utilização de linguagens de alto nível. O sistema operacional usado era o MS-DOS, desenvolvido pela Microsoft. Na época, Bill Gates , o dono da Microsoft, convence a IBM e as demais companhias a adotarem o sistema operacional de sua empresa. Uma ideia que beneficiou não só a Gates, mas a todos, pois isso permitia que um mesmo programa funcione em micros de diversos fabricantes. Posteriormente, os PCs passam a usar microprocessadores cada vez mais potentes: 286, 386SX, 386DX,...