Aula_3 - revisada copia.pdf

Post on 10-Jul-2016

247 views 4 download

Transcript of Aula_3 - revisada copia.pdf

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) são

extremamente complexos se forem estudados em

todos seus detalhes – SOLUÇÃO Diferentes níveis de ABSTRAÇÃO

• Abstração: distinção entre as propriedades externas

de um componente e os detalhes internos de sua

construção. – Exemplo:

• Utilizamos dispositivos elétricos sem entender a sua tecnologia

• Beneficiamo-nos de serviços de terceiros sem conhecer com

detalhes suas atividades

• Ubiquidade é um desejo ainda não atingido para sistemas

computacionais

5/11

Introdução a Organização de Computadores

• Campo com mudanças rápidas: – Tubo de vácuo transistor CI VLSI

– Dobrando a cada 1,5 anos: • Capacidade de memória

• Velocidade do processador

• Lei de Moore

• Algumas Coisas que serão aprendidas: – Como computadores funcionam: fundamentação básica

– Como analisar seus desempenhos (ou como não fazer isso!)

– Questões que influenciam computadores recentes (caches, pipelines)

• Por que aprender isso? – Você quer ser um “cientista da computação”

– Você quer construir softwares (necessidade de desempenho)

– Você precisa tomar decisões ou oferecer “expertise” na área

6/11

O que é um Computador?

• Componentes:

– Entrada (mouse, teclado, USB)

– Saída (monitor, impressora)

– Memória (disk drives, DRAM, SRAM, CD, DVD, flash

memory)

– Rede

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

– Implementado usando milhões de transistores

– Impossível entender “olhando cada transistor”

– Precisamos de...

7/11

Abstração

• Removendo camadas

temos mais informação

• Uma abstração omite

detalhes desnecessários,

ajudando a reduzir a

complexidade

• Quais detalhes nos

parecem familiares nessas

abstrações ao lado?

8/11

Instruction Set Architecture

• Instruction Set Architecture = Conjunto de

Instruções

– Uma abstração muito importante • Interface entre nível de hardware e software de baixo nível

• Padroniza instruções, padrões de bits da linguagem de

máquina, etc.

• Vantagem: Implementações diferentes da mesma arquitetura

• Desvantagem: As vezes dificulta o uso de “novas invenções”

– Conjunto de Instruções relativamente recentes: • 80x86/Pentium/K6, PowerPC, DEC Alpha, MIPS, SPARC, HP

VEREMOS EM PRÓXIMAS AULAS

9/11

Arquitetura Básica 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 médio

– Calculador decimal manual

• Herman Hollerith (1860-1929)

– Funcionário do Departamento de Recenseamento dos

Estados Unidos

– Construiu sua Máquina de Recenseamento ou Máquina

Tabuladora - 1866

• Utilizava cartão perfurado

• Reduziu de 10 para 3 anos o período de realização de censo

de 1890

11/11

Computadores Mecânicos

• Maquina de Pascal: Blaise Pascal (1623-

1662)

– Operações: Soma e Subtração

– Manivela

12/11

Computadores Mecânicos

• Maquina Analítica: Charles

Babbage(1792-1871) • Componentes

• Armazenamento

• Engenho

• Seção de Entrada

• Seção de Saída

– Cartões Perfurados (similar aos utilizados em

teares inglêses)

– Resolvia polinômios.

13/11

Computadores Mecânicos

• Maquina Diferencial, 1822:

– Para Calcular automaticamente tabelas matemáticas,

necessárias sobretudo para a navegação.

14/11

Computadores Mecânicos

• Máquina Analítica, 1834:

– Programável. As instruções entravam por

meio de cartões perfurados; tinha memória

para 1000 números de 50 algarismos, tinha

uma unidade aritmética, impressão

automática, uma operação aritmética por

segundo. Usava base 10, era uma maquina

“mecânica”, trabalhava a vapor.

15/11

Ada, Condessa de Lovelace

• Primeira

Programadora.

• Desenvolveu

algoritmos que

permitiriam à maquina

Analítica de Babbage

computar os valores

de funções

matemáticas.

16/11

Computador Elétrico

• Advento da Energia Elétrica

• Desenvolvimento da tecnologia Eletrônica

– Dispositivos eletromagnéticos.

– Relés

• Automatização dos processos mecânicos.

17/11

Maquina Enigma

• Enigma é o nome por que é conhecida uma máquina

electro-mecânica de criptografia com rotores, utilizada

tanto para criptografar como para descriptografar

mensagens secretas, usada em várias formas na

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

sido adaptada pela maior parte das forças militares

alemãs a partir de cerca de 1930. A facilidade de uso e

a suposta indecifrabilidade do código foram as principais

razões para a sua popularidade. O código foi, no

entanto, decifrado, e a informação contida nas

mensagens que ele não protegeu é geralmente tida

como responsável 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 eletromecânico

– Desenvolvido pela Universidade de

Harvard, com apoio da IBM

– Medidas: • 700.000 peças

• 800.000 metros de fios

• 17 metros de comprimento por 2 metros de altura

• 70 toneladas

• Soma – 0,3 segundos

• Multiplicação – 6 segundos

23/11

1ª Geração (1945-1955)

• ENIAC – 1945 (Eletronic Numeral Integrator and Computer)

– Primeiro computador eletrônico.

– Desenvolvido na Universidade de Pensilvânia.

– Projeto do exército dos Estados Unidos para o cálculo da trajetória de

projéteis.

– Alguns números:

• 17.000 válvulas.

• 50.000 comutadores.

• 70.000 resistências.

• Soma – 0,0002 segundos.

• Multiplicação – 0,003 segundos.

• 111 m3.

• 27 toneladas.

• Consumo – 100.000 a 200.000 watts.

– Programação – conexão de fios tipo painel de telefonista.

24/11

1ª Geração (1945-1955)

25/11

1ª Geração (1945-1955)

26/11

1ª Geração (1945-1955)

27/11

1ª Geração (1945-1955)

28/11

John Von Neumman (1903-1957)

29/11

John Von Neumman (1903-1957)

30/11

1ª Geração (1945-1955)

31/11

Máquina de von Neumann

• Máquina de von Neumann

– Proposta em 1946

– Máquina composta por:

• Memória (MEM)

– Armazena dados, onde alguns destes dados são interpretados como instruções

de um programa a ser executado pela CPU

– A característica fundamental da máquina de von Neumann é quedados e

programas estão armazenados numa mesma memória!

• Unidade Central de Processamento (CPU)

– Unidade de controle (UC)

– Unidade de cálculos aritméticos e lógicos (UAL)

– Registrador de instrução (IR)

– Ponteiro de instrução (IP)

– Registrador de uso geral (acumulador - ACC)

• Dispositivos de Entrada e Saída

Base para a maioria das arquiteturas atuais

32/11

Voltando à Arquitetura Básica dos Computadores Atuais

33/11

1ª Geração (1945-1955)

34/11

2ª Geração (1955-1965)

35/11

2ª Geração (1955-1965)

36/11

3ª Geração (1965-1980)

37/11

3ª Geração (1965-1980)

38/11

4ª Geração (1980-?)

39/11

4ª Geração (1980-?)

40/11

Arquitetura de Computadores

Estudar Arquitetura de

Computadores é essencial para o

entendimento do funcionamento

dos recursos computacionais.

Arquiterura

• “... Atributos que têm impacto

direto sobre a execução lógica

de um programa”. (stallings 2002)

• Visualizar o estágio 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)

– Números binários: base da teoria computacional

1. Primórdios: uso da linguagem nativa em binário!!!

2. Linguagem de Montagem (Assembly)

– Montador: traduz uma versão simbólica das instruções para sua representação

binária na arquitetura

add A, B montador 100011000001

1. Linguagem de Programação de alto-nível

– Compilador: traduz instruções de alto-nível para instruções binárias 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 máquina

durante a execução dos programas: o SISTEMA OPERACIONAL

(SO)

• Operações de Entrada/Saída (E/S), “carga” do programa na

memória, exceções, etc.

• O SO funciona como um gerente dos recursos, escondendo o

acesso direto ao hardware dos usuários

• Mais ainda: multiprocessamento, gerência de arquivos,

processamento distribuído, ...

• Assim, existem diversas camadas e serviços disponíveis para

auxiliar nossa comunicação com a máquina:

– Um modelo em camadas e serviços é uma forma interessante de abstração para

a comunicação

Organização

• Refere-se às unidades operacionais e

suas interconexões.

• Desta forma, uma mesma arquitetura

pode ser implementada por meio de

diferentes organizações. * Tecnologia de fabricação: Memória optica, magnética,

semicondutores.

45/11

46/11

Arquitetura dos Micros do Padrão PC

Barramentos

• Praticamente todos os componentes de um computador,

como processadores, memórias, placas de vídeo e

diversos outros, são conectados à placa-mãe a partir do

que chamamos de barramento. Sem entrar em termos

técnicos, ele é o encaixe de que cada peça precisa para

funcionar corretamente.

• Há barramentos específicos para praticamente todos os

componentes conectados ao sistema, geralmente em

siglas muito conhecidas pelos usuários, mas que não

são atreladas diretamente à função que realizam.

47/11

Barramento

• Na literatura os barramentos costumam

ser representados por setas grossas,

bidirecionais ou unidirecionais indicando o

sentido do fluxo dos dados ou

informações; em algumas situações

associa-se a essas setas um número que

diz quantas vias (fios, linhas etc.) o

barramento em questão disponibiliza para

o tráfego de informações (usualmente

binárias).

48/11

Barramento

• Em verdade, o barramento de um sistema de

computação é o elemento responsável pela

interligação dos componentes, conduzindo, de

modo sincronizado, o fluxo de informações

(dados, endereços e controle) de uns para os

outros de acordo com uma programação de

atividades previamente definida pela unidade de

controle (UC – em inglês CU) do

microprocessador.

49/11

Barramentos e funções

• Há três funções distintas nos principais barramentos de um

computador, que, em termos simples, conectam o processador, a

memória e os outros componentes conectados a ele pelo que

chamamos de barramentos de entrada e saída.

• Barramento de dados – como o próprio nome já deixa a entender, é

por este tipo de barramento que ocorre as trocas de dados no

computador, tanto enviados quanto recebidos.

• Barramento de endereços – indica o local onde os processos

devem ser extraídos e para onde devem ser enviados após o

processamento.

• Barramento de controle – atua como um regulador das outras

funções, podendo limitá-las ou expandi-las em razão de sua

demanda.

50/11

Barramentos de entrada e saída

• Além da comunicação entre o computador e a memória,

você pode adicionar diversos outros dispositivos à sua

placa-mãe, com um barramento especial para cada um

deles. Alguns dos formatos mais conhecidos neste

quesito são o PCI, o AGP e até mesmo o USB,

amplamente utilizado em pendrives, impressores,

teclados, mouses e outros periféricos.

• Há dezenas de explicações e termos mais técnicos para

barramentos e suas especificidades em computação.

Este pequeno artigo serve apenas de introdução para o

tema, apresentando apenas os conceitos mais básicos

sobre ele.

51/11

Interface

• Interface é o nome dado ao circuito que

controla um dispositivo de entrada ou

saída, enviando ou recebendo,

informações do processador ou do chipset

agindo como um adaptador chipset,

agindo como um adaptador desse

dispositivo.

52/11

Portas

• As portas são caminhos por onde

passa a informação entre o pc

computador e um periférico. Cada

porta tem um número e é dedicada a

uma função em particular.

Por exemplo, a maioria do tráfego da

Web passa pela porta número 80 ou

3128.

53/11

Periféricos

• são aparelhos ou placas de expansão que

enviam ou recebem informações do

computador. Na informática, o termo "periférico"

aplica-se a qualquer equipamento ou acessório

que seja ligado à CPU (unidade central de

processamento), ou, num sentido mais amplo,

ao computador. Exemplos de periféricos são:

impressoras, digitalizadores, leitores e

gravadores (drives) de CDs e DVDs, leitores de

cartões de memória e disquetes, mouses,

teclados, câmeras de vídeo, entre outros. 54/11