Aula 3
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