introdução a arquitetura e organização de computadores professor: andré luis meneses silva...

43
Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: [email protected] Página: www.dcomp.ufs.br/index.php/docentes:Andre

Upload: internet

Post on 17-Apr-2015

105 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Introdução a Arquitetura e Organização de Computadores

Professor: André Luis Meneses SilvaE-mail/msn: [email protected]

Página: www.dcomp.ufs.br/index.php/docentes:Andre

Page 2: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Agenda

Introdução Sistemas Computacionais Arquitetura X Organização Linguagens, níveis e máquinas virtuais Níveis de Abstração em uma máquina

convencional Estágios de Evolução da Arquitetura de

Computadores.

Page 3: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Introdução

Sistemas Computacionais: Crescimento acelerado. Empregados em vários setores. Alguns mitos que se tornaram realidade:

Caixas Eletrônicos Computação embarcada em automóveis. Computadores laptop. Projeto do Genoma Humano World Wide Web.

Page 4: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Sistemas Computacionais

Classificação. Desktop Servidores Computadores embutidos.

Page 5: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Desktop

Enfatizam o bom desempenho a um único usuário, por um baixo custo e normalmente são usados para executar software independente.

Representa um dos maiores mercados para os computadores e a evolução de muitas tecnologias de computação é motivada por essa classe.

Page 6: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Servidores

Forma moderna do que antes eram os mainframes, minicomputadores e supercomputadores. Projetados para suportar grandes cargas de trabalho, em aplicações científicas ou em aplicações empresariais.

São construídos a partir da mesma tecnologia básica dos computadores desktop, mas fornecem uma maior capacidade de expansão tanto no processamento quanto na e/s de dados.

Page 7: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Servidores

Podem ser: Mini-servidores

Menores que desktop e voltado para o armazenamento de dados

Supercomputadores Constituído por centenas ou milhares de

processadores, gigabytes ou terabytes de memória e de terabytes ou pentabytes de armazenamento.

Voltados para resolução de cálculos científicas e de engenharia de alta capacidade, tais como previsão do tempo, exploração de petróleo, determinação da estrutura da proteína.

Page 8: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Servidores

Supercomputadores Exemplo

Blue Gene Primo do Deep Blue Possui 131.000

processadores 360 trilhões de operações

por segundo. 31.634 vezes mais rápido

que o Deep Blue.

Page 9: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Computadores Embarcados ou Embutidos

Maior classe de computadores e abrangem a faixa mais ampla de aplicações e desempenho.

São projetados para executar uma aplicação ou um conjunto de aplicações relacionadas como um único sistema.

Normalmente possuem necessidades específicas que combinam um desempenho mínimo com limitações rígidas em relação a custo ou potência.

Computadores embutidos, em geral, possuem menor tolerância a falhas, pois é comum seu emprego em sistemas de tempo real.

Page 10: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Sistemas Computacionais

Page 11: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Arquitetura X Organização

Arquitetura Refere-se aos atributos de um sistema que são visíveis

para o programador, ou seja, que possuem impacto direto sobre a execução lógica de um programa. Exemplos: conjunto de instruções, número de bits usado

para representar os tipos de dados, mecanismos de E/S, técnicas de endereçamento de memória.

Organização Refere-se às unidades operacionais e suas interconexões

que implementam as especificações da sua arquitetura. Exemplos: sinais de controle, interfaces entre o

computador e os periféricos, tecnologia de memória utilizada.

Page 12: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Arquitetura X Organização

Mais exemplos: Definir se um computador deve ou não ter uma

instrução de multiplicação. Decisão de Arquitetura.

Definir se uma instrução de multiplicação será implementada por uma unidade especial de multiplicação ou por um mecanismo que utiliza repetidamente sua unidade de soma. Decisão de Organização

Page 13: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Arquitetura x Organização

Arquitetura Organização

Tempo de vida relativamente curto.

Muda com a evolução da tecnologia.

Pode mudar sem afetar a arquitetura

Transparente ao programadorPode sobreviver por muitos anos.

Isso garante compatibilidade de software.

Page 14: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Arquitetura x Organização

Arquitetura Organização

Tempo de vida relativamente curto.

Muda com a evolução da tecnologia.

Pode mudar sem afetar a arquitetura

Transparente ao programadorPode sobreviver por muitos anos.

Isso garante compatibilidade de software.

Page 15: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Arquitetura X Organização

Outras características: Organização

Tempo de vida relativamente curto. Muda com a evolução da tecnologia. Pode mudar sem afetar a arquitetura Transparente ao programador

Arquitetura Pode sobreviver por muitos anos. A família Intel X86 possui a mesma arquitetura básica A família IBM System/370 também. Isso garante compatibilidade de software.

Pelo menos retro-compatibilidade Em microcomputadores a relação entre arquitetura e

organização é mais estreita. Mudanças tecnológicas, em geral, também influenciam a

arquitetura.

Page 16: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Linguagens, níveis e máquinas virtuais

Aplicações convencionais podem consistir em centenas de milhares a milhões de linhas de código e se basear em bibliotecas de software que implementam funções complexas.

No entanto, o hardware em um computador só pode executar instruções de baixo nível extremamente simples. A linguagem compreensível pelo hardware é

denominada de linguagem de máquina.

Page 17: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Linguagens, níveis e máquinas virtuais

Um sistema computacional opera através de sinais elétricos (ligado e desligado), representados, respectivamente, por 1 e 0.

Este alfabeto é denominado sistema binário. Embora só possuam dois símbolos, estes não limitam

o poder de expressividade da linguagem. Fazendo associação com o alfabeto.

Com 1 dígito*, podemos formar 21 elementos diferentes. Com 4 dígitos, podemos formar 24 elementos diferentes. Com 32 dígitos, podemos formar 232

elementos diferentes.

Com 64 dígitos, podemos formar 264 elementos diferentes.

* dígito também é conhecido como bit.

Page 18: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Linguagens, níveis e máquinas virtuais

Linguagem de máquina não é muito conveniente para nós humanos.

Para resolver este problema, criamos um novo conjunto de instruções mais conveniente para os usuários do que as instruções de linguagem de máquina.

Este novo conjunto de instruções pode ser visto como uma nova camada ou abstração do conjunto de instruções da camada anterior.

A partir de agora chamaremos de L0, o conjunto de instruções relativos a linguagem de máquina e L1, L2, ... Ln o conjunto de instruções subseqüentes.

Page 19: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Linguagens, níveis e máquinas virtuais

Existem duas soluções diferentes para este problema: Compiladores

Consiste em substituir cada uma das instruções da camada de nível mais alto por uma seqüência equivalente de instruções da camada de nível mais baixo.

Gera um novo arquivo. Possui boa performance.

Interpretadores Examina cada uma das instruções do programa durante a

execução. Transforma cada instrução de alto nível em instruções de baixo

nível. Em seguida, esta instrução é executada antes do exame da próxima instrução de alto nível.

Não gera um novo arquivo Não possui uma boa performance.

Page 20: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Linguagens, níveis e máquinas virtuais

Podemos imaginar, para cada nova abstração, a existência de um computador hipotético, ou de uma máquina virtual, cuja linguagem de máquina seja do nível mais alto que acabamos de criar.

Então para uma linguagem L1, temos uma máquina virtual M1. Se esta máquina M1 pudesse ser construída, precisaríamos da máquina M0?

Page 21: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre
Page 22: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Níveis de abstração em uma máquina convencional

Grande parte dos computadores modernos é formado por dois ou mais níveis.

Os níveis mais comuns, que podem ser encontrado nos computadores são os seguintes.: Nível da lógica digital

Nível mais baixo, cujos objetos de interesse são as portas lógicas.

Nível da Microarquitetura Nível cujo objetos de interesse são os registradores,

unidade lógica aritmética e o caminho de dados.

Page 23: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Níveis de abstração em uma máquina convencional

Nível da Arquitetura do Conjunto de Instruções (Nível ISA). Formado pelo conjunto de instruções aceitas por um

determinado hardware. Nível do Sistema Operacional

Nível mais abstrato, formado por um interpretador e possui instruções em comum com o nível anterior.

Nível da Linguagem do Montador Corresponde à linguagem de montagem (assembly).

Nível das linguagens de alto nível. Corresponde ao nível utilizado pelos programadores de

aplicação.

Page 24: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre
Page 25: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Conseqüências desta evolução

Microprogramação Sistemas Operacionais Maior produtividade e aumento da qualidade

dos programas gerados. Crescimento da importância do software. Perda dos limites entre “até onde vai o

hardware e até onde vai o software” Tudo que fazemos em hardware, pode ser feito em

software e vice-versa?

Page 26: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Conseqüências desta evolução

Soluções por Hardware, em geral possuem: Melhor performance. Menor consumo de energia. Alto custo. Baixo grau de flexibilidade.

Soluções por software, em geral possuem: Pior performance. Maior consumo de energia. Baixo custo. Alto grau de flexibilidade.

Decidir o que será implementado em hardware ou em software é um dos grandes problemas da computação atual.

Page 27: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Estágios de Evolução da Arquitetura de Computadores.

Geração Mecânica (1642-1945) Blaise Pascal

Calculadora mecânica Só efetuava somas e subtrações.

Wilhelm Von Leibniz Calculadora mecânica que efetuava as

quatro operações aritméticas

Page 28: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Estágios de Evolução da Arquitetura de Computadores.

Charles Babbage Máquina Diferencial - Só somava e

subtraia Realizava um único algoritmo.

Método das diferenças finitas usando polinômios

Saída era dada através da perfuração de pratos de cobre.

Máquina Analítica (1834) Possuía memória, unidade de

processamento, unidade de entrada e saída.

Page 29: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Estágios de Evolução da Arquitetura de Computadores.

Ada Augusta Lovelace Primeira desenvolvedora de software da

história Produziu software para a máquina

analítica de Babbage Infelizmente a máquina não funcionou

corretamente devido a limitações da época.

Page 30: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Estágios de Evolução da Arquitetura de Computadores.

Konrad Zuse máquina de calcular usando relés – 1930

John Atanasoff Aritmética binária e memória com capacitores

Howard Aiken descobriu os trabalhos de Babbage Mark I - 1944 6 segundos para executar uma instrução Marcou o fim da geração de computadores

mecânicos

Page 31: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Estágios de Evolução da Arquitetura de Computadores.

Mark-I

Page 32: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Estágios de Evolução da Arquitetura de Computadores.

Geração das Válvulas (1945-1955) COLOSSUS - 1943

1º computador eletrônico digital do mundo Mauchley e Eckert

ENIAC - 1946 18mil válvulas, 1500 relés e 6mil chaves Marco da história do computador moderno Fundaram uma empresa (hoje, Unisys)

Page 33: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Estágios de Evolução da Arquitetura de Computadores. Eniac

Page 34: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Estágios de Evolução da Arquitetura de Computadores.

John von Neumann Máquina de von Neumann - 1952

programas representados em forma binária na memória do computador (programa armazenado)

uso da aritmética binária para representar números memória, unidade aritmética, unidade de controle,

dispositivo de entrada e dispositivo de saída Registrador especial: Acumulador Maioria dos computadores atuais ainda é projetada

segundo essas premissas

Page 35: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Estágios de Evolução da Arquitetura de Computadores.

Page 36: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Estágios de Evolução da Arquitetura de Computadores.

Geração dos transistores (1955-1965) Invenção do transistor - 1948 PDP-1 - 1961 - Digital Equipament Corp.

Vídeo de 512x512 pixels IBM 7090

Computador mais rápido da época Início do domínio da IBM PDP-8

Barramento único Surgimento dos minicomputadores

Page 37: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Estágios de Evolução da Arquitetura de Computadores.

Seymour Cray CDC 6600 - 1964 processamento paralelo

outros processadores ajudando a CPU principal surgimento dos supercomputadores

Page 38: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Estágios de Evolução da Arquitetura de Computadores.

Circuitos Integrados (1965-1980) Surgimento do Circuito

Integrado - 1958 Robert Noyce

Co-fundador da Intel Gordon Moore

Lei de Moore: O número de transistores em um chip dobra a cada 18 meses

Page 39: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Estágios de Evolução da Arquitetura de Computadores.

IBM System/360 Mesma arquitetura em máquinas com diferentes

poder de processamento. Surgimento do conceito de multiprogramação Utilizava a microprogramação para emular outros

computadores da IBM. DEC lança o PDP-11.

Page 40: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Estágios de Evolução da Arquitetura de Computadores.

IBM System/360

Page 41: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Estágios de Evolução da Arquitetura de Computadores.

Integração de Circuitos em Escala muito Alta (1980 - ?) Circuitos integrados VLSI

Milhões de transistores em um único chip Surgimento dos microcomputadores

Apple e Apple II - Machintosh IBM PC

Início da computação pessoal

Page 42: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Será?

“Acho que existe, no mundo, um mercado para talvez uns cinco computadores”

Thomas J. WatsonChairman of IBM, 1943

Page 43: Introdução a Arquitetura e Organização de Computadores Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página: Andre

Leitura Recomendada

Tanembaum – Capítulo 1 Stallings – Capítulo 1 e 2 Henessy e Patterson – Capítulo 1