·
Cursos Gerais ·
Organização de Computadores
Send your question to AI and receive an answer instantly
Recommended for you
1
Exercícios Resolvidos Arquitetura de Computadores - Memória Virtual e Paginamento POSCOMP
Organização de Computadores
UNISC
49
Multiprocessadores e Coerencia de Cache - Arquitetura de Computadores
Organização de Computadores
UNISC
45
Memória Virtual - Arquitetura de Computadores II
Organização de Computadores
UNISC
35
Apresentação Power Point sobre Entrada e Saída ES em Sistemas Operacionais
Organização de Computadores
UEPB
84
Arquitetura de Von Neumann e Unidade de Controle - Conceitos e Funções
Organização de Computadores
UEPB
62
Interrupcoes-Conceitos-e-Tipos
Organização de Computadores
UEPB
144
Codigos de Hamming - Detecção e Correção de Erros
Organização de Computadores
UEPB
77
Conjunto de Instruções da Arquitetura de Computadores
Organização de Computadores
UFS
73
Linguagem de Máquina e de Montagem na Arquitetura de Computadores
Organização de Computadores
UFS
3
Prova Organização de Computadores - Unip
Organização de Computadores
UNIP
Preview text
Arquitetura de Computadores II Prof Leonel Tedesco leoneltedescouniscbr Barramentos e sistemas de ES Arquitetura de Computadores II Leonel Tedesco Slide 2 Desempenho IO vs CPU Lei de Amdahl É precipitado negligenciar o desempenho de IO com o aumento de desempenho oferecido pelo paralelismo Exemplo Benchmark leva 90s de tempo de CPU 10s de tempo de IO Dobrando o número de CPUs a cada 2 anos IO não muda Year CPU time IO time Elapsed time IO time now 90s 10s 100s 10 2 45s 10s 55s 18 4 23s 10s 33s 31 6 11s 10s 21s 47 Arquitetura de Computadores II Leonel Tedesco Slide 3 RAID melhorando a disponibilidade do armazenamento em disco RAID Redundant Arrays of Inexpensive Disks Substituir discos grandes por vários pequenos Maior desempenho mais cabeças de leituraescrita Custo consumo e espaço discos menores são caracteristicamente mais eficientes e sua redundância mais barata Problema mais discos mais riscos Mesmo assim a redundância possui baixo custo Arquitetura de Computadores II Leonel Tedesco Slide 4 RAID 0 Não provê redundância O SO enxerga apenas um disco grande Alocação de blocos seqüenciais por discos separados striping Melhora o desempenho já que vários discos podem operar simultaneamente strip 0 strip 4 strip 8 strip 12 strip 1 strip 5 strip 9 strip 13 strip 2 strip 6 strip 10 strip 14 strip 3 strip 7 strip 11 strip 15 Arquitetura de Computadores II Leonel Tedesco Slide 5 RAID 1 Esquema para tolerância a falhas Cada escrita em um disco ocasiona uma segunda escrita em um disco adicional redundante espelhamento Bem mais caro mas caso um dos discos falhe o sistema possui um espelho daquele disco que falhou strip 0 strip 4 strip 8 strip 12 strip 1 strip 5 strip 9 strip 13 strip 2 strip 6 strip 10 strip 14 strip 3 strip 7 strip 11 strip 15 strip 0 strip 4 strip 8 strip 12 strip 1 strip 5 strip 9 strip 13 strip 2 strip 6 strip 10 strip 14 strip 3 strip 7 strip 11 strip 15 Arquitetura de Computadores II Leonel Tedesco Slide 6 RAID 2 N E discos eg 10 4 Divide dados em nível de bit através do N discos Muito complexo não utilizado na prática f0b b2 b1 b0 b3 f1b f2b Arquitetura de Computadores II Leonel Tedesco Slide 7 RAID 3 N 1 discos Dados divididos ao longo dos N discos em nível de byte Disco redundante armazena paridade Acesso de leitura Lê todos os discos Acesso de escrita Gera nova paridade e atualiza todos os discos Em caso de falha Utilizar paridade para reconstruir dados perdidos Pb b2 b1 b0 b3 Arquitetura de Computadores II Leonel Tedesco Slide 8 RAID 4 block 0 block 4 block 8 block 12 block 1 block 5 block 9 block 13 block 2 block 6 block 10 block 14 block 3 block 7 block 11 block 15 P03 P47 P811 P1215 N 1 discos Dados divididos ao longo dos N discos em nível de bloco Disco redundante armazena paridade para um grupo de blocos Acesso de leitura Lê apenas o disco que possui o bloco requerido Acesso de escrita Lê apenas o disco do bloco modificado e a paridade do disco Calcula nova paridade atualiza disco de dados e disco de paridade Em caso de falha Utilizar paridade para reconstruir dados perdidos Arquitetura de Computadores II Leonel Tedesco Slide 9 RAID 5 N 1 discos Do mesmo modo que no RAID 4 mas os blocos de paridade são distribuidos ao longo dos discos Evita que o disco de paridade seja um gargalo Bastante utilizado block 0 block 4 block 8 block 12 P1619 block 1 block 5 block 9 P1215 block 16 block 2 block 6 P811 block 13 block 17 block 3 P47 block 10 block 14 block 18 P03 block 7 block 11 block 15 block 19 Arquitetura de Computadores II Leonel Tedesco Slide 10 Resumidamente Esquema Armazenamento de informação Característica RAID 0 Alocação de blocos sequenciais por discos separados Ausência de redundância RAID 1 Cada escrita em um disco ocasiona uma segunda escrita em um disco adicional redundante Caro em função dos discos redundantes RAID 2 Divide dados em nível de bit através do N discos Complexidade de implementação RAID 3 Dados divididos ao longo dos N discos em nível de byte Disco redundante armazena paridade Uma leitura requer acesso a todos os discos RAID 4 Dados divididos ao longo dos N discos em nível de bloco Disco redundante armazena paridade para um grupo de blocos Bastante utilizado RAID 5 Armazenamento do mesmo modo que no RAID 4 mas os blocos de paridade são distribuídos ao longo dos discos evitando que o disco de paridade seja um gargalo Bastante utilizado Arquitetura de Computadores II Leonel Tedesco Slide 11 No modelo de Von Neumann Os barramentos são os que efetivamente fazem a comunicação entre memóriaprocessadorES Arquitetura de Computadores II Leonel Tedesco Slide 12 Barramento Um barramento nada mais é que Um conjunto de fios em que dados e os comandos do próprio barramento são transferidos Esses comandos de barramento são implementados por protocolos de comunicação que determinam que usa o barramento seus respectivos comandos e respostas Para usar um barramento um dispositivo cache memória ou ES deve requisitar o uso para ter exclusividade em um determinado espaço de tempo Uma operação em um barramento pode conter Comandos leitura escrita Endereços localização da mem a ser lida por exemplo Dados resposta ao comando de leitura da mem por exemplo Arquitetura de Computadores II Leonel Tedesco Slide 13 Barramento Vantagens Simplicidade fácil de instalar e dar manutenção Topologia mais comum Menor tamanho de conexões comparando com demais topologias Se nodo falha rede continua operando Arquitetura de Computadores II Leonel Tedesco Slide 14 Barramento Desvantagens Se conexão falhar toda rede falha falha do barramento implica particionamento total baixa confiabilidade e tolerância a falhas Não é adequada para tráfego pesado com múltiplos escritores Excelente para operações broadcast e multicast um escritor e múltiplos leitores Difícil de localizar e reparar falhas Altamente bloqueante Baixa escalabilidade Arquitetura de Computadores II Leonel Tedesco Slide 15 Arquiteturas de Barramento Barramento Único Periféricos e CPU estão ligados através de um único meio físico compartilhado Hardware requer portas tipo tristate que permitem o compartilhamento temporal Forma simples de interconexão Barramento acomoda dispositivos com características e velocidades diferentes Desempenho da comunicação cai Barramento Segmentado Dois níveis Hierárquico Irregular Memória P2 P3 CPU P1 Adaptador P1 P2 P3 CPU Memória Arquitetura de Computadores II Leonel Tedesco Slide 16 Barramento em dois níveis Processador e memória se comunicam através de barramento principal Barramentos de ES estão ligados ao barramento principal através de adaptadores compondo um segundo nível na arquitetura de barramentos Barramento principal pode funcionar a uma maior velocidade Adaptadores se encarregam da comunicação com barramentos de ES mais lentos Arquiteturas de Barramento Arquitetura de Computadores II Leonel Tedesco Slide 17 Barramento hierárquico Processador e memória se comunicam através de um barramento principal Backplane concentra toda ES do sistema e é ligado ao barramento principal só um adaptador é ligado ao barramento principal Ao backplane estão ligados diferentes barramentos de ES através de adaptadores Arquiteturas de Barramento Arquitetura de Computadores II Leonel Tedesco Slide 18 Processador Mestre Um PE Elemento de processamento é eleito mestre que controla acesso ao barramento PE mestre utiliza um algoritmo de escalonamento para determinar o próximo candidato ao uso do barramento Eg uma fila sem prioridade O escalonamento determina a prioridade de acesso ao barramento PE mestre realiza pollings conforme algoritmo de escalonamento para ver se o PE escalonado deseja usar o barramento Exemplo processador é o PE mestre controlando todos os acessos ao barramento porém perde muito tempo de CPU Além de fazer diversos pollings infrutíferos Compartilhamento do Barramento Arquitetura de Computadores II Leonel Tedesco Slide 19 Arbitragem Um árbitro decide qual PE terá o controle do barramento Cada PE tem sua própria linha de requisição Reqi normalmente gerando uma interrupção para o árbitro PE permanece aguardando o sinal de confirmação do árbitro Acki para então controlar o barramento A arbitragem deve balancear os seguintes critérios PEs com maior prioridade devem ser atendidos primeiro PEs de menor prioridade não podem ter atendimento postergado indefinidamente Gargalo Muitos fios de controle Compartilhamento do Barramento Arquitetura de Computadores II Leonel Tedesco Slide 20 Compartilhamento do Barramento Arquitetura de Computadores II Leonel Tedesco Slide 21 Colisão PEs escutam o barramento para ver se não tem mensagem trafegando Caso o barramento esteja livre podem enviar mensagem passando a ser temporariamente o dono do barramento Caso dois ou mais PE lançaram mensagens praticamente ao mesmo tempo gera colisão e PEs envolvidos tentam novamente dentro de um intervalo pseudoaleatório Necessita de um hardware especial que interfaceia com o barramento e detecta se ocorreu ou não colisão Não necessita de fios extras de controle Compartilhamento do Barramento Arquitetura de Computadores II Leonel Tedesco Slide 22 Token O acesso ao barramento é determinado com auxílio de uma mensagem especial chamada de token O PE que está com o token controla o barramento Os demais aguardam o recebimento do mesmo Quando dispositivo inicia sua operação na rede este recebe uma identificação e sabe para quem deve transmitir o token após recebêlo O token é transmitido de dispositivo para dispositivo normalmente em uma ordem tipo fila ou com uma prioridade prédeterminada número de vezes que recebe o token pode ser diferenciada Rede deve ter mecanismos para recuperar o token em caso de falha Compartilhamento do Barramento Arquitetura de Computadores II Leonel Tedesco Slide 23 Sistema Operacional e ES Programas de usuário podem requisitar serviços de ES através de chamadas de sistemas Os sistemas operacionais provêm rotinas que enviam comandos para os dispositivos de ES e lêem de volta o status É assim que a comunicação entre SO e ES é estabelecida Arquitetura de Computadores II Leonel Tedesco Slide 24 Observando o status de um dispositivo O SO precisa saber quando ocorre uma ação que envolve um dispositivo de ES Polling ou interrupção Polling o SO periodicamente lê os registradores status do dispositivo para checar se algum bit foi alterado Interrupção o dispositivo gera uma interrupção quando alguma ação é efetuada O SO identifica o dispositivo através da exceção e toma as devidas providências Arquitetura de Computadores II Leonel Tedesco Slide 25 Polling CPU possui controle total da comunicação Determina os instantes de tempo que ocorrerão transferências CPU periodicamente testa se algum dispositivo quer se comunicar A requisição pode ser diretamente em um porta de entrada da CPU que sinaliza o pedido Otimização pode ser feita com controladores CPU periodicamente testa registradores de estado dos controladores de ES Estes registradores sinalizam possíveis transferência a serem realizadas Arquitetura de Computadores II Leonel Tedesco Slide 26 Polling Controlador e Periférico Periférico transfere dados para controlador Coloca dados no barramento de dados Ativa sinal send Controlador armazena dados Dados lidos são colocados em buffers Responde ack para periférico Sinaliza dado presente para CPU ativando flag Controlador habilita novo envio de dados Remove ack se Flag desativada CPU já buscou Tem espaço no buffer local para mais dados Periférico habilita novo envio de dados Remove send ao detectar remoção de ack Arquitetura de Computadores II Leonel Tedesco Slide 27 Polling CPU e Controlador CPU verifica se tem dados para serem transferidos Executa polling periodicamente no registrador de estado CPU lê o dado do controlador Quando flag ativa Lê dado do barramento de dados Armazena dado em memória CPU avisa controlador de leitura com sucesso CPU envia sinal de controle para desativar a flag Periférico pode enviar novo dado Arquitetura de Computadores II Leonel Tedesco Slide 28 Polling em Vários Dispositivos 2 Verificação dos flags Prioridade implícita Normalmente atende apenas um periférico por polling Prioridade de atendimento ao menor número de periférico pode acontecer starvation Arquitetura de Computadores II Leonel Tedesco Slide 29 Polling em Vários Dispositivos 3 Solução para evitar starvation Leitura de mais de um periférico Esta solução pode causar muito atraso para a CPU Projetista decide em função de Número de periféricos Freqüência estimada dos pedidos de atendimento Freqüência de teste dentro do programa principal Existe alguma outra solução melhor Arquitetura de Computadores II Leonel Tedesco Slide 30 Interrupção Vantagem Evita tempo desperdiçado com múltiplos testes que é inerente ao polling Funcionamento CPUcontrolador é avisado pelo periférico que este deseja transmitirreceber dados Principais características de interrupções de ES Assincronismo em relação a qualquer instrução Ocorre a qualquer instante Seu tratamento NÃO quebra a execução da instrução corrente Teste de interrupção é feito depois da execução da instrução Arquitetura de Computadores II Leonel Tedesco Slide 31 Interrupção Procedimento ao Ocorrer Interrupção 1 Desabilitar interrupções temporariamente 2 Salvar contexto PC registradores 3 Identificar periférico 4 Desviar PC para rotina de tratamento da interrupção 5 Executar programa de interrupção 6 Recuperar contexto 7 Reabilitar interrupções Arquitetura de Computadores II Leonel Tedesco Slide 32 Interrupção Arquitetura de Computadores II Leonel Tedesco Slide 33 Ciclo de instrução com interrupções Arquitetura de Computadores II Leonel Tedesco Slide 34 Diagrama de estado de ciclo de instruções com interrupções Arquitetura de Computadores II Leonel Tedesco Slide 35 Classes de interrupções Programa Gerada por alguma condição que ocorre como resultado da execução de uma instrução Overflow aritmético divisão por zero tentativa de executar uma instrução fora do espaço de memória permitido ao usuário Timer Gerada por um temporizador dentro do processo permitindo que o sistema operacional realize certas funções regularmente ES Gerada por um controlador de ES para sinalizar o término normal de uma operação Falha de hardware Gerada por uma falha como falta de energia ou erro de paridade de memória Arquitetura de Computadores II Leonel Tedesco Slide 36 DMA Transferência Direta à Memória Problema Interrupção não necessita que CPU aguarde por eventos Porém CPU é responsável por realizar transferência de dados Solução DMA Funcionamento Dispositivo controlador DMA Controller DMAC é responsável pela transferência de dados Interação ES e Memória através de DMAC Arquitetura de Computadores II Leonel Tedesco Slide 37 DMA Transferência Direta à Memória Arquitetura de Computadores II Leonel Tedesco Slide 38 DMA Transferência Direta à Memória Características de funcionamento Mecanismos de interrupção continuam sendo utilizados Mas apenas no término de um evento de ES ou na ocorrência de erros Comparando com polling e interrupção DMA deve ser utilizado para interface de periféricos que necessitem de grande vazão Durante operação DMAC se torna mestre do barramento e controla transferência entre ES e Memória Arquitetura de Computadores II Leonel Tedesco Slide 39 DMA Transferência Direta à Memória Considerações Se a CPU precisar do barramento durante o DMA ocorrerá atraso uma vez que a memória está ocupada Utilizando caches no processador o desempenho irá melhorar uma vez que o processador não precisará aguardar pela liberação do barramento Arquitetura de Computadores II Leonel Tedesco Slide 40 Passos Genéricos na Transferência com DMA CPU programa DMAC com Identificação do dispositivo que solicitou DMA Operação a ser realizada no dispositivo escritaleitura Endereço origem e destino da memória principal e do periférico Número de bytes a serem transmitidos DMAC assume barramento iniciando a operação Transferência inicia quando dado está disponível O DMAC fornece o endereço de leitura ou escrita Se requisição necessitar mais de uma transferência o DMAC gera próximo endereço de memória Por meio deste mecanismo o DMA pode transferir milhares de bytes do entre periférico e memória sem interromper a CPU Arquitetura de Computadores II Leonel Tedesco Slide 41 Passos Genéricos na Transferência com DMA Concluída transferência de DMA DMAC interrompe CPU que poderá verificar se operação foi realizada com sucesso examinando memória ou interrogando DMAC Uma vez programado DMAC DMAC e CPU operam em paralelo Arquitetura de Computadores II Leonel Tedesco Slide 42 Compartilhamento do Barramento entre CPU e DMAC Halt Transferência de Bloco Método simples onde DMAC suspende processador ganha barramento Usa pino de HOLD CPU pode realizar operações que não fazem acesso ao barramento Passos Uma vez programado DMAC este envia sinal de HOLD para a CPU CPU conclui instrução corrente e envia HOLDACK DMAC recebendo HOLDACK tem acesso total ao barramento Ao término da transferência DMAC remove HOLD Entrelaçado interleaved DMAC disputa barramento com CPU para fazer acesso à memória Controlador do barramento pode dar prioridade a CPU para evitar atrasos
Send your question to AI and receive an answer instantly
Recommended for you
1
Exercícios Resolvidos Arquitetura de Computadores - Memória Virtual e Paginamento POSCOMP
Organização de Computadores
UNISC
49
Multiprocessadores e Coerencia de Cache - Arquitetura de Computadores
Organização de Computadores
UNISC
45
Memória Virtual - Arquitetura de Computadores II
Organização de Computadores
UNISC
35
Apresentação Power Point sobre Entrada e Saída ES em Sistemas Operacionais
Organização de Computadores
UEPB
84
Arquitetura de Von Neumann e Unidade de Controle - Conceitos e Funções
Organização de Computadores
UEPB
62
Interrupcoes-Conceitos-e-Tipos
Organização de Computadores
UEPB
144
Codigos de Hamming - Detecção e Correção de Erros
Organização de Computadores
UEPB
77
Conjunto de Instruções da Arquitetura de Computadores
Organização de Computadores
UFS
73
Linguagem de Máquina e de Montagem na Arquitetura de Computadores
Organização de Computadores
UFS
3
Prova Organização de Computadores - Unip
Organização de Computadores
UNIP
Preview text
Arquitetura de Computadores II Prof Leonel Tedesco leoneltedescouniscbr Barramentos e sistemas de ES Arquitetura de Computadores II Leonel Tedesco Slide 2 Desempenho IO vs CPU Lei de Amdahl É precipitado negligenciar o desempenho de IO com o aumento de desempenho oferecido pelo paralelismo Exemplo Benchmark leva 90s de tempo de CPU 10s de tempo de IO Dobrando o número de CPUs a cada 2 anos IO não muda Year CPU time IO time Elapsed time IO time now 90s 10s 100s 10 2 45s 10s 55s 18 4 23s 10s 33s 31 6 11s 10s 21s 47 Arquitetura de Computadores II Leonel Tedesco Slide 3 RAID melhorando a disponibilidade do armazenamento em disco RAID Redundant Arrays of Inexpensive Disks Substituir discos grandes por vários pequenos Maior desempenho mais cabeças de leituraescrita Custo consumo e espaço discos menores são caracteristicamente mais eficientes e sua redundância mais barata Problema mais discos mais riscos Mesmo assim a redundância possui baixo custo Arquitetura de Computadores II Leonel Tedesco Slide 4 RAID 0 Não provê redundância O SO enxerga apenas um disco grande Alocação de blocos seqüenciais por discos separados striping Melhora o desempenho já que vários discos podem operar simultaneamente strip 0 strip 4 strip 8 strip 12 strip 1 strip 5 strip 9 strip 13 strip 2 strip 6 strip 10 strip 14 strip 3 strip 7 strip 11 strip 15 Arquitetura de Computadores II Leonel Tedesco Slide 5 RAID 1 Esquema para tolerância a falhas Cada escrita em um disco ocasiona uma segunda escrita em um disco adicional redundante espelhamento Bem mais caro mas caso um dos discos falhe o sistema possui um espelho daquele disco que falhou strip 0 strip 4 strip 8 strip 12 strip 1 strip 5 strip 9 strip 13 strip 2 strip 6 strip 10 strip 14 strip 3 strip 7 strip 11 strip 15 strip 0 strip 4 strip 8 strip 12 strip 1 strip 5 strip 9 strip 13 strip 2 strip 6 strip 10 strip 14 strip 3 strip 7 strip 11 strip 15 Arquitetura de Computadores II Leonel Tedesco Slide 6 RAID 2 N E discos eg 10 4 Divide dados em nível de bit através do N discos Muito complexo não utilizado na prática f0b b2 b1 b0 b3 f1b f2b Arquitetura de Computadores II Leonel Tedesco Slide 7 RAID 3 N 1 discos Dados divididos ao longo dos N discos em nível de byte Disco redundante armazena paridade Acesso de leitura Lê todos os discos Acesso de escrita Gera nova paridade e atualiza todos os discos Em caso de falha Utilizar paridade para reconstruir dados perdidos Pb b2 b1 b0 b3 Arquitetura de Computadores II Leonel Tedesco Slide 8 RAID 4 block 0 block 4 block 8 block 12 block 1 block 5 block 9 block 13 block 2 block 6 block 10 block 14 block 3 block 7 block 11 block 15 P03 P47 P811 P1215 N 1 discos Dados divididos ao longo dos N discos em nível de bloco Disco redundante armazena paridade para um grupo de blocos Acesso de leitura Lê apenas o disco que possui o bloco requerido Acesso de escrita Lê apenas o disco do bloco modificado e a paridade do disco Calcula nova paridade atualiza disco de dados e disco de paridade Em caso de falha Utilizar paridade para reconstruir dados perdidos Arquitetura de Computadores II Leonel Tedesco Slide 9 RAID 5 N 1 discos Do mesmo modo que no RAID 4 mas os blocos de paridade são distribuidos ao longo dos discos Evita que o disco de paridade seja um gargalo Bastante utilizado block 0 block 4 block 8 block 12 P1619 block 1 block 5 block 9 P1215 block 16 block 2 block 6 P811 block 13 block 17 block 3 P47 block 10 block 14 block 18 P03 block 7 block 11 block 15 block 19 Arquitetura de Computadores II Leonel Tedesco Slide 10 Resumidamente Esquema Armazenamento de informação Característica RAID 0 Alocação de blocos sequenciais por discos separados Ausência de redundância RAID 1 Cada escrita em um disco ocasiona uma segunda escrita em um disco adicional redundante Caro em função dos discos redundantes RAID 2 Divide dados em nível de bit através do N discos Complexidade de implementação RAID 3 Dados divididos ao longo dos N discos em nível de byte Disco redundante armazena paridade Uma leitura requer acesso a todos os discos RAID 4 Dados divididos ao longo dos N discos em nível de bloco Disco redundante armazena paridade para um grupo de blocos Bastante utilizado RAID 5 Armazenamento do mesmo modo que no RAID 4 mas os blocos de paridade são distribuídos ao longo dos discos evitando que o disco de paridade seja um gargalo Bastante utilizado Arquitetura de Computadores II Leonel Tedesco Slide 11 No modelo de Von Neumann Os barramentos são os que efetivamente fazem a comunicação entre memóriaprocessadorES Arquitetura de Computadores II Leonel Tedesco Slide 12 Barramento Um barramento nada mais é que Um conjunto de fios em que dados e os comandos do próprio barramento são transferidos Esses comandos de barramento são implementados por protocolos de comunicação que determinam que usa o barramento seus respectivos comandos e respostas Para usar um barramento um dispositivo cache memória ou ES deve requisitar o uso para ter exclusividade em um determinado espaço de tempo Uma operação em um barramento pode conter Comandos leitura escrita Endereços localização da mem a ser lida por exemplo Dados resposta ao comando de leitura da mem por exemplo Arquitetura de Computadores II Leonel Tedesco Slide 13 Barramento Vantagens Simplicidade fácil de instalar e dar manutenção Topologia mais comum Menor tamanho de conexões comparando com demais topologias Se nodo falha rede continua operando Arquitetura de Computadores II Leonel Tedesco Slide 14 Barramento Desvantagens Se conexão falhar toda rede falha falha do barramento implica particionamento total baixa confiabilidade e tolerância a falhas Não é adequada para tráfego pesado com múltiplos escritores Excelente para operações broadcast e multicast um escritor e múltiplos leitores Difícil de localizar e reparar falhas Altamente bloqueante Baixa escalabilidade Arquitetura de Computadores II Leonel Tedesco Slide 15 Arquiteturas de Barramento Barramento Único Periféricos e CPU estão ligados através de um único meio físico compartilhado Hardware requer portas tipo tristate que permitem o compartilhamento temporal Forma simples de interconexão Barramento acomoda dispositivos com características e velocidades diferentes Desempenho da comunicação cai Barramento Segmentado Dois níveis Hierárquico Irregular Memória P2 P3 CPU P1 Adaptador P1 P2 P3 CPU Memória Arquitetura de Computadores II Leonel Tedesco Slide 16 Barramento em dois níveis Processador e memória se comunicam através de barramento principal Barramentos de ES estão ligados ao barramento principal através de adaptadores compondo um segundo nível na arquitetura de barramentos Barramento principal pode funcionar a uma maior velocidade Adaptadores se encarregam da comunicação com barramentos de ES mais lentos Arquiteturas de Barramento Arquitetura de Computadores II Leonel Tedesco Slide 17 Barramento hierárquico Processador e memória se comunicam através de um barramento principal Backplane concentra toda ES do sistema e é ligado ao barramento principal só um adaptador é ligado ao barramento principal Ao backplane estão ligados diferentes barramentos de ES através de adaptadores Arquiteturas de Barramento Arquitetura de Computadores II Leonel Tedesco Slide 18 Processador Mestre Um PE Elemento de processamento é eleito mestre que controla acesso ao barramento PE mestre utiliza um algoritmo de escalonamento para determinar o próximo candidato ao uso do barramento Eg uma fila sem prioridade O escalonamento determina a prioridade de acesso ao barramento PE mestre realiza pollings conforme algoritmo de escalonamento para ver se o PE escalonado deseja usar o barramento Exemplo processador é o PE mestre controlando todos os acessos ao barramento porém perde muito tempo de CPU Além de fazer diversos pollings infrutíferos Compartilhamento do Barramento Arquitetura de Computadores II Leonel Tedesco Slide 19 Arbitragem Um árbitro decide qual PE terá o controle do barramento Cada PE tem sua própria linha de requisição Reqi normalmente gerando uma interrupção para o árbitro PE permanece aguardando o sinal de confirmação do árbitro Acki para então controlar o barramento A arbitragem deve balancear os seguintes critérios PEs com maior prioridade devem ser atendidos primeiro PEs de menor prioridade não podem ter atendimento postergado indefinidamente Gargalo Muitos fios de controle Compartilhamento do Barramento Arquitetura de Computadores II Leonel Tedesco Slide 20 Compartilhamento do Barramento Arquitetura de Computadores II Leonel Tedesco Slide 21 Colisão PEs escutam o barramento para ver se não tem mensagem trafegando Caso o barramento esteja livre podem enviar mensagem passando a ser temporariamente o dono do barramento Caso dois ou mais PE lançaram mensagens praticamente ao mesmo tempo gera colisão e PEs envolvidos tentam novamente dentro de um intervalo pseudoaleatório Necessita de um hardware especial que interfaceia com o barramento e detecta se ocorreu ou não colisão Não necessita de fios extras de controle Compartilhamento do Barramento Arquitetura de Computadores II Leonel Tedesco Slide 22 Token O acesso ao barramento é determinado com auxílio de uma mensagem especial chamada de token O PE que está com o token controla o barramento Os demais aguardam o recebimento do mesmo Quando dispositivo inicia sua operação na rede este recebe uma identificação e sabe para quem deve transmitir o token após recebêlo O token é transmitido de dispositivo para dispositivo normalmente em uma ordem tipo fila ou com uma prioridade prédeterminada número de vezes que recebe o token pode ser diferenciada Rede deve ter mecanismos para recuperar o token em caso de falha Compartilhamento do Barramento Arquitetura de Computadores II Leonel Tedesco Slide 23 Sistema Operacional e ES Programas de usuário podem requisitar serviços de ES através de chamadas de sistemas Os sistemas operacionais provêm rotinas que enviam comandos para os dispositivos de ES e lêem de volta o status É assim que a comunicação entre SO e ES é estabelecida Arquitetura de Computadores II Leonel Tedesco Slide 24 Observando o status de um dispositivo O SO precisa saber quando ocorre uma ação que envolve um dispositivo de ES Polling ou interrupção Polling o SO periodicamente lê os registradores status do dispositivo para checar se algum bit foi alterado Interrupção o dispositivo gera uma interrupção quando alguma ação é efetuada O SO identifica o dispositivo através da exceção e toma as devidas providências Arquitetura de Computadores II Leonel Tedesco Slide 25 Polling CPU possui controle total da comunicação Determina os instantes de tempo que ocorrerão transferências CPU periodicamente testa se algum dispositivo quer se comunicar A requisição pode ser diretamente em um porta de entrada da CPU que sinaliza o pedido Otimização pode ser feita com controladores CPU periodicamente testa registradores de estado dos controladores de ES Estes registradores sinalizam possíveis transferência a serem realizadas Arquitetura de Computadores II Leonel Tedesco Slide 26 Polling Controlador e Periférico Periférico transfere dados para controlador Coloca dados no barramento de dados Ativa sinal send Controlador armazena dados Dados lidos são colocados em buffers Responde ack para periférico Sinaliza dado presente para CPU ativando flag Controlador habilita novo envio de dados Remove ack se Flag desativada CPU já buscou Tem espaço no buffer local para mais dados Periférico habilita novo envio de dados Remove send ao detectar remoção de ack Arquitetura de Computadores II Leonel Tedesco Slide 27 Polling CPU e Controlador CPU verifica se tem dados para serem transferidos Executa polling periodicamente no registrador de estado CPU lê o dado do controlador Quando flag ativa Lê dado do barramento de dados Armazena dado em memória CPU avisa controlador de leitura com sucesso CPU envia sinal de controle para desativar a flag Periférico pode enviar novo dado Arquitetura de Computadores II Leonel Tedesco Slide 28 Polling em Vários Dispositivos 2 Verificação dos flags Prioridade implícita Normalmente atende apenas um periférico por polling Prioridade de atendimento ao menor número de periférico pode acontecer starvation Arquitetura de Computadores II Leonel Tedesco Slide 29 Polling em Vários Dispositivos 3 Solução para evitar starvation Leitura de mais de um periférico Esta solução pode causar muito atraso para a CPU Projetista decide em função de Número de periféricos Freqüência estimada dos pedidos de atendimento Freqüência de teste dentro do programa principal Existe alguma outra solução melhor Arquitetura de Computadores II Leonel Tedesco Slide 30 Interrupção Vantagem Evita tempo desperdiçado com múltiplos testes que é inerente ao polling Funcionamento CPUcontrolador é avisado pelo periférico que este deseja transmitirreceber dados Principais características de interrupções de ES Assincronismo em relação a qualquer instrução Ocorre a qualquer instante Seu tratamento NÃO quebra a execução da instrução corrente Teste de interrupção é feito depois da execução da instrução Arquitetura de Computadores II Leonel Tedesco Slide 31 Interrupção Procedimento ao Ocorrer Interrupção 1 Desabilitar interrupções temporariamente 2 Salvar contexto PC registradores 3 Identificar periférico 4 Desviar PC para rotina de tratamento da interrupção 5 Executar programa de interrupção 6 Recuperar contexto 7 Reabilitar interrupções Arquitetura de Computadores II Leonel Tedesco Slide 32 Interrupção Arquitetura de Computadores II Leonel Tedesco Slide 33 Ciclo de instrução com interrupções Arquitetura de Computadores II Leonel Tedesco Slide 34 Diagrama de estado de ciclo de instruções com interrupções Arquitetura de Computadores II Leonel Tedesco Slide 35 Classes de interrupções Programa Gerada por alguma condição que ocorre como resultado da execução de uma instrução Overflow aritmético divisão por zero tentativa de executar uma instrução fora do espaço de memória permitido ao usuário Timer Gerada por um temporizador dentro do processo permitindo que o sistema operacional realize certas funções regularmente ES Gerada por um controlador de ES para sinalizar o término normal de uma operação Falha de hardware Gerada por uma falha como falta de energia ou erro de paridade de memória Arquitetura de Computadores II Leonel Tedesco Slide 36 DMA Transferência Direta à Memória Problema Interrupção não necessita que CPU aguarde por eventos Porém CPU é responsável por realizar transferência de dados Solução DMA Funcionamento Dispositivo controlador DMA Controller DMAC é responsável pela transferência de dados Interação ES e Memória através de DMAC Arquitetura de Computadores II Leonel Tedesco Slide 37 DMA Transferência Direta à Memória Arquitetura de Computadores II Leonel Tedesco Slide 38 DMA Transferência Direta à Memória Características de funcionamento Mecanismos de interrupção continuam sendo utilizados Mas apenas no término de um evento de ES ou na ocorrência de erros Comparando com polling e interrupção DMA deve ser utilizado para interface de periféricos que necessitem de grande vazão Durante operação DMAC se torna mestre do barramento e controla transferência entre ES e Memória Arquitetura de Computadores II Leonel Tedesco Slide 39 DMA Transferência Direta à Memória Considerações Se a CPU precisar do barramento durante o DMA ocorrerá atraso uma vez que a memória está ocupada Utilizando caches no processador o desempenho irá melhorar uma vez que o processador não precisará aguardar pela liberação do barramento Arquitetura de Computadores II Leonel Tedesco Slide 40 Passos Genéricos na Transferência com DMA CPU programa DMAC com Identificação do dispositivo que solicitou DMA Operação a ser realizada no dispositivo escritaleitura Endereço origem e destino da memória principal e do periférico Número de bytes a serem transmitidos DMAC assume barramento iniciando a operação Transferência inicia quando dado está disponível O DMAC fornece o endereço de leitura ou escrita Se requisição necessitar mais de uma transferência o DMAC gera próximo endereço de memória Por meio deste mecanismo o DMA pode transferir milhares de bytes do entre periférico e memória sem interromper a CPU Arquitetura de Computadores II Leonel Tedesco Slide 41 Passos Genéricos na Transferência com DMA Concluída transferência de DMA DMAC interrompe CPU que poderá verificar se operação foi realizada com sucesso examinando memória ou interrogando DMAC Uma vez programado DMAC DMAC e CPU operam em paralelo Arquitetura de Computadores II Leonel Tedesco Slide 42 Compartilhamento do Barramento entre CPU e DMAC Halt Transferência de Bloco Método simples onde DMAC suspende processador ganha barramento Usa pino de HOLD CPU pode realizar operações que não fazem acesso ao barramento Passos Uma vez programado DMAC este envia sinal de HOLD para a CPU CPU conclui instrução corrente e envia HOLDACK DMAC recebendo HOLDACK tem acesso total ao barramento Ao término da transferência DMAC remove HOLD Entrelaçado interleaved DMAC disputa barramento com CPU para fazer acesso à memória Controlador do barramento pode dar prioridade a CPU para evitar atrasos