Organização e Arquitetura de
Computadores
Aula Introdutória
Alexandre Amory
Edson Moreno
Disciplina:
•
Organização e Arquitetura de Computadores
Horário:
•
3NP e 5NP
Email:
•
Alexandre Amory (178): [email protected]•
Edson Moreno (168): [email protected]
Página Web:
•
Alexandre Amory: http://www.inf.pucrs.br/alexandre.amory•
Edson Moreno: http://www.inf.pucrs.br/emoreno• 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
Avaliações
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’
Objetivos
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
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
40048008 8080 8085 8086 286 386 486 Pentium® proc P6 0.001 0.01 0.1 1 10 100 1000 1970 1980 1990 2000 2010 Ano T ra nsistore s (MT ) 2X de aumento em 1.96 anos!Power Wall
Power Wall
Power Wall
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
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?
290 93 3 488 114 3 892 135 4 862 129 4 1122 131 5 0 200 400 600 800 1000 1200 1998 1999 2000 2001 2002 Embarcado Desktop Servidores Milhões de co mputador esComputaçã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 !!!
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
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
Conteúdo
Funcionamento do Processador
•
Modelagem lógica de problemas•
Funções primitivas e tabelas-verdade•
Circuitos combinacionais•
Conceito, circuitos básicos e aritméticos•
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ívelMem IO controle
datapath IO IO
Conteúdo
Sistemas de Entrada e Saída (periféricos)
•
Interface entre programa e dispositivo•
E/S Programada•
Modo Bloqueado•
Polling•
Interjeição•
Interrupçã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 Mem IO controle datapath IO IO interconexãoConteúdo
Gerência de Memória
•
Hierarquia de memórias•
Memória Cache•
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ísticasMem IO controle
datapath IO IO
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 Mem IO controle datapath interconexão controle datapath…
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.