Você está na página 1de 39

ARQUITETURAS E ORGANIZAÇÕES

DE COMPUTADORES
Entrada/Saída
Introdução
• Existe uma enorme variedades de dispositivos
de E/S.
• O processador vê apenas interfaces, que são a
parte mais interna do dispositivo.
• A interface ou controladora é responsável pela
comunicação de diversos dispositivos com o
processador
– Disco rígido, drives de mídias ótica, impressoras,
etc.
Introdução
• Algumas interfaces ficam embutidas na
própria placa mãe. Conhecidas como onboard.
Introdução
• Já outras placas de expansão possuem a sua
própria interface. Conhecidas como offboard.
Introdução
• Formas como os dados são transferidos entre
a interface de E/S e a memória.
– Paralelas
– Seriais
Introdução
Interfaces Paralelas
• Transmitia dados em uma única direção
(unidirecional), mas evoluiu para o modo
bidirecional, capaz de transmitir e receber
dados.
Introdução
Interfaces Paralelas
Introdução
Interfaces Seriais
• Têm como característica principal a
capacidade de envio de apenas um bit por vez
– Mouse
– Algumas impressoras do tipo serial
Introdução
Interfaces Seriais
Organização de uma interface de E/S

• Apesar das diferenças entre os vários


dispositivos de E/S existentes, as interfaces
seguem um padrão de organização comum, o
que facilita a interação com o resto do
sistema.
Organização de uma interface de E/S

• A principal função de uma interface de E/S é


tornar os detalhes de operação e controle dos
dispositivos periféricos transparente para o
processador.
• Elas são organizada em duas partes:
– Parte genérica
– Parte específica
Organização de uma interface de E/S
Organização de uma interface de E/S

Parte Genérica
• Como o próprio nome indica, é semelhante
entres os diferentes tipos de interfaces de E/S.
• É essa porção da interface que é vista pelo
processador.
• Em geral, nessa parte existem alguns
registradores, cujo número e função
dependem em parte do tipo de periférico.
Organização de uma interface de E/S

Parte Genérica
• Na maioria das interfaces, a parte genérica
inclui pelo menos:
– Um registrador de dados
– Um registrador de controle
– Um registrador de estado
Organização de uma interface de E/S

Parte Genérica
• Registrador de dados
– Usado para transferência de dados entre o
processador e o dispositivo periférico.
– Na operação de saída, o processador escreve um
dado nesse registrador
– Em uma operação de entrada, o dado é
armazenado nesse registrador e só assim o
processador faz um acesso de leitura
Organização de uma interface de E/S
Parte Genérica
• Registrador de controle
– Usado pelo processador para enviar comandos à
interface
– Comando enviado sob a forma de código
– Cada interface possui um repertório de comandos
próprio.
– Quando o processador escreve um comando nesse
registrador, a interface interpreta esse código e
executa a operação solicitada.
Organização de uma interface de E/S

Parte Genérica
• Registrador de estado
– Usado para veicular informações gerais sobre uma
operação de E/S
– Tipicamente esse registrador possui bits para
indicar:
• Término de uma operação
• Condições de erro que eventualmente possam
acontecer
Organização de uma interface de E/S
Parte Específica
• Interage diretamente com o periférico
• Difere bastante entre os diferentes tipos de
interfaces.
• Apesar das diferenças, a parte específica possui, na
maioria das interfaces, dois conjuntos de sinais:
– A própria via através da qual são transferidos os dados
entre a interface e o periférico
– Sinais usados no controle do periférico
Organização de uma interface de E/S

Exemplo: interface de HD
Técnicas de Transferência de
Dados
Técnicas de Transferência de Dados
• E/S com Polling
• E/S com Interrupção
• E/S com acesso direto à memória
E/S com Polling
• O processador controla toda a transferência
de dados entre a memória e a interface de
E/S.
E/S com Polling
• Exemplo: considere uma operação de escrita
em um setor de disco
E/S com Polling

Done bit
E/S com Polling
E/S com Polling
• Após escrever o dado no registrador de dados:
– O processador lê o registrador de estado e testa o
done bit para verificar se o mesmo já foi escrito no
setor do disco
• Esse teste de bit é chamado de polling
• O processador continua realizando o polling
até encontrar o done bit ativado:
– Isso indica que o dado já foi escrito no setor
E/S com Polling
• Quando o dado é escrito no setor e se ainda
existe outro dado a ser enviado:
– O processador escreve de novo o dado no
registrador de dados
– Reinicia o polling
– O ciclo é repetido até que todos os dados tenha
sido escritos no setor do disco
E/S com Polling
• Vantagem:
– Simplicidade
• Desvantagem:
– O processador fica dedicado à operação de E/S

• O uso da técnica de E/S com polling é restrito


apenas a sistemas onde somente um programa
pode se encontrar em execução a cada instante.
E/S com Interrupção
• No polling o processador fica responsável por
determinar quando um novo dado pode ser
transferido entre a MP e a Interface.
• Na E/S com Interrupção, é a interface que é
responsável por notificar o processador quando
um novo dado pode ser transferido.
• A interface deve gerar um sinal de interrupção,
através da qual ela notifica o processador
quando uma operação de E/S foi concluída.
E/S com Interrupção
• Considere novamente o exemplo da operação
de escrita de um setor de disco:
• Operação dividida em duas fases:
– Disparo da operação
– Transferência de dados
E/S com Interrupção
E/S com Interrupção
Fase de disparo da operação:
• o processador envia para a interface o
comando e o números da trilha e do setor.
– Depois disso o processador fica livre para executar
outra operação quando, ficando o resto da
operação sob responsabilidade da interface
E/S com Interrupção
Fase de transferência de dados:
• inicia-se fazendo um pedido de interrupção ao
processador, através do sinal de interrupção.
• Quando o processador recebe o pedido de
interrupção:
– Ele suspende a execução do programa corrente
– Depois passa a executar uma rotina especial,
chamada rotina de serviço de interrupção
E/S com Interrupção
Rotina de serviço de interrupção:
• Verifica inicialmente se o último dado já foi
enviado:
– Se sim, processador conclui a escrita do setor do
disco lendo o registrador de estado da interface
– Se não, o processador envia um novo dado e
retorna para o programa que se encontrava em
execução.
E/S com Interrupção
• Vantagem:
– O processador não fica dedicado à operação de
E/S
– O processador é alocado somente quando
realmente deve ser transferido um dado entre a
memória e a interface, resultando em uma
utilização mais eficiente do processador
E/S com Interrupção
• Desvantagem:
– Deixa a desejar na velocidade de transferência de
dados
– Isso devido ao fato de que o processador ainda é o
responsável por controlar a transferência de dados
E/S com Acesso Direto à Memória
• E/S com Acesso Direto à Memória ou E/S com
DMA (Direct Memory access)
• Nessa técnica o processador não toma parte
na fase de transferência de dados.
• Um componente do sub-sistema de E/S
chamado controlador de DMA é responsável
por transferir os dados ente a MP e a interface
E/S com Acesso Direto à Memória
• Considere ainda o exemplo da operação de
escrita no setor de disco:
• Na fase de disparo da operação, o processador
informa ao controlador DMA:
– O número de dados a serem transferidos
– O endereço do primeiro dado
– O sentido de transferência (MP ->Interface ou
Interface ->MP)
– Números de trilha, setor e o comando da operação
E/S com Acesso Direto à Memória
• O processador participa apenas da fase de
disparo
• Na fase de transferência de dados, o
controlador de DMA assume o controle do
barramento.
– Para isso o controlador DMA coloca o processador
em um estado chamado hold state, no qual o
processador fica impedido de iniciar ciclos no
barramento

Você também pode gostar