Revisão de Arquiteturas de Computadores. Material de William Stallings, Computer Organization and Structure, 6th Edition.

Tamanho: px
Começar a partir da página:

Download "Revisão de Arquiteturas de Computadores. Material de William Stallings, Computer Organization and Structure, 6th Edition."

Transcrição

1 Revisão de Arquiteturas de Computadores Material de William Stallings, Computer Organization and Structure, 6th Edition.

2 Arquitetura e Organização Arquitetura Organização Atributos visíveis ao programador. Conjunto de instruções, tamanho de palavras, modos de endereçamento, etc. Como as características são implementadas. Sinais de controle, Interfaces, Hardware utilizado, etc.

3 Exemplos de arquitetura IA32 IA64 EM64T Arquitetura Intel de 32 bit. 386, 486, Pentium, Athlon 32 bits. Arquitetura de 64 bits da Intel. Itanium. Extensão de 64 bits para IA32 Pentium 4, 64 bits.

4 Estrutura e Função Estrutura Função A forma como os componentes se relacionam. Operação de cada componente como parte da estrutura.

5 Estrutura geral

6 Estrutura UCP

7 Evolução de desempenho Linhas gerais da evolução de desempenho dos computadores.

8 Evolução 1946 Eniac Cálculo de trajetória de mísseis. Decimal (não binário). 20 acumuladores de 10 dígitos válvulas. 30 toneladas m kw adições por segundo.

9 Estrutura de von Neumann

10 Computadores comerciais Univac I IBM 701 Cartões perfurados.

11 Segunda geração 1947 Invenção dos transístores. Substitui válvulas, Menor, Mais barato, Menor dissipação de energia, Estado sólido (mais confiável) DEC, PDP1

12 Terceira geração 1965 Microeletrônica Computador composto por portas, células de memória, etc. Diversos componentes em um chip. Integração em pequena escala ( 100 dispositivos/chip).

13 Outras gerações Integração em escala média ( dispositivos/chip). Integração em escala grande ( ). Integração em escala muito grande ( ) Atual Integração em escala ultra grande (> ).

14 Lei de Moore A densidade de componentes cresce. Inicial: Número de transístores num chip dobra a cada ano. Desde 1970: Número de transístores num chip dobra a cada 18 meses. O custo permanece aproximadamente constante. Distâncias menores permitem diminuir as densidades. Menos interconexões (para outros componentes) aumentam confiabilidade.

15 Lei de Moore

16 Memória Antigamente memória de núclo magnético. Memória semicondutora em Capacidade dobra aproximadamente a cada ano. Velocidade da memória cresce menos que a dos processadores.

17 Memórias lentas

18 Programas Todas as operações computáveis podem ser implementadas diretamente em hardware. Hardware fixo é inflexível. Usar hardware de propósito geral. Mudar sinais de controle para desempenhar diversas funções. Os sinais de controle são regulados por um programa.

19 Programa O que é um programa? Uma seqüência de passos. Em cada passo, uma operação aritmética, lógica ou de movimento de dados é executada. Para cada operação um conjunto distinto de sinais de controle deve ser acionado. Cada operação se identifica por um código distinto. Um circuito é responsável por acionar os sinais de controle de acordo com o código da operação.

20 Ciclo de instrução Uma operação é executada em dois passos: Busca, Execução.

21 Ciclo de busca O contador de programa (PC) mantém o endereço da próxima instrução a executar. O processador lê da memória a instrução indicada pelo PC. Incrementa o PC para a próxima posição. A instrução é colocada no registrador de instruções (IR). O processador interpreta a instrução e executa o que foi requerido.

22 Ciclo de execução Transferência de dados entre UCP e memória. Transferência de dados entre UCP e Entrada/Saída. Operações lógicas ou aritméticas sobre dados. Transferência de controle de execução. Combinações das anteriores.

23 Exemplo Soma valores nas posições 940 e 941 e guarda o resultado na posição 941.

24 Ciclo de execução

25 Módulos

26 Conexão de memória Um módulo de memória: Recebe e envia dados. Recebe endereços. Recebe sinais de controle.

27 Conexão de Entrada/Saída Um módulo de entrada e saída: Se de saída: Recebe dados da UCP. Envia dados para periférico. Se de entrada: Recebe dados de periféricos. Envia dados para UCP. Recebe sinais de controle da UCP. Envia sinais de controle para periféricos. Envia sinais de interrupção para UCP.

28 Conexão de UCP Uma UCP: Recebe instruções e dados. Envia dados (resultado de processamento). Envia sinais de controle. Recebe interrupções.

29 Dutos Dutos são os elementos de interconexão. Existem diversos padrões de dutos. Um computador pode ter um ou vários dutos. Trabalham normalmente em broadcast. Constituídos por: Dutos de dados. Transportam dados e instruções. Caracterizados por largura de palavra (16, 32, 64 bits). Dutos de endereço. Identificam origem e destino dos dados. A largura do duto determina máxima memória endereçável. Dutos de controle. Sinais de leitura/escrita. Pedidos de interrupção. Sinais de relógio.

30 Representação esquemática

31 Duto único Dutos únicos apresentam problemas quando há muitos dispositivos: Distâncias grandes. Implicam atrasos nos sinais. O relógio tem que ser menor (atrasos variáveis). A taxa máxima de transferência do duto limita todos os dispositivos. Os sistemas usam múltiplos dutos para melhorar esses problemas.

32 Duto múltiplo

33 Características da memória Localização Capacidade Unidade de transferência Método de acesso Desempenho Tipo Características físicas Organização

34 Localização UCP Interna Dentro da própria UCP (ex: cache). Conectada diretamente à UCP, normalmente por duto. Externa Em dispositivos de entrada e saída.

35 Capacidade Tamanho da palavra Número de bits da unidade natural de informação na máquina. Número de palavras Quantidade total de memória disponível (normalmente indicado em bytes).

36 Unidade de transferência Interna Externa Determinado pela largura do duto. Bloco, geralmente diversas palavras. Menor unidade endereçável Pode ser diferente de unidade de transferência.

37 Métodos de acesso I Seqüencial Direto Dados acessados em ordem. Começa no primeiro e segue em ordem. Tempo de acesso depende de onde o dado desejado está. Exemplo: fita magnética. Cada bloco tem um endereço individual. Acesso envolve salto para perto seguido de busca seqüencial. Tempo de acesso depende do local do dado e de onde se acessou por último. Exemplo: disco.

38 Métodos de acesso II Aleatório Associativo Cada local tem um endereço individual. Palavras acessadas individualmente. Tempo de acesso é independente do local do último acesso anterior. Exemplo: memória RAM (Random Access Memory). Dados são localizados por conteúdo. É fornecida uma parte do conteúdo. O restante é buscado. Exemplo: cache.

39 Desempenho Tempo de acesso Tempo desde apresentar endereço até receber os dados. Tempo de ciclo Tempo entre um acesso e o próximo na mesma posição. Inclui tempo de recuperação. Taxa de transferência Quantidade máxima de dados que podem ser movidos entre memória e processador.

40 Tipo Tecnologia usada para o armazenamento. Semicondutor Magnético Óptico

41 Características físicas Decaimento Volatilidade Regravável Se a informação se perde depois de algum tempo. Se a informação permanece armazenada após desligar o computador. Se a informação uma vez gravada pode ser alterada posteriormente. Consumo de energia Qual o consumo por bit armazenado.

42 Organização Como as informações são armazenadas.

43 Fatores a considerar Capacidade Quantos bits podem ser armazenados? Velocidade Qual a velocidade de acesso dos dados? Preço Qual o custo por bit armazenado?

44 Compromissos Queremos um sistema de memória com custo baixo por bit e bom desempenho. Memórias de maior capacidade têm custo por bit menor, o desempenho é pior. Podemos ter bastante memória de baixo custo e alguma memória de alto desempenho. É possível com pouca memória de alto desempenho atingir bom desempenho médio de acesso? Não se os acessos não tiverem padrão (aleatórios). Felizmente, temos localidade de acessos.

45 Localidade de acessos Durante a execução de um programa, os acessos a memória tendem a ser localizados. Duas formas de localidade: Localidade temporal É quando uma mesma posição é acessada diversas vezes em um intervalo de tempo curto. Localidade espacial É quando posições próximas de memória são acessadas em intervalos pequenos uma da outra. for(i = 0; i < N; i++) for(j = 0; j < N; j++) c[i][j] = a[i][j] + b[i][j];

46 Hierarquia de memória Usa-se uma hierarquia de memória para aproveitar a localidade de acessos. Registradores na UCP. Vários níveis de cache. Memória interna (RAM). Memória externa. Discos rígidos. DVD. etc.

47 Hierarquia de memória

48 Memória Cache Pequena quantidade de memória rápida. Localizada entre a memória principal e a UCP.

49 Operação UCP requisita acesso a um endereço de memória. Cache verifica se possui o dado. Se estiver em cache, operação é feita no cache. Se não estiver em cache, cache requisita o bloco correspondente da memória. O acesso é honrado em seguida do cache.

50 Organização do cache

51 Considerações de projeto de cache Tamanho, Função de mapeamento, Algoritmo de substituição, Política de escrita, Tamanho do bloco, Número de caches.

52 Tamanho Mais cache permite melhor velocidade de acesso. Mais cache sai mais caro. Mais cache necessita de mais tempo para procurar dados.

53 Funções de mapeamento Mapeamento direto. Mapeamento associativo. Mapeamento associativo por conjuntos.

54 Mapeamento direto Cada bloco de memória pode ficar em apenas uma linha da cache. O endereço consiste de duas partes: w bits (menos significativos) para identificar a palavra no bloco; s bits (mais significativos) para especificar o bloco na memória Os s bits do bloco são separados em dois campos: r bits para indicar a linha na cache; s r bits para um rótulo (tag).

55 Exemplo: Mapeamento direto Dados do sistema: Cache de 64 kbytes (2 16 ). Blocos de 4 bytes /4 = 2 14 (16 kbytes) de linhas de cache. 16 MBytes (2 24 ) de memória. No cache: w = 2, 4 bytes por linha na cache. s = 22 bits de identificação do bloco. r = 14 bits para identificar a linha na cache. s r = 8 bits para o rótulo do bloco. Observações: Dois blocos que caem na mesma linha têm rótulos distintos. Para verificar se o bloco está na cache, vai para a linha e compara o rótulo.

56 Tabela de cache (mapeamento direto) Linha da cache Blocos da memória 0 0 m 2m 2 s m 1 1 m + 1 2m s m + 1 m 1 m 1 2m 1 3m 1 2 s 1

57 Mapeamento direto, Organização

58 Mapeamento direto, Sumário O funcionamento é simples (pouco hardware necessário). Implementação barata e eficiente. Se dois blocos da mesma linha são acessados freqüentemente juntos, pode ocorrer thrashing.

59 Mapeamento associativo Cada bloco de memória pode ficar em qualquer linha da cache. O endereço consiste de duas partes: w bits (menos significativos) para identificar a palavra no bloco; s bits (mais significativos) para o rótulo associado ao bloco de memória (rótulo é suficiente para identificar bloco).

60 Exemplo: Mapeamento associativo Dados do sistema: Cache de 64 kbytes (2 16 ). Blocos de 4 bytes /4 = 2 14 (16 kbytes) de linhas de cache. 16 MBytes (2 24 ) de memória. No cache: w = 2, 4 bytes por linha na cache. s = 22 bits de rótulo do bloco. Observações: Para verificar se o bloco está na cache, o rótulo de cada linha precisa ser comparado com o rótulo do bloco desejado. Busca na cache é cara.

61 Mapeamento associativo, Organização

62 Mapeamento associativo, Sumário A organização é versátil, evitando thrashing. A implementação é cara. A busca em caches grandes é lenta.

63 Mapeamento associativo por conjuntos A cache é dividida num número de conjuntos. Cada conjunto contém um número de linhas de cache. Cada bloco de memória pode ficar qualquer linha de um conjunto específico. O endereço consiste de duas partes: w bits (menos significativos) para identificar a palavra no bloco; s bits (mais significativos) para especificar o bloco na memória. Os s bits do bloco são separados em dois campos: d bits para indicar o conjunto de linhas; s d bits para um rótulo (tag).

64 Exemplo: Mapeamento associativo por conjuntos Dados do sistema: Cache de 64 kbytes (2 16 ). Blocos de 4 bytes /4 = 2 14 (16 kbytes) de linhas de cache. 16 MBytes (2 24 ) de memória. Num cache de 2 linhas por conjunto (two-way set associative): 2 13 conjuntos no cache. w = 2, 4 bytes por linha na cache. s = 22 bits de identificação do bloco: d = 13 bits para identificar o conjunto. s d = 9 bits para o rótulo do bloco. Observações: Blocos que caem no mesmo conjunto têm rótulos distintos. Para verificar se o bloco está na cache, vai para o conjunto correspondente e compara o rótulo com todos os do conjunto.

65 Mapeamento associativo por conjuntos, Organização

66 Mapeamento associativo por conjuntos, Sumário O funcionamento é mais complexo do que o do mapeamento direto mas mais simples do que o do mapeamento associativo. Implementação relativamente barata e eficiente. Evita thrashing a não ser em situações muito peculiares. Em geral, 2 a 4 linhas por conjunto são usadas.

67 Algoritmos de substituição Usados para escolher qual linha a substituir quando novo bloco é necessário. Não são necessários em mapeamento direto (apenas uma escolha). Implementados em hardware. Algortimos tradicionais de substituição: Least Recently used (LRU); First In First Out (FIFO); Least Frequently Used (LFU); Random. Em geral, de fácil implementação para associativo por conjuntos.

68 Política de escrita É necessário manter coerência das informações sobre cada posição de memória. Dados na cache não podem ser descartados antes da memória principal estar atualizada. Com mais de uma UCP, cada uma pode ter sua cache. Dispositivos de entrada e saída podem escrever diretamente na memória. Políticas comuns: Write-through; Write-back.

69 Write through Quando escreve na cache, atualiza bloco na memória principal. Escritas na memória podem ser utilizadas para coerência entre múltiplas UCPs. Dados atualizados em operações de entrada e saída. Escritas se tornam lentas. Escritas são mais raras que leituras mas relativamente comuns ( 15% dos acessos).

70 Write back Escritas na cache não são imediatamente atualizadas na memória principal. Cache mantém informação sobre linhas atualizadas (um bit por linha). Ao ser substituido o bloco de uma linha, verifica se foi atualizar atualizado, e então escreve na memória principal. É necessário hardware especial para coerência de cache.

71 Dispositivos de entrada e saída Diversos tipos de periféricos com: diferentes velocidades de transmissão; diferentes quantidades de dados transmitidos por vez; diferentes formatos. Dispositivos são mais lentos que UCP e memória. São necessários controladores de dispositivos: têm interface com UCP e memória; têm interface com periféricos.

72 Modelo de dispositivo

73 Taxas de transmissão

74 Funções de um módulo de E/S Controle e temporização. Comunicação com a UCP. Comunicação com os periféricos. Bufferização de dados. Detecção de erros.

75 Passos na operação de E/S UCP verifica o estado do dispositivo de E/S. O módulo retorna o estado. Se estiver pronto, UCP requisita transferência. O módulo transfere os dados entre dispositivo e UCP.

76 Diagrama de um módulo de E/S

77 Técnicas de E/S Programada; Com interrupção; Por ADM (acesso direto à memória).

78 E/S programada UCP controla E/S diretamente: verificação de estado; comandos de escrita e leitura; transferência de dados. A UCP precisa aguardar as respostas dos dispositivos e a transmissão dos dados. Muito lento!

79 Operações na programação UCP requisita operação. O módulo realiza a operação. O módulo liga um flag indicando o estado. A UCP precisa verificar esse flag freqüentemente. A UCP pode ficar esperando ou voltar mais tarde enquanto o flag não indica operação completa.

80 E/S com interrupção Evita que a UCP fique esperando. UCP não precisa perder tempo verificando o flag do dispositivo. O módulo de E/S gera uma interrupção quando a operação está completa.

81 Operações na programação UCP envia comando. O módulo transfere dado enquanto a UCP realiza outros trabalhos. Ao terminar transferência, módulo interrompe a UCP. UCP transfere dados com módulo.

82 Acesso direto à memória Nas soluções anteriores, UCP precisa participar de cada transferência de E/S. Acesso direto à memória libera UCP dessa tarefa. Controlador de ADM se encarrega da transferência de dados entre módulo de E/S e memória. UCP avisa ao controlador de ADM: Tipo de acesso (leitura/escrita); Endereço do dispositivo; Endereço de memória dos dados; Quantidade de dados a transferir. Controlador ADM cuida da transferência. UCP realiza outros trabalhos. Ao terminar transferência, ADM interrompe UCP.

83 Furto de duto Ao transferir dados, ADM precisa usar o duto. Controlador ADM toma o duto por um ciclo. Não ocorre interrupção. UCP só é afetada se tentar acessar memória no mesmo ciclo (lembrem-se da cache).

84 Canais de E/S E/S fica mais sofisticada. Aceita comandos mais complexos (ex: placas gráficas). Insere-se processador no controlador de E/S. UCP fica aliviada de trabalho. Processadores dedicados são mais rápidos.

85 Sistemas Operacionais Procuram tornar o computador mais fácil de usar. Procuram melhorar a eficiência no uso de recursos.

86 Funções do SO Controle de acesso ao sistema. Criação de programas. Execução de programas. Acesso a dispositivos de E/S. Controle de acesso a arquivos. Detecção de erros. Contabilidade.

87 Tipos de SO Interativo. Batch. Programa único. Multiprogramado (multitarefas).

88 Sistemas antigos Inicialmente: Sem sistema operacional. Programas acessavam diretamente o hardware. Sistemas de batch simples: Monitor residente para controlar o hardware. Usuários submetem jobs que têm execução realizada pelo monitor. Quando um job termina, controle volta ao monitor, que pode escolher outro job. Monitor pode realizar escalonamento.

89 Esquema de memória com monitor

90 Exemplo de job $job $ftn... programa Fortran $load $run... dados para o programa $end

91 Características de hardware para SO Proteção de memória (proteção do monitor). Temporizador (evita monopólios ex: loop infinito). Instruções privilegiadas para monitor (ex: E/S). Interrupções.

92 Desperdício de recursos E/S é lenta. Quando um programa está fazendo E/S, UCP está parada. Multiprogramação pode ajudar. Enquanto um programa realiza E/S, outro usa UCP.

93 Multiprogramação

94 Sistemas de compartilhamento de tempo Sistemas de batch não permitem interação do usuário com o programa. Não se pode dedicar um computador para um único programa. Usa-se sistemas multiprogramados com compartilhamento de tempo entre usuários distintos.

95 Escalonamento Multiprogramação exige vários programas em execução. É necessário escolher qual próximo programa a dispor da UCP. Tarefa realizada pelo escalonador. Escalonamento feito em três níveis: Escalonamento de longo prazo; Escalonamento de médio prazo; Escalonamento de curto prazo.

96 Escalonamento de longo prazo Determina quais programas são submetidos para execução. Controla portanto o número de programas que executam simultaneamente (grau de multiprogramação). Os programas submetidos se tornam processos a serem controlados pelo escalonador de curto prazo. Caso seja necessário, podem ser retirados da memória pelo escalonador de médio prazo.

97 Escalonador de médio prazo Escalona processos para troca (swap) entre memória e disco. Serve para controlar multiprogramação. Serve também para gerenciar memória se não há memória virtual.

98 Escalonador de curto prazo Decisão de qual processo, entre os escolhidos para execução, deve ter a UCP em cada instante.

99 Escalonamento

100 Gerenciamento de memória Com programa único, memória separada em: Memória do monitor (do SO); Memória do programa em exeecução (do usuário). Com multiprogramação, memória do usuário dividida entre vários programas. Cada programa precisa de sua memória. Devido à baixa velocidade de E/S, UCP pode ficar desocupada se não houverem processos suficientes em execução. Soluções: Aumentar a memória; Usar troca (swap).

101 Swap Fila de processos (escolhidos pelo escalonador de longo prazo) armazenados no disco. Processos trocados para a memória quando há espaço. Processos retirados da memória quando terminam. Se não há processos prontos na memória: Envia um dos processos bloqueados para o disco; Coloca um dos processos prontos da fila de troca na memória; Se não há processos prontos na fila de troca, começa novo processo. Cuidado, pois troca é E/S.

102 Particionamento de memória Memória precisa ser dividida para os processos. As partições podem ser: De tamanho fixo; Todas de mesmo tamanho; De diferentes tamanhos. De tamanhos variáveis.

103 Partições fixas

104 Partições de tamanhos variáveis Aloca-se exatamente o espaço necessário para cada processo. Evita buracos na primeira alocação. Problemas quando um processo é trocado (criação de novos buracos). Com o tempo, muitos buracos: fragmentação de memória. Soluções: Juntar buracos contíguos. Compactar a intervalos regulares.

105 Fragmentação

106 Relocação Os processos são retirados e recolocados na memória. Não se garante que vão entrar na mesma posição de memória. Podem também ser deslocados (compactação). Código contém endereços: Endereços de variáveis. Endereços de instruções (para desvio e chamada de rotina). O que acontece com os endereços? Possíveis soluções: Endereços lógicos (relativos ao começo do programa) com registrador de base. Memória virtual.

107 Paginação Memória é dividida em pedaços de tamanhos iguais (quadros). Processo (código e dados) dividido também em pedaços do mesmo tamanho (páginas). Aloca os quadros necessários a cada processo. SO mantém lista de quadros livres. Uma tabela mantém a relação entre páginas e quadros (tabela de páginas). As páginas de um processo não precisam estar em quadro contíguos.

108 Esquema da paginação

109 Memória virtual Paginação por demanda: Não são necessárias todas as páginas de um processo na memória. Páginas trazidas para a memória quando necessárias. Falta de página: Quando uma página requerida não está na memória. SO precisa transferir a página requerida para um quadro livre. Talvez precise liberar um quadro previamente.

110 Vantagens de memória virtual Não é necessário ter toda a memória do processo na memória principal. Podemos rodar programas maiores do que a memória disponível. Podemos rodar mais processos do que a memória permite. Termos: Memória principal é chamada memória real. Memória vista pelo programa/programador é a memória virtual.

111 Thrashing Cada processo precisa de um mínimo de memória que está sendo acessada na corrente fase de sua execução (working set). Se o working set dos processos ativos é maior do que a memória disponível, o sistema realizará muita troca de páginas. Como acesso a disco é lento, pouco trabalho útil é executado. Possíveis soluções: Bons algoritmos de troca de página. Mais memória. Reduzir o número de processos em execução.

112 Estrutura da tabela de páginas

113 Translation lookaside buffer Tabela de páginas fica na memória. Precisa acessar memória para ler tabela antes de acessar a posição requerida. Não é bom devido à lentidão da memória. Usa-se uma cache especial para entradas da tabela de páginas, o translation lookaside buffer.

114 Operação da TLB

115 TLB e cache

116 Funções da UCP Para processar uma instrução, a UCP precisa: Buscar o código da instrução. Interpretar a instrução. Buscar dados. Processar os dados. Escrever os resultados.

117 Registradores Registradores são área de trabalho interna à UCP. Funcionam como o topo da hierarquia de memória. Diferentes registradores podem ter funções distintas. A quantidade de registradores varia bastante de uma arquitetura para outra. Podem haver registradores que não são visíveis ao usuário (programador).

118 Tipos de registradores De propósito geral. De dados. De endereço. Códigos de condição.

119 Registradores (exemplos)

120 Prefetch O endereço da próxima instrução é muitas vezes conhecido. Busca da próxima instrução é acesso à memória. Diversas fases da execução de instrução não acessam memória. Podemos buscar próxima instrução durante a execução da atual (instruction prefetch). Melhora o desempenho, mas não dobra. Busca da instrução geralmente mais rápida que execução. Desvios de fluxo de controle invalidam instrução carregada.

121 Pipeline de instruções A execução das instruções ocorre em diversas fases: Busca da instrução. Decodificação da instrução. Cálculo dos operandos. Busca dos operandos. Execução das instruções. Escrita dos resultados. Essas operações podem ocorrer simultaneamente para instruções distintas.

122 Temporização de um pipeline (caso ideal)

123 Efeito de desvios na temporização de um pipeline

124 Fluxograma do pipeline

125 Desempenho do pipeline

126 Lidando com desvios Executar múltiplos fluxos de código. Usa um buffer de repetição. Realiza previsão de desvio. Usa desvio retardado.

127 Múltiplos fluxos Funcionamento: Usa dois pipelines. Numa instrução de desvio, faz a busca das duas opções de continuação. Quando souber qual a opção válida, descarta a outra. Problemas: Cria contenção de duto e registradores. Outras instruções de desvio podem ocorrer antes de decidir qual o fluxo correto.

128 Buffer de repetição Usa memória muito rápida no estágio de busca. Verifica esse buffer antes de ler memória. Funciona muito bem em repetições pequenas (poucas instruções no código).

129 Previsão de desvio Prever nunca realizado. Assume que o desvio geralmente não vai ocorrer. Busca a próxima instrução. Prever sempre realizado. Assume que o desvio vai geralmente ocorrer. Busca a instrução do endereço do desvio. Prever por código de instrução. Adapta previsão de acordo com instrução de desvio. Chaveando realizado/não-realizado. Previsão baseada na história. Funciona bem para repetições.

130 Predição com dois estados

131 Por que processadores superescalares? Processadores possuem unidades de hardware distintas para operações lógica, aritmética em inteiros, aritmética em ponto flutante, etc. Instruções para unidades diversas podem ser enviadas para execução simultaneamente. Chegamos no paralelismo em nível de instruções.

132 Organização

133 Limitações do paralelismo em nível de instruções Dependências: Dependência de dados verdadeira. Dependência de controle. Dependência de saída. Anti-dependência. Conflitos no acesso a recursos.

134 Dependência de dados verdadeira Quando uma instrução depende de valores gerados por uma instrução anterior. Exemplo: r1 = r1 + r2; r3 = r1 + r4; Pode-se buscar e decodificar a segunda instrução em conjunto com a primeira. Não é possível executar a segunda antes de terminar a primeira.

135 Dependência de controle Instruções após desvios condicionais dependem de saber o resultado dos desvios. Previsão de desvio ajuda com execução especulativa (ver adiante).

136 Dependência de saída Quando duas instruções alteram o valor da mesma variável/registrador necessário para outra instrução. Exemplo: r1 = r1 + r2; r3 = r1 + r4; r1 = r4 - r2; Se a segunda instrução terminar antes da primeira ler o valor de a, haverá um erro. Existe dependência de saída entre a primeira e a terceira instruções.

137 Anti-dependência Quando uma instrução posterior altera o valor de uma variável/registrador necessário para outra instrução anterior. Exemplo: r1 = r1 + r2; r3 = r1 + r4; r1 = r4 - r2; Se a segunda instrução terminar antes da primeira ler o valor de a, haverá um erro. Existe anti-dependência entre a segunda e a terceira instruções.

138 Efeitos de dependências

139 Ordenação de instruções Com paralelismo de instruções tem diversos aspectos: Ordem em que as instruções são lidas da memória. Ordem em que as instruções são executadas. Ordem em que as instruções mudam os registradores e a memória. Possibilidades: Emissão em ordem, término em ordem Emite as instruções na ordem em que elas ocorrem. Completa as instruções (escreve os resultados) na ordem de emissão. Emissão em ordem, término fora de ordem. Problemas com dependência de saída. Emissão fora de ordem, término fora de ordem. Busca novas instruções enquanto o pipeline não estiver cheio. Executa instrução quando a unidade funcional necessária estiver disponível. Problema com anti-dependência.

140 Exemplo, ordenação de instruções

141 Mudança de nome de registradores Dependência de saída e anti-dependência ocorrem devido a disputa pelo valor contido em registradores. Nomes dos registradores fazem parte da arquitetura. Pode-se resolver o problema com uso de registradores alocados dinamicamente. No código: r1 = r1 + r2; r3 = r1 + r4; r1 = r4 - r2; Na execução: r1b = r1a + r2a; r3a = r1b + r4a; r1c = r4a - r2a;

142 Execução superescalar

143 Implementação de superescalar Busca múltiplas instruções simultaneamente. Usa hardware para determinar dependências verdadeiras entre valores. Usa mecanismos para comunicar esses valores entre unidades funcionais. Usa múltiplas unidades funcionais para execução em paralelo. Usa hardware para escrever os resultados na ordem correta.

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 8 Suporte do sistema operacional slide 1 Objetivos e funções Conveniência: Tornar o computador mais fácil de usar. Eficiência:

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Memória Cache Slide 1 Introdução Tamanho Função de Mapeamento Política de Escrita Tamanho da Linha Número de Memórias Cache Cache em Níveis Slide 2 Introdução

Leia mais

Gerenciamento de memória

Gerenciamento de memória Gerenciamento de memória O que faz? Controla o uso dos espaços em memória Controla os modos de endereçamento dos processos Como funciona a memória? Hierarquia de memória A falta de desempenho A velocidade

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Unidade Central de Processamento (CPU) Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Baseado nos slides do capítulo

Leia mais

Barramento. Prof. Leonardo Barreto Campos 1

Barramento. Prof. Leonardo Barreto Campos 1 Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;

Leia mais

Capítulo 5 Livro do Mário Monteiro Conceituação. Elementos de projeto de memória cache

Capítulo 5 Livro do Mário Monteiro Conceituação. Elementos de projeto de memória cache Capítulo 5 Livro do Mário Monteiro Conceituação Princípio da localidade Funcionamento da memória cache Elementos de projeto de memória cache Mapeamento de dados MP/cache Algoritmos de substituição de dados

Leia mais

Níveis de memória. Diferentes velocidades de acesso. Memória Cache. Memórias Auxiliar e Auxiliar-Backup

Níveis de memória. Diferentes velocidades de acesso. Memória Cache. Memórias Auxiliar e Auxiliar-Backup Memória Níveis de memória Diferentes velocidades de acesso Pequeno Alto(a) Cache RAM Auxiliar Auxiliar-Backup Memória Cache altíssima velocidade de acesso acelerar o processo de busca de informações na

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de Memória Memória virtual Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Slides baseados nas apresentações dos prof. Tiago Ferreto e Alexandra Aguiar

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 12 Estrutura e função do processador slide 1 Estrutura da CPU CPU precisa: Buscar instruções. Interpretar instruções. Obter

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores Aula 21 Memória Cache Rodrigo Hausen 21 de outubro de 2011 http://cuco.pro.br/ach2034 1/49 Apresentação 1. Bases Teóricas 2. Organização de computadores... 2.2. Execução de

Leia mais

Os textos nestas caixas foram adicionados pelo Prof. Joubert

Os textos nestas caixas foram adicionados pelo Prof. Joubert William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 3 Visão de alto nível da função e interconexão do computador Os textos nestas caixas foram adicionados pelo Prof. Joubert

Leia mais

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização Hardware: Componentes Básicos Arquitetura dos Computadores Dispositivos de Entrada Processamento Dispositivos de Saída Armazenamento Marco Antonio Montebello Júnior marco.antonio@aes.edu.br Sistema de

Leia mais

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CONTINUAÇÃO CAPÍTULO 5. Cristina Boeres

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CONTINUAÇÃO CAPÍTULO 5. Cristina Boeres FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CONTINUAÇÃO CAPÍTULO 5 Cristina Boeres Mapeamento Associativo por Conjunto! Tenta resolver o problema de conflito de blocos na mesma linha (mapeamento

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 6ª Aula Entrada e Saída Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Estrutura da máquina de von Neumann Dispositivos Periféricos Interface com o mundo exterior

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES ARQUITETURA DE COMPUTADORES Arquitetura de Von Newmann Prof Daves Martins Msc Computação de Alto Desempenho Email: daves.martins@ifsudestemg.edu.br Vídeos Vídeo aula RNP http://edad.rnp.br/rioflashclient.php?xmlfile=/ufjf/licenciatura_com

Leia mais

É um sinal elétrico periódico que é utilizado para cadenciar todas as operações realizadas pelo processador.

É um sinal elétrico periódico que é utilizado para cadenciar todas as operações realizadas pelo processador. Universidade Estácio de Sá Curso de Informática Disciplina de Organização de Computadores II Prof. Gabriel P. Silva - 1 o Sem. / 2005 2 ª Lista de Exercícios 1) O que é o relógio de um sistema digital?

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 3 Visão de alto nível da função e interconexão do computador slide 1 Conceito de programa Sistemas hardwired são inflexíveis.

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 6 Gerenciamento de Memória Prof. Galvez Considerações Gerais Multiprogramação implica em manter-se vários processos em memória Memória necessita ser alocada de

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

MEMÓRIA CACHE FELIPE G. TORRES

MEMÓRIA CACHE FELIPE G. TORRES MEMÓRIA CACHE FELIPE G. TORRES MEMÓRIA CACHE O uso da memória cache visa obter velocidade de memória próxima das memórias mais rápidas que existem e, ao mesmo tempo, disponibilizar uma memória de grande

Leia mais

AULA Nº 11 SISTEMAS OPERACIONAIS. Técnicas de Memória Virtual

AULA Nº 11 SISTEMAS OPERACIONAIS. Técnicas de Memória Virtual AULA Nº 11 SISTEMAS OPERACIONAIS Técnicas de Memória Virtual 1 Contextualizando Vimos Introdução ao Gerenciamento de Memória Agora Técnicas de Memória Virtual 2 O que é Memória Virtual (MV)? É uma técnica

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Suporte ao Sistema Operacional Prof. Helcio

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I BARRAMENTO Slide 1 Sumário Introdução Componentes de Computador Funções dos Computadores Estruturas de Interconexão Interconexão de Barramentos Slide 2 Introdução

Leia mais

Arquitetura de Sistemas Operacionais

Arquitetura de Sistemas Operacionais Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência de Memória Virtual Cap 10 Gerência de Memória Virtual 1 Sumário Introdução Espaço de Endereçamento Virtual

Leia mais

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CAPÍTULO 5. Cristina Boeres

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CAPÍTULO 5. Cristina Boeres FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CAPÍTULO 5 Cristina Boeres Introdução! Diferença de velocidade entre Processador e MP O processador executa uma operação rapidamente e fica em

Leia mais

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores Ciência da Computação Arq. e Org. de Computadores Processadores Prof. Sergio Ribeiro Composição básica de um computador eletrônico digital: Processador Memória Memória Principal Memória Secundária Dispositivos

Leia mais

Dispositivos de Entrada e Saída

Dispositivos de Entrada e Saída Departamento de Ciência da Computação - UFF Dispositivos de Entrada e Saída Prof. Marcos A. Guerine mguerine@ic.uff.br 1 Dipositivos periféricos ou simplesmente periféricos permitem a comunicação da máquina

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Slide 1 Memória Virtual os primeiros computadores (início dos anos 60) tinham memória principal muito reduzida O PDP-1 funcionava com uma memória de 4096 palavras

Leia mais

Problemas com Entrada e Saída

Problemas com Entrada e Saída Problemas com Entrada e Saída Periféricos possuem características diferentes Geram diferentes quantidades de dados Em velocidades diferentes Em formatos diferentes Periféricos são mais lentos que UCP e

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Entrada e Saída Slide 1 Entrada e Saída Dispositivos Externos E/S Programada Organização e Arquitetura de Computadores I Sumário E/S Dirigida por Interrupção

Leia mais

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação. Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização e Arquitetura Básicas

Leia mais

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é 1. A pastilha do processador Intel 80486 possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é organizado com mapeamento associativo por conjuntos de quatro

Leia mais

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES ORGANIZAÇÃO DE COMPUTADORES TECNOLOGIAS EM REDES DE COMPUTADORES Semestre 2015.2 Prof. Dsc. Jean Galdino As principais arquiteturas de processadores são: Von Neumann; Harvard. ARQUITETURAS AULA 06 28/10/2015

Leia mais

Dispositivos de Entrada e Saída

Dispositivos de Entrada e Saída Departamento de Ciência da Computação - UFF Dispositivos de Entrada e Saída Prof. Marcos A. A. Guerine mguerine@ic.uff.br 1 Dipositivos periféricos ou simplesmente periféricos permitem a comunicação da

Leia mais

Sistemas Operacionais. Entrada/Saída

Sistemas Operacionais. Entrada/Saída Sistemas Operacionais Entrada/Saída Atualizado em 28/02/2014 Como ocorre a comunicação de E/S Aplicação Operações de E/S Chamadas de Sistema S.O. Subsistema de E/S Núcleo (Kernel) Drivers HARDWARE Controladoras

Leia mais

Hierarquia de Memória

Hierarquia de Memória Hierarquia de Memória Organização da cache AC1 Hierarquia da Memória: Organização 1 Mapeamento Directo A cada endereço de memória corresponde apenas uma linha da cache. linha = resto (endereço do bloco

Leia mais

BARRAMENTO DO SISTEMA. Adão de Melo Neto

BARRAMENTO DO SISTEMA. Adão de Melo Neto BARRAMENTO DO SISTEMA Adão de Melo Neto 1 BARRAMENTOS DO SISTEMA O mecanismo mais comum de interconexão dos componentes de um computador (processador, memória principal e módulos de E/S) usa um barramento

Leia mais

Aula 02. Histórico. slide 1

Aula 02. Histórico. slide 1 Aula 02 Histórico slide 1 Organização e arquitetura Arquitetura são os atributos visíveis ao programador. Conjunto de instruções, número de bits usados para representação de dados, mecanismos de E/S, técnicas

Leia mais

Organização e Arquitetura de Computadores INTRODUÇÃO

Organização e Arquitetura de Computadores INTRODUÇÃO Organização e Arquitetura de Computadores INTRODUÇÃO A Arquitetura de Computadores trata do comportamento funcional de um sistema computacional, do ponto de vista do programador (ex. tamanho de um tipo

Leia mais

Arquitetura e Organização de Processadores. Aulas 06 e 07. Superescalaridade

Arquitetura e Organização de Processadores. Aulas 06 e 07. Superescalaridade Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aulas 06 e 07 Superescalaridade 1. Introdução princípios

Leia mais

Memória Cache. Aula 24

Memória Cache. Aula 24 Memória Cache Aula 24 Introdução Objetivo: oferecer o máximo de memória disponível na tecnologia mais barata, enquanto se fornece acesso na velocidade oferecida pela memória mais rápida Velocidade CPU

Leia mais

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais Sistemas Operacionais e Introdução à Programação Módulo 1 Sistemas Operacionais 1 Competências: SOP 1. Compreender as abstrações de um sistema operacional e operar um sistema operacional Unix/Linux como

Leia mais

CONJUNTO DE INSTRUÇÕES

CONJUNTO DE INSTRUÇÕES CONJUNTO DE INSTRUÇÕES 1 CARACTERÍSTICAS DE INSTRUÇÕES DE MÁQUINA Quando um programador usa uma linguagem de alto-nível, como C, muito pouco da arquitetura da máquina é visível. O usuário que deseja programar

Leia mais

14/3/2016. Prof. Evandro L. L. Rodrigues

14/3/2016. Prof. Evandro L. L. Rodrigues SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Prof. Evandro L. L. Rodrigues Tópicos do curso Conceitos básicos - Aplicações e utilizações dos microcontroladores

Leia mais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos UFRJ IM - DCC Sistemas Operacionais I Unidade IV Gerência de Recursos Entrada e Saída 02/12/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Gerência de Entrada e Saída Fundamentos Evolução Estrutura

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores AULA 4 Organização de Sistemas de Computadores s Bits Sumário de Ordem de Bytes Conceitos Básicos Secundária Códigos de Correção de Erros Prof. Edilberto M. Silva Edilberto

Leia mais

Periféricos possuem características diferentes. Periféricos são mais lentos que UCP e Memória Necessita-se de módulos de Entrada/Saída

Periféricos possuem características diferentes. Periféricos são mais lentos que UCP e Memória Necessita-se de módulos de Entrada/Saída Periféricos possuem características diferentes Geram diferentes quantidades de dados Em velocidades diferentes Em formatos diferentes Periféricos são mais lentos que UCP e Memória Necessita-se de módulos

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Gerência de Memória Andreza Leite andreza.leite@univasf.edu.br Plano da Aula 2 Introdução Necessidade gerenciador de memória Sistemas gerenciais de memória Alocação contínua n Máquina

Leia mais

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Apresentação do curso Critério de avaliação Média final = 0.8 * MP + 0.2 * ME onde MP = (P1 + P2) / 2 e ME = Notas

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Suporte ao Sistema Operacional Prof. Sílvio

Leia mais

Unidade Central de Processamento 2. Registradores

Unidade Central de Processamento 2. Registradores Unidade Central de Processamento 2 Registradores Conceitos Fundamentais Arquitetura da CPU Unidade de Controle Registradores Barramento interno Unidade lógica e Aritmética Registradores Conjunto de unidades

Leia mais

Memória virtual. Sistemas de Computação

Memória virtual. Sistemas de Computação Memória virtual Fundamentos Memória virtual separação da memória lógica do usuário da memória física somente uma parte do programa precisa estar na memória para execução espaço de endereçamento lógico

Leia mais

Capítulo 6 Nível do Sistema Operacional

Capítulo 6 Nível do Sistema Operacional Capítulo 6 Nível do Sistema Operacional - Sistema Operacional: Programa que, do ponto de vista do programador, adiciona uma grande quantidade de instruções e funcionalidades bem além das disponibilizadas

Leia mais

Sistemas operacionais P A G I N A Ç Ã O D E M E M Ó R I A

Sistemas operacionais P A G I N A Ç Ã O D E M E M Ó R I A Sistemas operacionais P A G I N A Ç Ã O D E M E M Ó R I A O Espaço de Endereçamento lógico de um processo pode ser não contínuo; aloca-se memória física ao processo sempre que esta é disponível. A memória

Leia mais

Sistemas Operacionais. Adão de Melo Neto

Sistemas Operacionais. Adão de Melo Neto Sistemas Operacionais Adão de Melo Neto 1 Computador Digital (Hardware) 2 Computador Digital Constituído por um conjunto de componentes interligados (hardware): processadores, memórias, registradores,

Leia mais

Sistemas Operacionais. Visão Geral

Sistemas Operacionais. Visão Geral Sistemas Operacionais P R O F. B R U N O A L B U Q U E R Q U E S C R I G N O L I Visão Geral Organização da Apresentação Introdução Componentes de um Sistema de Computação Conceito de SO Objetivos de um

Leia mais

Capítulo 8: Memória Principal. Operating System Concepts 8 th Edition

Capítulo 8: Memória Principal. Operating System Concepts 8 th Edition Capítulo 8: Memória Principal Silberschatz, Galvin and Gagne 2009 Objetivos Fornecer uma descrição detalhada das várias formas de organizar a memória do computador Discutir várias técnicas de gerenciamento

Leia mais

Arquitetura de Um Computador

Arquitetura de Um Computador Arquitetura de Um Computador José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-09-20 José Costa (DEI/IST) Arquitetura de Um

Leia mais

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES Organização de Computadores ORGANIZAÇÃO DE COMPUTADORES Curso: Tecnologia em Gestão da Tecnologia da Informação Ano: 2011 Conhecida como Processador ou é o cerebro do computador Unifica todo sistema e

Leia mais

Gerência de Dispositivos. Adão de Melo Neto

Gerência de Dispositivos. Adão de Melo Neto Gerência de Dispositivos Adão de Melo Neto 1 Gerência de Dispositivos Gerência de Dispositivos Dispositivos de E/S Device Drivers Controladores Subsistema de E/S 2 Gerência de Dispositivos A gerência de

Leia mais

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES Prof. Juliana Santiago Teixeira julianasteixeira@hotmail.com INTRODUÇÃO INTRODUÇÃO O processador é o componente vital do sistema de computação, responsável

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Conjunto de Instruções Prof. Sílvio Fernandes

Leia mais

Gerência de Dispositivos. Adão de Melo Neto

Gerência de Dispositivos. Adão de Melo Neto Gerência de Dispositivos Adão de Melo Neto 1 Gerência de Dispositivos Introdução Acesso ao Subsistema de E/S Subsistema de E/S Device Drivers Controladores Dispositivos de E/S Discos Magnéticos Desempenho,

Leia mais

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL MEMÓRIA Componente de um sistema de computação cuja função é armazenar informações que são manipuladas pelo sistema para que possam ser recuperadas

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores Aula 23 Entrada e Saída (I/O) Rodrigo Hausen 03 de novembro de 2011 http://cuco.pro.br/ach2034 1/62 Apresentação 1. Bases Teóricas 2. Organização de computadores... 2.3. Estruturas

Leia mais

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação. Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de I Organização e Arquitetura Básicas B de (Parte II)

Leia mais

Prof. Adriano Maranhão

Prof. Adriano Maranhão Prof. Adriano Maranhão Memória Considerações: Recurso caro e escasso; Programas só executam se estiverem na memória principal; Quanto mais processos residentes na memória principal, melhor será o compartilhamento

Leia mais

ARQUITETURA DE COMPUTADORES. Organização de Sistemas Computacionais. Prof.: Agostinho S. Riofrio

ARQUITETURA DE COMPUTADORES. Organização de Sistemas Computacionais. Prof.: Agostinho S. Riofrio ARQUITETURA DE COMPUTADORES Organização de Sistemas Computacionais Prof.: Agostinho S. Riofrio Agenda 1. Unidade Central de Processamento 2. Organização da CPU 3. Interpretador 4. RISC x CISC 5. Principios

Leia mais

Organização e Arquitetura de Computadores. Ivan Saraiva Silva

Organização e Arquitetura de Computadores. Ivan Saraiva Silva Organização e Arquitetura de Computadores Hierarquia de Memória Ivan Saraiva Silva Hierarquia de Memória A Organização de Memória em um computador é feita de forma hierárquica Registradores, Cache Memória

Leia mais

INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura

INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura Introdução Organização e Arquitetura INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Eduardo Max Amaro Amaral Arquitetura são os atributos visíveis ao programador. Conjunto de instruções, número

Leia mais

Memoria. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

Memoria. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática Arquitectura de Computadores II Engenharia Informática (11545) Tecnologias e Sistemas de Informação (6621) Memoria Fonte: Arquitectura de Computadores, José Delgado, IST, 2004 Nuno Pombo / Paulo Fazendeiro

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Conjunto de Instruções Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Material do prof. Sílvio Fernandes - UFERSA

Leia mais

Microprocessadores. Memórias

Microprocessadores. Memórias s António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal pinheiro@ubi.pt Arquitectura de Microcomputador Modelo de Von Neumann Barramento de Endereços µprocessador Entrada/Saída Barramento

Leia mais

Arquitetura de Computadores. Ciclo de Busca e Execução

Arquitetura de Computadores. Ciclo de Busca e Execução Arquitetura de Computadores Ciclo de Busca e Execução Ciclo de Busca e Execução Início Buscar a próxima instrução Interpretar a instrução Executar a instrução Término Funções realizadas pela UCP Funções

Leia mais

Conceitos e Gerenciamento de Memória

Conceitos e Gerenciamento de Memória Conceitos e Gerenciamento de Memória Introdução Num sistema computacional, temos diferentes tipos de memórias, para diferentes finalidades, que se interligam de forma estruturada e que formam o subsistema

Leia mais

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca PCS-2529 Introdução aos Processadores Prof. Dr. Paulo Sérgio Cugnasca 1 2 Existem 4 esquemas diferentes de E/S possíveis, cada um se aplicando em uma determinada situação. E/S Programada. E/S Acionada

Leia mais

Entrada e Saída e Dispositivos

Entrada e Saída e Dispositivos Entrada e Saída e Dispositivos Uma das funções do Sistema Operacional é: - Gerência de dispositivos de E/S. Operações: - Tratamento de interrupções - Tratamento erros - Interfaceamento entre os dispositivos

Leia mais

2. A influência do tamanho da palavra

2. A influência do tamanho da palavra PROCESSAMENTO 1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos etc.) e de controle, durante

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Cristina Boeres página do curso: http://www.ic.uff.br/~boeres/so.html boeres@ic.uff.br Sistemas Operacionais O que é um SO?! um gerenciador de recursos?! uma interface?! máquina virtual?

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais GERÊNCIA da MEMÓRIA VIRTUAL MACHADO/MAIA: CAPÍTULO 10 Prof. Pedro Luís Antonelli Anhanguera Educacional MEMÓRIA VIRTUAL -INTRODUÇÃO A Memória Virtual (virtual memory) é uma técnica

Leia mais

Memória. Memória Cache

Memória. Memória Cache Memória Memória Cache Revisão - Memória Principal Memória que armazena os dados e programas em linguagem de máquina em execução corrente Razoavelmente barata Tempo de acesso da ordem de nano-segundos a

Leia mais

Sistemas Operacionais. Interrupção e Exceção

Sistemas Operacionais. Interrupção e Exceção Sistemas Operacionais Interrupção e Exceção Interrupção e Exceção Durante a execução de um programa podem ocorrer alguns eventos inesperados, ocasionando um desvio forçado no seu fluxo de execução. Estes

Leia mais

Principais Componentes do Gabinete. Componentes Básicos de um Computador. CPU ou UCP (Processador) 17/02/2017

Principais Componentes do Gabinete. Componentes Básicos de um Computador. CPU ou UCP (Processador) 17/02/2017 Professora: Janaide Nogueira E-mail: nogueirajanaide@gmail.com Materiais: https://janaide.wordpress.com Componentes Básicos de um Computador Principais Componentes do Gabinete 3 4 CPU ou UCP (Processador)

Leia mais

http://www.ic.uff.br/~debora/fac! 1 Capítulo 4 Livro do Mário Monteiro Introdução Hierarquia de memória Memória Principal Organização Operações de leitura e escrita Capacidade 2 Componente de um sistema

Leia mais

Disciplina: Arquitetura de Computadores

Disciplina: Arquitetura de Computadores Disciplina: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof a. Carla Katarina de Monteiro Marques UERN Introdução Responsável por: Processamento e execução de programas armazenados na

Leia mais

Arquitetura e Organização de Processadores. Aulas 9 e 10. Memória cache

Arquitetura e Organização de Processadores. Aulas 9 e 10. Memória cache Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aulas 9 e 10 Memória cache Tendências tecnológicas

Leia mais

Elementos Físicos do SC e a Classificação de Arquiteturas

Elementos Físicos do SC e a Classificação de Arquiteturas Elementos Físicos do SC e a Classificação de Arquiteturas IFBA Instituto Federal de Educ. Ciencia e Tec Bahia Curso de Analise e Desenvolvimento de Sistemas Arquitetura de Computadores 9 e 10/40 Prof.

Leia mais

MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador

MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador Kelly Rosa Braghetto DCC IME USP 25 de março de 2014 MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 1

Leia mais

Gerência de Memória. Paginação

Gerência de Memória. Paginação Gerência de Memória Paginação Endereçamento Virtual (1) Espaço de endereçamento dos processos não linearmente relacionado com a memória física Cada vez que são usados, os endereços virtuais são convertidos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais GERÊNCIA da MEMÓRIA MACHADO/MAIA: CAPÍTULO 09 Prof. Pedro Luís Antonelli Anhanguera Educacional Gerenciamento da Memória Programas precisam ser trazidos para a memória para serem

Leia mais

Micro-Arquiteturas de Alto Desempenho. Introdução. Ementa

Micro-Arquiteturas de Alto Desempenho. Introdução. Ementa DCC-IM/NCE UFRJ Pós-Graduação em Informática Micro-Arquiteturas de Alto Desempenho Introdução Gabriel P. Silva Ementa Revisão de Organização de Computadores Hierarquia de Memória Memória Virtual Memória

Leia mais

Arquitetura de Computadores. Processamento Paralelo

Arquitetura de Computadores. Processamento Paralelo Arquitetura de Computadores Processamento Paralelo 1 Multiprogramação e Multiprocessamento Múltiplas organizações de computadores Single instruction, single data stream - SISD Single instruction, multiple

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DEPARTAMENTO DE CIÊNCIAS CIÊNCIAS EXATAS E E NATURAIS NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização

Leia mais

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2) Tecnólogo em Análise e Desenvolvimento de Sistemas Sistemas Operacionais (SOP A2) Conceitos de Hardware e Software Referências: Arquitetura de Sistemas Operacionais. F. B. Machado, L. P. Maia. Editora

Leia mais

MEMÓRIAS SEMICONDUTORAS

MEMÓRIAS SEMICONDUTORAS MEMÓRIAS SEMICONDUTORAS Em um sistema computacional subentende-se memória como qualquer dispositivo capaz de armazenar dados, mesmo temporariamente. Atualmente, os métodos de armazenamento de informação

Leia mais

SUMÁRIO. 1.3 CONCEITOS DE SISTEMA OPERACIONAL Processos Arquivos O shell 42

SUMÁRIO. 1.3 CONCEITOS DE SISTEMA OPERACIONAL Processos Arquivos O shell 42 SUMÁRIO 1 INTRODUÇÃO 21 1.1 O QUE É O SISTEMA OPERACIONAL? 23 1.1.1 O sistema operacional como uma máquina estendida 23 1.1.2 O sistema operacional como gerenciador de recursos 24 1.2 HISTÓRIA DOS SISTEMAS

Leia mais

Organização de computadores. Prof. Moisés Souto

Organização de computadores. Prof. Moisés Souto Organização de computadores Prof. Moisés Souto Moisés Souto docente.ifrn.edu.br/moisessouto professor.moisessouto.com.br moises,souto@ifrn.edu.br @moises_souto Aula 06 CICLO DE INSTRUÇÕES Unidade Central

Leia mais

Sistemas Operacionais: Memória Virtual

Sistemas Operacionais: Memória Virtual Sistemas Operacionais: Memória Virtual Memória virtual Memória virtual: separação entre a visão lógica do usuário e a memória física Somente uma parte do programa necessita estar na memória para executar

Leia mais

Organização e Arquitetura de computadores. Memórias

Organização e Arquitetura de computadores. Memórias Organização e Arquitetura de computadores Memórias Introdução Funcionamento básico de um sistema microprocessado (Figura 1.10, Gabriel Torres) Programas são armazenados aqui Controlador de memoria Dispositivos

Leia mais

Memória Cache. Walter Fetter Lages.

Memória Cache. Walter Fetter Lages. Memória Cache Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Copyright (c) Walter Fetter Lages p.1 Introdução SRAM

Leia mais