Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Organização e Arquitetura de Computadores (Unidade 06: Dispositivos Periféricos)

Prof. Dr. Eng. Rafael Luiz Cancian - Organização e Arquitetura de Computadores (Unidade 06: Dispositivos Periféricos) - Universidade Federal de Santa Catarina
by

Rafael Luiz Cancian

on 3 July 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Organização e Arquitetura de Computadores (Unidade 06: Dispositivos Periféricos)

Universidade Federal de Santa Catarina
Organização e Arquitetura de Computadores
Professor Dr. Eng. Rafael Luiz Cancian
6. Dispositivos Periféricos
6.1 - Introdução
6.2 - Medidas de
desempenho
6.3 - Tipos e características
dos dispositivos periféricos
email, msn: cancian@lisha.ufsc.br
web: www.inf.ufsc.br/~cancian
2012.2
v0.20
6.4 - Barramentos e padrões
6.5 - Interface dos dispositivos com memória,
processador e sistema operacional
Introdução
Sistemas de E/S
diferem do processador e memória em muitos aspectos, e precisam considerar
expansibilidade
, recuperação em caso de falhas, além do desempenho.
Todos os componentes do sistema, desde os dispositivos de E/S, passando pelo processador, software básico e hierarquia de memória, têm influência do desempenho das tarefas necessárias à realização da E/S.
Os fabricantes de computador apresentam suas medidas de desempenho com base no processador, e mesmo os cursos de graduação não tratam adequadamente os dispositivos de E/S; Contudo, como eles costumam ser muito mais lentos que o processador,
são eles os principais responsáveis pelo desempenho geral do computador
(conforme Lei de Amdhal).
Além disso, à medida que cresce a importância das
redes de comunicação
e da
infra-estrutura de informações
, questões relativas à E/S vão desempenhar papel cada vez mais importante.
Como a tecnologia de processadores tende a crescer mais rapidamente que as tecnologias associadas aos dispositivos de E/S, cada vez mais eles serão o gargalo da computação e responsáveis por uma porcentagem maior do tempo de resposta.
A maneira de medir o desempenho do sistema de E/S depende da aplicação. Em alguns casos a maior preocupação é com o
throughtput
, cujo principal fator é a
banda passante
. Em outras, o
tempo de resposta
é mais importante, e em outras, ambos.
Quantidade de dados movidos através do sistema por unidade de tempo ou operações de E/S realizadas por unidade de tempo.
Mas como podemos comparar diferentes sistemas de E/S? Um projeto pode ter que decidir entre privilegiar o tempo de resposta ou o throughtput, já que ambos podem ser concorrentes.
Vale lembrar que sistemas de E/S incluem os dispositivos de E/S, sua interconexão com o sistema de memória e com o processador, alés dos mecanismos de software básico para seu acesso.
Medidas de
Desempenho

A escolha de um sistema de arquivo deve considerar muitos fatores, dentre os quais está o desempenho. Em geral, os
benchmarks
para os sistemas de E/S estão muito atrasados em relação àqueles para o processador.
Cabe ressaltar que as taxas de transferência em dispositivos de E/S são expressas na base 10, e não na base 2. Assim, uma taxa de transferência de 1MB=1.000.000 bytes, e não 1.048.576 bytes, como seria de esperar na base 2.
Supercomputadores tendem a acessar arquivos imensos armazenados em HD, e normalmente realizam mais escritas do que leituras. Assim, a métrica de E/S de um supercomputador é o
throughtput de dados
.
Quantidade de bytes por segundo que pode ser transferido entre memória principal e os discos.
Aplicações para
processamento de transações
acessam muito uma pequena quantidade de dados, e sua métrica é a
taxa de E/S
, medida como o
número de acessos ao disco por segundo
, em oposição à
taxa de dados
, medida em bytes de dados por segundos.
Sistemas de arquivos costumam utilizar benchmarks sintéticos que avaliam diferentes características desses sistemas de E/S. Em geral, há muito mais acessos para arquivos bem pequenos, para leituras e para dados sequenciais.
Assim, o projeto de um sistema de arquivos envolve o conhecimento do workload ao qual o sistema estará submetido, e é particularmente desafiador nos sistemas computacionais embarcados.
Tipos e Características
dos Dispositivos Periféricos

Três características são muito úteis para classificar a grande diversidade de tipos de dispositivos periféricos:
comportamento
,
parceiro
, e
taxa de dados.
Sugestão de leitura:
http://dainf.ct.utfpr.edu.br/~maziero/lib/exe/fetch.php/so:so-cap07.pdf
Características de dispositivos como Mouse, Disco magnético, Monitor de vídeo, Câmera de vídeo, Impressoras, Leitor de impressão digital, etc podem ser encontradas em vários documentos técnicos. Vamos focar unicamente nas Redes.
As redes con
s
tituem atualmente o principal meio de comunicação entre computadores. As características básicas de redes incluem as seguintes:
Topologia
,
Codificação dos dados
,
Meio físico de transmissão
,
Protocolos de comunicação
,
Extensão geográfica
, e
Arquitetura de rede.
Topologia: anel, barramento, estrela, malha, ponto-a-ponto, etc
Codificação: banda-base, manchester, manchester diferencial, etc
Meio físico: cabo (coaxial, fibra ótica, par trançado),
sem fio (infravermelho, microondas, rádio)
Protocolos: TCP/IP, OSI, Bluetooth, etc
Extensão: PAN, LAN, MAN, RAN, WAN, etc
Arquitetura: Arcnet, Ethernet, FDDI, ISDN, ATM, Frame Relay, DSL, etc
A interconexão de computadores por redes baseia-se no uso de padrões de software chamados de
famílias de protocolos
, que permitem comunicação confiável e formam uma hierarquia de camadas.
Assim, podemos estimar a latência entre o envio e a recepção de uma mensagem como sendo a soma das latências entre cada um dos níveis hieraŕquicos mais o tempo de transmissão da mensagem propriamente dito.
Exemplo: Considere as informações abaixo sobre duas estações de trabalho conectadas a dois tipos de redes, usando TCP/IP para comunicação. Encontre a latência entre emissor e receptor, para uma mensagem de 250 bytes enviada em cada uma das redes.
Característica Ethernet ATM
Banda passante do nó à rede 1,125 Mb/s 10 Mb/s
Latência da interconexão 15 us 50 us
Latência hardware --> rede 6 us 6 us
Overhead software enviando p/ rede 200 us 207 us
Overhead software recebendo da rede 241 us 360 us
Resp: podemos estimar a latência total como a soma das latências mais o tempo de transmissão.
Interface dos dispositivos
com memória, processador e
sistema operacional

Dispositivos não realizam comunicação por si. O sistema operacional é o principal responsável pelo tratamento de entrada/saída, agindo como uma interface entre entre o hardware e o programa que requisitou uma
requisição de E/S
.
O sistema operacional (SO) deve garantir que um programa de usuário tenha acesso apenas aos dispositivos cujo acesso seja garantido por seus
direitos de acesso
, deve
fornecer abstrações
para acesso aos dispositivos, tratar interrupções geradas pelo dispositivos, e promover uma
política de acesso
a dispositivos compartilhados.
O sistema operacional deve estar apto a se comunicar com os dispostivos e, ao mesmo tempo, impedir que programas de usuário o façam diretamente. Os
modos de operação do processador
e as
instruções privilegiadas
auxiliam nesse processo.
Para garantir o tratamento adequado às requisições de E/S, a parte do SO que trata de E/S é dividida em três camadas: (1)
E/S independente de dispositivo,
que trata de proteção, política de alocação, compartilhamento e outros; (2)
Driver de dispositivo
, que envia comandos diretamente ao dispositivo (via transações no barramento); e (3)
Tratador de interrupção
, que recebe o sinal do dispositivo e invoca o driver adequado.
O acesso do SO a um dispositivo se faz enviando uma operação de leitura ou escrita de um registrador do dispositivo, que possui um endereço específico. Existem dois métodos para endereçar dispositivos:
E/S mapeada na memória
e
comandos especiais de E/S
.
Na E/S mapeada em memória, ao ler ou escrever em determinados endereços da memória principal, na realidade estamos lendo de dispositivos. Na outra opção, usamos instruções de máquina específicas para acessar dispositivos.
class MIPS_UART: protected UART_Common {
private:
static const unsigned int UART_DATA_ADDRESS = Traits<PLASMA_UART>::DATA_ADDRESS;
static const unsigned int UART_STATUS_ADDRESS = Traits<PLASMA_UART>::STATUS_ADDRESS;

public:
enum IRQ_UART {
UART_WRITE_BUSY = 0x02,
UART_DATA_AVALIABLE = 0x01 };

char get() {
while (*(volatile unsigned int*)UART_STATUS_ADDRESS & UART_DATA_AVALIABLE == 0);
unsigned char c = *(volatile unsigned char*)UART_DATA_ADDRESS;
return c;
}

void put(char c) {
while (*(volatile unsigned int*)UART_STATUS_ADDRESS & UART_WRITE_BUSY == 1);
*(volatile unsigned char*)UART_DATA_ADDRESS = (unsigned char)(c);
}

No código apresentado, há necessidade de verificar constantemente o bit de estado para saber se um dispositivo está livre ou ocupado e assim iniciar uma nova operação de E/S. Esse processo recebe o nome de
polling
. Nesse caso, o processador fica ocupado fazendo essa verificação, o que gasta uma grande quantidade de tempo.
Exemplo: Suponha que a quantide de iclos para uma operação de polling seja 400, e que o processador possui clock de 500 MHz. Determine a fração de tempo do processador consumido com o polling nos três casos seguintes:
(1) mouse amostrado 30 vezes por segundos;
(2) interface serial transfere dados para o processador em blocos de 16 bits a 50 KB/s; e
(3) disco rígido transfere blocos de 4 palavras a 4 MB/s.
Suponha que os dispositivos estão sempre ocupados.
Esse overhead levou à invenção do mecanismo de
interrupção
, no qual o dispositivo notifica o processador que precisa de sua atenção. Deste modo, o processador fica liberado para executar programas, ao invés de ficar preso verificando o estado de dispositivos de E/S.
O mecanismo de interrupções possui várias questões importantes, como o fato de ser assíncrona com respeito à execução de instruções, a necessidade de descobrir a identidade do dispositivo que gerou a interrupção e de localizar a rotina de tratamento de interrupção para esse tipo de dispositivo.
Exemplo: Suponha que um disco rígido transfere blocos de 4 palavras a 4MB/s a um processador com clock de 500MHz, mas funcionando com interrupções. Determine a fração do temppo do processador gasta com o disco rígido, supondo que ele transfere dados por 5% do tempo.
Full transcript