Buscar

Matéria Completa - EAD - ORGANIZAÇÃO DE COMPUTADORES

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 34 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 34 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 34 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

Princípios​ ​de​ ​funcionamento​ ​de​ ​um​ ​Computador 
 
Em​ ​primeiro​ ​lugar,​ ​é​ ​importante​ ​nos​ ​familiarizarmos​ ​com​ ​alguns​ ​conceitos​ ​de 
processamento​ ​de​ ​dados.​ ​Você​ ​saberia​ ​dizer​ ​o​ ​que​ ​é​ ​um​ ​computador,​ ​um​ ​hardware​ ​ou​ ​um 
software?​ ​Não​ ​se​ ​preocupe.​ ​Vamos​ ​aos​ ​jargões​ ​da​ ​área​ ​computacional. 
 
Computador:​ ​​ ​É​ ​uma​ ​máquina​ ​capaz​ ​de​ ​sistematicamente​ ​tratar​ ​e​ ​fornecer​ ​os​ ​resultados 
derivados​ ​do​ ​processamento​ ​dos​ ​dados​ ​com​ ​um​ ​ou​ ​mais​ ​objetivos.​ ​Podemos​ ​dizer​ ​que​ ​a 
sua​ ​função​ ​é​ ​transformar​ ​dados​ ​em​ ​informações. 
 
O​ ​ato​ ​de​ ​transformar​ ​​dado​​ ​em​ ​​informação​​ ​é​ ​denominado​ ​​processamento. 
 
 
 
Fundamentos​ ​do​ ​funcionamento​ ​de​ ​um​ ​computador 
 
Um​ ​computador​ ​é​ ​constituído​ ​por​ ​diversos​ ​componentes​ ​visíveis​ ​​ ​tais​ ​como​ ​monitor, 
teclado,​ ​mouse​ ​e​ ​por​ ​outros​ ​menos​ ​visíveis​ ​tais​ ​como​ ​processador​ ​e​ ​memória​ ​que​ ​ficam 
embutidos​ ​em​ ​um​ ​gabinete.​ ​Para​ ​que​ ​este​ ​conjunto​ ​de​ ​componentes​ ​funcione​ ​para​ ​a 
execução​ ​de​ ​uma​ ​tarefa,​ ​é​ ​necessária​ ​a​ ​existência​ ​de​ ​uma​ ​sequência​ ​de​ ​instruções 
denominada​ ​​programa​. 
 
Os​ ​componentes​ ​físicos​ ​de​ ​um​ ​computador​ ​são​ ​chamados​ ​de​ ​​hardware​​ ​e​ ​o​ ​​ ​programa 
responsável​ ​pela​ ​utilização​ ​do​ ​hardware​ ​é​ ​denominado​ ​​software​. 
 
 
Processador​ ​​-​​ ​O​ ​primeiro​ ​componente​ ​a​ ​ser​ ​estudado​ ​será​ ​o​ ​Processador.​ ​Ele​ ​é 
responsável​ ​pela​ ​execução​ ​de​ ​operações​ ​definidas​ ​por​ ​uma​ ​instrução​ ​de​ ​máquina.​ ​Também 
é​ ​chamado​ ​de​ ​UCP​ ​(Unidade​ ​Central​ ​de​ ​Processamento)​ ​ou​ ​CPU​ ​(Central​ ​Processing​ ​Unit). 
É​ ​constituído​ ​de​ ​milhões​ ​de​ ​componentes​ ​eletrônicos​ ​cujas​ ​funções​ ​básicas​ ​são​ ​ler, 
interpretar​ ​instruções​ ​e​ ​realizar​ ​operações​ ​matemáticas. 
 
Funções​ ​básicas: 
- Ler 
- Interpretar​ ​instruções 
- Realizar​ ​operações​ ​matemáticas 
 
Memória​ ​-​ ​​Sistema​ ​de​ ​armazenamento​ ​e​ ​recuperação​ ​de​ ​dados.​ ​Cada​ ​dispositivo​ ​de 
memória​ ​possui​ ​características​ ​diferentes. 
 
A​ ​memória​ ​principal​ ​é​ ​dividida​ ​em​ ​partes​ ​endereçáveis​ ​(endereços)​ ​onde​ ​as​ ​informações 
estão​ ​armazenadas​ ​e​ ​de​ ​onde​ ​podem​ ​ser​ ​recuperadas. 
 
Dispositivos​ ​de​ ​Entrada​ ​e​ ​Saída​​ ​-​ ​Permite​ ​a​ ​comunicação​ ​entre​ ​o​ ​sistema​ ​de 
computação​ ​e​ ​o​ ​meio​ ​exterior​ ​convertendo​ ​a​ ​linguagem​ ​utilizada​ ​pelo​ ​sistema​ ​em 
linguagem​ ​do​ ​mundo​ ​exterior​ ​e​ ​vice-versa. 
 
Os​ ​seres​ ​humanos​ ​entendem​ ​símbolos​ ​enquanto​ ​os​ ​computadores​ ​entendem​ ​sinais​ ​elétrico 
 
Barramento​​ ​-​ ​Conjunto​ ​de​ ​fios​ ​que​ ​conduz​ ​sinais​ ​elétricos​ ​entre​ ​os​ ​componentes. 
 
Um​ ​barramento​ ​pode​ ​ser​ ​composto​ ​por​ ​um​ ​ou​ ​mais​ ​fios​ ​em​ ​função​ ​da​ ​quantidade​ ​de​ ​bits 
que​ ​irá​ ​transportar. 
 
Um​ ​barramento​ ​é​ ​constituído​ ​de​ ​uma​ ​parte​ ​para​ ​endereço,​ ​uma​ ​para​ ​dados​ ​e​ ​outra​ ​para 
controle. 
 
 
Fundamentos​ ​da​ ​programação​​ ​-​ ​Qualquer​ ​processamento​ ​de​ ​dados​ ​requer​ ​a 
execução​ ​de​ ​uma​ ​série​ ​de​ ​etapas​ ​que​ ​podem​ ​ser​ ​realizadas​ ​por​ ​um​ ​computador.​ ​Estas 
etapas​ ​ordenadas​ ​são​ ​denominadas​ ​algoritmos. 
 
Para​ ​que​ ​um​ ​algoritmo​ ​seja​ ​executado​ ​por​ ​um​ ​computador,​ ​é​ ​necessário​ ​que​ ​o​ ​processador 
entenda​ ​o​ ​que​ ​está​ ​sendo​ ​solicitado.​ ​Cada​ ​passo​ ​do​ ​algoritmo​ ​será,​ ​então,​ ​correspondente 
a​ ​uma​ ​instrução​ ​e​ ​o​ ​conjunto​ ​de​ ​instruções​ ​utilizadas​ ​irá​ ​constituir​ ​um​ ​programa 
 
 
Linguagem​ ​de​ ​programação​​ ​-​ ​Para​ ​tornar​ ​a​ ​programação​ ​possível,​ ​foram 
desenvolvidas​ ​linguagens​ ​de​ ​um​ ​nível​ ​mais​ ​alto,​ ​ou​ ​seja,​ ​mais​ ​próximas​ ​do​ ​entendimento 
humano​ ​chamadas​ ​genericamente​ ​de​ ​linguagens​ ​de​ ​programação. 
 
O​ ​código​ ​escrito​ ​(editado)​ ​em​ ​uma​ ​linguagem​ ​de​ ​alto​ ​nível​ ​deve,​ ​então,​ ​ser​ ​convertido​ ​em 
linguagem​ ​binária​ ​para​ ​que​ ​possa​ ​ser​ ​executado.​ ​Essa​ ​conversão​ ​se​ ​dá​ ​através​ ​de 
compiladores​ ​e​ ​ligadores​ ​(link​ ​editor​ ​ou​ ​linker). 
 
Exemplos: 
 
Linguagens​ ​de​ ​programação: 
-​ ​Java 
-​ ​C 
-​ ​C++ 
-​ ​Cobol 
-​ ​Delphi 
 
 
Função​ ​dos​ ​compiladores: 
Converter​ ​um​ ​programa​ ​escrito​ ​em​ ​uma​ ​linguagem​ ​de​ ​alto​ ​nível​ ​em​ ​código​ ​binário.​ ​O 
arquivo​ ​resultante​ ​é​ ​chamado​ ​código​ ​objeto. 
 
Função​ ​dos​ ​ligadores: 
Agregar​ ​módulos​ ​em​ ​um​ ​único​ ​programa,​ ​inserindo​ ​informações​ ​de​ ​​ ​relocação​ ​de 
endereços​ ​e​ ​referência​ ​entre​ ​os​ ​módulos.​ ​O​ ​arquivo​ ​resultante​ ​é​ ​chamado​ ​código 
executável. 
 
 
Sistema​ ​Operacional 
Conjunto​ ​de​ ​programas​ ​que​ ​permite​ ​a​ ​interação​ ​entre​ ​o​ ​usuário​ ​e​ ​o​ ​computador. 
 
Fornece​ ​um​ ​ambiente​ ​onde​ ​o​ ​usuário​ ​possa​ ​executar​ ​programas,​ ​garantindo​ ​uma​ ​utilização 
segura​ ​e​ ​eficiente​ ​do​ ​hardware 
 
 
 
Funções​ ​básicas: 
 
1-​ ​Interface​ ​com​ ​o​ ​usuário 
•​ ​Acessar​ ​o​ ​sistema​ ​–​ ​segurança​ ​de​ ​acesso 
•​ ​Criar​ ​e​ ​gerir​ ​diretórios,​ ​arquivos​ ​e​ ​programas 
•​ ​Executar​ ​programas 
•​ ​Acessar​ ​dispositivos​ ​de​ ​entrada​ ​e​ ​saída​ ​(E/S) 
•​ ​Acessar​ ​conteúdo​ ​de​ ​arquivos 
 
 
2-​ ​Gerência​ ​de​ ​recursos 
•​ ​Tempo​ ​de​ ​Processador​ ​(CPU) 
•​ ​Espaço​ ​em​ ​Memória 
•​ ​Espaço​ ​para​ ​armazenamento​ ​de​ ​arquivos 
•​ ​Acesso​ ​a​ ​dispositivos​ ​de​ ​entrada​ ​e​ ​de​ ​saída​ ​(E/S) 
•​ ​Programas​ ​Utilitários​ ​e​ ​aplicativos 
•​ ​Bibliotecas​ ​de​ ​Funções​ ​–​ ​DLLs 
•​ ​Rotinas​ ​de​ ​Serviço 
•​ ​Programas​ ​de​ ​Interface​ ​com​ ​Dispositivos​ ​–​ ​Drivers 
 
 
3-​ ​Proteção 
 
Funções​ ​avançadas: 
 
1-​ ​Segurança​ ​de​ ​acesso 
2-​ ​​ ​Auditoria 
3-​ ​Gerência​ ​de​ ​usuários 
 
 
Visão​ ​simplificada​ ​de​ ​um​ ​sistema​ ​operacional: 
 
 
 
Unidades​ ​de​ ​armazenamento​ ​de​ ​Dados 
 
As​ ​Unidades​ ​de​ ​informação​ ​são​ ​denomidadas:​ ​Bit,​ ​Byte,​ ​Word​ ​e​ ​Múltiplos.​ ​Algumas​ ​como 
você​ ​pode​ ​perceber,​ ​vêm​ ​do​ ​idioma​ ​inglês. 
 
BIT 
 
 
Byte 
 
 
 
 
 
 
 
Word 
 
 
 
 
 
 
Múltiplos 
 
 
O​ ​sistema​ ​de​ ​numeração​ ​decimal,​ ​também​ ​chamado​ ​de​ ​base​ ​10,​ ​é​ ​o​ ​mais​ ​conhecido, 
porém​ ​os​ ​computadores​ ​utilizam​ ​o​ ​sistema​ ​binário,​ ​ou​ ​seja,​ ​utilizam​ ​a​ ​base​ ​2.​ ​Como​ ​esta 
representação​ ​pode​ ​ser​ ​muito​ ​longa,​ ​costuma-se​ ​representar​ ​os​ ​números​ ​no​ ​sistema 
hexadecimal​ ​ou​ ​base​ ​16. 
 
Os​ ​números​ ​representados​ ​em​ ​uma​ ​determinada​ ​base​ ​são​ ​compostos​ ​pelos​ ​algarismos​ ​da 
base,​ ​que​ ​variam​ ​de​ ​0​ ​até​ ​o​ ​algarismo​ ​representado​ ​pela​ ​base​ ​menos​ ​uma​ ​unidade 
(base-1).​ ​Por​ ​exemplo,​ ​se​ ​a​ ​base​ ​é​ ​10​ ​os​ ​algarismos​ ​irão​ ​de​ ​0​ ​até​ ​9​ ​(9​ ​=​ ​10-1). 
 
Decimal 
(Algarismo​ ​na​ ​base​ ​10) 
 
 
Binário 
(Algarismos​ ​na​ ​base​ ​2) 
 
 
Hexadecimal 
(Algarismos​ ​na​ ​base​ ​16)
 
Combinações​ ​permitidas​ ​com​ ​n​ ​dígitos​ ​em​ ​uma​ ​base​ ​B. 
 
Para​ ​uma​ ​determinada​ ​base​ ​B,​ ​empregando-se​ ​n​ ​dígitos​ ​pode-se​ ​representar​ ​B 
combinações​ ​distintas. 
 
Considere,​ ​por​ ​exemplo,​ ​a​ ​representação​ ​em​ ​base​ ​decimal​ ​com​ ​3​ ​dígitos.​ ​Esta 
representação​ ​fornece​ ​1000​ ​números​ ​distintos​ ​(de​ ​0​ ​a​ ​999).​ ​Se,​ ​no​ ​entanto,​ ​utilizarmos​ ​a 
base​ ​binária,​ ​para​ ​os​ ​mesmo​ ​3​ ​dígitos,​ ​tem-se​ ​8​ ​números​ ​distintos​ ​(de​ ​0​ ​a​ ​7). 
 
 
 
 
Representação​ ​da​ ​Informação 
Conversão​ ​entre​ ​os​ ​sistemas​ ​de​ ​numeração 
 
Em​ ​nosso​ ​cotidiano,​ ​utilizamos​ ​a​ ​base​ ​decimal​​para​ ​expressar​ ​medidas​ ​e​ ​seus​ ​múltiplos.​ ​Já 
os​ ​computadores​ ​armazenam​ ​informações​ ​expressas​ ​da​ ​forma​ ​binária​ ​conforme​ ​visto​ ​na 
aula​ ​anterior.​ ​Esta​ ​forma​ ​de​ ​representação​ ​é​ ​intuitiva​ ​se​ ​lembrarmos​ ​do​ ​conceito​ ​de​ ​bit. 
 
A​ ​​ ​representação​ ​em​ ​hexadecimal​ ​aparece,​ ​então,​ ​como​ ​uma​ ​alternativa​ ​entre​ ​a​ ​forma 
decimal,​ ​que​ ​não​ ​pode​ ​ser​ ​expressa​ ​em​ ​potência​ ​de​ ​2​ ​e​ ​a​ ​forma​ ​binária,​ ​que​ ​utiliza​ ​muitos 
dígitos​ ​em​ ​sua​ ​representação. 
 
Um​ ​número​ ​em​ ​hexadecimal​ ​é​ ​identificado​ ​por​ ​ser​ ​seguido​ ​por​ ​uma​ ​letra​ ​h. 
 
A​ ​conversão​ ​entre​ ​bases,​ ​consiste​ ​em​ ​representar​ ​um​ ​número​ ​em​ ​uma​ ​outra​ ​base​ ​e,​ ​para 
isso,​ ​serão​ ​apresentados​ ​algoritmos​ ​de​ ​conversão. 
 
 
 
 
 
 
 
 
 
 
 
Decimal​ ​->​ ​Binário​ ​e​ ​Hexadecimal 
 
 
 
Binário​ ​e​ ​Hexadecimal​ ​->​ ​Decimal 
 
 
 
Binária​ ​->​ ​Hexadecimal 
 
 
Hexadecimal​ ​->​ ​Binária 
 
 
 
Representação​ ​de​ ​números​ ​inteiros 
 
Conforme​ ​visto​ ​na​ ​aula​ ​anterior,​ ​um​ ​número​ ​inteiro​ ​positivo​ ​é​ ​representado​ ​com​ ​n​ ​bits​ ​​ ​em 
uma​ ​base​ ​binária​ ​B​ ​no​ ​intervalo​ ​entre​ ​0​ ​e​ ​B​ ​​ ​-1.​ ​Como​ ​representar,​ ​então,​ ​números 
negativos​ ​na​ ​base​ ​binária? 
 
Sinal​ ​e​ ​magnitude​ ​:​​ ​A​ ​forma​ ​mais​ ​simples​ ​é​ ​a​ ​utilização​ ​da​ ​representação​ ​denominada 
sinal​ ​e​ ​magnitude,​ ​onde​ ​o​ ​dígito​ ​mais​ ​significativo​ ​indica​ ​o​ ​sinal:​ ​0​ ​representa​ ​um​ ​número 
positivo​ ​e​ ​1​ ​representa​ ​um​ ​número​ ​negativo.​ ​O​ ​número​ ​zero​ ​possui,​ ​então,​ ​duas 
representações​ ​possíveis. 
 
Exemplo​ ​considerando​ ​a​ ​representação​ ​binária​ ​com​ ​5​ ​bits: 
 
12​ ​=​ ​01100 
-12​ ​=​ ​11100 
 
Esta​ ​representação​ ​é​ ​particularmente​ ​trabalhosa​ ​quando​ ​são​ ​efetuadas​ ​operações​ ​de​ ​soma 
entre​ ​dois​ ​números,​ ​onde​ ​um​ ​deles​ ​é​ ​negativo. 
 
 
 
Complemento​ ​a​ ​base​ ​-1​ ​:​​ ​Complemento​ ​é​ ​a​ ​diferença​ ​entre​ ​cada​ ​algarismo​ ​do​ ​número​ ​e​ ​o 
maior​ ​algarismo​ ​possível​ ​na​ ​base.​ ​A​ ​utilização​ ​da​ ​representação​ ​em​ ​complemento​ ​simplifica 
a​ ​subtração​ ​entre​ ​dois​ ​números.​ ​O​ ​número​ ​que​ ​será​ ​subtraído​ ​(negativo)​ ​é​ ​substituído​ ​pelo 
respectivo​ ​complemento​ ​e,​ ​então,​ ​somado. 
 
Considerando​ ​a​ ​utilização​ ​de​ ​base​ ​binária,​ ​a​ ​operação​ ​é​ ​feita​ ​através​ ​de​ ​complemento​ ​a​ ​1, 
que​ ​se​ ​resume​ ​na​ ​inversão​ ​de​ ​todos​ ​os​ ​dígitos. 
 
Exemplo​ ​considerando​ ​a​ ​representação​ ​binária​ ​com​ ​5​ ​bits: 
 
-12​ ​=​ ​10011 
12​ ​=​ ​10100 
 
 
Complemento​ ​a​ ​base :A​ ​representação​ ​mais​ ​utilizada​ ​para​ ​número​ ​negativos​ ​corresponde 
ao​ ​complemento​ ​à​ ​base,​ ​que,​ ​no​ ​caso​ ​de​ ​base​ ​binária,​ ​é​ ​chamado​ ​de​ ​complemento​ ​a​ ​2. 
Para​ ​obtenção​ ​de​ ​um​ ​número​ ​negativo​ ​expresso​ ​em​ ​complemento​ ​a​ ​2,​ ​o​ ​número​ ​deverá​ ​ser 
invertido​ ​e,​ ​em​ ​seguida,​ ​ser​ ​adicionado​ ​do​ ​valor​ ​1. 
 
Esta​ ​forma​ ​garante​ ​uma​ ​única​ ​representação​ ​para​ ​o​ ​número​ ​zero. 
 
decimal​ ​-​ ​10 
sinal​ ​e​ ​magnitude​ ​11010 
complemento​ ​a​ ​1​ ​​ ​​ ​10101 
complemento​ ​a​ ​2​ ​​ ​​ ​10110 
 
 
Representação​ ​de​ ​caracteres 
 
Para​ ​representação​ ​de​ ​caracteres​ ​são​ ​utilizadas​ ​tabelas​ ​que​ ​transformam​ ​caracteres​ ​não 
numéricos​ ​em​ ​números​ ​para​ ​que​ ​possam​ ​ser​ ​armazenados​ ​em​ ​formato​ ​binário. 
 
Os​ ​padrões​ ​são:​ ​ASCII​ ​–​ ​American​ ​Standard​ ​Code​ ​for​ ​Information​ ​Interchange 
Padrão​ ​vigente​ ​na​ ​forma​ ​estendido​ ​com​ ​suporte​ ​para​ ​256​ ​caracteres​ ​(8​ ​bits) 
 
 
EBCDIC​ ​-​ ​Extended​ ​Binary​ ​Coded​ ​Decimal​ ​Interchange​ ​Code 
Padrão​ ​em​ ​desuso​ ​utilizado​ ​pela​ ​IBM 
 
UNICODE 
Padrão​ ​em​ ​implantação​ ​que​ ​utilize​ ​16​ ​bits,​ ​permitindo​ ​o​ ​uso​ ​de​ ​caracteres​ ​específicos​ ​de 
determinados​ ​idiomas.​ ​Este​ ​padrão​ ​preserva​ ​os​ ​códigos​ ​da​ ​tabela​ ​ASCII. 
 
 
Conceitos​ ​de​ ​Lógica​ ​Digital 
 
PORTAS 
Os​ ​circuitos​ ​digitais​ ​são​ ​formados​ ​por​ ​elementos​ ​capazes​ ​de​ ​manipular​ ​apenas​ ​grandezas 
binárias. 
 
Estes​ ​elementos​ ​são​ ​chamados​ ​de​ ​portas. 
 
As​ ​portas​ ​são,​ ​então,​ ​elementos​ ​de​ ​hardware​ ​que​ ​recebem​ ​um​ ​ou​ ​mais​ ​sinais​ ​de​ ​entrada​ ​e 
produzem​ ​um​ ​sinal​ ​de​ ​saída,​ ​cujo​ ​valor​ ​é​ ​o​ ​resultado​ ​de​ ​uma​ ​operação​ ​lógica. 
 
A​ ​informação​ ​binária​ ​é​ ​representada​ ​por​ ​um​ ​sinal​ ​digital​ ​onde: 
+3V​ ​-​ ​Representam​ ​o​ ​bit​ ​1. 
 
+0,5V​ ​-​ ​Representam​ ​o​ ​bit​ ​o. 
 
 
OPERAÇÕES​ ​LÓGICAS 
 
As​ ​operações​ ​lógicas​ ​são​ ​apresentadas​ ​pelas​ ​seguintes​ ​palavras:​ ​AND,​ ​OR,​ ​NOT,​ ​NAND, 
NOR​ ​e​ ​XOR. 
 
AND​ ​-​ ​​Produz​ ​resultado​ ​verdade​ ​se​ ​e​ ​somente​ ​se​ ​todas​ ​as​ ​entradas​ ​forem​ ​verdade 
OR​ ​-​ ​​Produz​ ​resultado​ ​verdade​ ​se​ ​pelo​ ​menos​ ​uma​ ​das​ ​entradas​ ​for​ ​verdade 
NOT​​ ​-​ ​Inverte​ ​o​ ​valor​ ​da​ ​entrada. 
NAND​​ ​-​ ​Produz​ ​o​ ​inverso​ ​da​ ​saída​ ​AND. 
NOR​​ ​-​ ​Produz​ ​resultado​ ​verdade​ ​se​ ​e​ ​somente​ ​se​ ​todas​ ​as​ ​entradas​ ​forem​ ​falsas. 
XOR​ ​​-​ ​Produz​ ​resultado​ ​verdade​ ​se​ ​os​ ​valores​ ​de​ ​sua​ ​entrada​ ​forem​ ​diferentes. 
 
O​ ​resultado​ ​de​ ​uma​ ​expressão​ ​lógica​ ​será​ ​sempre​ ​VERDADEIRO​ ​ou​ ​FALSO. 
 
O​ ​resultado​ ​verdadeiro​ ​equivale​ ​ao​ ​valor​ ​1. 
O​ ​resultado​ ​falso​ ​equivale​ ​ao​ ​valor​ ​0. 
 
 
As​ ​operações​ ​lógicas​ ​podem​ ​ser​ ​representadas​ ​de​ ​duas​ ​maneiras: 
 
•​ ​Representação​ ​matemática. 
•​ ​Símbolo​ ​gráfico. 
 
Representação​ ​Matemática​ ​das​ ​operações​ ​lógicas,​ ​considerando​ ​A​ ​e​ ​B​ ​entradas: 
 
AND 
OR 
NOT 
NAND 
NOR 
XOR 
 
 
AND 
 
 
 
OR 
 
 
 
NOT 
 
 
 
NAND 
 
 
NOR 
 
 
XOR 
 
 
 
 
TABELA​ ​VERDADE​ ​E​ ​EXPRESSÕES​ ​LÓGICAS 
 
Expressão​ ​lógica​ ​é​ ​uma​ ​expressão​ ​algébrica​ ​formada​ ​por​ ​variáveis​ ​lógicas​ ​e​ ​por​ ​símbolos 
representativos​ ​de​ ​operações​ ​lógicas. 
 
O​ ​valor​ ​do​ ​resultado​ ​de​ ​uma​ ​expressão​ ​lógica​ ​pode​ ​ser​ ​obtido​ ​por​ ​uma​ ​tabela-verdade 
construída​ ​com​ ​todas​ ​as​ ​possibilidades​ ​de​ ​entrada​ ​e​ ​as​ ​correspondentes​ ​saídas. 
 
Considere​ ​a​ ​expressão​ ​F​ ​=​ ​X​ ​+​ ​Y​ ​*​ ​Z​ ​onde​ ​1​ ​representa​ ​um​ ​resultado​ ​verdadeiro​ ​e​ ​0​ ​um 
resultado​ ​falso 
 
 
 
 
 
 
ÁLGEBRA​ ​BOOLEANA 
 
NOÇÕES​ ​DE​ ​ÁLGEBRA​ ​BOOLEANA 
 
A​ ​Álgebra​ ​Booleana​ ​é​ ​uma​ ​área​ ​da​ ​Matemática​ ​que​ ​trata​ ​de​ ​regras​ ​e​ ​elementos​ ​de​ ​lógica. 
 
Assim​ ​como​ ​na​ ​Álgebra​ ​comum,​ ​a​ ​Álgebra​ ​Booleana​ ​trata​ ​de​ ​variáveis​ ​e​ ​de​ ​operações​ ​com 
estas​ ​variáveis,​ ​porém​ ​utiliza​ ​variáveis​ ​binárias​ ​em​ ​que​ ​o​ ​valor​ ​1​ ​equivale​ ​à​ ​condição 
verdadeira​ ​e​ ​o​ ​valor​ ​0,​ ​à​ ​condição​ ​falsa. 
 
Uma​ ​expressão​ ​lógica​ ​pode​ ​ser​ ​simplificada​ ​garantindo,​ ​assim,​ ​circuitos​ ​mais​ ​simples​ ​e 
mais​ ​baratos​ ​de​ ​serem​ ​produzidos. 
 
Essa​ ​simplificação​ ​deve​ ​seguir​ ​as​ ​seguintes​ ​regras,​ ​22​ ​no​ ​total: 
 
Regra​ ​1 
X​ ​+​ ​0​ ​=​ ​X 
 
Regra​ ​2 
X​ ​+​ ​1​ ​=​ ​1 
 
Regra​ ​3 
X​ ​+​ ​X​ ​=​ ​X 
 
Regra​ ​4 
X​ ​+​ ​X​ ​=​ ​1 
 
Regra​ ​5 
X​ ​*​ ​0​ ​=​ ​0 
 
Regra​ ​6 
X​ ​*​ ​1​ ​=​ ​X 
 
 
Regra​ ​7 
X​ ​*​ ​X​ ​=​ ​X 
 
Regra​ ​8 
X​ ​*​ ​​X​ ​​=​ ​0 
 
 
Regra​ ​9 
= 
X​ ​=​ ​X 
 
Regra​ ​10 
X​ ​+​ ​Y​ ​=​ ​Y​ ​+​ ​X 
 
 
Modelo​ ​de​ ​Von​ ​Neumann 
 
 
Um​ ​pouco​ ​de​ ​história 
 
John​ ​Von​ ​Neumann​ ​foi​ ​um​ ​matemático​ ​húngaro​ ​(1903-1957)​ ​com​ ​diversas​ ​contribuições 
significativas​ ​na​ ​matemática​ ​e​ ​na​ ​física.​ ​Foi​ ​professor​ ​da​​Universidade​ ​de​ ​Princeton​ ​e​ ​um 
dos​ ​construtores​ ​do​ ​ENIAC.​ ​A​ ​sua​ ​grande​ ​contribuição​ ​para​ ​a​ ​computação​ ​foi​ ​propor​ ​que​ ​os 
dados​ ​lidos​ ​em​ ​cartões​ ​perfurados​ ​fossem​ ​gravadas​ ​na​ ​memória​ ​do​ ​computador 
 
A​ ​contribuição​ ​de​ ​Von​ ​Neumann​ ​para​ ​a​ ​computação​ ​propõe​ ​uma​ ​arquitetura​ ​onde: 
 
1​ ​-​ ​Dados​ ​e​ ​instruções​ ​fossem​ ​armazenados​ ​em​ ​uma​ ​única​ ​memória​ ​que​ ​seria​ ​utilizada 
tanto​ ​para​ ​leitura​ ​quanto​ ​para​ ​escrita. 
 
2​ ​-​ ​Os​ ​dados​ ​armazenados​ ​na​ ​memória​ ​poderiam​ ​ser​ ​acessados​ ​através​ ​de​ ​endereços. 
 
3​ ​-​ ​A​ ​execução​ ​de​ ​um​ ​programa​ ​ocorre​ ​sequencialmente,​ ​por​ ​ordem​ ​de​ ​endereços,​ ​exceto 
se​ ​for​ ​feita​ ​algum​ ​desvio​ ​explícito​ ​no​ ​programa. 
 
 
Composição​ ​do​ ​Modelo 
 
O​ ​Modelo​ ​proposto​ ​por​ ​Von​ ​Neumann​ ​(1945)​ ​é​ ​formado​ ​por​ ​uma​ ​CPU,​ ​memória,​ ​unidade 
de​ ​entrada​ ​e​ ​unidade​ ​de​ ​saída,​ ​conectados​ ​entre​ ​si​ ​através​ ​de​ ​um​ ​barramento. 
 
A​ ​CPU,​ ​por​ ​sua​ ​vez,​ ​é​ ​composta​ ​por 
 
- Unidade​ ​Lógico-Aritmética:​ ​responsável​ ​pelas​ ​execução​ ​de​ ​operações​ ​lógicas​ ​e 
aritméticas​ ​efetuando​ ​transformações​ ​sobre​ ​os​ ​dados 
- Unidade​ ​de​ ​Controle:​ ​responsável​ ​pela​ ​interpretação​ ​e​ ​execução​ ​de​ ​comandos 
- Registradores​ ​Internos:​ ​conjunto​ ​de​ ​células​ ​que​ ​funcionam​ ​como​ ​pequenas 
memórias​ ​para​ ​leitura​ ​e​ ​gravação​ ​temporária​ ​de​ ​dados. 
 
 
 
 
MEMÓRIA 
 
Comunicação​ ​CPU/Memória 
 
A​ ​comunicação​ ​entre​ ​CPU​ ​e​ ​memória​ ​utiliza​ ​dois​ ​registradores​ ​específicos: 
 
•​ ​RDM​ ​-​ ​Armazena​ ​o​ ​conteúdo​ ​da​ ​palavra​ ​lida​ ​ou​ ​que​ ​será​ ​escrita​ ​na​ ​memória 
 
•REM​ ​-​ ​Armazena​ ​o​ ​endereço​ ​da​ ​palavra​ ​na​ ​memória 
 
 
Barramento 
 
Conectam​ ​CPU/Memória/Controladores​ ​​ ​de​ ​dispositivos​ ​de​ ​E/S. 
 
São​ ​divididos​ ​em​ ​3​ ​partes: 
 
​ ​​ ​​ ​​ ​​ ​1-​ ​Controle:​ ​define​ ​o​ ​tipo​ ​de​ ​operação 
​ ​​ ​​ ​​ ​​ ​2-​ ​Dados:​ ​informa​ ​o​ ​que​ ​será​ ​lido/escrito 
​ ​​ ​​ ​​ ​​ ​3-​ ​Endereço:​ ​informa​ ​o​ ​endereço​ ​para​ ​leitura/escrita 
 
 
Programação 
 
•​ ​Programação​ ​sequencial 
 
•​ ​O​ ​valor​ ​de​ ​uma​ ​variável​ ​é​ ​alterado​ ​durante​ ​a​ ​execução​ ​de​ ​um​ ​programa 
 
•​ ​Instruções​ ​e​ ​dados​ ​são​ ​armazenados​ ​indistintamente. 
Limitações​ ​do​ ​modelo 
 
❖ Grande​ ​quantidade​ ​de​ ​acessos​ ​a​ ​memória. 
❖ Velocidade​ ​dos​ ​novos​ ​dispositivos. 
❖ Execução​ ​em​ ​paralelo. 
 
 
Instruções 
 
 
Conjunto​ ​de​ ​Instruções 
 
Todo​ ​o​ ​processador​ ​é​ ​fabricado​ ​contendo​ ​um​ ​conjunto​ ​de​ ​instruções​ ​que​ ​define​ ​quais 
operações​ ​ele​ ​pode​ ​realizar. 
 
Cada​ ​processador​ ​apresenta,​ ​então,​ ​um​ ​conjunto​ ​de​ ​instruções​ ​onde​ ​cada​ ​uma​ ​é 
responsável​ ​pela​ ​execução​ ​de​ ​uma​ ​tarefa. 
 
A​ ​​ ​instrução​ ​utiliza​ ​registradores​ ​de​ ​uso​ ​geral​ ​para​ ​armazenamento​ ​temporários​ ​dos​ ​dados 
que​ ​serão​ ​processados​ ​e​ ​de​ ​uso​ ​específico​ ​para​ ​funções​ ​pré​ ​definidas​ ​de​ ​controle​ ​ou 
destinadas​ ​a​ ​uma​ ​forma​ ​de​ ​armazenamento​ ​implícito. 
 
Ninguém​ ​programa​ ​diretamente​ ​utilizando​ ​as​ ​instruções​ ​do​ ​processador!​ ​Os​ ​programas​ ​são 
desenvolvidos​ ​em​ ​linguagens​ ​de​ ​alto​ ​nível.​ ​Os​ ​compiladores​ ​são​ ​responsáveis​ ​por 
transformar​ ​este​ ​programa​ ​para​ ​uma​ ​linguagem​ ​de​ ​montagem​ ​(Assembly)​ ​,​ ​que​ ​é​ ​a 
representação​ ​textual​ ​das​ ​instruções​ ​como,​ ​por​ ​exemplo,​ ​ADD,​ ​MOV,​ ​INC​ ​etc. 
 
 
 
Tipos​ ​de​ ​instrução 
 
Existem​ ​três​ ​tipos​ ​de​ ​instrução:​ ​as​ ​Instruções​ ​aritméticas​ ​e​ ​lógicas,​ ​as​ ​Instruções​ ​de 
movimentação​ ​de​ ​dados​ ​e​ ​as​ ​Instruções​ ​de​ ​transferências​ ​de​ ​controle. 
 
➔ Instruções​ ​Aritméticas​ ​e​ ​Lógicas​ ​:​ ​Realizam​ ​operações​ ​aritméticas​ ​(ADD,​ ​SUB​ ​...)​ ​e 
lógicas​ ​(AND,​ ​OR). 
➔ Instruções​ ​de​ ​Movimentação​ ​de​ ​Dados:​ ​Transferem​ ​dados​ ​entre​ ​registradores​ ​ou 
entre​ ​registrador​ ​e​ ​memória​ ​principal​ ​(MOV​ ​). 
➔ Instruções​ ​de​ ​Transferências​ ​de​ ​Controle:​ ​Executam​ ​o​ ​desvio​ ​do​ ​fluxo​ ​sequencial​ ​do 
código. 
 
Alguns​ ​processadores​ ​possuem​ ​ainda​ ​instruções​ ​para​ ​tratamento​ ​de​ ​ponto​ ​flutuante, 
manipulação​ ​de​ ​bits​ ​e​ ​​ ​manipulação​ ​de​ ​cadeias​ ​de​ ​caracteres​ ​(strings). 
 
 
Execução​ ​de​ ​uma​ ​instrução 
 
A​ ​execução​ ​de​ ​uma​ ​instrução​ ​é​ ​dividida​ ​em​ ​etapas. 
 
São​ ​elas: 
 
 
 
 
Formato​ ​básico​ ​de​ ​uma​ ​instrução 
 
Uma​ ​instrução​ ​possui​ ​dois​ ​formatos​ ​básicos,​ ​que​ ​são: 
•​ ​Código​ ​da​ ​operação 
•​ ​Operando 
 
As​ ​instruções​ ​podem​ ​ter​ ​mais​ ​de​ ​um​ ​operando​ ​ou​ ​nenhum​ ​operando. 
 
➔ Código​ ​de​ ​operação:​ ​Indica​ ​que​ ​operação​ ​será​ ​executada.​ ​A​ ​quantidade​ ​de​ ​bits 
destinada​ ​a​ ​este​ ​código​ ​determina​ ​o​ ​número​ ​máximo​ ​de​ ​instruções​ ​possíveis. 
➔ Operando:​ ​Indica​ ​o(s)​ ​dado(s)​ ​que​ ​será(ão)​ ​manipulado(s).​ ​Operações​ ​aritméticas 
possuem​ ​em​ ​geral​ ​2​ ​ou​ ​3​ ​operandos. 
 
 
 
Exemplo: 
 
ADD​ ​R1,R2,R3​ ​:​ ​operação​ ​de​ ​soma​ ​onde​ ​a​ ​soma​ ​de​ ​R1​ ​e​ ​R2​ ​é​ ​armazenadas​ ​em​ ​R3. 
 
ADD​ ​R1,R2:​ ​o​ ​valor​ ​de​ ​R2​ ​é​ ​adicionado​ ​ao​ ​valor​ ​de​ ​R1​ ​e​ ​armazenado​ ​em​ ​R2. 
 
 
 
Modos​ ​de​ ​endereçamento 
 
As​ ​maneiras​ ​de​ ​endereçamento​ ​são:​ ​imediato,​ ​direto,​ ​​ ​indireto,​ ​por​ ​registrador,​ ​relativo​ ​a 
base​ ​e​ ​indexado. 
 
 
Imediato​​ ​:​ ​Utiliza​ ​um​ ​valor​ ​como​ ​operando​ ​e​ ​não​ ​um​ ​endereço​ ​na​ ​memória. 
 
Exemplo: 
 
ADD​ ​#4,​ ​R1​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​O​ ​valor​ ​4​ ​é​ ​adicionado​ ​ao​ ​registrador​ ​R1. 
 
As​ ​maneiras​ ​de​ ​endereçamento​ ​são:​ ​imediato,​ ​direto,​ ​​ ​indireto,​ ​por​ ​registrador,​ ​relativo​ ​a 
base​ ​e​ ​indexado. 
 
 
Direto:​​ ​Indica​ ​o​ ​endereço​ ​de​ ​memória​ ​onde​ ​está​ ​o​ ​operando. 
 
Exemplo: 
 
ADD​ ​​ ​(20),​ ​R1​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​O​ ​conteúdo​ ​do​ ​endereço​ ​20​ ​é​ ​adicionado​ ​a​ ​R1 
 
 
Indireto:​​ ​Indica​ ​um​ ​ponteiro​ ​para​ ​o​ ​operando. 
Exemplo: 
 
ADD​ ​​ ​(R1),R2​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​R1​ ​contém​ ​o​ ​endereço​ ​do​ ​valor​ ​que​ ​será​ ​adicionado​ ​a​ ​R2 
 
 
Por​ ​Registrador​ ​:​ ​​O​ ​endereço​ ​se​ ​refere​ ​​ ​a​ ​um​ ​registrador. 
 
 
Relativo​ ​à​ ​base​ ​:​ ​Endereço​ ​obtido​ ​pela​ ​soma​ ​do​ ​operando​ ​com​ ​o​ ​conteúdo​ ​de​ ​um 
registrador​ ​base. 
 
Exemplo: 
 
ADD​ ​20(R1),R2​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​O​ ​endereço​ ​é​ ​dado​ ​pelo​ ​deslocamento​ ​R1​ ​a​ ​partir​ ​da​ ​base​ ​20 
 
 
Indexado:​ ​índice​ ​para​ ​uma​ ​estrutura​ ​(vetor). 
 
Exemplo: 
 
ADD​ ​(R1+R2),R3​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​O​ ​endereço​ ​é​ ​fornecido​ ​pela​ ​soma​ ​do​ ​endereço​ ​base​ ​R1​ ​com​ ​o 
deslocamento​ ​R2. 
 
 
 
 
 
Processador 
 
 
Processador​ ​e​ ​seus​ ​componentes 
 
​ ​Já​ ​sabemos​ ​como​ ​um​ ​computador​ ​é​ ​inicializado​ ​(procedimento​ ​de​ ​bootstrap)​ ​e,​ ​com​ ​isso, 
entendemos​ ​que​ ​o​ ​processador​ ​é​ ​composto​ ​por​ ​circuitos​ ​capazes​ ​de​ ​executar​ ​instruções. 
 
​ ​A​ ​função​ ​do​ ​processador​ ​é,​ ​então,​ ​executar​ ​instruções​ ​e,​ ​para​ ​isso,​ ​obedece​ ​ao​ ​ciclo​ ​de 
busca,​ ​decodificação​ ​e​ ​execução​ ​da​ ​instrução. 
 
 
 
 
 
1​ ​-​ ​Buscar​ ​uma​ ​instrução​ ​na​ ​memória. 
2​ ​-​ ​Interpretar​ ​que​ ​operação​ ​está​ ​sendo​ ​requerida. 
3​ ​-​ ​Buscar​ ​os​ ​operandos​ ​necessários. 
4​ ​-​ ​Executar​ ​a​ ​operação. 
5​ ​-​ ​Guardar​ ​o​ ​resultado​ ​(se​ ​for​ ​o​ ​caso). 
6​ ​-​ ​Reiniciar​ ​o​ ​ciclo. 
 
 
As​ ​funções​ ​realizadas​ ​pelo​ ​processador​ ​podem​ ​ser​ ​divididas​ ​em​ ​dois​ ​grupos:​​controle​ ​e 
processamento. 
 
 
​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​ ​Funções​ ​de​ ​Controle 
Responsável​ ​pela​ ​busca,​ ​interpretação​ ​e​ ​controle​ ​de​ ​execução​ ​das​ ​instruções. 
 
Componentes​ ​do​ ​grupo​ ​de​ ​controle: 
 
● Unidade​ ​de​ ​Controle​ ​: 
● Registrador​ ​de​ ​instruções​ ​:​ ​Responsável​ ​pela​ ​movimentação​ ​da​ ​instruções 
● Decodificador​ ​de​ ​instruções​ ​:​ ​armazena​ ​a​ ​instituição​ ​que​ ​está​ ​sendo​ ​armazenada 
● Contador​ ​de​ ​instruções​ ​:​ ​identifica​ ​qual​ ​instrução​ ​será​ ​exetucada 
● Registrador​ ​de​ ​endereço​ ​de​ ​memória​ ​:​ ​registrador​ ​que​ ​armazena​ ​o​ ​endereço​ ​da 
próxima​ ​instituição​ ​que​ ​será​ ​armazenada 
● Registrador​ ​de​ ​endereço​ ​de​ ​memória​ ​:​ ​REM​ ​ou​ ​MAR 
 
 
 
 
 
 
Funções​ ​de​ ​processamento 
 
 
Execução​ ​de​ ​operações​ ​aritméticas,​ ​operações​ ​lógicas,​ ​movimento​ ​de​ ​dados,​ ​desvios​ ​e 
operações​ ​de​ ​entrada​ ​ou​ ​saída​. 
 
Componentes​ ​do​ ​grupo​ ​de​ ​processamento: 
 
● UAL​ ​(ALU)​ ​-​ ​cada​ ​bit​ ​possui​ ​um​ ​significado​ ​(sinal,​ ​overflow,​ ​zero,​ ​vai​ ​1,​ ​paridade​ ​etc) 
● ACC 
● Registradores​ ​de​ ​dados​ ​:​ ​registrador​ ​acumulador 
● Registrador​ ​de​ ​estado​ ​(PSW) 
 
 
 
Interrupções 
 
Sâo​ ​eventos​ ​provocados​ ​pelo​ ​hardware​ ​que​ ​provocam​ ​o​ ​desvio​ ​da​ ​sequência​ ​normal​ ​de 
execução​ ​de​ ​uma​ ​tarefa. 
 
➔ São​ ​sinais​ ​de​ ​hardware​ ​fundamentais​ ​para​ ​a​ ​existência​ ​de​ ​sistemas​ ​multitarefa,​ ​pois 
provocam​ ​a​ ​interrupção​ ​da​ ​tarefa​ ​em​ ​execução. 
➔ As​ ​interrupções​ ​são​ ​inicialmente​ ​tratadas​ ​pelo​ ​processador​ ​que,​ ​em​ ​seguida,​ ​desvia 
a​ ​execução​ ​do​ ​programa​ ​para​ ​a​ ​rotina​ ​de​ ​tratamento​ ​da​ ​interrupção​ ​também 
chamada​ ​de​ ​interrupt​ ​handler. 
 
 
 
 
 
As​ ​interrupções​ ​podem​ ​ser​ ​divididas​ ​em​ ​três​ ​classes:​ ​​ ​relógio,​ ​E/S​ ​e​ ​falha​ ​de​ ​Hardware. 
 
● Relógio : Relógio é o dispositivo gerador de pulsos cuja duração é chamada de 
ciclo. A frequência do processador é dada pela quantidade de ciclos por segundo. A 
interrupção gerada pelo relógio interno do processador provoca a suspensão 
periódica da tarefa em execução para permitir a execução de uma nova tarefa. Esta 
interrupção​ ​é​ ​fundamental​ ​para​ ​o​ ​modelo​ ​de​ ​sistemas​ ​multitarefa​ ​atual. 
● E/S​​ ​:​ ​Gerada​ ​por​ ​um​ ​controlador​ ​de​ ​E/S​ ​par​ ​sinalizar​ ​o​ ​término​ ​de​ ​uma​ ​operação. 
Após​ ​o​ ​término​ ​da​ ​execução​ ​da​ ​rotina​ ​de​ ​tratamento​ ​o​ ​processamento​ ​retorna​ ​ao 
ponto​ ​imediatamente​ ​após​ ​de​ ​onde​ ​foi​ ​interrompido 
 
● Falha​ ​no​ ​hardware​ ​:​ ​Gerada​ ​por​ ​uma​ ​falha​ ​de​ ​hardware​ ​para​ ​impedir​ ​a​ ​continuidade 
da​ ​execução​ ​da​ ​tarefa. 
 
 
Pipeline 
 
O​ ​esquema​ ​tradicional​ ​de​ ​execução​ ​de​ ​uma​ ​instrução​ ​(sequencial)​ ​não​ ​utiliza​ ​o​ ​potencial 
dos​ ​circuitos​ ​eletrônicos​ ​cada​ ​vez​ ​mais​ ​rápidos,​ ​pois​ ​existem​ ​tarefas 
mais​ ​lentas​ ​que​ ​outras,​ ​como,​ ​por​ ​exemplo,​ ​o​ ​acesso​ ​à​ ​memória.​ ​No​ ​modelo​ ​sequencial,​ ​os 
componentes​ ​do​ ​processador​ ​não​ ​envolvidos​ ​com​ ​o​ ​acesso​ ​à​ ​memória​ ​estariam​ ​ociosos 
durante​ ​a​ ​execução​ ​da​ ​tarefa. 
O​ ​pipeline​ ​funciona,​ ​então,​ ​como​ ​uma​ ​linha​ ​de​ ​montagem,​ ​permitindo​ ​que​ ​várias​ ​instruções 
sejam​ ​executadas​ ​simultaneamente​ ​,​ ​reduzindo​ ​o​ ​tempo​ ​de 
término​ ​de​ ​cada​ ​ciclo.​ ​O​ ​objetivo​ ​é​ ​utilizar​ ​as​ ​diversas​ ​unidades​ ​do​ ​processador​ ​por 
instruções​ ​diferentes. 
 
Lembre-se:​ ​a​ ​execução​ ​de​ ​uma​ ​instrução​ ​é​ ​composta​ ​por​ ​diversos​ ​estágios. 
 
Exemplo​ ​:​ ​Enquanto​ ​uma​ ​instrução​ ​utiliza​ ​a​ ​ULA,​ ​outra​ ​instrução​ ​pode​ ​trazer​ ​um 
endereço​ ​da​ ​memória. 
 
Características: 
 
•​ ​Busca​ ​antecipada​ ​de​ ​instruções 
•​ ​Memória​ ​de​ ​laço​ ​de​ ​repetição 
•​ ​Previsão​ ​de​ ​desvio 
 
 
 
 
 
Memória 
 
 
Características​ ​da​ ​memória​ ​principal 
 
A​ ​​ ​memória​ ​principal​ ​é​ ​a​ ​responsável​ ​pelo​ ​armazenamento​ ​temporário​ ​de​ ​informações​ ​que 
serão​ ​manipuladas​ ​pelo​ ​sistema​ ​e​ ​que​ ​irão​ ​permitir​ ​sua​ ​recuperação​ ​quando​ ​necessário. 
 
O​ ​elemento​ ​básico​ ​de​ ​armazenamento​ ​é​ ​o​ ​bit,​ ​porém​ ​a​ ​forma​ ​de​ ​como​ ​estes​ ​bits​ ​são 
agrupados​ ​para​ ​representar​ ​uma​ ​informação​ ​depende​ ​de​ ​cada​ ​sistema. 
Este​ ​agrupamento​ ​é​ ​denominado​ ​célula​ ​e​ ​passa​ ​a​ ​ser​ ​a​ ​unidade​ ​de​ ​armazenamento. 
 
Cada​ ​célula​ ​de​ ​memória​ ​possui​ ​um​ ​endereço​ ​que​ ​a​ ​identifica​ ​de​ ​forma​ ​única. 
 
Exemplos​ ​: 
 
 
Processadores​ ​de​ ​16​ ​bits​​ ​:​ ​Os​ ​processadores​ ​de​ ​16​ ​bits​ ​possuem​ ​endereços​ ​de​ ​20​ ​bits, 
permitindo​ ​usar​ ​até​ ​1MB​ ​endereços​ ​de​ ​memória.​ ​Cada​ ​célula​ ​possui​ ​1​ ​byte​ ​de​ ​largura. 
 
 
Processadores​ ​de​ ​32​ ​bits​​ ​:​ ​Os​ ​processadores​ ​de​ ​32​ ​bits​ ​possuem​ ​endereços​ ​de​ ​32​ ​bits 
permitindo​ ​o​ ​acesso​ ​a​ ​4GB​ ​células​ ​também​ ​de​ ​1​ ​byte. 
 
 
 
Hierarquia 
 
Existem​ ​vários​ ​tipos​ ​diferentes​ ​de​ ​dispositivos​ ​de​ ​armazenamento,​ ​cada​ ​um​ ​com 
características​ ​próprias​ ​de​ ​tempo​ ​de​ ​acesso,​ ​capacidade,​ ​aplicabilidade​ ​etc.​ ​Estas 
memórias​ ​são​ ​organizadas​ ​na​ ​forma​ ​de​ ​pirâmide​ ​onde,​ ​no​ ​topo,​ ​encontra-se​ ​aquela​ ​com 
maior​ ​custo,​ ​maior​ ​velocidade​ ​e​ ​menor​ ​capacidade​ ​de​ ​armazenamento​ ​e,​ ​na​ ​base,​ ​o 
inverso. 
 
 
Os​ ​tipos​ ​de​ ​memória​ ​são​ ​mostrados​ ​a​ ​seguir​ ​começando​ ​pelo​ ​topo: 
 
 
 
 
 
Memória​ ​principal 
Componentes​ ​da​ ​memória​ ​principal 
 
A​ ​CPU​ ​comunica-se​ ​com​ ​a​ ​memória​ ​através​ ​de​ ​um​ ​barramento​ ​e​ ​utiliza​ ​os​ ​registradores 
RDM​ ​e​ ​REM​ ​para​ ​o​ ​envio​ ​e​ ​recebimento​ ​das​ ​informações.​ ​Utiliza,​ ​ainda,​ ​registradores​ ​para 
armazenamento​ ​durante​ ​a​ ​transferências. 
 
As​ ​operações​ ​de​ ​leitura​ ​e​ ​escrita​ ​são​ ​gerenciadas​ ​pelo​ ​controlador​ ​de​ ​memória. 
 
 
➔ ​ ​Barramentos​ ​de​ ​dados​ ​:​ ​Interliga​ ​a​ ​RDM​ ​à​ ​memória​ ​principal​ ​para​ ​transferência​ ​de 
Informações.​ ​É​ ​bidirecional. 
➔ Registrador​ ​de​ ​dados​ ​:​ ​Registrador​ ​que​ ​armazena​ ​temporariamente​ ​a​ ​informações 
que​ ​está​ ​sendo​ ​transferida​ ​de/para​ ​a​ ​memória. 
➔ Barramento​ ​de​ ​endereço​ ​:​ ​Interliga​ ​a​ ​REM​ ​à​ ​memória​ ​principal.​ ​É​ ​unidirecional. 
➔ Registrador​ ​de​ ​endereço​ ​de​ ​memória​ ​:​ ​Registrador​ ​que​ ​armazena​ ​temporariamente 
o​ ​endereço​ ​de​ ​acesso. 
➔ Barramento​ ​de​ ​controle​ ​:​ ​Interliga​ ​a​ ​unidade​ ​de​ ​controle​ ​do​ ​processador​ ​à​ ​memória 
principal​ ​para​ ​envio​ ​de​ ​sinais​ ​durante​ ​as​ ​operações​ ​de​ ​leitura​ ​e​ ​escrita. 
➔ Controlador​ ​de​ ​memória​ ​:​ ​Responsável​ ​por​ ​gerar​ ​os​ ​sinais​ ​necessários​ ​para​ ​controle 
do​ ​processo​ ​de​ ​leitura​ ​e​ ​escrita,​ ​além​ ​de​ ​interligar​ ​a​ ​memória​ ​aos​ ​demais 
componentes​ ​do​ ​sistema. 
 
Memória​ ​principal 
Operações 
 
As​ ​operações​ ​são​ ​divididas​ ​em​ ​dois​ ​​ ​grupos:​ ​Operação​ ​de​ ​Leitura​ ​e​ ​Operação​ ​de​ ​Escrita: 
 
Operação​ ​de​ ​leitura 
1-​ ​REM​ ​​ ​​ ​<-​ ​​ ​​ ​​ ​​ ​endereço​ ​em​ ​outro​ ​registrador 
 
2-​ ​O​ ​endereço​ ​é​ ​colocado​ ​no​ ​barramento​ ​de​ ​endereço 
 
3-​ ​Sinal​ ​de​ ​leitura​ ​no​ ​barramento​ ​de​ ​controle 
 
4-​ ​Decodificação​ ​de​ ​endereço​ ​e​ ​localização​ ​da​ ​célula 
 
5-​ ​RDM​ ​​ ​​ ​​ ​​ ​<-​ ​​ ​​ ​MP​ ​pelo​ ​barramento​ ​de​ ​dados 
 
6-​ ​Outro​ ​registrador​ ​​ ​​ ​​ ​​ ​<-​ ​​ ​​ ​RDM 
 
 
 
 
Operação​​de​ ​escrita 
 
1-​ ​​ ​REM​ ​​ ​​ ​​ ​<-​ ​​ ​​ ​​ ​endereço​ ​em​ ​outro​ ​registrador 
 
2-​ ​O​ ​endereço​ ​é​ ​colocado​ ​no​ ​barramento​ ​de​ ​endereço 
 
3-​ ​RDM​ ​​ ​​ ​​ ​<-​ ​​ ​​ ​​ ​outro​ ​registrador 
 
4-​ ​Sinal​ ​de​ ​escrita​ ​no​ ​barramento​ ​de​ ​controle 
 
5-​ ​MP​ ​(REM)​ ​​ ​​ ​<-​ ​​ ​​ ​​ ​​ ​RDM 
 
 
 
Memória​ ​principal 
Organização​ ​da​ ​memória​ ​principal 
 
A​ ​memória​ ​é​ ​organizada​ ​em​ ​células. 
Um​ ​conjunto​ ​de​ ​células​ ​que​ ​possuem​ ​um​ ​significado​ ​é​ ​chamado​ ​de​ ​palavra​ ​(word).​ ​A 
palavra​ ​é,​ ​então,​ ​a​ ​unidade​ ​de​ ​informação​ ​do​ ​sistema​ ​que​ ​deve​ ​representar​ ​o​ ​valor​ ​de​ ​um 
dado​ ​ou​ ​de​ ​uma​ ​instrução​ ​de​ ​máquina. 
 
 
Unidade​ ​de​ ​Transparência​​ ​:​ ​Consiste​ ​na​ ​quantidade​ ​de​ ​bits​ ​que​ ​é​ ​transferida​ ​para​ ​a 
memória​ ​em​ ​uma​ ​operação​ ​de​ ​escrita​ ​e​ ​da​ ​memória​ ​em​ ​uma​ ​operação​ ​de​ ​leitura. 
Em​ ​função​ ​do​ ​aumento​ ​da​ ​taxa​ ​de​ ​transferência​ ​dos​ ​barramentos,​ ​os​ ​sistemas​ ​utilizam 
unidades​ ​superiores​ ​a​ ​uma​ ​célula​ ​de​ ​memória. 
 
 
Capacidade​ ​da​ ​memória​ ​Principal​​ ​:​ ​Quantidade​ ​de​ ​informações​ ​que​ ​podem​ ​ser 
armazenadas​ ​representadas​ ​por​ ​N.​ ​“​ ​N​ ​=​ ​número​ ​de​ ​células​ ​*​ ​tamanho​ ​da​ ​célula” 
 
 
 
Memória​ ​cache 
 
O​ ​estudo​ ​da​ ​memória​ ​cache​ ​pode​ ​ser​ ​subdividido​ ​em:​ ​motivação,​ ​acesso,​ ​organização, 
mapeamento​ ​e​ ​algoritmos​ ​de​ ​substituição. 
 
Motivação​​ ​: 
 ​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​•​ ​Diferença​ ​de​ ​velocidade​ ​entre​ ​processador​ ​e​ ​memória​ ​principal. 
​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​•​ ​Princípio​ ​da​ ​Localidade:​ ​temporal​ ​e​ ​espacial: 
​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​Temporal:​ ​Se​ ​um​ ​item​ ​é​ ​referenciado,​ ​tenderá​ ​a​ ​ser​ ​referenciado​ ​novamente. 
​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​Exemplo​ ​:​ ​loops​ ​(​ ​instruções​ ​e​ ​dados). 
 
​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​Espacial:​ ​Se​ ​um​ ​item​ ​é​ ​referenciado,​ ​itens​ ​cujos​ ​endereços​ ​são​ ​próximos 
tenderão​ ​a​ ​ser​ ​referenciados​ ​em​ ​seguida. 
​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​Exemplo:​ ​acesso​ ​a​ ​dados​ ​de​ ​um​ ​array. 
 
 
Acesso​: 
​ ​​ ​​ ​​ ​​ ​•​ ​O​ ​acesso​ ​a​ ​cache​ ​é​ ​transparente​ ​para​ ​a​ ​aplicação​ ​e​ ​ao​ ​sistema​ ​operacional. 
​ ​​ ​​ ​​ ​​ ​•​ ​Para​ ​a​ ​leitura​ ​de​ ​1​ ​byte​ ​na​ ​memória​ ​principal​ ​têm-se​ ​os​ ​seguintes​ ​passos: 
 
1​ ​-​ ​O​ ​processador​ ​inicia​ ​a​ ​operação​ ​de​ ​leitura​ ​e​ ​coloca​ ​o​ ​endereço​ ​desejado​ ​na​ ​Memória 
Principal 
2​ ​-​ ​O​ ​sistema​ ​de​ ​controla​ ​da​ ​cache​ ​intercepta​ ​o​ ​endereço​ ​e​ ​conclui​ ​se​ ​o​ ​dado​ ​solicitado​ ​está 
ou​ ​não​ ​armazenado​ ​na​ ​cache.​ ​Um​ ​acerto​ ​é​ ​denominado​ ​cache​ ​hit​ ​e​ ​a​ ​falta​ ​é​ ​denominada 
cache​ ​miss. 
3​ ​-​ ​Se​ ​ocorrer​ ​um​ ​cache​ ​miss​ ​o​ ​controlador​ ​da​ ​memória​ ​principal​ ​é​ ​acionado​ ​para​ ​localizar​ ​o 
dado​ ​na​ ​memória,​ ​transferindo-o​ ​para​ ​a​ ​cache. 
4​ ​-​ ​Um​ ​novo​ ​acesso​ ​é​ ​feito​ ​à​ ​memória​ ​cache. 
5​ ​-​ ​Considerando​ ​o​ ​princípio​ ​da​ ​localidade,​ ​os​ ​próximos​ ​dados​ ​consultados​ ​já​ ​deverão​ ​estar 
na​ ​cache,​ ​compensando​ ​(e​ ​muito!)​ ​a​ ​demora​ ​causada​ ​por​ ​uma​ ​falha. 
 
 
 
 
 
Organização: 
 
● A​ ​memória​ ​cache​ ​é​ ​organizada​ ​em​ ​um​ ​conjunto​ ​de​ ​L​ ​linhas,​ ​sendo​ ​cada​ ​linha 
constituída​ ​de​ ​X​ ​bytes. 
 
● As​ ​linhas​ ​têm​ ​endereço​ ​de​ ​0​ ​a​ ​L-1. 
 
● Cada​ ​linha​ ​possui​ ​um​ ​campo​ ​indicador​ ​do​ ​endereço​ ​do​ ​bloco​ ​que​ ​está​ ​naquele 
instante​ ​armazenado​ ​nela.​ ​Este​ ​campo​ ​é​ ​denominado​ ​tag​ ​ou​ ​rótulo. 
 
● A​ ​localização​ ​é​ ​composta,​ ​no​ ​mínimo,​ ​pelo​ ​endereço​ ​do​ ​bloco​ ​e​ ​pelo​ ​deslocamento 
dentre​ ​do​ ​bloco. 
 
 
 
Mapeamento: 
 
1.​ ​Direto:​ ​​ ​Cada​ ​bloco​ ​da​ ​MP​ ​tem​ ​uma​ ​linha​ ​de​ ​cache​ ​previamente​ ​definida.​ ​Como​ ​o 
tamanho​ ​da​ ​memória​ ​é​ ​muito​ ​maior​ ​que​ ​o​ ​tamanho​ ​da​ ​cache,​ ​é​ ​necessário​ ​se​ ​obter​ ​o​ ​tag 
do​ ​bloco​ ​e​ ​verificar​ ​se​ ​é​ ​o​ ​mesmo​ ​tag​ ​que​ ​está​ ​na​ ​linha​ ​indicada,​ ​indicando​ ​um​ ​hit.​ ​É​ ​um 
método​ ​simples,​ ​porém​ ​de​ ​pouca​ ​flexibilidade. 
 
2.​ ​Associativo:​ ​​ ​Não​ ​há​ ​local​ ​fixo​ ​na​ ​cache​ ​para​ ​um​ ​bloco​ ​da​ ​MP,​ ​no​ ​entando​ ​será 
necessário​ ​comparar​ ​o​ ​tag​ ​com​ ​o​ ​tag​ ​de​ ​cada​ ​linha. 
 
3.​ ​Associativo​ ​por​ ​conjunto:​ ​Utiliza​ ​conceitos​ ​das​ ​técnicas​ ​anteriores,​ ​utilizando 
mapeamento​ ​direto​ ​para​ ​identificar​ ​um​ ​bloco​ ​e​ ​mapeamento​ ​associativo​ ​para​ ​localizar​ ​o 
dado​ ​dentro​ ​do​ ​bloco. 
 
 
 
Algoritmos​ ​de​ ​substituição: 
 
● O​ ​tamanho​ ​da​ ​memória​ ​cache​ ​é​ ​muito​ ​menor​ ​que​ ​o​ ​da​ ​MP,​ ​então​ ​a​ ​mesma​ ​linha​ ​de 
cache​ ​poderá​ ​ser​ ​escolhida​ ​por​ ​mais​ ​de​ ​um​ ​dado. 
 
● Para​ ​escolher​ ​a​ ​linha​ ​que​ ​deverá​ ​ser​ ​substituída​ ​no​ ​caso​ ​de​ ​uso​ ​do​ ​mapeamento 
associativo,​ ​os​ ​métodos​ ​mais​ ​utilizados​ ​são:​ ​LRU​ ​(menos​ ​recentemente​ ​usado)​ ​ou 
FIFO​ ​(fila).​ ​É​ ​possível,​ ​ainda,​ ​fazer​ ​uma​ ​escolha​ ​aleatória​ ​que,​ ​mesmo​ ​sendo 
aparentemente​ ​menos​ ​eficiente,​ ​pode​ ​reduzir​ ​a​ ​sobrecarga​ ​para​ ​identificação​ ​do 
bloco. 
 
 
 
 
 
Dispositivos 
 
O​ ​último​ ​componente​ ​que​ ​será​ ​estudado​ ​é​ ​o​ ​subsistema​ ​de​ ​entrada​ ​e​ ​saída. 
 
Este​ ​assunto​ ​é​ ​bastante​ ​abrangente,​ ​pois​ ​envolve​ ​todos​ ​os​ ​periféricos​ ​de​ ​um​ ​computador, 
cada​ ​um​ ​com​ ​características​ ​bem​ ​específicas. 
 
Iremos,​ ​então,​ ​conhecer​ ​os​ ​principais​ ​conceitos​ ​de​ ​funcionamento​ ​para​ ​que​ ​possam​ ​ser 
adequados​ ​aos​ ​periféricos​ ​atuais​ ​e​ ​futuros. 
 
Conceitos 
 
Denominamos​ ​atividade​ ​de​ ​E/S​ ​(entrada​ ​e​ ​saída)​ ​a​ ​troca​ ​de​ ​informações​ ​entre​ ​o 
computador​ ​e​ ​o​ ​meio​ ​externo. 
 
1​ ​-​ ​Um​ ​sistema​ ​de​ ​E/S​ ​deve​ ​ser​ ​capaz​ ​de​ ​receber​ ​e​ ​enviar​ ​informações​ ​​ ​ao​ ​meio​ ​externo​ ​e 
converter​ ​as​ ​informações​ ​de​ ​forma​ ​que​ ​se​ ​tornem​ ​legíveis​ ​para​ ​o​ ​computador​ ​ou​ ​para​ ​o 
usuário. 
 
2​ ​-​ ​Cada​ ​dispositivo​ ​apresenta​ ​características​ ​bem​ ​particulares,​ ​tornando​ ​o​ ​estudo​ ​de​ ​cada 
tipo​ ​de​ ​​ ​dispositivo​ ​único. 
 
 
Características​ ​dos​ ​dispositivos 
-​ ​Taxa​ ​de​ ​transmissão​ ​​ ​​ ​​ ​​ ​-​ ​Complexidade​ ​de​ ​Controle​ ​​ ​​ ​-​ ​Representação​ ​de​ ​dados 
-​ ​Aplicação​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​-​ ​Unidade​ ​de​ ​transferência​ ​​ ​​ ​​ ​​ ​​ ​-​ ​Condições​ ​de​ ​erro 
 
Atenção​ ​:​ ​A​ ​arquitetura​ ​de​ ​E/S​ ​deve​ ​especificar​ ​um​ ​método​ ​para​ ​identificação​ ​do​ ​dispositivo,​ ​o 
endereço​ ​do​ ​dado​ ​a​ ​ser​ ​transportado,​ ​a​ ​quantidade​ ​​ ​de​ ​dados​ ​a​ ​serem​ ​transportados​ ​e​ ​um​ ​método 
que​ ​identifique​ ​o​ ​término​ ​da​ ​operação​ ​de​ ​E/S. 
 
 
Componentes 
 
Os​ ​componentes​ ​dos​ ​dispositivos​ ​são:​ ​periférico,​ ​interface,​ ​controlador,​ ​barramento,​ ​porta 
de​ ​E/S. 
 
➔ Periférico​ ​:​ ​Dispositivo​ ​conectado​ ​a​ ​um​ ​computador​ ​de​ ​forma​ ​a​ ​permitir​ ​a 
comunicação​ ​com​ ​o​ ​mundo​ ​externo. 
 
➔ Interface​ ​:​ ​Componente​ ​que​ ​conecta​ ​o​ ​periférico​ ​aos​ ​barramentos​ ​do​ ​computador. 
 
➔ Controlador​ ​:​ ​Implementa​ ​as​ ​operações​ ​(lê,​ ​escreve...). 
 
➔ Barramento​ ​:​ ​Conjunto​ ​de​ ​circuitos​ ​impressos​ ​que​ ​transportam​ ​os​ ​sinais. 
 
➔ Porta​ ​E/S​ ​:​ ​Endereço​ ​no​ ​sistema​ ​de​ ​E/S. 
 
 
 
 
 
Endereçamento​ ​de​ ​E/S 
 
Utiliza​ ​um​ ​conjunto​ ​de​ ​registradores​ ​internos​ ​ao​ ​controlador​ ​que​ ​recebem​ ​ordens​ ​do 
processador​ ​e​ ​fornecem​ ​o​ ​status​ ​de​ ​uma​ ​operação. 
 
Os​ ​registradores​ ​são​ ​associados​ ​a​ ​endereços​​e​ ​podem​ ​ser​ ​implementados​ ​de​ ​duas​ ​formas: 
em​ ​espaço​ ​de​ ​memória​ ​e​ ​em​ ​espaço​ ​de​ ​E/S. 
 
 
 
 
 
 
 
 
Classificação 
 
Os​ ​dispositivos​ ​podem​ ​ser​ ​classificados​ ​em​ ​três​ ​formas,​ ​que​ ​​ ​são:​ ​quanto​ ​a​ ​interação, 
quanto​ ​a​ ​transferência​ ​de​ ​dados​ ​e​ ​quanto​ ​a​ ​forma​ ​de​ ​comunicação. 
 
➔ Quanto​ ​a​ ​Interação​ ​:​ ​​Interação​ ​com​ ​usuário​ ​(ex:​ ​teclado,​ ​mouse) 
 
​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​Interação​ ​com​ ​outros​ ​componentes​ ​(ex:​ ​discos) 
 
​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​Interação​ ​com​ ​dispositivos​ ​remotos​ ​(ex:​ ​modem) 
 
➔ Quanto​ ​a​ ​Transferência​ ​de​ ​Dados​ ​:​ ​​Orientado​ ​a​ ​bloco​ ​(ex.​ ​disco) 
 
​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​Orientado​ ​a​ ​caractere​ ​(ex.​ ​terminal) 
 
 
 
➔ Quanto​ ​a​ ​Forma​ ​de​ ​Comunicação:​ ​​Programmed​ ​I/O:​ ​Responsabilidade​ ​do 
programador 
 
​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​Interrupt-driven​ ​I/O​ ​:​ ​Processador​ ​é​ ​interrompido​ ​quando​ ​a​ ​operação​ ​se​ ​completa 
 
​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​Direct​ ​memory​ ​Access​ ​(DMA):​ ​Transferência​ ​dos​ ​dados​ ​diretamente​ ​para​ ​a​ ​memória 
sem​ ​interferência​ ​do​ ​processador 
 
 
 
Tipos​ ​de​ ​transmissão​ ​de​ ​dados 
 
A​ ​transmissão​ ​de​ ​dados​ ​pode​ ​acontecer​ ​por​ ​dois​ ​tipos​ ​diferentes:​ ​serial​ ​e​ ​paralelo. 
 
 
O​ ​periférico​ ​é​ ​conectado​ ​ao​ ​controlador​ ​por​ ​apenas​ ​uma​ ​linha​ ​de​ ​comunicação​ ​de​ ​dados; 
logo,​ ​a​ ​transferência​ ​é​ ​feita​ ​por​ ​um​ ​bit​ ​de​ ​cada​ ​vez. 
 
Exemplo:​ ​mouse,​ ​teclado. 
 
 
 
 
Um​ ​grupo​ ​de​ ​bits​ ​é​ ​transferido​ ​simultaneamente​ ​através​ ​de​ ​um​ ​conjunto​ ​de​ ​linhas​ ​de 
comunicação. 
 
 
Exemplo:​ ​discos,​ ​impressoras. 
 
 
 
Memória​ ​secundária 
 
São​ ​memórias​ ​secundárias​ ​os​ ​meios​ ​de​ ​armazenamento​ ​não-volátil​ ​como,​ ​por​ ​exemplo,​ ​os 
discos​ ​magnéticos.​ ​A​ ​organização​ ​destes​ ​discos​ ​é​ ​particularmente​ ​importante​ ​pela​ ​função 
que​ ​exercem. 
 
Os​ ​discos​ ​magnéticos​ ​são​ ​divididos​ ​em​ ​setores,​ ​trilhas​ ​e​ ​cilindros. 
 
 
 
 
 
 
 
O​ ​desempenho​ ​de​ ​um​ ​disco​ ​é​ ​medido​ ​pela​ ​velocidade​ ​de​ ​localizar​ ​uma​ ​informação. 
 
Considera-se​ ​que​ ​o​ ​disco​ ​roda​ ​em​ ​velocidade​ ​constante​ ​para​ ​posicionar​ ​a​ ​cabeça​ ​na​ ​trilha. 
 
 
 
 
 
Existem,​ ​ainda,​ ​estratégias​ ​para​ ​atendimento​ ​às​ ​requisições,​ ​fornecidas​ ​pelo​ ​sistema 
operacional,​ ​denominadas​ ​estratégias​ ​de​ ​escalonamento​ ​de​ ​disco. 
 
As​ ​estratégias​ ​podem​ ​ser​ ​baseadas​ ​na​ ​ordem​ ​dos​ ​pedidos,​ ​na​ ​localização​ ​e​ ​na​ ​localização 
segmentada. 
 
1​ ​-​ ​Estratégias​ ​baseadas​ ​na​ ​ordem​ ​dos​ ​pedidos​ ​: 
 
➔ FiFo​ ​​​ ​mais​ ​simples 
​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​Atendimento​ ​na​ ​ordem​ ​dos​ ​pedidos 
 
➔ Prioridade​ ​​Fora​ ​do​ ​controle​ ​do​ ​gerenciador 
 
➔ LiFo​ ​​​ ​Diminuiu​ ​o​ ​movimento​ ​da​ ​cabeça​ ​de​ ​leitura​ ​em​ ​arquivos​ ​seqüenciais 
 
 
2​ ​-​ ​Estratégias​ ​baseadas​ ​na​ ​localização 
 
➔ SSTF​ ​(shortest​ ​service​ ​time​ ​first) 
 
​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​•​ ​Fila​ ​é​ ​reordenada​ ​para​ ​atender​ ​às​ ​requisições​ ​de​ ​forma​ ​a​ ​minimizar​ ​o​ ​movimento​ ​da 
cabeça 
​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​•​ ​Possibilidade​ ​de​ ​starvation 
 
 
➔ Scan​ ​(elevador) 
 
​ ​​ ​​ ​​ ​​ ​​ ​​ ​•​ ​Variação​ ​do​ ​SSTF,​ ​porém​ ​estipula​ ​uma​ ​direção​ ​preferencial 
​ ​​ ​​ ​​ ​​ ​​ ​​ ​•​ ​O​ ​sentido​ ​se​ ​inverte​ ​ao​ ​final​ ​da​ ​varredura 
➔ C-Scan 
 
​ ​​ ​​ ​​ ​​ ​​ ​​ ​•​ ​Semelhante​ ​ao​ ​Scan,​ ​porém​ ​com​ ​um​ ​sentido​ ​único 
 
 
​ ​3​ ​-​ ​Baseado​ ​na​ ​localização​ ​segmentada 
 
➔ N-step-Scan 
 
​ ​​ ​​ ​​ ​​ ​​ ​​ ​•​ ​Divide​ ​as​ ​requisições​ ​em​ ​filas​ ​de​ ​tamanho​ ​N 
​ ​​ ​​ ​​ ​​ ​​ ​​ ​•​ ​As​ ​requisições​ ​de​ ​cada​ ​fila​ ​são​ ​processadas​ ​em​ ​conjunto 
​ ​​ ​​ ​​ ​​ ​​ ​​ ​•​ ​Novas​ ​requisições​ ​são​ ​colocadas​ ​em​ ​novas​ ​filas 
​ ​​ ​​ ​​ ​​ ​​ ​​ ​•​ ​Para​ ​valores​ ​grandes​ ​de​ ​​ ​N,​ ​é​ ​semelhante​ ​ao​ ​SCAN 
​ ​​ ​​ ​​ ​​ ​​ ​​ ​•​ ​Para​ ​N​ ​=​ ​1,​ ​equivale​ ​a​ ​FIFO 
 
➔ FSCAN 
 
•​ ​Utiliza​ ​duas​ ​filas. 
•​ ​Enquanto​ ​uma​ ​fila​ ​está​ ​sendo​ ​atendida,​ ​novas​ ​requisições​ ​são​ ​colocadas​ ​na​ ​outra​ ​fila

Continue navegando