Aula 3

43
1 Módulo Introdução à Computação Tecnologia em Análise e Desenvolvimento de Sistemas Tema Fundamentos de Arquitetura de Computadores Introdução à Computação Prof. André Luiz Perin Fundamentos de Arquitetura de Computadores P f Lá A id Sil Pi Tecnologia em Análise e Desenvolvimento de Sistemas Prof. zaro Aparecido Silva Pinto Fundamentos de Sistemas Operacionais Prof. Rodrigo Sanchez Macedo Matemática aplicada

Transcript of Aula 3

1

• Módulo– Introdução à Computação

Tecnologia em Análise e Desenvolvimento de Sistemas

• Tema– Fundamentos de Arquitetura de Computadores

• Introdução à Computação– Prof. André Luiz Perin

• Fundamentos de Arquitetura de Computadores

P f  Lá  A id  Sil  Pi

Tecnologia em Análise e Desenvolvimento de Sistemas

– Prof. Lázaro Aparecido Silva Pinto• Fundamentos de Sistemas Operacionais

– Prof. Rodrigo Sanchez Macedo • Matemática aplicada

2

Arquitetura de Computadores

• Introdução– Por que estudar Arquitetura e Organização de Computadores?

Especificação do 

Necessidades dos Usuários

Especificação do Sistema

Interface

Processos

Banco de Dados

Rede

Computador

Arquitetura e Organização

• Introdução

Arquitetura de Computadores

Memória

Internet

Linguagens

SistemasIntegrados

OfficeAutocad

SistemaWeb

AutomaçãoComercial

Automação

Banco deDados

Impress

MemóriaRAM

SistemaOperacional

çIndustrial

SoftwareSegurança

SoftwareDiversos

Arquitetura de Computadores 

• A primeira geração ( 1945 ‐ 1955 )– Válvulas e Painéis de Conectores– Máquina de cálculos básico– Programação em linguagem de máquina

í d dé d d ã õ– Início da década 50 ‐ Introdução aos cartões perfurados

Fonte: WikipediaAurot: Stefan Riepl (Quark48)

3

Arquitetura de Computadores 

• A primeira geração ( 1945 ‐ 1955 )– J.P. Eckert e John Mauchly, da Universidade da Pensilvânia, inauguraram o ENIAC em 14 de fevereiro de 1946.• 1000 vezes mais rápido do que qualquer máquina p q q q qanterior

• Resolvia 5 mil adições e subtrações, 350 multiplicações ou 50 divisões por segundo

• Encheu 40 gabinetes com 100 mil componentes, incluindo cerca de 17 mil válvulas eletrônicas

• Pesava 27 toneladas e media 5,50 x 24,40 m• Consumia 150 kW. 

• A primeira geração ( 1945 ‐ 1955 )

Arquitetura de Computadores 

Duas mulheres operando o ENIAC(fotografia pertencente ao Exército dos E.U.A. (U.S. Army).

• A segunda geração ( 1955 ‐ 1965 )– Transistores (mais confiáveis)– Sistema de processamento em lotes– Introdução de Controles de Programas

Arquitetura de Computadores 

– Linguagem Fortran com Sistema Operacional – FMS ‐ Fortran Monitor System

Fonte: WikipediaAurot: de:Benutzer:Honina.

4

• A segunda geração ( 1955 ‐ 1965 )– Exemplos desta época:

• IBM 1401 • BURROUGHS B 200.

– O primeiro computador totalmente transistorizado foi o TRADIC, do Bell Laboratories.O IBM TX  d   8  ti h     it  d   íd  d  

Arquitetura de Computadores

– O IBM TX‐0, de 1958, tinha um monitor de vídeo de primeira qualidade, era rápido e relativamente pequeno, possuía dispositivo de saída sonora e até uma caneta óptica.

– O PDP‐1, processador de dados programável, virou sensação no MIT: os alunos jogavam Spacewar! e Rato‐no‐labirinto, através de um joystick e uma caneta óptica.

• A segunda geração ( 1955 ‐ 1965 )

Arquitetura de Computadores 

IBM 1401 Data Processing System.1402 Card Read-Punch, 1401 Processing Unit, 1403 Printer.

Fonte: Ballistic Research Laboratories, Aberdeen Proving Ground, Maryland

• A segunda geração ( 1955 ‐ 1965 )– O matemático Von Neumann, em 1957, colaborou para a construção de um computador avançado, o qual, por brincadeira, recebeu o nome de MANIAC, Mathematical Analyser Numerator Integrator andComputer.

Arquitetura de Computadores

p– Em 1959 a Texas Instruments anunciou ao mundo uma criação do circuito integrado por Jack Kilby. 

– Enquanto uma pessoa de nível médio levaria cerca de cinco minutos para multiplicar dois números de dez dígitos, o ENIAC em dois milésimos de segundo, um computador transistorizado em cerca de quatro bilionésimos de segundo, e, uma máquina de terceira geração em menos tempo ainda.

5

• A terceira geração ( 1965 ‐ 1980 )– Circuitos Integrados– Computador

• científico e comercial

Arquitetura de Computadores 

– Sistema escalável• IBM /360 por Fred Brooks

– Multiprogramação• Processar vários programas concorrentes

– Spooling: Tratamento das E/S de dados

Fonte: WikipediaAutor: Uberpenguin

• A terceira geração ( 1965 ‐ 1980 )–Compartilhamento de tempo

•Uso em tempo real pelo Usuário final–Sistema Operacional Unix

Arquitetura de Computadores 

Sistema Operacional Unix•O IEEE desenvolve o padrão POSIX

–Minicomputadores

• A terceira geração ( 1965 ‐ 1980 )– O Burroughs B‐2500 foi um dos primeiros– Computadores de 3ª. geração podem armazenar milhões de números• ENIAC podia armazenar vinte números de dez 

Arquitetura de Computadores 

• ENIAC podia armazenar vinte números de dez dígitos

– Surgem conceitos como memória virtual, multiprogramação e sistemas operacionais complexos

– Exemplos desta época• IBM 360 e o BURROUGHS B‐3500.

6

• A terceira geração ( 1965 ‐ 1980 )

Arquitetura de Computadores 

IBM System 360/20 mostrado no Deutsches Museum em Munique, Alemanha Com os painéis frontais foram removidos

IBM 2560 MFCM ( multi-function Card Machine) à direitaParte da Impressora 2203 à esquerda

• A terceira geração ( 1965 ‐ 1980 )– Em 1970, a INTEL Corporation introduziu no mercado um tipo novo de circuito integrado• o microprocessador. 

– O primeiro foi o 4004, de quatro bits– Foi seguido pelo 8008, em 1972, o 8080, o 8085, etc. A  i  d í      i d

Arquitetura de Computadores 

– A partir daí surgem os microcomputadores.– Para muitos, a quarta geração surge com os chips VLSI, de integração em muito larga escala.

– As coisas começam a acontecer com maior rapidez e frequência. 

– Em 1972 Bushnell lança o videogame Atari.– Kildall lança o CP/M (sistema operacional) em 1974.

• A terceira geração ( 1965 ‐ 1980 )– O primeiro kit de microcomputador

• ALTAIR 8800 em 1974/5.– Em 1975 Paul Allen e Bill Gates criam a Microsoft e o primeiro software para microcomputador• Adaptação BASIC para o ALTAIR.

E   6

Arquitetura de Computadores 

– Em 1976• Kildall funda a Digital Research Incorporation para vender o sistema operacional CP/M.

– Em 1977• Jobs e Wozniak criam o microcomputador Apple• Radio Shack cria o TRS‐80 • Commodore cria o PET• A planilha Visicalc (calculador visível) de 1978/9, primeiro programa comercial, da Software Arts.

7

• A quarta geração ( 1980 – 1995 )– Circuitos LSI (Integração em Larga Escala)

• Possibilitou o computador pessoal

– Computador pessoal

Arquitetura de Computadores 

• MS‐DOS

– Estações de trabalho• Unix

Fonte: http://www.flickr.com/photos/biwook/1530569

95/Autor: Ioan Sameli

• A quarta geração ( 1980 – 1995 )– Sistema Operacional de Rede

• Processamento local e uso de dados em vários locais

– Sistemas Operacionais Híbridos

Arquitetura de Computadores 

Sistemas Operacionais Híbridos• Múltiplos processadores

– Sistemas Operacionais poderosos– Sistemas apoio

• Banco de Dados e Comunicação– Sistemas aplicativos integrados ERP– Sistemas voltados para Web

• A quarta geração ( 1980 – 1995 )– Surgiram em decorrência do uso da técnica dos circuitos:• LSI (LARGE SCALE INTEGRATION)• VLSI (VERY LARGE SCALE INTEGRATION).

– Processamento distribuído

Arquitetura de Computadores 

Processamento distribuído– Disco ótico– Difusão do microcomputador

• Utilizado para processamento de texto, cálculos, etc.– Em 1982, surge o 286

• Memória de 30 pinos, slots ISA de 16 bits, memória cache

• Monitores CGA verde, laranja ou cinza, na maioria

8

• A quarta geração ( 1980 – 1995 )– Em 1985 surgiu

• Intel 386– Memória de 30 pinos– Devido à sua velocidade de processamento já era possível rodar softwares gráficos mais avançados, como era o caso do Windows 3 1

Arquitetura de Computadores 

do Windows 3.1– Em 1989 surgiu

• Intel 486 DX– Coprocessador matemático já vinha embutido no próprio processador

– Melhora sensível na velocidade devido à memória de 72 pinos, muito mais rápida 

– Placas PCI de 32 bits duas vezes mais velozes que as placas ISA

• A quarta geração ( 1980 – 1995 )– Placas SVGA poderiam atingir até 16 milhões de cores• Porém este artifício seria usado comercialmente mais para frente com o advento do Windows 95

Arquitetura de Computadores 

– Pequenas redes (locais) • Novel e a Lantastic• Rodavam perfeitamente nestes equipamentos, substituindo os "micrões" que rodavam em sua grande maioria os sistemas UNIX (HP‐UX , IBM‐AIX)

• Substituição extremamente viável devido à diferença brutal de preço entre estas máquinas.

• A quinta geração ( 1995 ‐ atual )– Aplicações exigem cada vez mais uma maior capacidade de processamento e armazenamento de dados• Sistemas especialistas• Sistemas multimídia (textos, gráficos, imagens e sons)• Banco de dados distribuídos• Redes neurais

Arquitetura de Computadores 

Redes neurais– Uma das principais características dessa geração é a simplificação e miniaturização do computador, além de melhor desempenho e maior capacidade de armazenamento. Tudo isso, com os preços cada vez mais acessíveis.

– A tecnologia VLSI está sendo substituída pela ULSI (ULTRA LARGE SCALE INTEGRATION).

9

• A quinta geração ( 1995 ‐ atual )– Processadores paralelos

• Execução de muitas operações simultaneamente pelas máquinas

– Redução dos custos de produção e do volume 

Arquitetura de Computadores 

Redução dos custos de produção e do volume dos componentes• Sistemas embutidos (embarcados)

– controlam aeronaves, embarcações, automóveis, eletrodomésticos, etc.

• Computadores de pequeno porte• Computadores portáteis

• A quinta geração ( 1995 ‐ atual )– Em 1993 surge

• Intel Pentium• Memórias DIMM de 108 pinos• Placas de vídeo AGPSl t PCI

Arquitetura de Computadores 

• Slot PCI– Em 1997, Pentium II– Em 1999, Pentium III– Em 2001, Pentium 4 – Não houve grandes novidades após 1997, sendo que as mudanças ficaram por conta dos processadores cada vez mais velozes.

• O Futuro– A IBM anunciou ontem a construção do mais avançado computador quântico do mundo.

– O computador quântico usa, em lugar dos microprocessadores de chips de silício  um 

Arquitetura de Computadores

microprocessadores de chips de silício, um dispositivo baseado em propriedades físicas dos átomos, como o sentido de giro deles, para contar números um e zero (qubits), em vez de cargas elétricas como nos computadores atuais.

10

• O Futuro– A lei de Moore, conceito criado em 1965 pelo cofundador da fabricante de processadores Intel, Gordon Moore, diz que o número de transistores colocados em um chip dobra a 

Arquitetura de Computadores 

transistores colocados em um chip dobra a cada 18 meses. 

– Quanto maior a quantidade de transistores nos chips, maior a velocidade de processamento. Essa teoria vem se confirmando desde a sua formulação.

• O Futuro– Consolidação do processamento de voz.– Integração de equipamentos domésticos nas redes de computadores

Arquitetura de Computadores 

– Forte automação dos processos industriais– e‐tudo – serviços pela internet– Internet das coisas– Computador de vestir

11

• Computador Pessoal Moderno

Organização dos Sistemas Computacionais

Entrada

Processamento

ArmazenamentoSaída

Organização de Sistemas Computacionais

• Estrutura Interna do Computador– Unidade Central de Processamento (CPU)– Memória Principal– Entrada/Saída (I/O)

E/S– Interconexões

Sistema de Interconexão

CPUMemóriaPrincipal

E/S

Organização de Sistemas Computacionais

• Estrutura Interna do Computador – Unidade de processamento central (CPU)

• Controla as operações do computador e realiza as funções de processamento das informações ( d )(processador)

Sistema de Interconexão

CPUMemóriaMemóriaPrincipal

E/S

12

Organização de Sistemas Computacionais

• Estrutura Interna do Computador – Memória principal

• Armazena dados

Sistema de Interconexão

CPUMemóriaPrincipal

E/S

Organização de Sistemas Computacionais

• Estrutura Interna do Computador – Entrada/Saída (I/O)

• Realiza a transferência de informações entre o computador e o ambiente externo

Sistema de Interconexão

CPUMemóriaPrincipal

E/S

Organização de Sistemas Computacionais

• Estrutura Interna do Computador – Interconexões

• Mecanismos de troca de informações entre a CPU, a memória principal e os dispositivos de 

d     ídentrada e saída

Sistema de Interconexão

CPUMemóriaMemóriaPrincipal

E/S

13

• CPU– Central Processing Unit

Organização de Sistemas Computacionais

Intel 80486DX CPUFonte: Wikipedia, Autor: Andrew Dunn

Organização de Sistemas Computacionais

• Estrutura Interna da CPU– Unidade Lógica e Aritmética– Unidade de Controle– Registradores– Interconexões Internas

Interconexão Interna

ULAUnidade de Unidade de Controle

Registradores

Organização de Sistemas Computacionais

• Estrutura Interna da CPU– Unidade Lógica e Aritmética (ULA)

• Executa as operações básicas da CPU– Operações lógicas

» AND, OR, XOR, NOTé– Operações Aritméticas

» Adição, Subtração,Multiplicação e Divisão

– Deslocamento» à esquerda» à direita

– Comparação

Interconexão Interna

ULAUnidade de Unidade de Controle

Registradores

14

Organização de Sistemas Computacionais

• Estrutura Interna da CPU – Unidade de Controle (UC)

• Controla os demais componentes do computador• Busca, interpretação e 

l  d   ã  controle de execução das instruções

Interconexão Interna

ULAUnidade de Unidade de Controle

Registradores

Organização de Sistemas Computacionais

• Estrutura Interna da CPU– Registradores

• Elementos de memória de pequena capacidade mas de alta velocidade usados para 

  l d  armazenar resultados temporários.

Interconexão Interna

ULAUnidade de Unidade de Controle

Registradores

Organização de Sistemas Computacionais

• Estrutura Interna da CPU – Interconexão Interna

• Mecanismos de troca de informações entre a ULA,  U id d  d  C l      a Unidade de Controle e os 

RegistradoresInterconexão 

Interna

ULAUnidade de Unidade de Controle

Registradores

15

Organização de Sistemas Computacionais

• Execução de Instruções– Processador busca instrução namemória– A instrução é decodificada

• determina qual é a instrução e o que precisa paraexecutarexecutar

– Os dados da instrução são carregados• podem vir da memória ou de um registrador

– A instrução é executada– O resultado da instrução é armazenado

• namemória ou em um registrador– (retorna ao passo 1)

Estrutura Interna da CPU

• Diagrama Funcional– Unidade Central de Processamento – UCP

• (em inglês, Central Processing Unity ‐ CPU)

B t I t

ACCACCREGsREGs

Unidade de Controle

Barramento Interno

ULA

Ba

rra

men

to

de

Co

ntr

ole

Estrutura Interna da CPU

• Diagramafuncional

role

Barram. de Endereços

Barram. de Dados

ACCACCREGs rn

o

REM

RDMMemória Principal

Uni

dade

de

Con

tr

Ba

rra

men

to In

ter

ULA

Barramento de Controle

UCUC

Decodificador de Instruções

IR

ClockClock

PC

16

Estrutura Interna da CPU

• Diagrama funcional

Barram. de Endereços

Barram. de Dados

ACC REM

RDM

Memória Principal

Acumulador

Registrador de Dados da Memória

Un

ida

de

de

Co

ntr

oleREGs

Bar

ram

ento

In

tern

o

UL

A

Barramento de Controle

UC

Decodificador de Instruções

IR

Clock

PCRegistradores Registrador de Endereços de Memória

Contador de Instruções (Program Counter)

Registrador de Instrução (Instruction Register)Unidade de Controle

Estrutura Interna da CPU

• Componentes– PC ‐ Contador de Instruções (Program Counter)

– armazena o endereço da próxima instrução a ser executada‐ tem sempre o mesmo tamanho do REM. 

– IR ‐ Registrador de Instrução (Instruction Register)g• armazena a instrução a ser executada. 

– ACC ‐ Acumulador (Accumulator)• armazena os dados (de entrada e resultados) para as operações na UAL; o acumulador é um dos principaiselementos que definem o tamanho da palavra do computador ‐ o tamanho da palavra é igual aotamanho do acumulador. 

Estrutura Interna da CPU

• Execução de um programa– O processador busca uma instrução de cada vez da memória e a executa. Algumas instruções requerem várias operações

Início

Busca da Instrução

operações.– O processamento de uma instrução é chamado de ciclo de instrução ou de execução (execute cycle).

– O processo de busca de instruções na memória é chamado de ciclo de busca (fetch cycle).

Execução da Instrução

Parada

17

Estrutura Interna da CPU

• Execução de um programa– O que acontece em 1 ciclo de Clock

•Valores lógicos são movidos de um conjunto de registradores através de fios e portas lógicas para um outro conjunto de registradores.

Estrutura Interna da CPU

• Execução de um programa– Busca da Instrução– Decodificação– Busca dos Operandos– Execução– Gravação do resultado

• Memória• Write‐register

Estrutura Interna da CPU

•Exemplo:–ADD [0100],[0200]

rno

role

Barram. de Endereços

Barram. de Dados

ACC

REGs

REM

RDM

Memória Principal

Ba

rra

men

to In

ter

Uni

dade

de

Con

tr

UL

A

Barramento de Controle

UCUC

Decodificador de Instruções

IR

ClockClock

PC

18

rno

role

Barram. de Endereços

Barram. de Dados

ACC

REGs

REM

RDM

Memória Principal

Estrutura Interna da CPU

•Exemplo:– ADD [0100],[0200]

0A78

10100101001010010100

Ba

rra

men

to In

ter

Uni

dade

de

Con

tr

UL

A

Barramento de Controle

UCUC

Decodificador de Instruções

IR

ClockClock

PC0A78

1010010100Busca daInstrução

rno

ole

Barram. de Endereços

Barram. de Dados

ACC

REGs

REM

RDM

Memória Principal

Estrutura Interna da CPU

•Exemplo:–ADD [0100],[0200]

Bar

ram

ento

Inte

r

Uni

dade

de

Con

tr

UL

A

Barramento de Controle

UCUC

Decodificador de Instruções

IR

ClockClock

PC

1010010100 Decodificação

ADD [0100],[0200]+

rno

role

Barram. de Endereços

Barram. de Dados

ACC

REGs

REM

RDM

Memória Principal

Estrutura Interna da CPU

•Exemplo:–ADD [0100],[0200]

0100

2525

Ba

rra

men

to In

ter

Uni

dade

de

Con

tr

UL

A

Barramento de Controle

UCUC

Decodificador de Instruções

IR

ClockClock

PC

1010010100Busca do

1º. Operando

ADD [0100],[0200]+

25

19

rno

role

Barram. de Endereços

Barram. de Dados

ACC

REGs

REM

RDM

Memória Principal

Estrutura Interna da CPU

•Exemplo:–ADD [0100],[0200]

0200

3535B

arr

am

ento

Inte

r

Uni

dade

de

Con

tr

UL

A

Barramento de Controle

UCUC

Decodificador de Instruções

IR

ClockClock

PC

1010010100Busca do

2º. Operando

ADD [0100],[0200]+35

25

rno

ole

Barram. de Endereços

Barram. de Dados

ACC

REGs

REM

RDM

Memória Principal

Estrutura Interna da CPU

•Exemplo:–ADD [0100],[0200]

Bar

ram

ento

Inte

r

Uni

dade

de

Con

tr

UL

A

Barramento de Controle

UCUC

Decodificador de Instruções

IR

ClockClock

PC

1010010100 Execução

ADD [0100],[0200]+35

25

60

rno

role

Barram. de Endereços

Barram. de Dados

ACC

REGs

REM

RDM

Memória Principal

Estrutura Interna da CPU

•Exemplo:–ADD [0100],[0200]

60

Ba

rra

men

to In

ter

Uni

dade

de

Con

tr

UL

A

Barramento de Controle

UCUC

Decodificador de Instruções

IR

ClockClock

PC

Decodificador de Instruções

IRIR1010010100Gravação doResultado

ADD [0100],[0200]+35

25

60

20

Execução em Pipeline

• Conceito– Cada estágio possui um componente de hardware dedicado exclusivamente a ele.

– Todos os estágios trabalham ao mesmo tempo.

Unidade de busca da Instrução

Unidade de decodificação da instrução

Unidade de busca de operando

Unidade de execução da instrução

Unidade de escrita

E1 E2 E3 E4 E5

Execução em Pipeline

• Objetivo– Aumento de desempenho.– Latência (Tempo de Execução)

• Quanto uma instrução demora para ser executada.

– Banda passante (Fluxo)• Quantos MIPS (milhões de instruções por segundo) o processador executa.

Execução em Pipeline

• Pipeline de 5 Estágios

Unidade de busca da Instrução

Unidade de decodificação da instrução

Unidade de busca de operando

Unidade de execução da instrução

Unidade de escrita

E1 E2 E3 E4 E5

60

ç ç p ç

1 2 3 4 5 6

1 2 3 4 5

1 2 3 4

1 2 3

1 2

E1

E2

E3

E4

E5

1 2 3 4 5 6

......

1 1 1 1 12 2 2 2 23 3 3 3 34 4 4 4 45 5 5 5 5

21

Arquiteturas Superescalares

• Processador com Dois Pipelines

Unidade de decodificação da instrução

Unidade de busca de operando

Unidade de execução da instrução

Unidade de escrita

E1 E2 E3 E4 E5

Unidade de busca da Instrução

Unidade de decodificação da instrução

Unidade de busca de operando

Unidade de execução da instrução

Unidade de escrita

Instrução 1 Instrução 1 Instrução 1 Instrução 1 Instrução 1Instrução 2

Instrução 2 Instrução 2 Instrução 2 Instrução 2

Instrução 3

Instrução 3 Instrução 3 Instrução 3 Instrução 3

Instrução 4 Instrução 4 Instrução 4 Instrução 4 Instrução 4Instrução 5 Instrução 5 Instrução 5 Instrução 5 Instrução 5

Arquiteturas Superescalares

• Processador Superescalar com Quatro Unidades Funcionais

ULA

E4E4

Instrução 5

Unidade de busca da Instrução

Unidade de decodificação da instrução

Unidade de busca de operando

Unidade de escrita

E1E1 E2E2 E3E3 E5E5LOAD

STORE

Ponto flutuante

Instrução 1 Instrução 1 Instrução 1

Instrução 1Instrução 1Instrução 2 Instrução 2 Instrução 2

Instrução 2

Instrução 2Instrução 3 Instrução 3 Instrução 3

Instrução 3

Instrução 3Instrução 4 Instrução 4 Instrução 4

Instrução 4

Instrução 4Instrução 5 Instrução 5 Instrução 5 Instrução 5

Paralelismo no Nível do Processador

• Computadores Matriciais

Unidade de ControleInstruçõesenviadas

em broadcast

Processador

Memória

Gradeprocessador/memória8x8

22

Paralelismo no Nível do Processador

• Computadores Vetoriais

Registradores vetorias

ULA

Paralelismo no Nível do Processador

• Multiprocessadores

emória

partilhad

a

Proc.1 Proc.2 Proc.3 Proc.4

Me

Comp

Paralelismo no Nível do Processador

• Multiprocessadores

emória

partilhad

a

Mem.local Mem.local Mem.local Mem.local

Proc.1 Proc.2 Proc.3 Proc.4

Me

Comp

23

Paralelismo no Nível do Processador

• Multicomputadores (cluster)

C2

C1 C3

• Memória

Organização de Sistemas Computacionais

4GB DDR3 DRAM, 204-pin SO-DIMM (hynix)Fonte: Wikipedia, Autor: Tobias b köhler

24

Memória

• Hierarquia• Características

– Localização– CapacidadeUnidade de transferência– Unidade de transferência

– Método de Acesso– Performance– Tipo físico– Características físicas– Organização

Memória

• Hierarquia– Registradores– Cache

• Nível 1• Nível 2 p

ode Ace

sso

Nível 2– Memória principal

• RAM– Memória Secundária

• Cache de Disco• Disco• Fita

Custo

Cap

acidad

e,Te

m

Memória

• Localização– CPU

• Registradores, Cache

– Interna• RAM, ROM

– Externa• Armazenamento (Storage)

25

Memória

• Capacidade– Word size (Tamanho de Palavra)

• Unidade natural da organização.

– Quantidade de Palavras• ou Bytes

Memória

• Unidade de Transferência– Interna

• Data bus width (largura de banda do barramento)

– Externa• Bloco, muito maior que a palavra

– Unidade de endereçamento• Tamanho menor de endereço que pode ser acessado

• Palavra Interna• Cluster

Memória

• Métodos de Acesso– Sequencial

• Começa no início e lê o conteúdo sequencialmenteT  d    d d  d  l li ã  d  • Tempo de acesso depende da localização dos dados e da posição anterior.– Ex.: fita (tape)

26

Memória

• Métodos de Acesso– Direto

• Blocos individuais têm endereço exclusivo (único)• Acesso feito por “saltos” e por pesquisa 

i lsequencial• Tempo de acesso depende da localização dos dados e da posição anterior.– Ex.: disco

Memória

• Métodos de Acesso (cont.) – Aleatório (Random)

• Endereços individuais identificam exatamente as localizaçõesT  d    i d d  d  l li ã    d  • Tempo de acesso independe da localização ou de acessos anteriores.– Ex.: RAM

Memória

• Métodos de Acesso (cont.) – Associativo

• Os dados são localizados pelo conteúdo de uma parte do armazenamentoT  d    i d d  d  l li ã    d  • Tempo de acesso independe da localização ou de acessos anteriores.– Ex.: Cache

27

Memória

• Performance– Tempo de acesso

• Tempo gasto entre a apresentação do endereço e a obtenção dos dados válidos.

– Tempo de ciclo de memóriaTempo de ciclo de memória• (Memory Cycle time)• Tempo gasto para a memória se “recuperar” antes do próximo acesso.

• Tempo de ciclo = acesso + recuperação– Taxa de transferencia (Transfer Rate)

• Taxa com a qual os dados são movidos

Memória

• Tipos físicos– Semicondutor

• RAM

– Magnético• Disco e Fita

– Ótico• CD e DVD

– Outros• Bolha (Bubble)• Holograma

Memória

• Características Físicas– Deterioração– Volatilidade– Apagável– Consumo de energia

28

Memória

• Organização – Arranjo físico de bits em palavras– Nem sempre óbvia

• Ex.: intercalado

Memória

• Memória de Semicondutor– RAM

• Nem todas as memórias de semicondutor são de acesso aleatórioR d/W i• Read/Write

• Volátil• Armazenamento temporário• Estática ou dinâmica

Memória

• RAM Dinâmica (Dynamic RAM – DRAM)– Bits armazenados como cargas em capacitores– Poucos elementos

• Capacitor e Chave (transistor).

Apenas uma linha por bit– Apenas uma linha por bit.– Construção simples

• Menor espaço por bit• Mais barato• Leitura relativamente lenta devido a alta resistência e alta capacitância.

– Memória principal

29

Memória

• RAM Dinâmica (Dynamic RAM – DRAM)– Necessita de uma escrita após uma leitura

• Leitura destrutiva

– O capacitor descarrega por si só, por isso necessita de “Refresh” (recarga) periodicamente.• Carga “vaza”

– “Refresh” é necessário mesmo quando ligada– Precisa de circuitos de “Refresh”

Memória

• RAM Dinâmica (Dynamic RAM – DRAM)– SIMM

• Single In‐line Memory Module

– DIMM• Dual In‐line Memory Module

– SODIMM• Small Outline Dual In‐line Memory Module

Memória

• DDR SDRAM (Double‐Data rate SDRAM)– É uma versão mais rápida da SDRAM.– Capaz de ler dados tanto na subida quanto na descida do clock do sistema, dobrando a taxa de transferência do chip de memória.

30

Memória

• RAM estática (Static RAM ‐ SRAM)– Bits armazenados como interruptores “on/off”– Muitos elementos

• 6 transistores por bit.– Construção complexaç p

• Maior espaço por bit• Mais caro• Mais rápida

– Sem carga para vazar• “Refresh” não é necessário quando ligada• Não precisa de circuitos de “Refresh”

– Memória cache

• Read Only Memory (ROM)– Armazenamento permanente– Microprogramação– Sub‐rotinas de Biblioteca

Memória

– Programas de Sistema (BIOS)– Tabelas de função

Memória

• Tipos de ROM– Escrita durante a manufatura (ROM)

• Muito cara para pequenas execuções– Programável (PROM)

• Necessita de equipamento especial para programação– Programável e Apagável

• Erasable Programmable (EPROM)– Apagável por UV

• Electrically Erasable (EEPROM)– Demoramais para gravar do que ler

• Flash memory– Apaga‐se toda a memória eletricamente

31

Memória

• Detalhes da Organização– Um chip 16Mbit pode ser organizado como 1M de palavras de 16 bit

– Um chip de 16Mbit pode ser organizado como uma matriz de 2048 x 2048 x 4bit• Reduz o número de pinos de endereço

– Endereços de linhas e de colunas multiplexados– 11 pinos de endereço (211=2048)– Adicionando 1 pino dobra‐se o range de valores, então a capacidade quadruplica (x4)

Memória

• Encapsulamento (Packaging)

0692

Memória

• Correção de Erros– Falha física (Hard Failure)– Defeito Permanente– Erro de Software (Soft Error)– Aleatório, não destrutivo– Dano à memória não permanente– Detecção de erros pelo código de Hamming

0693

32

Memória

• Função de Correção de Erros de Código

Memória

• Cache– Pequena quantidade de memória rápida– Fica entre a memória principal e a CPU– Pode fisicamente estar no chip ou no módulo da CPU

CPU Cache Memória Principal

Word Transfer Block Transfer

Memória

• Organização Típica da Memória Cache

Endereços

Buffer de

Pro

cess

ador

Cache

Dados

Endereços

Buffer deDados

ControleControle

Bar

ram

ento

33

Memória

• Operação da memória Cache– CPU requisita conteúdo do endereço de memória

– Verifica se os dados estão namemória cache• Se sim  lê da memória cache (rápido)• Se sim, lê da memória cache (rápido)• Se não, lê o bloco requisitado da memóriaprincipal para a memória cache

– Então entrega da memória cache para CPU• A memória cache coloca “tags” para identificarqual bloco da memória principal está em cada“slot” da memória cache

Memória

• Cache com MapeamentoDireto– Para cada item da memória principal existeexatamente umalocalização na cache localização na cache onde o item pode estar.

– Vários itens da memóriaprincipal compartilhamlocalizações na cache.

– Endereço é:• Módulo (número de blocos na cache).

06 98

Memória

• Tamanho importa– Custo

• Quanto mais memória, cache mais caro

– Velocidade• Quanto mais memória, cache mais rápido (até um ponto)

• Verificar a memória cache em busca de dados leva tempo

34

Memória Secundária (Externa)

• Tipos– Disco Magnético

• HD• RAID• Removível

– Ótico• CD‐ROM• CD‐Writable• CD‐R/W• DVD

– Fita Magnética

Memória Secundária

• Disco Magnético– Disco metálico ou plástico coberto por material magnético (óxido de ferro ‐ferrugem)

– Formas construtivas• Disquete (Floppy)• Disco rígido (Hard Disk ‐Winchester)• Disco rígido Removível

Memória Secundária

• Disco Magnético– Organização dos Dados e Formatação

• Anéis concêntricos ou trilhas• Espaços entre trilhas

R d ã  d       t     id d

Trilha

Setor

– Redução de espaços para aumentar a capacidade

• Mesmo número de bits por trilha– Densidade construtiva variável

• Velocidade angular constante• Trilhas divididas em setores• Tamanho mínimo do bloco é 1 setor• Pode haver mais de um setor por bloco

35

Memória Secundária

• Disco Magnético– Cabeça leitora fixa / móvel

• Cabeça leitora fixa– Uma cabeça de leitura / escrita por trilhaCabeças montadas em um braço fixo e rígido– Cabeças montadas em um braço fixo e rígido

• Cabeça leitora móvel– Uma cabeça de leitura/escrita por lado– Cabeças montadas em um braço móvel

Memória Secundária

• Disco Magnético– Removível ou Não

• Disco Removível– Pode ser removido de seu drive (baia) e trocado por outro discooutro disco

– Fornece capacidade de armazenamento ilimitada– Transferência de dados simples entre sistemas

• Disco Não Removível– Montado permanentemente no drive

07104

Memória Secundária

• Disquete (Floppy Disk)– Inventado na IBM por Alan Shugart em 1967 – 8”, 5.25”, 3.5”– Pouca capacidade

• até 1.44 Mbyte• 2.88MB não popular

– Lento– Universal– Barato

36

Memória Secundária

• Disco rígido (Winchester Hard Disk)– Desenvolvido pela IBM em Winchester (USA) ‐1950

– Unidade selada– Um ou mais discos– Cabeças “voam” na camada  de ar da superfície

– Cabeça muito pequena– Adquirindo robustez

07106

Memória Secundária

• Disco rígido (Winchester Hard Disk)– Universal– Barato– Mais rápido armazenamento externo– Sempre aumentando a capacidade

• Unidades atuais possuem muitos Gigabytes de espaço

Memória Secundária

• Disco Rígido

37

Memória Secundária

• Discos Removíveis (Removable Hard Disk)– ZIP

• Barato• Muito comumS    MB• Somente 100 MB

– JAZ• Não é barato• 1GB

– L‐120 (a: drive)• Também lê disquetes de 3.5” (floppy)

Memória Secundária

• Velocidade– Tempo de procura

• Posicionar a cabeça na trilha certa

– Latência (rotacional)• Esperar o dado girar até embaixo da cabeça

– Tempo de Acesso = Procura + Latência– Taxa de Transferência

Memória Secundária

• RAID – Redundant Array of Inexpensive Disks

• (Redundant Array of Independent Disks)– 6 níveis de uso comum– Não é hierarquiaNão é hierarquia– Conjunto de discos (físicos) vistos como um único “drive” lógico pelo sistema operacional

– Dados distribuídos através dos “drives” físicos– Pode usar capacidade redundante paraarmazenar informações de paridade

38

Memória Secundária

• RAID 0– Arranjo de discos segmentados sem tolerância a falhas• Dados distribuídos através de todos os discos• Sem redundância• Distribuição Circular (Round Robin)• Sem overhead envolvido no cálculo de paridade

M

I

E

A

N

J

F

B

O

K

G

C

etc...

L

H

D

ABCDEFGHIJKLMNO...

Memória Secundária

• RAID 0 – Arranjo de discos segmentados sem tolerância a falhas• Não é um “RAID” verdadeiro porque não é tolerante a falhas

• Projeto muito simples– Fácil de implementar

• Aumento de velocidade– Requisições múltiplas de dados provavelmente não no mesmo disco

– Procura nos discos em paralelo– Um conjunto de dados é facilmente distribuído através de muitos discos

Memória Secundária

• RAID 0 – Arranjo de discos segmentados sem tolerância a falhas• A falha de um drive implica na perda de todo o grupo.• Nunca deve ser utilizado em ambientes de missão • Nunca deve ser utilizado em ambientes de missão crítica.

• Recomendado para:– Produção e edição de Vídeo– Edição de Imagens– Aplicações de pré‐impressão– Qualquer aplicação que requeira grande largura de banda (bandwidth)

39

Memória Externa

• RAID 1– Espelhamento e duplicação

• Discos espelhados• Dados distribuídos através dos discos  ó i  d   d    d  d d    di  • 2 cópias de cada grupo de dados em discos 

separados

M

I

E

A

N

J

F

B

O

K

G

C

etc...

L

H

D

ABCDEFGHIJKLMNO...

M

I

E

A

N

J

F

B

O

K

G

C

etc...

L

H

D

Memória Externa

• RAID 1– Espelhamento e duplicação

• Leitura feita de um drive ou de outro• Gravação para ambos• Recovery (recuperação) é simplesy ( p ç ) p

– troca disco defeituoso & reespelhamento– Sem tempo de parada

• Caro (discos duplicados)• Sob certas circunstâncias, pode suportar algumas falhas de drive simultâneas

• Projeto mais simples de sistema RAID de armazenamento

Memória Externa

• RAID 1– Espelhamento e duplicação

• O mais alto overhead de todos os tipos de RAID– Ineficiente

• Recomendada implementação em hardware.p ç• Suporta hot swap do disco com falha quando implementado em software

• Recomendado para:– Contabilidade– Folha de pagamento– Financeira– Qualquer aplicação que requeira altíssima disponibilidade

40

Memória Secundária

• RAID 2– Código de Correção de Erros de Hamming

• Hamming Code ECC• Cada bit da palavra é escrito para um disco. Cada 

l       ódi  d   ã  d    d  palavra tem seu código de correção de erros de Hamming escrito nos discos de ECC.

D0

C0

B0

A0

D2

C2

B2

A2

ECC/Dx

ECC/Cx

ECC/Bx

ECC/Ax

ECC/Dz

ECC/Cz

ECC/Bz

ECC/Az

A0 A1 A2 A3B0 B1 B2 B3C0 C1 C2 C3D0 D1 D2 D3

D1

C1

B1

A1

D3

C3

B3

A3

ECC/Dy

ECC/Cy

ECC/By

ECC/Ay

Bit 0 Bit 1 Bit 2 Bit 3 Paridade x Paridade y Paridade z

Memória Secundária

• RAID 2– Código de Correção de Erros de Hamming

• Cálculo de correção de erros através de bits correspondentes nos discos

• Discos de paridademúltipla armazenam o p pHamming ECC em posições correspondentes

• Muitas redundâncias– Caro

• Taxa de transações são iguais a de um único disco no máximo

• Sem implementações comerciais– Inviável

Memória Secundária

• RAID 3– Transferência em paralelo com paridade

• Similar ao RAID 2• O bloco de dados é segmentado e escrito nos di  d  d d  A  id d  d    é discos de dados. A paridade dos segmentos é gerada no momento da gravação, gravada no disco de paridade e verificada na leitura.

D0

C0

B0

A0

D2

C2

B2

A2

Paridade D

Paridade C

Paridade B

Paridade A

A0 A1 A2 A3B0 B1 B2 B3C0 C1 C2 C3D0 D1 D2 D3

D1

C1

B1

A1

D3

C3

B3

A3

Segmentos 0 Segmentos 1 Segmentos 2 Segmentos 3 Paridade

41

Memória Secundária

• RAID 3– Transferência em paralelo com paridade

• Requer no mínimo 3 drives para implementação• Somente um disco redundante, não importando o 

h  d   jtamanho do arranjo• Bit de paridade simples para cada conjunto de bits correspondentes

• O dado no drive com falha pode ser reconstruído pelos dados remanescentes e pelas informações de paridade

Memória Secundária

• RAID 3– Transferência em paralelo com paridade

• Falhas de disco geram impacto insignificante no processamento

• Projeto do controlador é razoavelmente complexoj p• Implementação em software muito difícil e utilizaos recursos da máquina intensivamente

• Recomendado para:– Produção e transmissão de Vídeo (ao vivo)– Edição de Imagens e de Vídeo– Qualquer aplicação que requeira alto poder de processamento

Memória Secundária

• RAID 4– Discos de dados independentes com disco de paridade compartilhado• Cada bloco inteiro é escrito em um disco de dados. A paridade dos blocos é gerada no momento da gravação, gravada no disco de paridade e verificada na leitura.

D0

C0

B0

A0

D2

C2

B2

A2

Paridade D

Paridade C

Paridade B

Paridade A

A0 A1 A2 A3B0 B1 B2 B3C0 C1 C2 C3D0 D1 D2 D3

D1

C1

B1

A1

D3

C3

B3

A3

Blocos 0 Blocos 1 Blocos 2 Blocos 3 Paridade

42

Memória Secundária

• RAID 4– Discos de dados independentes com disco de paridade compartilhado• Requer no mínimo 3 drives para implementação• Projeto do controlador muito complexo• Cada disco opera independentemente• Bom para alto índice de E/S• Reconstrução dos dados difícil e ineficiente no caso de haver falha de disco

Memória Secundária

• RAID 5– Discos de dados independentes com blocos de paridade distribuídos• Cada bloco de dados completo é escrito em um disco de dados. A paridade é gerada para os blocos da mesma faixa e gerada na gravação, gravada no local distribuído e verificada na leitura.

Paridade 3

A2

A1

A0

C3

C2

Paridade 1

C0

A0 B0 C0A1 B1 D1A2 C2 D2B3 C3 D3

B3

Paridade 2

B1

B0

D3

D2

D1

Paridade 0

Blocos A Blocos B Blocos C Blocos D

Segmento 0

Segmento 1

Segmento 2

Segmento 3

Memória Secundária

• RAID 5– Discos de dados independentes com blocos de paridade distribuídos• Paridade distribuída através de todos os discos• Faixa de paridade alocada por Round Robin• Evita o gargalo do RAID 4 no disco de paridade• Falha de disco tem médio impacto no processamento

• Projeto de controlador mais complexo

43

Memória Secundária

• RAID 5– Discos de dados independentes com blocos de paridade distribuídos• Difícil reconstrução de dados no caso de falha de disco (comparado ao RAID 1)

• Nível de RAID mais versátil• Recomendado para

– Servidores de Arquivo e Aplicação– Servidores de Banco de dados– Servidores de Web, E‐mail, e News– Servidores de Intranet

Memória Secundária

• RAID 6– Discos de dados independentes com 2 esquemas de paridade distribuídos• Extensão do RAID 5 com dois esquemas de paridade independentes (Paridade Bidimensional).

Paridade D C4B4 D4 Segmento 4

Paridade 3

A2

A1

A0

C3

Paridade B

Paridade 1

C0

A0 B0 C0...

Paridade C

Paridade 2

B1

B0

D3

D2

Paridade A

Paridade 0

Blocos A Blocos B Blocos C Blocos D

Segmento 0

Segmento 1

Segmento 2

Segmento 3