1 / 24

Evolução Arquitetural e Microprogramação

ARQUITETURA DE COMPUTADORES II. Evolução Arquitetural e Microprogramação. Prof. César Augusto M. Marcon. Índice. 1. Evolução das Arquiteturas. 2. Multiprogramação. L1. L2. CPU. CPU. CPU. E. E. E. S. S. S. Memória. Memória. Memória. Evolução das Arquiteturas.

angus
Download Presentation

Evolução Arquitetural e Microprogramação

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ARQUITETURA DE COMPUTADORES II Evolução Arquitetural e Microprogramação Prof. César Augusto M. Marcon

  2. Índice 1. Evolução das Arquiteturas 2. Multiprogramação

  3. L1 L2 CPU CPU CPU E E E S S S Memória Memória Memória Evolução das Arquiteturas • Arquitetura Tradicional • Uma única unidade ativa • Unidades de E/S autônomas • Multiprogramação • Hierarquia de Memória • Acelerar alimentação da CPU

  4. CPU E S L1 L2 Memória F D E W F D E W F D E W Evolução das Arquiteturas • Pipeline • Separa memória de dados e instruções • Pipe de instrução (superescalar) • Pipe de dados (máquinas vetoriais) • Diversas técnicas arquiteturais

  5. Considerações • Processamento paralelo implica várias unidades simultaneamente ativas • Processador é uma unidade ativa, mas não a única • Partes autônomas dentro do processador, como ULAs • Sistemas autônomos fora do processador, como unidades de E/S • Processamento paralelo pode também existir em máquinas com apenas um processador

  6. Índice 1. Evolução das Arquiteturas 2. Multiprogramação

  7. Multiprogramação • Conceito • Técnica para executar simultaneamente vários processos • Habilitador • Unidades de E/S se tornaram ativas  Executam operações de forma autônoma liberando processador para outras tarefas • Funcionalidade • SO intercala CPU e E/S entre diferentes processos • Quando técnica é bem aplicada dá impressão de paralelismo espacial • Paralelismos • Processamento paralelo espacial entre CPU e unidades de E/S • Processamento paralelo temporal entre diferentes processos • Objetivos • Aumentar taxa de utilização do processador  mantê-lo ocupado maior parte do tempo • Aumentar chance do SO encontrar processo pronto para rodar (que não esteja esperando por E/S)

  8. c1 c2 c2 c3 c3 c1 c2 c3 c1 Multiprogramação • Exemplo de multiprogramação considerando CPU e E/S unidades autônomas P1 P2 P3 i1 o1 i2 o2 i3 o3 i1 o1 P1 Devido a CPU operar em paralelo com E/S i2 o2 P2 Ganho de tempo i3 o3 P3 CPU i1 i2 o1 i3 o2 o3 E/S

  9. Multiprogramação • A redução do tempo total de execução de aplicações depende de técnicas a serem aplicadas, tais como: • Escalonamento com time-sharing para a execução das tarefas • Alteração da ordem de chegada das tarefas • Múltiplas unidades de E/S

  10. MultiprogramaçãoCompartilhamento Temporal (Time Sharing) • Funcionalidade • Processos são executados em fatias de tempo (time-slices) • Ao termino da fatia, novos processos são escalonados • Processo preemptado vai para final da fila de pronto • Vantagens • Consegue atender todos processos • Tempo de resposta aceitável para aplicações não críticas • Evita que processos CPU boundtomem conta do processador • Compromissos • Time-slice muito pequeno  muita troca de processos  alto custo para o sistema por causa do salvamento de contexto • Achar time-slice que seja bom compromisso entre qualidade e custo

  11. MultiprogramaçãoAlteração da Ordem de Chegada • Alteração da ordem de chegada de tarefas é atribuição do escalonador • Escalonamento • Normalmente executado por um SO • Depende das necessidades da aplicação e características da arquitetura alvo e SO • Algoritmos de escalonamento • FIFO (First In First Out) • Primeiro a chegar é o primeiro a ser atendido • RR (Round-Robin) • Todo processo executa uma fatia de tempo (time-slice) e depois é escalonado o próximo • Processos são executados como uma FIFO, enquanto não terminarem • SJF (Smallest Job First) • Tarefas mais rápidas executadas primeiro • Evita que processos demorados elevem tempo de atendimento dos demais • RM (Rate Monotonic) • Tarefas que tem menor período são atendidas antes • EDF (Earliest deadline First) • Tarefas que tem deadline mais perto são atendidas antes • Escalonamento dinâmico • Utilizado com tarefas de tempo real • ... • Considerações de Alteração de Ordem de Chegada e Time-slice • Time-slices muito grande fazem comportamento do sistema parecer com FIFO, time-slices muito pequenos parecem com SJF (Smallest Job First)

  12. MultiprogramaçãoAlteração da Ordem de Chegada Exemplo de escalonamento RM (tarefas periódicas) • Fator de utilização • Aplicação  cj. de tarefas  = {1, 2} • Tarefas  = (período, computação) • Exemplo •  = {(5, 1), (7, 3)} U = 1 / 5 + 3 / 7 = 0.63 < ln 2  escalonável por RM

  13. MultiprogramaçãoAlteração da Ordem de Chegada  = {(5, 2), (7, 4)} : U = 2 / 5 + 4 / 7 = 34 / 35 = 0.97 Exemplos de escalonamento RM e EDF 0.97 > ln 2 não escalonável por RM  tarefa perde deadline 0.97 < 1 escalonável por EDF

  14. MultiprogramaçãoUtilização de Múltiplas Unidades de E/S • Objetivo • Aumentar desempenho geral do sistema pela redução do gargalo de entrada e saída de informações • Como alcançar • Aumentando número de unidades de E/S que participam do processamento paralelo • Conseqüência • Escalonador pode tratar vários pedidos de E/S simultaneamente • Aumento do Speed-Up (fator de aceleração) • Redução do tempo de execução de vários processos

  15. c1 c2 c2 c3 c3 c1 Multiprogramação • Aplicando as otimizações vistas • Alteração da ordem de chegada • Múltiplas unidades E/S • Escalonamento com time-sharing P1 P2 P3 i1 o1 i2 o2 i3 o3 i1 o1 P1 i2 o2 Devido a CPU operar em paralelo com E/S P2 i3 o3 Ganho de tempo P3 c2 c2 i2 o2 P2 c3 c3 c3 i3 o3 P3 c1 c1 Ganho de tempo o1 i1 P1 Devido aos itens I, II e III

  16. Exercícios • Dada uma aplicação composta por 2 tarefas (T0 e T1), sendo estas tarefas caracterizadas (em ns) em uma arquitetura alvo hipotética conforme tabela abaixo, faça um gráfico que mostre o uso da CPU e de uma entrada e saída • Verifique se a aplicação caracterizada acima é escalonável por Rate Monotonic(RM). Faça o mesmo para Earliest deadline First(EDF). Considere os seguintes dados a mais: • Utilize as técnicas aprendidas em multiprogramação para obter redução do tempo de execução global do sistema descrito, sendo estas: • time-sharing • múltiplas entradas e saídas • alteração da ordem de chegada • Dados para os exercícios • Sistema operacional com time-slice de 1ns • Troca de contexto com tempo desprezível • Processador com 2 unidades de entrada e saída

  17. Resposta de Exercícios Exercício 1

  18. Resposta de Exercícios Exercício 2

  19. Exercícios • Como a multiprogramação acelera a execução de um grupo de programas mesmo em uma máquina com apenas um processador? • Comente a afirmação: - ”A replicação de unidades de entrada e saída é um paralelismo em nível de aplicação” • Mostre algumas técnicas que podem ser utilizadas para melhorar o uso da CPU com multiprogramação. Mostre também as conseqüências do uso destas técnicas • Qual o grande problema da otimização tipo time sharing com time-slices muito pequenos? E com time-slices muito grandes?

  20. Exercícios • (ENADE 2008 - 59)No projeto de sistemas de tempo real, normalmente são atribuídas prioridades às tarefas. Escalonadores orientados à preempção por prioridade são utilizados para ordenar a execução de tarefas de modo a atender seus requisitos temporais. Inversão de prioridade é o termo utilizado para descrever a situação na qual a execução de uma tarefa de mais alta prioridade é suspensa em benefício de uma tarefa de menor prioridade. A inversão de prioridade pode ocorrer quando tarefas com diferentes prioridades necessitam utilizar um mesmo recurso simultaneamente. A duração desta inversão pode ser longa o suficiente para causar a perda do deadline das tarefas suspensas. Protocolos de sincronização em tempo real auxiliam limitando e minimizando a inversão de prioridades. Considere o conjunto de três tarefas com as seguintes características: • T1 tem prioridade 1 (mais alta), custo de execução total de 6 ut (unidades de tempo) e instante de chegada t1 = 6. A partir de seu início, após executar durante 1 ut, essa tarefa necessita do recurso compartilhado R1 durante 2 ut. Para concluir, utiliza o recurso compartilhado R2 durante 2 ut finais. • T2 tem prioridade 2, custo de execução total de 8 ut e instante de chegada t2 = 3. A partir de seu início, após executar durante 2 ut, a tarefa necessita do recurso compartilhado R2 durante 2 ut. • T3 tem prioridade 3 (mais baixa), custo total de execução de 12 ut e instante de chegada t3 = 0. A partir de seu início, após executar durante 2 ut, essa tarefa necessita do recurso compartilhado R1 durante 2 ut. • A partir dessas informações, desenhe a(s) linha(s) de tempo(s) para que um escalonamento dessas três tarefas em um único processador seja possível, utilizando-se o protocolo de herança de prioridade. Neste protocolo, enquanto uma tarefa de maior prioridade necessitar usar um recurso compartilhado com uma tarefa de menor prioridade, a tarefa de menor prioridade herda a prioridade da tarefa de mais alta prioridade.

  21. Resposta de Exercícios • Resposta: • No momento em que a tarefa T1 inicia, o recurso R2 está sendo usado pela tarefa T2, portanto bloqueado, e o recurso R1 está sendo usado pela tarefa T3, bloqueado também. Quando T1 requisita o recurso R1, fica bloqueada, pois R1 está em uso por T3. Com o protocolo de herança de prioridade, a tarefa T3 herda a prioridade de T1. Com isso, ganha o processador, pois passa a ter prioridade maior que T2. Desta forma, conclui o uso do recurso R1 e o libera. A tarefa T3 retorna à sua prioridade original e a tarefa T1 ganha o processador (pois é a de maior prioridade). Com isso, adquire, utiliza e libera o recurso R1 e continua a execução até solicitar o recurso R2, que está bloqueado pela tarefa T2. A tarefa T2 herda a prioridade de T1, conclui o uso do recurso R2 e o libera, retornando à sua prioridade original. Com isso, novamente a tarefa T1 ganha o processador e passa agora a utilizar o recurso R2, e depois o libera.

  22. Exercícios • Qual a importância do escalonamento de tarefas na multiprogramação, em relação ao tempo de execução global? Em relação à execução de programas de tempo real? • Mostre alguns algoritmos de escalonamento para aplicações de tempo real e a sua funcionalidade

  23. Resposta de Exercícios • Qual a importância do escalonamento de tarefas na multiprogramação, em relação ao tempo de execução global? Em relação à execução de programas de tempo real? • Caso alguma tarefa não esteja utilizando a CPU, ela pode ser preemptada, sendo escalonada uma nova tarefa, de forma que a CPU fique sempre ocupada. Desta forma, o tempo de execução global tende a reduzir. • Sistemas de tempo real se beneficiam do escalonamento possibilitando que tarefas de tempo real tenham privilégio de uso da CPU conforme seus deadlines. • Mostre alguns algoritmos de escalonamento para aplicações de tempo real e a sua funcionalidade • Rate-monotonic (RM): escalonamento estático. Tarefas com menor período são priorizadas pelo escalonador. • Earliest deadline first (EDF): escalonamento dinâmico. Tarefas com o deadline mais próximo são priorizadas pelo escalonador.

  24. Exercícios • Utilize as técnicas aprendidas em multiprogramação para obter redução do tempo de execução global do sistema descrito, sendo estas: • time-sharing • múltiplas entradas e saídas • alteração da ordem de chegada • Dados para os exercícios • Sistema operacional com time-slice de 1ns • Troca de contexto com tempo desprezível • Processador com 2 unidades de entrada e saída • Característica das tarefas frente à arquitetura alvo, considerando os tempos em ns • Faça um gráfico sem aplicar as técnicas • Faça um gráfico para a aplicação de cada técnica • Faça agora um gráfico que utilize as 3 técnicas conjuntas • Verifique se a aplicação é escalonável por rate monotonic e por EDF • Faça um gráfico comparando escalonamentos round-robin, rate monotonic e EDF, tendo os recursos disponíveis acima

More Related