Вы находитесь на странице: 1из 245

Computao

Introduo Computao

Marcial Porto Fernandez


Mariela Ins Corts

Universidade Estadual do Cear - Universidade Aberta do Brasil

iel a sua misso de interiorizar o ensino superior no estado Cear, a UECE,


como uma instituio que participa do Sistema Universidade Aberta do
Brasil, vem ampliando a oferta de cursos de graduao e ps-graduao
na modalidade de educao a distncia, e gerando experincias e possibilidades inovadoras com uso das novas plataformas tecnolgicas decorrentes da popularizao da internet, funcionamento do cinturo digital e
massificao dos computadores pessoais.
Comprometida com a formao de professores em todos os nveis e
a qualificao dos servidores pblicos para bem servir ao Estado,
os cursos da UAB/UECE atendem aos padres de qualidade
estabelecidos pelos normativos legais do Governo Federal e se articulam com as demandas de desenvolvimento das regies do Cear.

Introduo a Computao

Computao

Qumica

Cincias
Biologicas

Artes
Plsticas

Computao

Fsica

Matemtica

Pedagogia

Computao
Introduo Computao
Marcial Porto Fernandez
Mariela Ins Corts

3 edio
Fortaleza - Cear

2015

Qumica

Cincias
Biologia
Biolgicas

Artes
Artes
Plsticas

Computao
Informtica

Fsica

Matemtica

Pedagogia

Copyright 2015. Todos os direitos reservados desta edio UAB/UECE. Nenhuma parte deste
material poder ser reproduzida, transmitida e gravada, por qualquer meio eletrnico, por fotocpia
e outros, sem a prvia autorizao, por escrito, dos autores.
Editora Filiada

Presidenta da Repblica
Dilma Vana Rousseff
Ministro da Educao
Renato Janine Ribeiro
Presidente da CAPES
Carlos Afonso Nobre
Diretor de Educao a Distncia da CAPES
Jean Marc Georges Mutzig
Governador do Estado do Cear
Camilo Sobreira de Santana
Reitor da Universidade Estadual do Cear
Jos Jackson Coelho Sampaio
Vice-Reitor
Hidelbrando dos Santos Soares
Pr-Reitora de Graduao
Marclia Chagas Barreto
Coordenador da SATE e UAB/UECE
Francisco Fbio Castelo Branco
Coordenadora Adjunta UAB/UECE
Elosa Maia Vidal
Diretor do CCT/UECE
Luciano Moura Cavalcante
Coordenador da Licenciatura em Informtica
Francisco Assis Amaral Bastos
Coordenadora de Tutoria e Docncia em Informtica
Maria Wilda Fernandes
Editor da EdUECE
Erasmo Miessa Ruiz
Coordenadora Editorial
Rocylnia Isidio de Oliveira
Projeto Grfico e Capa
Roberto Santos
Diagramador
Francisco Jos da Silva Saraiva

Conselho Editorial
Antnio Luciano Pontes
Eduardo Diatahy Bezerra de Menezes
Emanuel ngelo da Rocha Fragoso
Francisco Horcio da Silva Frota
Francisco Josnio Camelo Parente
Gisafran Nazareno Mota Juc
Jos Ferreira Nunes
Liduina Farias Almeida da Costa
Lucili Grangeiro Cortez
Luiz Cruz Lima
Manfredo Ramos
Marcelo Gurgel Carlos da Silva
Marcony Silva Cunha
Maria do Socorro Ferreira Osterne
Maria Salete Bessa Jorge
Silvia Maria Nbrega-Therrien
Conselho Consultivo
Antnio Torres Montenegro (UFPE)
Eliane P. Zamith Brito (FGV)
Homero Santiago (USP)
Ieda Maria Alves (USP)
Manuel Domingos Neto (UFF)
Maria do Socorro Silva Arago (UFC)
Maria Lrida Callou de Arajo e Mendona (UNIFOR)
Pierre Salama (Universidade de Paris VIII)
Romeu Gomes (FIOCRUZ)
Tlio Batista Franco (UFF)

Editora da Universidade Estadual do Cear EdUECE


Av. Dr. Silas Munguba, 1700 Campus do Itaperi Reitoria Fortaleza Cear
CEP: 60714-903 Fone: (85) 3101-9893
Internet: www.uece.br E-mail: eduece@uece.br
Secretaria de Apoio s Tecnologias Educacionais
Fone: (85) 3101-9962

Sumrio
Parte 1 - Histrico, aplicaes e conceitos da Tecnologia
da Informao.............................................................................................................5
Captulo 1 - Histrio e evoluo dos computadores...............................7
Introduo...............................................................................................................7
1. Precursores do computador..............................................................................8
2. As mquinas de primeira gerao (1930-1958) ............................................15
3. Computadores de segunda gerao (1955-1965) .......................................17
4. Computadores de terceira gerao (1965-1980) .........................................18
5. Computadores de quarta gerao (1980 - ...)................................................19

Captulo 2 - Tecnologias de computadores e suas aplicaes.......23


1. Computador descartvel.................................................................................24
2. Microcontrolador...............................................................................................25
3. Computador de jogos.......................................................................................27
4. Computador pessoal (PC)...............................................................................28
5. Servidor.............................................................................................................28
6. Conjunto de estaes de trabalho..................................................................29
7. Mainframe - Supercomputadores...................................................................30

Captulo 3 - Introduo cincia da computao..................................31


Captulo 4 - Tecnologia da Informao.........................................................35
Parte 2 - Representao e processamento da informao................39
Captulo 5 - Representao e processamento
da informao...........................................................................................................41
Introduo.............................................................................................................41
1. Identificando os bits .........................................................................................42
2. Strings e vetores ..............................................................................................42
3. Representao de dados................................................................................43

Captulo 6 - Sistemas de Numerao............................................................45


1. O sistema binrio..............................................................................................45
2. O sistema hexadecimal...................................................................................47

Captulo 7 - Aritmtica binria...........................................................................51


1. Aritmtica de Nmeros Inteiros Positivos.......................................................51
2. Aritmtica de Nmeros Inteiros Negativos.....................................................54
3. Nmeros de ponto flutuante............................................................................56

Captulo 8 - Portas lgicas..................................................................................59


1. Portas bsicas..................................................................................................59
2. Portas compostas............................................................................................61

Parte 3 - Arquitetura de computadores........................................................67


Captulo 9 - Arquitetura de computadores.................................................69
Introduo.............................................................................................................69

Captulo 10 - Unidade central de processamento e memria..........75


1. Processador.....................................................................................................75
2. Barramento de dados......................................................................................78
3. Memria............................................................................................................78

Captulo 11 - Dispositivos de armazenamento.........................................81


1. Disco rgido ......................................................................................................81
2. Disquete flexvel...............................................................................................82
3. Cartes da memria Flash..............................................................................82
4. CD-ROM...........................................................................................................83

Captulo 12 - Sistemas de entrada e sada.................................................85


1. Dispositivos de Entrada...................................................................................85
2. Dispositivos Apontadores ................................................................................86
3. Tablet grfico....................................................................................................87
4. Scanner.............................................................................................................88
5. Microfone..........................................................................................................88
6. Dispositivos de sada ......................................................................................88
7. Dispositivos de Entrada e Sada.....................................................................91

Parte 4 - Conjunto de instrues e endereamento..............................95


Introduo.............................................................................................................97

Captulo 13 - Instrues.....................................................................................101
Captulo 14 - Instruction Set Architecture - ISA.....................................105
1. Numero de operandos e localizao ...........................................................106

Captulo 15 - Modos de endereamento.................................................... 111


Captulo 16 - CISC versus RISC..................................................................... 117
1. Princpios de projeto para computadores modernos................................... 118

Sobre os autores...................................................................................................121

Parte
Histrico,
aplicaes e conceitos da
Tecnologia da Informao

Introduo Computao

Histrio e evoluo dos


computadores
Introduo
Neste captulo ser apresentada uma resenha histrica da evoluo dos computadores, partindo do seu surgimento no formato mecnico at os sistemas
usados na atualidade, destacando as suas principais caractersticas estruturais. Em sincronia com a rpida evoluo da rea, o desenvolvimento de novas tecnologias de apoio e sua permanente evoluo impulsionou a imediata
difuso e adoo nas mais diversas reas de aplicao.
Hoje em dia a utilizao de sistemas baseados em computador uma
necessidade bsica para o desenvolvimento de qualquer atividade. O foco
principal destes sistemas a produo, tratamento, e comunicao de informao. A partir desta nova realidade social, surge o conceito de Tecnologia da
Informao (TI) englobando o conjunto de todas as atividades que, baseadas
em recursos computacionais, participam da gerao, processamento e uso
da informao.
O computador uma mquina capaz de receber, armazenar, tratar e
produzir informaes de forma automtica. Ao longo da sua evoluo, que
teve incio no sculo 16, muito foi exigido em relao ao desempenho dos
computadores, atingindo atualmente grande rapidez e preciso no desempenho das operaes.
Para que uma mquina possa executar uma tarefa preciso criar um
algoritmo1 definindo os passos em que a tarefa pode ser executada. No entanto,
para que uma mquina possa executar a tarefa descrita pelo algoritmo, esse
algoritmo deve ser traduzido para uma linguagem de programao para que
possa ser compreendido pela mquina.
De uma forma geral, programas so coletivamente denominados de
software, enquanto que os equipamentos fsicos necessrios para a execuo de tais programas, hardware.
Originalmente estudados no contexto da matemtica, os algoritmos
eram projetados para descrever o raciocnio necessrio resoluo de problemas de um determinado tipo, de forma unifi cada. Com o passar do tem-

Mais precisamente,
um algoritmo determina
um conjunto ordenado e
no-ambiguo de passos
que definem uma atividade
finita.

1.

FERNANDEZ, M. P; CORTS, M. I.

po, e a partir da sua popularizao nos diferentes mbitos da sociedade, as


mquinas se tornaram responsveis pela execuo de tarefas cada vez mais
complexas, propiciando o surgimento da disciplina Cincia da Computao
com o objetivo de elaborar, nas mais diversas reas de aplicao, algoritmos
cada vez mais complexos e eficientes.
A complexidade dos algoritmos pode encontrar limitaes na prpria
tecnologia, ou seja, na prpria capacidade da mquina. Algoritmos complexos
podem demandar recursos da mquina que no estejam disponveis como,
por exemplo, maior capacidade de memria do que a que a mquina pode
oferecer. Esta necessidade impulsiona a pesquisa e o avano tecnolgico que
tambm so reas de estudo da Cincia da Computao.

1. Precursores do computador
A histria da tecnologia se desenvolveu paralelamente e quase to antiga
quanto a histria da evoluo humana. Um marco considerado fundamental
neste contexto o inicio das atividades agrcolas, a partir do desenvolvimento de melhores tcnicas de domnio do homem sobre a natureza,em relao
aos seus antecessores. Este marco estabelece uma mudana radical nos
hbitos at ento nmades do homem pr-historico, para se tornar sedentrio e garantir seu territrio para a agricultura e a criao de animais. Surgem
assim aldeias e povoados e inicia-se uma era de grandes descobertas.
Com o desenvolvimento da lavoura tornou-se necessrio um mtodo
para a contagem do tempo, delimitando as pocas de plantio e colheita. O primeiro passo do homem rumo cincia e tecnologia a concepo da idia
de nmero. Inicialmente era utilizado um mecanismo de comparao entre
conjuntos de elementos, passando a comparar por agrupamentos, na medida
que os conjuntos cresciam em tamanho. No entanto, esta abordagem ainda
no era muito prtica, pois a contagem era feita utilizando-se os dedos das
prprias mos, mas foi importante por dar origem ao sistema de numerao
de base decimal.
A compreenso do conceito de nmero como uma idia abstrata, e no
somente como uma qualidade de um determinado objeto, no foi um processo imediato. Conforme Bertrand Russell, foram necessrios muitos anos para
se descobrir que um par de faises e um par de dias eram ambos instncias
do nmero dois. Esta dissociao representa o primeiro passo em direo a
um sistema de notao, e da para a aritmtica. Para auxlio deste mtodo,
eram usados gravetos, contas ou marcas na parede.

Introduo Computao 9

Com a evoluo da humanidade se fizeram necessrias novas invenes na tentativa de criar dispositivos mecnicos para auxiliar a fazer clculos.
Apesar dos computadores eletrnicos terem efetivamente aparecido somente
na dcada de 40, os fundamentos em que se baseiam remontam a centenas
ou at mesmo milhares de anos.

1.1. O baco (aprox. 3500 a.C.)


A palavra clculo tem sua origem no termo latino calculus, que h milhares
de anos servia para denominar pequenas pedras que eram usadas para
contar deslizando-se por sulcos cavados no cho. A partir desse elemento de clculo, outros similares apareceram em diversos lugares do mundo,
sendo chamados de baco. O mais antigo data de aproximadamente 3500
a.C. e surgiu provavelmente no Mediterrneo. Utilizado pelos mercadores
para contar e calcular, o baco era to eficiente que se propagou por toda
parte, antes do sculo XVII, e nenhum outro instrumento de clculo podia
competir com ele.
Por volta do ano 2600 a.C. apareceu o baco chins que evoluiu rapidamente e foi chamado em sua forma final de Suan-Pan. Foi muito utilizado
pelas civilizaes egpcia, grega, chinesa e romana, tendo sido encontrado
no Japo, ao trmino da segunda guerra mundial, chamado de Soroban.
O baco constituiu, portanto, o primeiro dispositivo manual de clculo, e
utilizado ainda nos dias de hoje. Essa mquina bastante simples e serve para
representar nmeros no sistema decimal e realizar operaes com eles.
A figura 1 apresenta um baco, que consiste numa moldura retangular dividida em 2 partes; possui uma vareta vertical para cada dgito, sendo que cada
vareta tem em sua parte inferior 5 anis que, em repouso, ficam para baixo, e na
parte superior, 2 anis que, em repouso, ficam para cima.
Os anis so movidos de um lado para outro sobre as varetas, e suas
posies representam valores numricos. Cada unidade acrescentada a um
dos dgitos do nmero representada pelo movimento para cima de um dos
anis da parte inferior da vareta. Quando os 5 esto na parte de cima devem ser
movidos para baixo.
O mesmo deve ser feito com os mesmos anis na parte superior da
mesma vareta. Se os dois anis da parte superior esto para baixo, devem
ser movidos para cima acrescentando-se uma unidade vareta seguinte,
esquerda dessa vareta. O maior nmero que pode ser calculado depende do
nmero de varetas.

10

FERNANDEZ, M. P; CORTS, M. I.

Fazendo uma analogia com o computador, pode-se dizer que por


meio das posies dos anis que este dispositivo representa e armazena dados. Os dados so ingressados quando os anis so posicionados e a sada
dos resultados consiste em observar as posies dos anis.

Figura 1 - Modelo ilustrativo de um baco

1.2. Logaritmos e os primeiros dispositivos mecnicos


de clculo
Passaram-se sculos sem que qualquer inveno ficasse registrada at que
fossem criados tais bastes. John Napier (1550-1617), Baro de Merchiston,
nobre escocs, telogo e matemtico, bastante conhecido pela descoberta
dos logaritmos. Tambm passou grande parte de sua vida inventando instrumentos para ajudar no clculo aritmtico, principalmente para o uso de sua
primeira tabela de logaritmo, estabelecendo uma relao entre uma srie geomtrica e uma srie aritmtica.
Essas descobertas ajudaram a tornar mais simples os clculos aritmticos, transformando operaes de multiplicao em operaes de soma, e
operaes de diviso em operaes de subtrao. A importncia dos logaritmos no se resumia somente simplificao dos clculos, mas teve contribuio tambm na cincia e na tecnologia.

1.3. Auxlios mecnicos para clculo


John Napier generalizou o procedimento tabular e construiu em 1617 um dispositivo simples e barato constitudo de bastes de ossos (figura 2). Eram tabelas
mveis de multiplicao e diviso feitas de marfim. Um conjunto completo de
bastes de Napier consiste em 9 peas: uma para cada dgito de 1 a 9.
Cada uma de suas hastes essencialmente uma coluna de uma tabela
de multiplicao contendo os algarismos de 1 a 9 no quadrado superior e os
oito quadrados restantes do basto continham o produto deste nmero por 2,

Introduo Computao

3, 4, 5, 6, 7, 8 e 9 respectivamente. Para obter o produto, os dgitos de cada


diagonal so somados da direita para a esquerda.
Apesar de dispositivos semelhantes aos bastes terem sido usados desde o final do sculo XVI, eles s apareceram documentados a partir de 1614.

Figura 2 - Modelo ilustrativo dos bastes de Napier

1.4. Rguas de clculo


A partir das descobertas de Napier surgiu uma outra grande inveno, desenvolvida pelo brilhante matemtico ingls Willian Oughtred, e tornada pblica
em 1638: a rgua de clculo. Ganhou sua forma atual, de uma rgua que se
move entre dois outros blocos fixos, por volta do ano de 1650, tendo sido esquecida por duzentos anos, para se tornar, no sculo XX, um grande smbolo
de avano tecnolgico, com uso extremamente difundido.
Uma regra de clculo considerada como o primeiro dispositivo mecnico-analgico de computao. Com um formato tipicamente circular, este
instrumento permite a realizao de clculos de forma aproximada, por meio
de guias graduadas deslizantes. Existem diversas variantes da regra de clculo dependendo da rea de aplicao especfica da engenharia. Embora
todas elas realizem as operaes bsicas, para o caso da regra para uso em
engenharia eltrica, por exemplo, podem existir escalas para converso entre
unidades de potncia (kW), cculo de tenso em condutores (V) e outras.
A rgua de clculo e as calculadoras mecnicas foram largamente utilizadas por engenheiros at 1970, quando surgiram as calculadoras eletrnicas
cuja utilizao era muito mais simples e seus resultados mais precisos. Um
clculo como 1345 x 3442, por exemplo, resolvido em poucos segundos
com uma rgua de clculo. No entanto, o resultado apenas uma indicao
de que o valor prximo de 4.650.000, quando o valor exato 4.629.490.

11

12

FERNANDEZ, M. P; CORTS, M. I.

1.5. Gerao zero (sculo XVII): a evoluo da calculadora


A calculadora decimal foi construda entre 1642 e 1644 por Blaise Pascal. Tratase de um aparelho mecnico consistindo de uma caixa com rodas e engrenagens interligados que possibilitava a execuo de operaes aritmticas de
soma e subtrao. O resultado era apresentado numa seqncia de janelinhas.
Embora o aparelho se mostrasse muito til, no obteve sucesso comercial, pois seu preo foi muito alto.
Em 1671, o filsofo e matemtico alemo de Leipzig, Gottfried Wilhelm
von Leibnitz (1646 - 1716) introduziu uma melhoria em relao Calculadora
de Pascal considerando o conceito de realizar multiplicaes e divises atravs de adies e subtraes sucessivas. A mquina, capaz de executar as
quatro operaes bsicas da matemtica, foi construda em 1694. No entanto
sua operao apresentou-se muito deficiente e sujeita a erros, tendo sido,
portanto, abandonada.
O sucesso comercial veio 1820 com a Calculadora a Arithmometer, projetada por Charles Xavier Thomas (1785-1870). A mquina era capaz de efetuar as 4 operaes aritmticas bsicas utilizando o mesmo princpio da calculadora de Leibnitz, precisando de assistncia do usurio para a realizao
de clculos de dividir. At 1850 venderam-se cerca de 1500 Arithmometers.

1.6. Mquina diferencial de Babbage (1823)


Entre 1802 e 1822, Charles Babbage (1792-1871), um matemtico e engenheiro
britnico, previu que grande parte da informao poderia ser manipulada por mquina, caso fosse possvel antes converter a informao em nmeros e projetou
um engenho para isso. Em particular, Babbage tinha a inteno de reduzir o trabalho de calculo e corrigir erros nas tabelas matemticas da sua poca.
Neste contexto, a chamada Mquina de diferenas foi projetada para
computar e imprimir um conjunto de tabelas de funes (logaritmos, funes
trigonomtricas, etc.) sem a interveno de um operador humano. A maquina
seria movida a vapor, era baseada tambm no princpio de discos giratrios
e operada por uma simples manivela. O projeto de Babbage considerado o
precursor dos modernos computadores eletrnicos digitais.
Ao operador cabia somente iniciar a cadeia de operaes, e a seguir a
mquina tomava seu curso de clculos, preparando totalmente a tabela prevista. Em 1823, o governo britnico financiou a construo de uma nova verso,
mas no obteve resultado satisfatrio, devido aos limites do ferramental industrial da poca. Embora tenham sidocontratados especialistas em mquinas,
o projeto exigia mecanismos altamente precisos e movimentos complexos.

Introduo Computao 13

Neste contexto, Babbage se viu obrigado a destinar parte dos seus


recursos e tempo para desenhar peas e ferramentas no intudo de avanar no estado da arte da tecnologia, retardando assim o desenvolvimento do
projeto. Aps 10 anos de trabalho, tudo que Babbage havia conseguido era
uma pequena mquina de 3 registros e 6 caracteres, sendo que deveria ser,
de acordo com o projeto, uma mquina de 7 registros e 20 caracteres cada.
Finalmente, em 1833, quando o governo ingls desistiu do financiamento,
Charles Babbage parou de trabalhar em sua mquina.
O projeto de Babbage, no entanto, considerado o precursor dos modernos computadores eletrnicos digitais.

1.7. Mquina analtica


Aps vrios anos de tentativas, Babbage concentrou seus esforos no projeto de uma maquina de calculo universal capaz de executar qualquer tipo de
calculo (1833).
Babbage despertou para seu novo projeto observando a revoluo produzida pelos teares de Jacquard. Utilizando a mesma estratgia, a Mquina
Analtica seria programada atravs de um conjunto mutvel de instrues, para
calcular vrias funes diferentes, processando padres algbricos da mesma
maneira que o tear processava padres de desenhos. Este evento determina
um marco na evoluo do computador: surge o conceito de programao.

Saiba Mais
Teares de Jacquard (1801)
O francs Joseph-Marie Jacquard (1752-1834) introduziu a primeira mquina para
substituir o trabalho humano. Era uma mquina que automatizava os processos mecnicos de fabricao de tecido. Para executar um determinado tranado, a fiandeira
deveria ter um plano ou programa que lhe dissesse quais fios deveria passar por cima
ou por baixo, em que momento repetir o desenho, etc. A evoluo chave propiciada
pela mquina de Jacquard era o uso de uma srie de cartes cujas perfuraes estavam configuradas para descrever o modelo a ser produzido.
A abordagem utilizada por Jacquard implementa o conceito de armazenamento
de informaes em placas perfuradas com o objetivo de controlar uma mquina de
tecelagem. Este conceito ser posteriormente estendido para sua aplicao no processamento de dados.
O sucesso foi total e em 1812 havia na Frana 11.000 teares de Jacquard, e despertou na sociedade daquela poca, temor pelo desemprego, provocando uma grande
reao popular contra essa espcie de pr-automao.

14

FERNANDEZ, M. P; CORTS, M. I.

A maquina era constituda de unidade de controle de memria aritmtica e de entrada e sada, e sua operao era governada por um conjunto de
cartes perfurados, de modo que, de acordo com os resultados dos clculos
intermedirios, a mquina poderia saltar os cartes, modificando dessa forma
o curso dos clculos.
Babbage investiu toda sua fortuna pessoal e de seu filho, que com ele
trabalhou durante anos, na construo de sua mquina Analtica, vindo a falecer em 1871, sem findar a construo.

1.8. A primeira programadora da histria da computao


Babbage percebeu que para criar as instrues responsveis pela execuo dos clculos precisaria de um tipo inteiramente novo de linguagem e
a imaginou como nmeros, flechas e outros smbolos. Neste cenrio surge a importante contribuio de Ada Augusta Byron, condessa de Lovelace
(1851 - 1852), filha do famoso poeta britnico Lorde Byron.
Ada Byron uma das poucas mulheres a figurar na histria do computador. Matemtica talentosa, compreendeu o funcionamento da Mquina
Analtica e escreveu os mais completos relatos sobre o processo. Ada compreendeu o alcance das novas invenes de Babbage, que diferentemente
dos projetos anteriores, de funcionamento analgico (execuo dos clculos
usando medidas), a Maquina de Babbage era digital (execuo dos clculos
usando formulas numricas).
Antes mesmo da mquina ser construda, Ada aproveitou seus conhecimentos em matemtica para criar programas combinando funes lgicas e aritmticas para a mquina, tornando-se a primeira programadora de
computador do mundo. Alguns dos conceitos fundamentais na programao
de computadores largamente utilizados at os dias de hoje, tais como sub-rotinas, laos e saltos, j foram utilizados por Ada na programao para a
Maquina analtica.
Ada tambm colaborou com a documentao do projeto da Maquina de
Babbage, atravs da publicao de uma coleo de notas, redescobertas em
1953. Em 1980, o Departamento de Defesa dos EUA registrou a linguagem de
programao ADA, em sua homenagem.

1.9. Mquina de Hollerith


Preocupado com a lentido na analise dos dados obtidos do censo anual, cuja
demora era de aproximadamente 10 anos, o jovem funcionrio do Unites States
Census Office, Herman Hellerith, idealizou uma maquina capaz de tabular tais

Introduo Computao 15

informaes. Baseado na tcnica de cartes perfurados de Jacquard, aplicou o


mesmo conceito, mas para o armazenamento dos dados coletados no censo.
O sistema era capaz de registrar nmeros como buracos nos cartes em
locais especficos os quais eram classificados atravs de pinos. A Mquina de
Hollerith ou Mquina Tabuladora era composta das seguintes unidades:
Unidade de controle, que dirigiria a seqncia das operaes de toda a
mquina atravs de furos em cartes perfurados.
Entrada de dados, que utilizava tambm cartes perfurados.
Sada, que perfuraria os resultados em cartes para uso posterior como
entrada, aumentando assim a memria interna com armazenamento externo, indefinidamente grande.
Sada impressa utilizada na apresentao dos resultados finais, tais como
tabelas matemticas, a qual de uma linotipo automtica acoplada ao sistema.
Com a utilizao da Maquina de Hollerith fizeram muito sucesso no censo de 1890 nos EUA, conseguindo que o tempo de processamento dos dados
do censo diminusse de 8 para 3 anos. A tecnologia de cartes perfurados foi
adotada rapidamente por diversos pases da Europa, difundindo a utilizao
das mquinas Hollerith a nvel mundial e por bastante tempo.
Posteriormente, Hollerith fundou a bem sucedida companhia Tabulating
Machine Company. Em 1924, esta firma mudou de nome, tornando-se a
International Business Machines Corporation, hoje mais conhecida como IBM.
No incio, as vendas da IBM eram baseadas na linha de equipamentos de
escritrio e, em particular, mquinas tabulares.
Com o desenvolvimento dos primeiros dispositivos mecnicos para clculo automtico, comea efetivamente a vertente tecnolgica que levar
construo dos primeiros computadores.

Para refletir:
Quando chegou o primeiro computador no Brasil? Quais eram suas caractersticas?
Rel: eletrom cuja
funo abrir ou fechar
contatos eltricos com o
intuito de interromper ou
estabelecer circuitos.

2.

2. As mquinas de primeira gerao (1930-1958)


O automatismo completo foi alcanado no sculo XX, quando um grande
nmero de projetos foi implementado. Embora a concepo da mquina de
Babbage foi o alicerce dos computadores modernos, a principal diferencia era
a utilizao de circuitos eletrnicos (rels2 e vlvulas3) em lugar de mecnicos
(rodas e engrenagens).

Vlvula: dispositivo que


conduz a corrente eltrica
num s sentido

3.

16

FERNANDEZ, M. P; CORTS, M. I.

Este novo marco na evoluo dos computadores determina o surgimento dos computadores chamados de Primeira Gerao.
A principal vantagem das mquinas a rel sobre as mquinas mecnicas era, sem dvida, a maior velocidade de processamento (milissegundos).
Ainda, um outro aspecto positivo era a possibilidade de funcionamento contnuo, apresentando uma menor taxa de erros de clculo.
Os computadores da primeira gerao contavam com dispositivos de
entrada/sada primitivos. A grande utilidade dessas mquinas era no processamento de dados, os quais eram ingressados e armazenados com base na
utilizao de cartes perfurados.
Por outro lado existia uma srie de desvantagens como: custo elevado,
relativa lentido, pouca confiabilidade, grande quantidade de energia consumida e necessitavam de grandes instalaes de ar condicionado para dissipar o
calor gerado por um grande nmero de vlvulas (cerca de 20 mil). Os computadores mais representativos desta gerao foram: o MARK I, ABC (Atanasoff
Berry Computer), ENIAC (Electronic Numeric Integrator and Calculator).
Juntamente com o ENIAC, ocorreu tambm o desenvolvimento na
rea de perifricos de computador com o aparecimento de equipamentos tais
como as unidades de fita magntica, impressoras, etc.

2.1. Arquitetura Von Neuman


Uma contribuio importantssima desta poca foi o conceito de programa
armazenado, introduzida pelo matemtico hngaro, naturalizado americano
John Von Neuman por volta de 1940.
A partir de sua experincia como consultor no projeto ENIAC, von
Neuman conhecia os problemas da programao destas mquinas em relao
introduo dos programas. Os programas para os computadores da poca
eram construdos com base em modificaes nos circuitos. Esta tcnica era
muito trabalhosa e demorada.
A soluo proposta por von Neuman foi a utilizao de cartes perfurados
para o ingresso do programa, analogamente a como era feito com os dados.
Para sustentar esta abordagem, John von Neuman assim desenvolveu a lgica
dos circuitos, os conceitos de programa e operaes com nmeros binrios.
Nesse modelo, um elemento Processador segue as instrues de programas armazenados em uma Memria de Programas, para ler canais de
Entrada, enviar comandos sobre canais de Sada e alterar as informaes
contidas em uma Memria de Dados.

Introduo Computao 17

Figura 3 - Modelo proposto por Von Neuman

Estes conceitos, adotados nos computadores atuais, revolucionou o


conceito de programao de computadores da poca, tornando os programas muito mais flexveis e versteis.
A arquitetura de von Neuman inicial evoluiu para uma estrutura em
barramento, que a base dos computadores modernos. Nessa estrutura, as
memrias de dados e de programa so fundidas em uma memria nica facilitando a sua manipulao, e as comunicaes entre elementos so efetuadas
atravs de uma via comum de alta velocidade:

Figura 4 - Evoluo do modelo de Von Neuman

O novo conceito de programao introduzido por Von Neuman deu origem a muitos outros projetos nos quais ele prprio esteve envolvido, como
por exemplo, o EDVAC (Electronic Discrete Variable Automatic Computer), o
IBM 650 (o primeiro computador da IBM), e o UNIVAC (Universal Automatic
Computer), que foi o primeiro computador a ser fabricado em linha.

3. Computadores de segunda gerao (1955-1965)


O novo marco que caracteriza a segunda gerao de computadores a inveno do transistor. Considerada uma das maiores descobertas da historia
moderna, o transistor responsvel pela revoluo eletrnica da dcada de
1960. Esta nova tecnologia veio substituir a utilizao de vlvulas: em 1956 j
se produziam computadores com esta tecnologia fabricados pela IBM e logo

18

FERNANDEZ, M. P; CORTS, M. I.

depois a DEC (Digital Equipment Corporation), tornando estas empresas lideres


mundiais na indstria de computadores. Com os transistores, os computadores
passaram a ocupar um menor espao fsico, trabalhando a temperatura mais
baixa e consumindo menos enerfia eltrica em relao s valvulas.
Com a segunda gerao apareceram as memrias com anis ferromagnticos, evoluindo para as fitas magnticas, as que se tornaram a forma dominante de armazenamento secundrio. Algumas vantagens das fitas magnticas
sobre as perfuradas que possuam capacidade muito maior de armazenamento e o ingresso dos dados mais rpido. Posteriormente surgiram os discos
magnticos (1962), o que permitiu o acesso direto arquivos muito grandes.
Tambm nesse perodo houve avanos no que se refere s unidades
de memria principal, como por exemplo, a substituio do sistema de tubos
de raios catdicos pelo de ncleos magnticos, utilizado at hoje nos chips de
memria RAM. Os dispositivos de memria auxiliar introduzidos na primeira
gerao continuam a ser utilizados.
Apareceram tambm os modernos dispositivos perifericos, tais como
as impressoras, as fitas magnticas, os discos para armazenamento, etc. Os
computadores passaram a ter um desenvolvimento rpido, impulsionados
principalmente por dois fatores essenciais: os sistemas operacionais e as linguagens de programao.
Exemplos de computadores dessa gerao so o IBM 1401 e o
Honeywell 800. O primeiro minicomputador foi o PDP-1, criado em 1959 e
instalado em 1961. O primeiro produzido comercialmente foi o PDP-5. Um dos
computadores mais comercializados nesta poca foi o IBM 7090.

Para refletir

Pesquise sobre os computadores que foram os principais representantes desta gerao e descreva suas caractersticas.

4. Computadores de terceira gerao (1965-1980)


A substituio dos transistores pela tecnologia dos circuitos integrados de silcio caracterizou os computadores da terceira gerao. Os circuitos integrados
foram criados por Robert Noyce, que foi o inventor do microchip e co-fundador
da Intel Corporation. A tecnologia entrou no mercado em 1961 pela Fairchild
Semiconductor e pela Texas Instruments, localizadas no Vale do Silcio na
regio de Palo Alto e Stanford, na Califrnia.
A tecnologia dos circuitos integrados permitiu que dezenas de transistores fossem colocados em um nico chip. Desta forma, surgiram computa-

Introduo Computao 19

dores de menores dimenses, mais rpidos (nanossegundos), confiveis e


baratos do que as mquinas das geraes anteriores.
A tecnologia utilizada na poca era a de pequena escala de integrao
(SSI Small Scale of Integration) integrando aproximadamente mil transistores no circuito de uma pastilha.
Dentre os computadores mais representativos dessa gerao temos a
linha System/360 desenvolvido pela IBM, empresa lder da rea de computadores da poca (1965). O System/360 foi projetado pra computao cientifica
e comercial e apresentava muitas inovaes:
Famlia de maquinas com a mesma linguagem de montagem com tamanho e capacidades crescentes, projetada para propiciar compatibilidade
entre um grande numero de modelos.
Multiprogramao: vrios programas simultaneamente em memria, o
que resulta em um maior aproveitamento da CPU.
Primeira maquina capaz de emular (simular) outros computadores. Com
isso, podiam ser executados programas antigos sem necessidade de modificar ou traduzir.
Maior espao de endereamento de memria.

5. Computadores de quarta gerao (1980 - ...)


Esta gerao marcada por uma drstica reduo do tamanho dos computadores, porem com desempenho muito melhor: mais velozes e poderosos. Este
avano foi possvel graas tecnologia de circuitos integrados, possibilitando
a integrao de milhares de componentes eletrnicos em um pequeno espao ou chip, dando origem aos microprocessadores.
Esta evoluo teve inicio na dcada de 70, com a tecnologia de grande
escala ou LSI (Large Scale Integration), que integrava at 65 mil componentes
em um nico chip. Nos anos 80 a tcnica foi aperfeioada, atingindo a faixa
de milhares de transistores numa pastilha VLSI (Very Large Scale Integration).
A reduo de tamanho e custo desta nova gerao de computadores
possibilitou a sua aquisio para uso pessoal, privilegio que antes era somente reservado para organizaes que poderiam arcar com grandes custos e
amplos locais para a acomodao. A partir da abertura de um novo mercado
de uso domestico para os computadores, surgiram novas necessidades e desafios para as companhias. De forma geral, os computadores pessoais eram
utilizados para processamento de texto, manipulao de planilhas e aplicaes interativas como jogos.

20

FERNANDEZ, M. P; CORTS, M. I.

No incio dessa gerao nasceu a empresa americana Intel, que comeou a desenvolver o primeiro microprocessador, o Intel 4004 que manipulava
palavras binrias de 4 bits, um circuito integrado com 2250 transistores, equivalente ao ENIAC.
O 4004 foi seguido pelo Intel 8008 de 8 bits e, mais tarde, pelo Intel
8080. O primeiro microcomputador da histria foi o Altair 8800, que usava o
chip Intel 8088, tornou-se padro mundial da poca para os microcomputadores de uso pessoal, abrindo uma nova era na histria da informtica.
Sthephen Wozniak e Steve Jobs formaram em 1976 uma pequena empresa, a Apple, onde construram, segundo conta a lenda, numa garagem de
fundo de quintal, o Apple I. Um ano depois, com um novo e melhor projeto,
surge o Apple II, primeiro microcomputador com grande sucesso comercial
seguido, mais tarde, pelo Apple III.
A IBM decidiu entrar no mercado de computadores pessoais, introduzindo o PC (IBM Personal Computer), um microcomputador com tecnologia
de 16 bits, estabelecendo o Intel 8088 como sua CPU. Lanado em 1981, o
PC se tornou campeo de vendas da historia dos computadores. Um PC tem
a seguinte configurao tpica 256 a 640 K de memria RAM na placa principal, duas unidades de disco flexvel de 360 K, controlador de vdeo grfico,
monitor monocromtico e interface serial ou paralela para a impressora. Seu
clock era de 4,77 MHz.
Com o sucesso impulsionado pela IBM PC, a Intel continuou fazendo
verses cada vez mais poderosas. Os principais modelos de PC so: PC-XT,
PC-XT 286, PC-AT386, PC 486.
O IBM PC vinha equipada com o sistema operacional MS-DOS, fornecido pela novata Microsoft Corporation.
Em 1993 chegou ao mercado o Pentium, cuja verso Pentium III possui
cerca de nove milhes de transistores. O Pentium trouxe um novo flego s chamadas estaes de trabalho. Uma caracterstica comum s mquinas das geraes at ento, a existncia de uma nica CPU para executar o processamento.
Uma das novidades que o Pentium trouxe que possibilita a simulao
de dois processadores, ou seja, um princpio de paralelizao antes possvel
apenas em supercomputadores e que agora est ao alcance dos usurios
de microcomputadores. Mais recentemente, j existem computadores funcionando com mais de uma CPU.
Os atuais avanos em pesquisa e o projeto de novas tecnologias para os
computadores esto possibilitando o surgimento da quinta gerao. Dois avanos que configuram um divisor de guas so o processamento paralelo, que
quebrou o paradigma de von Neumann, e a tecnologia dos supercondutores.

Introduo Computao 21

Atividades de avaliao
1. Pesquise sobre os computadores que foram os principais representantes
desta gerao e descreva suas caractersticas.

Captulo

Tecnologias de
computadores e suas
aplicaes
Na tecnologia atual, podemos classificar os computadores de acordo com
a suas capacidades e finalidades de uso para o qual foram desenvolvidos.
Possivelmente os computadores pessoais sejam os mais amplamente utilizados e conhecidos, no entanto existem outras variantes que sero analisadas
nesta seo.
A quarta gerao de computadores cujo domnio se estende at nossos
dias, impulsionada principalmente pela capacidade dos engenheiros e fabricantes de chips em empacotar cada vez mais transistores por pastilha, a cada
ano. A cada incremento, so gerados computadores com memrias maiores e
processadores mais poderosos.
A evoluo tecnologica observada nas ltimas dcadas comprova que
o nmero de transistores dobra a cada 18 meses, e a previso indica que
essa taxa ser mantida no futuro. Esta constatao conhecida como Lei de
Moore, que d fundamento ao chamado crculo virtuoso onde:

Figura 5 - Representao do crculo virtuoso relacionado ao desenvolvimento


de computadores

24

FERNANDEZ, M. P; CORTS, M. I.

Os benefcios alcanados pela lei de Moore podem ser mapeados para


duas atitudes possveis. Por um lado construir computadores cada vez mais
poderosos mantendo o preo constante. Por outro lado, uma postura mais
conservadora seria continuar a desenvolver o mesmo computador por um
preo cada vez mais baixo. A indstria de computadores adotou as duas posturas, o que resultou na ampla variedade de computadores que existem atualmente e que podem ser utilizados para uma grande variedade de aplicaes.

1. Computador descartvel
Quem no recebeu alguma vez um carto de congratulaes musical? Ou
deu de presente para a me? Pois , esta tal vez seja a aplicao mais simples de computador descartvel. Trata-se de um nico chip sonoro descartvel, porem com capacidade computacional maior do que o maior computador
do mundo de 1955.
No entanto, utilidades mais interessantes sugiram a partir do desenvolvimento do chip RFID (Radio Frequency IDentification ou identificao por
radiofrequencia). Estes chips de baixssimo custo (centavos), no possuem
bateria e a sua espessura de menos de 0,5 mm., possuem um minsculo
radiotransponder e um nico numero de 128 bits embutido.
Esta tecnologia utilizada para a identificao automtica atravs de
sinais de rdio, recuperando e armazenando dados remotamente atravs de
dispositivos chamados de tags RFID: quando pulsados por uma antena transmissora externa, so alimentados pelo sinal de radio de entrada por tempo
suficiente para transmitir seu numero de volta antena.
Uma tag pode ser colocado em uma pessoa, animal, equipamento, embalagem ou produto, dentre outros. Alm das tags passivas, que respondem
ao sinal enviado pela base transmissora, existem ainda as tags ativas, dotadas de bateria, que lhes permite enviar o prprio sinal. So bem mais caras
que as tags passivas.
A principal funcionalidade dos tags RFID a identificao de todo tipo
de objeto, inclusive seres vivos. No caso de objetos, estes tags viriam substituir os populares cdigos de barras.
Implantes em animais. Este tipo de sistema usado na identificao dos
animais ajuda no gerenciamento dos mesmos entre as companhias, no
controle de epidemias e garantia de qualidade e procedncia. A identificao animal por sistemas de RFID pode ser feita de quatro maneiras
diferentes: colares, brincos, injetveis ou ingerveis (bolus).

Introduo Computao 25

Implantes humanos. Implantes de chips RFID usados em animais agora


esto sendo usados em humanos tambm. Em 1998, o professor britnico de ciberntica Kevin Warwick implantou um chip no seu brao. A
empresa Applied Digital Solutions props seus chips formato nico para
debaixo da pele como uma soluo para identificar fraude, segurana
em acesso a determinados locais, computadores, banco de dados de
medicamento, iniciativas anti-sequestro, identificao e monitorao de
pacientes, entre outros.
Hoje em dia, a maioria dos sistemas que gerencia recipiente baseada
em cdigo de barras, porm no meio industrial o uso deste tipo de sistema
no confivel o suficiente, e os transponders de um sistema RFID pode
guardar mais informaes teis posteriormente,
No setor industrial os sistemas de RFID tm vrias aplicaes. Uma delas
na identificao de ferramentas, que no caso de grandes indstrias facilita
o processo tanto de manuteno, quanto de substituio e administrao
das mesmas. Mas outro campo que sistemas RFID podem tanto melhorar
a rapidez e qualidade do servio, como tambm ter um papel de segurana nas indstrias na identificao de recipientes, embalagens e garrafas,
principalmente em produtos qumicos e gases, onde um erro na hora de
embalar pode causar srios danos. Em algumas cidades do mundo, j existem sistemas RFID para controle de lixo, onde as tags so colocadas nas
latas de lixo e os caminhes de coleta tendo leitores especfivos.
A tecnologia usada em RFID se desenvolve rapidamente. Os menores
so passivos (sem alimentao interna) e podem apenas transmitir seus numeros exclusivos quando consultados. Os maiores, so ativos, podem conter
uma pequena bateria e um computador primitivo, sendo capazes de fazer alguns clculos. Nesta classificao entram os Smart Cards usados em transaes financeiras. (www.rfid.org).

Para refletir
Descreva outras aplicaes possveis para dispositivos RFID.

2. Microcontrolador
A grande maioria de aparelhos utilizados diariamente, inclusive para uso domestico, possuem computadores embutidos ou microcontroladores. Estes
dispositivos so utilizados para gerenciar as funcionalidades do aparelho e
manipular a sua interface com o usurio. Podemos encontrar microcontroladores em uma grande variedade de aparelhos, por exemplo:

26

FERNANDEZ, M. P; CORTS, M. I.

Eletrodomsticos
Aparelhos de comunicao
Perifricos de computadores
Equipamento de entretenimento
Aparelhos de reproduo de imagens
Equipamentos mdicos
Armamentos militares
Dispositivos de vendas
Brinquedos
Um carro moderno, por exemplo, pode conter at 50 microcomputadores, que executam diferentes atividades tais como injeo, radio, GPS, etc. A
previso que dentro de poucos anos, quase tudo o que depende de energia
eltrica ou baterias para funcionar, possua um microcontrolador.
Um microcontrolador (tambm denominado MCU ou C) um pequeno computador-num-chip, mas completos. Cada microprocessador contem
um processador, memria e funes de entrada/sada. Dentre as funes
de entrada/sada temos: controle de botes do aparelho, controle de luzes
e sons, etc. Os microcontroladores podem ser de propsito geral ou de propsito especifico.
A tecnologia de microcontroladores regida principalmente pela varivel de custo, de forma a tornar vivel economicamente o controle eletrnico
de muitos processos. Microcontroladores geralmente so encomendados por
milhes de unidades. Neste caso, um centavo a mais ou a menos pode determinar a escolha por um determinado fornecedor.
Desta forma, a escolha por uma arquitetura decidida com base principalmente no custo de fabricao. Outros fatores que influenciam o custo dos
microcontroladores a quantidade de bits, quantidade de memria e tipo. Por
outro lado, o aumento na capacidade de processamento sempre necessrio para conseguir atender s necessidades dos produtos de tecnologia mais
avanada.
Outra caracterstica dos microcontradores o funcionamento em tempo real, ou seja, que devem ser capazes de detectar um evento e dar uma
resposta imediata.
Finalmente, uma caracterstica inerente de sistemas embutidos (como
o caso de microncontroladores) a restrio fsica em termos de tamanho,
peso, consumo, etc. Estas restries podem ser contornadas colocando os

Introduo Computao 27

dispositivos para hibernar enquanto nenhum evento interessante for percebido pelos perifricos, reduzindo o consumo de energia diminui. As duas ultimas
caractersticas fazem com que a arquitetura destes dispositivos precise ser
projetada cuidadosamente.
Microcontroladores so usados com freqncia em produtos e dispositivos de controle automtico, tais como sistemas de controle em motores de
automveis, controles remotos, mquinas de escritrio, ferramentas e brinquedos. Ao reduzir o tamanho, custo e consumo de energia em comparao
com um projeto que usa microprocessador, memria e dispositivos de E/S
separados, microcontroladores tornam vivel economicamente o controle eletrnico de muitos processos.
Cerca de 50% dos microcontroladores vendidos so controladores
simples, outros 20% so processadores de sinais digitais (DSPs) mais especializados. Os microcontroladores podem ser encontrados em praticamente
todos os dispositivos eletrnicos digitais que nos cercam: Teclado do computador, dentro do monitor, Harddisk, relgio de pulso, rdio relgio, mquinas de
lavar, forno de microondas, telefones, etc. Voc est certamente cercado de
dezenas deles agora.
Certamente eles foram to ou mais importantes para a revoluo dos
produtos eletrnicos que os computadores. Eles permitiram a evoluo de
equipamentos que a anos no evoluiam, como os motores a combusto,
que agora com o novo controle eletrnico podem funcionar com sistema bicombustivel e poluindo menos e as mquinas fotogrficas, que migraram de
processos quimico/mecanico a circuitos com microcontroladores+Sensores
Digitais+Memria.

3. Computador de jogos
Os computadores de jogos so computadores normais, com recursos grficos especiais e capacidade de som, mas software limitado e pouca capacidade de extenso. Inicialmente projetados para jogos simples, eram utilizados
CPU de baixo valor. Com o passar dos anos evoluram se tornando poderosos
e capazes de competir em desempenho com computadores pessoais.
Os produtos de tecnologia vieram se tornar populares conhecidos genericamente como videogame. O primeiro foi lanado em 3 de dezembro de
1994 no Japo e quase um ano depois nos Estados Unidos, pela Sony. O
PlayStation foi um sucesso de vendas, chegando a 100 milhes de unidades
at 2006 quando sua produo foi encerrada. Posteriormente a tecnologia
evoluiu para o PlayStation 2 e 3. O PlayStation consistia em um console independente de jogos composta de uma unidade leitora de CD-ROM e ranhuras

28

FERNANDEZ, M. P; CORTS, M. I.

para memory cards (cartes de memria que armazenam informaes dos


jogos) e entradas para joysticks.

4. Computador pessoal (PC)


Nesta categoria podemos considerar os computadores de mesa que hoje em
dia so utilizados em muitos lares como ferramenta para as mais diversas
atividades, e os notebooks.
O corao de um computador pessoal est na placa de circuito impresso, por exemplo, da Intel. Geralmente na placa contida a CPU, memria e
os vrios dispositivos de E/S (som, modem), interfaces para os perifricos
(teclado, mouse, disco), e encaixes de expanso.
Um notebook pode ser considerado um PC, pois segue a mesma especificao de software e hardware, com a diferena de serem projetados para
serem portteis.
Ambos os computadores possuem sistemas operacionais elaborados e
uma grande variedade de software disponvel.

5. Servidor
Cliente-servidor um
modelo computacional
que separa clientes
e servidores, sendo
interligados entre si
geralmente utilizandose uma rede de
computadores. Cada
instncia de um cliente
pode enviar requisies
de dado para algum dos
servidores conectados
e esperar pela resposta.
Por sua vez, algum dos
servidores disponveis
pode aceitar tais
requisies, process-las e
retornar o resultado para o
cliente. Apesar do conceito
ser aplicado em diversos
usos e aplicaes, a
arquitetura praticamente
a mesma.

4.

Com o surgimento das redes de computadores e clusters de mquinas, e com


o posterior aumento na complexidade de tais estruturas de comunicao e
compartilhamento, aparece a figura do servidor de rede. O servidor de rede
um computador dedicado responsvel por prestar algum servio rede de
computadores (clientes4). Os servios prestados podem ser diversos: arquivos, correio eletrnico, impresso, etc. Foi o crescimento e popularizao da
internet que impulsionou o desenvolvimento e aperfeioamento de tecnologias para servidores.
O servidor de rede (Intranet ou Internet) um computador geralmente
reforado cujo diferencial a capacidade de trabalho em rede a alta velocidade.
De uma forma geral, os computadores servidores so mais rpidos, possuem
mais espao em disco e possuem uma conexo de rede mais rpida, principalmente se so dedicados. Os servidores executam os mesmos sistemas operacionais do que PC. Os servidores podem ser projetados de acordo a uma
configurao com um nico processador ou com mltiplos processadores.
Dentre os diversos tipos de servidores, os mais conhecidos so:
Servidor de fax: servidor para transmisso e recepo automatizada de
fax pela Internet, e atravs de todas as estaes da rede.
Servidor de arquivos: servidor que armazena arquivos de diversos usurios.

Introduo Computao 29

Servidor web: servidor responsvel pelo armazenamento de pginas de


um determinado site, requisitados pelos clientes atravs de browsers.
Servidor de e-mail: servidor responsvel pelo armazenamento, envio e
recebimento de mensagens de correio eletrnico.
Servidor de impresso: servidor responsvel por controlar pedidos de
impresso de arquivos dos diversos clientes.
Um computador pode atuar em mais de um tipo diferente de servidor.
Computadores que atuem como um nico tipo de servidor chamado de servidor dedicado. Os servidores dedicados possuem a vantagem de atender a
uma requisio de um cliente mais rapidamente.
Servidores dedicados, que possuem uma alta requisio de dados por
partes dos clientes e que atuam em aplicaes crticas utilizam hardware especfico para servidores. J servidores que no possuam essas atuaes podem utilizar hardware de um computador comum, no necessitando ser um
supercomputador.
Devido a operar com muitas entradas e sadas de informaes, os servidores necessitam de processadores de alta velocidade, algumas vezes alguns
servidores so multi-processados, ou seja, possuem mais de um processador.
Por ter de operar por muito tempo (as vezes de maneira ininterrupta),
alguns servidores so ligados a geradores eltricos. Outros utilizam sistemas
de alimentao (por exemplo, o UPS) que continuam a alimentar o servidor
caso haja alguma queda de tenso.

6. Conjunto de estaes de trabalho


Considerando a boa relao custo/desempenho dos computadores pessoais, nos ltimos anos tem se tornado uma pratica comum a interconexo por
rede de gigabytes, de um grande numero de PCs para formar Clusters of
Workstations (COWs).
Atravs da execuo de software especial, todas as mquinas interconectadas podem trabalhar juntas num mesmo problema, atingindo um maior
poder de processamento e alta velocidade desde que o processamento pode
ser realizado em paralelo.
este poder de processamento a um custo mais baixo, que comeou
a tornar a utilizao de supercomputadores e mainframes desnecessria levando esta categoria de computadores caminho extino. A quantidade de
maquinas pode variar de forma indefinida, limitada pelos recursos disponveis.

30

FERNANDEZ, M. P; CORTS, M. I.

7. Mainframe - Supercomputadores
Os mainframes so computadores de grande porte fsico, desde que ocupam
uma sala inteira, da mesma forma que os seus antecessores dos anos 60. A
sua principal caracterstica a sua capacidade de E/S, equipadas com colees de discos para armazenamento de dados.
Esta classe de computadores geralmente hospeda software legado h
algumas dcadas, desenvolvidos especialmente para esses sistemas. por
conta do grande risco em reprogramar e migrar essas aplicaes para mquinas menores, que faz com que muitas organizaes continuem a manter por
milhes de dlares esses sistemas, em lugar de comprar um novo.
A histria dos supercomputadores comea, de fato, no final de 1975
com o Cray-1. As aplicaes para esses computadores so muito especiais e
incluem laboratrios e centros de pesquisa aeroespaciais, empresas de altssima tecnologia, previso do tempo e a produo de efeitos e imagens computadorizadas de alta qualidade. Os supercomputadores so os mais poderosos, mais rpidos e de maior custo. Utilizam o conceito de processamento
paralelo e so mquinas vetoriais, isto , podem executar a mesma operao
em diversas variveis simultaneamente.

Atividades de avaliao
1. Pesquise quais as caractersticas e responsabilidades do Servidor de banco de dados e Servidor FTP.
2. Pesquise mais algum outro tipo de servidor que no tinha sido mencionado.

Captulo

Introduo cincia da
computao
Cincia da Computao o estudo dos algoritmos e suas aplicaes, bem como
das estruturas matemticas indispensveis formulao precisa dos conceitos
fundamentais da teoria da computabilidade e da computao aplicada.
Os estudos oriundos da Cincia da Computao podem ser aplicados
em qualquer rea do conhecimento humano em que seja possvel definir
mtodos de resoluo de problemas baseados em repeties previamente
observadas. Desempenha por isso um papel importante na rea de cincia
da computao a formalizao matemtica de algoritmos, como forma de representar problemas decidveis, i.e., os que so susceptveis de reduo a
operaes elementares bsicas, capazes de serem reproduzidas atravs de
um dispositivo mecnico/eletrnico capaz de armazenar e manipular dados.
Um destes dispositivos o computador digital, de uso generalizado, nos
dias de hoje, pelo custo reduzido dos componentes eletrnicos que formam o
seu hardware.
A Cincia da Computao constitui uma base cientifica para diversos
tpicos voltados programao de computadores, processamento da informao e estudo de solues algortmicas propriamente dito.
Um dos conceitos fundamentais da Cincia da Computao o algoritmo. Como citado nas primeiras sees desta unidade, um algoritmo determina um conjunto ordenado e no-ambiguo de passos que definem uma atividade finita. De forma geral, esta atividade finita visa a resoluo de um problema.
Os algoritmos, na forma de programas, so executados em computadores. Para que um algoritmo seja executado no computador precisa ser representado de forma apropriada para que possa ser interpretado por uma mquina
ou por um ser humano de forma correta e sem ambiguidades.
Estudos baseados em lingstica e gramtica se preocupam pela traduo do algoritmo conceitual em um conjunto de comandos com uma sintaxe

32

FERNANDEZ, M. P; CORTS, M. I.

e semntica bem definidos atravs representao fornecida pelas linguagens


de programao.

Pseudocdigos: Sistema
notacional nos quais idias
podem ser informalmente
expressas durante o
desenvolvimento de um
algoritmo.

5.

As linguagens de programao possibilitam escrever algoritmos num formato de fcil traduo para a linguagem da mquina, mas mantendo a familiaridade com a linguagem de pseudocdigo5 utilizada na descrio do algoritmo.
O desenvolvimento histrico das linguagens de programao modernas
visa, a cada nova gerao, elevar o nvel de abstrao de forma a propiciar
cada vez mais independncia da mquina. Nos primeiros dispositivos computacionais, os programas eram codificados no hardware, no interior da unidade
de controle. Esta abordagem torna estes dispositivos muito inflexveis, dada a
dificuldade de alterar os programas.
Neste contexto surge o conceito de programa armazenado na memria
principal, da mesma forma que os dados. Para isso, os programadores comearam a utilizar linguagem de mquina na escrita dos seus algoritmos. Este
mtodo era muito laborioso e complexo, uma vez que os cdigos de operao
e operandos eram representados atravs de dgitos numricos, o que tornava
a programao muito propensa a erros. O primeiro passo para melhorar a
situao foi a utilizao de nomes descritivos para as posies de memria e
mnemnicos (em lugar de cdigos hexadecimais), para expressar os cdigos
de operao.
A partir da utilizao desta tcnica, surgiu a necessidade de traduo dos programas escritos nesta notao para a linguagem de mquina.
Surgiram assim as linguagens de montagem. Fica assim como responsabilidade do sistema operacional, a utilizao da linguagem de montagem para
traduzir o programa e, posteriormente, armazenando a verso traduzida para
um uso posterior.
No entanto, o problema da dependncia com a mquina continuava
existindo, agora em relao linguagem de montagem. Alem disso, existia a
dificuldade de programar em um nvel muito baixo de abstrao (ou seja muito
detalhado), o que prejudicava o desenvolvimento do projeto da soluo.
A necessidade de primitivas de alto nvel propiciou o surgimento das
linguagens de terceira gerao, para o desenvolvimento de software, as quais
por sua vez, foram projetadas com base nas primitivas de baixo nvel j conhecidas. Por exemplo:
assign Total the value Valor + Imposto

Tendo como potencial primitiva:


assign <identificador> the value <expresso>

Introduo Computao 33

O desenvolvimento das linguagens de terceira gerao conseguiu atender o objetivo de independncia de plataforma de uma forma muito mais prxima ao raciocnio utilizado na anlise e resoluo de problemas.
Na medida em que um maior nvel de abstrao se torna uma necessidade surgem os chamados ambientes de programao, os quais possibilitam
a utilizao de conceitos mais abstratos na programao dos algoritmos.
A perspectiva nestes ambientes que a mquina se adapta ao raciocnio humano, em contrapartida das linguagens de geraes anteriores, onde o
ser humano precisava se adaptar mquina. Uma propriedade inerente destes ambientes a facilidade de utilizao e a possibilidade de customizao,
sem auxilio de especialistas.
De forma geral, a programao nestes ambientes facilitada pela utilizao de menus e seleo de cones na tela os quais representam atalhos de alto
nvel para a execuo de instrues de nvel mais baixo. Estes pacotes ou ambientes de programao so denominados de linguagens de quarta gerao.
Finalmente, as linguagens classificadas como de quinta gerao, tem
como base principal a programao declarativa, e geralmente possuem um
enfoque mais especializado (programao lgica).

Saiba Mais
Um Sistema de Informao (SI), coleta, processa, armazena, analisa e dissemina informaes com o propsito especifico. Como qualquer outro sistema, um sistema de informao abrange entradas (dados) sadas (relatrios, clculos), processa essas entradas
e sadas e gera sadas que so enviadas para o usurio ou outros sistemas. possvel
incluir um mecanismo de resposta feedback que controle a operao. E como qualquer
outro sistema, um sistema de informao opera dentro de um ambiente.

Atividades de avaliao
1. O que significa dizer que uma linguagem de programao independente
de mquina?
2. O que significa que uma linguagem possui um nvel mais alto que as geraes anteriores?
3. Escreva um algoritmo em pseudocdigo para realizar alguma atividade
domstica.

Captulo

41

Tecnologia da Informao
Antes mesmo da popularizao dos computadores, existia uma noo da importncia do cuidado e tratamento da informao como uma forma de preservar o histrico, para que, eventualmente, possa ser utilizado na analise de
fatores do passado para o entendimento do presente e, principalmente, na
tomada de deciso de aes futuras. Deste este ponto de vista, a informao
pode ser interpretada como um elemento que pode adicionar certo grau de
competitividade s organizaes.
Antigamente, os sistemas de informao nas organizaes se baseavam basicamente em tcnicas de arquivamento e recuperao de informaes de grandes arquivos de forma manual, sob a responsabilidade de um
arquivador. O processo era relativamente simples, porem muito trabalhoso,
tornando difcil e propensa a erros a recuperao da informao e principalmente a atualizao dos dados.
Com o avano da tecnologia, no sculo XX a informao comeou
a fluir e se multiplicar a velocidade assustadora. Era o advento da Era da
Informao. Um marco desta nova fase a inveno do telgrafo eltrico em
1837, e a partir dali o desenvolvimento de meios de comunicao de massivos, e at mais recentemente, o surgimento da grande rede de comunicao de dados que a Internet. Esta globalizao propiciou um crescimento
exponencial do volume de dados disponveis, tornando um desafio a coleta,
organizao, catalogao e posterior recuperao de forma eficiente e segura
da informao.
No ambiente complexo e turbulento que nos encontramos essencial
para as organizaes o estmulo ao resgate do conhecimento organizacional
como auxlio no processo de deciso e na busca de vantagens competitivas.
Como conseqncia do processo de globalizao, o contexto mundial, em
permanente mudana, vive permanentemente submetido s implicaes decorrentes de grandes transformaes polticas, econmicas e tecnolgicas.
Neste cenrio, a informao passa a ser considerada um recurso essencial
nas tomadas de deciso. Para Beck (2007), atualmente, toda empresa est
envolta com amplos e diversos tipos de informao e, para competir neste

36

FERNANDEZ, M. P; CORTS, M. I.

contexto dinmico, o segredo do sucesso a agregao de valor a partir do


acesso, do tratamento, da utilizao e da disseminao da informao.
A partir desta premissa surge a necessidade nas empresas de gerenciar o conhecimento com base num novo modelo de tecnologia de informao
e gesto de forma a propiciar a distribuio da informao com o intuito de
atingir competitividade.
Um SI um sistema tem seu foco na informao. Seu objetivo armazenar, tratar e fornecer informaes de tal modo a apoiar as funes ou
processos de uma organizao.
Geralmente, um SI estruturado em dois sub-sistemas:
Sub-sistema social que inclui as pessoas, processos, informaes e
documentos.
Sub-sistema automatizado, que consiste dos meios automatizados (mquinas, computadores, redes de comunicao) que interligam os elementos do sub-sistema social.

Gesto de Conhecimento:
envolve as atividades
de coleta, seleo,
disponibilizao e,
disseminao de
informaes.

6.

O sub-sistema automatizado consiste em um conjunto de recursos tecnolgicos e computacionais para gerao e uso da informao de forma a
viabilizar a Gesto do Conhecimento6 para a tomada de deciso e a elaborao de estratgias a partir de novos bancos de dados originados dos bancos
de dados operacionais da empresa como, por exemplo, o data warehouse, o
data mining, entre outros.
Essas ferramentas, alm de dar subsdios para a tomada de deciso,
esto voltadas disseminao do conhecimento na organizao, seja atravs
de melhores prticas de trabalho, seja atravs do registro de discusses para a
disseminao de conhecimento, como por exemplo o Groupware e a Intranet.
Esse conjunto de recursos chamado de Tecnologia da Informao
(TI). As aplicaes de TI so diversas e esto ligadas s mais diversas reas,
de forma a automatizar os processos organizacionais. Atravs da TI, pequenas e grandes empresas podem alcanar maior produtividade e competitividade, alcanando o sucesso e alavancando maiores rendimentos.
A TI exerce um importante papel no mbito da gesto do conhecimento reduzindo distncias e propiciando a transferncia do conhecimento de forma on-line. No domnio da gesto do conhecimento, o beneficio
principal da utilizao de recursos computacionais a sua capacidade de
armazenamento e comunicao de computadores ligados em rede fazendo deles propiciadores e disseminadores de conhecimento (DAVENPORT
e PRUSAK, 1998).

Introduo Computao 37

A TI envolve a organizao de recursos computacionais tais como hardware, software e mecanismos de comunicao, em um sistema capaz de
executar um conjunto de tarefas. Alem dos recursos computacionais, tecnologias relativas ao planejamento e desenvolvimento de sistemas, suporte ao
software, e aos processos de produo e operao, tambm so considerados elementos de TI.
Por outro lado, tecnologias intelectuais tais como mtodos, teorias e
metodologias utilizadas para lidar com o ciclo da informao, tambm so
consideradas sustento da TI. Neste conjunto podem ser consideradas, por
exemplo, tcnicas de classificao, que no necessariamente requerem uso
de mquinas, mas apenas um esquema para serem aplicadas.
Tcnicas que se mostraram eficientes geralmente so automatizadas
pela elaborao de um algoritmo ou software, de forma a facilitar a sua aplicao sistemtica. Seguindo o exemplo das tecnologias de classificao e
organizao de informaes, a sua origem se remonta ao surgimento das primeiras bibliotecas. Hoje em dia praticamente toda biblioteca tem seu acervo
gerenciado atravs de um sistema computacional.
O sucesso e difuso dos sistemas de informao alcanados atravs
da rpida evoluo e surgimento de novas Tecnologias de Informao fazem
com que praticamente todas as atividades desenvolvidas na sociedade atual
sejam sustentadas eficientemente atravs dos recursos da informtica, e com
custos cada vez mais reduzidos.
O processamento de informao uma atividade central em diversas
reas, tais como economia, transportes, produo, imprensa, comunicao.
A necessidade pela difuso social da informao de domnio pblico ou privado em larga escala de transmisso possvel somente atravs de sistemas tecnolgicos inteligentes.
Uma conseqncia do desenvolvimento tecnolgico a intensificao
da comunicao pessoal e institucional, atravs de programas de processamento de texto, de formao de bancos de dados, de editorao eletrnica,
bem de tecnologias que permitem a transmisso de documentos, envio de
mensagens e arquivos, assim como consultas a computadores remotos (via
rede mundial de computadores, como a internet).
Em contrapartida aos enormes benefcios atingidos pela utilizao da TI
nos diversas atividades, alguns problemas podem ser apontados em relao
privacidade dos indivduos e ao seu direito informao, pois os cidados
geralmente no tem acesso a grande quantidade de informao sobre eles,
coletadas por instituies particulares ou pblicas.

38

FERNANDEZ, M. P; CORTS, M. I.

Embora a TI sustente os processos de Gesto do Conhecimento, a eficcia final destes processos depende da interpretao deste conhecimento
pelos homens, e sua transformao em aes. Sendo assim, a tecnologia da
informao, isoladamente, no pode ser a base da criao e gesto de conhecimento organizacional, mas o suporte dentro desse processo.

Sntese do captulo
Neste captulo foi apresentado o histrico da evoluo dos computadores, a
partir da descrio dos dispositivos mecnicos precursores dos computadores utilizados atualmente. Foi feita uma breve retrospectiva das geraes que
determinam os estgios da evoluo dos computadores at os dias de hoje.
Neste captulo tambm foram apresentados os principais conceitos que
definem a Cincia da Computao, apresentando brevemente as principais
disciplinas que a compes. Para concluir foi apresentada a importncia da
Tecnologia de informao (TI) no processo de construo e disseminao do
conhecimento nas organizaes, de forma a aumentar o alcance e a velocidade da transferncia do conhecimento.

http://www.cotianet.com.br/bit/hist/Default.htm
Charles Babbage Institute http://www.cbi.umn.edu/
http://www.daniel.prof.ufu.br/icc.html

Referncias
TANENBAUM, ANDREW S. Organizao Estruturada de Computadores. 5. Edio. So Paulo: Editora Pearson. 2007.
STALLINGS WILLIAM. Estrutura e Organizao de Computadores. 5.
Edio. So Paulo: Editora Pearson. 2004.
BROOKSHEAR GLENN J. Cincia da Computao Uma viso abrangente. 5. Edio. So Paulo: Editora Bookman. 2000.

Parte
Representao e
processamento da informao

Captulo

Representao e
processamento da
informao
Introduo
Neste captulo sero apresentadas as formas de representao das informaes nos computadores. Assim como o ser humano tem a fala e a escrita para
representar as informaes, o computador tem a sua prpria representao
para que possa trat-las e process-las. Iniciamos apresentando a unidade
bsica de representao de informao no computador, o bit, e mostramos
tambm a representao de bytes (bloco de bits), de letras e nmeros.
Em seguida apresentamos uma introduo ao sistema binrio e a forma
como os nmeros so representados e mostramos como realizamos as operaes matemticas em um computador. Finalmente apresentamos uma introduo lgica digital mostrando os tipos mais comuns de portas lgicas, que
estabelecem a forma de como um computador pode processar as informaes.
Para um computador qualquer informao deve ser codificada com
uma linguagem apropriada para seu mundo, que diferente do mundo dos
humanos. Para o mundo eletrnico o ideal que essa linguagem tenha dois
estados, ligado e desligado, ou simplesmente, 0 e 1. Por isso a base mais
importante para o computador a base 2, da o nome binrio.
Vamos comear com algumas definies sobre a representao de informaes em um computador.
bit: unidade bsica de representao digital.
byte: conjunto de 8 bits.
nybble: um bloco de 4 bits.
palavra ou word: conjunto de 32 bits
meia-palavra ou halfword: um bloco de 16 bits
palavra-dupla ou doubleword: conjunto de 64 bits
A definio de palavra no est claramente definida. Ela geralmente
se refere ao nmero de bits usados simultaneamente em um computador.

42

FERNANDEZ, M. P; CORTS, M. I.

Atualmente a maioria dos computadores usa uma palavra de 32 bits. No entanto, cada vez mais, arquiteturas de 64 bits esto sendo construdas o que
muda o tamanho da palavra. Entretanto, por ser o mais comum, ao longo
desse texto usaremos palavra com 32 bits.

1. Identificando os bits
conveniente identificarmos cada bit individualmente para que possamos
referenci-los pelo nome. Daremos um rtulo para cada bit, da direita para a
esquerda, sendo 0 (zero) o ndice mais direita do bloco.
Por exemplo, suponha que voc tenha um nmero com n-bits.
Poderamos identific-los como: bn-1, bn-2, ...., b1, b0.
Tambm comum definir mais dois termos para um bloco com n-bits:
bit menos significativo ou least significant bit: Bit b0. comum abreviar
como LSb com o 'b', em minsculas para representar bit. (Quando estiver
em letras maisculas, isso significar byte menos significativo).
bit mais significativo ou most significant bit: Bit bn-1. comum abreviar
como MSb com o 'b', em minsculas para representar bit. (Quando estiver
em letras maisculas, isso significar byte mais significativo).
Vale lembrar que o termo menos significativo no significa que ele seja
"menos importante". Na verdade essa denominao est relacionada com o
menor ndice de sua posio. Todos temos cincia que alterar esse bit (ou
seja, mud-lo de 0 para 1, ou 1 para 0) iria afetar o valor global assim como
qualquer outro bit. Da mesma forma, o bit "mais significativos" no significa
mais importante, mas apenas que seu ndice o maior do bloco.

2. Strings e vetores

String: conjunto de bits


de tamanho arbitrrio que
representam nmeros ou
palavras.

7.

Embora existam diferentes padres para definir os tamanhos dos blocos de


bits (bits, bytes, nybbles, etc), s vezes necessrio fazer referncia a um
conjunto de bits mais arbitrrio. Iremos fazer referncia a um conjunto de "N"
bits como um string7 de bits ou um vetor.
Pode parecer estranho para se referir a um nmero como uma string,
mas no to incomum. Quando escrevemos nmeros, ns costumamos
alterar o nmero de dgitos, conforme necessrio. Assim, voc escreve 10,
em vez de 0010 porque os zeros adicionais no tm significncia. Porm, em
hardware, temos um nmero fixo de bits para a palavra como, por exemplo,
32 bits ou 64 bits. Nesse caso acrescentamos zeros a direita para preencher
o nmero necessrio para completar de nmero total de bits.

Introduo Computao 43

Ento, o nome de string de bits pode ser bom, porque pode ser usado para qualquer comprimento de uma string. So igualmente string de bits
os chamados vetores de bit. Neste caso, um vetor geralmente significa uma
"coordenada" com n argumentos. Por exemplo, quando voc trabalha com
grficos em 2 ou 3 dimenses, as coordenadas so escritas como (2,3) ou
(2,3,1), ento, 0010 poderia significar (0,0,1,0), ou seja, uma coordenada em
quatro dimenses.
Claro que, quando as pessoas falam de vetores eles geralmente no
pensam nisso como uma coordenada, mas sim em uma sequncia de valores
com posies numeradas. Em todo o caso, vamos cham-lo simplesmente
de strings.

2.1. Quantos diferentes strings podemos escrever?


Suponha que voc tenha um string de n-bits. Quantas combinaes possveis
de 1 e 0 existem? E por que isso interessa?
Para calcular o nmero de combinaes de string de n-bits, percebem
que temos 2 opes para cada bit. Simplesmente basta multiplicar 2, n vezes.
Isto , 2n.
Este um fato muito importante para se lembrar, pois o nmero de possibilidades de um string limita o nmero de possveis valores que ele pode
representar. Por exemplo, se voc tem 3 bits, ento voc tem 8 possveis
valores para ser representado pelo string (8 = 23). Isso limita a um mximo de
8 valores diferentes.

3. Representao de dados
Imagine que voc est em um teclado, no entanto, um teclado horrvel. Esse
teclado tem apenas duas teclas para se usar: 'a' e 'b'. impossvel escrever
uma mensagem para algum usando apenas duas teclas, afinal, quantas palavras s usam as letras' a 'e' b '? No muitas.
No entanto, ainda possvel enviar mensagens. Como? Voc pode
codificar a mensagem utilizando um cdigo, por exemplo, o cdigo ASCII8.
O cdigo ASCII atribui um nmero a cada letra ou smbolo do teclado. Por
exemplo, 'A' codificado para o valor numrico 65 (na base 10) ou 0100 0001
(na base 2). Computadores codificam em binrio, o que significa, que todas as
letras podem ser codificados em 0's e 1's, mais simples para um computador
entender. Se considerarmos 'a' como 0 e 'b' como 1, ento voc pode codificar
a letra A como "abaa aaab" ou 0100 0001 em binrio.

ASCII: acrnimo de
American Standard
Code for Information
Interchange, padro de
representao binria de
letras e nmeros.

8.

44

FERNANDEZ, M. P; CORTS, M. I.

Uma das coisas mais importantes para aprender sobre o hardware so


as formas de como os dados so codificados em 0 e 1. Isto chamado de
representao de dados.
Alm de teclas ou caracteres, ainda existem outras informaes bsicas que tm de ser codificadas: os nmeros. Aparentemente parece trivial,
basta converter o nmero decimal no seu equivalente binrio, e a, efetuar todas as operaes. Para representar nmeros inteiros positivos isso funciona,
mas inteiros negativos, fraes, nmeros ponto flutuante?
Um dado pode ser representado nas seguintes formas:
Inteiros sem sinal (inteiros positivos)
Inteiros com sinal (inteiros positivos, negativos e zero)
Nmeros de ponto flutuante (aproximaes de nmeros reais positivos
e negativos)
Caracteres (ASCII, Unicode)
importante lembrar que impossvel representar qualquer nmero
real no computador porque h a limitao no tamanho do nmero representado, por exemplo, tamanho da mantissa e do expoente, obrigando a armazenar
uma aproximao do valor. Esse arredondamento pode causar imprecises
nos clculos realizados em um computador.
Podemos dizer que, de todas as coisas que voc aprender sobre o computador, a representao de dados ser provavelmente a mais importante. A maioria
dos formandos em Computao provavelmente nunca iro projetar um hardware,
mas todos devero ter conhecimento de como os dados sero armazenados.

Atividades de avaliao
1. Pesquise outros tipos de representao de nmeros e caracteres.

Captulo

Sistemas de Numerao

Um sistema de numerao um conjunto de caracteres e regras matemticas usadas para representar um nmero.
Os sistemas numricos nasceram com o incio de nossa civilizao.
Alguns exemplos so o sistema numrico romano (numerais romanos), o sistema numrico chins, o sistema numrico grego, e o sistema numrico rabe. Nossos nmeros contemporneos so baseados nesse ltimo.
O sistema mais usado a base 10 ou o sistema decimal, que usa uma base
10 para operaes e conseqentemente muito simples se usar (que ns temos
usado desde o pr-escolar!). Os outros sistemas so o sistema hexadecimal e o
sistema binrio. Estes sistemas usam a base 16 e a base 2, respectivamente. Os
sistemas hexadecimais e binrios sero discutidos a seguir.
Por que ns usamos a base 10? Olhe suas prprias duas mos e conte
seus dedos! A palavra dgito se origina de digitus, palavra latina que significa
dedo. Ns todos aprendemos na escola que cada dgito em um nmero corresponde ao valor de seu lugar. Por exemplo, 245 seria (2 x 100) + (4 x 10) +
(5 x 1) = 245. Graficamente temos:
100
2

10
4

1
5

Como ns observamos, cada valor da coluna representa 10 vezes o


valor da coluna direita dele. Por isso chamamos base 10.

1. O sistema binrio
O sistema binrio9 tem uma base 2, significando que do valor de cada coluna
2 vezes o valor da coluna direita, comeando com o dgito mais a direito,
com o valor igual a 1. Usamos apenas os dgitos 0 e 1. Por exemplo, o nmero
111101101 representado graficamente temos:

Sistema binrio: sistema


numrico posicional com
base 2.

9.

46

FERNANDEZ, M. P; CORTS, M. I.

256
1

128
1

64
1

32
1

16
0

8
1

4
1

2
0

1
1

Assim ns temos:
(1 x 256) + (1 x 128) + (1 x 64) + (1 x 32) + (0 x 16) + (1 x 8) + (1 x 4) + (0 x 2)
+ (1 x 1) = 4096 + 256 + 128 + 64 + 32 + 8 + 4 + 1 = 493
Assim, 111101101 no sistema binrio igual a 493 no sistema decimal.
O sistema binrio til nos computadores porque nos circuitos eletrnicos temos dois estados distintos, ligado ou desligado, representando 1 ou 0.
Outra vantagem do sistema binrio porque o transistor (que executa a funo de chave no circuito eletrnico) consome um mnimo de energia quando
ele funciona nos estados de corte e saturao, respectivamente 0 ou 1. Isso
permite circuitos mais densos e ocupando menos espaos, possibilitando dispositivos mais compactos, mais velozes e mais econmicos (usando menos
pilha, por exemplo).

1.2. Convertendo binrio-decimal-binrio


O procedimento acima pode ser utilizado para converter um nmero binrio
em nmero decimal. Vamos mostrar o exemplo do nmero 1100110 que
igual a 64 + 32 + 0 + 0 + 4 + 2 + 0 = 102. Graficamente temos:
512
0

256
0

128
0

64
1

32
1

16
0

8
0

4
1

2
1

1
0

Apresentamos o mtodo para converter nmeros de binrio ao decimal. Como podemos fazer o inverso? Vamos mostrar a converso do nmero 500 em binrio. Utilizando nosso diagrama de potencias de dois, devemos
escrever os valores nos lugares da esquerda para a direita at completar o
valor desejado.
Como 500 menor que 512 o primeiro dgito ser 0. Escrevemos ento,
0 sob o valor 512.
512
0

256

128

64

32

16

A partir de agora, o esquema simples: testar o lugar imediatamente


direita. Se menor ou igual ao nmero, escrever um 1 sob ele, subtrair o valor
do nmero e usar o resultado na posio seguinte. Se maior, escrever embaixo um 0, no subtrair nada e ir para a posio seguinte. Na tabela acima,

Introduo Computao 47

256 menor que 500, assim escrevemos um 1 sob 256 e subtramos 256 de
500. Agora vamos usar o resultado (244) na posio seguinte. Assim temos:
512
0

256
1

128

64

32

16

128 menor que 244, assim escrevemos um 1 sob 128 e subtramos


128 de 244. Usamos o resultado (116) na posio seguinte.
512
0

256
1

128
1

64

32

16

8
0

4
1

2
0

1
0

E assim por diante at zerar o nmero:


512
0

256
1

128
1

64
1

32
1

16
1

Simples no? Com esse algoritmo simples, podemos converter um


nmero decimal em um nmero binrio. 500 em decimal igual a 111110100
em binrio.

2. O sistema hexadecimal
O sistema hexadecimal10 tm uma base 16, significando que cada coluna
igual a 16 vezes a coluna a sua direita, comeando com o valor 1 na coluna
mais a direita. Com isso temos:
65536
0

4096
4

256
A

16
3

1
8

O sistema hexadecimal, alm dos dgitos 1 a 9, usa as letras A, B, C, D,


E, F; que representam 10, 11, 12, 13, 14 e 15, respectivamente. No exemplo
acima, o nmero 04A32 vale (4 x 4096) + (10 x 256) + (3 x 16) + (8 x 1) = 19000.
Por que usar um nmero hexadecimal? muito complicado para um
humano trabalhar com nmeros binrios, pois so muito longos e fceis de
se confundir. A converso de hexadecimal para binrio direta (16 potncia
de 2), assim, cada 4 dgitos binrios representam um dgito hexadecimal conforme mostramos abaixo:

Sistema hexadecimal:
Sistema numrico com
base 16.

10.

48

FERNANDEZ, M. P; CORTS, M. I.

0
1
2
3
4
5
6
7

0000
0001
0010
0011
0100
0101
0110
0111

8
9
A
B
C
D
E
F

1000
1001
1010
1011
1100
1101
1110
1111

Veja como fcil converter o valor hexadecimal acima em binrio:


65536

4096

256

16

0000

0100

1010

0011

0100

O nmero hexadecimal 4A38 igual a 0100101000110100 em binrio.

2.1. Convertendo hexadecimal-decimal-hexadecimal


Vamos converter o nmero hexadecimal 7EF. Recorde que o dgito mais a
direita igual a um e cada dgito esquerda igual a dezesseis vezes o dgito
imediatamente a sua direita. Colocando na tabela temos:
256

16

Multiplicamos agora cada dgito hexadecimal pelo nmero em seu cabealho (lembre-se que o A-F representa 10-15 respectivamente)
256 x 7 + 16 x 14 (E) + 1 x 15 (F)
Totalizando o resultado, temos:
1792 + 224 + 15 = 2031
Assim chegamos ao valor final: 7EF em hexadecimal igual a 2031
em decimal.
Converter do decimal para hexadecimal um pouquinho mais complicado. Para este exemplo usaremos 293. Inicialmente escrevemos a tabela com
os valores em decimal na ordem da direita para a esquerda. Cada dgito a esquerda deve ter o valor de 16 vezes maior que o da direita, comeando com 1.
4096
0

256

16

Introduo Computao 49

Colocamos um 0 sob o valor 4096 da tabela que maior do que o nmero a ser convertido, 2031. Dividimos o nmero a ser convertido por 256,
que o valor mais elevado da tabela e menor do que o nmero a ser convertido. Neste caso, 293 divididos por 256 igual a 1, com um resto 37. Em seguida,
escrevemos o resultado (1) e usamos o resto (37) para o clculo seguinte.
4096
0

256
1

16

Dividir agora o resto do ltimo clculo (37) pelo valor seguinte (16). 37
por 16 igual a 2 com um resto 5. Escrevemos o resultado (2) sob 16 e dividimos o resto (5) pelo valor seguinte (1)
4096
0

256
1

16
2

5 divididos por 1 igual a 5 sem resto, assim colocamos o valor (5) sob
1 e est concludo. Assim:
4096
0

256
1

16
2

1
5

Ento 293 decimal igual a 125 em hexadecimal.


Se por acaso em alguns dos clculos o resultado no tiver nenhum resto, colocamos simplesmente o resultado sob o respectivo valor e colocamos 0
sob todos os valores restantes direita.

Atividades de avaliao
1. Converta o nmero 10110011 binrio em hexadecimal e decimal.
2. Converta o nmero 863 decimal em binrio e hexadecimal.
3. Converta o nmero 37D2 hexadecimal em binrio e decimal.

Captulo

71

Aritmtica binria
As operaes aritmticas11 so possveis em nmeros binrios assim como
nos nmeros decimais. De fato os procedimentos so completamente similares em ambos os sistemas, assim como em qualquer base de numerao. A
multiplicao e a diviso no so realmente difceis, mas como a no familiaridade com os nmeros binrios causa bastante dificuldade para os humanos.
Entretanto, como iremos mostrar, para os computadores extremamente fcil.

1. Aritmtica de Nmeros Inteiros Positivos


1.1. Adio
Quando somamos nmeros decimais, somamos os algarismos de mesma
ordem e caso ultrapasse o valor da base, nesse caso 10, acrescentamos uma
unidade ordem seguinte. No caso de adio binria, devemos considerar a
base 2.
A adio quase to fcil quanto um mais um igual a dois. Na verdade, em binrio, um mais um igual a zero e vai um. Se convertermos 10 para
decimal teremos o valor 2, que est correto. Tambm temos que zero mais
zero igual a zero e um mais zero igual a um.
0+0=0
0+1=1
1 + 1 = 10

Observar que ao adicionar dois 1 produz um resultado com dois dgitos, significa que ns temos um vai um para a posio seguinte, da mesma
forma como fazemos na adio decimal. Vejam o exemplo abaixo de uma
soma binria e a mesma soma em decimal.
1 1
3
+ 1 0 1 + 5
-------- ---1000
8

Aritmtica binria:
operaes com dois
ou mais nmeros na
representao binria sem
necessidade de converso
para outra base

11.

52

FERNANDEZ, M. P; CORTS, M. I.

As regras de adio binria so mostradas abaixo:


0+0=0
0+1=1
1+0=1
1 + 1 = 0, e soma 1 ao bit seguinte

Mais alguns exemplos:


1 1
00011010
26
+ 00001100 + 12
------------- ---- 00100110
38

11111
00010011
19
+ 00111110 + 62

- ----------
- ------- 01010001 81

1.2. Subtrao
A subtrao semelhante adio, sendo que agora, se no houver quantidade para subtrair fazemos um emprstimo da ordem acima.

-1

1
0
1
5
1 1
- 3
------- ------ 0 1 0
2

As regras de subtrao binria so mostradas abaixo:


0-0=0
0 - 1 = 1, e pede-se 1 ao bit seguinte
1-0=1
1-1=0

Mais alguns exemplos:


-1
00100101
37
- 00010001
- 17
------------------- --- - -- 00010100 20

-1
00110011
51
0 0010110
- 22
------------------ ------00011101
29

Introduo Computao 53

1.3. Multiplicao
A multiplicao consiste em uma srie de somas. Operamos da mesma forma
que uma multiplicao na base 10.

101
5

x10 x 2

- -----
- ------
000 10

101
-----
1010

As regras de multiplicao binria so mostradas abaixo:


00=0
01=0
10=0
1 1 = 1, e soma 1 ao bit seguinte

Mais alguns exemplos:


00101001

41
00000110 6
--------------
----00000000
246
00101001
00101001
--------------0011110110
00010111
00000011
--------------
00010111
00010111
--------------001000101

23
3
----69

Podemos observar que a primeira parcela da multiplicao repetida


em toda as linhas quando houver 1 na outra parcela e zero quando o algarismo 0. Isso sugere que podemos realizar uma multiplicao atravs de
uma srie de somas de uma parcela deslocada conforme a segunda parcela.
Podemos fazer um circuito eletrnico de multiplicao juntando um somador
e um deslocador de bits.

54

FERNANDEZ, M. P; CORTS, M. I.

1.4. Diviso
A diviso consiste em uma srie de subtraes binrias, semelhante a uma
diviso na base 10.
1 1 0 6
1 0 2
-----------
---1 1 0
3
- 1 0 (10)
-------010
- 1 0 (01)
-------0 0 0 (11)

2. Aritmtica de Nmeros Inteiros Negativos


As coisas so fceis enquanto fazemos operaes com inteiros positivos. Mas
as coisas tornam-se mais complicada quando ns queremos fazer operaes
com nmeros inteiros positivos e negativos.
Inicialmente podemos pensar em fazer como na aritmtica decimal, indicando com um sinal especial ( ou +) se o nmero negativo ou positivo.
Na aritmtica binria, ns poderamos simplesmente reservar um bit para determinar o sinal. Nos circuitos para a adio, ns teramos um circuito para
adicionar dois nmeros e outro para subtrair dois nmeros. A combinao de
sinais nas duas entradas determinaria que circuito a se usar com os valores
absolutos, e tambm o sinal da sada.
Apesar deste mtodo funcionar, existe uma forma muito mais fcil de operar aritmtica com nmeros negativos em circuitos eletrnicos. Este mtodo
chamado mtodo do complemento a dois. Com esse mtodo no necessrio um circuito especial para tratar os sinais e podemos usar um nico circuito
somador padro para operar nmeros positivos e negativos. A fim de explicar
este mtodo vamos mostrar inicialmente como se trabalharia na aritmtica decimal para depois mostrar como trabalhar com aritmtica binria.

2.1. Complemento de dez


Imagine o odmetro de um automvel. Ele tem um determinado nmero de
rodas, cada uma com os dez dgitos gravados. Quando uma roda se mover de
9 a 0, a roda imediatamente esquerda avana uma posio. Vamos supor
que o automvel ande de r. Ento o reverso acontece, isto quando uma

Introduo Computao 55

roda vai de 0 a 9, a roda a sua esquerda diminui uma posio. Quando todas
as rodas so 0, ns interpretamos o valor como o inteiro 0 (zero).
Vamos supor agora que ns temos um circuito de adio que possa
armazenar nmeros inteiros com 4 dgitos (imagine um odmetro com 4 dgitos). Vamos realizar a soma (-2) + 5 = 3. Vamos considerar que a sequncia
0000 seja igual a 0. Nesse circuito vamos representar o valor (-2) com a seqncia 9998, isto , diminumos 2 unidades de 0000, e o valor (5) com 0005,
para ento, realizamos a soma tradicional. Primeiramente adicionamos 8 e 5
que d 3 e vai 1. Em seguida, adiciona 9 e 1, dando 0 e vai 1. Para os demais,
o valor ser 0 com vai 1, assim que o resultado final ser 0003 positivo. Este
resultado correto, tanto pelo valor como pelo sinal.
importante observar que na representao de complemento de 10
com uma quantidade limitada de dgitos, no podemos usar toda a faixa de valores. Nesse exemplo, os valores 0001 a 4999 representam nmeros inteiros
positivos, enquanto os valores 5000 a 9999 representam nmeros negativos,
respectivamente de -4999 a -1. Outro problema o estouro do registro, se
somarmos 1 ao nmero 4999 no teremos 5000, mas -4999. Um circuito extra
pode detectar essa ocorrncia e corrigir o valor.
Vamos terminar esta seo dando um mtodo simples para computar o valor absoluto de um inteiro nessa representao. Basta tomar cada
dgito individual, substitu-lo por 9 menos o seu valor original, e ento no
final, adiciona 1 ao nmero obtido. Assim por exemplo, o nmero 9998
transforma-se em 0001 que somando 1 fica 0002 negativo, que a resposta correta.

2.2. Complemento de dois12


At agora, ns estudamos a representao de nmeros negativos usando o complemento de dez. Em um computador, ns usamos a base dois.
Felizmente, o mtodo descrito na seo anterior tambm funciona para a
base dois. Para um somador de n-bits (n geralmente 32 ou 64), ns podemos representar nmeros positivos com o dgito na posio mais a esquerda
seja 0, que d valores entre 0 e 2(n-1) - 1, e nmeros negativos com o dgito na
posio mais a esquerda seja 1, que d valores entre -2(n - 1) e -1. A vantagem
do complemento a dois que o dgito a esquerda pode tambm indicar o sinal
do nmero, 0 para nmeros negativos e 1 para nmeros positivos.
Da mesma forma como no caso complemento de dez, usamos o mesmo princpio para a deteco do estouro. Se, ao adicionar dois nmeros positivos, ns encontramos um resultado negativo (isto , com o bit mais esquerda 1), ns teremos um estouro de valor (overflow). Da mesma forma, se, ao

Complemento de
dois: Tcnica para
possibilitar a soma e
subtrao de nmeros
positivos e negativos na
representao binria

12.

56

FERNANDEZ, M. P; CORTS, M. I.

adicionar dois nmeros negativos, encontramos um resultado positivo (isto


com seu bit mais esquerda 0), temos um sub-valor (underflow).

3. Nmeros de ponto flutuante


A representao numrica que ainda falta so dos nmeros racionais. Apesar
de ser possvel a representao de nmeros racionais (por exemplo, representar um nmero com o seu numerador e denominador)), a maioria dos computadores utiliza a representao de um subconjunto dos nmeros racionais, que
atende a maioria dos casos. Ns chamamos estes nmeros de ponto flutuante.
A idia bsica atrs dos nmeros de ponto flutuante representar um
nmero com a sua mantissa e um expoente, cada um com um nmero fixo
de bits referentes a sua preciso. Se ns denotamos a mantissa com m e o
expoente com e, o nmero representado ser equivalente a m * 2e.
O uso de ponto flutuante mais importante para aplicaes cientficas
ou aplicaes que exijam muitos clculos matemticos como computao
grfica. Nessas aplicaes precisamos multiplicar ou dividir dois nmeros
mais frequentemente. A multiplicao de dois nmeros de ponto flutuante
fcil, basta multiplicar as mantissas e somar os expoentes. A diviso somente um pouco mais complicada. Observe que a impreciso no resultado
de uma multiplicao ou de uma diviso somente devido impreciso nos
operandos originais. Nenhuma impreciso adicional introduzida pela operao prpria (exceto possivelmente 1 unidade em menos dgito significativo).
Para somar dois nmeros de ponto flutuante, o expoente menor deve
primeiramente ter sua mantissa deslocada para a direita para igualar os expoentes. Se o deslocamento for maior do que o nmero de bits na representao
da mantissa, o segundo nmero ser tratado como 0.
Geralmente, os computadores manipulam dados em blocos de 8, 16,
32, 64, ou 128 bits. conseqentemente til caber um nico nmero de ponto
flutuante com a mantissa e o exponente em tal bloco. Em tal bloco precisamos
ter um bit para o sinal, a mantissa, e o exponente.
Expoente

S
0

Mantissa
8 9

31

Desde 1980 os computadores adotam uma representao padro para


nmeros em ponto flutuante chamada IEEE 754 para facilitar a portabilidade
de programas. Os nmeros podem ter preciso simples, constitudo com 1
bit de sinal, 8 bits de expoente e 23 bits de mantissa mais 1 implcito, to = 24,

Introduo Computao 57

preciso dupla = 1 bit de sinal, 11 bits de expoente e 52 bits de mantissa + 1


implcito = 53).
Preciso

Sinal

Expoente

Mantissa

Implcito

Total (bits)

Simples
Dupla

1
1

8
11

23
52

1
1

32
64

Atividades de avaliao
1. Converta os nmeros decimais 19 e 32 em binrios, calcule a soma deles
em binrio e converta novamente para decimal para conferir o resultado.
2. Converta os nmeros decimais 14 e -8 em binrios complemento de dois,
calcule a soma deles em binrio e converta novamente para decimal para
conferir o resultado. (dica: use um nmero de 5 bits).

Captulo

8
Portas lgicas

Os blocos bsicos de um computador so chamados portas lgicas ou apenas portas.


As portas so os circuitos bsicos que tm pelo menos uma (e geralmente mais) entradas e exatamente uma sada. Os valores da entrada e da
sada so os valores lgicos verdadeiro ou falso. Na conveno de computao comum usar 0 para falso e 1 para verdadeiro. As portas no tm nenhuma memria. O valor da sada depende somente do valor atual das entradas.
Este fato torna possvel usar uma tabela de verdade para descrever inteiramente o comportamento de uma porta.
Ns consideramos geralmente trs tipos bsicos das portas, as portas
E, as portas OU, e as portas NO (ou inversores). Tambm usual chamar as
portas pelo termo em ingls, respectivamente, AND, OR e NOT.

1. Portas bsicas13
Portas bsicas so portas fundamentais que podem formar outras portas com
funes especiais. As portas bsicas so: E, OU e NO.

1.1. Porta E (AND)


Uma porta E pode ter um nmero arbitrrio de entradas. O valor da sada
1 se e somente se todas as entradas so 1. Se no o valor da sada 0. O
nome foi escolhido porque a sada 1 se e somente se a primeira entrada e a
segunda entrada, e,, e a n-sima entrada so todas 1.
frequentemente til desenhar diagramas das portas e das suas interconexes. Em tais diagramas, a porta E desenhada como esta:

Figura 6 - Ilustrao da porta E

Portas bsicas:
dispositivo que implementa
funes lgicas bsicas
para todas as funes
lgicas.

13.

60

FERNANDEZ, M. P; CORTS, M. I.

A tabela de verdade para uma porta E com duas entradas mostrada abaixo:
x
0
0
1
1

y
0
1
0
1

z
0
0
0
1

1.2. Porta OU (OR)


Como a porta E, a porta OU pode ter um nmero arbitrrio de entradas. O valor da sada 1, se e somente se, pelo menos de um dos valores da entrada
1. Caso contrrio, a sada 0. Ou seja o valor da sada 0 somente se todas
as entradas so 0. O nome foi escolhido porque a sada 1, se e somente se,
a primeira entrada ou a segunda entrada, ou,, ou a n-sima entrada so 1.
Em esquemas de circuito, ns desenhamos a porta OU como este:

Figura 7 - Ilustrao da porta OU

A tabela de verdade para uma porta OU com duas entradas olha como esta:
x
0
0
1
1

y
0
1
0
1

z
0
1
1
1

1.3. Porta NO (NOT)


A porta NO tambm conhecida como inversor e tem exatamente uma
entrada e uma sada. O valor da sada 1 se e somente se a entrada 0. Se
no, a sada 0. Ou seja o valor da sada exatamente o oposto do valor
da entrada.
Em esquemas de circuito, ns desenhamos a porta NO como este:

Figura 8 - Ilustrao da porta NO

Introduo Computao 61

A tabela de verdade para um inversor olha como esta:


x
0
1

y
1
0

2. Portas compostas14
s vezes, prtico combinar funes das portas bsicas em portas mais
complexas a fim reduzir o espao em diagramas de circuito. Nesta seo, ns
mostraremos algumas portas compostas junto com suas tabelas de verdade.

2.1. Porta NO-E (NAND)


A porta NOE uma porta E com um inversor na sada. Assim em vez de
desenhar diversas portas com esta:

Figura 9 - Ilustrao da porta-E

Ns desenhamos uma nica porta-E com um pequeno anel na sada


como este:

Figura 10 - Ilustrao da porta NOE

A porta-noe, assim como a porta-E pode ter um nmero arbitrrio de


entradas.
A tabela de verdade para a porta-noe semelhante tabela para porta-e, exceto que todos os valores da sada so invertidos:
x
0
0
1
1

Portas Compostas:
estrutura de lgica
complexa implementado
atravs da associao de
vrias portas bsicas.
14.

y
0
1
0
1

z
1
1
1
0

62

FERNANDEZ, M. P; CORTS, M. I.

2.2. Porta NO-OU (NOR)


A porta NO-OU uma porta OU com um inversor na sada. Assim em vez de
desenhar diversas portas como esta:

Figura 11 - Ilustrao da porta OU

Ns desenhamos uma nica porta OU com um pequeno anel na sada


como este:

Figura 12 - Ilustrao da porta NO-OU

A porta no-ou, assim como a porta ou pode ter um nmero arbitrrio


de entradas.
A tabela de verdade para a porta no-ou semelhante tabela para
porta ou, exceto que todos os valores da sada so invertidos:
x
0
0
1
1

y
0
1
0
1

z
1
0
0
0

2.3. Porta OU-EXCLUSIVO (XOR)


A porta OU-EXCLUSIVO similar a uma porta OU. Apesar de poder ter um
nmero arbitrrio de entradas normalmente representamos apenas duas entradas. O valor da sada 1 se somente uma das entradas 1 e a outra 0,
por isso se diz OU-EXCLUSIVO. Se no, a sada 0. Assim, em vez de desenhar diversas portas como esta:

Figura 13 - Ilustrao da porta OU-EXCLUSIVO

Introduo Computao 63

Ns desenhamos uma porta OU-EXCLUSIVO como mostrada abaixo:

Figura 14 - Ilustrao da porta OU-EXCLUSIVO

A tabela de verdade para uma porta OU-EXCLUSIVO com duas entradas mostrada abaixo:
x
0
0
1
1

y
0
1
0
1

z
0
1
1
0

Mas para que serve uma porta OU-EXCLUSIVO? Ela um bloco


essencial para a construo de um circuito muito til em computadores, o
SOMADOR.

2.4. Meio Somador15


O Circuito somador realiza a soma de um bit tendo como resultado a valor da
soma e o bit de vai-um conforme diagrama mostrado abaixo:

Figura 15 - Ilustrao do circuito meio somador

A tabela de verdade de um meio-somador mostrado abaixo:


x
0
0
1
1

Meio-somador: Circuito
que realiza a soma de um
bit utilizando portas lgicas
bsicas.

15.

y
0
1
0
1

z
0
1
1
0

c
0
0
0
1

64

FERNANDEZ, M. P; CORTS, M. I.

Somador completo:
Circuito somador
que realiza a soma
considerando vai-um. O
somador completo pode
ser cascateado para
formar um somador de
nmero contendo vrios
bits.

16.

Somador Completo16
Apesar do meio somador informar o bit de vai um, ele no considera o vai um
do bit anterior, assim ele s pode ser usado para somar o bit menos significativo.
Para realizar uma soma completa precisamos utilizar o circuito somador completo que tanto informa o vai-um para o prximo bit, como considera
o vai-um do bit anterior da soma. O diagrama do somador completo mostrado abaixo:

Figura 16 - Ilustrao do circuito somador completo

2.6. Fazendo qualquer porta composta usando somente


um tipo da porta
Por questes de processo de fabricao de circuitos integrados algumas tecnologias de circuito, so mais fceis construir uma porta NO-E do que outras
portas. Menor ocupao de espao e menor consumo de energia so fatores
considerados. Nesse caso, a porta NO-E considerada o bloco mais bsico,
e todos os outros so construdos a partir dele.
possvel construir qualquer tipo da porta usando somente portas
NO-E. Primeiramente podemos observar que um inversor apenas uma
porta NO-E com somente uma entrada. Em seguida, uma PORTA-E pode
ser construda como uma porta NO-E com um inversor em sua sada. Uma
porta OU pode ser construda com uma porta NO-E com um inversor em
cada entrada.
Da mesma forma, todas as portas podem ser construdas usando somente portas NO-OU. E a partir dela podemos construir as demais.

Introduo Computao 65

Sntese do captulo
Este captulo apresentou as formas de representao de informaes em um
computador. Foi mostrado a unidade bsica de informao, o bit, e as representaes de dados em byte, caracteres e nmeros. Foi apresentada uma
introduo ao sistema binrio e a representao de nmeros e operaes
matemticas. Finalmente mostramos uma introduo lgica digital e as principais portas lgicas existentes assim como a composio de portas mais
complexas.

Atividades de avaliao
1. Construa um somador de 4 bits utilizando blocos somadores-completos
mostrado na figura abaixo:

2. Observando as tabelas verdades mostradas nessa seo, desenhe o


esquemtico de uma porta OU-EXCLUSIVO utilizando apenas portas
NO-E.

Como Tudo Funciona: Informtica


http://informatica.hsw.uol.com.br/
Introduo Computao
http://www.cic.unb.br/~jhcf/MyBooks/ic/index.html
Introduo Cincia da Computao
http://pt.wikiversity.org/wiki/Introduo__Cincia_da_Computao

66

FERNANDEZ, M. P; CORTS, M. I.

Referncias
THOMAS FLOYD. Sistemas Digitais. 9 Ed. Editora: Bookman, 2007.
RONALD J. TOCCI, NEAL S. WIDMER, GREGORY L. MOSS. Sistemas
Digitais: Princpios e Aplicaes. 10 Ed. So Paulo: Editora Pearson Prentice-Hall, 2007.
ANDREW S. TANENBAUM. Organizao Estruturada de Computadores. 5 Ed. So Paulo: Editora Pearson Prentice-Hall, 2006.
JOHN L. HENNESSY, DAVID A. PATTERSON. Organizao e Projeto de
Computadores. 3 Ed. So Paulo: Editora Campus, 2005.

Parte
Arquitetura de computadores

Captulo

9
Arquitetura de
computadores

Introduo
Neste captulo ser apresentada a arquitetura de um computador genrico
com a funo de cada um dos seus componentes principais. Ser apresentada a relao entre hardware17 e software18 mostrando os fatores relevantes
que influenciam o desempenho.
Sero apresentados a estrutura da Unidade Central de Processamento
(CPU) com seus principais componentes, alm das caractersticas que determinam a sua capacidade de processamento.
Tambm sero mostrados as caractersticas dos diversos tipos de memria e a interao de cada uma com os demais componentes do computador. Finalmente, sero mostrados os diversos dispositivos de entrada e sada
existentes que permitem a utilizao dos computadores pelo ser humano de
forma confortvel e eficaz.
Os primeiros computadores do mundo eram as pessoas. Por isso, para
chamar os primeiros os computadores mecnicos ou eletrnicos foram dados
nomes das pessoas que executavam o trabalho de computar. O computador era uma profisso (exercida predominante por mulheres) cujo trabalho
era executar os clculos repetitivos exigidos para computar tabelas de navegao, cartas de mars e posies planetrias.
Imagine que voc tenha um trabalho de ficar hora aps hora, dia aps
dia, fazendo nada alm de computar multiplicaes. Com o tempo o cansao
iria conduzir negligncia e ao erro. Por isso, durante vrios sculos os inventores tm procurado por uma maneira que mecanize (isto , encontrar um
mecanismo que pudesse executar) esta tarefa.
A mquina que voc pensa ser um computador chamado mais precisamente computador eletrnico digital de uso geral. de uso geral porque
pode ser programado para executar uma grande variedade de aplicaes
(que fazem a diferente de um computador de propsito especfico, projetado
para executar somente uma funo).

Hardware: conjunto de
componentes fsicos de
um computador como
processador, memria,
disco, etc.

17.

Software: conjunto de
comandos lgicos que
fazem um computador
funcionar como programas,
sistema operacional, etc.

18.

70

FERNANDEZ, M. P; CORTS, M. I.

Digital significa que o computador guarda e manipula todos os dados


internamente sob a forma dos nmeros (todos os dados numricos, todos os
dados de texto, e mesmo os sons e as figuras so armazenadas como nmeros). O dgito significa originalmente dedo e desde que os povos comearam
a contar com seus dedos, o nome dgito veio ser aplicado aos nmeros.
Os computadores modernos so totalmente eletrnicos porque manipulam dados usando circuitos de chaveamento eletrnico mas algumas mquinas
de computao mais velhas, eram mecnicas, usando rodas, alavancas, etc.
Um computador um dispositivo que executa quatro funes: ele recebe dados de entradas (converte dados do mundo exterior para o universo
eletrnico); armazena os dados (de forma eletrnica); processa dados (executa operaes matemticas e lgicas); e exibe os dados de sadas (mostra os
resultados para os usurios atravs de uma tela).
Um computador consiste no hardware e no software. O hardware o
equipamento fsico: o prprio computador e os perifricos conetados. Os perifricos so todos os dispositivos ligados ao computador para finalidades de
entrada, sada, e armazenamento dos dados (tais como um teclado, um monitor de vdeo ou um disco rgido externo).
O software consiste nos programas e nos dados associados (informao) armazenados no computador. Um programa uma sequencia de instrues que o computador segue com o objetivo de manipular dados. A possibilidade de incluir ou excluir programas diferentes a fonte de versatilidade de
um computador.
Sem programas, um computador apenas hardware de alta tecnologia
que no faz qualquer coisa. Mas com a sequencia de instrues detalhadas,
descrevendo cada passo do programa (escrito por seres humanos) o computador pode ser usado para muitas tarefas que variam do processamento de
texto a simulao de padres de tempo globais.
Como um usurio, voc ir interagir com os programas que funcionam
em seu computador atravs dos dispositivos de entrada conetados a ele, tal
como um mouse e um teclado. Voc usa esses dispositivos para fornecer a
entrada (tal como o texto de um relatrio que voc est trabalhando) e para
dar comandos ao programa (tal como a definio de que uma frase do texto
vai aparecer com formato negrito). O programa fornecer a sada (os dados
resultantes das manipulaes dentro do computador) atravs de vrios dispositivos de sada (tal como um monitor ou uma impressora).
Os computadores pessoais (geralmente conhecidos como PC) so
usados de uma maneira muito interativa, com o usurio inserindo continuamente dados e comandos (para escolher as vrias funes do programa)

Introduo Computao 71

e monitorando a sada com os resultados das operaes realizadas. Isto


muito diferente da maneira que os grandes computadores mais antigos eram
usados (o usurio fornecia a entrada e recebia a sada mais tarde, o que
chamado processamento em lote).

Figura 17 - Arquitetura de um computador

A Figura 17 mostra a arquitetura simplificada de um Computador. Os


computadores modernos tem uma arquitetura bem mais complexa do que
esta, mas os blocos principais esto aqui representados. O principal mdulo a Unidade Central de Processamento, usualmente conhecida como
CPU19 (Central Processing Unit). A CPU o crebro do computador onde
todo o processamento realizado. Ela constituda por trs submdulos:
a Unidade Lgica e Aritmtica (ULA), os Registradores e a Unidade de
Controle. Nos computadores modernos a CPU construda em um nico
Circuito Integrado (chip).
A Unidade Lgica e Aritmtica (ULA), tambm conhecida como
Arithmetic and Logic Unit (ALU), responsvel por realizar as operaes do
computador como soma e subtrao assim como as funes lgicas, OU,
E, NO e OU Exclusivo. Algumas ULAs mais sofisticadas realizam tambm
multiplicaes e divises.
Os registradores so memrias20 utilizadas para realizar as operaes
na CPU. Essas memrias so muito rpidas e de tamanho pequeno, geralmente suficiente para guardar menos de uma dezena de valores. Alm dos
registradores comum haver uma memria de rascunho dentro da CPU, chamada de Cache. Ela utilizada para aumentar a velocidade de processamento reduzindo o tempo de acesso memria externa.
A Unidade de Controle responsvel por controlar todo o funcionamento da CPU e tambm de todo o computador. Ela controla o processamento
entre ULA e Registrador e interage com o barramento externo onde ficam os
perifricos. A Unidade de Controle tem uma funo chave que a interpretao do cdigo do programa que ir nortear os comandos do processamento.
Continuando na Figura 17 podemos observar um barramento e trs mdulos externos CPU: Memria, Disco e Interface de Entrada e Sada (I/O).

CPU: acrnimo de
Central Processing Unit
ou Unidade Central de
Processamento. Unidade
responsvel por realizar
o processamento no
computador.

19.

Memria:
componente construdo
com material
semi-condutor ou
magntico responsvel
por armazenar,
temporariamente ou
permanentemente, os
dados em um computador.

20.

72

FERNANDEZ, M. P; CORTS, M. I.

O barramento serve para interligar todos os componentes internos do


computador. Para se obter altas velocidades esse barramento geralmente
paralelo (os dados so enviados paralelamente). Nessa figura representamos
apenas um barramento, mas geralmente ele dividido em barramento de
dados (onde os dados trafegam), barramento de endereo (onde indicamos
a localizao de cada dado) e o barramento de controle (onde indicamos o
comando, por exemplo, ler, escrever, copiar, etc). Em um computador real
existem vrios nveis de barramento com velocidades diferentes, quanto mais
prximo da CPU mais rpido ele , e quanto mais prximo dos perifricos
mais lento ele .
A Memria constituda por um conjunto de memria semicondutora
utilizada para armazenar os dados temporariamente. Podemos dizer que essa
a memria de trabalho do computador e geralmente fica localizada na placa
me do computador. Essa memria mais lenta que os Registradores mas
mais rpida que as unidades de armazenamento em disco. A memria semicondutora geralmente perde os dados quando o computador desligado,
por isso deve-se usar uma unidade de armazenamento permanente, o disco.
O disco consiste em uma unidade eletro-mecnica que armazena os
dados em um disco magntico que mantm as informaes mesmo quando
o computador desligado. Essa unidade tem grande capacidade de armazenamento mas tem velocidade de acesso significativamente menor em relao
s memrias semicondutoras.
O mdulo de Entrada e Sada, ou Input/Output (I/O), estabelece a ligao do computador com o mundo externo, usando equipamentos perifricos. Essa interface permite a ligao de teclados e mouses (para entrada
de dados), monitores ou impressoras (para exibio dos dados) e placas de
comunicao (para trocar dados a longa distncia). Essa interface significativamente mais lenta que os demais componentes do computador devido a
natureza dos perifricos e a incapacidade humana de processar informaes
na velocidade dos computadores.
Os prximos captulos iro detalhar cada um dos mdulos que constituem um computador.

Introduo Computao 73

Atividades de avaliao
1. Observando a Figura 17 avalie os componentes de uma arquitetura de
computadores que podem limitar o desempenho. Proponha solues
para resolver esse gargalo.
2. Pesquise sobre a histria do computador e liste as invenes mais importantes.
3. Qual mdulo de uma arquitetura de computadores deve ser mais rpido
para melhorar o desempenho de um sistema de processamento numrico (muitas operaes matemticas)?
4. Qual mdulo de uma arquitetura de computadores deve ser mais rpido
para melhorar o desempenho de um sistema de armazenamento de dados (muitos dados guardados e consultados)?

Captulo

10

Unidade central de
processamento e
memria
1. Processador
O processador o componente do computador que faz o processamento
real dos dados. Um microprocessador uma unidade do processador central
(CPU) encapsulada dentro de um microchip. o crebro do computador,
mas devemos considerar ser um termo um pouco exagerado pois ele realmente apenas um circuito eletrnico constitudo por interruptores que executam instrues simples mas com muita rapidez.
O circuito integrado do microprocessador contm uma placa de silcio
que contm milhes de transistores e outros componentes fabricados no prprio silcio. Como os transistores no chip so muito minsculos, mesmo uma
pequena descarga de corrente, como a eletricidade esttica da mo do tcnico, pode destru-lo. Eis porque todos os circuitos integrados devem ser manipulados de forma que minimize a possibilidade de descarga esttica atravs
de acessrios apropriados (pulseira aterrada).
Por causa da grande quantidade de circuitos encapsulados em uma
rea to minscula, a energia necessria para seu funcionamento gera muito
calor e exige sistemas de resfriamento para evitar o superaquecimento do
chip. Na placa me de um computador o chip do processador central coberta por um grande dissipador de calor em metal com aletas para permitir que o
fluxo de ar dos ventiladores de refrigerao retirem o calor gerado pelo chip.

1.1. Velocidade de relgio


Os diversos chips em uma placa me precisam de uma sincronizao nica
para manter o fluxo de dados coerente. Para isso um circuito de relgio (clock)
distribui um sinal nico para todos os chips que passaro a se comunicar de
forma coerente. Voc pode imaginar o relgio como uma pulsao do corao
do computador. Quanto mais rpidos os impulso de relgio, mais rapidamente

76

FERNANDEZ, M. P; CORTS, M. I.

o computador funciona; mas, o pulso de disparo no pode funcionar mais rapidamente do que a capacidade de velocidade dos chips. Com a melhoria da
tecnologia de construo dos chips, a velocidade em que eles podem funcionar
aumentou, aumentando a velocidade de processamento. Em razo disso, atualmente o processador central funciona mais rapidamente do que o barramento
da placa me, que geralmente usa uma frao da taxa do processador central.

Herts (Hz):
unidade de medida de
freqncia, significando
quantidade de ciclos por
segundo.

21.

M egah e r tz (MHz):
unidade de medida de
freqncia, significando
quantidade de milhes de
ciclos por segundo.

22.

G i g a h e r t z (GHz):
unidade de medida de
freqncia, significando
quantidade de bilhes de
ciclos por segundo.

23.

A velocidade de relgio medida em unidades de ciclos por segundo,


que chamado de Hertz21 (Hz). As placas e os processadores centrais do computador funcionam em taxas de milhes e bilhes de Hertz, megahertz 22(MHz)
e gigahertz23 (GHz). Uma boa velocidade para um microprocessador do PC em
2008 era 4 gigahertz. Obviamente os componentes em velocidades mais altas
so mais crticos e tem um custo geralmente maior.
Voc pode reconhecer os termos megahertz e gigahertz das emisses de
rdio. O rdio de FM e a transmisso de TV ficam na escala do megahertz, e os
telefones mveis transmitem na escala do gigahertz. Assim, os circuitos do computador produzem interferncias na frequncia que poderia causar problemas
nos dispositivos prximos. Para impedir isso, um computador geralmente contm
uma caixa metlica onde ficam a placa me e os demais componentes.

1.2. Velocidade do processador central


A velocidade de relgio somente um aspecto que contribui velocidade total
de processamento de um microprocessador. A arquitetura do microprocessador tambm relevante. Um fator importante o tamanho da palavra do microprocessador, que quantos bits de entrada/sada que ele pode processar
simultaneamente em um determinado instante. Os microprocessadores mais
antigos usavam o tamanho de palavra de 8 bits; os microprocessadores mais
novos usam o tamanho de palavra de 64-bits.
O projeto do microprocessador pode incluir a memria cache de alta
velocidade. A memria cache uma memria instalada entre o processador
e a memria RAM que permite ao processador guardar instrues ou dados
mais recentemente usados para o caso de precis-los outra vez, de modo
que no precise ir busc-los na memria RAM principal, muito mais lenta que
a memria cache.
Os computadores gastam muito tempo nos laos (loops), repetindo
a mesma sequncia de instrues vrias vezes, assim se esse cdigo estiver na memria cache pode melhorar significativamente o desempenho.
Dependendo se a memria cache est situada no chip do processador central, ou em chips externos prximos com uma ligao de alta velocidade,
chamado cache L1 ou cache L2.

Introduo Computao 77

Outros aspectos da arquitetura dos microprocessadores que afetam


a velocidade incluem a habilidade de alguns processadores centrais de trabalhar ao mesmo tempo com instrues mltiplas em paralelo. Tambm, alguns processadores centrais so CISC24 (conjunto de instruo complexa),
enquanto outros so RISC (conjunto de instruo reduzida). Os microprocessadores RISC25 tm um conjunto de instrues mais simples e precisam de
mais instrues para executar uma mesma ao que um microprocessador
CISC faz com uma instruo, mas os processadores RISC so mais rpidos
e podem terminar a operao antes.
At hoje se discute a eficincia dos processadores RISC e CISC,
mas na verdade o desempenho dependente do tipo de instruo executada e do tipo de aplicao usada. O resultado que voc no pode simplesmente comparar processadores diferentes olhando apenas sua velocidade de relgio. Um processador PowerPC com o dobro da velocidade de
relgio de um processador Pentium tem a velocidade de processamento
aproximadamente equivalente.

1.3. Tipos de microprocessadores


O microprocessador mais usado nos PC
feito pela Intel. Desde que a IBM escolheu o
processador Intel 8088 para o PC original da
IBM, a maioria de clone do PC usam um processador da srie Intel: 8088, 80286, 80386,
80486, Pentium, Pentium II, Pentium III e
Figura 18 - Processador
Pentium 4. A Figura 18 mostra um processaIntel (Intel Corp)
dor Intel.
Outro fabricante dos microprocessadores para o PC AMD (Advanced
Micro Devices, Inc.). Sua linha de processadores Athlon foi bem sucedida e
tomou uma frao do mercado do processador da Intel. O processador AMD
compatvel com o Intel, isto , possuem o mesmo conjunto de instrues e
qualquer software funciona em ambos os processadores sem alterao.
A srie de computadores Macintosh da Apple usou originalmente o microprocessador Motorola 68000. Os processadores da Motorola usam um
conjunto de instruo diferente do que os processadores da Intel, por isso o
software do PC no funciona em um Mac e vice-versa. A Apple usou mais tarde o processador RISC PowerPC, desenvolvido pela Apple, Motorola e IBM.
Os Mac a partir de 2004 usaram processador PowerPC G4 ou o PowerPC
G5. Em 2006 a Apple passou a usar processadores Intel em seus Mac, tornando possvel o funcionamento de software Windows diretamente no Mac.

C I S C : processador
com conjunto de instruo
complexa.

24.

R I S C : processador
com conjunto de instruo
reduzida.

25.

78

FERNANDEZ, M. P; CORTS, M. I.

2. Barramento de dados

FSB (Front Side Bus):


Barramento principal de
um computador PC.

26.

O barramento de dados a estrada eltrica com vrias vias que ligam o processador central aos outros componentes da placa me, tal como memria
RAM, disco rgido e controladores de I/O. Esse barramento chamado Front
Side Bus (FSB)26. O tamanho da palavra do barramento de dados determina
quantos bits podem ser movidos simultaneamente ao longo dele, tipicamente
nos computadores modernos usa-se 32 bits ou 64 bits.
A velocidade de relgio dos outros componentes ligados ao barramento de dados na placa me mais lenta do que a velocidade de relgio do
processador central. Por isso comum na especificao de um computador
diferenciar a velocidade do processador, tipicamente na ordem de gigahertz, e
a velocidade do barramento, tipicamente centenas de megahertz.

3. Memria
A memria de um microcomputador o lugar onde os programas e os dados
so armazenados quando esto sendo usados. Existem vrios tipos de memrias em um microcomputador que sero comentadas a seguir:

3.1. Memria RAM


O RAM o espao de memria principal do computador. O termo RAM significa memria de acesso aleatrio (Random Access Memory), e o termo vem
dos primeiros computadores quando as unidades centrais tinham dois tipos
de memria: Acesso aleatrio, em que todo o bit da memria poderia ser endereado a qualquer instante; e memria seqencial (tal como os dados armazenados em fita) onde os bits poderiam somente ser alcanados de forma
sequencial. Toda memria em um computador moderno de acesso aleatrio, assim no se preocupe com a memria seqencial.
O RAM a rea de trabalho do computador. Se o computador tem mais
RAM, pode abrir mais programas e mais arquivos simultaneamente. como
voc tivesse uma grande mesa de trabalho onde pudesse espalhar muito mais
papis de trabalho sobre ela em vez de uma pequena mesa. Um arquivo que
voc est editando (e o programa que o seu computador est usando para
editar) armazenado na RAM.
O RAM consiste em bancos de transistores do circuito integrado onde
podem estar ligados ou desligados (representando um ou zero). Os chips de
RAM precisam energia constante para manter o que armazenado nele; um
desligamento da energia, mesmo que seja uma frao de segundo (por exem-

Introduo Computao 79

plo, causado por um relmpago na rede eltrica) pode fazer com que o RAM
perca seus dados. Por esse motivo, a RAM chamada de voltil (ou aquilo
que se evapora facilmente) e por isso importante salvar frequentemente seu
trabalho em um armazenamento mais permanente, tal como um disco rgido.
O tipo especfico de RAM usado em um computador poderia ser DRAM
(RAM Dinmica), ou SDRAM (RAM Dinmica Sncrona) ou RDRAM (RAM
Dinmico Rambus), mas no se preocupe sobre os detalhes. Apenas tenha
cuidado para escolher o modelo apropriado para seu sistema quando voc
compra mais memria RAM.
O RAM instalado geralmente na
placa me em soquetes como DIMMs (Dual
Inline Memory Module), pequena placa de
circuito impresso com chips de memria
RAM (Figura 19). A arquitetura da placa
me limitar a quantidade de memria RAM
extra voc pode adicionar. O tamanho da
memria RAM medido em bytes, quiloFigura 19 - Mdulo DIMM de
bytes, megabytes, etc.
Memria RAM (Spansion)

3.2. Memria ROM


Os computadores tambm tm alguma memria ROM (Read Only Memory
ou Memria apenas para leitura) na placa me. A ROM, apesar de ser construda por transistores, no precisa de energia para guardar suas informaes
mas tambm no podem ser re-escritas.
Quando o computador ligado, o programa armazenado na ROM
executado, dando os primeiros comandos para o computador funcionar. Esse
programa, chamado de BIOS (Basic Input/Output System ou Sistema Bsico
de Entrada/Sada) executa todas as funes iniciais de um computador, por
exemplo, verifica se o hardware est em ordem e procura os dispositivos de
armazenamento onde pode encontrar uma cpia do Sistema Operacional que
ser carregado na memria RAM (que encontra-se apagada pois o computador estava desligado) e a seguir entrega o controle do computador ao Sistema
Operacional.
Devemos lembrar que o cdigo de BIOS nos computadores modernos
gravado em dispositivos regravveis como EEPROM (ROM Programvel e
Apagvel Eletricamente). A placa me inclui circuitos especiais que permitem
que os arquivos de BIOS permanentes sejam atualizados quando necessrio, mas que feito raramente (EEPROM pode somente ser re-escrita um
nmero limitado de vezes, da ordem de centenas a milhares de vezes).

80

FERNANDEZ, M. P; CORTS, M. I.

3.3. Memria CMOS


A memria CMOS de um computador uma pequena quantidade de memria semi-permanente onde os dados podem ser armazenados e re-escritos
quantas vezes quiser mas que permanecer disponveis quando o computador
for desligado. Uma bateria pequena na placa me mantm a memria CMOS
viva quando no h energia.
A memria do CMOS pode armazenar parmetros de configurao de
um computador como caractersticas de disco e interfaces, etc. A BIOS ir ler
essas informaes e us-las durante o carregamento do sistema operacional.
A memria do CMOS pode tambm guardar a data e a hora permitindo que
o computador mantenha a data e hora correta mesmo estando desligado. O
computador tem um relgio alimentado pela pequena bateria.
A memria CMOS um tipo de memria de transistor que exige a potncia muito pequena para armazenar dados, com uma pequena bateria os
dados so mantidos por um longo tempo. Entretanto, quase todas os chips
de memria em um computador hoje em dia (como a RAM) usam a tecnologia CMOS, e ironicamente, a memria semi-permanente CMOS nos PCs
modernos no armazenada em memrias CMOS, mas em uma memria
Flash, que um tipo de memria EEPROM com tamanho maior e com capacidade de re-escrita.

3.4. Memria Virtual


A memria virtual no necessariamente um novo componente de um computador, mas apenas uma tcnica que os sistemas operacionais usam para
ultrapassar os limites de memria no computador.
A quantidade de RAM limita o tamanho e quantidade de arquivos de dados e programas podem ser aberto simultaneamente. Voc no poderia abrir
simultaneamente dois programas que exigem 80 MB de RAM cada um em um
computador que tenha somente 128 MB do RAM.
Entretanto, os sistemas operacionais modernos usam a memria virtual
para permitir a ampliao dessa capacidade. Se tudo no couber na memria RAM disponvel, o sistema operacional pode automaticamente escrever os
dados no utilizados nesse momento no disco rgido, e coloca na memria os
dados que est utilizando. Mas isso tem um preo! Os disco rgidos (dispositivos
mecnicos) so muito mais lentos do que a memria RAM (dispositivo eletrnico), assim o computador funcionar muito mais lento se usar a memria virtual.

Captulo

11

Dispositivos de
armazenamento
Os dispositivos de armazenamento, tais como unidades de disco, armazenam
programas e arquivos de dados quando no esto sendo usados. Ao contrrio
das memrias RAM, os dados armazenados nestes dispositivos no desaparecem quando a energia desligada.
Os tipos principais de dispositivos de armazenamento so: discos magnticos, disco de estado-slido e disco tico.

1. Disco rgido
Um disco rgido um dispositivo mecnico constitudo por discos de metal e
revestidos com xido de metal que permite ser magnetizado. Uma cabea
pequena de leitura/gravao eletromagntica na extremidade de um brao
mvel magnetiza pontos minsculos no disco para armazenar dados. Todos
esse componente so lacrados em uma caixa hermeticamente fechada. A
distncia entre o disco e a cabea de leitura/gravao comparvel ao de um
gro de poeira, caso exista alguma sujeira na superfcie do disco poder danificar definitivamente a unidade de disco.
Os pontos magnticos magnetizados em
um sentido representam o valor binrio um e
os pontos magnetizados no sentido oposto representam um zero. A mesma cabea eletromagntica pode mais tarde detectar o sentido
do campo magntico dos pontos quando o disco passa debaixo da cabea, identificando se o
dado 0 ou 1 conforme o sentido de magnetizao. A Figura 20 mostra um disco rgido com Figura 20 - Disco Rgido IBM
seus principais componentes.
Os discos rgidos so avaliadas por sua capacidade de armazenamento,
tipicamente dezenas ou centenas de gigabyte. Outra mtrica de avaliao
quanto rapidamente os discos giram (em RPM, Rotaes por Minuto), que

82

FERNANDEZ, M. P; CORTS, M. I.

tipicamente milhares de RPM. Uma outra mtrica de avaliao de um disco


rgido o tempo de acesso mdio (medido em milissegundos), que diz em mdia quanto tempo levaria a movimentao do brao para recuperar um dado no
disco. Os tempos de busca tpicos ao redor 6 ms.
A eletrnica que controla o disco rgido incorpora geralmente alguma
memria cache. O movimento do brao l diversos setores dos dados de uma
s vez e se o processador central pedir os setores seguintes, a memria cache pode responder imediatamente sem ter que esperar o disco girar e posicionar o brao no local correto.
Existem vrios padres de controlador para interface com disco rgido
como: IDE, ATA, SATA, SCSI, ou outros. No vamos entrar em detalhes sobre
esses padres aqui, apenas voc deve ter em mente que deve se usar o mesmo padro interface para se ligar o disco na placa me.

2. Disquete flexvel
Um disquete flexvel um disco plstico flexvel de mylar (tipo de plstico)
coberto com xido de metal que magnetizado atravs de uma cabea magntica, de forma semelhante ao disco rgido. As disquetes flexveis tem 3.5
de dimetro e dispe de uma capacidade de 1.44 MB para armazenamento.
O disquete dispe de um obturador que protege a superfcie de disco da sujeira e das impresses digitais, o obturador desliza expondo a mdia
magntica quando o disco introduzido na unidade de leitura de modo que as
cabeas de leitura/gravao possam alcanar o disco magnetizvel.
Uma trava plstica pode ser deslizado para desbloquear um furo no
canto do disquete para proteger o disco de escrita (assim dados no podem
ser acidentalmente apagados). O tempo de acesso muito mais lento do que
um disco rgido, e a vida til significativamente mais curta.
As unidades de disquete flexvel esto caindo em desuso. A maioria dos
computadores novos no dispe dessa interface. O motivo desse abandono a reduo de custo de outras mdias com maior capacidade, como CD
Regravvel, DVD Regravvel e Memria Flash (pen drive), com capacidades
de centenas de megabytes a vrios gigabytes.

3. Cartes da memria Flash


Memria Flash um tipo especial de memria RAM desenvolvida nos anos 80
que apresenta a caracterstica de no ser voltil, isto , no perde os dados
quando a energia desligada. Apesar de ser um pouco mais lenta que as memrias RAM volteis ela muito mais rpida que os discos rgidos.

Introduo Computao 83

A memria Flash se popularizou com a disponibilidade de interface USB,


que permitiu a construo de memrias no volteis portteis que podem se ligar em qualquer porta USB com uma velocidade bastante alta. Esse dispositivo
chamado pen drive ou memory key tem se tornado cada vez mais popular em
virtude da praticidade e baixo preo. A Figura 21 mostra um pen drive USB.
O mesmo tipo da memria Flash pode ser
usado em pequenos cartes de memria como
carto SD, Compact Flash, Memory Stick. Esses
cartes so usados em telefones celulares,
PDAs, cmeras digitais, tocadores MP3, e outros
dispositivos digitais. Voc pode ler um carto desses em um leitor de carto da memria instalado
no computador. Estes cartes de memria tem Figura 21 - Pendrive
capacidades de armazenamento de centenas de Sandisk
megabytes a dezenas de gigabyte.

4. CD-ROM
Um CD-ROM um dispositivo de memria tica com capacidade de at 700
MB. O tico significa que a luz usada para ler os dados do disco (no uma
mdia magntica). Os CD-ROM so muito baratos se produzidos em grandes
quantidades e a maioria de software so distribudos em CD-ROM.
Os dados so armazenados em um CD-ROM atravs de pequenos poos gravados na camada plstica interna que aluminizada e recoberta com
uma outra camada plstica transparente para proteo. Um raio laser projetado sobre o disco girando reflete uma sequncias dos poos e no-poos que
converte em dados zero e um.
O desempenho de CD-ROM so avaliadas pela velocidade, tal como
32x, que significa 32 vezes mais rpido do que a primeira gerao de CD-ROM.

4.1. CD-R e CD-RW


Os CD-R (CD Gravvel) e CD-RW (CD Regravvel) so os CD que podem
ser escritos e re-escritos, respectivamente.
Os discos dos CD-R tm uma camada de tinta que alterada por um laser de potncia mais elevada que escreve os zeros e uns no disco. Na leitura
se usa um laser mais fraco que reflete os poos mas no altera os dados. Os
CD-R podem ter sua superfcie escrita apenas uma vez, aps o qual pode-se
apenas realizar leitura. Assim como os CD, os CD-R pode armazenar at 700
MB dos dados.

84

FERNANDEZ, M. P; CORTS, M. I.

Os discos CD-RW contm um material sensvel especial e usa dois


raios laser diferentes, um que escreve (com potncia alta) e l (com potncia
baixa) e um outro laser que apaga o contedo, deixando o disco pronto para
ser regravado. Assim esses discos podem ser usados muitas vezes (mas devem ser apagados antes da re-escrita).

4.2. DVD
Os discos de DVD-ROM so mdias ticas similares aos CD-ROM, mas com
uma capacidade de armazenamento maior. Os DVD permitem gravao de
4.7 GB de dados em mdia de camada nica ou 8.54 GB em camada dupla.
Como um CD, os DVD tem igualmente tem variaes de gravao
como DVD-R para o gravvel e DVD-RW para o regravvel. As velocidades
de leitura de DVD so avaliadas nos termos de quantas vezes ele mais rpido que os drives originais de DVD, por exemplo, um disco 6x equivale a dizer
que ele 6 vezes mais rpido que os primeiros DVD.

Atividades de avaliao
1. Relacione os principais componentes de uma CPU e descreva a funo
de cada um.
2. Por que importante para um computador teu um relgio nico?
3. Diga a diferena entre memria RAM e memria ROM?
4. Qual a forma de codificao de dados que podemos usar em discos rgidos
e flexveis e unidade de CD ou DVD?

Captulo

12

Sistemas de entrada
e sada
Em computao, o sistema de entrada/sada, em ingls Input/Output, tambm
conhecido pela sigla I/O, referem a comunicao entre um sistema de processamento de dados (como um computador) e o mundo exterior, seja ele um ser
humano ou um outro sistema de processamento de dados. As entradas so
os sinais ou os dados recebidos pelo sistema, e as sadas so os sinais ou os
dados emitidos por ele.
Os dispositivos de I/O so usados por uma pessoa (ou por outro sistema) para comunicar-se com um computador. Por exemplo, teclados e mouses so dispositivos de entrada de um computador, enquanto o monitores e
impressoras so considerados dispositivos de sada de um computador. Os
dispositivos para comunicao entre computadores, tais como modem e placas de rede, so tipicamente para entrada e sada.
Em um computador a combinao do processador central e da memria central (isto , a memria que o processador pode ler e escrever a diretamente) considerada o crebro de um computador. Qualquer transferncia
de informao entre esse bloco e qualquer outra unidade considerada tambm I/O, como por exemplo, uma unidade de disco magntico ou tico.
Abaixo vamos discutir a variedade de dispositivos usados para a entrada e a sada do computador.

1. Dispositivos de Entrada
1.1. Teclado
O teclado de computador utilizado para incluir informaes de texto no computador, como se faz na datilografia. O teclado pode tambm ser usado para inserir
os comandos que controlam o computador para executar determinadas aes.
Os comandos so escolhidos tipicamente de um menu na tela usando um mouse, mas geralmente h alguns atalhos de teclado para esses comandos.

86

FERNANDEZ, M. P; CORTS, M. I.

Alm das teclas do teclado principal (usado para datilografar o texto), os


teclados geralmente tm um teclado numrico (para inserir dados numricos
eficientemente), um conjunto de teclas de edio (usadas para operaes de
edio do texto), e uma fila de chaves de funo na parte superior (para chamar determinadas funes dos programa). Os computadores portteis, que
no tm espao para teclados grandes, incluem frequentemente uma a tecla
fn de forma que outras teclas possam realizar duas funes (por exemplo, ter
um teclado numrico encaixado dentro do teclado principal).
A maioria dos teclados padro PC se conectam ao computador atravs
de um conetor PS/2 ou da porta do USB.

2. Dispositivos Apontadores
As interfaces grficas (chamadas GUI) exigem algum tipo do dispositivo para
posicionar o cursor na tela. Os dispositivos apontadores tpicos so: mouse,
almofada de toque e trackball. Os dispositivos apontadores, tais como mouse,
se conectaram ao PC atravs de portas seriais (mais antigos), porta PS/2 ou
a porta USB (os mais novos).

2.1. Mouse
O dispositivo apontador mouse apoia-se em sua
superfcie de trabalho, como uma mesa, e movido com sua mo. Nos mouses mais velhos uma
esfera na parte inferior rola na superfcie enquanto
voc move o mouse, e os rolos internos detetam o
movimento da esfera e transmitem a informao ao
computador atravs do cabo. O nome mouse (rato Figura 22 - Mouse
em ingls) vem da semelhana do dispositivo em com fio (Clone)
forma de concha com um cabo. A Figura 22 mostra
um mouse tradicional.
O mouse tico (mais recente) no usa uma esfera de rolamento, mas
uma luz e um sensor tico para detetar por reflexo o movimento do mouse
seguindo a rugosidade da superfcie da mesa. Os mouses ticos evitam o problema de uma esfera suja no mouse, que faz com que os mouses antigos percam a preciso se a esfera e os rolos internos no so limpos frequentemente.
Um mouse pode ser sem fio, comunicando-se com o computador atravs das ondas de rdio (geralmente usando o protocolo Bluetooth), tornando
desnecessrio o cabo para ligar ao computador (no entanto, ele vai precisar
de baterias internas).

Introduo Computao 87

Um mouse inclui uma ou vrias teclas (as vezes uma roda) para permitir
que os usurios interajam com a interface grfica. O mouse tradicional de PC
tem duas teclas para acionar comandos, e a roda serve para deslizar a imagem na tela do computador.

2.2. Almofada de toque (touch pad)


A maioria de computadores portteis
tm hoje um dispositivo apontador tipo
almofada de toque (touch pad). Voc
move o cursor na tela deslizando o
dedo pela superfcie da almofada plstica. As teclas ficam situadas abaixo da
almofada, mas a maioria das almofadas
de toque permitem que voc execute o
clique do mouse batendo com o dedo
Figura 23 - Touchpad de notebook (Acer)
na prpria almofada.
As almofadas de toque tm a vantagem sobre os mouses porque no
tem partes mecnicas que se danifiquem e no pegam sujeira. A Figura 23
mostra uma almofada de toque.

2.3. Trackball
O trackball como um mouse de cabea para baixo, com a esfera situada
na parte superior. Voc usa seus dedos para rolar o trackball, e os rolos internos (similares ao de um mouse) detetam o movimento que transmitido ao
computador. Os trackballs tm a vantagem sobre mouses porque o corpo do
trackball permanece estacionrio em sua mesa, assim que voc no precisa
tanto espao para usar o trackball.

3. Tablet grfico
Um tablet grfico consiste em uma rea eletrnica de escrita e uma pena especial que escreve sobre ela. Os tablets grficos permitem que artistas criem
imagens grficas com movimentos e as aes similares aos de ferramentas
de desenho tradicionais. A pena do tablet grfico sensvel a presso, assim
que pressionando obtemos um trao mais grosso ou mais fino.

88

FERNANDEZ, M. P; CORTS, M. I.

4. Scanner
Um scanner um dispositivo que l imagens em uma pgina impressa em papel produzindo uma imagem feita de pixis minsculos dos valores diferentes
de brilho e da cor que so representados numericamente e transmitidos ao
computador digitalmente. Os scanners fazem a leitura de figuras, mas podem
tambm fazer a leitura de pginas do texto que, atravs de software OCR
(reconhecimento de carter tico) que vai identificar as formas individuais das
letras e criar uma linha de texto da pgina em formato digital.

5. Microfone
Um microfone pode ser ligados a um computador atravs de uma entrada de
som. O som digitalizado convertido em nmeros digitais que representam o
som analgico original podendo ser armazenado no computador e reproduzido mais tarde.

6. Dispositivos de sada
6.1. Monitor CRT
O dispositivo de sada tradicional de um computador para um ser humano
um monitor CRT (tubo de raio de catdico). Assim como um aparelho de televiso, o monitor CRT contem um grande tubo de raio de catdico que projeta
um feixe de eltron em direo tela gerando uma imagem dos pontos coloridos no interior da tela. Os monitores do CRT so pesados e consomem mais
energia que as telas LCD.
O tamanho de tela do monitor medido diagonalmente em polegadas.
Nem toda a rea da tela pode ser til para mostrar imagem, assim muitas
vezes tambm indicada a rea visvel. A resoluo do monitor o nmero
mximo de pixis que pode mostrar horizontalmente e verticalmente (como
800 x 600, ou 1024 x 768, ou 1600 x 1200).
A maioria de monitores podem indicar diversas resolues abaixo de
seu valor mximo. Quanto maior a quantidade de pixeis possveis maior a
qualidade do monitor. Os pixis so os pontos pequenos que fazem a imagem
na tela. O afastamento dos pontos minsculos do fsforo da tela chamado
distncia entre pontos, tambm conhecido como dot pitch (dp). Uma tela com
distncia entre pontos menor produz umas imagens mais definida.

Introduo Computao 89

6.2. Monitor de tela plana LCD


Um monitor de tela plana usa geralmente uma
tela do LCD (tela de cristal lquido) para indicar a
sada do computador. O LCD consiste em diversas camadas finas que polarizam a luz que passa por elas. A polarizao de uma camada, contendo as molculas de cristais lquidos, pode ser
controlada eletronicamente em cada pixel, obstruindo quantidades variadas de luz fazendo um
pixel mais claro ou mais escuro. Existem outros
tipos de tecnologia do tela plana como as telas
de plasma mas os LCDs so os mais comuns. A Figura 24 - Monitor LCD
Samsung
figura 24 mostra um monitor LCD.
Como no CRT, o tamanho do uma tela plana expressa pelo tamanho
diagonal em polegadas, e a resoluo definida pelo nmero de pixis horizontais e verticais da tela.
Os LCDs mais antigos tinham tempos de resposta lentos e baixo contraste, mas as telas LCD de matriz ativa tm um transistor de pelcula fina
transparente (conhecido pela sigla TFT) controlando cada pixel, assim o tempo de resposta, o contraste, e o ngulo de viso melhoram muito.
As telas planas so menos volumosas e consomem muito menos energia que monitores CRT. Ainda so mais caros do que os CRT mas a diferena
de preo est cada vez menor, tornando-se cada vez mais comuns.

6.3. Impressoras Jato de tinta


Para fazer uma cpia definitiva de um trabalho, voc precisa algum tipo da impressora ligada ao seu computador. O tipo o mais comum de impressora do
tipo jato de tinta colorida. Estas impressoras do forma imagem na pgina
pulverizando gotas minsculas da tinta a partir de uma cabea de impresso
na folha de papel. A impressora precisa diversas cores de tintas bsicas (ciano, amarelo, magenta, e preto) de fazer imagens coloridas.
As impressoras jato de tinta so baratas, mas o custo dos materiais de
consumo (cartuchos de tinta e papel especial) podem tornar seu custo relativamente alto.

90

FERNANDEZ, M. P; CORTS, M. I.

6.4. Impressora laser


Uma impressora laser produz imagens de boa qualidade usando a mesma
tecnologia que as fotocopiadoras usam. Um cilindro revestido com o material
fotossensvel carregado, a seguir uma imagem desenhada nela por um
laser (ou por diodo emissor de luz) que faz aquelas reas perderem a carga.
O cilindro rola ento atravs do tonalizador (partculas minsculas de pigmento) que atrado apenas pelas reas carregadas do cilindro. O tonalizador
depositado no papel e fundido atravs de calor.
A maioria de impressoras laser so monocromticas (somente uma cor,
geralmente preto), mas algumas impressoras laser possuem cartuchos de tonalizador de vrias cores podendo produzir impresses coloridas.
As impressoras laser so mais rpidas do que as impressoras jato de
tinta. Sua velocidade avaliada em pginas por o minuto (ppm). As impressoras de laser so mais caras do que as jato de tinta, mas tem um custo operacional mais baixo.

6.5. Impressoras matriciais


As impressoras matriciais usam pequenos pinos eletromagnticos ativados
na cabea de impresso, em uma fita entintada para produzir imagens pelo
impacto. Essas impressoras so lentas e ruidosas e atualmente no so muito
usadas em computadores pessoais, no entanto tem o menor custo operacional e podem imprimir os formulrios carbonados (vrias cpias), coisa que
nem as impressoras jato de tinta nem laser podem fazer.

6.6. Sada de som


Os computadores igualmente produzem uma sada de som, variando dos sinais acsticos simples que alertam o usurio, aos efeitos sonoros de jogos,
msica com qualidade de concerto. Os circuitos para produzir o som geralmente esto localizados na placa me mas podem ser instalados em carto
de expanso. Para ouvir o som necessrio um conjunto de alto-falantes
externos ou de fones de ouvido.

Introduo Computao 91

7. Dispositivos de Entrada e Sada


7.1. Tela sensvel ao toque
Alguns computadores, especialmente os PDA e telefones celulares, tm
telas sensveis ao toque. O usurio
pode fazer escolhas e pressionar
imagens da tecla na tela. Tambm
comum usar um estilete permitindo que se escreva na superfcie de
uma tela sensvel ao toque. Uma tela
sensvel ao toque tem a funo de
uma tela plana e de um teclado, por
Figura 25 - Tela sensvel ao toque (Aramedia)
isso consideramos um dispositivo de
entrada/sada. A Figura 25 mostra
uma tela sensvel ao toque.

7.2. Modem
Modem vem do acrnimo Modulador/Demodulador e consiste em uma interface que serializa os dados e transmite atravs de uma linha telefnica. Um
modem usando tanto para transmitir como para receber, e caso a linha telefnica seja de boa qualidade pode alcanar distncias bastante grandes.
A velocidade mxima 56 Kbps, e cada vez mais tem sido substitudo por
dispositivos de alta velocidade.

7.3. Interface Ethernet


A interface Ethernet utilizada para ligar o computador a outros computadores, sejam eles locais (rede local) ou longa distncia (Internet). O protocolo Ethernet cada
vez mais tem sido usado como interface padro dos computadores PCs. Uma interface Ethernet funciona em 10, 100 MBPS, 1 e 10 GBPS de modo auto adaptvel, isto , uma interface tenta se conectar na velocidade mais alta e caso no
seja possvel vai baixando a velocidade at sincronizar com o outro equipamento e
conseguir se comunicar. O fato principal de popularidade das interfaces Ethernet
a alta velocidade e o baixo custo.

92

FERNANDEZ, M. P; CORTS, M. I.

Sntese do captulo
Este captulo apresentou a arquitetura de um computador genrico e a funo dos diversos componentes que o compe. Foi mostrado a arquitetura da
Unidade Central de Processamento (CPU), seus respectivos componentes
e suas funes. Foram mostrados os diversos tipos de memrias detalhando suas funes conforme suas caractersticas, alm de mostrar suas aplicaes na arquitetura proposta. Finalmente, foram mostrados os diversos
dispositivos de entrada e sada que facilitam a utilizao do computador pelos seres humanos.

Atividades de avaliao
1. Qual o dispositivo de entrada e sada de maior velocidade? Por que ele
pode ter essa velocidade?
2. Para melhorar a velocidade na comunicao entre computador e dispositivos de entrada/sada usa-se um mecanismo chamado DMA (Direct
Memory Access). Pesquise e explique suas caractersticas e funcionamento.
3. Comente as vantagens e desvantagens de se transmitir dados em paralelo
ou serial entre dispositivos de entrada e sada e computador.
@

Introduo Arquitetura de Computadores


http://pt.wikibooks.org/wiki/Introduo__Arquitetura_de_Computadores
Introduo Cincia da Computao
http://pt.wikiversity.org/wiki/Introduo__Cincia_da_Computao
Museu do Computador
http://www.museudocomputador.com.br/
O Computador
http://pt.wikipedia.org/wiki/Computador

Introduo Computao 93

Referncias
FERNANDO DE CASTRO VELLOSO. Informtica: Conceitos Bsicos.
7 Ed. Editora: Campus, 2004.
JOHN L. HENNESSY, DAVID A. PATTERSON. Arquitetura de Computadores: Uma Abordagem Quantitativa. 4 Ed. Editora: Campus, 2008.
WILLIAN STALLINGS. Arquitetura e Organizao de Computadores. 5
Ed. Editora: Pearson, 2002.

Parte
Conjunto de instrues
e endereamento

Introduo Computao 97

Introduo
O termo software faz parte cada vez mais do vocabulrio das pessoas com
os mais diversos interesses, seja no contexto do profissional (software de escritrio), ou de entretenimento (software de jogos). De forma geral, software
o conjunto de produtos que inclui principalmente programas de computador,
geralmente acompanhados de manuais, especificaes e outros documentos.
Por outro lado, o conjunto de instrues que compem o programa a
ser seguido e executado pelo computador, tambm chamado de software,
assim como o comportamento observado a partir da sua execuo.
De forma geral, as instrues que compem os programas so escritas
utilizando uma linguagem de programao de alto nvel de abstrao. Uma
linguagem classificada como sendo de alto nvel indica que possui caractersticas que a torna mais prxima da linguagem natural humana. Em contrapartida, uma linguagem dita de baixo nvel, mais prxima da linguagem compreendida pelo hardware. Como exemplo de linguagens de programao de alto
nvel podemos citar: Pascal, Fortran, C.
As instrues de alto nvel precisam ser traduzidas ou interpretadas,
para posteriormente serem executadas por um processador ou mquina virtual. Para que o processador possa interpretar e executar um programa, seu
conjunto de instrues precisa ser escrito em linguagem de mquina27 ou assembly language. O resultado deste processo o programa em linguagem de
montagem ou linguagem de mquina. Cada arquitetura possui uma linguagem de montagem particular.
Finalmente, o programa em linguagem de montagem convertido para
um programa em cdigo objeto pelo montador (assembler). O montador traduz
diretamente uma instruo da forma textual para a forma de cdigo binrio. Neste
formato final a instruo carregada na memria e interpretada pelo processador.

Linguagem de Mquina:
representao numrica
utilizada diretamente pelo
processador

27.

98

FERNANDEZ, M. P; CORTS, M. I.

Saiba Mais
A linguagem Assembly uma linguagem de baixo nvel para programacao de computadores. Esta linguagem implementa uma representao simblica de cdigos de maquina numricos e considera outras restries para uma arquitetura de CPU particular.
Esta representao usualmente definida pelo fabricante de hardware, e baseada
em abreviaturas das palavras em ingls (mnemnicos), de forma a facilitar o trabalho
dos programadores. A linguagem de maquina especifica a uma determinada arquitetura de computador fsica e virtual, diferentemente das linguagens de alto nvel, as
quais so portveis.

Desde o ponto de vista do software, um computador pode ser estruturado como uma serie (ou nveis) de abstraes, onde a serie superior representa um incremento em relao serie que a precede. Em cada nvel utilizada
uma linguagem com propriedades diferenciadas, onde cada linguagem usa a
sua antecessora (nvel imediatamente inferior), como base. A linguagem ou
nvel que fica mais embaixo mais simples de forma a ser entendido pelo
computador, enquanto que a que fica mais acima a mais sofisticada e complexa, porem, mais prxima do entendimento humano.
O nvel mais baixo o nvel lgico digital, composto por circuitos eletrnicos estudados no captulo 2.

Figura 26 - O conjunto de instrues


dentro do contexto de software.

Introduo Computao 99

Nesta unidade ser abordado o nvel de Arquitetura do Conjunto de


Instrues (ISA). Este conjunto de instrues determina as instrues executadas que podem ser interpretadas por uma maquina especifica. Cada maquina tem uma linguagem consistindo em todas as instrues que a maquina
capaz de executar.

Praticando
1. Que significa que uma linguagem de programao classificada como sendo de baixo ou alto nvel?
2. Quais linguagens de alto nvel voc conhece? De exemplos de instrues de uma
linguagem de alto nvel.
3. Um programa em uma linguagem de alto nvel pode ser traduzido ou interpretado
pelo processador. Pesquise qual a diferencia entre esses dois conceitos.

13

Captulo

Instrues
De forma geral, uma nica instruo em linguagem de alto nvel equivalente a vrias instrues em linguagem de mquina. Por exemplo, observe
a seguinte instruo de linguagem de alto nvel em Pascal: X = X + Y, onde
as variveis X e Y correspondem s posies de memria 312 e 311. Esse
comando alto nvel pode ser implementado atravs do seguinte conjunto de
instrues de mquina:
1. Carregar um registrador com o contedo da posio de memria 312.
2. Adicionar o contedo da posio de memria 311.
3. Armazenar o contedo do registrador na posio 312.
Em linguagem de maquina, as instrues so representadas atravs de
mnemnicos, que vinculam o nome da instruo sua funo. Alguns exemplos comuns so:
ADD Adio
SUB Subtrao
MPY Multiplicao
DIV Diviso
LOAD Carregar dados na memria
STOR Armazenar dados na memria
Tudo o que a maquina pode fazer controlado pelo seu conjunto de
instrues. As instrues permitem movimentar dados, realizar operaes
aritmticas e lgicas, e de comparao, a partir das quais possvel desviar a
execuo do programa segundo os resultados obtidos.
Cada instruo deve conter toda a informao necessria para que a
CPU possa execut-la. Uma instruo de mquina normalmente composta
pelos seguintes elementos:
Cdigo de operao: cdigo binrio que especifica a operao a
ser executada.

102

FERNANDEZ, M. P; CORTS, M. I.

Referencia a operando fonte que constitui o dado de entrada para


a operao. Podem existir mais de um.
Referencia a operando de destino indicando o destino do resultado
eventualmente gerado pela operao.
Endereo da prxima instruo indica onde a CPU deve procurar
a prxima instruo a ser executada, que pode estar localizada na
memria principal ou virtual. Este campo fica implcito no caso em
que a prxima instruo segue imediatamente atual.
Cada instruo dividida em campos de acordo aos elementos que a
compem, e cada campo representado por um conjunto de bits. A seguir
apresentado um formato de instruo simples.

Os passos envolvidos na execuo de uma instruo so os seguintes:


1. Calculo do endereo da instruo
2. Busca da instruo
3. Alterar o contador do programa para indicar a prxima instruo.
4. Decodificao da operao da instruo
5. Calculo do endereo de operando
6. Busca de operando
7. Operao sobre os operandos
8. Armazenamento de resultado
9. Calculo de endereo de operando
Os passos 4 e 5 podem se repetir no caso de mltiplos operandos. Da
mesma forma os passos 7 e 8 para mltiplos resultados. A seqncia de passos recomea na busca de uma nova instruo, uma vez que a anterior for
completada.
Essa seqncia de etapas, denominada de ciclo buscar-decodificar-executar, de fundamental importncia para a operao de todos os computadores.
Para realizar este ciclo, a Unidade Lgica e Aritmtica auxiliada por
registradores (normalmente de 1 a 32), onde os dados so armazenados. Os
registradores alimentam os registradores de entrada da ALU, os quais vo
ser utilizados para executar a operao. Efetuada a operao o resultado

Introduo Computao 103

temporariamente armazenado no registrador de sada da ALU, para depois


ser armazenado em um registrador. Este processo chamado de ciclo do
caminho de dados. Outros registradores importantes que contribuem neste
ciclo so o Contador de Programa (PC), que indica a prxima instruo a ser
executada. Uma vez recuperada, a instruo sendo atualmente executada
armazenada no Registrador de Instruo.

Figura 27 - Arquitetura bsica de um computador.

Em algumas mquinas, todas as instrues tem o mesmo comprimento; em outras podem existir comprimentos diferentes. No primeiro caso, a decodificao fica mais fcil, mas pode acarretar desperdio de espao.

Atividades de avaliao
1. Quais seriam as vantagens de um computador estruturado em nveis possuir mais ou menos nveis?
2. Explique os diferentes papeis dos registradores no contexto do ciclo de
execuo de uma instruo.
3. Considere o conjunto de passos seguidos para a execuo de uma instruo. Qual a finalidade do passo 3? O que aconteceria se este passo
fosse omitido?
4. Considere as seguintes tarefas: (1) somar 100 nmeros armazenados na
memria principal e (2) somar um nmero a ele mesmo 100 vezes. Apesar
de ambos os programas precisarem de 100 adies, o segundo poder
ser executado muito mais rapidamente do que o primeiro? Por que?

Captulo

141

Instruction Set
Architecture - ISA
Esse nvel est posicionado entre o nvel da microarquitetura28 e o sistema
operacional e faz s vezes de interface entre o software (compiladores) e o
hardware, facilitando a portabilidade de programas escritos em diversas linguagens entre diferentes computadores.
A estratgia utilizada pelos projetistas para reduzir esse gap semntico
criar uma representao intermediaria o nvel ISA e construir hardware que
possa executar programas de nvel ISA diretamente. Desta forma. A ISA projetada de forma a tornar compatveis as necessidades de ambas as camadas.
Alem disso, desde o ponto de vista do cliente, de suma importncia
que a ISA seja compatvel entre os diversos modelos de computadores, de
forma a suportar a portabilidade dos programas antigos para uma nova arquitetura, sem que sejam necessrias alteraes. Desta forma surge o conceito
de arquitetura para uma famlia de computadores, os quais compartilham um
conjunto de propriedades e caractersticas em comum.
O conjunto de instrues do processador uma questo central para a
definio e implementao da sua arquitetura (por exemplo: operaes realizadas pela unidade lgica e aritmtica, numero e funo dos registradores, etc.).
O conjunto de instrues caracterizado pelos tipos de instrues e
operandos, numero e localizao dos operandos em instrues aritmticas e
lgicas, modos de endereamento para acesso aos dados na memria, e o
formato dos cdigos de instruo.
Consequentemente existe uma dependncia direta entre o projeto do
conjunto de instrues e o projeto da arquitetura do computador, e vice versa.
Analogamente, os tipos de operando que podem ser diretamente manipulados
por uma arquitetura dependem, claro, dos tipos de instrues oferecidas.
As instrues oferecidas por uma arquitetura podem ser classificadas
em trs categorias diferentes, de acordo com o tipo de operao que realizam.
Uma arquitetura de uso geral fornece pelo menos trs categorias de instrues bsicas a seguir:

Nvel da
Microarquiteturta: composto
normalmente de 8 a 32
registradores que compem
uma memoria local, e um
circuito capaz de executar
operaes aritmeticas
simples (ALU).

28.

106

FERNANDEZ, M. P; CORTS, M. I.

Instrues aritmticas e lgicas: so as instrues que realizam operaes aritmticas sobre nmeros inteiros (adio, subtrao) e operaes
lgicas bit-a-bit (AND, OR);
Instrues de movimentao de dados: so instrues que transferem
dados entre os registradores ou entre os registradores e a memria principal; E/S.
Instrues de transferncia de controle: so instrues de desvio e
de chamada de rotina, que transferem o controle da execuo para uma
instruo especifica dentro do cdigo do programa.
Instrues de armazenamento de dados: so instrues de memria.
Arquiteturas destinadas para uma aplicao especfica ou domnio especifico podem oferecer outros tipos de instrues, especializadas para aquela aplicao. A Unidade 2 apresenta os principais tipos de dados normalmente
representados em uma arquitetura de uso geral.

1. Numero de operandos e localizao


Uma instruo, seja aritmtica ou lgica, composta por um identificador de
operao e um conjunto de operandos referenciados. Por exemplo, operaes aritmticas e lgicas so unrias ou binrias. Considerando que o resultado da operao precisa ser armazenado, se faz necessrio um terceiro
operando. De forma geral, o endereo da prxima instruo implcito (contido no contador do programa).
Exemplo: computar o comando Y = (A B) (C + D x E), utilizando instrues tpicas de um, dois, e trs endereos.
Instrues com trs endereos
Instruo

Comentrio

SUB

Y, A, B

YA-B

MPY

T, D, E

TDxE

ADD

T, T, C

TT+C

DIV

Y, Y, T

YYT

Introduo Computao 107

Instrues com dois endereos


Instruo
MOVE

Comentrio
Y, A

YA

SUB

Y, B

YT-B

MOVE

T, D

TD

MPY

T, E

TTxE

ADD

T, C

TTxC

DIV

Y, T

YYT

Instrues com um endereos


Instruo

Comentrio

LOAD

AC D

MPY

AC AC x E

ADD

AC AC + C

STOR

Y AC

LOAD

AC A

SUB

AC AC -B

DIV

AC AC Y

STOR

Y AC

As instrues com trs operandos no so muito comuns por conta do


tamanho relativamente grande das instrues. No caso de instrues com dois
operandos e operaes binrias, um dos endereos referencia um operando e o
resultado, ou seja, que o resultado armazenado no lugar do prprio operando.
Um cuidado especial tem que ser tomado para no alterar o valor de algum operando utilizando a instruo MOVE.
Embora o tamanho das instrues reduzido, o numero de instrues requeridas aumenta de 4 para 6. Finalmente, no caso de instrues com um operando o segundo operando fica implcito, utilizando-se um registrador da CPU
(acumulador AC) para auxiliar na resoluo da operao. Neste caso so necessrias oito instrues para realizar a operao.
O nmero de endereos por instruo resulta em uma CPU menos complexa, uma vez que as instrues tm uma extenso menor e so mais primitivas. Em contrapartida, a quantidade de instrues por programa maior o que
geralmente resulta em programas mais complexos e maior tempo de execuo.
O nmero de endereos tambm implica na utilizao de mltiplos registradores, tornando a execuo de operaes mais rpidas. Desta forma,
a definio do numero de endereos por instruo constitui uma deciso de
projeto importante.

108

FERNANDEZ, M. P; CORTS, M. I.

Praticando
1. Analise o exemplo apresentado e descreva em portugus a seqncia de instrues
de maquina utilizadas em cada caso.
2. Computar o seguinte comando utilizando instrues de um, dois e trs operandos:
Z = (C x B) (A x E - D)

A partir do nmero de operandos explicitamente referenciados e da localizao destes operandos, possvel classificar as arquiteturas nos seguintes tipos:
Arquiteturas memria-memria: as instrues aritmticas/lgicas usam
trs operandos e todos os operandos podem estar na memria;
Arquiteturas registrador-memria: as instrues aritmticas/lgicas usam
dois operandos, sendo que apenas um deles pode residir na memria;

Registradores: Os
registradores so
memrias utilizadas para
realizar as operaes na
CPU. Essas memrias
so muito rpidas e
de tamanho pequeno,
geralmente suficiente para
guardar menos de uma
dezena de valores.

29.

Arquiteturas registrador-registrador: as instrues aritmticas/lgicas


usam trs operandos, todos em registradores29. Neste caso, apenas duas
instrues acessam diretamente a memria: LOAD e STORE. A instruo
LOAD carrega em um registrador um dado armazenado na memria e
instruo STORE armazena na memria o contedo de um registrador.
As arquiteturas tambm podem ser classificadas em relao localizao dos operandos:
Arquiteturas memria-memria: as instrues aritmticas/lgicas usam
trs operandos e todos os operandos podem estar na memria;
Arquiteturas registrador-memria: as instrues aritmticas/lgicas usam
dois operandos, sendo que apenas um deles pode residir na memria;
Arquiteturas registrador-registrador: as instrues aritmticas/lgicas
usam trs operandos, todos em registradores. Neste caso, apenas duas
instrues acessam diretamente a memria: LOAD e STORE. A instruo
LOAD carrega em um registrador um dado armazenado na memria e
instruo STORE armazena na memria o contedo de um registrador.

Introduo Computao 109

Atividades de avaliao
1. As linguagens de mquina so especficas de uma dada mquina. Que
significa que cada tipo de computador tem sua prpria linguagem de mquina? Explique por que isto acontece.

Captulo

15

Modos de endereamento
Grande parte das instrues tem operandos, os quais devem ser localizados
para realizar a operao. Os operandos podem encontrar-se em registradores, na memria principal ou embutidos implicitamente na prpria instruo.
O modo de endereamento determina a forma em que uma instruo especifica a localizao dos seus operandos. Existem trs modos de endereamento bsicos:
Modo registrador: a instruo indica explicitamente o registrador de dados
onde se encontra o operando (fonte ou destino);
Modo imediato: o operando se encontra dentro do prprio cdigo da instruo;
Modo implcito: a localizao do operando no indicada explicitamente
na instruo. Por exemplo, nas chamadas arquiteturas acumulador, um dos
operandos-fonte e o operando-destino nas instrues aritmticas/lgicas encontra-se sempre em um registrador especial, o acumulador.
Existem diferentes arquiteturas que podem ser utilizadas para o endereamento de dados armazenados na memria principal. Um modo de endereamento referente memria indica como deve ser obtido o endereo
da locao de memria onde se encontra o dado que ser acessado. Este
endereo chamado endereo efetivo.
Apesar da variedade mencionada, possvel identificar alguns modos
de endereamento referentes memria que so oferecidos pela maioria das
arquiteturas. Por outro lado, quase todas as arquiteturas fornecem mais de um
modo de endereamento. Todos estes modos envolvem decises em relao
a quantidade de posies de memria endereveis e/ou flexibilidade de endereamento e/ou complexidade do calculo. Estes modos de endereamento
mais comuns esto relacionados na tabela a seguir.

112

FERNANDEZ, M. P; CORTS, M. I.

A forma mais simples de endereamento o endereamento imediato


onde o valor do operando especificado diretamente na instruo, sem necessidade de acesso memria.
OPERANDO = A
Este modo geralmente utilizado na definio e uso de constantes e
inicializao de variveis. Este modo tem como desvantagem que o tamanho
do operando fica limitado pelo tamanho do campo endereo na instruo.
No modo endereamento direto, o endereo efetivo um valor imediato contido no campo endereo da instruo. Por exemplo, na instruo
ADD (100), R1

um dos operandos encontra-se na locao de memria com endereo


100. O significado da instruo acima equivalente a:
R1 M [100] + R1

Este modo de endereamento usado principalmente no acesso s


variveis estticas de um programa, cujo endereo em memria pode ser
determinado durante a compilao do programa em um nico acesso a memria. Por outro lado a faixa de endereos limitada por conta do tamanho
do campo.
No modo indireto via registrador, o endereo efetivo encontra-se em
um registrador. Por exemplo, na instruo:
ADD (R1), R2

Um dos operandos encontra-se na locao de memria cujo endereo


se encontra no registrador R1. Ou seja, existe uma indireo para chegar ao endereo efetivo do operando na memria, atravs de um registrador que contm
essa informao. A instruo acima equivalente seguinte expresso:
R2 M [R1] + R2

Este modo de endereamento usado no acesso a variveis dinmicas,


cujo endereo na memria conhecido apenas durante a execuo do programa. O acesso a uma varivel dinmica realizado atravs de um ponteiro, que
nada mais do que o endereo da varivel. Para realizar o acesso varivel
dinmica, o ponteiro carregado em um registrador, e a instruo que acessa a
varivel usa este registrador com o modo de endereamento indireto.
No modo relativo base, o endereo efetivo obtido a partir da soma
do contedo de um registrador, chamado endereo-base, com um valor imediato contido na instruo, chamado deslocamento. Este modo de enderea-

Introduo Computao 113

mento bastante poderoso e combina as capacidades do endereamento


direto e do indireto via registrador. Por exemplo, na instruo:
ADD 100(R1), R2

O registrador R1 contm o endereo-base e 100 o deslocamento. O


endereo efetivo do operando na memria calculado a partir da soma do
contedo de R1 com o valor 100.
No caso da instruo acima, ela pode ser expressa como:
R2 M [100 + R1] + R2

O modo relativo base usado no acesso a componentes de variveis


dinmicas estruturadas (por exemplo, record em Pascal ou struct em C). A
figura 28 a seguir mostra como realizado o calculo do endereo efetivo no
modo de endereamento relativo base.

Figura 28 - Modelo de realizao do clculo do endereo

A figura mostra a localizao na memria de uma estrutura com quatro


campos A, B, C e D. O endereo inicial da estrutura indicado por um ponteiro, que torna-se conhecido apenas durante a execuo do programa. No
entanto, a posio de cada campo em relao ao incio da estrutura fixo,
sendo conhecido durante a compilao. O endereo de um campo obtido
somando-se a posio do campo (o deslocamento) ao ponteiro que indica o
incio da estrutura (o endereo-base). Por exemplo, na figura, para somar um
valor ao campo C, o compilador pode usar a instruo:
ADD 2(R1), R2
Precedida de uma instruo para carregar em R1 o endereo-base da
estrutura.
No modo indexado, o endereo efetivo calculado somando dois registradores mais um deslocamento (opcional). Um registrador a base e o
outro o ndice. Por exemplo, na instruo:
ADD (R1 + R2), R3

114

FERNANDEZ, M. P; CORTS, M. I.

R1 contm o endereo-base, e R2 o ndice. A interpretao para este


modo de endereamento o seguinte:
R3 M [R1 + R2] + R3
O modo indexado normalmente usado eficientemente para implementar operaes iterativas, como por exemplo, no acesso aos elementos de um
vetor. A figura embaixo mostra como calculado o endereo efetivo no modo
de endereamento indexado.

Figura 29 - Modelo de realizao de clculo do endereo efetivo

Na figura representada a localizao de um vetor V na memria. Um


ponteiro indica o endereo-base do vetor indicando a posio do primeiro elemento. Considerando que o vetor uma estrutura homognea, cada elemento do vetor possui o mesmo tamanho e estrutura. Desta forma possvel calcular a posio na memria do prximo elemento do vetor somando o ndice
do elemento ao endereo-base.
Para realizar o acesso seqencialmente os elementos do vetor, o ndice
inicialmente carregado no registrador com o valor 0. O ndice ento incrementado dentro de um lao aps o acesso a cada elemento. Por exemplo,
para somar um valor em registrador aos elementos do vetor, o compilador
pode usar as seguintes instrues em um lao:
ADD R1, (R2 + R3)
ADD 1, R3
Onde R1 contm o valor a ser somado, R2 contm o ponteiro para o
vetor e R3 o registrador com o ndice, com valor inicial 0.

Introduo Computao 115

Atividades de avaliao
1. Quais so os modos de endereamento mais comuns? Apresente um
exemplo de uso para cada caso (diferente do apresentado no texto).
2. Por que dito que o modo de endereamento relativo base combina
as capacidades do endereamento direto e do indireto via registrador?
Explique.
3. O processo de decodificao da instruo critico. Como voc justificaria
esta afirmao?

Captulo

161

CISC versus RISC

Os primeiros computadores eram baseados em conjuntos de instrues simples e pequenos. No entanto, a procura por maior desempenho fez com que
as instrues se tornassem mais complexas e poderosas.
Com o objetivo de diminuir a grande lacuna semntica entre as necessidades das pessoas expressas em linguagens de alto nvel e o que o computador pode fazer, os projetistas de computadores investiram na definio de
instrues complexas.
Na medida em que as instrues de mquina ficaram mais prximas
das instrues de linguagens de alto nvel, aparentemente a tarefa dos compiladores ficou simplificada. No entanto, a utilizao de um conjunto de instrues mais rico requer de uma unidade de controle mais complexa capaz de
interpretar30 e executar as instrues, aumentando consequentemente o tempo de execuo de cada instruo individual. Por outro lado, outras atividades
do compilador tais como otimizao do cdigo gerado pode ser dificultada.
Um exemplo de arquitetura CISC Pentium da Intel.
Desta forma, considerando que os benefcios na utilizao de conjuntos
de instrues complexos no se apresentaram muito claros, novos estudos
sobre o comportamento da execuo de programas em linguagens de alto
nvel orientaram o projeto de um novo tipo de arquitetura: o computador com
um conjunto reduzido de instrues (RISC).
Arquiteturas RISC compartilham as seguintes caractersticas:
Conjunto limitado de instrues simples com formato fixo, facilitando a
decodificao e acesso aos operandos.
Uma instruo por ciclo pode ser implementada diretamente pelo hardware, reduzindo o tempo de execuo (no precisavam de interpretao).
Grande nmero de registradores ou o uso de um compilador que otimize
o uso dos mesmos.
Operaes de registrador para registrador.

Interpretar: no processo
de interpretacao, cada
instrucao examinada
e decodificada
individualmente, para ser
imediatamente executada.
Diferentemente do que
na traducao, nenhum
programa traduzido
gerado.

30.

118

FERNANDEZ, M. P; CORTS, M. I.

Mtodo de endereamento simples de registrador.


Enfoque na otimizao do uso da pipeline de instrues.
Exemplos de computadores com arquitetura RISC so: Sun e
UltraSparc.
Esses novos processadores tinham diferenas significativas em relao aos processadores existentes. Esta incompatibilidade se tornou favorvel
para o desenvolvimento de um novo conjunto de instrues de forma a otimizar o desempenho do sistema. Os processadores denominados RISC possuam um conjunto de instrues em torno de 50, enquanto que nos computadores CISC existentes na poca, o conjunto de instrues era entre 200 e 300.
A estratgia por trs do funcionamento de processadores RISC que
embora fosse necessrio de 4 a 5 instrues simples para fazer o equivalente
a uma instruo CISC (Complex Instruction Set Computer), se as instrues
RISC fossem o suficientemente rpidas o desempenho global do sistema seria maior, uma vez que estas instrues no eram interpretadas.
Houve dois principais motivos que impediram a predominncia das mquinas RISC, mesmo com um desempenho maior:
1. O grande investimento das organizaes em tecnologia Intel, incompatvel com os novos processadores.
2. A Intel desenvolveu uma arquitetura hibrida combinando o melhor das
duas abordagens: o ncleo de instrues mais comuns funcionam de
modo RISC, enquanto as instrues mais complicadas e menos freqentes, no modo CISC. Isto foi implementado a partir da 486.
A soluo da Intel tornou os computadores competitivos a nvel de desempenho global, e ainda manteve a compatibilidade com softwares antigos.

1. Princpios de projeto para computadores modernos


Dado o estado atual da tecnologia de hardware, alguns princpios de projeto
para computadores (CPUs de uso geral), passaram a ser aceitos. Muitos desses princpios tm sua origem no projeto de arquitetura RISC:
Todas as instrues so executadas diretamente pelo hardware eliminando desta forma um nvel de interpretao. Este princpio propicia maior velocidade na execuo das instrues.
De forma a minimizar o problema do gargalo no acesso memria e aumentar a velocidade de execuo das instrues, a tcnica
de busca antecipada ou prefetch consiste na busca antecipada de
instrues da memria, antes mesmo de ser utilizada, de modo a encontra l no processador quando chegar o momento de execut-las.

Introduo Computao 119

Tais instrues eram armazenadas em um conjunto de registradores


chamados de buffer de pr-busca. Deste modo o processo de busca
pode ser sobreposto execuo normal.
Maximizao da taxa de execuo das instrues. O paralelismo31
na execuo das instrues pode representar uma grande melhoria
no desempenho.
Instrues fceis de decodificar. Formatos regulares, de comprimento fixo e com poucos campos facilita a decodificao, aumentando a
taxa de emisso de instrues.
Referencia a memria somente atravs de LOAD e STORE. Uma
vez que o acesso a memria tem um alto custo em tempo, deve ser
priorizado o uso de registradores para o armazenamento de operandos durante a execuo das instrues.
Utilizao de vrios registradores (no mnimo 32) de forma a evitar ao
mximo o processo de descarregamento de memria.

Sntese do captulo
Neste captulo foi apresentado o conceito central de instruo, suas caractersticas, componentes, tipos e modos de endereamento. Foi apresentada a
noo de maquina multinvel, e a forma de funcionamento.
Com base no conceito de instruo e linguagem de mquina, foi discutida a importncia da ISA -Arquitetura do Conjunto de Instrues, no contexto
do projeto da arquitetura do computador, sua influencia e restries. Foram
analisadas as propriedades das duas principais arquiteturas: RISC e CISC,
fazendo uma anlise de vantagens e desvantagens de cada uma delas, as
quais serviram de base para a elicitao dos princpios do projeto dos computadores modernos.

Atividades de avaliao
1. Especifique as caractersticas das arquiteturas RISC e CISC fazendo um
comparativo de vantagens e desvantagens de cada uma delas.
2. Qual a causa principal do alto desempenho da arquitetura RISC?

Paralelismo: o
paralelismo tem duas
formas gerais: paralelismo
no nvel de instruo e
paralelismo no nvel do
processador. No primeiro
caso, uma nica CPU
capaz de executar
um maior numero de
instrues por segundo.
No segundo caso, varias
CPUs trabalham juntas no
mesmo problema.

31.

120

FERNANDEZ, M. P; CORTS, M. I.

3. Por que, mesmo atingindo um desempenho melhor, a arquitetura RISC no


atingiu as expectativas do mercado?
4. Para que serve o buffer de pr-busca?
5. Qual a maior vantagem de usar paralelismo?
6. De forma a ilustrar as abordagens de paralelismo, pesquise os conceitos
de Pipelining (paralelismo no nvel de instruo) e Computadores Matriciais
(paralelismo no nvel de processador).

Intel Corporation. http://www.intel.com/


Processadores Intel http://www.intel.com/portugues/products/processor/
index.htm
Sparc International http://www.sparc.org/
Sun Microsystems Brasil http://br.sun.com/

Referncias
TANENBAUM, ANDREW S. Organizao Estruturada de Computadores. 5 ta. Edio. Editora Pearson. 2007.
STALLINGS WILLIAM. Estrutura e Organizao de Computadores. 5 ta.
Edio. Editora Pearson. 2004.
BROOKSHEAR GLENN J. Cincia da Computao Uma viso abrangente. 5 ta. Edio. Editora Bookman. 2000.

Introduo Computao 121

Sobre os autores
Marcial Porto Fernandez: possui graduao em Engenharia Eletrnica e
Computao pela Universidade Federal do Rio de Janeiro (1988), mestrado
em Engenharia Eltrica pela Universidade Federal do Rio de Janeiro (1998)
e doutorado em Engenharia Eltrica pela Universidade Federal do Rio de
Janeiro (2002). Atualmente professor adjunto da Universidade Estadual
do Cear e assessor tcnico da Empresa de Tecnologia da Informao do
Cear. Tem experincia na rea de Cincia da Computao, com nfase em
Teleinformtica, atuando principalmente nos seguintes temas: gerenciamento
de redes, redes ticas, redes mveis e sem fio e arquitetura de computadores.
Mariela Ins Corts: atualmente Professora Adjunta de da Universidade
Estadual do Cear (UECE). Possui doutorado em Informtica pela Pontifcia
Universidade Catlica do Rio de Janeiro (PUC-Rio, 2003), mestrado em
Sistemas e Computao pelo Instituto Militar de Engenharia (IME, 1998) e
graduao pela Universidad Nacional de La Plata, Argentina - Analista de
Computacin (1996). Tem experincia na rea de Cincia da Computao,
com nfase em Evoluo de software e gerncia de projetos de software,
atuando principalmente nos seguintes temas: evoluo de framework, refactorings, agent societies e multi-agent systems, gerencia de projetos de desenvolvimento de software.

Computao
Introduo Computao

Marcial Porto Fernandez


Mariela Ins Corts

Universidade Estadual do Cear - Universidade Aberta do Brasil

iel a sua misso de interiorizar o ensino superior no estado Cear, a UECE,


como uma instituio que participa do Sistema Universidade Aberta do
Brasil, vem ampliando a oferta de cursos de graduao e ps-graduao
na modalidade de educao a distncia, e gerando experincias e possibilidades inovadoras com uso das novas plataformas tecnolgicas decorrentes da popularizao da internet, funcionamento do cinturo digital e
massificao dos computadores pessoais.
Comprometida com a formao de professores em todos os nveis e
a qualificao dos servidores pblicos para bem servir ao Estado,
os cursos da UAB/UECE atendem aos padres de qualidade
estabelecidos pelos normativos legais do Governo Federal e se articulam com as demandas de desenvolvimento das regies do Cear.

Introduo a Computao

Computao

Qumica

Cincias
Biologicas

Artes
Plsticas

Computao

Fsica

Matemtica

Pedagogia

Computao
Introduo Computao
Marcial Porto Fernandez
Mariela Ins Corts

3 edio
Fortaleza - Cear

2015

Qumica

Cincias
Biologia
Biolgicas

Artes
Artes
Plsticas

Computao
Informtica

Fsica

Matemtica

Pedagogia

Copyright 2015. Todos os direitos reservados desta edio UAB/UECE. Nenhuma parte deste
material poder ser reproduzida, transmitida e gravada, por qualquer meio eletrnico, por fotocpia
e outros, sem a prvia autorizao, por escrito, dos autores.
Editora Filiada

Presidenta da Repblica
Dilma Vana Rousseff
Ministro da Educao
Renato Janine Ribeiro
Presidente da CAPES
Carlos Afonso Nobre
Diretor de Educao a Distncia da CAPES
Jean Marc Georges Mutzig
Governador do Estado do Cear
Camilo Sobreira de Santana
Reitor da Universidade Estadual do Cear
Jos Jackson Coelho Sampaio
Vice-Reitor
Hidelbrando dos Santos Soares
Pr-Reitora de Graduao
Marclia Chagas Barreto
Coordenador da SATE e UAB/UECE
Francisco Fbio Castelo Branco
Coordenadora Adjunta UAB/UECE
Elosa Maia Vidal
Diretor do CCT/UECE
Luciano Moura Cavalcante
Coordenador da Licenciatura em Informtica
Francisco Assis Amaral Bastos
Coordenadora de Tutoria e Docncia em Informtica
Maria Wilda Fernandes
Editor da EdUECE
Erasmo Miessa Ruiz
Coordenadora Editorial
Rocylnia Isidio de Oliveira
Projeto Grfico e Capa
Roberto Santos
Diagramador
Francisco Jos da Silva Saraiva

Conselho Editorial
Antnio Luciano Pontes
Eduardo Diatahy Bezerra de Menezes
Emanuel ngelo da Rocha Fragoso
Francisco Horcio da Silva Frota
Francisco Josnio Camelo Parente
Gisafran Nazareno Mota Juc
Jos Ferreira Nunes
Liduina Farias Almeida da Costa
Lucili Grangeiro Cortez
Luiz Cruz Lima
Manfredo Ramos
Marcelo Gurgel Carlos da Silva
Marcony Silva Cunha
Maria do Socorro Ferreira Osterne
Maria Salete Bessa Jorge
Silvia Maria Nbrega-Therrien
Conselho Consultivo
Antnio Torres Montenegro (UFPE)
Eliane P. Zamith Brito (FGV)
Homero Santiago (USP)
Ieda Maria Alves (USP)
Manuel Domingos Neto (UFF)
Maria do Socorro Silva Arago (UFC)
Maria Lrida Callou de Arajo e Mendona (UNIFOR)
Pierre Salama (Universidade de Paris VIII)
Romeu Gomes (FIOCRUZ)
Tlio Batista Franco (UFF)

Editora da Universidade Estadual do Cear EdUECE


Av. Dr. Silas Munguba, 1700 Campus do Itaperi Reitoria Fortaleza Cear
CEP: 60714-903 Fone: (85) 3101-9893
Internet: www.uece.br E-mail: eduece@uece.br
Secretaria de Apoio s Tecnologias Educacionais
Fone: (85) 3101-9962

Sumrio
Parte 1 - Histrico, aplicaes e conceitos da Tecnologia
da Informao.............................................................................................................5
Captulo 1 - Histrio e evoluo dos computadores...............................7
Introduo...............................................................................................................7
1. Precursores do computador..............................................................................8
2. As mquinas de primeira gerao (1930-1958) ............................................15
3. Computadores de segunda gerao (1955-1965) .......................................17
4. Computadores de terceira gerao (1965-1980) .........................................18
5. Computadores de quarta gerao (1980 - ...)................................................19

Captulo 2 - Tecnologias de computadores e suas aplicaes.......23


1. Computador descartvel.................................................................................24
2. Microcontrolador...............................................................................................25
3. Computador de jogos.......................................................................................27
4. Computador pessoal (PC)...............................................................................28
5. Servidor.............................................................................................................28
6. Conjunto de estaes de trabalho..................................................................29
7. Mainframe - Supercomputadores...................................................................30

Captulo 3 - Introduo cincia da computao..................................31


Captulo 4 - Tecnologia da Informao.........................................................35
Parte 2 - Representao e processamento da informao................39
Captulo 5 - Representao e processamento
da informao...........................................................................................................41
Introduo.............................................................................................................41
1. Identificando os bits .........................................................................................42
2. Strings e vetores ..............................................................................................42
3. Representao de dados................................................................................43

Captulo 6 - Sistemas de Numerao............................................................45


1. O sistema binrio..............................................................................................45
2. O sistema hexadecimal...................................................................................47

Captulo 7 - Aritmtica binria...........................................................................51


1. Aritmtica de Nmeros Inteiros Positivos.......................................................51
2. Aritmtica de Nmeros Inteiros Negativos.....................................................54
3. Nmeros de ponto flutuante............................................................................56

Captulo 8 - Portas lgicas..................................................................................59


1. Portas bsicas..................................................................................................59
2. Portas compostas............................................................................................61

Parte 3 - Arquitetura de computadores........................................................67


Captulo 9 - Arquitetura de computadores.................................................69
Introduo.............................................................................................................69

Captulo 10 - Unidade central de processamento e memria..........75


1. Processador.....................................................................................................75
2. Barramento de dados......................................................................................78
3. Memria............................................................................................................78

Captulo 11 - Dispositivos de armazenamento.........................................81


1. Disco rgido ......................................................................................................81
2. Disquete flexvel...............................................................................................82
3. Cartes da memria Flash..............................................................................82
4. CD-ROM...........................................................................................................83

Captulo 12 - Sistemas de entrada e sada.................................................85


1. Dispositivos de Entrada...................................................................................85
2. Dispositivos Apontadores ................................................................................86
3. Tablet grfico....................................................................................................87
4. Scanner.............................................................................................................88
5. Microfone..........................................................................................................88
6. Dispositivos de sada ......................................................................................88
7. Dispositivos de Entrada e Sada.....................................................................91

Parte 4 - Conjunto de instrues e endereamento..............................95


Introduo.............................................................................................................97

Captulo 13 - Instrues.....................................................................................101
Captulo 14 - Instruction Set Architecture - ISA.....................................105
1. Numero de operandos e localizao ...........................................................106

Captulo 15 - Modos de endereamento.................................................... 111


Captulo 16 - CISC versus RISC..................................................................... 117
1. Princpios de projeto para computadores modernos................................... 118

Sobre os autores...................................................................................................121

Parte
Histrico,
aplicaes e conceitos da
Tecnologia da Informao

Introduo Computao

Histrio e evoluo dos


computadores
Introduo
Neste captulo ser apresentada uma resenha histrica da evoluo dos computadores, partindo do seu surgimento no formato mecnico at os sistemas
usados na atualidade, destacando as suas principais caractersticas estruturais. Em sincronia com a rpida evoluo da rea, o desenvolvimento de novas tecnologias de apoio e sua permanente evoluo impulsionou a imediata
difuso e adoo nas mais diversas reas de aplicao.
Hoje em dia a utilizao de sistemas baseados em computador uma
necessidade bsica para o desenvolvimento de qualquer atividade. O foco
principal destes sistemas a produo, tratamento, e comunicao de informao. A partir desta nova realidade social, surge o conceito de Tecnologia da
Informao (TI) englobando o conjunto de todas as atividades que, baseadas
em recursos computacionais, participam da gerao, processamento e uso
da informao.
O computador uma mquina capaz de receber, armazenar, tratar e
produzir informaes de forma automtica. Ao longo da sua evoluo, que
teve incio no sculo 16, muito foi exigido em relao ao desempenho dos
computadores, atingindo atualmente grande rapidez e preciso no desempenho das operaes.
Para que uma mquina possa executar uma tarefa preciso criar um
algoritmo1 definindo os passos em que a tarefa pode ser executada. No entanto,
para que uma mquina possa executar a tarefa descrita pelo algoritmo, esse
algoritmo deve ser traduzido para uma linguagem de programao para que
possa ser compreendido pela mquina.
De uma forma geral, programas so coletivamente denominados de
software, enquanto que os equipamentos fsicos necessrios para a execuo de tais programas, hardware.
Originalmente estudados no contexto da matemtica, os algoritmos
eram projetados para descrever o raciocnio necessrio resoluo de problemas de um determinado tipo, de forma unifi cada. Com o passar do tem-

Mais precisamente,
um algoritmo determina
um conjunto ordenado e
no-ambiguo de passos
que definem uma atividade
finita.

1.

FERNANDEZ, M. P; CORTS, M. I.

po, e a partir da sua popularizao nos diferentes mbitos da sociedade, as


mquinas se tornaram responsveis pela execuo de tarefas cada vez mais
complexas, propiciando o surgimento da disciplina Cincia da Computao
com o objetivo de elaborar, nas mais diversas reas de aplicao, algoritmos
cada vez mais complexos e eficientes.
A complexidade dos algoritmos pode encontrar limitaes na prpria
tecnologia, ou seja, na prpria capacidade da mquina. Algoritmos complexos
podem demandar recursos da mquina que no estejam disponveis como,
por exemplo, maior capacidade de memria do que a que a mquina pode
oferecer. Esta necessidade impulsiona a pesquisa e o avano tecnolgico que
tambm so reas de estudo da Cincia da Computao.

1. Precursores do computador
A histria da tecnologia se desenvolveu paralelamente e quase to antiga
quanto a histria da evoluo humana. Um marco considerado fundamental
neste contexto o inicio das atividades agrcolas, a partir do desenvolvimento de melhores tcnicas de domnio do homem sobre a natureza,em relao
aos seus antecessores. Este marco estabelece uma mudana radical nos
hbitos at ento nmades do homem pr-historico, para se tornar sedentrio e garantir seu territrio para a agricultura e a criao de animais. Surgem
assim aldeias e povoados e inicia-se uma era de grandes descobertas.
Com o desenvolvimento da lavoura tornou-se necessrio um mtodo
para a contagem do tempo, delimitando as pocas de plantio e colheita. O primeiro passo do homem rumo cincia e tecnologia a concepo da idia
de nmero. Inicialmente era utilizado um mecanismo de comparao entre
conjuntos de elementos, passando a comparar por agrupamentos, na medida
que os conjuntos cresciam em tamanho. No entanto, esta abordagem ainda
no era muito prtica, pois a contagem era feita utilizando-se os dedos das
prprias mos, mas foi importante por dar origem ao sistema de numerao
de base decimal.
A compreenso do conceito de nmero como uma idia abstrata, e no
somente como uma qualidade de um determinado objeto, no foi um processo imediato. Conforme Bertrand Russell, foram necessrios muitos anos para
se descobrir que um par de faises e um par de dias eram ambos instncias
do nmero dois. Esta dissociao representa o primeiro passo em direo a
um sistema de notao, e da para a aritmtica. Para auxlio deste mtodo,
eram usados gravetos, contas ou marcas na parede.

Introduo Computao 9

Com a evoluo da humanidade se fizeram necessrias novas invenes na tentativa de criar dispositivos mecnicos para auxiliar a fazer clculos.
Apesar dos computadores eletrnicos terem efetivamente aparecido somente
na dcada de 40, os fundamentos em que se baseiam remontam a centenas
ou at mesmo milhares de anos.

1.1. O baco (aprox. 3500 a.C.)


A palavra clculo tem sua origem no termo latino calculus, que h milhares
de anos servia para denominar pequenas pedras que eram usadas para
contar deslizando-se por sulcos cavados no cho. A partir desse elemento de clculo, outros similares apareceram em diversos lugares do mundo,
sendo chamados de baco. O mais antigo data de aproximadamente 3500
a.C. e surgiu provavelmente no Mediterrneo. Utilizado pelos mercadores
para contar e calcular, o baco era to eficiente que se propagou por toda
parte, antes do sculo XVII, e nenhum outro instrumento de clculo podia
competir com ele.
Por volta do ano 2600 a.C. apareceu o baco chins que evoluiu rapidamente e foi chamado em sua forma final de Suan-Pan. Foi muito utilizado
pelas civilizaes egpcia, grega, chinesa e romana, tendo sido encontrado
no Japo, ao trmino da segunda guerra mundial, chamado de Soroban.
O baco constituiu, portanto, o primeiro dispositivo manual de clculo, e
utilizado ainda nos dias de hoje. Essa mquina bastante simples e serve para
representar nmeros no sistema decimal e realizar operaes com eles.
A figura 1 apresenta um baco, que consiste numa moldura retangular dividida em 2 partes; possui uma vareta vertical para cada dgito, sendo que cada
vareta tem em sua parte inferior 5 anis que, em repouso, ficam para baixo, e na
parte superior, 2 anis que, em repouso, ficam para cima.
Os anis so movidos de um lado para outro sobre as varetas, e suas
posies representam valores numricos. Cada unidade acrescentada a um
dos dgitos do nmero representada pelo movimento para cima de um dos
anis da parte inferior da vareta. Quando os 5 esto na parte de cima devem ser
movidos para baixo.
O mesmo deve ser feito com os mesmos anis na parte superior da
mesma vareta. Se os dois anis da parte superior esto para baixo, devem
ser movidos para cima acrescentando-se uma unidade vareta seguinte,
esquerda dessa vareta. O maior nmero que pode ser calculado depende do
nmero de varetas.

10

FERNANDEZ, M. P; CORTS, M. I.

Fazendo uma analogia com o computador, pode-se dizer que por


meio das posies dos anis que este dispositivo representa e armazena dados. Os dados so ingressados quando os anis so posicionados e a sada
dos resultados consiste em observar as posies dos anis.

Figura 1 - Modelo ilustrativo de um baco

1.2. Logaritmos e os primeiros dispositivos mecnicos


de clculo
Passaram-se sculos sem que qualquer inveno ficasse registrada at que
fossem criados tais bastes. John Napier (1550-1617), Baro de Merchiston,
nobre escocs, telogo e matemtico, bastante conhecido pela descoberta
dos logaritmos. Tambm passou grande parte de sua vida inventando instrumentos para ajudar no clculo aritmtico, principalmente para o uso de sua
primeira tabela de logaritmo, estabelecendo uma relao entre uma srie geomtrica e uma srie aritmtica.
Essas descobertas ajudaram a tornar mais simples os clculos aritmticos, transformando operaes de multiplicao em operaes de soma, e
operaes de diviso em operaes de subtrao. A importncia dos logaritmos no se resumia somente simplificao dos clculos, mas teve contribuio tambm na cincia e na tecnologia.

1.3. Auxlios mecnicos para clculo


John Napier generalizou o procedimento tabular e construiu em 1617 um dispositivo simples e barato constitudo de bastes de ossos (figura 2). Eram tabelas
mveis de multiplicao e diviso feitas de marfim. Um conjunto completo de
bastes de Napier consiste em 9 peas: uma para cada dgito de 1 a 9.
Cada uma de suas hastes essencialmente uma coluna de uma tabela
de multiplicao contendo os algarismos de 1 a 9 no quadrado superior e os
oito quadrados restantes do basto continham o produto deste nmero por 2,

Introduo Computao

3, 4, 5, 6, 7, 8 e 9 respectivamente. Para obter o produto, os dgitos de cada


diagonal so somados da direita para a esquerda.
Apesar de dispositivos semelhantes aos bastes terem sido usados desde o final do sculo XVI, eles s apareceram documentados a partir de 1614.

Figura 2 - Modelo ilustrativo dos bastes de Napier

1.4. Rguas de clculo


A partir das descobertas de Napier surgiu uma outra grande inveno, desenvolvida pelo brilhante matemtico ingls Willian Oughtred, e tornada pblica
em 1638: a rgua de clculo. Ganhou sua forma atual, de uma rgua que se
move entre dois outros blocos fixos, por volta do ano de 1650, tendo sido esquecida por duzentos anos, para se tornar, no sculo XX, um grande smbolo
de avano tecnolgico, com uso extremamente difundido.
Uma regra de clculo considerada como o primeiro dispositivo mecnico-analgico de computao. Com um formato tipicamente circular, este
instrumento permite a realizao de clculos de forma aproximada, por meio
de guias graduadas deslizantes. Existem diversas variantes da regra de clculo dependendo da rea de aplicao especfica da engenharia. Embora
todas elas realizem as operaes bsicas, para o caso da regra para uso em
engenharia eltrica, por exemplo, podem existir escalas para converso entre
unidades de potncia (kW), cculo de tenso em condutores (V) e outras.
A rgua de clculo e as calculadoras mecnicas foram largamente utilizadas por engenheiros at 1970, quando surgiram as calculadoras eletrnicas
cuja utilizao era muito mais simples e seus resultados mais precisos. Um
clculo como 1345 x 3442, por exemplo, resolvido em poucos segundos
com uma rgua de clculo. No entanto, o resultado apenas uma indicao
de que o valor prximo de 4.650.000, quando o valor exato 4.629.490.

11

12

FERNANDEZ, M. P; CORTS, M. I.

1.5. Gerao zero (sculo XVII): a evoluo da calculadora


A calculadora decimal foi construda entre 1642 e 1644 por Blaise Pascal. Tratase de um aparelho mecnico consistindo de uma caixa com rodas e engrenagens interligados que possibilitava a execuo de operaes aritmticas de
soma e subtrao. O resultado era apresentado numa seqncia de janelinhas.
Embora o aparelho se mostrasse muito til, no obteve sucesso comercial, pois seu preo foi muito alto.
Em 1671, o filsofo e matemtico alemo de Leipzig, Gottfried Wilhelm
von Leibnitz (1646 - 1716) introduziu uma melhoria em relao Calculadora
de Pascal considerando o conceito de realizar multiplicaes e divises atravs de adies e subtraes sucessivas. A mquina, capaz de executar as
quatro operaes bsicas da matemtica, foi construda em 1694. No entanto
sua operao apresentou-se muito deficiente e sujeita a erros, tendo sido,
portanto, abandonada.
O sucesso comercial veio 1820 com a Calculadora a Arithmometer, projetada por Charles Xavier Thomas (1785-1870). A mquina era capaz de efetuar as 4 operaes aritmticas bsicas utilizando o mesmo princpio da calculadora de Leibnitz, precisando de assistncia do usurio para a realizao
de clculos de dividir. At 1850 venderam-se cerca de 1500 Arithmometers.

1.6. Mquina diferencial de Babbage (1823)


Entre 1802 e 1822, Charles Babbage (1792-1871), um matemtico e engenheiro
britnico, previu que grande parte da informao poderia ser manipulada por mquina, caso fosse possvel antes converter a informao em nmeros e projetou
um engenho para isso. Em particular, Babbage tinha a inteno de reduzir o trabalho de calculo e corrigir erros nas tabelas matemticas da sua poca.
Neste contexto, a chamada Mquina de diferenas foi projetada para
computar e imprimir um conjunto de tabelas de funes (logaritmos, funes
trigonomtricas, etc.) sem a interveno de um operador humano. A maquina
seria movida a vapor, era baseada tambm no princpio de discos giratrios
e operada por uma simples manivela. O projeto de Babbage considerado o
precursor dos modernos computadores eletrnicos digitais.
Ao operador cabia somente iniciar a cadeia de operaes, e a seguir a
mquina tomava seu curso de clculos, preparando totalmente a tabela prevista. Em 1823, o governo britnico financiou a construo de uma nova verso,
mas no obteve resultado satisfatrio, devido aos limites do ferramental industrial da poca. Embora tenham sidocontratados especialistas em mquinas,
o projeto exigia mecanismos altamente precisos e movimentos complexos.

Introduo Computao 13

Neste contexto, Babbage se viu obrigado a destinar parte dos seus


recursos e tempo para desenhar peas e ferramentas no intudo de avanar no estado da arte da tecnologia, retardando assim o desenvolvimento do
projeto. Aps 10 anos de trabalho, tudo que Babbage havia conseguido era
uma pequena mquina de 3 registros e 6 caracteres, sendo que deveria ser,
de acordo com o projeto, uma mquina de 7 registros e 20 caracteres cada.
Finalmente, em 1833, quando o governo ingls desistiu do financiamento,
Charles Babbage parou de trabalhar em sua mquina.
O projeto de Babbage, no entanto, considerado o precursor dos modernos computadores eletrnicos digitais.

1.7. Mquina analtica


Aps vrios anos de tentativas, Babbage concentrou seus esforos no projeto de uma maquina de calculo universal capaz de executar qualquer tipo de
calculo (1833).
Babbage despertou para seu novo projeto observando a revoluo produzida pelos teares de Jacquard. Utilizando a mesma estratgia, a Mquina
Analtica seria programada atravs de um conjunto mutvel de instrues, para
calcular vrias funes diferentes, processando padres algbricos da mesma
maneira que o tear processava padres de desenhos. Este evento determina
um marco na evoluo do computador: surge o conceito de programao.

Saiba Mais
Teares de Jacquard (1801)
O francs Joseph-Marie Jacquard (1752-1834) introduziu a primeira mquina para
substituir o trabalho humano. Era uma mquina que automatizava os processos mecnicos de fabricao de tecido. Para executar um determinado tranado, a fiandeira
deveria ter um plano ou programa que lhe dissesse quais fios deveria passar por cima
ou por baixo, em que momento repetir o desenho, etc. A evoluo chave propiciada
pela mquina de Jacquard era o uso de uma srie de cartes cujas perfuraes estavam configuradas para descrever o modelo a ser produzido.
A abordagem utilizada por Jacquard implementa o conceito de armazenamento
de informaes em placas perfuradas com o objetivo de controlar uma mquina de
tecelagem. Este conceito ser posteriormente estendido para sua aplicao no processamento de dados.
O sucesso foi total e em 1812 havia na Frana 11.000 teares de Jacquard, e despertou na sociedade daquela poca, temor pelo desemprego, provocando uma grande
reao popular contra essa espcie de pr-automao.

14

FERNANDEZ, M. P; CORTS, M. I.

A maquina era constituda de unidade de controle de memria aritmtica e de entrada e sada, e sua operao era governada por um conjunto de
cartes perfurados, de modo que, de acordo com os resultados dos clculos
intermedirios, a mquina poderia saltar os cartes, modificando dessa forma
o curso dos clculos.
Babbage investiu toda sua fortuna pessoal e de seu filho, que com ele
trabalhou durante anos, na construo de sua mquina Analtica, vindo a falecer em 1871, sem findar a construo.

1.8. A primeira programadora da histria da computao


Babbage percebeu que para criar as instrues responsveis pela execuo dos clculos precisaria de um tipo inteiramente novo de linguagem e
a imaginou como nmeros, flechas e outros smbolos. Neste cenrio surge a importante contribuio de Ada Augusta Byron, condessa de Lovelace
(1851 - 1852), filha do famoso poeta britnico Lorde Byron.
Ada Byron uma das poucas mulheres a figurar na histria do computador. Matemtica talentosa, compreendeu o funcionamento da Mquina
Analtica e escreveu os mais completos relatos sobre o processo. Ada compreendeu o alcance das novas invenes de Babbage, que diferentemente
dos projetos anteriores, de funcionamento analgico (execuo dos clculos
usando medidas), a Maquina de Babbage era digital (execuo dos clculos
usando formulas numricas).
Antes mesmo da mquina ser construda, Ada aproveitou seus conhecimentos em matemtica para criar programas combinando funes lgicas e aritmticas para a mquina, tornando-se a primeira programadora de
computador do mundo. Alguns dos conceitos fundamentais na programao
de computadores largamente utilizados at os dias de hoje, tais como sub-rotinas, laos e saltos, j foram utilizados por Ada na programao para a
Maquina analtica.
Ada tambm colaborou com a documentao do projeto da Maquina de
Babbage, atravs da publicao de uma coleo de notas, redescobertas em
1953. Em 1980, o Departamento de Defesa dos EUA registrou a linguagem de
programao ADA, em sua homenagem.

1.9. Mquina de Hollerith


Preocupado com a lentido na analise dos dados obtidos do censo anual, cuja
demora era de aproximadamente 10 anos, o jovem funcionrio do Unites States
Census Office, Herman Hellerith, idealizou uma maquina capaz de tabular tais

Introduo Computao 15

informaes. Baseado na tcnica de cartes perfurados de Jacquard, aplicou o


mesmo conceito, mas para o armazenamento dos dados coletados no censo.
O sistema era capaz de registrar nmeros como buracos nos cartes em
locais especficos os quais eram classificados atravs de pinos. A Mquina de
Hollerith ou Mquina Tabuladora era composta das seguintes unidades:
Unidade de controle, que dirigiria a seqncia das operaes de toda a
mquina atravs de furos em cartes perfurados.
Entrada de dados, que utilizava tambm cartes perfurados.
Sada, que perfuraria os resultados em cartes para uso posterior como
entrada, aumentando assim a memria interna com armazenamento externo, indefinidamente grande.
Sada impressa utilizada na apresentao dos resultados finais, tais como
tabelas matemticas, a qual de uma linotipo automtica acoplada ao sistema.
Com a utilizao da Maquina de Hollerith fizeram muito sucesso no censo de 1890 nos EUA, conseguindo que o tempo de processamento dos dados
do censo diminusse de 8 para 3 anos. A tecnologia de cartes perfurados foi
adotada rapidamente por diversos pases da Europa, difundindo a utilizao
das mquinas Hollerith a nvel mundial e por bastante tempo.
Posteriormente, Hollerith fundou a bem sucedida companhia Tabulating
Machine Company. Em 1924, esta firma mudou de nome, tornando-se a
International Business Machines Corporation, hoje mais conhecida como IBM.
No incio, as vendas da IBM eram baseadas na linha de equipamentos de
escritrio e, em particular, mquinas tabulares.
Com o desenvolvimento dos primeiros dispositivos mecnicos para clculo automtico, comea efetivamente a vertente tecnolgica que levar
construo dos primeiros computadores.

Para refletir:
Quando chegou o primeiro computador no Brasil? Quais eram suas caractersticas?
Rel: eletrom cuja
funo abrir ou fechar
contatos eltricos com o
intuito de interromper ou
estabelecer circuitos.

2.

2. As mquinas de primeira gerao (1930-1958)


O automatismo completo foi alcanado no sculo XX, quando um grande
nmero de projetos foi implementado. Embora a concepo da mquina de
Babbage foi o alicerce dos computadores modernos, a principal diferencia era
a utilizao de circuitos eletrnicos (rels2 e vlvulas3) em lugar de mecnicos
(rodas e engrenagens).

Vlvula: dispositivo que


conduz a corrente eltrica
num s sentido

3.

16

FERNANDEZ, M. P; CORTS, M. I.

Este novo marco na evoluo dos computadores determina o surgimento dos computadores chamados de Primeira Gerao.
A principal vantagem das mquinas a rel sobre as mquinas mecnicas era, sem dvida, a maior velocidade de processamento (milissegundos).
Ainda, um outro aspecto positivo era a possibilidade de funcionamento contnuo, apresentando uma menor taxa de erros de clculo.
Os computadores da primeira gerao contavam com dispositivos de
entrada/sada primitivos. A grande utilidade dessas mquinas era no processamento de dados, os quais eram ingressados e armazenados com base na
utilizao de cartes perfurados.
Por outro lado existia uma srie de desvantagens como: custo elevado,
relativa lentido, pouca confiabilidade, grande quantidade de energia consumida e necessitavam de grandes instalaes de ar condicionado para dissipar o
calor gerado por um grande nmero de vlvulas (cerca de 20 mil). Os computadores mais representativos desta gerao foram: o MARK I, ABC (Atanasoff
Berry Computer), ENIAC (Electronic Numeric Integrator and Calculator).
Juntamente com o ENIAC, ocorreu tambm o desenvolvimento na
rea de perifricos de computador com o aparecimento de equipamentos tais
como as unidades de fita magntica, impressoras, etc.

2.1. Arquitetura Von Neuman


Uma contribuio importantssima desta poca foi o conceito de programa
armazenado, introduzida pelo matemtico hngaro, naturalizado americano
John Von Neuman por volta de 1940.
A partir de sua experincia como consultor no projeto ENIAC, von
Neuman conhecia os problemas da programao destas mquinas em relao
introduo dos programas. Os programas para os computadores da poca
eram construdos com base em modificaes nos circuitos. Esta tcnica era
muito trabalhosa e demorada.
A soluo proposta por von Neuman foi a utilizao de cartes perfurados
para o ingresso do programa, analogamente a como era feito com os dados.
Para sustentar esta abordagem, John von Neuman assim desenvolveu a lgica
dos circuitos, os conceitos de programa e operaes com nmeros binrios.
Nesse modelo, um elemento Processador segue as instrues de programas armazenados em uma Memria de Programas, para ler canais de
Entrada, enviar comandos sobre canais de Sada e alterar as informaes
contidas em uma Memria de Dados.

Introduo Computao 17

Figura 3 - Modelo proposto por Von Neuman

Estes conceitos, adotados nos computadores atuais, revolucionou o


conceito de programao de computadores da poca, tornando os programas muito mais flexveis e versteis.
A arquitetura de von Neuman inicial evoluiu para uma estrutura em
barramento, que a base dos computadores modernos. Nessa estrutura, as
memrias de dados e de programa so fundidas em uma memria nica facilitando a sua manipulao, e as comunicaes entre elementos so efetuadas
atravs de uma via comum de alta velocidade:

Figura 4 - Evoluo do modelo de Von Neuman

O novo conceito de programao introduzido por Von Neuman deu origem a muitos outros projetos nos quais ele prprio esteve envolvido, como
por exemplo, o EDVAC (Electronic Discrete Variable Automatic Computer), o
IBM 650 (o primeiro computador da IBM), e o UNIVAC (Universal Automatic
Computer), que foi o primeiro computador a ser fabricado em linha.

3. Computadores de segunda gerao (1955-1965)


O novo marco que caracteriza a segunda gerao de computadores a inveno do transistor. Considerada uma das maiores descobertas da historia
moderna, o transistor responsvel pela revoluo eletrnica da dcada de
1960. Esta nova tecnologia veio substituir a utilizao de vlvulas: em 1956 j
se produziam computadores com esta tecnologia fabricados pela IBM e logo

18

FERNANDEZ, M. P; CORTS, M. I.

depois a DEC (Digital Equipment Corporation), tornando estas empresas lideres


mundiais na indstria de computadores. Com os transistores, os computadores
passaram a ocupar um menor espao fsico, trabalhando a temperatura mais
baixa e consumindo menos enerfia eltrica em relao s valvulas.
Com a segunda gerao apareceram as memrias com anis ferromagnticos, evoluindo para as fitas magnticas, as que se tornaram a forma dominante de armazenamento secundrio. Algumas vantagens das fitas magnticas
sobre as perfuradas que possuam capacidade muito maior de armazenamento e o ingresso dos dados mais rpido. Posteriormente surgiram os discos
magnticos (1962), o que permitiu o acesso direto arquivos muito grandes.
Tambm nesse perodo houve avanos no que se refere s unidades
de memria principal, como por exemplo, a substituio do sistema de tubos
de raios catdicos pelo de ncleos magnticos, utilizado at hoje nos chips de
memria RAM. Os dispositivos de memria auxiliar introduzidos na primeira
gerao continuam a ser utilizados.
Apareceram tambm os modernos dispositivos perifericos, tais como
as impressoras, as fitas magnticas, os discos para armazenamento, etc. Os
computadores passaram a ter um desenvolvimento rpido, impulsionados
principalmente por dois fatores essenciais: os sistemas operacionais e as linguagens de programao.
Exemplos de computadores dessa gerao so o IBM 1401 e o
Honeywell 800. O primeiro minicomputador foi o PDP-1, criado em 1959 e
instalado em 1961. O primeiro produzido comercialmente foi o PDP-5. Um dos
computadores mais comercializados nesta poca foi o IBM 7090.

Para refletir

Pesquise sobre os computadores que foram os principais representantes desta gerao e descreva suas caractersticas.

4. Computadores de terceira gerao (1965-1980)


A substituio dos transistores pela tecnologia dos circuitos integrados de silcio caracterizou os computadores da terceira gerao. Os circuitos integrados
foram criados por Robert Noyce, que foi o inventor do microchip e co-fundador
da Intel Corporation. A tecnologia entrou no mercado em 1961 pela Fairchild
Semiconductor e pela Texas Instruments, localizadas no Vale do Silcio na
regio de Palo Alto e Stanford, na Califrnia.
A tecnologia dos circuitos integrados permitiu que dezenas de transistores fossem colocados em um nico chip. Desta forma, surgiram computa-

Introduo Computao 19

dores de menores dimenses, mais rpidos (nanossegundos), confiveis e


baratos do que as mquinas das geraes anteriores.
A tecnologia utilizada na poca era a de pequena escala de integrao
(SSI Small Scale of Integration) integrando aproximadamente mil transistores no circuito de uma pastilha.
Dentre os computadores mais representativos dessa gerao temos a
linha System/360 desenvolvido pela IBM, empresa lder da rea de computadores da poca (1965). O System/360 foi projetado pra computao cientifica
e comercial e apresentava muitas inovaes:
Famlia de maquinas com a mesma linguagem de montagem com tamanho e capacidades crescentes, projetada para propiciar compatibilidade
entre um grande numero de modelos.
Multiprogramao: vrios programas simultaneamente em memria, o
que resulta em um maior aproveitamento da CPU.
Primeira maquina capaz de emular (simular) outros computadores. Com
isso, podiam ser executados programas antigos sem necessidade de modificar ou traduzir.
Maior espao de endereamento de memria.

5. Computadores de quarta gerao (1980 - ...)


Esta gerao marcada por uma drstica reduo do tamanho dos computadores, porem com desempenho muito melhor: mais velozes e poderosos. Este
avano foi possvel graas tecnologia de circuitos integrados, possibilitando
a integrao de milhares de componentes eletrnicos em um pequeno espao ou chip, dando origem aos microprocessadores.
Esta evoluo teve inicio na dcada de 70, com a tecnologia de grande
escala ou LSI (Large Scale Integration), que integrava at 65 mil componentes
em um nico chip. Nos anos 80 a tcnica foi aperfeioada, atingindo a faixa
de milhares de transistores numa pastilha VLSI (Very Large Scale Integration).
A reduo de tamanho e custo desta nova gerao de computadores
possibilitou a sua aquisio para uso pessoal, privilegio que antes era somente reservado para organizaes que poderiam arcar com grandes custos e
amplos locais para a acomodao. A partir da abertura de um novo mercado
de uso domestico para os computadores, surgiram novas necessidades e desafios para as companhias. De forma geral, os computadores pessoais eram
utilizados para processamento de texto, manipulao de planilhas e aplicaes interativas como jogos.

20

FERNANDEZ, M. P; CORTS, M. I.

No incio dessa gerao nasceu a empresa americana Intel, que comeou a desenvolver o primeiro microprocessador, o Intel 4004 que manipulava
palavras binrias de 4 bits, um circuito integrado com 2250 transistores, equivalente ao ENIAC.
O 4004 foi seguido pelo Intel 8008 de 8 bits e, mais tarde, pelo Intel
8080. O primeiro microcomputador da histria foi o Altair 8800, que usava o
chip Intel 8088, tornou-se padro mundial da poca para os microcomputadores de uso pessoal, abrindo uma nova era na histria da informtica.
Sthephen Wozniak e Steve Jobs formaram em 1976 uma pequena empresa, a Apple, onde construram, segundo conta a lenda, numa garagem de
fundo de quintal, o Apple I. Um ano depois, com um novo e melhor projeto,
surge o Apple II, primeiro microcomputador com grande sucesso comercial
seguido, mais tarde, pelo Apple III.
A IBM decidiu entrar no mercado de computadores pessoais, introduzindo o PC (IBM Personal Computer), um microcomputador com tecnologia
de 16 bits, estabelecendo o Intel 8088 como sua CPU. Lanado em 1981, o
PC se tornou campeo de vendas da historia dos computadores. Um PC tem
a seguinte configurao tpica 256 a 640 K de memria RAM na placa principal, duas unidades de disco flexvel de 360 K, controlador de vdeo grfico,
monitor monocromtico e interface serial ou paralela para a impressora. Seu
clock era de 4,77 MHz.
Com o sucesso impulsionado pela IBM PC, a Intel continuou fazendo
verses cada vez mais poderosas. Os principais modelos de PC so: PC-XT,
PC-XT 286, PC-AT386, PC 486.
O IBM PC vinha equipada com o sistema operacional MS-DOS, fornecido pela novata Microsoft Corporation.
Em 1993 chegou ao mercado o Pentium, cuja verso Pentium III possui
cerca de nove milhes de transistores. O Pentium trouxe um novo flego s chamadas estaes de trabalho. Uma caracterstica comum s mquinas das geraes at ento, a existncia de uma nica CPU para executar o processamento.
Uma das novidades que o Pentium trouxe que possibilita a simulao
de dois processadores, ou seja, um princpio de paralelizao antes possvel
apenas em supercomputadores e que agora est ao alcance dos usurios
de microcomputadores. Mais recentemente, j existem computadores funcionando com mais de uma CPU.
Os atuais avanos em pesquisa e o projeto de novas tecnologias para os
computadores esto possibilitando o surgimento da quinta gerao. Dois avanos que configuram um divisor de guas so o processamento paralelo, que
quebrou o paradigma de von Neumann, e a tecnologia dos supercondutores.

Introduo Computao 21

Atividades de avaliao
1. Pesquise sobre os computadores que foram os principais representantes
desta gerao e descreva suas caractersticas.

Captulo

Tecnologias de
computadores e suas
aplicaes
Na tecnologia atual, podemos classificar os computadores de acordo com
a suas capacidades e finalidades de uso para o qual foram desenvolvidos.
Possivelmente os computadores pessoais sejam os mais amplamente utilizados e conhecidos, no entanto existem outras variantes que sero analisadas
nesta seo.
A quarta gerao de computadores cujo domnio se estende at nossos
dias, impulsionada principalmente pela capacidade dos engenheiros e fabricantes de chips em empacotar cada vez mais transistores por pastilha, a cada
ano. A cada incremento, so gerados computadores com memrias maiores e
processadores mais poderosos.
A evoluo tecnologica observada nas ltimas dcadas comprova que
o nmero de transistores dobra a cada 18 meses, e a previso indica que
essa taxa ser mantida no futuro. Esta constatao conhecida como Lei de
Moore, que d fundamento ao chamado crculo virtuoso onde:

Figura 5 - Representao do crculo virtuoso relacionado ao desenvolvimento


de computadores

24

FERNANDEZ, M. P; CORTS, M. I.

Os benefcios alcanados pela lei de Moore podem ser mapeados para


duas atitudes possveis. Por um lado construir computadores cada vez mais
poderosos mantendo o preo constante. Por outro lado, uma postura mais
conservadora seria continuar a desenvolver o mesmo computador por um
preo cada vez mais baixo. A indstria de computadores adotou as duas posturas, o que resultou na ampla variedade de computadores que existem atualmente e que podem ser utilizados para uma grande variedade de aplicaes.

1. Computador descartvel
Quem no recebeu alguma vez um carto de congratulaes musical? Ou
deu de presente para a me? Pois , esta tal vez seja a aplicao mais simples de computador descartvel. Trata-se de um nico chip sonoro descartvel, porem com capacidade computacional maior do que o maior computador
do mundo de 1955.
No entanto, utilidades mais interessantes sugiram a partir do desenvolvimento do chip RFID (Radio Frequency IDentification ou identificao por
radiofrequencia). Estes chips de baixssimo custo (centavos), no possuem
bateria e a sua espessura de menos de 0,5 mm., possuem um minsculo
radiotransponder e um nico numero de 128 bits embutido.
Esta tecnologia utilizada para a identificao automtica atravs de
sinais de rdio, recuperando e armazenando dados remotamente atravs de
dispositivos chamados de tags RFID: quando pulsados por uma antena transmissora externa, so alimentados pelo sinal de radio de entrada por tempo
suficiente para transmitir seu numero de volta antena.
Uma tag pode ser colocado em uma pessoa, animal, equipamento, embalagem ou produto, dentre outros. Alm das tags passivas, que respondem
ao sinal enviado pela base transmissora, existem ainda as tags ativas, dotadas de bateria, que lhes permite enviar o prprio sinal. So bem mais caras
que as tags passivas.
A principal funcionalidade dos tags RFID a identificao de todo tipo
de objeto, inclusive seres vivos. No caso de objetos, estes tags viriam substituir os populares cdigos de barras.
Implantes em animais. Este tipo de sistema usado na identificao dos
animais ajuda no gerenciamento dos mesmos entre as companhias, no
controle de epidemias e garantia de qualidade e procedncia. A identificao animal por sistemas de RFID pode ser feita de quatro maneiras
diferentes: colares, brincos, injetveis ou ingerveis (bolus).

Introduo Computao 25

Implantes humanos. Implantes de chips RFID usados em animais agora


esto sendo usados em humanos tambm. Em 1998, o professor britnico de ciberntica Kevin Warwick implantou um chip no seu brao. A
empresa Applied Digital Solutions props seus chips formato nico para
debaixo da pele como uma soluo para identificar fraude, segurana
em acesso a determinados locais, computadores, banco de dados de
medicamento, iniciativas anti-sequestro, identificao e monitorao de
pacientes, entre outros.
Hoje em dia, a maioria dos sistemas que gerencia recipiente baseada
em cdigo de barras, porm no meio industrial o uso deste tipo de sistema
no confivel o suficiente, e os transponders de um sistema RFID pode
guardar mais informaes teis posteriormente,
No setor industrial os sistemas de RFID tm vrias aplicaes. Uma delas
na identificao de ferramentas, que no caso de grandes indstrias facilita
o processo tanto de manuteno, quanto de substituio e administrao
das mesmas. Mas outro campo que sistemas RFID podem tanto melhorar
a rapidez e qualidade do servio, como tambm ter um papel de segurana nas indstrias na identificao de recipientes, embalagens e garrafas,
principalmente em produtos qumicos e gases, onde um erro na hora de
embalar pode causar srios danos. Em algumas cidades do mundo, j existem sistemas RFID para controle de lixo, onde as tags so colocadas nas
latas de lixo e os caminhes de coleta tendo leitores especfivos.
A tecnologia usada em RFID se desenvolve rapidamente. Os menores
so passivos (sem alimentao interna) e podem apenas transmitir seus numeros exclusivos quando consultados. Os maiores, so ativos, podem conter
uma pequena bateria e um computador primitivo, sendo capazes de fazer alguns clculos. Nesta classificao entram os Smart Cards usados em transaes financeiras. (www.rfid.org).

Para refletir
Descreva outras aplicaes possveis para dispositivos RFID.

2. Microcontrolador
A grande maioria de aparelhos utilizados diariamente, inclusive para uso domestico, possuem computadores embutidos ou microcontroladores. Estes
dispositivos so utilizados para gerenciar as funcionalidades do aparelho e
manipular a sua interface com o usurio. Podemos encontrar microcontroladores em uma grande variedade de aparelhos, por exemplo:

26

FERNANDEZ, M. P; CORTS, M. I.

Eletrodomsticos
Aparelhos de comunicao
Perifricos de computadores
Equipamento de entretenimento
Aparelhos de reproduo de imagens
Equipamentos mdicos
Armamentos militares
Dispositivos de vendas
Brinquedos
Um carro moderno, por exemplo, pode conter at 50 microcomputadores, que executam diferentes atividades tais como injeo, radio, GPS, etc. A
previso que dentro de poucos anos, quase tudo o que depende de energia
eltrica ou baterias para funcionar, possua um microcontrolador.
Um microcontrolador (tambm denominado MCU ou C) um pequeno computador-num-chip, mas completos. Cada microprocessador contem
um processador, memria e funes de entrada/sada. Dentre as funes
de entrada/sada temos: controle de botes do aparelho, controle de luzes
e sons, etc. Os microcontroladores podem ser de propsito geral ou de propsito especifico.
A tecnologia de microcontroladores regida principalmente pela varivel de custo, de forma a tornar vivel economicamente o controle eletrnico
de muitos processos. Microcontroladores geralmente so encomendados por
milhes de unidades. Neste caso, um centavo a mais ou a menos pode determinar a escolha por um determinado fornecedor.
Desta forma, a escolha por uma arquitetura decidida com base principalmente no custo de fabricao. Outros fatores que influenciam o custo dos
microcontroladores a quantidade de bits, quantidade de memria e tipo. Por
outro lado, o aumento na capacidade de processamento sempre necessrio para conseguir atender s necessidades dos produtos de tecnologia mais
avanada.
Outra caracterstica dos microcontradores o funcionamento em tempo real, ou seja, que devem ser capazes de detectar um evento e dar uma
resposta imediata.
Finalmente, uma caracterstica inerente de sistemas embutidos (como
o caso de microncontroladores) a restrio fsica em termos de tamanho,
peso, consumo, etc. Estas restries podem ser contornadas colocando os

Introduo Computao 27

dispositivos para hibernar enquanto nenhum evento interessante for percebido pelos perifricos, reduzindo o consumo de energia diminui. As duas ultimas
caractersticas fazem com que a arquitetura destes dispositivos precise ser
projetada cuidadosamente.
Microcontroladores so usados com freqncia em produtos e dispositivos de controle automtico, tais como sistemas de controle em motores de
automveis, controles remotos, mquinas de escritrio, ferramentas e brinquedos. Ao reduzir o tamanho, custo e consumo de energia em comparao
com um projeto que usa microprocessador, memria e dispositivos de E/S
separados, microcontroladores tornam vivel economicamente o controle eletrnico de muitos processos.
Cerca de 50% dos microcontroladores vendidos so controladores
simples, outros 20% so processadores de sinais digitais (DSPs) mais especializados. Os microcontroladores podem ser encontrados em praticamente
todos os dispositivos eletrnicos digitais que nos cercam: Teclado do computador, dentro do monitor, Harddisk, relgio de pulso, rdio relgio, mquinas de
lavar, forno de microondas, telefones, etc. Voc est certamente cercado de
dezenas deles agora.
Certamente eles foram to ou mais importantes para a revoluo dos
produtos eletrnicos que os computadores. Eles permitiram a evoluo de
equipamentos que a anos no evoluiam, como os motores a combusto,
que agora com o novo controle eletrnico podem funcionar com sistema bicombustivel e poluindo menos e as mquinas fotogrficas, que migraram de
processos quimico/mecanico a circuitos com microcontroladores+Sensores
Digitais+Memria.

3. Computador de jogos
Os computadores de jogos so computadores normais, com recursos grficos especiais e capacidade de som, mas software limitado e pouca capacidade de extenso. Inicialmente projetados para jogos simples, eram utilizados
CPU de baixo valor. Com o passar dos anos evoluram se tornando poderosos
e capazes de competir em desempenho com computadores pessoais.
Os produtos de tecnologia vieram se tornar populares conhecidos genericamente como videogame. O primeiro foi lanado em 3 de dezembro de
1994 no Japo e quase um ano depois nos Estados Unidos, pela Sony. O
PlayStation foi um sucesso de vendas, chegando a 100 milhes de unidades
at 2006 quando sua produo foi encerrada. Posteriormente a tecnologia
evoluiu para o PlayStation 2 e 3. O PlayStation consistia em um console independente de jogos composta de uma unidade leitora de CD-ROM e ranhuras

28

FERNANDEZ, M. P; CORTS, M. I.

para memory cards (cartes de memria que armazenam informaes dos


jogos) e entradas para joysticks.

4. Computador pessoal (PC)


Nesta categoria podemos considerar os computadores de mesa que hoje em
dia so utilizados em muitos lares como ferramenta para as mais diversas
atividades, e os notebooks.
O corao de um computador pessoal est na placa de circuito impresso, por exemplo, da Intel. Geralmente na placa contida a CPU, memria e
os vrios dispositivos de E/S (som, modem), interfaces para os perifricos
(teclado, mouse, disco), e encaixes de expanso.
Um notebook pode ser considerado um PC, pois segue a mesma especificao de software e hardware, com a diferena de serem projetados para
serem portteis.
Ambos os computadores possuem sistemas operacionais elaborados e
uma grande variedade de software disponvel.

5. Servidor
Cliente-servidor um
modelo computacional
que separa clientes
e servidores, sendo
interligados entre si
geralmente utilizandose uma rede de
computadores. Cada
instncia de um cliente
pode enviar requisies
de dado para algum dos
servidores conectados
e esperar pela resposta.
Por sua vez, algum dos
servidores disponveis
pode aceitar tais
requisies, process-las e
retornar o resultado para o
cliente. Apesar do conceito
ser aplicado em diversos
usos e aplicaes, a
arquitetura praticamente
a mesma.

4.

Com o surgimento das redes de computadores e clusters de mquinas, e com


o posterior aumento na complexidade de tais estruturas de comunicao e
compartilhamento, aparece a figura do servidor de rede. O servidor de rede
um computador dedicado responsvel por prestar algum servio rede de
computadores (clientes4). Os servios prestados podem ser diversos: arquivos, correio eletrnico, impresso, etc. Foi o crescimento e popularizao da
internet que impulsionou o desenvolvimento e aperfeioamento de tecnologias para servidores.
O servidor de rede (Intranet ou Internet) um computador geralmente
reforado cujo diferencial a capacidade de trabalho em rede a alta velocidade.
De uma forma geral, os computadores servidores so mais rpidos, possuem
mais espao em disco e possuem uma conexo de rede mais rpida, principalmente se so dedicados. Os servidores executam os mesmos sistemas operacionais do que PC. Os servidores podem ser projetados de acordo a uma
configurao com um nico processador ou com mltiplos processadores.
Dentre os diversos tipos de servidores, os mais conhecidos so:
Servidor de fax: servidor para transmisso e recepo automatizada de
fax pela Internet, e atravs de todas as estaes da rede.
Servidor de arquivos: servidor que armazena arquivos de diversos usurios.

Introduo Computao 29

Servidor web: servidor responsvel pelo armazenamento de pginas de


um determinado site, requisitados pelos clientes atravs de browsers.
Servidor de e-mail: servidor responsvel pelo armazenamento, envio e
recebimento de mensagens de correio eletrnico.
Servidor de impresso: servidor responsvel por controlar pedidos de
impresso de arquivos dos diversos clientes.
Um computador pode atuar em mais de um tipo diferente de servidor.
Computadores que atuem como um nico tipo de servidor chamado de servidor dedicado. Os servidores dedicados possuem a vantagem de atender a
uma requisio de um cliente mais rapidamente.
Servidores dedicados, que possuem uma alta requisio de dados por
partes dos clientes e que atuam em aplicaes crticas utilizam hardware especfico para servidores. J servidores que no possuam essas atuaes podem utilizar hardware de um computador comum, no necessitando ser um
supercomputador.
Devido a operar com muitas entradas e sadas de informaes, os servidores necessitam de processadores de alta velocidade, algumas vezes alguns
servidores so multi-processados, ou seja, possuem mais de um processador.
Por ter de operar por muito tempo (as vezes de maneira ininterrupta),
alguns servidores so ligados a geradores eltricos. Outros utilizam sistemas
de alimentao (por exemplo, o UPS) que continuam a alimentar o servidor
caso haja alguma queda de tenso.

6. Conjunto de estaes de trabalho


Considerando a boa relao custo/desempenho dos computadores pessoais, nos ltimos anos tem se tornado uma pratica comum a interconexo por
rede de gigabytes, de um grande numero de PCs para formar Clusters of
Workstations (COWs).
Atravs da execuo de software especial, todas as mquinas interconectadas podem trabalhar juntas num mesmo problema, atingindo um maior
poder de processamento e alta velocidade desde que o processamento pode
ser realizado em paralelo.
este poder de processamento a um custo mais baixo, que comeou
a tornar a utilizao de supercomputadores e mainframes desnecessria levando esta categoria de computadores caminho extino. A quantidade de
maquinas pode variar de forma indefinida, limitada pelos recursos disponveis.

30

FERNANDEZ, M. P; CORTS, M. I.

7. Mainframe - Supercomputadores
Os mainframes so computadores de grande porte fsico, desde que ocupam
uma sala inteira, da mesma forma que os seus antecessores dos anos 60. A
sua principal caracterstica a sua capacidade de E/S, equipadas com colees de discos para armazenamento de dados.
Esta classe de computadores geralmente hospeda software legado h
algumas dcadas, desenvolvidos especialmente para esses sistemas. por
conta do grande risco em reprogramar e migrar essas aplicaes para mquinas menores, que faz com que muitas organizaes continuem a manter por
milhes de dlares esses sistemas, em lugar de comprar um novo.
A histria dos supercomputadores comea, de fato, no final de 1975
com o Cray-1. As aplicaes para esses computadores so muito especiais e
incluem laboratrios e centros de pesquisa aeroespaciais, empresas de altssima tecnologia, previso do tempo e a produo de efeitos e imagens computadorizadas de alta qualidade. Os supercomputadores so os mais poderosos, mais rpidos e de maior custo. Utilizam o conceito de processamento
paralelo e so mquinas vetoriais, isto , podem executar a mesma operao
em diversas variveis simultaneamente.

Atividades de avaliao
1. Pesquise quais as caractersticas e responsabilidades do Servidor de banco de dados e Servidor FTP.
2. Pesquise mais algum outro tipo de servidor que no tinha sido mencionado.

Captulo

Introduo cincia da
computao
Cincia da Computao o estudo dos algoritmos e suas aplicaes, bem como
das estruturas matemticas indispensveis formulao precisa dos conceitos
fundamentais da teoria da computabilidade e da computao aplicada.
Os estudos oriundos da Cincia da Computao podem ser aplicados
em qualquer rea do conhecimento humano em que seja possvel definir
mtodos de resoluo de problemas baseados em repeties previamente
observadas. Desempenha por isso um papel importante na rea de cincia
da computao a formalizao matemtica de algoritmos, como forma de representar problemas decidveis, i.e., os que so susceptveis de reduo a
operaes elementares bsicas, capazes de serem reproduzidas atravs de
um dispositivo mecnico/eletrnico capaz de armazenar e manipular dados.
Um destes dispositivos o computador digital, de uso generalizado, nos
dias de hoje, pelo custo reduzido dos componentes eletrnicos que formam o
seu hardware.
A Cincia da Computao constitui uma base cientifica para diversos
tpicos voltados programao de computadores, processamento da informao e estudo de solues algortmicas propriamente dito.
Um dos conceitos fundamentais da Cincia da Computao o algoritmo. Como citado nas primeiras sees desta unidade, um algoritmo determina um conjunto ordenado e no-ambiguo de passos que definem uma atividade finita. De forma geral, esta atividade finita visa a resoluo de um problema.
Os algoritmos, na forma de programas, so executados em computadores. Para que um algoritmo seja executado no computador precisa ser representado de forma apropriada para que possa ser interpretado por uma mquina
ou por um ser humano de forma correta e sem ambiguidades.
Estudos baseados em lingstica e gramtica se preocupam pela traduo do algoritmo conceitual em um conjunto de comandos com uma sintaxe

32

FERNANDEZ, M. P; CORTS, M. I.

e semntica bem definidos atravs representao fornecida pelas linguagens


de programao.

Pseudocdigos: Sistema
notacional nos quais idias
podem ser informalmente
expressas durante o
desenvolvimento de um
algoritmo.

5.

As linguagens de programao possibilitam escrever algoritmos num formato de fcil traduo para a linguagem da mquina, mas mantendo a familiaridade com a linguagem de pseudocdigo5 utilizada na descrio do algoritmo.
O desenvolvimento histrico das linguagens de programao modernas
visa, a cada nova gerao, elevar o nvel de abstrao de forma a propiciar
cada vez mais independncia da mquina. Nos primeiros dispositivos computacionais, os programas eram codificados no hardware, no interior da unidade
de controle. Esta abordagem torna estes dispositivos muito inflexveis, dada a
dificuldade de alterar os programas.
Neste contexto surge o conceito de programa armazenado na memria
principal, da mesma forma que os dados. Para isso, os programadores comearam a utilizar linguagem de mquina na escrita dos seus algoritmos. Este
mtodo era muito laborioso e complexo, uma vez que os cdigos de operao
e operandos eram representados atravs de dgitos numricos, o que tornava
a programao muito propensa a erros. O primeiro passo para melhorar a
situao foi a utilizao de nomes descritivos para as posies de memria e
mnemnicos (em lugar de cdigos hexadecimais), para expressar os cdigos
de operao.
A partir da utilizao desta tcnica, surgiu a necessidade de traduo dos programas escritos nesta notao para a linguagem de mquina.
Surgiram assim as linguagens de montagem. Fica assim como responsabilidade do sistema operacional, a utilizao da linguagem de montagem para
traduzir o programa e, posteriormente, armazenando a verso traduzida para
um uso posterior.
No entanto, o problema da dependncia com a mquina continuava
existindo, agora em relao linguagem de montagem. Alem disso, existia a
dificuldade de programar em um nvel muito baixo de abstrao (ou seja muito
detalhado), o que prejudicava o desenvolvimento do projeto da soluo.
A necessidade de primitivas de alto nvel propiciou o surgimento das
linguagens de terceira gerao, para o desenvolvimento de software, as quais
por sua vez, foram projetadas com base nas primitivas de baixo nvel j conhecidas. Por exemplo:
assign Total the value Valor + Imposto

Tendo como potencial primitiva:


assign <identificador> the value <expresso>

Introduo Computao 33

O desenvolvimento das linguagens de terceira gerao conseguiu atender o objetivo de independncia de plataforma de uma forma muito mais prxima ao raciocnio utilizado na anlise e resoluo de problemas.
Na medida em que um maior nvel de abstrao se torna uma necessidade surgem os chamados ambientes de programao, os quais possibilitam
a utilizao de conceitos mais abstratos na programao dos algoritmos.
A perspectiva nestes ambientes que a mquina se adapta ao raciocnio humano, em contrapartida das linguagens de geraes anteriores, onde o
ser humano precisava se adaptar mquina. Uma propriedade inerente destes ambientes a facilidade de utilizao e a possibilidade de customizao,
sem auxilio de especialistas.
De forma geral, a programao nestes ambientes facilitada pela utilizao de menus e seleo de cones na tela os quais representam atalhos de alto
nvel para a execuo de instrues de nvel mais baixo. Estes pacotes ou ambientes de programao so denominados de linguagens de quarta gerao.
Finalmente, as linguagens classificadas como de quinta gerao, tem
como base principal a programao declarativa, e geralmente possuem um
enfoque mais especializado (programao lgica).

Saiba Mais
Um Sistema de Informao (SI), coleta, processa, armazena, analisa e dissemina informaes com o propsito especifico. Como qualquer outro sistema, um sistema de informao abrange entradas (dados) sadas (relatrios, clculos), processa essas entradas
e sadas e gera sadas que so enviadas para o usurio ou outros sistemas. possvel
incluir um mecanismo de resposta feedback que controle a operao. E como qualquer
outro sistema, um sistema de informao opera dentro de um ambiente.

Atividades de avaliao
1. O que significa dizer que uma linguagem de programao independente
de mquina?
2. O que significa que uma linguagem possui um nvel mais alto que as geraes anteriores?
3. Escreva um algoritmo em pseudocdigo para realizar alguma atividade
domstica.

Captulo

41

Tecnologia da Informao
Antes mesmo da popularizao dos computadores, existia uma noo da importncia do cuidado e tratamento da informao como uma forma de preservar o histrico, para que, eventualmente, possa ser utilizado na analise de
fatores do passado para o entendimento do presente e, principalmente, na
tomada de deciso de aes futuras. Deste este ponto de vista, a informao
pode ser interpretada como um elemento que pode adicionar certo grau de
competitividade s organizaes.
Antigamente, os sistemas de informao nas organizaes se baseavam basicamente em tcnicas de arquivamento e recuperao de informaes de grandes arquivos de forma manual, sob a responsabilidade de um
arquivador. O processo era relativamente simples, porem muito trabalhoso,
tornando difcil e propensa a erros a recuperao da informao e principalmente a atualizao dos dados.
Com o avano da tecnologia, no sculo XX a informao comeou
a fluir e se multiplicar a velocidade assustadora. Era o advento da Era da
Informao. Um marco desta nova fase a inveno do telgrafo eltrico em
1837, e a partir dali o desenvolvimento de meios de comunicao de massivos, e at mais recentemente, o surgimento da grande rede de comunicao de dados que a Internet. Esta globalizao propiciou um crescimento
exponencial do volume de dados disponveis, tornando um desafio a coleta,
organizao, catalogao e posterior recuperao de forma eficiente e segura
da informao.
No ambiente complexo e turbulento que nos encontramos essencial
para as organizaes o estmulo ao resgate do conhecimento organizacional
como auxlio no processo de deciso e na busca de vantagens competitivas.
Como conseqncia do processo de globalizao, o contexto mundial, em
permanente mudana, vive permanentemente submetido s implicaes decorrentes de grandes transformaes polticas, econmicas e tecnolgicas.
Neste cenrio, a informao passa a ser considerada um recurso essencial
nas tomadas de deciso. Para Beck (2007), atualmente, toda empresa est
envolta com amplos e diversos tipos de informao e, para competir neste

36

FERNANDEZ, M. P; CORTS, M. I.

contexto dinmico, o segredo do sucesso a agregao de valor a partir do


acesso, do tratamento, da utilizao e da disseminao da informao.
A partir desta premissa surge a necessidade nas empresas de gerenciar o conhecimento com base num novo modelo de tecnologia de informao
e gesto de forma a propiciar a distribuio da informao com o intuito de
atingir competitividade.
Um SI um sistema tem seu foco na informao. Seu objetivo armazenar, tratar e fornecer informaes de tal modo a apoiar as funes ou
processos de uma organizao.
Geralmente, um SI estruturado em dois sub-sistemas:
Sub-sistema social que inclui as pessoas, processos, informaes e
documentos.
Sub-sistema automatizado, que consiste dos meios automatizados (mquinas, computadores, redes de comunicao) que interligam os elementos do sub-sistema social.

Gesto de Conhecimento:
envolve as atividades
de coleta, seleo,
disponibilizao e,
disseminao de
informaes.

6.

O sub-sistema automatizado consiste em um conjunto de recursos tecnolgicos e computacionais para gerao e uso da informao de forma a
viabilizar a Gesto do Conhecimento6 para a tomada de deciso e a elaborao de estratgias a partir de novos bancos de dados originados dos bancos
de dados operacionais da empresa como, por exemplo, o data warehouse, o
data mining, entre outros.
Essas ferramentas, alm de dar subsdios para a tomada de deciso,
esto voltadas disseminao do conhecimento na organizao, seja atravs
de melhores prticas de trabalho, seja atravs do registro de discusses para a
disseminao de conhecimento, como por exemplo o Groupware e a Intranet.
Esse conjunto de recursos chamado de Tecnologia da Informao
(TI). As aplicaes de TI so diversas e esto ligadas s mais diversas reas,
de forma a automatizar os processos organizacionais. Atravs da TI, pequenas e grandes empresas podem alcanar maior produtividade e competitividade, alcanando o sucesso e alavancando maiores rendimentos.
A TI exerce um importante papel no mbito da gesto do conhecimento reduzindo distncias e propiciando a transferncia do conhecimento de forma on-line. No domnio da gesto do conhecimento, o beneficio
principal da utilizao de recursos computacionais a sua capacidade de
armazenamento e comunicao de computadores ligados em rede fazendo deles propiciadores e disseminadores de conhecimento (DAVENPORT
e PRUSAK, 1998).

Introduo Computao 37

A TI envolve a organizao de recursos computacionais tais como hardware, software e mecanismos de comunicao, em um sistema capaz de
executar um conjunto de tarefas. Alem dos recursos computacionais, tecnologias relativas ao planejamento e desenvolvimento de sistemas, suporte ao
software, e aos processos de produo e operao, tambm so considerados elementos de TI.
Por outro lado, tecnologias intelectuais tais como mtodos, teorias e
metodologias utilizadas para lidar com o ciclo da informao, tambm so
consideradas sustento da TI. Neste conjunto podem ser consideradas, por
exemplo, tcnicas de classificao, que no necessariamente requerem uso
de mquinas, mas apenas um esquema para serem aplicadas.
Tcnicas que se mostraram eficientes geralmente so automatizadas
pela elaborao de um algoritmo ou software, de forma a facilitar a sua aplicao sistemtica. Seguindo o exemplo das tecnologias de classificao e
organizao de informaes, a sua origem se remonta ao surgimento das primeiras bibliotecas. Hoje em dia praticamente toda biblioteca tem seu acervo
gerenciado atravs de um sistema computacional.
O sucesso e difuso dos sistemas de informao alcanados atravs
da rpida evoluo e surgimento de novas Tecnologias de Informao fazem
com que praticamente todas as atividades desenvolvidas na sociedade atual
sejam sustentadas eficientemente atravs dos recursos da informtica, e com
custos cada vez mais reduzidos.
O processamento de informao uma atividade central em diversas
reas, tais como economia, transportes, produo, imprensa, comunicao.
A necessidade pela difuso social da informao de domnio pblico ou privado em larga escala de transmisso possvel somente atravs de sistemas tecnolgicos inteligentes.
Uma conseqncia do desenvolvimento tecnolgico a intensificao
da comunicao pessoal e institucional, atravs de programas de processamento de texto, de formao de bancos de dados, de editorao eletrnica,
bem de tecnologias que permitem a transmisso de documentos, envio de
mensagens e arquivos, assim como consultas a computadores remotos (via
rede mundial de computadores, como a internet).
Em contrapartida aos enormes benefcios atingidos pela utilizao da TI
nos diversas atividades, alguns problemas podem ser apontados em relao
privacidade dos indivduos e ao seu direito informao, pois os cidados
geralmente no tem acesso a grande quantidade de informao sobre eles,
coletadas por instituies particulares ou pblicas.

38

FERNANDEZ, M. P; CORTS, M. I.

Embora a TI sustente os processos de Gesto do Conhecimento, a eficcia final destes processos depende da interpretao deste conhecimento
pelos homens, e sua transformao em aes. Sendo assim, a tecnologia da
informao, isoladamente, no pode ser a base da criao e gesto de conhecimento organizacional, mas o suporte dentro desse processo.

Sntese do captulo
Neste captulo foi apresentado o histrico da evoluo dos computadores, a
partir da descrio dos dispositivos mecnicos precursores dos computadores utilizados atualmente. Foi feita uma breve retrospectiva das geraes que
determinam os estgios da evoluo dos computadores at os dias de hoje.
Neste captulo tambm foram apresentados os principais conceitos que
definem a Cincia da Computao, apresentando brevemente as principais
disciplinas que a compes. Para concluir foi apresentada a importncia da
Tecnologia de informao (TI) no processo de construo e disseminao do
conhecimento nas organizaes, de forma a aumentar o alcance e a velocidade da transferncia do conhecimento.

http://www.cotianet.com.br/bit/hist/Default.htm
Charles Babbage Institute http://www.cbi.umn.edu/
http://www.daniel.prof.ufu.br/icc.html

Referncias
TANENBAUM, ANDREW S. Organizao Estruturada de Computadores. 5. Edio. So Paulo: Editora Pearson. 2007.
STALLINGS WILLIAM. Estrutura e Organizao de Computadores. 5.
Edio. So Paulo: Editora Pearson. 2004.
BROOKSHEAR GLENN J. Cincia da Computao Uma viso abrangente. 5. Edio. So Paulo: Editora Bookman. 2000.

Parte
Representao e
processamento da informao

Captulo

Representao e
processamento da
informao
Introduo
Neste captulo sero apresentadas as formas de representao das informaes nos computadores. Assim como o ser humano tem a fala e a escrita para
representar as informaes, o computador tem a sua prpria representao
para que possa trat-las e process-las. Iniciamos apresentando a unidade
bsica de representao de informao no computador, o bit, e mostramos
tambm a representao de bytes (bloco de bits), de letras e nmeros.
Em seguida apresentamos uma introduo ao sistema binrio e a forma
como os nmeros so representados e mostramos como realizamos as operaes matemticas em um computador. Finalmente apresentamos uma introduo lgica digital mostrando os tipos mais comuns de portas lgicas, que
estabelecem a forma de como um computador pode processar as informaes.
Para um computador qualquer informao deve ser codificada com
uma linguagem apropriada para seu mundo, que diferente do mundo dos
humanos. Para o mundo eletrnico o ideal que essa linguagem tenha dois
estados, ligado e desligado, ou simplesmente, 0 e 1. Por isso a base mais
importante para o computador a base 2, da o nome binrio.
Vamos comear com algumas definies sobre a representao de informaes em um computador.
bit: unidade bsica de representao digital.
byte: conjunto de 8 bits.
nybble: um bloco de 4 bits.
palavra ou word: conjunto de 32 bits
meia-palavra ou halfword: um bloco de 16 bits
palavra-dupla ou doubleword: conjunto de 64 bits
A definio de palavra no est claramente definida. Ela geralmente
se refere ao nmero de bits usados simultaneamente em um computador.

42

FERNANDEZ, M. P; CORTS, M. I.

Atualmente a maioria dos computadores usa uma palavra de 32 bits. No entanto, cada vez mais, arquiteturas de 64 bits esto sendo construdas o que
muda o tamanho da palavra. Entretanto, por ser o mais comum, ao longo
desse texto usaremos palavra com 32 bits.

1. Identificando os bits
conveniente identificarmos cada bit individualmente para que possamos
referenci-los pelo nome. Daremos um rtulo para cada bit, da direita para a
esquerda, sendo 0 (zero) o ndice mais direita do bloco.
Por exemplo, suponha que voc tenha um nmero com n-bits.
Poderamos identific-los como: bn-1, bn-2, ...., b1, b0.
Tambm comum definir mais dois termos para um bloco com n-bits:
bit menos significativo ou least significant bit: Bit b0. comum abreviar
como LSb com o 'b', em minsculas para representar bit. (Quando estiver
em letras maisculas, isso significar byte menos significativo).
bit mais significativo ou most significant bit: Bit bn-1. comum abreviar
como MSb com o 'b', em minsculas para representar bit. (Quando estiver
em letras maisculas, isso significar byte mais significativo).
Vale lembrar que o termo menos significativo no significa que ele seja
"menos importante". Na verdade essa denominao est relacionada com o
menor ndice de sua posio. Todos temos cincia que alterar esse bit (ou
seja, mud-lo de 0 para 1, ou 1 para 0) iria afetar o valor global assim como
qualquer outro bit. Da mesma forma, o bit "mais significativos" no significa
mais importante, mas apenas que seu ndice o maior do bloco.

2. Strings e vetores

String: conjunto de bits


de tamanho arbitrrio que
representam nmeros ou
palavras.

7.

Embora existam diferentes padres para definir os tamanhos dos blocos de


bits (bits, bytes, nybbles, etc), s vezes necessrio fazer referncia a um
conjunto de bits mais arbitrrio. Iremos fazer referncia a um conjunto de "N"
bits como um string7 de bits ou um vetor.
Pode parecer estranho para se referir a um nmero como uma string,
mas no to incomum. Quando escrevemos nmeros, ns costumamos
alterar o nmero de dgitos, conforme necessrio. Assim, voc escreve 10,
em vez de 0010 porque os zeros adicionais no tm significncia. Porm, em
hardware, temos um nmero fixo de bits para a palavra como, por exemplo,
32 bits ou 64 bits. Nesse caso acrescentamos zeros a direita para preencher
o nmero necessrio para completar de nmero total de bits.

Introduo Computao 43

Ento, o nome de string de bits pode ser bom, porque pode ser usado para qualquer comprimento de uma string. So igualmente string de bits
os chamados vetores de bit. Neste caso, um vetor geralmente significa uma
"coordenada" com n argumentos. Por exemplo, quando voc trabalha com
grficos em 2 ou 3 dimenses, as coordenadas so escritas como (2,3) ou
(2,3,1), ento, 0010 poderia significar (0,0,1,0), ou seja, uma coordenada em
quatro dimenses.
Claro que, quando as pessoas falam de vetores eles geralmente no
pensam nisso como uma coordenada, mas sim em uma sequncia de valores
com posies numeradas. Em todo o caso, vamos cham-lo simplesmente
de strings.

2.1. Quantos diferentes strings podemos escrever?


Suponha que voc tenha um string de n-bits. Quantas combinaes possveis
de 1 e 0 existem? E por que isso interessa?
Para calcular o nmero de combinaes de string de n-bits, percebem
que temos 2 opes para cada bit. Simplesmente basta multiplicar 2, n vezes.
Isto , 2n.
Este um fato muito importante para se lembrar, pois o nmero de possibilidades de um string limita o nmero de possveis valores que ele pode
representar. Por exemplo, se voc tem 3 bits, ento voc tem 8 possveis
valores para ser representado pelo string (8 = 23). Isso limita a um mximo de
8 valores diferentes.

3. Representao de dados
Imagine que voc est em um teclado, no entanto, um teclado horrvel. Esse
teclado tem apenas duas teclas para se usar: 'a' e 'b'. impossvel escrever
uma mensagem para algum usando apenas duas teclas, afinal, quantas palavras s usam as letras' a 'e' b '? No muitas.
No entanto, ainda possvel enviar mensagens. Como? Voc pode
codificar a mensagem utilizando um cdigo, por exemplo, o cdigo ASCII8.
O cdigo ASCII atribui um nmero a cada letra ou smbolo do teclado. Por
exemplo, 'A' codificado para o valor numrico 65 (na base 10) ou 0100 0001
(na base 2). Computadores codificam em binrio, o que significa, que todas as
letras podem ser codificados em 0's e 1's, mais simples para um computador
entender. Se considerarmos 'a' como 0 e 'b' como 1, ento voc pode codificar
a letra A como "abaa aaab" ou 0100 0001 em binrio.

ASCII: acrnimo de
American Standard
Code for Information
Interchange, padro de
representao binria de
letras e nmeros.

8.

44

FERNANDEZ, M. P; CORTS, M. I.

Uma das coisas mais importantes para aprender sobre o hardware so


as formas de como os dados so codificados em 0 e 1. Isto chamado de
representao de dados.
Alm de teclas ou caracteres, ainda existem outras informaes bsicas que tm de ser codificadas: os nmeros. Aparentemente parece trivial,
basta converter o nmero decimal no seu equivalente binrio, e a, efetuar todas as operaes. Para representar nmeros inteiros positivos isso funciona,
mas inteiros negativos, fraes, nmeros ponto flutuante?
Um dado pode ser representado nas seguintes formas:
Inteiros sem sinal (inteiros positivos)
Inteiros com sinal (inteiros positivos, negativos e zero)
Nmeros de ponto flutuante (aproximaes de nmeros reais positivos
e negativos)
Caracteres (ASCII, Unicode)
importante lembrar que impossvel representar qualquer nmero
real no computador porque h a limitao no tamanho do nmero representado, por exemplo, tamanho da mantissa e do expoente, obrigando a armazenar
uma aproximao do valor. Esse arredondamento pode causar imprecises
nos clculos realizados em um computador.
Podemos dizer que, de todas as coisas que voc aprender sobre o computador, a representao de dados ser provavelmente a mais importante. A maioria
dos formandos em Computao provavelmente nunca iro projetar um hardware,
mas todos devero ter conhecimento de como os dados sero armazenados.

Atividades de avaliao
1. Pesquise outros tipos de representao de nmeros e caracteres.

Captulo

Sistemas de Numerao

Um sistema de numerao um conjunto de caracteres e regras matemticas usadas para representar um nmero.
Os sistemas numricos nasceram com o incio de nossa civilizao.
Alguns exemplos so o sistema numrico romano (numerais romanos), o sistema numrico chins, o sistema numrico grego, e o sistema numrico rabe. Nossos nmeros contemporneos so baseados nesse ltimo.
O sistema mais usado a base 10 ou o sistema decimal, que usa uma base
10 para operaes e conseqentemente muito simples se usar (que ns temos
usado desde o pr-escolar!). Os outros sistemas so o sistema hexadecimal e o
sistema binrio. Estes sistemas usam a base 16 e a base 2, respectivamente. Os
sistemas hexadecimais e binrios sero discutidos a seguir.
Por que ns usamos a base 10? Olhe suas prprias duas mos e conte
seus dedos! A palavra dgito se origina de digitus, palavra latina que significa
dedo. Ns todos aprendemos na escola que cada dgito em um nmero corresponde ao valor de seu lugar. Por exemplo, 245 seria (2 x 100) + (4 x 10) +
(5 x 1) = 245. Graficamente temos:
100
2

10
4

1
5

Como ns observamos, cada valor da coluna representa 10 vezes o


valor da coluna direita dele. Por isso chamamos base 10.

1. O sistema binrio
O sistema binrio9 tem uma base 2, significando que do valor de cada coluna
2 vezes o valor da coluna direita, comeando com o dgito mais a direito,
com o valor igual a 1. Usamos apenas os dgitos 0 e 1. Por exemplo, o nmero
111101101 representado graficamente temos:

Sistema binrio: sistema


numrico posicional com
base 2.

9.

46

FERNANDEZ, M. P; CORTS, M. I.

256
1

128
1

64
1

32
1

16
0

8
1

4
1

2
0

1
1

Assim ns temos:
(1 x 256) + (1 x 128) + (1 x 64) + (1 x 32) + (0 x 16) + (1 x 8) + (1 x 4) + (0 x 2)
+ (1 x 1) = 4096 + 256 + 128 + 64 + 32 + 8 + 4 + 1 = 493
Assim, 111101101 no sistema binrio igual a 493 no sistema decimal.
O sistema binrio til nos computadores porque nos circuitos eletrnicos temos dois estados distintos, ligado ou desligado, representando 1 ou 0.
Outra vantagem do sistema binrio porque o transistor (que executa a funo de chave no circuito eletrnico) consome um mnimo de energia quando
ele funciona nos estados de corte e saturao, respectivamente 0 ou 1. Isso
permite circuitos mais densos e ocupando menos espaos, possibilitando dispositivos mais compactos, mais velozes e mais econmicos (usando menos
pilha, por exemplo).

1.2. Convertendo binrio-decimal-binrio


O procedimento acima pode ser utilizado para converter um nmero binrio
em nmero decimal. Vamos mostrar o exemplo do nmero 1100110 que
igual a 64 + 32 + 0 + 0 + 4 + 2 + 0 = 102. Graficamente temos:
512
0

256
0

128
0

64
1

32
1

16
0

8
0

4
1

2
1

1
0

Apresentamos o mtodo para converter nmeros de binrio ao decimal. Como podemos fazer o inverso? Vamos mostrar a converso do nmero 500 em binrio. Utilizando nosso diagrama de potencias de dois, devemos
escrever os valores nos lugares da esquerda para a direita at completar o
valor desejado.
Como 500 menor que 512 o primeiro dgito ser 0. Escrevemos ento,
0 sob o valor 512.
512
0

256

128

64

32

16

A partir de agora, o esquema simples: testar o lugar imediatamente


direita. Se menor ou igual ao nmero, escrever um 1 sob ele, subtrair o valor
do nmero e usar o resultado na posio seguinte. Se maior, escrever embaixo um 0, no subtrair nada e ir para a posio seguinte. Na tabela acima,

Introduo Computao 47

256 menor que 500, assim escrevemos um 1 sob 256 e subtramos 256 de
500. Agora vamos usar o resultado (244) na posio seguinte. Assim temos:
512
0

256
1

128

64

32

16

128 menor que 244, assim escrevemos um 1 sob 128 e subtramos


128 de 244. Usamos o resultado (116) na posio seguinte.
512
0

256
1

128
1

64

32

16

8
0

4
1

2
0

1
0

E assim por diante at zerar o nmero:


512
0

256
1

128
1

64
1

32
1

16
1

Simples no? Com esse algoritmo simples, podemos converter um


nmero decimal em um nmero binrio. 500 em decimal igual a 111110100
em binrio.

2. O sistema hexadecimal
O sistema hexadecimal10 tm uma base 16, significando que cada coluna
igual a 16 vezes a coluna a sua direita, comeando com o valor 1 na coluna
mais a direita. Com isso temos:
65536
0

4096
4

256
A

16
3

1
8

O sistema hexadecimal, alm dos dgitos 1 a 9, usa as letras A, B, C, D,


E, F; que representam 10, 11, 12, 13, 14 e 15, respectivamente. No exemplo
acima, o nmero 04A32 vale (4 x 4096) + (10 x 256) + (3 x 16) + (8 x 1) = 19000.
Por que usar um nmero hexadecimal? muito complicado para um
humano trabalhar com nmeros binrios, pois so muito longos e fceis de
se confundir. A converso de hexadecimal para binrio direta (16 potncia
de 2), assim, cada 4 dgitos binrios representam um dgito hexadecimal conforme mostramos abaixo:

Sistema hexadecimal:
Sistema numrico com
base 16.

10.

48

FERNANDEZ, M. P; CORTS, M. I.

0
1
2
3
4
5
6
7

0000
0001
0010
0011
0100
0101
0110
0111

8
9
A
B
C
D
E
F

1000
1001
1010
1011
1100
1101
1110
1111

Veja como fcil converter o valor hexadecimal acima em binrio:


65536

4096

256

16

0000

0100

1010

0011

0100

O nmero hexadecimal 4A38 igual a 0100101000110100 em binrio.

2.1. Convertendo hexadecimal-decimal-hexadecimal


Vamos converter o nmero hexadecimal 7EF. Recorde que o dgito mais a
direita igual a um e cada dgito esquerda igual a dezesseis vezes o dgito
imediatamente a sua direita. Colocando na tabela temos:
256

16

Multiplicamos agora cada dgito hexadecimal pelo nmero em seu cabealho (lembre-se que o A-F representa 10-15 respectivamente)
256 x 7 + 16 x 14 (E) + 1 x 15 (F)
Totalizando o resultado, temos:
1792 + 224 + 15 = 2031
Assim chegamos ao valor final: 7EF em hexadecimal igual a 2031
em decimal.
Converter do decimal para hexadecimal um pouquinho mais complicado. Para este exemplo usaremos 293. Inicialmente escrevemos a tabela com
os valores em decimal na ordem da direita para a esquerda. Cada dgito a esquerda deve ter o valor de 16 vezes maior que o da direita, comeando com 1.
4096
0

256

16

Introduo Computao 49

Colocamos um 0 sob o valor 4096 da tabela que maior do que o nmero a ser convertido, 2031. Dividimos o nmero a ser convertido por 256,
que o valor mais elevado da tabela e menor do que o nmero a ser convertido. Neste caso, 293 divididos por 256 igual a 1, com um resto 37. Em seguida,
escrevemos o resultado (1) e usamos o resto (37) para o clculo seguinte.
4096
0

256
1

16

Dividir agora o resto do ltimo clculo (37) pelo valor seguinte (16). 37
por 16 igual a 2 com um resto 5. Escrevemos o resultado (2) sob 16 e dividimos o resto (5) pelo valor seguinte (1)
4096
0

256
1

16
2

5 divididos por 1 igual a 5 sem resto, assim colocamos o valor (5) sob
1 e est concludo. Assim:
4096
0

256
1

16
2

1
5

Ento 293 decimal igual a 125 em hexadecimal.


Se por acaso em alguns dos clculos o resultado no tiver nenhum resto, colocamos simplesmente o resultado sob o respectivo valor e colocamos 0
sob todos os valores restantes direita.

Atividades de avaliao
1. Converta o nmero 10110011 binrio em hexadecimal e decimal.
2. Converta o nmero 863 decimal em binrio e hexadecimal.
3. Converta o nmero 37D2 hexadecimal em binrio e decimal.

Captulo

71

Aritmtica binria
As operaes aritmticas11 so possveis em nmeros binrios assim como
nos nmeros decimais. De fato os procedimentos so completamente similares em ambos os sistemas, assim como em qualquer base de numerao. A
multiplicao e a diviso no so realmente difceis, mas como a no familiaridade com os nmeros binrios causa bastante dificuldade para os humanos.
Entretanto, como iremos mostrar, para os computadores extremamente fcil.

1. Aritmtica de Nmeros Inteiros Positivos


1.1. Adio
Quando somamos nmeros decimais, somamos os algarismos de mesma
ordem e caso ultrapasse o valor da base, nesse caso 10, acrescentamos uma
unidade ordem seguinte. No caso de adio binria, devemos considerar a
base 2.
A adio quase to fcil quanto um mais um igual a dois. Na verdade, em binrio, um mais um igual a zero e vai um. Se convertermos 10 para
decimal teremos o valor 2, que est correto. Tambm temos que zero mais
zero igual a zero e um mais zero igual a um.
0+0=0
0+1=1
1 + 1 = 10

Observar que ao adicionar dois 1 produz um resultado com dois dgitos, significa que ns temos um vai um para a posio seguinte, da mesma
forma como fazemos na adio decimal. Vejam o exemplo abaixo de uma
soma binria e a mesma soma em decimal.
1 1
3
+ 1 0 1 + 5
-------- ---1000
8

Aritmtica binria:
operaes com dois
ou mais nmeros na
representao binria sem
necessidade de converso
para outra base

11.

52

FERNANDEZ, M. P; CORTS, M. I.

As regras de adio binria so mostradas abaixo:


0+0=0
0+1=1
1+0=1
1 + 1 = 0, e soma 1 ao bit seguinte

Mais alguns exemplos:


1 1
00011010
26
+ 00001100 + 12
------------- ---- 00100110
38

11111
00010011
19
+ 00111110 + 62

- ----------
- ------- 01010001 81

1.2. Subtrao
A subtrao semelhante adio, sendo que agora, se no houver quantidade para subtrair fazemos um emprstimo da ordem acima.

-1

1
0
1
5
1 1
- 3
------- ------ 0 1 0
2

As regras de subtrao binria so mostradas abaixo:


0-0=0
0 - 1 = 1, e pede-se 1 ao bit seguinte
1-0=1
1-1=0

Mais alguns exemplos:


-1
00100101
37
- 00010001
- 17
------------------- --- - -- 00010100 20

-1
00110011
51
0 0010110
- 22
------------------ ------00011101
29

Introduo Computao 53

1.3. Multiplicao
A multiplicao consiste em uma srie de somas. Operamos da mesma forma
que uma multiplicao na base 10.

101
5

x10 x 2

- -----
- ------
000 10

101
-----
1010

As regras de multiplicao binria so mostradas abaixo:


00=0
01=0
10=0
1 1 = 1, e soma 1 ao bit seguinte

Mais alguns exemplos:


00101001

41
00000110 6
--------------
----00000000
246
00101001
00101001
--------------0011110110
00010111
00000011
--------------
00010111
00010111
--------------001000101

23
3
----69

Podemos observar que a primeira parcela da multiplicao repetida


em toda as linhas quando houver 1 na outra parcela e zero quando o algarismo 0. Isso sugere que podemos realizar uma multiplicao atravs de
uma srie de somas de uma parcela deslocada conforme a segunda parcela.
Podemos fazer um circuito eletrnico de multiplicao juntando um somador
e um deslocador de bits.

54

FERNANDEZ, M. P; CORTS, M. I.

1.4. Diviso
A diviso consiste em uma srie de subtraes binrias, semelhante a uma
diviso na base 10.
1 1 0 6
1 0 2
-----------
---1 1 0
3
- 1 0 (10)
-------010
- 1 0 (01)
-------0 0 0 (11)

2. Aritmtica de Nmeros Inteiros Negativos


As coisas so fceis enquanto fazemos operaes com inteiros positivos. Mas
as coisas tornam-se mais complicada quando ns queremos fazer operaes
com nmeros inteiros positivos e negativos.
Inicialmente podemos pensar em fazer como na aritmtica decimal, indicando com um sinal especial ( ou +) se o nmero negativo ou positivo.
Na aritmtica binria, ns poderamos simplesmente reservar um bit para determinar o sinal. Nos circuitos para a adio, ns teramos um circuito para
adicionar dois nmeros e outro para subtrair dois nmeros. A combinao de
sinais nas duas entradas determinaria que circuito a se usar com os valores
absolutos, e tambm o sinal da sada.
Apesar deste mtodo funcionar, existe uma forma muito mais fcil de operar aritmtica com nmeros negativos em circuitos eletrnicos. Este mtodo
chamado mtodo do complemento a dois. Com esse mtodo no necessrio um circuito especial para tratar os sinais e podemos usar um nico circuito
somador padro para operar nmeros positivos e negativos. A fim de explicar
este mtodo vamos mostrar inicialmente como se trabalharia na aritmtica decimal para depois mostrar como trabalhar com aritmtica binria.

2.1. Complemento de dez


Imagine o odmetro de um automvel. Ele tem um determinado nmero de
rodas, cada uma com os dez dgitos gravados. Quando uma roda se mover de
9 a 0, a roda imediatamente esquerda avana uma posio. Vamos supor
que o automvel ande de r. Ento o reverso acontece, isto quando uma

Introduo Computao 55

roda vai de 0 a 9, a roda a sua esquerda diminui uma posio. Quando todas
as rodas so 0, ns interpretamos o valor como o inteiro 0 (zero).
Vamos supor agora que ns temos um circuito de adio que possa
armazenar nmeros inteiros com 4 dgitos (imagine um odmetro com 4 dgitos). Vamos realizar a soma (-2) + 5 = 3. Vamos considerar que a sequncia
0000 seja igual a 0. Nesse circuito vamos representar o valor (-2) com a seqncia 9998, isto , diminumos 2 unidades de 0000, e o valor (5) com 0005,
para ento, realizamos a soma tradicional. Primeiramente adicionamos 8 e 5
que d 3 e vai 1. Em seguida, adiciona 9 e 1, dando 0 e vai 1. Para os demais,
o valor ser 0 com vai 1, assim que o resultado final ser 0003 positivo. Este
resultado correto, tanto pelo valor como pelo sinal.
importante observar que na representao de complemento de 10
com uma quantidade limitada de dgitos, no podemos usar toda a faixa de valores. Nesse exemplo, os valores 0001 a 4999 representam nmeros inteiros
positivos, enquanto os valores 5000 a 9999 representam nmeros negativos,
respectivamente de -4999 a -1. Outro problema o estouro do registro, se
somarmos 1 ao nmero 4999 no teremos 5000, mas -4999. Um circuito extra
pode detectar essa ocorrncia e corrigir o valor.
Vamos terminar esta seo dando um mtodo simples para computar o valor absoluto de um inteiro nessa representao. Basta tomar cada
dgito individual, substitu-lo por 9 menos o seu valor original, e ento no
final, adiciona 1 ao nmero obtido. Assim por exemplo, o nmero 9998
transforma-se em 0001 que somando 1 fica 0002 negativo, que a resposta correta.

2.2. Complemento de dois12


At agora, ns estudamos a representao de nmeros negativos usando o complemento de dez. Em um computador, ns usamos a base dois.
Felizmente, o mtodo descrito na seo anterior tambm funciona para a
base dois. Para um somador de n-bits (n geralmente 32 ou 64), ns podemos representar nmeros positivos com o dgito na posio mais a esquerda
seja 0, que d valores entre 0 e 2(n-1) - 1, e nmeros negativos com o dgito na
posio mais a esquerda seja 1, que d valores entre -2(n - 1) e -1. A vantagem
do complemento a dois que o dgito a esquerda pode tambm indicar o sinal
do nmero, 0 para nmeros negativos e 1 para nmeros positivos.
Da mesma forma como no caso complemento de dez, usamos o mesmo princpio para a deteco do estouro. Se, ao adicionar dois nmeros positivos, ns encontramos um resultado negativo (isto , com o bit mais esquerda 1), ns teremos um estouro de valor (overflow). Da mesma forma, se, ao

Complemento de
dois: Tcnica para
possibilitar a soma e
subtrao de nmeros
positivos e negativos na
representao binria

12.

56

FERNANDEZ, M. P; CORTS, M. I.

adicionar dois nmeros negativos, encontramos um resultado positivo (isto


com seu bit mais esquerda 0), temos um sub-valor (underflow).

3. Nmeros de ponto flutuante


A representao numrica que ainda falta so dos nmeros racionais. Apesar
de ser possvel a representao de nmeros racionais (por exemplo, representar um nmero com o seu numerador e denominador)), a maioria dos computadores utiliza a representao de um subconjunto dos nmeros racionais, que
atende a maioria dos casos. Ns chamamos estes nmeros de ponto flutuante.
A idia bsica atrs dos nmeros de ponto flutuante representar um
nmero com a sua mantissa e um expoente, cada um com um nmero fixo
de bits referentes a sua preciso. Se ns denotamos a mantissa com m e o
expoente com e, o nmero representado ser equivalente a m * 2e.
O uso de ponto flutuante mais importante para aplicaes cientficas
ou aplicaes que exijam muitos clculos matemticos como computao
grfica. Nessas aplicaes precisamos multiplicar ou dividir dois nmeros
mais frequentemente. A multiplicao de dois nmeros de ponto flutuante
fcil, basta multiplicar as mantissas e somar os expoentes. A diviso somente um pouco mais complicada. Observe que a impreciso no resultado
de uma multiplicao ou de uma diviso somente devido impreciso nos
operandos originais. Nenhuma impreciso adicional introduzida pela operao prpria (exceto possivelmente 1 unidade em menos dgito significativo).
Para somar dois nmeros de ponto flutuante, o expoente menor deve
primeiramente ter sua mantissa deslocada para a direita para igualar os expoentes. Se o deslocamento for maior do que o nmero de bits na representao
da mantissa, o segundo nmero ser tratado como 0.
Geralmente, os computadores manipulam dados em blocos de 8, 16,
32, 64, ou 128 bits. conseqentemente til caber um nico nmero de ponto
flutuante com a mantissa e o exponente em tal bloco. Em tal bloco precisamos
ter um bit para o sinal, a mantissa, e o exponente.
Expoente

S
0

Mantissa
8 9

31

Desde 1980 os computadores adotam uma representao padro para


nmeros em ponto flutuante chamada IEEE 754 para facilitar a portabilidade
de programas. Os nmeros podem ter preciso simples, constitudo com 1
bit de sinal, 8 bits de expoente e 23 bits de mantissa mais 1 implcito, to = 24,

Introduo Computao 57

preciso dupla = 1 bit de sinal, 11 bits de expoente e 52 bits de mantissa + 1


implcito = 53).
Preciso

Sinal

Expoente

Mantissa

Implcito

Total (bits)

Simples
Dupla

1
1

8
11

23
52

1
1

32
64

Atividades de avaliao
1. Converta os nmeros decimais 19 e 32 em binrios, calcule a soma deles
em binrio e converta novamente para decimal para conferir o resultado.
2. Converta os nmeros decimais 14 e -8 em binrios complemento de dois,
calcule a soma deles em binrio e converta novamente para decimal para
conferir o resultado. (dica: use um nmero de 5 bits).

Captulo

8
Portas lgicas

Os blocos bsicos de um computador so chamados portas lgicas ou apenas portas.


As portas so os circuitos bsicos que tm pelo menos uma (e geralmente mais) entradas e exatamente uma sada. Os valores da entrada e da
sada so os valores lgicos verdadeiro ou falso. Na conveno de computao comum usar 0 para falso e 1 para verdadeiro. As portas no tm nenhuma memria. O valor da sada depende somente do valor atual das entradas.
Este fato torna possvel usar uma tabela de verdade para descrever inteiramente o comportamento de uma porta.
Ns consideramos geralmente trs tipos bsicos das portas, as portas
E, as portas OU, e as portas NO (ou inversores). Tambm usual chamar as
portas pelo termo em ingls, respectivamente, AND, OR e NOT.

1. Portas bsicas13
Portas bsicas so portas fundamentais que podem formar outras portas com
funes especiais. As portas bsicas so: E, OU e NO.

1.1. Porta E (AND)


Uma porta E pode ter um nmero arbitrrio de entradas. O valor da sada
1 se e somente se todas as entradas so 1. Se no o valor da sada 0. O
nome foi escolhido porque a sada 1 se e somente se a primeira entrada e a
segunda entrada, e,, e a n-sima entrada so todas 1.
frequentemente til desenhar diagramas das portas e das suas interconexes. Em tais diagramas, a porta E desenhada como esta:

Figura 6 - Ilustrao da porta E

Portas bsicas:
dispositivo que implementa
funes lgicas bsicas
para todas as funes
lgicas.

13.

60

FERNANDEZ, M. P; CORTS, M. I.

A tabela de verdade para uma porta E com duas entradas mostrada abaixo:
x
0
0
1
1

y
0
1
0
1

z
0
0
0
1

1.2. Porta OU (OR)


Como a porta E, a porta OU pode ter um nmero arbitrrio de entradas. O valor da sada 1, se e somente se, pelo menos de um dos valores da entrada
1. Caso contrrio, a sada 0. Ou seja o valor da sada 0 somente se todas
as entradas so 0. O nome foi escolhido porque a sada 1, se e somente se,
a primeira entrada ou a segunda entrada, ou,, ou a n-sima entrada so 1.
Em esquemas de circuito, ns desenhamos a porta OU como este:

Figura 7 - Ilustrao da porta OU

A tabela de verdade para uma porta OU com duas entradas olha como esta:
x
0
0
1
1

y
0
1
0
1

z
0
1
1
1

1.3. Porta NO (NOT)


A porta NO tambm conhecida como inversor e tem exatamente uma
entrada e uma sada. O valor da sada 1 se e somente se a entrada 0. Se
no, a sada 0. Ou seja o valor da sada exatamente o oposto do valor
da entrada.
Em esquemas de circuito, ns desenhamos a porta NO como este:

Figura 8 - Ilustrao da porta NO

Introduo Computao 61

A tabela de verdade para um inversor olha como esta:


x
0
1

y
1
0

2. Portas compostas14
s vezes, prtico combinar funes das portas bsicas em portas mais
complexas a fim reduzir o espao em diagramas de circuito. Nesta seo, ns
mostraremos algumas portas compostas junto com suas tabelas de verdade.

2.1. Porta NO-E (NAND)


A porta NOE uma porta E com um inversor na sada. Assim em vez de
desenhar diversas portas com esta:

Figura 9 - Ilustrao da porta-E

Ns desenhamos uma nica porta-E com um pequeno anel na sada


como este:

Figura 10 - Ilustrao da porta NOE

A porta-noe, assim como a porta-E pode ter um nmero arbitrrio de


entradas.
A tabela de verdade para a porta-noe semelhante tabela para porta-e, exceto que todos os valores da sada so invertidos:
x
0
0
1
1

Portas Compostas:
estrutura de lgica
complexa implementado
atravs da associao de
vrias portas bsicas.
14.

y
0
1
0
1

z
1
1
1
0

62

FERNANDEZ, M. P; CORTS, M. I.

2.2. Porta NO-OU (NOR)


A porta NO-OU uma porta OU com um inversor na sada. Assim em vez de
desenhar diversas portas como esta:

Figura 11 - Ilustrao da porta OU

Ns desenhamos uma nica porta OU com um pequeno anel na sada


como este:

Figura 12 - Ilustrao da porta NO-OU

A porta no-ou, assim como a porta ou pode ter um nmero arbitrrio


de entradas.
A tabela de verdade para a porta no-ou semelhante tabela para
porta ou, exceto que todos os valores da sada so invertidos:
x
0
0
1
1

y
0
1
0
1

z
1
0
0
0

2.3. Porta OU-EXCLUSIVO (XOR)


A porta OU-EXCLUSIVO similar a uma porta OU. Apesar de poder ter um
nmero arbitrrio de entradas normalmente representamos apenas duas entradas. O valor da sada 1 se somente uma das entradas 1 e a outra 0,
por isso se diz OU-EXCLUSIVO. Se no, a sada 0. Assim, em vez de desenhar diversas portas como esta:

Figura 13 - Ilustrao da porta OU-EXCLUSIVO

Introduo Computao 63

Ns desenhamos uma porta OU-EXCLUSIVO como mostrada abaixo:

Figura 14 - Ilustrao da porta OU-EXCLUSIVO

A tabela de verdade para uma porta OU-EXCLUSIVO com duas entradas mostrada abaixo:
x
0
0
1
1

y
0
1
0
1

z
0
1
1
0

Mas para que serve uma porta OU-EXCLUSIVO? Ela um bloco


essencial para a construo de um circuito muito til em computadores, o
SOMADOR.

2.4. Meio Somador15


O Circuito somador realiza a soma de um bit tendo como resultado a valor da
soma e o bit de vai-um conforme diagrama mostrado abaixo:

Figura 15 - Ilustrao do circuito meio somador

A tabela de verdade de um meio-somador mostrado abaixo:


x
0
0
1
1

Meio-somador: Circuito
que realiza a soma de um
bit utilizando portas lgicas
bsicas.

15.

y
0
1
0
1

z
0
1
1
0

c
0
0
0
1

64

FERNANDEZ, M. P; CORTS, M. I.

Somador completo:
Circuito somador
que realiza a soma
considerando vai-um. O
somador completo pode
ser cascateado para
formar um somador de
nmero contendo vrios
bits.

16.

Somador Completo16
Apesar do meio somador informar o bit de vai um, ele no considera o vai um
do bit anterior, assim ele s pode ser usado para somar o bit menos significativo.
Para realizar uma soma completa precisamos utilizar o circuito somador completo que tanto informa o vai-um para o prximo bit, como considera
o vai-um do bit anterior da soma. O diagrama do somador completo mostrado abaixo:

Figura 16 - Ilustrao do circuito somador completo

2.6. Fazendo qualquer porta composta usando somente


um tipo da porta
Por questes de processo de fabricao de circuitos integrados algumas tecnologias de circuito, so mais fceis construir uma porta NO-E do que outras
portas. Menor ocupao de espao e menor consumo de energia so fatores
considerados. Nesse caso, a porta NO-E considerada o bloco mais bsico,
e todos os outros so construdos a partir dele.
possvel construir qualquer tipo da porta usando somente portas
NO-E. Primeiramente podemos observar que um inversor apenas uma
porta NO-E com somente uma entrada. Em seguida, uma PORTA-E pode
ser construda como uma porta NO-E com um inversor em sua sada. Uma
porta OU pode ser construda com uma porta NO-E com um inversor em
cada entrada.
Da mesma forma, todas as portas podem ser construdas usando somente portas NO-OU. E a partir dela podemos construir as demais.

Introduo Computao 65

Sntese do captulo
Este captulo apresentou as formas de representao de informaes em um
computador. Foi mostrado a unidade bsica de informao, o bit, e as representaes de dados em byte, caracteres e nmeros. Foi apresentada uma
introduo ao sistema binrio e a representao de nmeros e operaes
matemticas. Finalmente mostramos uma introduo lgica digital e as principais portas lgicas existentes assim como a composio de portas mais
complexas.

Atividades de avaliao
1. Construa um somador de 4 bits utilizando blocos somadores-completos
mostrado na figura abaixo:

2. Observando as tabelas verdades mostradas nessa seo, desenhe o


esquemtico de uma porta OU-EXCLUSIVO utilizando apenas portas
NO-E.

Como Tudo Funciona: Informtica


http://informatica.hsw.uol.com.br/
Introduo Computao
http://www.cic.unb.br/~jhcf/MyBooks/ic/index.html
Introduo Cincia da Computao
http://pt.wikiversity.org/wiki/Introduo__Cincia_da_Computao

66

FERNANDEZ, M. P; CORTS, M. I.

Referncias
THOMAS FLOYD. Sistemas Digitais. 9 Ed. Editora: Bookman, 2007.
RONALD J. TOCCI, NEAL S. WIDMER, GREGORY L. MOSS. Sistemas
Digitais: Princpios e Aplicaes. 10 Ed. So Paulo: Editora Pearson Prentice-Hall, 2007.
ANDREW S. TANENBAUM. Organizao Estruturada de Computadores. 5 Ed. So Paulo: Editora Pearson Prentice-Hall, 2006.
JOHN L. HENNESSY, DAVID A. PATTERSON. Organizao e Projeto de
Computadores. 3 Ed. So Paulo: Editora Campus, 2005.

Parte
Arquitetura de computadores

Captulo

9
Arquitetura de
computadores

Introduo
Neste captulo ser apresentada a arquitetura de um computador genrico
com a funo de cada um dos seus componentes principais. Ser apresentada a relao entre hardware17 e software18 mostrando os fatores relevantes
que influenciam o desempenho.
Sero apresentados a estrutura da Unidade Central de Processamento
(CPU) com seus principais componentes, alm das caractersticas que determinam a sua capacidade de processamento.
Tambm sero mostrados as caractersticas dos diversos tipos de memria e a interao de cada uma com os demais componentes do computador. Finalmente, sero mostrados os diversos dispositivos de entrada e sada
existentes que permitem a utilizao dos computadores pelo ser humano de
forma confortvel e eficaz.
Os primeiros computadores do mundo eram as pessoas. Por isso, para
chamar os primeiros os computadores mecnicos ou eletrnicos foram dados
nomes das pessoas que executavam o trabalho de computar. O computador era uma profisso (exercida predominante por mulheres) cujo trabalho
era executar os clculos repetitivos exigidos para computar tabelas de navegao, cartas de mars e posies planetrias.
Imagine que voc tenha um trabalho de ficar hora aps hora, dia aps
dia, fazendo nada alm de computar multiplicaes. Com o tempo o cansao
iria conduzir negligncia e ao erro. Por isso, durante vrios sculos os inventores tm procurado por uma maneira que mecanize (isto , encontrar um
mecanismo que pudesse executar) esta tarefa.
A mquina que voc pensa ser um computador chamado mais precisamente computador eletrnico digital de uso geral. de uso geral porque
pode ser programado para executar uma grande variedade de aplicaes
(que fazem a diferente de um computador de propsito especfico, projetado
para executar somente uma funo).

Hardware: conjunto de
componentes fsicos de
um computador como
processador, memria,
disco, etc.

17.

Software: conjunto de
comandos lgicos que
fazem um computador
funcionar como programas,
sistema operacional, etc.

18.

70

FERNANDEZ, M. P; CORTS, M. I.

Digital significa que o computador guarda e manipula todos os dados


internamente sob a forma dos nmeros (todos os dados numricos, todos os
dados de texto, e mesmo os sons e as figuras so armazenadas como nmeros). O dgito significa originalmente dedo e desde que os povos comearam
a contar com seus dedos, o nome dgito veio ser aplicado aos nmeros.
Os computadores modernos so totalmente eletrnicos porque manipulam dados usando circuitos de chaveamento eletrnico mas algumas mquinas
de computao mais velhas, eram mecnicas, usando rodas, alavancas, etc.
Um computador um dispositivo que executa quatro funes: ele recebe dados de entradas (converte dados do mundo exterior para o universo
eletrnico); armazena os dados (de forma eletrnica); processa dados (executa operaes matemticas e lgicas); e exibe os dados de sadas (mostra os
resultados para os usurios atravs de uma tela).
Um computador consiste no hardware e no software. O hardware o
equipamento fsico: o prprio computador e os perifricos conetados. Os perifricos so todos os dispositivos ligados ao computador para finalidades de
entrada, sada, e armazenamento dos dados (tais como um teclado, um monitor de vdeo ou um disco rgido externo).
O software consiste nos programas e nos dados associados (informao) armazenados no computador. Um programa uma sequencia de instrues que o computador segue com o objetivo de manipular dados. A possibilidade de incluir ou excluir programas diferentes a fonte de versatilidade de
um computador.
Sem programas, um computador apenas hardware de alta tecnologia
que no faz qualquer coisa. Mas com a sequencia de instrues detalhadas,
descrevendo cada passo do programa (escrito por seres humanos) o computador pode ser usado para muitas tarefas que variam do processamento de
texto a simulao de padres de tempo globais.
Como um usurio, voc ir interagir com os programas que funcionam
em seu computador atravs dos dispositivos de entrada conetados a ele, tal
como um mouse e um teclado. Voc usa esses dispositivos para fornecer a
entrada (tal como o texto de um relatrio que voc est trabalhando) e para
dar comandos ao programa (tal como a definio de que uma frase do texto
vai aparecer com formato negrito). O programa fornecer a sada (os dados
resultantes das manipulaes dentro do computador) atravs de vrios dispositivos de sada (tal como um monitor ou uma impressora).
Os computadores pessoais (geralmente conhecidos como PC) so
usados de uma maneira muito interativa, com o usurio inserindo continuamente dados e comandos (para escolher as vrias funes do programa)

Introduo Computao 71

e monitorando a sada com os resultados das operaes realizadas. Isto


muito diferente da maneira que os grandes computadores mais antigos eram
usados (o usurio fornecia a entrada e recebia a sada mais tarde, o que
chamado processamento em lote).

Figura 17 - Arquitetura de um computador

A Figura 17 mostra a arquitetura simplificada de um Computador. Os


computadores modernos tem uma arquitetura bem mais complexa do que
esta, mas os blocos principais esto aqui representados. O principal mdulo a Unidade Central de Processamento, usualmente conhecida como
CPU19 (Central Processing Unit). A CPU o crebro do computador onde
todo o processamento realizado. Ela constituda por trs submdulos:
a Unidade Lgica e Aritmtica (ULA), os Registradores e a Unidade de
Controle. Nos computadores modernos a CPU construda em um nico
Circuito Integrado (chip).
A Unidade Lgica e Aritmtica (ULA), tambm conhecida como
Arithmetic and Logic Unit (ALU), responsvel por realizar as operaes do
computador como soma e subtrao assim como as funes lgicas, OU,
E, NO e OU Exclusivo. Algumas ULAs mais sofisticadas realizam tambm
multiplicaes e divises.
Os registradores so memrias20 utilizadas para realizar as operaes
na CPU. Essas memrias so muito rpidas e de tamanho pequeno, geralmente suficiente para guardar menos de uma dezena de valores. Alm dos
registradores comum haver uma memria de rascunho dentro da CPU, chamada de Cache. Ela utilizada para aumentar a velocidade de processamento reduzindo o tempo de acesso memria externa.
A Unidade de Controle responsvel por controlar todo o funcionamento da CPU e tambm de todo o computador. Ela controla o processamento
entre ULA e Registrador e interage com o barramento externo onde ficam os
perifricos. A Unidade de Controle tem uma funo chave que a interpretao do cdigo do programa que ir nortear os comandos do processamento.
Continuando na Figura 17 podemos observar um barramento e trs mdulos externos CPU: Memria, Disco e Interface de Entrada e Sada (I/O).

CPU: acrnimo de
Central Processing Unit
ou Unidade Central de
Processamento. Unidade
responsvel por realizar
o processamento no
computador.

19.

Memria:
componente construdo
com material
semi-condutor ou
magntico responsvel
por armazenar,
temporariamente ou
permanentemente, os
dados em um computador.

20.

72

FERNANDEZ, M. P; CORTS, M. I.

O barramento serve para interligar todos os componentes internos do


computador. Para se obter altas velocidades esse barramento geralmente
paralelo (os dados so enviados paralelamente). Nessa figura representamos
apenas um barramento, mas geralmente ele dividido em barramento de
dados (onde os dados trafegam), barramento de endereo (onde indicamos
a localizao de cada dado) e o barramento de controle (onde indicamos o
comando, por exemplo, ler, escrever, copiar, etc). Em um computador real
existem vrios nveis de barramento com velocidades diferentes, quanto mais
prximo da CPU mais rpido ele , e quanto mais prximo dos perifricos
mais lento ele .
A Memria constituda por um conjunto de memria semicondutora
utilizada para armazenar os dados temporariamente. Podemos dizer que essa
a memria de trabalho do computador e geralmente fica localizada na placa
me do computador. Essa memria mais lenta que os Registradores mas
mais rpida que as unidades de armazenamento em disco. A memria semicondutora geralmente perde os dados quando o computador desligado,
por isso deve-se usar uma unidade de armazenamento permanente, o disco.
O disco consiste em uma unidade eletro-mecnica que armazena os
dados em um disco magntico que mantm as informaes mesmo quando
o computador desligado. Essa unidade tem grande capacidade de armazenamento mas tem velocidade de acesso significativamente menor em relao
s memrias semicondutoras.
O mdulo de Entrada e Sada, ou Input/Output (I/O), estabelece a ligao do computador com o mundo externo, usando equipamentos perifricos. Essa interface permite a ligao de teclados e mouses (para entrada
de dados), monitores ou impressoras (para exibio dos dados) e placas de
comunicao (para trocar dados a longa distncia). Essa interface significativamente mais lenta que os demais componentes do computador devido a
natureza dos perifricos e a incapacidade humana de processar informaes
na velocidade dos computadores.
Os prximos captulos iro detalhar cada um dos mdulos que constituem um computador.

Introduo Computao 73

Atividades de avaliao
1. Observando a Figura 17 avalie os componentes de uma arquitetura de
computadores que podem limitar o desempenho. Proponha solues
para resolver esse gargalo.
2. Pesquise sobre a histria do computador e liste as invenes mais importantes.
3. Qual mdulo de uma arquitetura de computadores deve ser mais rpido
para melhorar o desempenho de um sistema de processamento numrico (muitas operaes matemticas)?
4. Qual mdulo de uma arquitetura de computadores deve ser mais rpido
para melhorar o desempenho de um sistema de armazenamento de dados (muitos dados guardados e consultados)?

Captulo

10

Unidade central de
processamento e
memria
1. Processador
O processador o componente do computador que faz o processamento
real dos dados. Um microprocessador uma unidade do processador central
(CPU) encapsulada dentro de um microchip. o crebro do computador,
mas devemos considerar ser um termo um pouco exagerado pois ele realmente apenas um circuito eletrnico constitudo por interruptores que executam instrues simples mas com muita rapidez.
O circuito integrado do microprocessador contm uma placa de silcio
que contm milhes de transistores e outros componentes fabricados no prprio silcio. Como os transistores no chip so muito minsculos, mesmo uma
pequena descarga de corrente, como a eletricidade esttica da mo do tcnico, pode destru-lo. Eis porque todos os circuitos integrados devem ser manipulados de forma que minimize a possibilidade de descarga esttica atravs
de acessrios apropriados (pulseira aterrada).
Por causa da grande quantidade de circuitos encapsulados em uma
rea to minscula, a energia necessria para seu funcionamento gera muito
calor e exige sistemas de resfriamento para evitar o superaquecimento do
chip. Na placa me de um computador o chip do processador central coberta por um grande dissipador de calor em metal com aletas para permitir que o
fluxo de ar dos ventiladores de refrigerao retirem o calor gerado pelo chip.

1.1. Velocidade de relgio


Os diversos chips em uma placa me precisam de uma sincronizao nica
para manter o fluxo de dados coerente. Para isso um circuito de relgio (clock)
distribui um sinal nico para todos os chips que passaro a se comunicar de
forma coerente. Voc pode imaginar o relgio como uma pulsao do corao
do computador. Quanto mais rpidos os impulso de relgio, mais rapidamente

76

FERNANDEZ, M. P; CORTS, M. I.

o computador funciona; mas, o pulso de disparo no pode funcionar mais rapidamente do que a capacidade de velocidade dos chips. Com a melhoria da
tecnologia de construo dos chips, a velocidade em que eles podem funcionar
aumentou, aumentando a velocidade de processamento. Em razo disso, atualmente o processador central funciona mais rapidamente do que o barramento
da placa me, que geralmente usa uma frao da taxa do processador central.

Herts (Hz):
unidade de medida de
freqncia, significando
quantidade de ciclos por
segundo.

21.

M egah e r tz (MHz):
unidade de medida de
freqncia, significando
quantidade de milhes de
ciclos por segundo.

22.

G i g a h e r t z (GHz):
unidade de medida de
freqncia, significando
quantidade de bilhes de
ciclos por segundo.

23.

A velocidade de relgio medida em unidades de ciclos por segundo,


que chamado de Hertz21 (Hz). As placas e os processadores centrais do computador funcionam em taxas de milhes e bilhes de Hertz, megahertz 22(MHz)
e gigahertz23 (GHz). Uma boa velocidade para um microprocessador do PC em
2008 era 4 gigahertz. Obviamente os componentes em velocidades mais altas
so mais crticos e tem um custo geralmente maior.
Voc pode reconhecer os termos megahertz e gigahertz das emisses de
rdio. O rdio de FM e a transmisso de TV ficam na escala do megahertz, e os
telefones mveis transmitem na escala do gigahertz. Assim, os circuitos do computador produzem interferncias na frequncia que poderia causar problemas
nos dispositivos prximos. Para impedir isso, um computador geralmente contm
uma caixa metlica onde ficam a placa me e os demais componentes.

1.2. Velocidade do processador central


A velocidade de relgio somente um aspecto que contribui velocidade total
de processamento de um microprocessador. A arquitetura do microprocessador tambm relevante. Um fator importante o tamanho da palavra do microprocessador, que quantos bits de entrada/sada que ele pode processar
simultaneamente em um determinado instante. Os microprocessadores mais
antigos usavam o tamanho de palavra de 8 bits; os microprocessadores mais
novos usam o tamanho de palavra de 64-bits.
O projeto do microprocessador pode incluir a memria cache de alta
velocidade. A memria cache uma memria instalada entre o processador
e a memria RAM que permite ao processador guardar instrues ou dados
mais recentemente usados para o caso de precis-los outra vez, de modo
que no precise ir busc-los na memria RAM principal, muito mais lenta que
a memria cache.
Os computadores gastam muito tempo nos laos (loops), repetindo
a mesma sequncia de instrues vrias vezes, assim se esse cdigo estiver na memria cache pode melhorar significativamente o desempenho.
Dependendo se a memria cache est situada no chip do processador central, ou em chips externos prximos com uma ligao de alta velocidade,
chamado cache L1 ou cache L2.

Introduo Computao 77

Outros aspectos da arquitetura dos microprocessadores que afetam


a velocidade incluem a habilidade de alguns processadores centrais de trabalhar ao mesmo tempo com instrues mltiplas em paralelo. Tambm, alguns processadores centrais so CISC24 (conjunto de instruo complexa),
enquanto outros so RISC (conjunto de instruo reduzida). Os microprocessadores RISC25 tm um conjunto de instrues mais simples e precisam de
mais instrues para executar uma mesma ao que um microprocessador
CISC faz com uma instruo, mas os processadores RISC so mais rpidos
e podem terminar a operao antes.
At hoje se discute a eficincia dos processadores RISC e CISC,
mas na verdade o desempenho dependente do tipo de instruo executada e do tipo de aplicao usada. O resultado que voc no pode simplesmente comparar processadores diferentes olhando apenas sua velocidade de relgio. Um processador PowerPC com o dobro da velocidade de
relgio de um processador Pentium tem a velocidade de processamento
aproximadamente equivalente.

1.3. Tipos de microprocessadores


O microprocessador mais usado nos PC
feito pela Intel. Desde que a IBM escolheu o
processador Intel 8088 para o PC original da
IBM, a maioria de clone do PC usam um processador da srie Intel: 8088, 80286, 80386,
80486, Pentium, Pentium II, Pentium III e
Figura 18 - Processador
Pentium 4. A Figura 18 mostra um processaIntel (Intel Corp)
dor Intel.
Outro fabricante dos microprocessadores para o PC AMD (Advanced
Micro Devices, Inc.). Sua linha de processadores Athlon foi bem sucedida e
tomou uma frao do mercado do processador da Intel. O processador AMD
compatvel com o Intel, isto , possuem o mesmo conjunto de instrues e
qualquer software funciona em ambos os processadores sem alterao.
A srie de computadores Macintosh da Apple usou originalmente o microprocessador Motorola 68000. Os processadores da Motorola usam um
conjunto de instruo diferente do que os processadores da Intel, por isso o
software do PC no funciona em um Mac e vice-versa. A Apple usou mais tarde o processador RISC PowerPC, desenvolvido pela Apple, Motorola e IBM.
Os Mac a partir de 2004 usaram processador PowerPC G4 ou o PowerPC
G5. Em 2006 a Apple passou a usar processadores Intel em seus Mac, tornando possvel o funcionamento de software Windows diretamente no Mac.

C I S C : processador
com conjunto de instruo
complexa.

24.

R I S C : processador
com conjunto de instruo
reduzida.

25.

78

FERNANDEZ, M. P; CORTS, M. I.

2. Barramento de dados

FSB (Front Side Bus):


Barramento principal de
um computador PC.

26.

O barramento de dados a estrada eltrica com vrias vias que ligam o processador central aos outros componentes da placa me, tal como memria
RAM, disco rgido e controladores de I/O. Esse barramento chamado Front
Side Bus (FSB)26. O tamanho da palavra do barramento de dados determina
quantos bits podem ser movidos simultaneamente ao longo dele, tipicamente
nos computadores modernos usa-se 32 bits ou 64 bits.
A velocidade de relgio dos outros componentes ligados ao barramento de dados na placa me mais lenta do que a velocidade de relgio do
processador central. Por isso comum na especificao de um computador
diferenciar a velocidade do processador, tipicamente na ordem de gigahertz, e
a velocidade do barramento, tipicamente centenas de megahertz.

3. Memria
A memria de um microcomputador o lugar onde os programas e os dados
so armazenados quando esto sendo usados. Existem vrios tipos de memrias em um microcomputador que sero comentadas a seguir:

3.1. Memria RAM


O RAM o espao de memria principal do computador. O termo RAM significa memria de acesso aleatrio (Random Access Memory), e o termo vem
dos primeiros computadores quando as unidades centrais tinham dois tipos
de memria: Acesso aleatrio, em que todo o bit da memria poderia ser endereado a qualquer instante; e memria seqencial (tal como os dados armazenados em fita) onde os bits poderiam somente ser alcanados de forma
sequencial. Toda memria em um computador moderno de acesso aleatrio, assim no se preocupe com a memria seqencial.
O RAM a rea de trabalho do computador. Se o computador tem mais
RAM, pode abrir mais programas e mais arquivos simultaneamente. como
voc tivesse uma grande mesa de trabalho onde pudesse espalhar muito mais
papis de trabalho sobre ela em vez de uma pequena mesa. Um arquivo que
voc est editando (e o programa que o seu computador est usando para
editar) armazenado na RAM.
O RAM consiste em bancos de transistores do circuito integrado onde
podem estar ligados ou desligados (representando um ou zero). Os chips de
RAM precisam energia constante para manter o que armazenado nele; um
desligamento da energia, mesmo que seja uma frao de segundo (por exem-

Introduo Computao 79

plo, causado por um relmpago na rede eltrica) pode fazer com que o RAM
perca seus dados. Por esse motivo, a RAM chamada de voltil (ou aquilo
que se evapora facilmente) e por isso importante salvar frequentemente seu
trabalho em um armazenamento mais permanente, tal como um disco rgido.
O tipo especfico de RAM usado em um computador poderia ser DRAM
(RAM Dinmica), ou SDRAM (RAM Dinmica Sncrona) ou RDRAM (RAM
Dinmico Rambus), mas no se preocupe sobre os detalhes. Apenas tenha
cuidado para escolher o modelo apropriado para seu sistema quando voc
compra mais memria RAM.
O RAM instalado geralmente na
placa me em soquetes como DIMMs (Dual
Inline Memory Module), pequena placa de
circuito impresso com chips de memria
RAM (Figura 19). A arquitetura da placa
me limitar a quantidade de memria RAM
extra voc pode adicionar. O tamanho da
memria RAM medido em bytes, quiloFigura 19 - Mdulo DIMM de
bytes, megabytes, etc.
Memria RAM (Spansion)

3.2. Memria ROM


Os computadores tambm tm alguma memria ROM (Read Only Memory
ou Memria apenas para leitura) na placa me. A ROM, apesar de ser construda por transistores, no precisa de energia para guardar suas informaes
mas tambm no podem ser re-escritas.
Quando o computador ligado, o programa armazenado na ROM
executado, dando os primeiros comandos para o computador funcionar. Esse
programa, chamado de BIOS (Basic Input/Output System ou Sistema Bsico
de Entrada/Sada) executa todas as funes iniciais de um computador, por
exemplo, verifica se o hardware est em ordem e procura os dispositivos de
armazenamento onde pode encontrar uma cpia do Sistema Operacional que
ser carregado na memria RAM (que encontra-se apagada pois o computador estava desligado) e a seguir entrega o controle do computador ao Sistema
Operacional.
Devemos lembrar que o cdigo de BIOS nos computadores modernos
gravado em dispositivos regravveis como EEPROM (ROM Programvel e
Apagvel Eletricamente). A placa me inclui circuitos especiais que permitem
que os arquivos de BIOS permanentes sejam atualizados quando necessrio, mas que feito raramente (EEPROM pode somente ser re-escrita um
nmero limitado de vezes, da ordem de centenas a milhares de vezes).

80

FERNANDEZ, M. P; CORTS, M. I.

3.3. Memria CMOS


A memria CMOS de um computador uma pequena quantidade de memria semi-permanente onde os dados podem ser armazenados e re-escritos
quantas vezes quiser mas que permanecer disponveis quando o computador
for desligado. Uma bateria pequena na placa me mantm a memria CMOS
viva quando no h energia.
A memria do CMOS pode armazenar parmetros de configurao de
um computador como caractersticas de disco e interfaces, etc. A BIOS ir ler
essas informaes e us-las durante o carregamento do sistema operacional.
A memria do CMOS pode tambm guardar a data e a hora permitindo que
o computador mantenha a data e hora correta mesmo estando desligado. O
computador tem um relgio alimentado pela pequena bateria.
A memria CMOS um tipo de memria de transistor que exige a potncia muito pequena para armazenar dados, com uma pequena bateria os
dados so mantidos por um longo tempo. Entretanto, quase todas os chips
de memria em um computador hoje em dia (como a RAM) usam a tecnologia CMOS, e ironicamente, a memria semi-permanente CMOS nos PCs
modernos no armazenada em memrias CMOS, mas em uma memria
Flash, que um tipo de memria EEPROM com tamanho maior e com capacidade de re-escrita.

3.4. Memria Virtual


A memria virtual no necessariamente um novo componente de um computador, mas apenas uma tcnica que os sistemas operacionais usam para
ultrapassar os limites de memria no computador.
A quantidade de RAM limita o tamanho e quantidade de arquivos de dados e programas podem ser aberto simultaneamente. Voc no poderia abrir
simultaneamente dois programas que exigem 80 MB de RAM cada um em um
computador que tenha somente 128 MB do RAM.
Entretanto, os sistemas operacionais modernos usam a memria virtual
para permitir a ampliao dessa capacidade. Se tudo no couber na memria RAM disponvel, o sistema operacional pode automaticamente escrever os
dados no utilizados nesse momento no disco rgido, e coloca na memria os
dados que est utilizando. Mas isso tem um preo! Os disco rgidos (dispositivos
mecnicos) so muito mais lentos do que a memria RAM (dispositivo eletrnico), assim o computador funcionar muito mais lento se usar a memria virtual.

Captulo

11

Dispositivos de
armazenamento
Os dispositivos de armazenamento, tais como unidades de disco, armazenam
programas e arquivos de dados quando no esto sendo usados. Ao contrrio
das memrias RAM, os dados armazenados nestes dispositivos no desaparecem quando a energia desligada.
Os tipos principais de dispositivos de armazenamento so: discos magnticos, disco de estado-slido e disco tico.

1. Disco rgido
Um disco rgido um dispositivo mecnico constitudo por discos de metal e
revestidos com xido de metal que permite ser magnetizado. Uma cabea
pequena de leitura/gravao eletromagntica na extremidade de um brao
mvel magnetiza pontos minsculos no disco para armazenar dados. Todos
esse componente so lacrados em uma caixa hermeticamente fechada. A
distncia entre o disco e a cabea de leitura/gravao comparvel ao de um
gro de poeira, caso exista alguma sujeira na superfcie do disco poder danificar definitivamente a unidade de disco.
Os pontos magnticos magnetizados em
um sentido representam o valor binrio um e
os pontos magnetizados no sentido oposto representam um zero. A mesma cabea eletromagntica pode mais tarde detectar o sentido
do campo magntico dos pontos quando o disco passa debaixo da cabea, identificando se o
dado 0 ou 1 conforme o sentido de magnetizao. A Figura 20 mostra um disco rgido com Figura 20 - Disco Rgido IBM
seus principais componentes.
Os discos rgidos so avaliadas por sua capacidade de armazenamento,
tipicamente dezenas ou centenas de gigabyte. Outra mtrica de avaliao
quanto rapidamente os discos giram (em RPM, Rotaes por Minuto), que

82

FERNANDEZ, M. P; CORTS, M. I.

tipicamente milhares de RPM. Uma outra mtrica de avaliao de um disco


rgido o tempo de acesso mdio (medido em milissegundos), que diz em mdia quanto tempo levaria a movimentao do brao para recuperar um dado no
disco. Os tempos de busca tpicos ao redor 6 ms.
A eletrnica que controla o disco rgido incorpora geralmente alguma
memria cache. O movimento do brao l diversos setores dos dados de uma
s vez e se o processador central pedir os setores seguintes, a memria cache pode responder imediatamente sem ter que esperar o disco girar e posicionar o brao no local correto.
Existem vrios padres de controlador para interface com disco rgido
como: IDE, ATA, SATA, SCSI, ou outros. No vamos entrar em detalhes sobre
esses padres aqui, apenas voc deve ter em mente que deve se usar o mesmo padro interface para se ligar o disco na placa me.

2. Disquete flexvel
Um disquete flexvel um disco plstico flexvel de mylar (tipo de plstico)
coberto com xido de metal que magnetizado atravs de uma cabea magntica, de forma semelhante ao disco rgido. As disquetes flexveis tem 3.5
de dimetro e dispe de uma capacidade de 1.44 MB para armazenamento.
O disquete dispe de um obturador que protege a superfcie de disco da sujeira e das impresses digitais, o obturador desliza expondo a mdia
magntica quando o disco introduzido na unidade de leitura de modo que as
cabeas de leitura/gravao possam alcanar o disco magnetizvel.
Uma trava plstica pode ser deslizado para desbloquear um furo no
canto do disquete para proteger o disco de escrita (assim dados no podem
ser acidentalmente apagados). O tempo de acesso muito mais lento do que
um disco rgido, e a vida til significativamente mais curta.
As unidades de disquete flexvel esto caindo em desuso. A maioria dos
computadores novos no dispe dessa interface. O motivo desse abandono a reduo de custo de outras mdias com maior capacidade, como CD
Regravvel, DVD Regravvel e Memria Flash (pen drive), com capacidades
de centenas de megabytes a vrios gigabytes.

3. Cartes da memria Flash


Memria Flash um tipo especial de memria RAM desenvolvida nos anos 80
que apresenta a caracterstica de no ser voltil, isto , no perde os dados
quando a energia desligada. Apesar de ser um pouco mais lenta que as memrias RAM volteis ela muito mais rpida que os discos rgidos.

Introduo Computao 83

A memria Flash se popularizou com a disponibilidade de interface USB,


que permitiu a construo de memrias no volteis portteis que podem se ligar em qualquer porta USB com uma velocidade bastante alta. Esse dispositivo
chamado pen drive ou memory key tem se tornado cada vez mais popular em
virtude da praticidade e baixo preo. A Figura 21 mostra um pen drive USB.
O mesmo tipo da memria Flash pode ser
usado em pequenos cartes de memria como
carto SD, Compact Flash, Memory Stick. Esses
cartes so usados em telefones celulares,
PDAs, cmeras digitais, tocadores MP3, e outros
dispositivos digitais. Voc pode ler um carto desses em um leitor de carto da memria instalado
no computador. Estes cartes de memria tem Figura 21 - Pendrive
capacidades de armazenamento de centenas de Sandisk
megabytes a dezenas de gigabyte.

4. CD-ROM
Um CD-ROM um dispositivo de memria tica com capacidade de at 700
MB. O tico significa que a luz usada para ler os dados do disco (no uma
mdia magntica). Os CD-ROM so muito baratos se produzidos em grandes
quantidades e a maioria de software so distribudos em CD-ROM.
Os dados so armazenados em um CD-ROM atravs de pequenos poos gravados na camada plstica interna que aluminizada e recoberta com
uma outra camada plstica transparente para proteo. Um raio laser projetado sobre o disco girando reflete uma sequncias dos poos e no-poos que
converte em dados zero e um.
O desempenho de CD-ROM so avaliadas pela velocidade, tal como
32x, que significa 32 vezes mais rpido do que a primeira gerao de CD-ROM.

4.1. CD-R e CD-RW


Os CD-R (CD Gravvel) e CD-RW (CD Regravvel) so os CD que podem
ser escritos e re-escritos, respectivamente.
Os discos dos CD-R tm uma camada de tinta que alterada por um laser de potncia mais elevada que escreve os zeros e uns no disco. Na leitura
se usa um laser mais fraco que reflete os poos mas no altera os dados. Os
CD-R podem ter sua superfcie escrita apenas uma vez, aps o qual pode-se
apenas realizar leitura. Assim como os CD, os CD-R pode armazenar at 700
MB dos dados.

84

FERNANDEZ, M. P; CORTS, M. I.

Os discos CD-RW contm um material sensvel especial e usa dois


raios laser diferentes, um que escreve (com potncia alta) e l (com potncia
baixa) e um outro laser que apaga o contedo, deixando o disco pronto para
ser regravado. Assim esses discos podem ser usados muitas vezes (mas devem ser apagados antes da re-escrita).

4.2. DVD
Os discos de DVD-ROM so mdias ticas similares aos CD-ROM, mas com
uma capacidade de armazenamento maior. Os DVD permitem gravao de
4.7 GB de dados em mdia de camada nica ou 8.54 GB em camada dupla.
Como um CD, os DVD tem igualmente tem variaes de gravao
como DVD-R para o gravvel e DVD-RW para o regravvel. As velocidades
de leitura de DVD so avaliadas nos termos de quantas vezes ele mais rpido que os drives originais de DVD, por exemplo, um disco 6x equivale a dizer
que ele 6 vezes mais rpido que os primeiros DVD.

Atividades de avaliao
1. Relacione os principais componentes de uma CPU e descreva a funo
de cada um.
2. Por que importante para um computador teu um relgio nico?
3. Diga a diferena entre memria RAM e memria ROM?
4. Qual a forma de codificao de dados que podemos usar em discos rgidos
e flexveis e unidade de CD ou DVD?

Captulo

12

Sistemas de entrada
e sada
Em computao, o sistema de entrada/sada, em ingls Input/Output, tambm
conhecido pela sigla I/O, referem a comunicao entre um sistema de processamento de dados (como um computador) e o mundo exterior, seja ele um ser
humano ou um outro sistema de processamento de dados. As entradas so
os sinais ou os dados recebidos pelo sistema, e as sadas so os sinais ou os
dados emitidos por ele.
Os dispositivos de I/O so usados por uma pessoa (ou por outro sistema) para comunicar-se com um computador. Por exemplo, teclados e mouses so dispositivos de entrada de um computador, enquanto o monitores e
impressoras so considerados dispositivos de sada de um computador. Os
dispositivos para comunicao entre computadores, tais como modem e placas de rede, so tipicamente para entrada e sada.
Em um computador a combinao do processador central e da memria central (isto , a memria que o processador pode ler e escrever a diretamente) considerada o crebro de um computador. Qualquer transferncia
de informao entre esse bloco e qualquer outra unidade considerada tambm I/O, como por exemplo, uma unidade de disco magntico ou tico.
Abaixo vamos discutir a variedade de dispositivos usados para a entrada e a sada do computador.

1. Dispositivos de Entrada
1.1. Teclado
O teclado de computador utilizado para incluir informaes de texto no computador, como se faz na datilografia. O teclado pode tambm ser usado para inserir
os comandos que controlam o computador para executar determinadas aes.
Os comandos so escolhidos tipicamente de um menu na tela usando um mouse, mas geralmente h alguns atalhos de teclado para esses comandos.

86

FERNANDEZ, M. P; CORTS, M. I.

Alm das teclas do teclado principal (usado para datilografar o texto), os


teclados geralmente tm um teclado numrico (para inserir dados numricos
eficientemente), um conjunto de teclas de edio (usadas para operaes de
edio do texto), e uma fila de chaves de funo na parte superior (para chamar determinadas funes dos programa). Os computadores portteis, que
no tm espao para teclados grandes, incluem frequentemente uma a tecla
fn de forma que outras teclas possam realizar duas funes (por exemplo, ter
um teclado numrico encaixado dentro do teclado principal).
A maioria dos teclados padro PC se conectam ao computador atravs
de um conetor PS/2 ou da porta do USB.

2. Dispositivos Apontadores
As interfaces grficas (chamadas GUI) exigem algum tipo do dispositivo para
posicionar o cursor na tela. Os dispositivos apontadores tpicos so: mouse,
almofada de toque e trackball. Os dispositivos apontadores, tais como mouse,
se conectaram ao PC atravs de portas seriais (mais antigos), porta PS/2 ou
a porta USB (os mais novos).

2.1. Mouse
O dispositivo apontador mouse apoia-se em sua
superfcie de trabalho, como uma mesa, e movido com sua mo. Nos mouses mais velhos uma
esfera na parte inferior rola na superfcie enquanto
voc move o mouse, e os rolos internos detetam o
movimento da esfera e transmitem a informao ao
computador atravs do cabo. O nome mouse (rato Figura 22 - Mouse
em ingls) vem da semelhana do dispositivo em com fio (Clone)
forma de concha com um cabo. A Figura 22 mostra
um mouse tradicional.
O mouse tico (mais recente) no usa uma esfera de rolamento, mas
uma luz e um sensor tico para detetar por reflexo o movimento do mouse
seguindo a rugosidade da superfcie da mesa. Os mouses ticos evitam o problema de uma esfera suja no mouse, que faz com que os mouses antigos percam a preciso se a esfera e os rolos internos no so limpos frequentemente.
Um mouse pode ser sem fio, comunicando-se com o computador atravs das ondas de rdio (geralmente usando o protocolo Bluetooth), tornando
desnecessrio o cabo para ligar ao computador (no entanto, ele vai precisar
de baterias internas).

Introduo Computao 87

Um mouse inclui uma ou vrias teclas (as vezes uma roda) para permitir
que os usurios interajam com a interface grfica. O mouse tradicional de PC
tem duas teclas para acionar comandos, e a roda serve para deslizar a imagem na tela do computador.

2.2. Almofada de toque (touch pad)


A maioria de computadores portteis
tm hoje um dispositivo apontador tipo
almofada de toque (touch pad). Voc
move o cursor na tela deslizando o
dedo pela superfcie da almofada plstica. As teclas ficam situadas abaixo da
almofada, mas a maioria das almofadas
de toque permitem que voc execute o
clique do mouse batendo com o dedo
Figura 23 - Touchpad de notebook (Acer)
na prpria almofada.
As almofadas de toque tm a vantagem sobre os mouses porque no
tem partes mecnicas que se danifiquem e no pegam sujeira. A Figura 23
mostra uma almofada de toque.

2.3. Trackball
O trackball como um mouse de cabea para baixo, com a esfera situada
na parte superior. Voc usa seus dedos para rolar o trackball, e os rolos internos (similares ao de um mouse) detetam o movimento que transmitido ao
computador. Os trackballs tm a vantagem sobre mouses porque o corpo do
trackball permanece estacionrio em sua mesa, assim que voc no precisa
tanto espao para usar o trackball.

3. Tablet grfico
Um tablet grfico consiste em uma rea eletrnica de escrita e uma pena especial que escreve sobre ela. Os tablets grficos permitem que artistas criem
imagens grficas com movimentos e as aes similares aos de ferramentas
de desenho tradicionais. A pena do tablet grfico sensvel a presso, assim
que pressionando obtemos um trao mais grosso ou mais fino.

88

FERNANDEZ, M. P; CORTS, M. I.

4. Scanner
Um scanner um dispositivo que l imagens em uma pgina impressa em papel produzindo uma imagem feita de pixis minsculos dos valores diferentes
de brilho e da cor que so representados numericamente e transmitidos ao
computador digitalmente. Os scanners fazem a leitura de figuras, mas podem
tambm fazer a leitura de pginas do texto que, atravs de software OCR
(reconhecimento de carter tico) que vai identificar as formas individuais das
letras e criar uma linha de texto da pgina em formato digital.

5. Microfone
Um microfone pode ser ligados a um computador atravs de uma entrada de
som. O som digitalizado convertido em nmeros digitais que representam o
som analgico original podendo ser armazenado no computador e reproduzido mais tarde.

6. Dispositivos de sada
6.1. Monitor CRT
O dispositivo de sada tradicional de um computador para um ser humano
um monitor CRT (tubo de raio de catdico). Assim como um aparelho de televiso, o monitor CRT contem um grande tubo de raio de catdico que projeta
um feixe de eltron em direo tela gerando uma imagem dos pontos coloridos no interior da tela. Os monitores do CRT so pesados e consomem mais
energia que as telas LCD.
O tamanho de tela do monitor medido diagonalmente em polegadas.
Nem toda a rea da tela pode ser til para mostrar imagem, assim muitas
vezes tambm indicada a rea visvel. A resoluo do monitor o nmero
mximo de pixis que pode mostrar horizontalmente e verticalmente (como
800 x 600, ou 1024 x 768, ou 1600 x 1200).
A maioria de monitores podem indicar diversas resolues abaixo de
seu valor mximo. Quanto maior a quantidade de pixeis possveis maior a
qualidade do monitor. Os pixis so os pontos pequenos que fazem a imagem
na tela. O afastamento dos pontos minsculos do fsforo da tela chamado
distncia entre pontos, tambm conhecido como dot pitch (dp). Uma tela com
distncia entre pontos menor produz umas imagens mais definida.

Introduo Computao 89

6.2. Monitor de tela plana LCD


Um monitor de tela plana usa geralmente uma
tela do LCD (tela de cristal lquido) para indicar a
sada do computador. O LCD consiste em diversas camadas finas que polarizam a luz que passa por elas. A polarizao de uma camada, contendo as molculas de cristais lquidos, pode ser
controlada eletronicamente em cada pixel, obstruindo quantidades variadas de luz fazendo um
pixel mais claro ou mais escuro. Existem outros
tipos de tecnologia do tela plana como as telas
de plasma mas os LCDs so os mais comuns. A Figura 24 - Monitor LCD
Samsung
figura 24 mostra um monitor LCD.
Como no CRT, o tamanho do uma tela plana expressa pelo tamanho
diagonal em polegadas, e a resoluo definida pelo nmero de pixis horizontais e verticais da tela.
Os LCDs mais antigos tinham tempos de resposta lentos e baixo contraste, mas as telas LCD de matriz ativa tm um transistor de pelcula fina
transparente (conhecido pela sigla TFT) controlando cada pixel, assim o tempo de resposta, o contraste, e o ngulo de viso melhoram muito.
As telas planas so menos volumosas e consomem muito menos energia que monitores CRT. Ainda so mais caros do que os CRT mas a diferena
de preo est cada vez menor, tornando-se cada vez mais comuns.

6.3. Impressoras Jato de tinta


Para fazer uma cpia definitiva de um trabalho, voc precisa algum tipo da impressora ligada ao seu computador. O tipo o mais comum de impressora do
tipo jato de tinta colorida. Estas impressoras do forma imagem na pgina
pulverizando gotas minsculas da tinta a partir de uma cabea de impresso
na folha de papel. A impressora precisa diversas cores de tintas bsicas (ciano, amarelo, magenta, e preto) de fazer imagens coloridas.
As impressoras jato de tinta so baratas, mas o custo dos materiais de
consumo (cartuchos de tinta e papel especial) podem tornar seu custo relativamente alto.

90

FERNANDEZ, M. P; CORTS, M. I.

6.4. Impressora laser


Uma impressora laser produz imagens de boa qualidade usando a mesma
tecnologia que as fotocopiadoras usam. Um cilindro revestido com o material
fotossensvel carregado, a seguir uma imagem desenhada nela por um
laser (ou por diodo emissor de luz) que faz aquelas reas perderem a carga.
O cilindro rola ento atravs do tonalizador (partculas minsculas de pigmento) que atrado apenas pelas reas carregadas do cilindro. O tonalizador
depositado no papel e fundido atravs de calor.
A maioria de impressoras laser so monocromticas (somente uma cor,
geralmente preto), mas algumas impressoras laser possuem cartuchos de tonalizador de vrias cores podendo produzir impresses coloridas.
As impressoras laser so mais rpidas do que as impressoras jato de
tinta. Sua velocidade avaliada em pginas por o minuto (ppm). As impressoras de laser so mais caras do que as jato de tinta, mas tem um custo operacional mais baixo.

6.5. Impressoras matriciais


As impressoras matriciais usam pequenos pinos eletromagnticos ativados
na cabea de impresso, em uma fita entintada para produzir imagens pelo
impacto. Essas impressoras so lentas e ruidosas e atualmente no so muito
usadas em computadores pessoais, no entanto tem o menor custo operacional e podem imprimir os formulrios carbonados (vrias cpias), coisa que
nem as impressoras jato de tinta nem laser podem fazer.

6.6. Sada de som


Os computadores igualmente produzem uma sada de som, variando dos sinais acsticos simples que alertam o usurio, aos efeitos sonoros de jogos,
msica com qualidade de concerto. Os circuitos para produzir o som geralmente esto localizados na placa me mas podem ser instalados em carto
de expanso. Para ouvir o som necessrio um conjunto de alto-falantes
externos ou de fones de ouvido.

Introduo Computao 91

7. Dispositivos de Entrada e Sada


7.1. Tela sensvel ao toque
Alguns computadores, especialmente os PDA e telefones celulares, tm
telas sensveis ao toque. O usurio
pode fazer escolhas e pressionar
imagens da tecla na tela. Tambm
comum usar um estilete permitindo que se escreva na superfcie de
uma tela sensvel ao toque. Uma tela
sensvel ao toque tem a funo de
uma tela plana e de um teclado, por
Figura 25 - Tela sensvel ao toque (Aramedia)
isso consideramos um dispositivo de
entrada/sada. A Figura 25 mostra
uma tela sensvel ao toque.

7.2. Modem
Modem vem do acrnimo Modulador/Demodulador e consiste em uma interface que serializa os dados e transmite atravs de uma linha telefnica. Um
modem usando tanto para transmitir como para receber, e caso a linha telefnica seja de boa qualidade pode alcanar distncias bastante grandes.
A velocidade mxima 56 Kbps, e cada vez mais tem sido substitudo por
dispositivos de alta velocidade.

7.3. Interface Ethernet


A interface Ethernet utilizada para ligar o computador a outros computadores, sejam eles locais (rede local) ou longa distncia (Internet). O protocolo Ethernet cada
vez mais tem sido usado como interface padro dos computadores PCs. Uma interface Ethernet funciona em 10, 100 MBPS, 1 e 10 GBPS de modo auto adaptvel, isto , uma interface tenta se conectar na velocidade mais alta e caso no
seja possvel vai baixando a velocidade at sincronizar com o outro equipamento e
conseguir se comunicar. O fato principal de popularidade das interfaces Ethernet
a alta velocidade e o baixo custo.

92

FERNANDEZ, M. P; CORTS, M. I.

Sntese do captulo
Este captulo apresentou a arquitetura de um computador genrico e a funo dos diversos componentes que o compe. Foi mostrado a arquitetura da
Unidade Central de Processamento (CPU), seus respectivos componentes
e suas funes. Foram mostrados os diversos tipos de memrias detalhando suas funes conforme suas caractersticas, alm de mostrar suas aplicaes na arquitetura proposta. Finalmente, foram mostrados os diversos
dispositivos de entrada e sada que facilitam a utilizao do computador pelos seres humanos.

Atividades de avaliao
1. Qual o dispositivo de entrada e sada de maior velocidade? Por que ele
pode ter essa velocidade?
2. Para melhorar a velocidade na comunicao entre computador e dispositivos de entrada/sada usa-se um mecanismo chamado DMA (Direct
Memory Access). Pesquise e explique suas caractersticas e funcionamento.
3. Comente as vantagens e desvantagens de se transmitir dados em paralelo
ou serial entre dispositivos de entrada e sada e computador.
@

Introduo Arquitetura de Computadores


http://pt.wikibooks.org/wiki/Introduo__Arquitetura_de_Computadores
Introduo Cincia da Computao
http://pt.wikiversity.org/wiki/Introduo__Cincia_da_Computao
Museu do Computador
http://www.museudocomputador.com.br/
O Computador
http://pt.wikipedia.org/wiki/Computador

Introduo Computao 93

Referncias
FERNANDO DE CASTRO VELLOSO. Informtica: Conceitos Bsicos.
7 Ed. Editora: Campus, 2004.
JOHN L. HENNESSY, DAVID A. PATTERSON. Arquitetura de Computadores: Uma Abordagem Quantitativa. 4 Ed. Editora: Campus, 2008.
WILLIAN STALLINGS. Arquitetura e Organizao de Computadores. 5
Ed. Editora: Pearson, 2002.

Parte
Conjunto de instrues
e endereamento

Introduo Computao 97

Introduo
O termo software faz parte cada vez mais do vocabulrio das pessoas com
os mais diversos interesses, seja no contexto do profissional (software de escritrio), ou de entretenimento (software de jogos). De forma geral, software
o conjunto de produtos que inclui principalmente programas de computador,
geralmente acompanhados de manuais, especificaes e outros documentos.
Por outro lado, o conjunto de instrues que compem o programa a
ser seguido e executado pelo computador, tambm chamado de software,
assim como o comportamento observado a partir da sua execuo.
De forma geral, as instrues que compem os programas so escritas
utilizando uma linguagem de programao de alto nvel de abstrao. Uma
linguagem classificada como sendo de alto nvel indica que possui caractersticas que a torna mais prxima da linguagem natural humana. Em contrapartida, uma linguagem dita de baixo nvel, mais prxima da linguagem compreendida pelo hardware. Como exemplo de linguagens de programao de alto
nvel podemos citar: Pascal, Fortran, C.
As instrues de alto nvel precisam ser traduzidas ou interpretadas,
para posteriormente serem executadas por um processador ou mquina virtual. Para que o processador possa interpretar e executar um programa, seu
conjunto de instrues precisa ser escrito em linguagem de mquina27 ou assembly language. O resultado deste processo o programa em linguagem de
montagem ou linguagem de mquina. Cada arquitetura possui uma linguagem de montagem particular.
Finalmente, o programa em linguagem de montagem convertido para
um programa em cdigo objeto pelo montador (assembler). O montador traduz
diretamente uma instruo da forma textual para a forma de cdigo binrio. Neste
formato final a instruo carregada na memria e interpretada pelo processador.

Linguagem de Mquina:
representao numrica
utilizada diretamente pelo
processador

27.

98

FERNANDEZ, M. P; CORTS, M. I.

Saiba Mais
A linguagem Assembly uma linguagem de baixo nvel para programacao de computadores. Esta linguagem implementa uma representao simblica de cdigos de maquina numricos e considera outras restries para uma arquitetura de CPU particular.
Esta representao usualmente definida pelo fabricante de hardware, e baseada
em abreviaturas das palavras em ingls (mnemnicos), de forma a facilitar o trabalho
dos programadores. A linguagem de maquina especifica a uma determinada arquitetura de computador fsica e virtual, diferentemente das linguagens de alto nvel, as
quais so portveis.

Desde o ponto de vista do software, um computador pode ser estruturado como uma serie (ou nveis) de abstraes, onde a serie superior representa um incremento em relao serie que a precede. Em cada nvel utilizada
uma linguagem com propriedades diferenciadas, onde cada linguagem usa a
sua antecessora (nvel imediatamente inferior), como base. A linguagem ou
nvel que fica mais embaixo mais simples de forma a ser entendido pelo
computador, enquanto que a que fica mais acima a mais sofisticada e complexa, porem, mais prxima do entendimento humano.
O nvel mais baixo o nvel lgico digital, composto por circuitos eletrnicos estudados no captulo 2.

Figura 26 - O conjunto de instrues


dentro do contexto de software.

Introduo Computao 99

Nesta unidade ser abordado o nvel de Arquitetura do Conjunto de


Instrues (ISA). Este conjunto de instrues determina as instrues executadas que podem ser interpretadas por uma maquina especifica. Cada maquina tem uma linguagem consistindo em todas as instrues que a maquina
capaz de executar.

Praticando
1. Que significa que uma linguagem de programao classificada como sendo de baixo ou alto nvel?
2. Quais linguagens de alto nvel voc conhece? De exemplos de instrues de uma
linguagem de alto nvel.
3. Um programa em uma linguagem de alto nvel pode ser traduzido ou interpretado
pelo processador. Pesquise qual a diferencia entre esses dois conceitos.

13

Captulo

Instrues
De forma geral, uma nica instruo em linguagem de alto nvel equivalente a vrias instrues em linguagem de mquina. Por exemplo, observe
a seguinte instruo de linguagem de alto nvel em Pascal: X = X + Y, onde
as variveis X e Y correspondem s posies de memria 312 e 311. Esse
comando alto nvel pode ser implementado atravs do seguinte conjunto de
instrues de mquina:
1. Carregar um registrador com o contedo da posio de memria 312.
2. Adicionar o contedo da posio de memria 311.
3. Armazenar o contedo do registrador na posio 312.
Em linguagem de maquina, as instrues so representadas atravs de
mnemnicos, que vinculam o nome da instruo sua funo. Alguns exemplos comuns so:
ADD Adio
SUB Subtrao
MPY Multiplicao
DIV Diviso
LOAD Carregar dados na memria
STOR Armazenar dados na memria
Tudo o que a maquina pode fazer controlado pelo seu conjunto de
instrues. As instrues permitem movimentar dados, realizar operaes
aritmticas e lgicas, e de comparao, a partir das quais possvel desviar a
execuo do programa segundo os resultados obtidos.
Cada instruo deve conter toda a informao necessria para que a
CPU possa execut-la. Uma instruo de mquina normalmente composta
pelos seguintes elementos:
Cdigo de operao: cdigo binrio que especifica a operao a
ser executada.

102

FERNANDEZ, M. P; CORTS, M. I.

Referencia a operando fonte que constitui o dado de entrada para


a operao. Podem existir mais de um.
Referencia a operando de destino indicando o destino do resultado
eventualmente gerado pela operao.
Endereo da prxima instruo indica onde a CPU deve procurar
a prxima instruo a ser executada, que pode estar localizada na
memria principal ou virtual. Este campo fica implcito no caso em
que a prxima instruo segue imediatamente atual.
Cada instruo dividida em campos de acordo aos elementos que a
compem, e cada campo representado por um conjunto de bits. A seguir
apresentado um formato de instruo simples.

Os passos envolvidos na execuo de uma instruo so os seguintes:


1. Calculo do endereo da instruo
2. Busca da instruo
3. Alterar o contador do programa para indicar a prxima instruo.
4. Decodificao da operao da instruo
5. Calculo do endereo de operando
6. Busca de operando
7. Operao sobre os operandos
8. Armazenamento de resultado
9. Calculo de endereo de operando
Os passos 4 e 5 podem se repetir no caso de mltiplos operandos. Da
mesma forma os passos 7 e 8 para mltiplos resultados. A seqncia de passos recomea na busca de uma nova instruo, uma vez que a anterior for
completada.
Essa seqncia de etapas, denominada de ciclo buscar-decodificar-executar, de fundamental importncia para a operao de todos os computadores.
Para realizar este ciclo, a Unidade Lgica e Aritmtica auxiliada por
registradores (normalmente de 1 a 32), onde os dados so armazenados. Os
registradores alimentam os registradores de entrada da ALU, os quais vo
ser utilizados para executar a operao. Efetuada a operao o resultado

Introduo Computao 103

temporariamente armazenado no registrador de sada da ALU, para depois


ser armazenado em um registrador. Este processo chamado de ciclo do
caminho de dados. Outros registradores importantes que contribuem neste
ciclo so o Contador de Programa (PC), que indica a prxima instruo a ser
executada. Uma vez recuperada, a instruo sendo atualmente executada
armazenada no Registrador de Instruo.

Figura 27 - Arquitetura bsica de um computador.

Em algumas mquinas, todas as instrues tem o mesmo comprimento; em outras podem existir comprimentos diferentes. No primeiro caso, a decodificao fica mais fcil, mas pode acarretar desperdio de espao.

Atividades de avaliao
1. Quais seriam as vantagens de um computador estruturado em nveis possuir mais ou menos nveis?
2. Explique os diferentes papeis dos registradores no contexto do ciclo de
execuo de uma instruo.
3. Considere o conjunto de passos seguidos para a execuo de uma instruo. Qual a finalidade do passo 3? O que aconteceria se este passo
fosse omitido?
4. Considere as seguintes tarefas: (1) somar 100 nmeros armazenados na
memria principal e (2) somar um nmero a ele mesmo 100 vezes. Apesar
de ambos os programas precisarem de 100 adies, o segundo poder
ser executado muito mais rapidamente do que o primeiro? Por que?

Captulo

141

Instruction Set
Architecture - ISA
Esse nvel est posicionado entre o nvel da microarquitetura28 e o sistema
operacional e faz s vezes de interface entre o software (compiladores) e o
hardware, facilitando a portabilidade de programas escritos em diversas linguagens entre diferentes computadores.
A estratgia utilizada pelos projetistas para reduzir esse gap semntico
criar uma representao intermediaria o nvel ISA e construir hardware que
possa executar programas de nvel ISA diretamente. Desta forma. A ISA projetada de forma a tornar compatveis as necessidades de ambas as camadas.
Alem disso, desde o ponto de vista do cliente, de suma importncia
que a ISA seja compatvel entre os diversos modelos de computadores, de
forma a suportar a portabilidade dos programas antigos para uma nova arquitetura, sem que sejam necessrias alteraes. Desta forma surge o conceito
de arquitetura para uma famlia de computadores, os quais compartilham um
conjunto de propriedades e caractersticas em comum.
O conjunto de instrues do processador uma questo central para a
definio e implementao da sua arquitetura (por exemplo: operaes realizadas pela unidade lgica e aritmtica, numero e funo dos registradores, etc.).
O conjunto de instrues caracterizado pelos tipos de instrues e
operandos, numero e localizao dos operandos em instrues aritmticas e
lgicas, modos de endereamento para acesso aos dados na memria, e o
formato dos cdigos de instruo.
Consequentemente existe uma dependncia direta entre o projeto do
conjunto de instrues e o projeto da arquitetura do computador, e vice versa.
Analogamente, os tipos de operando que podem ser diretamente manipulados
por uma arquitetura dependem, claro, dos tipos de instrues oferecidas.
As instrues oferecidas por uma arquitetura podem ser classificadas
em trs categorias diferentes, de acordo com o tipo de operao que realizam.
Uma arquitetura de uso geral fornece pelo menos trs categorias de instrues bsicas a seguir:

Nvel da
Microarquiteturta: composto
normalmente de 8 a 32
registradores que compem
uma memoria local, e um
circuito capaz de executar
operaes aritmeticas
simples (ALU).

28.

106

FERNANDEZ, M. P; CORTS, M. I.

Instrues aritmticas e lgicas: so as instrues que realizam operaes aritmticas sobre nmeros inteiros (adio, subtrao) e operaes
lgicas bit-a-bit (AND, OR);
Instrues de movimentao de dados: so instrues que transferem
dados entre os registradores ou entre os registradores e a memria principal; E/S.
Instrues de transferncia de controle: so instrues de desvio e
de chamada de rotina, que transferem o controle da execuo para uma
instruo especifica dentro do cdigo do programa.
Instrues de armazenamento de dados: so instrues de memria.
Arquiteturas destinadas para uma aplicao especfica ou domnio especifico podem oferecer outros tipos de instrues, especializadas para aquela aplicao. A Unidade 2 apresenta os principais tipos de dados normalmente
representados em uma arquitetura de uso geral.

1. Numero de operandos e localizao


Uma instruo, seja aritmtica ou lgica, composta por um identificador de
operao e um conjunto de operandos referenciados. Por exemplo, operaes aritmticas e lgicas so unrias ou binrias. Considerando que o resultado da operao precisa ser armazenado, se faz necessrio um terceiro
operando. De forma geral, o endereo da prxima instruo implcito (contido no contador do programa).
Exemplo: computar o comando Y = (A B) (C + D x E), utilizando instrues tpicas de um, dois, e trs endereos.
Instrues com trs endereos
Instruo

Comentrio

SUB

Y, A, B

YA-B

MPY

T, D, E

TDxE

ADD

T, T, C

TT+C

DIV

Y, Y, T

YYT

Introduo Computao 107

Instrues com dois endereos


Instruo
MOVE

Comentrio
Y, A

YA

SUB

Y, B

YT-B

MOVE

T, D

TD

MPY

T, E

TTxE

ADD

T, C

TTxC

DIV

Y, T

YYT

Instrues com um endereos


Instruo

Comentrio

LOAD

AC D

MPY

AC AC x E

ADD

AC AC + C

STOR

Y AC

LOAD

AC A

SUB

AC AC -B

DIV

AC AC Y

STOR

Y AC

As instrues com trs operandos no so muito comuns por conta do


tamanho relativamente grande das instrues. No caso de instrues com dois
operandos e operaes binrias, um dos endereos referencia um operando e o
resultado, ou seja, que o resultado armazenado no lugar do prprio operando.
Um cuidado especial tem que ser tomado para no alterar o valor de algum operando utilizando a instruo MOVE.
Embora o tamanho das instrues reduzido, o numero de instrues requeridas aumenta de 4 para 6. Finalmente, no caso de instrues com um operando o segundo operando fica implcito, utilizando-se um registrador da CPU
(acumulador AC) para auxiliar na resoluo da operao. Neste caso so necessrias oito instrues para realizar a operao.
O nmero de endereos por instruo resulta em uma CPU menos complexa, uma vez que as instrues tm uma extenso menor e so mais primitivas. Em contrapartida, a quantidade de instrues por programa maior o que
geralmente resulta em programas mais complexos e maior tempo de execuo.
O nmero de endereos tambm implica na utilizao de mltiplos registradores, tornando a execuo de operaes mais rpidas. Desta forma,
a definio do numero de endereos por instruo constitui uma deciso de
projeto importante.

108

FERNANDEZ, M. P; CORTS, M. I.

Praticando
1. Analise o exemplo apresentado e descreva em portugus a seqncia de instrues
de maquina utilizadas em cada caso.
2. Computar o seguinte comando utilizando instrues de um, dois e trs operandos:
Z = (C x B) (A x E - D)

A partir do nmero de operandos explicitamente referenciados e da localizao destes operandos, possvel classificar as arquiteturas nos seguintes tipos:
Arquiteturas memria-memria: as instrues aritmticas/lgicas usam
trs operandos e todos os operandos podem estar na memria;
Arquiteturas registrador-memria: as instrues aritmticas/lgicas usam
dois operandos, sendo que apenas um deles pode residir na memria;

Registradores: Os
registradores so
memrias utilizadas para
realizar as operaes na
CPU. Essas memrias
so muito rpidas e
de tamanho pequeno,
geralmente suficiente para
guardar menos de uma
dezena de valores.

29.

Arquiteturas registrador-registrador: as instrues aritmticas/lgicas


usam trs operandos, todos em registradores29. Neste caso, apenas duas
instrues acessam diretamente a memria: LOAD e STORE. A instruo
LOAD carrega em um registrador um dado armazenado na memria e
instruo STORE armazena na memria o contedo de um registrador.
As arquiteturas tambm podem ser classificadas em relao localizao dos operandos:
Arquiteturas memria-memria: as instrues aritmticas/lgicas usam
trs operandos e todos os operandos podem estar na memria;
Arquiteturas registrador-memria: as instrues aritmticas/lgicas usam
dois operandos, sendo que apenas um deles pode residir na memria;
Arquiteturas registrador-registrador: as instrues aritmticas/lgicas
usam trs operandos, todos em registradores. Neste caso, apenas duas
instrues acessam diretamente a memria: LOAD e STORE. A instruo
LOAD carrega em um registrador um dado armazenado na memria e
instruo STORE armazena na memria o contedo de um registrador.

Introduo Computao 109

Atividades de avaliao
1. As linguagens de mquina so especficas de uma dada mquina. Que
significa que cada tipo de computador tem sua prpria linguagem de mquina? Explique por que isto acontece.

Captulo

15

Modos de endereamento
Grande parte das instrues tem operandos, os quais devem ser localizados
para realizar a operao. Os operandos podem encontrar-se em registradores, na memria principal ou embutidos implicitamente na prpria instruo.
O modo de endereamento determina a forma em que uma instruo especifica a localizao dos seus operandos. Existem trs modos de endereamento bsicos:
Modo registrador: a instruo indica explicitamente o registrador de dados
onde se encontra o operando (fonte ou destino);
Modo imediato: o operando se encontra dentro do prprio cdigo da instruo;
Modo implcito: a localizao do operando no indicada explicitamente
na instruo. Por exemplo, nas chamadas arquiteturas acumulador, um dos
operandos-fonte e o operando-destino nas instrues aritmticas/lgicas encontra-se sempre em um registrador especial, o acumulador.
Existem diferentes arquiteturas que podem ser utilizadas para o endereamento de dados armazenados na memria principal. Um modo de endereamento referente memria indica como deve ser obtido o endereo
da locao de memria onde se encontra o dado que ser acessado. Este
endereo chamado endereo efetivo.
Apesar da variedade mencionada, possvel identificar alguns modos
de endereamento referentes memria que so oferecidos pela maioria das
arquiteturas. Por outro lado, quase todas as arquiteturas fornecem mais de um
modo de endereamento. Todos estes modos envolvem decises em relao
a quantidade de posies de memria endereveis e/ou flexibilidade de endereamento e/ou complexidade do calculo. Estes modos de endereamento
mais comuns esto relacionados na tabela a seguir.

112

FERNANDEZ, M. P; CORTS, M. I.

A forma mais simples de endereamento o endereamento imediato


onde o valor do operando especificado diretamente na instruo, sem necessidade de acesso memria.
OPERANDO = A
Este modo geralmente utilizado na definio e uso de constantes e
inicializao de variveis. Este modo tem como desvantagem que o tamanho
do operando fica limitado pelo tamanho do campo endereo na instruo.
No modo endereamento direto, o endereo efetivo um valor imediato contido no campo endereo da instruo. Por exemplo, na instruo
ADD (100), R1

um dos operandos encontra-se na locao de memria com endereo


100. O significado da instruo acima equivalente a:
R1 M [100] + R1

Este modo de endereamento usado principalmente no acesso s


variveis estticas de um programa, cujo endereo em memria pode ser
determinado durante a compilao do programa em um nico acesso a memria. Por outro lado a faixa de endereos limitada por conta do tamanho
do campo.
No modo indireto via registrador, o endereo efetivo encontra-se em
um registrador. Por exemplo, na instruo:
ADD (R1), R2

Um dos operandos encontra-se na locao de memria cujo endereo


se encontra no registrador R1. Ou seja, existe uma indireo para chegar ao endereo efetivo do operando na memria, atravs de um registrador que contm
essa informao. A instruo acima equivalente seguinte expresso:
R2 M [R1] + R2

Este modo de endereamento usado no acesso a variveis dinmicas,


cujo endereo na memria conhecido apenas durante a execuo do programa. O acesso a uma varivel dinmica realizado atravs de um ponteiro, que
nada mais do que o endereo da varivel. Para realizar o acesso varivel
dinmica, o ponteiro carregado em um registrador, e a instruo que acessa a
varivel usa este registrador com o modo de endereamento indireto.
No modo relativo base, o endereo efetivo obtido a partir da soma
do contedo de um registrador, chamado endereo-base, com um valor imediato contido na instruo, chamado deslocamento. Este modo de enderea-

Introduo Computao 113

mento bastante poderoso e combina as capacidades do endereamento


direto e do indireto via registrador. Por exemplo, na instruo:
ADD 100(R1), R2

O registrador R1 contm o endereo-base e 100 o deslocamento. O


endereo efetivo do operando na memria calculado a partir da soma do
contedo de R1 com o valor 100.
No caso da instruo acima, ela pode ser expressa como:
R2 M [100 + R1] + R2

O modo relativo base usado no acesso a componentes de variveis


dinmicas estruturadas (por exemplo, record em Pascal ou struct em C). A
figura 28 a seguir mostra como realizado o calculo do endereo efetivo no
modo de endereamento relativo base.

Figura 28 - Modelo de realizao do clculo do endereo

A figura mostra a localizao na memria de uma estrutura com quatro


campos A, B, C e D. O endereo inicial da estrutura indicado por um ponteiro, que torna-se conhecido apenas durante a execuo do programa. No
entanto, a posio de cada campo em relao ao incio da estrutura fixo,
sendo conhecido durante a compilao. O endereo de um campo obtido
somando-se a posio do campo (o deslocamento) ao ponteiro que indica o
incio da estrutura (o endereo-base). Por exemplo, na figura, para somar um
valor ao campo C, o compilador pode usar a instruo:
ADD 2(R1), R2
Precedida de uma instruo para carregar em R1 o endereo-base da
estrutura.
No modo indexado, o endereo efetivo calculado somando dois registradores mais um deslocamento (opcional). Um registrador a base e o
outro o ndice. Por exemplo, na instruo:
ADD (R1 + R2), R3

114

FERNANDEZ, M. P; CORTS, M. I.

R1 contm o endereo-base, e R2 o ndice. A interpretao para este


modo de endereamento o seguinte:
R3 M [R1 + R2] + R3
O modo indexado normalmente usado eficientemente para implementar operaes iterativas, como por exemplo, no acesso aos elementos de um
vetor. A figura embaixo mostra como calculado o endereo efetivo no modo
de endereamento indexado.

Figura 29 - Modelo de realizao de clculo do endereo efetivo

Na figura representada a localizao de um vetor V na memria. Um


ponteiro indica o endereo-base do vetor indicando a posio do primeiro elemento. Considerando que o vetor uma estrutura homognea, cada elemento do vetor possui o mesmo tamanho e estrutura. Desta forma possvel calcular a posio na memria do prximo elemento do vetor somando o ndice
do elemento ao endereo-base.
Para realizar o acesso seqencialmente os elementos do vetor, o ndice
inicialmente carregado no registrador com o valor 0. O ndice ento incrementado dentro de um lao aps o acesso a cada elemento. Por exemplo,
para somar um valor em registrador aos elementos do vetor, o compilador
pode usar as seguintes instrues em um lao:
ADD R1, (R2 + R3)
ADD 1, R3
Onde R1 contm o valor a ser somado, R2 contm o ponteiro para o
vetor e R3 o registrador com o ndice, com valor inicial 0.

Introduo Computao 115

Atividades de avaliao
1. Quais so os modos de endereamento mais comuns? Apresente um
exemplo de uso para cada caso (diferente do apresentado no texto).
2. Por que dito que o modo de endereamento relativo base combina
as capacidades do endereamento direto e do indireto via registrador?
Explique.
3. O processo de decodificao da instruo critico. Como voc justificaria
esta afirmao?

Captulo

161

CISC versus RISC

Os primeiros computadores eram baseados em conjuntos de instrues simples e pequenos. No entanto, a procura por maior desempenho fez com que
as instrues se tornassem mais complexas e poderosas.
Com o objetivo de diminuir a grande lacuna semntica entre as necessidades das pessoas expressas em linguagens de alto nvel e o que o computador pode fazer, os projetistas de computadores investiram na definio de
instrues complexas.
Na medida em que as instrues de mquina ficaram mais prximas
das instrues de linguagens de alto nvel, aparentemente a tarefa dos compiladores ficou simplificada. No entanto, a utilizao de um conjunto de instrues mais rico requer de uma unidade de controle mais complexa capaz de
interpretar30 e executar as instrues, aumentando consequentemente o tempo de execuo de cada instruo individual. Por outro lado, outras atividades
do compilador tais como otimizao do cdigo gerado pode ser dificultada.
Um exemplo de arquitetura CISC Pentium da Intel.
Desta forma, considerando que os benefcios na utilizao de conjuntos
de instrues complexos no se apresentaram muito claros, novos estudos
sobre o comportamento da execuo de programas em linguagens de alto
nvel orientaram o projeto de um novo tipo de arquitetura: o computador com
um conjunto reduzido de instrues (RISC).
Arquiteturas RISC compartilham as seguintes caractersticas:
Conjunto limitado de instrues simples com formato fixo, facilitando a
decodificao e acesso aos operandos.
Uma instruo por ciclo pode ser implementada diretamente pelo hardware, reduzindo o tempo de execuo (no precisavam de interpretao).
Grande nmero de registradores ou o uso de um compilador que otimize
o uso dos mesmos.
Operaes de registrador para registrador.

Interpretar: no processo
de interpretacao, cada
instrucao examinada
e decodificada
individualmente, para ser
imediatamente executada.
Diferentemente do que
na traducao, nenhum
programa traduzido
gerado.

30.

118

FERNANDEZ, M. P; CORTS, M. I.

Mtodo de endereamento simples de registrador.


Enfoque na otimizao do uso da pipeline de instrues.
Exemplos de computadores com arquitetura RISC so: Sun e
UltraSparc.
Esses novos processadores tinham diferenas significativas em relao aos processadores existentes. Esta incompatibilidade se tornou favorvel
para o desenvolvimento de um novo conjunto de instrues de forma a otimizar o desempenho do sistema. Os processadores denominados RISC possuam um conjunto de instrues em torno de 50, enquanto que nos computadores CISC existentes na poca, o conjunto de instrues era entre 200 e 300.
A estratgia por trs do funcionamento de processadores RISC que
embora fosse necessrio de 4 a 5 instrues simples para fazer o equivalente
a uma instruo CISC (Complex Instruction Set Computer), se as instrues
RISC fossem o suficientemente rpidas o desempenho global do sistema seria maior, uma vez que estas instrues no eram interpretadas.
Houve dois principais motivos que impediram a predominncia das mquinas RISC, mesmo com um desempenho maior:
1. O grande investimento das organizaes em tecnologia Intel, incompatvel com os novos processadores.
2. A Intel desenvolveu uma arquitetura hibrida combinando o melhor das
duas abordagens: o ncleo de instrues mais comuns funcionam de
modo RISC, enquanto as instrues mais complicadas e menos freqentes, no modo CISC. Isto foi implementado a partir da 486.
A soluo da Intel tornou os computadores competitivos a nvel de desempenho global, e ainda manteve a compatibilidade com softwares antigos.

1. Princpios de projeto para computadores modernos


Dado o estado atual da tecnologia de hardware, alguns princpios de projeto
para computadores (CPUs de uso geral), passaram a ser aceitos. Muitos desses princpios tm sua origem no projeto de arquitetura RISC:
Todas as instrues so executadas diretamente pelo hardware eliminando desta forma um nvel de interpretao. Este princpio propicia maior velocidade na execuo das instrues.
De forma a minimizar o problema do gargalo no acesso memria e aumentar a velocidade de execuo das instrues, a tcnica
de busca antecipada ou prefetch consiste na busca antecipada de
instrues da memria, antes mesmo de ser utilizada, de modo a encontra l no processador quando chegar o momento de execut-las.

Introduo Computao 119

Tais instrues eram armazenadas em um conjunto de registradores


chamados de buffer de pr-busca. Deste modo o processo de busca
pode ser sobreposto execuo normal.
Maximizao da taxa de execuo das instrues. O paralelismo31
na execuo das instrues pode representar uma grande melhoria
no desempenho.
Instrues fceis de decodificar. Formatos regulares, de comprimento fixo e com poucos campos facilita a decodificao, aumentando a
taxa de emisso de instrues.
Referencia a memria somente atravs de LOAD e STORE. Uma
vez que o acesso a memria tem um alto custo em tempo, deve ser
priorizado o uso de registradores para o armazenamento de operandos durante a execuo das instrues.
Utilizao de vrios registradores (no mnimo 32) de forma a evitar ao
mximo o processo de descarregamento de memria.

Sntese do captulo
Neste captulo foi apresentado o conceito central de instruo, suas caractersticas, componentes, tipos e modos de endereamento. Foi apresentada a
noo de maquina multinvel, e a forma de funcionamento.
Com base no conceito de instruo e linguagem de mquina, foi discutida a importncia da ISA -Arquitetura do Conjunto de Instrues, no contexto
do projeto da arquitetura do computador, sua influencia e restries. Foram
analisadas as propriedades das duas principais arquiteturas: RISC e CISC,
fazendo uma anlise de vantagens e desvantagens de cada uma delas, as
quais serviram de base para a elicitao dos princpios do projeto dos computadores modernos.

Atividades de avaliao
1. Especifique as caractersticas das arquiteturas RISC e CISC fazendo um
comparativo de vantagens e desvantagens de cada uma delas.
2. Qual a causa principal do alto desempenho da arquitetura RISC?

Paralelismo: o
paralelismo tem duas
formas gerais: paralelismo
no nvel de instruo e
paralelismo no nvel do
processador. No primeiro
caso, uma nica CPU
capaz de executar
um maior numero de
instrues por segundo.
No segundo caso, varias
CPUs trabalham juntas no
mesmo problema.

31.

120

FERNANDEZ, M. P; CORTS, M. I.

3. Por que, mesmo atingindo um desempenho melhor, a arquitetura RISC no


atingiu as expectativas do mercado?
4. Para que serve o buffer de pr-busca?
5. Qual a maior vantagem de usar paralelismo?
6. De forma a ilustrar as abordagens de paralelismo, pesquise os conceitos
de Pipelining (paralelismo no nvel de instruo) e Computadores Matriciais
(paralelismo no nvel de processador).

Intel Corporation. http://www.intel.com/


Processadores Intel http://www.intel.com/portugues/products/processor/
index.htm
Sparc International http://www.sparc.org/
Sun Microsystems Brasil http://br.sun.com/

Referncias
TANENBAUM, ANDREW S. Organizao Estruturada de Computadores. 5 ta. Edio. Editora Pearson. 2007.
STALLINGS WILLIAM. Estrutura e Organizao de Computadores. 5 ta.
Edio. Editora Pearson. 2004.
BROOKSHEAR GLENN J. Cincia da Computao Uma viso abrangente. 5 ta. Edio. Editora Bookman. 2000.

Introduo Computao 121

Sobre os autores
Marcial Porto Fernandez: possui graduao em Engenharia Eletrnica e
Computao pela Universidade Federal do Rio de Janeiro (1988), mestrado
em Engenharia Eltrica pela Universidade Federal do Rio de Janeiro (1998)
e doutorado em Engenharia Eltrica pela Universidade Federal do Rio de
Janeiro (2002). Atualmente professor adjunto da Universidade Estadual
do Cear e assessor tcnico da Empresa de Tecnologia da Informao do
Cear. Tem experincia na rea de Cincia da Computao, com nfase em
Teleinformtica, atuando principalmente nos seguintes temas: gerenciamento
de redes, redes ticas, redes mveis e sem fio e arquitetura de computadores.
Mariela Ins Corts: atualmente Professora Adjunta de da Universidade
Estadual do Cear (UECE). Possui doutorado em Informtica pela Pontifcia
Universidade Catlica do Rio de Janeiro (PUC-Rio, 2003), mestrado em
Sistemas e Computao pelo Instituto Militar de Engenharia (IME, 1998) e
graduao pela Universidad Nacional de La Plata, Argentina - Analista de
Computacin (1996). Tem experincia na rea de Cincia da Computao,
com nfase em Evoluo de software e gerncia de projetos de software,
atuando principalmente nos seguintes temas: evoluo de framework, refactorings, agent societies e multi-agent systems, gerencia de projetos de desenvolvimento de software.

Computao
Introduo Computao

Marcial Porto Fernandez


Mariela Ins Corts

Universidade Estadual do Cear - Universidade Aberta do Brasil

iel a sua misso de interiorizar o ensino superior no estado Cear, a UECE,


como uma instituio que participa do Sistema Universidade Aberta do
Brasil, vem ampliando a oferta de cursos de graduao e ps-graduao
na modalidade de educao a distncia, e gerando experincias e possibilidades inovadoras com uso das novas plataformas tecnolgicas decorrentes da popularizao da internet, funcionamento do cinturo digital e
massificao dos computadores pessoais.
Comprometida com a formao de professores em todos os nveis e
a qualificao dos servidores pblicos para bem servir ao Estado,
os cursos da UAB/UECE atendem aos padres de qualidade
estabelecidos pelos normativos legais do Governo Federal e se articulam com as demandas de desenvolvimento das regies do Cear.

Introduo a Computao

Computao

Qumica

Cincias
Biologicas

Artes
Plsticas

Computao

Fsica

Matemtica

Pedagogia

Вам также может понравиться