Arquitetura de Computadores Alexandre José Braga da Silva [email protected] Universidade...

25
Introdução ao Software Científico Arquitetura de Computadores Alexandre José Braga da Silva [email protected] Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de Mestrado em Modelagem Computacional do Conhecimento

Transcript of Arquitetura de Computadores Alexandre José Braga da Silva [email protected] Universidade...

Page 1: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Introdução ao Software Científico

Arquitetura de Computadores

Alexandre José Braga da [email protected]

Universidade Federal de Alagoas – UFALPrograma Multidisciplinar de Mestrado em Modelagem

Computacional do Conhecimento

Page 2: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Arquitetura de ComputadoresApresentação

• Um breve histórico• Organização de Sistemas de Computadores• Processamento e Armazenagem• Estrutura de Dados Dinâmicos• Hierarquia de Memória• Memória Virtual• Arquitetura de Memória e o Software Científico

Page 3: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Arquitetura de ComputadoresUm breve Histórico

Com o advento da computação surgiram centenas de projetos de computadores diferentes. A maioria já foi esquecida mas alguns tiveram um impacto significativo nos projetos mais modernos (Tanenbaum ,1992). Com base nesta evolução é possível definir gerações de computadores:

Page 4: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Arquitetura de ComputadoresUm breve Histórico

• 1ª Geração – Válvulas (1945-1955)• Colossus e ENIAC (2ª Guerra Mundial)• Máquina de von Neumann• 2 ª Geração – Transistores (1955-1965)• TX-0 (MIT)• PDP-1 (DEC)• IBM 7090 e 7094 (início da computação científica)

Page 5: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Arquitetura de ComputadoresUm breve Histórico

• 3ª Geração – Circuitos Integrados (1955-1980)• System/360 da IBM (Multiprogramação)• PDP-11 (DEC)• 4ª Geração – PCs e VLSI (1980-atualidade)• Família INTEL e IBM PC-AT• Família Motorola modelo 68000• Processadores de 32 e 64 bits• Processadores para dispositivos móveis

Page 6: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Arquitetura de ComputadoresUm breve Histórico

Um computador pode ser visualizado como uma máquina de níveis (camadas).

Níveis iniciais: 0 – Nível de Hardware1 – Nível de Sistema Operacional

Sistema Operacional Interage com o hardware e com outros softwares simplificando a interação com o usuário da máquina.

Page 7: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Arquitetura de ComputadoresUm breve Histórico

A maioria dos computadores de hoje possui uma estrutura básica de camadas, podendo ter um número maior ou menor delas.

Aplicações

Utilitários

Sist. Operacional

Ling. de Máquina

Microprogramação

Circuitos EletrônicosFig.1 – Máquina de níveisFonte: Machado e Maia, 1992

Page 8: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Arquitetura de ComputadoresOrganização de Sistemas de Computadores

A arquitetura básica de um computador contém pelo menos os seguintes componentes interconectados:

• Processador (CPU)• Memórias (Volátil e não volátil)• Dispositivos de Entrada/Saída (barramentos de I/O)

Page 9: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Arquitetura de ComputadoresOrganização de Sistemas de Computadores

Unidade de Controle

Fig.2 – Arquitetura simplificada de um computadorFonte: Tanenbaum ,1992

Unidade Lógica e

Aritmética (ALU)

Registradores

Memória Principal

Disco Outros Dispositivos

Dispositivos de E/S

Page 10: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Arquitetura de ComputadoresOrganização de Sistemas de Computadores

Fig.3 – Arquitetura mais detalhada de um computadorFonte: Oliveira e Stewart ,2006

Page 11: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Arquitetura de ComputadoresProcessamento e Armazenagem

Um processador é um circuito elétrico contendo milhões de transistores (chaves que realizam operações lógicas do tipo AND, OR, NOT)

Contador de Programa Registrador usado para percorrer o programa em execução.

Page 12: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Arquitetura de ComputadoresProcessamento e Armazenagem

Pilha – Armazena dados na memória.

Inteiros, ponteiros e números de ponto flutuante em registradores e grandes objetos como estruturas em pilhas.

Memória – Armazena programas e dados.

Ponteiro de Pilha – Indica o topo da pilha.Registradores – Acessam a memória e o barramento de dados

Page 13: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Arquitetura de ComputadoresProcessamento e Armazenagem

Pilhas (LIFO) Estruturas básicas de dadosP1: 1P2:

P3:

P4:

P5:

21

321

4321

54321

65432

76543

87654

98765

1 2 3 4 5 6 7 8 9 Tempo

Fig.4 – Pilha de dados em função do tempo.Fonte: Tanenbaum, 1992

Page 14: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Arquitetura de ComputadoresProcessamento e Armazenagem

Bit Unidade básica de memória (0,1)

1001

Considere o número 1944 em decimal e binário puro, com 16 bits em cada um.

0001

0100

0100000001111001100

0

Decimal:

Binário:

Byte Grupo de 8 bits 23=8Em 1Byte 28=256 combinações

00000000 até 11111111

Page 15: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Arquitetura de ComputadoresEstrutura de dados dinâmicos

• Possuem inserção (i) e remoção (r) de elementos.

• Estruturas de dados dinâmicos mais comuns:

Pilhas lista linear com i e r em apenas um extremo Filas lista linear com i e r nos extremos opostosÁrvores conjunto finito de elementos disjuntos onde cada Ai é uma árvore

Page 16: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Arquitetura de ComputadoresEstrutura de dados dinâmicos

Árvores binárias admitem operações de:

Busca, mínimo, máximo, predecessor e sucessor

Exemplos de árvore binária

Page 17: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Arquitetura de ComputadoresHierarquia de memória

Classificação dos tipos de memória em função do seu desempenho

Tamanho x velocidade de acesso

- Custo por byte - velocidade de acesso+ custo por byte + velocidade de acesso

Page 18: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Arquitetura de ComputadoresHierarquia de memória

Page 19: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Arquitetura de ComputadoresMemória virtual

Recurso de hardware+software:

1. Relocação Assegura que cada processo tenha seu próprio endereçamento.

2. Proteção Impede que um processo use memória que não lhe pertence

3. Paginação Permite a aplicação usar mais memória do que realmente existe.

Page 20: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Arquitetura de ComputadoresMemória virtual

Dois tipos principais:

Paginação memória física é dividida em blocos de bytes contíguos chamados page frames de 4Kb (32 e 64 bits) ou 8 Kb (RISC). O espaço de memória de um processo é dividido em páginas que são fisicamente armazenadas nas molduras e possuem o mesmo tamanho destas.

Windows Até 4Gb (até 16 arquivos de paginação com 4.095Mb)Linux Até 4Gb de memória virtual (1.024 Mb para o kernel e 3Gb para os programas)

Page 21: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Arquitetura de ComputadoresMemória virtualDois tipos principais:

Segmentação Vários espaços de endereçamento para cada aplicação.

Segmento = par ordenado (onde o deslocamento é a posição do byte dentro do segmento

Aplicação vê: Mas na verdade temos:

Outro programaDisco

Page 22: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Arquitetura de ComputadoresMemória virtual

Endereço virtual

Processador

Memory Management Unit

(MMU) Tabelas de páginas

Sistema Operacional

Page 23: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Arquitetura de Computadores

Arquitetura de Computadores e o Software Científico

?

Page 24: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Arquitetura de ComputadoresApenas uma curiosidade

Um exemplo extremo de paralelismo: Para renderizar as belas cenas do filme Avatar, em uma fazenda de servidores, foram usados nada menos do que 4.352 PCs, cada um com 2 processadores Xeon de 4 núcleos e 24 GB de RAM (34.816 núcleos e mais de 102 TB de RAM).

Page 25: Arquitetura de Computadores Alexandre José Braga da Silva Alex.professor@gmail.com Universidade Federal de Alagoas – UFAL Programa Multidisciplinar de.

Obrigado a Todos!Dúvidas? Críticas? Sugestões?

Alexandre José Braga da [email protected]