Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

FUNDAMENTOS em AC

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 71

90 UNIDADE III

PORTA NÃO-OU (NOR)

A operação NÃO-OU (NOR) é representada com um traço sobre toda uma ope-
ração OU, ou com um til (~) antes da operação OU. Ela é a mesma operação OU
vista anteriormente, mas com o valor invertido ao final da operação. A seguir, o
desenho utilizado para representar a porta NÃO-OU e a tabela-verdade, calcu-
lando as possibilidades para a operação NÃO-OU.

Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
Figura 5 - Porta-lógica NÃO-OU (NOR)
Fonte: o autor.

Tabela 5 - Tabela-verdade para a operação NÃO-ou com dois operandos

A B ~(A+B)
0 0 1
0 1 0
1 0 0
1 1 0
Fonte: o autor.

PORTA OU-EXCLUSIVO (XOR)

A operação OU-EXCLUSIVO (XOR - eXclusive OR) é representada pelo símbolo


“⊕” (um sinal de adição dentro de um círculo). Ela analisa dois valores de entrada
e retorna 1 se apenas um dos valores de entrada for 1. Se ambos forem 0 ou se
ambos forem 1, a saída será 0. A seguir, o desenho utilizado para representar a
porta XOR e a tabela-verdade calculando as possibilidades para a operação XOR.

LÓGICA DIGITAL E CIRCUITOS


91

Figura 6 - Porta-lógica OU-EXCLUSIVO (XOR)


Fonte: o autor.
Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

Tabela 6 - Tabela-verdade para a operação XOR com dois operandos

A B A⊕B
0 0 0
0 1 1
1 0 1
1 1 0
Fonte: o autor.

Algumas linguagens de comparação permitem que você faça as compara-


ções dos dados bit a bit, como se fossem as portas lógicas que estudamos.
Dessa forma, duas informações de 32 bits, por exemplo, seriam comparadas
bit a bit, de acordo com a operação desejada.
Esse método também é chamado de “bitwise” e você encontra informações
sobre os operadores de bitwise nos tutoriais da linguagem, se ela tiver essa
funcionalidade.
Fonte: adaptado de Dias (2015, on-line)1.

Operadores Lógicos e Portas Lógicas


92 UNIDADE III

EXPRESSÕES LÓGICAS E CIRCUITOS DIGITAIS

“Mas essas portas lógicas são meio inúteis, não?” − Alguém que chegou atrasado

Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
na aula pode estar pensando isso.
Pode parecer que elas não fazem muita coisa, mas pense em muitas delas
juntas. Pense em milhões delas juntas. Agora, pense que elas estão juntas e
combinadas de uma forma muito inteligente, que elas vão se complementando
e trabalhando com muitos e muitos zeros e uns. Os computadores são assim.
Agora, chegou o momento de combinar essas portas e, consequentemente,
suas operações lógicas. Os circuitos são uma combinação de diversas portas, essas
portas podem ser representadas de forma gráfica, por meio de um esquema de
circuitos, ou em forma de uma expressão, a qual a saída depende de um con-
junto de operações que efetue sobre as entradas.

ESCREVENDO EXPRESSÕES A PARTIR DE CIRCUITOS

Começando de uma forma bem simples, veja o esquema de circuito expresso na figura:

Figura 7 - Exemplo de um circuito lógico (ou circuito digital)


Fonte: o autor.

LÓGICA DIGITAL E CIRCUITOS


93

O circuito em questão possui três diferentes entradas (A, B, e C) e uma saída (S).
Como se trata de um circuito digital, cada entrada pode possuir apenas os valo-
res 0 ou 1. E esse circuito conta com três portas lógicas, podendo ser escrito na
forma de uma expressão lógica.
“Mas como eu faço para descobrir a expressão lógica de um circuito desenhado?”
− Você acaba de se perguntar. Então, está com sorte! Nós temos a solução para
os seus problemas! Ligue já para… Desculpe, hábito antigo.
Em primeiro lugar, identifique as portas lógicas envolvidas no circuito:
Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

Figura 8 - Exemplo de um circuito lógico, destacando as portas lógicas


Fonte: o autor.

Então, temos uma porta NÃO, uma OU e uma E. Depois, escreva as operações
em função das entradas (as entradas serão os operandos da operação). Costuma
ser bom começar pela esquerda do circuito.
Escreva saídas temporárias, por exemplo, vemos que a entrada B passa por
uma porta NÃO, o que gera:

Figura 9 - Expressões lógicas a partir de circuitos


Fonte: o autor.

Expressões Lógicas e Circuitos Digitais


94 UNIDADE III

Depois, chegamos a uma porta OU, que possui como entrada A e S1, que é a
nossa saída temporária. Podemos escrever uma outra saída temporária S2 da
seguinte forma:

Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
Figura 10 - Expressões lógicas a partir de circuitos
Fonte: o autor.

Por fim, chegamos à nossa saída S, a saída do circuito completo, que vem de uma
porta E, cujas entradas são S2 e C:

Figura 11 - Expressões lógicas a partir de circuitos


Fonte: o autor.

Temos, então, 3 expressões:

S1 = ~B
S2 = A + S1
S = S2 . C

LÓGICA DIGITAL E CIRCUITOS


95

Quase que terminamos. Como nos interessa, uma expressão que forneça a
saída S em função das entradas A, B e C, eu preciso pegar a última expressão e
substituir S2 pelo conteúdo dela. Depois, o mesmo com S1. Temos:

S = (A + S1) . C
S = (A + ~B) . C

Chegamos, então, à expressão final de S. Note que a precedência de opera-


ções ocorre, como nas expressões aritméticas, devendo-se respeitar os parêntesis.
Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

Com a equação em mãos, fica mais prático montar a tabela-verdade, a qual


podemos acompanhar o comportamento do circuito. Para montar a tabela verdade:
as primeiras colunas são as entradas, que faremos todas as combinações possí-
veis de entradas para A, B e C. Depois, podemos fazer colunas com as equações
temporárias, ou subequações, para facilitar. Por fim, a coluna com a saída final.
Tabela 7 - Tabela verdade para a expressão (A + ~B) . C

A B C ~B A + ~B (A + ~B) . C
0 0 0 1 1 0
0 0 1 1 1 1
0 1 0 0 0 0
0 1 1 0 0 0
1 0 0 1 1 0
1 0 1 1 1 1
1 1 0 0 1 0
1 1 1 0 1 1
Fonte: o autor.

ESCREVENDO CIRCUITOS A PARTIR DE PROBLEMAS

Assim, como os programas de computador, os circuitos digitais também são


feitos com o intuito de resolver algum problema. Vários sistemas que usamos
utilizam circuitos digitais e nem imaginamos.

Expressões Lógicas e Circuitos Digitais


96 UNIDADE III

Imagine que você está desen-


volvendo o sistema de alarmes de
um carro. A princípio, o alarme
deve disparar apenas se este esti-
ver ligado e uma das portas for
aberta ou se houver alguma movi-
mentação dentro do carro (para
o caso de alguém entrar no carro
sem abrir as portas, de algum

Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
jeito). Com o que vimos até aqui,
já temos as ferramentas para mon-
tar esse circuito.
Temos três informações que nos fornecerão os dados de entrada:

■ A: Alarme. 0 para desligado ou 1 para ligado.


■ B: Porta. 0 para fechada ou 1 para aberta.
■ C: Movimento: 0 para sem movimento ou 1 para movimento.

Então, quais seriam as situações nas quais o alarme seria disparado?


Seria disparado se o alarme estivesse ligado e uma porta estivesse aberta, se
o alarme estivesse ligado e houvesse movimento dentro do carro, ou, ainda, se
o alarme tivesse ligado, uma porta estivesse aberta e houvesse movimento den-
tro do carro.
Resumindo, podemos escrever isso em função das variáveis A, B e C que
escrevemos anteriormente e teríamos:

S = (A . B . ~C) + (A . ~B . C) + (A . B . C)

Essa expressão, ainda, nos ajuda a montar a tabela-verdade para o problema,


basta encontrar as linhas que equivalem a cada parte da expressão e marcar a
saída como 1.

LÓGICA DIGITAL E CIRCUITOS


97

Tabela 8 - Tabela verdade para a expressão S = (A . B . ~C) + (A . ~B . C) + (A . B . C)

A B C S
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

1 1 1 1
Fonte: o autor.

Essa expressão, ainda, poderia ser simplificada, mas isso veremos no próximo
tópico. Uma expressão simplificada nos permite desenhar um circuito mais sim-
plificado. De qualquer forma, podemos já desenhar o circuito para esse problema
da seguinte forma:

Figura 12 - Representação do circuito


Fonte: o autor.

Expressões Lógicas e Circuitos Digitais


98 UNIDADE III

Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
NOÇÕES DE ÁLGEBRA BOOLEANA

Da mesma forma que podemos simplificar expressões aritméticas (algo que


aprendemos na escola), podemos simplificar, também, expressões lógicas. A área
de estudo das expressões lógicas e suas regras é chamada de álgebra booleana,
em homenagem a George Boole, que foi quem propôs os princípios desta álge-
bra (MONTEIRO, 2002).
De uma forma resumida, vamos apresentar uma lista com as regras básicas
da álgebra booleana. A partir dessas regras, é possível simplificar as expressões
e, consequentemente, os circuitos. Usaremos A, B e C como variáveis, além das
constantes 0 e 1.
Tabela 9 - Regras da Álgebra Booleana

NOME FORMA AND FORMA OR


Identidade 1.A=A 0+A=A
Elemento nulo 0.A=0 1+A=1
Idempotência A.A=A A+A=A
Inverso A . ~A = 0 A + ~A = 1
Comutatividade A.B=B.A A+B=B+A
Associatividade (A . B) . C = A . (B . C) (A + B) + C = A + (B + C)
Distributividade A + (B . C) = (A + B) . (A + C) A . (B + C) = (A . B) + (A . C)
Absorção A . (A + B) = A A + (A . B) = A
De Morgan ~(A . B) = ~A + ~B ~(A + B) = ~A . ~B
Fonte: Tanenbaum (2013).

LÓGICA DIGITAL E CIRCUITOS


99

Na unidade anterior, chegamos a uma expressão que pode ser simplificada: S =


(A . B . ~C) + (A . ~B . C) + (A . B . C). Veremos, a seguir, como podemos sim-
plificar a expressão usando as regras de álgebra booleana, indicando qual regra
foi utilizada em cada passagem:

S = (A . B . ~C) + (A . ~B . C) + (A . B . C)
S = A . ((B . ~C) + (~B . C) + (B . C)) (Distributividade)
S = A . (B . (~C + C) + (~B . C)) (Distributividade)
S = A . (B . 1 + (~B . C)) (Inverso)
Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

S = A . (B + (~B . C)) (Identidade)


S = A . ((B + ~B) . (B + C)) (Distributividade)
S = A . (1 . (B + C)) (Inverso)
S = A . (B + C) (Identidade)

Conseguimos, então, uma expressão bem mais simples. Para confirmar se os


circuitos são equivalentes, basta elaborar a tabela-verdade para a nova expres-
são e verificar se as linhas das saídas dos circuitos são equivalentes. Para nossa
expressão simplificada, a tabela-verdade é apresentada a seguir.
Tabela 10 - Tabela verdade para a expressão S = A . (B + C)

A B C B+C A . (B + C)
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 1 0
1 0 0 0 0
1 0 1 1 1
1 1 0 1 1
1 1 1 1 1
Fonte: o autor.

Noções de Álgebra Booleana


100 UNIDADE III

Observando a última coluna, a coluna da saída da expressão, podemos perceber


como a expressão sem simplificar e a expressão simplificada são equivalentes.
Da expressão simplificada, obtemos o seguinte circuito:

Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
Figura 13 - Circuito lógico da expressão S = A . (B + C)
Fonte: o autor.

Não deixe de comparar esse circuito com o circuito obtido na seção anterior.

Circuitos sequenciais são aqueles que possuem memória. Suas saídas são
função tanto das entradas como dos valores da saída. Dito de outro modo,
nos circuitos sequenciais o novo valor da saída depende do estado atual
destas saídas.
Dois circuitos sequenciais bastante utilizados são os registradores e os con-
tadores. Ambos são construídos com flip-flops, ou seja, registradores capa-
zes de armazenar 1 único bit. Dependendo da maneira exata como é contro-
lado, um flip-flop recebe várias denominações distintas.
Fonte: Weber (2012, p. 146).

Assim, como o conteúdo da unidade anterior, a criação de circuitos lógicos,


expressões e a álgebra booleana são conteúdos que demandam um certo treino
para serem bem assimilados. Por isso, não deixe de fazer os exercícios e tente,
por conta própria, criar alguns circuitos para resolver problemas.
De uma forma simples, vimos um bom conteúdo sobre circuitos digitais.
Pratique exercícios para manter o cérebro sempre em forma!

LÓGICA DIGITAL E CIRCUITOS


101

CONSIDERAÇÕES FINAIS

Mais uma vez, parabéns pela dedicação empenhada até aqui. Em qualquer moda-
lidade de estudos, o aluno é quem faz a maior diferença em seu aprendizado.
Então, não deixe as oportunidades passarem. Faça as atividades, tire as dúvidas,
pesquise em material extra...
Nesta unidade, nos dedicamos a mostrar como funcionam os circuitos digi-
tais e as portas lógicas. Neste ponto, você já consegue montar um circuito digital
e, também, analisar o comportamento do circuito para diferentes entradas de
Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

dados digitais.
Na área de circuitos, ainda há muito conteúdo e muitos componentes que
poderiam ser abordados, mas chegamos até onde era nosso objetivo.
Começamos analisando conceitos básicos de lógica digital, a base para as
operações em circuitos. Em seguida, vimos como manipular as informações
recebidas nas entradas de circuitos, utilizando portas lógicas.
Então, aprendemos a criar circuitos digitais por meio da combinação de
portas lógicas, até chegar à álgebra booleana, que nos permite manipular as ope-
rações de forma a simplificar expressões lógicas.
Com o que você aprendeu aqui, você consegue criar o esquema para peque-
nos circuitos e já começa a resolver problemas pequenos de automação. É claro
que precisa também de uma prática em montagem de circuitos, não apenas os
diagramas.
Algo que ajuda, também, são os simuladores de circuitos digitais, que você
encontra para fazer o download pela internet. Por meio deles, você consegue
montar circuitos e testá-los, de uma forma bem visual. Consegue testar a passa-
gem de energia, as combinações de portas etc.
Ainda que você não chegue a trabalhar com a montagem de circuitos e
componentes, a partir de nosso conhecimento sobre circuitos, o domínio de
entendimento sobre o computador e suas funções fica mais aprofundado. Na
próxima unidade, trataremos sobre processadores e memória, que são direta-
mente fruto de circuitos integrados.

Considerações Finais
102

1. Ao encontrar uma expressão lógica que precisa ser resolvida, a tabela-verdade


é uma ótima ferramenta de apoio para encontrar a solução. A tabela-verdade
é uma forma de escrever todas as combinações de valores de entrada para
descobrir qual será a saída em cada caso.
Considerando o texto acima, avalie a expressão abaixo, complete a tabela-ver-
dade e assinale a alternativa com os valores da coluna S.
S = (A + B) . (~A + C)
Nota: “+” simboliza a operação OU, “.” simboliza a operação E, “~” simboliza a
operação NÃO.
A B C ~A A+B ~A+C S
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

2. Dado o circuito a seguir, desenvolva a expressão equivalente para S e faça a


tabela-verdade para o circuito.
103

3. Ao criar uma automação, muitas vezes, precisamos ir além dos programas de


computador e criar dispositivos para interação com os usuários. A criação de
dispositivos eletrônicos capazes de microprocessamentos e também comuni-
cação, têm se popularizado, ainda mais com a chegada da Internet das Coisas.
Com isso, a nossa noção de desenvolvimento de circuitos digitais se faz ainda
mais importante.
Em termos gerais, um circuito lógico (ou digital) é:
a) Uma expressão lógica relacional que gera pulsos digitais positivos.
b) Uma interconexão de portas digitais com sinais assíncronos digitais e saídas.
c) Várias linhas de conexão combinadas em barramentos de uma placa-mãe.
d) Uma ligação entre sinais positivos e negativos de baixa tensão que podem
usar transistores.
e) Uma combinação de entradas e portas lógicas digitais que produz uma saí-
da que pode ser 0 ou 1.

4. Um circuito lógico pode ser representado como uma expressão ou como um


diagrama, indicando entradas, saídas e portas lógicas. Podemos desenhar o
diagrama de um circuito a partir da expressão ou mesmo escrever a expressão
a partir do diagrama.
Dessa forma, dado o diagrama de circuito a seguir, escreva a expressão corres-
pondente.
104

5. “Em meados do século passado George Boole, um matemático inglês, desen-


volveu uma teoria completamente diferente para a época, baseada em uma
série de postulados e operações simples para resolver uma infinidade de pro-
blemas. Apesar da álgebra de Boole, como foi chamada, poder resolver pro-
blemas práticos de controle e fabricação de produtos, na época não havia
Eletrônica e nem as máquinas eram suficientemente avançadas para utilizar
seus princípios. A álgebra de Boole veio a se tornar importante com o advento
da Eletrônica, especificamente, da Eletrônica Digital, que gerou os modernos
computadores”.
BRAGA, N C. A Álgebra de Boole. [On-line]. Disponível em: <http://www.new-
toncbraga.com.br/index.php/eletronica-digital/16291-curso-de-eletronica-di-
gital-a-algebra-de-boole-cur5002>. Acesso em: 22 ago, 2018.
Veja a expressão a seguir:
S = (A + B) . (A + ~B) . (C + B)
Essa expressão pode ser simplificada utilizando as regras básicas de álgebra
booleana vistas na unidade. Simplifique a expressão indicando quais regras
foram utilizadas e escreva a expressão simplificada.
105

Arduino - Uma plataforma open source para desenvolvimento de eletrônica


Quando pensamos em automação, sensoriamento e controle, normalmente fazemos
uma associação com sistemas altamente complexos e caros. Claro que sistemas que ne-
cessitam de muita precisão e controle tornam-se mais caros, mas o princípio básico é o
mesmo, coletar um dado do ambiente e a partir deste dado fazer alguma ação.
O projeto Arduino foi criado com este propósito, oferecer um hardware e software li-
vre a um custo acessível. Isto abriu possibilidades de muitos adeptos da eletrônica e
da programação criarem sistemas de monitoramento e controle que até então só eram
comercializados por empresas de tecnologia.
O Arduino foi criado na Itália por um grupo de desenvolvedores e especialistas em enge-
nharia eletrônica que criaram um hardware baseado no chip microcontrolador atmega
da empresa Atmel. Estes desenvolvedores criaram uma placa com os componentes para
dar ao chip atmega uma estrutura própria para a prototipagem, ou seja, um ambiente
de testes para o desenvolvimento de projetos.
Conhecendo a estrutura do Arduino
O Arduino dispõe de vários modelos de placas, cada uma com características próprias
voltadas para o desenvolvimento de protótipos específicos. Algumas placas são mui-
to pequenas como a “Lily” e a “Nano”. Estas placas são extremamente pequenas, sendo
otimizadas para projetos que não têm muito espaço. Outras placas têm muitas portas/
pinos como a placa “Mega”. A “Mega” pode conectar um número bem expressivo de sen-
sores e relés, muito útil para projetos que necessitam controlar muitos equipamentos e
sensores.
A placa mais comum é a “Uno”. Ela tem um número razoável de portas - 13 portas digitais
e 6 analógicas, e podem na maioria das vezes suprir as necessidades dos projetos. Veja-
mos na imagem como é o Arduino Uno, suas especificações e portas.
106

Vamos inicialmente observar 4 informações, os pinos de conexões:


1. Pinos de Eletricidade - estes pinos são os responsáveis por fornecer energia para os
sensores, relés e outros dispositivos. Nestes pinos temos voltagens de 3.3 volts, 5
volts e também os pinos do ground/negativo;
2. Pinos Analógicos - estes pinos são os responsáveis por receber as leituras de vários
sensores acoplados ao Arduino. Um sensor de temperatura, de luminosidade ou de
distância podem ser conectados nestes pinos;
3. Pinos Digitais - estes pinos trabalham com os dois valores digitais: ligado e desligado.
Dentre suas utilidades servem para ligar relés, LEDs e receber informações de senso-
res que trabalham digitalmente. Alguns pinos digitais recebem outros valores além
do ligado ou desligado. Estes pinos são chamados pinos PWM e são utilizados como
pinos de entrada ou saída para sensores e LEDs que têm variações em suas correntes;
4. Plug USB - responsável pela conexão com o computador. Esta conexão é a respon-
sável pelo upload do código que será rodado no Arduino. Normalmente depois do
projeto feito o cabo USB não é mais utilizado. Existem algumas formas de enviar os
dados coletados pelos sensores do Arduino com um computador que é o centro do
sistema.
Fonte: Pereira Junior (2015, on-line)2.
MATERIAL COMPLEMENTAR

Hardware: Versão Revisada e Atualizada


Gabriel Torres
Editora: Novaterra
Sinopse: o maior autor de hardware e redes de computadores do Brasil,
Gabriel Torres, está relançando, por meio da parceria com a Editora
NovaTerra, o seu principal livro e que o tornou uma referência absoluta na
área: Hardware - Versão Revisada e Atualizada. Na obra, Gabriel apresenta
um conteúdo completamente revitalizado, onde o leitor aprenderá, com
profundidade, tudo o que precisa saber sobre o tema, seja ele um estudante,
autodidata ou profissional da área de informática / Tecnologia da Informação
(TI) querendo se atualizar. O livro também é importante para os usuários
que desejam aprender mais sobre o funcionamento dos computadores.

Sistemas Digitais - Princípios e Aplicações


Tocci,Ronald J. / Widmer,Neal S.
Editora: Pearson
Sinopse: sabemos que um dos maiores desafios dos autores de obras que
tratam de tecnologia digital é encontrar o equilíbrio entre o material já
existente e o novo, decorrente das inovações. Foi com isso em mente que os
renomados autores Widmer, Moss e Tocci trabalharam nesta 10ª edição de
Sistemas Digitais, disponibilizando agora uma obra atual sem, no entanto,
deixar de lado os aspectos fundamentais que envolvem os sistemas digitais.
Considerando um verdadeiro clássico, o livro oferece amplas condições para
que o aluno desenvolva um sólido e moderno conhecimento na área de
eletrônica digital. Ele inclui novos exemplos e vários itens foram ampliados
e atualizados.

Instituto Newton C. Braga


Centenas de materiais e artigos a respeito de eletrônica digital feitos pelo Prof. Newton C. Braga,
que tem sido referência na área há um bom tempo.
Web: <http://www.newtoncbraga.com.br/index.php>.

Material Complementar
REFERÊNCIAS

MONTEIRO, M. A. Introdução à organização de computadores. 4. ed. Rio de Janei-


ro: LTC, 2001. 498 p.
NULL, L.; LOBUR, J. Princípios básicos de arquitetura e organização de computa-
dores. 2. ed. Porto Alegre: Bookman, 2011. 822 p.
TANENBAUM, A. S. Organização estruturada de computadores. 6. ed. São Paulo:
Pearson Prentice Hall, 2013.
WEBER, R. F. Fundamentos de arquitetura de computadores. 4. ed. Porto Alegre:
Bookman, 2012. 424 p.

REFERÊNCIAS ON-LINE

1
Em: <https://www.vivaolinux.com.br/artigo/Bitwise-Escovando-os-bits>. Acesso
em: 22 ago. 2018.
2
Em: <https://www.vivaolinux.com.br/artigo/Arduino-Uma-plataforma-open-sour-
ce-para-desenvolvimento-de-eletronica/>. Acesso em: 22 ago. 2018.
109
GABARITO

1.
A B C ~A A+B ~A+C S
0 0 0 1 0 1 0
0 0 1 1 0 1 0
0 1 0 1 1 1 1
0 1 1 1 1 1 1
1 0 0 0 1 0 0
1 0 1 0 1 1 1
1 1 0 0 1 0 0
1 1 1 0 1 1 1

2. Expressão: S = (~A . B) + C
Tabela-verdade:
A B C ~A ~A.B S
0 0 0 1 0 0
0 0 1 1 0 1
0 1 0 1 1 1
0 1 1 1 1 1
1 0 0 0 0 0
1 0 1 0 0 1
1 1 0 0 0 0
1 1 1 0 0 1

3. E.

4. S = (A . ~B) + C + (D . E)

5. S = (A + B) . (A + ~B) . (C + B)
S = (A + (B . ~B)) . (C + B) (Distributividade)
S = (A + 0) . (C + B) (Inverso)
S = A . (C + B) (Identidade)
Professor Me. Andre Abdala Noel

IV
UNIDADE
PROCESSADOR E MEMÓRIA

Objetivos de Aprendizagem
■ Detalhar a forma em que o processador é organizado e a função de
cada uma das partes.
■ Aprender sobre os ciclos do processador para executar as instruções.
■ Conhecer as formas utilizadas pelo processador para executar
instruções em paralelo.
■ Apresentar uma definição de memória e como ela funciona.
■ Descrever os diferentes tipos de memória e sua utilização.

Plano de Estudo
A seguir, apresentam-se os tópicos que você estudará nesta unidade:
■ Organização do processador
■ Funcionamento do processador
■ Paralelismo
■ Conceito de memória
■ Hierarquia de memória
113

INTRODUÇÃO

Iniciamos, agora, uma nova unidade, com uma nova etapa do conhecimento.
Talvez você fique mais tranquilo, por não precisar fazer tantos exercícios.
Agora que já temos uma boa base sobre como são trabalhadas as informações
em circuitos, veremos melhor os componentes importantes de um computador,
que também são formados pelos circuitos.
Neste estudo, não iremos nos preocupar muito com tamanhos e modelos de
memórias e processadores, porque sabemos que isso é algo que muda muito rapi-
Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

damente. Nos concentraremos em falar sobre a arquitetura e a organização dos


computadores, para que você tenha uma compreensão do papel de cada parte e
de como se dá a comunicação entre elas.
Para começar, veremos um pouco melhor sobre como funciona a arquite-
tura de von Neumann, que é a nossa arquitetura básica de um computador, e de
que ela é composta.
Em seguida, passaremos aos processadores. Primeiramente, veremos como
o processador é dividido e o que cada parte faz, para ver, em seguida, como se
dá o funcionamento do processador e seus ciclos de instruções.
Então, passaremos para o estudo das memórias, conceituando as memórias
de computador e seus diferentes tipos. Veremos as diferenças entre elas e onde
elas são aplicadas.
Portanto, esta unidade é composta de um conteúdo um pouco mais teórico,
mas muito importante de ser assimilado na área de arquitetura de computadores.
Às vezes, quando temos o foco em algo muito específico, como a programação,
acreditamos que esse conhecimento é dispensável, porque precisamos apenas de
um ambiente de programação e uma interface legal. Conhecer os detalhes con-
tidos nesta unidade nos ajuda a programar de forma melhor e mais otimizada,
sabendo como a informação é manipulada pela memória e pelo processador.
Prepare o seu café e vamos mergulhar mais um pouco pelas entranhas de
nossos computadores!

Introdução
114 UNIDADE IV

Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
ORGANIZAÇÃO DO PROCESSADOR

Nós já vimos, anteriormente, como funcionam os circuitos e também como a


arquitetura de computadores foi organizada basicamente pelo trabalho de John von
Neumann, que dividiu o computador em: Unidade Lógica e Aritmética, Unidade
de Controle, memória e equipamentos de entrada e saída (TANENBAUM, 2013).

Figura 1 - Modelo de arquitetura de von Neumann


Fonte: o autor.

Neste momento, nos dedicaremos apenas à Unidade Central de Processamento


(UCP ou CPU). É comum vermos alguém se referir a um gabinete de computa-
dor chamando-o de CPU, como se a CPU fosse a caixa de metal do computador.
A CPU é o cérebro, é o processador do nosso computador.

PROCESSADOR E MEMÓRIA
115

E a CPU está subdividida em: Unidade de Controle (UC), Unidade Lógica


e Aritmética (ULA) e os registradores. A comunicação entre a CPU e os demais
componentes se dá por meio dos barramentos, que veremos adiante. A figura a
seguir apresenta em esquema de CPU.
Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

Figura 2 - A organização de um computador simples com uma CPU e dois dispositivos de E/S
Fonte: Tanenbaum (2013).

UNIDADE DE CONTROLE (UC)

A Unidade de Controle do processador é quem coordena como tudo vai fun-


cionar. Ela monitora todas as instruções e as execuções, mas ela mesma não
executa as instruções.
A unidade de controle extrai as instruções da memória, decodifica es-
tas instruções, assegura que os dados estão no lugar certo, diz para a
ULA quais registradores usar, atende interrupções e ativa o circuito
apropriado da ULA para executar a operação desejada (NULL, 2011,
p. 210, adaptado).

Portanto, a unidade de controle é quem cuida da lógica para realizar a movimen-


tação de dados para o processador. A UC fica conectada aos outros elementos do
processador e também ao barramento de controle (MONTEIRO, 2002).

Organização do Processador
116 UNIDADE IV

UNIDADE LÓGICA E ARITMÉTICA (ULA)

A Unidade Lógica e Aritmética é responsável pela execução das instruções do


computador. Quando há uma instrução a ser executada, essa instrução é copiada
para a memória principal. A UC busca as instruções e os dados na memória e
os deixa prontos para a ULA realizar a instrução. Então, a ULA recebe os ope-
randos, recebe a operação a ser executada e retorna o resultado da execução.

Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
Figura 3 - Funcionamento básico de uma ULA
Fonte: o autor.

As operações básicas que a ULA executa são as operações aritméticas soma, sub-
tração, multiplicação e divisão, as operações lógicas AND, OR, NOT e XOR, as
operações de deslocamento à direita e à esquerda e as operações de incremento
e decremento (MONTEIRO, 2002).

REGISTRADORES

Os registradores são unidades de memória muito pequenas e muito rápidas, que


existem dentro do processador e todo dado que vai ser transferido pela ULA pre-
cisa ser copiado para os registradores (MONTEIRO, 2002). Após a execução da
operação, o resultado também é armazenado em um registrador.

PROCESSADOR E MEMÓRIA
117

Além dos registradores de dados, os processadores ainda possuem registra-


dores com funções de controle, como o registrador de instrução (RI) e o contador
de instrução (CI).

Os processadores trabalham com um tamanho de palavra pré-definido.


Quando dizemos que um processador é 32 bits ou 64 bits, estamos nos refe-
Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

rindo ao tamanho de palavra que ele usa. Aumentar o tamanho de palavra


de um processador implica em aumentar o tamanho dos registradores, o
tamanho dos barramentos internos, o tamanho da capacidade de operação
da ULA, etc.
Em computadores antigos, o tamanho do barramento interno de dados ti-
nha exatamente o tamanho da palavra. Em processadores modernos esse
tamanho de barramento aumentou para 128 bits. Em resumo, aumentar o
tamanho da palavra implica diretamente no desempenho de uma CPU.
Fonte: Monteiro (2002).

Esses não são os únicos componentes internos em uma CPU, mas podemos não
aprofundar muito em detalhes. Alguns elementos, como o clock da CPU, vere-
mos no próximo tópico, ao analisar o funcionamento do processador.

FUNCIONAMENTO DO PROCESSADOR

Talvez alguém diga: “Ah, o processador não faz nada de mais, ele apenas busca a
instrução, executa e retorna o resultado!”
Bom, acho difícil concordar com a parte do “nada demais”, mas o resto da
frase, de certa forma, está certo.

Funcionamento do Processador
118 UNIDADE IV

Lembram-se de que os computadores foram criados quando as pessoas


estavam buscando criar máquinas para automatizar os cálculos? Então, eles
conseguiram! O computador faz apenas isso: cálculos o tempo todo. A combi-
nação de cálculos, porém se tornou tão imensa e tão complexa, que a imensidão
de cálculos executados por segundo nos proporciona tudo o que fazemos com
nossos amados dispositivos.

CICLO DE INSTRUÇÃO

Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
O processador executa instruções e mais instruções. Cada instrução é executada
dentro de um ciclo, que pode ser resumido em buscar-decodificar-executar
(TANENBAUM, 2013). Basicamente, a unidade de controle é a responsável por
buscar as instruções e os dados e ainda decodificar as instruções, deixando tudo
pronto e entregue para a unidade lógica e aritmética executar essas instruções.
E, ainda, a unidade de controle é quem fica responsável por recuperar o resul-
tado e conduzi-lo à memória ou a outro destino.
Segundo Tanenbaum (2013), o ciclo de instrução compreende as seguin-
tes atividades:
1. Trazer a próxima instrução da memória até o registrador de instrução.
2. Alterar o contador de programa para que aponte para a próxima instrução.
3. Determinar o tipo de instrução trazida.
4. Se a instrução usar uma palavra na memória, determinar onde essa pala-
vra está.
5. Trazer a palavra para dentro de um registrador da CPU, se necessário.
6. Executar a instrução.
7. Voltar à etapa 1 para iniciar a execução da instrução seguinte.

Para facilitar a compreensão, ainda podemos dividir o ciclo de instrução em


duas partes: o ciclo de busca e o ciclo de execução, representados na figura a
seguir (MONTEIRO, 2002).

PROCESSADOR E MEMÓRIA
119

Figura 4 - Representação do ciclo de busca e do ciclo de execução


Fonte: o autor.
Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

RELÓGIO (CLOCK)

Dentro do processador há um dispositivo chamado relógio (mas é mais comum


encontrarmos no termo em inglês clock) que gera pulsos cuja duração é chamada
ciclo (MONTEIRO, 2002). O ciclo de relógio (ou ciclo de clock) é o intervalo
entre o início de um ciclo de pulso e o início do pulso seguinte. Esses ciclos de
relógio servem para sincronizar as execuções de instruções no processador e se
baseiam em operações elementares. Como as operações ultrapassam o tempo
do pulso, são gerados “subciclos”, que são pulsos “atrasados”, para dividir as ope-
rações em microoperações.

Figura 5 - Representação do ciclo de relógio e os cinco subciclos, baseado no Intel 8085


Fonte: Monteiro (2002).

Funcionamento do Processador
120 UNIDADE IV

A medida de desempenho do processador é chamada de frequência e nada mais


é do que a quantidade de ciclos de relógio que ocorrem em um segundo. A uni-
dade de medida utilizada é o hertz (Hz), a qual 1 Hz significa 1 ciclo por segundo,
100 Hz significa 100 ciclos por segundo.

A frequência não é a única característica que afeta o desempenho, mas um

Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
processador moderno pode passar dos 4GHz. Calcule, de cabeça, quantos
ciclos ocorrem em um segundo nesses processadores.

BARRAMENTOS

A comunicação realizada entre a CPU e outros componentes é feita via


barramentos.
Um barramento é um conjunto de fios que atuam como um caminho
de dados comum, porém compartilhado, para conectar vários subsis-
temas dentro do sistema. Ele consiste de diversas linhas, permitindo a
transferência de bits em paralelo (NULL, 2011, p. 210).

Os barramentos que interligam a CPU com a memória principal (MP) são:

■ Barramento de dados: um barramento bidirecional para a transferência


de informações entre a CPU e a memória principal.
■ Barramento de endereços: permite a transferência de bits que representam
um determinado endereço na memória. É unidirecional, pois somente a
CPU aciona a memória. A quantidade de linhas do barramento é a quan-
tidade de bits que representam um endereço de memória.
■ Barramento de controle: possibilita a passagem de sinais de controle entre a
CPU e a memória principal de forma bidirecional. A CPU envia sinais para
a MP indicando se a operação é de leitura (READ) ou escrita (WRITE)
e a memória pode enviar sinais de espera (WAIT) (MONTEIRO, 2002).

PROCESSADOR E MEMÓRIA
121

PARALELISMO

Em 1965, Gordon Moore, cofundador da Intel, disse que o número de transis-


tores que poderia ser colocado dentro de um único chip estava dobrando a cada
Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

ano e que essa proporção se manteria num futuro próximo, o que ficou conhe-
cido como Lei de Moore. A previsão se cumpriu nos próximos anos e na década
de 1970, o ritmo diminuiu para dobrar o número de transistores a cada 18 meses
(STALLINGS, 2010).
Há discussões e previsões dizendo que a Lei de Moore está chegando ao fim,
mas há muita pesquisa em relação a como aumentar o desempenho de processa-
dores. Com a evolução dos processadores, a velocidade do clock (ou frequência)
aumentou muito, mas há um limite que pode ser alcançado.

Definindo de uma maneira objetiva e simples, overclocking (não se usa uma


tradução apropriada para esta palavra, mencionando-se, de um modo geral,
a própria palavra em inglês) significa a possibilidade de o usuário fazer o
processador operar em uma frequência de relógio (mais pulso por segundo)
maior do que sua especificação (ou seja, aumentar as “batidas do pêndulo”
mais do que o fabricante considera tolerável).
É claro que, procedendo assim (realizando o overclocking), o processador
funcionará mais rápido, porém este é um procedimento não recomendá-
vel, principalmente para usuários que não dominem amplamente os co-
nhecimentos sobre o funcionamento dos processadores, em particular, e
do sistema, como um todo, pois “envenenar” o motor (o processador) para
acelerá-lo pode acarretar diversos tipos de problema no funcionamento do
sistema, a começar pelo seu “travamento”.
Fonte: Monteiro (2002, p. 251).

Paralelismo
122 UNIDADE IV

Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
Figura 6 - Processador Intel Core i7

Vamos estudar, aqui, algumas estratégias de paralelismo, ou seja, a execução de


mais de uma instrução ao mesmo tempo. Veremos como funcionam o parale-
lismo em nível de instrução e o paralelismo de máquina.

PARALELISMO EM NÍVEL DE INSTRUÇÃO

No paralelismo em nível de instrução, a ideia é obter mais instruções executando


em paralelo. Para isto, estudaremos a estratégia de pipelining e as arquiteturas
superescalares.

Pipelining

Já vimos que o ciclo de instrução pode ser dividido nas etapas de busca e exe-
cução. A fase de busca costuma ser o gargalo na velocidade de execução de
instruções. Para resolver o problema, os fabricantes incluíram, nos processado-
res, a capacidade de buscar as instruções de forma antecipada, armazenando a
em registradores (prefetch buffers) (TANENBAUM, 2013).
O conceito de pipelining consiste em dividir o ciclo de instrução em várias
etapas menores, cada parte é tratada por partes diferentes do hardware, de forma
a executar partes de instruções diferentes de forma simultânea. O conceito fica
um pouco mais claro na imagem a seguir, na qual temos uma representação de
um pipelining de 4 estágios.

PROCESSADOR E MEMÓRIA
123
Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

Figura 7 - Representação de pipeline de 4 estágios


Fonte: Stallings (2010).

Percebemos, na imagem, que temos 6 instruções sendo executadas e que levam 4


ciclos de tempo cada. Em sequência, demoraria 24 ciclos para todas serem execu-
tadas, mas nesse pipeline de 4 estágios, todas são executadas dentro de 9 ciclos.
Vale ressaltar que as instruções intercaladas não podem depender do resul-
tado de uma das anteriores. O processador deve possuir uma estratégia para
evitar os conflitos.

Arquiteturas superescalares

Enquanto o uso de uma pipeline pode fornecer um bom ganho de velocidade


aos processadores, um processador superescalar é um processador que possui
múltiplos pipelines independentes. Esses múltiplos pipelines possibilitam múl-
tiplos fluxos de instruções ao mesmo tempo (STALLINGS, 2010).
Usar múltiplas pipelines é interessante, mas exige duplicar os recursos de har-
dware. Para evitar o alto custo, as CPUs topo de linha podem utilizar um único
pipeline, mas com várias unidades funcionais (TANENBAUM, 2013). A linha
Core da Intel utiliza uma estrutura similar.

Paralelismo
124 UNIDADE IV

Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
Figura 8 - Processador superescalar com 5 unidades funcionais
Fonte: Tanenbaum (2013).

PARALELISMO DE MÁQUINA

As estratégias de paralelismo em nível de instrução fornecem um ganho de velo-


cidade, mas em pequena escala. Para aumentar centenas de vezes o desempenho,
a forma é utilizar várias CPUs (TANENBAUM, 2013).
Existem formas diferentes para utilizar paralelismo de máquina. Estudaremos
três diferentes tipos de paralelismo de máquina.

Computadores paralelos

Sabemos que podemos aumentar a capacidade de um processador se conse-


guirmos dobrar a quantidade de transistores dentro dele (o que comentamos
sobre a Lei de Moore), mas os transistores ficam cada vez menores e há os
seus limites.
De uma forma fácil de imaginar, também podemos dobrar a capacidade
se usarmos dois processadores em uma mesma máquina (estou abstraindo as

PROCESSADOR E MEMÓRIA
125

partes difíceis em ajustar a arquitetura para isso). Se tivermos dois processadores,


podemos usar a ideia que já aprendemos ao ver pipelines e dividir as instruções
entre os processadores.
Essas instruções podem compartilhar o estágio de busca, decodificação e o
conjunto de lógica de controle. Com isso, surgiu o tipo de processadores SIMD
(Single Instruction-stream Multiple Data-stream - fluxo único de instruções, fluxo
múltiplo de dados). Esses processadores consistem em “um grande número de
processadores idênticos que efetuam a mesma sequência de instruções sobre
diferentes conjuntos de dados” (TANENBAUM, 2013, p. 54).
Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

O primeiro processador SIMD foi feito na década de 1970, mas as GPUs


(unidades de processamento gráfico) atuais utilizam a estratégia de processa-
mento do SIMD.

Multiprocessadores

No conceito anterior, as CPUs compartilham de uma mesma unidade de controle.


No conceito de multiprocessador, um sistema possui múltiplas CPUs indepen-
dentes que acessam uma memória compartilhada via barramento. Esse projeto,
ainda, pode conter pequenas unidades de memória local para cada CPU, para dimi-
nuir o tráfego e o conflito no acesso à memória principal (TANENBAUM, 2013).
Dentre as vantagens no uso da memória compartilhada, verifica-se que é
mais simples acessar a memória em um único local, além de não correr o risco
de a memória estar duplicada em diferentes locais, podendo até gerar conflito
na realização de alterações.

Multicomputadores

O conceito de multicomputadores é similar ao conceito de multiprocessadores,


mas sem utilizar memória compartilhada. Ao invés de utilizarem memória com-
partilhada, cada CPU conta com sua memória privada. “Costuma-se dizer que as
CPUs em um multicomputador são fracamente acopladas, para contrastá-las com
as CPUs fortemente acopladas de um multiprocessador” (TANENBAUM, 2013, p.
56). A comunicação entre essas CPUs é realizada por meio de troca de mensagens.

Paralelismo
126 UNIDADE IV

Assim, temos que a programação em multiprocessadores é mais fácil, por


contarem com uma memória compartilhada e com uma forma compartilhada
de acessar as informações, enquanto os multicomputadores são mais fáceis de
serem construídos. Por isso, há pesquisas a respeito de sistemas híbridos, jun-
tando o melhor de cada abordagem.

RISC VS. CISC

Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
O projeto de processadores envolve o conjunto de instruções que podem ser efetu-
adas nele, o que é essencial para a programação de qualquer sistema. Inicialmente,
os processadores seguiam a abordagem CISC (Complex Instruction Set Computer
- Computador com conjunto de instruções complexas), na qual as instruções
eram mais complexas, podiam englobar mais operações em uma instrução a fim
de que os programas ficassem menores e o trabalho do programador fosse faci-
litado (STALLINGS, 2010).
Os programas finais, porém não ficavam tão pequenos e veio a proposta
dos computadores RISC (Reduced Instruction Set Computer - Computador com
conjunto de instruções reduzidas), que teria, como o nome diz, um conjunto de
instruções reduzidas e mais simples, em que cada uma das execuções pudesse
ser executada em apenas um ciclo do processador. Com isso, o RISC poderia
obter um ganho de desempenho em relação ao CISC.
No começo da década de 80, a linha da Intel, por exemplo, estava utilizando
a abordagem CISC, enquanto PowerPC utilizava a abordagem RISC.
Apesar de ambas as abordagens terem adeptos e defensores, logo os dois
lados perceberam duas coisas: primeiro, o RISC pode se beneficiar de alguns
recursos CISC; segundo, o CISC pode se beneficiar de alguns recursos RISC.
Assim, o PowerPC passou a não ser mais um “RISC puro” e os Pentium, da
Intel, passaram a incorporar algumas características RISC (STALLINGS, 2010).
Ao final desta unidade, na área da “leitura complementar”, você vai encon-
trar um artigo chamado “Controvérsia de RISC versus CISC”, que trata dessa
questão de que as abordagens estão se misturando cada vez mais.

PROCESSADOR E MEMÓRIA
127

CONCEITO DE MEMÓRIA

Durante todo o texto, falamos muito em memória, armazenamento em memó-


Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

ria, representação de dados na memória, comunicação do processador com a


memória, entre outras coisas. Você já percebeu como a memória é importante
para um sistema de computação. Agora é a hora de dedicarmos nosso estudo a ela.

Figura 9 - Tirinha “O que ainda falta?”


Fonte: Noel (2014, on-line)1.

Basicamente, a memória de um computador é onde são armazenados e recupe-


rados os dados. Já vimos que são armazenados em bits e já vimos como os bits
se juntam para formar informações maiores, portanto, não precisamos voltar a
esse nível de detalhamento.
Podemos imaginar a memória como um armário onde colocamos nossa
informação, cada bloco de memória (memórias modernas trabalham com blo-
cos de 8 bits - 1 byte) tem um endereço numérico para que a informação possa
ser recuperada. Se a informação possui, por exemplo, 4 bytes, o endereço será
relativo ao primeiro byte da informação.

Conceito de Memória
128 UNIDADE IV

Em programação, quando armazenamos valores em uma variável é como


se guardássemos a informação no “grande armário” da memória, com uma eti-
queta, que seria o nome da variável, para facilitar a localização.

Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
Figura 10 - Representação do armazenamento de variáveis em memória
Fonte: o autor.

Existem apenas duas operações básicas que efetuamos na memória. A primeira é


a operação de escrita (write), também chamada de gravação ou armazenamento,
que é quando escrevemos a informação que desejamos na memória. A segunda
é a leitura (read), ou recuperação da informação (MONTEIRO, 2002).

TIPOS DE MEMÓRIA

Todo sistema de computador trabalha com diferentes tipos de memória ao


mesmo tempo. Como o custo de leitura e escrita de informações é alto, ele pre-
cisa ser otimizado para cada fim.
Existem as memórias para armazenamento permanente, que conhecemos
como memória secundária, que é onde você guarda seus documentos, suas
fotos, os sistemas que você instala, o sistema operacional… resumindo, tudo.

PROCESSADOR E MEMÓRIA
129

Essa memória, porém é geralmente muito (muito, muito) mais lenta do que a
velocidade em que o processador trabalha, ou seja, não compensaria executar
os programas direto da memória secundária.
É aí que entra a memória principal, que é uma memória muito mais rápida,
porém volátil, ela não mantém a informação armazenada quando o sistema é des-
ligado e ela fica sem energia. Dessa forma, todo sistema instalado na memória
secundária é copiado para a memória principal para ser executado. O mesmo ocorre
com os dados, que são copiados para a memória principal para serem utilizados.
“Por que não fazem a memória principal do mesmo tamanho da memória secundá-
Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

ria, para copiar tudo para a memória principal quando ligar o computador e executar
tudo mais rápido?” − O rapaz de camiseta cinza ali do fundo pode perguntar.
A ideia é boa, mas o custo da memória principal é muito maior, pensando
em custo por bytes. Pode ver que você encontra máquinas com 1Tb de armaze-
namento e apenas 8Gb de memória RAM.
Há memórias ainda menores e mais temporárias do que a memória princi-
pal, como as caches e os registradores, também há diversos tipos de memórias
secundárias, mas deixaremos para ver isso no próximo tópico.

HIERARQUIA DE MEMÓRIA

Falamos há pouco sobre a importância da memória principal e como ela é


utilizada, porém ela ainda é mais lenta do que os processadores e a busca de
informações pode causar um gargalo. Para evitar isso, há uma memória inter-
mediária chamada memória cache, que é bem mais rápida, mas muito menor.
Ela armazena informações que serão utilizadas pelo processador a fim de “apres-
sar” a recuperação de informações.
Ainda há, nos processadores, uma memória menor e mais rápida, os regis-
tradores, que armazenam informações pequenas, como os operandos de uma
instrução, por exemplo.

Hierarquia de Memória
130 UNIDADE IV

Para entendermos melhor a relação entre os diferentes tipos de memória,


podemos traçar a hierarquia de memória, colocando em ordem de velocidade
as memórias, como representado na figura a seguir.

Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
Figura 11- Hierarquia de memória
Fonte: adaptado de Stallings (2010).

REGISTRADORES

Os registradores são unidades muito pequenas de memória que ficam dentro


do processador, que servem para armazenar pequenas unidades de informação,
basicamente, 1 dado por registrador.
“Os registradores são fabricados com capacidade de armazenar um único dado,
uma única instrução ou até mesmo um único endereço. Dessa forma, a quantidade
de bits de cada um é de uns poucos bits (de 8 a 64)” (MONTEIRO, 2002, p. 116).

PROCESSADOR E MEMÓRIA
131

São um tipo de memória volátil, semicondutora, e está no topo da pirâmide


em relação ao custo. A quantidade de registradores e o uso dado a cada um varia
muito de acordo com a CPU.
Além dos registradores de dados, o processador (pode variar de acordo com
o modelo), ainda, tem o registrador de instrução (RI), o controlador de instrução
(CI) ou program counter (PC), o registrador de endereços de memória (REM) e o
registrador de dados de memória (RDM).
Na próxima unidade, veremos o conceito de interrupções. Para as interrupções,
o estado do programa é salvo em um registrador especial chamado de Program
Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

Status Word (PSW), ou registrador de estado da palavra (MONTEIRO, 2002).

MEMÓRIA CACHE

Como já dissemos, a memória cache fica entre o processador e a memória princi-


pal, conceitualmente. Na prática, os processadores incluem neles 1 ou 2 níveis de
cache, é mais rápida que a memória principal e serve para guardar informação tem-
porária da memória principal para diminuir o custo de recuperação da informação.
É comum o uso de memória cache em diferentes níveis. Diversos sistemas
utilizam três níveis de cache, que são chamadas de cache L1, cache L2 e cache
L3 (a letra “L” vem de “level” - “nível”).

Figura 12 - Organização da cache em três níveis


Fonte: Stallings (2010).

A cache L1 é a menor e mais rápida, nos níveis seguintes elas aumentam, mas
ficam mais lentas. Nem todos os processadores apresentam os mesmos níveis
de cache ou trabalham com elas da mesma forma.

Hierarquia de Memória
132 UNIDADE IV

MEMÓRIA PRINCIPAL

A memória principal, também conhecida como memória principal semicon-


dutora, é a forma mais comum de armazenamento de acesso aleatório, por
isso também é conhecida como RAM (Random Access Memory - Memória de
Acesso Aleatório).
Ela consiste em células de memórias que apresentam dois estados estáveis
(ou semiestáveis) para representar a informação (0 ou 1), podem ser escritas
pelo menos uma vez e podem ser lidas (STALLINGS, 2010).

Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
A memória RAM, utilizada nos computadores, pode ser de um dos dois
tipos: DRAM ou SRAM. A memória DRAM (Dynamic RAM) é uma memória
que possui armazenamento de dados de forma dinâmica, em capacitores. Como
os capacitores têm uma tendência de descarregar, as memórias DRAM precisam
ficar se recarregando para manter os dados (STALLINGS, 2010).
Já a memória SRAM (Static RAM) é uma memória estática, que mantém
seu conteúdo mesmo quando não tem alimentação disponível. Utiliza circuitos
similares a flip-flops tipo D e é muito mais rápida e mais cara do que a DRAM.
A DRAM, porém é mais densa, permitindo armazenar mais bits por chip, usa
menos energia, o que gera menos calor do que a SRAM (NULL, 2011).

ROM, PROM, EPROM, EEPROM E MEMÓRIA FLASH

Além das memórias de acesso aleatório, existem as memórias utilizadas para


armazenamento, que vão desde a famosa “memória da BIOS” até os armazena-
mentos de dados pessoais.
A princípio, a memória ROM (Read-Only Memory) é uma memória somen-
te-leitura, uma memória que vem gravada de fábrica, não permite modificação
e é bastante usada em sistemas embarcados, brinquedos e eletrodomésticos
(NULL, 2011).
A memória ROM possui variações. A primeira, a memória PROM
(Programmable Read-Only Memory) é um tipo que pode ser escrita com equipa-
mentos apropriados, depois de programada, não pode ser apagada (NULL, 2011).

PROCESSADOR E MEMÓRIA
133

Depois, temos a EPROM (Erasable PROM), que funciona como a PROM, mas
pode ser apagada e reprogramada usando luz ultravioleta. E, ainda, a EEPROM
(Electrically Erasable PROM), que pode ser reescrita apenas com eletricidade,
byte a byte (NULL, 2011).
Por fim, temos a Memória Flash, que é um tipo de memória EEPROM
que pode ser escrita ou apagada em blocos, sendo bem mais rápida do que a
EEPROM, e é ela a memória por trás dos pendrives USB, que também são conhe-
cidos como “USB flash drives”.
Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

Um disco SSD (Solid-State Disks - discos em estado sólido, esses discos que
estão substituindo os discos magnéticos) é feito também a partir de memó-
ria flash.
“Visto que os SSDs são basicamente memória, eles possuem desempenho
superior aos discos giratórios, com tempo de busca zero. Enquanto um dis-
co magnético típico pode acessar dados em até 100 MB/s, um SSD pode
operar duas a três vezes mais rápido. E como o dispositivo não possui partes
móveis, ele é muito adequado para uso em notebooks, onde trepidações e
movimentos não afetarão sua capacidade de acessar dados. A desvantagem
dos SSDs, em comparação com discos magnéticos, é o seu custo. Enquanto
os discos magnéticos custam centavos de dólar por gigabyte, um SSD típi-
co custará de um a três dólares por gigabyte, tornando seu uso apropriado
apenas para aplicações com drive menor ou em situações em que o custo
não é um problema. O custo dos SSDs está caindo, mas ainda há um longo
caminho até que alcancem os discos magnéticos baratos”.
Fonte: Tanenbaum (2013, p. 77).

DISCOS

Os discos já são velhos conhecidos na área de armazenamento. Temos os discos


magnéticos, que envolvem discos rígidos e disquetes (que já não estão mais em
uso, mas vale a pena mencioná-los), e os discos óticos, como CD, DVD, BluRay
e todas as suas variações.

Hierarquia de Memória
135

A velocidade de leitura ou escrita nesses discos depende, basicamente, de 3 fato-


res: o tempo de busca (seek), que é relativa à movimentação do braço de leitura,
o tempo de latência rotacional, que é o tempo que o disco leva para girar até a
posição correta, e o tempo de transferência dos dados, que é o tempo de ler ou
escrever a informação efetivamente.
Não vamos nos estender com mais detalhes sobre os discos magnéticos, mas
eles possuem uma estrutura interessante de armazenamento separadas em tri-
lhas, zonas e setores, mas para nossa disciplina, isso já é suficiente.
Os discos óticos possuem uma ideia similar de armazenamento, mas utili-
Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

zam feixes de laser para realizar a leitura e a escrita (em discos que permitem
a escrita). Esses discos se popularizaram bastante, mas perderam muito espaço
para os pendrives, seja para armazenamento ou para reprodução de multimídia.
Com isso, chegamos ao fim do nosso estudo sobre as memórias e armaze-
namento. Espero que a sua memória esteja bem afiada para armazenar toda essa
informação.

Hierarquia de Memória
136 UNIDADE IV

CONSIDERAÇÕES FINAIS

Meu caro amigo ou minha cara amiga, nossa disciplina abrange conteúdos muito
bons, mas também muito densos e com muita informação. Por se tratar de uma
disciplina introdutória, eu tenho filtrado o conteúdo, deixando de fora muitos
detalhes para que nenhuma cabeça exploda no percurso (nem a de vocês nem
a minha), mas é um conteúdo muito intrigante e apaixonante (quando se olha
com olhos apaixonados).
Não sei você, mas eu sempre fui muito encantado com o computador e com

Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
tudo a respeito. Às vezes, a minha angústia é a de não ter tempo de me apro-
fundar em todas as áreas da computação, que são muitas para qualquer pessoa.
Eu espero que você esteja conseguindo acompanhar e entender bem o con-
teúdo. Minha intenção é trazer os dados e as informações, mas de uma forma
que qualquer pessoa, sem conhecimentos anteriores na área, possa acompanhar.
É claro que sei que com uma certa bagagem o estudo fica bem mais tranquilo,
mas não dá para ser diferente.
Essa unidade foi mais teórica do que as duas anteriores. De certa forma, não
exige da nossa parte do cérebro que faz cálculos, mas exige uma boa capacidade
de armazenamento em nossa memória secundária.
Vimos, aqui, como os processadores são divididos e qual é o papel da uni-
dade de controle, da unidade lógica e aritmética e dos registradores. Depois,
passamos pelo funcionamento do processador, para entender como ele trata as
execuções de instrução e como cada ciclo funciona. E vimos conceitos de para-
lelismo no processamento, para entender melhor como as instruções podem ser
executadas de forma simultânea.
Depois, passamos ao estudo da memória, seus tipos e como funciona a ques-
tão de gravar e recuperar informações nela, usando os endereços para acesso. Por
fim, vimos a hierarquia de memória, detalhando melhor cada tipo de memória
utilizada em um sistema de computação.
Espero que você, ainda, esteja firme e forte para a última unidade que está
chegando por aí!

PROCESSADOR E MEMÓRIA
137

1. Uma CPU (também conhecida como “processador”) funciona como a parte


central de um computador, sendo responsável por todos os cálculos, como se
fosse o cérebro da máquina. O tempo todo, o processador trabalha com infor-
mações e as troca com a memória e com os dispositivos de entrada e saída.
Considerando o texto anterior, assinale o que é usado para transferir as infor-
mações de um ponto a outro em um computador.
a) Polling.
b) Chipset.
c) Interface.
d) Registrador.
e) Barramento.

2. Todos os programas utilizados em um computador são copiados de forma


temporária para a memória principal, por ela ter uma velocidade muito maior
do que a velocidade de memórias secundárias. Ela não consegue, porém arma-
zenar dados de forma permanente.
Considerando o texto anterior, avalie as afirmações a seguir.
I. Apesar de ser mais lenta, a memória secundária é mais barata quando
pensamos no preço por bytes. Por isso, que esse tipo de memória costuma
ter uma capacidade de armazenamento bem maior do que o da memória
principal.
II. A memória principal sempre é mais veloz do que a memória secundária
por conta do tempo despendido na busca de informações em disco. Por ser
sempre em formato de disco, internamente, há uma demora na rotação e
posicionamento até a informação desejada.
III. O tipo de armazenamento de dados em memória secundária pode ser mag-
nético ou não. Como exemplos de armazenamento não magnético, temos
os CDs e os DVDs.
Assinale a alternativa que apresenta as afirmativas corretas
a) Somente as afirmativas I, II e III estão corretas.
b) Somente a afirmativa II está correta.
c) Somente as afirmativas I e II estão corretas.
d) Somente as afirmativas I e III estão corretas.
e) Somente as afirmativas II e III estão corretas.
138

3. [Adaptado ENADE 2014] “O barramento é o elemento de conexão entre to-


dos os componentes do computador, como memória, CPU e dispositivos de
entrada e saída. O barramento de dados é o meio por onde serão trafegados
os dados; o barramento de endereços transporta a informação do endereço
do dispositivo que poderá acessar o barramento de dados; e o barramento de
controle serve para determinar o sentido do fluxo de dados (se os dados são de
entrada ou saída da CPU), e se os dados devem ser destinados à memória ou a
dispositivos de I/O e também para controlar o clock no barramento.”
STALLINGS, W. Arquitetura e Organização de Computadores. 8 ed. São Pau-
lo: Pearson Pratice Hall, 2010 (adaptado).
Considerando um computador com um barramento de dados de 3 bits e barra-
mento de endereços de 4 bits, ele poderá endereçar, respectivamente, quantas
posições de memória e quantos dispositivos de I/O?
a) 16 e 16.
b) 16 e 8.
c) 8 e 8.
d) 8 e 4.
e) 4 e 8.
139

4. “Parte do problema de limitação de velocidade do processador refere-se à dife-


rença de velocidade entre o ciclo de tempo do processador e o ciclo de tempo
da memória principal. Ou seja, a memória transfere bits ao processador em
velocidades sempre inferiores às que o processador pode receber e operar os
dados, o que acarreta, muitas vezes, a necessidade de acrescentar um tempo
de espera para o processador”.
MONTEIRO, Mario A. Introdução à organização de computadores. 4. ed. Rio
de Janeiro: LTC., 2002 (adaptado).
Considerando o texto anterior, assinale a afirmativa correta em relação à fun-
ção da memória cache.
a) A memória cache é uma memória flash muito mais rápida que a RAM e de
acesso não-volátil.
b) A memória cache é uma espécie de memória virtual que aumenta a capaci-
dade da memória RAM.
c) A memória cache fica dentro do processador para aumentar a velocidade
dos ciclos de clock de informações.
d) A memória cache copia blocos de dados muito utilizados da memória RAM
para oferecer a informação mais rápido ao processador.
e) A memória cache mantém um registro de todas as operações já executadas
pelo processador, para indicar mais rápido o que fazer no caso de repetir
operações.
140

5. “Registradores são usados em sistemas de computação como lugares para ar-


mazenar uma grande variedade de dados, tais como endereços, contadores
de programa ou dados necessários para a execução do programa. Colocando
de forma simples, um registrador é um dispositivo de hardware que armazena
dados binários”.
NULL, L.; LOBUR, J. Princípios básicos de arquitetura e organização de com-
putadores. 2. ed. Porto Alegre: Bookman, 2011. p. 209.
Considerando o texto anterior, assinale a alternativa correta.
a) Os registradores são pequenos componentes de memória que funcionam
de forma muito rápida e ficam instalados dentro da memória principal.
b) Por serem muito pequenos e para usos muito específicos, os registradores
são componentes baratos, já que sua velocidade não causa impacto no res-
to do sistema.
c) Os registradores ficam dentro do processador e armazenam, por exemplo,
as instruções logo antes dela ser executada pela ULA.
d) Registradores são os componentes de softwares escritos dentro do proces-
sador, que indicam como e onde a informação será armazenada.
e) O uso de registradores em um sistema computacional significa um grande
impacto no armazenamento, pois muito mais espaço é garantido para a me-
mória por conta do tamanho dos registradores.
141

Controvérsia de RISC versus CISC


Durante muitos anos, a tendência geral na arquitetura e organização de computadores
foi aumentar a complexidade do processador: mais instruções, mais modos de ende-
reçamento, mais registradores especializados e assim por diante. O movimento RISC
representa uma quebra fundamental com a filosofia por trás desta tendência. Natural-
mente, o aparecimento de sistemas RISC e a publicação de artigos pelos seus proponen-
tes exaltando as virtudes de RISC levaram a uma reação por parte daqueles envolvidos
no projeto de arquiteturas CISC.
O trabalho que foi feito avaliando os méritos da abordagem RISC pode ser agrupado em
duas categorias:
• Quantitativa: tenta comparar o tamanho do programa e a velocidade de execução
dos programas em máquinas RISC e CISC que usam tecnologias comparáveis.
• Qualitativa: analisa questões como suporte para linguagem de alto nível e uso otimi-
zado do estado atual de VLSI.
A maior parte do trabalho em avaliações quantitativas foi feito por aqueles que traba-
lham em sistemas RISC (PATTERSON e PIEPHO, 1982; HEATH, 1984; PATTERSON, 1984) e
foi, em grande parte, favorável à abordagem RISC. Outros analisaram a questão e não
ficaram convencidos (COLWELL et al., 1985; FLYNN, MITCHELL e MULDER, 1987; DAVID-
SON e VAUGHAN, 1987). Existem vários problemas ao se tentar fazer tais comparações
(SERLIN, 1986):
• Não existem pares de máquinas RISC e CISC que sejam comparáveis em custo de ciclo
de vida, nível de tecnologia, sofisticação do compilador, suporte de sistema operacio-
nal e assim por diante.
• Não existe nenhum conjunto de programas de teste definitivo. Os desempenhos va-
riam com o programa.
• É difícil separar os efeitos de hardware dos efeitos provenientes da capacidade em
escrever compiladores.
• A maioria das análises comparativas sobre RISC foram feitas em máquinas “brinque-
dos” em vez de produtos comerciais. Além disso, a maioria das máquinas comercial-
mente disponíveis possui propagandas que as destacam como uma mistura de carac-
terísticas RISC e CISC. Assim, uma comparação justa com uma máquina comercial real
CISC (por exemplo, VAX, Pentium) é difícil.
142

A avaliação qualitativa é, quase que por definição, subjetiva. Vários pesquisadores vol-
taram a sua atenção para tal avaliação (COLWELL et al., 1985; WALLICH, 1985), mas os
resultados são, na melhor das hipóteses, ambíguos e certamente sujeitos à réplica (PAT-
TERSON; HENNESSY, 1985) e, é claro, à tréplica (COLWELL et al., 1985).
Em anos mais recentes, a controvérsia RISC versus CISC sumiu quase que totalmente.
Isso aconteceu porque houve uma convergência gradual das tecnologias. Com o au-
mento da densidade dos chips e da velocidade do hardware, os sistemas RISC se torna-
ram mais complexos. Ao mesmo tempo, em um esforço para obter o máximo desem-
penho, os modelos CISC focaram em questões tradicionalmente associadas com RISC,
como um aumento no número de registradores de uso geral e mais ênfase no projeto
do pipeline de instruções.
Fonte: Stallings (2010, p. 424-425).
MATERIAL COMPLEMENTAR

Como funciona um processador


Vídeo de animação humorística que ilustra bem o comportamento de um processador durante o
funcionamento do computador. O vídeo é dos anos 2000, tem termos antigos, mas é muito bom.
Web: <https://www.youtube.com/watch?v=VwguixRZsbo>

Como funciona o Pen Drive (ART 614)


Artigo do Prof. Newton C. Braga explicando, com detalhes, como funciona um pendrive e como os
dados são armazenados na memória flash.
Web: <http://www.newtoncbraga.com.br/index.php/como-funciona/3619-art614>

Cientistas explicam como armazenar 700 TB de dados em um grama de DNA


Esse artigo fala um pouco a respeito de uma técnica de armazenamento de dados em DNA e quanto
de de dados podem ser armazenados.
Web: <https://tecnoblog.net/110981/armazenamento-dados-grama-dna/>

Material Complementar
REFERÊNCIAS

MONTEIRO, M. A. Introdução à organização de computadores. 4. ed. Rio de Janei-


ro: LTC, 2001. 498 p.
NULL, L.; LOBUR, J. Princípios básicos de arquitetura e organização de computa-
dores. 2. ed. Porto Alegre: Bookman, 2011. 822 p.
STALLINGS, W. Arquitetura e organização de computadores. 8. ed. São Paulo: Pe-
arson Prentice Hall, 2010.
TANENBAUM, A. S. Organização estruturada de computadores. 6. ed. São Paulo:
Pearson Prentice Hall, 2013.

REFERÊNCIAS ON-LINE

Em: <https://vidadeprogramador.com.br/2014/02/19/o-que-ainda-falta/>.
1
145
GABARITO

1. E.

2. D.

3. A.

4. D.

5. C.
Professor Me. Andre Abdala Noel

INTERAÇÃO

V
UNIDADE
HOMEM-MÁQUINA

Objetivos de Aprendizagem
■ Conhecer como se dá a entrada e saída de dados de um computador
e seus dispositivos.
■ Entender qual é a função do sistema operacional de uma máquina.
■ Analisar como os aplicativos são executados e como podem ser
desenvolvidos.
■ Estudar um pouco sobre diferentes licenças de software e sua
importância.

Plano de Estudo
A seguir, apresentam-se os tópicos que você estudará nesta unidade:
■ Entrada e Saída (E/S)
■ Sistemas operacionais
■ Aplicativos e desenvolvimento
■ Licenças de software
149

INTRODUÇÃO

Chegamos à nossa última unidade. “Aaaaaahhhhhh!” − A plateia emite um som


de tristeza. Eu sei, eu também estava me divertindo bastante, mas eu tenho algo
a dizer que vai alegrar o seu coração: essa não é uma daquelas disciplinas que o
mais difícil fica pro final. Essa unidade é um tanto light e é bem mais próxima à
sua realidade (assumindo, mais uma vez, que você não seja uma máquina que
está lendo e indexando este livro).
Existe uma área de estudo chamada “Interação Humano-Computador” ou
Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

“Interação Homem-Máquina”, que visa estudar questões de usabilidade para per-


ceber como o homem tem interagido com a máquina e como isso pode melhorar,
mas não é isso o que estudaremos nesta unidade.
Escolhi esse nome para a unidade porque sairemos lá das entranhas do com-
putador para chegar mais próximo ao ser humano, ao usuário. Veremos algumas
formas, em hardware e software, que são usadas para as pessoas efetivamente
utilizarem as máquinas, interagirem com elas.
Primeiro, veremos como funciona a entrada e saída de um computador. É
uma parte muito importante do estudo, porque sem a entrada e saída, pessoas e
máquinas não “conversariam”, um seria um inútil para o outro.
Depois, passaremos a falar de software, iniciando pelos sistemas operacio-
nais. Um sistema operacional é um pedaço de software que utilizamos todos os
dias e muitas vezes não sabemos exatamente pra que ele serve e o que ele faz,
sabemos que é o nome dele que aparece quando ligamos a máquina.
Em seguida, passaremos aos programas/sistemas/aplicativos, que são o que
a gente quer usar quando pega um computador (ou smartphone, mas vou gene-
ralizar em “computador”), o que são esses programas e como eles “rodam”.
Por fim, veremos um pouco sobre as licenças de software, que implicam em
como o aplicativo é distribuído e como as pessoas podem fazer uso deles.
Bom, como você já sabe, é hora de preparar aquele café gostoso para rechear
o nosso cérebro de conhecimento!

Introdução
150 UNIDADE V

ENTRADA E SAÍDA (E/S)

Agora, você está lendo esse livro na versão digital? Ou na versão impressa? Neste
exato momento em que estou escrevendo o livro, estou utilizando muito a entrada
de dados para colocar esse monte de letrinhas em um sistema computacional
(e a saída para conferir se as letras foram para os lugares certos). Você, que está
lendo o que escrevi (você já está no futuro para mim), utilizou o processo de saída
de dados do computador, seja para a versão digital ou para a versão impressa.
Vamos relembrar, mais uma vez, a arquitetura de computadores proposta

Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
por von Neumann, lá nas primeiras gerações de computadores?

Figura 1- Modelo de arquitetura de von Neumann


Fonte: o autor.

Resumindo, qualquer computador pode ser resumido em três partes: entrada,


processamento e saída. Já gastamos um bom tempo falando sobre a parte de
processamento, agora, vamos falar um pouco sobre a entrada e saída de dados.
Na imagem pomposa anterior, parece que a entrada e a saída são apenas
detalhes, mas elas são muito importantes no uso de um computador. Eu cos-
tumo dizer que, para um usuário comum, um computador é melhor representado
pela seguinte imagem:

INTERAÇÃO HOMEM-MÁQUINA
151

Figura 2 - Modelo de arquitetura segundo o usuário


Fonte: o autor.

Para um usuário leigo, o importante é que ele possa entrar os dados necessá-
Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

rios, o computador “faz sua mágica” e retorna os dados esperados. Portanto, a


entrada e a saída podem ser enxergadas por ele como as partes mais importan-
tes de um sistema de computação.
De uma forma mais elegante: “O sistema de entrada e saída (E/S) em um
computador é responsável pela ligação do processador ao mundo externo. Essa
ligação faz-se através de dados entre dispositivos periféricos e o processador ou
diretamente entre dispositivos periféricos e a memória” (WEBER, 2000, p. 85).

SISTEMA DE ENTRADA E SAÍDA

Um sistema de E/S é composto de vários componentes diferentes. Não focare-


mos o nosso estudo em dispositivos de E/S, porque eles mudam muito, de acordo
com os equipamentos do momento. Direcionaremos nosso estudo a entender o
que compõe um sistema de E/S e como se dá a comunicação com o computador.
■ Periféricos: são definidos como periféricos quaisquer dispositivos que
possam ser conectados e que efetuem troca de dados com o computador.
Podemos ter periféricos de entrada, que são aqueles que só transferem
dados ao computador (mouse, teclado, joystick etc.), periféricos de saída,
aqueles que recebem os dados do processador (monitor, impressora, placa
de som etc.), periféricos de entrada e saída, que enviam e recebem dados
(pendrives, CD-RW, cartões de memória etc.), ou ainda os periféricos de
comunicação, que permitem a comunicação com outras máquinas e/ou
pessoas (modem, placa de rede etc.).

Entrada e Saída (E/S)


152 UNIDADE V

■ Interface: é o componente de hardware que fica entre o processador e o


periférico. A interface é quem define como os dados serão transferidos.
■ Controlador: parte da interface que controla a transferência de dados.
O controlador e a interface, muitas vezes, são considerados sinônimos.
■ Driver: elemento de software que contém as funções para a comunica-
ção da interface com o sistema operacional.
■ Porta de E/S: o processador possui um determinado número de portas
(ou endereços) de E/S, destinados à comunicação com os periféricos por
via de suas interfaces e controladores.

Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
■ Barramento: já vimos que são conjuntos de fios que transportam dados,
endereços e sinais de controle. Há barramentos dentro do processador e
barramentos externos. Assim, como há o barramento de memória, que
liga o processador à memória, há o barramento de expansão, que conecta
o processador às interfaces e controladores de E/S (WEBER, 2000).

TRANSFERÊNCIA DE DADOS DE E/S

Os dados trafegados pela entrada e saída precisam ser transferidos do computador,


ou para o computador. Essa transferência de dados pode ser com o processador
(por interrupção ou polling) ou pode ser direto com a memória. Estudaremos
esses três tipos de transferência.

Interrupções

Os sinais de entrada e saída, muitas vezes, precisam ser tratados de forma ime-
diata pelo processador. Ninguém gosta quando acontece de digitar uma tecla no
teclado e ela demora para aparecer na tela. Ainda, a resposta no monitor precisa
ser imediata. Para isso, o processador precisa tratar algumas entradas e saídas
no momento em que são requisitadas.
Por outro lado, o processador não pode ficar o tempo todo atento aos sinais
de entrada e saída, senão ele desperdiça tempo de processamento esperando sinais
que podem nem ocorrer. Não tem como prever quando o usuário vai mexer o
mouse, quando vai clicar, quando vai digitar ou parar de digitar…

INTERAÇÃO HOMEM-MÁQUINA
153

Nesse ponto é que entram as interrupções, que são os mecanismos que o


processador usa para tratar eventos de E/S. “Essencialmente, as interrupções per-
mitem que os dispositivos solicitem que o processador pare o que está fazendo
no momento e execute um software para processar a solicitação do dispositivo”
(CARTER, 2003, p. 204). Esse processo é parecido com uma chamada de pro-
cedimento de software, mas iniciada pelo dispositivo externo.
Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

Figura 3 - Processamento de interrupção simples


Fonte: Stallings (2010).

Entrada e Saída (E/S)


154 UNIDADE V

Além das interrupções de hardware, o termo “interrupção” também foi ado-


tado para interrupções de software e interrupções internas ao processador. Uma
interrupção de software é resultado de uma instrução que provoca a ativação
do mecanismo de tratamento de interrupção. Uma interrupção do processa-
dor pode ser, também, classificada como interrupção de software, porque são
resultados de instruções e síncronas ao programa em execução. As interrupções
do processador, porém são resultados da ocorrência de exceções, que estudamos
em “tratamento de exceções” em programação (WEBER, 2000).

Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
Polling

Vimos que as interrupções (de hardware) ocorrem de forma assíncrona e o


processador trata a entrada ou a saída apenas quando recebe a requisição de
interrupção. Uma alternativa a essa forma é o polling, que funciona, basicamente,
de forma oposta às interrupções.
O processo de polling consiste em deixar o processador “atento”, verificando
periodicamente os dispositivos de E/S, para identificar se há dados a serem tra-
tados. Isso pode melhorar o desempenho do sistema se o processador não tiver
realizando outros trabalhos durante as operações de E/S (CARTER, 2003).
Ainda, para tratar uma exceção, o processador precisa guardar o estado do
que está fazendo, parar e tratar a interrupção, o que ocasiona uma espera, ainda
que pequena, para tratar E/S.
Em relação ao sistema como um todo, as desvantagens trazidas pelo polling
fazem com que as interrupções sejam preferidas na maioria dos casos. Em resumo,
as vantagens do polling são sentidas apenas durante as transferências de dados.
Uma desvantagem significativa é que ele ocupa os recursos de processamento,
mesmo quando não há operações de E/S. Outra desvantagem é que o polling exige
que o sistema operacional ou o programa em execução fique fazendo a sonda-
gem nas entradas e saídas, na frequência específica (CARTER, 2003).
Portanto, as interrupções são os métodos mais usados, mas os sistemas
podem entrar em modo de polling quando precisarem de um tratamento mais
exclusivo para E/S.

INTERAÇÃO HOMEM-MÁQUINA
155

Acesso direto à memória (DMA)

Nem todas as informações de entrada e saída precisam passar pelo processador,


existe também uma forma de comunicação direta entre os componentes de E/S
e a memória, chamada de acesso direto à memória (DMA).
Para que o DMA seja utilizado, é preciso que o computador tenha um módulo
adicional no barramento de sistema, o módulo de DMA. Esse módulo conse-
gue simular o processador e assumir o controle do barramento de sistema para
transferir a informação direto da E/S para a memória e da memória para E/S
Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

(STALLINGS, 2010).
A transferência de dados exige que a DMA controle o barramento de siste-
mas quando não está sendo utilizado pelo processador ou, ainda, o DMA pode
usar uma técnica conhecida como roubo de ciclo, forçando o processador a sus-
pender a operação que estava fazendo para controlar o barramento, pelo menos
por um ciclo (STALLINGS, 2010).

Muitos barramentos podem operar em dois modos: modo palavra e modo


bloco. Alguns controladores de DMA também são capazes de operar em ou-
tro modo. No modo palavra, operação funciona como descrita anteriormen-
te, o controlador de DMA solicita a transferência de uma palavra e consegue.
Se a CPU também quer o barramento, ela tem que esperar. O mecanismo é
chamado de roubo de ciclo, pois o controlador de dispositivo rouba da CPU
um ciclo do barramento, a cada vez alternando.
No modo bloco, o controlador do DMA diz ao dispositivo para obter o barra-
mento, emite uma serie de transferências e então libera o barramento. Esse
modo de operação é chamado de modo surto. Este é mais eficiente que o
anterior, pois várias palavras podem ser transferidas com uma aquisição do
barramento. A única desvantagem do modo surto é que ele pode bloquear
a CPU e outros dispositivos por um período grande de tempo, caso um lon-
go surto tenha de ser transferido.
Fonte: Moreno (2013, on-line)¹.

Entrada e Saída (E/S)


156 UNIDADE V

INTERFACES PARA PERIFÉRICOS

Sabemos que os periféricos são componentes externos ao computador e que


precisam ser conectados de alguma forma. Cada periférico tem as suas parti-
cularidades, por isso, a forma de conexão pode ser diferente. Percebe-se isso
ao olhar um computador por trás e ver a quantidade de conectores diferentes.
Em geral, essas interfaces podem ser de forma serial ou paralela. A diferencia-
ção de ambas é simples. Uma interface paralela é uma interface que possui uma
ligação por meio de várias linhas, que transmitem os bits em paralelo. A quanti-

Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
dade de linhas varia de acordo com o tamanho de palavra que a interface transfere.
Já a interface serial utiliza apenas uma linha e os bits são transferidos de
forma serial, ou seja, um depois do outro (STALLINGS, 2010).

Figura 4 - Vista dos conectores das interfaces ligadas à placa-mãe

Em geral, as interfaces paralelas eram mais utilizadas para dispositivos que precisa-
vam de uma transferência de dados mais rápida, porém com o avanço das interfaces
seriais de alta velocidade, as interfaces paralelas foram sendo deixadas de lado.

INTERAÇÃO HOMEM-MÁQUINA
157

Essa interface serial de alta velocidade é conhecida como barramento serial


universal, mas é mais conhecida pela sua sigla em inglês USB (Universal Serial Bus).
Em 1993, representantes de sete empresas (Compaq, DEC, IBM, Intel,
Microsoft, NEC e Northem Telecom) se reuniram para buscar a melhor
maneira de anexar dispositivos de E/S a um computador. Desde então,
centenas de outras empresas se juntaram a elas. O padrão resultante,
lançado oficialmente em 1998, é denominado USB (Universal Serial
Bus — barramento serial universal), e é amplamente executado em
computadores pessoais.

Alguns dos objetivos das empresas que conceberam o USB original e


Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

iniciaram o projeto eram os seguintes:

1. Usuários não terão de ajustar comutadores ou pontes em placas ou


dispositivos.

2. Usuários não terão de abrir a torre para instalar novos dispositivos


de E/S.

3. Haverá apenas um tipo de cabo, que servirá para conectar todos os


dispositivos.

4. A energia para os dispositivos de E/S deve ser fornecida por esse


cabo.

5. Até 127 dispositivos poderão ser ligados a um único computador.

6. O sistema deve suportar dispositivos de tempo real (por exemplo,


som, telefone).

7. Os dispositivos poderão ser instalados com o computador em fun-


cionamento.

8. Não será preciso reiniciar o computador após a instalação do dispo-


sitivo.

9. O custo de produção do novo barramento e de seus dispositivos de


E/S não deve ser alto (TANENBAUM, 2013, p. 180).

Sabemos que o padrão deu certo e hoje estamos aproveitando a versão 3.0 do
padrão USB, que permite velocidade de transferência de até 5 Gbps (gigabits
por segundo).

Entrada e Saída (E/S)


158 UNIDADE V

SISTEMAS OPERACIONAIS

Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
Alguém disse, uma vez, que um sistema operacional está funcionando bem
quando não se percebe que ele está ali. E é verdade, o mau funcionamento do
sistema operacional é o que mais nos faz lembrar de sua existência.
Então, qual é a real função de um sistema operacional?
Resposta curta: ele possibilita o funcionamento do seu Whatsapp (ou qual-
quer outro programa que você usa).
Em uma resposta mais longa, nós utilizamos o computador por causa dos
programas que queremos utilizar (editor de textos, navegador, player de vídeos
etc.) e esses programas precisam ser escritos de uma forma que o computador
entenda, ou seja, precisa rodar na arquitetura que já estudamos.
Escrever programas para uma determinada arquitetura, porém é demasiado
e trabalhoso. Você precisa aprender as operações do processador na arquite-
tura específica, precisa lidar com as entradas e saídas, manipular os dados em
memória e, o pior de tudo, você precisa criar uma versão de código para cada
arquitetura que desejar utilizar.
A função do sistema operacional é estar entre a arquitetura e os programas
aplicativos, de forma que, o sistema operacional é quem cuida de toda essa parte
de comunicação com a arquitetura, e fornece bibliotecas de funções e interfa-
ces que podem ser utilizadas pelos programas. Assim, um programa pode ser
escrito para um sistema operacional e o sistema operacional cuida de executar
o programa corretamente para todas as arquiteturas que o S.O. dê suporte. Você
pode usar diferentes periféricos ou diferentes organizações de computador para
um mesmo software.

INTERAÇÃO HOMEM-MÁQUINA
159

Se você imaginou o sistema operacional como um hambúrguer entre dois


pães, sendo o pão de baixo o hardware e o pão de cima sendo os programas
aplicativos, é basicamente assim que funciona. Por cima do pão superior, ainda
podemos ter o gergelim, que seriam os usuários, que possuem contato com os
aplicativos, que têm contato com o sistema operacional, que tem contato com
a parte de hardware.
Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

Figura 5 - Representação de relacionamento entre usuários, aplicativos, sistema operacional e hardware


Fonte: o autor.

Ou ainda, pensando na troca de informações entre as partes, podemos pensar


no seguinte diagrama:

Figura 6 - Representação de relacionamento entre usuários, aplicativos, sistema operacional e hardware, com
suas trocas de informação
Fonte: o autor.

Sistemas Operacionais
160 UNIDADE V

FUNÇÕES DO SISTEMA OPERACIONAL

Formalmente, um sistema operacional é um conjunto de programas que geren-


ciam os recursos do computador e o funcionamento dos programas. De forma
geral, o sistema operacional tem três funções básicas:
■ Controlar os recursos do sistema de computação.
■ Executar os programas do computador.
■ Gerenciar dados (WEBER, 2012).

Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
EXEMPLOS DE SISTEMAS OPERACIONAIS

Quando pensamos em sistemas opera-


cionais, costumamos pensar em um ou
dois principais. Se pararmos para contar,
provavelmente listaremos 5 principais:
Windows, Linux, MacOS, Android e iOS,
mas existem muitos sistemas operacionais
diferentes, com diferentes caracterís-
ticas. Vamos listar alguns.

UNIX e Linux

O UNIX é um sistema operacional bem conhecido e bem confiável na área de


redes e servidores. Ele foi desenvolvido na década de 1970, por Ken Thompson,
nos Laboratórios Bell (Bell Labs), que fez a primeira versão, depois aprimo-
rou junto com Dennis Ritchie, que é o criador da linguagem C. Um artigo de
Thompson e Ritchie sobre o UNIX foi publicado em 1974 (TANENBAUM, 2013).
Em 1987, o professor Andrew Tanenbaum criou uma versão simplificada
do UNIX chamada MINIX, para ser utilizada para fins acadêmicos. Um de seus
alunos, Linus Torvalds, após se familiarizar com o MINIX resolveu escrever um
sistema similar baseado em UNIX, o Linux (TANENBAUM, 2013).

INTERAÇÃO HOMEM-MÁQUINA
161

Na década de 1980, diversas universidades pelo mundo usavam sistemas


com UNIX. Como ele tem uma licença proprietária, em 1984 um rapaz cha-
mado Richard Stallman decidiu criar uma versão livre do UNIX e o batizou
de GNU (um acrônimo recursivo para Gnu is Not Unix), o que começou com
todo o movimento de software livre, porém ele começou criando os progra-
mas que eram compatíveis com o kernel (núcleo) do UNIX, para, depois, criar
o kernel, que foi chamado de GNU Hurd.
O GNU Hurd nunca chegou a ficar pronto em um nível competitivo, mas os
programas do projeto GNU foram o que possibilitou a vida do Linux, que co-
Reprodução proibida. Art. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.

meçou a ser criado direto pelo kernel, já que haviam os programas compa-
tíveis com o padrão POSIX, que é o padrão do UNIX. É por isso que até hoje
muita gente, incluindo o Richard Stallman, insistem de que o Linux deve ser
chamado sempre de GNU/Linux.
Fonte: o autor.

O Linux foi publicado online em 1991, era um kernel livre utilizando os progra-
mas GNU e logo conseguiu voluntários pelo mundo todo. Hoje em dia, o Linux
é um sistema em software livre bem estabelecido no mercado de servidores e
tem ganhado muitos usuários de sistema desktop, graças às suas versões (cha-
madas distribuições).

Windows

Não é preciso apresentar o sistema operacional Windows, pois ele é o mais uti-
lizado em computadores pessoais, e também já falamos um pouco sobre ele na
primeira unidade.
Podemos ressaltar que o Windows, porém começou como uma interface grá-
fica para o MS-DOS, que era um sistema monousuário e monotarefa, ganhando
boa parte das características mais modernas a partir do Windows 9, enquanto
o UNIX trabalhava com multiusuários e multitarefas desde as versões iniciais.
Em muitas decisões de projeto, o Windows e o UNIX seguem caminhos bem
diferentes que podem afetar a forma de programação, como a forma de realizar
chamadas ao sistema.

Sistemas Operacionais

Você também pode gostar