Escolar Documentos
Profissional Documentos
Cultura Documentos
e Sistemas Operativos
Informática de Gestão, ESTiG/IPB
José Rufino
2020/2021
Parte AC5
Tecnologias de
Armazenamento e E/S
Objetivos
4
5.2 Hierarquia de armazenamento
• exemplo:
– com um tempo de acesso à memória principal de 100ns,
um tempo de acesso à cache L1 de 10ns e uma taxa de
sucesso (no acesso à cache L1) de 90%, o EAT será:
11
5.3 Memória Principal (RAM)
- Organização e Endereçamento
12
5.3 Memória Principal (RAM)
- Organização e Endereçamento
13
5.3 Memória Principal (RAM)
- Organização e Endereçamento
• exemplo (continuação):
checkpoint:
exercícios RAM.3
a RAM.5, RAM.9
• divisão do endereço
• desvantagens:
– a correspondência fixa entre “blocos de memória” e “blocos
da cache” faz com que, para certas sequências de acesso
à memória, a cache não seja devidamente rentabilizada
• ou seja, existe um desfasamento entre a localidade de
referências e a política de substituição dos blocos da cache
– necessidade de esquemas que resolvam este problema
20
5.4 Cache da CPU
- Cache Totalmente Associativa (fully associative cache)
• princípios:
– um bloco de memória pode-se associar a qq bloco da cache
– um endereço de memória divide-se apenas em 2 campos
• princípios:
– combinar correspondência direta com associativa
– um endereço de memória divide-se em 3 campos
• princípios (cont):
– o “número de blocos por conjunto” é o “número de vias, N”
– N é um parâmetro importante no desenho de uma cache
• uma cache de mapeamento direto representa um caso
especial de cache associativa por conjuntos, em que N=1
– em suma: divide-se a cache em conjuntos de blocos; asso-
ciam-se certos blocos da RAM sempre ao mesmo conjunto
(correspondência direta), mas em cada conjunto a
pesquisa é em paralelo (correspondência associativa)
checkpoint:
- simulador Camera
- exercício CACHE.5 24
5.4 Cache da CPU
- Políticas de Substituição
26
5.4 Cache da CPU
- Políticas de Substituição
27
5.4 Cache da CPU
- Políticas de Escrita
31
//5.4 Cache da CPU
- Caches Inclusivas vs Exclusivas
32
5.5 Armazenamento Secundário
33
5.5 Armazenamento Secundário
- Discos Magnéticos
• Componentes Básicos
– pratos (platters) de material não-magnético (vidro, liga de
alumínio), com uma camada de substrato ferro-magnético
– pratos montados num eixo (spindle), em elevada rotação
• 5400rpm, 5900rpm, 7200rpm, 10000rpm, 15000rpm, ...
35
5.5 Armazenamento Secundário
- Discos Magnéticos
38
5.5 Armazenamento Secundário
- Discos Magnéticos
• Parâmetros de Desempenho
– num disco magnético, existem várias características
que determinam a velocidade de acesso aos dados
• tempo de posicionamento (seek time): necessário para
o braço/“pente” se posicionar sobre o cilindro desejado
• latência ou atraso de rotação (rotational delay):
– tempo necessário para que o sector desejado fique
posicionado debaixo da cabeça de leitura/escrita
– o valor médio é função da velocidade de rotação:
exemplo: para um disco com velocidade
de rotação=7200rpm, o atraso (médio) de
rotação será de (60 / 7200) / 2 = 4.16ms
39
5.5 Armazenamento Secundário
- Discos Magnéticos checkpoint:
exercícios
• Parâmetros de Desempenho DISCOS.17,
DISCOS*.4
– tempo de acesso (acess time):
• tempo de posicionamento + atraso de rotação
– taxa de transferência:
• taxa à qual os dados podem ser lidos/escritos do/no disco
• Outros Parâmetros
– Tempo Médio até Falha (Mean Time To Failure - MTTF)
• determinado estatisticamente, com base na experimentação
• o valor do MTTF costuma ser muito elevado; não significa
que o dispositivo seja garantido por esse período de tempo
– o número máximo de vezes que o disco suporta ser ligado/
desligado (load cycle) é tb outro parâmetro importante …
• em discos de tipo GREEN deve ser elevado ... 40
5.5 Armazenamento Secundário
- Discos de Estado Sólido (SSDs)
41
5.5 Armazenamento Secundário
- Discos de Estado Sólido (SSDs)
• SATA 6Gb/s: leit. seq. até 550MB/s ; escr. seq. até 520 MB/s
• PCIe3 (NVMe): leit. seq. até 3500MB/s ; escr. seq. até 2500 MB/s
47
5.6 Armazenamento Quaternário
Fonte: http://en.wikipedia.org/wiki/Linear_Tape-Open
50
5.7 Subsistemas de E/S
52
5.7 Subsistemas de E/S
– módulos I/O
movem dados
entre a memória
principal e
interfaces de
dispositivos
específicos
(disco, impres.)
53
5.7 Subsistemas de E/S
– os interfaces de
dispositivos
asseguram-se
de que os
dispositivos e
o hospedeiro
estão prontos
para comunicar
o formato e o significado dos sinais
trocados entre os dispositivos e o
hospedeiro obedece a um protocolo
54
5.7 Subsistemas de E/S
– circuitos de
controlo nos
dispositivos
asseguram que
os dados dos
buffers são
transferidos
do/para o
dispositivo
56
5.7 Subsistemas de E/S
- Métodos de Controlo E/S
• a atividade E/S pode ser controlada de 4 formas:
1) E/S programada (polled IO) : é reservado um registo
por cada dispositivo; cada registo é continuamente
sondado (polling) para detetar a chegada de dados
➢
a CPU é responsável por averiguar se existem dados nos
periféricos, sendo desperdiçados muitos ciclos de relógio
porque, normalmente, não existem dados para processar
➢
adequado a cenários específicos, em que os periféricos
não têm inteligência suficiente para outros métodos E/S
➢
permite uma abordagem programática ao controlo E/S
(programador decide quando e quantas vezes interrogar)
57
5.7 Subsistemas de E/S
- Métodos de Controlo E/S
2) E/S guiada por interrupções (interrupt-driven IO) : pode
ser vista como abordagem reversa da E/S programada
➢
esta abordagem permite que a CPU esteja ocupada
com outras tarefas, enquanto não ocorrem pedidos E/S
➢
os periféricos interrompem a CPU quando necessário
➢
para atender uma interrupção, o Sistema Operativo:
➢
guarda o estado atual da CPU, localiza a Interrupt Service
Routine (ISR) específica da interrupção (através do vetor
de interrupções) e executa-a; quando a ISR termina, o
estado anterior da CPU é recuperado e o programa
interrompido retoma a sua execução
➢
algumas interrupções podem ser ignoradas 58
5.7 Subsistemas de E/S
- Métodos de Controlo E/S
2) E/S guiada por interrupções (cont.) :
Processamento de interrupções
Ciclo fetch-decode-execute
com suporte a Interrupções 59
5.7 Subsistemas de E/S
- Métodos de Controlo E/S
3) Acesso Direto à Memória (DMA) : o processamento
das transferências E/S é atribuído a um chip dedicado
➢
nas duas abordagens anteriores, é a CPU que move
os dados entre o dispositivo e a memória principal:
➢
este algoritmo é suficientemente simples para
60
poder ser executado por um controlador DMA
5.7 Subsistemas de E/S
- Métodos de Controlo E/S
3) DMA Address Bus
(cont.)
Data Bus
Control
Configuração DMA
➢
a CPU fornece ao controlador DMA a
origem, destino e quantidade de bytes
➢
o controlador DMA trabalha em paralelo
com a CPU, com quem partilha o barra-
mento, mas tem prioridade no acesso ao
barramento, para evitar timetouts de E/S
61
Interacção CPU ↔ Controlador DMA
checkpoint:
5.7 Subsistemas de E/S exercícios ES*.1, ES*.2 e ES*.3
- Dispositivos orientados ao Carácter vs Bloco
• dispositivos orientados ao carácter:
– processam/transferem um byte de cada vez
– exemplos: modems, teclados, ratos
– os teclados costumam usar E/S guiado por interrupções
– os ratos (USB) costumam usar E/S baseado em polling
• dispositivos orientados ao bloco:
– processam/transferem um bloco de cada vez
– exemplos: maioria dos sistemas de armazenamento em
massa (discos rígidos, unidades de fita magnética, ...)
– usam maioritariamente E/S baseada em DMA
62
5.7 Subsistemas de E/S
- Barramentos E/S
• barramento (bus): generica/, conjunto de linhas de
comunicação que transportam bits entre dispositivos
– bus ponto-a-ponto: liga um par de dispositivos (*)
– bus multi-ponto: partilhado por vários dispositivos (**)
• num dado instante, só um pode escrever no bus
• exige mecanismos de arbitragem p/ gerir a partilha
(*)
(**)
(**)
(*) USB hub
USB mouse
and keyboard (*) 63
5.7 Subsistemas de E/S
- Barramentos E/S
• visão de alto nível dos barramentos do sistema
Address
Data
Control
66
5.7 Subsistemas de E/S
// - Operação de Barramentos E/S
• exemplo: interação control. DMA ↔ control. do disco
– 1) controlador DMA: coloca no bus de endereços o identificador
do controlador do disco e ativa as linhas Request e Write
67
5.7 Subsistemas de E/S
// - Operação de Barramentos E/S
• exemplo: interação control. DMA ↔ control. do disco
– 2) controlador do disco: em resposta ao sinal de Request,
inspeciona o bus de endereços; o endereço detetado coincide
com o seu; logo, se o disco está disponível, ativa-se a linha
Ready no bus de controlo (handshake concluído)
68
5.7 Subsistemas de E/S
// - Operação de Barramentos E/S
• exemplo: interação control. DMA ↔ control. do disco
– 3) controlador DMA: coloca os dados no bus de dados e
desativa a linha Request
69
5.7 Subsistemas de E/S
// - Operação de Barramentos E/S
• exemplo: interação control. DMA ↔ control. do disco
– 4) controlador do disco: transfere os dados do bus de dados
para o buffer do disco e desativa a linha Ready
70
5.7 Subsistemas de E/S
// - Operação de Barramentos E/S
• exemplo: interação control. DMA ↔ control. do disco
– diagrama temporal para a operação de escrita anterior
71
Conclusões
74