arquitetura de computadores - .::dcc - departamento … · evolução dos computadores. mit...
Embed Size (px)
TRANSCRIPT

ARQUITETURA DE COMPUTADORES
Introdução
Prof Daves MartinsMsc Computação de Alto Desempenho
Email: [email protected]

Avaliação
• Duas provas: P1 e P2.
• Vários trabalhos: T1
• Lista de Exercícios: (L1)

Considerações Importantes
• Disciplina 72h/a
• Faltas - 75% - 18 faltas;

Referências Bibliográficas

Referências Bibliográficas

• 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.
Objetivos – 1/2

• 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.
Objetivos - 2/2

• 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;
Ementa - 1/3

• 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;
Ementa - 2/3

• Multicomputadores;
• Pipeline;
• Processadores superscalares e superpipeline
• Arquitetura paralela;
Ementa - 3/3

Conceitos 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 memória física).

Conceitos básicos
• Pense nisso: mais de 90% dos sistemas computacionais são diferentes do modelo que entendemos por computador: gabinete, teclado, monitor.

Conceitos básicos

Evolução dos ComputadoresVeja os vídeos:http://www.youtube.com/watch?v=F3qWg1JBPZghttp://www.youtube.com/watch?v=Ixgh3AhiL3E&feature=related
Recomendo a leitura:http://www.museudocomputador.com.br/4000ac_800dc.php
Vídeo aulahttp://edad.rnp.br/rioflashclient.php?xmlfile=/ufjf/licenciatura_computacao/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

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.
Evolução dos Computadores

• 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.
Evolução dos Computadores

• 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.
Evolução dos Computadores

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.
Evolução dos Computadores

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…
Evolução dos Computadores

• 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.
Evolução dos Computadores

• 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.
Evolução dos Computadores

• 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.
Evolução dos Computadores

• 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)
Evolução dos Computadores

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.
Evolução dos Computadores

• Década de 1930 – Konrad Zuse (alemão) construiu uma série de máquinas de calcular automáticas usando relés eletromecânicos.
Evolução dos Computadores

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 (Sucessordo Mark I) – Computadores arelé já estavam obsoletos.
Evolução dos Computadores

Primeira Geração
Válvulas (1945-1955)
Evolução dos Computadores

• 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.
Evolução dos Computadores

Evolução dos Computadores

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)
Evolução dos Computadores

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)
Evolução dos Computadores

• ENIAC
Evolução dos Computadores

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
Evolução dos Computadores

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.
Evolução dos Computadores

• 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.
Evolução dos Computadores

• 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
Evolução dos Computadores

• 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
Evolução dos Computadores

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
Evolução dos Computadores

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.
Evolução dos Computadores

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).
Evolução dos Computadores

� 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)
Evolução dos Computadores

� 1948 (Bell Labs.) - invenção do Transistor.
Usando elementos semicondutores, os transistoresfuncionam como chaves, porém são menores, maisrápidos, não esquentam, duram mais e consomemmenos 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).
Evolução dos Computadores

PDP-1
Barramento Omnibus do PDP-8
Evolução dos ComputadoresEvoluçã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)
Evolução dos Computadores

• 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
Evolução dos Computadores

• 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).
Evolução dos Computadores

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 - ?)
Evolução dos Computadores

• 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 IApple II
Osborne IIBM PC
Evolução dos Computadores

• 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)
Evolução dos Computadores

• 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 Simulatorcriado 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.
Evolução dos Computadores

"Simulador da Terra"
Pentium 4
Evolução dos Computadores

• 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 detransistores.
• Pode endereçar até 1 TeraByte dememória RAM.
• Suporta até 8 processadores namesma placa-mãe.
Evolução dos Computadores

• 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.
Evolução dos Computadores

• “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.
Evolução dos Computadores

• 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. ”
Evolução dos Computadores

– Modelagem do avanço tecnológico – Lei de Moore
“O software é como um gás” – Lei de NathanDurante a década de 70, Gordon Moore, na época o presidente da Intel lançouuma profecia, que dizia que a partir dali o poder de processamento (número detransistores 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 empresasNovos mercados, novas empresas
Novas Aplicaç ões
Novas Aplicaç ões
Evolução dos Computadores

Computador
Memóriaprincipal
E/S
Interconexãodo sistema
Periféricos
Linhas decomunicação
CPU
Computador
Estrutura – Alto nível

ComputadorALU
Unidadede
controle
Interconexãointerna da CPU
Registradores
CPU
E/S
Memória
Barramentodo
sistema
CPU
Estrutura – A CPU

CPU
Memóriade
controle
Registradores edecodificadores da
unidade de controle
Lógica desequenciação
Unidadede
controle
ALU
Registr.
Barramentointerno
Unidade de controle
Estrutura – A unidade de controle

Sistemas de Numeração
Base e Sistema Numérico
Pode-se simplesmente definir a base de um sistemade numeração como sendo a quantidade desímbolos ou dígitos ou algarismos diferentes que oreferido 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
Sistema Decimal: Como Funciona

Sistemas de Numeração
Sistema Numérico Binário

Sistemas de Numeração
Conversão Decimal ⇔⇔⇔⇔ Binário

Sistemas de Numeração
Organização de um Computador
� O sistema de numeração com o qual estamos maisfamiliarizados é o decimal, cujo alfabeto (coleção desímbolos) é formado por 10 dígitos acima mostrados.
� Um Computador Decimal: se trabalhasse com o sistema decimal umcomputador precisaria codificar 10 níveis de referência paracaracterizar os 10 dígitos do sistema utilizado. Esses níveis dereferência poderiam ser valores de tensão (0V, 1V, 2V, etc.) queprecisariam ser definidos e interpretados de maneira clara e precisapela máquina.
� Desvantagem: quanto maior o número de interpretações maior aprobabilidade de erro. Para decidir que está lendo o número 5 amáquina precisaria ter certeza de que o que leu não é: 0, 1, 2, 3, 4,6, 7, 8, 9.

Sistemas de Numeração
Organização de um Computador
� Consequência: O sistema de numeração mais seguro deveria seraquele com o menor número de símbolos (dígitos).
� Conclusão: o melhor sistema de numeração para uma máquinaseria 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úmerobinário precisa de mais dígitos para ser escrito do que o decimal.
� Consequência: o computador binário seria mais preciso porémmuito lento porque a leitura da informação iria requerer mais tempo.

Sistemas de Numeração
Organização de um Computador
O computador é uma máquina capaz de sistemicamentecoletar, manipular e fornecer resultados.
• Processamento de dados consiste em uma série deatividades ordenadamente realizadas com o objetivo deproduzir um arranjo determinado de informações eresultados.
• Um computador digital é um conjunto de componentesintegrados segundo uma estrutura de sistema quemanipula dados na forma digital (0s e 1s).– Unidade Central de Processamento (CPU)– Memória– Unidades de E/S

Sistemas de Numeração
Organização de um Computador
O computador trabalha com a base de numeraçãobinária onde os números são representados por umconjunto de 0s e 1s.

Sistemas de Numeração
Conversão Decimal ⇒⇒⇒⇒ Binário
?
Conversação

Sistemas de Numeração
Conversão Decimal ⇐⇐⇐⇐ Binário
?
Conversação

Sistemas de Numeração
Conversão Decimal ⇔⇔⇔⇔ Hexadecimal

Sistemas de Numeração
Conversão Decimal ⇔⇔⇔⇔ Hexadecimal

Sistemas de Numeração
Conversão Binário ⇔⇔⇔⇔ Hexadecimal

Sistemas de Numeração

OBRIGADO!