Вы находитесь на странице: 1из 59

1

Tecn. em Anlise e Desenvolvimento de Sistemas

Arquitetura de Computadores

Introduo e Histria
Prof. Ramide Dantas

Arquitetura e Organizao
Arquitetura so os elementos visveis ao programador
Conjunto de instrues, nmero de bits usados representar dados, mecanismos de E/S, tcnicas de endereamento e.g. Existe uma operao de multiplicao?

Organizao como estas caractersticas so implementadas


Sinais de controle, interfaces, tecnologia empregada na memria e.g. A multiplicao feita por hardware especfico ou por repetidas adies?

Na prtica, arquitetura e organizao querem dizer a mesma coisa A. S. Tanenbaum

Arquitetura e Organizao
A famlia x86 da Intel compartilha a mesma arquitetura bsica
A famlia System/370 da IBM tambm o faz

Proporciona compatibilidade com cdigo legado


A organizao interna varia entre os integrantes da famlia

Arquiteturas em Nveis
Qualquer computador atual extremamente complexo para ser estudado de uma vez A soluo organizar a mquina em nveis:
Cada nvel definido em funo do anterior Problemas so expressos em funo da interface definida para cada nvel Mquinas virtuais e linguagens associadas

Mquina virtual
Imagine que exista uma mquina hipottica (virtual) capaz de executar a linguagem L
Mquina M

Escreva um programa em L
M deve ser capaz de executar esse programa diretamente

Mesmo que a mquina virtual seja complexa, o programa ainda pode ser executado a partir da mquina do nvel inferior
5

Traduo x Interpretao
Programas representados em um nvel tm que ser convertidos para processamento no nvel inferior Traduo (compilao)
Programa na linguagem do nvel L convertido em equivalente no nvel L-1

Interpretao
Cada instruo do nvel L analisada e o seu efeito simulado pelo interpretador (programa de M-1)
6

Linguagens, Nveis e Mquinas Virtuais

Arquiteturas em nveis atuais


Linguagens de alto nvel Interpretao Linguagem assembly Traduo (assembler) Sistema operacional Interpretao parcial (chamadas do sistema) Traduo (compilador)

Linguagem de mquina
Execuo direta Microarquitetura Hardware Interpretao (microprograma)

Lgica digital Organizao Estruturada de Linguagem de mquina = Nvel de Arquitetura do Conjunto de Instrues - ISA Computadores 8

Arquiteturas em nveis atuais

Programadores de aplicaes

Linguagens de alto nvel Traduo (compilador)

Programas contm Palavras e abreviaes


Suporte aos Nveis superiores Programadores de sistemas

Linguagem assembly Traduo (assembler)

Sistema operacional
Interpretao parcial (chamadas do sistema) Linguagem de mquina Interpretao (microprograma) Microarquitetura Hardware Lgica digital

Programas consistem em sries de nmeros

Arquiteturas em nveis atuais


Arquitetura = conjunto de tipos de dados, operaes e caractersticas de cada nvel
Arquitetura de um nvel
Aspectos que so visveis ao usurio daquele nvel
Ex: Quantidade de memria disponvel

Aspectos de implementao no fazem parte da arquitetura


Tecnologia usada para construir memria no parte da arquitetura

Hardware e Software
Hardware: objetos tangveis Circuitos eletrnicos, componentes fsicos Software: idias abstratas (porm concretizadas) Algoritmos, programas Incio: fronteira era ntida Com o tempo: adio, remoo, fuso de nveis : fronteira indistinta

11

Hardware e Software
Software e hardware so logicamente equivalentes! Hardware apenas software petrificado
Karen Panetta Lentz

Qualquer instruo em software pode ser implementada em hardware Qualquer instruo executada em hardware pode ser simulada em software Deciso depende de custo, velocidade, confiabilidade, e frequncia de mudanas esperadas.
12

Evoluo das mquinas multinveis


Primeiros computadores, dcada de 40:
2 nveis Programao feita no nvel ISA Nvel de hardware executava circuitos complicados, difceis de entender e de montar Baixa confiabilidade

13

Evoluo das mquinas multinveis


Microprogramao (Wilkes, 1951)
Interpretador embutido imutvel (microprograma) Instrues do nvel ISA eram interpretadas por vrias operaes mais simples Simplificao do hardware: reduzir nmero de vlvulas, aumentar confiabilidade Tempo de processamento necessrio para fazer a interpretao (overhead) Microprogramao: apogeu na dcada de 1970
14

Evoluo das mquinas multinveis


A programao evoluiu:
Passou a ser feita com cartes perfurados

Porm...
O programador ainda tinha que controlar o computador diretamente Mquina ficava ociosa

15

Evoluo das mquinas multinveis


~1960: sistema operacional
Automatizar trabalho do operador Minimizar desperdcio de tempo

Ex de job no SO FMS

Programador produzia cartes de controle junto dom o programa que eram lidos e executados pelo SO

16

Evoluo das mquinas multinveis


Os sistemas operacionais evoluram
Novas instrues, principalmente de E/S

No incio:
Processamento em batch ou lote (fim dos '50)
Vrias horas entre instante em que programa entrava na mquina e horrio que terminava

Sistemas de tempo compartilhado (anos 60)


Vrios programadores se comunicam diretamente com o computador
Terminais remotos conectados ao computador central por linhas telefnicas
17

Evoluo das mquinas multinveis


Migrao de funcionalidade para microcdigo ('70)
Extenso do microprograma equivalia a acrescentar novo hardware

Exploso de novas instrues para simplificar a vida do programador assembly Muitas instrues no eram essenciais pois seu efeito podia ser conseguido com facilidade com outras instrues
EX: INC vs. ADD
18

Evoluo das mquinas multinveis


Eliminao da microprogramao ('90)
Microprogramas extensos geram lentido Tendncia:
Eliminar/reduzir microprograma Reduzir drasticamente conjunto de instrues Execuo direta das instrues restantes

Compiladores no precisam de instrues complexas

Hardware se tornam mais barato


19

Uma breve histria...

Computadores Mecnicos (1642 1945)


Blaise Pascal, 1642: 1 mquina de calcular operacional
Totalmente mecnico, funcionava com uma manivela operada mo

Projetado para ajudar o pai, coletor de impostos, fazia soma/subtrao

Blaise Pascal
Pascaline calculadora simples, 1642

22

Leibniz
Calculadora c/ 4 operaes bsicas, 1672

23

Computadores Mecnicos (1642 1945)


Charles Babbage (1792 1871)
1 tentativa: mquina diferencial 2 tentativa: mquina analtica (1834) Soma/subtrao,
4 unidades: armazenagem, moinho, leitora de cartes perfurados, sada perfurada e impressa Armazenagem: 1000 palavras de 50 algarismos decimais Moinho: soma, subtrao, multiplicao, diviso, testes Uso geral: podia realizar clculos diversos Babbage contratou Ada Lovelace -1 programadora de computadores

Realizava um nico algoritmo


Sada: perfurava resultados sobre chapa e gravao de cobre (prenncio de CDRoms)

Charles Babbage (1792-1871)


Engenho diferencial

25

Charles Babbage (1792-1871)


Engenho analtico

26

Charles Babbage (1792-1871)

Organizao Estruturada de Computadores

27

Computadores Mecnicos (1642 1945)


Konrad Zuse, 1930s:
1 mquina calculadora automtica com rels eletromagnticos

Vrios outros esforos nesta poca


John Atanasoff: mquina super-avanada para poca, baseada em aritmtica binria. Mquina nunca se tornou realmente funcional
Howard Aiken,: revisitou trabalho de Babbage e decidiu construir com rels um computador de uso geral. Quando terminou, os computadores de rels estavam obsoletos.

Hollerith
Proc. de cartes perfurados (censo 1890)
Empresa viria a se transformar na IBM (1924)

29

Harvard Mark I
Calculador baseado em rels
Primeiro totalmente automtico

30

Claude E. Shannon (1937)


Conhecido na rea de telecomunicaes pela Teoria da Informao
Primeiro a sugerir o uso de portas lgicas e lgebra de Boole no projeto de circuitos
Antes o funcionamento era definido ad hoc, sem em embasamento terico

Dissertao de mestrado mais importante da histria


Porm frequentemente esquecido nos livros de Arquitetura de Computadores

31

Primeira gerao: Vlvulas (1945-1955)


Substitutos naturais dos rels
Menor espao, maior velocidade, sem partes mveis

Segunda Guerra Mundial


Grande estmulo para computador eletrnico

Mensagens alems enviadas codificadas usando ENIGMA

32

Alan Turing
COLOSSUS, 1943
Primeiro computador eletrnico (vlvulas) programvel Projeto do Governo Britnico Segredo militar por 50 anos Desenvolvido para decodificar mensagens nazistas

33

Eckert e Mauchley
ENIAC (Eckert e Mauchley, 1946)
Necessidade de clculos pesados pelo exrcito dos EUA Idias de Atanasoff e outros 18000 vlvulas e 1500 rels

30 toneladas, 140 kW
Cabos e 6000 chaves 20 registradores: nmero decimal de 10 algarismos Primeiro bug Aps a guerra, escola de vero
34

Mauchley & Eckert: ENIAC

Electronic Numerical Integrator and Compute

Mauchley & Eckert: UNIVAC (1 no mercado)

John Von Neumann


IAS a mquina de von Neumann (1952)
Arquitetura dos computadores modernos Programa armazenado em memria Unidades de controle e aritmtica
Memria

Unidade de controle

Unidade lgicaaritmtica

Entrada

Acumulador

Sada

37

John Von Neumann


IAS a mquina de von Neumann (1952)
Memria: 4096 palavras de 40 bits Cada palavra: 2 instrues de 20 bits ou um inteiro de 40 bits com sinal

Instrues: 8 bits para identificar tipo, 12 bits para especifica um das 4096 palavras de memria
Registrador Acumulador: dentro da Unidade Lgica e Aritmtica

Segunda Gerao: Transistores (1955-1965)


Menos falhas, menor espao
DEC PDP-1 IBM 1401 CDC 6600

Burroughs 5000: programao em ALGOL


Incluram muitas caractersticas no hardware para facilitar tarefa do compilador Software tambm importante
39

DEC PDP-1, 1960


Primeiro mini-computador

40

IBM 7090, 7094 e 1401


IBM: computao cientfica 7090, 7094 tempo de ciclo de 2 microssegundos IBM, processamento comercial, perifricos 1401: mquina pequena voltada para empresas, arquitetura complexa, sem registrador, palavra sem tamanho fixo

Control Data: CDC 6600, 1964


Primeiro super-computador
Vrias unidades de processamento Estrutura pipeline

Mltiplas threads
Arquitetura estava dcadas a frente do seu tempo

Seymour Cray
42

DEC PDP-8, 1965


Mini-computador com barramento padro
Inovao: barramento nico (omnibus) conectando CPU, memria, console, E/S

Bero do Unix (Bell Labs)

43

Terceira gerao: CIs (1965-1980)


Inveno do circuito integrado por Robert Noyce em 1958:
Dezenas de transistores em um nico chip

Maior integrao permitiu redues significativas de tamanho

44

IBM System/360
Arquitetura de mquina comum a vrios modelos Famlia de mquinas

Compatibilidade
Multiprogramao Emulava 1401 e 7090 (mquinas virtuais) Um microprograma para cada mquina alvo

Espao de endereamento: 224 bytes: parecia muito no incio mas gerou problemas de compatibilidade na dcada de 80 (memria insuficiente)
45

DEC PDP-11
Bastante popular em universidades
Ligado difuso do Unix Instrues complexas Seguido pela linha VAX

46

Quarta gerao: VLSI (1980-?)


Integrao em Escala Muito Grande Computador em um chip (4004)

Exploso dos computadores pessoais


Kit com chip Intel 8080 x Apple IBM-PC
Construdo com peas do mercado (Intel 8080): grande popularidade Sistemas operacional MS-DOS da Microsoft Projeto aberto: vrios clones, assim nascia a indstria de PCs

Apple Macintosh interface grfica

Microsoft Windows rompimento com IBM


47

Quarta gerao: VLSI (1980-?)


Era dos antagonismos:
IBM PC x Macintosh IBM PC x Workstations RISC x CISC DOS/Win x Unix Microsoft x o resto

48

Quinta gerao Computadores Invisveis?


A Internet est presente em todo lugar
Processadores esto cada vez menores Podem ser embutidos em quase tudo
PDAs
Celulares Eletro-eletrnicos Mquinas (automveis) Sensores

RFIDs

A idia existe h anos, mas a hora agora


49

Processadores em todo lugar

Nvidia GeForce GTX 480 480 ncleos http://www.nvidia.com/ object/product_geforce _gtx_480_us.html

Tendncias fundamentais: Lei de Moore


O no. de transistores dobra a cada 18 meses

51

Tendncias fundamentais: Lei de Nathan


Software um gs: ele se expande at ocupar todo o recipiente que o contm
Exemplo clssico: Win*

52

Espectro dos computadores atuais


Tipo Computador descartvel Computador embutido Console de jogos Computador pessoal Servidor Clusters de estaes Mainframe Supercomputadores Preo $ 1 10 100 1K 10K 100K 1M 10M Aplicao Cartes musicais Relgios, carros, eletro-eletrnicos Jogos (vdeo-games simples) Estaes de trabalho Servidores de rede Supercomputadores departamentais Processamento de grande volume de dados Previso do tempo, armas nucleares

53

Computador Pessoal

54

Famlia de computadores Intel

55

Famlia de computadores Intel

Lei de Moore para chips de CPU (Intel).

56

Famlia de computadores Intel


Chip Pentium 4

57

Reviso
O que arquitetura do computador? Qual a diferena de organizao?
Como a analogia de mquinas virtuais ajuda a compreender o funcionamento e evoluo do computador? O que define que funes sero implementadas em software e em hardware?

58

Tecn. em Anlise e Desenvolvimento de Sistemas

Arquitetura de Computadores

Introduo e Histria
Prof. Ramide Dantas