Anda di halaman 1dari 60

http://sites.google.

com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

2015.1

PARTE 7

Ref: Livro do Stalllings 8. Edio pag 461 - 510

Prof. Misael Morais


moraiscg@uol.com.br

http://sites.google.com/site/moraiscg

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

INTERRUPO

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Interrupes ocorrem por:


Requisies de E/S
Erros de operaes
Underflow e/ou overflow
Mau funcionamento do hardware
Pontos de parada definidos pelo usurio
Instrues invalidas
Miscelneas

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Interrupes
Mecanismo pelo qual outros mdulos (Ex. E/S) podem interromper a

sequncia de processamento normal, permitindo o retorno para este ponto.


Classes de Interrupo
Programa:
Ex. estouro, diviso por zero.

Timer:
Gerada por timer dentro do processo.
Usada na multitarefa preemptiva.

E/S:
Gerada por um controlador de E/S.

Falha de hardware:
P.e. erro de paridade de memria. Queda de energia

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Classes de interrupes

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Transferncia de controle via interrupes

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Origem de Interrupo
Externas ou Interrupes gerada por um sinal de
hardware e pode ocorrer aleatoriamente.
Interrupes mascarveis
Interrupes no-mascarveis (NMI)

Internas ou Excees ou de Programas ou Traps


gerada por software e provocada pela execuo de uma
instruo
Excees detectadas pelo processador
Excees programas (INTO, INT3, INT,..)

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Interrupo
pelo usurio
1. Iniciada
pelo sistema

Mascarada

(possvel de ser desabilitada)

2. Pode ser
No mascarada

(no pode ser desabilitada)

Entre instrues
3. Ocorre
Durante instruo

Sncrona

(ocorre no mesmo lugar dentro do programa)

4. Sincronismo
Assncrona

(ocorre inesperadamente)

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Fluxo de programa sem e com interrupes

(sem interrupo)

(Interrupes curtas)

(Interrupes longas)

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Sincronizao do programa: espera curta pela E/S


Tempo

Operao de E/S

Operao de E/S

Operao de E/S
Operao de E/S

Com interrupo

Sem interrupo

10

http://sites.google.com/site/moraiscg

(sem interrupo - polling)

Prof. Misael Morais (moraiscg@uol.com.br)

(com interrupo)

11

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

12

Sincronizao do programa: espera longa pela E/S


Tempo

Operao de E/S

Operao de E/S

Operao de E/S
Operao de E/S

Com interrupo

Sem interrupo

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Ciclo de interrupo
Requisio da interrupo adicionada ao ciclo de instruo.
Processador verifica interrupo.
Indicado por um sinal de interrupo.

Se no houver interrupo, busca prxima instruo.


Se houver interrupo pendente:
Suspende execuo do programa atual.
Salva contexto.
Define PC para endereo inicial da rotina de tratamento de

interrupo.
Interrupo de processo.
Restaura contexto e continua programa interrompido.

13

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Interrupo e o Ciclo de Instruo

14

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Ciclo de instruo (com interrupes)


diagrama de estado

15

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Interrupo e mudanas na memria e registradores

(no atendimento a
interrupo)

(no retorno da
interrupo)

16

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Mltiplas interrupes
Desativar interrupes:
Processador ignorar outras interrupes enquanto processa uma

interrupo.
Interrupes permanecem pendentes e so verificadas aps

primeira interrupo ter sido processada.


Interrupes tratadas em sequncia enquanto ocorrem.

Definir prioridades:
Interrupes de baixa prioridade podem ser interrompidas por

interrupes de prioridade mais alta.


Quando interrupo de maior prioridade tiver sido processada,

processador retorna interrupo anterior.

17

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Mltiplas interrupes sequenciais

18

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Mltiplas interrupes aninhadas

19

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Interrupo - Outros conceitos


Interrupo vetorada (Intel) e vetor de interrupo
Tratadores de interrupo (rotinas de atendimento

da interrupo)
Latncia de interrupo
Verificao por software
Daisy chain

20

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Tabela de vetor de interrupo (Intel)

A cada interrupo associado um nmero (interrupo

vetorada), que usado para indexar a tabela de vetor


de interrupo. Esta tabela armazena o endereo
(segmento e endereo offset) da RTI

21

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Tabela de vetor de interrupo PC (Intel)

22

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

23

Controlador de
interrupo PC - Intel

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

BARRAMENTO

Conexo entre os Mdulos do Computador

Outras denominaes:
Via
Bus

24

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Estrutura de interconexo
Todas as unidades devem ser conectadas.

Tipo de conexo diferente para tipo de unidade diferente.


Memria.
Entrada/sada.
CPU.

25

http://sites.google.com/site/moraiscg

Mdulos do computador

Prof. Misael Morais (moraiscg@uol.com.br)

26

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Barramentos de computador

27

http://sites.google.com/site/moraiscg

Conexo de memria
Recebe e envia dados.

Recebe endereos (de locais).

Recebe sinais de controle:


Leitura.
Escrita.
Temporizao.

Prof. Misael Morais (moraiscg@uol.com.br)

28

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Conexo de entrada/sada
Semelhante memria do ponto de vista do computador.

Sada:
Recebe dados do computador.
Envia dados a perifricos.

Entrada:
Recebe dados de perifricos.
Envia dados ao computador.

29

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Conexo de entrada/sada (cont.)


Recebe sinais de controle do computador.

Envia sinais de controle aos perifricos.


Ex., girar disco.

Recebe endereos do computador.


Ex., nmero de porta para identificar perifrico.

Envia sinais de interrupo (controle).

30

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Barramento da unidade CPU (sinais)

Dados

Instrues

Dados

Sinais de interrupo

Via de controle
Via de endereo
Via de dados

CPU

Sinais de Controle
Read
Write
IRQ, INTR
ACK
DMA ...

Endereo

31

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Conexo da CPU
L instrues e dados.

Escreve dados (aps processamento).

Envia sinais de controle a outras unidades.

Recebe (e atua sobre) interrupes.

32

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Barramentos
Existem diversos sistemas de interconexo possveis.

Estrutura de barramento nico e mltiplo so mais

comuns.

Ex., barramento de Controle/Endereo/Dados (PC).

Ex., Unibus (DEC-PDP).

33

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

RESUMO: O que um barramento?


Um caminho de comunicao conectando dois ou mais dispositivos.

Normalmente, broadcast.

Frequentemente agrupado.
Uma srie de canais em um barramento.
Ex., barramento de dados de 32 bits so 32 canais de bits

separados.

Linhas de potncia podem no ser mostradas.

34

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Esquema de interconexo de Barramento

35

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Barramento de dados
Transporta dados.
Lembre-se de que no existe diferena entre dados e

instrues neste nvel.

Largura um determinante fundamental do desempenho.


8, 16, 32, 64 bits.

36

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Barramento de endereo
Identifica origem ou destino dos dados.
Ex., CPU precisa ler uma instruo (dados) de determinado local

na memria.

Largura do barramento determina capacidade mxima da

memria do sistema.
Ex., 8080 tem barramento de endereo de 16 bits gerando

espao de endereos de 64k.

37

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Barramento de controle
Informao de controle e temporizao:
Sinal de leitura/escrita de memria.
Solicitao de interrupo.
Sinais de clock.
ACK de transferncia.
Reset
Concesso de barramento (bus grant)
Solicitao de barramento (bus request)

38

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

39

Realizao fsica da arquitetura de barramento

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Problemas do barramento nico


Muitos dispositivos em um barramento levam a:
Atrasos de propagao

Longos caminhos de dados significa que a coordenao


do uso do barramento pode afetar contrariamente o
desempenho.

Se a demanda de transferncia de dados agregada se


aproxima da capacidade do barramento.

A maioria dos sistemas utiliza mltiplos barramentos para

contornar esses problemas.

40

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Barramentos do Sistema (Estrutura de


interconexo)

41

(Ref. Cap. 3 do livro do Stallings)


(Ref. Cap. 3 do livro do Tanenbaum)

Todas unidades do computador devem ser conectadas

Diferentes tipos de conexo para diferentes mdulos


CPU
Memria
Entrada/Sada

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Barramento da unidade CPU (sinais)

Pinagem lgica de uma CPU genrica. As setas indicam sinais de entrada e

sinais de sada. Os segmentos de reta diagonal indicam que so utilizados


vrios pinos. H um nmero que indica quantos so os pinos para uma
CPU especfica.

42

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Barramentos de computador

43

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Estrutura de barramento tradicional (ISA)

44

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Arquitetura de alto desempenho

45

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Tipos de barramento
Dedicado:
Linhas separadas para dados e endereo.

Multiplexado.
Linhas compartilhadas.
Linha de controle vlidas de endereo ou dados.
Vantagem menos linhas
Desvantagens:

Controle mais complexo.

Desempenho mximo.

46

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Largura do barramento

Crescimento de um barramento de endereo ao longo do tempo.

47

http://sites.google.com/site/moraiscg

Largura do Barramento

Prof. Misael Morais (moraiscg@uol.com.br)

Define o nmero de
bits do barramento

a taxa de
Largura de Banda do Barramento

transferncia de bits
no barramento

48

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

rbitro de barramento

Definir o mestre do barramento, ou


seja, qual dispositivo controla o
barramento

49

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Arbitrao de barramento
Mais de um mdulo controlando o barramento.
Ex., CPU e controlador de DMA.

Apenas um mdulo pode controlar barramento

de uma s vez.

Arbitrao pode ser centralizada ou distribuda.

50

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Arbitrao centralizada e distribuda


Centralizada:
nico dispositivo de hardware controlando o acesso ao

barramento.

Controlador de barramento.

rbitro.

Pode ser parte da CPU ou separada.

Distribuda:
Cada mdulo pode reivindicar o barramento.
Lgica de controle em todos os mdulos.

51

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Arbitragem de barramento (1)


A CPU controla o barramento, o mestre.
Arbitragem a tcnica (algoritmo ou mecanismo de

arbitragem) para definir quem assumi o controle do


barramento.
Ex.:
Ceder o barramento por ordem de pedido (Primeiro a

requisitar, primeiro a ser atendido)


Compartilhamento circular no tempo (round-robin)

52

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Arbitragem de barramento (2)

PCI

(a) rbitro de barramento centralizado de um nvel usando encadeamento


em srie (daisy chaining).
(b) O mesmo rbitro usando dois nveis.

53

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Arbitragem de barramento (2)

Arbitragem de barramento descentralizada.

54

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

CPU - 8086

55

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Arbitragem de barramento PCI


Protocolo de requisio-concesso

O barramento PCI usa um rbitro de barramento centralizado.

56

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Protocolo de barramento

So as regras bem definidas sobre o modo de funcionamento


do barramento, s quais todos os dispositivos a ele ligados
tm de obedecer

57

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Temporizao
Coordenao de eventos no barramento.
Sncrona:
Eventos determinados por sinais de clock.
Barramento de controle inclui linha de clock.
Uma nica transmisso 1-0 um ciclo do barramento.
Todos os dispositivos podem ler linha de clock.
Normalmente, sincronismo na borda inicial.
Geralmente, um nico ciclo para um evento.

58

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Clock do sistema (pastilha de cristal)

Taxa de clock
Velocidade de clock
Ciclo de clock
Tempo de ciclo

59

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Exemplo de Diagrama de temporizao

60