aula_3 - revisada copia.pdf

Download Aula_3 - revisada copia.pdf

Post on 10-Jul-2016

220 views

Category:

Documents

3 download

Embed Size (px)

TRANSCRIPT

  • 1/11

    Arquitetura de Computadores

    Jos Filho

  • 2/11

    Sistemas Computacionais

  • 3/11

    Sistemas Computacionais

  • 4/11

    Estudo de Sistemas (Computacionais)

    Os sistemas (incluindo os computacionais) so extremamente complexos se forem estudados em

    todos seus detalhes SOLUO Diferentes nveis de ABSTRAO

    Abstrao: distino entre as propriedades externas de um componente e os detalhes internos de sua

    construo. Exemplo:

    Utilizamos dispositivos eltricos sem entender a sua tecnologia

    Beneficiamo-nos de servios de terceiros sem conhecer com detalhes suas atividades

    Ubiquidade um desejo ainda no atingido para sistemas computacionais

  • 5/11

    Introduo a Organizao de Computadores

    Campo com mudanas rpidas: Tubo de vcuo transistor CI VLSI

    Dobrando a cada 1,5 anos: Capacidade de memria

    Velocidade do processador

    Lei de Moore

    Algumas Coisas que sero aprendidas: Como computadores funcionam: fundamentao bsica

    Como analisar seus desempenhos (ou como no fazer isso!)

    Questes que influenciam computadores recentes (caches, pipelines)

    Por que aprender isso? Voc quer ser um cientista da computao

    Voc quer construir softwares (necessidade de desempenho)

    Voc precisa tomar decises ou oferecer expertise na rea

  • 6/11

    O que um Computador?

    Componentes:

    Entrada (mouse, teclado, USB)

    Sada (monitor, impressora)

    Memria (disk drives, DRAM, SRAM, CD, DVD, flash memory)

    Rede

    Foco inicial: o processador (controle e via de dados)

    Implementado usando milhes de transistores

    Impossvel entender olhando cada transistor

    Precisamos de...

  • 7/11

    Abstrao

    Removendo camadas temos mais informao

    Uma abstrao omite detalhes desnecessrios,

    ajudando a reduzir a

    complexidade

    Quais detalhes nos parecem familiares nessas

    abstraes ao lado?

  • 8/11

    Instruction Set Architecture

    Instruction Set Architecture = Conjunto de Instrues

    Uma abstrao muito importante Interface entre nvel de hardware e software de baixo nvel

    Padroniza instrues, padres de bits da linguagem de mquina, etc.

    Vantagem: Implementaes diferentes da mesma arquitetura

    Desvantagem: As vezes dificulta o uso de novas invenes

    Conjunto de Instrues relativamente recentes: 80x86/Pentium/K6, PowerPC, DEC Alpha, MIPS, SPARC, HP

    VEREMOS EM PRXIMAS AULAS

  • 9/11

    Arquitetura Bsica dos Computadores Atuais

  • 10/11

    Mas Nem Sempre Foi Assim...

    De onde surgiram os computadores atuais?

    J ouviu falar em baco e hollerith?

    baco

    Original do oriente mdio

    Calculador decimal manual

    Herman Hollerith (1860-1929)

    Funcionrio do Departamento de Recenseamento dos Estados Unidos

    Construiu sua Mquina de Recenseamento ou Mquina Tabuladora - 1866

    Utilizava carto perfurado

    Reduziu de 10 para 3 anos o perodo de realizao de censo de 1890

  • 11/11

    Computadores Mecnicos

    Maquina de Pascal: Blaise Pascal (1623-1662)

    Operaes: Soma e Subtrao

    Manivela

  • 12/11

    Computadores Mecnicos

    Maquina Analtica: Charles Babbage(1792-1871)

    Componentes

    Armazenamento

    Engenho

    Seo de Entrada

    Seo de Sada

    Cartes Perfurados (similar aos utilizados em teares inglses)

    Resolvia polinmios.

  • 13/11

    Computadores Mecnicos

    Maquina Diferencial, 1822:

    Para Calcular automaticamente tabelas matemticas, necessrias sobretudo para a navegao.

  • 14/11

    Computadores Mecnicos

    Mquina Analtica, 1834:

    Programvel. As instrues entravam por meio de cartes perfurados; tinha memria

    para 1000 nmeros de 50 algarismos, tinha

    uma unidade aritmtica, impresso

    automtica, uma operao aritmtica por

    segundo. Usava base 10, era uma maquina

    mecnica, trabalhava a vapor.

  • 15/11

    Ada, Condessa de Lovelace

    Primeira Programadora.

    Desenvolveu algoritmos que

    permitiriam maquina

    Analtica de Babbage

    computar os valores

    de funes

    matemticas.

  • 16/11

    Computador Eltrico

    Advento da Energia Eltrica

    Desenvolvimento da tecnologia Eletrnica

    Dispositivos eletromagnticos.

    Rels

    Automatizao dos processos mecnicos.

  • 17/11

    Maquina Enigma

    Enigma o nome por que conhecida uma mquina electro-mecnica de criptografia com rotores, utilizada

    tanto para criptografar como para descriptografar

    mensagens secretas, usada em vrias formas na

    Europa a partir dos anos 1920. A sua fama vem de ter

    sido adaptada pela maior parte das foras militares

    alems a partir de cerca de 1930. A facilidade de uso e

    a suposta indecifrabilidade do cdigo foram as principais

    razes para a sua popularidade. O cdigo foi, no

    entanto, decifrado, e a informao contida nas

    mensagens que ele no protegeu geralmente tida

    como responsvel pelo fim da Segunda Guerra Mundial

    pelo menos um ano antes do que seria de prever.

  • 18/11

    Maquina Enigma

  • 19/11

    COLOSSUS

  • 20/11

    Alan Turing (1912-1954)

  • 21/11

    Alan Turing (1912-1954)

  • 22/11

    Mark I - 1944

    Primeiro computador eletromecnico

    Desenvolvido pela Universidade de Harvard, com apoio da IBM

    Medidas: 700.000 peas

    800.000 metros de fios

    17 metros de comprimento por 2 metros de altura

    70 toneladas

    Soma 0,3 segundos

    Multiplicao 6 segundos

  • 23/11

    1 Gerao (1945-1955)

    ENIAC 1945 (Eletronic Numeral Integrator and Computer)

    Primeiro computador eletrnico.

    Desenvolvido na Universidade de Pensilvnia.

    Projeto do exrcito dos Estados Unidos para o clculo da trajetria de projteis.

    Alguns nmeros:

    17.000 vlvulas.

    50.000 comutadores.

    70.000 resistncias.

    Soma 0,0002 segundos.

    Multiplicao 0,003 segundos.

    111 m3.

    27 toneladas.

    Consumo 100.000 a 200.000 watts.

    Programao conexo de fios tipo painel de telefonista.

  • 24/11

    1 Gerao (1945-1955)

  • 25/11

    1 Gerao (1945-1955)

  • 26/11

    1 Gerao (1945-1955)

  • 27/11

    1 Gerao (1945-1955)

  • 28/11

    John Von Neumman (1903-1957)

  • 29/11

    John Von Neumman (1903-1957)

  • 30/11

    1 Gerao (1945-1955)

  • 31/11

    Mquina de von Neumann

    Mquina de von Neumann Proposta em 1946

    Mquina composta por:

    Memria (MEM) Armazena dados, onde alguns destes dados so interpretados como instrues

    de um programa a ser executado pela CPU

    A caracterstica fundamental da mquina de von Neumann quedados e programas esto armazenados numa mesma memria!

    Unidade Central de Processamento (CPU) Unidade de controle (UC)

    Unidade de clculos aritmticos e lgicos (UAL)

    Registrador de instruo (IR)

    Ponteiro de instruo (IP)

    Registrador de uso geral (acumulador - ACC)

    Dispositivos de Entrada e Sada

    Base para a maioria das arquiteturas atuais

  • 32/11

    Voltando Arquitetura Bsica dos Computadores Atuais

  • 33/11

    1 Gerao (1945-1955)

  • 34/11

    2 Gerao (1955-1965)

  • 35/11

    2 Gerao (1955-1965)

  • 36/11

    3 Gerao (1965-1980)

  • 37/11

    3 Gerao (1965-1980)

  • 38/11

    4 Gerao (1980-?)

  • 39/11

    4 Gerao (1980-?)

  • 40/11

    Arquitetura de Computadores

    Estudar Arquitetura de

    Computadores essencial para o

    entendimento do funcionamento

    dos recursos computacionais.

  • Arquiterura

    ... Atributos que tm impacto direto sobre a execuo lgica

    de um programa. (stallings 2002)

    Visualizar o estgio final mesmo antes de construir.

    41/11

  • 42/11

    Arquitetura de Computadores

  • 43/11

    Como se fazer entender pelo computador?

    Linguagem do computador : 100011000001 (bits) Nmeros binrios: base da teoria computacional

    1. Primrdios: uso da linguagem nativa em binrio!!!

    2. Linguagem de Montagem (Assembly)

    Montador: traduz uma verso simblica das instrues para sua representao binria na arquitetura

    add A, B montador 100011000001

    1. Linguagem de Programao de alto-nvel

    Compilador: traduz instrues de alto-nvel para instrues binrias diretamente ou via um montador

    A + B compilador add A, B montador 100011000001 ou

    A + B compilador 100011000001

  • 44/11

    Mas s isso?

    Existe ainda um programa que gerencia os recursos da mquina durante a execuo dos programas: o SISTEMA OPERACIONAL

    (SO)

    Operaes de Entrada/Sada (E/S), carga do programa na memria, excees, etc.

    O SO funciona como um gerente dos recursos, escondendo o acesso direto ao hardware dos usurios

    Mais ainda: multiprocessamento, gerncia de arquivos, processamento distribudo, ...

    Assim, existem diversas camadas e servios disponveis para auxiliar nossa comunicao com a mquina:

    Um modelo em camadas e servios uma forma interessante de abstrao para a comunicao

  • Organizao

    Refere-se s unidades operacionais e suas inte