Arquitetura e Organização de
Computadores
Aula 01 – Tecnologias e
Perspectiva Histórica
Edgar Noda
Pré-história
Em 1642, Blaise Pascal (1633-1662) construiu uma
máquina de calcular mecânica que podia somar e subtrair.
Em 1672, Gottfried Leibniz (1646-1716) construiu uma
máquina mecânica que podia também multiplicar e dividir.
Charles Babbage (1792-1871) desenvolveu uma máquina
de uso geral com os seguintes componentes: o
armazenamento, o engenho, a seção de entrada e a seção de
saída usando cartões perfurados
A evolução da computação no início dos anos 40 teve
como motivação a necessidade de serem realizados
cálculos para o uso militar de uma forma rápida e eficiente.
O ENIAC (Electronic Numerical Integrator and Computer)
Em 1943 teve início o trabalho de construção do
ENIAC, um equipamento com a capacidade de realizar até 5000 adições por segundo, sendo finalizado em 1946.
No Eniac, os números eram representados na forma
decimal e cada número era armazenados com a utilização de 10 válvulas.
Primeira Geração
A Máquina de von Neumann
Memória Principal Unidade Lógica e Aritmética Unidade de Controle Equipamentos de entrada e saída
O programa passa a ser armazenado na memória do
computador juntamente com os dados.
As tarefas de controle e de operações aritméticas
são separadas.
Cria a base da estrutura dos computadores
modernos usados até hoje.
A proposta foi implementada com a construção do
computador IAS no Instituto de Princeton em 1952.
A Máquina de von Neumann
O IAS tinha 21 instruções (representadas pelos opcodes)
para realizar as seguintes operações:
transferência de dados;
re-direcionamento de seqüências de instruções;
implementação de comandos condicionais;
aritmética;
modificação de endereços.
Em 1947, a empresa Eckert-Mauchly (mais tarde Unisys)
iniciaram com o UNIVAC I (Universal Automatic Computer) a manufatura de computadores comerciais.
Com o lançamento do UNIVAC II inicia-se a característica
de que uma versão de máquina seja compatível com as anteriores.
Em 1953, a IBM apresenta o seu primeiro computador com
programa eletronicamente armazenado, o 701, para uso científico.
Em 1955 é apresentado o 702 para uso comercial.
Computadores comerciais
A Segunda Geração Os transistores
Os transistores foram inventados pela Bell Labs em 1947. São dispositivos de estado sólido feitos de silício, mais
baratos, menores e com menor dissipação de calor que as válvulas.
Fatos da segunda geração:
aparecimento de um software para controle do sistema; uso de linguagens de alto nível;
aparecimento da Digital Equipment Corporation (DEC)
em 1957 com o lançamento do PDP-1 (Programmed Data Processors) que inicia o fenômeno do mini-computador.
Evolução dos computadores IBM da série 700 de 1952 até a série 7000 em 1964:
tamanho da memória: de 2K (2.210=2.1024) palavras de 36
bits à 32 K palavras;
tempo de acesso de memória: de 30 micro segundos à 1.4
micro segundos;
número de instruções: de 24 para 185;
A Segunda Geração Os transistores
Módulo de I/O com processador próprio
O processo de I/O é iniciado pela CPU que passa o comando para o Canal de
Dados que executa a tarefa e retorna o comando para a CPU
Controla o acesso da CPU e dos Canais de dados a memória
Cada transistor usado na segunda geração era um
dispositivo individual que deveria ser soldado na placa de circuito impresso. Assim, conforme o número de circuitos aumentaram, o trabalho de montagem se tornou cada vez mais difícil.
A invenção dos circuitos integrados em 1958 iniciam a era
da microeletrônica.
A Terceira Geração Os Circuitos Integrados
Os gates e as células de memória são implementados por transistores e outros componentes de estado sólido. A microeletrônica constrói vários destes dispositivos de uma forma compacta.
Lei de Moore (co-fundador da Intel), obtida por observação em
1965:
o número de transistores que podem ser colocados em um único chip tende a dobrar a cada ano
Após 1970 a taxa de crescimento diminuiu para uma
multiplicação por 2 a cada 18 meses.
Principais conseqüências da Lei de Moore:
como o custo por chip permanece praticamente o mesmo, o custo do hardware tem caído;
como os elementos básicos estão cada vez mais próximos, a velocidade de operação tem aumentado;
os computadores se tornam cada vez menores;
A Terceira Geração Os Circuitos Integrados
Em 1964 a IBM lança uma nova família de produtos, o
System/360, que era incompatível com as versões anteriores (série 7000).
Com esta nova série a IBM passa a dominar o mercado. O System/360 foi a primeira família planejada de
computadores do mercado com diferentes desempenhos e preços, sendo que os diversos modelos eram compatíveis entre si, de cima para baixo.
A Terceira Geração Os Circuitos Integrados
As principais características de uma família são:
Conjunto de instruções iguais ou similares: possibilita que
um programa que seja executado em uma máquina possa ser executada em outra da mesma família;
Sistema operacional idêntico ou similar; Aumento de velocidade de processamento; Aumento de portas de I/O;
Aumento de memória; Aumento do Custo.
No mesmo ano do lançamento do System/360 (1964) a DEC
lança o PDP-8, um equipamento pequeno o bastante para ser colocado sobre uma bancada ou colocado no interior de outros equipamentos.
Enquanto o System/360 custava centenas de milhares de dólares,
o PDP-8 era vendido a cerca de U$ 16.000.
O PDP-8 coloca a DEC como segunda maior indústria de
computadores atrás apenas da IBM
A Terceira Geração Os Circuitos Integrados
Em contraste com a arquitetura de controle de fluxo central da
IBM, os modelos mais avançados do PDP-8 usavam uma
estrutura de barramento chama- da de Omnibus que consistiam de 96 caminhos de sinais separados, usados para transportar sinais de controle, endereços e dados.
A Terceira Geração Os Circuitos Integrados
Característica:
aumento da densidade de componentes por chip.
Tecnologia:
LSI (Large-Scale Integration) - até 10.000 componentes
podem ser colocados em um único circuito integrado (após 1972);
VLSI (Very Large-Scale Integration) - mais de 10.000
componentes podem ser colocados em um único circuito integrado (após 1978);
Em 1974 o preço por bit armazenado em dispositivos de
memória baseados em semicondutores caí abaixo dos baseados em anéis de materiais ferromagnéticos;
Em 1971, a Intel lança o primeiro chip que contêm todos os
componentes de uma CPU, o 4004, iniciando a era dos microprocessadores.
Em 1972 a Intel lança o primeiro microprocessador de 8 bits,
o Intel 8008;
Em 1974 é lançado o Intel 8080, o primeiro
microprocessador de uso geral, desenvolvido para ser usado em computadores de uso geral;
Fatos históricos
Evolução dos microprocessadores Intel:
velocidade de clock: de 108 KHZ (4004 de 1971) à 3600
MHz (Pentium IV).
Número de transistores: de 2.300 (4004 de 1971) à
178.000.000
O
aumento do desempenho dos computadores éalimentado pelo desenvolvimento de novas técnicas de adensamento de componentes nos chips de forma a
diminuir as distâncias entre eles e criação de técnicas para manter o processador ocupado, diminuindo o tempo de acesso aos dados.
Por quê aumentar o desempenho dos computadores? Aplicações: Banco de Dados; Processamento de sinais; Processamento de imagens; Reconhecimento de voz; Videoconferência; Multimídia; Previsão do tempo.
Desenvolvimento da Tecnologia
Técnicas para manter o processador ocupado:
Branch Prediction: o processador coloca em buffers de memória
pedaços do código que poderão ser usados em seguida;
Data Flow Analysis: o processador analisa quais instruções são
dependentes dos resultados de outras instruções para agendar a seqüência de processamento;
Speculative Execution: O processador mantêm nos buffers
temporários as instruções ou dados com grande probabilidade de serem usadas.
Enquanto o desempenhos dos processadores e a capacidade de
armazenamento aumentaram, a interface entre o processador e a memória principal não têm acompanhado esta tendência com a mesma taxa.
Com o aumento da densidade, o número de unidades de memória por sistema
tem decaído, diminuindo a possibilidade de se realizar a transferência paralela de dados.
Formas de atacar este problema:
fazer as memórias mais “largas” ao invés de mais “fundas”, criando mais caminhos de transferência de dados ;
incluir sistemas de cache nos chips de memórias;
reduzir a freqüência de aceso a memória utilizando caches nos processadores;
aumentar a largura de banda dos barramentos e criar sistemas hierárquicos de transferência de dados;