Organização de Computadores
Antônio Borges / Gabriel P. Silva
8. Entrada e Saída
8.1. Introdução
As unidades que compõem o modelo de barramento de sistema são o processador, a memória e
entrada/saída. Neste capítulo iremos apresentar maiores detalhes sobre a unidade de entrada e
saída (E/S).
A unidade de entrada/saída é uma abstração que é composta pelas interfaces de entrada e de
saída. Através das interfaces de entrada os dados necessários para a computação são transferidos para o computador e, depois de codificados no formato binário, serão adequadamente processados. Com o uso das interfaces de saída todo o resultado da computação pode ser
armazenado ou colocado à disposição do usuário sob a forma de texto, som, imagem ou meios
digitais removíveis, como fita, cd-rom, etc. Algumas interfaces, como por exemplo placa de áudio,
possuem tanto a função de entrada (microfone) como a de saída (caixas de som) de dados.
Nos modernos sistemas operacionais o usuário não pode realizar as operações de entrada/saída
diretamente, mas somente através do sistema operacional. Este procedimento é utilizado porque
os programas encarregados de realizar a interface com os dispositivos de entrada e saída (os
“drivers”) são parte integrante do sistema operacional. Como conseqüência temos uma maior segurança nas operações de E/S, já que um usuário não pode fazer um acesso indevido, por exemplo, aos arquivos de um outro usuário.
As interfaces de entrada e saída recebem também o nome de periféricos e se interconectam com
o processador através de barramentos. Ao contrário do que se poderia imaginar, a maioria dos
periféricos não se conectam diretamente ao barramento de sistema. Para essa conexão são utilizados barramentos, especializados, de entrada e saída.
Isso é necessário porque cada tipo de periférico tem características particulares, como por exemplo taxa de transmissão/recepção de dados. Portanto, deve haver um padrão específico de barramento de E/S mais adequado para cada periférico. Assim, é necessário que o computador
disponha de diversos padrões de barramentos de E/S para permitir a conexão de diversos tipos
de periféricos ao computador.
O padrão de barramento utilizado depende das características do periférico, tais como velocidade
e volume de dados que precisam ser transferidos de/para o periférico a cada instante e até mesmo da época em que o periférico foi produzido, já que alguns padrões de barramento são muito
recentes.
Qualquer que seja o barramento de E/S escolhido, deverá haver um componente no computador
para fazer a interligação entre os diversos tipos de barramento de entrada/saída e o barramento
do sistema, onde estão conectados o processador e a memória principal.
8.2. Comunicação com o Processador
A ponte é o dispositivo que faz a interligação entre barramentos com padrões diferentes e com o
processador. Esta situação é ilustrada no diagrama a seguir:
Organização de Computadores
Antônio Borges / Gabriel P. Silva
Figura 21 – Pontes de Barramenteos
No caso acima existe uma ponte que interliga o barramento do sistema a outros dois barramentos
com padrões distintos, no caso o PCI e o AGP. Uma outra ponte faz interligação entre o barramento com padrão PCI (mais moderno) e o padrão ISA (mais antigo). Nós estudaremos os diversos padrões de barramento com mais detalhes adiante.
O sistema operacional controla toda a atividade de entrada e saída através de rotinas executadas
no processador. Nenhuma operação de entrada e saída pode ser realizada sem que seja autorizada pelo sistema operacional, ou seja, pelo processador. Ao término de toda operação de entrada, o processador deve ser notificado para que os dados recebidos sejam convenientemente
tratados. Antes de toda operação de saída, os dados devem ser preparados e os periféricos programados convenientemente.
O processador tem várias maneiras para saber se uma determinada tarefa solicitada a um periférico foi realizada:
O processador verifica periodicamente registradores especiais nos periféricos para saber se a operação foi completada. É o que é chamado “loop de status“ ou “polling”.
Ao final da operação, o periférico ativa um sinal especial no barramento de E/S, que é
enviado ao processador, fazendo com que este desvie para uma rotina no núcleo do
Organização de Computadores
Antônio Borges / Gabriel P. Silva
sistema operacional, para executar uma rotina de tratamento. Esta forma de notificação
recebe o nome de interrupção.
O modo de notificação por interrupção é utilizado quando um programa transfere grandes volumes de dados e o tempo entre o início e o término da operação de E/S é longo. Deste modo o
processador pode executar outros programas especificados pelo sistema operacional e, quando
da chegada da interrupção, a execução do programa original é retomada.
O modo de “polling” é utilizado em ambientes em que haja apenas um programa em execução,
ou quando o tempo entre o início e o término da operação é muito curto, ou quando o periférico
não tem possibilidade de utilizar a interrupção.
Quando um arquivo é lido do disco, o seu conteúdo é transferido para a memória principal, antes
que possa ser processado ou transmitido para um outro dispositivo, como o disquete ou interface
de rede.
Quando as informações que estão na memória do computador precisam ser transferidas de/para
um periférico, também há duas maneiras principais de realizar essa transferência:
O processador realiza esta operação, lendo os dados de registradores especiais do
dispositivo de E/S para a memória ou vice-versa.
Um componente de “hardware”, chamado de controlador de DMA (Acesso Direto à
Memória), é programado pelo processador como endereço de memória de/para onde
estão serão lidos/escritos, com o tamanho total de bytes a serem transferidos e para/de
qual periférico serão escritos/lidos.
Figura 22 – Modos de Transferência
O uso de DMA oferece maior desempenho para as transferências de grande volume de dados,
enquanto que o primeiro método é mais adequado quando o volume de dados é pequeno.
8.3. Barramentos de E/S
Os dispositivos de entrada e saída podem ser de diversos tipos: teclado, mouse, vídeo, disco,
impressora, áudio, etc. Para cada tipo de dispositivo existe um barramento mais adequado que
é escolhido considerando-se fatores como a taxa necessária para a transmissão das informações (Mbytes/s); se o barramento será compartilhado por mais de um dispositivo ou não; se há
necessidade do uso de linhas de interrupção; etc.
Organização de Computadores
Antônio Borges / Gabriel P. Silva
Assim como o barramento do sistema, os barramentos de E/S são compostos por barramentos de endereço, de dados e de controle. A largura em bits de cada um deles varia de acordo
como padrão utilizado. Variam também com relação a uma série de outros parâmetros, que
são utilizadas para a classificação dos barramentos, que são apresentados a seguir:
Os barramentos síncronos são aqueles que possuem um sinal de relógio em suas linhas de
controle que determina que os dados sejam transmitidos em intervalos de tempo definidos. Os
barramentos assíncronos não possuem sinal de relógio. Os dados são transmitidos mediante
um protocolo implementado por sinais de controle e podem levar tempos diferentes para serem transmitidos.
Hoje em dia a tendência é a utilização dos barramentos síncronos, porque apresentam um
melhor desempenho (taxa de transferência) que os barramentos assíncronos.
Figura 23 - Barramento AssíncronoFigura 24 - Barramento Síncrono
Quando o barramento é compartilhado por diversos periféricos, é preciso organizar o acesso ao
barramento, ou seja, que dispositivo vai poder fazer uso naquel momento do barramento. Isto é
feito com a implementação de árbitros, que podem ser centralizados ou distribuídos.
Os barramentos com árbitros centralizados, como o nome já indica, possuem um único árbitro
que recebe todos os pedidos, que são feitos através de linhas especiais do barramento. Segundo
critérios diversos, tais como a prioridade de cada dispositivo, tempo do último acesso, etc., o uso
do barramento será concedido a um ou outro dispositivo.
Os barramentos com árbitros descentralizados realizam as mesmas funções, mas o controle de
arbitragem está distribuído pelos diversos dispositivos que estão conectados ao barramento.
Os barramentos de endereços e dados podem ainda utilizar linhas distintas ou compartilhadas em
um mesmo barramento. Quando as mesmas linhas do barramento são utilizadas, ora para a
transmissão de dados, ora para a transmissão de endereços, diz-se que o barramento é multiplexado. Em caso contrário, ou seja, quando existem linhas separadas para os sinais de endereço e
de dados, diz-se que o barramento é não-multiplexado.
Organização de Computadores
Antônio Borges / Gabriel P. Silva
O uso de barramento não multiplexados exige um número maior de linhas, ou seja, fios para a
transmissão dos sinais, que muitas vezes não está disponível. Se o barramento pode operar com
modos de transferência em bloco (rajada), onde a partir de um endereço inicial vários dados são
transferidos, é comum encontramos o uso do barramento multiplexado.
A taxa de transmissão de um barramento de E/S é diretamente proporcional à largura em bytes
do seu barramento de dados e à velocidade com uma transferência é realizada através do barramento. No caso dos barramentos síncronos é usual encontramos que a taxa de transmissão seja
obtida com a multiplicação da freqüência do relógio pela largura em bytes do seu barramento de
dados. Quanto maior for a taxa de transmissão, maior será o desempenho de um barramento
Os vários fatores que influenciam o desempenho do barramento são:
Largura do barramento de dados: 8, 16, 32 ou 64 bits;
Multiplexação ou não das linhas de dados e endereço;
Uso ou não de transferências em bloco (em rajada);
Freqüência do relógio;
Comprimento máximo do barramento;
Vários são os padrões possíveis para os barramentos de E/S, a seguir relacionamos alguns padrões de barramentos bastante difundidos:
ISA: Industry Standard ArchitecturePCI: Peripheral Component InterconnectIDE: Integrated
Drive Electronics SCSI: Small Computer System InterfaceAGP: Accelerated Graphics Port
8.3.1.
Padrão ISA
O padrão ISA foi o primeiro padrão de barramento de E/S utilizado nos computadores do tipo
IBM/PC, lançado em 1981. É um barramento síncrono, com freqüência de 4.77 ou 8 MHz, não
multiplexado, com uma largura de dados de 8 bits em sua versão inicial, que depois foi expandida
para 16 bits, quando do lançamento do IBM PC/AT em 1984. Permitia o uso de interrupção para
os periféricos se comunicarem com o processador, além de suportar transferências com o uso de
DMA. O conector ISA na realidade é um conjunto de dois conectores um 62 pinos e o outro com
36 pinos.
Figura 25 – Conector do barramento ISA
8.3.2.
Padrão PCI
O padrão PCI foi introduzido nas versões mais recentes dos computadores compatíveis com o
IBM/PC, sendo também utilizado em computadores de outras marcas, como os do tipo Mac e Sun.
O barramento PCI é um barramento síncrono, com freqüências de relógio de 33 e 66 Mhz, com
barramento multiplexado para dados e endereços. Existem versões com 32 ou 64 bits de largura
de dados. Como todo o barramento moderno, o PCI tem suporte para interrupção e permite que
múltiplos dipositivos possam fazer uso do barramento para iniciar transferências de dados, além
do processador.
Organização de Computadores
Antônio Borges / Gabriel P. Silva
O PCI trata todas as transferências como transferências em bloco. Cada ciclo começa com uma
fase de endereço seguida por uma ou mais fases de dados. As fases de dados podem se repetir
indefinidamente, mas são limitadas por um temporizador que define o máximo perído de tempo
que um dispositivo pode controlar o barramento.
Largura
Multiplexado
Arbitragem
Síncrono
Freqüencia do Relógio
Taxa de Transferência
Comprimento Máximo
32 ou 64 bits
SIM
Centralizada
SIM
33 a 66 Mhz
132 a 528 MBytes/s
0,5 m
Figura 25 – Características do PCI
Figura 26 – Barramento PCI
8.3.3.
Padrão SCSI
O padrão SCSI (Small Computer System Interface) foi criado com a finalidade de oferecer um padrão de alto desempenho para transferência de dados para periféricos nos microcomputadores.
Uma de suas características é permitir a ligação de dispositivos de vários tipos (fitas, discos, etc.)
simultaneamente ao barramento. A maior distância de ligação dos periféricos ao computador é de
alguns metros, o que permite a colocação dos dispositivos fora do gabinete do computador. O
barramento SCSI oferece ainda dois modos de conexão: síncrono e assíncrono, sendo o modo
síncrono é utilizado para a transferência em bloco de dados e o assíncrono para comandos e
pequeno volume de dados.
Este padrão vem evoluindo bastante desde a sua criação de modo a oferecer taxas de transferências cada vez maiores, mantendo-o à frente em termos de desempenho dos padrões de barramento concorrentes, entre eles o IDE. O barramento Ultra 320 SCSI, finalizado em 2001, veio
para manter o SCSI à frente do barramento IDE em termos de velocidade, já que o ATA 133, com
uma largura de banda de 133 MB/s já havia chegado muito perto do padrão anterior. O Ultra 320
SCSI é destinado apenas a servidores, pois as placas utilizam obrigatoriamente slots PCI de 64
bits e 66 MHz (que transmitem a 533 MB/s), que não são encontrados em placas destinadas a
Organização de Computadores
Antônio Borges / Gabriel P. Silva
PCs domésticos. Os requisitos de cabeamento são os mesmos do Ultra 160 SCSI, o que permite
a substituição direta de uma placa pela outra.
Tipos SCSI
SCSI 2
Ultra SCSI
Ultra 2 SCSI
8-bit (Fast)
8-bit (Ultra) 16-bit
16-bit (Fast/Wide) 16-bit (Ultra
Wide)
10 MB/s
20 MB/s
80 MB/s
Taxa de
40 MB/s
Transferência 20 MB/s
Barramento
Dispositivos
Suportados
7
7
15
Ultra 160 Ultra 320
SCSI
SCSI
16-bit
16-bit
160 MB/s 320 MB/s
15
15
Tabela 4 – Evolução do SCSI
Característica
Largura
Multiplexado
Arbitragem
Relógio
Banda Passante
Comprimento
SCSI
8 a 32 bits
SIM
Distribuída
Assíncrono/Síncrono
(5 - 160 Mhz)
5 a 320 MB/s (sincr.)
25 metros
Tabela 5 – Caracterísiticas do SCI
8.3.4.
Barramento IDE/ATA
O barramento IDE surgiu especificamente para possibilitar a ligação de discos rígidos dentro dos
gabinetes dos computadores com os respectivos processadores. Possui diversos modos de transferência de dados.
No modo PIO as transferências de dados são realizadas pelo processador. O modo PIO determina a velocidade de transferência de dados de/para o disco:
O modo mais lento é o modo 0, onde o ciclo de dados não pode exceder 600 ns. Considerando que 2 bytes são transferidos em um ciclo, a taxa máxima de transferência no
modo PIO 0 é de 3,3 MB/s.
No barramento IDE/ATA, no modo 1 o ciclo máximo é de 383 ns; no modo 2, de 240
ns.
No barramento ATA-2, no modo 3 o ciclo máximo é de 180 ns; no modo 4 é de 120 ns.
O modo DMA (Acesso Direto à Memória) significa que os dados são transferidos diretamente entre o disco e a memória sem o uso do processador, ao contrário do modo PIO. Alguns discos per-
Organização de Computadores
Antônio Borges / Gabriel P. Silva
mitem o modo de transferência em bloco, onde vários setores são transferidos do disco para a
memória sem necessidade de interrupção do processador. Isto diminui a sobrecarga do processador, já que cada interrupção força uma troca de contexto, verificação do dispositivo e preparação
de uma nova transferência de dados. O modo de DMA “single word” é de pouca utilidade e está
obsoleto no ATA-3.
Single word DMA 0
PIO mode 0
Single word DMA 1
Multi word DMA 0
PIO mode 1
PIO mode 2
Single word DMA 2
PIO mode 3
Multi word DMA 1
PIO mode 4
Multi word DMA 2
Ultra DMA 3 (ATA 33)
Ultra DMA 4 (ATA 66)
Ultra DMA 5 (ATA100)
2.1 MB/s
3.3 MB/s
4.2 MByte/s
5.2 MByte/s
8.3 MByte/s
11.1 MByte/s
13.3 MByte/s
16.6 MByte/s
33.3 MByte/s
66.6 Mbytes/s
100 Mbytes/s
Tabela 6 - Características IDE/ATA
8.3.5.
Barramento AGP
O barramento de padrão AGP foi desenvolvido exclusivamente para interface com o vídeo, já que
a taxa de transferência oferecida pelo padrão PCI, que era utilizado anteriormente, não era suficientemente rápido para o processador acessar as informações contidas na memória das modernas
interfaces de vídeo.
O barramento AGP é um padrão que permite que placas de vídeo tenham acesso diretamente à
memória principal do computador, onde informações de vídeo estão armazenadas. A taxa de
transferência obtida entre a placa de interface vídeo e a memória principal do computador dependerá do modo de operação do barramento AGP, que depende tanto do tipo da ponte de barramento
utilizada
como
também
da
placa
de
interface
de
vídeo.
Interface
PCI
Relógio
33 Mhz
Largura de Banda
132 MB/s
Comparação
1.0
AGP, 1x
AGP, 2x
AGP, 4x
AGP, 8x
66 MHz
66 MHz
66 MHz
66 Mhz
264 MB/s
528 MB/s
1056 MB/s
2133 MB/s
2.0
4.0
8.0
16.0
Tabela 7 - Padrão AGP
Apesar da velocidade do barramento AGP 8x ser muito menor que a velocidade da memória
de vídeo das placas mais atuais, esta nova versão do AGP significa um grande ganho de desempenho para as interfaces de vídeo montadas na placa mãe, que utilizam memória principal compartilhada como memória de vídeo.
Organização de Computadores
Antônio Borges / Gabriel P. Silva
Figura 26 - Transferência via AGP
Para o uso do padrão AGP 8X ou 4X possa ser eficaz, é necessário que a memória principal do
processador utilize memórias do tipo DDR ou RAMBUS, que possuem velocidade adequada para
permitir que as altas taxas de transferências destes barramentos. Em caso contrário, as mesmas
poderão se tornar gargalos e limitar em valores menores as taxas de transferência de dados.
8.4. Disco Rígido
Nesta seção procuraremos explicar como os dados são organizados nos discos rígidos e falar um
pouco sobre a sua organização interna, em termos de cabeça, cilindros e superfícies. A figura
abaixo apresenta um esquemático desta organização:
Organização de Computadores
Antônio Borges / Gabriel P. Silva
Figura 27 - Disco Rígido
Organização de Computadores
Antônio Borges / Gabriel P. Silva
Ou seja, um disco rígido é um conjunto de discos com superfícies recobertas com material magnético, onde são armazenados os dados no formato binário. Pequenas partículas de material magnético são orientadas em uma ou outra polaridade, correspondendo ao zero e um lógicos. Cada
disco tem duas superfícies, e em cada uma destas superfícies existem trilhas concêntricas, igualmente espaçadas, correspondendo ao raio mais externo até o raio mais interno do disco. Estas
trilhas, por sua vez, estão divididas em setores, e cada setor pode armazenar um determinado
número de bytes.
Os discos, devido a sua geometria circular, possuem mais setores nas trilhas exteriores, já que
essas possuem um comprimento maior do que as trilhas mais internas. Mas o programador, convenientemente, enxerga uma geometria "cúbica" do disco. É feita uma tradução da geometria
interna de CHS (cilindros, cabeças e setores), para um padrão em que cada trilha possui 63 setores, e cada setor tem 512 bytes.
Os discos mais novos têm uma interface muito mais simples. Em vez de reportar-se aos setores
por seu endereço CHS (cilindros, cabeças e setores) usam a modalidade LBA (Logical Block Addressing). Na modalidade LBA, um programa tem que especificar somente o número do setor em
relação ao começo do disco (todos os setores no disco são numerados seqüencialmente: 0, 1, 2,
3...).
O sistema operacional precisa guardar os arquivos de uma forma organizada. Normalmente os
discos são divididos em partições, que podem conter diferentes sistemas de arquivos e diferentes
sistemas operacionais. O primeiro setor de um disco no padrão do IBM/PC é chamado de MBR
(Master Boot Record) e contém a tabela de partição. Esta tabela tem quatro registros, cada um
podendo descrever uma partição. A figura abaixo ilustra um MBR:
Figura 28 - Master Boot Record
No exemplo abaixo o “boot sector” começa apenas na trilha de número 1. São deixados 62 setores sem uso na trilha 0 para forçar o início de uma partição coincidir com o início de uma trilha. O
tipo da partição indica qual sistema de arquivos que está contido na mesma.
Organização de Computadores
Antônio Borges / Gabriel P. Silva
Figura 29 - Disco particionado com FAT
O diretório raiz mantém os ponteiros para os diretórios, arquivos e outros diretórios que possam
estar contidos no disco. Os “clusters” são a unidade mínima de alocação e podem conter vários
setores. O tamanho do “cluster” varia de acordo como tamanho do disco e do sistema operacional.
A FAT contém a tabela de alocação dos “clusters” do disco, indicando quais os que estão livres,
ocupados ou danificados.
Organização de Computadores
Antônio Borges / Gabriel P. Silva
Figura 30 - Disco com duas partições FAT
Organização de Computadores
Antônio Borges / Gabriel P. Silva
Figura 31 - Disco com partições FAT e Linux
Download

Entrada e Saída