ARQUITETURA DE COMPUTADORES - .::DCC - Departamento … · Evolução dos Computadores. MIT...

Preview:

Citation preview

ARQUITETURA DE COMPUTADORES

Introdução

Prof Daves MartinsMsc 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

• 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!

Recommended