Conjunto de instruções Tipos de dados e organização da memória Modos de endereçamento à memória Registradores acessíveis ao programador Entrada/saída e sistema de interrupção Revisão de Arquitetura de Computadores ! MEMÓRIA 9 8 2 10 Unidade de Entrada 12 7 6 Unidade de Controle Registrador de endereço (REM) " MEMÓRIA Registrador de dados (RDM) Contador de prog. (PC) Registrador de inst. (RI) $ ULA 4 11 Unidade de Saída Decodificador de instruções 1 3 # Unidade de Lógica e Aritm. ! busca instrução analisa (decodifica) a instrução executa a instrução volta ao passo 1 5 Unidade de Controle Gerador de sinais controle % REM PC UC envia sinal de leitura para a Memória RDM Mem[REM] RI RDM PC PC + tamanho da instrução 1 $ & ! O mecanismo de bootstrapping em um elefante” & ! O registrador PSW (Processor Status Word) O registrador SP (Stack Pointer) ( ) busca próxima instrução na memória decodifica (analisa) a instrução executa a instrução (talvez seja necessário buscar um dado na memória) verifica se ocorreu alguma interrupção (se ocorreu, muda o contexto de execução) volta ao passo 1 “Um SO é capaz de transformar um rato $ ' $ % Interrupção de hardware Interrupção de software (trap ou system call) Tabela de interrupções Modos de execução da UCP O SO só recebe o controle da UCP (só trabalha) quando ocorre alguma interrupção. * % ( Sinal originado em algum dispositivo físico São imprevisíveis Os computadores possuem instruções especiais para desabilitar (mascarar, inibir) o sistema de interrupção Enquanto as interrupções estão desabilitadas elas podem ocorrer, mas não são sentidas pelo processador Nesse caso, elas ficam pendentes (enfileiradas) e vão ser atendidas após a UCP executar uma instrução especial que habilita as mesmas novamente. Dispositivo físico cuja finalidade é gerar interrupções Decrementa o conteúdo de um registrador (com uma freqüência constante) e interrompe a UCP quando o valor do registrador atinge zero. O SO garante que ocorra pelo menos uma interrupção (e ele volte a trabalhar) dentro de um tempo T, colocando no relógio um valor que demore T unidades de tempo para ser decrementado até zero. Usando o timer, o SO pode alocar fatias de tempo da UCP para os processos (scheduling da UCP). 2 * % %+ O sinal de interrupção é gerado por uma instrução São previsíveis São usadas para transferir o controle para o SO Também chamadas de trap ou system call Desencadeiam as mesmas ações que uma interrupção de hardware, isto é, o programa em execução é suspenso, Em tempo de projeto do computador, é escolhida uma área de memória para conter uma tabela que vai ser usada pelo hardware (i.é, pelo mecanismo de interrupção do computador). Essa tabela tem uma linha (ou entrada) para cada interrupção ou trap que possa ocorrer no sistema. Cada linha contém valores para serem carregados nos registradores: PC (program counter) PSW (processor status word) (Lembre que a PSW indica quais interrupções estão mascaradas e qual é o modo de execução) informações são salvas e uma rotina específica do SO é executada. A tabela é inicializada na carga do SO % Os traps tornaram-se necessários quando os computadores passaram a adotar instruções protegidas (ou privilegiadas). Esta instrução foi criada para passar o modo de execução para privilegiado e transferir o controle para o SO A UCP passou a trabalhar em dois modos mutuamente exclusivos: Esta instrução deve ser privilegiada? Pode ser uma instrução de transferência simples? modo privilegiado (também chamado modo supervisor, modo sistema ou modo mestre) Pode ser uma instrução tipo chamada de subrotina, com troca automática do modo de execução para privilegiado? modo normal (também chamado modo usuário, modo programa ou modo escravo) ! % - PDP-11 (máquina na qual foi implementado o primeiro sistema operacional UNIX) Registradores de UCP: PC – program counter PSW – processor status word SP – stack pointer R0,..,R5 – registradores de uso geral , A solução foi permitir a transferência da execução com mudança de modo apenas para determinados pontos do SO (portas de entrada do SO) ! % - interrupção (salva estado) Programa de usuário (modo normal) Sistema Operacional (modo privilegiado) retorno de interrupção (restaura estado) SP Tipos de interrupções: • interrupção de periférico • interrupção do relógio • interrupção de proteção (erro de execução) • chamada do sistema ou trap PC PSW ... ... PILHA (após uma interrupção) 3