Arquitetura física de sistemas computacionais
Antes de conhecermos os componentes que formam a arquitetura dos sistemas computacionais, vamos conhecer a história da informática até chegar ao que conhecemos hoje, para isso, assista ao vídeo disponível em: http://www.youtube.com/watch?v=F3qWg1JBPZg.
Histórico
Máquinas de calcular e computadores vêm sendo inventados e desenvolvidos ao longo da história da humanidade (WEBER, 2004), conforme pode ser visto no breve histórico a seguir:
Em 1642 ele desenvolve a primeira máquina calculadora mecânica, a pascaline, que era não programável e utilizada para a realização de somas e subtrações;
Ele projeta dois computadores que, embora não tenham sido concluídos, resultam em consideráveis avanços científicos na época. Em 1823 ele projeta o “Dispositivo Diferencial” para a resolução automática de tabelas matemáticas. Em 1834 ele projeta o “Dispositivo analítico” com intuito de que realizasse qualquer operação matemática automaticamente, sendo que nela já havia módulos de armazenamento (memória) e uma unidade operadora com a entrada e a saída de dados ocorrendo através de cartões perfurados e com a possibilidade de alterar a sequência dos comandos executados (programável). (WEBER, 2004).
Os principais avanços tecnológicos da computação podem ser vistos na tabela abaixo:
Data |
Inventor: mÁquina |
Capacidade |
InovaÇÕes tÉcnicas |
1642 |
Pascal: Calculadora |
adição, subtração |
transferência automática de vai-um: representação em complemento |
1671 |
Leibnitz: Calculadora |
adição, subtração, multiplicação, divisão |
mecanismo para multiplicação e divisão |
1827 |
Babbage: Difference Engine |
avaliação polinomial por diferenças finitas |
operação automática com diversos passos |
1834 |
Babbage: Analytical Engine |
computador de propósitos gerais |
mecanismo automático de controle de sequência (programa) |
1941 |
Zuse: Z3 |
computador de propósitos gerais |
primeiros computadores de propósitos gerais operacionais |
1944 |
Aiken: Harward Mark I |
computador de propósitos gerais |
primeiros computadores de propósitos gerais operacionais |
Figura A.7 - Avanços tecnológicos. Fonte: Weber, 2004
O primeiro computador eletrônico de propósitos gerais foi provavelmente o ENIAC (Eletronic Numerical Integrator and Calculator), construído entre 1943 e 1946 devido à necessidade de construir tabelas balísticas por interesse do sistema militar americano. Era uma máquina de 30 toneladas, contendo 18000 válvulas (WEBER, 2004).
Com o avanço da pesquisa e o consequente desenvolvimento tecnológico ao longo do tempo, a tecnologia e os estilos usados na construção e programação de computadores formaram várias gerações de computadores (WEBER, 2004), conforme tabela abaixo:
GeraÇÃo |
Tecnologias |
CaracterÍstica de hardware |
CaracterÍstica de software |
Exemplo |
1a |
válvulas, memórias de tubos catódicos |
aritmética de ponto fixo |
linguagem de máquina, linguagem assembler |
IAS, UNIVAC |
2a |
transistores, núcleos de ferrite, discos magnéticos |
ponto flutuante, registrador índice, processadores E/S |
linguagens de alto nível, bibliotecas de rotinas, processamento em lote |
IBM7094 |
3a |
circuitos integrados (SSI e MSI) |
microprogramação, pipeline, memória cache |
multiprogramação, multiprocessamento, sistema operacional, memória virtual |
IBM S/360; |
4a(1975-?) |
circuitos LSI, memórias semicondutoras |
|
|
Amdahl 470; |
Figura A.8 - Gerações de computadores.
Modelo de Von Neumann
Em 1946, von Neumann e sua equipe iniciaram o projeto de um novo computador de programa armazenado: o computador IAS. Ela usava uma memória principal de acesso randômico, o que permitia o acesso a uma palavra inteira em uma palavra inteira em uma única operação. Essa máquina acabou por influenciar os projetos subsequentes de outras máquinas (WEBER, 2004).
| ||||
| ||||
|
Ele apresentava sua estrutura da seguinte maneira:
Princípios básicos
Cada computador tem um conjunto de operações e convenções para determinar as posições dos dados com os quais a operação será realizada.
As ações a serem executadas em um computador são definidas por instruções, que são compostas por:
Um programa é formado por uma sequência pré-determinada de instruções. O programa e seus dados ficam armazenados na memória da máquina.
Para que um programa armazenado na memória seja processado, é necessário que suas instruções sejam interpretadas. Isso se deve ao fato de que os programas são formados por instruções de uma linguagem de alto nível, mais convenientes aos programadores (digamos que seja L1), ao contrário da máquina, que trabalha com uma linguagem baseada em instruções de baixo nível (digamos que seja L0). Apesar disso, os programas escritos em L1 têm de executar em um computador programado em L0.
| ||||
| ||||
|
A maioria dos computadores modernos apresenta dois ou mais níveis no processo de conversão entre a linguagem de programas e a do computador.
Níveis:
Componentes dos sistemas computacionais
Os circuitos eletrônicos digitais, que formam os elementos do computador, são construídos com uma pastilha de material semicondutor, chamado silício. Cada pastilha agrupa milhões de transistores.
Com o avanço tecnológico, tem sido possível a construção de pastilhas de silício cada vez menores e com maior densidade, isto é, maior concentração de transistores. O motivo é diminuição das trilhas que compõem a pastilha de silício. A distância entre elas geralmente é dada em micrômetro (μm) que equivale a 10-6 (0,000001 metros), chegando aos nanômetros (nm) que equivale a 10-9 (0,000000001 metros).
| ||||
| ||||
|
Componentes dos sistemas computacionais
Os elementos básicos dos computadores relacionam-se na seguinte estrutura:
Dentre os elementos que compõem um sistema computacional atual podemos destacar:
O processador entende uma quantidade finita de instruções que são listadas em uma tabela conhecida como conjunto de instruções. Cada processador pode ter um conjunto de instruções diferentes.
A transferência de informações entre a CPU e a memória principal ocorre através de palavras. A unidade palavra indica a unidade de transferência e processamento de um computador. As palavras são múltiplos de 1 byte, sendo que, se um microprocessador utilizar 32bits serão 4 bytes como tamanho da palavra.
Geralmente possui duas linhas:
Arquiteturas
Nos primórdios da informática existiam vários fabricantes diferentes e cada um desenvolvia todos os componentes de seus próprios computadores, que eram incompatíveis entre os diferentes fabricantes.
Com o desenvolvimento dos computadores pessoais, surge a plataforma PC, que se trata de uma arquitetura aberta a qual permite o uso de componentes de diversos fabricantes e de diferentes sistemas operacionais. Essa arquitetura é baseada em padrões definidos, a partir dos quais produtores podem desenvolver seus próprios componentes, existindo assim compatibilidade entre os componentes de diferentes fabricantes. Dessa forma, ela favorece o desenvolvimento a partir da concorrência entre fabricantes, criando uma demanda maior, permitindo preços mais baixos.
Também existe a arquitetura fechada, que se trata de uma arquitetura restrita pelo fato de os padrões, para desenvolvimento de componentes, serem proprietários, não permitindo seu uso por outros fabricantes. Com ela, os conflitos de hardware diminuem, fazendo com que o computador apresente melhor desempenho. Geralmente são encontrados em mainframes, servidores e supercomputadores, sendo que a assistência e as peças para substituição são encontradas somente com o próprio fabricante.