You are on page 1of 60

Arquitetura de Computadores

Introduo
Sistemas Computacionais:
Crescimento acelerado. Empregados em vrios setores. Alguns mitos que se tornaram realidade: Caixas Eletrnicos Computao embarcada em automveis. Computadores laptop. Projeto do Genoma Humano World Wide Web.

Sistemas Computacionais
Classificao.
Desktop Servidores Computadores embutidos.

Desktop
Enfatizam o bom desempenho a um nico usurio, por um baixo custo e normalmente so usados para executar software independente. Representa um dos maiores mercados para os computadores e a evoluo de muitas tecnologias de computao motivada por essa classe.

Servidores
Forma moderna do que antes eram os mainframes, minicomputadores e supercomputadores. Projetados para suportar grandes cargas de trabalho, em aplicaes cientficas ou em aplicaes empresariais. So construdos a partir da mesma tecnologia bsica dos computadores desktop, mas fornecem uma maior capacidade de expanso tanto no processamento quanto na e/s de dados.

Servidores
Podem ser:
Mini-servidores Menores que desktop e voltado para o armazenamento de dados Supercomputadores Constitudo por centenas ou milhares de processadores, gigabytes ou terabytes de memria e de terabytes ou pentabytes de armazenamento. Voltados para resoluo de clculos cientficas e de engenharia de alta capacidade, tais como previso do tempo, explorao de petrleo, determinao da estrutura da protena.

Servidores
Supercomputadores
Exemplo Blue Gene
Primo do Deep Blue Possui 131.000 processadores 360 trilhes de operaes por segundo. 31.634 vezes mais rpido que o Deep Blue.

Computadores Embarcados ou Embutidos


Maior classe de computadores e abrangem a faixa mais ampla de aplicaes e desempenho. So projetados para executar uma aplicao ou um conjunto de aplicaes relacionadas como um nico sistema. Normalmente possuem necessidades especficas que combinam um desempenho mnimo com limitaes rgidas em relao a custo ou potncia. Computadores embutidos, em geral, possuem menor tolerncia a falhas, pois comum seu emprego em sistemas de tempo real.

Sistemas Computacionais

Arquitetura X Organizao

Arquitetura X Organizao

Arquitetura X Organizao
Mais exemplos:
Definir se um computador deve ou no ter uma instruo de multiplicao. Deciso de Arquitetura. Definir se uma instruo de multiplicao ser implementada por uma unidade especial de multiplicao ou por um mecanismo que utiliza repetidamente sua unidade de soma. Deciso de Organizao

Arquitetura x Organizao
Arquitetura Organizao
Transparente ao programador Pode sobreviver por muitos anos.

Tempo de vida relativamente curto. Isso garante compatibilidade de software. Pode mudar sem afetar a arquitetura

Muda com a evoluo da tecnologia.

Arquitetura x Organizao
Arquitetura Organizao
Transparente ao programador Pode sobreviver por muitos anos.

Tempo de vida relativamente curto. Isso garante compatibilidade de software. Pode mudar sem afetar a arquitetura

Muda com a evoluo da tecnologia.

Arquitetura X Organizao
Outras caractersticas:
Organizao
Tempo de vida relativamente curto. Muda com a evoluo da tecnologia. Pode mudar sem afetar a arquitetura Transparente ao programador

Arquitetura
Pode sobreviver por muitos anos. A famlia Intel X86 possui a mesma arquitetura bsica A famlia IBM System/370 tambm. Isso garante compatibilidade de software.
Pelo menos retro-compatibilidade

Em microcomputadores a relao entre arquitetura e organizao mais estreita.


Mudanas tecnolgicas, em geral, tambm influenciam a arquitetura.

Linguagens, nveis e mquinas virtuais


Aplicaes convencionais podem consistir em centenas de milhares a milhes de linhas de cdigo e se basear em bibliotecas de software que implementam funes complexas. No entanto, o hardware em um computador s pode executar instrues de baixo nvel extremamente simples.
A linguagem compreensvel pelo hardware denominada de linguagem de mquina.

Linguagens, nveis e mquinas virtuais


Um sistema computacional opera atravs de sinais eltricos (ligado e desligado), representados, respectivamente, por 1 e 0. Este alfabeto denominado sistema binrio. Embora s possuam dois smbolos, estes no limitam o poder de expressividade da linguagem.
Fazendo associao com o alfabeto.
Com 1 dgito*, podemos formar 21 elementos diferentes. Com 4 dgitos, podemos formar 24 elementos diferentes. Com 32 dgitos, podemos formar 232 elementos diferentes. Com 64 dgitos, podemos formar 264 elementos diferentes.
* dgito tambm conhecido como bit.

Linguagens, nveis e mquinas virtuais


Linguagem de mquina no muito conveniente para ns humanos. Para resolver este problema, criamos um novo conjunto de instrues mais conveniente para os usurios do que as instrues de linguagem de mquina. Este novo conjunto de instrues pode ser visto como uma nova camada ou abstrao do conjunto de instrues da camada anterior. A partir de agora chamaremos de L0, o conjunto de instrues relativos a linguagem de mquina e L1, L2, ... Ln o conjunto de instrues subseqentes.

Linguagens, nveis e mquinas virtuais


Existem duas solues diferentes para este problema:
Compiladores
Consiste em substituir cada uma das instrues da camada de nvel mais alto por uma seqncia equivalente de instrues da camada de nvel mais baixo. Gera um novo arquivo. Possui boa performance.

Interpretadores
Examina cada uma das instrues do programa durante a execuo. Transforma cada instruo de alto nvel em instrues de baixo nvel. Em seguida, esta instruo executada antes do exame da prxima instruo de alto nvel. No gera um novo arquivo No possui uma boa performance.

Linguagens, nveis e mquinas virtuais


Podemos imaginar, para cada nova abstrao, a existncia de um computador hipottico, ou de uma mquina virtual, cuja linguagem de mquina seja do nvel mais alto que acabamos de criar. Ento para uma linguagem L1, temos uma mquina virtual M1. Se esta mquina M1 pudesse ser construda, precisaramos da mquina M0?

Nveis de abstrao em uma mquina convencional


Grande parte dos computadores modernos formado por dois ou mais nveis. Os nveis mais comuns, que podem ser encontrado nos computadores so os seguintes.:
Nvel da lgica digital Nvel mais baixo, cujos objetos de interesse so as portas lgicas. Nvel da Microarquitetura Nvel cujo objetos de interesse so os registradores, unidade lgica aritmtica e o caminho de dados.

Nveis de abstrao em uma mquina convencional


Nvel da Arquitetura do Conjunto de Instrues (Nvel ISA).
Formado pelo conjunto de instrues aceitas por um determinado hardware.

Nvel do Sistema Operacional


Nvel mais abstrato, formado por um interpretador e possui instrues em comum com o nvel anterior.

Nvel da Linguagem do Montador


Corresponde linguagem de montagem (assembly).

Nvel das linguagens de alto nvel.


Corresponde ao nvel utilizado pelos programadores de aplicao.

Conseqncias desta evoluo


Microprogramao Sistemas Operacionais Maior produtividade e aumento da qualidade dos programas gerados. Crescimento da importncia 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?

Conseqncias desta evoluo


Solues por Hardware, em geral possuem:
Melhor performance. Menor consumo de energia. Alto custo. Baixo grau de flexibilidade.

Solues 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 computao atual.

Estgios de Evoluo da Arquitetura de Computadores.


Gerao Mecnica (1642-1945) Blaise Pascal
Calculadora mecnica S efetuava somas e subtraes.

Wilhelm Von Leibniz


Calculadora mecnica que efetuava as quatro operaes aritmticas

Estgios de Evoluo da Arquitetura de Computadores.


Charles Babbage
Mquina Diferencial - S somava e subtraia Realizava um nico algoritmo.
Mtodo das diferenas finitas usando polinmios

Sada era dada atravs da perfurao de pratos de cobre. Mquina Analtica (1834) Possua memria, unidade de processamento, unidade de entrada e sada.

Estgios de Evoluo da Arquitetura de Computadores.


Ada Augusta Lovelace
Primeira desenvolvedora de software da histria Produziu software para a mquina analtica de Babbage Infelizmente a mquina no funcionou corretamente devido a limitaes da poca.

Estgios de Evoluo da Arquitetura de Computadores.


Konrad Zuse
mquina de calcular usando rels 1930

John Atanasoff
Aritmtica binria e memria com capacitores

Howard Aiken
descobriu os trabalhos de Babbage Mark I - 1944 6 segundos para executar uma instruo Marcou o fim da gerao de computadores mecnicos

Estgios de Evoluo da Arquitetura de Computadores.


Mark-I

Estgios de Evoluo da Arquitetura de Computadores.


Gerao das Vlvulas (1945-1955) COLOSSUS - 1943
1 computador eletrnico digital do mundo

Mauchley e Eckert
ENIAC - 1946 18mil vlvulas, 1500 rels e 6mil chaves Marco da histria do computador moderno Fundaram uma empresa (hoje, Unisys)

Estgios de Evoluo da Arquitetura de Computadores.


Eniac

Estgios de Evoluo da Arquitetura de Computadores.


John von Neumann
Mquina de von Neumann - 1952 programas representados em forma binria na memria do computador (programa armazenado) uso da aritmtica binria para representar nmeros memria, unidade aritmtica, unidade de controle, dispositivo de entrada e dispositivo de sada Registrador especial: Acumulador Maioria dos computadores atuais ainda projetada segundo essas premissas

Estgios de Evoluo da Arquitetura de Computadores.

Estgios de Evoluo da Arquitetura de Computadores.


Gerao dos transistores (1955-1965)
Inveno do transistor - 1948 PDP-1 - 1961 - Digital Equipament Corp. Vdeo de 512x512 pixels IBM 7090 Computador mais rpido da poca Incio do domnio da IBM PDP-8 Barramento nico Surgimento dos minicomputadores

Estgios de Evoluo da Arquitetura de Computadores.


Seymour Cray
CDC 6600 - 1964 processamento paralelo outros processadores ajudando a CPU principal surgimento dos supercomputadores

Estgios de Evoluo da Arquitetura de Computadores.


Circuitos Integrados (19651980)
Surgimento do Circuito Integrado - 1958 Robert Noyce
Co-fundador da Intel

Gordon Moore
Lei de Moore: O nmero de transistores em um chip dobra a cada 18 meses

Estgios de Evoluo da Arquitetura de Computadores.


IBM System/360
Mesma arquitetura em mquinas com diferentes poder de processamento. Surgimento do conceito de multiprogramao Utilizava a microprogramao para emular outros computadores da IBM.

DEC lana o PDP-11.

Estgios de Evoluo da Arquitetura de Computadores.


IBM System/360

Estgios de Evoluo da Arquitetura de Computadores.


Integrao de Circuitos em Escala muito Alta (1980 - ?)
Circuitos integrados VLSI Milhes de transistores em um nico chip Surgimento dos microcomputadores Apple e Apple II - Machintosh IBM PC Incio da computao pessoal

Ser?
Acho que existe, no mundo, um mercado para talvez uns cinco computadores Thomas J. Watson Chairman of IBM, 1943

Arquitetura de Computadores

You might also like