IC - UFF
Sistemas Operacionais
0. Visão geral de um sistema computacional
Textos base:
capítulo 1, Computer Organization and Architecture, W. Stallings
capítulo 2, Operating Systems: Internals and Design Principles, W. Stallings
IC - UFF
Arquitetura de computadores
Arquitetura de computadores refere-se às características visíveis pelo programador conjunto de instruções, número de bits de
dados, mecanismos de E/S, modos de endereçamento
exemplo: deve haver uma instrução de multiplicação?
IC - UFF
Organização de computadores
Organização de computadores refere-se a como estas características são implementadas detalhes de h/w como sinais de controle,
interfaces, tecnologia de memória exemplo: como implementar a instrução de
multiplicação?
IC - UFF
Arquitetura x Organização
Fabricantes oferecem famílias de modelos, com mesma arquitetura e diferentes organizações custo e desempenho diferentes compatibilidade de código mudança da organização com tecnologia
IC - UFF
Estrutura e Função Um computador é um sistema
hierárquico. Em cada nível, o projetista se preocupa com sua estrutura e sua função
Estrutura é a forma como os componentes se relacionam
Função é a operação de cada componente parte dessa estrutura
IC - UFF
Função
Funções básicas de um computador são: Processamento de dados Armazenamento de dados Movimentação de dados Controle
IC - UFF
Visão funcional
Visão funcional de um computador
Equip. demoviment.de dados
Mecanismode controle
Facilidadedearmazenam.
Facilidadedeprocessam.
Ambiente deoperação
IC - UFF
Estrutura: visão macro
Computador
Memóriaprincipal
E/S
Sistema decomunicação
Periféricos
Linhas decomunicação
UCP
Computador
IC - UFF
Estrutura: a UCP
ComputadorULA
Unidadedecontrole
Interconexãointerna à UCP
Registradores
UCP
E/S
Memória
Sistem.Com.
UCP
IC - UFF
Estrutura: unidade de controle
UCP
Memóriadecontrole
Registradores edecodificadores
Seqüencia-mento
Unid.controle
ULA
Regist.
Barraint.
Unid. de controle
IC - UFF
Computador: visão macro
IC - UFF
Ciclo de instrução
Início ParadaBusca novainstrução
ExecutaInstrução
Ciclo de busca Ciclo de execução
IC - UFF
Ciclo de busca
PC contém o endereço da próxima instrução
Instrução é buscada e colocada no IR para ser interpretada
PC é incrementado (quase sempre!)
IC - UFF
Ciclo de execução
UCP interpreta instrução e executa ação: UCP memória: transferência de dados UCP E/S: transferência de dados processamento de dados: operação lógica ou
aritmética controle: alteração da seqüência de operação combinação dessas ações
IC - UFF
Organização da UCP
Funções da UCP: buscar instruções interpretar instruções buscar dados processar dados
UCP precisa fazer armazenamento temporário: registradores
IC - UFF
Registradores
Espaço de trabalho temporário Quantidade e função varia entre
processadores Uma das principais decisões de projeto Nível superior da hierarquia de memória
IC - UFF
Registradores visíveis
São os que podem ser referenciados através de linguagem de máquina de uso geral (dados e endereçamento) de dados (e.g., acumulador) de endereço: segmento, índice, pilha, ... códigos de condição (só leitura)
IC - UFF
Registradores de controle e estado
Visibilidade restrita Essenciais: PC, IR, MAR, MBR PSW: Program Status Word
códigos de condição (sinal, zero, vai-um, estouro, permissão/inibição de interrupção, supervisor)
Outros: SP, apontador de PCB, interrupção vetorizada
IC - UFF
Conceito de interrupção Mecanismo pelo qual outros módulos (e.g.,
E/S) interrompem processamento normal da UCP
Tipos mais comuns de interrupção: programa (e.g., 0) temporização (e.g., escalonamento) E/S (e.g., fim de escrita em disco) falha de h/w (e.g., falta de energia)
IC - UFF
Fluxo de controle em programa
IC - UFF
Transferência de controle
1
2
i
i+1
Programa do usuário
M
Tratador de interrupção
IC - UFF
Tratador de interrupção
Programa que determina a natureza da interrupção e que realiza o tratamento adequado
Controle é transferido para este programa após salvamento de algumas informações
É parte do sistema operacional
IC - UFF
Início
Parada
Busca novainstrução
Executainstrução
Verifica inter-rupção: processa
interrupção
Ciclo de busca Ciclo de execução Ciclo de interrupção
Interrupçõesinibidas
Interrupçõespermitidas
Ciclo de interrupção
IC - UFF
Tratamento da interrupção
Algum controlador dedispositivo gera umainterrupção
UCP termina execuçãoda instrução corrente
UCP sinalizareconhecimento dainterrupção
UCP armazenaPSW e PC napilha de controle
UCP carrega novovalor do PC baseadana interrupção
Salva o resto dainformação de estadodo processador
Processa interrupção
Restaura ainformação de estadodo processador
Restaura PSW e PCanteriores
H/W S/W
IC - UFF
Interrupções múltiplas (1)
Desabilita interrupções: seqüencial UCP ignora outras interrupções enquanto
processa uma interrupção interrupções pendentes só são verificadas ao
fim do tratamento da interrupção corrente interrupções tratadas na ordem seqüencial
de ocorrência
IC - UFF
Tratamento seqüencial
IC - UFF
Interrupções múltiplas (2)
Definição de prioridades interrupções de menor prioridade podem ser
interrompidas por interrupções de maior prioridade
quando há o término do tratamento da(s) de maior prioridade, UCP trata a(s) de menor prioridade
IC - UFF
Tratamento com prioridades
IC - UFF
Técnicas de comunicação de E/S
E/S programado: (a) E/S por interrupção: (b) E/S por DMA: (c)
IC - UFF
Exemplo: leitura de um blocoInsert Readcommand toI/O Module
Read Statusof I/OModule
CheckStatus
Read wordfrom I/OModule
Write wordinto memory
Done?
Yes
No
Next Instruction
CPU Memory
I/O CPU
ErrorCondition
I/O CPU
CPU I/O
Ready
NotReady
Insert Readcommand toI/O Module
Read Statusof I/OModule
CheckStatus
Read wordfrom I/OModule
Write wordinto memory
Done?
Yes
No
Next Instruction
CPU Memory
I/O CPU
ErrorCondition
I/O CPU
CPU I/O
Ready
Do somethingelse
Interrupt
Next Instruction
CPU DMA
Interrupt
DMA CPU
Do somethingelse
Issue Readblock commandto I/O module
Read statusof DMAmodule
(a) (b)
(c)