Você está na página 1de 33

Organização e Arquitetura de

Computadores

Aula Introdutória

Alexandre Amory
Edson Moreno
Apresentação
 Disciplina:
• Organização e Arquitetura de Computadores

 Horário:
• 3NP e 5NP

 Email:
• Alexandre Amory (178): alexandre.amory@pucrs.br
• Edson Moreno (168): edson.moreno@pucrs.br

 Página Web:
• Alexandre Amory: http://www.inf.pucrs.br/alexandre.amory
• Edson Moreno: http://www.inf.pucrs.br/emoreno
Avaliações
• Provas:
– P1: 26/09
– P2: 26/11
– PS: 03/12
– G2: 10/12
• Composição das notas:
– G1 = (P1 + P2 + TP) / 3
– TP = Média aritmética de parte dos trabalhos práticos realizados em aula
– T1: 22/08
– T2 : 17/09
– T3 : 29/10
– T4 : 19/11
• Aprovação
– Presença >= 75%
– G1 >= 7
– G2 >= 5, para G1 >= 4
Objetivos
 Computadores estão onipresentes graças a avanços no hardware
 Hardware menor, mais barato, mais poder de processamento, menor
consumo de energia, etc
 Computadores fazem um carro emitir menos poluentes, consumir menos
combustível, aumentam a segurança
 ‘Coisas’ possuem acesso a Internet

 O objetivo desta disciplina é apresentar, de forma condensada, como é


a organização lógica dos computadores.
 Níveis de abstração que permitem programadores a desenvolver aplicações
cada vez mais sofisticadas, complexas, inovadoras
 Desmistificar a separação ‘hardware’ e ‘software’
Motivação
 Por que ‘Hardware’ em SI ?
 O ‘sistema’ é o que interessa
 O sistema é composto por várias camadas.
Algumas destas ‘alto nível’, outras ‘baixo nível’

 Desenvolvedor do sistema precisa saber os recursos de


hardware existentes para desenvolver produtos melhores

 Gerentes de projeto precisam conhecer a interface hw/sw


para fazer a especificação do projeto
Motivação
 Por que ‘Hardware’ em SI ?
 ‘Clock’ dos processadores estagnou !!!
 Aumento de desempenho agora depende da exploração de paralelismo
 Programação seqüencial  programação paralela

 Para reduzir o tempo de execução de uma aplicação agora o


desenvolvedor do software precisa saber:
 Quantos ‘cores’ existem para distribuir a aplicação
 Noções de hierarquia de memória e cache: para reduzir o impacto no
tempo de acesso aos dados
 Outros mecanismos de hardware para aumentar o desempenho das
aplicações
Lei de Moore
1000

100
2X de aumento em 1.96 anos!
Transistores (MT)

10
P6
Pentium® proc
1 486
386
0.1 286
8085 8086
0.01 8080
8008
4004
0.001
1970 1980 1990 2000 2010
Ano

# de transistores em Microprocessores duplica a cada 2 anos


Transistor
Porta lógica
Circuito
Elemento de processamento
Multicore
Tecnologia de fabricação
Power Wall

* Computer Organization and Design: The Hardware and Software Interface


Power Wall

* Computer Organization and Design: The Hardware and Software Interface


Power Wall

* Computer Organization and Design: The Hardware and Software Interface


Uniprocessador  multiprocessador
 Processadores estão no limite físico!
 Dissipação de energia e freqüência de operação

 Evolução depende de novos métodos :


 Exploração de paralelismo !!!
 Suporte em nível de hardware
 Dual core, quad core, etc
 Suporte em nível de software
 Programadores devem conhecer o hardware
para obter ganhos de desempenho !!!!
Classes de Aplicações
 Desktop: computador pessoal, laptop
 Tópico dos slides anteriores
 Servidor: similar ao desktop, mas com maior poder de
processamento, memória, armazenamento, etc
 Embarcado:
 Um computador dentre de um equipamento
 Carro, TV, telefone, brinquedo, vídeo game....
 Executa uma tarefa específica
 Possui restrições de projeto específicas
 Custo e Consumo de energia
 inúuuuuumeras aplicações (apresentarei algumas a seguir)
 É o maior mercado e o que cresce mais rapidamente
Onde está o mercado?
Embarcado
Desktop
Milhões de computadores

1200 1122 Servidores


1000 892
862
800

600
488
400
290

200 93 114 135 129 131


3 3 4 4 5
0
1998 1999 2000 2001 2002
Computação Embarcada
 Processadores mais simples que os processadores usados em
desktop (Intel, Apple, etc)
 Exige conhecimento dos periféricos do sistema
 Entrada e saída: botões, leds, lcds, teclado, auto falante,
interface de rede, cartão de mémória, smart card, leitor de
impressão digital, etc
 Sensores: temperatura, fumaça, gases, pressão, etc
 Atuadores: motor
 Desenvolvimento de um sistema embarcado exige
conhecimento de software e hardware !!!!
 Aplicações são inúuuuuuuuuuuuuumeras !!!
 Segue alguns exemplos
Vídeos do Youtube
 Exemplos de sistemas embarcados integrados com WebApp
 Arduino Microcontroller Feature
 Arduino Ethernet Webapp
 Control Your Home From Your Phone
 Internet das coisas:
 https://pachube.com/
 https://thingspeak.com/
 http://www.myrobots.com/
Por que Hardware em SI ? Resumo
 Desktop:
 Desde de 2005 (aprox) o processadores chegaram no limite de
freqüência de operação e dissipação de energia
 A freqüência de operação não aumenta mais !!!
 Como rodar programas mais rapidamente ?!!?!?!?
 Exploração de paralelismo
 Programa deve ser escrito para tirar vantagem os múltiplos
processadores
 Processadores multicore
 Exploração de paralelismo possui conseqüências para
desenvolvedores
 Desenvolvedor precisa conhecer mais sobre o hardware
 Desenvolvedor precisa aprender a escrever software paralelo
Por que Hardware em SI? Resumo
 Embarcados:
 O mercado que mais cresce !!!
 Internet das coisas
 Programador precisa conhecer os periféricos dos sistemas
 Precisa saber como acessar o hardware via o software

 Resumo geral:
 Separação entre hardware e software já não tem muito sentido
 O ‘sistema’ e suas diversas ‘camadas’ é o que interessa, o
‘sistema’ é o produto
Conteúdo
Funcionamento do Processador

• Modelagem lógica de problemas


controle

• Funções primitivas e tabelas-verdade


datapath Mem IO IO IO

• Circuitos combinacionais
• Conceito, circuitos básicos e aritméticos interconexão

• Circuitos sequênciais
• Conceito, circuitos básicos, memória e máquina de estados
• Processador
• Caracterização, organização interna
• Registradores de trabalho e de controle
• Formatos de instruções e modos de endereçamento
• Relação entre linguagem de montagem, linguagem Assembly, e
linguagem de alto nível
Conteúdo
Sistemas de Entrada e Saída (periféricos)

• Interface entre programa e dispositivo


• E/S Programada controle
• Modo Bloqueado
• Polling datapath Mem IO IO IO
• Interjeição
• Interrupção interconexão
• DMA – Acesso Direto à Memória
• Dispositivos periféricos e interfaces
• Interfaces seriais
• Interfaces paralelas
• Interfaces de vídeo
• Barramentos e chaveadores
• Armazenamento secundário
Conteúdo controle

Gerência de Memória
datapath Mem IO IO IO

• Hierarquia de memórias
• Memória Cache interconexão

• Conceitos, características e organização


• Mapeamento de endereços
• Políticas de atualização
• Memória Virtual
• Conceitos, características e organização
• Sistemas paginados, segmentados e segmento-paginados
• Políticas de alocação, relocação e busca
• Translation Lookaside Buffer
• Conceitos, características
Conteúdo
Arquiteturas para processamento paralelo

• Processamento paralelo
• Motivação para a exploração de paralelismo
• Medidas básicas de desempenho
• Complicadores, limitações, principais relações
• Paralelismo com múltiplos processadores
• Classificações
• Paradigmas de Comunicação
• Formas de interconexão
controle controle


datapath datapath Mem IO

interconexão
Bibliografia
 BÁSICA

• HENESSY, J L.; PATTERSON, D. Arquitetura de Computadores: Uma Abordagem


Quantitativa. 3ed. Rio de Janeiro: Campus, 2003. 827p.

• WEBER, R. F. Fundamentos de arquitetura de computadores. Porto Alegre: Sagra


Luzzatto, 2000. 262p.

• WEBER, R. F. Arquitetura de Computadores Pessoais. Série Livros Didáticos. 2ed. Porto


Alegre: Sagra Luzzatto, 2001. 271p.
Bibliografia
 COMPLEMENTAR

• DE ROSE, C. A. F.; NAVAUX, P. O. Arquiteturas Paralelas. Porto Alegre: Sagra Luzzatto,


2003. 152p.

• HERZOG, J. H; Design and Organization of Computer Structures. Wilsonville: Franklin,


Beedle & Associates, 1996. 584p.

• LOURENÇO, A. C, CRUZ, E. C, FERREIRA, S.; JÚNIOR, S. Circuitos Digitais. 3ed. São


Paulo: Érica, 1999. 321p.

• MURDOCCA, Miles J., HEURING, Vincent P. Introdução à Arquitetura de Computadores.


Rio de Janeiro: Campus, 2000. 512p.

• Stallings, William. Arquitetura e Organização de Computadores: Projeto para o


Desempenho. São Paulo: Prentice Hall, 2005. 786p.
Relação com o Curso
Relação com o Curso
Relação com o Curso
Relação com o Curso

Você também pode gostar