Escolar Documentos
Profissional Documentos
Cultura Documentos
COMPUTADORES
autor do original
MARCO FBIO POLLI
1 edio
SESES
rio de janeiro 2015
Conselho editorial fernando fukuda, simone markenson, jeferson ferreira fagundes
Diagramao fabrico
Todos os direitos reservados. Nenhuma parte desta obra pode ser reproduzida ou transmitida
por quaisquer meios (eletrnico ou mecnico, incluindo fotocpia e gravao) ou arquivada em
qualquer sistema ou banco de dados sem permisso escrita da Editora. Copyright seses, 2015.
ISBN 978-85-60923-49-6
1.Cincias da computao. 2. Organizao de computadores.
3. Arquitetura de computadores. 4. Processamento. I. SESES.
II. Estcio
CDD 004.22
Prefcio 5
1. Processamento de Dados
e Estrutura Bsica do Computador 8
Organizao e arquitetura de computadores 9
Processamento de dados, Informao e Conhecimento 9
Breve histrico dos computadores 12
Viso geral do computador pessoal 19
Elementos Bsicos da Arquitetura de Von Neumann 22
Construo de algoritmos simples 25
2. Representao de Dados 34
Memria 99
Dispositivos de entrada e sada E/S 110
Tipos de Computadores 111
Prefcio
Prezados(as) alunos(as)
Bons estudos!
6
1
Processamento de
Dados e Estrutura
Bsica do Computador
1 Processamento de Dados
e Estrutura Bsica do Computador
OBJETIVOS
Compreender a diferena entre organizao e arquitetura de computadores.
Dominar o conceito de dados e do seu processamento.
Entender a trajetria de evoluo dos seus computadores e seus tipos principais.
Identificar as partes principais de um computador segundo a arquitetura de Von Neumann.
REFLEXO
Voc j deve ter visto diversos filmes e artigos que discutem o tema da inteligncia artificial. Seria
possvel mesmo que computadores sejam inteligentes? Eles poderiam ter vontade ou conscin-
cia? Ao ler esse captulo, busque refletir sobre o que um computador pode ou no fazer, relem-
brando as obras de fico e opinies sobre o assunto.
captulo 1 9
1.1 Organizao e arquitetura de computadores
10 captulo 1
Esses dados podem ser quantificados, conectados entre si e manipulados pelo
Processamento de Dados.
Podemos definir dado tambm como unidades bsicas a partir das quais
as informaes podero ser elaboradas ou obtidas. So fatos brutos, ainda no
organizados nem processados.
J a informao seria:
[...]umaabstraoinformal(isto,nopodeserformalizadaatravsdeumateorialgicaoumate-
mtica),queestnamentedealgum,representandoalgosignificativoparaessapessoa.Note-
-se que isto no uma definio, uma caracterizao, porque algo, significativo e al-
gum no esto bem definidos; assumo aqui um entendimento intuitivo (ingnuo) desses
termos. Por exemplo, a frase Paris uma cidade fascinante um exemplo de informao
desde que seja lida ou ouvida por algum, desde que Paris signifique para essa pessoa
a capital da Frana (supondo-se que o autor da frase queria referir-se a essa cidade) e
fascinante tenha a qualidade usual e intuitiva associada com essa palavra.
[...] Se a representao da informao for feita por meio de dados, como na frase sobre
Paris, pode ser armazenada em um computador. Mas, ateno, o que armazenado na
mquina no a informao, mas a sua representao em forma de dados. Essa repre-
sentao pode ser transformada pela mquina, como na formatao de um texto, o que
seria uma transformao sinttica. A mquina no pode mudar o significado a partir deste,
j que ele depende de uma pessoa que possui a informao. Obviamente, a mquina pode
embaralhar os dados de modo que eles passem a ser ininteligveis pela pessoa que os re-
cebe, deixando de ser informao para essa pessoa. Alm disso, possvel transformar a
representao de uma informao de modo que mude de informao para quem a recebe
(por exemplo, o computador pode mudar o nome da cidade de Paris para Londres). Hou-
ve mudana no significado para o receptor, mas no computador a alterao foi puramente
sinttica, uma manipulao matemtica de dados.
Assim, no possvel processar informao diretamente em um computador. Para isso
necessrio reduzi-la a dados. No exemplo, fascinante teria que ser quantificado, usando-
se por exemplo uma escala de zero a quatro. Mas ento isso no seria mais informao [...].
captulo 1 11
Podemos agrupar dados isolados e torn-los consistentes ao se transfor-
marem em informaes. Por exemplo, se tivermos um conjunto de dados que
descreva a temperatura do ambiente num local, horrio e data, poderamos ter
a seguinte relao:
Organizar
Ribeiro
24
Preto- SP
Assim, o conjunto de dados inicial foi organizado de maneira que faa sen-
tido queles que o estiverem lendo. Isto os torna informao. No entanto, a
representao no computador feita baseada nos dados.
Caracterizo Conhecimento como uma abstrao interior, pessoal, de algo que foi expe-
rimentado, vivenciado, por algum. Continuando o exemplo, algum tem algum conheci-
mento de Paris somente se a visitou.
12 captulo 1
[...] A informao pode ser inserida em um computador por meio de uma representao
em forma de dados (se bem que, estando na mquina, deixa de ser informao). Como o
conhecimento no sujeito a representaes, no pode ser inserido em um computador.
Assim, neste sentido, absolutamente equivocado falar-se de uma base de conheci-
mento em um computador. O que se tem , de fato, uma tradicional base (ou banco)
de dados.
Um nen de alguns meses tem muito conhecimento (por exemplo, reconhece a me,
sabe que chorando ganha comida etc.). Mas no se pode dizer que ele tem informaes,
pois no associa conceitos. Do mesmo modo, nesta conceituao no se pode dizer que
um animal tem informao, mas certamente tem muito conhecimento. [...]
CONEXO
Recomendaes 1.3
Leia na ntegra o artigo do Dr. Setzer em: <http://www.ime.usp.br/~vwsetzer/dado-info.html>.
Acesso em: 24 jul. de 2014.
captulo 1 13
WIKIMEDIA
Figura 2 ENIAC (Parte dele, na verdade, pois aqui vemos sua interface de operao.)
14 captulo 1
WIKIMEDIA
captulo 1 15
menos ardil a tarefa de criar programas para os computadores. Depois das
linguagens assembly (as linguagens simblicas), surgiram as linguagens de
mais alto nvel, como Fortran e COBOL. So linguagens com comandos em
ingls, em vez de smbolos e marcaes como nas linguagens assembly. E esta
foi chamada a segunda gerao dos computadores. Nesta poca, os computa-
dores ainda no atingiam as pessoas comuns da sociedade, sendo usados
apenas por universidades e por organizaes do governo e militares.
Entre 1965 e 1970, surgiu o Circuito Integrado (CI). Trata-se de um circuito
eletrnico completo num pequeno chip feito de silcio. Em 1965, os CIs come-
aram a substituir os transistores nos computadores e a ns tivemos os Com-
putadores de Terceira Gerao.
ALEXSKOPJE / DREAMSTIME.COM
16 captulo 1
NASA / WIKIMEDIA
Figura 7 O IBM 360
CONCEITO
International Business Machines (IBM) trata-se de uma empresa de desenvolvimento de
hardware e software, estadunidense, com quase um sculo de existncia. Mais informaes
em <http://www.ibm.com/ibm/br/pt/>.
captulo 1 17
D uma olhada na figura a seguir.
Claro que a histria mais recente dos computadores voc j conhece, mas
vamos apenas comentar um pouco sobre os computadores pessoais. Estes com-
putadores mudaram completamente o paradigma do uso de computadores.
O primeiro computador pessoal que foi disponibilizado ao pblico em ge-
ral foi o MITS Altair, produzido em 1975. Na poca, foi choque grande, pois
os computadores s faziam sentido para empresas, universidades, o governo
ou os militares! Para que ter um computador em casa? Se fosse para investir,
investiria em maquinrios, em ferramentas, mas um computador? No teria
serventia! Esse seria um tpico discurso de um pai cujo filho acabou de lhe fazer
um pedido naquela poca!
18 captulo 1
ATENO
A evoluo na velocidade dos microprocessadores tida para alguns como a quinta gerao
dos computadores. O marco seria o microprocessador Intel 386, que permitia a execuo de
vrias tarefas ao mesmo tempo.
Figura 12 IBM PC
captulo 1 19
No podemos nos esquecer de um nome importantssimo no sculo passado.
Claro, ainda um nome muito importante: Microsoft. A hoje gigante empresa de
software forneceu o sistema operacional para o computador pessoal da IBM. Este sof-
tware, chamado de MS-DOS, foi usado pela IBM e pelas empresas que criaram com-
putadores pessoais baseadas no padro IBM PC. Com grande expanso, a Microsoft
logo evoluiu para novas verses de seu sistema operacional at que descobriram e
popularizaram a interface grfica com o sistema operacional Windows! Os sistemas
Windows mudaram o conceito de interface entre usurio e computador. No foi a
Microsoft que criou o conceito de interface grfica, mas foi uma das principais em-
presas (seno a principal) a populariz-lo!
CONEXO
Recomendaes 2.1
Assista ao filme histria do computador em minutos disponvel em <www.youtube.com/wa-
tch?v=F3qWg1JBPZg>.
Acesso em: 24 jul. de 2014.
20 captulo 1
Armazenamento secundrio
A unidade central de
processamento (UCP)
executa instrues
O dispositivo
O dispositivo de computador
de sada
de entrada envia
disponibiliza
dados unidade
os dados
central de
processados
processamento
A memria mantm (as Informaes)
dados e programas em
uso no momento
CONEXO
Recomendaes 2.3
Veja o vdeo do Olhar Digital sobre o que considerar na hora de comprar um computador, em
<www.youtube.com/watch?v=vYo6IceDsVQ>.
captulo 1 21
Alm disso, existem componentes que permitem a gravao de dados de
maneira permanente e tambm o intercmbio de dados. Estes dispositivos so
chamados de dispositivos de armazenamento secundrio.
Detalhando um pouco mais os componentes de um computador, temos a
figura a seguir.
2 3
1
6
Dispositivos de entrada: 10 e 9
Dispositivos de sada: 1
Armazenamento secundrio: 7 e 8
Elementos da UCP: 2, 3, 4, 5 e 6.
22 captulo 1
programas que esto sendo processados e todas as informaes necessrias.
Alm da memria RAM, temos o prprio processador, a unidade capaz de reali-
zar complexas operaes matemticas, e as placas de expanso, que permitem
adicionarmos novas funcionalidades ao nosso computador, como uma placa
que faa processamento dedicado de vdeo. Enquanto a memria RAM guarda
as informaes de trabalho, os discos rgidos guardam todas as informaes
e todos os programas. Quando desligamos o computador, as informaes so
salvas no disco. Quando ligamos o computador, os programas necessrios para
utilizao dele, bem como aquele que desejarmos, so carregados do disco
para a memria RAM.
Alm dos componentes vistos, podemos enumerar um outro tipo de dispo-
sitivo: Dispositivo para Comunicao Externa. No hardware de seu computa-
dor, ele tratado com um dispositivo de entrada e sada, mas interessante
diferenci-lo. Exemplos destes dispositivos so:
placas de rede;
hub;
switch;
modems.
captulo 1 23
b) operaes aritmticas como adio, subtrao, multiplicao e di-
viso de valores inteiros ou ponto flutuante (basicamente, nme-
ros reais representados num formato definido);
c) operaes lgicas e relacionais como comparaes, testes de con-
dies lgicas etc.;
d) movimentao de dados entre os vrios componentes, ou seja, res-
gate e insero de informao na memria ou em dispositivos de
entrada e sada.
2. Para fazer estas operaes, necessitar de que as informaes estejam
na memria. Trata-se de um componente eletrnico para armazenar
informaes.
3. Alm da memria, existem os dispositivos de entrada e sada, como te-
clado e mouse (entrada) ou monitor e impressora (sada), que emitiro
as informaes num formato legvel ao usurio do computador.
Unidade de
Dados
Dados
Entrada e
Sada
24 captulo 1
na memria a informao da expresso 5 + 7 < 10 ?, saberamos que estamos
tentando comparar a soma de 5 e 7 com o valor 10 e saber quem maior. Logo,
5, 7 e 10 so dados e + , < e ? so informaes de controle. O computador
entenderia que deve somar os dados 5 e 7 (controle +) e verificar se o resultado
menor que 10 (controle < e resultado ?).
As duas outras unidades da figura so a ULA (Unidade Lgica e Aritmtica)
que serve para realizar as operaes, efetivamente, e a UC (Unidade de Contro-
le), que serve para decodificar as operaes, ou seja, entender o que precisa ser
feito, e disparar novas operaes, caso necessrio.
A UCP entende operaes num determinado formato. Vamos aqui chamar
formato de linguagem, ok?
Bom, o computador entende a linguagem eletrnica que popularmente
chamada de binria, devido sua representao. Como um programador vai
escrever cdigos que descrevam operaes em binrio? No vai (geralmente)!
Nesse ponto, entrar em cena uma camada intermediria que cuidar disto
para ele! Um programador de hoje escreve cdigo em linguagem de alto nvel. Isto
quer dizer que a linguagem de mais fcil compreenso humana!
captulo 1 25
1.6 Construo de algoritmos simples
SITE OFICIAL
http://www.facom.ufu.br/~claudio/Cursos/PP/Docs/Visualg2.pdf
goo.gl/n8YLk
http://www.guanabara.info/2007/09/visualg-v25/
26 captulo 1
Inicialmente utilize um dos endereos apresentados no quadro 1.1 para reali-
zar o download do ambiente. Escolha uma pasta no seu computador para arma-
zenar o arquivo. Finalizado o processo de download clique duas vezes sobre o
arquivo e voc visualizar uma tela semelhante a ilustrada na figura 15.
captulo 1 27
Figura 17 Criao de um novo algoritmo no ambiente VisuAlg.
28 captulo 1
A escrita de algoritmos a base para o processo de desenvolvimento dos pro-
gramas de computador. No ciclo de vida do desenvolvimento de um programa, o
primeiro estgio a elaborao da representao algortmica. Assim, inicialmen-
te, os programadores criam uma especificao algortmica do problema compu-
tacional, antes de transform-lo no cdigo fonte de uma determinada linguagem
de programao. Com a representao algortmica do problema possvel espe-
cificar quais as principais funcionalidades do futuro programa, bem como, iden-
tificar possveis erros que ocorrero com a execuo do programa.
Para a construo de um algoritmo computacional necessrio a utiliza-
o de uma estrutura bsica, que definida a partir de uma sintaxe especfica
e contm blocos pr-determinados para codificao. Nesta estrutura, especi-
ficado, por exemplo, o nome do algoritmo, quais variveis sero utilizadas e o
bloco de instrues que contm a lgica do programa. O cdigo 1 apresenta a
estrutura bsica de um algoritmo computacional, a qual foi definida utilizando
uma representao conhecida como pseudocdigo. Esse tipo de representao
tambm comumente descrita como portugus estruturado ou portugol.
Cdigo 1
1 algoritmo semnome
2 // Funo :
3 // Autor :
4 // Data : 20/10/2011
5 // Seo de Declaraes
6 var
7
8 inicio
9 // Seo de Comandos
10 fimalgoritmo
captulo 1 29
importante destacar que estas linhas comeam pelos caracteres //, os
quais so chamados de comentrios. Uma linha de comentrio tem como
objetivo auxiliar o entendimento do algoritmo, assim, voc poder utiliz-las
sempre que necessrio. Outro detalhe interessante sobre os comentrios,
que as linhas comentadas no influenciam na execuo do algoritmo, dessa
forma, voc poder escrever comentrios em portugus da maneira que de-
terminar mais adequada. Na linha 5 temos a seo de declaraes, a qual ser
utilizada para declarao das variveis que fazem parte do programa. A linha
8 define o incio do algoritmo, e as linhas seguintes (Seo de Comandos),
especificam a lgica de programao utilizada no algoritmo. Por fim, a linha
10, denominada fimalgoritmo, representa o trmino do algoritmo.
Para demonstrar a utilizao do ambiente VisuAlg na codificao de algo-
ritmos, vamos escrever nosso primeiro algoritmo. Este algoritmo tem como
objetivo exibir seu nome completo na tela, assim, inicialmente voc dever
abrir o ambiente e escrever o algoritmo conforme apresentado na figura 17.
30 captulo 1
portante, assim, recomenda-se no utilizar espaos, acentos, ou caracteres es-
peciais. Para este exemplo, utilizaremos o seguinte nome unid3_exemplo01.
alg. A extenso .alg utilizado pelo ambiente VisuAlg para identificar arquivos
do tipo algoritmo.
Para facilitar o acompanhamento da codificao, voc pode exibir os n-
meros das linhas, dessa forma, utilize o menu Exibir>Nmero de linhas para
habilitar o recurso. Em seguida, poderemos executar o algoritmo e visualizar o
resultado na tela. A execuo de um algoritmo no ambiente VisuAlg realizada
por meio do menu Algoritmo > Executar, alternativamente, voc poder utilizar
a tecla de atalho F9. A figura 4 apresenta o resultado da execuo do algoritmo.
ATIVIDADE
1. Especifique a diferena entre organizao e arquitetura de computadores.
captulo 1 31
REFLEXO
Vimos at aqui que h muito mais sobre computadores do que simplesmente entender como
eles funcionam. A histria e a evoluo dos computadores determinaram, de certa forma,
como as pessoas passaram a pensar em tecnologia e a consumir tecnologia. Mesmo que
voc no se torne especialista na rea de tecnologia da informao, sempre importante
saber como funcionam os equipamentos que sero usados no dia a dia. Isto facilita o dilogo
entre ns e as novas tecnologias.
LEITURA
Artigo O papel da informao no processo de capacitao tecnolgica das micro e peque-
nas empresas. Escrito por Paulo Csar Rezende de Carvalho Alvim.
Disponvel em:
<http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0100-19651998000100004>
Livro Administrao de Sistemas de Informao, do autor Pedro Luiz Cortes. Livro muito
interessante e abrangente sobre o uso de sistemas de informao nas empresas.
REFERNCIAS BIBLIOGRFICAS
CAPRON, H. L.; JOHNSON, J. A. Introducao a Informatica. Sao Paulo: Pearson Prentice Hall.
2004.
32 captulo 1
NULL, L.; LOBUR, J. Princpios Bsicos de Arquitetura e Organizao de Computadores. 2a ed.
Porto Alegre: Bookman, 2010.
PIVA JR., D.; NAKAMITI, G. S.; ENGELBRECHT, A. M.; BIANCHI, F. Algoritmos e Programao de
Computadores. Rio de Janeiro: Elsevier, 2012.
NO PRXIMO CAPTULO
No prximo captulo, entederemos como os dados so representados na computao. Sero
vistos os conceitos de bit, byte, bases e a converso entre elas.
captulo 1 33
2
Representao de
Dados
2 Representao de Dados
No captulo prvio, entendemos o computador como uma mquina que pro-
cessa dados. Deve-se notar que existem artefatos mecnicos que, mesmo com
capacidade limitada, conseguem fazer tambm processamento tal como cal-
culadoras mecnicas criadas no sc. XVII. Claro que pela sua capacidade e flexi-
bilidade, o nosso interesse reside nos computadores baseados em dispositivos
eletrnicos, e assim descrevemos no captulo anterior a evoluo das mquinas
baseadas em vlvulas, transistores simples e microprocessadores. Porm, no
foi respondida uma pergunta importante: como os computadores eletrnicos
conseguem reconhecer dados.
Para tratar dessa questo, este captulo comea com a definio de elementos fun-
damentais da linguagem binria, partindo para bases numricas fundamentais.
OBJETIVOS
Compreender o que so bits, bytes e palavras (words).
Conhecer as principais bases numricas.
Saber como o computador representa nmeros e caracteres.
Entender, sob a perspectiva de programao, o relacionamento entre variveis e tipos de dados.
REFLEXO
Ao preencher dados em formulrios eletrnicos, muitas vezes recebemos mensagens de
erro, indicando incompatibilidade entre os dados que entramos e o tipo de dados esperado.
Qual seria a consequncia de no haver esse controle?
captulo 2 35
Essa linguagem contm dois dgitos apenas, os quais vo corresponder aos dois
estados bsicos. A representao desses dois dgitos foi convencionada como
sendo 0 ou 1. Deve-se comentar que a linguagem binria foi desenvolvida antes
mesmo da eletrnica e da computao, porm se mostrou perfeitamente ade-
quada para esses campos de desenvolvimento (NULL & LOBUR, 2010).
unidade de dgito binrio (zero ou um) se d o nome de bit, termo vindo do
ingls binary digital unit (STALLINGS, 2002). Como bits isolados podem conter
apenas dois estados, nmeros e palavras so representados por diversos bits
seguindo determinada conveno. poca do desenvolvimento do IBM 360, os
engenheiros da empresa passaram a usar conjuntos de 8 bits como unidade
bsica de endereamento de memria este sendo um assunto tratado no cap-
tulo 4. Esse conjunto de 8 bits chamado de byte. Deve-se notar que a definio
do byte estava ligada arquitetura e caractersticas do hardware. Com o tem-
po, as unidades de endereamento foram crescendo, sendo 32 bits e 64 bits
as mais encontradas hoje. O termo word ou palavra usado para identificar
esses conjuntos de bits adjacentes, sendo o seu nmero varivel segundo o uso
(MONTEIRO, 2007), ver quadro 2.1.
Nmero convencionado
WORD
de bits adjacentes
CONEXO
Assista a um vdeo sobre o funcionamento do computador e o uso de bits e bytes:
<https://www.youtube.com/watch?v=6oDiJLg6xbE>
Acesso em: 24 jul. de 2014.
36 captulo 2
Tamanho Exemplo
bits 1
nibble 1 1 0 1
byte 0 0 0 1 1 1 1 1
16 bits 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 1
32 bits 0 0 1 1 0 1 1 1 1 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 1 1 0
mega M 10002
giga G 10003
tera T 10004
peta P 10005
exa E 10006
zetta Z 10007
yotta Y 10008
captulo 2 37
A definio simples desses mltiplos pode ser melhor ilustrada com algu-
mas estimativas de uso:
A Biblioteca do Congresso Americano guardava em 2011 cerca de 235 te-
rabytes (MCKENNA, 2013).
Em 2008, o Google j processava 20 mil terabytes ao dia (SCHONFELD,
2010).
Os servios de mapas do Google disponibilizam certa de 20 petabytes de
imagens (MCKENNA, 2013).
Em 2014, estima-se que o Facebook tinha nada menos do que
258 petabytes em arquivos de fotos e vdeos (LEUNG, 2014).
A capacidade do crebro humano para armazenar memria seria equiva-
lente a 2,5 petabytes (SMITH, 2010).
38 captulo 2
Figura 3 Um dos datacenter do Facebook, Oregon.
Fonte: <http://commons.wikimedia.org/wiki/File:Facebook_Data_Center.jpg>
Acesso em: 24 jul. de 2014
captulo 2 39
Outra forma importante de decompor nmeros com o uso de potncias.
Os nmeros acima podem ser reescritos como em termos de potncias de 10,
lembrando que qualquer potncia elevada a zero igual a 1:
15 = 1x101 + 5x100
= 8 + 4 + 2 + 0 = 14
40 captulo 2
0 0
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
10 1010
11 1011
12 1100
13 1101
14 1110
15 1111
captulo 2 41
memria para cada varivel. O byte, tambm referido como octeto (MURDO-
CA & HEURING; 2000), surgiu com essa preocupao, definindo conjuntos em
uma quantidade fixa de 8 bits. No caso do nmero 1, os seus dgitos vacantes
so preenchidos por zero, assim temos na representao de inteiros positivos:
(1)10 = (000000001)2
(9)10 = (00001001)2
(255)10 = (11111111)2
Bug do Milnio
Quando os sistemas computacionais estavam sendo desenvolvidos no ps-guerra, um
dos principais gargalos era a capacidade de memria e processamento. Por essa ra-
zo, foi simplificada a representao dos anos, subentendendo que todas as datas se
referiam ao sculo 20. Assim, a representao de 1985 correspondia a 85, suben-
tendendo-se os dgitos 19 frente. Chegando a 2000, porm, teramos 00, que
seria entendido como 1900. Previu-se que esse problema de representao pudesse
causar o colapso de muitos sistemas computacionais, mas as consequncias foram
muito menores do que as previstas (BBC, 2014).
Tambm pela forma de representao de datas, esto previstos problemas em 2038
com sistemas UNIX de 32 bits e programados na linguagem C (SMAAL, 2011).
42 captulo 2
pode ser considervel. O problema (bug) do milnio e de 2038 so exemplos de
problemas advindos da fixao inadequada de bits para variveis de data.
A passagem de bytes para words de 16 bits e de words de 16 para 32 bits re-
quer mais capacidade e mudanas na estrutura de hardware. Buscou-se evitar
a necessidade dessas mudanas e ainda de aumentar o escopo para represen-
tao de nmeros reais por meio de mtodo de representao por ponto flutu-
ante (STALLINGS, 2002). Esse mtodo se baseia na representao de nmeros
por seus algarismos significativos e potncias. O padro mais usado para esse
mtodo denomina-se IEEE 754, servindo de base para construtores de hardwa-
re e programadores (MONTEIRO, 2007).
Os nmeros a seguir possuem grandezas bastante diferentes, mas podem
ser representados com basicamente a mesma quantidade de bits:
1,27 x 106 = 1,27 x 1000000 = 1270000
7,31 x 10-2 = 7,31 x 0,01 = 0,0731
CONEXO
Saiba mais sobre o mtodo ponto flutuante e padro IEEE 754:
<http://www.lia.ufc.br/~valdisio/download/ieee.pdf>
Acesso em: 24 jul. 2014.
Esse sistema possui o nmero 16 como base e indicado por contrao hex.
Como notao, geralmente usa-se a conveno abaixo (STALLINGS, 2002):
captulo 2 43
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 2 3 4 5 6 7 8 9 A B C D E F
9 2
1 4 2
0 2 2
0 1 2
1 0
CONEXO
Conhea um ferramenta na Web para converso entre bases numricas:
<http://wims.unice.fr/wims/en_tool~number~baseconv.en.html>
Acesso em: 24 jul. 2014.
44 captulo 2
Dividindo-se 2 por 2, temos 1 com resto 0, para converter precisamos fa-
zer mais uma diviso.
Ateno: dividindo-se 1 por 2, considera-se o resultado 0 com resto 1.
ATENO
O Excel tem funes implementadas que permitem a converso entre bases numricas.
Se voc, por exemplo, possuir o nmero 14 em uma clula A1, voc pode implementar
uma funo em uma clula A2 que use o 14 como argumento. Isso pode ser feito pelo
cone fx ou pelo menu Inserir. Algumas funes disponveis so:
BINADEC: converte da base binria para a decimal.
BINAHEX: converte da base binria para a hexadecimal.
DECABIN: converte da base decimal para a binria.
captulo 2 45
CARAC- CARAC- CARAC-
BINRIO DECIMAL BINRIO DECIMAL BINRIO DECIMAL
TERE TERE TERE
00101000 40 ( 01001000 48 H 01101000 104 h
00111111 63 ? 01011111 5F _
46 captulo 2
O quadro 4 apresenta os caracteres imprimveis do ASC II e a sua corres-
pondncia binria. Assim, usando esse padro, um sistema computacional l
01000000 como @, 01111010 como z, etc. desde que tenha sido defini-
do que o dado um caracter no um nmero.
Os limites do ASC, especialmente para lidar com caracteres de alfabetos
alm do latino e caracteres especiais, fez com que os construtores de hardware
e desenvolvedores de software ampliassem os caracteres definidos. Nesse con-
texto, destaca-se o padro Unicode ((NULL & LOBUR, 2011).
ATENO
Uma varivel um elemento sinttico do algoritmo que tem como funcionalidade
armazenar um determinado valor. O valor associado a varivel depende do tipo de
informao que se deseja manipular, assim, diversos tipos de valores podem ser atri-
budos as variveis.
captulo 2 47
Figura 4 Codificao do algoritmo capaz de realizar a soma de dois nmeros inteiros.
nome_da_varivel: tipo_da_varivel
48 captulo 2
Assim, a linha nmero 12 atribui o valor 10 varivel a, e da mesma maneira, a
linha 13 atribui o valor 20 varivel denominada b. Na linha 16 apresentada
uma atribuio como sendo o resultado de uma expresso aritmtica de adi-
o, por conseguinte, a varivel soma recebe o resultado da operao da varivel
a somado com a varivel b.
Finalmente, na linha 19 apresentado na tela o resultado da soma dos valo-
res. importante destacar que a instruo escreva utilizada para exibir uma in-
formao na tela, em que todas as informaes textuais devem ser especificadas
entre aspas duplas. Para a escrita de variveis na tela, no necessrio utilizar
as aspas duplas. O resultado da execuo do algoritmo apresentado na figura 6.
captulo 2 49
plificar a seo de declarao das variveis. No entanto, a escolha de como as
variveis sero declaradas, exclusivamente do programador, e este fato no
interfere no desempenho da execuo do algoritmo ou do programa. Caso pre-
ferir, o programador pode declarar as variveis individualmente, uma em cada
linha, como apresentado na listagem cdigo 2.
Cdigo 2
1 var
2 nota1: real
3 nota2: real
4 nota3: real
5 nota4: real
6 nota5: real
7 media: real
50 captulo 2
Para manipulao de informaes literais, as linguagens de programao e
os algoritmos, possuem um tipo especfico denominado caractere. Com este
tipo de dados possvel armazenar e manipular qualquer tipo de valor, tais
como uma letra do alfabeto, um smbolo, um nmero, entre outros. Em lingua-
gens de programao de alto nvel, tais como Java ou C#, a manipulao de ca-
racteres pode ser realizada individualmente, com um tipo exclusivo chamado
char, ou ainda, por meio de um conjunto de caracteres, com um tipo de dados
especfico conhecido como string. A figura 9 apresenta um algoritmo que reali-
za a manipulao de informaes com o tipo de dados caractere. Este exemplo
foi nomeado como unid3_exemplo04.alg.
captulo 2 51
Os algoritmos ainda possuem um tipo de dados especfico utilizado para
manipulao de valores lgicos, os quais so conhecidos em programao
como booleanos. Um tipo de dados booleano permite o armazenamento de va-
lores lgicos, por exemplo, verdadeiro (true) ou falso (false). Em programao,
um valor lgico pode ser utilizado para expressar a presena ou ausncia de
uma determinada informao, tal como, um valor do tipo sim ou no. Na lin-
guagem algortmica, o tipo de dados booleano definido como lgico.
Para demonstrar a utilizao do tipo de dados lgico, vamos codificar mais
um algoritmo. Este exemplo, nomeado como unid3_exemplo05.alg, apresenta
um algoritmo que manipula informaes de todos os tipos de dados existentes,
sendo eles inteiro, real, caractere e lgico. No exemplo, importante destacar a
atribuio de um valor lgico, que ocorre na linha 18.
Na linguagem algortmica utilizada pelo ambiente VisuAlg, uma varivel do
tipo lgico pode assumir dois valores, verdadeiro ou falso, e neste caso a atri-
buio de valores lgicos tambm utiliza os possveis valores (verdadeiro ou fal-
so). A figura 11 apresenta o resultado da codificao do algoritmo.
Figura 10 Algoritmo que demonstra a utilizao dos principais tipos de dados e apresenta
a manipulao de valores do tipo lgico.
52 captulo 2
Figura 11 Resultado da execuo do algoritmo.
Com isso, voc conheceu os principais tipos de dados que podem ser utiliza-
dos para manipulao de informaes nos algoritmos e programas. O prximo
passo aprender como ler informaes fornecidas pelo usurio, e como apre-
sentar resultados na tela.
ATIVIDADE
1. Pesquise sobre a origem da linguagem binria, antes de seu uso pela computao.
2. Por que o sistema binrio mais adequado para o uso em dispositvos eletrnicos?
REFLEXO
Neste captulo, entendemos melhor como o computador e dispositivos eletrnicos podem
representar nmeros e letras. Tambm vimos que o sistema binrio permite manipulaes
aritmticas, o que seria suficiente para caracterizar uma calculadora. Contudo, como os sis-
temas computacionais conseguem fazer tarefas variadas como reconhecer voz e ajudar em
diagnsticos mdicos? Como essas tarefas se traduzem em processamento de dados?
captulo 2 53
LEITURA
LEVY, S. Os Heris da Revoluo. So Paulo: Evora, 2012.
Comentrio: a descrio de como computadores funcionam pode ser um assunto bastante
rido se esquecermos as pessoas e as motivaes que residem por cada caracterstica da
computao. Ao traar o panorama dos atores que ajudaram a desenvolver os primeiros
sistemas computacionais, passando pelos PCs, chegando aos programadores de aplicativos
mveis, Levy nos mostra a feio humana, entusiasmada e obsessiva dos responsveis pela
revoluo digital.
REFERNCIAS BIBLIOGRFICAS
BBC. Y2K around the word. BBC, website. <http://news.bbc.co.uk/hi/english/static/millen-
nium_bug/countries/default.stm>. Acesso em: 19 jun. 2014.
LEUNG, L. How much data x store? Techexpectations, 13 mar. 2014. Disponvel em: <http://
techexpectations.org/2014/05/17/how-much-data-does-x-store/>. Acesso em: 19 jun. 2014.
MCKENNA, B. What does a petabyte look like? Computer Weelky, maro 2013. Disponvel em:
<http://www.computerweekly.com/feature/What-does-a-petabyte-look-like>. Acesso em: 19
jun. 2014.
54 captulo 2
REBER, P. What is the memory capacity of the human brain? Scientific American, maio/junho,
2010. Disponvel em: <http://www.scientificamerican.com/article/what-is-the-memory-capa-
city/>. Acesso em: 19 jun. 2014.
SCHONFELD, E. Google processing 20,000 terabytes a day, and growing. Techcrunch, web-
site, 9 jan. 2008. Disponvel em: <http://techcrunch.com/2008/01/09/Google-processing-
20000-terabytes-a-day-and-growing/>. Acesso em. 19 jun 2014.
SMAAL, 2011. 2038: o bug do milnio atacar novamente. Tecmundo, website, 25 fev 2011.
Disponvel em: <http://www.tecmundo.com.br/historia/8795-2038-o-bug-do-milenio-ataca-
ra-novamente.>. Acesso em: 19 jun. 2014.
NO PRXIMO CAPTULO
No prximo captulo, conheceremos a lgebra booleana, que permite que os computadores pos-
sam manipular os dados logicamente.
captulo 2 55
3
lgebra Booleana e
Operaes Lgicas
em Algoritimos
3 lgebra Booleana e Operaes Lgicas em
Algoritimos
OBJETIVOS
Compreender os operadores principais da lgebra booleana.
Construir tabelas verdade para cada operador.
Identificar smbolos de portas lgicas.
Entender como os operadores aritmticos e lgicos so implementados em algoritmos.
REFLEXO
No primeiro captulo, foi dado o exemplo da receita de bolo como um algoritmo no compu-
tacional. Como outros algoritmos, a receita de bolo um conjunto de instrues formalizado
para resolver um problema e, nesse caso especfico, as instrues seguem umas s outras
diretamente. Busque pensar em algoritmos condicionais, ou seja, cuja realizao de instrues
depende de condies e tambm de resultados de instrues anteriores.
captulo 3 57
3.1 lgebra booleana
Segundo Linda Null e Julia Lobur, a lgebra booleana uma lgebra para a ma-
nipulao de objetos que podem assumir somente dois valores, normalmente
verdadeiro ou falso (NULL & LOBUR, 2011, p. 141). fcil entender que essa
lgebra seja adequada ao computadores, os quais funcionam usando a lingua-
gem binria. A seguir, vamos falar da origem da lgebra booleana para, a seguir,
passar para seus operadores.
3.1.1 Origens
58 captulo 3
Uma ilustrao simples da lgebra booleana pode ser dada avaliando as trs
afirmaes abaixo:
Afirmao 1: Ana foi ao cinema.
Afirmao 2: Paulo foi ao show.
Afirmao 3: Ana foi ao cinema E Paulo foi ao show.
Para a afirmao 3 ser verdadeira, tanto a afirmao 1 quanto a 2 devem ser
tambm. Se Ana no foi ao cinema, ou se Paulo no foi ao show, j fica com-
prometida a afirmao feita sobre os dois. Perceba que a afirmao 3 equivale
considerar a afirmao 1 e a afirmao 2 simultaneamente. Podemos organizar
o que foi dito at aqui por uma tabela-verdade, a qual relaciona os valores de
proposies e operadores lgicos. Com esse fim, vamos usar a notao:
Afirmao 1: p
Afirmao 2: q
Afirmao 3: Afirmao 1 E Afirmao 2: p.q
V: proposio verdadeira
F: proposio falsa.
p q pq
V V V
V F F
F V F
F F F
captulo 3 59
p q p+q
V V V
V F V
F V V
F F F
60 captulo 3
Na sumarizao seguinte da lgebra booleana, vamos usar os dgitos bin-
rios. Assim, 0 ser equivalente a falso e, consequentemente, 1 a verdadei-
ro. Alm de formalizar nesses termos os operadores E e OU j vistos, vamos
ainda definir a Negao, XOR, NOT e NAND, baseando-se em Murdocca e Heu-
ring (2000), Monteiro (2007) e Stallings (2002).
p.q
p q pq
1 1 1
1 0 0
0 1 0
0 0 0
p+q
captulo 3 61
Essa expresso tambm nomeada de soma booleana, ou adio lgica. A
tabela-verdade para o operador OU com duas entradas est a seguir:
p q p+q
1 1 1
1 0 1
0 1 1
0 0 0
ATENO
J pensou se gastos com jardinagem forem divulgados como investimentos ambien
tais internos?
Certamente, gastos com jardinagem no servem para reduzir o impacto negativo dos re-
sduos das prprias operaes da empresa. A no ser que o jardim seja uma estao de
tratamento de efluente.
62 captulo 3
ATENO
Existem outras notaes para operadores vistos aqui e que podem ser comumente encontra-
das na disciplina de Raciocnio Lgico:
Operador E: p q.
Operador OU: p + q.
_
Operador Negao: p
p ~p
1 0
0 1
(p ~q) + (~p
p q
q)
1 1 0
captulo 3 63
1 0 1
0 1 1
0 0 0
NEM (NOR)
O resultado dessa operao 1 se, e somente se, todas as entradas forem 0.
A tabela-verdade do operador NOR :
p q ~ (p + q)
1 1 0
1 0 0
0 1 0
0 0 1
p q ~ (p + q)
1 1 0
1 0 1
0 1 1
0 0 1
64 captulo 3
CONEXO
Para aprofundar seus conhecimentos sobre lgebra booleana, leia o texto disponvel em: <http://
www.inf.ufsc.br/~guntzel/isd/isd2.pdf>
Acesso em: 24 jul. de 2014.
CONEXO
Conhea um aplicativo gratuito para dispositivos mveis que desenha portas lgicas:
<https://play.google.com/store/apps/details?id=com.Logic.gates_Xor.en>
Acesso em: 24 jul. de 2014.
Operador Smbolo
AND
OR
NOT
XOR
NOR
NAND
captulo 3 65
Para fins didticos, tratamos de operaes, portas lgicas e smbolos com
apenas duas entradas. No caso abaixo, temos um operador AND com trs entra-
das de valor 1. Pela prpria definio do operador, a sada tambm ser 1:
1
1 1
1
66 captulo 3
Figura 3 Supercomputador Deep Blue (Museu Figura 4 Garry Kasparov.
da Histria do Computador, Califrnia. Fonte: <http://commons.wikimedia.org/
wiki/File:Kasparov-27.jpg>. Acesso em 24
Fonte:< http://commons.wikimedia.org/wiki/File:-
jul. de 2014.
Deep_Blue.jpg>. Acesso 24 jul. de 2014
captulo 3 67
comando escreva denominada escreval. Este comando, alm de exibir as infor-
maes desejadas na tela, tambm realizar a quebra de linha, ou seja, o coman-
do capaz de exibir uma determinada informao na tela e mudar de linha.
Com isso, os dados no sero apresentados em uma nica linha, o que facilita
bastante a exibio de grandes quantidades de informaes.
O algoritmo que codifica a calculadora simples de quatro operaes foi no-
meado como unid3_exemplo06 e a figura 5 apresenta a codificao completa
do exemplo.
68 captulo 3
O prximo exemplo de codificao utilizando comandos de entrada e sada
tem como objetivo construir um algoritmo capaz de calcular o consumo mdio
de combustvel de um veculo. Para isso, o usurio dever informar como entra-
da os quilmetros percorridos pelo veculo e o total de litros abastecidos. Com
isso, o algoritmo capaz de determinar o consumo mdio e o resultado exibi-
do na tela. Este algoritmo foi nomeado como unid3_exemplo07, e a codificao
demonstrada na figura 7.
captulo 3 69
3.3.2 Operaes e expresses
70 captulo 3
A figura 10 apresenta o resultado da execuo do algoritmo.
captulo 3 71
Figura 11 Algoritmo computacional que demonstra a utilizao de expresses e operado-
res relacionais.
72 captulo 3
ATENO
Em uma expresso relacional o resultado produzido pela avaliao da expresso sempre um
valor lgico. Assim, uma expresso relacional resulta em um valor do tipo verdadeiro ou falso.
CONEXO
Para um estudo aprofundado a respeito de tabelas verdade, voc poder consultar as se-
guintes referncias: <http://pt.wikipedia.org/wiki/Tabela_verdade>
<http://www.calculadoraonline.com.br/tabela-verdade>
captulo 3 73
Figura 13 Algoritmo computacional que demonstra a utilizao de expresses e operado-
res lgicos.
74 captulo 3
ATIVIDADE
1. Monte uma tabela-verdade para o operador AND com quatro entradas.
1
1 q
0
REFLEXO
No ocorrendo problemas de hardware, um computador basicamente segue as instrues
que lhe so fornecidas, incluindo aquelas de operaes lgicas. Sendo assim, quando nos
deparamos com falhas em nossos programas e equipamentos, seria mais adequado falar em
erro humano?
LEITURA
BERLINSKI, D. O Advento do Algoritmo: A ideia que governa o mundo. Rio de Janeiro:
Globo, 2002.
Esta obra oferece o desenvolvimento histrico do algoritmo, um conceito que antecede o desen-
volvimento dos computadores, mas que agora, como demonstra o autor, est presente em quase
todas as nossas atividades.
captulo 3 75
REFERNCIAS BIBLIOGRFICAS
CAPRON, H. L.; JOHNSON, J. A. Introducao a Informatica. Sao Paulo: Pearson Prentice Hall.
2004.
GLEICK, J. The Information: A history, a theory, a flood. Nova York: Random House, 2011.
NO PRXIMO CAPTULO
No prximo captulo, vamos compreender como as instrues so recebidas e executadas pela
Unidade Central de Processamento.
76 captulo 3
4
Instrues e
Processamento
4 Instrues e Processamento
A partir do contedo anterior, entendemos os sistemas computacionais como
executores de instrues, baseados fundamentalmente na liguagem binria e
na lgebra booleana (LAUDON & LAUDON, 2007; CAPRON & JOHNSON, 2004).
Neste captulo, vamos entender melhor o que so instrues e quais so os seus
tipos. Vamos explorar como o processador se relaciona com o fluxo dessas instru-
es, inclusive com a sua interrupo. Para esse entendimento, ser necessrio
compreender os componentes bsicos da Unidade Central de Processamento
(UCP). Por fim, vamos apontar algumas dimenses mais operacionais da imple-
mentao dos sistemas de computador, incluindo a placa-me, linguagens de
programao e os sistemas operacionais.
OBJETIVOS
Identificar as funes dos componentes da UCP.
Reconhecer os diferentes tipos de instrues.
Dominar a estrutura bsica das instrues.
Conhecer os tipos de interrupo.
REFLEXO
Quantas vezes voc viu uma campanha sobre o lanamento de uma nova gerao de micro-
processadores? A velocidade dos computadores que voc usa se mantm constante ou tende
a cair? A maior parte dos problemas de processamento devido aos microprocessadores, ou
voc identifica outras causas mais relevantes?
captulo 4 79
operaes sobre os dados corretos (2010, p. 208). Na UCP, h elementos funda-
mentais que do base a esse processo. Esses elementos podem ser internamente
restritos UCP ou servirem de interface a componentes externos. Na figura 1,
encontra-se uma representao da Arquitetura de Von Neumann com uma espe-
cificao mais detalhada dos seus elementos, os quais sero explicados a seguir.
Barramento
Memria
Dispositivo de E/S
Programa
rea de dados
1 010101 11001 101 01000 1 111
.........................
1 10 0 110 10001 1101 0001 1 101
rea de cdigo
110 0 110 10001 1101 0001 1 101 Registro
1 010101 11001 101 01000 1 111
1 10 0 110 10001 1101 0001 1 101
Un. de
UAL
Controle
Registradores
So componentes de hardware que guardam dados binrios relativos a dados,
endereos de memrias e informaes de controle. No devem ser confundi-
dos com os dispositivos de armazenamento do computador, pois so internos
UCP (MURDOCA & HEURING; 2000). Os registradores podem ler dados em
tamanho fixo, sendo mais comumente hoje palavras de 16 ou 32 bits (MONTEI-
RO, 2007). A arquitetura do processador designa a quantidade de registradores,
tamanho de leitura, assim como pode especificar funes especficas para cada
registrador.
80 captulo 4
Unidade de Controle
Essa unidade responsvel por manipular os registradores adequadamente
e ativar a UAL para as operaes requeridas na ordem correta. Cabe ainda
Unidade de Controle executar interrupes e monitor o estado das operaes
(STALLINGS, 2002).
Relgio
A frequncia desse dispositivo sincroniza todo o sistema computacional. Os re-
gistradores podem ser carregados com outro dados apenas com a passagem de
um ciclo do relgio (NULL & LOBUR, 2010).
Barramento
Os elementos descritos acima precisam se comunicar, transmitindo dados,
instrues de controle e energia. Essa comunicao feita pelo conjunto de
vias de transmisso chamado barramento.
captulo 4 81
O tipo de processador tem diversas implicaes para a arquitetura do computador e
para o desenvolvimento de software. Por dcadas, a Apple preferiu no adotar chips
Intel, que foram a base da exploso do mercado de computadores pessoais, seja com
os sistemas operacionais DOS ou Windows da Microsoft. Quando o Macintosh foi
lanado em 1984, a mquina usava processadores da Motorola. Com esta empresa
e a IBM, a Apple fez um consrcio que criou a arquitetura do processador PowerPC
em 1991. Porm em 2005, Steve Jobs anunciava a transio para os processadores
Intel, citando como motivo a superioridade de desempenho. (LASHINSKY, 2012; LINZ-
MAYER, 2004).
interessante notar que tablets e smartphones so comumente baseados em chips
ARM, que possuem uma arquitetura diferente dos chips de PCs. Assim, embora haja
bastante semelhanas visuais entre a interface de um computador da Apple e a de um
iPhone, os seus sistemas operacionais - MAC OS E iOS respectivamente - so constru-
dos e funcionam de forma muito distinta.
A Microsoft buscou essa aproximao das interfaces do desktop e de aparelhos mveis
com o Windows 8 e o Windows RT, embora o uso dos dois sistemas tenha ficado abaixo
das expectativas da empresa (OVIDE, 2013).
82 captulo 4
CONEXO
Leia um artigo que resume a histria dos microprocessadores e a disputa entre Intel e AMD:
<http://www.tecmundo.com.br/historia/2157-a-historia-dos-processadores.htm>
Acesso em 24 jul. de 2014.
CODIFICAO
TIPO DE INSTRUO FUNO/EXEMPLOS COMUM
Aritmtica / Lgica Adicionar, subtrair, conjuno ADD, SUB, AND
captulo 4 83
CODIFICAO
TIPO DE INSTRUO FUNO/EXEMPLOS COMUM
Transferncia de Con- Chamar subrotinas, Desviar a HALT, JE
trole instruo do fluxo sequencial:
suspenso, desvia se igual.
ATENO
O termo operando se refere a dados que sero objeto de operaes de processamento. Stallin-
gs (2002) classifica os operandos em quatro tipos:
Nmeros. Exemplos.: inteiros, de ponto flutuante.
Caracteres: Exemplos.: alfabeto latino, chins, smbolos especiais.
Dados lgicos. Exemplos: verdadeiro, falso.
Endereos de memria: registros no disco rgido.
84 captulo 4
ATENO
Overflow aritmtico acontece quando o resultado matemtico de uma operao ultrapassa o
valor designado de memria e/ou o formato designado de sua varivel.
Incio
Busca
instruo na
memria
Interpretar a
operao a ser
realizada
Busca
operandos
(se houver)
Executar a
operao
Escrever o
resultado
Trmino
captulo 4 85
4.3 Aspectos de arquitetura nos computadores pessoais
4.3.1 Placa-me
ATENO
Como a placa-me responsvel por transmitir sinais eltricos entre componentes eletrnicos,
quaisquer fatores fsicos que prejudiquem a qualidade desse comunicao dificultar ou mes-
mo impedir o desempenho do computador, por exemplo: poeira, umidade e maresia, oscila-
es de energia (corrente/voltagem), altas temperaturas e falta de ventilao.
Algumas placas-me so banhadas a ouro para prevenir a oxidao. Em todos os casos, reco-
menda-se realizar a manuteno preventiva da placa-me e no apenas a corretiva, depois que
problemas se manifestaram.
86 captulo 4
Figura 4 Placa-me
Disponvel em: <http://en.wikipedia.org/wiki/Mother_board#mediaviewer/File:Micro-
ATX_Motherboard_with_AMD_Athlon_Processor_2_Digon3.jpg>.
Acesso em: 24 jul. de 2014.
captulo 4 87
4.3.2 Software e instrues
Como falamos antes, para usar os recursos de hardware voc precisar de sof-
tware. Sem o software, seu hardware apenas ficar inerte. Por meio do softwa-
re, o hardware recebe instrues detalhadas que dizem ao computador o que
deve ser feito. Basicamente, ns temos dois tipos de software. Antes, na poca
do ENIAC, todo o software era escrito desde o comeo, e o prprio software
precisava saber manipular tudo o que fosse necessrio: tanto a informao
quanto os prprios componentes do computador. Os dois tipos de software
hoje existentes so o software de sistema e o software aplicativo.
ADAPTADO DE (LAUDON E LAUDON, 2007)
Software aplicativo
Software Aplicativo
Linguagens de programao
Linguagens de quarta gerao
Pacotes de software e ferramentas
de produtividade para PCs
88 captulo 4
como o computador faz para escrever ou desenhar uma interface grfica na tela
do seu monitor. Para isto, basta que ele solicite (escreva) isto no seu cdigo, e
quem cuidar da execuo deste tipo de tarefa o sistema operacional.
captulo 4 89
de arquivos garante a manipulao de arquivos em dispositivos de armazena-
mento, cuida para que os arquivos fiquem organizados e possam ser acessados.
Estes componentes do sistema operacional, normalmente, no so vis-
veis ao usurio final. Digo normalmente porque, em sistemas com cdigo
fonte aberto, como o Linux, possvel ao usurio no s ver como alterar os
cdigos para os componentes do sistema operacional.
Para os usurios finais, a manipulao dos recursos oferecidos feita por
meio de uma interface. Esta interface comeou em seus primrdios, como a
famosa linha de comando ou interface modo texto! E hoje evolumos para
interfaces grficas (to comuns para as novas geraes que j nasceram com
a existncia dela), interfaces por comandos de voz etc.
90 captulo 4
Voc j deve estar habituada a ela, no mesmo?
CONEXO
Recomendaes 3.2
Se voc quiser saber, detalhadamente, sobre o funcionamento do sistema operacional, acesse:
<http://informatica.hsw.uol.com.br/sistemas-operacionais.htm>. Acesso em: 24 jul. de 2014.
captulo 4 91
100100100100100111
001100011111101011
???
Mostre um nmero
na sua tela.
92 captulo 4
Em computao, esse tradutor chamado de compilador, e a converso de
uma linguagem em outra chamada de processo de compilao. O tradutor
uma ferramenta de sistema, enquanto a linguagem um software voltado ao
usurio (para que possa programar o sistema).
CONEXO
Recomendaes 3.3
Veja mais informaes sobre as linguagens e suas geraes em:
<http://pt.wikipedia.org/wiki/Linguagem_de_programa%C3%A7%C3%A3o_de_quarta_
gera%C3%A7%C3%A3o>.
<http://pt.wikipedia.org/wiki/Linguagem_de_programa%C3%A7%C3%A3o>.
Acesso em 24 jul. de 2014.
captulo 4 93
FERRAMENTAS DE
LINGUAGEM DE DESCRIO EXEMPLO
QUARTA GERAO
Orientada
WordPerfect
Ferramentas de Pacotes de softwares de uso geral para o
Internet Explores
software de PC para PCs. usurio
Access
final
Linguagens para extrair dados arma-
Linguagens de zenados em arquivos ou bancos de
SQL
consulta dados. Suportam requisies de infor-
maes que no so predefinidas.
Extraem dados de arquivos ou bancos
de dados para criar relatrios espe-
cficos sob uma grande variedade de
formatos que no so produzidos por
sistemas de informao.
Geradores de
Cristal Reports
relatrios
Geralmente proporcionam maior con-
trole sobre a maneira como dos dados
so formatados, organizados e apre-
sentados do que as linguagens de
consulta.
Extraem dados de arquivos ou ban-
co de dados e os apresentam sob o
Linguagens gr- formato de grficos. alguns softwares SAS Graph
ficas geradores de grficos tambm pode Systat
executar operaes aritmticas ou l-
gicas com os dados.
Contm mdulos pr-programados
que poderm gerar aplicaes comple-
tas, incluindo sites Web, conferindo
FOCUS
grande velocidade ao desenvolvimen-
Geradores de PowerBuilder
to. O usurio pode especificar o que
aplicaes Microsoft Fron-
precisa ser feito e o gerador de apli-
tPage
cao criar o cdigo de programa
apropriado para entrada, validao,
atualizao e apresentao.
Programas de software vendidos ou
Pacotes de sof- arrendados por empresas comerciais PeopleSoft HRMS
twares aplicativos que eliminam a necessidade de sof- SAP R/3
tware personalizado, da casa.
Gerem cdigos de programa com um
nmero menor de instrues do que
Linguagens de as linguagens convencionais, como
APL
programao de COBOL ou FORTRAN. Projetadas
Normad2
altssimo nvel primordialmente como ferramentas
de produtividade para programadores
profissionais.
94 captulo 4
ATIVIDADE
1. Quais causas podem acarretar o interrompimento de uma instruo?
3. Pesquise sobre a relao entre a Lei de Moore e os microprocessadores com ncleo ml-
tiplos.
REFLEXO
Por muito tempo, a capacidade dos processadores foi um limite frequente para a microin-
formtica. Avanos em software e hardware frequentemente precisavam esperar uma nova
gerao de microchips. Reflita sobre o estado atual da microinformtica: so os micropro-
cessadores hoje um gargalo relevante para a maioria dos usurios? Caso contrrio, que fator
se tornou a principal fronteira da microinformtica?
LEITURA
Relatrio de pesquisa: TUSSET, F. Evoluo dos processadores. Rio de Janeiro: UFRJ, sem ano.
Disponvel em: <http://equipe.nce.ufrj.br/gabriel/arqcomp2/Hist%F3rico.pdf>. Acesso em: 15
jun. 2014.
REFERNCIAS BIBLIOGRFICAS
CAPRON, H. L.; JOHNSON, J. A. Introducao a Informatica. Sao Paulo: Pearson Prentice
Hall. 2004.
captulo 4 95
LASHINSKY, A. Nos Bastidores da Apple. So Paulo: Saraiva, 2012.
LINZMAYER, O. W. Apple Confidential 2.0 The definitive history of the worlds most colorful
company. So Francisco: No Starch, 2004.
OVIDE, S. CEO exits sets Microsoft on new path. The Wall Street Journal, edico eletrnica, 25
ago 2013. Disponvel em: <http://online.wsj.com/news/articles/SB10001424127887324619
504579031300409638802>. Acesso em: 15 jun. 2014.
NO PRXIMO CAPTULO
No prximo captulo, vamos entender como funciona o sistema de memria e as suas opera-
es com a UCP. Ainda, vamos explorar os dispositivos de entrada e sada..
96 captulo 4
5
Memria e
Dispositivos de
Entrada e Sada
5 Memria e Dispositivos de Entrada e Sada
No captulo anterior, vimos como a UCP precisa ter dados e instrues dispon-
veis para que possa cumprir a sua funo. A fonte imediata de dados para a UCP
encontra-se nos registradores, que so componentes internos unidade. Os re-
gistradores se caracterizam pela rapidez com que se comunicam com o processa-
dor, porm eles possuem uma capacidade limitada de armazenamento e outros
componentes de memria tambm precisam ser utilizados (LAUDON & LAUDON,
2007; CAPRON & JOHNSON, 2004). Neste captulo, vamos identificar os tipos prin-
cipais de memria e como se d a sua inter-relao. Tambm discutiremos as in-
terfaces de entrada e sada.
OBJETIVOS
Conhecer os diferentes tipos de memria e as suas inter-relaes.
Identificar os trade-offs a respeito do desempenho dos dispositivos de memria.
Compreender a importncia da memrica cache.
Saber como funcionam diferentes dispositivos de entrada e sada e a sua comunicao
com a UCP.
Avaliar os diferentes tipos de computadores em relao a seus dispositvos de entrada e sada.
REFLEXO
Busque identificar todos os tipos de armazenamento que voc possui e classifique-os
em termos de velocidade de transferncia e capacidade. Quais tipos de armazenamento
voc j usou com frequncia, mas hoje esto obsoletos? Quantas vezes voc j foi pre-
judicado por problemas relacionados a armazenamentos de dados?
captulo 5 99
5.1 Memria
5.1.1 Hierarquia
Memria
Interna
Armazenamento
Externo (disco)
Armazenamento de Segurana
(fitas)
Deve-se notar que quanto mais alto estiver na hierarquia, mais custoso ten-
de a ser o dispositivo. Assim, um projeto de computador deve balancear os be-
nefcios trazidos pela capacidade da memria interna face a seus custos. Ain-
da, deve haver um balanceamento adequado na velocidade dos componentes
100 captulo 5
do computador: De nada adianta, por exemplo, haver uma grande capacidade
de memria se os dispositivos de sada atrasarem os ciclos de instrues. Da
mesma forma, um processador potente pode permanecer subutilizado se no
houver a capacidade de memria adequada (MONTEIRO, 2007).
captulo 5 101
registros organizam dados.
Sequencial o acesso segue um sequenciamento linear.
Exemplo: fitas.
102 captulo 5
N
R=
T T a
Registradores
Memria Cache
Memria Principal
captulo 5 103
Memria
UCP
Principal
Barramento
ELEMENTO FUNO
Registrador de endereo (REM) armazena temporariamente o endereo a
ser acessado.
104 captulo 5
ELEMENTO FUNO
Barramento de controle comunica os sinais relativos ao controle
no sistema.
ATENO
Em linguagens de programao como C++, um ponteiro armazena o endereo da posio de
um dado na memria, servindo para referenci-lo (PIVA JR. et al, 2012).
CONEXO
Conhea como funciona uma data center do Google (h opo de legenda em portugus).
<https://www.youtube.com/watch?v=avP5d16wEp0>
Acesso em 24 jul. de 2014.
captulo 5 105
Incio
Trmino
Incio
Trmino
106 captulo 5
5.1.4 Memria RAM
ATENO
A Memria RAM voltil, ou seja, seus dados deixam de ser armazenados na ausncia de
energia. Para que um computador receba instrues bsicas sem depender da RAM, criou-
se uma memria de apenas leitura (ROM, read-only memory) que no voltil. Embora exis-
tam alguns dispositivos de ROM que podem ser reprogramados, a funo principal deles
ainda manter um conjunto essencial de dados para leitura. Em sistemas embutidos, como
eletrodomsticos, brinquedos e equipamentos mdicos, a memria ROM possui uma importn-
cia maior (NULL & LOBUR, 2010).
captulo 5 107
Nos computadores convencionais, o papel da memria principal desem-
penhado pela memria RAM e parcialmente pela memria ROM. Como vimos
no captulo 1, a memria RAM (memria de acesso randmico) serve para
armazenar dados de trabalho do processador. Nas especificaes de compu-
tadores comerciais, a capacidade da memria RAM recebe destaque. Quando
lanado em 1977, o Apple II tinha uma memria RAM de 4Kb expansvel at
48 Kb apenas (LINZMAYER, 2004), j em 2014, um iMac podia chegar ter at
32G (APPLE, 2014). Nas placas-me dos computadores pessoais, geralmente h
slots livres para que outros circuitos de RAM possam ser adicionados, j em dis-
positivos mveis isso mais raro.
CONEXO
Saiba mais sobre Memria RAM:
<http://e.cdn-hardware.com.br/static/media/RevistaGDH_04.pdf>
Acesso em 24 jul. de 2014.
Figura 8 iMac.
Disponvel em: <http://commons.wikimedia.org/wiki/IMac#mediaviewer/Fi-
le:IMac_vector.svg>.
108 captulo 5
O quadro 5.3 relaciona os principais tipos de memria RAM. Deve-se desta-
car aquelas de tipo sncrono, que trabalham sem atraso (delay) com o proces-
sador (CORNACCHIONE, 2012). Outra diferena importante reside nas mem-
rias RAM estticas, que mantm os seus dados enquanto houver alimentao
de energia, e as dinmicas, que demandam recargas em perodos de poucos
milissegundos (NULL & LOBOUR, 2011).
captulo 5 109
ideia de uma memria intermediria entre a UCP e a memria principal veio
da constatao de que 90% do processamento depende de apenas de 10% de
cdigo (MURDOCHA & HEURING, 2000). Assim, uma memria pequena pode-
ria armazenar os dados que so usados com mais frequncia. Colocando essa
memria em comunicao direta e rpida com a UCP (figura 9), o desempenho
do computador poderia ser melhorado de forma significativa.
UCP Memria
Cache Principal
Barramento
O desafio para que a memria cache seja eficiente que haja um bom mape-
amento de memria e que realmente os dados mais teis sejam armazenados.
A memria cache geralmente mapeada pelos mtodos direto, associativo ou
associativo por conjunto (NULL & LOBOUR, 2011).
110 captulo 5
5.2 Dispositivos de entrada e sada E/S
UCP
Memria Principal
Controlador E/S
P1 P2 P3
captulo 5 111
A transmisso de dados entre a interface do perifrico e a memria/UCP
pode se dar por formas bem distintas. Na transmisso serial, a comunicao se
d por uma linha nica e, assim, um bit transmitido de cada vez. Via de regra,
a interface possui um buffer de forma a regular o fluxo e ritmo da transmisso.
Na transmisso paralela, um conjunto de bits repassado de uma s vez (MON-
TEIRO, 2007).
112 captulo 5
5.3.2 Notebooks
Estes computadores so mais leves, projetados para o uso porttil. Equipados com
bateria com boa durao, so usados em viagens ou em qualquer lugar. Atualmen-
te existem notebooks com configuraes to robustas e caras quanto workstations.
Recentemente, surgiu uma variao dos notebooks. So modelos com tela
menor (de 7 a 11 polegadas), bateria com maior durao, sem leitores de CD ou
DVD e muito mais leves, alm de serem mais baratos (em geral). So os chama-
dos netbooks. Planejados para portabilidade e navegao na Internet em qual-
quer lugar. Com a grande difuso das redes que fornecem Internet sem fio, este
modelo tem ganhado popularidade e vem sendo adotado at por escolas como
ferramenta de auxlio s atividades em sala.
KMTHEMAN / DREAMSTIME.COM
captulo 5 113
Estes computadores evoluram e passaram a ter suas funcionalidades inte-
gradas em celulares, surgindo o chamado smartphone. Um smartphone basi-
camente um celular com funes de um PDA.
5.3.4 Supercomputadores
114 captulo 5
ATIVIDADE
1. Qual a diferena das memrias RAM e ROM?
REFLEXO
Os tablets e smartphones trouxeram uma nova abordagem tanto para hardware quanto para
software. A microinformtica se tornou ainda mais presente no cotidiano, ganhando uma na-
tureza muito prxima e intma com o usurio. Quais sero os caminhos de desenvolvimento
dos computadores, sabendo-se da tendncia de queda de preos de componentes de um
lado e, de outro, da motivao das empresas em lanarem produtos inovadores, os quais
garantem uma maior margem de lucro? r!
LEITURA
Livro: SCHMIDT, E.; COHEN, J. A Nova Era Digital. Rio de Janeiro: Intrnseca, 2013.
REFERNCIAS BIBLIOGRFICAS
APPLE. Compare Mac models. Website. 2014. . Disponvel em: <https://www.apple.com/
mac/compare/>. Acesso em: 22 jun. 2014.
CAPRON, H. L.; JOHNSON, J. A. Introducao a Informatica. Sao Paulo: Pearson Prentice Hall.
2004.
captulo 5 115
DELGADO, J.; RIBEIRO, C., Arquitetura de Computadores, 2 edio, LTC, , 2009.
LINZMAYER, O. W. Apple Confidential 2.0 The definitive history of the worlds most colorful
company. So Francisco: No Starch, 2004.
PIVA JR., D.; NAKAMITI, G. S.; ENGELBRECHT, A. M.; BIANCHI, F. Algoritmos e Programao
de Computadores. Rio de Janeiro: Elsevier, 2012.
116 captulo 5