Organizacao Computadores
-
Upload
juliano-marques -
Category
Documents
-
view
220 -
download
0
Transcript of Organizacao Computadores
-
8/3/2019 Organizacao Computadores
1/166
Arquitetura e Organizao de ComputadoresOrganizao de Computadores2 semestre 2011
Prof. Eduardo da Silva Ribeiro
Pontifcia Universidade Catlica de Minas Gerais
Bacharelado em Sistemas de Informao
-
8/3/2019 Organizacao Computadores
2/166
2
I. IntroduoII. Processadores
I. Ciclo de Instruo
II. PipelineIII. Memrias
IV. Barramentos
V. Dispositivos de E/S
AOC Organizao de Computadores
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
3/166
3
Fundamentos
Referncias
AOC - William Stallings cap 1, 2 e 3
OEC - Tanenbaum - cap 1 e 2 SOM - Tanenbaum - cap 1 e 5
ASO F. M. Machado - cap 1 e 2
Introduo
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
4/166
4
Sistema Computacional
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
5/166
5
Arquitetura: ATRIBUTOS VISVEIS AO PROGRAMADOR: Conjunto de instrues
Modos e tcnicas de endereamento
Nmero de bits (dados e endereos)
Mecanismos de E/S Organizao:
UNIDADES FUNCIONAIS E SUAS INTERCONEXES queimplementam as especificaes de uma arquitetura
Envolvem detalhes de hardware (transparentes aoprogramador), tais como: barramentos, sinais decontrole, interfaces entre o computador e os perifricos,tecnologias de memria, etc.
Arquitetura e Organizao
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
6/166
6
Mquina de Nveis (Organizao Estruturada)
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
7/166
7
Linguagens Nveis e Mquinas Reais
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
8/166
8
Linguagens Multinveis Comteporneas
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
9/166
9
IAS (Institute for Advanced Study de Princenton 1952) Computador de programa armazenado (base da maioria das
mquinas atuais).
Unidades bsicas: memria principal (MP), unidade de lgica earitmtica (ULA), unidade de controle (UC) e os dispositivos deentrada e sada (E/S).
A mquina de IAS (von Neuman)
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
10/166
10
Principais componentes de um Computador
Componentes de Hardware
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
11/166
11
Executa as instrues contidas na memria. composta de : Unidade de Controle (UC)
Unidade Lgica e Aritmtica (ULA)
Registradores
UNIDADE DE CONTROLE (UC)
Busca cada instruo na memria principal,
determina seu tipo e a executa.
Para realizar estas tarefas so emitidos vrios sinais decontrole (ex: leitura, escrita, etc.).
UCP (CPU) Unidade Central de Processamento
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
12/166
12
UCP: Caminho de Dados
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
13/166
13
Realiza as operaes necessrias execuo das instrues : aritmticas (adio, subtrao, etc.) e
lgicas (booleanas: e(and), ou(or), negao (not), etc.)
REGISTRADORES So memrias internas da CPU que armazenam
operandos, resultados temporrios e certas informaes decontrole.
Um dos registradores mais importante contador deprograma (Program Counter - PC), que aponta para aprxima instruo a ser executada
ULA Unidade Lgica e Aritmtica
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
14/166
14
Componentes do Hardware
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
15/166
15
Estrutura de IAS
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
16/166
16
MDR/MBR(Memory Data/Buffer Register) Registrador de dados da memria (RDM)
MAR (Memory Address Register) Registrador de endereos dememria (REM)
IR (Instruction Register ) Registrador de Instrues PC (Program Counter PC) Contador do programa
AC (Accumulator) Acumulador
Principais Registradores da CPU
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
17/166
17
A Memria o espao dearmazenamento temporrio.
Instrues e dados soarmazenados na memriadurante o processamento.
Memoria Principal
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
18/166
18
Um Bit a menor unidade de informao e corresponde a 0 ou 1. Um Byte composto de 8 Bits.
Nos circuitos do computador 0 e 1 correspondem a estadosdesativados e ativados dos componentes dos computadores.
A memria formada por milhares de componentes (capacitoresou transistores) capazes de representar e guardar (ou armazenar)estes estados
Bits e Bytes
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
19/166
19
Bits e Celulas de Memrias
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
20/166
20
Memria Principal: endereos e clulas
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
21/166
21
O KibiByte (smbolo KiB, contrao de kilo binary byte) uma unidade medida de armazenamento eletrnico deinformao, estabelecida em 2000 pela ComissoEletrotcnica Internacional (IEC) como: 1 kibibyte = 1.024bytes
Foi criada com o objetivo de substituir o "quilobyte" emcincia da computao, que se refere a 1024 bytes, e queentra em conflito com a definio do prefixo "quilo" doSistema Internacional de Unidades (SI)
Quantificao de Memria
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
22/166
22
IEC (International Electrotechnical Commission,1906, Genebra,Sua.): organizao internacional de padronizao detecnologias eltricas, eletrnicas e relacionadas. Alguns dos seuspadres so desenvolvidos juntamente com a OrganizaoInternacional para Padronizao (ISO).
SI (Sistema Internacional de Unidades - International System ofUnits - Systme international d'units): conjunto sistematizadoe padronizado de definies para unidades de medida,utilizado em quase todo o mundo moderno, que visa auniformizar e facilitar as medies e as relaes internacionais dadecorrentes. Sua adoo progressiva e cada vez mais abrangente uma contingncia no s tcnico-cientfica, mas de ordempoltica, econmica e social
IEC x SI
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
23/166
23
Mltiplos do Byte
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
24/166
24
Dispositivos de Entrada e Sada
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
25/166
25
Interface homem-mquina (IHM) Permitem introduzir dados (entrada), instrues e comandos no
computador e ver/receber os resultados/ respostas (sada).
Dispositivos de Entrada: teclado, mouse, scanner, cmera de vdeo,microfone, joystick, etc.
Dispositivos de Sada: monitor, impressora, plotter, caixa de som,etc.
Dispositivos de Entrada e Sada
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
26/166
26
memria secundria ou n-ria Discos magnticos:
Discos Rgidos (HD, Winchester)
Disquetes
Zip Disk Discos ticos:
Compact Disk (CD-ROM, CD-R e CD-RW)
Digital Versatile Disk(DVD-ROM, DVD-R e DVD-RW)
Fitas Magnticas Memrias Flash
Dispositivos de Armazenamento de Dados
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
27/166
27
Barramento um caminho eltrico comum que liga e permite acomunicao entre dois ou mais dispositivos (processador,memrias, controladores, perifricos, etc).
Grupos funcionais:
Barramento (linhas) de dados
Barramento (linhas) de endereos
Barramento (linhas) de controle
Barramentos
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
28/166
28
Transportam dados A largura uma caracterstica determinante do processador:
8085: 8 bits
8088: 8 bits (externo) e 16 bits (interno)
8086/80286: 16 bits (externo e interno) 80386/80486: 32 bits (externo e interno)
Pentium: 64 bits (externo) e 32 bits (interno)
Barramento de Dados
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
29/166
29
Identifica a fonte ou o destino do dado. A largura deste barramento determina a capacidade mxima da
memria do sistema
8085 - 16 bits 64 kiB
8086/8 - 20 bits 1 MiB 80286 - 24 bits 16MiB
80386/486/Pentium - 32 bits 4GiB
Pentium II/III/IV 36 bits 64 GiB)
Barramento de Endereos
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
30/166
30
Informao de controle e temporizao Sinal leitura/escrita (R/W) da memria ou E/S (I/O)
Requisio de interrupo (INT)
Requisio de uso do barramento ao rbitro (REQ)
Sinal de relgio (CLK: clock)
Barramento de Controle
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
31/166
31
Muitos dispositivos em um barramento leva: Demoras na propagao
Caminhos de dados longos significam que coordenao douso do barramento pode afetar desempenho adversamente
Se for transferido dados em grupo pode-se aproximar nacapacidade do barramento
A maioria dos sistemas usam barramentos mltiplos para superaresses problemas
Problemas do barramento nico
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
32/166
32
Linhas paralelas nos circuitos impressos Cabos fitas
Conectores nas placas mes
Exemplos: PCI, ISA, AGP, etc.
Conjuntos de fios
Barramento( construo)
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
33/166
33
Mltiplos Barramentos
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
34/166
34
Barramentos - Exemplos
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
35/166
35
Barramentos : Hyper Transport e FSB(Front Side Bus)
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
36/166
36
Dados e instrues soarmazenados em formatobinrio.
Caracteres utilizam um Padroconvencionado
Representao de Dados
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
37/166
37
Programas que permitem o usoefetivo do Computador
Tipos:
Software bsico
Sistema Operacional,Programas de Sistema, etc.
Software Aplicativo
Aplicaes
Sistema Operacional: Conjunto deprogramas que oferece umambiente amigvel para o usuriointeragir com o computador
Software
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
38/166
38
Envolve um conjunto de instrues , estruturas e formas deprogramao com o objetivo de desenvolver programas.
Linguagens de baixo nvel (mquina, assembly).
Linguagens de alto nvel
C/C++, Java, Visual Basic, Pascal, Delphi, Lisp, Prolog,Cobol, Fortran ...
Linguagens de Programao
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
39/166
39
Os Programas so traduzidos atravs de outrosprogramas especiais:
Tradutor l o programa inteiro e o converte paraum cdigo-objeto (Turbo C++, C++ Builder, GNU
gcc/g++, Pascal, Delphi, etc.). Interpretador l e executa um linha ou comando de cada
vez, no gerando cdigo-objeto (Unix/Linux Shell, Lisp,Prolog, etc.).
Tradutores e Interpretadores
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
40/166
40
Tradutor: montador e Compilador
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
41/166
41
I. IntroduoII. Processadores
I. Ciclo de Instruo
II. Pipeline
III. Memrias
IV. Barramentos
V. Dispositivos de E/S
AOC Organizao de Computadores
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
42/166
42
Dois Passos: Busca
Execuo
Ciclo de Instruo Resumido
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
43/166
43
O Contador de Programa (PC) guarda o endereo daprxima instruo a ser buscada
O Processador busca a instruo da posio de memriaapontada pelo PC
Incrementa o PC (exceto se a prxima instruo for dedesvio)
A instruo carregada no Registrador de Instruo (IR)
O Processador interpreta (decodifica) a instruo e executa
as aes requeridas
Ciclo de Busca
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
44/166
44
Ciclo de Instruo - MIPS
Arquitetura e Organizao de Computadores
PC
Instructionmemory
Readaddress
Instruction[31 0]
Instruction [20 16]
Instruction [25 21]
Add
Instruction [5 0]
MemtoReg
ALUOp
MemWrite
RegWrite
MemRead
Branch
RegDst
ALUSrc
Instruction [31 26]
4
16 32Instruction [15 0]
0
0Mux
0
1
Control
AddALU
result
Mux
0
1
RegistersWriteregister
Writedata
Readdata 1
Readdata 2
Readregister 1
Readregister 2
Signextend
Shiftleft 2
Mux
1
ALUresult
Zero
Datamemory
Writedata
Readdata
Mux
1
Instruction [15 11]
ALUcontrol
ALUAddress
-
8/3/2019 Organizacao Computadores
45/166
45
Inclui as unidades funcionais que necessitamos para as instrues
Implementao Simples
Arquitetura e Organizao de Computadores
PC
Instructionmemory
Instructionaddress
Instruction
a. Instruction memory b. Program counter
Add Sum
c. Adder
ALU control
RegWrite
RegistersWriteregister
Readdata 1
Readdata 2
Readregister 1
Readregister 2
Writedata
ALUresult
ALU
Data
Data
Registernumbers
a. Registers b. ALU
Zero5
5
5 3
MemRead
MemWrite
Datamemory
Writedata
Readdata
a. Data memory unit
Address
-
8/3/2019 Organizacao Computadores
46/166
46
Construdo usando flip-flops do tipo D
Banco de Registradores
Arquitetura e Organizao de Computadores
Mux
Register 0
Register 1
Register n 1
Register n
Mux
Read data 1
Read data 2
Read registernumber 1
Read registernumber 2
Read registernumber 1 Read
data 1
Readdata 2
Read registernumber 2
Register fileWriteregister
Writedata Write
O processador MIPS possui32 registradores
-
8/3/2019 Organizacao Computadores
47/166
47
Seleciona uma das entradas para a sada, baseado numa entrada decontrole
Multiplexador
Arquitetura e Organizao de Computadores
C
AB
C
D
0
1
2
3
S
mux de 4 entradasC
A
B
C
D
01
10
10
11
S2 2
S
CA
B0
1
mux de 2-entradas A e B
e controle S
-
8/3/2019 Organizacao Computadores
48/166
48
Nota: ainda usamos o clock real para determinar quando escrever
Banco de Registradores
Arquitetura e Organizao de Computadores
n-to-1decoder
Register 0
Register 1
Register n
1
C
C
D
D
Register n
C
C
D
D
Register number
Write
Register data
0
1
n 1
n
-
8/3/2019 Organizacao Computadores
49/166
49
ALU de 32 Bits
Arquitetura e Organizao de Computadores
Seta31
0
Result0a0
Result1a1
0
Result2a2
0
Operation
b31
b0
b1
b2
Result31
Overflow
Bnegate
Zero
ALU0Less
CarryIn
CarryOut
ALU1Less
CarryIn
CarryOut
ALU2Less
CarryIn
CarryOut
ALU31Less
CarryIn
32
32
32
Seleo
result
a
b
ALU
Linhas de controle:
000 = and
001 = or010 = add
110 = subtract
111 = slt
-
8/3/2019 Organizacao Computadores
50/166
50 Arquitetura e Organizao de Computadores
Unidade Lgica Aritmtica
ULA
F0 F1 Sada
0 0 A and B
0 1 A Or B
1 0 B
1 1 A mais B
-
8/3/2019 Organizacao Computadores
51/166
51
Memrias de Instrues
Arquitetura e Organizao de Computadores
Endereode 32 bits
pelo PC
instruode 32 bits
-
8/3/2019 Organizacao Computadores
52/166
52
Memrias de Dados
Arquitetura e Organizao de Computadores
Para leitura: deve fornecero endereo (Address) eacionar o controle de leituraMemRead=1)
Para escrita deve fornecer oendereo (Address), o dadoa ser escrito no (Writedata) eacionar o controle de escrita(MemWrite=1)
-
8/3/2019 Organizacao Computadores
53/166
53
Contador de Programa
Arquitetura e Organizao de Computadores
endereo daprxima
de instruo
endereo da instruocorrente
Quando sequencial o endereo da instruocorrente adicionado de 4 (memria de instruesconstituda de bytes)
-
8/3/2019 Organizacao Computadores
54/166
54
Implementao em 1 ciclo
Arquitetura e Organizao de Computadores
Calcular o tempo de ciclo assumindo atrasos desprezveis exceto:
Memria (2ns), ALU e somadores (2ns), acesso aos registradores(1ns)
PC
Memory
Address
Instructionor data
Data
Instructionregister
Registers
Register #
Data
Register #
Register #
ALU
Memory
data register
A
B
ALUOut
-
8/3/2019 Organizacao Computadores
55/166
55
Estaremos usando as mesmas unidades funcionais ALU usada para computar o endereo e para incrementarPC.
A memria usada para instrues e dados Os sinais de controle no so determinados somente pelas instrues
Quebrar as instrues em passos, cada passo leva um ciclo Balancear a quantidade de trabalhos a realizar Restringir cada ciclo para usar somente uma unidade
funcionalNo fim de um ciclo
Armazenar valores para serem usados nos ciclos posteriores Introduzir registradores internos adicionais
Tcnica Multiciclo
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
56/166
56
i. Busca de prxima instruo: IR
-
8/3/2019 Organizacao Computadores
57/166
57
I. IntroduoII. Processadores
I. Ciclo de Instruo
II. Pipeline
III. Memrias
IV. Barramentos
V. Dispositivos de E/S
AOC Organizao de Computadores
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
58/166
58
Paralelismo no nvel de instruo Pipelines de Instrues
Arquiteturas superescalares
Paralelismo no nvel de processador
Processadores vetoriais e matriciais Multiprocessadores
Multicomputadores
Paralelismo
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
59/166
59
O que pipeline? uma srie de estgios (operando possivelmente em
paralelo) onde uma parte do trabalho (instruo) feito em cada estgio.
O trabalho (instruo) no est concludo at que tenhapassado por todos os estgios
Paralelismo
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
60/166
60
Exemplo de Pipeline de 5 estgios
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
61/166
61
Na fase de busca a MP acessada Na fase de execuo a MP usualmente no acessada.
A prxima instruo pode ser buscada durante aexecuo da instruo corrente (busca antecipada
instructionprefetch).
Busca Antecipada: Prefetch
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
62/166
62
Instrues comuns (aritmticas, load/store, desviocondicional) podem ser iniciadas e executadasindependemente
Utilizar mltiplas unidades funcionais (busca,decodificao, execuo, etc.) para se obter um melhordesempenho global
Arquitetura Superescalar
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
63/166
63
Pipeline e Superescalar
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
64/166
64
Arquiteturas Superescalares
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
65/166
65
Arquiteturas Superescalares
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
66/166
66
Organizao Superescalar Geral
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
67/166
67
Superescalar versus Pipeline
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
68/166
68
Processadores vetoriais e matriciais Multiprocessadores: todos os processadores compartilham
uma mesma memria fsica.
Multicomputadores: cada processador tem sua prpria
memria, acessvel somente pelo processador proprietrio
Paralelismo no Nvel do Processador
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
69/166
69
Processadores Matriciais
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
70/166
70
Sistemas Fortemente Acoplados
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
71/166
71
Multiprocessadores
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
72/166
72
So arquiteturas so caracterizadas por vriosprocessadores compartilhando uma nica memria, ouum conjunto de memrias
Todos os processadores compartilham uma mesmamemria fsica, caracterizando uma memria global.
fortemente acoplada porque os processadores e memriaesto fortemente interligados atravs de seu sistema localde interconexo.
Multiprocessadores
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
73/166
73
Multiprocessadores
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
74/166
74
Sistemas Fracamente Acoplados
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
75/166
75
Multicomputadores
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
76/166
76
So ambientes fracamente acoplados.
Cada processador tem sua prpria memria local,acessvel somente pelo processador proprietrio.
Apresentam configuraes compostas de centenas (ou at
milhares) de computadores.
Multiprocessadores
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
77/166
77
Multicomputadores
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
78/166
78
I. IntroduoII. Processadores
I. Ciclo de Instruo
II. Pipeline
III. Memrias
IV. Barramentos
V. Dispositivos de E/S
AOC Organizao de Computadores
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
79/166
79
Hierarquia de Memrias
Memrias
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
80/166
80
Hierarquia de Memrias
Memrias
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
81/166
81
Hierarquia de Memrias
Memrias
Arquitetura e Organizao de Computadores
medida que descemos napirmide:
o custo por bit cai
a capacidade umenta
o tempo de acessoaumenta
a frequncia de acessocai
-
8/3/2019 Organizacao Computadores
82/166
82
Tempo de acesso memria
o tempo decorrido entre a apresentao doendereo (no barramento de endereos)
e a obteno do dado vlido (no barramento dedados).
Quanto menor for tempo de acesso, a memriaser mais rpida (maior velocidade).
Memrias
Arquitetura e Organizao de Computadores
-
8/3/2019 Organizacao Computadores
83/166
83
Memrias
Arquitetura e Organizao de Computadores
Cdigos de correo de erro Picos de tenso podem acarretar alteraes na memria
Cdigos de erro: bits adicionais para verificar a correo e,
possivelmente, corrigir os dados
Distncia de Hamming: nmero de bits diferentes entre duaspalavras
Ex: 10001001 e 10110001: distncia 3 Trs erros de bit transformariam uma palavra na outra.
M
-
8/3/2019 Organizacao Computadores
84/166
84
Memrias
Arquitetura e Organizao de Computadores
Cdigos de correo de erro Bit de paridade: bit adicionado de modo que a quantidade
de bits 1 seja sempre par (ou sempre mpar)
Ex: palavra 1100 e regies A-B-C
Deteco de erro
Correo do erro
M i
-
8/3/2019 Organizacao Computadores
85/166
85
Memrias
Arquitetura e Organizao de Computadores
Cdigos de Hamming
Acrescentar rbits de paridade a mbits de dados Bits numerados a partir de 1, pela esquerda
Todos os bits em posio 2i so de paridade Ex: posies 1, 2, 4, 8, 16, 32...
Cada bit de paridade verifica um conjunto de bits dedados
M i
-
8/3/2019 Organizacao Computadores
86/166
86
Memrias
Arquitetura e Organizao de Computadores
Cdigos de Hamming
Exemplo Palavra original de 16 bits Adicionam-se 5 bits de paridade
Bit b verificado pelos bits que formam seu valor embinrio Ex: bit 5 1 + 4; bit 19 1 + 2 + 16; bit 10 2 + 8
M i
-
8/3/2019 Organizacao Computadores
87/166
87
Memrias
Arquitetura e Organizao de Computadores
Cdigos de Hamming
Exemplo Palavra original 11110000010101110 Palavra de cdigo 0010111000000101101110
M i
-
8/3/2019 Organizacao Computadores
88/166
88
Memrias
Arquitetura e Organizao de Computadores
Cdigo de Hamming Exemplo
Palavra de cdigo 001011100000101101110 Erro no bit 5: 001001100000101101110
Bit 1: verifica 1,3,5,7,9,11,13,15,17,19,21 erro (cinco bits 1)
Bit 2: verifica 2,3,6,7,10,11,14,15,18,19 ok (seis bits 1)
Bit 4: verifica 4,5,6,7,12,13,14,15,20,14 erro (cinco bits 1)
Bit 8: verifica 8,9,10,11,12,13,15,15 ok (dois bits 1)
Bit 16: verifica 16,17,18,19,20,21 ok (quatro bits 1)
pos 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
bit 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 1 0 1 1 1 0
M i
-
8/3/2019 Organizacao Computadores
89/166
89
Memrias
Arquitetura e Organizao de Computadores
Cdigo de Hamming Exemplo
Onde est o erro? Soma das posies de paridade: 1 + 4 = 5 Pode-se corrigir facilmente
Funciona apenas para UM erro
M i
-
8/3/2019 Organizacao Computadores
90/166
90
Memrias
Arquitetura e Organizao de Computadores
Memria Principal Tecnologia
Semicondutores Grupo de chipsmontado em uma placa de circuito impresso SIMM Single Inline Memory Module
DIMM Dual Inline Memory Module Ex: pentede 256MB
M i
-
8/3/2019 Organizacao Computadores
91/166
91
Memrias
Arquitetura e Organizao de Computadores
Memria Principal Tecnologia
Memria voltil: chipsde circuitos de acesso aleatrio (RAM) Static RAM SRAM
Flip-flop bsico Estado conservado enquanto houver energia Muito rpidas
Dynamic RAM DRAM Arranjo de capacitores e transistores Capacitores so carregados representao de 0 ou 1
Recarregar memria desempenho Menos transistores maior densidade (e capacidade)
Memrias
-
8/3/2019 Organizacao Computadores
92/166
92
Memrias
Arquitetura e Organizao de Computadores
Memria Principal Tecnologia SDRAM Synchronous DRAM
Hbrida das anteriores, comandada pelo relgio
Mais usadas em memria principal atualmente
Elimina sinais de controle: transmisso em ciclos consecutivos
DDR Double Data Rate: sada na borda ascendente e naborda descendente do relgio
Ex:
DDR 8 bits, 200Mhz 8 x 200 milhes x 2
3,2 Gbits/seg
400 MB/seg de sada
Memrias
-
8/3/2019 Organizacao Computadores
93/166
93
Memrias
Arquitetura e Organizao de Computadores
Chips de memria no voltil
Aplicaes em que o fornecimento de energia no contnuo brinquedos, eletrodomsticos, etc
ROM (Read Only Memory): nem os dados nem oprograma so alterados Baratos para a produo de muitos chips: mscara
de bits PROM (Programmable ROM): programada em campo,
mas s uma vez Compra de chips virgens e programao
personalizada
Memrias
-
8/3/2019 Organizacao Computadores
94/166
94
Memrias
Arquitetura e Organizao de Computadores
Chips de memria no voltil
EPROM (Eraseble PROM): programvel e apagvel porexposio a ultra violeta
Dispositivos para programao
Mudanas durante o projeto EEPROM (Electrically EPROM): apagvel por pulsos eltricos
Programvel no local
Cerca de 1/64 a 1/32 da capacidade da EPROM
At 10x mais lentas e em geral mais caras que SDRAMs
Memria flash
Futuro (presente?) como substituto de HD's
Memrias
-
8/3/2019 Organizacao Computadores
95/166
95
Memrias
Arquitetura e Organizao de Computadores
Comparao de Memrias
Tipo Categoria Apagamento Voltil Utilizao
SRAM R/W Eltrico Sim Cache L2
DRAM R/W Eltrico Sim MP (antiga)
SDRAM R/W Eltrico Sim MP
ROM R No No Equipamentos: grande volume
PROM R No No Equipamentos: pequenovolume
EPROM R > W Luz UV No Prototipagem
EEPROM R > W Eltrico No PrototipagemFlash R/W Eltrico No Pen drives
Memrias
-
8/3/2019 Organizacao Computadores
96/166
96
Memria Cache
Memrias
Arquitetura e Organizao de Computadores
Memrias
-
8/3/2019 Organizacao Computadores
97/166
97
Memria Cache
Quantidade pequena de memria rpida
Situa-se entre memria principal e a CPU
dividida em linhas (bloco de palavras)
Memrias
Arquitetura e Organizao de Computadores
Memrias
-
8/3/2019 Organizacao Computadores
98/166
98
Organizao tpica de cache
Memrias
Arquitetura e Organizao de Computadores
Memrias
-
8/3/2019 Organizacao Computadores
99/166
99
Operao da Cache viso geral
Memrias
Arquitetura e Organizao de Computadores
i. CPU requisita contedo do local de memria.
ii. Verifica se os dados esto em cache.
iii. Se estiverem, apanha da cache (rpido).iv. Se no, l bloco solicitado da memria principal para acache.
v. Depois, entrega da cache CPU.
vi. Cache inclui tags para identificar qual bloco da memriaprincipal est em cada slot da cache.
Memrias
-
8/3/2019 Organizacao Computadores
100/166
100
Nveis de Cache (exemplo)
L1 (nvel 1): dentro do processador
L2 (nvel 2): no encapsulamento do processador
L3 (nvel 3): na placa-me
Tipos de Cache Unificada (U): para dados e instrues (juntos)
No-unificada (NU) ou dividida : dados e instruesso colocadas em caches separadas
Memrias
Arquitetura e Organizao de Computadores
Memrias
-
8/3/2019 Organizacao Computadores
101/166
101
Linhas de Cache
So blocos de clulas de cache que so transferidasda MP no caso de falha no acesso cache detamanho de 4 a 128 bytes (32 a 1024 bits).
Exemplos:
80386 (1985) : cache na placa me (fora doprocessador)
80486 (1989) : L1 8K unificada linha de 128 bits
Pentium: L1 NU (8k dados/8k instr) linha 256 bits Pentium II/III (1997/1999): L1 NU (16k dados/16k
instr) e L2 512k unificada linhas de 256 bits
Memrias
Arquitetura e Organizao de Computadores
Memrias
-
8/3/2019 Organizacao Computadores
102/166
102
Taxa de acerto/erro da cache (hit/miss ratio)
Memrias
Arquitetura e Organizao de Computadores
tm = c + (1-h)*m,
tm
: tempo mdio de acesso mdio
c : tempo de acesso a cache
m : tempo de acesso a memria
h : taxa de acerto ("hit ratio")
Memrias
-
8/3/2019 Organizacao Computadores
103/166
103
Operao de leitura de cache
Memrias
Arquitetura e Organizao de Computadores
Memrias
-
8/3/2019 Organizacao Computadores
104/166
104
Custo e Velociadade
Memrias
Arquitetura e Organizao de Computadores
Custo:
Mais cache caro.
Velocidade: Mais cache mais rpido (at certo ponto).
Verificar dados na cache leva tempo.
Memrias
-
8/3/2019 Organizacao Computadores
105/166
105
Memrias
Arquitetura e Organizao de Computadores
Elementos de projeto de memria Cache Tamanho da memria Cache
Funo de Mapeamento
Algoritmo de Substituio
Poltica de Escrita Tamanho da Linha
Nmero de memrias cache
Memrias
-
8/3/2019 Organizacao Computadores
106/166
106
Mapeamento Direto: Tabela das linhas do cache
Memrias
Arquitetura e Organizao de Computadores
Linha Bloco
0 0, m, 2m, 3m2s-m
1 1, m+1, 2m+12s-m+1
m-1 m-1, 2m-1,3m-12s-1
Frmula: linha = bloco % (nmero de linhas)
Memrias
-
8/3/2019 Organizacao Computadores
107/166
107
Cache: Mapeamento Direto
Memrias
Arquitetura e Organizao de Computadores
Memrias
-
8/3/2019 Organizacao Computadores
108/166
108
Exemplo de mapeamento de cache
Cache de 64 kBytes com linha da cache de 4 bytes, ou seja,a cache composta 16k (214) linhas de 4 bytes.
MP (memria principal) de 16 MBytes com 24 bits deendereo (224=16M) composta de 4M 222 blocos (linhas).
Memrias
Arquitetura e Organizao de Computadores
Memrias
-
8/3/2019 Organizacao Computadores
109/166
109
Estrutura dos endereos no mapeamento direto
Endereo de 24 bits
2 bits identificador da palavra/byte (w) (bloco de 4 bytes)
Identificador do bloco (22 bits) (s)
Rotulo 8 bits (22-14) (s-r) Linha de 14 bits (r)
No existe dois blocos na mesma linha com o rotulo igual
Verifica o contedo da cache encontrando a linha e
verificando o rtulo
Memrias
Arquitetura e Organizao de Computadores
Memrias
-
8/3/2019 Organizacao Computadores
110/166
110
Exemplo: Mapeamento Direto
Memrias
Arquitetura e Organizao de Computadores
Memrias
-
8/3/2019 Organizacao Computadores
111/166
111
Memrias
Arquitetura e Organizao de Computadores
Prs e contras do mapeamento direto Simples.
Barato.
Local fixo para determinado bloco.
Se um programa acessa 2 blocos que mapeiampara a mesma linha repetidamente, perdas decache so muito altas.
Memrias
-
8/3/2019 Organizacao Computadores
112/166
112 Arquitetura e Organizao de Computadores
Mapeamento Associativo
Um bloco de memria principal pode ser carregadoem qualquer linha de cache.
Endereo de memria interpretado como tag e
palavra. Tag identifica exclusivamente o bloco de memria. Tag de cada linha examinada em busca de
combinao.
Pesquisa da cache dispendiosa.
Memrias
-
8/3/2019 Organizacao Computadores
113/166
113
Cache: totalmente associativa
Arquitetura e Organizao de Computadores
Memrias
-
8/3/2019 Organizacao Computadores
114/166
114
Estrutura dos endereos no mapeamento associativo
Rtulo de 22 bits armazenados com cada bloco de dadosde 32 bits
Compare o campo TAG com o campo TAG da cache paraverificar o acerto
Os 2 bits menos significativos do endereo identificam qualpalavra de 16 bits requerida do bloco de dados de 32 bits
Arquitetura e Organizao de Computadores
Memrias
-
8/3/2019 Organizacao Computadores
115/166
115
Exemplo: mapeamento associativo
Arquitetura e Organizao de Computadores
Como a palavra de4bytes, dividimos o endereopor 4 e obtemos o rtuloespecfico:
000000 / 4 = 00000016339C / 4 = 058CE7FFFFF4 / 4 = 3FFFFDFFFFF8 / 4 = 3FFFFEFFFFFC / 4 = 3FFFFF
*Valores em hexadecimal
Memrias
-
8/3/2019 Organizacao Computadores
116/166
116
mapeamento associativo por conjunto
Combina as vantagens do mapeamento direto e domapeamento associativo.
A cache dividida em v conjuntos, cada com k linhas
m = v x k
i = j modulo v
onde
i nmero de conjuntos na memria cache
j nmero do bloco da memria principal m = nmero de linhas da memria cache
Arquitetura e Organizao de Computadores
Memrias
-
8/3/2019 Organizacao Computadores
117/166
117
Cache associativa por conjuntos (2 linhas)
Arquitetura e Organizao de Computadores
Memrias
-
8/3/2019 Organizacao Computadores
118/166
118
Exemplo: mapeamento associativo por conjunto
Use o campo SET para determinar o conjunto da cach Compare o campo TAG para ver se h um acerto
Arquitetura e Organizao de Computadores
Memrias
-
8/3/2019 Organizacao Computadores
119/166
119
Estrutura do endereo do mapeamento associativo por conjunto
Arquitetura e Organizao de Computadores
0000 / 4 = 0000
0004 / 4 = 0001339C / 4 = 0CE77FFC / 4 = 1FFF7FF8 / 4 = 1FFE
*Valores em hexadecimal
Memrias
-
8/3/2019 Organizacao Computadores
120/166
120 Arquitetura e Organizao de Computadores
Algoritmos de substituio Mapeamento direto
Sem escolha. Cada bloco mapeado apenas a uma linha. Substitui essa linha.
Memrias
-
8/3/2019 Organizacao Computadores
121/166
121 Arquitetura e Organizao de Computadores
Algoritmos de substituio
Associativa e associativa em Conjunto
Algoritmo implementado no hardware (velocidade).
Least Recently Used (LRU). P.e., na associativa em conjunto com 2 linhas.
Qual dos 2 blocos LRU? First In First Out (FIFO).
Substitui bloco que est na cache h mais tempo. Least Frequently Used (LFU).
Substitui bloco que teve menos acertos. Aleatrio.
Memrias
-
8/3/2019 Organizacao Computadores
122/166
122
Polticas de atualizao (escrita)
No deve sobrescrever bloco de cache a menos que amemria principal esteja atualizada. Mltiplas CPUs podem ter caches individuais. E/S pode enderear memria principal diretamente
Escrita direta (Write through) Todas as escritas vo para a memria principal e tambm
para a cache. Mltiplas CPUs podem monitorar o trfego da memria
principal para manter a cache local ( CPU) atualizada. Muito trfego. Atrasa as escritas
Arquitetura e Organizao de Computadores
Memrias
-
8/3/2019 Organizacao Computadores
123/166
123
Polticas de atualizao (escrita)
Escrita de volta (Write back)
Atualizaes feitas inicialmente apenas na cache.
Bit de atualizao para slot de cache definidoquando ocorre a atualizao. Se o bloco deve ser substitudo, escreve na memria
principal apenas se o bit atualizado estiver marcado. Outras caches saem de sincronismo. E/S deve acessar a memria principal atravs dacache. 15% das referncias de memria so escritas.
Arquitetura e Organizao de Computadores
Memrias
-
8/3/2019 Organizacao Computadores
124/166
124
Tamanho de Linha
Recupere no apenas a palavra desejada, mas tambmuma srie de palavras adjacentes.
Tamanho de bloco aumentado aumentar razo de
acerto a princpio. O princpio da localidade. Razo de acerto diminuir medida que o bloco se
tornar ainda maior. Probabilidade de uso de informaes recm- buscadas
torna-se menor que probabilidade de reutilizarinformaes substitudas.
Arquitetura e Organizao de Computadores
Memrias
-
8/3/2019 Organizacao Computadores
125/166
125
Caches multinveis Alta densidade lgica permite caches no chip.
Mais rpido que acesso ao barramento. Libera barramento para outras transferncias.
Comum usar cache dentro e fora do chip.
L1 no chip, L2 fora do chip na RAM esttica. Acesso L2 muito mais rpido que DRAM ou ROM. L2 normalmente usa caminho de dados separado. L2 pode agora estar no chip. Resultando em cache L3.
Acesso ao barramento agora no chip
Arquitetura e Organizao de Computadores
Memrias
-
8/3/2019 Organizacao Computadores
126/166
126
Caches Unificadas versus Separadas
Uma cache para dados e instrues ou duas, uma paradados e uma para instrues.
Vantagens da cache unificada: Maior taxa de acerto.
Equilibra carga entre buscas de instruo e dados. Apenas uma cache para projetar e implementar.
Vantagens da cache separada:
Elimina disputa pela cache entre a unidade debusca/decodificao de instruo e a unidade deexecuo. Importante no pipeline de instrues.
Arquitetura e Organizao de Computadores
Memrias
-
8/3/2019 Organizacao Computadores
127/166
127
Caches Unificadas versus Separadas
Uma cache para dados e instrues ou duas, uma paradados e uma para instrues.
Vantagens da cache unificada: Maior taxa de acerto.
Equilibra carga entre buscas de instruo e dados. Apenas uma cache para projetar e implementar.
Vantagens da cache separada:
Elimina disputa pela cache entre a unidade debusca/decodificao de instruo e a unidade deexecuo. Importante no pipeline de instrues.
Arquitetura e Organizao de Computadores
AOC Organizao de Computadores
-
8/3/2019 Organizacao Computadores
128/166
128
I. Introduo
II. Processadores
I. Ciclo de Instruo
II. Pipeline
III. MemriasIV. Barramentos
V. Dispositivos de E/S
Arquitetura e Organizao de Computadores
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
129/166
129 Arquitetura e Organizao de Computadores
Hardware: Principais Componentes
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
130/166
130 Arquitetura e Organizao de Computadores
Hardware: Principais Componentes
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
131/166
131 Arquitetura e Organizao de Computadores
Conexo E/S e UCP
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
132/166
132 Arquitetura e Organizao de Computadores
Dispositivos Perifricos
Qualquer dispositivo de hardware no requerido por umcomputador para executar instrues de software.
Os dispositivos internos so referidos como dispositivos perifricosintegrados.
Placas de interface de rede, modems, placas de som. Unidades de disco rgido, CD e DVD.
Dispositivos de caracteres: transferem dados: um caractere porvez.
Teclados e mouses
Podem ser conectados a um computador por meio de portas eoutros barramentos.
Portas seriais, portas paralelas, USB, portas IEEE 1394 e SCSI
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
133/166
133 Arquitetura e Organizao de Computadores
Controladores de Dispositivos
Componentes de dispositivos de E/S mecnico
eletrnico
O componente eletrnico o controlador do dispositivo
pode ser capaz de tratar mltiplos dispositivos Tarefas do controlador
converter fluxo serial de bits em bloco de bytes
executar toda correo de erro necessria
tornar o bloco disponvel para ser copiado para amemria principal
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
134/166
134 Arquitetura e Organizao de Computadores
Controladores Adaptador E/S
Os controladores de dispositivos so geralmente programveis epossuem vrios registradores internos, cada um podendo seracessado por um endereo. Exemplos:
COMANDO(S)
PARMETROS ESTADO
DADOS (E/S)
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
135/166
135 Arquitetura e Organizao de Computadores
Registradores de Dispositivo: terminal simples
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
136/166
136 Arquitetura e Organizao de Computadores
Comunicao UCP Controlador E/S
Espaos separados E/S e Memria
E/S Mapeada em Memria
Sistema Hbrido
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
137/166
137 Arquitetura e Organizao de Computadores
E/S Mapeada na memria
a) Arquitetura com barramento nico b) Arquitetura com barramento dual
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
138/166
138 Arquitetura e Organizao de Computadores
MTODOS DE E/S
CONTROLADA PROGRAMADA (POLLING) POR INTERRUPO
POR DMA (ACESSO DIRETO MEMRIA)
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
139/166
139 Arquitetura e Organizao de Computadores
E/S PROGRAMADA (polling)
ESPERA: IN AL, REG_ESTADO_CNTRL # LER ESTADO
CMP AL, 0 # 0 (LIVRE) e 1 (OCUPADO)
JNE ESPERA # DESVIA SE ESTIVER OCUPADO
IN AL, REG_DADO_CNTRL # LER DADO
# COMENTARIO:
# PROBLEMA: ESPERA OCUPADA OU ATIVA
(BUSYWAITING)
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
140/166
140 Arquitetura e Organizao de Computadores
E/S PROGRAMADA
Passos para a impresso de uma cadeira de caracteres
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
141/166
141 Arquitetura e Organizao de Computadores
Interrupes e excesses
So desvios do fluxo de execuo de um programa
So diferentes de branches e jumps (que tambmmudam o fluxo normal de execuo de instrues).
As interrupes, podem ser de hardware e de software.
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
142/166
142 Arquitetura e Organizao de Computadores
Interrupes e excesses
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
143/166
143 Arquitetura e Organizao de Computadores
Excesses
Desvios forados do fluxo de execuo de umprograma causado por um evento interno sncrono, ouseja, tem origem dentro do processador e ocorremdevido a prpria execuo das instrues do programa.
So geralmente geradas em resposta a erros ou condiesde exceo. Exemplos: diviso por zero, overflowaritmtico, falta de pgina, erro de segmentao, instruo
invlida, etc.
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
144/166
144 Arquitetura e Organizao de Computadores
Interrupo de Hardware
Desvio forado do fluxo de execuo de um programacausado por um evento assncrono externo (relgio,teclado, disco, impressora, etc), ou seja, ocasionada por umevento inesperado que tem origem fora do processador.
Exemplos: digitar de um caractere no teclado,movimentar o mouse, chegar uma mensagem pela rede, etc.
Quando ocorre um evento, a maioria dos dispositivos de E/Senvia ao processador um sinal denominado interrupo.
O sistema operacional pode responder a uma interruponotificando os programas que esto espera desses eventos
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
145/166
145 Arquitetura e Organizao de Computadores
Pinagem lgica de uma CPU genrica
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
146/166
146 Arquitetura e Organizao de Computadores
Pinagem lgica do
Pentium 4
Sinais individuais:letras maisculas
Grupos de sinaisrelacionados oudescries de sinais:letras maisculas e
minsculas
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
147/166
147 Arquitetura e Organizao de Computadores
Controlador de interrupo
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
148/166
148 Arquitetura e Organizao de Computadores
Interrupes de Hardware
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
149/166
149 Arquitetura e Organizao de Computadores
Ciclo de Interrupo
Adicionando ao ciclo de instruo Processador verifica se existe interrupo
Indicado pelo sinal de interrupo
Se no existe interrupo, buscar a prxima instruo
Caso existam interrupes pendentes: Suspenda a execuo do programa corrente
Salvar o contexto
Colocar no PC o endereo de incio da rotina de
tratamento da interrupo (RTI). Processar a interrupo
Restaurar o contexto e continuar o programainterrompido
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
150/166
150 Arquitetura e Organizao de Computadores
Tratadores de Interrupo
Passos que devem ser executados em software depois da interrupoter sido concluda
2. salva registradores que ainda no foram salvos pelo hardware de
interrupo
3. estabelece contexto para rotina de tratamento de interrupo
4. estabelece uma pilha para a rotina de tratamento de interrupo 5. sinaliza o controlador de interrupo, reabilita as interrupes
6. copia os registradores de onde eles foram salvos
7. executa rotina de tratamento de interrupo
8. escolhe o prximo processo a executar 9. estabelece o contexto para o prximo processo a executar
10. carrega os registradores do novo processo
11. comea a executar o novo processo
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
151/166
151 Arquitetura e Organizao de Computadores
Vetores de interrupo
O Vetor de interrupo um mecanismo usado paraindicar o dispositivo est solicitando operao de E/S. Elesservem para indicar uma entrada na tabela de vetores deinterrupo.
A Tabela de vetores de interrupo armazena os endereos
das rotinas de tratamento de interrupo (RTI) de cadadispositivo de E/S, de excees e das interrupes desoftware.
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
152/166
152 Arquitetura e Organizao de Computadores
Interrupes Mltiplas
Interrupes desabilitadas O processador ignorar as interrupes enquanto processa uma
interrupo
As interrupes permanecero pendentes e sero verificadasaps a primeira interrupo ter sido processada.
Manipulao das interrupes na sequncias que elas ocorrem
Definir prioridades
Interrupes de baixa prioridade podem ser interrompidas porinterrupes de maior prioridade
Quando a interrupo de maior prioridade foi processada, oprocessador retorna para a interrupo prvia
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
153/166
153 Arquitetura e Organizao de Computadores
Temporizadores e Relgios
Temporizadores O temporizador de intervalo gera periodicamente uma
interrupo.
Os sistemas operacionais usam temporizadores deintervalo para impedir que processos monopolizem oprocessador.
Relgios
Oferecem uma medida de continuidade.
Um relgio de 24 horas habilita o sistema operacional adeterminar a hora e a data atuais
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
154/166
154 Arquitetura e Organizao de Computadores
Temporizadores de Software
Um segundo relgio programvel para interrupes de Temporizao
ajustado para causar interrupes em qualquer taxa queum programa precisar
sem problemas se a frequncia de interrupo baixa Temporizadores de software evitam interrupes
ncleo checa se o temporizador de software expirou antesde retornar para o modo usurio
quo bem isso funciona depende da taxa de entradas noncleo
Dispositivos de E/S
-
8/3/2019 Organizacao Computadores
155/166
155 Arquitetura e Organizao de Computadores
Interrupes de Software
Na arquitetura x86 (ou IA-32 da Intel) usa o termointerrupo de software para designar instruesespeciais que fazem parte do conjunto de instrues de umprocessador, mas que tem um tratamento semelhante sinterrupes de hardware.
Os servios do Sistema Operacional (SO) so geralmenteobtidos atravs deste mecanismo (chamadas ou traps aoSO).
Exemplos:
INT 0x80 (Linux)
INT 0x21 (DOS)
Dispositivos de E/S
Ch d SO
-
8/3/2019 Organizacao Computadores
156/166
156 Arquitetura e Organizao de Computadores
Chamadas ao SO
Dispositivos de E/S
I d S f
-
8/3/2019 Organizacao Computadores
157/166
157 Arquitetura e Organizao de Computadores
Interrupo de Software
Dispositivos de E/S
I E MIPS (E l )
-
8/3/2019 Organizacao Computadores
158/166
158 Arquitetura e Organizao de Computadores
Interrupes e Excesses no MIPS (Exemplo)
Dispositivos de E/S
C i l i t (MIPS
-
8/3/2019 Organizacao Computadores
159/166
159 Arquitetura e Organizao de Computadores
Como manipular excees e interrupes (MIPS
Aes bsicas a serem tomadas pela mquina quando ocorre uma exceo :
1) salvar o endereo da instruo ofendida (instruo atual) numregistrador especial EPC (Exception Program Counter).
2) transferir o controle (atualizar o contedo de PC) para umendereo especfico, que possibilite ao computador executar a rotina detratamento de exceo.
ROTINA DE TRATAMENTO DE EXCEO: depende do tipo de exceo,por exemplo, reportar ao usurio que ocorreu um erro de overflow.
Aes a serem tomadas aps a execuo do tratamento de exceo:
Depende do tipo de exceo: por ex. pode encerrar, ou continuarexecutanto, o programa que estava executando antes da exceo.
O EPC usado para determinar o endereo de reincio daexecuo
Dispositivos de E/S
C b d (MIPS)
-
8/3/2019 Organizacao Computadores
160/166
160 Arquitetura e Organizao de Computadores
Como saber a causa da exceo (MIPS)
Para o computador manipular uma exceo, ele deve conhecera razo da exceo.
A razo pode ser obtida de duas formas:
1) usar o registrador de status (cause register) que indicaa razo
2) usar interrupo vetorizada, caso em que o endereode desvio para executar a exceo determinado pelacausa da exceo
Dispositivos de E/S
Implementao de e ceo no MIPS
-
8/3/2019 Organizacao Computadores
161/166
161 Arquitetura e Organizao de Computadores
Implementao de exceo no MIPS
Implementao de duas excees:
1) overflow aritmtico
2) instruo indefinida
A causa determinada pelo valor do registrador CAUSE de 32 bits:
CAUSE = 00 00 00 00 (em hexa), overflow aritmtico
CAUSE = 00 00 00 01 (em hexa), instruo indefinida
O endereo da instruo ofendida guardada em EPC
O endereo de desvio para o incio da execuo da rotina detratamento de exceo dado por C0 00 00 00 (em hexa).
Dispositivos de E/S
Alterao do Fluxo de Dados (MIPS)
-
8/3/2019 Organizacao Computadores
162/166
162 Arquitetura e Organizao de Computadores
Alterao do Fluxo de Dados (MIPS)
Dispositivos de E/S
DMA A di t i
-
8/3/2019 Organizacao Computadores
163/166
163 Arquitetura e Organizao de Computadores
DMA: Acesso direto a memria
Melhora a transferncia de dados entre a memria e osdispositivos de E/S.
Dispositivos e controladores transferem dados para e damemria principal diretamente.
O processador fica livre para executar instrues.
O canal DMA usa um controlador de E/S para gerenciar atransferncia de dados.
Notifica o processador quando uma operao de E/S concluda.
Melhora o desempenho em sistemas que realizam grandequantidade de operaes de E/S (por exemplo, computadoresde grande porte e servidores).
Dispositivos de E/S
DD De ice Dri er
-
8/3/2019 Organizacao Computadores
164/166
164 Arquitetura e Organizao de Computadores
DD: Device Driver
Programa que se comunica com o controlador de dispositivo deE/S.
Realiza a comunicao do subsistema de E/S com os dispositivosatravs dos controladores de E/S
Dispositivos de E/S
Driver dos Dispositivos
-
8/3/2019 Organizacao Computadores
165/166
165 Arquitetura e Organizao de Computadores
Driver dos Dispositivos
Dispositivos de E/S
Plug and Play (PnP)
-
8/3/2019 Organizacao Computadores
166/166
Plug and Play (PnP)
Os dispositivos de hardware so adicionados dinamicamente. Os recursos so redistribudos (portas de E/S, canais de DMA).
Suporte ao hardware
Reconhece novos componentes;
Notifica o sistema. Suporte ao software
Gerenciador de PnP do Windows XP
Modo ncleo: configura dispositivos e aloca recursos.
Modo usurio: interage com programas de instalao,tifi d t d d i