Académique Documents
Professionnel Documents
Culture Documents
Introduo ...................................................................................................... 03
1
VII.8 Exerccios..................................................................................................17
VII.9 Bibliografia.................................................................................................18
2
INTRODUO
Neste tipo de arquitetura, os barramentos de controle, endereos e dados para E/S e para
acesso memria so logicamente distintos, de forma que o acesso da UCP unidade de memria
isolado do seu acesso s portas de EIS (Figura 7.1).
3
Figura 7.1 Esquema lgico de arquitetura com EIS isolada.
Este uso de endereos idnticos obriga que arquiteturas do tipo E/S isolada incluam instrues
especficas para entrada de dados, para sada de dados e para acesso memria.
Exemplos:
4
VII.3 E/S MAPEADA EM MEMRIA (UNIBUS)
Neste tipo de arquitetura no h barramentos dedicados para E/S, como tambm no existem
instrues especiais de E/S (Figura 7.3).
Nesta arquitetura, existe um nico espao de endereos, tratados como endereos de memria.
Uma parte deste espao de endereos reservada s portas de E/S, de forma que a UCP pode
tratar qualquer porta como uma clula de memria. Assim, as instrues de E/S so as prprias
instrues de acesso memria, por exemplo MOVE, que podem referenciar endereos de clulas
fisicamente inexistentes na memria. Estes endereos fisicamente inexistentes so mapeados para
as portas de E/S.
Este uso de endereos idnticos obriga que arquiteturas do tipo E/S isolada incluam instrues
especficas para entrada de dados, para sada de dados e para acesso memria.
Esta soluo apresenta as seguintes vantagens:
no so necessrios cdigos especficos para instrues de E/S;
todas as instrues que fazem referncia memria podem ser usadas para
manipulao de E/S;
a quantidade de endereos para E/S praticamente ilimitada.
Algumas desvantagens podem tambm ser listadas:
parte dos endereos de memria no pode ser utilizada como endereos de
memria;
h necessidade de interfaces mais complexas para reconhecer endereos maiores;
5
instrues de referncia a endereos de memria (que na verdade realizam a E/S)
podem ser mais longas, com maior tempo de execuo, do que instrues
especficas de E/S.
O registrador de estado (RS) informa o estado da transferncia de E/S; cada bit deste registrador
tem um significado especial. Diversas informaes relevantes esto associadas aos bits do
registrador de estado, tais como: se o dispositivo gerou uma interrupo, se o dispositivo est
desconectado, e outras.
Dois bits do registrador de estado so muito importantes para controlar o processo de E/S; um
deles indica se o dispositivo colocou um dado de entrada no registrador de dados, o outro indica se o
dispositivo est pronto para processar um dado de sada, ou seja, se o registrador de dados est
apto a receber outro dado de sada.
ENTRADA DE DADOS
6
O estado do registrador de estado pode ser lido pela UCP, atravs de uma instruo de entrada
(ex. IN RS), e o valor do bit 3 testado para verificar se o registrador de dados contm o dado enviado
pelo dispositivo. Isto evita a leitura pela UCP de um dado j lido anteriormente, e que permanece no
registrador de dados da interface.
Em Assembly (para EIS isolada) :
A execuo da instruo IN RD de leitura do dado faz com que a interface zere o bit que indica a
presena de dado gerado pelo dispositivo.
SADA DE DADOS
Na sada de dados a UCP envia o dado que carregado no registrador de dados da interface. O
bit correspondente no registrador de estado feito igual a "1" indicando que o dispositivo est
processando a sada do dado. Supondo que o bit 2 do registrador de estado indique que existe dado
no registrador de dados, a ser processado pelo dispositivo, como a seguir:
O estado do registrador de estado pode ser lido ( IN RS ) pela UCP e o valor do bit 2 testado para
verificar, antes que um novo dado seja enviado pela UCP, se o dispositivo j processou o dado
anterior. Isto evita a perda do dado anterior pela sobreposio de um novo dado no registrador de
dados, antes que o dispositivo possa process-lo.
Em Assembly (para EIS isolada) :
7
Os modos de operao podem ser programados na interface utilizando-se instrues de escrita
(sada) que endeream o registrador de controle.
Exemplo:
8
VII.5 CONTROLE DE TRANSFERNCIA DE DADOS
TRANSFERNCIA CONDICIONAL
Aplicaes:
TRANSFERNCIA INCONDICIONAL
9
necessidade de se assegurar que o dado anterior j tenha sido processado pelo dispositivo, podendo
haver perda de informao.
Aplicaes:
Entrada: utilizada para a leitura do valor corrente de uma grandeza. Exemplo: leitura de um
sensor em controle de processos.
Sada: utilizada para mostrar o valor corrente de uma grandeza. Exemplo: escrita de uma
grandeza em um painel em controle de processos.
A E/S controlada por interrupo utilizada em aplicaes onde o tipo de transferncia por
evento (event), o que implica a no existncia de um ponto determinado do programa onde feita a
E/S de dados. Neste caso, a interface gera um sinal de interrupo quando est pronta para a
transferncia. O programa em execuo interrompido e a rotina de servio de interrupo executa
a transferncia desejada (Figura 7.7) .
A rotina de servio de interrupo no precisar implementar o lao de espera para testar o
registrador de estado pois, toda vez que a interrupo ocorrer, a interface estar pronta para realizar
a transferncia. Observemos que, desta forma, no existe a possibilidade de perda da informao.
Deve ser observado que este tipo de mecanismo de transferncia aplicvel quando no h
necessidade de executar a transferncia em um ponto especfico do programa. A transferncia
executada assincronamente em relao ao programa.
Aplicao:
Tanto na E/S controlada por programa, como na EIS controlada por interrupo, a transferncia
controlada pela UCP, ou seja, o dado transferido entre a interface e registradores da UCP pelas
instrues especiais:
10
MOVE port,R1 ; RI ~ (port) entrada
MOVE R1,port ; port (RI) sada
Estas operaes de E/S controladas pela UCP so, entretanto, inadequadas para transferncia
de dados entre a memria e dispositivos de "alta velocidade", como as unidades de discos
magnticos. Nestes casos so transferidos grandes blocos de dados e a execuo repetitiva das
instrues de EIS torna a transferncia ineficiente.
Uma soluo para este problema controlar a transferncia de dados por um hardware
especfico que permita a conexo direta entre a memria e o dispositivo, como foi introduzido na
Seo 11.3.1.3. Isto possvel atravs de uma interface especial chamada controlador DMA.
Com o controlador DMA, a UCP inicia a transferncia de um bloco de dados pelo carregamento
de registradores especiais desta interface; aps a inicializao, o controlador DMA realizar a
transferncia de dados e a UCP ficar livre para continuar a execuo do programa.
Na Seo VII.7 discutimos os mecanismos que permitem o uso compartilhado dos barramentos
pela UCP e pelo controlador DMA.
Uma interface controla a operao de um dispositivo de acordo com os comandos gerados pela
UCP. A interface tambm converte o dado transferido do formato interno para qualquer formato
requerido pelo dispositivo e vice-versa.
Basicamente, a transferncia entre uma interface e um dispositivo conectado mesma pode ser
feita serialmente ou paralelamente, dependendo de vrios fatores como: caractersticas do
dispositivo, distncia de transmisso, desempenho requerido em velocidade ou confiabilidade etc.
Uma interface paralela recebe/envia dados da/para UCP via barramento de dados. Estes dados
so enviados ou recebidos do dispositivo de E/S atravs de um cabo de conexo com:
n de linhas entre interface e dispositivo = n de bits do dado, que constitui a ligao fsica entre o
dispositivo e a interface (Figura 7.9) .
11
Figura 7.9 Esquema de comunicao paralela.
Exemplo:
O esquema da Figura 7.10 mostra a interface paralela INTEL 8255A.
A pastilha INTEL 8255A uma interface paralela constituda de:
um registrador de controle,
trs portas (A, B e C) de E/S de 8 bits e um "buffer" para comunicao entre o
barramento de dados e as portas.
A porta C pode ser programada independentemente para entrada ou para sada, nos 4 bits mais
significativos e nos 4 bits menos significativos.
A comunicao serial requer um nmero muito menor de linhas de comunicao entre interface e
dispositivo, tipicamente de 2 a 4 linhas. A Figura 7.11 mostra o esquema de uma interface serial.
apropriada quando:
o dispositivo de sada tem uma operao inerentemente serial e/ou
12
a distncia entre a UCP e o dispositivo grande, o que influi no custo do cabo de
transmisso.
FORMATAO
A formatao serial transforma os bits em paralelo do barramento de dados em uma srie de bits
seqenciados no tempo.
A formatao executada pela interface deve estar de acordo com a formatao que o dispositivo
"entende", ou seja, com o tempo de amostragem do dispositivo. Para que isto acontea, existem
taxas de transmisso (BaudRate). No caso de sinais binrios, Baud Rate corresponde ao nmero de
bits por segundo. Exemplos de Baud Rate padronizados vo de valores de 110 a 28.800
bits/segundo, com valores discretos dentro desta faixa.
Algumas interfaces seriais permitem que o Baud Rate seja "programado", enviando ao
registrador de controle uma palavra cdigo identificando o Baud Rate.
13
MODOS DE TRANSFERNCIA
START BIT -igual a zero, indica o incio de transmisso sincronizando transmissor e receptor
STOP BITS -dois bits iguais a 1, indicando o fim de transmisso
Observao:
A transferncia serial poderia ser feita por programa, transmitindo um bit de cada vez, sem
necessidade da interface. No entanto, o uso da interface permite que a UCP se ocupe de outras
operaes, enquanto a E/S ocorre.
Transferncia Serial Sncrona: permite transmisso mais rpida
Na transferncia serial sncrona, os caracteres so transmitidos ininterruptamente, eliminando a
necessidade dos bits de sincronismo como o start bit ou stop bits. Os dados transmitidos ou
recebidos constituem uma seqiincia contnua de bits sem indicao de fronteiras entre caracteres
adjacentes.
Os relgios no receptor e no transmissor operam exatamente na mesma freqncia e devem ser
muito estveis para manter o sincronismo por um longo perodo de tempo.
O sincronismo entre o receptor e o transmissor mantido atravs de um caractere especial
chamado caractere de sincronismo (CS). A cada n caracteres de informao, o transmissor gera um
caractere de sincronismo (Figura 7.13). O receptor deve detectar este caractere.
No incio da transmisso, o receptor opera em um modo de busca (hunt mode) , fazendo uma
comparao bit a bit da seqncia de entrada, com o caractere de sincronismo. Quando este
caractere encontrado, o receptor trata cada grupo subseqente de (n-1) caracteres como
caracteres de informao. O n-sino caractere deve ser o caractere de sincronismo; caso no seja o
caractere de sincronismo, houve uma perda de sincronismo e o receptor voltar ao modo de busca
at encontrar o caractere de sincronismo.
14
C- caractere
CS -caractere de sincronismo
Como j mencionamos, a E/S por DMA basicamente utilizada para transferncia de blocos de
dados para/ de posies contguas de memria, sem a interveno da UCP. A UCP pode efetuar um
outro processamento enquanto o controlador DMA processa a transferncia. No h utilizao do
acumulador ou qualquer outro registrador da UCP no processamento da E/S.
A E/S de dados por DMA tipicamente utilizada para dispositivos de memria secundria de alta
velocidade (e.g., discos magnticos) nos quais a transferncia feita em blocos de tamanho
determinado pelas caractersticas do dispositivo (128, 256, 512 bytes).
Para transferir blocos de dados para/de posies contguas de memria, o controlador DMA
possui (no mnimo) dois registradores que so carregados pela UCP, informando:
Estes registradores so utilizados pelo controlador DMA para gerenciar a transferncia de dados.
A cada transferncia, o controlador DMA incrementa o registrador que contm o endereo de
memria e decrementa o registrador que contm o tamanho do bloco.
Normalmente os controladores DMA possuem um ou mais registradores de controle que devem
ser carregados com opes para diferentes modos de operao, entre os quais o tipo de
transferncia: entrada ou sada.
A transferncia de controle da UCP para DMA pode ser iniciada de duas maneiras:
15
TRANSFERNCIA CONTROLADA POR INTERRUPO
BURST RAJADA
O controlador requisita os barramentos quando est pronto para a transferncia e, uma vez de
posse dos mesmos, transfere todo o bloco de palavras enquanto a UCP aguarda o trmino da
transferncia.
Embora no haja paralelismo de E/S e UCP, a transmisso mais rpida do que a E/S
controlada pela UCP, no caso de dispositivos rpidos. A transferncia dos dados feita diretamente
da interface para a memria, no necessitando passar pela UCP; envolve somente a ocupao dos
barramentos.
O controlador assume o controle dos barramentos durante o tempo necessrio para transmitir
uma palavra e retorna os barramentos UCP. Durante este tempo, a UCP no pode executar
operaes que faam uso dos barramentos.
A Figura 7.14 a seguir mostra os ciclos de mquina compartilhados entre UCP e DMA.
A execuo de programas pela UCP fica um pouco mais lenta pois ela espera pela liberao dos
barramentos; contudo, nem sempre a UCP precisa esperar, pois podem coincidir ciclos de DMA com
ciclos de UCP com operaes internas que no faam uso do barramento.
DMA TRANSPARENTE
O controlador DMA utiliza, para transferncia de dados, ciclos de mquina da UCP que no
faam uso dos barramentos. Deste modo, no h interferncia do DMA na execuo de instrues
pela UCP. Para isto, necessrio que o controlador DMA identifique o incio de um ciclo de mquina
da UCP que no ir utilizar os barramentos (Figura 7.15).
16
Figura 7.15 Transferncia por DMA transparente.
Neste caso, tipicamente, o controlador DMA libera totalmente a UCP durante a transferncia de
dados, aumentando o paralelismo do conjunto (CPU, memria, E/S) , mas no necessariamente
aumentando a taxa de transferncia de dados entre o dispositivo e a memria.
VII.8 EXERCCIOS
1 Quais so os tipos de arquiteturas para E/S? Descreva cada uma delas. Mostre
semelhanas e diferenas. Mostre vantagens e desvantagens.
17
VII.9 BIBLIOGRAFIA
18