Buscar

Arquitetura 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 104 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 104 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 104 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

SISTEMAS DE
 INFORMAÇÕES 
 GERENCIAIS
Copyright © Todos os direitos desta obra são da Escola Superior Aberta do Brasil.
www.esab.edu.br
Diretor Geral:
Nildo Ferreira
Secretário Geral:
Aleçandro Moreth
Diagramadores
Felipe Silva Lopes Caliman
Rayron Rickson Cutis Tavares
Produção do Material 
Didático-Pedagógico
 Escola Superior Aberta do Brasil
www.esab.edu.br 3
Sumário
1. Apresentação..........................................................................04
2. Breve Histórico I .................................................................... 05
3. Componentes de um Comput. – Máquina de Von Neumann.13
4. Elementos Básicos: representação dos dados ..................... 19
5. Operações Binárias.............. ................................................. 25
6. Representação de Sinal II.. ................................................... 29
7. Resumo ................................................................................. 34
8. Apresentação 1 ..................................................................... 35
9. Tipos de Memórias I .............................................................. 36
10. Tipos de Memórias III – Memória Cache............................... 40
11. Registradores.........................................................................44
12. Pipelining ............................................................................... 53
13. Entrada/Saída.........................................................................59
14. Resumo..................................................................................64
15. Apresentação 2......................................................................65
16. Técnicas de Transferência de Dados I...................................66
17. Técnicas de Transferência de Dados III.................................72
18. Execução de Programas I......................................................80
19. Execução de Programas II.....................................................84
20. Execução de Programas IV....................................................92
21. Resumo 3...............................................................................97
22. GLOSSÁRIO..........................................................................98
23. BIBLIOGRAFIA.....................................................................102
www.esab.edu.br 4
 
Conhecer a história do computador; a estrutura da arquitetura da 
Máquina de Von Neumann; Identificar os conceitos de bit, byte, 
caractere e palavra; Conhecer as técnicas para efetuar 
operações matemáticas com os números binários; 
Complemento a um. Entender Complemento de dois e 
Reconhecer a hierarquia das memórias: organização e 
características.
www.esab.edu.br 5
 
Ao longo dos séculos foram construídas algumas máquinas com 
a função de realizarem cálculos aritméticos e outras operações 
inteligentes. A primeira calculadora mecânica foi criada pelo 
alemão Wilhelm Schickard (1592-1635) em 1623. O funcionamento 
da máquina era baseado em rodas dentadas e ela era capaz de 
efetuar adições e subtrações. A invenção de Schickard, no entanto, 
não foi muito difundida e caiu rapidamente no esquecimento. 
Posteriormente, Blaise Pascal desenvolve a “Pascoalina”, uma 
máquina de calcular mecânica, também baseada em rodas 
dentadas, com o objetivo de livrar seu pai, coletor de impostos de 
Rouen (França), dos fastidiosos cálculos que sua profissão lhe 
impunha.
Figura 1: Pascoalina
Entre as máquinas que antecederam os modernos computadores 
ou processadores eletrônicos estão, principalmente, a máquina 
analítica projetada na primeira metade do século XIX pelo 
matemático e inventor britânico Charles Babbage, que foi 
considerado o primeiro computador mecânico.
Charles Babbage (1792-1871) concebeu um Computador Analítico 
dotado de um dispositivo a que chamou de MOINHO (uma máquina 
de somar com precisão de até 50 casas decimais), e um dispositivo 
www.esab.edu.br 6
de entrada que leria cartões perfurados contendo não somente 
números (os dados), mas também INSTRUÇÕES (o que fazer 
com os dados). Imaginou ainda um dispositivo de memória que 
chamou de ARMAZÉM para guardar os números, um banco com 
1000 “registradores” cada qual capaz de armazenar um número 
de 50 dígitos - os números dados pelos cartões de entrada ou 
então números resultados de operações do moinho. Finalmente, 
incluiu um dispositivo impressor para dar saída aos resultados. As 
instruções (gravadas em cartões) possíveis de ser implementadas 
pelo moinho eram:
•	 Entrar com um número no armazém
•	 Entrar com um número no moinho
•	 Mover um número do moinho para o armazém
•	 Mover um número do armazém para o moinho
•	 Comandar o moinho para executar uma operação
•	 Sair com um resultado
Para construir um dispositivo a partir destas ideias, Babbage 
contou com a colaboração inestimável da matemática Ada Augusta 
Byron, Lady Lovelace, filha do poeta Lord Byron. Ada desenvolveu 
séries de instruções para o calculador analítico, criando conceitos 
tais como sub-rotinas, loops e saltos condicionais. Babbage é 
considerado o precursor do computador. Ada é considerada a 
precursora do software.
Também há a máquina tabuladora do americano Herman Hollerith, 
que trabalhava no departamento de censo dos Estados Unidos e 
idealizou um sistema de tratamento de informações com o qual, 
mediante o uso de cartões perfurados, conseguiu aumentar de 
dois para duzentos o número de dados processados por minuto. 
Esses cartões, que receberam o nome do inventor, foram utilizados 
pelos computadores até 1970 como sistema de entrada e saída 
de dados. Da companhia fundada por Hollerith, a Tabulating 
www.esab.edu.br 7
Machine Company, em 1911, duas outras companhias, a 
Internacional Time Recorde Co. (de registradores mecânicos de 
tempo), e a Computing Cale Co. (de instrumentos de aferição de 
peso), uniram-se a ela, surgiu mais tarde a International Business 
Machines Corporation (IBM).
Figura 2: Cartão Perfurado
Três décadas antes de Hollerith concretizar seu projeto, foi 
publicada a obra do matemático britânico George Boole, An 
Investigation into the Laws of Thought (1854; Investigação das leis 
do pensamento). Boole considerava que os processos mentais do 
ser humano eram resultado de uma associação sucessiva de 
elementos simples que se podiam expressar sobre uma base de 
duas únicas alternativas: sim ou não. Foi essa a origem do método 
matemático de análise formal conhecido como álgebra de Boole. 
Considerado na época uma simples curiosidade, o método viria a 
constituir o fundamento teórico da informática moderna.
Breve Histórico II
Na evolução dos equipamentos de informática tornou-se habitual 
referir-se às etapas de desenvolvimento como “gerações”, embora 
nem sempre haja acordo quanto a seu número ou quanto aos 
critérios utilizados em sua diferenciação. Neste Módulo não serão 
classificados as gerações, mas o período em que foram criados. 
Os primeiros computadores eram caracterizados pelo uso de 
válvulas a vácuo.
www.esab.edu.br 8
Figura 3: Foto de válvula usada na década de 40.
1943 a 1945 - ENIAC
J. Presper Eckert, John V. Mauchly e Herman H. Goldstine, nos 
Estados Unidos, construíram o ENIAC (Eletronic Numerical 
Integrator and Computer), considerado o primeiro computador 
programável universal.
 Durante a Segunda Guerra Mundial havia a necessidade, 
por parte do exército americano de desenvolver métodos mais 
rápidos para calculo das trajetórias e alcance das novas armas. 
Esse trabalho era feito manualmente, utilizando-se calculadores 
de mesa. O Army’s Ballistics Research Laboratory (BRL) utilizava 
cerca de 200 pessoas para resolver as equações necessárias, 
sendo que a preparação das tabelas para uma única arma poderia 
levar várias horas ou até mesmo dias de trabalho de uma única 
pessoa.
 Em 1943 foi aceito pelo exército americano o projeto 
para a construção do ENIAC. O ENIAC possuía aproximadamente 
17.480 válvulas de rádio,pesava 4 toneladas, media 30 metros 
de comprimento por 3 de largura e ocupava uma área de 
180m2, chegando a consumir 150 KW. Em contrapartida 
conseguia realizar 5 mil operações por segundo.
www.esab.edu.br 9
Figura 4: Parte do Galpão que abrigava o ENIAC.
O ENIAC era uma máquina decimal e não uma máquina binária, 
onde cada dígito era representado por um anel de 10 válvulas. A 
cada instante, apenas uma válvula ficava em estado “ON” (ligado), 
representando um dos dez dígitos. A principal desvantagem do 
ENIAC era que ele tinha que ser programado manualmente, 
ligando e desligando chaves e conectando e desconectando 
cabos. A programação do ENIAC era feita através de 6.000 chaves 
manuais. A cada novo cálculo, era preciso reprogramar várias 
destas chaves. Isso sem falar no resultado, que era dado de forma 
binária através de um conjunto de luzes. Não foi à toa que a maior 
parte dos programadores da época eram mulheres, só mesmo 
elas para ter a paciência necessária para programar e reprogramar 
esse emaranhado de chaves várias vezes ao dia.
O ENIAC funcionava da seguinte maneira: Primeiro um grupo de 
cientistas desenvolvia equações matemáticas, na exata sequência 
em que elas tinham que ser digeridas pelo sistema. A seguir seis 
especialistas programavam o computador para executá-las, 
girando botões de sintonia e plugando centenas de fios nas 
tomadas corretas. Portanto o que hoje é o sistema operacional, 
em 1946 era uma operação completamente manual. O primeiro 
www.esab.edu.br 10
teste do ENIAC – uma demonstração feita para generais das 
Forças Armadas – calculou a trajetória de uma bala de canhão até 
um alvo determinado. Alimentado com as equações, o computador 
forneceu os dados para que o canhão fosse calibrado. A bala 
acertou o alvo, mas o que impressionou os generais foi que o 
tempo que o computador levou para resolver. Foi menor que o 
tempo da trajetória da bala. O único problema do ENIAC era que 
para calcular a trajetória de outra bala, até um novo alvo, tudo 
tinha que ser refeito: das equações até o (re)acerto dos fios.
1945 a 1952 – EDVAC
J. Presper Eckert, John V. Mauchly (engenheiros eletrônicos) e 
Herman H. Goldstine com a consultoria de John von Neumann, 
Doutor em Matemática, pela Universidade de Budapeste, húngaro, 
naturalizado americano, especialista em Lógica, construíram o 
EDVAC (Eletronic Discrete Variable Computer. Em 1945 Von 
Neumann, que foi um dos principais consultores do projeto ENIAC, 
sugeriu que o sistema binário fosse adotado em todos os 
computadores, e que as instruções e dados fossem compilados e 
armazenados internamente no computador, na sequência correta 
de utilização. Estas sugestões tornaramse a base filosófica para 
projetos de computadores.
1946 – Manchester Mark I
 Max Newman e a equipe da Universidade de Manchester, 
na Inglaterra, que teve a participação de Alan Turing, construíram 
o Manchester Mark I, “primeiro computador que funcionou”, que 
teve “a primeira visualização na tela de dados contidos na memória” 
e o primeiro programa gravado executado em 21 de junho de 
1948. O Harvard Mark I, parcialmente financiado pela IBM. O Mark 
I tinha o nome técnico de Calculador Automático Sequencial 
Controlado, e foi construído entre 1939 e 1944, pelo professor 
Howard Aiken. O Mark I talvez tenha sido a maior máquina 
www.esab.edu.br 11
calculadora já construída (20 metros de comprimento por 3 de 
altura e 750 mil componentes). Independente dessa discussão a 
participação da IBM nos desenvolvimentos dos computadores é 
inegável. A IBM também teria outro destaque na história dos 
computadores por um acontecimento: foi em um Mark II em que 
ocorreu o primeiro bug.
 A palavra já vinha sendo usada como gíria, significando 
qualquer complicação, desde a Revolução Industrial. As máquinas 
eram instaladas em locais onde havia muitos insetos voando e 
havia grande chance de que algum inseto pousar em um lugar 
errado e causar estragos era grande, e qualquer parada mecânica 
era atribuída, a princípio, por bug. Com os computadores realmente 
foi um bug: Em 1945, uma mariposa conseguiu entrar num Mark II 
do Centro Naval de Virgínia, nos EUA, e travou todo o sistema, a 
partir daí o nome passaria a ser sinônimo de qualquer falha ou 
erro.
DICA
Assista ao vídeo “História dos Computadores” através do 
endereço:https://www.youtube.com/atch?v=slHVnhh9IW0. 
Vale à pena!
 
https://www.youtube.com/watch?v=slHVnhh9IW0
www.esab.edu.br 12
Figura 5: Imagem do inseto que ocasionou o primeiro bug.
www.esab.edu.br 13
 
 A máquina de Von Neumann (John von Neumann) é a 
arquitetura base utilizada pelos computadores atuais. É uma 
arquitetura de utilização genérica que permite resolver 
qualquer problema que se possa exprimir sob a forma de um 
algoritmo. Permite especificar programas que indicam as 
desejadas sequências de operações quedevem ser realizadas, 
sobre a informação representada em binário.
Figura 6: Arquitetura de Von Neumann
www.esab.edu.br 14
DICA
Caso queira saber mais sobre este importante cientista 
acesse o link: http://pt.wikipedia.org/wiki/John_von_
Neumann
A máquina proposta por Von Neumann reúne os seguintes 
componentes: Memória Principal, Central de Processamento 
(UCP), composta pela Unidade Lógica Aritmética (ULA) e a 
Unidade de Controle (UC) e Dispositivos de Entrada e Saída.
Figura 7: Máquina de John Von Neumann
Memória Principal
A unidade de memória central serve para guardar programas e 
dados, sob a forma de uma representação binária. Cada instrução 
da máquina é codificada como uma sequência de bits. Cada valor 
de certo tipo é codificado por uma determinada sequência de bits.
http://pt.wikipedia.org/wiki/John_von_Neumann
http://pt.wikipedia.org/wiki/John_von_Neumann
www.esab.edu.br 15
Figura 8: Sequência de bits armazenados na memória principal
Figura 9 – Exemplos de Memória Principal
Componentes de um Computador - Máquina de Von Neumann II
Unidade Central de Processamento (UCP)
A unidade de central de processamento (CPU – Central 
Processing Unit) trata do controle global das operações e da 
execução das instruções. Para esse efeito, a UCP contém as 
seguintes unidades internas:
•	 Unidade Lógica e Aritmética, ULA (ALU- arithmetic and logic 
unit): A ULA executa as principais operações lógicas e 
aritméticas do computador. Ela soma, subtrai, divide, 
determina se um número é positivo ou negativo ou se é zero. 
Além de executar funções aritméticas, uma ULA deve ser 
capaz de determinar se uma quantidade é menor ou maior 
www.esab.edu.br 16
que outra e quando quantidades são iguais. A ULA pode 
executar funções lógicas com letras e com números.
•	 Unidade de Controle – UC: Responsável por gerar todos os 
sinais que controlam as operações no exterior do CPU, e 
ainda por dar todas as instruções para o correto funcionamento 
interno do CPU.
 A unidade de controle executa três ações básicas intrínsecas e 
pré-programadas pelo próprio fabricante do processador, são elas: 
busca (fetch), decodificação e execução. Assim sendo, todo 
processador, ao iniciar sua operação, realiza uma operação cíclica, 
tendo como base essas três ações. Dependendo do tipo de 
microprocessador, a unidade de controle pode ser fixa ou programável.
 Cada instrução da máquina pode envolver:
•	 Operações aritméticas e lógicas
•	 Operações de transferência entre CPU e a Memória Central
•	 Operações de transferência entre CPU e Unidades de I/O
•	 Operações de controle da sequência de execução das 
instruções
Figura 10 – Exemplo de hardware de CPU
www.esab.edu.br 17
Entrada e Saída
As unidades periféricas destinam-se a suportar as ações de 
comunicação da CPU e memória com o exterior, daí, a sua 
designação de unidades de entrada e saída E/S (ou I/O – input / 
output).
 São exemplos, o teclado, o monitor, o mouse, a impressora, 
as interfaces de comunicação com redes de computadores. 
Também, há unidades periféricas destinadas ao armazenamento 
de dados, que, depois, são apresentados ao usuário, sob a formade arquivos, geridos pelos programas do Sistema Operacional. 
Exemplos: os discos rígidos, discos ópticos (CD/DVD), os discos 
flexíveis e as fitas magnéticas.
Exemplos de dispositivos de Entrada/Saída (Input/Output):
•	 Monitor Saída (Output)
•	 Teclado Entrada (Input)
•	 Impressora Saída (Output)
•	 Disco Rígido Entrada e Saída (Input/Output – I/O)
•	 Disco Flexível Entrada e Saída (Input/Output – I/O)
•	 Mouse Entrada (Input)
•	 Interface de Rede Entrada e Saída (Input/Output)
Figura 11 – Exemplos de dispositivos de E/S
www.esab.edu.br 18
DICA
Assista ao vídeo “Viagem dentro do computador” através 
do endereço:
https://www.youtube.com/watch?v=0A4CxxJ9h24.
https://www.youtube.com/watch?v=0A4CxxJ9h24
www.esab.edu.br 19
Identificar os conceitos de bit, byte, caractere e palavra e 
Representar numericamente, nos computadores, relação dos 
números reais com os números binários.
Toda informação introduzida em um computador, sejam dados 
que serão processados ou instrução de um programa, precisa 
ser entendida pela máquina, para que possa ser; corretamente, 
interpretada e processada. As informações apresentadas na 
forma de caracteres neste módulo de estudos, por exemplo, são 
entendidas porque o leitor conhece o significado dos símbolos, 
que representam os caracteres alfabéticos e os sinais de 
pontuação.
O computador, sendo um equipamento eletrônico, armazena e 
movimenta as informações internamente sob forma eletrônica; 
esta pode ser um valor de voltagem ou de corrente. Para que a 
máquina pudesse representar eletricamente todos os símbolos 
utilizados na linguagem humana, seriam necessários diferentes 
valores de voltagem (ou de corrente). Tal máquina certamente 
seria difícil de ser construída para fins comerciais e, possivelmente, 
teria muito baixa confiabilidade. Esta foi uma das grandes 
desvantagens do primeiro computador eletrônico construído, o 
ENIAC.
Von Neumann e equipe consideravam muito mais simples e 
confiável projetar um circuito capaz de gerar e manipular o menor 
número possível de valores distintos, capaz de entender apenas 
dois valores diferentes: 0 e 1. Dessa forma, os computadores 
digitais são binários. Toda informação introduzida em um 
computador é convertida para um algarismo binário ou dígito 
www.esab.edu.br 20
binário, conhecido como bit. O bit pode ter então somente dois 
valores: 0 e 1.
Figura 12: Representação do bit 0 e 1
Um caractere isolado não significa nada para nosso sentindo de 
comunicação, razão pela qual se criam palavras. Da mesma 
forma, as informações manipuladas por um computador são 
codificadas em grupos ordenados de bits, de modo a terem um 
significado útil. A primeira definição formal atribuída a um grupo 
ordenado de bits, para efeito de manipulação interna mais eficiente, 
foi instituída pela IBM e é, atualmente, utilizada por praticamente 
todos os fabricantes de computadores. Trata-se do byte, definido 
como um grupo ordenado de 8 bits, tratados de forma individual, 
como unidade de armazenamento e transferência.
 Como os computadores são máquinas binárias, todas as 
indicações numéricas referem-se a potências de 2 e não a 
potências de 10 (como no sistema métrico), por essa razão, a 
medida Kbyte representa 1.024 byte (2^10 = 1024 bytes = 8192 
bits) e não 1000 bytes, o Mbyte (abreviatura do termo mega) 
representa 1.048.576 bytes (valor igual a 1024 x 1024 ou 210 x 
210 = 220) e o giga, representado pelo caractere G, indica o valor 
igual a 1024 mega ou 1.048.576K ou 230.
www.esab.edu.br 21
Múltiplos de bytes
Prefixo binário (IEC) Prefixo do SI
Nome Símb. Múltiplo Nome Símb. Múltiplo
byte B 20 byte B 100
kibibyte(quilobyte) KiB 210 quilobyte KB 103
mebibyte(Mbyte) MiB 220 megabyte MB 106
gibibyte(gigabyte) GiB 230 gigabyte GB 109
tebibyte(terabyte) TiB 240 terabyte TB 1012
pebibyte(petabyte) PiB 250 petabyte PB 1015
exbibyte(exabyte) EiB 260 exabyte EB 1018
zebibyte(zettabyte) ZiB 270 zettabyte ZB 1021
yobibyte(yottabyte) YiB 280 yottabyte YB 1024
Figura 13: Múltiplos de bytes
 
Saiba Mais
Caso queira saber mais sobre bit, byte, suas potências e 
conversões, acessem o endereço:
http://pt.wikipedia.org/wiki/Byte
www.esab.edu.br 22
Na computação também se criou o conceito de palavra. Assim, 
além do bit e do byte, temos o conceito relacionado com o 
armazenamento e a transferência de informações.
Figura 14: Bit, Byte e Palavra.
A palavra nos computadores é um valor fixo e constante para um 
dado processador (16, 32 ou 64 bits). De modo geral, usam-se 
dois valores diferentes: um relacionado à unidade de 
armazenamento – o byte; e outro para indicar a unidade de 
transferência e processamento – a palavra. Em geral, o computador 
processa valores representados por uma quantidade de bits igual 
à palavra, indicando assim a capacidade de processamento do 
sistema, por exemplo, 32 bits ou 64 bits. Uma palavra deve 
representar um dado ou uma instrução, que pode ser processada, 
armazenada ou transferida em uma única operação.
Representação Numérica
Os sistemas numéricos são sistemas de notação usados para 
representar quantidades abstratas denominadas números. Usa-
se a base para definir o sistema numérico e esta indica a quantidade 
de símbolos existentes. No dia a dia usa-se 10 símbolos numéricos 
(de 0 até 9), que formam o sistema numérico decimal.
www.esab.edu.br 23
O Sistema Decimal
Na base decimal os números expressam potências de 10 em sua 
representação, como se pode observar nos exemplos abaixo:
Número ... 103 
*
 102 
*
101 
*
100 
*
10-1 
*
10-2 
*
...
1758 1 + 7 + 5 + 8 + +
O significado de cada número é:
1758 = (1 * 103) + (7 * 102) + (5 * 101) + (8 * 100) =
= 1000 + 700 + 50 + 8 = 1758
O Sistema Binário
Pelo fato do microcomputador ser constituído de componentes 
eletrônicos digitais, torna-se necessário o uso de um sistema 
numérico com 2 dígitos: o sistema binário. O sistema binário, ou 
de base 2, funciona de maneira análoga ao decimal, porém com 
apenas dois dígitos, 0 e 1. Neste caso, o dígito 0 é representado 
pela não presença de tensão elétrica enquanto o 1 pela presença 
de tensão elétrica. Os dígitos de um sistema binário são chamados 
de bit, de Binary digit (dígito binário).
A representação de números em bases diferentes pode induzir à 
confusão, portanto coloca-se um número subscrito para indicar a 
base de numeração adotada. Por exemplo, 7410 e 32310 são 
números representados na base decimal; 100112 e 1012 são 
números representados na base binária.
Conversão de base binária para decimal
Para se converter um número, na base binária para a base decimal, 
deve-se escrever cada número que compõe (o bit), multiplicado 
pela base2 (base do sistema), elevado à posição que ocupa. Uma 
posição à esquerda da vírgula representa uma potência e à direita, 
uma potência negativa. A soma de cada multiplicação de cada dígito 
binário pelo valor das potências resulta no número real representado.
www.esab.edu.br 24
Por exemplo:
1 0 1 12 = (1 * 2
3) + ( 0 * 22) + ( 1 * 21) + ( 1 * 20) = 1110
1 0 02 = (1 * 2
2) + (0 * 21) + (0 * 20) = 410
Conversão de base decimal para binária
Para converter números decimais em binários, deve-se tratar o 
quociente e a parte fracionaria separadamente. Por exemplo, para 
converter 5310 em binário faz-se:
Operação Quociente Resto
53/2 26 1
26/2 13 0
13/2 6 1
6/2 3 0
3/2 1 1
½ 0 1
O resultado é a montagem do número a partir do último resto da 
divisão para o primeiro, ou seja, 5310 = 1 1 0 1 0 12.
O Sistema Hexadecimal
Embora o sistema binário seja conveniente para os computadores, 
é excessivamente inconveniente para os seres humanos. Por isto 
a notação hexadecimal é preferida pelos profissionais de 
computação. A base decimal, embora mais compacta que a 
binária, é desconfortável devido à tediosa conversão entre as 
bases. Neste caso, adotou-se uma notação conhecida como 
hexadecimal, onde os dígitos binários são agrupados em conjuntos 
de quatro. A cada combinação possível de quatro dígitos binários 
é atribuído um símbolo.
www.esab.edu.br25
0000 = 0 1000 = 8
0001 = 1 1001 = 9
0010 = 2 1010 = A
0011 = 3 1011 = B
0100 = 4 1100 = C
0101 = 5 1101 = D
0110 = 6 1110 = E
0111 = 7 1111 = F
Conversão de base binária para hexadecimal
Para converter números binários em hexadecimal deve-se agrupar 
os dígitos binários quatro a quatro, a partir da vírgula binária e 
substituir cada grupo pelo seu equivalente hexadecimal.
0100 1111 11002 = 4FC16
4 F C
Conversão de base hexadecimal para binária
Para converter hexadecimal em binário, deve-se substituir cada 
dígito hexadecimal pelo binário equivalente de quatro dígitos.
DEA16 = 1101 1110 10102
 D E A
www.esab.edu.br 26
 
As operações em base 2 podem ser feitas utilizando-se as mesmas 
técnicas empregadas na aritmética em base 10 - o raciocínio é 
exatamente o mesmo. O método apresentado é o mais fácil para 
os seres humanos resolverem problemas envolvendo números 
binários. Para os computadores, a adição e multiplicação são 
implementadas utilizando-se circuitos que são análogos às 
técnicas utilizadas pelos seres humanos.
A operação de soma de dois números em base 2 é efetuada 
levando-se em conta que só há dois algarismos disponíveis (0 e 
1). Abaixo, todas as possibilidades:
0 + 0 = 0
1 + 0 = 1
0 + 1 = 1
1 + 1 = 0, e vai “um” ou 1 02
Um exemplo da soma de dois números na base binária: 10012 + 
01012:
1
1 0 0 1
+ 0 1 0 1
1 1 1 0
<= Transporte do Bit (vai 
1)
910
510
1410
Um mais um é igual a zero e “vai um”. O resultado corresponde 
exatamente ao valor esperado da base. A subtração em base 2 é mais 
complexa por dispormos somente dos algarismos 0 e 1 e, com isso, 0 - 
1; necessita de “pedir emprestado”, de um valor igual à base, no nosso 
caso 2, obtido do próximo algarismo diferente de zero à esquerda. A 
operação é exatamente a mesma de uma subtração na base decimal.
www.esab.edu.br 27
Exemplo:
-1
1 1 0 1 1 0
- 1 1 0 0
1 0 1 0 1 0
(“vai um”)
Overflow ou estouro do limite
 Nos exemplos acima não é levado em consideração qualquer 
limite ou quantidade máxima de algarismos permitida para um 
dado registrador. Quando uma operação aritmética resulta em um 
valor acima do limite máximo possível, trata-se do problema 
denominado overflow ou estouro do limite. Quando resultado de 
uma adição pode ter um número de bits maior que o da palavra 
utilizada esta condição é denominada overflow. Quando ocorre 
um overflow, o processador deve sinalizar este fato, para que o 
resultado não seja usado.
Exemplo:
 Somar os números 1510 + 4910 num registrador de 6 bits:
1 1 1 1 1 1 (“vai um”)
15 = (0 0 1 1 1 1)2
49 = (1 1 0 0 0 1)2
64 = (0 0 0 0 0 0)2
 Neste caso o valor esperado (64) não pode ser representado 
em um registrador de 6 bits.
Representação de Sinal Negativo I
Todos os exemplos citados nas unidades anteriores se referenciam a 
números positivos. Os números positivos possuem sempre a 
mesma representação (conforme descrito nas unidades anteriores). 
Para representar números negativos, há três formas convencionadas:
www.esab.edu.br 28
Sinal e Magnitude
Na representação sinal e magnitude o bit mais à esquerda de um 
número binário é reservado para indicar se o número é positivo ou 
negativo e é conhecido como bit de sinal, onde, convencionalmente, 
“0” indica um número positivo e “1” um número negativo. O restante 
indica a magnitude do número (ou seu valor absoluto).
Figura 15: Representação de Números Inteiros em Sinal e 
Magnitude
Por exemplo, para representar o número - 7 em um registrador de 
6 bits:
- 7 = 1 0 0 1 1 1
 O primeiro bit foi usado para representar o sinal (negativo) e 
apenas 5 bits foram usados para representar o valor absoluto (7). 
De forma geral pode-se expressar a faixa de um número da 
seguinte forma:
Como exemplo, para um registrador de 6 bits (n = 6), os limites de 
representação serão:
de –(26-1 -1) a +(26-1 -1)
de –(25 -1) a +(25 -1)
Faixa: de -31 a +31
A representação sinal-magnitude apresenta vantagens em relação 
à inversão de um número (basta inverter o bit de sinal) e em 
relação à determinar se o número é positivo ou negativo (basta 
verificar o bit de sinal). Esta representação apresenta algumas 
desvantagens. O número zero pode ser representado de duas 
maneiras distintas:
+010 = 00002
- 010 = 10002
 
www.esab.edu.br 29
Por conta desta desvantagem, a representação sinal/magnitude 
normalmente não é usada na implementação da ULA (Unidade 
Lógica Aritmética). 
Há também a possibilidade de ocorrer overflow sem a ocorrência 
do “vai um” para fora do limite do registrador. Sem que haja um 
estouro do limite máximo do registrador. Por exemplo, se quisermos 
representar a soma de “15 + 17 = 32” com um registrador de 6 bits 
ocorrerá um overflow, pois como visto, no primeiro exemplo desta 
unidade, a faixa de valores possíveis para 6 bits é de -31 a +31.
+15 = 0 0 1 1 1 1
+17 = 0 1 0 0 0 1
1 0 0 0 0 0
Ocorreu overflow, pois os bits da magnitude não foram suficientes 
para representar o valor desejado. Mas não houve estouro da 
capacidade do registrador, apenas mudou o bit do sinal.
Representação em complemento a um
Para se achar a representação em complemento a um, deve-se 
inverter todos os bits do número, incluindo o do sinal. Por exemplo, 
o número +3 para -3, representado em “complemento a um” em 
um registrador de 6 bits:
+3 = 0 0 0 0 1 1
-3 = 1 1 1 1 0 0 -> (complemento a um – todos os bits invertidos)
Esta representação possui vantagem sobre o sinal e a magnitude, 
pois há apenas um componente para soma e subtração, diminuindo 
custo e o tempo de execução. Entretanto, assim como em sinal e 
magnitude, há duas representações para o número zero.
www.esab.edu.br 30
 
Representação em complemento de dois
 Nesta representação, o número negativo (ou a negação de 
um número) é obtido em dois passos:
•	 Primeiro passo: Obtém-se o complemento de todos os bits 
do número positivo (trocando 0 por 1 e vice-versa) incluindo 
o bit do sinal (complemento a um)
•	 Segundo passo: Ao resultado obtido no primeiro passo 
soma-se 1 (em binário), desprezando-se o último transporte, 
se existir.
 Por exemplo: Abaixo a representação em Complemento de 
2 do número +10 para -10 em um registrador de 8 bits:
+10 = 0 0 0 0 1 0 1 0
Primeiro passo -10 = 1 1 1 1 0 1 0 1
Segundo passo + 1
Resultado -10 = 1 1 1 1 0 1 1 0
 As propriedades importantes da representação em 
complemento de 2 são:
•	 O sinal é determinado pelo bit mais significativo;
•	 Negar um número duas vezes produz o número original;
•	 O número zero tem apenas uma representação;
•	 Somar as representações em complemento de 2 de um 
número positivo e de um negativo (descartando-se o 
transbordo) fornece o resultado correto na representação 
em complemento de 2. Além disto, a subtração é tratada 
como uma adição.
 
www.esab.edu.br 31
Um número representado em complemento de 2 pode assumir a 
seguinte faixa de valores:
 A faixa de representação neste caso é assimétrica:
•	 Para o caso de 8 bits (byte), a faixa é: 
•	 Para 16 bits (Word), a faixa é: 
•	 Para 32 bits (double word), a faixa é: 
 A principal vantagem é ter uma única representação para o 
número 0. Por exemplo, para representar o número zero em um 
registrador de 6 bits:
0 = 0 0 0 0 0 0
Primeiro passo -0 = 1 1 1 1 1 1
Segundo passo + 1
Resultado -0 = 1 0 0 0 0 0 0
 
O último transporte ou transbordo (1) é desprezado. Portanto, o 0 
e o -0 tem uma mesma representação. O método de representação 
em complemento de dois é o mais utilizado para representar 
números negativos.
Sistema de Memória
Memória tem papel crítico no desempenho de um sistema 
computacional. Ela recebe dados e transfere para processador, e 
vice-versa. Como a cada ciclo de instrução em uma máquina Von 
Neumann requer que o processador obtenha o código da instrução 
e seus operandos, a velocidade de transferência de itens da 
memória para o processador é, de fato, crítica.
Devido a grande variedade de características desejadas e dos 
diferentes tipos de memória não é possível implementar um 
sistemade computação com uma única memória. Na realidade, 
www.esab.edu.br 32
há muitas memórias no computador, as quais se interligam de 
forma bem estruturada; constituindo um sistema em si, parte do 
sistema global e podendo ser denominada subsistema de memória. 
As principais características tecnológicas que diferenciam os 
vários tipos de dispositivos de memória incluem: custo, tempo e 
modo de acesso e persistência do armazenamento.
Hierarquia de Memórias
Para um funcionamento correto e eficaz da manipulação das 
informações (instruções e dados de um programa) de e para a 
memória de um computador, verifica-se necessidade de diferentes 
tipos de memória. Para certas atividades, a transferência de 
informações é a mais rápida possível (Como por exemplo, 
execução das instruções no processador), em outros casos, a 
rapidez não é fator fundamental, mas sim a capacidade de 
armazenamento. No sentido de atender as diferentes características 
necessárias a um sistema de armazenamento, com uma relação 
custo/benefício atraente, as diferentes tecnologias de fabricação e 
armazenamento de dados são utilizadas e organizadas de forma 
hierárquica.
Figura 16: Hierarquia de sistemas de memórias.
 Os principais parâmetros de análise das características das 
memórias serão apresentados como segue:
•	 Tempo de acesso: indica quanto tempo à memória gasta 
no barramento de dados após uma determinada posição ter 
www.esab.edu.br 33
sido endereçada. É o período de tempo decorrido desde o 
instante em que foi iniciada a operação, até que a informação 
seja disponibilizada.
•	 Tempo de ciclo de memória: período de tempo decorrido 
entre duas operações sucessivas de acesso de leitura ou 
escrita na memória.
•	 Capacidade: é a quantidade de informação que pode ser 
armazenada na memória; a unidade de medida mais comum 
é o byte, embora também possam ser usadas outras 
unidades como células, setores, etc. O tamanho da memória 
(sua capacidade) indica o valor numérico total de elementos 
de forma simplificada, através da inclusão de K (kilo), M 
(mega), ou T (tera).
•	 Volatilidade: memórias podem ser do tipo volátil ou não 
volátil. Uma memória não volátil é a que retém a informação 
armazenada quando a energia elétrica é desligada. Memória 
volátil é aquela que perde a informação armazenada, quando 
a energia elétrica é desligada.
 Registradores e memória RAM são memórias voláteis. 
Memórias magnéticas, óticas e também as do tipo ROM, EPROM 
são memórias do tipo não volátil.
•	 Tecnologia de fabricação: ao longo do tempo diversas 
tecnologias vêm sendo desenvolvidas para fabricação de 
memórias. Entre as mais conhecidas temos as memórias de 
semicondutores, as memórias de meio magnético as 
memórias de meio ótico.
•	 Temporariedade: diz respeito ao tempo de permanência da 
informação em um dado tipo de memória.
•	 Custo: o custo de fabricação de uma memória é bastante 
variado em função de diversos fatores, entre os quais se 
pode mencionar, principalmente: tecnologia de fabricação, 
que resulta em um maior ou menor tempo de acesso, ciclo 
de memória, etc. Uma boa unidade de medida de custo 
www.esab.edu.br 34
preço por byte armazenado, em vez do custo total da 
memória em si. Isto porque, devido às diferentes capacidades 
de armazenamento, seria irreal considerar, para comparação, 
custo pelo preço da memória em si.
www.esab.edu.br 35
Conhecer a história do computador e Conhecer o computador no 
século XX; Conhecer a estrutura da arquitetura da Máquina de 
Von Neumann e Saber mais dados sobre a Arquitetura da Máquina 
de Von Neumann; Identificar os conceitos de bit, byte, caractere e 
palavra e Representar numericamente, nos computadores, relação 
dos números reais com os números binários; Conhecer as técnicas 
para efetuar operações matemáticas com os números binários e 
Entender Sinal e Magnitude; Complemento a um e Entender 
Complemento de dois e Reconhecer a hierarquia das memórias: 
organização e características.
www.esab.edu.br 36
 
Classificar as Memórias quanto à leitura e escrita e o funcionamento 
com as características da Memória Principal do computador; 
Conhecer o funcionamento da memória cache e a sua relação 
com a memória principal e Identificar a Representação da Instrução 
e a análise do Ciclo da Instrução; Conhecer o funcionamento dos 
registradores especiais do processador, responsáveis por 
organizarem o controle da execução das instruções e os tipos de 
modos de endereçamento; Entender o que significa Pipelining e a 
organização da interface de E/S; Identificar o controle das conexões 
entre o processador, a memória e os outros dispositivos e as 
diferentes formas de Comunicação da Informação, pelos 
dispositivos do computador.
www.esab.edu.br 37
 
 Quanto à leitura e escrita, as memórias podem ser 
classificadas como:
•	 R/W - Read and Write (memória de leitura e escrita), 
comumente chamada de RAM (Random Access Memory ou 
memória de acesso aleatório).
 Esta memória permite operações de escrita e leitura pelo 
usuário e pelos programas. Seu tempo de acesso é da ordem de 
poucos nano segundos (ns) e independe do endereço acessado. 
É construída com tecnologia de semicondutores (bipolar, CCD), 
pode ser estática (SRAM) ou dinâmica (DRAM) e é volátil. A MP é 
construída com memória R/W.
•	 ROM - Read Only Memory ou memória apenas de leitura. 
Esta memória permite apenas a leitura e uma vez gravada 
não pode mais ser alterada. Também é de acesso aleatório 
e não volátil, portanto também é uma RAM. É utilizada 
geralmente por fabricantes para gravar programas que não 
se deseja permitir que o usuário possa alterar ou apagar 
acidentalmente (por ex: a BIOS - Basic Input Output System 
e microprogramas de memórias de controle).
Quando se liga uma máquina, é da ROM que vem os 
programas que são carregados e processados no “boot” (na 
inicialização o hardware aponta automaticamente para o 
primeiro endereço da ROM). Desta forma, parte do espaço 
de endereçamento da MP é ocupada pela ROM. A ROM é 
mais lenta que a R/W e é barata, porém o processo produtivo 
depende de ser programada por máscara (“mask 
programmed”) em fábrica e devido ao alto custo da máscara 
somente se torna econômica em grandes quantidades.
www.esab.edu.br 38
•	 PROM - Programmable Read Only Memory ou memória 
apenas de leitura, programável. Esta memória é uma ROM 
programável (em condições e com máquinas adequadas, 
chamadas queimadores de PROM) e geralmente é comprada 
“virgem” (sem nada gravado), sendo muito utilizada no 
processo de testar programas no lugar da ROM, ou sempre 
que se queira produzir ROM em quantidades pequenas. 
Uma vez programada (em fábrica ou não), não pode mais 
ser alterada.
•	 EPROM - Erasable Programmable Read Only Memory ou 
memória apenas de leitura, programável (com queimadores 
de PROM) e apagável (com máquinas adequadas, à base 
de raio ultrvioleta). Esta memória é uma PROM apagável. 
Tem utilização semelhante à da PROM, para testar programas 
no lugar da ROM, ou sempre que se queira produzir ROM 
em quantidades pequenas, com a vantagem de poder ser 
apagada e reutilizada.
•	 EEPROM (ou E2PROM) - Electrically Erasable Programmable 
Read Only Memory ou memória apenas de leitura, 
programável e eletronicamente alterável. Também chamada 
EAROM (Electrically Alterable ROM). Esta memória é uma 
EPROM apagável por processo eletrônico, sob controle da 
UCP, com equipamento e programas adequados. É mais 
cara e, é geralmente, utilizada em dispositivos aos quais se 
deseja permitir a alteração, via modem; possibilitando a 
carga de novas versões de programas à distância ou então, 
para possibilitar a reprogramação dinâmica de funções 
específicas de um determinado programa, geralmente 
relativas ao hardware (p.ex., a reconfiguração de teclado ou 
de modem, programação de um terminal, etc.).
www.esab.edu.br 39
Tipos de Memórias II – Memória Principal
Memória Principal é a parte do computador onde programas e 
dados são armazenados para processamento. A informaçãopermanece na Memória Principal apenas enquanto for necessário 
para seu emprego pela UCP, sendo então a área da MP liberada 
para ser posteriormente utilizada por outra informação. Quem 
controla a utilização da Memória Principal é o Sistema Operacional. 
Uma das principais características definidas no projeto de 
arquitetura de Von Neuman consistia no fato de ser uma máquina 
“de programa armazenado”. O fato das instruções, uma após a 
outra, poderem ser imediatamente acessadas pela UCP é que 
garante o automotismo do sistema e aumenta a velocidade de 
execução dos programas.
A memória precisa ter uma organização que permita ao computador 
guardar e recuperar informações quando necessário. Não teria 
nenhum sentido armazenar informações que não fosse possível 
recuperar depois. Portanto, não basta transferir informações para 
a memória. É preciso ter como encontrar essa informação mais 
tarde, quando ela for necessária, e para isso é preciso haver um 
mecanismo que registre exatamente onde a informação foi 
armazenada, este mecanismo é conhecido como Célula.
Célula é a unidade de armazenamento do computador. A Memória 
Principal é organizada em células que é a menor unidade da 
memória que pode ser endereçada (não é possível buscar uma 
“parte” da célula) e tem um tamanho fixo (varia conforme a 
arquitetura da máquina). As memórias são compostas de um 
determinado número de células ou posições e cada célula é 
composta de um determinado número de bits. Cada célula é 
identificada por um endereço único, pela qual é referenciada pelo 
sistema e pelos programas. As células são numeradas 
sequencialmente, uma a uma, de 0 a (N-1), chamado o endereço 
da célula.
www.esab.edu.br 40
A estrutura da Memória Principal é um problema do projeto de 
hardware:
- mais endereços com células menores ou
- menos endereços com células maiores?
 O tamanho mais comum de célula era 8 bits (1 byte); hoje 
são comuns células contendo vários bytes.
Endereço da célula
Célula de dados (8 
bits)
0 0 1 1 0 0 0 1 0
1 1 0 1 1 1 0 0 1
2 0 1 1 0 0 0 1 0
3 0 1 1 0 0 0 1 0
4 1 0 1 1 1 0 0 1
5 0 1 1 0 0 0 1 0
... ...
N N
Capacidade da Memória Principal
A capacidade da MP em bits é igual ao produto do nº de células 
pelo total de bits por célula.
T = N x M
T = capacidade da memória em bits
N = nº de endereços
M = nº de bits de cada célula
Para encontrar a capacidade em bytes, bastaria encontrar a 
capacidade em bits e depois dividir por 8 (cada byte contém 8 bits) 
ou então converter o tamanho da célula para bytes e depois 
multiplicar pelo número de células. O último endereço na memória 
é o endereço N-1 (os endereços começam em zero e vão até 
N-1).
www.esab.edu.br 41
Objetivo: Conhecer o funcionamento da memória cache e a sua 
relação com a memória principal e Identificar a Representação da 
Instrução e a análise do Ciclo da Instrução.
Cache é uma memória especial de alta velocidade projetada para 
acelerar o processamento das instruções dadas à Memória 
Principal pela CPU. A CPU pode acessar instruções e dados 
localizados na memória cache muito mais rapidamente do que na 
memória principal. Para a CPU processar uma instrução é 
necessário que esta seja carregada no registrador de instrução e 
seus operandos sejam trazidos da memória para os demais 
registradores. Enquanto estes acessos à Memória Principal (MP) 
são feitos, a CPU tem que ficar esperando que os dados sejam 
disponibilizados. Para que a MP não seja um gargalo que limite a 
velocidade de processamento da CPU; foi criado um esquema de 
utilização de memória Cache, que é muito mais rápida que a 
principal, com tempos de acesso compatíveis com a velocidade 
da CPU, e que serve para guardar as últimas posições de memória 
acessadas.
Figura 17: Memória cache e memória principal.
Como a experiência nos mostra que a reutilização dos mesmos 
dados ou instruções é muito intensa, este processo aumenta o 
desempenho do sistema de computação. O chamado princípio da 
localidade está por trás da maneira como os programas operam. 
www.esab.edu.br 42
Este princípio estabelece que os programas acessem uma parte 
relativamente pequena do seu espaço de endereçamento em um 
instante qualquer. Existem dois diferentes tipos de localidade:
•	 localidade temporal: se um item é referenciado, ele tende a 
ser referenciado novamente dentro de um curto espaço de 
tempo.
•	 localidade espacial: se um item é referenciado, itens cujos 
endereços sejam próximos a eles tendem a ser logo 
referenciados.
 No exemplo abaixo, certo programa é constituído de um 
grupo de instruções iniciais realizadas em sequência (Sequência 
1) dois loops e o resto do código (Sequência 2). Assim, quando o 
programa é iniciado as instruções da sequência 1 são 
consecutivamente executadas uma após a outra até que a região 
de código constituída pelo loop 1 seja executada. A localidade 
espacial aparece explicitamente na execução de cada uma das 
sequências. A localidade temporal, por sua vez, pode ser percebida 
quando da execução de qualquer um dos loops, cuja sequência 
de instruções nele contidas será executada de tempos em tempos 
(a cada repetição do laço).
Figura 18: Exemplo de Princípio de localidade.
www.esab.edu.br 43
Exemplo dos princípios de localidade espacial e temporal
Quando o processador solicita um item de dado gerando uma 
referência para seu endereço, que pode ser físico ou virtual, o 
gerenciador de memória requisita este item do cache. Duas 
situações podem ocorrer:
1. Cache hit - Acerto: o item está presente no cache, é retornado 
para o processador praticamente sem período de latência;
2. Cache miss - Falta ou Falha: o item não está presente no 
cache e o processador deve aguardar item ser buscado da 
memória principal.
A taxa de acertos, ou razão de acertos, corresponde à fração dos 
acessos à memória encontrados no nível superior, e com frequência 
é usada como medida de performance da hierarquia de memória. 
A taxa de faltas é a fração de acessos à memória não encontrados 
no nível superior (na cache). Define-se como tempo de acerto o 
tempo necessário para acessar o nível superior da hierarquia 
(cache), que inclui o tempo necessário para determinar se o 
acesso a informação vai gerar um acerto ou uma falta.
A penalidade por falta é o tempo necessário para substituir um dos 
blocos do nível superior, pelo bloco do nível inferior contendo a 
informação desejada, mais o tempo para enviar a informação ao 
processador. Em razão do nível superior (cache) ser menor e de 
ser constituído de memórias mais rápidas, o tempo de acerto é 
muito menor que o tempo necessário ao nível mais baixo da 
hierarquia (MP). Justamente este tempo de acesso é o maior 
tempo dentro da penalidade por falta.
Para que haja aumento de desempenho, com a inclusão da 
memória cache, é necessário que exista mais acertos do que 
faltas. Isto implica no dimensionamento adequado da memória 
cache como um todo e principalmente do tamanho de cada bloco.
www.esab.edu.br 44
Saiba Mais
Assista aos vídeos “Como um computador funciona (parte 
1 e 2)” através do endereço: https://www.youtube.com/
watch?v=VTMui8RkVXU.
https://www.youtube.com/watch?v=VTMui8RkVXU. 
https://www.youtube.com/watch?v=VTMui8RkVXU. 
www.esab.edu.br 45
 
Dentro da UCP existe um conjunto de registradores que tem duas 
funções:
•	 Possibilitar ao programador de linguagem de montagem ou 
de máquina minimizar referências à memória. São os 
registradores visíveis para o usuário.
•	 Controlar as operações da CPU. São usados por programas 
privilegiados do sistema operacional e pela unidade de 
controle, para controlar a execução de programas. São os 
Registradores de controle e estado.
Registradores visíveis para o usuário
Registradores visíveis ao usuário são aqueles que armazenam as 
informações que estão sendo processadas em um determinado 
instante e podem ser referenciados pela linguagem de máquina 
que a CPU executa. Podem ser classificados nas seguintes 
categorias:
•	 Registradores de Uso Geral
•	 Registradores deDados
•	 Registradores de Endereços
A quantidade e função de registradores existentes variam de 
acordo com o modelo do processador e de acordo com o fabricante. 
Os registradores de uso geral podem ser usados para uma 
variedade de funções, em alguns casos, podem ser usados para 
endereçamentos. Em outros, existe uma separação clara ou 
parcial entre registradores de dados e registradores de endereços.
www.esab.edu.br 46
Registradores de dados podem ser usados apenas para conter 
dados e não podem ser usados no cálculo de endereçamentos 
dos operandos. Registradores de endereços podem ser 
empregados, até certo ponto, como registradores de: Propósito 
Geral ou podem ser dedicados para um determinado modo de 
endereçamentos. Alguns exemplos são:
•	 Registradores de Segmento: tem como finalidade indicar 
ao processador o endereço de um determinado segmento.
•	 Registradores de índices: são usados para endereçamento 
indexado, possivelmente com autoindexação.
•	 Apontador de topo de pilha: se houver endereçamento de 
operandos na pilha visível para o usuário, então a pilha será 
alocada na memória e existirá um registrador dedicado que 
aponta para o topo da pilha. Com isso, as operações de 
empilhar e desempilhar não requer um operando explícito.
Uma questão importante de projeto do conjunto de registradores 
é decidir se serão de uso geral ou se terão uso específico. Com o 
uso de registradores especializados, o tipo de registrador 
referenciado como operando de uma instrução geralmente é 
implícito, sendo determinado pelo código de operação. Com isso 
o campo do operando apenas identifica um registrador de um 
conjunto de registradores especializados, com economia de 
alguns bits de instrução. O outro lado desta questão é que a 
especialização limita a flexibilidade de programação.
Outra questão importante é a quantidade de registradores a serem 
disponibilizados, seja para uso geral, seja para registradores de 
dados e de endereços. Um número muito pequeno de registradores 
resulta em mais referências à memória. Um número muito grande, 
por outro lado, não reduz significativamente o número de 
referências à memória. O número adequado parece estar entre 8 
e 32 registradores (STALLINGS, 2002). O tamanho do registrador 
deve ser suficiente para acomodar o maior endereço usando no 
sistema, no caso de registrador de endereços. No caso de 
www.esab.edu.br 47
registrador de dados, deve ser capaz de conter a maioria dos tipos 
de dados.
Registradores de Controle e Estado
São registradores empregados para controlar a operação da CPU 
e são usados para a transferência de dados entre a CPU e a 
memória. Quatro registradores são essenciais para a execução 
das instruções:
•	 Contador de Instrução (CI): tem a finalidade de indicar a 
próxima instrução a ser executada, sendo automaticamente 
atualizado pelo processador após a busca da instrução. A 
instrução buscada é carregada no RI.
•	 Registrador de Instrução (RI): contém a última instrução 
buscada. É onde o código de operação e as referências a 
operando são analisadas.
•	 Registrador de Endereçamento à Memória (MAR): contém 
o endereço de uma posição de memória. A troca de dados 
com a memória é feita usando o MAR e o MBR. Em um 
sistema com barramento, o MAR é conectado diretamente 
ao barramento de endereço.
•	 Registrador de armazenamento temporário de dados 
(MBR): contém uma palavra de dados a ser escrita na 
memória ou a palavra lida mais recentemente.
Representação e Ciclo de Instrução
Representação da Instrução
Quem executa um programa é o hardware e o que ele espera 
encontrar é um programa em linguagem de máquina (uma 
sequência de instruções de máquina em código binário). Um 
programa em linguagem de alto nível não pode ser executado 
www.esab.edu.br 48
diretamente pelo hardware, pois ele tem que ser transformado 
para linguagem de máquina, antes de ser carregada para memória, 
para que o hardware possa executá-lo. A linguagem de máquina é 
composta de códigos binários, representando instruções, 
endereços, dados e está totalmente vinculada ao conjunto (set) de 
instruções da máquina.
 Funcionalmente, as operações do computador são:
•	 Matemáticas (aritméticas, lógicas, de complemento, de 
deslocamento.)
•	 Movimentação de dados (entre memória e registrador)
•	 Entrada-saída (leitura e escrita em dispositivos externos - 
dispositivos de Entrada / Saída)
•	 Controle (desvio da sequência de execução, parar, entre 
outros)
Cada uma das instruções tem um código binário associado, que é 
o Código da Operação.
Formato das Instruções
A instrução é composta de Código de Operação e zero, um ou 
mais Operandos:
Código de operação 
(OPCODE)
Operando 1 
(OP1)
OP 
2
OP 
3...
Código de Operação ou OPCODE - identifica a operação a 
ser realizada pelo processador. É o campo da instrução cujo 
valor binário identifica a operação a ser realizada. Cada 
instrução deverá ter um código único que a identifique.
•	 Operando(s) - é o campo da instrução cujo valor binário 
sinaliza a localização do dado (ou é o próprio dado) que será 
manipulado (processado) pela instrução durante a operação. 
Em geral, um operando identifica o endereço de memória 
onde está contido o dado que será manipulado. Um operando 
pode também indicar um Registrador (que conterá o dado 
www.esab.edu.br 49
propriamente dito ou um endereço de memória onde está 
armazenado o dado). Os operandos fornecem os dados da 
instrução.
Obs.: Existem instruções que não têm operando. Ex.: Instrução 
HALT (PARE).
Há diversos formatos de instruções, com características 
particulares, vantagens e desvantagens. O conjunto de instruções 
de uma máquina pode ser constituído por instruções de diversos 
formatos. Esta flexibilidade permite a escolha da instrução 
adequada para aplicação em cada caso.
Conjunto de instruções que pode ser analisado sob alguns 
aspectos, por exemplo:
- quantidade de instruções
- quantidade de operandos
- modo de endereçamento (é a forma de sinalizar a localização de 
um dado, conhecido como “Modos de Endereçamento”).
Ciclo de Instrução
O processamento necessário para a execução de uma instrução 
é chamado de ciclo de instrução. De forma simplificada pode-se 
entender o ciclo de instrução como composto de dois passos 
básicos: ciclo de busca e o ciclo de execução. De forma mais 
geral, o ciclo de instrução é formado pelos seguintes passos:
•	 Busca da próxima instrução no endereço da memória 
principal apontado pelo CI e armazenamento da mesma no 
RI.
•	 Atualização do CI, fazendo-o apontar para a instrução 
seguinte (CI= CI +1).
•	 Determinação do tipo de instrução armazenada no RI.
•	 Se a instrução precisa de operandos armazenados na 
memória principal, os seus endereços devem ser 
determinados.
•	 Caso necessário, busca os operandos na memória principal.
•	 Execução da instrução.
www.esab.edu.br 50
•	 Retorno ao primeiro passo, para iniciar a execução da 
instrução seguinte.
 
Figura 19: Ciclo de instrução básico.
Modos de Endereçamento
Na unidade anterior foi descrito o formato básico de instruções de 
máquina e o ciclo de execução de cada instrução, concluindo que:
1. O endereçamento de uma instrução é sempre realizado 
através do valor armazenado no Contador de Instrução (CI). 
Todo o ciclo de instrução é iniciado pela transferência da 
instrução para o Registrador de Instrução (RI);
2. Toda instrução consiste em uma ordem codificada (código 
de operação), para o processador executar uma operação 
qualquer sobre os dados;
3. A localização do(s) dado(s) pode estar explicitamente 
indicada na própria instrução por um ou mais conjuntos de 
bits, denominados campo do operando.
Todos os exemplos apresentados, até esse ponto, definiram o 
campo operando da instrução como sendo um endereço da MP 
onde está localizado o dado; no entanto, essa não é a única 
maneira de indicar a localização dos dados, havendo outros modos 
de endereçamento. Dentre os diversos modos de endereçamento 
desenvolvidos para processadores, os principaissão:
www.esab.edu.br 51
Modo Imediato
O método mais simples e rápido de obter um dado é indicar seu 
próprio valor no campo operando da instrução, em vez de buscá-
lo na memória. A vantagem desse método reside no curto tempo 
de execução da instrução, pois não gasta ciclo de memória para 
sua execução, exceto o único requerido para a sua busca.
Desvantagens 
 
- O tamanho do dado fica limitado ao número de bits do operando 
(campo operando da instrução). A limitação de tamanho do campo 
operando reduz o valor máximo do dado que pode ser armazenado.
- Este modo de endereçamento não permite flexibilidade para 
alterar dados que variam a cada execução do programa, portanto 
não é adequado para variáveis repetidamente operadas com 
diferentes valores a cada execução do programa.
Modo Direto
Nesse método, o valor binário contido no campo operando da 
instrução indica o endereço de memória onde se localiza o dado.
Vantagens 
 
- É aplicado em mais situações que o modo imediato; 
- Requer apenas uma referência à memória para busca do dado 
(além de uma para a busca da instrução), sendo mais rápido que 
omodoindireto. 
 
www.esab.edu.br 52
Desvantagens 
 
- Limitação do endereço da MP que pode ser indicado pelo tamanho 
do campo operando.
 
- É mais lento que o modo imediato.
Modo Indireto
Nesse método, o valor binário contido do campo operando 
representa o endereço de uma célula, mas o conteúdo da referida 
célula não é o valor de um dado (como no modo direto), é outro 
endereço de memória, cujo conteúdo é o valor do dado. A grande 
desvantagem desse método é, obviamente, a maior quantidade 
de ciclos de memória requerida para completar o ciclo de instrução, 
pois para se acessar um dado, no modo indireto, é necessário 
efetuar dois acessos à memória. Um para buscar o endereço do 
dado e outro para, efetivamente, buscar o dado.
Vantagens
 
- Permite implementar estruturas de organização de dados mais 
complexas, mais sofisticadas.
- Elimina a limitação de células endereçáveis.
Modo de endereçamento por registrador
Esse método tem característica semelhante aos modos direto e 
indireto, exceto que a célula de memória referenciada na instrução 
é substituída por um dos registradores do processador. Com isso, 
o endereçamento mencionado na instrução passa a ser o de um 
registrador, e não mais de uma célula da MP. A primeira vantagem, 
logo observada, consiste no menor número de bits necessários 
www.esab.edu.br 53
para endereçar os registradores, visto que estes existem em muito 
menor quantidade que as células de memória. Há duas maneiras 
de empregar o modo de endereçamento por registrador:
Modo por registrador direto
O registrador endereçado na instrução contém o dado a ser 
manipulado.
Modo por registrador indireto
O registrador referenciado armazena o endereço de uma célula 
de memória onde se encontra o dado.
www.esab.edu.br 54
 
Atenção! Antes de dar continuidade aos seus estudos. Acesse o 
endereço: https://www.youtube.com/watch?v=LqO33ZnumrA.
Pipelining é uma técnica desenvolvida para melhorar o desempenho 
de processadores. O pipelining permite que um processador 
sobreponha a execução de diversas instruções de modo que mais 
instruções possam ser executadas no mesmo período de tempo. 
Uma pipelining de instruções é semelhante a uma linha de 
montagem, de uma indústria. Na linha de montagem pode-se 
começar a fazer o segundo produto antes do primeiro estar 
concluído. De forma análoga, em uma pipelining de instruções, 
novas entradas são aceitas em uma extremidade, antes que 
entradas aceitas previamente apareçam como saídas na outra 
extremidade.
Por exemplo: Em uma lavanderia, onde cada sacola de roupa a 
ser limpa é equivalente a uma instrução, cada etapa do processo 
de limpar a roupa (lavar, secar e dobrar) é equivale a um ciclo de 
processamento; e a quantidade de sacolas de roupa limpas num 
determinado período de tempo era equivalente ao throughput do 
processador. Em uma lavanderia, sem pipeline, embora tenha 
uma máquina de lavar, uma de secar e uma pessoa para dobrar a 
roupa; somente uma sacola de roupa é limpa de cada vez. 
Enquanto não lavar, secar e dobrar as roupas desta sacola, 
nenhuma outra sacola de roupa pode ser limpa. Nada ocorre 
simultaneamente.
Se esta lavanderia utilizasse um processo em pipeline, logo que 
as roupas da primeira sacola estivessem lavadas, elas passariam 
para a secadora liberando a máquina de lavar para uma nova 
sacola de roupas. Assim que as roupas da primeira sacola 
https://www.youtube.com/watch?v=LqO33ZnumrA
www.esab.edu.br 55
estivessem secas, então elas passariam a ser dobradas, as da 
segunda sacola que estavam sendo lavadas passariam para a o 
secador e uma nova sacola poderia ser posta na máquina de lavar.
Figura 20: Fluxo de instruções em um processador com pipeline
 
Na execução em pipeline, cada tarefa individualmente ainda 
requer “n” segundos e o tempo total para a execução de uma 
operação em pipeline é, em geral, ligeiramente maior que o tempo 
para executar a mesma operação monoliticamente (sem pipeline). 
Um dos overheads associados à operação de um pipeline é 
decorrente da necessidade de se transferir dados entre os estágios. 
Há duas estratégias básicas para controlar a transferência de 
dados entre os estágios de um pipeline: o método assíncrono e o 
método síncrono.
Método Assíncrono
No método assíncrono, os estágios do pipeline comunicam-se 
através de sinais de handshaking, indicando a disponibilidade de 
dados do estágio corrente para o próximo estágio (RDY); e 
indicando a liberação do estágio corrente para o estágio anterior 
(ACK).
www.esab.edu.br 56
Figura 21: Método assíncrono
Método Síncrono
No método síncrono, os estágios do pipeline são interconectados 
por latches (registradores cujo objetivo é armazenar dados) que 
armazenam os dados intermediários durante a transferência entre 
estágios, que é controlada por um sinal de relógio. Neste caso, o 
estágio com operação mais lenta determina a taxa de operação 
do pipeline.
Figura 22: Método síncrono
O método assíncrono é o que permite maior velocidade de 
operação do pipeline. Entretanto, o método síncrono é o mais 
adotado devido à sua simplicidade de projeto e operação.
Organização de uma Interface de E/S (Comunicação entre a 
Memória e UCP – Barramentos)
 A função primordial de uma interface de E/S é realizar 
controles adequados sobre os dispositivos periféricos, de modo 
que o processador possa se relacionar com estes periféricos de 
forma transparente. A organização de uma interface de E/S pode 
www.esab.edu.br 57
ser entendida em duas partes, conforme mostrado na figura a 
seguir.
Figura 23: Organização típica de uma interface de E/S.
Qualquer que seja o tipo de interface, a parte genérica é muito 
semelhante. Nesta parte são encontrados, usualmente, alguns 
registradores que variam em quantidade de acordo com o tipo de 
periférico acoplado. Pelo menos um registrador de dados, um 
registrador de controle e um registrador de estado estão 
inclusos, sendo o acesso a estes registradores feitos através de 
endereços de E/S diferentes. Para operação de saída, o 
processador escreve um dado no registrador de dados e a interface 
procede o envio ao periférico. Na operação de entrada, a interface 
armazena o dado recebido do periférico no registrador de dados, 
que por sua vez é lido pelo processador.
Na operação de saída, o processador envia comandos através do 
registrador de controle, para que a interface possa interpretar e 
executar a operação solicitada; esta operação pode ser interna à 
interface ou sobre o periférico a ela conectado. O registrador de 
estado é usado para veicular informações gerais 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 tem interação direta com o periférico, sendo 
desta forma muito diferente de um periférico para outro.Apesar 
www.esab.edu.br 58
das diferenças, geralmente na parte específica temos dois 
conjuntos de sinais, um é a via através da qual os dados são 
transferidos; outro são os sinais de controle com o periférico.
Barramento de E/S
Um barramento, ou bus, nada mais é do que um caminho comum 
pelo qual os dados trafegam dentro do computador. Este caminho 
é usado para comunicações e pode ser estabelecido entre dois ou 
mais elementos do computador. O tamanho de um barramento é 
importante, pois ele determina quantos dados podem ser 
transmitidos em uma única vez. Por exemplo, um barramento de 
16 bits pode transmitir 16 bits de dado, e um barramento de 32 bits 
pode transmitir 32 bits de dados a cada vez.
A grande vantagem do uso do barramento de E/S é ser um padrão 
de comunicação entre o dispositivo e o processador, ou seja, uma 
interface. Isso faz com que sistemas que utilizem barramentos de 
E/S sejam muito flexíveis, em oposição a conexões diretas entre 
o processador e cada dispositivo de E/S, permitindo que um 
sistema suporte muitos dispositivos de E/S diferentes; dependendo 
das necessidades dos seus usuários, e permitindo que estes 
mudem os dispositivos de E/S, que estão conectados em seus 
sistemas, a medida que as suas necessidades mudam. A principal 
desvantagem dos barramentos em geral (e também dos 
barramentos de E/S) é que tem uma largura de banda fixa que 
precisa ser compartilhada por todos os dispositivos que estão 
sobre ele.
O barramento pode ser dividido em três conjuntos:
1. Barramento de endereços: por onde trafegam os endereços 
de memória ou dispositivos de E/S. Este barramento é 
unidirecional: somente o processador fornece endereços. 
Tem como função conduzir um endereço fornecido pelo 
processador para que este endereço possa ser acessado.
www.esab.edu.br 59
2. Barramento de dados: por onde trafegam os dados do 
processador para memória e dispositivos de E/S e vice-
versa. Portanto, tal barramento é bidirecional: o processador 
tanto envia como recebe dados.
Barramento de controle: bidirecional. Por tal barramento trafegam 
os sinais de controle do microprocessador para memória e 
dispositivos, bem como da memória e dispositivos para o 
processador. Tem como função indicar que o processador quer 
executar determinada ação (como por exemplo, ler ou gravar de 
um endereço de memória) ou receber um sinal indicando 
determinado estado (por exemplo, dado já disponível no barramento 
de dados).
www.esab.edu.br 60
 
Em sistemas como computadores pessoais e estações de trabalho 
as interfaces de E/S estão ligadas ao processador através de 
barramentos de endereço, dados e controle, de maneira 
semelhante à conexão entre memória principal e processador. A 
organização típica de um computador incluindo o subsistema de 
E/S é mostrada na figura a seguir.
Figura 24: Arquitetura de um computador incluindo o subsistema 
de E/S.
O que todos os dispositivos de entrada têm em comum é que eles 
precisam codificar (converter) a informação de algum tipo em 
dados que podem ser processados pelo sistema digital do 
computador. Dispositivos de saída por outro lado, decodificam os 
dados em informação que é entendida pelo usuário do computador. 
Neste sentido, um sistema de computadores digital é um exemplo 
de um sistema de processamento de dados.
www.esab.edu.br 61
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.
Nos acessos às interfaces, o processador executa ciclos de 
barramento semelhantes aos descritos no capítulo anterior. 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.
Formas de Comunicação
As portas de comunicação de um microcomputador permitem a 
interligação física dele com os diversos periféricos como: 
impressoras, modem, mouse, scanners, etc. Há duas maneiras 
básicas de comunicação de dados entre o computador e outros 
equipamentos. Temos a comunicação paralela e a comunicação 
serial.
www.esab.edu.br 62
Comunicação Serial
Na comunicação Serial, o byte é enviado por apenas uma via ou 
fio. Para que isso seja possível, o byte é desmembrado em bits e 
cada um é enviado separadamente, um após o outro. No local da 
recepção, os bits são “montados” novamente, recompondo o byte. 
Os sinais de controle são enviados separadamente.
Figura 25: Esquema de comunicação serial.
A porta serial contém um chip UART (Universal Asyncbronous 
Reciver/Transmiter) e alguns componentes de apoio. Como o 
nome indica, este chip recebe dados provenientes do barramento 
do PC e os traduz para o formato utilizado nas transmissões 
seriais. O chip também executa o procedimento inverso: receber 
uma string de dados, remover os caracteres de enquadramento e 
transferir os bytes de dados para o PC.
Como os bits são transmitidos sequencialmente um a um, sua 
utilização é normalmente indicada apenas para periféricos mais 
lentos, como por exemplo, teclado, mouse, etc. ou quando o 
problema da distância for mandatório, como nas comunicações a 
distâncias médias (tal como em redes locais) ou longas 
(comunicação via linha telefônica usando modem).
A transmissão serial tem recebido aperfeiçoamentos importantes 
(seja de protocolo, de interface e de meio de transmissão) que 
vem permitindo o aumento da velocidade de transmissão por um 
único par de fios, cabo coaxial ou de fibra ótica. Como o aumento 
da velocidade de transmissão em interfaces paralelas ocasiona 
mais skew, a tendência tem sido no sentido do aperfeiçoamento 
www.esab.edu.br 63
das interfaces seriais que hoje permitem taxas de transferência 
muito altas com relativamente poucas restrições de distância. Em 
microcomputadores, a interface USB - Universal Serial Bus permite 
hoje ligar até 128 dispositivos a taxas muito altas (centenas de 
kbps).
Comunicação Paralela
Comunicação Paralela é aquela em que os bits, que compõem um 
byte ou palavra de dados, são enviados ou recebidos 
simultaneamente bem como os sinais de controle de comunicação. 
Para que isso seja possível, faz-se necessário um meio físico (fio) 
para cada informação, seja ele de dado ou de controle.
Figura 26: Esquema de comunicação paralela.
 
O processo de transferência em paralelo envolve um controle 
sofisticado e é razoavelmente complexo, o que o torna mais caro. 
A propagação dos sinais no meio físico é um dos problemas mais 
importantes neste tipo de comunicação. A propagação dos sinais 
deve ser tal que todos os bits cheguem juntos à outra extremidade 
do cabo. Cada condutor que compõe o cabo tem pequenas 
diferenças físicas, o que pode tornar a velocidade de propagação 
dos sinais ligeiramente diferente para cada condutor. Para cabos 
mais longos, um bit pode chegar a um determinado condutor pode 
chegar mais adiantado ou atrasadoem relação aos demais, 
tornando a informação irreconhecível. Este fenômeno chama-se 
skew. Em face deste problema, há limites para o comprimento do 
www.esab.edu.br 64
cabo que interliga um dispositivo ao computador, quando se usa o 
modo paralelo.
As restrições citadas contribuem para que a utilização da 
comunicação em paralelo se limite a aplicações que demandem 
altas taxas de transferência; normalmente associadas a dispositivos 
mais velozes tais como, unidades de disco, ou que demandem 
altas taxas de transferência, como CD-ROM, DVD, ou mesmo 
impressoras, e que se situem muito próximo do núcleo do 
computador. Em geral, o comprimento dos cabos paralelos é 
limitado a até um máximo de 1,5 metros. O conector de uma 
interface paralela é do tipo DB-25 e contém 25 pinos.
Figura 27: conector de uma interface paralela do tipo DB-25
www.esab.edu.br 65
Classificar as Memórias quanto à leitura e escrita e Conhecer o 
funcionamento e as características da Memória Principal do 
computador; Conhecer o funcionamento da memória cache e a 
sua relação com a memória principal e Identificar a Representação 
da Instrução e a análise do Ciclo da Instrução; Conhecer o 
funcionamento dos registradores especiais do processador, 
responsáveis por organizarem o controle da execução das 
instruções e Conhecer os tipos de modos de endereçamento; 
Entender o que significa Pipelining e Conhecer a organização da 
interface de E/S e Identificar ocontrole das conexões entre o 
processador, a memória e os outros dispositivos e Conhecer as 
diferentes formas de Comunicação da Informação, pelos 
dispositivos do computador.
www.esab.edu.br 66
 
Saber utilizar as E/S com Polling; Interrupção com acesso direto à 
memória; Conhecer as influências no funcionamento do 
computador. Identificar os tipos de barramentos e suas diferenças; 
Conhecer as linguagens de Programação e Tradutores; Conhecer 
o significado de Compilação, Ligador e Interpretação. Identificar 
com clareza Comparação entre Compilação e Interpretação e 
Identificar Máquinas Virtuais e Java Bytecode.
www.esab.edu.br 67
 
Em geral, uma operação de E/S envolve a transferência de dados 
entre a memória e a interface de E/S. Existem basicamente três 
técnicas para realizar a transferência de dados: polling, 
interrupção e acesso direto à memória. Descrição a seguir:
E/S com Polling
Na E/S com polling, o processador controla toda a transferência 
de dados entre a memória e a interface de E/S. Para entender 
como é o procedimento desta técnica, considere o exemplo de 
uma operação de escrita em um setor de disco. Suponha que a 
interface controladora de disco é semelhante àquela mostrada na 
abaixo. Normalmente, o registrador de estado possui um bit, 
chamado done bit, que é desativado quando um dado é escrito 
no registrador de dados, sendo ativado quando este dado é escrito 
no setor do disco. O diagrama abaixo mostra como acontece à 
escrita de um setor de disco usando-se E/S com polling.
www.esab.edu.br 68
Figura 28: Exemplo de E/S com polling.
Após escrever um dado no registrador de dados, o processador lê o 
registrador de estado e testa o done bit, para verificar se o mesmo já foi 
escrito no setor do disco. Este teste do bit de estado é chamado polling. O 
processador continua realizando o polling até encontrar o done bit ativado, o 
que indica que o dado já foi escrito no setor do disco. Quando isto acontece, 
e se ainda existe algum dado a ser enviado, o processador escreve o novo 
dado no registrador de dados e reinicia o polling. Este ciclo é repetido até 
que todos os dados tenham sido escritos no setor do disco.
www.esab.edu.br 69
A principal vantagem da E/S com polling é a sua simplicidade. No 
entanto, esta técnica possui a desvantagem de que o processador 
fica dedicado à operação de E/S. Isto pode ser extremamente 
ineficiente, sob o ponto de vista da utilização do processador. 
Considere uma operação de envio de um bloco de caracteres para 
uma impressora. O tempo de impressão de um caracter é 
infinitamente maior que o tempo de execução de uma instrução. 
Manter o processador em polling durante o tempo de impressão 
de cada caracter é um desperdício, já que durante este intervalo 
de tempo o processador poderia executar alguns milhões de 
instruções de outro programa. Devido ao fato que o processador 
fica dedicado à operação de E/S até o seu término, o uso da 
técnica de E/S com polling é restrito apenas a sistemas onde 
apenas um programa pode se encontrar em execução a cada 
instante.
E/S com Interrupção
Na E/S com polling, o processador fica dedicado à operação de 
E/S porque ele é o responsável por determinar quando um novo 
dado pode ser transferido entre a memória e a interface de E/S. O 
mesmo não acontece na E/S com interrupção. Nesta técnica, a 
interface é responsável por notificar o processador quando um 
novo dado pode ser transferido. Enquanto a E/S com polling é 
uma técnica puramente de software, a E/S com interrupção requer 
um suporte de hardware. A interface deve gerar um sinal de 
interrupção, através do qual ela notifica o processador quando 
uma operação de E/S foi concluída.
www.esab.edu.br 70
Figura 29: Exemplo de E/S com interrupção.
Técnicas de Transferência de Dados II
Considerando o novamente o exemplo da operação de escrita de 
um setor de disco. O diagrama na Figura 29 mostra como esta 
operação é realizada através de E/S com interrupção. A operação 
é dividida em duas fases. Na fase de disparo da operação, o 
processador envia para a interface o comando, o número da trilha 
e do setor. Ao final da fase de disparo, o processador passa a 
executar outra atividade qualquer, por exemplo, parte de outro 
programa.
A interface inicia a fase de transferência de dados fazendo um 
pedido de interrupção ao processador, através do sinal de 
interrupção. Ao receber o pedido de interrupção, o processador 
suspende a execução do programa corrente e passa a executar 
uma rotina especial, chamada rotina de serviço de interrupção 
(também chamada device driver ou device handler). Nesta rotina, 
o processador verifica inicialmente se o último dado já foi enviado. 
Se este é o caso, o processador conclui a escrita do setor do disco 
lendo o registrador de estado da interface. Caso contrário, o 
www.esab.edu.br 71
processador envia um novo dado e retorna para o programa que 
se encontrava em execução.
Durante a fase de transferência de dados, a interface faz um 
pedido de interrupção a cada dado escrito no setor do disco. O 
processador responde ao pedido de interrupção executando a 
rotina de serviço e enviando um novo dado. Isto se repete até que 
todos os dados tenham sido escritos no setor do disco. 
Normalmente, a interface de disco conhece o tamanho do setor e 
mantém uma contagem dos dados já recebidos, de forma que ela 
pode determinar quando deve encerrar a sequência de pedidos 
de interrupção.
Em um sistema é comum existirem várias interfaces diferentes 
que fazem pedidos de interrupção ao processador. Cada interface 
deve ser atendida por uma rotina de serviço de interrupção 
específica para aquela interface. Assim, ao receber um pedido de 
interrupção, o processador deve determinar qual a rotina de 
serviço a ser executada. Além disso, quando duas ou mais 
interfaces fazem pedidos de interrupção simultâneos, é necessário 
decidir qual o pedido de interrupção que será atendido. Estas duas 
funções são suportadas por um componente do subsistema de 
E/S, chamado controlador de interrupção (interrupt controller).
Como mostra a figura abaixo, o sinal de interrupção de cada 
interface é ligado ao controlador de interrupção. O controlador de 
interrupção atribui um número e uma prioridade a cada um destes 
sinais. Quando um pedido de interrupção acontece, o controlador 
de interrupção envia para o processador, através do barramento 
de dados, o número do pedido. No caso de dois ou mais pedidos 
simultâneos, o controlador decide qual é o pedido com maior 
prioridade e envia para o processador o número

Continue navegando