Logo Passei Direto
Buscar

Cap. 06 Arquitetura e Organização de Computadores - William Stallings

User badge image

Enviado por Frederico Xavier em

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

William Stallings 
Arquitetura e Organização
de Computadores
Capítulo 6
Entrada/Saída
Problemas de Entrada/Saída
�Variedade larga de periféricos
�Entregando diferentes quantias de dados
�Em diferentes velocidades
�Em diferentes formatos
�Todos mais lento do que CPU e RAM
�Precisa de módulos de E/S
Módulo de Entrada/Saída
�Interface para CPU e Memória
�Interface para um ou mais periféricos
�MODELO GENÉRICO DE E/S DIAGRAM 6.1
Dispositivos Externos
�Legível ao humano
�Tela, impressora, teclado
�Legível a máquina
�Monitoramento e controle
�Discos e fitas magneticas
�Comunicação
�Modem
�Network Interface Card (NIC) - Rede
Função do Módulo E/S
�Controle & Sincromização
�Comunicação da CPU
�Comunicação de dispositivos
�Proteção de dados
�Detecção de erro
Passos de E/S
�CPU checa o estado dos módulos dos 
dispositivos de E/S
�Módulo de E/S devolve o estado
�Se pronto, CPU pede a transferência de dados
�Módulo de E/S obtém dados de dispositivo
�Módulo de E/S transfere dados para a CPU
�Variaçõess para saída, DMA, etc...
Diagrama do Módulo de E/S
Registro de Dado
Registro de Estado/Controle
Interface
Lógica 
do Dispositivo
Externo
Interface
Lógica 
do Dispositivo
Externo
Entrada
e Saída
Lógica
Linhas de
Dados
Linhas de
Endereço
Linhas de
Dados
Dado
Estado
Controle
Dado
Estado
Controle
Interface do Sistema BUS Interface do Dispositivo Externo
Decisões do Módulo de E/S
�Esconde ou revela propiedades de dispositivos 
para a CPU
�Suporta dispositivos múltiplos ou único
�Controla a função de dispositivos ou deixa para 
a CPU
�Também O/S decisões
�Por exemplo. Unix trata tudo que pode como um 
arquivo
Técnicas de Entrada e Saída
�Programado
�Interrupção
�Acesso de Memória Direto (DMA)
E/S Programado
�CPU tem controle direto sobre E/S
�“Sensing status”
�Comandos de Leitura/Escrita
�Transferindo dados
�CPU espera o módulo de E/S completar 
operação
�Desperdiça tempo da CPU
E/S Programado - detalhes
�CPU pede operação de E/S
�Módulo de E/S executa a operação
�Módulo de E/S determina bits de estado
�CPU checa bits de estado periodicamente
�Módulo de E/S não informa a CPU diretamente
�Módulo de E/S não interrompe a CPU
�CPU pode esperar ou começar depois
Comandos de E/S
�CPU emite endereço
�Identifica módulo (& dispositivo if >1 por módulo)
�CPU emite comando
�Controle – diz ao módulo o que fazer
⌧Por exemplo. Girar o disco
�Teste - checa o estado
⌧Por exemplo. Poder? Erro?
�Leitura/Escrita
⌧Módulo transfere dados via buffer do/para o dispositivo
Dispositivos de Endereçamento 
de E/S
� Na E/S programada a transferência de dado é como o 
acesso a memória (ponto de vista da CPU)
� Cada dispositivo tem identificador único
� Comandos da CPU contêm identificador (endereço)
Mapeamento de E/S
� Memória mapeou E/S
�Dispositivos e memória dividem um espaço de endereço
�E/S simplesmente se parece a leitura/escrita da memória
�Sem comandos especiais para E/S
⌧Grande seleção de comandos de acesso de memória disponível
� E/S isolado
�Espaços de endereço separados
�Precisa E/S ou Linhas de memória selecionadas
�Comandos especiais de E/S
⌧Conjunto limitado
Interrupt Driven I/O
�Supera espera da CPU
�Nenhum repetimento de checagem de 
dispositivos da CPU
�Módulo de E/S interrompe quando pronto
Interrupt Driven I/O
Operação Básica
�CPU emite comando de leitura
�Módulo de E/S pega dados de periféricos ainda 
que a CPU faz outro trabalho
�Módulo de E/S interrompe a CPU
�CPU pede dados
�Módulo de E/S transfere dados
Ponto de vista da CPU
�Emite comando de leitura
�Faz outro trabalho
�Checa por interrompimento no fim de cada 
ciclo de instrução
�Se interrompido:-
�Salva contexto (registros)
�Interrompimento do processo
⌧Busca dados e aloca
�Vê notas do SO
Assuntos de design
�Como você indentifica o módulo que emite a 
interrupção?
�Como você lida com interrupções múltiplas?
�Manipulador de interrupção que está suspenso
Identificando Módulo 
Interrompidos (1)
�Diferentes linhas para cada módulo
�PC
�Números limite de dispositivos
�Software poll
�CPU pergunta a cada módulo por vez
�Devagar
Identificando Módulo 
Interrompidos (2)
�Daisy Chain ou Hardware poll
�Interrompe reconhecimento enviado a uma cadeia
�Módulo responsável coloca vetor no bus
�CPU usa vetor para identificar rotina do manipulador
�Bus Master
�Módulo deve reinvidicar o bus antes que este 
interrompa
�Por exemplo. PCI & SCSI
Interrupções Múltiplas
�Cada linha de interrupção tem uma prioridade
�Linhas com prioridade alta pode interromper 
linhas com prioridade baixa
�Se o bus estiver dominando somente o mestre 
atual pode interromper
Exemplo - PC Bus
�80x86 tem uma linha de interrupção
�Sistemas baseados no 8086 usa um controlador 
de interrupção 8259A 
�8259A tem 8 linhas de interrupção
Sequência de Eventos
�8259A aceita interrupção
�8259A determina prioridade
�8259A sinaliza 8086 (aumenta linha INTR)
�CPU reconhece
�8259A coloca o vetor correto no data bus
�CPU processa a interrupção
Esquema de Interrupção do PC
8086
INTR
8259A
IRQ0
IRQ1
IRQ2
IRQ3
IRQ4
IRQ5
IRQ6
IRQ7
Sistema de Interrupção ISA Bus
�ISA bus encadeia dois 8259As juntos
�Ligação é por via interrupção 2
�Dá 15 linhas
�16 linhas menos um por ligação
�IRQ 9 é usado para re-dirigir qualquer coisa 
tentando usar o IRQ 2
�Compatibilidade atrasada
�Incorporado em um conjunto de chip
Esquema de ISA Interrompido
80x86
INTR
8259A
IRQ0
IRQ1
IRQ2
IRQ3
IRQ4
IRQ5
IRQ6
IRQ7
8259A
IRQ0 (8)
IRQ1 (9)
IRQ2 (10)
IRQ3 (11)
IRQ4 (12)
IRQ5 (13)
IRQ6 (14)
IRQ7 (15)
(IRQ 2)
Leitura Adicional
� http://www.pcguide.com/ref/mbsys/res/irq/func.htm
�Na realidade visite http://www.pcguide.com/
Acesso Direto à Memória 
�Interrupção diridifa e E/S programada requerem 
a intervenção da CPU ativa
�Taxa de transaferência é limitada
�CPU é amarrada
�DMA é a resposta
Função do DMA
�Módulo Adicional (hardware) no bus
�Controlador do DMA assume o controle da CPU 
for I/O
Operação do DMA
�CPU diz ao controlador de DMA:-
�Leitura/Escrita
�Endereço de Dispositivo
�Endereço começando de bloco de memória para dados
�Quantia de dados a ser transferido
�CPU continua com outro trabalho
�Controlador de DMA lida com transferência
�Controlador de DMA envia interrupção quando 
terminado
DMA Transfer
Roubo de ciclo
�Controlador de DMA assume o bus durante um ciclo
�Transferência de uma palavra de dados
�Não uma interrupção
�CPU não troca contexto
�CPU suspendeu logo antes que acesse o bus
�Por exemplo i.e. antes de um operando ou dados fazer 
busca ou um dados escrever
�Reduz a velocidade a CPU mas não tanto quanto a 
CPU transferindo
A parte
�Que efeito tem a memória de caching no DMA?
�Sugestão: quantos são os bus de sistemas 
disponíveis?
Configurações do DMA (1)
�Único Bus, controlador de DMA destacado
�Cada transferência usa o bus duas vezes
�E/S para DMA depois DMA para memória
�CPU é suspensa duas vezes
CPU ControladorDMA
Dispositivo
de E/S
MP
Dispositivo
de E/S
Configurações do DMA (2)
�Único Bus, Controlador de DMA integrado
�Controlador deve suportar >1 dispositivo
�Cada transferência usa o bus uma vez
�DMA para memória 
�CPU é suspensa uma vez
CPU MPControlador
DMA
Controlador
DMA
Dispositivo
de E/S
Dispositivo
de E/S
Dispositivo
de E/S
Configurações do DMA (3)
�Bus de E/S separado
�Bus suporta todos os dispositivos de DMA habilitados
�Cada transferência usa o bus uma vez
�DMA para memória
�CPU é suspenso uma vez
CPU Controlador
Do DMA MP
Dispositivo
de E/S
Dispositivo
de E/S
Dispositivo
de E/S
Dispositivo
de E/S
Canais de E/S
�Dispositivos de E/S ficando mais sofisticados
�Por exemplo interfaces gráficas 3D
�CPU instrui controlador de E/S para fazer a 
transferência
�Controlador de E/S faz a transferência inteira
�Melhora a velocidade
�Os dados são carregados fora da CPU
�Processador dedicado é mais rápido
Interfacing
�Conecta dispositivos juntos
�Processador/memória/bus dedicados?
�Por exemplo. SCSI, FireWire
Interface de Sistemas de 
Computadores Pequenos (SCSI)
�Interface paralela
�8, 16, 32 bit linhas de dados
�Daisy chained
�Dispositivos são independentes
�Dispositivos podem se comunicar um com o 
outro assim como host
SCSI - 1
�Começo da década de 80
�8 bit
�5MHz
�Taxa de dado 5MBytes.s-1
�Sete dispositivos
�Oito incluindo a interfaze host
SCSI - 2
�1991
�16 e 32 bit
�10MHz
�Taxa de dado 20 ou 40 Mbytes.s-1
�(Checar Ultra/Wide SCSI)
Sinalizador SCSI (1)
�Entre o inicializador e o objetivo
�Normalmente host & dispositivo
�Bus livre? (c.f. Ethernet)
�Arbitragem – toma controle do (c.f. PCI)
�Objetivo selecionado
�Reselecionar
�Permite reconectar depois de suspenso
�por exemplo. se o pedido levar tempo para executar, 
o bus pode ser liberado
Sinalizador SCSI (2)
�Comando – pedido de objetivo do inicializador
�Pedido de dado
�Pedido de estado
�Pedido de mensagem (ambos caminhos)
Fases Bus SCSI
Arbitration
Bus 
free (Re)Selection
Command,
Data, 
Status,
Message
Reset
SCSI Timing Diagram
Configurando SCSI
�Bus deve ser terminado a cada final
�Normalmente um final é o adaptador de host
�Plug na terminação ou na troca(s)
�Identidade do SCSI deve ser estabelecido
�Jumps ou trocas
�Único no encadeamento
�0 (zero) para o dispositivo de boot
�Números mais altos é uma prioridade maior na 
arbritagem
IEEE 1394 FireWire
�Perfomance alta no bus em série
�Rápido
�Custo baixo
�Fácil para implementar
�Também sendo usado em camêras digitais, 
video-cassetes e TV
Configuração de FireWire
�Daisy chain
�Acima de 63 dispositivos em uma única porta
�Realmente 64 das quais são suas própias interfaces
�Acima de 1022 bus podem ser conectados comh 
pontes
�Configuração automática
�Sem bus terminators
�Pode ser uma estrutura de árvore
FireWire 3 Camadas de Pilha
�Físico
�Médio de transmissão, elétrico e características 
sinalizantes 
�Ligação
�Transmissão de dados em pacotes
�Transação
�Protocolo de pedido-resposta
FireWire – Camada Física
�Taxa de dados de 25 a 400Mbps
�Duas formas de arbritagem
�Baseado em estrutura de árvore
�Raíz agem como arbitros
�Primeiro vem o primeiro servido
�Natural priority controls simultaneous requests
⌧Por exemplo. O que está mais próximo da raíz
�Arbritagem justa
�Arbitragem urgente
FireWire – Camada de Ligação
�Dois tipos de transmissão
�Assíncrona
⌧Quantia variável de dados e vários bytes de dados de 
transação transferido como um pacote
⌧Para para endereços explícitos
⌧Conhecimento retornado
�Síncrona
⌧Quantia variável de dados em seqüência de pacotes de 
tamanho fixos em intervalos
⌧Endereçamento simplificado
⌧Nenhum reconhecimento
Leitura recomendada
�Checar Universal Serial Bus (USB)
�Comparar com outras estruturas de 
comunicação por exemplo. Ethernet

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Mais conteúdos dessa disciplina

Mais conteúdos dessa disciplina