Download - Aula_3 - revisada copia.pdf

Transcript
Page 1: Aula_3 - revisada copia.pdf

1/11

Arquitetura de Computadores

José Filho

Page 2: Aula_3 - revisada copia.pdf

2/11

Sistemas Computacionais

Page 3: Aula_3 - revisada copia.pdf

3/11

Sistemas Computacionais

Page 4: Aula_3 - revisada copia.pdf

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

Page 5: Aula_3 - revisada copia.pdf

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

Page 6: Aula_3 - revisada copia.pdf

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...

Page 7: Aula_3 - revisada copia.pdf

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?

Page 8: Aula_3 - revisada copia.pdf

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

Page 9: Aula_3 - revisada copia.pdf

9/11

Arquitetura Básica dos Computadores Atuais

Page 10: Aula_3 - revisada copia.pdf

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

Page 11: Aula_3 - revisada copia.pdf

11/11

Computadores Mecânicos

• Maquina de Pascal: Blaise Pascal (1623-

1662)

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

– Manivela

Page 12: Aula_3 - revisada copia.pdf

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.

Page 13: Aula_3 - revisada copia.pdf

13/11

Computadores Mecânicos

• Maquina Diferencial, 1822:

– Para Calcular automaticamente tabelas matemáticas,

necessárias sobretudo para a navegação.

Page 14: Aula_3 - revisada copia.pdf

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.

Page 15: Aula_3 - revisada copia.pdf

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.

Page 16: Aula_3 - revisada copia.pdf

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.

Page 17: Aula_3 - revisada copia.pdf

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.

Page 18: Aula_3 - revisada copia.pdf

18/11

Maquina Enigma

Page 19: Aula_3 - revisada copia.pdf

19/11

COLOSSUS

Page 20: Aula_3 - revisada copia.pdf

20/11

Alan Turing (1912-1954)

Page 21: Aula_3 - revisada copia.pdf

21/11

Alan Turing (1912-1954)

Page 22: Aula_3 - revisada copia.pdf

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

Page 23: Aula_3 - revisada copia.pdf

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.

Page 24: Aula_3 - revisada copia.pdf

24/11

1ª Geração (1945-1955)

Page 25: Aula_3 - revisada copia.pdf

25/11

1ª Geração (1945-1955)

Page 26: Aula_3 - revisada copia.pdf

26/11

1ª Geração (1945-1955)

Page 27: Aula_3 - revisada copia.pdf

27/11

1ª Geração (1945-1955)

Page 28: Aula_3 - revisada copia.pdf

28/11

John Von Neumman (1903-1957)

Page 29: Aula_3 - revisada copia.pdf

29/11

John Von Neumman (1903-1957)

Page 30: Aula_3 - revisada copia.pdf

30/11

1ª Geração (1945-1955)

Page 31: Aula_3 - revisada copia.pdf

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

Page 32: Aula_3 - revisada copia.pdf

32/11

Voltando à Arquitetura Básica dos Computadores Atuais

Page 33: Aula_3 - revisada copia.pdf

33/11

1ª Geração (1945-1955)

Page 34: Aula_3 - revisada copia.pdf

34/11

2ª Geração (1955-1965)

Page 35: Aula_3 - revisada copia.pdf

35/11

2ª Geração (1955-1965)

Page 36: Aula_3 - revisada copia.pdf

36/11

3ª Geração (1965-1980)

Page 37: Aula_3 - revisada copia.pdf

37/11

3ª Geração (1965-1980)

Page 38: Aula_3 - revisada copia.pdf

38/11

4ª Geração (1980-?)

Page 39: Aula_3 - revisada copia.pdf

39/11

4ª Geração (1980-?)

Page 40: Aula_3 - revisada copia.pdf

40/11

Arquitetura de Computadores

Estudar Arquitetura de

Computadores é essencial para o

entendimento do funcionamento

dos recursos computacionais.

Page 41: Aula_3 - revisada copia.pdf

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

Page 42: Aula_3 - revisada copia.pdf

42/11

Arquitetura de Computadores

Page 43: Aula_3 - revisada copia.pdf

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

Page 44: Aula_3 - revisada copia.pdf

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

Page 45: Aula_3 - revisada copia.pdf

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

Page 46: Aula_3 - revisada copia.pdf

46/11

Arquitetura dos Micros do Padrão PC

Page 47: Aula_3 - revisada copia.pdf

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

Page 48: Aula_3 - revisada copia.pdf

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

Page 49: Aula_3 - revisada copia.pdf

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

Page 50: Aula_3 - revisada copia.pdf

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

Page 51: Aula_3 - revisada copia.pdf

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

Page 52: Aula_3 - revisada copia.pdf

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

Page 53: Aula_3 - revisada copia.pdf

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

Page 54: Aula_3 - revisada copia.pdf

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