Unidade A - CONCEITOS BÁSICOS

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:

  1. Blaise Pascal
  2. 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;


  3. Charles Babbage
  4. 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
    (1946-1954)

    válvulas, memórias de tubos catódicos

    aritmética de ponto fixo

    linguagem de máquina, linguagem assembler

    IAS, UNIVAC

    2a
    (1955-1964)

    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
    CDC1604

    3a
     (1965-1974)

    circuitos integrados (SSI e MSI)

    microprogramação, pipeline, memória cache

    multiprogramação, multiprocessamento, sistema operacional, memória virtual

    IBM S/360;
    DEC PDP-8

    4a(1975-?)

    circuitos LSI, memórias semicondutoras

     

     

    Amdahl 470;
    Intel 8748

    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).

 

Blocos básicos:

  • uma unidade de processamento central, para execução de operações aritméticas e lógicas.
  • uma unidade de controle de programa, para determinar o sequenciamento das instruções a serem executadas e gerar os sinais de controle para as outras unidades. Esses sinais determinam as ações a serem executadas.
  • uma unidade de memória principal.
  • uma unidade de entrada e saída.

(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.

 

Os métodos para executar um programa L1 em L0 são os seguintes:

  • Tradução: consiste em substituir cada instrução escrita no programa por uma sequência equivalente de instruções em L0. O computador executa o novo programa L0 em vez do programa L1.
  • Interpretação: o programa em L0 considera os programas em L1 como dados de entrada. Ele os executa examinando cada instrução por vez, executando diretamente a sequência equivalente de instruções L0.

(TANENBAUM, 2006)

 

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).

 

Quanto menor a distância das trilhas da pastilha de silício, menos corrente é necessária para deslocar elétrons dentro das trilhas, influindo em:

  • Os elétrons chegam ao destino em menos tempo.
  • Maior frequência de operação (clock).
  • Menor consumo elétrico.
  • Menor produção de calor.
  • Tensão de alimentação (“voltagem”) menor.

(TORRES, 2001)

 

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:

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.