Você está na página 1de 96

Recife, 2009

Infraestrutura de Hardware
Juliana Regueira Basto Diniz
Abner Corra Barros
Volume 1
Universidade Federal Rural de Pernambuco
Reitor: Prof. Valmar Corra de Andrade
Vice-Reitor: Prof. Reginaldo Barros
Pr-Reitor de Administrao: Prof. Francisco Fernando Ramos Carvalho
Pr-Reitor de Extenso: Prof. Paulo Donizeti Siepierski
Pr-Reitor de Pesquisa e Ps-Graduao: Prof. Fernando Jos Freire
Pr-Reitor de Planejamento: Prof. Rinaldo Luiz Caraciolo Ferreira
Pr-Reitora de Ensino de Graduao: Prof. Maria Jos de Sena
Coordenao Geral de Ensino a Distncia: Prof Marizete Silva Santos
Produo Grca e EditoriaI
Capa e Editorao: Allyson Vila Nova, Rafael Lira, Italo Amorim, Arlinda Torres e Heitor Barbosa
Reviso Ortogrfca: Marcelo Melo
Ilustraes: Allyson Vila Nova, Diego Almeida e Moiss de Souza
Coordenao de Produo: Marizete Silva Santos
Sumrio
Conhecendo o Volume 1 ................................................................................. 4
Apresentao ...................................................................................................5
Captulo 1 Modelo de um Sistema Computacional .................................... 7
Captulo 2 Conhecendo Melhor as Operaes Aritmticas .................... 22
Captulo 3 Lgica Digital ............................................................................ 75
Consideraes Finais .................................................................................... 94
Conhea os Autores ...................................................................................... 96
Conhecendo o Volume 1
Neste primeiro volume, voc ir encontrar os contedos referentes ao Mdulo 1 da
disciplina Infraestrutura de Hardware. Para facilitar seus estudos, veja os contedos
encontrados neste primeiro volume.
Mdulo 1 - Introduo aos Sistemas Computacionais
Carga horria: 15 h
Objetivo Principal do Mdulo 1:
Apresentar um sistema computacional, separando todos os seus subsistemas
internos que sero estudados nos prximos mdulos. Alm disso, apresenta
um breve histrico da evoluo dos computadores e os conceitos associados
aritmtica computacional e operao dos circuitos lgicos digitais.
Contedo Programtico do Mdulo 1
Modelo de um sistema de computao.
Evoluo dos Computadores
Operaes Aritmticas
Circuitos Lgicos
Apresentao
Caro(a) Cursista,
Estamos, neste momento, iniciando uma viagem para conhecer a Organizao
e a Arquitetura interna dos computadores, ou seja, conheceremos os principais
componentes eletrnicos que formam um computador, os circuitos integrados, e como
estes componentes se relacionam entre si. Todos os assuntos abordados neste livro
estaro, de certa forma, relacionados estrutura e ao funcionamento de computadores,
sobretudo do ponto de vista de Hardware. Por meio desta disciplina, apresentaremos a
natureza e as caractersticas dos sistemas de computao modernos.
Nosso estudo ser uma tarefa interessante e desafadora, principalmente porque
contamos hoje no apenas com uma grande variedade de computadores, mas com uma
grande variedade de equipamentos eletrnicos que executam algum tipo de computao.
Essa variedade de produtos difere em custo, tamanho, desempenho e tipo de aplicao
a ser utilizado. Alm disso, observamos uma rpida evoluo na tecnologia, que se
estende desde circuitos integrados at a combinao desses componentes.
Mesmo diante de uma rpida evoluo, certos conceitos aplicam-se a qualquer
projeto de computadores. O objetivo desta disciplina oferecer uma discusso sobre
esses conceitos, relacionando-os com as questes de projetos modernos.
Bons estudos!
Juliana Regueira Basto Diniz
Abner Correa Barros
Professores Autores
6
Infraestrutura de Hardware
Captulo 1
O que vamos estudar?
Neste captulo, vamos estudar os seguintes temas:
Funes do Computador
Componentes do Computador
Evoluo histrica dos Computadores
Metas
Aps o estudo deste captulo, esperamos que voc consiga:
Compreender que funes bsicas so desempenhadas pelos
computadores;
dentifcar que componentes e subsistemas so necessrios na
organizao interna dos computadores para que os mesmos
possam desempenhar as suas funes bsicas;
Conhecer a evoluo histrica da informtica, desde o primeiro
computador eletrnico at as mquinas mais modernas da
atualidade.
7
Infraestrutura de Hardware
Captulo 1 Modelo de um
Sistema Computacional
Vamos conversar sobre o assunto?
Estamos, neste momento, iniciando o estudo de uma das reas
mais importantes da computao, a infraestrutura de hardware. Sem
a evoluo do hardware e dos seus componentes eletrnicos, toda a
disseminao da informtica, como vemos hoje, no seria possvel.
Talvez at este momento voc nunca tenha parado para pensar o
quanto somos dependentes desta tecnologia. Voc consegue imaginar
a sua vida, nos dias atuais, sem o uso dos computadores? Imagine
como seria este nosso curso sem o uso dos computadores. Seria, no
mximo, um curso por correspondncia acompanhado por algum tipo
de programa televisivo, como acontecia com os cursos a distncia no
passado, ou seja, no seria possvel a sua interao com professores
nem colegas.
Todos somos testemunhas do quo rpido a informtica evoluiu
e passou a fazer parte da nossa vida nestes ltimos anos. Em
praticamente todos os recursos da vida moderna existe algum sistema
computadorizado. Toda esta evoluo, entretanto, no seria possvel
sem os avanos formidveis ocorridos na arquitetura de hardware dos
computadores em geral.
Mas, por falar em evoluo das arquiteturas, voc sabe o que
vem a ser e como constituda a arquitetura de hardware de um
computador?
A arquitetura de computadores a rea da cincia que se preocupa
em estudar os atributos dos Sistemas Computacionais que so visveis
aos profssionais que iro programar estes equipamentos, ou seja, a
estrutura e o comportamento funcional da mquina. Esses atributos,
conforme veremos mais a frente, tm impacto direto sobre a lgica de
construo e execuo dos programas.
Em paralelo arquitetura de computadores, estudaremos tambm
a organizao dos sistemas computacionais. A organizao dos
computadores refere-se ao estudo dos aspectos no visveis ao
8
Infraestrutura de Hardware
programador, ou seja, assuntos referentes organizao dos fuxos
de dados, projeto de controle lgico e a implementao fsica, que
iro atendem s especifcaes da arquitetura.
Em termos prticos, so considerados aspectos da arquitetura dos
computadores o conjunto de instrues de uma mquina, o nmero de
bits do processador, os mecanismos associados aos perifricos e as
tcnicas de endereamento da memria. So aspectos da organizao
de computadores os Sinais de controle, a interface computador/
perifrico, a tecnologia de memria utilizada, dentre outros.
Figura 1 Como um computador trabalha?
Em sntese, muitos fabricantes oferecem uma famlia de modelos de
computadores, todos com a mesma arquitetura, mas com diferenas
na organizao, com preos e caractersticas de desempenho
distintas. Tomemos como exemplo o Sistema 370 da IBM, uma
arquitetura introduzida em 1970, com grande nmero de modelos.
Um cliente modesto poderia comprar um modelo inferior e, caso sua
demanda aumentasse, poderia migrar para um modelo superior.
Como todos os computadores desta famlia adotavam uma mesma
arquitetura de hardware, uma eventual troca de um computador por
um outro maior no o obrigaria a abandonar as aplicaes que j
tivessem sido desenvolvidas para o seu primeiro computador. Ao longo
dos anos, a IBM continuou introduzindo modelos novos, mantendo a
mesma arquitetura, preservando assim o investimento em software
dos clientes.
Um outro exemplo, mais prximo da realidade de cada um de
ns, so os nossos computadores pessoais, os famosos PCs. Voc
9
Infraestrutura de Hardware
j percebeu que com o passar dos anos foi mantida uma certa
compatibilidade entre as diversas geraes deste tipo de computador?
Esta compatibilidade se deve ao fato de todos adotarem a arquitetura
Intel X86. por esta razo que mesmo aquele seu programa antigo,
de dez ou quinze anos atrs, ainda poder ser executado sem muitos
transtornos nos computadores atuais. Como voc pode perceber,
manter uma mesma arquitetura entre diversas geraes de uma
famlia de computadores permite manter a compatibilidade de cdigo.
A organizao interna de um computador, por outro lado, muda
de uma mquina para outra dentro da mesma famlia. ela que em
grande parte defne as caractersticas de tamanho, desempenho,
robustez e preo dos computadores. Ou seja, enquanto uma
arquitetura pode sobreviver por anos, a organizao muda com a
evoluo da tecnologia.
1.1 Funes do Computador
Se, por um lado, um computador pode ser considerado um sistema
complexo, com milhes de componentes eletrnicos, por outro lado,
tambm podemos consider-lo um sistema hierrquico, constitudo
por vrios sub-sistemas interrelacionados. Em cada um desses
nveis da hierarquia, devemos considerar a Funo e a Estrutura. A
funo diz respeito operao de cada componente como parte da
estrutura. A estrutura refere-se ao modo como os componentes esto
interrelacionados.
Dentre as funes bsicas realizadas pelo computador podemos
citar:
Processamento de dados: Um computador deve ser capaz de
processar dados. Dados estes com uma grande variedade de
tipos e amplos requisitos de processamento.
Armazenamento de dados: essencial que um computador
seja capaz de armazenar dados. Esse armazenamento pode
ser temporrio ou por perodos longos, para subsequente
recuperao e modifcao.
Movimentao de dados: Um computador deve ser capaz
de transferir dados tanto internamente, quanto com o mundo
externo. Dados podem ser enviados ou recebido de dispositivos
diretamente conectados ao computador. Esse processo
10
Infraestrutura de Hardware
conhecido como entrada e sada (E/S) e o dispositivo que
esta recebendo ou enviando estes dados conhecido como
perifrico.Quantos perifricos de computador voc conhece?
Que tal o disco rgido, o pendrive e o leitor de DVD? Quando
essa transferncia se d entre o computador e um dispositivo
externo, que esteja a uma distncia maior, este processo
conhecido como comunicao de dados.
Controle: Deve existir um controle das trs funes abordadas.
Em ltima instncia, o controle exercido pelo indivduo que
fornece instrues ao computador. Num sistema de computao,
uma unidade de controle gerencia os recursos do computador
e rege o desempenho de suas partes funcionais em resposta a
essas instrues.
Dessa forma, o computador pode funcionar como um dispositivo
de transferncia de dados de um perifrico para outro. Tambm
pode funcionar como um dispositivo de armazenamento de dados,
sendo os dados transferidos do ambiente externo para a memria
(leitura) e vice-versa (escrita). Podem ainda processar estes dados,
sendo capazes de transferir o resultado deste processamento para o
ambiente externo.
1.2 Componentes do Computador
Agora que voc j conhece quais so as principais funes de
um computador, j est apto a compreender quais so os principais
componentes que permitem a viabilizao de tais funcionalidades.
So eles:
Central de Processamento, tambm conhecido como
processador ou CPU (do ingls Central Processing Unit), tem
a responsabilidade de controlar as operaes do computador e
realizar as funes de processamento de dados.
Subsistema de Memria, compreende todos os meios de
armazenamento para os programas e para os dados dos
programas existentes no computador.
Subsistema de Entrada e Sada (E/S), tem a funo de
transferir dados entre o computador e o ambiente externo.
Subsistema de Interconexo, composto pelos Mecanismos
11
Infraestrutura de Hardware
que estabelecem a comunicao entre a CPU, memria
principal e dispositivos de E/S.
Tais componentes so observados na Figura 2. Neste livro,
estudaremos cada um dos subsistemas internos ao computador,
iniciando pela parte responsvel pelo processamento de dados, ou
seja, a CPU.
Figura 2 Componentes internos
Central de Processamento - CPU
A CPU pode ser considerado o crebro do computador, sendo
responsvel pela execuo de todas as tarefas e pelo processamento
de dados. Todas as operaes aritmticas e lgicas existentes em um
programa de computador so executadas por ela. Uma CPU pode
ser composta por um ou vrios processadores, os quais podem estar
juntos em um mesmo componente, formando o que fcou conhecido
como processador multi-core, uma expresso inglesa que signifca
literalmente multi-ncleo, neste caso cada processador considerado
um ncleo de processamento, ou separados, cada processador
em um componente distinto. Em ambos os casos dizemos que o
sistema multiprocessado. Como veremos mais a frente, nos dois
casos o objetivo aumentar a capacidade de processamento do
computador permitindo que vrias operaes possam ser executadas
simultaneamente pelos diversos cores da CPU. A Figura 3 a seguir nos
traz uma foto do processador Athlon X2, que possui internamente dois
12
Infraestrutura de Hardware
processadores de 32 bits, sendo portanto da categoria dual-core.
Figura 3 Processador Athlon X2
Os processadores possuem vrios componentes internos,
conforme observado na Figura 4. Podemos subdividir a CPU nos
seguintes componentes internos:
Unidade de controle: A unidade de Controle, como o prprio
nome sugere, controla cada operao da CPU e, portanto, do
computador. Ela responsvel por decodifcar as instrues
presentes no programa em execuo emitindo sinais de controle
para as demais partes do computador.
Unidade lgica e aritmtica (ULA): A ULA responsvel
por executar as funes de processamento de dados do
computador, realizando as operaes aritmticas e lgicas
presentes no programa.
Registradores: Os registradores fornecem espao de
armazenamento interno para a CPU, servindo como uma
memria de acesso ultra-rpido.
Interconexo da CPU: As interconexes da CPU so os
elementos que possibilitam a comunicao entre a unidade de
controle, a ULA e os registradores.
13
Infraestrutura de Hardware
Figura 4 Componentes internos a CPU
Agora que voc j foi apresentado(a) aos subsistemas do
computador, que tal conhecermos um pouco mais sobre a evoluo
dos computadores? Para os computadores chegarem at os dias
atuais em termos de organizao e arquitetura de hardware muita coisa
foi modifcada. Nesse sentido, na prxima seo, a nossa proposta
ampliar as discusses sobre a evoluo dos computadores. Vamos
l?
1.3 Evoluo dos Computadores
As mquinas, sobretudo os computadores, foram criados para
auxiliar o trabalho humano. Muitas das suas tarefas se baseiam
na construo de algoritmos que visam simular aes do crebro
humano. Podemos fazer uma rpida comparao para constatar que
os seres humanos so capazes de se adaptar a novas situaes e
a aprenderem com os seus erros. J as mquinas so capazes de
executar tarefas repetidamente, com rapidez, sem sofrer de monotonia
e com perfeio. As mquinas tambm tm capacidade de armazenar
14
Infraestrutura de Hardware
grandes volumes de dados e informaes.
O primeiro computador eletrnico da histria surgiu em 1946,
fabricado pela Universidade da Pensilvnia e chamava-se ENIAC
(Eletronic Numeric Integrator and Computer). Ele pesava 50 toneladas,
media 5,50 metros de altura e 25 metros de comprimento. Isso
equivale a ocupar uma rea de um ginsio de esportes. A primeira
vez que o ENIAC foi ligado, ele consumiu tanta energia que as luzes
de Filadlfa piscaram. Seu funcionamento se assemelhava a das
calculadoras atuais, sendo operado manualmente, com circuitos
lgicos constitudos por milhares de vlvulas. O ENIAC foi criado
para fns militares, na poca da Segunda Guerra Mundial e pode ser
observado na Figura 5.
Figura 5 Fotografa do ENAC
Aps o ENIAC, seguindo a primeira gerao dos computadores,
surgiu o UNIVAC I. Esse computador teve 15 unidades vendidas e
um tamanho aproximado de 20m
2
. Seus circuitos eletrnicos tambm
eram baseados em vlvulas e o seu armazenamento de dados era
realizado atravs de papel perfurado. Em geral, os computadores da
primeira gerao esquentavam muito e ocupavam grandes espaos
fsicos. Tambm apresentavam grande consumo de energia e
quebravam com muita frequncia.
A partir de 1958, surgiu a segunda gerao de computadores.
Sua principal inovao em relao aos computadores da primeira
gerao foi a utilizao de transistores em substituio s vlvulas.
Um transistor um dispositivo que controla a passagem da corrente
eltrica atravs de materiais semicondutores inteiramente slidos.
Hiperlink
Caso voc deseje
visualizar a
fotograha original
do ENIAC acesse
o site: http://
www.arl.army.
mil/www/default.
cfm?Action
=20&Page307
15
Infraestrutura de Hardware
Os transistores so aproximadamente 100 vezes menores que as
vlvulas, o que tem como consequncia direta, a reduo do tamanho
dos computadores. Os computadores da segunda gerao, alm
de menores tambm eram mais rpidos que a gerao anterior e
possuam capacidade para executar milhares de operaes por
segundo, consumindo menos energia que a gerao anterior.
A terceira gerao dos computadores data de 1958 e teve como
principal inovao a utilizao de circuitos integrados. Os transistores
e demais componentes eletrnicos foram miniaturizados, reduzindo
bastante o consumo de energia. Com o passar dos anos, a escala
de integrao foi aumentando e cada vez mais tornava-se possvel a
utilizao de mais componentes em um mesmo chip ou pastilha. Os
mainframes foram os principais computadores desta gerao. Como
exemplo, podemos citar a famlia de produtos IBM 360, conforme
apresentado na Figura 6.
Figura 6
A partir de 1975, iniciou a quarta gerao de computadores, sendo
marcada pelo surgimento do microprocessador. O microprocessador
foi o principal marco desta gerao e o ponto chave na larga
proliferao da informtica. Ele ocasionou uma baixa espetacular
nos preos e uma escala de integrao ainda mais acentuada, onde
milhes de circuitos integrados puderam ser colocados em um nico
chip. A Figura 7 apresenta um computador desta gerao.
Figura 7
16
Infraestrutura de Hardware
Alguns autores consideram o surgimento da quinta gerao
de computadores, iniciando a partir de 1981 com o advento dos
microcomputadores. A partir desta gerao, os computadores
puderam ser utilizados por usurios comuns, no se limitando ao uso
corporativo. A Figura 8 apresenta uma imagem de um PC IBM, muito
utilizado na dcada de 80.
Figura 8 IBM PC
Seguindo a evoluo na quinta gerao, surgiram as mquinas com
processamento paralelo e a arquitetura RISC (Reduced Instruction
Set Architecture). Mas o que signifca processamento paralelo?
Para compreender esse conceito, deveremos introduzir dois outros:
multiprogramao e multiprocessamento.
Multiprogramao uma tentativa de manter o processador
sempre ocupado com a execuo de um ou mais programas por
vez. Com a multiprogramao, diversos programas so carregados
para a memria e o processador comuta rapidamente de um para
o outro. Essa tcnica permite que o processador no passe por
perodos de ociosidade, espera de resposta oriunda de programas
em execuo, permitindo otimizaes e melhorias de desempenho de
processamento. O multiprocessamento, por sua vez, caracteriza-se
pelo uso de vrios processadores que atuam em paralelo, cada um
executando as suas tarefas
Para garantir melhor desempenho, ainda possvel que
os processadores atuais utilizem multiprocessamento com
multiprogramao, que a juno dos conceitos, onde mais
de um processador utilizado e cada um deles implementa a
multiprogramao, permitindo efetivamente que programas sejam
executados paralelamente. Os computadores pessoais evoluram com
processadores que implementam a multiprogramao e comportam o
multiprocessamento.
17
Infraestrutura de Hardware
Seguindo a evoluo na quinta gerao, surgiram as mquinas com
processamento paralelo, as mquinas de arquitetura RISC (Reduced
Instruction Set Architecture), superescalares e superpipelines.
A quinta gerao tambm marcada pela miniaturizao dos
computadores e pela computao ubqua, ou seja, computao a
toda hora e em todo o lugar, utilizando uma grande diversidade de
dispositivos. A disseminao da computao ubqua foi impulsionada
pela evoluo das redes de comunicao, permitindo larguras
de banda superiores, comunicao sem fo e acesso atravs de
dispositivos de menores dimenses, como celulares, tablet PC
e Personal Digital Assistant (PDA). O conceito de Computao
Ubqua foi introduzido por Mark Weiser e colegas (Weiser M.; Gold
e Brown, 1999) que afrmavam que o usurio poderia ter acesso ao
seu ambiente computacional a partir de qualquer lugar, em qualquer
momento, de vrias formas, atravs de diferentes dispositivos e
tecnologias de comunicao. Com a computao ubqua, a relao
entre usurios e dispositivos computacionais muda em relao aos
computadores pessoais, o que era de um para um, passa a ser de um
para muitos (um usurio para vrios dispositivos).
Weiser e colegas (Weiser M.; Gold e Brown, 1999) argumentam
que computadores de pequenas dimenses estaro embutidos em
objetos do cotidiano do usurio, tais como livros, roupas e objetos
pessoais em geral. A fgura 9 apresenta uma srie de dispositivos
computacionais que esto presentes na quinta gerao.
Figura 9 Dispositivos Computacionais
Existem diversas aplicaes atualmente que compem o universo
da computao ubqua. Desde solues para o cenrio residencial,
comercial, hospitalar, dente outros. Um exemplo interessante de
uma soluo proposta para computao ubqua dentro do cenrio
hospitalar o Ubiquitous Health Service (UHS), que representado
na Figura 10. O UHS constitui uma rede de servios de sade, da qual
fazem parte um conjunto de hospitais geografcamente distribudos e
mdicos associados que podem ter acesso aos servios desta rede
Ateno
Os detalhes de
tais arquiteturas
sero
apresentados no
segundo volume
deste material
didtico.
Saiba Mais
Mark D. Weiser
nasceu em 1952
em Chicago.
Estudou Cincia
da Computao e
Comunicao na
Universidade de
Michigan, tendo
recebido seu
Ph.D. em 1979.
Weiser foi
cientista chefe da
Xerox PARC e
considerado o pai
da computao
ubqua. Para
saber mais sobre
a sua trajetria
de vida consulte
http://www-sul.
stanford.edu/
weiser/
18
Infraestrutura de Hardware
de qualquer lugar, usando um conjunto de diferentes dispositivos
e redes de acesso. Esta rede favorece o relacionamento entre os
mdicos associados, sendo, portanto, o mdico o usurio alvo do
cenrio. Os mdicos, por sua vez, so colaboradores de alguns dos
hospitais credenciados e podem acessar os servios disponibilizados
pelos hospitais, podendo faz-lo tambm de sua residncia, local de
lazer, em trnsito ou do seu consultrio.
Alm de servios especfcos de cada hospital credenciado,
tambm possvel ao mdico realizar acesso ao Pronturio Eletrnico
de Pacientes, a qualquer hora e de qualquer lugar, usando algum
dispositivo disponvel. Os hospitais, por sua vez, podem oferecer
servios especfcos, como por exemplo, servio de reserva de salas,
marcao de consultas no ambulatrio, localizao de mdicos,
etc. Para estes servios sero necessrias algumas validaes de
segurana e algoritmos de autenticao que so gerenciados pelo
prprio hospital que disponibiliza os servios. O cenrio possibilita
ao mdico iniciar uma sesso de acesso ao Pronturio Eletrnico de
Pacientes usando um dispositivo e transferi-la para outro dispositivo
durante a sua execuo.
Figura 10 Ambiente UHS
19
Infraestrutura de Hardware
O cenrio UHS apenas um exemplo de como a computao
ubqua pode ser inserida nas nossas atividades rotineiras. Hoje somos
completamente dependentes de computadores, internet, telefones
celulares. A tendncia que esses dispositivos tenham cada vez mais
recursos de processamento e que possam estar presentes em nossas
atividades do dia a dia.
Conhea Mais
Voc poder pesquisar mais sobre arquitetura e organizao de
computadores em alguns websites. Seguem alguns sites para voc
explorar essa temtica:
Computer Architecture Page: http://www.cs.wisc.edu/arch/www/
MIT Computer Architecture Group: http://groups.csail.mit.edu/cag/
Clube do Hardware: http://www.clubedohardware.com.br/
CPU Info Center: http://bwrc.eecs.berkeley.edu/CIC/
Se possvel, leia tambm:
Arquitetura e Organizao de Computadores do
autor William Stallings e Organizao Estruturada de
Computadores do autor Andrew S. Tanenbaum.
Atividades e Orientaes de Estudo
Dedique, pelo menos, 2 horas de estudo para o Captulo 1. Voc
deve organizar uma metodologia de estudo que envolva a leitura dos
conceitos que sero apresentados neste volume e pesquisas sobre o
tema, usando a Internet e livros de referncia.
Os fruns temticos desta disciplina podem ser utilizados para
troca de informaes sobre o contedo no ambiente virtual, pois a
interao com colegas, tutores e o professor da disciplina ir ajud-lo
a refetir sobre aspectos fundamentais tratados aqui. Os chats tambm
sero muito importantes para a interao em tempo real com o seu
tutor virtual, seu professor e seus colegas.
20
Infraestrutura de Hardware
Tambm importante que voc leia atentamente o guia de estudo
da disciplina, pois nele voc encontrar a diviso de contedo
semanal, ajudando-o a dividir e administrar o seu tempo de estudo
semanal. Procure responder as atividades propostas como atividades
somativas para este captulo, dentro dos prazos estabelecidos pelo
seu professor, pois voc no ser avaliado apenas pelas atividades
presenciais, mas tambm pelas virtuais. Muitos alunos no acessam
o ambiente e isso poder comprometer a nota fnal. No deixe que
isso acontea com voc!
Vamos Revisar?
Neste captulo, voc estudou as funes do computador e os
seus componentes principais. Foram apresentados os subsistemas
internos ao computador: Central de Processamento ou subsistema de
processamento, Subsistema de Memria, Subsistema de Entrada e
Sada (E/S) e Subsistema de Interconexo.
Aprendemos que a CPU possui o papel de controlar as
operaes do computador e processar dados. O Subsistema de
Memria armazena dados e o Subsistema de Entrada e Sada (E/S)
transfere dados entre o computador e o ambiente externo. Por fm,
o Subsistema de Interconexo, responsabiliza-se pela comunicao
entre a CPU, memria principal e dispositivos de E/S. Nos demais
volumes deste material didtico estudaremos com detalhes cada um
desses subsistemas.
Em seguida, voc pde observar a evoluo histrica dos
computadores, partindo do primeiro computador eletrnico at
a miniaturizao dos computadores e da computao ubqua.
Aprendemos que esse conceito baseia-se na computao a toda hora
e em todo o lugar, utilizando uma grande diversidade de dispositivos.
Nos prximos captulos desse volume iremos aprender um pouco
mais sobre a CPU ou subsistema de processamento iniciando com
um estudo sobre operaes aritmticas e lgicas.
21
Infraestrutura de Hardware
Captulo 2
O que vamos estudar?
Neste captulo, vamos estudar os seguintes temas:
Sistemas de numerao
Bases numricas e converses entre bases
Operaes aritmticas em diferentes sistemas de numerao
Metas
Aps o estudo deste captulo, esperamos que voc consiga:
Conhecer os principais sistemas de numerao;
Realizar operaes de converses entre bases distintas;
Aprender as operaes aritmticas bsicas em sistemas de
numerao binrio, octal e hexadecimal.
22
Infraestrutura de Hardware
Captulo 2 Conhecendo Melhor
as Operaes Aritmticas
Vamos conversar sobre o assunto?
2.1 Sistemas de Numerao
Desde muito cedo em sua histria, a humanidade se deparou
com a necessidade de contar, enumerar e ordenar as coisas, os
animais e at mesmo os outros seres humanos que o cercavam. E
no apenas contar, enumerar e ordenar, mas tambm registrar estas
informaes de forma clara e precisa. O sucesso tanto no comrcio
quanto nas atividades produtivas exigia que se pudesse tomar nota
das quantidades e valores envolvidos em suas transaes.
No incio, enquanto os volumes eram pequenos, podia-se adotar um
registro simples e direto destas informaes, normalmente utilizando
coisas do cotidiano para representar as quantidades envolvidas. Veja
alguns exemplos destes registros na Figura 1 a seguir.
Naquela poca, era comum ver pastores de ovelhas carregando
consigo uma pequena bolsa de couro com tantas pedrinhas quantas
fossem as ovelhas aos seus cuidados. No existia ainda a associao
de um smbolo fontico ou grfco para as quantidades representadas,
mas apenas uma associao de um para um entre as ovelhas e as
pedras.
Figura 1 Exemplos de registros de contagens feitos pelas antigas civilizaes
23
Infraestrutura de Hardware
Este recurso, por mais simples que possa parecer, permitia a estes
homens controlar seus rebanhos, descobrindo, ao fm de um dia, se
alguma ovelha havia se desgarrado, ou ainda se uma operao de
troca de ovelhas por outras mercadorias seria ou no vantajosa para
ele.
Com o passar do tempo, entretanto, o avano natural nos volumes
dos negcios e, por conseguinte das quantidades de animais e objetos
envolvidos, obrigou que se elaborasse um sistema mais efciente para
registrar e contabilizar estas transaes. J no era mais possvel
associar convenientemente uma pedra em uma sacola ou um n em
uma corda para cada um dos elementos envolvidos nas transaes.
Os egpcios foram os primeiros que se tem notcia a adotar um
sistema grfco estruturado de tal forma a permitir o registro simples e
claro de grandes quantidades de elementos atravs de um pequeno
nmero de smbolos.
Figura 2- Smbolos adotados no sistema de numerao egpcio
Em sua representao, conforme podemos ver na Figura 2, os
egpcios utilizavam dez smbolos distinto para representar valores
entre 1 e 9 e, a partir da, mais seis smbolos para representar valores
da forma 10
n
, com n<1.
No sistema egpcio, de igual modo ao que fazemos hoje em dia, o
valor total representado era calculado a partir do somatrio dos valores
atribudos aos smbolos utilizados. E isto, por si s j simplifcava
em muito a forma de registrar e manipular com as informaes
numricas.
Saiba Mais
Conhea um
pouco mais
sobre a histria
dos nmeros
visitando estes
sites:
http://br.geocities.
com/superbetorpf/
evolnum.htm
http://pessoal.
sercomtel.com.
br/matematica/
fundam/numeros/
numeros.htm
24
Infraestrutura de Hardware
Foi no norte da ndia, por volta do sculo V da era crist, que
provavelmente surgiu o sistema de representao que utilizamos
atualmente.
Por ter sido largamente empregado pelos rabes, os quais o
introduziram na Europa, este fcou conhecido como sistema de
numerao Hindo-Arbico. A Figura 3 a seguir nos traz um exemplo
dos smbolos grfcos utilizados no sistema Hindo-Arbico e a sua
evoluo at os nossos dias.
Figura 3 Evoluo da grafa dos smbolos do sistema Hindo-Arbico at os nossos dias
Diferente dos demais sistemas numricos existentes poca, o
sistema Hindo-Arbico j lanava mo de um recurso matemtico
conhecido hoje como base numrica, exatamente nos mesmos
moldes que adotamos hoje em dia.
No sistema Hindo-Arbico, todo e qualquer valor numrico
podia ser representado utilizando apenas 10 smbolos elementares,
utilizando um outro recurso matemtico que depois fcou conhecido
como notao posicional.
Voc sabe o que uma base numrica? E a notao posicional,
voc sabe j ouviu falar dela? Sabe como ela funciona? Pois bem,
isto o que vamos descobrir na continuao deste captulo.
2.2 Base Numrica
Denominamos como base numrica ao conjunto de smbolos
utilizados para representar valores numricos.
25
Infraestrutura de Hardware
De um modo geral podemos dizer que as bases numricas mais
importantes so:
Base decimal, com dez smbolos {0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
Base binria, com dois smbolos {0, 1},
Base octal, com oito smbolos {0, 1, 2, 3, 4, 5, 6, 7},
Base hexadecimal, com dezesseis smbolos {0, 1, 2, 3, 4, 5, 6,
7, 8, 9, A, B, C, D, E, F}.
Destas, a mais importante, sem dvida nenhuma, a base decimal.
Sua importncia tamanha que desde pequenos aprendemos a
associar os seus elementos com os dedos de nossas prprias mos.
Experimente perguntar a uma criana na pr escola qual a sua idade,
e de pronto ela lhe estender as mozinhas mostrando nos dedos
quantos aninhos j tem.
Figura 4 Associao dos nmeros com os dedos da mo
Mas, o que defne uma base numrica? Ser que ns mesmos
podemos defnir a nossa prpria base numrica? Que regras devemos
seguir para defnir uma base numrica?
Para que um conjunto de smbolos possa ser considerado uma
base numrica, ele deve ser formado de modo a atender algumas
regras bsicas de construo:
Cada elemento do conjunto deve estar associado a um valor
numrico, numa relao de um para um. Ou seja, cada smbolo
deve estar associado a um nico valor numrico e vice-versa.
O conjunto deve possuir no mnimo dois smbolos, um para
representar o zero e outro para representar o um.
No devem existir lacunas na representao, ou seja, se um
conjunto possuir representaes para os valores n e n+2, ento
este mesmo conjunto tambm deve possuir uma representao
para o valor n+1.
26
Infraestrutura de Hardware
Respeitadas estas regras, podem-se construir bases numricas
com tantos smbolos quantos se faam necessrias. Mas, pensemos
um pouco, "por que se dar ao trabalho de defnir outras bases
numricas se a base decimal, aparentemente, j resolve todos os
nossos problemas?
A verdade que as bases numricas so defnidas para simplifcar
o dia a dia de quem as utiliza. Mesmo sem perceber, constantemente
estamos lanando mo de outras bases numricas. Por exemplo,
imagine as horas do dia, voc j percebeu que normalmente ns
contamos as horas utilizando uma base com apenas 12 elementos?
Pois , mesmo sabendo que o dia tem 24 horas, parece-nos bem
melhor pensar em termos de duas sries de 12 horas, uma comeando
a meia noite e indo at o meio dia, e outra comeando ao meio dia e
indo at a meia noite.
Como voc ir perceber um pouco mais frente, foi o
desenvolvimento do estudo das bases numricas que permitiu o
desenvolvimento dos computadores digitais como ns os conhecemos
hoje em dia.
Agora, pense um pouco, que outras bases numricas voc pode
identifcar em suas atividades cotidianas? Que tal uma base com 60
elementos, s para comear?
Mas, como ser que funciona uma base numrica? Ser que
existe alguma relao entre as diversas bases numricas existentes?
Isto e muito mais o que vamos descobrir a partir de agora com a
continuao do nosso estudo.
2.3 Bases Numricas e a Notao Posicional
Para entender como funciona uma base numrica e a notao
posicional, vamos tomar como exemplo a base decimal. Uma vez que
temos dez smbolos nesta base, podemos facilmente utiliz-los para
representar conjuntos com at nove elementos. Observe a Figura 5 a
seguir.
Ateno
Voc pode estar
se perguntando
por que nos
referimos
aos nmeros
presentes
nas bases
numricas como
smbolos e no
como nmeros
simplesmente.
Como voc deve
ter percebido,
a base hexa
decimal utiliza
tanto nmeros
como letras
para representar
os valores
numricos,
desta forma,
para no causar
confuso aos
nos referirmos s
letras A,B,C,D,E
e F como sendo
nmeros, nos
referiremos
aos nmeros e
letras utilizados,
indistintamente,
como sendo
apenas smbolos.
27
Infraestrutura de Hardware
Figura 5 Associao entre os elementos da base decimal e valores de contagem
Observe, entretanto, que um problema surge quando precisamos
registrar valores para os quais no temos um smbolo associado na
base, como, por exemplo, o que vemos na Figura 6 a seguir.
Figura 6 Como registraremos esta quantia com a base decimal?
Como faremos para registrar os doze elementos desta fgura
utilizando estritamente os smbolos contidos na base decimal?
Ah, voc pode estar pensando - Esta fcil, basta utilizar os
smbolos 1 e 2, exatamente nesta sequncia e pronto, teremos a
representao da quantidade de elementos constante nesta fgura.
28
Infraestrutura de Hardware
Se voc pensou assim, claro que a sua resposta est correta.
Entretanto, pense um pouco mais.
Se olharmos para a base decimal, veremos que os smbolos que
estamos utilizando representam literalmente uma unidade seguido
de duas unidades. Isto em nada se parece com as doze unidades
que estamos querendo representar. De onde ento tiramos a ideia
que se utilizarmos estes dois smbolos em conjunto, exatamente da
forma como fzemos, estaremos criando uma representao para a
quantidade de elementos constantes naquela fgura?
A resposta ao mesmo tempo simples e complexa. Mesmo sem
perceber, para expressar valores que no se encontram representados
diretamente na base, lanamos mo de um recurso matemtico
inventado pelos indianos denominado Notao PosicionaI.
o uso da notao posicional que nos permite dizer que o 1 do
nmero 12 vale uma dezena e no uma unidade, o qual somado s
duas unidades representadas pelo 2 nos d como resultado os doze
elementos que estvamos querendo representar.
A ideia por trs da notao posicional extremamente simples e
pode ser facilmente ilustrada pela observao do que ocorre quando
contamos as horas em um relgio com ponteiros.
Observe que um dia tem vinte e quatro horas e um relgio com
ponteiros possui apenas doze marcaes, indo do 1 ao 12. Desta
forma, aps contarmos as 12 primeiras horas do dia, acabamos
retornando ao nosso ponto de partida, em um processo conhecido
como estouro da base. Nesta situao, se continuarmos contando,
simplesmente perderemos a referncia de que horas realmente
estamos registrando.
Curiosidade...
Voc conhece algum relgio com ponteiros com alguma
indicao para 13 horas?
No caso do relgio, isto se resolve associando informao
indicada nos ponteiros com uma informao adicional que indica
se esta a primeira ou a segunda volta que este executa no dia.
Normalmente, quando os ponteiros retornam ao ponto de partida ns,
Ateno
Notao
Posicional nada
mais que
um recurso de
representao
que nos permite
alterar o valor
atribudo aos
smbolos de uma
determinada
base numrica,
de forma a poder
utiliz-los para
representar
valores que
no existam na
referida base.
Saiba Mais
A expresso
Estouro da
Base indica que
estamos tentado
representar um
valor maior que
o maior valor
representvel
diretamente pela
base numrica
adotada.
29
Infraestrutura de Hardware
ou adicionamos 12 ao valor indicado, como podemos ver na Figura 7
a seguir, ou simplesmente adicionamos uma informao de que so
tantas horas da manh, da tarde ou da noite.
Figura 7 Que horas so neste relgio? 10 horas e dez minutos ou 22 horas e 10 minutos?
Ainda que extremamente simples, esta observao adicional
indicando quantas voltas o ponteiro do relgio j efetuou o elemento
chave para a compreenso do como funciona uma base numrica e o
mecanismo da notao posicional.
Vamos agora tentar estender esta ideia para a base decimal.
2.4 Base Decimal
Considere a Figura 8 a seguir.
Nela temos uma representao da base decimal imitando as horas
de um relgio.
Figura 8 Representao esquemtica da base decimal
Tentemos agora utilizar este nosso disco para contar de zero at
cem.
Comecemos no zero e, a cada nmero que contarmos avancemos
o nosso ponteiro de uma posio. Perceba que podemos contar de
zero a nove sem problemas, mas ao chegarmos ao dez, semelhana
do que ocorre com os ponteiros de um relgio ao indicar o meio dia
30
Infraestrutura de Hardware
ou a meia noite, ocorre um estouro da base, e retornamos ao nosso
ponto inicial, perdendo assim a nossa referncia de contagem. Se
continuarmos contando, no haver nenhuma forma de indicarmos
claramente a que nmero estamos nos referindo simplesmente pelo
que estamos apontando em nosso disco.
Desta forma, a fm de evitar esta confuso, incluiremos um segundo
disco numerado, semelhante ao primeiro, no qual contaremos quantas
voltas o primeiro disco j efetuou.
Uma vez que este disco adicional contar quantas vezes o primeiro
disco contou at dez, chamar-lhe-emos de disco das dezenas. Ao
primeiro disco chamaremos de disco das unidades. Por conveno, o
disco das unidades fcar a direita do disco das dezenas.
O nosso novo esquema fcar conforme indicado na Figura 9 a
seguir.
Figura 9 Novo esquema de representao para contagem de dezenas e unidades,
indicando a contagem de dez elementos
Podemos assim continuar nossa contagem, de tal forma que a
cada volta completa do disco das unidades, avanaremos o disco das
dezenas de uma posio. Ou seja, sempre que ocorre um estouro da
base no disco das unidades, dizemos que ocorre um vai um para o
disco das dezenas.
Este esquema funciona muito bem at chegarmos contagem
noventa e nove. Neste ponto percebemos que o disco de dezenas
tambm est preste a completar uma volta completa, de tal forma que
corremos o risco novamente de perder nossa referncia.
Por sorte, podemos adotar o mesmo artifcio j utilizado
anteriormente com o disco das unidades, e incluir um novo disco para
contar quantas voltas o disco das dezenas completou. A este novo
disco chamaremos de disco das centenas. Nosso esquema fcar
Fique
por Dentro
O termo vai
um indica que
precisamos somar
um na contagem
do segundo disco.
31
Infraestrutura de Hardware
como representado na Figura 10 a seguir.
Figura 10 Esquema com discos para as centenas, dezenas e unidades, indicando a
contagem de cem elementos
Perceba que este artifcio de incluir um novo disco para
contar quantas voltas o disco anterior completou pode continuar
indefnidamente, de forma que podemos incluir tantos discos quantos
sejam necessrios, medida que formos precisando.
A contagem total representado pelos nossos discos poder ser
facilmente verifcada somando as indicaes de cada um dos ponteiros
multiplicadas pelos nmeros de voltas que cada disco representa.
Uma vez compreendida esta estratgia, podemos deixar de lado o
esquema com discos, substituindo cada um destes diretamente pelo
seu valor, conforme estamos acostumados a fazer, com um algarismo
para as unidades, um para as dezenas, um para as centenas e assim
por diante. A Figura 11 a seguir nos d um exemplo do que estamos
dizendo.
Este processo todo que acabamos de descrever a base da
notao posicional. Ou seja, ele que nos permite utilizar uma
base numrica para representar todo e qualquer nmero inteiro que
possamos imaginar.
Como pudemos ver, com exceo do primeiro dgito, o que conta
as unidades, todos os demais contam quantas vezes o seu antecessor
j contou at o limite da base adotada, ou seja, quantas vezes ocorreu
um estouro da base no dgito que o antecede. No caso especfco da
base decimal, isto indica quantas vezes o dgito a sua direita contou
at dez.
Desta forma, como podemos ver pela Figura 11, o valor total da
contagem obtido somando-se o valor registrado em cada um dos
dgitos, multiplicado pela contagem que a sua posio representa.
Muito fcil no mesmo?
32
Infraestrutura de Hardware
Figura 11 Exemplo de relao entre os valores indicados nos disco e o valor que
representam
Nos livros em geral, voc encontrar este procedimento
normalmente expresso na forma de um somatrio ponderado de
termos, no caso, dos dgitos utilizados, a semelhana do que vemos
na Figura 12 a seguir.
Figura 12 Expresso matemtica equivalente notao posicional
Esta expresso indica que o valor representado por uma sequncia
numrica dado pelo somatrio dos smbolos que a compem, aqui
indicados por d
i
, ponderados pela posio que ocupam na sequncia
dada, aqui indicado pelo ndice i direita do d. Em resumo, nesta
expresso, a base numrica adotada, d o valor atribudo ao
smbolo e i a posio que o smbolo ocupa na sequncia.
Um detalhe importante a ser observado, e que pode no fcar claro
pela expresso, que os smbolos devem sempre ser ponderados
da direita para a esquerda. Ou seja, o primeiro dgito, ou o dgito
mais a esquerda, ser ponderado pela base elevada a zero, o que
signifca que o seu valor ser multiplicado por 1. O segundo dgito
ser ponderado pela base elevada a um, o que signifca para a base
decimal que este ser multiplicado por dez, e assim por diante.
33
Infraestrutura de Hardware
Curiosidade...
Voc sabia que no inicio da sua utilizao os nmeros em notao
posicional eram escritos da esquerda para a direita, ao contrrio do
que escrevemos hoje? Os Hindus, inventores da notao posicional,
escreviam os nmeros da mesma forma como ns escrevemos as
letras em um texto, da esquerda para a direita. Por que ser que
hoje ns escrevemos os nmeros ao contrrio? Descubra mais
nestes links:
http://pessoal.sercomtel.com.br/matematica/fundam/numeros/numeros.htm
http://professorjairojr.blogspot.com/
Para fxar o que aprendemos, tentemos analisar como a notao
posicional foi utilizada na formao dos nmeros a seguir:
a)
b)
c)
d)
Voc consegue perceber que o que temos aqui nada mais que a
aplicao direta da expresso matemtica apresentada na Figura 12?
muito importante que isto fque bem claro para voc. Caso esteja
sentindo alguma difculdade, pesa ajuda ao seu monitor.
Esta anlise, por simples que parea, essencial para que
compreendamos o funcionamento da notao posicional e ser de
suma importncia para entendermos tambm como funcionam as
outras bases numricas.
Agora que j sabemos como expressar os nmeros inteiros
utilizando a notao posicional, podemos buscar entender como
podemos utilizar esta mesma notao posicional para representar
tambm os nmeros fracionrios.
2.5 Nmeros Fracionrios
Observe os exemplos a seguir:
a)
34
Infraestrutura de Hardware
b)
c)
d)
e)
Voc conseguiu notar algo de familiar com o que acabamos de
estudar?
Ao analisarmos estes exemplos, a primeira coisa que percebemos
a incluso da vrgula como elemento separador entre a parte inteira
e a parte fracionria dos nmeros.
Outro ponto muito importante que os dgitos colocados direita
da vrgula, que representam a parte fracionria do nmero, so
ponderados pela base com o expoente negativo, o que signifca
que em vez se estarem sendo multiplicados esto sendo divididos por
ela.
Observe novamente os exemplos d e e. Veja que da mesma
forma como ocorre com os nmeros inteiros, o valor expresso por um
nmero fracionrio na notao posicional tambm obtido como o
somatrio de todos os termos que o compem.
Em resumo, para representar um nmero fracionrio na notao
posicional, basta incluir a vrgula para separar a parte inteira da parte
fracionria, ponderando os dgitos que fcam esquerda desta pela
base elevada a um expoente positivo e os que fcam direita com a
base elevada ao expoente negativo.
Para fnalizar, podemos agora reescrever a expresso apresentada
na Figura 12, de forma que esta contemple tambm os nmeros
fracionrios. A Figura 13 a seguir mostra como fcar nossa nova
expresso.
Figura 13 Expresso Matemtica para a Notao Posicional incluindo os nmeros
fracionrios
Esta nova expresso difere da anterior pela incluso do k o qual
indica quantos dgitos existem direita da vrgula, ou seja, quantos
Ateno
Um nmero
elevado a
um expoente
negativo igual
ao inverso do
prprio nmero
elevado ao
expoente positivo.
35
Infraestrutura de Hardware
dgitos foram reservados para a representao da parte fracionria do
nmero.
Que tal agora exercitarmos um pouco tudo o que aprendemos
fazendo uma analise aprofundada dos nmeros a seguir. Utilize a
expresso apresentada na Figura 13. Repita o que foi feito nos trs
exerccios seguintes.
a) 12,41
n = 4 (Quantidade de dgitos do nmero)
k = 2 (Quantidade de dgitos da parte decimal do nmero)
Valor Representado =
b) 73,5309
n = 6
k = 4
Valor Representado =
c) 1025
n = 4
k = 0
Valor Representado =
d) 832,0
n =
k =
Valor Representado =
e) 0,322
n =
k =
Valor Representado =
f) 10,005
n =
k =
36
Infraestrutura de Hardware
Agora que j sabemos tudo o que precisamos sobre o que uma
base numrica e como funciona a notao posicional, podemos nos
aventurar a trabalhar com as outras bases numricas anteriormente
citadas.
A primeira base que estudaremos ser a base binria.
2.6 Base Binria
Como vimos no incio deste captulo, a base binria formada por
um conjunto com apenas dois smbolos: o zero e o um, {0, 1}. Mesmo
assim, acredite, lanando mo da notao posicional podemos
representar com a base binria praticamente todos os nmeros que
voc possa imaginar.
Por ser a base numrica adotada nas Unidades Lgicas e
Aritmticas (ULA) de todos os processadores, esta base numrica
extremamente importante.
Compreender como representar e operar com nmeros na base
binria essencial compreenso de como um computador funciona.
Por isto, vamos tentar ser bem minuciosos em nosso estudo.
Devido a sua importncia, alguns termos foram defnidos para
melhor retratar alguns elementos presentes nos nmeros expressos
na base binria, so eles:
Bit Nome dado aos dgitos de um nmero expresso na base
binria. Desta forma, comum utilizar-se expresses como 8
bits, 16 bits e 32 bits para se referir quantidade de dgitos de
um nmero expresso na base binria.
MSB Sigla inglesa derivada da expresso Most Signifcant Bit
que signifca literalmente Bit Mais Signifcativo. Este o nome
dado ao bit com maior peso associado, ou seja, ao bit localizado
mais a esquerda do nmero.
LSB Sigla inglesa derivada da expresso Least Signifcant
Bit que signifca literalmente Bit Menos Signifcativo. Este o
nome dado ao bit com menor peso associado, ou seja, ao bit
localizado mais a direita do nmero.
Palavra Nome dado ao conjunto de bits utilizados para
representar um nmero. Esta expresso normalmente
utilizada para indicar a quantidade de bits que um processador
Ateno
Como veremos
mais a frente,
nem todos
os nmeros
fracionrios
podem ser
representados na
base binria.
37
Infraestrutura de Hardware
Agora que j sabemos tudo o que precisamos sobre o que uma
base numrica e como funciona a notao posicional, podemos nos
aventurar a trabalhar com as outras bases numricas anteriormente
citadas.
A primeira base que estudaremos ser a base binria.
2.6 Base Binria
Como vimos no incio deste captulo, a base binria formada por
um conjunto com apenas dois smbolos: o zero e o um, {0, 1}. Mesmo
assim, acredite, lanando mo da notao posicional podemos
representar com a base binria praticamente todos os nmeros que
voc possa imaginar.
Por ser a base numrica adotada nas Unidades Lgicas e
Aritmticas (ULA) de todos os processadores, esta base numrica
extremamente importante.
Compreender como representar e operar com nmeros na base
binria essencial compreenso de como um computador funciona.
Por isto, vamos tentar ser bem minuciosos em nosso estudo.
Devido a sua importncia, alguns termos foram defnidos para
melhor retratar alguns elementos presentes nos nmeros expressos
na base binria, so eles:
Bit Nome dado aos dgitos de um nmero expresso na base
binria. Desta forma, comum utilizar-se expresses como 8
bits, 16 bits e 32 bits para se referir quantidade de dgitos de
um nmero expresso na base binria.
MSB Sigla inglesa derivada da expresso Most Signifcant Bit
que signifca literalmente Bit Mais Signifcativo. Este o nome
dado ao bit com maior peso associado, ou seja, ao bit localizado
mais a esquerda do nmero.
LSB Sigla inglesa derivada da expresso Least Signifcant
Bit que signifca literalmente Bit Menos Signifcativo. Este o
nome dado ao bit com menor peso associado, ou seja, ao bit
localizado mais a direita do nmero.
Palavra Nome dado ao conjunto de bits utilizados para
representar um nmero. Esta expresso normalmente
utilizada para indicar a quantidade de bits que um processador
Ateno
A Unidade Lgica
e aritmtica
uma das partes
mais importantes
da Unidade
Central de
Processamento
dos
computadores.
Ela responsvel
por todas as
operaes lgicas
e aritmticas dos
programas que
so executados.
utiliza internamente para representar suas informaes, em
expresses do tipo: Os processadores Core Duo utilizam
palavras de 32 bits.
A Figura 14 a seguir demonstra como estes elementos esto
presentes na representao dos nmeros representados na base
binria.
Figura 14 Elementos presentes nos nmeros expressos na base binria
Agora que j conhecemos alguns detalhes dos nmeros expressos
na base binria, podemos comear o nosso estudo de como esta
base realmente funciona. Para comear, vamos fazer uma anlise
semelhante a que fzemos com a base decimal.
Primeiramente, tomemos um disco com a representao da base
binria.
Figura 15 Disco com a representao da base binria
Agora, utilizando este nosso disco binrio, vamos tentar contar at
dez.
Acompanhe a contagem na Figura 16 a seguir.
Comeamos contando: zero, um, mas quando vamos tentar contar
o dois percebemos que j estamos chegando ao zero novamente, ou
seja, se continuarmos contando estouraremos a base e perderemos a
nossa referncia.
Figura 16 Confgurao do disco binrio ao contarmos do zero ao dois
38
Infraestrutura de Hardware
O que fazer ento? Vamos adotar a mesma estratgia que j
utilizamos na base decimal. Vamos incluir um segundo disco para
contar quantas voltas o primeiro disco j deu. Veja como fcar nossa
confgurao na Figura 17 a seguir.
Figura 17 Posio dos discos binrios indicando que j contamos at dois
Como no temos um nome especial para dar aos discos, como
tnhamos na base decimal, vamos apenas identifc-los pelo valor
que cada um representa. Como o segundo disco conta quantas vezes
o primeiro disco deu uma volta completa, o que ocorre a cada duas
contagens, vamos identifc-lo pelo 2
1
.
Podemos, ento, continuar a nossa contagem do ponto aonde
paramos: Dois, trs, mas quando chegamos ao quatro, vemos que o
primeiro disco completa mais uma volta, o que fora o segundo disco
a avanar mais um passo, levando-o a completar uma volta tambm,
voltando ao zero novamente, como podemos ver pela Figura 18 a
seguir.
Figura 18 Confgurao dos discos binrios ao contarmos dois, tres e quatro
Como sabemos, podemos simplesmente incluir mais um disco
e continuar nossa contagem, conforme fzemos a pouco quando
chegamos contagem do dois. Nossa nova confgurao fcar
39
Infraestrutura de Hardware
conforme podemos ver na Figura 19 a seguir.
Figura 19 Posio dos discos binrios indicando que j contamos at quatro
Com mais um disco binrio, podemos continuar contando.
Acompanhe a nossa contagem na Figura 20 a seguir.
Devemos lembrar que sempre que o primeiro disco completa uma
volta o ponteiro do segundo disco avana uma posio. E sempre
que o segundo disco completa uma volta, o ponteiro do terceiro disco
tambm avana uma posio.
Continuando a nossa contagem de onde paramos, temos: quatro,
cinco, seis, sete, e quando chegamos a oito o ponteiro do terceiro
disco, o que registra 2
2
, avana uma posio e tambm completa uma
volta, retornando ao zero.
40
Infraestrutura de Hardware
Figura 20 Confguraes dos discos binrios aos contarmos de cinco at oito
Como nosso objetivo contar at dez, vamos incluir mais um disco
e continuar a nossa contagem.
Figura 21 Confgurao dos discos binrios ao contarmos oito
Agora sim, com quatro discos binrios podemos concluir nossa
contagem indo do oito at o dez, conforme podemos ver na Figura 22
a seguir.
41
Infraestrutura de Hardware
Figura 22 Confgurao dos discos binrios na contagem de oito a dez
Da mesma forma que fzemos com a base decimal, uma vez que j
entendemos como funciona a base binria, podemos agora deixar de
lado os discos binrios e passar a trabalhar diretamente com smbolos
apontados em cada um dos discos. Desta forma, a nossa contagem
de zero a dez em binrio fcar da seguinte forma:
0 = 0000
2
4 = 0100
2
8 = 1000
2
1 = 0001
2
5 = 0101
2
9 = 1001
2
2 = 0010
2
6 = 0110
2
10 = 1010
2
3 = 0011
2
7 = 0111
2
Figura 23 Representao da contagem de zero a dez em binrio
Observe que podemos aplicar a notao posicional a cada uma
destas representaes, conforme vimos na Figura 12, exatamente
como fzemos com a base decimal, apenas substituindo a base 10
pela base 2 ( = 2). A Figura 24 a seguir demonstra como fcaria a
aplicao da notao posicional a cada um dos valores encontrados:
42
Infraestrutura de Hardware
0
10
= 0000
2
= 0 2
3
+ 0 2
2
+ 0 2
1
+ 0 2
0
= 0
1
10
= 0001
2
= 0 2
3
+ 0 2
2
+ 0 2
1
+ 1 2
0
= 1
2
10
= 0010
2
= 0 2
3
+ 0 2
2
+ 1 2
1
+ 0 2
0
= 2
3
10
= 0011
2
= 0 2
3
+ 0 2
2
+ 1 2
1
+ 1 2
0
= 2 + 1
4
10
= 0100
2
= 0 2
3
+ 1 2
2
+ 0 2
1
+ 0 2
0
= 4
5
10
= 0101
2
= 0 2
3
+ 1 2
2
+ 0 2
1
+ 1 2
0
= 4 + 1
6
10
= 0110
2
= 0 2
3
+ 1 2
2
+ 1 2
1
+ 0 2
0
= 4 + 2
7
10
= 0111
2
= 0 2
3
+ 1 2
2
+ 1 2
1
+ 1 2
0
= 4 + 2 + 1
8
10
= 1000
2
= 1 2
3
+ 0 2
2
+ 0 2
1
+ 0 2
0
= 8
9
10
= 1001
2
= 1 2
3
+ 0 2
2
+ 0 2
1
+ 1 2
0
= 8 + 1
10
10
= 1010
2
= 1 2
3
+ 0 2
2
+ 1 2
1
+ 0 2
0
= 8 + 2
Figura 24 Aplicao da Notao Posicional para verifcar os valores gerados
na contagem de zero a dez em binrio
Observe que uma vez que a base binria possui apenas dois
valores, o zero e o um, nosso somatrio se reduziu a computar apenas
as posies aonde encontramos o um, uma vez que zero vezes
qualquer outro nmero igual a zero. Se pensarmos bem isto simplifca
muito as coisas, uma vez que no nosso somatrio aparecero apenas
termos na forma 2
n
, tais como 2
0
, 2
1
, 2
2
, 2
3
e assim por diante.
De fato, o processo de converso de um nmero qualquer da base
decimal para a base binria consiste em encontrar esta sequncia
de termos da forma 2
n
que quando somados resultem no valor que
estamos querendo converter.
Observe os resultados obtidos nos exemplos apresentados na
Figura 24. Para cada nmero expresso na base decimal, encontramos
uma sequncia equivalente de nmeros da forma 2
n
. Baseados nesta
observao, vamos agora aprender duas tcnicas de converso de
nmeros da base decimal para a base binria. Nas duas abordagens
nosso objetivo o mesmo, ou seja, encontrar este conjunto de termos
da forma 2
n
que quando somados resulte no valor que estamos
querendo converter.
43
Infraestrutura de Hardware
2.7 Tcnica de Converso por Divises
Sucessivas
Esta tcnica parte do princpio que podemos expressar qualquer
nmero em funo do resultado obtido da sua diviso inteira por outro
nmero qualquer mais o resto encontrado. Neste caso, estaremos
sempre dividindo pelo dois, uma vez que queremos expressar o
nmero como um somatrio de termos da forma 2
n
, ou seja, na base
binria. Veja os exemplos a seguir:
Veja que com esta tcnica no precisamos de muito esforo para
converter os nmeros 3, 5 e 9 da base decimal para a base binria.
Bastou uma nica diviso para encontrarmos o que queramos. Muito
simples no mesmo?
Mas nem sempre to simples assim. Veja o exemplo a seguir:
Observe que o resultado obtido no pode ser expresso diretamente
em funo da base 2, uma vez que o 3 nem da base e nem
potencia desta.
Quando isto acontece, precisamos reaplicar o processo no termo
que no pode ser expresso, neste caso no 3, de forma a poder
express-lo diretamente em funo da base desejada.
44
Infraestrutura de Hardware
Por sorte, como ns acabamos de decompor o 3 em funo da
base 2, no exemplo a, podemos simplesmente substituir o 3 do nosso
resultado por 2+1. Desta forma, o nosso exemplo fcaria:
Agora, para concluir nosso processo, precisamos apenas eliminar
todas as multiplicaes presentes no resultado, uma vez que na
notao posicional os nmeros devem ser expressos exclusivamente
como um somatrio de termos. Faremos isto aplicando a propriedade
distributiva da multiplicao em todas as multiplicaes presentes.
Vejamos a seguir como proceder:
Observe que na expresso fnal ns inclumos um zero como
primeiro dgito. Isto foi feito porque precisamos preencher todos os
dgitos em nossa representao, exatamente como fazemos na base
decimal. Este procedimento, como podemos constatar, no altera o
resultado obtido.
Desta forma, ao fm deste processo conclumos que o 6 pode
ser expresso na base binria atravs da sequncia 110
2
, ou seja
12
2
+ 12
1
+ 02
0
.
Um pouco mais trabalhoso, no mesmo?
Ainda bem que existe uma forma bem mais prtica e rpida de
efetuarmos esta converso, sem ter que fazer todos estas contas, de
tal modo a obter o mesmo resultado com muito menos esforo.
Com este novo mtodo, precisaremos apenas ir dividindo
sucessivamente o nmero a ser convertido por dois, anotando sempre
o resto obtido na diviso, at que o quociente obtido seja igual a 1.
Terminado o processo, para encontrar a representao do nmero na
base binria precisamos apenas escrever do ltimo quociente obtido,
seguido dos restos encontrados nas etapas de converso na ordem
inversa em que foram obtidos. Veja nos exemplos a seguir como esta
tcnica rpida e prtica:
45
Infraestrutura de Hardware
Aplique agora esta tcnica para verifcar como fcariam os nmeros
a seguir quando expressos na base binria. Depois, aproveite para
verifcar se os valores encontrados em binrio esto corretos aplicando
a notao posicional a cada um deles, faa como demonstramos na
Figura 24.
a) 25 =
b) 83 =
c) 142 =
d) 65 =
e) 17 =
f) 39 =
Bem prtico, no mesmo?
Para fnalizar, vamos ver uma segunda tcnica de converso que
podemos utilizar para converter nmeros pequenos, menores que
128, que podemos utilizar tanto para converter da base decimal para
a base binria como da base binria para a base decimal. A esta
tcnica chamaremos de converso direta.
46
Infraestrutura de Hardware
2.8 Tcnica de Converso Direta
A ideia por trs da converso direta decorar os pesos a serem
atribudos a cada um dos oito primeiros dgitos dos nmeros expressos
na base binria. Por difcil que possa parecer, esta tarefa at bem
simples, uma vez que comeando do bit menos signifcativo, o LSB,
o qual ponderado com 2
0
, a cada dgito que andarmos esquerda
simplesmente multiplicamos o valor do ultimo dgito por dois. A Figura
25 a seguir nos traz os valores a serem utilizados.
Figura 25 Pesos a serem atribudos aos primeiros 8 dgitos de um nmero
escrito na base decimal
Desta forma, para convertermos um nmero de binrio para
decimal, basta observar pela fgura em quanto devemos ponderar
cada dgito do nmero dado, somado os valores obtidos, exatamente
como faramos com um nmero expresso na base decimal.
Com um pouco de prtica, ao longo do tempo, mesmo sem
perceber acabamos decorando os pesos a serem atribudos a cada
um dos dgitos, de tal forma que ao ver um nmero, instintivamente,
ponderaremos o primeiro dgito por um, o segundo por dois, o terceiro
por quatro e assim por diante.
Desta forma, a tarefa de converter um nmero da base binria para
a base decimal ser quase to simples como trabalhar diretamente
com nmeros da base decimal.
Que tal fazermos um teste? Utilizando os valores indicados na
Figura 25, tente converter os nmeros a seguir da base binria para a
base decimal. Veja na letra a um exemplo de como proceder.
a) 10101010
2
= 2 + 8 + 32 + 128 = 170
b) 01010101
2
c) 10010011
2
d) 11110011
2
47
Infraestrutura de Hardware
e) 11000111
2
Muito fcil, no mesmo?
Vejamos agora como podemos utilizar esta mesma tcnica para
converter um nmero da base decimal para a base binria.
Partindo do princpio que todo e qualquer valor deve ser expresso na
forma de um somatrio de termos, ou seja, na forma de um somatrio
dos valores apresentados na Figura 25, podemos simplesmente fazer a
operao inversa, e passarmos a efetuar subtraes sucessivas entre
o nmero a ser convertido e os valores apresentados, assinalando os
termos que estamos utilizando.
Os nicos cuidados que devemos tomar sempre comear nossas
subtraes pelo maior nmero que for possvel subtrair, de forma a
obter o menor resto possvel, e ir assinalando os nmeros que forem
sendo utilizados.
Ao fm do processo, quando obtivermos o resto zero em nossas
subtraes, basta simplesmente formar a nossa representao em
binrio substituindo os nmeros que foram utilizados por 1 e os que
no foram utilizados por 0.
Tomemos como exemplo o nmero 26, vamos tentar convert-lo
para a base binria utilizando a tcnica da converso direta.
Figura 26 Exemplo de converso para a base binria utilizando a converso direta
Agora tente voc mesmo, converta os nmeros a seguir para a
base binria utilizando a converso direta.
a) 35
b) 24
48
Infraestrutura de Hardware
c) 72
d) 47
Muito fcil, no mesmo?
Para fnalizar esta primeira parte do nosso estudo, vamos ver como
podemos converter os nmeros fracionrios da base decimal para a
base binria.
2.9 Nmeros Fracionrios na Base Binria
A representao dos nmeros fracionrios na base binria se d
exatamente da mesma forma como aprendemos na base decimal.
Para comear, vamos relembrar como ponderamos os dgitos
utilizados para representar a parte fracionria de um numero na base
decimal. Por exemplo, qual a diferena dos pesos atribudos aos
dgitos de 10,0 e 0,1? Observe a Figura 27 a seguir.
Figura 27 Exemplo de pesos atribudos aos dgitos de um nmero fracionrio
Veja que, no primeiro caso, o 1 antes da vrgula foi ponderado com
10
1
, ou seja, por dez mesmo. J no segundo caso, o 1 aps a vrgula
foi ponderado com 10
-1
, ou seja, por . Nos dois casos, o nmero
1 estava uma posio distante da posio das unidades, que a
primeira posio a esquerda da vrgula. Ambos foram ponderados
de acordo com a sua posio, s que no primeiro nmero, como o 1
estava esquerda da vrgula, este foi ponderado positivamente e o
que estava a direita negativamente.
Desta forma, dizemos que os dgitos reservados representao
da parte fracionria, os quais so colocados direita da vrgula,
so ponderados negativamente, enquanto que os reservados
parte inteira, os que fcam esquerda da vrgula so ponderados
positivamente.
49
Infraestrutura de Hardware
Esta tambm a estratgia adotada para a representao dos
nmeros fracionrios na base binria. Da mesma forma que na base
decimal, dividem-se os dgitos por uma vrgula, fcando os da esquerda
reservados para a representao da parte inteira e os da direita para
a parte fracionria.
Vejamos alguns exemplos:
Para efetuarmos a converso de um nmero fracionrio da base
decimal para a base binria, podemos ou utilizar o processo de
converso direta, conforme acabamos de ver, apenas incluindo os
valores a serem atribudos aos dgitos direita da vrgula, ou podemos
utilizar um algoritmo muito semelhante ao adotado para converso
por divises sucessivas, s que em vez de divises efetuaremos
multiplicaes sucessivas.
2.10 Algoritmo de Converso por
Multiplicaes Sucessivas
O processo de converso de um nmero fracionrio da base
decimal para a base binria pode ser efetuado de maneira simples e
direta a partir do seguinte algoritmo.
Dado um nmero a ser convertido, separe a parte inteira da parte
fracionria. Primeiramente converta a parte inteira atravs de uma das
tcnicas j apresentadas. Feito isto, podemos passar converso da
parte fracionria da seguinte forma:
1. Verifque se a parte fracionria do nmero a ser convertido
igual a zero. Em caso afrmativo, o processo de converso
se encerra e a sequncia de dgitos obtida a representao
desejada.
2. Caso a parte fracionria seja diferente de zero, multiplique esta
50
Infraestrutura de Hardware
por dois. Anote e subtraia o primeiro dgito da parte inteira do
resultado obtido. Este dgito dever ser colocado direita dos
dgitos j obtidos durante o processo de converso da parte
inteira.
3. Retorne ao primeiro passo do algoritmo.
O exemplo a seguir demonstra como devemos aplicar este
algoritmo.
Figura 28 Demonstrao do algoritmo de converso de Nmeros Fracionrios da Base
Decimal para a Base Binria
Tente agora converter os seguintes nmeros fracionrios para a
base binria:
a) 0,125
b) 7,750
c) 0,1875
2.11 Operaes Aritmticas na Base Binria
Agora que j conhecemos a base binria e como podemos
utiliz-la para representar valores numricos inteiros e fracionrios,
podemos passar a estudar como efetuar as duas principais operaes
aritmticas nesta base.
51
Infraestrutura de Hardware
Lembre-se, como comentamos a princpio, nosso principal objetivo
ao estudarmos a base binria buscar entender como as Unidades
Lgicas e Aritmticas dos processadores funcionam, e como estas
conseguem operar com os nmeros representados na base binria.
Operao de Adio
De um modo geral podemos dizer que no existem grandes
diferenas entre as operaes de adio que ns efetuamos utilizando
a base decimal, e as operaes de adio que as Unidades Lgicas
e Aritmticas dos processadores efetuam utilizando a base binria.
Na verdade, a nica coisa que muda o valor no qual ocorre o nosso
conhecido vai um.
Nas Figuras 28, 29, 30 e 31 a seguir, temos alguns exemplos de
operaes de adio efetuadas tanto na base decimal quanto na base
binria.
Vamos primeiro analisar o que ocorre em uma operao de adio
na base decimal. Acompanhe nosso raciocnio na Figura 29 a seguir.
Figura 29 Exemplos de ocorrncia de vai um na base decimal
Como sabemos, a soma de dois nmeros quaisquer sempre
efetuada a partir de somas parciais efetuadas par a par sobre cada um
dos seus algarismos. Somamos primeiro as unidades, em seguida as
dezenas, as centenas e assim por diante. E, sempre que o resultado
de uma destas somas parciais for maior que nove, o que caracteriza
um estouro da base, efetuamos um vai um, correspondente ao
dgito das dezenas do resultado obtido, fcando apenas o dgito
correspondente a parte das unidades para ser registrado na posio
onde ocorreu a adio.
Eu tenho certeza que voc j est cansado(a) de saber disto, no
mesmo?
Pois bem, para nossa felicidade a operao de adio na base
binria at bem mais simples do que isto. Lembre-se que a base
binria possui apenas dois smbolos, o zero e o um, e isto por si s
j simplifca muito as coisas. Uma operao de adio entre dois
52
Infraestrutura de Hardware
algarismos da base binria s pode assumir uma das seguintes
confguraes: 0 + 0, 0 + 1, 1 + 0 e 1 + 1. No podia ser mais fcil,
no mesmo?
Vamos comear com algo bem simples, acompanhe a operao
do exemplo da Figura 30 a seguir.
Figura 30 Exemplo de ocorrncia de vai um na base binria
Observe os passos 1 e 2 de nossa operao. Como voc deve
ter notado sempre que um resultado parcial for maior que 1, o que
indica um estouro da base binria, a exemplo do que ocorre com
a base decimal quando um resultado parcial maior que nove,
precisamos fazer um vai um para o dgito seguinte. Como em ambos
os casos os resultados parciais so iguais a dois, e como dois em
binrio representado como 102, efetuaremos um vai um e fca zero.
Exatamente como fzemos no exemplo a da Figura 29 quando o
resultado de uma soma parcial foi igual a onze.
Observemos agora o nosso prximo exemplo:
Figura 31 Mais um exemplo de ocorrncia de vai um na base binria
Aqui, alm do vai um e fca zero ocorrido na operao anterior,
53
Infraestrutura de Hardware
temos tambm um vai um e fca um, resultante da operao 1+1+1
ocorrido no passo dois. Como todos sabemos, 1+1+1 igual a 3
e como 3 em binrio igual a 11, semelhana do que vimos no
exemplo b da Figura 29, precisamos fazer um "vai um e fca um a fm
de propagar o estouro da base observado no resultado obtido.
Muito simples, no mesmo? Nosso nico cuidado deve ser
observar corretamente quando efetuar o vai um, que em binrio
ocorre sempre que o resultado for maior que 1. O restante da
operao ocorre exatamente como estvamos acostumados operando
com a base decimal.
Agora, para terminar, observemos na Figura 32 a seguir o que
pode ocorrer quando somamos mais de dois nmeros de uma vez s
em binrio.
Figura 32 Exemplo de "vai um e zero e fca um em binrio
Neste exemplo, temos uma situao bem peculiar, que difcilmente
observaramos na base decimal. No segundo passo da nossa
operao, quando somamos 1 + 1 + 1 + 1 temos um vai um e zero e
fca zero, ou seja, temos a propagao de um vai um para a mais de
uma casa esquerda da posio que estamos operando. Isto ocorre
porque, em decimal, 1 + 1 + 1 + 1 igual a 4 e 4 em binrio 100,
54
Infraestrutura de Hardware
desta forma, como sempre fcamos apenas com o primeiro dgito
passando os restantes para as casas seguintes, temos que fazer
um vai um e zero e fca zero.
Muito estranho, no mesmo? Mas voc no tem com o que se
assustar, a regra sempre a mesma, primeiramente some os dgitos
da operao parcial, exatamente como se estivesse operando na base
decimal, em seguida converta o resultado obtido para binrio, por
fm preserve apenas o dgito menos signifcativo do resultado obtido,
propagando os demais dgitos em uma operao do tipo vai n.
Operao de Subtrao
Por questes de economia, a fm de reduzir o tamanho e a
complexidade do hardware empregado, as Unidades lgicas e
Aritmticas dos processadores convertem as operaes de subtrao
em operaes de adio entre o primeiro operando (minuendo) e o
inverso do segundo operando (subtraendo).
Como era de se esperar, e como podemos ver pela expresso a
seguir, apesar de reduzir enormemente o hardware necessrio nas
Unidades Lgicas e Aritmticas, isto em nada altera o resultado
obtido.
Desta forma, uma vez que j sabemos como se processa uma
operao de adio na base binria, a nica coisa que precisamos
aprender para efetuar uma operao de subtrao na base binria
aprender como podemos representar o inverso de um nmero nesta
base.
Antes disto, entretanto, precisamos defnir claramente o que
o inverso de um nmero. Isto ser muito importante para que
compreendamos o que iremos fazer para representar os nmeros
negativos na base binria.
Em qualquer sistema numrico, o inverso de um nmero aquele
que somado ao primeiro, tem zero como resultado.
Na base decimal, por conveno, representamos um nmero
negativo da mesma forma que representamos um nmero positivo,
com a nica diferena que o nmero negativo ser precedido pelo
Fique
por Dentro
comum nos
referirmos s
posies que
os dgitos de
um nmero
ocupam como
casas. Como, por
exemplo, a casa
das unidades
ou a casa das
centenas.
55
Infraestrutura de Hardware
sinal -. Este padro de representao que simplesmente associa um
sinal de - para formar a representao de um nmero negativo,
conhecido como representao de Magnitude e Sinal.
Na base binria alm da representao de Magnitude e Sinal temos
tambm uma outra, conhecida como representao de Complemento
a Dois.
Como j dissemos, dentro da Unidade Lgica e Aritmtica de um
processador todos os nmeros so representados utilizando apenas
as base binria. Nem mesmo os sinais de + e - existem. De um
modo geral, tanto na representao de Magnitude e Sinal quanto na
representao de Complemento a Dois, adota-se reservar o dgito
mais signifcativo ou MSB (Most Signfcant Bit), para sinalizar se um
nmero positivo ou negativo. Normalmente utiliza-se o 0 para
indicar que o nmero positivo e o 1 para indicar que o nmero
negativo.
No sistema de Magnitude e Sinal, a semelhana do que ocorre
na base decimal, simplesmente ajustamos o MSB para indicar se o
nmero positivo ou negativo, deixando o restante da representao
inalterada. A Figura 33 a seguir demonstra como fcaria a representao
de alguns nmeros positivos e negativos neste sistema.
Figura 33 Representao no sistema Magnitude e Sinal
Observe que este sistema apresenta duas incoerncias:
Em primeiro lugar, permite duas representaes distintas para o
zero, uma positiva e outra negativa.
E, em segundo lugar, se tentarmos operar a soma de um nmero
com o seu inverso, nos moldes do que aprendemos at agora para
a base binria, no obteremos zero como resultado. Ou seja, a
representao de Magnitude e Sinal muito til e interessante para
ns seres humanos, mas para os computadores um verdadeiro
desastre. Por este motivo, os sistemas computacionais normalmente
adotam a representao de Complemento a Dois como representao
padro para os nmeros dentro das Unidades Lgicas e Aritmticas.
Saiba Mais
O termo
Magnitude e
Sinal indica
que temos uma
representao
baseada na
magnitude
do nmero
representado,
ou seja, o
seu mdulo,
associado a um
sinal algbrico
que indica
se este um
nmero positivo
ou negativo.
Normalmente
no se exige o
uso do sinal +
para indicar que
um nmero
positivo.
Saiba Mais
Apesar de
tambm possuir
uma indicao
do sinal
algbrico, ou
seja, de sinalizar
claramente se um
nmero positivo
ou negativo, a
representao
em complemento
a dois, como
iremos ver um
pouco mais a
frente, adota
estratgias
diferentes
para registrar
a magnitude
ou o tamanho
de nmeros
negativos e
positivos.
56
Infraestrutura de Hardware
Notao de CompIemento a Dois
A Notao de Complemento a Dois no apenas corrige o problema
da indicao de zero negativo e positivo como tambm permite
expressar convenientemente o inverso de um nmero, de tal forma
que a adio deste com o seu inverso, em binrio, resulte em zero
binrio.
Considere um nmero N
2
qualquer expresso na base binria. Se
existe uma representao para em (-N
2
) em binrio, esta representao
deve ser tal que:
Figura 34 Defnio do inverso de um nmero em binario
Ou seja, se (-N
2
) existir, este certamente pode ser obtido pela
operao subtrao do prprio N
2
da representao do zero em
binrio (0
2
).
Sendo assim, s para comear tentemos encontrar uma
representao para o inverso do nmero 1

em binrio, ou seja, uma
representao para (-1), de tal forma que quando somarmos esta
representao ao prprio 1 em binrio obtenhamos o zero binrio
como resultado.
Antes de qualquer coisa, precisamos primeiramente defnir
quantos dgitos a nossa representao ter. Isto importante porque,
conforme dissemos a princpio, o MSB de um nmero em binrio deve
ser reservado para indicar se este positivo ou negativo. Desta forma,
apenas por conveno, vamos adotar uma representao baseada
em uma palavra de 8 bits. Feito isto, acompanhemos agora os demais
passos apresentados na Figura 35 a seguir.
Observe que comeamos defnindo uma representao para o
zero e outra para o um. Observe tambm que o MSB de ambos os
nmeros zero, o que indica que ambos so nmeros positivos.
No passo 1, exatamente como faramos na base decimal,
comeamos nossa operao subtraindo os primeiros algarismos
da representao do um e do zero, que, por coincidncia so
respectivamente 1 e 0.
Como 1 maior que 0, precisamos pedir algo emprestado para
57
Infraestrutura de Hardware
que possamos continuar a nossa operao. Esta operao de pedir
emprestado, em binrio tambm conhecida como vem um.
Entretanto, como podemos ver, o segundo dgito da representao
tambm zero, ou seja, no pode emprestar nada ao primeiro. O
terceiro, o quarto, o quinto, o sexto,o stimo e at o oitavo dgitos
so todos iguais a zero. Ou seja, aparentemente nossa operao
no pode continuar. Lembre-se, se estivssemos operando na base
decimal, ns simplesmente inverteramos a operao e o sinal do
seu resultado. Aqui em vez disto, como podemos ver no passo dois,
faremos um vem um externo que, como veremos, no apenas
inverter o sinal do nosso nmero como tambm nos permitir
concluir convenientemente nossa operao de subtrao.
Um detalhe importante aqui, como podemos ver pelo passo 3,
que, diferente do que ocorre na base decimal aonde um vem um
signifca somar dez ao dgito anterior, na base binria o vem um
signifca somar dois ao dgito anterior. Desta forma, ao se propagar, o
nosso vem um vai fazendo com que todos os dgitos menos o LSB
da representao do zero fquem igual a 1, conforme podemos ver
pelo passo quatro da nossa operao. Como o LSB no vai emprestar
para ningum, este fca com valor igual a dois ou "10 na base binria,
conforme podemos ver no passo 5 da nossa operao.
Figura 35 Estratgia para encontrar uma representao para -1 na base binria
Agora sim, feita a propagao do vem um externo, podemos
completar nossa operao subtrao, tendo como resultado 11111111
2
,
58
Infraestrutura de Hardware
que a nossa representao para (-1) na notao de complemento
a dois.
Como voc pode perceber, ainda que um pouco trabalho, o
processo todo at bem simples.
Vamos agora verifcar se o valor que encontramos para representar
o (-1), atende a prerrogativa estabelecida, ou seja, se a sua adio
com a representao do 1 utilizada para obt-la resulta em zero.
Para tanto, vamos somar a representao encontrada com a
representao para o nmero 1 anteriormente utilizada.
Figura 36 Verifcando se a representao de -1 encontrada est correta
Como podemos ver, com exceo do vai um para o nono dgito,
todos os demais resultaram igual a zero, o que uma representao
vlida para o zero no formato de nmero binrio adotado.
O vai um do nono dgito ser considerado apenas como o inverso
do vem um externo ocorrido na operao de obteno do (-1), sendo
desta forma apenas uma indicao da inverso do sinal do resultado.
Observe que este processo no apenas atendeu prerrogativa
estabelecida, como indica corretamente o sinal do nmero
representado. Observe que o MSB da representao para o (-1)
igual a 1, indicando que este um nmero negativo. Ao passo que o
MSB da representao para o (1) igual a zero, indicando que este
um nmero positivo.
Muito interessante, no mesmo?
Vamos agora ver um processo bem mais simples e prtico de obter
este mesmo resultado.
Na verdade, a representao em Complemento a Dois recebe
este nome devido ao algoritmo que iremos apresentar agora.
59
Infraestrutura de Hardware
Dado um nmero qualquer, inverta o valor de todos os seus dgitos,
ou seja, aonde tiver 1 coloque 0 e aonde tiver 0 coloque 1. Este
processo recebe o nome de complemento a um, ou simplesmente
complemento.
Adicione 1 ao resultado obtido e, como num passe de mgica,
obtenha o inverso do nmero que estava procurando.
Na Figura 37 a seguir, temos uma demonstrao deste algoritmo
aplicado para obter o inverso de 1.
Figura 37 Aplicao do algoritmo de converso de nmeros para complemento a dois
Muito interessante, no mesmo?
Este algoritmo pode ser aplicado a qualquer nmero expresso
na base binria. Mesmo um nmero negativo pode ser invertido e
transformado em um nmero positivo por este processo. No exemplo
a seguir temos este processo aplicado para encontrar o inverso da
representao de (-1) em complemento a dois.
Figura 38 Aplicao do algoritmo e converso para complemento a dois aplicado a um
nmero negativo
Para fnalizar nosso estudo das operaes aritmticas na base
binria, que tal verifcar o que aprendemos fazendo alguns exerccios?
60
Infraestrutura de Hardware
A seguir tem alguns exemplos j resolvidos. Tente faz-los por si
mesmo, e no fnal compare os resultados obtidos. Em todos eles ns
iremos adotar o padro binrio de 8 bits em complemento a dois. Para
os nmeros negativos, primeiramente vamos represent-los como
nmeros positivos e em seguida convert-los para nmeros negativos
no padro de complemento a dois.
a) 7 5 = 00000111 (00000101) = 00000111 + 11111011 =
00000010 (2)
b) 13 45 = 00001101
2
(00101101
2
) = 00001101
2
+ 11010011
2
=
11100000
2
(-32)
c) -21 43 = -(00010101
2
)-(00101011
2
) = 11101011
2
+ 11010101
2

= 111000000
2
(-64)
d) -35 + 102 = -(00100011
2
) + 1100110
2
= 11011101
2
+ 01100110
2
=
01000011
2
(67)
2.12 Poder de Representao da Base Binria
Nesta ltima parte do nosso estudo, vamos dar uma paradinha
e considerar o poder de representao desta base numrica to
importante. Para tanto, comecemos tentando respondendo algumas
perguntas, que at certo ponto podem parecer meio confusas, mas
que ao respondermos, nos daro uma viso mais clara deste ponto
to importante.
1. Quantos nmeros podemos representar na base binria,
adotando uma representao sem sinal, com uma palavra
de N bits? E ainda, quais seriam o maior e o menor nmero
representveis para uma palavra deste tamanho?
2. E se adotssemos uma representao com sinal, digamos em
complemento a dois, o que mudaria em nossos valores? Nesta
condio, quantos nmeros poderamos representar e qual
seria o maior e o menor deles?
3. Quantos bits, ou dgitos, seriam necessrios para representar
um nmero R qualquer, dado originalmente na base decimal,
se adotssemos uma representao utilizando a base binria
em uma notao com e sem sinal?
Para responder estas perguntas, pensemos um pouco... Vamos
comear com a base numrica que estamos mais acostumados.
61
Infraestrutura de Hardware
Vamos primeiramente analisar a base decimal e depois vamos aplicar
as nossas concluses base binria.
Quantos nmeros podemos representar na base decimal se
adotarmos um formato N dgitos? Acompanhe nosso raciocnio pela
Figura 39 a seguir.
Figura 39 Quantidade de nmeros representveis na base decimal com N dgitos
Observe que cada dgito que inclumos em nossa representao nos
permite multiplicar por dez a quantidade de nmeros representveis.
Com 1 dgito, se representarmos apenas nmeros positivos podemos
representar at 10 nmeros, entre 0 e 9. Com 2 dgitos podemos
representar at 100 nmeros, entre 0 e 99. Com 3 dgitos at 1000
nmeros, 0 e 999 e assim por diante.
Vamos agora aplicar a mesma anlise para a base binria.
Acompanhe na Figura 40 a seguir:
Figura 40 Quantidade de nmeros representveis na base binria com N dgitos
Voc percebeu que com a base binria ocorre algo semelhante ao
que tnhamos observado na base decimal?
A cada novo dgito que inclumos multiplicamos o total de nmeros
representveis por 2, ou seja, da mesma forma que na base decimal,
a cada novo dgito que inclumos multiplicamos o total de nmeros
representveis pela quantidade de smbolos da base adotada.
62
Infraestrutura de Hardware
Observe ainda que, tanto na base decimal quanto na base binria,
como estamos representando apenas nmeros sem sinal, ou seja,
apenas nmeros positivos, o menor nmero representvel foi sempre
o zero e o maior foi sempre igual a
N-1
, onde = base numrica
adotada e N a quantidade de dgitos utilizados.
Verifque por voc mesmo... Quantos nmeros voc pode formar
na base decimal com 5 dgitos? E na base binria, quantos nmeros
voc poderia formar com os mesmos 5 dgitos?
Por fm, vamos agora observar o que acontece quando utilizamos
a base binria para representar nmeros com sinal, ou seja, nmeros
positivos e negativos.
Como voc deve estar lembrado, tanto no padro de Magnitude e
Sinal quanto no padro de Complemento a Dois, o bit mais signifcativo,
o MSB, deve ser reservado para representao do sinal do nmero.
Ou seja, dos N bits que temos apenas N-1 so efetivamente utilizados
para representar a magnitude ou o valor do nmero.
Observe as Figuras 41 e 42 a seguir.
Figura 41 Quantidade de nmeros representveis com N dgitos no padro de Magnitude
e Sinal
63
Infraestrutura de Hardware
Figura 42 Quantidade de nmeros representveis com N dgitos no padro de
Complemento a Dois
Voc conseguiu perceber que tanto no padro de Magnitude
e Sinal como de Complemento a Dois o total de nmeros gerados
continua sempre igual a E
N
?
Observe com bastante ateno, este no um detalhe fcil de ser
percebido. Veja por exemplo no padro de Complemento a Dois, na
ltima parte da Figura 42. Se somarmos a quantidade de nmeros
positivos, a quantidade de nmeros negativos e o zero teremos:
Agora tente fazer o mesmo para o padro de Magnitude e Sinal e
veja se voc consegue confrmar este mesmo resultado.
Para fnalizar a nossa anlise, temos na tabela da Figura 43 a
seguir um comparativo entre as representaes de nmeros com
sinal e sem sinal para uma palavra de 4 bits.
64
Infraestrutura de Hardware
Representao com Sinal Representao sem Sinal
Notao de
Complemento a
Dois
2
(
N
-
1
)
-
1

N

m
e
r
o
s

P
o
s
i
t
i
v
o
s
0111 7
0110 6
0101 5
0100 4
0011 3
0010 2
0001 1
Zero 0000 0
2
(
N
-
1
)

N

m
e
r
o
s

N
e
g
a
t
i
v
o
s
1111 -1
1110 -2
1101 -3
1100 -4
1011 -5
1010 -6
1001 -7
1000 -8
Notao de
Magnitude e Sinal
2
(
N
-
1
)
-
1

N

m
e
r
o
s

P
o
s
i
t
i
v
o
s
0111 7
0110 6
0101 5
0100 4
0011 3
0010 2
0001 1
Zero 0000 0
- Zero 1000 -0
2
(
N
-
1
)
-
1

N

m
e
r
o

N
e
g
a
t
i
v
o
s
1001 -1
1010 -2
1011 -3
1100 -4
1101 -5
1110 -6
1111 -7
Binrio sem Sinal
2
(
N
)
-
1

N

m
e
r
o
s

P
o
s
i
t
i
v
o
s
1111 15
1110 14
1101 13
1100 12
1011 11
1010 10
1001 9
1000 8
0111 7
0110 6
0101 5
0100 4
0011 3
0010 2
0001 1
Zero 0000 0
Figura 43 Comparativo entre o poder de representao para nmeros representados em
Complemento a Dois, Magnitude e Sinal e Binrio sem Sinal, para uma palavra binria com
4 bits
Para concluir nosso estudo da base binria, que tal aprendermos
mais um mtodo para encontrar o inverso de um nmero no padro de
Complemento a Dois? Este mtodo que iremos aprender agora tem
a vantagem de ser extremamente simples para ns, seres humanos,
ainda que extremamente complexo para a Unidade Lgica e Aritmtica
executar, motivo pelo qual no muito utilizado na prtica.
Para converter um nmero em seu inverso, simplesmente execute
os seguintes passos:
1. Dado um nmero qualquer, expresso no padro de Complemento
a Dois, comece a percorrer todos os seus bits da direita para a
esquerda, parando no primeiro bit igual a 1 que encontrar.
2. Inverta o valor de todos os bits que estiverem esquerda deste
primeiro bit encontrado.
65
Infraestrutura de Hardware
3. O resultado obtido ser o inverso do nmero dado no padro
de Complemento a Dois. Ou seja, se o nmero dado for positivo
o resultado ser a sua representao negativa, e se este for
negativo o resultado ser a sua representao positiva.
Os exemplos das Figuras 44 e 45 a seguir nos demonstram como
podemos aplicar este mtodo tanto para nmeros positivos como
negativos.
Figura 44 Exemplos de converso de nmeros positivos para negativos no padro de
Complemento a Dois pelo mtodo simplifcado
Figura 45 Exemplos de converso de nmeros negativos para positivos no padro de
Complemento a Dois pelo mtodo simplifcado
66
Infraestrutura de Hardware
Para concluir nosso estudo da base binria, nos falta ainda
responder nossa terceira e ltima questo: Quantos dgitos, ou bits,
precisamos para representar um nmero R qualquer?
A resposta desta questo est intimamente ligada ao que acabamos
de estudar, no tocante ao poder de representao da base binria.
Como acabamos de aprender, se adotarmos uma palavra com N
bits poderemos representar nmeros entre 0 e 2
N
-1 no padro binrio
sem sinal e entre -2
N-1
e 2
N-1
-1 no padro de Complemento a Dois.
Desta forma, para defnir quantos bits, ou qual o N que precisamos
adotar para representar um numero R qualquer na base binria
precisamos simplesmente resolver a seguinte equao.
, ou seja:
Acompanhe os exemplos a seguir:
1. Quantos bits, no mnimo, seriam necessrios para representar
o nmero 237 na base binria sem sinal?
Como teremos que utilizar uma palavra com 8 bits
2. Quantos bits, no mnimo, seriam necessrios para representar
o nmero 87 na base binria sem sinal?
Como teremos que utilizar no mnimo 7 bits
3. Quantos bits, no mnimo, seriam necessrios para representar
o nmero 87 na base binria no padro de Complemento a
Dois?
Lembrete
Lembre-se que, no padro de Complemento a dois e de Magnitude e Sinal
alm dos bits normalmente utilizados, ns precisamos incluir um bit a mais
para representar o sinal do nmero. Desta forma, como j havamos calculado
que seriam necessrios 7 bits para represent-lo sem sinal, precisaremos,
ento, de 8 bits para represent-lo no padro de Complemento a Dois.
4. Quantos bits, no mnimo, seriam necessrios para representar
o nmero -35 na base binria no padro de Complemento a
Dois?
Como , e como temos que incluir um bit a mais para
67
Infraestrutura de Hardware
representar o sinal do nmero, teramos que utilizar no mnimo
7 bits.
Com isto conclumos nosso estudo da base binria. Acompanhe
agora os exerccios propostos no seu Caderno de Exerccios para
fxar o que voc aprendeu.
2.13 Bases Octal e Hexadecimal
Conforme dissemos no incio do nosso estudo, as bases numricas
so defnidas a fm de simplifcar o dia a dia de quem as utiliza.
A base binria, por exemplo, extremamente prtica para ser
empregada na Unidade Lgica e Aritmtica dos computadores, pois
permite implementar circuitos simples e efcazes.
Por outro lado, esta mesma base binria extremamente confusa
para ns, seres humanos. Nossa mente est melhor adaptada a
trabalhar com a informao em um grau maior de abstrao.
Desta forma, a fm de simplifcar o trabalho com valores
originalmente expressos na base binria, foram defnidas duas outras
bases numricas, as bases octal e hexadecimal.
Estas bases oferecem a vantagem de permitir o mapeamento, ou
converso, direta dos valores expressos na base binria. Desta forma,
a converso entre a base binria e as bases octal e hexadecimal, e
vice versa, ocorre de maneira simples e natural.
Conforme vimos, a base octal possui apenas oito smbolos,
{0, 1, 2, 3, 4, 5, 6, 7}. E, como vimos no nosso estudo da base binria,
para representar valores entre zero e sete precisamos exatamente de
3 bits, ou dgitos, binrios. Ou seja, para fazermos a converso entre
a base binria e a base octal basta que agrupemos os bits utilizados
em palavras de 3 bits, susbtitundo-os pelo seu valor equivalente pela
notao posicional. A converso da base octal para a base binria
se d exatamente pelo caminho inverso, ou seja, simplesmente
substitumos cada smbolo da base octal pelo seu equivalente na
base binria. O nico cuidado que precisamos ter nesta converso
que cada smbolo da base octal equivale a 3 bits da base binria e
vice-versa.
Observe os exemplos de converso apresentados na Figura 46 a
seguir:
68
Infraestrutura de Hardware
Figura 46 Exemplos de converses entre a base binria e a base octal e vice-versa
Muito simples, no mesmo?
Com a base hexadecimal no diferente. Como esta base possui
exatamente 16 smbolos, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D. E, F},
podemos associar cada um dos seus smbolos a 4 bits, ou um nibble,
da base binria.
A converso entre a base binria e a base hexadecimal se d
exatamente da mesma forma que acabamos de ver com a base octal.
Veja alguns exemplos na Figura 46 a seguir:
Figura 47 Exemplos de converses entre a base binria e a base hexadecimal a vice-
versa
Atualmente, a base octal se encontra praticamente em desuso,
havendo quase uma hegemonia da base hexadecimal. Mesmo assim,
devido ao seu valor histrico, muito importante que aprendamos
a operar com nmeros tanto na base octal quanto na base
hexadecimal.
A fm de evitar ambiguidades, todas as linguagens de programao
utilizam algum tipo de indicao para identifcar a base numrica
adotada em determinado nmero. Normalmente utiliza-se um prefxo
ou um sufxo no lugar do subscrito que temos adotado em nosso texto.
Os padres mais utilizados so:
Base Hexadecimal: utiliza-se o prefxo "0x antes do nmero.
Por exemplo: 0xA3, 0x37, 0xAA35, e assim por diante.
Base Octal: utilizam-se apenas a letra "O como prefxo. Por
exemplo: O35, O71, O11, e assim por diante.
Base Binria: A maioria das linguagens existentes atualmente
no d suporte direto a dados expressos na base binria. Desta
forma, o artifcio mais comum, quando necessrio, lanar mo
Ateno
O termo Nibble
signihca
literalmente meio
byte, ou seja 4
bits.
69
Infraestrutura de Hardware
do mapeamento existente entre esta base e as bases octal a
hexadecimal.
Converso das bases Octal e Hexadecimal para
Decimal
A converso de nmeros escritos tanto da base octal quanto
da base hexadecimal para a base decimal se d exatamente da
mesma forma como fzemos na base binria, ou seja, pela aplicao
da notao posicional. Para tanto, utilizamos o somatrio visto na
Figura 12, apenas lembrando que devemos substituir o pelo valor
correspondente base adotada. Devemos lembrar tambm que as
letras utilizadas como smbolos da base hexadecimal possuem valor
numrico, ou seja, devemos lembrar que na base hexadecimal o
smbolo A equivale a 10, o B equivale a 11, o C equivale a 12, o D
equivale a 13, o E equivale a 14 e o F equivale a 15.
Vejamos os exemplos a seguir:
a) 0x36 = 3x16
1
+ 6x16
0
-= 54
b) 0xAA = 10x16
1
+ 10x16
0
160+10 = 170
c) 0x378 = 3x16
2
+ 7x16
1
+ 8x100 = 888
d) O35 = 3x8
1
+ 5x8
0
= 64
e) O77 = 7x8
1
+ 7x8
0
= 31
f) O121 = 1x8
2
2x8
1
+ 1x8
0
= 81
Converso da base Decimal para as bases Octal e
Hexadecimal
As converses da base decimal para as bases octal e hexadecimal
podem ser efetuadas de duas maneiras. A primeira atravs de uma
variao do algoritmo apresentado para a converso da base decimal
para a binria, que denominamos de tcnica por divises sucessivas.
A segunda convertendo o nmero primeiramente para binrio e
depois fazendo a converso direta para a base desejada, octal ou
hexadecimal.
Como todos j sabemos converter da base decimal para a base
binria, vamos demonstrar apenas como converter utilizando a
variao do algoritmo de divises sucessivas. Vamos comear pela
base octal. Observe os exemplos da Figura 48 a seguir.
70
Infraestrutura de Hardware
Figura 48 Exemplos de converso da base decimal para a base octal
Agora vamos ver como fca a converso para a base hexadecimal.
Observe a Figura 49 a seguir.
Figura 49 Exemplos de converso da base decimal para a base hexadecimal
Muito simples, no mesmo?
Agora que j sabemos como converter e representar nmeros
nas bases octal e hexadecimal, nos falta apenas ver como fcam as
operaes de adio e subtrao nestas bases.
71
Infraestrutura de Hardware
A primeira coisa que devemos ter em mente ao pensar na execuo
das operaes aritmticas nas bases octal e hexadecimal que estas
bases nada mais so do que uma outra forma de ver a base binria.
Ou seja, que estas bases na verdade apenas apresentam os valores
obtidos na base binria de uma forma mais agradvel para o ser
humano.
A operao de adio permanece exatamente como fazemos na
base decimal, com a nica diferena com o valor no qual ocorre o vai
um, que em octal ocorre quando o resultado parcial for maior que 7 e
em hexadecimal quando o resultado parcial for maior que 15.
Para a operao de subtrao, por sua vez, devemos levar em
conta todas as consideraes feitas para a base binria, ou seja,
que na Unidade Lgica e Aritmtica dos computadores todas as
operaes de subtrao so substitudas por operaes de adio
entre o primeiro operando e o inverso do segundo operando.
Pelos motivos j expostos, mesmo nas bases octal e hexadecimal
adotamos o formato de Complemento a Dois para representar o
inverso de um nmero.
Assim sendo, a estratgia mais interessante para as operaes de
subtrao nas bases octal e hexadecimal, quando os operandos j
no estiverem expressos no formato de Complemento a Dois, dever
ser:
Primeiramente converter os operandos para a base binria;
Transformar o subtrator para o seu inverso, em Complemento a Dois, por uma
das tcnicas apresentadas;
Efetuar a operao diretamente na base binria;
Converter os resultados obtidos para a base desejada.
Observe os exemplos da Figura 50 a seguir. No exemplo a,
temos uma operao entre operandos expressos na base octal. No
exemplo b, temos uma operao com operandos expressos na base
hexadecimal.
Preste ateno ao exemplo b. Perceba que ao operarmos com a
base hexadecimal temos que tomar cuidado no apenas com o valor
no qual ocorre o vai um, mas tambm nas converses entre os
resultados parciais encontrados e os smbolos a serem utilizados.
72
Infraestrutura de Hardware
Figura 50 Exemplos de operaes nas bases octal a hexadecimal
Com isto, encerramos nosso estudo sobre bases numricas.
Esperamos que tenham gostado. Este um conhecimento
extremamente til para todos aqueles que pretendem entender um
pouco mais como um computador realmente funciona.
Para os que se desejarem se aprofundar um pouco mais neste
assunto, recomendamos a leitura dos seguintes trabalhos cientfcos:
"What every computer scientist should know about foating-point
arithmetic.pdf disponvel em <http://dlc.sun.com/pdf/800-7895/800-7895.
pdf> e Where did all my decimals go.pdf disponvel em <http://jetlib.
com/mirrors/test/uvu.freshsources.com/page1/page2/page5/files/decimals.
pdf>, alm de acompanharem o contedo disponvel na bibliografa
recomendada.
73
Infraestrutura de Hardware
Vamos Revisar?
Neste captulo, aprendemos sobre as Bases Numricas e sobre a
Notao Posicional e a sua importncia para o desenvolvimento dos
computadores digitais.
Aprendemos tambm que as duas bases numricas mais
importantes so:
A Base Decimal, formada por dez smbolos {0, 1, 2, 3, 4, 5, 6, 7,
8, 9}, utilizada por ns, seres humanos.
A Base Binria, formada apenas pelos smbolos 0 e 1, utilizada
pela Unidade Lgica e Aritmtica dos Computadores.
Alm destas bases, conhecemos tambm as bases Octal e
Hexadecimal, que foram criadas com o intuito de facilitar a visualizao
e a operao de valores expressos na base binria.
Tambm pudemos aprender diversas tcnicas e mtodos que
podem ser empregados na converso de valores expressos em
diferentes bases numricas. Com isto, pudemos constatar que
todos os valores inteiros podem ser expressos em qualquer das
bases numricas estudadas, e que, por outro lado, nem todo valor
decimal pode ser livremente convertido, uma vez que alguns destes
tornam-se dzimas peridicas quando passados de uma base para
outra.
Um outro ponto muito importante que aprendermos foi que as
operaes aritmticas so integralmente preservadas em todas as
bases estudadas.
74
Infraestrutura de Hardware
Captulo 3
O que vamos estudar?
Neste captulo, vamos estudar os seguintes temas:
Portas lgicas e funes lgicas
lgebra booleana
Circuitos digitais
Metas
Aps o estudo deste captulo, esperamos que voc consiga:
Conhecer as principais portas lgicas utilizadas na construo
dos circuitos digitais bsicos.
Construir circuitos digitais combinatrios utilizando tabela
verdade e vice versa.
75
Infraestrutura de Hardware
Captulo 3 Lgica Digital
Vamos conversar sobre o assunto?
Voc j parou para pensar como so projetados e construdos os
componentes bsicos que do inteligncia a um computador? Como
so projetados os circuitos integrados digitais?
Esta uma cincia fascinante e em franca expanso, e que est
na base de todo o desenvolvimento tecnolgico que vivenciamos em
nosso dia a dia. Desde um simples relgio de pulso at ao computador
mais avanado, tudo o que nos rodeia est repleto de lgica digital.
A expresso "Lgica Digital traz consigo duas defnies
carregadas de signifcado:
Lgica: O temo lgica comumente defnido como sendo a
cincia das leis do pensamento, ou ainda, a disciplina que se
dedica ao estudo das regras que permitem tornar o pensamento
vlido.
Digital: O termo digital se refere representao da informao
atravs de dois estados ou smbolos lgicos bsicos, o falso
e o verdadeiro, o zero e o um. Quando dizemos que um
determinado sistema digital, em outras palavras estamos
dizendo que seu funcionamento baseado nestes dois estados
ou smbolos lgicos bsicos: o zero e o um.
Desta forma, podemos entender a lgica digital como sendo a
tecnologia que nos permite modelar a informao e o raciocnio lgico
atravs de zeros e uns.
A lgica digital que iremos trabalhar baseada em uma rea
especial da matemtica conhecida como lgebra de Boole, ou
lgebra Booleana.
A lgebra booleana muito parecida com a lgebra que aprendemos
na escola, a qual est baseada em operadores e/ou funes com a
nica diferena que na lgebra booleana, independente da funo que
voc esteja utilizando, tanto os valores de entrada como o resultado
obtido sero sempre zeros e uns.
Saiba Mais
George Boole
foi um Cientista
Alemo do sculo
19 considerado
o pai da lgica
matemtica.
76
Infraestrutura de Hardware
Na lgica digital, a informao processada atravs de equaes
ou funes booleanas, as quais so implementadas atravs de
circuitos especiais conhecidos como portas lgicas.
Uma porta lgica nada mais que um circuito eletrnico que
implementa a funcionalidade defnida por uma funo booleana.
Desta forma, cada porta lgica recebe o nome da funo lgica que
implementa.
Interessante, no mesmo? Pois se prepare, a nossa aventura
est s comeando. Vamos comear estudando as principais portas
lgicas e suas funcionalidades, em seguida, vamos aprender como
utilizar estas portas lgicas para construir nossos prprios circuitos
lgicos mais complexos.
3.1 Portas Lgicas e Funes Lgicas
Bsicas
Quando o famoso matemtico ingls George Boole, publicou
as bases de sua teoria em 1854, em um trabalho intitulado An
Investigation of the Laws of Thought on Which to Found the
Mathematical Theories of Logic and Probabilities, os computadores
digitais ainda nem pensavam em existir. Entretanto, foi o trabalho
deste matemtico brilhante que serviu de alicerce de tudo o que hoje
conhecemos como lgica digital.
Em seu trabalho, Boole defniu 3 funes lgicas essenciais, a
partir das quais derivaram-se todas as outras. So elas:
A funo And, que defne que uma resposta s ser verdadeira
se, e somente se, todas as suas entradas forem verdadeiras.
A funo Or, que defne que uma resposta s ser verdadeira
se ao menos uma das sua entradas for verdadeira
A funo Not, que possui apenas uma entrada e uma sada, e
que defne que a resposta s ser verdadeira se e somente se
a sua entrada for falsa.
A partir destas trs funes lgicas, foram defnidas mais
trs funes lgicas bsicas as quais tambm so utilizadas
como elementos bsicos para a criao de circuitos lgicos mais
complexos:
A funo lgica XOR, que possui duas entradas e uma sada e
Lembrete
Lembre-se que,
por conveno,
em lgica digital
a informao
verdadeira est
associada ao
nvel 1 e a falsa ao
nvel 0.
77
Infraestrutura de Hardware
que em portugus poderia ser traduzida como ou exclusivo, a
qual defne que uma resposta s ser verdadeira se, e somente
se, uma das entradas for verdadeira e a outra falsa.
A funo lgica Nand, formada a partir da associao da funo
lgica And seguida da funo lgica Not, que defne que uma
resposta s ser verdadeira se e somente se todas as suas
entradas forem falsas
A funo lgica Nor, formada a partir da associao da funo
lgica Or seguida da funo lgica Not, que defne que uma
resposta s ser verdadeira se ao menos uma das suas
entradas for falsa.
A fm de permitir a representao da funcionalidade esperada de
um circuito baseado em lgica digital, cada funo/porta lgica possui
um smbolo esquemtico, ou diagrama, e um smbolo matemtico,
tambm conhecido como equao booleana, associado.
Apesar de utilizar operadores semelhantes aos utilizados nas
equaes aritmticas, as operaes descritas pelas equaes
booleanas so em essncia operaes lgicas. Por este motivo,
devemos tomar muito cuidado para no nos confundir no momento de
avaliar uma equao booleana.
Alm do smbolo esquemtico e do smbolo matemtico, cada porta
lgica possui tambm uma tabela que descreve a sua funcionalidade,
conhecida como Tabela Verdade. A Tabela Verdade uma tabela na
qual esto listadas todas as possveis confguraes para os sinais
de entrada e a sada produzida para cada uma destas confguraes
pela porta lgica associada.
A Figura 1, a seguir, nos traz os smbolos matemtico e grfco e os
nomes associados s seis principais funes lgicas que acabamos
de apresentar.
78
Infraestrutura de Hardware
Figura 1 Portas Lgicas bsicas e seus smbolos grafcos e matemticos
Agora que j fomos apresentados s principais portas lgicas,
seus smbolos grfcos e equaes booleanas, que tal estudarmos
um pouco mais detalhadamente cada uma destas portas e entender
como elas funcionam a partir da anlise das suas Tabelas Verdades.
3.2 Portas Lgicas
Porta Lgica And
Nas Figuras 2 e 3 a seguir, temos o smbolo grfco, a equao
booleana e a tabela verdade associada porta lgica And.
Figura 2 Smbolo grfco e equao booleana associados porta lgica And
79
Infraestrutura de Hardware
Entradas Sada
A B X
0 0 0
0 1 0
1 0 0
1 1 1
Figura 3 Tabela Verdade associada porta lgica And
Observe a tabela verdade, veja que esta refete o que dissemos
a princpio, que a porta gica And fornece uma resposta verdadeira,
ou 1 se, e somente se, todas as suas entradas forem verdadeiras.
Muito Simples no mesmo?
Lembre-se que ns podemos tanto utilizar a equao booleana,
o diagrama esquemtico ou a prpria funo lgica para defnir que
estamos querendo utilizar esta funo lgica em nosso sistema,
conforme podemos ver pela Figura 4 a seguir.
Figura 4 Trs formas equivalentes de representar a funo lgica AND
Porta Lgica Or
Nas Figuras 5 e 6, a seguir, temos o smbolo grfco, a equao
booleana e a tabela verdade associadas porta lgica Or.
Figura 5 Smbolo grfco associado porta lgica Or
80
Infraestrutura de Hardware
Entradas Sada
A B X
0 0 0
0 1 1
1 0 1
1 1 1
Figura 6 Tabela Verdade associada porta lgica Or
Observe agora a tabela verdade da funo Or. Veja que, conforme
dissemos a princpio, a porta lgica Or fornece uma resposta
verdadeira, ou 1, se ao menos uma das suas entradas forem
verdadeiras.
Novamente, lembre-se que ns podemos tanto utilizar a equao
booleana, o diagrama esquemtico ou a prpria funo lgica para
defnir que estamos querendo utilizar esta funo lgica em nosso
sistema, conforme podemos ver pela Figura 7 a seguir.
Figura 7 Trs formas equivalentes de representar a funo lgica OR
Porta Lgica Not
Nas Figuras 8 e 9, a seguir, temos o smbolo grfco, a equao
booleana e a tabela verdade associada porta lgica Not. Observe
a bolinha utilizada a sada da porta lgica para indicar a inverso
ou negao do sinal de entrada. Esta bolinha sempre utilizada
quando queremos indicar que vai ocorrer uma inverso no sinal,
transformando um em zero e vice-versa.
Figura 8 Smbolo grfco associado porta lgica Not, com destaque para o smbolo
utilizado para indicar a inverso ou negao do sinal de entrada.
81
Infraestrutura de Hardware
Entrada Sada
A X
0 1
1 0
Figura 9 Tabela Verdade associada porta lgica Not
Esta , sem dvida, a funo lgica mais simples de todas. Se
entra um sai zero e se entra zero sai um. Fcil demais, voc no
acha?
Diferentemente das outras funes lgicas, a funo Not possui 4
formas de ser representada. Acompanhe na Figura 10 a seguir.
Figura 10 Quatro formas equivalentes de representar a funo lgica Not
Lembrete
Conforme dissemos a princpio, as trs outras portas lgicas que
apresentaremos agora foram formadas a partir de associaes das
trs primeiras portas lgicas apresentadas. Desta forma, importante
lembrar que as suas funcionalidades so expresso da sobreposio das
funcionalidades das outras portas lgicas utilizadas.
Porta Lgica Nand
Nas Figuras 11 e 12, a seguir, temos o smbolo grfco, a equao
booleana e a tabela verdade associada porta lgica Nand.
Figura 11 Smbolo grfco e equao booleana associados porta lgica Nand
82
Infraestrutura de Hardware
Entradas Sada
A B X
0 0 1
0 1 1
1 0 1
1 1 0
Figura 12 Tabela Verdade associada porta lgica Nand
importante que percebamos que a porta Nand foi construda
a partir de uma porta And associada a uma porta Not, conforme
podemos ver na Figura 13 a seguir.
Figura 13 Modelo esquemtico de construo da Porta Nand e da sua Tabela Verdade
Observe que a tabela verdade associada uma porta lgica indica
apenas as suas entradas e sadas visveis, ou seja, seguindo o
exemplo da porta Nand, resultados intermedirios obtidos por portas
lgicas utilizadas internamente no so listados, conforme ocorreu
com o sinal X.
Lembre-se que ns podemos tanto utilizar a equao booleana,
o diagrama esquemtico ou a prpria funo lgica para defnir que
estamos querendo utilizar esta funo lgica em nosso sistema,
conforme podemos ver pela Figura 14 a seguir.
Figura 14 Trs formas equivalentes de representar a funo lgica NAND
83
Infraestrutura de Hardware
Porta Lgica Nor
Nas Figuras 15 e 16, a seguir, temos o smbolo grfco, a equao
booleana e a tabela verdade associada porta lgica Or.
Figura 15 Smbolo grfco e equao booleana associados porta lgica Nor
Entradas Sada
A B X
0 0 1
0 1 0
1 0 0
1 1 0
Figura 16 Tabela Verdade associada porta lgica Nor
Novamente, conforme fzemos com a porta Nand, vamos agora
apresentar o esquema interno da porta Nor.
Figura 17 Modelo esquemtico de construo da Porta Nor e da sua Tabela Verdade
Por fm, temos as trs formas pelas quais podemos representar
uma porta lgica Nor.
84
Infraestrutura de Hardware
Figura 18 Trs formas equivalentes de representar a funo lgica Nor
Porta Lgica Xor
Nas Figuras 19 e 20, a seguir, temos o smbolo grfco, a equao
booleana e a tabela verdade associada porta lgica Xor.
Figura 19 Smbolo grfco e equao booleana associados porta lgica Xor
Entradas Sada
A B X
0 0 0
0 1 1
1 0 1
1 1 0
Figura 20 Tabela Verdade associada porta lgica Xor
Devido sua funcionalidade, a porta Xor possui um esquema
interno um pouco mais complexo que os das portas Nand e Nor.
Observe a Figura 21 a seguir.
Como voc pode perceber, a construo de uma porta Xor exige
2 portas Not, 2 portas And e uma porta Or. A tabela verdade destaca
do seu lado esquerdo todos os possveis valores de entrada e na
sua ltima coluna, direta, todos os valores de sada. Nas colunas
marcadas como etapas intermedirias temos as possveis entradas e
sadas das portas utilizadas internamente na construo da porta Xor.
Observe que, segundo a tabela verdade tanto da Figura 12 quanto da
Figura 13, a porta Xor s fornece um a sua sada se, e somente se,
uma das entradas for um e a outra zero.
85
Infraestrutura de Hardware
Figura 21 Modelo esquemtico de construo da Porta Xor e da sua Tabela Verdade
Por fm, temos as trs formas pelas quais podemos representar
uma porta lgica Xor.
Figura 22 Trs formas equivalentes de representar a funo lgica Xor
Agora que j conhecemos as portas lgicas bsicas, suas
funcionalidades, seus diagramas esquemticos e suas equaes
booleanas, podemos nos aventurar e ir um pouco mais longe,
podemos comear a pensar em projetar nossos prprios circuitos
lgicos digitais.
3.3 Circuitos Digitais
Assim como as portas lgicas, os circuitos digitais so circuitos
eletrnicos projetados com o intuito de efetuar uma funo, ou
equao, booleana especfca. Desta forma, os circuitos digitais
tambm possuem um diagrama esquemtico, uma equao booleana
86
Infraestrutura de Hardware
e uma tabela verdade associada.
Como qualquer projeto de engenharia, o projeto de um circuito
digital exige que se adote uma metodologia pr-defnida de forma a
poder garantir o melhor resultado dispendendo o mnimo de recursos
e esforos possveis.
Desta forma, a fm de atingir estes objetivos, em cada um dos
nossos projetos, seguiremos o passo a passo listado a seguir:
1. Analisar atentamente as funcionalidades esperadas do circuito a ser
implementado, buscando identifcar e eliminar possveis redundncias que, se
removidas, possam simplifcar o circuito a ser implementado.
2. dentifcar e listar de maneira agrupada todos os sinais de entrada e sada do
circuito
3. Defnir a tabela verdade equivalente a funcionalidade esperada.
4. A partir da tabela verdade, deduzir a equao booleana geral do circuito.
5. Implementar um circuito digital que atenda a equao booleana encontrada,
substituindo as expresses presentes na equao booleana por suas portas
lgicas equivalentes.
Vamos comear com um pequeno exemplo. Vamos projetar um
circuito com uma entrada binria de 3 bits e uma sada de 1 bit. De tal
forma que este seja capaz de identifcar se o valor aplicado a entrada
par, ou seja, que sinalize esta ocorrncia colocando 1 a sada quando
o valor aplicado entrada for par e 0 quando for mpar.
Aplicando a metodologia proposta temos:
1. Analisando a funcionalidade esperada do circuito, podemos
constatar que no existem redundncias e inconsistncias ou
incoerncias.
2. Como determinado em sua especifcao, nosso circuito ter 3
bits de entrada que denominaremos de B0, B1 e B2 e um bit de
sada que denominaremos simplesmente de Y.
3. Na Figura 24 temos a tabela verdade do nosso circuito. Observe
que nossa tabela exatamente igual as das portas lgicas
que estudamos. Temos um grupo de colunas representado os
sinais de entrada e uma coluna representando o sinal de sada.
Nesta tabela verdade, apenas para facilitar o acompanhamento
das funcionalidades esperadas, foi includa uma coluna a mais,
a coluna N, com o valor decimal representado pelos 3 bits de
87
Infraestrutura de Hardware
entrada(B2,B1 e B0). Verifque que, conforme defnido nas
funcionalidades do circuito, a coluna Y 1 sempre que o valor
indicado na coluna N par. Como estamos querendo identifcar
quando o valor da entrada par, nosso sinal Y vlido, ou seja,
1, justamente quando o valor aplicado entrada for 0, 2, 4
ou 6.
Figura 23 Diagrama esquemtico e tabela verdade do circuito digital que sinaliza quando o
valor aplicado s entradas par
Continuando, precisamos agora deduzir a equao booleana
correspondente funcionalidade esperada. Observe a Figura 24 a
seguir.
Figura 24 Levantamento das Equaes booleanas parciais, por linhas, do circuito dado
Veja que primeiramente construmos as equaes booleanas
parciais, uma para cada linha da tabela verdade onde Y =1. Nosso
objetivo ao descrever estas equaes booleanas parciais identifcar
as condies de entrada que tornam a nossa sada vlida.
88
Infraestrutura de Hardware
Observe ainda que, como cada equao booleana parcial
baseada apenas nos sinais de entrada e nos funes booleanas
bsicas, precisamos adotar algum artifcio para sinalizar quando
o sinal da entrada vlido em um ou zero, uma vez que queremos
indicar claramente a condio encontrada na tabela verdade que nos
gerou uma sada vlida.
Desta forma, a fm de fazer esta distino, sempre que um sinal
vlido em um, ou seja, sempre que este deve ter seu valor igual a
um para gerar uma sada vlida, simplesmente anotamos o nome do
prprio sinal na equao booleana, caso contrrio, ou seja, quando
este deve ter o valor igual a zero para gerar uma sada vlida,
anotamos o sinal com uma barra sobre o seu nome.
Observe a primeira linha da nossa tabela verdade. Veja que temos
Y=1 quando B2=0, B1=0 e B0=0. Ou seja, que Y igual a um quando
a entrada B2 e a entrada B1 e a entrada B0 forem zero. Observe que
as conjunes e que utilizamos podem ser substitudas por funes
booleanas and, a qual nos d uma resposta verdadeira, igual a 1,
quando todas as suas entradas forem verdadeiras. Desta forma,
a nossa equao booleana parcial fca conforme podemos ver na
primeira linha da nossa tabela verdade.
As demais linhas vlidas da tabela verdade seguem o mesmo
raciocnio.
Terminado o levantamento das equaes parciais, precisamos
defnir a equao booleana geral do nosso circuito. Para tanto, basta
observarmos que o nosso circuito deve fazer Y=1se ocorrer qualquer
uma das quatro condies que foram identifcadas. Em outras
palavras, Y ser igual a um se ocorrer a primeira ou a segunda ou a
terceira ou a quarta condio identifcada. Como as expresses ou
aqui utilizadas equivalem a funo booleana Or, podemos construir
nossa equao booleana geral simplesmente contectando todas
as nossa equaes parciais j encontradas atravs destas funes
booleanas Or. Observe a Figura 25 a seguir.
Por fm, nos falta apenas construir um circuito que implemente a
equao que acabamos de levantar.
89
Infraestrutura de Hardware
Figura 25 Construo da Equao Booleana Geral do Circuito
Figura 26 Converso da Equao Booleana Geral em portas lgicas equivalentes
Como podemos ver pela Figura 26, analisando a equao geral
do circuito, fca fcil perceber que podemos converter cada parte da
nossa equao geral em portas lgicas bsicas. Primeiramente, cada
equao parcial deve ser convertida em uma porta And com tantas
entradas quantas forem as entradas do circuito, em seguida, deve-se
interligar as sadas de cada uma destas portas And atravs de uma
porta Or com tantas entradas quantas forem as equaes parciais do
circuito. A Figura 27, a seguir, nos traz o esquema eltrico fnal do
circuito digital proposto.
Um pouco trabalhoso, mas muito interessante no mesmo? Saiba
que por simples que possa parecer esta ainda uma das tcnicas
mais utilizadas para o desenvolvimento de circuitos digitais simples.
Existem tcnicas mais avanadas de projeto, que permitem a partir
do resultado obtido com a tcnica aqui apresentada otimizar tanto a
90
Infraestrutura de Hardware
equao booleana quanto o circuito eltrico fnal obtido, mas estas
tcnicas fogem ao escopo de nossa disciplina.
Figura 27 Circuito digital que implementa a funo de identifcar se um valor binrio
aplicado s entradas B2, B1 e B0 par
Que tal exercitar um pouco mais implementando um outro circuito?
Desta vez vamos projetar um circuito que identifque quando o valor
aplicado entrada divisvel por 3.
Para no tomar muito tempo, vamos apenas apresentar as fases
do projeto, cabe a voc chegar s concluses j apresentadas.
Figura 28 Tabela Verdade, equaes parciais e equao geral do circuito que identifca
quando a entrada divisvel por 3
91
Infraestrutura de Hardware
Figura 29 Circuito digital que identifca quando a entrada divisvel por 3
Muito fcil, no mesmo?
Estes circuitos que acabamos de implementar so conhecidos
como circuitos combinacionais, uma vez que sua resposta depende
exclusivamente de uma combinao adequada de valores de entrada
e nada mais.
Por outro lado, existe tambm outra classe de circuitos conhecidos
como circuitos sequenciais.
Os circuitos sequenciais so aqueles que alteram a sua resposta
aos valores de entrada a depender do momento em que estes valores
ocorrem.
Como sua resposta depende no apenas dos valores de entrada,
mas tambm do momento em que estes ocorrem, estes circuitos
possuem alguns sinais extras que servem para sincronizar sua
operao com os outros circuitos que o cercam. Dentre estes sinais
temos o sinal de Reset, que serve para inicializar a lgica interna do
circuito, e o sinal de clock, ou sinal de relgio,que permite ao circuito
contar o tempo decorrido entre a ocorrncia de padres de sinais de
entrada de tal forma a permitir a sua correta identifcao.
Podemos ver os circuitos sequenciais como uma evoluo dos
circuitos combinacionais, uma vez que estes devem no apenas
responder corretamente a determinados padres de sinais de entrada,
92
Infraestrutura de Hardware
mas tambm avaliar corretamente o momento em que estes sinais
ocorrem.
Os sistemas computacionais, sejam eles complexos como um
computador de grande porte, ou simples, como um chip de celular,
todos eles podem ser descritos como circuitos sequenciais.
Mais tarde quando estudarmos os diversos circuitos presentes na
arquitetura de um computador voltaremos a nos referir aos circuitos
sequenciais e sua aplicaes.
Por enquanto, fcaremos por aqui.
No deixe de verifcar os exerccios resolvidos e tentar resolver os
exerccios propostos no seu caderno de exerccios.
Aprenda Praticando
Agora que voc j aprendeu a teoria e j viu como resolver os
exerccios com os exemplos apresentados, chegou a hora de praticar
resolvendo os exerccios da seo 3 do caderno de exerccios.
Lembre-se, de suma importncia que voc tente resolver sozinho
todos os exerccios apresentados. Se tiver alguma dvida, volte e
refaa os exemplos apresentados neste captulo. Se ainda assim voc
no conseguir resolver algum exerccio, pea ajuda ao tutor.
Atividades e Orientaes de Estudo
Dedique, pelo menos, 5 horas de estudo para o Captulo 3. Voc
precisa praticar bastante esse contedo apresentado no ltimo
captulo, pois requer bastante treino. Organize uma metodologia de
estudo que inicie com a leitura dos conceitos e seja seguida pela
resoluo de exerccios.
Voc poder esclarecer suas dvidas com o professor e os tutores
utilizando os chats e os fruns tira-dvidas no ambiente virtual de seu
curso.
No esquea de ler atentamente o guia de estudo da disciplina,
93
Infraestrutura de Hardware
pois nele voc encontrar a diviso de contedo semanal, ajudando-o
a dividir e administrar o seu tempo de estudo semanal. Lembre-se
que as atividades somativas propostas pelo professor no ambiente
virtual so importantes para o aprendizado e para a composio da
sua nota. Observe os prazos estabelecidos pelo seu professor para
essas atividades virtuais.
Vamos Revisar?
Neste captulo ns aprendemos um pouco sobre Lgica Digital.
Descobrimos que a Lgica Digital est baseada na lgebra de Boole,
a qual possui trs Funes Lgicas Essenciais, as funes And, Or e
Not e que a partir destas foram defnidas mais trs Funes Lgicas
Bsicas, as funes Nand, Nor, e Xor. Descobrimos tambm que as
portas lgicas so circuitos eletrnicos que implementam as funes
lgicas, e que cada porta lgica possui um smbolo esquemtico, uma
equao booleana e uma Tabela Verdade associada.
Neste captulo ns aprendemos ainda tambm uma metodologia
de projeto que nos permite construir Circuitos Lgicos Combinacionais
utilizando apenas as seis portas lgicas bsicas. Segundo a
metodologia apresentada nosso projeto se divide em trs etapas
bsicas: construir uma Tabela Verdade que expresse a funcionalidade
esperada do circuito, deduzir as equaes booleanas parciais e a
equao booleana geral do circuito e por fm transformar a equao
booleana geral encontrada em um circuito lgico combinacional
substituindo os operadores lgicos utilizados por portas lgicas
equivalentes.
94
Infraestrutura de Hardware
Consideraes Finais
Ol, Cursista!
Esperamos que voc tenha aproveitado este primeiro mdulo
da disciplina Infraestrutura de Hardware. No prximo mdulo,
continuaremos estudando o subsistema de processamento e daremos
incio ao estudo das estruturas de interconexo, popularmente
conhecidos por barramentos.
Aguardamos sua participao no prximo mdulo.
At l e bons estudos!
Juliana Regueira Basto Diniz
Abner Correa Barros
Professores Autores
95
Infraestrutura de Hardware
Referncias
STALLINGS, William. Arquitetura e Organizao de
Computadores. 5. ed.
PATTERSON, D. A. e Hennessy, John L. Organizao e
Projeto de Computadores. LTC, 2000.
TANENBAUM, Andrew S. Organizao Estruturada de
Computadores. 4. ed. Traduo Helio Sobrinho. Rio de Janeiro:
Prentice-Hall, 2001.
96
Infraestrutura de Hardware
Conhea os Autores
Juliana Regueira Basto Diniz
Possui graduao em engenharia eletrnica pela Universidade
Federal de Pernambuco, mestrado e doutorado em Cincia
da Computao pela Universidade Federal de Pernambuco.
Atualmente professora da Universidade Federal Rural de
Pernambuco (UFRPE), desenvolvendo trabalhos no grupo
de Educao a Distncia desta universidade. Seus temas de
interesse em pesquisa so: Sistemas Distribudos, Computao
Ubqua e Ensino a Distncia.
Abner Corra Barros
mestre em Cincia da Computao com foco em Engenharia
de Hardware pelo Centro de Informtica da Universidade Federal
de Pernambuco. Possui graduao em Cincia da Computao
pela mesma universidade. Atualmente professor da disciplina
de Organizao e Arquitetura de Computadores da Faculdade
Maurcio de Nassau e Engenheiro de Hardware da Fundao
de Apoio ao Desenvolvimento da UFPE (FADE), atuando
em um projeto de convnio entre o Centro de Informtica da
UFPE e a Petrobrs. Suas reas de interesse e pesquisa so:
Hardware Reconfgurvel, Arquitetura de Cores Aritmticos e
Computao de Alto Desempenho em Field-Programmable
Gate Array (FPGA).