ARQUITETURA DE
COMPUTADORES
Introdução
Prof Daves Martins
Msc Computação de Alto Desempenho
Email: daves.martins@ifsudestemg.edu.br
Avaliação
• Duas provas: P1 e P2. • Vários trabalhos: T1 • Lista de Exercícios: (L1)
Considerações Importantes
• Disciplina 72h/a
• Compreender o funcionamento básico
de um computador;
• Entender o funcionamento do hardware
de um sistema computacional;
• Compreender os principais conceitos de
lógica digital;
• Descrever as funções e analisar o
funcionamento dos componentes
básicos de sistemas computacionais.
• Entender o funcionamento dos vários
módulos que compõem um sistema
computacional;
• Desenvolver uma visão crítica sobre os
requisitos de desempenho associados a
um sistema computacional;
• Conhecer o impacto de diferentes
mecanismos e estruturas no
desempenho de um sistema
computacional em diferentes aplicações.
• Processamento de dados;
• Sistemas de computação;
• Sistemas numéricos;
• Aritmética binária
• Memórias;
• Unidade central de processamento;
• E/S;
• Organização da memória;
• Modos de endereçamento;
• Conjunto de instruções;
• Mecanismos de interrupção e exceção
• Barramento;
• Comunicações;
• Interfaces e periféricos;
• Arquiteturas RISC e CISC;
• Multiprocessadores;
• Multicomputadores;
• Pipeline;
• Processadores superscalares e
superpipeline
• Arquitetura paralela;
Ementa - 3/3Conceitos básicos
• No dicionário encontramos: " Computador, s.m. -aquele que faz cômputos ou que calcula;
máquina à base de circuitos eletrônicos que
efetua grandes operações e cálculos gerais, de maneira ultra rápida. ";
• A disciplina de “Organização de Computadores” trata da estrutura interna que não é visível para o programador (ex. processador, tamanho da
Conceitos básicos
• Pense nisso: mais de 90% dos sistemas
computacionais são diferentes do modelo que entendemos por computador: gabinete, teclado, monitor.
Evolução dos Computadores
Veja os vídeos: http://www.youtube.com/watch?v=F3qWg1JBPZg http://www.youtube.com/watch?v=Ixgh3AhiL3E&feature=related Recomendo a leitura: http://www.museudocomputador.com.br/4000ac_800dc.php Vídeo aula http://edad.rnp.br/rioflashclient.php?xmlfile=/ufjf/licenciatura_com putacao/eaddcc007/unidade1/unidade1.xml• Geração Zero
– Computadores Mecânicos (-1642-1945)• A Primeira Geração
– Válvulas (1945-1955)• A Segunda Geração
– Transistores (1955-1965)• A Terceira Geração
– Circuitos Integrados (1965-1980)• A Quarta Geração
– Integração de Circuitos em Escala Muito Alta (1980-?)
Evolução dos Computadores
Segunda Zero
Computadores Mecânicos
(1642-1945)
• 1642 - Primeiro instrumento moderno de
calcular – uma somadora (Máquina de
Pascal) – construído por Blaise Pascal (físico,
matemático e filósofo francês, 1623-1662).
Dispositivo inteiramente mecânico, usava várias
engrenagens, acionado por uma alavanca.
Pascal construiu a máquina com 19 anos.
• 1671 - Gottfried Wilhelm Leibnitz (filósofo e
um dos formuladores do cálculo integral,
1646-1716) projetou a primeira máquina de
multiplicação e divisão, além de soma e
subtração.
Equivalente às calculadoras de bolso que efetuam as quatro operações.• 1822 - Charles Babbage (matemático,
1792-1871) inventa a Máquina Diferencial,
utilizando os cartões de Jacquard. Funções
trigonométricas e logaritmos eram
calculados na máquina.
Outra invenção - Velocímetro.
Máquina Diferencial – cont.
• Idealizada para construir tabelas de
números para navegação naval.
• Construída para executar um único
algoritmo – método das diferenças finitas
usando polinômios.
• Método para disponibilizar informações na
saída – resultados perfurados em um prato
de cobre.
Máquina Diferencial – cont.
• 1834 – Babbage inventou a precursora dos computadores digitais de hoje, a Máquina Analítica.
• Usava a base 10, máquina “mecânica”, trabalhava a vapor.
• Programação sequencial de operações, um procedimento que hoje chamamos de sistema operacional.
• Por seu trabalho na máquina analítica, Babbage é considerado um dos pioneiros dos
computadores.
As máquinas de Babbage nunca foram construídas…
• Máquina Analítica de Babbage - Anteviu os
passos que até hoje são a base do funcionamento de um computador, possuindo 4 componentes:
– Unidade de entrada - alimentação de dados, através de cartões perfurados;
– Unidade de saída – saída impressa e perfurada em cartões;
– Unidade de memória – 1000 palavras de 50 dígitos DECIMAIS, capaz de armazenar
variáveis e resultados.
– Unidade de computação – aceitava operandos da memória, operações – soma, subtração, multiplicação e divisão (somava dois desses números em 1 s) e enviava o resultado para a memória.
Termos originais dos 4 componentes: store, mill, input section e output section.
• Máquina Analítica - programável em
linguagem de montagem simples ⇒ software.
• Ada Byron King (Matemática), compreendeu o funcionamento da Máquina Analítica e
escreveu os melhores relatos sobre o processo.
• Companheira de Babbage, iniciou o ambicioso projeto de construção da Máquina Analítica. • Criou programas para a máquina - primeira
programadora de computador. É uma das poucas mulheres a figurar na história do processamento de dados.
• A máquina de Babbage não foi construída:
– a tecnologia da época era incapaz de fornecer a precisão necessária.
– Babbage não dispunha de recursos para financiá-la, nem encontrou investidores dispostos a ir além de algumas doações.
• Seus projetos e idéias foram a base para outros projetos anos adiante.
Em 1991, o Science Museum de Londres desenvolveu o Engenho Diferencial utilizando os planos de Babbage e funcionou perfeitamente.
• Concepção dos fundamentos lógicos para a criação de programas: lógica
matemática/álgebra booleana (matemático George Boole, Inglaterra, 1854)
• Estabelecimento de uma forma de
armazenamento e processamento de dados utilizando relações binárias: As leis do
pensamento (matemático George Boole, Inglaterra, 1854)
Década de 1930
• Tentativas de substituir as partes mecânicas
dos computadores por partes elétricas.
• O uso de relés era uma forma de fazer essas
substituições, mas o alto custo, tamanho físico
e baixo desempenho eram as desvantagens
desses tipos de máquinas.
• Década de 1930 – Konrad Zuse (alemão)
construiu uma série de máquinas de calcular
automáticas usando relés eletromecânicos.
Outros projetistas de máquinas de
calcular:
• John Atanasoff e George Stibbitz (Estados
Unidos)
• Máquina de John Atanasoff
– Usava aritmética binária e tinha capacitores para armazenar informação (necessidade de recarga periódica – mesmo princípio da memória
DRAM).
– Nunca funcionou efetivamente.
• Máquina de George Stibbitz
– Mais rudimentar e funcionou plenamente. Evolução dos Computadores
• Características do Mark I
– 18 metros de comprimento – 2 metros de largura
– Peso - 70 toneladas.
– 7 milhões de peças móveis – Fiação alcançava 800 Km.
– Tinha 72 palavras de 23 dígitos decimais – Tempo de execução de uma instrução – 6
segundos.
♦ 1944 - Mark I (Howard Aiken) - primeiro computador eletromecânico construído.
Construção do Mark II (Sucessor do Mark I) – Computadores a relé já estavam obsoletos.
Primeira Geração
Válvulas (1945-1955)
• O tubo de vidro na ilustração possui um terminal positivo e um negativo (o cátodo e o ânodo) separados por uma grade de fios. • Os elétrons do cátodo são atraídos pelo ânodo e fazem uma
corrente de elétrons passar através da válvula.
• O fluxo natural dos elétrons negativos para o terminal positivo é intensificado de duas maneiras: o cátodo se aquece até a
incandescência e sua superfície é tratada com um produto químico especial.
• A grade de controle está situada entre o cátodo e o ânodo e
geralmente não interfere no movimento dos elétrons. Mas, quando uma carga negativa é aplicada à grade, os elétrons são repelidos e não atingem o ânodo.
• A força repulsora da grade supera a força de atração do ânodo e o fluxo dos elétrons cessa. A corrente é interrompida e o interruptor se desliga.
Computadores Eletrônicos
• Principal estímulo – Segunda Guerra
Mundial.
Enigma
“O orgulho alemão”
1932 - Marian Rejewski Codebreaker polonês desvenda o segredo dos rotores.
1939 – Ingleses aprendem a decodificar as mensagens. Problema – dificuldade de
decodificação.
Solução - COLOSSUS Evolução dos Computadores
• Colossus (Alan Turing, operacional em 1943)
Colossus
• Considerado o primeiro computador eletrônico digital construído no mundo.
• Características:
– Desenvolvido com a tecnologia de válvulas. – Capaz de processar cerca de 5 mil caracteres
por segundo.
– Capaz de quebrar o código da segunda geração de máquinas ENIGMA.
– No final da guerra, dez Colossus em operação constante permitiam que os ingleses soubessem melhor que o comando alemão onde se
encontravam seus submarinos. Evolução dos Computadores
• Outra consequência da guerra
– Cientistas americanos trabalham no
desenvolvimento de máquinas de computação. – Objetivo – calcular tabelas de direção de tiro
para auxiliar na pontaria da artilharia americana. – Solução – ENIAC (Eletronic Numerical
Integrator And Computer)
• ENIAC
Características do ENIAC (A última grande calculadora)
• 3 anos para ser construído • Possuía: – 18.000 válvulas (aproximadamente) – 70.000 resistências, – 10.000 capacitores, – 1.500 relés – 6.000 comutadores manuais. – 500.000 conexões de solda – 30 toneladas de peso – 5,5 m de altura – 25 m de comprimento – 150 m² de área
Características do ENIAC (A última grande calculadora)
• Acionamento: motor equivalente a dois potentes motores de carros de quatro cilindros, enquanto um enorme ventilador refrigerava o calor produzido pelas válvulas.
• Consumo: 150 kW ao produzir o calor equivalente a 50 aquecedores domésticos.
• Arquitetura do ENIAC: composta de 20 registradores (cada um capaz de armazenar um número decimal de 10 dígitos)
• Programação: através de fios e pinos (como painel telefônico, usando 6.000 chaves)
• Executava 5000 adições/subtrações ou 300 multiplicações por segundo
• Para programar demorava 1 ou 2 dias
• Grande limitação: capacidade de armazenamento.
• Conclusão do ENIAC (1946) – inútil para os propósitos originais.
• Sucessoras: EDSAC (1949), JOHNIAC, ILLIAC, MANIAC, WEIZAC.
• Outra invenção do construtores do ENIAC
(Eckert e Mauchley) – EDVAC (Electronic Discret
Variable Automatic Computer).
• John von Neumann – versão própria do EDVAC – Máquina IAS.
• 30 Junho 1945 – • John von Neuman • (consultor do
• projeto ENIAC)
• Criou o conceito de“programa armazenado”
• Criou o conceito de operações com número binário • Desenvolveu a lógica dos circuitos
• Denominação atual da máquina proposta – Máquina de Von Neumann
• Máquina de Von Neumann
• Componentes básicos
– Memória
– Unidade Aritmética Lógica – Unidade de controle
– Dispositivos de entrada/saída Evolução dos Computadores
A máquina original de Von Neumann
Características da Máquina de Von Neumann
• Aplicação: Máquina IAS (Institute of Advanced Studies – Princeton)
• Memória
– 4.096 palavras de 40 bits
– Cada palavra armazenava 2 instruções de 20 bits ou um número de inteiro com sinal de 40 bits
– Instrução: 8 bits – tipo da instrução, 12 bits – especificar uma das 4096 palavras de
memória.
• Unidade aritmética lógica
– Registrador especial de 40 bits – acumulador – Não processava números reais
MIT desenvolve o Whirlwind I
• Palavra de 16 bits.
• Projetado para controle de processos em
tempo real.
• Projeto levou ao invento das memórias de
núcleos magnéticos e ao primeiro
minicomputador comercial.
IBM
• Início – produzir perfuradoras de cartão e máquinas mecânicas para separar cartões. • IBM 701 (2048 palavras de 36 bits, duas
instruções por palavra.
• IBM 704 – (4 K de memória, instruções de 36 bits, hardware para processamento de números em ponto flutuante.
• 1958 – Produção da última máquina a válvula (IBM 709).
1o computador de grande porte da IBM Usado na guerra da Coréia IBM 701 Evolução dos Computadores
Segunda Geração
Transistores (1955-1965)
1948 (Bell Labs.) - invenção do Transistor.
Usando elementos semicondutores, os transistores funcionam como chaves, porém são menores, mais rápidos, não esquentam, duram mais e consomem menos energia que as válvulas.
O Prêmio Nobel de 1956 foi conferido à equipe cuja pesquisa levou à invenção do transistor. Evolução dos Computadores
• Transistor passou a ser um componente básico na construção de computadores e apresentava as
seguintes vantagens:
– aquecimento mínimo
– Baixo consumo de energia
– mais confiável e veloz do que as válvulas Evolução dos Computadores
• Primeiro Computador transistorizado (MIT)
– TX-0 (Transistorized eXperimental computer 0) • DEC
– PDP-1 (4 K palavras de 8 bits e clock com período de 5 µs, preço: 120.000 dólares). – PDP-8 (máquina de 12 bits, preço: 16.000
dólares, barramento único. • IBM (Início do domínio)
– 7090, 7094 (clock com período de 2 µs,
memória de 32 K palavras de 36 bits cada). – 1401 (uso comercial).
PDP-1
Barramento Omnibus do PDP-8
Evolução dos Computadores Evolução dos Computadores
• CDC (Control Data Corporation)
– 6600 (alta velocidade, conceito de
processamento paralelo, hardware composto de um conjunto de pequenos processadores), denominação atual: Supercomputadores.
– Sucessores do 6600: 7600 e Cray-1 • Burroughs B5000
– Máquina construída com o objetivo de rodar programas escritos em Algol 60.
– Fortalecimento do software Evolução dos Computadores
Terceira Geração
Circuitos Integrados
(1965-1980)
• 1958 - Jack Kilby (Texas
Instruments) - construção do
primeiro circuito integrado,
contendo cinco componentes em
uma peça de germânio com meia
polegada de comprimento e fina
como um palito de dente.
Evolução
• Características dos Circuitos Integrados
– transistores e outros componentes eletrônicos miniaturizados montados em um único chip; – maior confiabilidade (não tem partes móveis); – muito menores (equipamento mais compacto
e mais rápido pela proximidade dos circuitos); – baixo consumo de energia (miniaturização
dos componentes)
– custo de fabricação muito menor.
Primeiros CIs: 10 ou 20 transistores em um chip (SSI - Small-Scale Integration). Final dos anos 60: de 20 a 200 transistores em um chip (MSI - Medium-Scale Integration).
Final dos anos 70: até 5000 transistores em um chip (LSI - Large-Scale Integration).
Família de Máquinas
• Implementadas a partir de circuitos integrados, projetada para computação científica e/ou
aplicações comercias
• Mesma linguagem de montagem e com
tamanhos variando dentro de um espectro de preço e desempenho.
• Exemplo: IBM System/360
– Multiprogramação, 16 registradores de 32 bits, espaço de endereçamento: 16 Mbytes.
• Avanço das indústrias dos minicomputadores Evolução dos Computadores
1961: IBM – Família IBM/360 • transistorizados • sistema modular • mais poderosos e mais baratos
• aceitavam uma grande variedade de periféricos • foram vendidas milhares de unidades no mundo
todo dando à IBM a hegemonia absoluta Evolução dos Computadores
Quarta Geração
Integração de Circuitos em
Escala Muito Alta (1980 - ?)
• Década de 1980
– VLSI (Very Large Scale Integration)
– Diferença significativa: microcomputadores, minicomputadores e computadores de grande porte.
– Primeiros microcomputadores (microprocessador 8080)
– Apple e Apple II
– IBM entra no mercado de microcomputadores – PC da IBM (Sistema Operacional: MS-DOS)
– O primeiro computador portátil (Osborne I).
– Estratégia equivocada da IBM – divulgação do projeto – surgimento de CLONES
– IBM + Microsoft lançam o sistema operacional OS/2 – fracasso
– Microsoft lança Windows (Crise da IBM). Evolução dos Computadores
Apple I
Apple II
Osborne I IBM PC
• Meados da Década de 1980
– Arquitetura RISC (Reduced Instruction Set
Computer) em substituição a Arquitetura CISC
(Complex Instruction Set Computer)
• Anos 1990
– Processadores Superescalares (execução de várias instruções simultaneamente)
• 2002
– O Pentium 4 é construído com uma tecnologia de 0,13 micrômetros e possui 55 milhões de transistores.
– O supercomputador japonês Earth Simulator criado pela NEC para simular mudanças no clima do planeta possui 5104 processadores e ocupa uma área equivalente a três quadras de tênis. Seu desempenho esta em torno de 35 teraflops, realiza 35,86 trilhões de cálculos por segundo.
"Simulador da Terra"
Pentium 4
• 2003
• AMD lança o processador Opteron
– O Opteron é o primeiro processador para a arquitetura CISC capaz de trabalhar a 64 bits utilizando as instruções IA-32 (conhecidas também pelo nome x86).
• Possui transistores de 0,13 mícron, possuindo no total 100 milhões de transistores.
• Pode endereçar até 1 TeraByte de memória RAM.
• Suporta até 8 processadores na mesma placa-mãe.
• Tendências
– Os grandes computadores caminham para o processamento paralelo.
– O Futuro
• Computadores ópticos, Nanotecnologia, Computação biológica, Armazenar bits no spin do átomo?
• Computador quântico.
• “Em cinco décadas, o computador deixou de ser um sistema "monstro" a pesar toneladas e a
ocupar centenas de metros quadrados, sendo nos nossos dias, pequenos sistemas com uma capacidade de cálculo incomensuravelmente superior aos primeiros.
• Início do século - os "computadores" não
passavam de simples máquinas de calcular ou de ler cartões perfurados que eram construídas
usando engrenagens e relês. A "energia" que fazia tudo funcionar era a própria força do
operador, que precisava girar uma manivela a cada operação.
• Final da década de 50 - os computadores
passaram a ser construídos usando transistores, que não eram lá tão menores que as válvulas
usadas durante a década de 40, mas que já eram bem mais eficientes e confiáveis.
• Uma década depois - os transistores já eram bem menores e surgiu o circuito integrado. Depois surgiram os primeiros
microprocessadores. A solução para construir computadores mais rápidos e mais baratos passou a ser produzir transistores cada vez menores.
• Hoje, uns dos menores transistores (produzidos pela Intel) já medem apenas 0.02 mícron. Os processadores produzidos comercialmente ainda estão nos 0.13 mícron. Pode-se dar
quase como certos, processadores de 15 ou 20 GHz, com 600 milhões de transistores até o final da década.
• O que virá depois dos super mainframes de 0.02 mícron?
Quem sabe outros, agora de 0.01 mícron? Ou mesmo de 0.005 mícron, usando nanotubos? Alguns acreditam que eles sejam possíveis, mas vamos pensar um pouco mais adiante, quando finalmente todos os fabricantes tiverem esgotado sua munição transistorizada. ”
– Modelagem do avanço tecnológico
–
Lei de Moore
“
O software é como um gás
” – Lei de Nathan
Durante a década de 70, Gordon Moore, na época o presidente da Intel lançou uma profecia, que dizia que a partir dali o poder de processamento (número de transistores em um CHIP) dobraria a cada 18 meses.
Avanços na tecnologia (transistores/CHIPS) Avanços na tecnologia
(transistores/CHIPS)
Produtos Melhores a preços mais baixos Produtos Melhores a
preços mais baixos Novos mercados, novas empresas Novos mercados, novas empresas Novas Aplicações Novas Aplicações
Computador Memória principal E/S Interconexão do sistema Periféricos Linhas de comunicação CPU Computador
Computador ALU Unidade de controle Interconexão interna da CPU Registradores CPU E/S Memó ria Barramento do sistema CPU
Estrutura – A CPU
CPU Memória de controle Registradores e decodificadores da unidade de controle Lógica de sequenciação Unidade de controle ALU Registr. Barramento interno Unidade de controle
Sistemas de Numeração
Base e Sistema Numérico
Pode-se simplesmente definir a base de um sistema de numeração como sendo a quantidade de
símbolos ou dígitos ou algarismos diferentes que o referido sistema emprega para representar números.
Em um sistema posicional de base fixa B, um número é usualmente representado por uma série de algarismos pertencentes ao conjunto disponível para a referida base.
Sistemas de Numeração
Sistemas de Numeração
Sistemas de Numeração
Sistemas de Numeração
Organização de um Computador
O sistema de numeração com o qual estamos mais familiarizados é o decimal, cujo alfabeto (coleção de símbolos) é formado por 10 dígitos acima mostrados.
Um Computador Decimal: se trabalhasse com o sistema decimal um computador precisaria codificar 10 níveis de referência para caracterizar os 10 dígitos do sistema utilizado. Esses níveis de referência poderiam ser valores de tensão (0V, 1V, 2V, etc.) que precisariam ser definidos e interpretados de maneira clara e precisa pela máquina.
Desvantagem: quanto maior o número de interpretações maior a probabilidade de erro. Para decidir que está lendo o número 5 a máquina precisaria ter certeza de que o que leu não é: 0, 1, 2, 3, 4,
Sistemas de Numeração
Organização de um Computador
Consequência: O sistema de numeração mais seguro deveria ser
aquele com o menor número de símbolos (dígitos).
Conclusão: o melhor sistema de numeração para uma máquina
seria o binário com apenas dois dígitos, o zero (0) e o um (1).
Um possível problema no uso de máquinas binárias: o número
binário precisa de mais dígitos para ser escrito do que o decimal.
Consequência: o computador binário seria mais preciso porém
Sistemas de Numeração
Organização de um Computador
O computador é uma máquina capaz de sistemicamente coletar, manipular e fornecer resultados.
• Processamento de dados consiste em uma série de atividades ordenadamente realizadas com o objetivo de produzir um arranjo determinado de informações e
resultados.
• Um computador digital é um conjunto de componentes integrados segundo uma estrutura de sistema que
manipula dados na forma digital (0s e 1s). – Unidade Central de Processamento (CPU) – Memória
Sistemas de Numeração
Organização de um Computador
O computador trabalha com a base de numeração binária onde os números são representados por um conjunto de 0s e 1s.
Sistemas de Numeração
Conversão Decimal ⇒⇒⇒⇒ Binário
?
Sistemas de Numeração
Conversão Decimal ⇐⇐⇐⇐ Binário
?
Sistemas de Numeração
Sistemas de Numeração
Sistemas de Numeração