You are on page 1of 70

Instituto de Matemtica Departamento de Cincia da Computao

Arquitetura de Computadores Estrutura e funo do processador Prof. Marcos E Barreto

Tpicos

Organizao do processador Organizao dos registradores Ciclo da instruo Pipeline de instrues Estudo de caso: x86 Referncias:

Stallings. Arquitetura e organizao de computadores. 8 ed. Cap. 12. Hennessy, Patterson. Arquitetura de computadores uma abordagem quantitativa. 4 ed. Apndice A.

Contextualizao

Um processador inclui registradores visveis ao programador e registradores de controle/estado. Registradores visveis ao programador podem ser de uso geral ou especfico (ex. armazenamento de nmeros reais, ndices, ponteiros etc). Podem ser referenciados explcita ou implicitamente em instrues => depende do formato da instruo e do opcode. Registradores de controle e estado controlam a operao do computador.

Ex: PC (program counter), PSW (program status word) Habilitar interrupes, indicar modo de operao (protegido ou usurio), etc.

Organizao do processador

Requisitos exigidos:

Buscar instruo, interpretar a instruo, obter os dados, processador os dados e gravar os dados.

Processador precisa de memria interna para armazenamento de dados de controle (ex. prxima instruo a ser executada). Estrutura

ULA, UC, registradores

Organizao do processador

Estrutura interna do processador (CPU):

Organizao dos registradores

Registradores dentro do processador correspondem ao nvel mais alto na hierarquia de memria. Desempenham dois papis

Registradores visveis ao usurio Possibilitam que o programador minimize as referncias memria principal, pela otimizao no uso de registradores. Registradores de controle e estado

Usado pelas UC para controlar o funcionamento do processador e pelo sistema operacional para controlar a execuo de programas.

Importante destacar que essa distino nem sempre clara em todas as arquiteturas!!

Organizao dos registradores

Registradores visveis ao usurio

Podem ser referenciados pelas instrues da linguagem de mquina. Categorias


Uso geral Dados Endereos Cdigos condicionais

Organizao dos registradores

Registradores visveis ao usurio uso geral

Podem conter um operando para qualquer opcode do conjunto de instrues => uso ortogonal. Podem haver restries

Registradores para pilha, ponto flutuante etc.

Podem ser usados para endereamento indireto ou deslocamento, em alguns casos.

Organizao dos registradores

Registradores visveis ao usurio dados


Podem ser usados apenas para guardar dados No podem ser empregados para calcular o endereo de um operando.

Organizao dos registradores

Registradores visveis ao usurio endereos

Podem ser de uso geral ou usados para um modo de endereamento em particular. Exemplos:

Ponteiros de segmento Guarda o endereo base dos segmentos. Registradores de ndice Usados para indexar endereos e podem ser autoindexados. Ponteiros de pilha Aponta para o topo da pilha, se este modo de endereamento for visvel ao usurio.

Organizao dos registradores

Questes de projeto

Uso de registradores de propsito geral X uso de registradores especficos

Economia de bits X limitao na flexibilidade

Nmero de registradores a serem oferecidos?


Algo entre 8 e 32 Nmero de registradores X nmero de acessos a memria

Organizao dos registradores

Reg. visveis ao usurio cdigos condicionais (flags)

Bits definidos pelo hardware do processador como resultado de algumas operaes. So coletados e armazenados em um ou mais registradores. Alguns processadores no usam cdigos condicionais

Exemplo: IA-64 e MIPS

Situaes nas quais existe salvamento e restaurao de contexto feitas pelo processador e situaes nas quais o usurio responsvel por isso (atravs de instrues especficas).

Organizao dos registradores

Reg. visveis ao usurio cdigos condicionais (flags)

Organizao dos registradores

Registradores de controle e estado

So visveis s instrues de mquina que executam no modo de controle ou de sistema operacional. Quatro registradores principais

Contador de programa (PC)

Armazena endereo da prxima instruo a ser executada. Armazena a instruo em execuo num determinado momento. Armazena endereos de memria Armazena dados a serem escritos ou que foram lidos da memria

Registrador de instruo (RI)

Registrador de endereo de memria (MAR)

Registrador de buffer de memria (MBR)

Organizao dos registradores

Registradores de controle e estado outros registradores

Reg. de palavra de estado do programa (PSW)


Armazena cdigos condicionais Sinal: bit de sinal da ltima operao aritmtica Zero: marcado quando o resultado 0. Carry: usado em operao aritmticas de mltiplos bits. Marcado se uma operao resulta em transportar (adio) ou emprestar (subtrao) um bit de ordem maior. Igual: marcado se uma operao lgica resulta em igualdade. Overflow: usado para indicar sobrecarga aritmtica. Habilitar/desabilitar interrupo Supervisor: indica se o processador est executando em modo supervisor ou modo usurio.

Organizao dos registradores

Registradores de controle e estado outros registradores

Registrador de interrupo vetorada

Mquina que usam interrupes vetoradas

Registrador (ponteiro) para pilha do sistema

Suporte a chamada de procedimentos e salvamento de contexto em pilha

Registradores de controle de E/S

Organizao dos registradores

Registradores de controle e estado questes de projeto

Suporte do sistema operacional

Sistema operacional pode ser responsvel pela manuteno de algumas informaes de controle.

Alocao da informao de controle entre memria e registradores


Negociao entre custo X velocidade. Quanto da informao de controle deve estar em memria e quanto deve estar nos registradores.

Organizao dos registradores

Exemplos de organizao Motorola MC68000

Registradores de 32 bits divididos em 8 registradores de dados e 9 registradores de endereos. Dados com 8, 16 ou 32 bits Endereos com 32 bits Um registrador de estado (16 bits) Um contador de programa (32 bits) Sem registradores de uso especfico.

Organizao dos registradores

Exemplos de organizao Intel 8086


Cada registrador de uso especfico. 4 registradores de dados (16 bits cada) AX, BX, CX, DX 4 registradores indexadores (16 bits cada) SP, BP, SI, DI Registradores podem ser usados implicitamente, dependendo da operao. Ex: MUL sempre usa o acumulador, registradores indexadores contm offset. 4 registradores de segmento (16 bits cada)

CS, DS, SS, ES Segmento de instrues, de dados e de pilha

Um ponteiro de instruo e um conjunto de flags.

Organizao dos registradores

Exemplos de organizao Intel 80386 (Pentium IV)

Processador de 32 bits projetado como uma extenso do 8086 (compatibilidade). Micro-arquitetura Netburst Registradores de 16 bits (do 8086) so mantidos embutidos em registradores de 32 bits EAX, EBX, ECX, EDX,

Interessante olhar: - Core Duo X Dual Core (arquiteturas Core/Penryn) - Intel Core i3, i5 e i7 (arquiteturas Lynnfield e Nehalem)

Ciclo da instruo

Estgios

Buscar: l a prxima instruo da memria para o processador Executar: interpreta opcode e efetua a operao indicada. Interromper: salva o estado do processo atual e atende a interrupo, se habilitada. Ciclo indireto: estgio adicional, quando endereamento indireto usado => acessos adicionais memria so necessrios

Fluxo de dados

Sequncia exata de eventos durante o ciclo de instruo depende do modelo de processador. Ciclo de leitura
1. PC tem endereo da instruo a ser lida 2. MAR = endereo da instruo 3. Endereo copiado para barramento de endereos 4. UC requisita leitura 5. barramento de dados recebe o dado lido (prxima instruo) 6. MBR = prxima instruo 7. IR = MBR 8. UC incrementa PC

1 8

2 3 6 4

Fluxo de dados

Especificador de operando que usa endereamento indireto. Ciclo indireto


1. MAR = N bits mais direita do MBR 2. UC requisita operao de leitura 3. MBR recebe dado (operando)

Fluxo de dados

Ciclo de interrupo

Contedo atual do PC deve ser salvo para que o processador possa resumir a atividade normal depois da interrupo.
1. MBR = PC (dados do PC so gravados em memria) 2. MAR = posio de memria para controle de interrupo - carregada no MAR pela UC. 3. PC = endereo da rotina de interrupo

3 1

Pipeline de instrues

Melhor desempenho das arquiteturas pode ser obtido:

por melhorias na tecnologia

ex.: circuitos mais rpidos Uso de vrios registradores em vez de um acumulador Memria cache

melhorias organizacionais no processador


Pipeline de instrues

Pipeline de instrues

Estratgia do pipeline

Pipeline = analogia com linha de montagem em uma planta industrial, na qual um produto passa por vrios estgios de produo. A linha de montagem pode processar vrios produtos simultaneamente, cada um num estgio diferente. Uma instruo tem vrios estgios.

Pipeline de instrues

Processamento da instruo tem dois estgios: ler instruo e executar instruo. Momentos durante a execuo de uma instruo em que a memria no est sendo usada. Esse tempo usado para a obteno da prxima instruo paralelamente execuo da instruo atual. Pipeline de dois estgios independentes

Primeiro estgio busca a instruo e a coloca num buffer Quando o segundo estgio estiver liberado, a instruo passada para ele. Com isso, o primeiro estgio pode buscar a prxima instruo. Chamada busca antecipada (prefetch)

Pipeline de instrues

Se os dois estgios (leitura e execuo) forem de durao igual, o ciclo de instruo reduzido pela metade. Na prtica, o ciclo de instruo consome mais tempo do que o ciclo de leitura. Alm disso, instrues de desvio obrigam o estgio de busca a esperar pelo endereo da prxima instruo.

Uma abordagem buscar mesmo assim a prxima instruo aps a instruo de desvio. Se o desvio no for tomado, a busca antecipada ter valido a pena.

Pipeline de instrues

Para obter mais velocidade, o pipeline deve empregar mais estgios => decomposio do processamento da instruo:

Obter instruo (FI fetch instruction)

Ler a prxima instruo esperada num buffer. Determinar o opcode e os especificadores dos operandos. Calcular o endereo efetivo para cada operando => modos de end. Obter cada operando na memria. Efetuar a operao e armazenar o resultado, se houver. Armazenar o resultado na memria

Decodificar instruo (DI)

Calcular operandos (CO)

Obter operandos (FO fetch operands)

Executar instruo (EI)

Escrever operandos (WO write operands)

Pipeline de instrues
Pipeline de 6 estgios = reduo do tempo de execuo de 9 instrues de 54 para 14 unidades de tempo

Pipeline de instrues

Questes referentes ao aumento real de desempenho:

O diagrama supe que cada instruo passa por todos os estgios. O diagrama assume que os estgios podem ser executados em paralelo. Tambm supe que no existem conflitos de memria (ex. FI, FO e WO). Assume-se que todos os estgios tero a mesma durao. Dificuldade relativa instruo de desvio condicional.

Instruo de desvio Pipeline deve ser limpo para carga da prxima instruo aps desvio (instruo 15)

Pipeline de instrues

Lgica para considerar desvios e interrupes. Outro problema:

Conflitos entre registradores e memria.


Estgio CO pode depender do contedo de um registrador que pode ser alterado por uma instruo anterior que ainda esteja no pipeline.

Descrio alternativa do pipeline

Pipeline cheio

Pipeline esvaziado

Pipeline de instrues

Outras questes referentes ao aumento de desempenho:

Teoricamente, quanto maior o nmero de estgios no pipeline, maior ser a taxa de execuo! Na prtica:

Esforo extra em cada estgio do pipeline para transferir dados de um buffer a outro.

Problema potencializado por dependncia de dados ou uso de muitos desvios.

A lgica necessria para lidar com dependncias de memria e de registradores e para otimizar o pipeline aumenta imensamente com o nmero de estgios.

Lgica de controle dos estgios pode se tornar mais complexa do que a lgica de cada estgio.

Tempo de resposta dos buffers do pipeline.

Desempenho do pipeline

Tempo de ciclo (T): tempo gasto para que uma instruo avance um estgio no pipeline T=max[Ti]+d=Tm+d1 i k Onde

Ti = tempo de demora de resposta no estgio i. Tm = tempo de demora mximo do estgio (tempo do maior estgio) k = nmero de estgios do pipeline d = tempo de resposta de um ciclo necessrio para avanar sinais e
dados de um estgio para o prximo.

Em geral, d um pulso de clock e T

>>d.

Desempenho do pipeline

Tempo total para que um pipeline com K estgios processe N instrues dado por

Tk,n=[k+(n1)]

K ciclos para a primeira instruo e n-1 ciclos para as prximas Ex: instruo 9 completada no tempo 14

14=[6+(91)]

Desempenho do pipeline

Processador sem pipeline, tempo de ciclo igual a kT. O fator de acelerao do pipeline X execuo sem pipeline:
Sk=nk/k+(n1)

Desempenho do pipeline

Em teoria, quanto maior o nmero de estgios do pipeline, maior o potencial para acelerao. Na prtica, tem-se:

Aumento de custo Demoras entre os estgios Desvios requerer o esvaziamento do pipeline

Hazards de pipeline

Um hazard de pipeline (ou bolha de pipeline) ocorre quando o pipeline, ou parte dele, precisa parar porque as condies no permitem a execuo contnua. Trs tipos:

Recursos Dados Controle

Hazard = penalidade, risco

Hazards de pipeline

Hazard de recursos

Instrues que esto no pipeline precisam do mesmo recurso. Instrues devem ser executadas em srie.

Memria com uma porta => leitura e escrita de operando no podem ser feitas em paralelo com a buca da prxima instruo. Caso (b) => pipeline fica ocioso no ciclo 3 devido leitura do opeando de I1 na memria

Hazards de pipeline

Hazard de dados

Conflito no acesso de uma posio de operando => duas instrues que devem ser executadas em sequncia mas que acessam o mesmo operando na memria ou registrador. Ex: ADD EAX, EBX SUB ECX, EAX // EAX = EAX + EBX // ECX = ECX EAX
Atualizao EAX

Hazards de pipeline

Tipos de hazard de dados (cont.)

Leitura aps escrita ou dependncia verdadeira

Uma instruo modifica um registrador ou posio de memria e outra instruo l os dados desse registrador ou posio de memria ANTES da atualizao ter sido completada.

Escrita aps leitura ou antidependncia

Uma instruo l um registrador ou posio de memria e outra instruo subsequente altera essa posio ou registrador. O hazard ocorre quando a operao de escrita completada antes da operao de leitura.

Escrita aps escrita ou dependncia de sada

Duas instrues escrevem na mesma posio de memria ou registrador, na ordem inversa a esperada.

Hazards de pipeline

Hazard de controle (hazard de desvio)

Ocorre quando o pipeline toma a deciso errada ao prever um desvio e assim traz instrues para o pipeline que precisam ser descartadas logo em seguida. Algumas abordagens para tratar isso:

Mltiplos fluxos Busca antecipada do alvo do desvio Buffer de lao de repetio Previso de desvio Desvio atrasado

Hazards de pipeline

Hazard de controle mltiplos fluxos

Um pipeline simples tem penalidades na execuo de uma instruo de desvio, pois precisa buscar duas instrues e pode fazer a escolha errada. A estratgia replicar os estgios iniciais do pipeline, permitindo que as duas instrues possveis do desvio sejam buscadas, cada uma num fluxo independente. Os problemas envolvidos com essa estratgia so:

Atrasos no acesso memria e aos registradores com mltiplos fluxos. Instrues de desvio adicionais podem entrar no pipeline antes que a deciso de desvio original seja resolvida, resultando em fluxos adicionais.

Ex.: IBM 370/168 e IBM 3033.

Hazards de pipeline

Hazard de controle busca antecipada do alvo do desvio

Quando um desvio condicional reconhecido, o alvo (instruo a ser executada) do desvio lido antecipadamente, alm da instruo que segue o desvio. Esse alvo salvo at que a instruo de desvio seja executada. Se o desvio for tomado, o alvo j foi obtido. Ex.: IBM 360/91.

Hazards de pipeline

Hazard de controle buffer de lao de repetio

Memria pequena e rpida mantida pelo estgio de busca de instruo do pipeline, a qual armazena as N instrues lidas mais recentemente na sequncia. Se o desvio est para ser tomado, o hardware primeiro procura se o alvo do desvio j est no buffer. Se estiver, a prxima instruo obtida do buffer. Benefcios:

Buffer armazena as N prximas instrues, sem necessidade de acesso memria. Se o alvo do desvio estiver apenas algumas posies frente da instruo de desvio, o alvo j estar no buffer. Caso tpico de instrues IF-THEN-ELSE. Estratgia adequada para tratar laos/iteraes, especialmente se todas as instrues do lao puderem ser armazenadas no buffer. Custo de acesso somente na primeira vez.

Hazards de pipeline

Hazard de controle buffer de lao de repetio

Semelhante cache de instrues, porm com menor tamanho e menor custo. Ex.: mquinas CDC (Star-100, 6600, 7600), CRAY-1, Motorola 68010 => instruo DBcc (decremento e desvio de condio).

Endereamento do buffer feito pelos 8 bits menos significativos

Hazards de pipeline

Hazard de controle previso de desvio (branch prediction)

Diferentes tcnicas para prever se um desvio ser tomado:


Previso nunca tomada Previso sempre tomada Previso por opcode Chave tomada / no tomada Tabela de histrico de desvio

Estratgias estticas no dependem do histrico de execuo Estratgias dinmicas dependem do histrico de execuo

Hazards de pipeline

Hazard de controle previso de desvio (branch prediction)

A abordagem da previso nunca tomada a mais popular. Estudos apontam que o desvio tomado em mais de 50% dos casos, o que justificaria adotar a estratgia de previso sempre tomada => na prtica, deve-se considerar o mecanismo de paginao, que vai resultar num grande nmero de erros de pgina, levando a perda de desempenho no pipeline. A abordagem baseada em opcodes considera que o desvio sempre tomado para alguns opcodes e nunca para outros. Estudos apontam sucesso em mais de 75% dos casos.

Previso nunca tomada

Hazards de pipeline

Hazard de controle previso de desvio (branch prediction)

As estratgias dinmicas tentam melhorar a preciso da previso do desvio armazenando um histrico de instrues de desvios condicionais de um programa. Bits associados a cada instruo (chave) que auxiliam o processador a decidir na prxima vez que a instruo for executada. Chaves so mantidas em armazenamento temporrio de alta velocidade => cache ou tabela de instrues de desvio. Questo importante: quantos bits usar para a chave (histrico)?

Bit nico: instruo resultou em desvio ou no Dois bits: guardam o resultado das duas ltimas instncias da execuo da instruo.

Hazard de controle previso de desvio

Duas previses erradas fazem com que o algoritmo troque a deciso da previso de desvio.

Hazards de pipeline

Hazard de controle previso de desvio (branch prediction)

Tabela de histrico de desvios = pequena cache associada ao estgio de busca de instruo do pipeline.

Hazards de pipeline

Hazard de controle desvio atrasado

Estratgia baseada na reorganizao das instrues (alterao da sequncia) dentro de um programa, para que as instrues ocorram depois do que realmente desejado. Algumas tcnicas:

Desvio atrasado Leitura atrasada Lao desenrolado

Estudo de caso: Intel 80486

Pipeline de 5 estgios

Leitura: Instrues so obtidas da cache ou da memria e armazenadas em


dois buffers de busca antecipada de 16 bits. Em mdia, 5 instrues so obtidas em cada operao de leitura.

Decodificao 1 (D1): Decodificao do opcode e do modo de


endereamento. Corresponde aos 3 primeiros bytes da instruo. Determina como o estgio D2 vai tratar os demais campos da instruo.

Decodificao 2 (D2): Traduz cada opcode em sinais para a ULA.


Tambm trata modos de endereamento mais complexos.

Execuo (EX): Operaes da ULA, acesso a cache e atualizao de


registradores.

Escrita: Atualizao de cache, registradores de estado e memria, se for o


caso.
Com dois estgios de decodificao, o pipeline consegue sustentar uma taxa de uma instruo por ciclo, se no houver desvios ou instrues complexas.

Estudo de caso: Intel 80486

Pipeline de 5 estgios exemplos de funcionamento

No h atraso introduzido no pipeline quando um acesso memria necessrio.

Estudo de caso: Intel 80486

Pipeline de 5 estgios exemplos de funcionamento

Pode haver atrasos para valores usados para calcular endereos de memria.

Valor carregado da memria num registrador e registrador usado como base na prxima instruo => gera atraso de um ciclo no pipeline.
1. CPU acessa cache 2. registrador = valor obtido

Acesso simultneo a Reg1 pela segunda instruo

Estudo de caso: Intel 80486

Pipeline de 5 estgios exemplos de funcionamento

Temporizao de uma instruo de desvio, supondo que ela seja tomada.


1. CMP atualiza cdigos condicionais. 2. Atualizao fica disponvel para I2 no estgio EX (ao mesmo tempo que I1 est no estgio Escrita).

3. Em paralelo, a busca especulativa para o alvo do desvio executada durante o estgio EX da I2.

Estudo de caso: processadores x86

Organizao dos registradores

64

Estudo de caso: processadores x86

Organizao dos registradores

Estudo de caso: processadores x86

Organizao dos registradores - EFLAGS

Indica a condio do processador e ajuda a controlar suas operaes. 6 cdigos condicionais: carry, paridade, auxiliar, zero, sinal e overflow.

Registrador EFLAGS Pentium II

Organizao dos registradores - controle

Estudo de caso: processadores x86

Organizao dos registradores - controle

CR0 = flags de controle do sistema que indicam estados que se aplicam ao processador em vez da execuo de uma determinada tarefa. PE = habilitao de proteo MP = monitor do coprocessador EM = emulao TS = troca de tarefa ET = tipo de extenso NE = erro numrico WP = proteo de escrita AM = mscara de alinhamento NW = not write through CD = desabilitar cache PG = paginao

Estudo de caso: processadores x86

Organizao dos registradores - controle

CR2 e CR3 = so vlidos quando a pagino est habilitada. CR2 guarda endereo linear da ltima pgina acessada antes da interrupo de falha de pgina. CR3 guarda os bits mais significativos do endereo base do diretrio de pginas. PCD = usado para habilitar/desabilitar a cache em nvel de pgina PWT = usado para controlar a escrita na cache externa.

Estudo de caso: processadores x86

Organizao dos registradores - controle

CR4 = nove bits adicionais de controle VME = modo de extenso virtual do 8086 PVI = interrupes virtuais no modo protegido TSD = desabilitar time stamp DE = extenses de depurao PSE = extenses de tamanho de pgina PAE = extenses do endereo fsico MCE = habilitar verificao de mquina PGE = habilitar proteo global PCE = habilitar contador de desempenho

Estudo de caso: processadores x86

Organizao dos registradores MMX

Instrues MMX usam 3 bits para enderear 8 registradores MMX. Processador mapeia registradores de ponto flutuante para suporte a MMX

64 bits de baixa ordem de cada registrador so usados. So endereados diretamente (em vez de pilha como em operaes de ponto flutuante) => setar palavra de marcao (FP).

Incluir instruo EMMS no final do bloco de instrues MMX para que operaes de ponto flutuante funcionem.

Bits [79:64] so setados para 1, indicando dado no-numrico.

Estudo de caso: processadores x86

Interrupes e excees

Eventos que fazem o processador suspender a execuo da instruo corrente, salvando o seu contexto e desviando para a rotina predefinida para atender o evento (interrupo ou exceo). Uma interrupo gerada por um sinal de hardware e pode ocorrer vrias vezes durante a execuo do programa.

Interrupes mascarveis: recebidas no pino INTR do processador, se o flag IF (habilitar interrupes) estiver definido. Interrupes no-mascarveis: recebidas no pino NMI, independente de habilitao.

Uma exceo gerada a partir do software e provocada pela execuo de uma instruo.

Excees detectadas pelo processador: durante a execuo de uma instruo. Excees programadas: instrues que geram uma exceo (ex. INTO, INT3, INT, BOUND)

Estudo de caso: processadores x86

Tabela de vetores de interrupes

256 entradas com 32 bits, as quais contm o endereo (segmento e offset) de cada rotina de tratamento.

Estudo de caso: processadores x86

Tabela de vetores de interrupes

Estudo de caso: processadores x86

Prioridades no tratamento de interrupes e excees

Classe 1: paradas (traps) na instruo anterior (vetor nmero 1) Classe 2: interrupes externas (2, 32 - 255) Classe 3: falhas na busca da prxima instruo (3, 14) Classe 4: falhas na decodificao da prxima instruo (6, 7) Classe 5: falhas na execuo de uma instruo (0, 4, 5, 8, 10 14, 16, 17)

Tratamento independe da ordem na tabela!

Estudo de caso: processadores x86

Tratamento da interrupo

Usa a pilha do sistema para guardar o estado do processador. Sequncia de eventos:


1. se a transferncia envolve mudana de privilgio, ento os registradores atuais de segmento de pilha (SS) e ponteiro estendido de pilha (ESP) so salvos na pilha. 2. valor atual de EFLAGS salvo na pilha. 3. flags de interrupo (IF) e trap (TF) so zerados para desabilitar interrupes INTR. 4. ponteiro de segmento de cdigo corrente (CS) e ponteiro de instruo corrente (IP ou EIP) so salvos na pilha. 5. se a interrupo acompanhada por um cdigo de erro, este salvo na pilha. 6. contedo do vetor de interrupes obtido e carregado nos registradores CS e IP (ou EIP). A execuo segue a partir da rotina que atende a interrupo. 7. para retornar de uma interrupo, a rotina executa IRET, que restaura todos os valores salvos na pilha.

You might also like