Buscar

NP1 5 Arquitetura de Computadores UNIP

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Arquitetura de Computadores 
 
 
5: Sistema de entrada e saída (E/S). Módulos de E/S; tipos de 
operações de E/S 
 
 
Objetivo: Conhecer os dispositivos de armazenamento por meio do conceito e dos 
tipos de memórias utilizadas no computador. 
 
1. Barramentos 
 
Em sistemas como computadores pessoais e estações de trabalho as interfaces 
de E/S estão ligadas ao processador através de barramentos. Os barramentos são 
meios de comunicação responsáveis pelo reconhecimento e endereçamento, de 
forma a existir interligação entre o processador e os demais componentes. É um 
meio de comunicação compartilhado composto por vários caminhos (ou linhas de 
comunicação). 
Um sistema de computação contém diversos barramentos que fornecem caminhos 
de comunicação entre seus componentes. Os barramentos podem ser divididos do 
seguinte modo: 
 
 
Figura 1: Barramento de sistema: liga o CPU com a memória principal; Barramento de I/O: liga a CPU 
aos outros componentes. Fonte: http://alumni.ipt.pt/~sandrina/trabalhos/barramento.gif 
 
A estrutura de um barramento é subdividida em Barramento de Dados, 
Barramento de Endereço e Barramento de Controle. 
1.1. Barramento de Dados 
 
No Data Bus trafegam os dados entre as unidades; dentre eles: informação da 
instrução (através do código de operação), variável do processamento (cálculo 
intermediário de uma fórmula, por exemplo) ou informação de um periférico de E/S 
(dado digitado em um teclado). O tamanho da via de dados determina 
respectivamente o máximo número de instruções e a precisão do processamento 
aritmético (através do cálculo de ponto flutuante) ou o número de símbolos possíveis 
a ser representado (por exemplo, pontos de uma foto). O número de linhas é 
conhecido como largura do barramento de dados. Como cada linha pode transmitir 
1 bit por vez, o número de linhas determina quantos bits podem ser transferidos de 
uma vez. Parâmetro importante para o desempenho do sistema. 
O tamanho do barramento de dados está ligado a capacidade de processamento do 
sistema. Se o processamento é simples (como o controle booleano de um 
CLP), 8 bits são suficientes. Por outro lado, se há a necessidade de um 
processamento complexo (como os sistema de multimídia onde há a necessidade 
de processarmos milhões de pontos de imagem) processamento de até 128 bits já 
estão disponíveis. 
 
 
Figura 2: Exemplo do uso do barramento de dados pela CPU. Fonte: 
http://www.mitchellwebdesign.com/arm/images/busstructure.gif 
 
1.2. Barramento de Endereço 
 
O Address Bus é usado para designar a fonte ou o destino dos dados 
transferidos pelo barramento de dados. Ele conduz endereços. Quando o 
processador deseja ler uma palavra da memória, ele coloca o endereço da palavra 
desejada nas linhas de endereço. A largura do barramento de endereço determina a 
capacidade máxima da memória. Em geral, linhas de endereço são utilizadas para 
endereçar portas de E/S. 
 
 
Figura 3: Barramento de endereço. Fonte: 
http://maven.smith.edu/~thiebaut/ArtOfAssembly/CH03/ch03a1.gif 
 
1.3. Barramento de Controle 
 
O Control Bus serve para sincronizar as atividades do sistema. Ele conduz o 
status e a informação de controle de/para o Microprocessador. É utilizado para 
controlar o acesso e a utilização das linhas de dados e de endereço. Como ambas 
(linhas de dados e de endereço) são usadas por todos os componentes, deve 
existir uma maneira de controlá-las. Os sinais de controle são utilizados tanto para 
transmitir comandos, quanto para informações de temporização entre os módulos 
do sistema. 
As linhas de controle típicas são: 
 
• Escrita na Memória 
• Leitura da Memória 
• Escrita em porta de E/S 
• Leitura de porta de E/S 
• Confirmação (ACK) de transferência 
• Requisição do barramento 
• Requisição de Interrupção 
• Relógio 
• Inicialização (reset) 
 
Os barramentos são como linhas de comunicação real. Eles podem ser posicionados 
como parte do circuito de um chip (barramentos internos) ou podem servir de 
comunicação externa entre os chips (barramentos externos). Os barramentos 
externos podem ser expandidos para facilitar a conexão de dispositivos especiais. 
Um projeto eficiente de barramentos é crucial para a velocidade do sistema. 
 
 
Figura 4: Exemplo de barramento. 
http://image.shutterstock.com/display_pic_with_logo/213277/213277,1288036180,1/stock-photo-
detail-of-printed-circuit-board-old-motherboard-63742870.jpg 
 
A organização típica de um computador incluindo o subsistema de E/S e as 
subdivisões do barramento é mostrada na figura abaixo. 
 
 
Figura 5: Barramento e suas subdivisões. Fonte: STALLINGS, Willian. Arquitetura e Organização de 
Computadores, 5ª Edição. Prentice Hall. São Paulo, 2006. 
 
1.4. Princípios de comunicação 
 
Quando um módulo do sistema deseja enviar dados para outro, ele deve: 
 
• obter o controle do barramento; 
• e transferir os dados por meio do barramento. 
 
Quando um módulo do sistema deseja requisitar dados de outro, ele deve: 
 
• obter o controle do barramento; 
• transferir uma requisição para o outro módulo por meio das linhas de 
endereço e de controle apropriadas; 
• e aguardar os dados resultantes do envio. 
 
O Sistema operacional também tem um papel importante, pois é o principal 
responsável pelo tratamento da E/S, uma vez que possui as seguintes atribuições: 
 
 
• garantir que o programa do usuário somente acesse os dispositivos de E/S 
para os quais o programa de usuário tenha permissão; 
• fornecer rotinas de manipulação das operações de baixo nível dos 
dispositivos de E/S; 
• e tratar as interrupções geradas pelos dispositivos (da mesma maneira que 
trata as exceções geradas por um programa). 
 
 
Figura 6: Interligação entre software e hardware no processo de comunicação. Fonte: STALLINGS, 
Willian. Arquitetura e Organização de Computadores, 5ª Edição. Prentice Hall. São Paulo, 2006. 
 
O subsistema de E/S isola complexidade dos dispositivos das camadas superiores 
(sistema de arquivos ou aplicação). Permite flexibilidade ao S.O. para comunicação 
com qualquer tipo de periférico. Os detalhes do periférico (velocidade de 
transferência, tipos de operações, etc) ficam a cargo do device driver de cada 
dispositivo. 
 
 
 
1.5. Barramento dedicado 
 
O barramento dedicado tem uma função fixa ou é associado a um subconjunto de 
componentes físicos de um computador. Ex: linhas distintas para dados e 
endereços. Tipicamente é empregado na interligação entre os componentes internos 
do processador. 
 
1.6. Barramento multiplexado 
 
Permite a utilização de uma mesma linha do barramento para diferentes 
propósitos. Um esquema muito utilizado é a multiplexação de tempo, onde 
transmissão de dados e endereços alterna o uso do barramento durante 
intervalos de tempos. A principal vantagem deste tipo de barramento é a economia 
com de espaço com os barramentos e, consequentemente, custos. Com a 
multiplexação, no início de uma transferência de dados, o endereço é colocado no 
barramento e a linha de endereço válido é ativada. Cada módulo do sistema tem 
um determinado período de tempo para ver se os dados são endereçados a ele e 
copiar o endereço. O endereço é removido do barramento e as mesmas linhas são 
utilizadas para transferência dos dados. 
 
1.7. Arbitração de barramento 
 
Como no barramento, apenas uma unidade pode realizar uma transmissão de cada 
vez, é necessária a arbitração. Mecanismos de arbitração do uso do barramento 
são necessários para controlar seu uso já que vários componentes podem 
compartilhar um mesmo canalde comunicação e, assim, desejar transmitir 
informações pela estrutura no mesmo instante de tempo. Os métodos utilizados 
para este controle são classificados em: centralizado e distribuído. 
 
1.7.1. Arbitração centralizada 
 
Um único árbitro determina quem será o próximo mestre do barramento. Ele não é 
capaz de distinguir entre ausência e presença de requisição de uso do barramento 
(bus request). Pode ser o processador ou um chip o escolhido para ser o árbitro. 
Quando o árbitro “enxerga” a requisição do barramento, ele envia um sinal de 
garantia de uso do barramento (bus grant) por meio de uma linha dedicada. 
A arbitragem é então definida pelo esquema conhecido como Daisy Chaining (não 
muito justo). Tem a propriedade de estabelecer implicitamente uma prioridade para 
uso do barramento. Quanto mais perto fisicamente do árbitro estiver um dispositivo, 
mais prioridade ele terá para usar o barramento. 
Há a possibilidade do estabelecimento físico de linhas de requisição e de garantia 
de uso do barramento com níveis de prioridades diferentes. Cada dispositivo é 
ligado a um dos níveis de prioridade para requisição do barramento. 
 
 
Figura 7: Arbitração centralizada. Fonte: 
http://www.dpi.inpe.br/~carlos/Academicos/Cursos/ArqComp/3-39.jpg 
 
1.7.2. Arbitração distribuída 
 
Neste tipo de arbitração não existe controlador central. Cada módulo contém uma 
lógica de controle de acesso e os módulos agem de forma conjunta para 
compartilhar o barramento. Todos os dispositivos monitoram todas as linhas. Ao 
final do ciclo de requisição, cada dispositivo sabe se foi ou não ele que requisitou 
a linha de maior prioridade. Apresenta muitas linhas de requisição de barramento, 
mas não possui o custo de se ter um árbitro. 
Outra forma de se implementar arbitração distribuída é por meio do uso de três 
linhas: Bus Request, Busy (ativada pelo mestre atual do barramento) e a linha de 
arbitragem (arbitration line). A linha de arbitragem é conectada a todos os 
dispositivos no modo daisy chaining e permanece ativa enquanto nenhum 
dispositivo precisar do barramento. 
 
 
Figura 7: Arbitração distribuída. Fonte: http://www.dpi.inpe.br/~carlos/Academicos/Cursos/ArqComp/3-
40.jpg 
 
1.8. Temporização 
 
Faz referência ao modo como as operações/eventos de barramento são 
coordenadas. Basicamente, temos um esquema de transmissão síncrona e outro 
assíncrona. 
 
1.8.1. Temporização síncrona 
 
A ocorrência de eventos é determinada por um relógio. O barramento inclui uma 
linha de relógio pela qual transmite uma seqüência de 1s e 0s de igual duração. 
Uma transmissão de um 1 e um 0 é denominado ciclo do relógio. Todos os 
dispositivos conectados ao barramento podem ler a linha de relógio e todos os 
eventos no barramento devem começar no início de um ciclo do relógio. 
 
1.8.2. Temporização assíncrona 
 
Não possui nenhuma linha de clock do barramento. Os ciclos de barramento podem 
ser de qualquer tamanho e não precisam ser os mesmos para todos os pares de 
dispositivos. Em vez de amarrar todos os eventos ao clock, quando o mestre ativa 
o endereço, os sinais MREQ e RD, um sinal especial MSYN (Master 
SYNchronization) deve ser ativado. Quando o escravo enxerga o MSYN ativo, ele 
faz seu trabalho o mais rápido possível. Ao terminar, o sinal SSYN (Slave 
SYNchronization) é ativado. O sinal SSYN ativo informa ao mestre que os dados 
estão disponíveis. A ocorrência de um evento no barramento depende da ocorrência 
de um evento ocorrido anteriormente. 
Comparando os dois métodos de temporização, observa-se o seguinte: 
• O barramento síncrono é mais simples de se trabalhar, em virtude dos 
intervalos discretos de tempo. Tudo acontece em múltiplos de ciclo de clock 
do barramento. 
• No síncrono pode ocorrer o seguinte problema: se uma CPU e uma memória 
forem aptos a completar uma transferência em 3,1 ciclos, será necessário 
esperar quatro ciclos se completarem. 
• No síncrono, se as velocidades dos dispositivos forem heterogêneas,o 
desempenho do sistema estará limitado pelo desempenho do dispositivo 
mais lento, ou seja, o barramento deve operar de acordo com a velocidade 
desse dispositivo. 
• Os ganhos de performance em processadores e dispositivos de I/O ficam 
limitados ao desempenho do barramento síncrono. 
• No assíncrono, a lentidão de um determinado par mestre-escravo não 
afeta a velocidade de outros pares que poderão ser mais rápidos quanto 
mais lentos que o outro par. 
• Em geral, um sistema assíncrono é mais complicado e mais custoso de se 
construir do que um sistema síncrono (construção de dispositivos capazes 
de detectar e tratar os sinais). 
 
1.9. O módulo de E/S 
 
Um módulo de E/S ou Interface é o elemento responsável pelo controle de um ou 
mais dispositivos externos e pela transferência de dados entre aqueles dispositivos 
e a memória principal e os registradores da CPU. Assim, o módulo de E/S 
precisa conter uma interface interna ao computador (da CPU e a memória 
principal) e uma interface externa para o computador (ao dispositivo externo). 
 
 
Figura 8: Conexão existente entre o módulo de E/S e o barramento. Fonte: STALLINGS, Willian. 
Arquitetura e Organização de Computadores, 5ª Edição. Prentice Hall. São Paulo, 2006. 
 
1.9.1. Justificativas para o uso de Interfaces 
 
Há uma grande variedade de periféricos, com diferentes mecanismos de operação. É 
impraticável incorporar a lógica necessária para controlar vários dispositivos diferentes. 
A taxa de transferência de dados dos periféricos é relativamente baixa. Não faz 
sentido usar barramentos de alta velocidade para comunicação direta com um 
periférico. 
Os periféricos usam freqüentemente formatos de dados e tamanhos de palavras 
diferentes dos usados internamente. 
 
1.9.2. Funções principais 
 
As categorias principais de funções ou requisitos para um módulo de E/S são: 
• Temporização e controle. 
• Comunicação com a CPU. 
• Comunicação com o dispositivo periférico. 
• Temporização dos dados. 
• Detecção de erros. 
 
Durante qualquer período de tempo, a CPU pode comunicar-se com um ou mais 
dispositivos externos de forma imprevisível, dependendo das necessidades de E/S. Os 
recursos internos, tais como, a memória principal e o barramento de sistema, têm que 
ser partilhados entre certo número de atividades, incluindo o processamento de 
informação de E/S. Assim, a função de E/S inclui um requisito de temporização e 
controle, para gerenciar o fluxo de tráfego entre os recursos internos e os dispositivos 
externos. Por exemplo, o controle da transferência de dados de um dispositivo externo 
para a CPU pode envolver a seguinte seqüência de passos: 
 
a) A CPU interroga o módulo de E/S para testar o status do dispositivo 
associado. 
b) O módulo de E/S retorna o status do dispositivo. 
c) Se o dispositivo estiver operacional e pronto para transmitir, a CPU requer a 
transferência de dados, através de um comando para o módulo de E/S. 
d) O módulo de E/S obtém uma unidade de dados (por exemplo, 8 ou 16 
bits) do dispositivo externo. 
e) Os dados são transferidos do módulo de E/S para a CPU. 
 
O contexto anterior ilustra que o módulo de E/S tem que ter a capacidade de se 
envolver em comunicação com a CPU e com o dispositivo externo. 
A comunicação com a CPU envolve: 
 
• Decodificação de comandos: o módulo de E/S aceita comandos da CPU. 
Estes comandos são geralmente enviados como sinais no barramento de 
controle. Por exemplo, um módulo de E/S para um controlador de disco 
pode aceitar os seguintes comandos: READ SECTOR (ler setor), WRITE 
SECTOR (escrever setor), SEEK (procura) número detrilha e SCAN ID de 
registro. Cada um dos dois últimos comandos inclui um parâmetro que é 
enviado pelo barramento de dados. 
• Dados: os dados são trocados entre a CPU e o módulo de E/S através do 
barramento de dados. 
• Relato de status: uma vez que os periféricos são lentos, é importante saber o 
estado do módulo de E/S. Por exemplo, se for pedido a um módulo de E/S para 
enviar dados para a CPU (leitura), este pode não estar pronto a fazê-lo, porque 
ainda está trabalhando no comando de E/S anterior. Este fato pode ser relatado 
através de um sinal de status. Sinais de status comuns são: BUSY (ocupado) e 
READY (pronto). Pode, também, haver sinais para reportar várias condições de 
erro. 
• Detecção de Erros: cada dispositivo de E/S possui um endereço, tal como 
acontece com cada palavra na memória. Assim, um módulo de E/S tem de 
reconhecer um único endereço para cada periférico sobre o seu controle. 
 
1.9.3. Como ocorre a comunicação 
 
A transferência de dados da memória principal para o módulo de E/S é feita 
rapidamente. Esses dados são temporariamente armazenados no módulo de E/S 
e então enviados para o dispositivo numa taxa adequada. No caminho oposto, os 
dados são também armazenados temporariamente no módulo de E/S para não reter 
a memória numa transferência de dados a baixa velocidade. O módulo de E/S deve 
ser capaz de realizar operações tanto à velocidade da memória quanto à do 
dispositivo externo. 
 
 
Figura 9: Exemplo de comunicação num módulo de E/S. Fonte: STALLINGS, Willian. Arquitetura e 
Organização de Computadores, 5ª Edição. Prentice Hall. São Paulo, 2006. 
 
Durante o processo de comunicação de dados podem ocorrer falhas, tais como: 
 
• Mau funcionamento elétrico ou mecânico: falha de alimentação de papel; t 
Trilha de disco defeituosa; etc. 
• Alterações no padrão de bits transmitidos por um dispositivo para o 
módulo de E/S. Bits de paridade. 
 
 
Assim como acontece em relação à memória principal, o processador realiza 
acessos de leitura ou de escrita a uma interface de e/s. Em um acesso de leitura, 
o processador obtém um dado recebido do dispositivo periférico conectado à 
interface, ou então uma informação de estado sobre uma operação de e/s em 
andamento ou recém-completada. Em um acesso de escrita, o processador 
fornece à interface um dado que deve ser enviado ao dispositivo periférico, ou então 
o código de um comando que inicia uma operação de e/s ou uma operação de 
controle sobre o dispositivo periférico. 
Cada interface de e/s é identificada por um endereço único. Em um acesso de 
leitura, o processador coloca o endereço da interface no barramento de endereço e 
ativa um sinal de leitura. Após certo intervalo de tempo, a interface coloca a 
informação desejada no barramento de dados. O processador finaliza o ciclo de 
barramento lendo a informação presente no barramento de dados e retirando o 
endereço e o sinal de controle. 
Em um acesso de escrita, o processador coloca o endereço da interface e o dado nos 
respectivos barramentos, e ativa um sinal de escrita. A interface selecionada armazena 
a informação presente no barramento de dados. No final do ciclo de barramento, o 
processador retira o endereço e o dado e desativa o sinal de controle. Assim como nos 
ciclos de barramento com a memória, todos estes eventos são comandados pelo 
processador e ocorrem em sincronismo com o sinal de clock. 
 
1.9.4. Estrutura Interna de um Módulo de E/S 
 
Podemos considerar que uma interface de e/s é organizada em duas partes (parte 
genérica e parte específica), como mostra a figura a seguir. 
 
 
Figura 10: Organização da interface de E/S em duas partes (genérica e específica). Fonte: STALLINGS, 
Willian. Arquitetura e Organização de Computadores, 5ª Edição. Prentice Hall. São Paulo, 2006. 
A parte genérica, como o próprio nome indica, é semelhante entre os diferentes 
tipos de interfaces de e/s. É esta porção da interface que é vista pelo 
processador. Em geral, na parte genérica existem alguns registradores, cujo 
número e função depende em parte do tipo de periférico acoplado à interface. No 
entanto, na maioria das interfaces a parte genérica inclui pelo menos um 
registrador de dados, um registrador de controle e um registrador de estado. 
O acesso a cada um destes registradores é feito pelo processador através de um 
endereço de e/s diferente. 
O registrador de dados é usado para as transferências de dados entre o 
processador e o dispositivo periférico. Em uma operação de saída, o processador 
escreve um dado neste registrador e a interface se encarrega de enviá-lo para o 
periférico. No sentido contrário, em uma operação de entrada, a interface recebe 
um dado do periférico e o armazena no registrador de dados. O processador 
executa então um acesso de leitura à interface o obtém o dado depositado no 
registrador. 
 
 
Figura 11: Uso do registrador pelo processador. Fonte: STALLINGS, Willian. Arquitetura e 
Organização de Computadores, 5ª Edição. Prentice Hall. São Paulo, 2006. 
 
O processador usa o registrador de controle para enviar comandos à interface. Este 
comando é enviado sob a forma de um código. Cada interface possui um 
repertório de comandos próprio. Quando o processador escreve um comando no 
registrador de controle, a interface interpreta o código do comando e executa a 
operação solicitada, que pode ser uma operação interna à interface ou sobre o 
periférico a ela conectado. Finalmente, o registrador de estado é usado para 
veicular informação geral sobre uma operação de e/s. Tipicamente, este registrador 
possui bits para indicar o término de uma operação e para indicar condições de erro 
que eventualmente possam acontecer durante a operação. 
A parte específica interage diretamente com o periférico, e por isso ela difere 
bastante entre os diferentes tipos de interfaces. No entanto, apesar das 
diferenças, a parte específica na maioria das interfaces possui dois conjuntos de 
sinais. Um deles é a própria via através da qual são transferidos os dados entre a 
interface e o periférico. O outro conjunto é formado pelos sinais usados no 
controle do periférico. 
 
Exercícios de fixação 
 
a) O que você entende por barramento de sistema? E como é subdividido? 
b) Dentre as subdivisões de barramentos (de Dados, de Endereço e de Controle), 
qual pode ser considerado como o mais importante? Justifique. 
c) Quais são os papéis do S.O. quanto a entrada e saída de dados do sistema? 
d) Diferencie barramento dedicado de barramento multiplexado. 
e) Qual a melhor alternativa: arbitração centralizada ou distribuída? Explique. 
f) Por que a temporização assíncrona de barramento é considerada mais eficaz? 
g) Identifique as principais atribuições de uma Interface de E/S. 
h) Quanto à estrutura interna de um módulo de E/S, diferencie a parte genérica 
da parte específica. 
 
 
BIBLIOGRAFIA BÁSICA 
 
STALLINGS, Willian. Arquitetura e Organização de Computadores, 5ª Edição. Prentice Hall. 
São Paulo, 2006. 
TANENBAUM. Andrew S. Organização Estruturada de computadores. Edição 5ª. LTC. Rio 
de Janeiro, 2007. 
MACHADO, Francis B., MAIA, Luiz P. Arquitetura de Sistemas Operacionais. Edição 4ª. 
LTC. Rio de Janeiro, 2007. 
 
 
BIBLIOGRAFIA COMPLEMENTAR 
 
WEBER, Raul Fernando. Arquitetura de computadores pessoais, Edição 2ª. Sagra Luzzatto. 
Porto Alegre, 2003. 
WEBER, Raul Fernando. Fundamentos de Arquitetura de Computadores, Edição 3ª, Porto 
Alegre, Sagra Luzzatto, 2004.

Continue navegando