Вы находитесь на странице: 1из 10

AMBIENTES OPERACIONAIS

1.1 Uma reviso de arquitetura dos computadores

Arquitetura: conjunto de recursos existentes a nvel de hardware, utilizados para suportar a implementao dos nveis de software. As camadas de software (sistema operacional, aplicativos, programas de usurio facilitam a utilizao do computador, mas, ao fim e ao ca!o, as a"es do computador so realizadas pelos componentes de hardware, os #uais so diretamente acionados por instru"es de m#uina executadas pela unidade central de processamento ($%& . Componentes de uma arquitetura: %onjunto de instru"es 'ipos de dados e organizao da mem(ria )odos de endereamento * mem(ria +egistradores acessveis ao programador ,ntrada - sada e sistema de interrupo

Modelo de Von Newmann .a d/cada de 01, 2ohn 3on .ewmann prop4s um modelo de m#uina onde os programas e os dados usados por ele eram armazenados na mem(ria (m#uina de programa armazenado . Ainda hoje, os computadores digitais so !aseados neste modelo, o #ual / composto de cinco unidades essenciais5 $nidade 6(gica e Aritm/tica (ULA), $nidade de %ontrole (UC), )em(ria (MEM , $nidade de ,ntrada (UE) e $nidade de 7ada (US)5
Memria

Un. Entrada

ULA

Un. Sada
$nidade %entral de &rocessamento

UC

Figura 1 Modelo de Von Newmann .a figura 8, os componentes da ar#uitetura so considerados em detalhe. As linhas finas (9, :, 91 e 99 so usadas para o envio de sinais de controle (!arramento AMB EN!ES "#E$AC "NA S Reviso de arquitetura dos computadores
&rof. 7imo 7irineo 'oscani

p. %

de controle e as demais so usadas para tranferir dados e endereos. .a verdade, a ;nica linha para envio de endereos / a <, conforme ser explicado a seguir.

MEMRIA @ = 8 91 98 : Unidade de Controle 9 > Unidade de Lgica e Aritm. ? < 0 99 Unidade de Sada

Unidade de Entrada

Figura 2 Modelo de Von Newmann mais detalhado Unidade de L&i'a e Aritm(ti'a )ULA): A $6A / a parte do computador onde so realizadas as opera"es aritm/ticas (soma, su!trao, multiplicao, etc. , !em como as opera"es l(gicas (and, or, etc. so!re os dados. A operao a ser executada / determinada pelo sinal #ue a $% envia para a $6A (seta 9 na figura 8 . As dados a serem operados podem vir tanto da mem(ria (seta 8 #uanto da $nidade de ,ntrada (seta > . As resultados das opera"es realizadas pela $6A podem ser transferidos tanto para a mem(ria (seta 0 , #uanto para a $nidade de 7ada (seta ? . Memria: A $nidade de )em(ria / organizada como uma se#BCncia de '(lulas, denominadas palavras (em inglCs, words 9, cada c/lula possuindo um endere*o +ni'o e podendo ser acessada individualmente. %ada palavra armazena um grupo de dgitos !inrios #ue pode representar um dado ou uma instruo. &ortanto, a mem(ria cont/m os dados a serem operados e as instru"es (programa para manipular os dados ou acionar as unidades de entrada e sada (,-7 . A operao da mem(ria (leitura ou escrita / controlada pela $%, #ue envia o sinal informando o tipo de operao (seta : . A endereo de mem(ria a ser acessado / enviado pela $%, atrav/s do ,arramento de endere*os (seta < . As informa"es podem ser escritas na mem(ria a partir da $6A (seta 0 ou da $nidade de ,ntrada (seta = , novamente so! controle da $%. As informa"es podem ser enviadas da mem(ria para a $6A (seta 8 ou para a $nidade de 7ada (seta @ . Unidade de Entrada:
,m alguns computadores atuais, a c/lula corresponde a um B-!E (conjunto de = !its , sendo uma palavra um m;ltiplo de = !its (normalmente, >8 !its, isto /, 0 !Dtes .
9

AMB EN!ES "#E$AC "NA S Reviso de arquitetura dos computadores


&rof. 7imo 7irineo 'oscani

p. .

A $nidade de ,ntrada / o dispositivo #ue permite a entrada de dados a partir do am!iente externo. ,sses dados podem ser introduzidos na mem(ria (seta = ou na $6A (seta > . A $% determina para onde a informao de entrada ser enviada (seta 91 . Eoje em dia um computador admite utilizar vrios tipos de perif/ricos como unidades de entrada (teclado, mouse, digitalizadores de imagens, unidades de %FG +A), etc. . Unidade de Sada: A $nidade de 7ada / o dispositivo #ue permite a sada de informa"es para o am!iente externo. A $nidade de 7ada / dirigida pela $% (seta 99 e pode rece!er dados da mem(ria (seta @ ou da $6A (seta ? os #uais so colocados ento na forma apropriada para o uso externo. Eoje em dia um computador admite vrios tipos de perif/ricos como unidades de sada (terminais de vdeo, impressora, discos magn/ticos, etc. .8 Unidade de Controle: A $% dirige a operao de todas as unidades, fornecendo os sinais de controle #ue acionam os diversos componentes do hardware. ,sta unidade cont/m circuitos l(gicos e de temporizao (ou de sincronizao #ue geram os sinais necessrios * execuo de cada instruo de um programa. A $% !usca uma instruo na mem(ria enviando um endereo (seta < e um comando de leitura (seta : para a mem(ria. A palavra de instruo armazenada / ento transferida para a $% (seta 98 . ,sta palavra de instruo / decodificada pelos circuitos l(gicos da $% para determinar a ao a ser executada (adio, su!trao, carga de registrador, etc. . A $% utiliza esta informao para gerar os sinais necessrios para a execuo da instruo. )ais detalhes so apresentados na seo a seguir. A Unidade Central de #ro'essamento e o Me'anismo de A'esso / Memria A $nidade %entral de &rocessamento ($%& ou %&$, do inglCs Central Processing Unit / composta pela $% e pela $6A. Al/m destes componentes, a $%& cont/m um conjunto de registradores. $m registrador / uma unidade de armazenamento de informao interna, de acesso muito rpido, podendo ser de uso geral ou especfico. $m registrador tem uma capacidade de armazenamento #ue varia de = a :0 !its. A estrutura dos registradores (#uantidade, tipo, tamanho, etc. varia de processador para processador e / uma das caractersticas #ue definem uma ar#uitetura. A organizao !sica de uma $%& / mostrada na figura >.

A modelo de 3on .ewmann no inclui unidades #ue sirvam de entrada e sada (discos magn/ticos, por exemplo . .as m#uinas atuais, estes perif/ricos so essenciais, sendo referidos como dispositivos de armazenamento secundrio ou auxiliar. ,les possuem uma caracterstica importante5 ap(s serem acionados pela $%, so capazes de transferir grandes volumes de dados de-para a unidade de mem(ria (mem(ria +A) , atrav/s de um mecanismo denominado F)A (Firect )emorD Access .
8

AMB EN!ES "#E$AC "NA S Reviso de arquitetura dos computadores


&rof. 7imo 7irineo 'oscani

p. 0

a
$e&istrador de endere*o )$EM) $e&istrador de dados )$2M) ULA

MEM1$ A

,
Contador de pro&. )#C) $e&istrador de inst. )$ ) 2e'odi3i'ador de instru*4es 5erador de sinais 'ontrole

$nidade de %ontrole

Figura 3 A UCP e o mecanismo de acesso memria G Registradores RE e R!

'odo e #ual#uer acesso * mem(ria / feito atrav/s desse par de registradores, o #ual faz parte do me'anismo de a'esso / memria. A registrador +,) (registrador de endereo cont/m o endereo da c/lula (word ou "#te a ser acessada na mem(ria. A +F) (registrador de dado serve como entrada ou sada. ,m uma uma operao de escrita, / necessrio colocar previamente no +F) o dado a ser escrito na c/lula indicada no +,). ,m uma operao de leitura, o +F) vai rece!er o dado lido da c/lula indicada no +,). &ortanto, considerado de forma isolada, o controlador de mem(ria / um hardware #ue transfere dados entre o +F) e a mem(ria. 7e a mem(ria do computador / formada por vrios m(dulos e cada um possui seu pr(prio mecanismo de acesso, ento / possvel realizar acessos simultHneos * mem(ria (desde #ue os acessos envolvam m(dulos diferentes . %aso contrrio, os acessos tCm #ue ser serializados e realizados um por vez. G Contador de Programa $PC% A contador de programa ( Program Counter / o registrador #ue indica o endereo (localizao na mem(ria da pr(xima instruo a ser executada. Furante a execuo de uma instruo, esse contador / incrementado com o valor do tamanho da instruo, de modo #ue ele passe a conter o endereo da instruo seguinte. A tamanho do &% / igual ao n;mero de !its de endereo #ue o microprocessador pode manipular. Assim, se a m#uina tra!alha com endereos de 9: !its, o &% ter 9: !its. A contador de programa tam!/m pode ser referido por I% (do inglCs &nstruction Counter ou I& (&nstruction Pointer .

AMB EN!ES "#E$AC "NA S Reviso de arquitetura dos computadores


&rof. 7imo 7irineo 'oscani

p. 6

G Registrador de &nstru'(es $R&% Juando a $% !usca uma instruo na mem(ria, o c(digo de operao da instruo vem para o registrador denominado +I (Registrador de &nstru'(es . ,ste registrador / utilizado somente pelo microprocessador, no podendo ser acessado pelo programador. A instruo fica armazenada no +I en#uanto o decodificador de instru"es a analisa. 7e a instruo tem um operando (endereo de dado a ser operado , o mesmo / colocado no +,) (isto /, o endereo do dado a ser utilizado na execuo da instruo / copiado do +F) para o +,) K isto / indicado pela seta a, na figura acima . .o caso de uma instruo de transferCncia, o operando / copiado para o &% (seta ,, na figura acima , pois, nesse caso, o operando / o endereo da pr(xima instruo a ser executada. G !ecodi)icador de &nstru'(es A decodificador de instru"es tem a funo de analisar a instruo presente no +I e, de acordo com a mesma, enviar a codificao apropriada ao gerador de sinais de controle. G *erador de Sinais de Controle A gerador de sinais de controle gera os sinais #ue dirigem o funcionamento de todas as unidades de hardware. &ara cada instruo decodificada, so enviados os sinais de sincronizao e de controle #ue colocam em ao os componentes envolvidos na execuo da instruo. + , registrador PS- $Processor Status -ord% A registrador Lpalavra de estado do processadorM ou simplesmente Lregistrador de estadoM, no fazia parte da m#uina de 3on .ewmann (nem existia nos computadores mais antigos . %ontudo, ele / essencial para o funcionamento de um sistema operacional moderno e, atualmente, faz parte de #ual#uer $%&. A uso desse registrador passou a ser necessrio #uando os computadores comearam a utilizar sistemas de interrupo, conforme ser explicado adiante. + , registrador SP $Stac. Pointer% A registrador Lponteiro da pilhaM (em inglCs, stac. pointer / outro #ue no existia na m#uina de 3on .ewmann, mas #ue hoje em dia faz parte da $%& de #uase todos os computadores. ,le / necessrio por#ue todo programa em execuo precisa usar uma pilha para realizar chamadas e retornos de procedimentos. Assim, cada programa possui uma pilha pr(pria e o registrador 7& indica o topo da pilha do programa correntemente em execuo. Juando a execuo passa de um programa para outro, o valor do 7& / alterado de modo #ue ele passa a apontar para a pilha do novo programa em execuo.

AMB EN!ES "#E$AC "NA S Reviso de arquitetura dos computadores


&rof. 7imo 7irineo 'oscani

p. 7

" 'i'lo sem 3im da UC# A $%& funciona repetindo indefinidamente o processo de ,us'a8 de'odi3i'a*9o e e:e'u*9o de instru*9o. Isto se repete at/ #ue seja executada uma instruo especial, normalmente denominada EA6', #ue faz a $%& parar. ,sta instruo / protegida e no pode ser executada diretamente por um programa de usurio (instru"es protegidas sero consideradas adiante, nos modos de execuo da $%& . Festa maneira, desde #ue o computador / ligado, a Lvida da $%&M consiste em repetir o ciclo5 %. .. 0. 6. ,us'a instru*9o analisa )de'odi3i'a) a instru*9o e:e'uta a instru*9o ;olta ao passo %

.a verdade, nos computadores atuais, ap(s executar o passo > e antes de executar o passo 0, a $%& verifica os sinais de interrupo e, se ocorreu alguma interrupo, o hardware coloca no &%, automaticamente, o endereo da rotina> #ue trata da interrupo sinalizada. Feste modo, a instruo !uscada no passo 9 ser a primeira instruo da rotina de interrupo. A seguir / detalhada a transferCncia de dados entre os elementos da $%&, por ocasio no primeiro passo do ciclo (!usca da pr(xima instruo 5 %. .. 0. 6. 7. $EM #C Sinal de leitura para o 'ontrolador de memria )en;iado pela UC) $2M Mem<$EM= $ $2M #C >? #C @ tamanAo da instru*9o

As cinco passos acima constituem o 'i'lo de ,us'a da instru*9o (instruction )etc/ c#cle . A tempo necessrio para executar o ciclo de )etc/ / constante para cada computador. 2 o tempo para executar uma instruo / varivel, pois depende do tipo da instruo e do modo de endereamento utilizado na mesma. A execuo da instruo (gerao dos sinais #ue acionam os componentes eletr4nicos / realizada no denominado 'i'lo de e:e'u*9o da instru*9o (e0ecution c#cle . %onforme visto acima, desde #ue o computador / ligado, o #ue a $%& faz / repetir o ciclo L!usca, decodificao e execuo de instruoM. &ortanto, desde o incio, j deve haver um programa na mem(ria para ser executado. A existCncia do software de controle na mem(ria / garantida atrav/s de um processo automtico (realizado de forma automtica pelo hardware , denominado 'ar&a ini'ial ou "ootstrapping. " pro'esso de bootstrapping Juando o computador / ligado, automaticamente o hardware executa um pe#ueno programa #ue est gravado em +A) (mem(ria permanente . ,sse pe#ueno programa faz a carga de um programa maior (#ue est no disco do sistema e transfere a execuo para ele. A programa maior, por sua vez, faz a carga do .ernel e dos processos do 7A, !em como faz a inicializao das estruturas de dados do sistema, e,
A mecanismo de interrupo, responsvel pela carga do endereo da rotina de interrupo no &% / descrito adiante.
>

AMB EN!ES "#E$AC "NA S Reviso de arquitetura dos computadores


&rof. 7imo 7irineo 'oscani

p. B

finalmente, transfere a execuo para o 7A. ,ste procedimento de carga do 7A / conhecido como "ootstrapping. A!serve #ue durante todo o tempo, desde a execuo inicial do pe#ueno programa armazenado em +A), o #ue a $%& faz / simplesmente repetir o seu ciclo infinito. %onsiderando #ue a $%& / capaz de executar um conjunto relativamente pe#ueno de instru"es, / impressionante o resultado o!tido pelo 7A. Fe fato, h #uem diga #ue um elefante / um rato com um 7A (isto significa #ue um 7A conseguiria dar a um rato o poder de um elefante . " me'anismo de interrup*9o Eoje em dia, praticamente todos os computadores so dotados de um mecanismo de interrupo. .este caso, a $%, logo ap(s terminar a execuo de uma instruo (antes de iniciar o ciclo de )etc/ da pr(xima instruo verifica as linhas de interrupo para ver se alguma interrupo foi sinalizada. 7e foi, o hardware, automaticamente, salva os registradores da $%& na pilha do programa #ue estava em execuo e carrega no &% o endereo da rotina #ue trata da interrupo #ue foi sinalizada (as rotinas de interrupo fazem parte do .ernel do 7istema Aperacional . A mecanismo de interrupo / fundamental para a organizao e o funcionamento dos sistemas operacionais modernos. &odeGse dizer #ue as interrup"es so as foras #ue movimentam e dirigem os 7As. .a verdade, um 7A s( rece!e o controle da $%& (s( tra!alha #uando ocorre alguma interrupo. ,ssas Lforas motrizesM podem ser geradas por hardware ou por software. + &nterrup'o de /ardware $ma interrupo de hardware / um sinal originado em algum dispositivo fsico, #ue faz com #ue a $%& suspenda a execuo do programa #ue vinha executando (guardando informa"es para continuar a execuo desse programa, mais tarde e passe a executar uma rotina especfica #ue trata da interrupo ocorrida. Interrup"es de hardware so geradas pelos vrios dispositivos perif/ricos (disco, impressora, teclado, etc. ou pelo rel(gio ( timer . A rel(gio / um dispositivo #ue decrementa automaticamente o conte;do de um registrador, com uma fre#BCncia constante, e interrompe a $%& #uando o valor do registrador atinge zero. A 7A garante #ue ocorra pelo menos uma interrupo (e ele volte a tra!alhar dentro de um tempo ', colocando no rel(gio um valor #ue demore ' unidades de tempo para ser decrementado at/ zero (o 7A faz isso antes de entregar a $%& para um programa de usurio . As computadores possuem instru"es especiais para desa!ilitar (mascarar, ini!ir o sistema de interrupo. ,n#uanto as interrup"es esto desa!ilitadas elas podem ocorrer, mas no so sentidas pelo processador. .esse caso, elas ficam pendentes (enfileiradas e s( voltam a ser sentidas #uando a $%& executa uma instruo especial #ue ha!ilita (desmascara, desini!e as mesmas.

AMB EN!ES "#E$AC "NA S Reviso de arquitetura dos computadores


&rof. 7imo 7irineo 'oscani

p. C

+ &nterrup'o de so)tware $trap ou s#stem call% $ma interrupo de software / um sinal de interrupo gerado por uma instruo especial (portanto, por software denominada chamada do sistema ( s#stem call ou chamada do supervisor (supervisor call . Alguns autores tam!/m chamam as interrup"es geradas por software de traps (armadilhas . $m trap desencadeia as mesmas a"es desencadeadas por uma interrupo de hardware, isto /, o programa em execuo / suspenso, informa"es so salvas e uma rotina especfica do 7A / executada. A diferena fundamental entre as interrup"es de software e as de hardware / #ue as primeiras (traps so eventos previsveis. Isto /, dado um programa e seus dados, / possvel determinar os pontos em #ue as interrup"es de software iro ocorrer. &or outro lado, as interrup"es de hardware so geradas por dispositivos perif/ricos (para sinalizar erros ou finais de opera"es em pontos #ue so imprevisveis. N comum #ue a denominao interrupo seja su!entendida como interrupo de hardware. ,sta conveno ser usada da#ui para a frente. As interrup"es de software sero referidas explicitamente por traps ou chamadas do sistema. &odeGse dizer #ue * cada interrupo ou trap corresponde uma porta de entrada no 7A e #ue a execuo s( entra no 7A atrav/s de uma dessas portas. A seguir / explicado o mecanismo #ue faz a $%& transferir automaticamente a execuo para a porta de entrada correta, #uando ocorre uma interrupo ou um trap. !a,ela de interrup*4es ,m tempo de projeto do computador, / escolhida uma rea da mem(ria para conter uma ta!ela, denominada ta,ela de interrup*4es, #ue ir conter uma linha (entrada para cada interrupo ou trap #ue possa ocorrer no sistema. %ada entrada da ta!ela cont/m dois valores5 um para ser carregado no &% ( program counter e outro para ser carregado no registrador de estado. A registrador de estado / normalmente referido como &7O (Processor Status -ord e j foi citado anteriormente. 'rataGse de um registrador especial #ue fornece !asicamente duas informa"es5 #uais as interrup"es #ue esto ha!ilitadas e #ual / o modo de execuo 0 atual da $%&. A hardware / projetado e construdo de tal maneira #ue, #uando ocorre uma interrupo ou um trap, a $%& salva automaticamente os conte;dos do &% e da &7O na pilha do programa #ue estava em execuo e carrega novos valores nesses dois registradores, a partir da entrada correspondente da ta!ela de interrup"es. ,m tempo de carga do 7A, a ta!ela de interrup"es / inicializada corretamente, de modo #ue cada entrada passa a indicar uma rotina do Pernel do 7A. "s modos de e:e'u*9o da UC# As traps surgiram (tornaramGse necessrios #uando os projetistas de computadores e de sistemas operacionais decidiram proi!ir o uso de certas instru"es para os programas de usurio. As instru"es proi!idas so ditas prote&idas ou pri;ile&iadas. 'ratamGse de instru"es perigosas, pois o uso incorreto delas (intencional ou no pode gerar pro!lemas para o 7A. &ortanto, estas instru"es devem ficar para uso
A modo de execuo pode ser normal (isto significa #ue um programa de usurio est em execuo ou pri;ile&iado (significa #ue o 7A est em execuo .
0

AMB EN!ES "#E$AC "NA S Reviso de arquitetura dos computadores


&rof. 7imo 7irineo 'oscani

p. D

exclusivo do 7A. ,xemplos so instru"es para desa!ilitar interrup"es e instru"es para acionar perif/ricos. ,ste controle no uso de instru"es / conhecido como prote*9o de 'ontrole? ou prote*9o de instru*4es. &ara implementar esta proteo, o hardware teve #ue passar a distinguir dois modos de processamento5 modo pri;ile&iado (tam!/m chamado de modo supervisor, modo sistema ou modo mestre e modo normal (tam!/m chamado de modo usurio, modo programa ou modo escravo . 7e a $%&, no modo normal, tenta executar uma instruo protegida, a $% gera um trap do tipo Linstruo ilegalM (illegal instruction trap . 7endo assim, sempre #ue um programa de usurio precisa realizar uma operao #ue envolva alguma instruo privilegiada, ele tem #ue passar o controle para o 7A, mudando o modo de execuo. A#ui chegamos a um ponto #ue / muito importante para o entendimento do es#uema utilizado (a#ui os projetistas deram o Lpulo do gatoM . A!serve #ue a instruo de transferCncia para o 7A no poderia ser protegida, pois esta instruo seria executada por um programa de usurio. 'am!/m no poderia ser uma instruo de transferCncia simples, pois isto permitiria transferir a execuo para #ual#uer ponto do 7A, sem controle. 'ampouco poderia ser uma instruo de transferCncia para su!rotina com troca (automatica do modo para privilegiado, pois uma instruo destas poderia ser usada por um usurio mal intencionado para o!ter o controle total da m#uina. ,ra necessrio, portanto, #ue a instruo de transferCncia para o 7A tivesse alguma LarmadilhaM associada, para pegar intrusos. Fa vem o nome trap (armadilha para o es#uema adotado. A soluo dos projetistas foi a de permitir a ao de transferir a execuo para o 7A (com troca para modo privilegiado apenas para pontos fixos e !em definidos do 7A, atrav/s da ta!ela de interrup"es:. .estas poucas portas de entrada, o 7A pode fazer as verifica"es #ue julgar necessrias e implementar as armadilhas #ue desejar. Eoje em dia, praticamente todos os computadores possuem instru"es privilegiadas e dois modos de processamento. 7empre #ue ocorre uma interrupo ou um trap, a $%& passa para o modo privilegiado. &osteriormente, ao devolver o controle para um programa de usurio, o 7A recoloca a $%& no modo normal. Juando um programa de usurio precisa realizar uma operao #ue envolva instruo protegida, o mesmo tem #ue executar um trap, passando como argumentos para o 7A a identificao da operao e os parHmetros para a sua execuo. Um sistema de interrup*9o tpi'o A seguir / apresentada uma ar#uitetura clssica de computador. 'rataGse do minicomputador &F&G99, muito popular na d/cada de <1, so!re o #ual foi implementado o primeiro sistema operacional $.IQ. As ar#uiteturas dos computadores atuais seguem os mesmos princpios !sicos. .o &F&G99, os registradores da $%& eram nove5 &% (program counter , &7O (&rocessor 7tatus Oord , 7& (stacR pointer e seis registradores de uso geral +1, +9,...+?. A palavra de estado do processador (&7O possua um !it especial para indicar o modo de processamento (9 S modo supervisor, 1 S modo usurio . Al/m disso, a &7O tinha um campo de trCs !its para mascarar interrup"es. Juando o valor desse campo era <, todas as interrup"es estavam desa!ilitadas. Juando o valor era 1,
Autro tipo de proteo implementado por hardware / a prote'o de memria. A proteo de ar#uivos (informa"es / normalmente implementada por software. : A!serve #ue a ta!ela de interrup"es tam!/m precisa ficar protegida contra acessos de usurios.
?

AMB EN!ES "#E$AC "NA S Reviso de arquitetura dos computadores


&rof. 7imo 7irineo 'oscani

p. E

todas as interrup"es estavam ha!ilitadas. Juando o valor era n (nT< , #ual#uer dispositivo com prioridade maior #ue n podia interromper. As prioridades dos dispositivos variavam de 9 a <. %ada programa utilizava uma pilha pr(pria e o topo da pilha do programa em execuo era apontado pelo registrador 7&. 7empre #ue ocorria uma interrupo (ou era executado um trap , o hardware salvava automaticamente os valores do &% e da &7O no topo da pilha corrente e carregava novos valores nesses dois registradores, a partir da ta!ela de interrup"es (localizada em uma rea fixa da mem(ria . A novo valor do &% era o endereo da rotina correspondente * interrupo ocorrida. A novo valor da &7O continha < no campo para mascarar interrup"es e 9 no !it para indicar o modo de execuo. &ortanto, ap(s a mudana de contexto, a $%& passava a tra!alhar com interrup"es desa!ilitadas e no modo privilegiado. ,ra funo da rotina de interrupo salvar os demais registradores da $%& (7& e registradores de uso geral +1, +9, ..., +? . &ara voltar a executar um programa de usurio, existia uma instruo especial denominada +'I (+e'urn from Interrupt cuja execuo consistia em carregar os registradores &% e &7O com os valores contidos na pilha corrente (apontada pelo 7& . As ;ltimas a"es do 7A, ap(s arealizao do seu servio (isto /, ap(s o atendimento da interrupo , eram5 (9 escolher o pr(ximo programa a ser executado, (8 restaurar os valores dos registradores 7&, +1, +9, ..., +?, correspondentes a esse programa, e (> executar a instruo +'I. A figura 0 mostra os principais componentes envolvidos no tratamento de interrup"es.
interrup*9o (salva estado #ro&rama de usuFrio )modo normal) Sistema "pera'ional )modo pri;ile&iado) retorno de interrup*9o (restaura estado S# !ipos de interrup*4es: interrupo de perif/rico interrupo do rel(gio interrupo de proteo (erro de execuo chamada do sistema ou trap #C #SG ... ... # LHA (ap(s uma interrupo

Figura 4 Principais elementos de um sistema de interrupo

AMB EN!ES "#E$AC "NA S Reviso de arquitetura dos computadores


&rof. 7imo 7irineo 'oscani

p. %I

Вам также может понравиться