Sei sulla pagina 1di 104

Organizao de Computadores

2014

Editorial
Comit Editorial
Fernando Fukuda
Simone Markenson
Jeferson Ferreira Fagundes
Autor do Original
Marco Fbio Polli

UniSEB Editora Universidade Estcio de S


Todos os direitos desta edio reservados UniSEB e Editora Universidade Estcio de S.
Proibida a reproduo total ou parcial desta obra, de qualquer forma ou meio eletrnico, e mecnico, fotogrfico e gravao ou
qualquer outro, sem a permisso expressa do UniSEB e Editora Universidade Estcio de S. A violao dos direitos autorais
punvel como crime (Cdigo Penal art. 184 e ; Lei 6.895/80), com busca, apreenso e indenizaes diversas (Lei 9.610/98 Lei
dos Direitos Autorais arts. 122, 123, 124 e 126).

Organizao de Computadores

Su

ri o

Captulo 1: Processamento de
Dados e Estrutura Bsica do Computador.... 7
Objetivos da sua aprendizagem . ............................... 7
Voc se lembra?................................................................. 7
1.1 Organizao e arquitetura de computadores.................... 8
1.2 Processamento de dados, Informao e Conhecimento......... 8
1.3 Breve histrico dos computadores............................................ 11
1.4 Viso geral do computador pessoal............................................... 19
1.5 Elementos Bsicos da Arquitetura de Von Neumann........................ 21
1.6 Construo de algoritmos simples........................................................ 24
Atividades....................................................................................................... 29
Reflexo............................................................................................................. 30
Leituras recomendadas.......................................................................................... 30
Referncais bibliogrficas....................................................................................... 30
No prximo captulo . ............................................................................................... 31
Captulo 2: Representao de Dados...................................................................... 33
Objetivos da sua aprendizagem ................................................................................... 33
Voc se lembra?............................................................................................................. 33
2.1 Elementos binrios fundamentais: bits, bytes e words............................................ 34
2.2 Bases numricas....................................................................................................... 37
2.3 Representao de caracteres..................................................................................... 42
2.4 Tipos de dados e uso de variveis em algoritmos . ................................................. 43
Atividades . ................................................................................................................... 49
Reflexo....................................................................................................................... 50
Leitura recomendada ................................................................................................. 50
Referncias bibliogrficas . ..................................................................................... 50
No prximo captulo ............................................................................................ 51
Captulo 3: lgebra Booleana e Operaes Lgicas em Algoritimos......... 53
Objetivos da sua aprendizagem..................................................................... 53
Voc se lembra? ....................................................................................... 53
3.1 lgebra booleana............................................................................ 54
3.2 Portas lgicas.............................................................................. 59
3.3 Operaes aritmticas e lgicas em algoritmos..................... 60
Atividades................................................................................. 68
Reflexo.............................................................................. 68

Leituras Recomendadas................................................................................................... 68
Referncias Bibliogrficas............................................................................................... 68
No prximo captulo ....................................................................................................... 69
Captulo 4: Instrues e Processamento...................................................................... 71
Objetivos da sua aprendizagem: ..................................................................................... 71
Voc se lembra? .............................................................................................................. 71
4.1 Componentes fundamentais para o processamento.................................................. 72
4.2 Instrues de computador......................................................................................... 74
4.3 Aspectos de arquitetura nos computadores pessoais................................................. 77
Atividades........................................................................................................................ 86
Reflexo........................................................................................................................... 86
Leitura Recomendada...................................................................................................... 86
Referncias Bibliogrficas............................................................................................... 86
No prximo captulo........................................................................................................ 87
Captulo 5: Memria e Dispositivos de Entrada e Sada............................................ 89
Objetivos da sua aprendizagem:...................................................................................... 89
Voc se lembra?............................................................................................................... 89
5.1 Memria.................................................................................................................... 90
5.2 Dispositivos de entrada e sada E/S.......................................................................... 99
5.3 Tipos de Computadores.......................................................................................... 100
Atividades...................................................................................................................... 102
Reflexo......................................................................................................................... 102
Leitura recomendada...................................................................................................... 103
Referncias bibliogrficas.............................................................................................. 103

Ap

res

ent

Prezados(as) alunos(as)
No fim da dcada de 1970, os computadores pessoais comeam a ser introduzidos
no mercado. Ferramentas de processamento
de dados que antes eram apenas disponveis para
grandes empresas, por meio de mquinas que ocupavam salas inteiras, passaram a estar em cima da mesa
dos escritrios e das casas das pessoas. S esse desenvolvimento j seria suficente para mudar a nossa sociedade, mas a
histria no parou a. A interligao desses computadores e dos
servidores na internet, transformou a maneira com que as pessoas
se comunicam, compram, se divertem e criam. Por fim, o prprio
computador pessoal deixou de ser o centro desse modo de vida, com
smartphones, tablets e dispostivos que ainda esto sendo criados.
Em sua histria, os computadores mostraram ser uma base de inovaes contnuas e de uso criativo, uma histria que ainda continua e
podemos influenciar. Para tanto, devemos conhecer como os computadores funcionam e so organizados. Esse conhecimento essencial tanto
para o desenvolvimento de hardware, de software ou mesmo para se
fazer um bom uso dessa tecnologia.Com essa preocupao, o contedo da
disciplina organizado do seguinte modo:
Captulo 1 Entenderemos o que processamento de dados e o funcionamento bsico de um computador.
Captulo 2 Ser explicada a linguagem binria.
Captulo 3 Entenderemos a lgebra booleana e a sua implementao
em algoritmos simples.
Captulo 4 Veremos com mais detalhes como o computador trata
dados e instrues na Unidade Central de Processamento.
Captulo 5 Exploraremos os tipos de memria e suas inter-relaes.
Bons estudos!

Processamento de
Dados e Estrutura Bsica
do Computador

CCC

CC C

CCC

Computadores no se limitam aos notebooks


e aos desktops nos escritrios, eles esto nos
equipamentos mdicos, carros, aparelhos de TV,
celulares e em simples brinquedos. impossvel dissociar a computao do nosso estilo de vida. Porm, so
poucas pessoas que de fato entendem como funciona um
computador e como dados so processados. Esse conhecimento importante para que os computadores e seu modo de
usar continuem a se desenvolver.
Aqui vamos descrever os elementos bsicos de computao e sua
histria, servindo de base para os demais captulos da disciplina.
Vamos entender o conceito de dados e seu processamento. Um breve
panomora da trajetria histrica dos computadores ser apresentado
para que depois discutamos a arquitetura da Von Neumann. Dessa forma, teremos uma viso fundamental sobre o funcionamento do computador.

Objetivos da sua aprendizagem

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.

Voc se lembra?

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 conscincia? Ao ler esse captulo, busque refletir sobre o que um computador pode ou no fazer,
relembrando as obras de fico e opinies sobre o
assunto.

Organizaes de Computadores

1.1 Organizao e arquitetura de computadores

A organizao dos computadores trata da estrutura dessas mquinas,


preocupando-se com circuitos, tipos de memria e demais componentes
fsicos usados, como os perifricos. Ou seja, busca-se saber como se d
o funcionamento do computador. J a arquitetura dos computadores fornece elementos crticos a serem usados pelo programador: dados e suas
representaes, operaes lgicas e rotinas, etc. Por isso, a da descrio
da arquitetura possui uma natureza mais abstrata. Devido importncia
de se integrar conhecimento de hardware e software, esta disciplina cobrir aspectos tanto de organizao quanto arquitetura, seguindo o caminho
de obras de referncia na rea (NULL & LOBUR, 2010; MURDOCA &
HEURING; 2000; STALLINGS, 2002; MONTEIRO, 2007).
Por mais simples ou complexa que seja a estrutura de um computador, a sua funo bsica o processamento de dados. A seguir, vamos
discutir qual o significado dessa atividade e a sua relao com o conhecimento.

1.2 Processamento de dados, Informao e


Conhecimento

Proibida a reproduo UniSEB

Vamos discutir um pouco esses conceitos e as diferenas entre eles?


a seguir, apresento trechos da definio dada pelo professor Dr. Valdemar W. Setzer, disponibilizada em: <http://www.ime.usp.br/~vwsetzer/
dado-info.html>.
Segundo o professor Dr. Valdemar Setzer, podemos dizer que dado :

(...) uma sequncia de smbolos quantificados ou quantificveis.


Portanto, um texto um dado. De fato, as letras so smbolos
quantificados, j que o alfabeto, sendo um conjunto finito, pode por
si s constituir uma base numrica (a base hexadecimal emprega
tradicionalmente, alm dos 10 dgitos decimais, as letras de A a E).
Tambm so dados fotos, figuras, sons gravados e animao, pois
todos podem ser quantificados a ponto de se ter eventualmente dificuldade de distinguir a sua reproduo, a partir da representao
quantificada, com o original. muito importante notar-se que, mesmo se incompreensvel para o leitor, qualquer texto constitui um
dado ou uma sequncia de dados (...). (SETZER, ano)

Processamento de Dados e Estrutura Bsica do Computador Captulo 1

Segundo o Dr. Setzer, o dado uma entidade matemtica puramente


sinttica, ou seja, os dados podem ser descritos por estruturas de representao. Assim sendo, podemos dizer que o computador capaz de armazenar dados. Estes 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:
(...) uma abstrao informal (isto , no pode ser formalizada atravs de uma teoria lgica ou matemtica), que est na mente de
algum, representando algo significativo para essa pessoa. Note-se que isto no uma definio, uma caracterizao, porque
algo, significativo e algum 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.

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

Assim, a informao depende de algum tipo de relacionamento,


avaliao ou interpretao dos dados.
Veja tambm que informao e dado mantm relaes:
(...) 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 representao
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 recebe, deixando de ser informao para essa pessoa. Alm
disso, possvel transformar a representao de uma informao de

Organizaes de Computadores

modo que mude de informao para quem a recebe (por exemplo, o


computador pode mudar o nome da cidade de Paris para Londres).
Houve 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
(...).

Podemos agrupar dados isolados e torn-los consistentes ao se


transformarem 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:

15h10
3 de fevereiro

ADAPTADO DE (CRTES, 2008)

Em Ribeiro Preto, SP,


no dia 3 de fevereiro,
s 15h10 estava uma
temperatura de 24.
Processamento

Entrada

Classificar

Sada

(Dados)

Filtrar

(Informaes)

Organizar
24

Ribeiro
Preto- SP

Figura 1 Gerao de informaes a partir do processamento de dados.

Proibida a reproduo UniSEB

Assim, o conjunto de dados inicial foi organizado de maneira que


faa sentido queles que o estiverem lendo. Isto os torna informao.
No entanto, a representao no computador feita baseada nos dados.

10

E como fica o conhecimento?

Processamento de Dados e Estrutura Bsica do Computador Captulo 1

Caracterizo Conhecimento como uma abstrao interior, pessoal, de


algo que foi experimentado, vivenciado, por algum. Continuando
o exemplo, algum tem algum conhecimento de Paris somente se a
visitou.

Desta maneira, o conhecimento precisa ser descrito por informaes.


(...) 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 conhecimento 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
Conexo:
conceituao no se pode dizer que um
Recomendaes 1.3
animal tem informao, mas certaLeia na ntegra o artigo do Dr.
mente tem muito conhecimento. (...)
Setzer em: <http://www.ime.usp.
br/~vwsetzer/dado-info.html>.

A informao, segundo o Dr. Setzer,


associa-se semntica, enquanto o conhecimento est associado pragmtica, ou seja,
algo existente no mundo real.

Acesso em: 24 jul. de 2014.

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

1.3 Breve histrico dos computadores


Um dos pontos interessantes na histria do surgimento dos computadores foi a rpida evoluo das tecnologias utilizadas para sua produo.
O primeiro computador de grande porte a usar eletrnica digital
foi o ENIAC (Electrical Numerical Integrator and Calculator). Ele era
de grande porte, devido quantidade de clculos que ele era capaz de
realizar: cerca de 5 mil somas ou 360 multiplicaes por segundo (muito
pouco comparado capacidade de nossos computadores atuais).

11

Organizaes de Computadores

WIKIMEDIA

Figura 2 ENIAC (Parte dele, na verdade, pois aqui vemos sua interface de operao.)

O ENIAC comeou a ser desenvolvido por John Eckert e John


Mauchly. O desenvolvimento iniciou-se em 1943, com financiamento
militar, para ser usado na Segunda Guerra Mundial, mas s se tornou operacional em 1946. Tinha cerca de 30 toneladas e ocupava 180 m2 de rea.
Em 1944, juntou-se ao grupo de pesquisadores o engenheiro John Von
Neumann. Este criou a arquitetura (chamada de arquitetura de Von Neumann) que usada at hoje nos computadores comerciais.

Proibida a reproduo UniSEB

WIKIMEDIA

12

Figura 3 O ENIAC numa viso mais ampla

Processamento de Dados e Estrutura Bsica do Computador Captulo 1


WIKIMEDIA

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

ANNEDAVE / DREAMSTIME.COM

O ENIAC no tinha sistema operacional e todas as operaes eram inseridas


diretamente na mquina usando cdigos
numricos.
Foi produzido usando a tecnologia
de vlvulas a vcuo, que foi a tecnologia
inicial para computadores eletrnicos. Por
isto, ele o marco da Primeira Gerao de
Computadores. O problema das vlvulas
era o custo alto para manuteno. Para
voc ter uma ideia, o ENIAC foi construdo usando mais de 17 mil vlvulas e
gastava mais de 200.000 watts, aquecendo
muito!
As vlvulas eletrnicas possuam
o tamanho aproximado de uma lmpada
eltrica.
A era da computao comercial
iniciou-se no ano de 1951, quando o UNI- Figura 4 Foto de uma vlvula
VAC (Universal Automatic Computer) foi eletrnica
entregue ao primeiro cliente: o escritrio
do Censo do Estados Unidos para tabulao dos dados do censo do ano
anterior. Pode-se dizer que o UNIVAC foi o resultado de modificaes
positivas no ENIAC.
Em 1947, os cientistas John Bardeen, Walter H.
Brattain e William Shockley
desenvolveram o transistor. O
transistor um pequeno dispositivo que transmite sinais
eletrnicos usando um resistor. Os transistores revolucionaram a eletrnica e a maneira
de construir computadores.
Alm de serem muito menores
do que as vlvulas, consumiam muito menos energia e
geravam menos calor. Tam- Figura 5 Foto de um transistor simples
13

Organizaes de Computadores

bm eram mais rpidos e mais confiveis do que as vlvulas. Um novo


avano, nesta mesma poca, foi a criao de uma linguagem simblica
para manipular instrues das mquinas em vez de cdigos numricos,
e isto tornou um pouco 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 computadores 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 comearam a substituir os transistores nos computadores e
a ns tivemos os Computadores de Terceira Gerao.
ALEXSKOPJE / DREAMSTIME.COM

Figura 6 Foto de circuitos integrados

Proibida a reproduo UniSEB

O silcio um material chamado semicondutor, pois conduz corrente eltrica quando misturado com impurezas qumicas em sua constituio
(voc pode pesquisar os detalhes de materiais semicondutores se ficar
curioso!).

14

Processamento de Dados e Estrutura Bsica do Computador Captulo 1

O marco importante desta terceira gerao foi o lanamento do computador da srie IBM 360 em 1964. Trata-se de uma linha de computadores
projetada pela IBM tanto para uso comercial quanto cientfico. Foi uma srie
com o intuito de inserir o uso de computadores nos negcios e em operaes
comerciais.
NASA / WIKIMEDIA

Figura 7 O IBM 360

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

J a quarta gerao de computadores, com incio na dcada de 1970,


traz consigo a criao do microprocessador. Os computadores atuais so
muito menores, mais de 100 vezes menores que aqueles de primeira gerao, mas um nico chip mais poderoso que o prprio ENIAC. Para
voc ter uma ideia, em 1977 uma calculadora podia fazer cerca de 250
multiplicaes por segundo, custava de 300 a 500 dlares e pesava mais
de 500 gramas. Hoje, uma calculadora pesa muito pouco, custa 1 dlar ou
menos s vezes (depende da cotao) e realiza muito mais clculos. Em
comparao ao ENIAC, um Pentium de 150 MHz era capaz de mais de
300 milhes de operaes de soma por segundo, enquanto que o ENIAC
processa apenas 5.000 operaes.
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/>.

15

Organizaes de Computadores

D uma olhada na figura a seguir.

Figura 8 Evoluo dos computadores

Proibida a reproduo UniSEB

SWTPC6800 / WIKIMEDIA

16

Figura 9 MITS Altair

Retirado de A
histria dos processadores, desde ENIAC at
Nehalem/INTEL.
Claro que a histria mais recente dos
computadores voc j
conhece, mas vamos
apenas comentar um
pouco sobre os computadores pessoais. Estes

Processamento de Dados e Estrutura Bsica do Computador Captulo 1

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

VOLKER STEGER / SCIENCE PHOTO LIBRARY / SPL DC / LATINSTOCK

VOLKER STEGER / SCIENCE PHOTO LIBRARY / SPL DC / LATINSTOCK

computadores mudaram completamente


o paradigma do uso de computadores.
A evoluo na velocidade dos
O primeiro computador pesmicroprocessadores tida para alguns
soal que foi disponibilizado ao
como a quinta gerao dos computadores.
O marco seria o microprocessador Intel 386,
pblico em geral foi o MITS Altair,
que permitia a execuo de vrias tarefas ao
produzido em 1975. Na poca, foi
mesmo tempo.
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!
Quando Steve Jobs e Steve Wozniak mostraram ao pblico jovem
o Apple I, todo mundo foi ao delrio! Ele possua um teclado fcil de
usar e tela! A Apple mostraria, mais tarde, sua facilidade em conseguir
sucesso comercial com o Apple II
e o software de planilha eletrnica
VisiCalc.

Figura 10 Apple I

Figura 11 Apple II

17

Organizaes de Computadores

Em 1981, a IBM lanou seu primeiro computador pessoal e capturou a maior fatia de mercado em 18 meses. O padro IBM PC foi adotado
e copiado por outras empresas.
HO / IBM / AFP

Figura 12 IBM PC

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 software, chamado de MS-DOS, foi usado pela IBM e pelas
empresas que criaram computadores 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
Conexo:
usurio e computador. No foi a Microsoft que
Recomendaes 2.1
Assista ao filme histria
criou o conceito de interface grfica, mas foi
do computador em minutos
uma das principais empresas (seno a principal)
disponvel em <www.youtube.com/
watch?v=F3qWg1JBPZg>.
a populariz-lo!

Proibida a reproduo UniSEB

Acesso em: 24 jul. de 2014.

18

Processamento de Dados e Estrutura Bsica do Computador Captulo 1

1.4 Viso geral do computador pessoal

O hardware de seu computador pessoal precisa dos seguintes componentes para um efetivo funcionamento:
dispositivos de entrada;
dispositivos de sada;
dispositivos de armazenamento secundrio;
unidade de processamento.
O funcionamento bsico de um computador convencional acontece
de acordo com a figura a seguir:
ADAPTADO DE: (CAPRON E JOHNSON, 2004)

Armazenamento secundrio
O dispositivo de
armazenamento
secundrio armazena
dados e programas

O dispositivo
de entrada envia
dados unidade
central de
processamento

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

Entrada

A unidade central de
processamento (UCP)
executa instrues
de computador

A memria mantm
dados e programas em
uso no momento
Processamento

O dispositivo
de sada
disponibiliza
os dados
processados
(as Informaes)

Sada

Figura 13 Componentes principais de um computador e mecanismo de funcionamento.

As informaes so inseridas no ambiente computacional por meio


dos dispositivos de entrada. Estes dispositivos permitem que ns, seres
humanos, ou equipamentos forneamos informaes para serem processadas. Exemplos seriam o mouse, o teclado, leitores ticos, dentre outros.

19

Organizaes de Computadores

Estas informaes de entrada so armaConexo:


zenadas na memria, e a unidade central de
Recomendaes 2.3
processamento (UCP) realiza o devido traVeja o vdeo do Olhar Digital
sobre o que considerar na
tamento destas. Aps isto, dispositivos de
hora de comprar um computasada podem exibir o resultado do procesdor, em <www.youtube.com/
watch?v=vYo6IceDsVQ>.
samento. Exemplos de dispositivos de sada
so monitores, impressoras, dispositivos de
som etc.
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
4
5

6
7
8

9
Figura 14 Componentes bsico do computador: 1 monitor, 2 placa-me, 3
processador, 4 memria RAM, 5 placas de expanso, 6 fonte de alimentao, 7 leitor
tico (DVD, CD etc.), 8 disco rgido (hd), 9 mouse, 10 teclado.
Dispositivos de entrada: 10 e 9
Dispositivos de sada: 1
Proibida a reproduo UniSEB

Armazenamento secundrio: 7 e 8

20

Elementos da UCP: 2, 3, 4, 5 e 6.

Processamento de Dados e Estrutura Bsica do Computador Captulo 1

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

A UCP representa toda a unidade que faz o processamento, mas


no um nico componente, pois rene diversos outros. Por exemplo, a placa-me, que recebe este nome em razo de todos os demais
componentes da UCP, perifricos de entrada e de sada, dependerem
dela para conexo. uma placa que faz a interligao entre todos os
componentes do computador. Nela h os slots de memria, onde fica a
memria RAM do computador. A memria RAM (memria de acesso
randmico) a memria de trabalho da mquina. Nela ficam os programas que esto sendo processados e todas as informaes necessrias.
Alm da memria RAM, temos o prprio processador, a unidade capaz
de realizar 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
dispositivo: Dispositivo para Comunicao Externa. No hardware de seu
computador, ele tratado com um dispositivo de entrada e sada, mas
interessante diferenci-lo. Exemplos destes dispositivos so:
placas de rede;
hub;
switch;
modems.

1.5 Elementos Bsicos da Arquitetura de


Von Neumann
Lembra-se de termos comentado sobre John Von Neumann, que participou da criao do ENIAC? Apesar de Von Neumann ter sua formao
na rea de matemtica, sua contribuio foi muito importante em diversas
outras reas e, ele popularizou a chamada Arquitetura de Von Neumann,
que ser nosso objeto de estudo agora.
A arquitetura de Von Neumann a base da construo da principal
arquitetura dos computadores modernos, os PCs.
21

Organizaes de Computadores

De maneira bem simples, ela funciona assim:


A unidade central de processamento (UCP) faz operaes com
1. Informaes. Estas operaes podem ser:
a) operaes de entrada e sada, como leitura de dados do teclado
e escrever dados na tela. So operaes para insero de dados
na memria do computador ou para exibio de informaes
que estejam armazenadas nesta.
b) operaes aritmticas como adio, subtrao, multiplicao
e diviso de valores inteiros ou ponto flutuante (basicamente,
nmeros reais representados num formato definido);
c) operaes lgicas e relacionais como comparaes, testes de
condies lgicas etc.;
d) movimentao de dados entre os vrios componentes, ou seja,
resgate 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 teclado e mouse (entrada) ou monitor e impressora
(sada), que emitiro as informaes num formato legvel ao
usurio do computador.

Proibida a reproduo UniSEB

22

Dados

Dados

Memria Primria

Unidade Lgico
e Aritmtica

Unidade de
Controle

Dados

Unidade de
Entrada e
Sada

Controle

Figura 15 A arquitetura de Von Neumann Viso interna do funcionamento de um


computador.

Processamento de Dados e Estrutura Bsica do Computador Captulo 1

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

Ento, basicamente, na arquitetura de Von Neumann, o que ocorre


que uma mquina pode armazenar seus programas e execut-los numa
unidade responsvel por diferentes operaes.
Pela figura, pudemos ver que as informaes podem ser dados ou
informaes de controle. As informaes de controle so aquelas que
dizem o que deve ser feito com os dados. Por exemplo, se tivssemos, de
alguma maneira, 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 Controle), 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)!
Neste 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!
Os passos seguidos por um programador so:
1. Ele pensa no problema e o analisa;
2. depois formula algoritmos que possam resolver este problema;
3. na sequncia, transforma os algoritmos em cdigo de alto nvel (esta fase chamada de codificao ou programao);
4. aps isto, traduz o cdigo de alto nvel, que resultar num
executvel;
5. um executvel um programa que roda sobre uma plataforma;

23

Organizaes de Computadores

6. uma plataforma um computador com sua arquitetura e um


sistema principal de gerenciamento de seus recursos, chamado sistema operacional;
7. o sistema operacional sabe como fazer o executvel funcionar, usando memria, dispositivos de entrada e sada etc.
8. O Windows, o Linux, o Solarix e o Unix, dentre outros, so
exemplos de sistemas operacionais (veremos mais sobre sistemas operacionais no captulo seguinte).
9. Mas sistema operacional por exemplo Windows, no
aquela interface que voc v com editores de texto e planilhas.
Ele compreende os programas, as rotinas que esto por trs de
todo o funcionamento de seu computador (tambm veremos
mais disto no captulo seguinte).

1.6 Construo de algoritmos simples

Algoritmos so conjuntos sistemticos e formalizados de intrues


voltados para resoluo de um problema (PIVA JR. et al, 2012). O conceito de algoritmo no exclusivo da computao: uma receita de bolo, por
exemplo, pode ser considerado como tal. Porm, a estrutura de algoritmos
se tornou mais difundida a partir da programao.
Nos prximos dois captulos, vamos relacionar os conceitos de
organizao e arquitetura de computadores com sua implementao em
algoritmos simples. Para tanto, vamos apresentar um ambiente de programao que pode ser facilmente usado pelo aluno, alm de uma explicao
introdutria sobre a estrutura de algoritmos.

Proibida a reproduo UniSEB

1.6.1 Indicao de ambiente de desenvolvimento

24

Para simplificar o processo de codificao de algoritmos por meio de


pseudocdigos que utilizaremos neste e no prximo captulo um ambiente de desenvolvimento conhecido como VisuAlg. Este ambiente pode ser
obtido gratuitamente e permite a construo e simulao de algoritmos. O
programa VisuAlg muito indicado para programadores iniciantes, uma
vez que possui uma interface simplificada e de fcil compreenso. O quadro 1.1 apresenta os endereos principais do ambiente de desenvolvimento
VisuAlg.

Processamento de Dados e Estrutura Bsica do Computador Captulo 1

Site oficial
http://www.facom.ufu.br/~claudio/Cursos/PP/Docs/Visualg2.pdf
Download (endereo abreviado)
goo.gl/n8YLk
Download (endereo completo)
http://www.guanabara.info/2007/09/visualg-v25/
Quadro 1.1 Ambiente de Desenvolvimento VisuALg.

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

Inicialmente utilize um dos endereos apresentados no quadro 1.1


para realizar o download do ambiente. Escolha uma pasta no seu computador para armazenar o arquivo. Finalizado o processo de download
clique duas vezes sobre o arquivo e voc visualizar uma tela semelhante
a ilustrada na figura 15.

Figura 16 Tela inicial do instalador do VisuAlg.

Clicando no boto avanar voc poder definir o diretrio para instalao do programa. Geralmente no necessrio modificar o diretrio,
assim, clique novamente no boto avanar. Na tela Componentes Selecionados, voc tambm no precisar realizar nenhuma alterao, dessa
forma, clique novamente no boto avanar. A tela Selecione o grupo do
menu Iniciar, permite a especificao do nome que ser definido para
menu, o que novamente no necessita de modificao. A tela seguinte
Selecionar Tarefas Adicionais, tambm j possui as principais configuraes definidas, com isso, voc pode clicar no boto avanar, e em seguida,
25

Organizaes de Computadores

clique no boto instalar. A instalao rpida e dura apenas alguns segundos. No final, voc j poder iniciar o ambiente VisuAlg.
Para a criao de um novo algoritmo no ambiente VisuAlg, voc dever utilizar o menu Arquivo>Novo, ou simplesmente pressionar as teclas
de atalho CTRL+N. Dessa forma, um novo algoritmo ser criado conforme ilustra a figura 2. Para salvar os algoritmos codificados voc dever
utilizar o menu Arquivo>Salvar (CTRL+S). O ambiente VisuAlg utiliza a
extenso .alg para representar os arquivos com algoritmos.

Figura 17 Criao de um novo algoritmo no ambiente VisuAlg.

Neste momento voc j tem o ambiente para desenvolvimento de algoritmos VisuAlg instalado no seu computador. Alm disso, voc j sabe
como criar um novo algoritmo. Poderemos agora iniciar um estudo mais
detalhado a respeito da construo de algoritmos.

Proibida a reproduo UniSEB

1.6.2 Estrutura bsica de um algortimo

26

O primeiro passo para a construo de algoritmos computacionais


o entendimento do conceito de algoritmo. Segundo Forbellone (2005),
um algoritmo uma sequncia de passos que visa atingir um objetivo
bem definido. Outra definio pode ser encontrada em Ascencio e Edilene
(2002), em que um algoritmo descrito como uma sequncia de passos
que deve ser seguida para a realizao de uma tarefa. Dentro deste contexto, voc pode entender o termo algoritmo como um conjunto de passos
que busca a soluo de um problema.

Processamento de Dados e Estrutura Bsica do Computador Captulo 1

No cenrio computacional, os algoritmos tm como fundamento a


elaborao de uma sequncia de passos de forma que o computador seja
capaz de solucionar um determinado problema. Em geral, os algoritmos
so utilizados para abstrair1 problemas do mundo real, e transform-los
em solues no mundo computacional.
A escrita de algoritmos a base para o processo de desenvolvimento
dos programas de computador. No ciclo de vida do desenvolvimento de
um programa, o primeiro estgio a elaborao da representao algortmica. Assim, inicialmente, os programadores criam uma especificao
algortmica do problema computacional, antes de transform-lo no cdigo
fonte de uma determinada linguagem de programao. Com a representao algortmica do problema possvel especificar quais as principais funcionalidades do futuro programa, bem como, identificar possveis erros
que ocorrero com a execuo do programa.
Para a construo de um algoritmo computacional necessrio a
utilizao de uma estrutura bsica, que definida a partir de uma sintaxe
especfica e contm blocos pr-determinados para codificao. Nesta estrutura, especificado, 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. Este tipo de representao tambm comumente descrita como
portugus estruturado ou portugol.
Cdigo 1
1 algoritmo semnome
2 // Funo :

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

3 // Autor :

4 // Data : 20/10/2011

5 // Seo de Declaraes
6 var
7

8 inicio

9 // Seo de Comandos

10 fimalgoritmo

Na primeira linha do algoritmo necessrio especificar um nome,


da mesma maneira que voc define nomes para documentos em editores
1 Avaliar caractersticas e propriedades em separado; considerar parte.

27

Organizaes de Computadores

de texto. As linhas 2, 3 e 4 apresentam informaes gerais a respeito dos


algoritmos. 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 determinar 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 algoritmos, 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.

Proibida a reproduo UniSEB

Figura 18 Codificao do algoritmo para exibir o nome na tela.

28

Finalizada a codificao do algoritmo fundamental salvar o cdigo


antes de realizar a execuo. Para isso, utilize o menu Arquivo>Salvar,
ou simplesmente pressione a tecla de atalho Ctrl+S. Voc pode escolher a
pasta de sua preferncia para armazenar o arquivo. A escolha do nome do
algoritmo importante, assim, recomenda-se no utilizar espaos, acen-

Processamento de Dados e Estrutura Bsica do Computador Captulo 1

tos, ou caracteres especiais. 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 nmeros 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.

Figura 19 Resultado da execuo do algoritmo no ambiente VisuAlg.

Com isso, voc aprendeu os procedimentos para codificao de um


algoritmo no ambiente VisuAlg, bem como, sua execuo e visualizao
dos resultados.

Atividades

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

01. Especifique a diferena entre organizao e arquitetura de computadores.


02. Descreva a arquitetura de Von Neumann.
03. Pode-se dizer que o computador pessoal extinguiu os mainframes?
Justifique.
04. Pesquise sobre outras arquiteturas de computadores alm daquela de
Von Neumann.

29

Organizaes de Computadores

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.

Leituras recomendadas

Artigo O papel da informao no processo de capacitao tecnolgica das micro e pequenas 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.

Referncais bibliogrficas
CAPRON, H. L.; JOHNSON, J. A. Introducao a Informatica. Sao
Paulo: Pearson Prentice Hall. 2004.
LAUDON, K. C. e LAUDON, J. P. Sistemas de Informacao Gerenciais. Sao Paulo: Prentice Hall. 2007.
MONTEIRO, M. A. Introduo Organizao de Computadores.
5a ed. So Paulo: LTC, 2007.

Proibida a reproduo UniSEB

MURDOCA, M. J.; HEURING, V. P. Introduo Arquitetura de


Computadores. Rio de Janeiro: Campus, 2000.

30

NULL, L.; LOBUR, J. Princpios Bsicos de Arquitetura e Organizao de Computadores. 2a ed. Porto Alegre: Bookman, 2010.

Processamento de Dados e Estrutura Bsica do Computador Captulo 1

PIVA JR., D.; NAKAMITI, G. S.; ENGELBRECHT, A. M.; BIANCHI, F. Algoritmos e Programao de Computadores. Rio de Janeiro: Elsevier, 2012.
STALLINGS, W. Arquitetura e Organizao de Computadores.
So Paulo: Prentice Hall, 2002.

No prximo captulo

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

No prximo captulo, entederemos como os dados so representados na computao. Sero vistos os conceitos de bit, byte, bases e a converso entre elas.

31

Organizaes de Computadores

Proibida a reproduo UniSEB

Minhas anotaes:

32

Representao de
Dados

Cap

t u

lo

No captulo prvio, entendemos o computador como uma mquina que processa


dados. Deve-se notar que existem artefatos
mecnicos que, mesmo com capacidade limitada,
conseguem fazer tambm processamento tal como
calculadoras mecnicas criadas no sc. XVII. Claro que
pela sua capacidade e flexibilidade, 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 fundamentais da linguagem binria, partindo para bases
numricas fundamentais.

Objetivos da sua aprendizagem

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.

Voc se lembra?

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?

Organizao de Computadores

2.1 Elementos binrios fundamentais: bits, bytes e


words.
Pode-se pensar em diversas propriedades relacionadas ao componente eletrnico e corrente eltrica, tais como voltagem, amperagem,
frequncia de sinal, etc. Porm, fundamentalmente, um dispositivo tem ou
no corrente eltrica passando por ele, em suma, est desligado ou ligado.
Por isso, a forma bsica de representao de dados em componentes eletrnicos se baseia na linguagem binria (LAUDON & LAUDON, 2007;
CAPRON & JOHNSON, 2004). 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 adequada 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 captulo 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 tempo, 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 adjacenConexo:
tes, sendo o seu nmero varivel segundo o uso
Assista a um vdeo
(MONTEIRO, 2007), ver quadro 2.1.
sobre o funcionamento do
Bit

Digito binrio

computador e o uso de bits e


bytes: https://www.youtube.com/
watch?v=6oDiJLg6xbE
Acesso em: 24 jul. de 2014.

Proibida a reproduo UniSEB

Byte

34

WORD

Conjunto de 8 bits
Nmero convencionado
de bits adjacentes

Figura 1 Elementos fundamentais de Linguagem Binria (MONTEIRO, 2007).

Representao de Dados Captulo 2

Tamanho Exemplo
1
bits
nibble 1 1 0
0 0 0
byte
16 bits 0 0 1
32 bits 0 0 1

1
1 1 1 1 1
1 1 0 0 0 0 0 1 1 0 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

Quadro 2.1 Conjunto de Dados mais Comuns


Fonte: adaptado de (MONTEIRO, 2007, p. 94)

O aumento de capacidade de processamento e armazenamento de


dados nos deixou familiares com termos como megabyte, gigabyte, etc.
Essas unidades se referem a potncias de dez de quantidade de bytes, conforme est relacionado no quadro 2.2.
Mltiplos

Smbolo

Valor

kilo

1000

mega

10002

giga

10003

tera

10004

peta

10005

exa

10006

zetta

10007

yotta

10008

Quadro 2.2 Mltiplos decimais de bytes

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

Fonte: (STALLINGS, 2002)

A definio simples desses mltiplos pode ser melhor ilustrada com


algumas estimativas de uso:
A Biblioteca do Congresso Americano guardava em 2011 cerca de
235 terabytes (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 equivalente a 2,5 petabytes (SMITH, 2010).
35

Organizao de Computadores

Deve-se reforar que esses nmeros so apenas estimativas, sendo


o clculo preciso bastante complexo e sujeito a diversas questes metodolgicas.

Figura 2 Biblioteca do Congresso Americano, Washington.


http://commons.wikimedia.org/wiki/File:Library_of_Congress_Interior_Jan_2006.jpg
Acesso em 24 jul. de 2014

Proibida a reproduo UniSEB

Figura 3 Um dos datacenter do Facebook, Oregon.

36

Fonte: http://commons.wikimedia.org/wiki/File:Facebook_Data_Center.jpg
Acesso em 24 jul. de 2014

At este ponto tratamos de alguns elementos bsicos de linguagem


binria e demos alguma noo de escala de uso. Entretanto como nmeros

Representao de Dados Captulo 2

e palavras so representados nesse tipo de conveno? Para explorarmos


esse assunto, preciso conhecer algumas bases numricas e como se pode
convert-las.

2.2 Bases numricas


2.2.1 Base decimal

O sistema numrico decimal foi adotado dos rabes pelo europeus e a base que usamos para contas simples a complexas transaes
financeiras em nossa economia (NULL & LOBUR, 2010). Como um
sistema muito comum, no nos detemos para pensar como funciona.
Veja o exemplo abaixo de decomposio de nmeros em base decimal:
15 = 1x10 + 5x1
146 = 1x100 + 4x10 + 6x1
8303 = 8x1000 + 3x100 + 0x10 + 3x1
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:

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

15 = 1x101 + 5x100

Neste caso, temos dois dgitos: o dgito 5, corresponde ao multiplicador da potncia elevada a zero. O dgito 1, corresponde ao multiplicador
da potncia elevada a 1. Por analogia, examine os casos seguintes:
146 = 1x102 + 4x101 + 6x100
8303 = 8x103 + 3x102 + 0x101 + 3x100
Em outras bases numricas, usamos potncias de base correspondente. Mas por que estudamos outras bases? Dependendo da utilizao, a
base decimal pode no ser a mais eficiente e eficaz. Deve-se saber que h
uma notao que explicita em que base o nmero deve ser entendido:
(153)10 refere-se a 153 na base decimal.
(1110)2 refere-se a 1110 na base binria, que ser vista a seguir.

37

Organizao de Computadores

2.2.2 Base binria

Como sabemos, mais adequado implementar dados em base binria no computador. No quadro 3, temos uma relao da representao dos
nmeros de 1 a 15. Porm como esses nmeros so formados? Podemos
entend-los a partir de sua decomposio em potncias de dois:

(14)10 = (1 1 1 0)2 = (1x23) + (1x22) + (1x21) + (0x20)

= 8 + 4 + 2 + 0 = 14

Proibida a reproduo UniSEB

Por analogia, verifique estes trs exemplos:


(1)10 = (1)2 = 1x20 = 1
(2)10 = (10)2 = 1x21 + 0x20 = 2 + 0 = 2
(9)10 = (1001)2 = 1x23 + 0x22 + 0x21 + 1x20 = 8 + 0 + 0 + 1 = 9

38

10

11

100

101

110

111

1000

1001

10

1010

11

1011

12

1100

13

1101

14

1110

15

1111

Quadro 2.3 Representao Binria de Inteiros Positivos (zero a quinze)

Olhando novamente o quadro 2.3, vemos que o nmero 1 representado por um dgito, j o nmero nove por quatro. Para a estrutura do

Representao de Dados Captulo 2

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

computador, interessante termos uma padronizao dos processos de leitura e alocao de memria para cada varivel. O byte, tambm referido
como octeto (MURDOCA & 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
Usando as combinaes possveis de zeros e uns em 8 bits, um byte
pode representar 256 valores numricos, ou seja, 28. Se precisssemos
usar apenas inteiros positivos, poderamos representar valores comeando
por zero at chegar a 255. Contudo, para indicar se o valor negativo ou
positivo em um byte, precisamos usar um dgito para ter essa informao.
Assim, usando-se o byte, chega-se a um intervalo que vai de -128 a 127
(STALLINGS, 2002) .
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 razo, foi simplificada a representao dos
anos, subentendendo que todas as datas se referiam ao sculo 20. Assim,
a representao de 1985 correspondia a 85, subentendendo-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).

Para representar valores maiores ou menores do que esse intervalo,


h duas sadas principais. A primeira lanar mo de words (palavras),
como de 16 bits ou 32 bits citados anteriormente. Em uma palavra de
16 bits, os valores de nmeros inteiros podem variar de -32.768 a 32.767
(MONTEIRO, 2007). A quantidade de bits e o formato que so convencionados a cada dado importante. Antes de mais nada, quanto maior o
39

Organizao de Computadores

word, naturalmente maior o uso de memria e capacidade de processamento. Outro fator importante que uma vez fixado o tamanho de certo
tipo de dado em um sistema, o custo de mudana 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 requer mais capacidade e mudanas na estrutura de hardware.
Buscou-se evitar a necessidade dessas mudanas e ainda de aumentar
o escopo para representao de nmeros reais por meio de mtodo de
representao por ponto flutuante (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 hardware 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


Nos dois casos, temos trs algarismos sigmtodo ponto flutuante e
nificativos e determinada potncia na base 10.
padro IEEE 754:
Assim, podemos representar nmeros inteiros
http://www.lia.ufc.br/~valdisio/
download/ieee.pdf
e aproximar valores fracionrios e dzimas,
Acesso em: 24 jul.
ampliando consideravelmente o intervalo de re2014.
presentao numrica. O termo ponto flutuante
vem do fato da vrgula na representao numrica
poder estar na casa centesimal, unitria, de milhar, etc.
Assim como possvel somar e subtrair usando o sistema decimal,
possvel fazer as opes aritmticas com o sistema binrio, incluindo
nmeros de ponto flutuante.

Proibida a reproduo UniSEB

2.2.3 Base hexadecimal

40

Esse sistema possui o nmero 16 como base e indicado por contrao hex. Como notao, geralmente usa-se a conveno abaixo
(STALLINGS, 2002):
0

10

11

12

13

14

15

Representao de Dados Captulo 2

Diversas representaes computacionais, padres e linguagens usam a


base hexadecimal. Um exemplo so as representaes de cores em HTML,
em que se inicia com # para depois especificar quatro dgitos hexadecimais. A
cor azul primria, por exemplo, representada por #0000FF.

2.2.4 Converso entre bases

Ao usar o computador, sem perceber estamos usando a converso


entre sistema decimal e binrio a todo o tempo. H diversas ferramentas
na WEB e em planilhas eletrnicas para fazer realizar a converso entre
diversos sistemas.
Para ilustrar aqui uma converso simples, vamos mudar o nmero 9 da
base decimal para binria. Vamos usar o mtodo de diviso e resto (NULL &
LOBUR, 2011), que serve apenas a nmeros inteiros sem sinal. Repare que os
dgitos da base binria vo corresponder ao resto da diviso:
9
1

2
4
0

Conexo:

2
2

Conhea um ferramenta
na Web para converso entre
bases numricas:

1
1

2
0

http://wims.unice.fr/wims/en_
tool~number~baseconv.en.html

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

Acesso em: 24 jul. 2014.

Os passos feitos foram esses:


Dividindo-se 9 por 2, temos 4 com resto
1.
Dividindo-se 4 por 2, temos 2 com resto 1.
Dividindo-se 2 por 2, temos 1 com
O Excel tem funes
resto 0, para converter precisaimplementadas
que permitem a
mos fazer mais uma diviso.
converso entre bases numricas. Se
Ateno: dividindo-se 1 por
voc, por exemplo, possuir o nmero 14 em
2, considera-se o resultado
uma clula A1, voc pode implementar uma
funo em uma clula A2 que use o 14 como ar0 com resto 1.
Usando os restos, na ordem da esquerda para a direita,
temos:
(9)10 = (1001)2

gumento. 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.

41

Organizao de Computadores

2.3 Representao de caracteres

Proibida a reproduo UniSEB

At agora exploramos a representao de nmeros, mas como se


tratam as letras do alfabeto e os caracteres em geral? Tambm no ps-guerra, ainda em um contexto de escassez de memria, os sistemas
computacionais adotaram o padro ASCII (American Standard Code for
Information Interchange).

42

Binrio

Decimal

00100000

32

00100001

33

00100010

Caractere

Binrio

Decimal

Caractere

Binrio

Decimal

Caractere

01000000

40

01100000

96

01000001

41

01100001

97

34

01000010

42

01100010

98

00100011

35

01000011

43

01100011

99

00100100

36

01000100

44

01100100

100

00100101

37

01000101

45

01100101

101

00100110

38

&

01000110

46

01100110

102

00100111

39

01000111

47

01100111

103

00101000

40

01001000

48

01101000

104

00101001

41

01001001

49

01101001

105

00101010

42

01001010

4A

01101010

106

00101011

43

01001011

4B

01101011

107

00101100

44

01001100

4C

01101100

108

00101101

45

01001101

4D

01101101

109

00101110

46

01001110

4E

01101110

110

00101111

47

01001111

4F

01101111

111

00110000

48

01010000

50

01110000

112

00110001

49

01010001

51

01110001

113

00110010

50

01010010

52

01110010

114

00110011

51

01010011

53

01110011

115

00110100

52

01010100

54

01110100

116

00110101

53

01010101

55

01110101

117

00110110

54

01010110

56

01110110

118

00110111

55

01010111

57

01110111

119

00111000

56

01011000

58

01111000

120

00111001

57

01011001

59

01111001

121

00111010

58

01011010

5A

01111010

122

Representao de Dados Captulo 2

00111011

59

01011011

5B

01111011

123

00111100

60

<

01011100

5C

01111100

124

00111101

61

01011101

5D

01111101

125

00111110

62

>

01011110

5E

01111110

126

00111111

63

01011111

5F

Quadro 2.4 Tabela ASC II Caracteres imprimveis.


Fonte: (MONTEIRO, 2007).

Esse padro foi desenvolvido para os sistemas de telex originalmente, o que se reflete na definio de 33 caracteres no imprimveis que hoje
esto na maioria obsoletos e a reserva de um dgito para controle de erro
(MURDOCCA & HEURING, 2000).
O quadro 4 apresenta os caracteres imprimveis do ASC II e a sua
correspondncia binria. Assim, usando esse padro, um sistema computacional l 01000000 como @, 01111010 como z, etc. desde que
tenha sido definido 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 contexto, destaca-se o padro Unicode ((NULL & LOBUR,
2011).

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

2.4 Tipos de dados e uso de variveis em algoritmos


O principal objetivo dos algoritmos computacionais a manipulao
de informaes, as quais podem
Uma varivel um elemento sinttico
ser especificadas pelo usurio, ou
do
algoritmo que tem como funcionalidade
geradas ao longo da execuo do
armazenar um determinado valor. O valor
algoritmo. Para manipulao de
associado a varivel depende do tipo de
informaes nos algoritmos neinformao que se deseja manipular, assim,
diversos tipos de valores podem ser atribucessrio a utilizao de um recurdos as variveis.
so denominado variveis.
De acordo com o tipo de
informao que ser armazenado,
necessrio especificar o tipo que ser a
varivel. Este conceito conhecido como tipo
43

Organizao de Computadores

de dados. Um tipo de dados determina quais tipos de operaes e quais


tipos de valores podem ser manipulados pelas variveis.
O tipo de dados mais comum existente utilizado para a manipulao de valores numricos do tipo inteiro. As variveis do tipo de dados
inteiro armazenam valores do tipo: 25, 32, 0, 45, -92, -853, entre outros.
Para demonstrar a utilizao deste tipo de dados, bem como, a declarao
de variveis nos algoritmos, vamos codificar nosso segundo exemplo. A
figura 5 apresenta o cdigo do algoritmo capaz de realizar a soma de duas
variveis do tipo inteiro. Este algoritmo foi nomeado como unid3_exemplo02.alg.

Figura 4 Codificao do algoritmo capaz de realizar a soma de dois nmeros inteiros.

No algoritmo da figura 5 importante notar o bloco de declarao


de variveis, o qual codificado nas linhas 6, 7, 8 e 9. A linha 6 contm a
palavra reservada var, que indica o incio do bloco de declarao de variveis. Na linha 7 apresentada a declarao de uma varivel denominada
a do tipo inteiro. As linhas 8 e 9 declaram mais duas variveis do tipo
inteiro, definidas como b e soma. Voc pode perceber com as declaraes
das variveis um padro sinttico, o qual representado por:

Proibida a reproduo UniSEB

nome_da_varivel: tipo_da_varivel

44

Os algoritmos computacionais, bem como as linguagens de programao possuem algumas regras para a nomeao das variveis. Uma varivel deve obrigatoriamente iniciar como um caractere literal, assim, no
possvel declarar varivel que comecem com um nmero, por exemplo,

Representao de Dados Captulo 2

1soma. Outro detalhe importante que nomes de variveis no podem


conter espaos, por exemplo, soma total, ento, caso seja necessrio, voc
poder utilizar o caractere sublinhado (underline), da seguinte maneira:
soma_total. Outra regra importante sobre a identificao de variveis
no utilizar caracteres especiais, tais como @, #, $, %, bem como, no
utilizar acentos de qualquer tipo.
Observando ainda o algoritmo apresentado na figura 5, importante
notar as linhas 12 e 13 que armazenam valores nas variveis a e b. O termo computacional que indica o armazenamento de um valor em uma varivel atribuio. 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 adio, 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 valores. importante destacar que a instruo escreva utilizada para
exibir uma informao 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.

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

Figura 5 Resultado da execuo do algoritmo.

Outro tipo de dado utilizado para a manipulao de informaes


numricas denominado real. Com o tipo de dados real possvel realizar operaes com nmeros que contenham casas decimais, por exemplo,
2.34, 4.48, -5.82, 0.004, entre outros. Um detalhe importante que merece
destaque com relao ao smbolo utilizado para separao das casas decimais. Geralmente, pelo fato das linguagens de programao utilizarem
instrues na linguagem inglesa, a separao das casas decimais realizada com o smbolo de . (ponto), no entanto, possvel criar mecanismos
capazes de efetuar a substituio do ponto pelo smbolo de , (vrgula)
utilizado para separar a parte fracionria no Brasil. Para demonstrar a utilizao de nmeros do tipo real, considere o problema de calcular a mdia
45

Organizao de Computadores

de um conjunto numrico. Podemos utilizar como exemplo, a necessidade


de calcular a mdia de notas de um conjunto de cinco alunos, por isso, a
figura 7 apresenta o resultado da codificao deste exemplo. Antes da execuo, o arquivo foi salvo com o nome de unid3_exemplo03.alg.
Neste algoritmo importante notar a declarao das variveis nota1,
nota2, nota3, nota4 e nota5. Na linha 8, as variveis que recebero os valores referentes as notas so declaradas em uma mesma linha. Este tipo de
declarao possvel, pois todas as variveis so do mesmo tipo. Dessa
forma, possvel simplificar 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 preferir, o programador pode declarar as
variveis individualmente, uma em cada linha, como apresentado na listagem cdigo 2.
Cdigo 2
1 var
2

nota1: real

nota3: real

3
5
6

Proibida a reproduo UniSEB

46

nota2: real
nota4: real
nota5: real
media: real

Figura 6 Algoritmo que demonstra a utilizao de variveis do tipo real.

Representao de Dados Captulo 2

O resultado da execuo do algoritmo apresentado na figura 8. Na


execuo importante notar que na separao das casas decimais o VisuAlg utiliza o smbolo de ponto.

Figura 7 Resultado da execuo do algoritmo.

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

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 linguagens de programao de alto nvel, tais como Java
ou C#, a manipulao de caracteres 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 realiza a manipulao de informaes com o tipo de dados caractere. Este exemplo foi nomeado como
unid3_exemplo04.alg.

Figura 8 Algoritmo que demonstra a manipulao de informaes com o tipo de dados


caractere.

47

Organizao de Computadores

Neste exemplo importante notar que os valores do tipo caractere so representados entre aspas duplas, como pode ser visualizado nas
linhas 13 e 14. Porm, algumas linguagens de programao realizam a
separao entre a representao de um nico caractere, e a definio de
um conjunto de caracteres. Geralmente, a especificao de um nico
caractere definida utilizando aspas simples, por exemplo, M, e a
indicao de um conjunto de caracteres realizada com aspas duplas,
por exemplo, Joo da Silva. Na linguagem VisuAlg, tanto a representao de um nico caractere, quanto de vrios, realizada com aspas duplas. O resultado da execuo do algoritmo pode ser visualizado
na figura 10.

Proibida a reproduo UniSEB

Figura 9 Resultado da execuo do algoritmo.

48

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 valores 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 linguagem 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 atribuio de valores lgicos tambm utiliza os possveis valores
(verdadeiro ou falso). A figura 11 apresenta o resultado da codificao do
algoritmo.

Representao de Dados Captulo 2

Figura 10 Algoritmo que demonstra a utilizao dos principais tipos de dados e apresenta
a manipulao de valores do tipo lgico.

O resultado da execuo do algoritmo, que pode ser visualizada utilizando o menu Algoritmo>Executar, apresentada na figura 12.

Figura 11 Resultado da execuo do algoritmo.

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

Com isso, voc conheceu os principais tipos de dados que podem


ser utilizados para manipulao de informaes nos algoritmos e programas. O prximo passo aprender como ler informaes fornecidas pelo
usurio, e como apresentar resultados na tela.

Atividades
01. Pesquise sobre a origem da linguagem binria, antes de seu uso pela
computao.
02. Por que o sistema binrio mais adequado para o uso em dispositvos
eletrnicos?
03. Decomponha 19583 em potncias de base 10.
49

Organizao de Computadores

04. Converta 19583 na base binria.


05. Decomponha o resultado do exerccio 4 em potncias de base 2.
06. Pesquise sobre o padro UNICODE e identifique os grupos de caracteres que so definidos.

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 sistemas computacionais conseguem fazer tarefas variadas como reconhecer voz e ajudar
em diagnsticos mdicos? Como essas tarefas se traduzem em processamento de dados?

Leitura recomendada

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/millennium_bug/countries/default.stm>. Acesso em: 19
jun. 2014.

Proibida a reproduo UniSEB

CAPRON, H. L.; JOHNSON, J. A. Introducao a Informatica. Sao


Paulo: Pearson Prentice Hall. 2004.

50

LAUDON, K. C. e LAUDON, J. P. Sistemas de Informacao Gerenciais. Sao Paulo: Prentice Hall. 2007.

Representao de Dados Captulo 2

LEUNG, L. How much data x store? Techexpectations, 13 mar.


2014. Disponvel em: <http://techexpectations.org/2014/05/17/howmuch-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.
MONTEIRO, M. A. Introduo Organizao de Computadores.
5a ed. So Paulo: LTC, 2007.
MURDOCA, M. J.; HEURING, V. P. Introduo Arquitetura de
Computadores. Rio de Janeiro: Campus, 2000.
NULL, L.; LOBUR, J. Princpios Bsicos de Arquitetura e Organizao de Computadores. 2a ed. Porto Alegre: Bookman, 2010.
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-capacity/>. Acesso
em: 19 jun. 2014.

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

SCHONFELD, E. Google processing 20,000 terabytes a day, and


growing. Techcrunch, website, 9 jan. 2008. Disponvel em: <http://
techcrunch.com/2008/01/09/Google-processing-20000-terabytes-aday-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-atacara-novamente.>.
Acesso em: 19 jun. 2014.
STALLINGS, W. Arquitetura e Organizao de Computadores.
So Paulo: Prentice Hall, 2002.

No prximo captulo

No prximo captulo, conheceremos a lgebra booleana, que permite que os computadores possam manipular os dados logicamente.
51

Organizao de Computadores

Proibida a reproduo UniSEB

Minhas anotaes:

52

lo

lgebra Booleana e
Operaes Lgicas em
Algoritimos

Cap

t u

No captulo anterior, vimos a forma como dados


podem ser representados no computador em base nmrica, ou seja, passvel de operaes como aritmticas
de adio. Mas quando usamos um caixa eletrnico, por
exemplo, h diversas outras operaes envolvidas. A simples
comparao da senha que digitamos com aquela registrada
pede uma operao lgica que deve responder a senha confere
ou a senha no confere. Em um videogame, cada uma das aes
do jogador tem determinadas consequncias tanto para o encadeamento posterior de eventos, quanto para o prprio ambiente do jogo.
Esses so apenas exemplos de como o processamento de dados depende de operaes lgicas (LAUDON & LAUDON, 2007; CAPRON &
JOHNSON, 2004). A implementao dessas operaes em computador
esto, por sua vez, baseadas na lgebra booleana, tema principal deste
captulo.

Objetivos da sua aprendizagem

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.

Voc se lembra?

No primeiro captulo, foi dado o exemplo da receita de bolo


como um algoritmo no computacional. 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.

Organizao de Computadores

3.1 lgebra booleana

Segundo Linda Null e Julia Lobur, a lgebra booleana uma lgebra para a manipulao 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 linguagem binria. A seguir, vamos falar da origem
da lgebra booleana para, a seguir, passar para seus operadores.

3.1.1 Origens

A linguagem binria se tornou um componente fundamental da


computao, mesmo tendo sido desenvolvida muito antes dos primeiros
computadores. O mesmo aconteceu com a lgebra booleana: nascida no
sc. XIX fruto da formalizao do pensamento lgico realizada por George Boole, um grande matemtico ingls (figura 1). A motivao de Boole
era encontrar e formalizar leis universais do raciocnio, aproximando este
da lgebra matemtica. Esse esforo foi estruturado em sua obra As Leis
do Pensamento, de 1854 (NULL & LOBOUR, 2011).

Figura 1 George Boole (1814 1864)

Proibida a reproduo UniSEB

Fonte: http://en.wikipedia.org/wiki/George_Boole#mediaviewer/
File:George_Boole_color.jpg. Acesso em: 24 jul. de 2014.

54

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.

lgebra Booleana e Operaes Lgicas em Algoritimos Captulo 3

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 comprometida 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.

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

Desse modo, a tabela-verdade fica:


p

pq

Podemos ainda explicar mais um operador lgico a partir da seguinte assertiva:


Afirmao 4: Ana foi ao cinema OU Paulo foi ao show.
: Afirmao 1 OU Afirmao 2: p + q
A afirmao 4 ser verdadeira caso ambas as afirmativas sejam verdadeiras, mas tambm caso somente uma delas seja. Por exemplo, mesmo
Paulo no tendo ido ao show, basta que Ana tenha ida ao cinema para garantir essa veracidade. A afirmativa 4 s ser falsa se ambas as afirmativas
tambm o forem. Consequentemente, a tabela-verdade neste caso ter a
seguinte configurao:
p

p+q

F
55

Organizao de Computadores

Figura 2 Labirinto Teseu de Claude Shannon (Museu do MIT)


Fonte: Labirinto Teseus de Claude Shannon (Museu do MIT) http://
commons.wikimedia.org/wiki/Category:Claude_Shannon#mediaviewer/
File:Theseus_Maze_by_Claude_Shannon,_1952_-_MIT_
Museum_-_DSC03702.JPG. Acesso em: 24 jul. de 2014.

A utilidade da lgebra booleana e suas tabelas verdade para circuitos eltricos foi estabelecida pelo americano Charles Shannon em sua
dissertao de mestrado de 1937, concluda no MIT. Em lugar dos valores
falso ou verdadeiro, os circuitos poderiam operar por essa lgebra
usando os zeros e uns. Essa adaptao lanou as bases da computao
que conhecemos hoje. Shannon ainda ajudou a criar os fundamentos da
teoria da informao e da inteligncia artificial. Um dos seus experimentos famosos foi um rato eletromecnico programado a encontrar a sada
de um labirinto (figura 2) e capaz de acumular conhecimento a cada entrada no mesmo labirinto. (GLEICK, 2011).
Na sumarizao seguinte da lgebra booleana, vamos usar os dgitos
binrios. Assim, 0 ser equivalente a falso e, consequentemente, 1 a
verdadeiro. 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 Heuring (2000), Monteiro (2007) e Stallings (2002).

Proibida a reproduo UniSEB

3.1.2 Operador E (Conjuno ou AND)

56

Uma expresso com operador E resulta 1 somente se as suas entradas forem todas iguais a 1. O funcionamento anlogo ao exemplo da
seo anterior com a afirmativa 3.
Considerando duas entradas, p e q, a notao de p E q j foi vista:
p.q

lgebra Booleana e Operaes Lgicas em Algoritimos Captulo 3

Chama-se essa expresso tambm de produto booleano, ou multiplicao lgica. Abaixo est a tabela-verdade para o operador E com duas
entradas:
p

pq

3.1.3 Operador OU (Disjuno ou OR)

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

Uma expresso com operador OU resulta em 0 somente se as suas


entradas forem todas iguais a 0. Aqui temos um comportamento anlogo
ao exemplo anterior com a afirmativa 4.
Considerando duas entradas, p e q, j conhecemos a notao
de p OU q.
p+q
Existem outras
Essa expresso tambm nonotaes para operadomeada de soma booleana, ou adio
res vistos aqui e que podem ser
lgica. A tabela-verdade para o
comumente encontradas na disciplina de
Raciocnio Lgico:
operador OU com duas entradas
Operador E: p q.
est a seguir:
Operador OU: p + q.
p

p+q

Operador Negao:

_
p

3.1.4 Operador Negao (Inverso ou NOT)

Esse operador simplesmente inverte a entrada. Ou seja, se a entrada


0 o operador o transforma em 1, e vice-versa. Com uma entrada p, a notao de p negado : ~p
A tabela-verdade para esse operador :
p

~p

1
57

Organizao de Computadores

3.1.5 Operadores XOR, NOR, NAND

Os operadores AND, OR e NOT podem ser combinados e aplicados


sucessivamente a entradas. Trs dessas combinaes encontram uso corrente em sistemas computacionais:
Disjuno exclusiva (XOR)
O resultado dessa operao 1 se, e somente se, apenas uma das
entradas for 1. A tabela-verdade do operador XOR :
p

(p ~q) + (~p q)

NEM (NOR)
O resultado dessa operao 1 se, e somente se, todas as entradas
forem 0. A tabela-verdade do operador NOR :
p

~ (p + q)

Proibida a reproduo UniSEB

NOU (No... e..., NAND)


O resultado dessa operao 1 se pelo menos
uma entrada for 0. A tabela verdade do operador
NOU :

58

Conexo:

~ (p + q)

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.

lgebra Booleana e Operaes Lgicas em Algoritimos Captulo 3

3.2 Portas lgicas

A adaptao de Claude Shannon da lgebra booleana tambm denominada lgebra de chaveamento devido orientao inicial para circuitos que podiam estar ligados ou desligados por chave. Essa lgebra usada na construo de circuitos fsicos, que podem
modificar os sinais digitais conforme estabeConexo:
lecido por seu desenho. Devido a esse uso,
Conhea um aplicativo
h smbolos grficos para cada operador,
gratuito para dispositivos mveis
que desenha portas lgicas:
chamadas portas lgicas, o que facilita o
https://play.google.com/store/apps/
trabalho em circuitos complexos. Na tabedetails?id=com.Logic.gates_Xor.en
la a seguir, as entradas so representadas
Acesso em: 24 jul. de 2014.
pelos traos esquerda, podendo ser, cada
uma, zero ou um. A sada representada
pelo trao direita, tambm obedecendo base
binria.
Operador

Smbolo

AND
OR
NOT
XOR
NOR
NAND

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

Fonte: http://commons.wikimedia.org/wiki/File:NAND_
ANSI.svg. Acesso em: 24 jul. de 2014.

Para fins didticos, tratamos de operaes, portas lgicas e smbolos


com apenas duas entradas. No caso abaixo, temos um operador AND com
trs entradas de valor 1. Pela prpria definio do operador, a sada tambm ser 1:
1
1
1

59

Organizao de Computadores

3.3 Operaes aritmticas e lgicas em algoritmos

Proibida a reproduo UniSEB

At aqui, entendemos as operaes booleanas principais. Contudo,


como elas so usadas em programao? A seguir, vamos mostrar operaes aritmticas e lgicas implementadas em algoritmos simples, usando
o visualg. No devemos perder de vista, contudo, que so essas operaes
que fundamentam programas complexos e processamento de dados em
grande escala. O poder analtico desse processamento nos lembrado
com frequncia, como acontece com as vitrias de sistemas computacionais sobre grandes mestres do xadrez (ver box explicativo).

60

Em 1997, o supercomputador
Deep Blue da IBM venceu o campeo mundial de xadrez Garry Kasparov em um match de seis partidas.
O evento chamou a ateno do mundo para os avanos em inteligncia
artificial, estimulando a reflexo
sobre os limites e as potencialidades
dos computadores. Kasparov havia
derrotado uma verso desse computador em 1996 e acusou a IBM de
fraudar a disputa em 1997. A fraude
teria sido o uso de grandes mestres
de xadrez para apoiar o processo de
deciso do computador. De qualquer
modo, a superioridade dos computadores nesse jogo foi reafirmada por
programas de software mais inteligentes e que, assim, no requerem
a capacidade de processamento do
Deep Blue. Se este calculava at
200 milhes de posies de jogo por
segundo em um estrutura complexa
e dedicada, o programa Deep Fritz,
rodando em Windows com processadores Pentium, conseguiu derrotar o
campeo mundial Vladimir Kramnik
em 2006 (NEWBORN, 2011).

Figura 3 Supercomputador
Deep Blue (Museu da Histria
do Computador, Califrnia.
Fonte: http://commons.wikimedia.
org/wiki/File:Deep_Blue.
jpg. Acesso 24 jul. de 2014

Figura 4 Garry Kasparov.


Fonte: http://commons.wikimedia.
org/wiki/File:Kasparov-27.jpg.
Acesso em 24 jul. de 2014.

lgebra Booleana e Operaes Lgicas em Algoritimos Captulo 3

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

3.3.1 Comandos de entrada e sada

Os algoritmos computacionais e os programas tm como principal


funcionalidade o processamento de informaes. Essas informaes geralmente so fornecidas pelo usurio, o qual utiliza o teclado para entrada
de dados e, em um segundo momento, os resultados so apresentados em
dispositivos de sada como monitor ou impressora. Durante o processo
de construo de algoritmos, o programador pode contar com instrues
especficas para carregar informaes fornecidas pelo usurio e para apresentar resultados na tela, essas instrues so chamadas de comandos de
entrada e sada.
Para leitura de informaes, o comando utilizado para entrada de
dados conhecido como leia. Assim, com este comando possvel transferir uma informao digitada pelo usurio com o teclado para uma determinada varivel no escopo do algoritmo. Por outro lado, para a apresentao de uma informao na tela utilizada um comando de sada especfico
denominado escreva.
Para demonstrar a utilizao dos comandos de entrada e sada vamos construir uma calculadora simples de quatro operaes. Nesta calculadora, o usurio fornecer dois valores nmeros (valor1 e valor2) e sero
realizados os clculos de soma, subtrao, multiplicao e diviso. Para
leitura dos valores ser utilizado o comando leia e para a apresentao dos
resultados ser necessrio o comando escreva. Na linguagem algortmica
VisuAlg, existe uma variao do comando escreva denominada escreval.
Este comando, alm de exibir as informaes desejadas na tela, tambm
realizar a quebra de linha, ou seja, o comando 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 nomeado como unid3_exemplo06 e a figura 5 apresenta a codificao
completa do exemplo.

61

Organizao de Computadores

Figura 5 Algoritmo que codifica um clculo simples com quatro operaes.

O resultado da execuo do algoritmo apresentado na figura 6.


Nessa execuo, os valores fornecidos como entrada foram 10 e 20.

Proibida a reproduo UniSEB

Figura 6 Resultado da execuo do algoritmo.

62

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 entrada os quilmetros percorridos pelo veculo e o total
de litros abastecidos. Com isso, o algoritmo capaz de determinar o consumo mdio e o resultado exibido na tela. Este algoritmo foi nomeado
como unid3_exemplo07, e a codificao demonstrada na figura 7.

lgebra Booleana e Operaes Lgicas em Algoritimos Captulo 3

Figura 7 Algoritmo para determinar o consumo mdio de combustvel de um veculo.

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

O resultado da execuo do algoritmo pode ser visualizado na Figura 8. Os parmetros informados na entrada foram 460 para quilmetros
rodados e 50 para litros abastecidos.

Figura 8 Resultado da execuo do algoritmo.

3.3.2 Operaes e expresses

Os computadores podem ser encarados como grandes mquinas


capazes de realizar uma quantidade imensa de operaes por segundo. Na
evoluo histrica da computao, os primeiros algoritmos foram criados
com o intuito de solucionar complexas expresses em poucos segundos.

63

Organizao de Computadores

As expresses so formadas essencialmente por operadores, operandos


e parnteses. De acordo com o tipo de operador utilizado, podemos criar
expresses denominadas:

3.3.3 Expresses aritmticas

As expresses aritmticas utilizam os operadores aritmticos da


matemtica tradicional para criar expresses capazes de resolver os mais
variados tipos de funes. Neste grupo, os principais operadores utilizados so soma (+), subtrao (), multiplicao (*), diviso (/) e resto da
diviso (%).
A figura 9 apresenta a codificao de um algoritmo que utiliza expresses aritmticas para resolver um polinmio. Este algoritmo foi nomeado como unid3_exemplo08.alg.

Figura 9 Algoritmo computacional que utiliza expresses aritmticas.

Proibida a reproduo UniSEB

A figura 18 apresenta o resultado da execuo do algoritmo.

64

Figura 10 Resultado da execuo do algoritmo.

lgebra Booleana e Operaes Lgicas em Algoritimos Captulo 3

3.3.4 Expresses relacionais

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

Quando construmos algoritmos muito


comum a necessidade de comparar, ou
estabelecer relaes entre determinados operandos. Para isso, podemos
Em uma expresso relacional o resultautilizar um conjunto especfico de
do produzido pela avaliao da expresso
operadores capazes de produzir exsempre um valor lgico. Assim, uma expresso relacional resulta em um valor do tipo
presses relacionais. Os operadores
verdadeiro ou falso.
relacionais conhecidos so:
maior (>)
menor (<)
menor ou igual (<=)
maior ou igual (>=)
igual (=)
diferente (<>).
A figura 11 demonstra a construo de um algoritmo computacional
que utiliza expresses relacionais. Note no algoritmo que todos os operadores relacionais so expresses por meio de smbolos. Este algoritmo foi
nomeado como unid3_exemplo09.alg.

Figura 11 Algoritmo computacional que demonstra a utilizao de expresses e


operadores relacionais.

65

Organizao de Computadores

A figura 12 apresenta o resultado da execuo do algoritmo.

Figura 12 Resultado da execuo do algoritmo.

3.3.5 Expresses lgicas

Proibida a reproduo UniSEB

Na construo de algoritmos comConexo:


Os operadores lgicos so
putacionais tambm possvel criar
muito importantes para a construo
expresses a partir de operadores lgide programas, principalmente para a
cos. Estas expresses so conhecidas
elaborao de expresses relacionais
compostas. Para complementar seu estudo
como expresses lgicas. Para criavoc poder utilizar a seguinte referncia:
o de uma expresso lgica neceshttp://pt.wikipedia.org/wiki/
Operadores_l%C3%B3gicos
srio utilizar operadores booleanos,
Acesso em 24 jul. de 2014.
em que os principais so:
negao (NOT)
conjuno1 (E)
disjuno (OU)
disjuno-exclusiva (XOR)
Na figura 13 apresentada a codificao de um algoritmo capaz de calcular a tabela-verdade a partir de expresses lgicas. Neste exemplo possvel
determinar um dos principais conceitos da lgica matemtica conhecido como
tabela-verdade. Este algoritmo foi nomeado como unid3_exemplo10.alg.

66

Para um estudo aprofundado a respeito de tabelas verdade, voc poder consultar as seguintes referncias:
http://pt.wikipedia.org/wiki/Tabela_verdade
http://www.calculadoraonline.com.br/tabela-verdade
1 Oportunidade; ocasio; conjuntura.

lgebra Booleana e Operaes Lgicas em Algoritimos Captulo 3

Figura 13 Algoritmo computacional que demonstra a utilizao de expresses e


operadores lgicos.

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

A figura 14 apresenta o resultado da execuo do algoritmo.

Figura 14 Resultado da execuo do algoritmo.

Com isso, conclumos o estudo a respeito dos operadores e das expresses aritmticas, relacionais e lgicas. Aproveite este momento para
construir algoritmos a partir das atividades propostas.

67

Organizao de Computadores

Atividades
01. Monte uma tabela-verdade para o operador AND com quatro entradas.
02. Monte uma tabela-verdade para o operador OR com trs entradas.
03. Por que a lgebra booleana se mostrou adequada para circuitos eltricos?
04. Qual o valor de q no circuito lgico abaixo?
1
1
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?

Leituras Recomendadas

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 desenvolvimento dos computadores, mas que agora, como demonstra o autor, est presente em quase todas as nossas atividades.

Referncias Bibliogrficas
CAPRON, H. L.; JOHNSON, J. A. Introducao a Informatica. Sao
Paulo: Pearson Prentice Hall. 2004.

Proibida a reproduo UniSEB

GLEICK, J. The Information: A history, a theory, a flood. Nova


York: Random House, 2011.

68

LAUDON, K. C. e LAUDON, J. P. Sistemas de Informacao Gerenciais. Sao Paulo: Prentice Hall. 2007.

lgebra Booleana e Operaes Lgicas em Algoritimos Captulo 3

MONTEIRO, M. A. Introduo Organizao de Computadores.


5a ed. So Paulo: LTC, 2007.
MURDOCA, M. J.; HEURING, V. P. Introduo Arquitetura de
Computadores. Rio de Janeiro: Campus, 2001.
NEWBORN, M. Beyond Deep Blue. Nova York: Springer, 2011.
NULL, L.; LOBUR, J. Princpios Bsicos de Arquitetura e Organizao de Computadores. 2a ed. Porto Alegre: Bookman, 2010.
STALLINGS, W. Arquitetura e Organizao de Computadores.
So Paulo: Prentice Hall, 2002.

No prximo captulo

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

No prximo captulo, vamos compreender como as instrues so


recebidas e executadas pela Unidade Central de Processamento.

69

Organizao de Computadores

Proibida a reproduo UniSEB

Minhas anotaes:

70

Instrues e
Processamento

Cap

t u

lo

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
instrues, 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 implementao dos sistemas de computador, incluindo a placa-me, linguagens de programao e os sistemas operacionais.

Objetivos da sua aprendizagem:

Identificar as funes dos componentes da UCP.


Reconhecer os diferentes tipos de instrues.
Dominar a estrutura bsica das instrues.
Conhecer os tipos de interrupo.

Voc se lembra?

Quantas vezes voc viu uma campanha sobre o lanamento de uma nova
gerao de microprocessadores? 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?

Organizao de Computadores

4.1 Componentes fundamentais para o


processamento
No captulo 1, vimos uma esquematizao bsica de um computador, como tambm a arquitetura de Von Neumann. Entendemos o computador como uma mquina que recebe instrues e dados, processa estes na
UCP com o auxlio do armazenamento de memria e, por fim, realiza a
sada aos dados.
Segundo Null e Lobur, a UCP responsvel por carregar instrues de programas, decodificar cada instruo carregada e realizar a sequncia indicada de operaes sobre os dados corretos (2010, p. 208).
Na UCP, h elementos fundamentais 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 especificao mais detalhada dos
seus elementos, os quais sero explicados a seguir.
Memria
Programa

Barramento
Dispositivo de E/S

rea de dados

1 010101 11001 101 01000 1 111


1 10 0 110 10001 1101 0001 1 101

.........................
rea de cdigo

Registro

110 0 110 10001 1101 0001 1 101


1 010101 11001 101 01000 1 111
1 10 0 110 10001 1101 0001 1 101

UAL

Un. de
Controle

Figura 1 Arquitetura de Von Neumann

Proibida a reproduo UniSEB

Fonte: http://pt.wikipedia.org/wiki/Arquitectura_de_von_Neumann#mediaviewer/
Ficheiro:Arquitectura_von_Neumann.png. Acesso em 24 jul. de 2014.

72

Registradores
So componentes de hardware que guardam dados binrios relativos a dados, endereos de memrias e informaes de controle. No
devem ser confundidos com os dispositivos de armazenamento do com-

Instrues e Processamento Captulo 4

putador, 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 (MONTEIRO, 2007). A arquitetura do processador designa a quantidade de registradores, tamanho de leitura, assim
como pode especificar funes especficas para cada registrador.
Unidade de Aritmtica e Lgica (UAL)
As operaes matemticas e de lgebra booleana que vimos anteriormente so executadas pela UAL.
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 registradores podem ser carregados com outro dados apenas
com a passagem de um ciclo do relgio (NULL & LOBUR, 2010).

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

Interfaces de Entrada e Sada (E/S)


A UCP recebe e disponibiliza dados por meio de dispositivos externos como mouses, teclados, microfones, scanners (entrada) ou telas, altofalantes, impressoras (sada), para citar alguns exemplos comuns. O sinais
entre UCP e esses dispositivos precisam ser devidamente formatados para
serem entendidos.
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.

73

Organizao de Computadores

4.2 Instrues de computador


4.2.1 Estrutura e tipos

Cada tipo de processador capaz de executar um determinado conjunto de instrues (MURDOCCA & HEURING, 2000). Esse fato ajuda a
explicar os problemas de compatibilidade entre arquiteturas de computadores, pois elas possuem conjuntos diferentes. Essas questes de compatibilidade tiveram e ainda tm consequncias importantes para usurios e
empresas do setor.

Proibida a reproduo UniSEB

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; LINZMAYER, 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 construdos 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).

74

Instrues e Processamento 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.

Figura 2 Steve Jobs anunciando a transio para processadores Intel (2005).

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

http://en.wikipedia.org/wiki/File:Steve_Jobs_
Presentation_1.jpg. Acesso em 24 jul. de 2014.

Segundo Stallings (2000), uma instruo deve possuir os seguintes


elementos de modo a fornecer toda a informao requerida para a execuo:
Cdigo da operao. A operao de adio, por exemplo, usualmente simbolizada por ADD.
Referncia aos operandos de entrada: dados
que sero processados, endereos de
O termo operando
memria, entre outros.
se refere a dados que sero
Referncia aos operandos de saobjeto de operaes de procesda: resultado da operao.
samento. Stallings (2002) classifica os
operandos em quatro tipos:
Endereo da instruo seNmeros. Exemplos.: inteiros, de ponto
guinte.
flutuante.
O quadro 4.1 sumariza os Caracteres: Exemplos.: alfabeto latino, chins,
smbolos especiais.
tipos principais de instrues. H
Dados
lgicos.
Exemplos: verdadeiro,
aquelas que envolvem operaes
falso.
lgicas e aritmticas como vimos no
Endereos de memria: regiscaptulo anterior. Porm h instrues
tros no disco rgido.
especficas que se referem a armazenamento e movimentao de dados, assim como

75

Organizao de Computadores

instrues ligadas ao prprio controle de instrues (MURDOCCA &


HEURING, 2000).

Tipo de instruo

Funo/Exemplos

Codificao
comum

Aritmtica / Lgica

Adicionar, subtrair, conjuno

ADD, SUB, AND

Movimentao de dados

Faz a transferncia de dados entre os registradores e a memria


principal ou entre o registradores
entre si: carregar, gravar, sada.

LOAD, STORE,
OUT

Transferncia de Controle

Chamar subrotinas, Desviar a


instruo do fluxo sequencial:
suspenso, desvia se igual.

HALT, JE

Quadro 4.1 Tipos Principais de Instrues


Fonte: adaptado de Murdocca & Heuring, 2000.

Proibida a reproduo UniSEB

4.2.2 Ciclo de instruo e interrupo

76

Monteiro (2007) ilustra um ciclo simplifica de instruo conforme a


figura 3. O prprio autor chama ateno que os computadores de hoje no
mais realizam uma instruo s por vez. O modelo atualmente empregado
usa o mtodo de pipelining, em que as instrues so executadas de forma
paralela. Por esse mtodo, as instrues so dividas em etapas, permitindo
que a UCP armazene e execute diversas instrues por vez. Outro ponto
positivo desse mtodo, que so armazenadas
continuamente etapas de instrues nos
registradores, evitando que se espere
Overflow aritmtico acontepara busc-las na memria princice quando o resultado matemtico
pal, um procedimento mais lento.
de uma operao ultrapassa o valor
designado
de memria e/ou o formato
Como desvantagem do pipelidesignado de sua varivel.
ning, est a maior complexidade
do controle da instrues, o que
pode implicar conflitos e problemas de fluxos de memria (MURDOCCA & HEURING, 2000).
O ciclo esquematizado na figura 3, ou qualquer ou ciclo que envolva
instrues, pode ser interrompido por causa
diversas (NULL & LOBUR, 2010):

Instrues e Processamento Captulo 4

Instrues de entrada e sada, como aquelas requisitadas pelo usurio.


(No ambiente Windows, possvel interromper processos por meio do
gerenciador de tarefas, acionado pela combinao CTRL+ALT+DEL)
Erros em operaes aritmticas: diviso por zero, overflow.
Problemas de hardware.
Instrues invlidas.
Incio
Busca
instruo na
memria
Interpretar a
operao a ser
realizada
Busca
operandos
(se houver)

Executar a
operao

Escrever o
resultado
Trmino

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

Figura 3 Ciclo de Instruo Bsico (MONTEIRO, 2007, p. 157).

4.3 Aspectos de arquitetura nos computadores


pessoais
At este momento, tratamos de modelos para instrues e para arquitetura de computadores. Nesta seo, vamos explorar aspectos mais
visveis em nossos computadores de uso cotidiano. Inicialmente, vamos
apresentar a funo da placa-me, que ajuda a entender a arquitetura do
computador em termos fsicos. Depois, vamos falar da linguagem de alto
nvel e um pouco sobre sistemas operacionais, que correspondem a aspectos prticos das instrues para o usurio.
77

Organizao de Computadores

4.3.1 Placa-me

Proibida a reproduo UniSEB

A placa-me realiza a comunicao


Como a placa-me
e d suporte fsico aos componentes
responsvel por transmitir
do computador. Essa comunicao
sinais eltricos entre componentes
eletrnicos, quaisquer fatores fsicos que
pode se referir quela entre os
prejudiquem a qualidade desse comunicao
componentes internos, ou entre
dificultar ou mesmo impedir o desempenho
esses componentes e interfaces
do computador, por exemplo: poeira, umidade e
maresia, oscilaes de energia (corrente/voltagem),
externas. Por meio da placa-me,
altas temperaturas e falta de ventilao.
o processador se comunica com
Algumas placas-me so banhadas a ouro para
a memria principal; esta se coprevenir a oxidao. Em todos os casos, recomenda-se realizar a manuteno preventiva
munica com a memria principal
da placa-me e no apenas a corretise comunica com dispositivos de
va, depois que problemas se
armazenamento secundrio; os resultamanifestaram.
dos de clculo so transmitido para a tela;
etc. Para tanto, as placas-me possuem conjuntos
de circuitos integrados (chipsets) que fazem a comunicao entre o processador, a memria e o controle de perifricos. (CORNACCHIONE, 2012).
Avanos na tecnologia dessas placas buscam prover uma melhor
ventilao e resfriamento, especialmente ao processador (CORNACCHIONE, 2012).

78

Figura 4 Placa-me
Disponvel em: <http://en.wikipedia.org/wiki/Mother_
board#mediaviewer/File:MicroATX_Motherboard_with_AMD_
Athlon_Processor_2_Digon3.jpg>. Acesso em 24 jul. de 2014.

Instrues e Processamento Captulo 4

Figura 5 Processador AMD


Disponvel em: <http://pt.wikipedia.org/
wiki/Placa-m%C3%A3e#mediaviewer/
Ficheiro:AMD-AthlonXP-1700.
jpg>. Acesso em 24 jul. de 2014.

Figura 6 Chipset
http://pt.wikipedia.org/
wiki/Chipset#mediaviewer/
Ficheiro:Southbridge.jpg
Acesso em 24 jul. de 2014.

4.3.2 Software e instrues

Como falamos antes, para usar os recursos de hardware voc precisar de software. Sem o software, seu hardware apenas ficar inerte. Por
meio do software, 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.

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

ADAPTADO DE (LAUDON E LAUDON, 2007)

Software aplicativo
Software de sistemas

Hardware

Software de Sistemas
Sistemas operacionais
Tradutores de linguagem
Programas utilitrios

Software Aplicativo
Linguagens de programao
Linguagens de quarta gerao
Pacotes de software e ferramentas
de produtividade para PCs

Figura 7 Principais tipos de software.

O software de sistema inclui os sistemas operacionais, os tradutores


de linguagem e os programas utilitrios. Os softwares aplicativos incluem
79

Organizao de Computadores

as linguagens de programao, as linguagens de quarta gerao e os pacotes de software.


Os softwares aplicativos com os quais temos mais contatos
so os pacotes de software. So ferramentas como sutes de aplicativos para escritrio, como o Office, da Microsoft. Incluem editores de
texto, planilhas eletrnicas, editores de apresentaes, dentre outros.
Um navegador para Internet, como o Internet Explorer, o Firefox ou o
Opera, um exemplo de software aplicativo tambm. Enfim, so softwares para utilizao do usurio final.
Estes softwares aplicativos foram construdos, de alguma maneira,
usando linguagens de programao. No entanto, o desenvolvedor, ao criar
um software, precisa cuidar de muitos detalhes de funcionamento. Isto
torna custoso o processo de desenvolvimento. Porm, este desenvolvedor
no precisa saber 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.

Proibida a reproduo UniSEB

4.3.2.1 Software de sistema

80

O software de sistema operacional aquele que conversa com o


hardware e manipula seus recursos. Ele sabe como escrever informaes na sada, seja um vdeo ou impressora. Ele tambm sabe como interpretar as informaes vindas da entrada, como o mouse e o teclado. Alm
disto, sabe como guardar estas informaes na memria e lev-las ao processador quando necessrio, para que as tarefas descritas por linguagens
de programao possam ser executadas e transformem-se em programas
teis aos usurios finais, como uma planilha de clculo, por exemplo.
por isto que, na figura vista, o sistema operacional fica prximo
do ncleo do computador, que o hardware. Ele traduz as necessidades
dos softwares aplicativos e, assim, os desenvolvedores tm mais facilidade para trabalhar.
Um sistema operacional de propsito geral (pois existem SOs para
atividades especficas) uma coleo de outros softwares que gerenciam
todos os dispositivos do computador. Em geral, ele possui os seguintes
componentes:
gerenciador (escalonador) de processos;
gerenciador de memria;

Instrues e Processamento Captulo 4

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

gerenciador de entrada e sada;


gerenciador de sistema de arquivos.
Um programa apenas um conjunto de instrues a serem realizadas, como uma receita. No entanto, o programa est escrito
numa linguagem de mquina, que o computador possa compreender.
Quando voc deseja usar este programa, ele se torna um processo para o
sistema operacional. Por isso, o SO possui um escalonador de processos.
Por meio dele, o SO consegue controlar os programas em execuo, manipular informaes para este processo, controlar os arquivos que este
processo est usando, dentre outros.
O gerenciador de memria atua no sistema operacional para garantir que cada processo tenha seu espao de trabalho reservado na memria RAM (a memria de trabalho). O gerenciador de entrada e sada
controla e manipula informaes que, por exemplo, entram pelo teclado,
digitadas pelo usurio, e devem ser escritas na tela do monitor. Alm
disso, tambm controlam dispositivos de armazenamento, como discos,
CDs, pen drives etc. J o gerenciador do sistema de arquivos garante a
manipulao de arquivos em dispositivos de armazenamento, cuida para
que os arquivos fiquem organizados e possam ser acessados.
Estes componentes do sistema operacional, normalmente, no so
visveis 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.

4.3.2.2 Tradutores de linguagem


Alm dos sistemas operacionais, temos tambm os softwares que fazem a traduo de linguagem e os softwares utilitrios. Os softwares de traduo convertem o cdigo escrito numa linguagem de programao (veja o
tpico seguinte) para a linguagem de mquina que ser compreendida pelo
hardware e usar recursos administrados pelo sistema operacional.
81

Organizao de Computadores

J os programas utilitrios so aqueles que auxiliam o usurio na


configurao e no gerenciamento do sistema operacional de seu computador. Um exemplo de programa utilitrio o Windows Explorer
para Windows. Trata-se de um gerenciador de arquivos que permite
ao usurio encontrar seus arquivos no computador, como na figura a
seguir.

Figura 8 Gerenciador de arquivos Windows Explorer

Voc j deve estar habituada a ela, no mesmo?

Proibida a reproduo UniSEB

Figura 9 Desfragmentador de Discos do Windows

82

Outra ferramenta que podemos citar o Desfragmentador de Discos, que serve para reorganizar
Conexo:
os arquivos que esto no disco rgido de maRecomendaes 3.2
neira a ocuparem menos espao.
Se voc quiser saber, detalhaAlm destes, existem diversas outras
damente, sobre o funcionamento
do sistema operacional, acesse:
ferramentas para auxiliar na configurao
<http://informatica.hsw.uol.com.
da rea de trabalho, no logon (entrada do
br/sistemas-operacionais.htm>.
usurio no sistema), no gerenciamento de
Acesso em 24 jul. de 2014.
recursos etc.

Instrues e Processamento Captulo 4

4.3.2.3 Linguagens de programao


Dentre os softwares aplicativos existentes, temos as linguagens de
programao, as chamadas linguagens de quarta gerao e os pacotes de
software e ferramentas de produtividade. Existem diversas linguagens de
programao famosas, como C, C++, Java, COBOL, Visual Basic, C#,
PHP, Python e muitas outras. A linguagem de programao serve para
representarmos as instrues que um programa deve realizar para alguma
tarefa. O computador entende apenas sinais eltricos. Como representamos a existncia (1) ou a ausncia (0) de sinal, a linguagem que o computador entende chamada de binria. Logo, se instruirmos o computador
por meio de uma linguagem binria, ele poder realizar a tarefa que desejamos.

100100100100100111
001100011111101011

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

Figura 10 O computador compreende a linguagem binria

No entanto, muito difcil escrever na linguagem do computador,


assim como muito difcil escrever em ingls ou em japons se voc no
conhece a fundo a linguagem! Mas, se precisamos dar estas instrues e
no sabemos a linguagem daquele que ser instrudo, ento podemos usar
algum intermedirio, por exemplo um tradutor.

???
Mostre um nmero
na sua tela.

Figura 11 O computador no compreende a linguagem de alto nvel


83

Organizao de Computadores

Esse intermedirio, o tradutor, precisa saber falar a sua linguagem


e a linguagem do computador. Assim, ele precisar converter o que voc
quiser para a linguagem de computador (o binrio!).

Mostre um nmero
na sua tela.

Compilador

100100100100100111
001100011111101011

Figura 12 O compilador traduz a linguagem de alto nvel para a linguagem binria

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).

4.3.2.4 Linguagens de quarto nCveC


As linguagens de quarta gerao consistem num conjunto de diversas ferramentas de software para auxiliar os usurios finais no desenvolvimento de softwares aplicativos sem necessitar
tanto de conhecimentos mais tcnicos. AlConexo:
gumas linguagens de programao, como
Recomendaes 3.3
Java e C++, so consideradas de quarta
Veja mais informaes sobre as
linguagens e suas geraes em:
gerao por no serem procedurais,
<http://pt.wikipedia.org/wiki/Linguagem_
mas sim orientadas a objetos. A tabela
de_programa%C3%A7%C3%A3o_de_
quarta_gera%C3%A7%C3%A3o>.
a seguir mostra sete tipos de lingua<http://pt.wikipedia.org/wiki/Linguagem_
gens de quarta gerao.
de_programa%C3%A7%C3%A3o>.

Proibida a reproduo UniSEB

Acesso em 24 jul. de 2014.

84

Instrues e Processamento Captulo 4

Ferramentas
de linguagem
Descrio
de quarta
gerao

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

Ferramentas
de software
de PC

WordPerfect
Pacotes de softwares de uso geral para Internet Explores
PCs.
Access

Linguagens para extrair dados armazeLinguagens de nados em arquivos ou bancos de dados.


consulta
Suportam requisies de informaes
que no so predefinidas
Extraem dados de arquivos ou bancos
de dados para criar relatrios especficos
sob uma grande variedade de formatos
que no so produzidos por sistemas de
Geradores de informao.
relatrios
Geralmente proporcionam maior controle
sobre a maneira como dos dados so formatados, organizados e apresentados do
que as linguagens de consulta.
Extraem dados de arquivos ou banco de
dados e os apresentam sob o formato
Linguagens
de grficos. alguns softwares geradogrficas
res de grficos tambm pode executar
operaes aritmticas ou lgicas com os
dados.
Contm mdulos pr-programados que
poderm gerar aplicaes completas, incluindo sites Web, conferindo grande veGeradores de locidade ao desenvolvimento. O usurio
aplicaes
pode especificar o que precisa ser feito e
o gerador de aplicao criar o cdigo de
programa apropriado para entrada, validao, atualizao e apresentao.
Programas de software vendidos ou arPacotes de
rendados por empresas comerciais que
softwares
eliminam a necessidade de software
aplicativos
personalizado, da casa.
Linguagens de
programao
de altssimo
nvel

Exemplo
Orientada
para o
usurio final

SQL

Cristal Reports

SAS Graph
Systat

FOCUS
PowerBuilder
Microsoft FrontPage

PeopleSoft HRMS
SAP R/3

Gerem cdigos de programa com um


nmero menor de instrues do que as
linguagens convencionais, como COBOL APL
ou FORTRAN. Projetadas primordial- Normad2
mente como ferramentas de produtividade para programadores profissionais.

85

Organizao de Computadores

Atividades
01. Quais causas podem acarretar o interrompimento de uma instruo?
02. O que so registradores e o que os diferenciam da memria de armazenamento?
03. Pesquise sobre a relao entre a Lei de Moore e os microprocessadores com ncleo mltiplos.
04. Pesquise sobre as linguagens de primeiro ao quinto nvel.

Reflexo

Por muito tempo, a capacidade dos processadores foi um limite


frequente para a microinformtica. Avanos em software e hardware frequentemente precisavam esperar uma nova gerao de microchips. Reflita
sobre o estado atual da microinformtica: so os microprocessadores hoje
um gargalo relevante para a maioria dos usurios? Caso contrrio, que
fator se tornou a principal fronteira da microinformtica?

Leitura Recomendada

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.

Proibida a reproduo UniSEB

CORNACCHIONE JR., E. B. Informtica. So Paulo: Atlas, 2012.

86

LAUDON, K. C. e LAUDON, J. P. Sistemas de Informacao Gerenciais. Sao Paulo: Prentice Hall. 2007.
LASHINSKY, A. Nos Bastidores da Apple. So Paulo: Saraiva, 2012.

Instrues e Processamento Captulo 4

LINZMAYER, O. W. Apple Confidential 2.0 The definitive history


of the worlds most colorful company. So Francisco: No Starch,
2004.
MONTEIRO, M. A. Introduo Organizao de Computadores. 5a
ed. So Paulo: LTC, 2007.
MURDOCA, M. J.; HEURING, V. P. Introduo Arquitetura de
Computadores. Rio de Janeiro: Campus, 2001.
NULL, L.; LOBUR, J. Princpios Bsicos de Arquitetura e Organizao de Computadores. 2a ed. Porto Alegre: Bookman, 2010.
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/SB100014241278873246195045790313004
09638802>. Acesso em: 15 jun. 2014.
STALLINGS, W. Arquitetura e Organizao de Computadores. So
Paulo: Prentice Hall, 2002.

No prximo captulo

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

No prximo captulo, vamos entender como funciona o sistema de


memria e as suas operaes com a UCP. Ainda, vamos explorar os dispositivos de entrada e sada.

87

Organizao de Computadores

Proibida a reproduo UniSEB

Minhas anotaes:

88

Memria e
Dispositivos de
Entrada e Sada

Cap

t u

lo

No captulo anterior, vimos como a UCP


precisa ter dados e instrues disponveis 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 registradores se caracterizam pela rapidez com que se comunicam
com o processador, 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 principais de memria e como se d a sua inter-relao.
Tambm discutiremos as interfaces de entrada e sada.

Objetivos da sua aprendizagem:

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.

Voc se lembra?

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 prejudicado por problemas relacionados a armazenamentos de dados?

Organizao de Computadores

5.1 Memria
5.1.1 Hierarquia

Os diversos tipos de memria so definidos em termos da sua relao


com a UCP. Quanto mais direta for essa relao, considera-se maior a sua posio hierrquica. H diversas formas de ilustrar essa hierarquia, a figura 1
baseada na verso de Stallings (2002) e Murdoca & Heuring (2000).
Deve-se notar que discos rgidos so considerados como armazenamento externo ou secundrio. Apesar de possurem uma interface com a
placa-me, essa relao no to direta e veloz quanto aquela da memria
interna UCP. Durante o funcionamento da UCP, primeiro se verifica se
o dado necessrio est ou no na memria interna. Em caso contrrio,
acionado o armazenamento externo e assim por diante.
Mais rpida e cara

Memria
Interna
Armazenamento
Externo (disco)

Armazenamento de Segurana
(tas)
Mais lenta e barata
Figura 1 Hierarquia da Memria

Proibida a reproduo UniSEB

Fonte: Adaptado de Stallings (2002, p. 100) e Murdoca & Heuring (2000, p. 225).

90

Deve-se notar que quanto mais alto estiver na hierarquia, mais custoso tende a ser o dispositivo. Assim, um projeto de computador deve balancear os benefcios trazidos pela capacidade da memria interna face a
seus custos. Ainda, deve haver um balanceamento adequado na velocidade dos componentes 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).

Memria e Dispositos de Entrada e Sada Captulo 5

5.1.2 Caractersticas dos dispositivos de memria

O quadro 5.1 sumariza as caractersticas fundamentais dos componentes de memria, as quais sero exploradas ao longo deste captulo. A
caracterstica de localizao reflete a hierarquia discutida anteriormente.
Quanto unidade de transferncia, sabemos do captulo 2 que os processadores e certos dispositivos de memria leem e transferem dados em tamanho fixo, da uma das diferenas entre computadores de 16 ou 32 bits.
Quanto aos mtodos de acesso que os dispositivos utilizam para localizar
e dispor dados, a figura 2 sumariza os tipos principais.
Caracterstica

Tipos principais

Localizao

No processador (registradores), interno, externo.

Capacidade

Tamanho da palavra (16, 32 bits), nmero de palavras.

Unidade de transferncia

Palavra (16, 32 bits), blocos (nas memrias externas,


as transferncias se do por blocos consideravelmente
maiores do que as palavras).

Acesso

Sequencial, direto, aleatrio, associativo.

Desempenho

tempo de acesso, tempo de ciclo e taxa de transferncia.

Tecnologia

semicondutores, tico, magntico.

Caracterstica fsica

voltil ou no, apagvel ou no.

Quadro 5.1 Caractersticas Fundamentais dos Componentes de Memria


Fonte: adaptado de Stallings (2002)

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

Sequencial

registros organizam dados.


o acesso segue um sequenciamento linear.
Exemplo: tas.

Direto

registros tambm organizam dados.


cada registro possui endereo nico.
Exemplo: discos.

Aleatrio

endereamento nico e sicamente


dedicado de cada posio.
Exemplo: memria RAM.

Associativo

a busca orientada pelo contedo, no


pelo endereo.
Exemplo: alguns tipos de memria cache.

Figura 2 Mtodos de Acesso Memria


Fonte: Stallings (2002)
91

Organizao de Computadores

Como a qualidade dos sistemas computacionais depende do desempenho dos seus dispositivos de memria, importante termos mtodos
para avali-los. Stallings identifica trs fatores fundamentais:
Tempo de acesso: na memria que no usa o acesso aleatrio, esse
tempo corresponde quele gasto para o posicionamento da leitura ou
da escrita na localizao desejada. J para as memrias de acesso aleatrio, esse fator equivale diretamente ao tempo gasto para o procedimento de leitura ou escrita.
Tempo de ciclo de memria: intervalo requerido para que um acesso
possa suceder o outro. Fator que se aplica mais a memrias de acesso
aleatrio.
Taxa de transferncia: taxa em que os bits podem ser deslocados no
dispositivo de memria. Para as memrias de acesso aleatrio, essa
taxa corresponde ao inverso do tempo de ciclo. Para memrias de
acesso no aleatrio, tem-se a relao:
R=

N
T T a

Onde: R = taxa de transferncia em bits por segundo (bps)


N: nmero de bits.
TN: tempo mdio para ler ou escrever uma quantidade N de bits.
Ta: tempo mdio de acesso.

Proibida a reproduo UniSEB

Alm dos fatores acima, importante levar em considerao a taxa


de acerto (NULL & LOBUR, 2010). Essa taxa reflete quantas vezes o
dado requerido esteve no nvel especificado da memria em relao ao
total de requisies.

92

Memria e Dispositos de Entrada e Sada Captulo 5

5.1.3 Memria principal

Registradores

Memria Cache

Memria Principal
Figura 3 Diviso da Memria Interna
Fonte: Adaptado de Stallings (2002, p. 100) e Murdoca & Heuring (2000, p .225)

Como mostra a figura 3, a memria interna tambm subdivida em


termos de comunicao com a UCP. Vamos caracterizar inicialmente a
memria principal para depois tratar da memria cache.
Memria
Principal

UCP

Barramento
Figura 4 Relao entre UCP e Memria Principal

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

Adaptado de Murdoca & Heuring (2000, p .235)

Retomando o modelo de Von Neumann, a UCP precisa ser alimentada rpida e diretamente com dados e instrues (figura 4). Essa a funo
da memria principal. Para que a memria funcione com a UCP, preciso
haver uma integrao de registradores, mecanismos de controle e o barramento (MONTEIRO, 2007), tal como resume o quadro 5.2.

93

Organizao de Computadores

Elemento

Funo

Registrador de endereo (REM)

armazena temporariamente o endereo a


ser acessado.

Barramento de endereos

transmite dados do REM para a memria


principal (unidirecional).

Registrador de dado (RDM)

armazena de forma temporria o dado a


ser transferido.

Barramento de dados

faz a ligao entre o RDM e a memria


principal (bidirecional)

Controlador da memria

integra a unidade de controle: sinaliza


instrues e avalia o estado de execuo
das operaes de memria integrando
toda a UCP.

Barramento de controle

comunica os sinais relativos ao controle


no sistema.

Relgio

sincroniza o sistema.

Quadro 5.2 Elementos para Operaes de Memria

Proibida a reproduo UniSEB

Fonte: adaptado de Monteiro (2007)

94

A partir dos componentes


acima, podemos descrever as
duas operaes bsicas da
Em linguagens de programao
como
C++, um ponteiro armazena o enmemria: leitura e escrita.
dereo da posio de um dado na memria,
Na operao de leitura teservindo para referenci-lo (PIVA JR. et al,
mos a sequncia descrita
2012).
na figura 5. Perceba que
h trs tipos comunicaes
envolvidas: o endereo do
dado, os sinais de controle
de instruo e, por fim, o dado
em si. Nessa operao, o comeo
depende da indicao do endereo da
Conexo:
memria onde est o dado a ser acessado.
Conhea como funciona uma
J na operao de escrita, indicado o
data center do Google (h opo
de legenda em portugus).
endereo onde o dado deve ser gravahttps://www.youtube.com/
do. De qualquer forma, as trs formas
watch?v=avP5d16wEp0
de comunicao pelo barramento tamAcesso em 24 jul. de 2014.
bm so usadas.

Memria e Dispositos de Entrada e Sada Captulo 5

Incio
A UCP envia ao REM o endereo
na memria do dado a ser lido
(barramento de endereos)
sinalizada a operao de leitura
no barramento de controle.

O dado transferido e armazenado


no RDM (barramento de dados)

Do RDM, o dado transmitido para


outro registrador na UCP.
Trmino

Figura 5 Esquematizao da operao de leitura.


Adaptado de DELGADO e RIBEIRO (2009).
Incio
A UCP envia ao REM o endereo na
memria onde o dado ser gravado
(barramento de endereos)

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

sinalizada a operao de escrita


no barramento de controle.

O dado transferido e armazenado


no RDM (barramento de dados)

Do RDM, o dado transmitido para


o endereo designado.
Trmino

Figura 6 Esquematizao da operao de leitura.


Adaptado de DELGADO e RIBEIRO (2009).
95

Organizao de Computadores

5.1.4 Memria RAM

Figura 7 Modelos diferentes de memria RAM.


Disponvel em: <http://pt.wikipedia.org/wiki/
RAM#mediaviewer/Ficheiro:RAM_n.
jpg>. Acesso em 24 jul. de 2014.

Proibida a reproduo UniSEB

A Memria RAM
voltil, ou seja, seus dados deixam de ser armazenados na ausncia
de energia. Para que um computador receba
Nos computadores conveninstrues bsicas sem depender da RAM,
criou-se
uma memria de apenas leitura (ROM,
cionais, o papel da memria princiread-only memory) que no voltil. Embora
pal desempenhado pela memria
existam alguns dispositivos de ROM que podem
RAM e parcialmente pela memria
ser reprogramados, a funo principal deles ainda
manter um conjunto essencial de dados para
ROM. Como vimos no captulo 1,
leitura. Em sistemas embutidos, como
a memria RAM (memria de aceseletrodomsticos, brinquedos e equipamenso randmico) serve para armazenar
tos mdicos, a memria ROM possui
uma importncia maior (NULL &
dados de trabalho do processador. Nas
LOBUR, 2010).
especificaes de computadores comer-

96

ciais, a capacidade da memria RAM recebe


destaque. Quando lanado em 1977, o Apple II tinha
uma memria RAM de 4Kb expansvel at 48
Conexo:
Kb apenas (LINZMAYER, 2004), j em 2014,
Saiba mais sobre Memria RAM:
um iMac podia chegar ter at 32G (APPLE,
http://e.cdn-hardware.com.br/
2014). Nas placas-me dos computadores
static/media/RevistaGDH_04.pdf
pessoais, geralmente h slots livres para que
Acesso em 24 jul. de 2014.
outros circuitos de RAM possam ser adicionados, j em dispositivos mveis isso mais raro.

Memria e Dispositos de Entrada e Sada Captulo 5

Figura 8 iMac.
Disponvel em: <http://commons.wikimedia.org/wiki/
IMac#mediaviewer/File:IMac_vector.svg>.

O quadro 5.3 relaciona os principais tipos de memria RAM. Devese destacar aquelas de tipo sncrono, que trabalham sem atraso (delay)
com o processador (CORNACCHIONE, 2012). Outra diferena importante reside nas memrias 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).
Categoria Geral

Tipo
DRAM (Dynamic RAM)

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

FPM DRAM (Fast Page Mode DRAM)

Principal

EDO DRAM (Extended Data Out DRAM)


SDRAM ( Synchronous DRAM)
MDRAM (Multibank DRAM)

Cache

SPRAM (Static RAM)


VRAM (Vdeo RAM)

Vdeo

SGRAM (Synchronous Graphics RAM)


WRAM (Window RAM)

Quadro 5.3 Tipos principais de memria RAM


Fonte: Cornacchione (2012, p. 45)
97

Organizao de Computadores

5.1.5 Memrica Cache

A UCP processa dados em velocidade consideravelmente maior do


que os mesmos so transferidos entre a memria principal (STALLINGS,
2002). Por isso, o acesso memria pode frequentemente se tornar um
gargalo do sistema. A 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 poderia 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
Principal

Cache

Barramento
Figura 9 Relao entre UCP e Memria Principal
Adaptado de Murdoca & Heuring (2000, p. 235)

Proibida a reproduo UniSEB

O desafio para que a memria cache seja eficiente que haja um


bom mapeamento 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).

98

H algum tempo, o armazenamento secundrio era sinnimo de


discos magnticos, como os disquetes e o disco rgido do computador
pessoal. Este ltimo consiste na verdade em uma srie de discos empilhados em uma estrutura a vcuo. Em comum com os disquetes, est
a presena de partes mveis e dependncia de um cabeote para fazer
a leitura dos dados. Essas caractersticas acarretam alguma fragilidade
desses sistemas em relao a choques e esse um dos motivos, alm
da relativa lentido, para que as memrias em estado slido (semicondutores) tenham passado a encontrar mais uso, inclusive como armazenamento secundrio em laptops (NULL & LOBOUR, 2011).

Memria e Dispositos de Entrada e Sada Captulo 5

5.2 Dispositivos de entrada e sada E/S

Um computador no processa dados como um fim de si mesmo. Os


usurios precisam indicar que instrues e dados querem processar e os
mesmos usurios devem receber o resultado do processamento. Essa comunicao se d pelos sistemas de entrada e sada (E/S), ou, em ingls, In
and Out (I/O) (DELGADO & RIBEIRO, 2009). No se trata aqui apenas
de transmisso de dados, deve-se ressaltar, mas da prpria experincia
que o usurio ter com o dispostivo. Smartphones e tablets com tela multitoque ultrapassaram os computadores pessoais como objetos de consumo justamente por oferecem uma experincia nica quanto interface.
As arquiteturas dos computadores devem fornecer no s portas
fsicas para os dispositivos de E/S, mas um mapeamento de memria
adequado e programao de baixo nvel para comunicao, tal como em
drivers. Como salienta Monteiro (2007), mouses, teclados, vdeos, microfones possuem formas de sinais e velocidades muito distintas. Alm disso,
tais dipositivos no so sincronizados pelo relgio da UCP. Na figura 10,
temos um exemplo de arranjo entre UCP, memria pricipal (MP) e dispositos perifricos (P1, P2 e P3) por meio de uma interface E/S. Lembrando
que cabe ao controle implementar as operaes de leitura e escrita, alm
de monitorar o estado de sua execuo.
UCP
Memria Principal
Endereo

Controle

Dados

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

Controlador E/S

P1

P2

P3

Figura 10 Exemplo de arranjo entre UCP, MP, E/S e perifricos


Fonte: Adaptado de Monteiro (2007, p. 343)

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 (MONTEIRO, 2007).
99

Organizao de Computadores

5.3 Tipos de Computadores

A seguir sero apresentados brevemente os tipos principais de computadores. Busque identificar para cada um deles, a partir do texto e de
pesquisa, quais so os dispositivos de entrada e de sada.

5.3.1 Computadores pessoais

So os chamados computadores de mesa (desktop) ou microcomputadores. Esta linha de computadores usada para tarefas rotineiras,
domsticas ou em escritrios. Uma variao deste tipo de computador que
usada para servios mais avanados so as estaes de trabalho (workstations). So PCs com configurao muito mais robusta.
GOCE / DREAMSTIME.COM

Figura 11 Uma Workstation PC

Proibida a reproduo UniSEB

5.3.2 Notebooks

100

Estes computadores so mais leves, projetados para o uso porttil.


Equipados com bateria com boa durao, so usados em viagens ou em
qualquer lugar. Atualmente 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 chamados netbooks. Planejados para portabilidade e
navegao na Internet em qualquer 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.

Memria e Dispositos de Entrada e Sada Captulo 5

KMTHEMAN / DREAMSTIME.COM

Figura 12 Um notebook versus um netbook

5.3.3 Computadores handheCd

O handheld, tambm chamado de PDA (Personal Digital Assistant),


foi criado originalmente para controlar agendas de compromissos, informaes pessoais, catlogo de endereos e telefones. Geralmente acessados por
meio de uma caneta grfica, possuem tela sensvel ao toque, sendo possvel
escrever sobre ela.
Estes computadores evoluram e passaram a ter suas funcionalidades integradas em celulares, surgindo o chamado smartphone. Um smartphone basicamente um celular com funes de um PDA.

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

YOSHIKAZU TSUNO / AFP

HYSIDE / DREAMSTIME.COM

DAVIDARTS / DREAMSTIME.COM

Um dos smartphones mais procurados e mais desejados desde o seu


lanamento o Iphone, da Apple.

Um computador ultraporttil, o popular IPhone e um handheld da Compac.

101

Organizao de Computadores

5.3.4 Supercomputadores

So os mais caros e mais poderosos computadores. Usados para


grandes simulaes, como previso do tempo, anlise do mercado de
aes, efeitos especiais em produes cinematogrficas. Tambm so
muito usados por rgos do governo para tarefas que envolvam gigantesca manipulao de dados.
LEROY N. SANCHEZ, RECORDS MANAGEMENT / MEDIA SERVICES AND OPERATIONS / WIKIMEDIA

Figura 13 Supercomputador RoadRunner

Atividades
01. Qual a diferena das memrias RAM e ROM?
02. Uma operao de leitura de memria envolve no mnimo quantos registradores?
03. O que a memria cache?
04. Qual a diferena entre o mtodo de acesso direto e por associao?

Proibida a reproduo UniSEB

05. Qual a relao entre o processador e a memria RAM?

102

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 natureza muito prxima e int-

Memria e Dispositos de Entrada e Sada Captulo 5

ma 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?

Leitura recomendada

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.
CORNACCHIONE JR., E. B. Informtica. So Paulo: Atlas, 2012.
DELGADO, J.; RIBEIRO, C., Arquitetura de Computadores, 2 edio, LTC, , 2009.

EAD-14-Organizao de Computadores Proibida a reproduo UniSEB

LAUDON, K. C. e LAUDON, J. P. Sistemas de Informacao Gerenciais. Sao Paulo: Prentice Hall. 2007.
LINZMAYER, O. W. Apple Confidential 2.0 The definitive history
of the worlds most colorful company. So Francisco: No Starch,
2004.
MONTEIRO, M. A. Introduo Organizao de Computadores.
5a ed. So Paulo: LTC, 2007.
MURDOCA, M. J.; HEURING, V. P. Introduo Arquitetura de
Computadores. Rio de Janeiro: Campus, 2001.
NULL, L.; LOBUR, J. Princpios Bsicos de Arquitetura e Organizao de Computadores. 2a ed. Porto Alegre: Bookman, 2010.
103

Organizao de Computadores

PIVA JR., D.; NAKAMITI, G. S.; ENGELBRECHT, A. M.; BIANCHI, F. Algoritmos e Programao de Computadores. Rio de Janeiro: Elsevier, 2012.

Proibida a reproduo UniSEB

STALLINGS, W. Arquitetura e Organizao de Computadores.


So Paulo: Prentice Hall, 2002.

104

Potrebbero piacerti anche