Sei sulla pagina 1di 76

Organizao de

Computadores

Professor conteudista: Renato Lellis

Sumrio
Organizao de Computadores
Unidade I

1 INTRODUO .......................................................................................................................................................1
1.1 O que um computador? ....................................................................................................................1
1.2 Mquinas multinveis ............................................................................................................................2
2 HISTRIA DA ARQUITETURA DE COMPUTADORES ...............................................................................6
2.1 Gerao zero computadores mecnicos (1642 1945) ......................................................6
2.2 Primeira gerao vlvulas (1945 1955) ............................................................................... 10
2.3 Segunda gerao transistores (1955 1965) ....................................................................... 13
2.4 Terceira gerao circuitos integrados (1965 1980) ........................................................ 15
2.5 Quarta gerao integrao em larga escala (1980 2000)............................................ 16
2.6 Quinta gerao computao ubqua (2000 em diante) ................................................... 20
Unidade II

3 AFINAL DE CONTAS, QUEM INVENTOU O COMPUTADOR? ............................................................. 23


4 OS RUMOS DA EVOLUO DO COMPUTADOR ................................................................................... 23
5 A ORGANIZAO DO COMPUTADOR ...................................................................................................... 26
5.1 Processadores......................................................................................................................................... 26
5.1.1 Princpios de projeto para computadores modernos ............................................................... 29
5.1.2 Paralelismo ................................................................................................................................................ 31

5.2 Memria primria ................................................................................................................................ 36


5.2.1 Bits, bytes e terabytes ........................................................................................................................... 36
5.2.2 Endereos de memria ......................................................................................................................... 37
5.2.3 Memria cache ........................................................................................................................................ 38

5.3 Memria secundria ........................................................................................................................... 39


5.3.1 Hierarquias de memria ....................................................................................................................... 40
5.3.2 Discos magnticos .................................................................................................................................. 41
5.3.3 Demais dispositivos................................................................................................................................ 43
5.3.4 Conjuntos de caracteres ...................................................................................................................... 43
Unidade III

6 CIRCUITOS DIGITAIS ....................................................................................................................................... 47


6.1 Sistemas de numerao ..................................................................................................................... 47
6.2 Sistema de nmeros-base ................................................................................................................ 48
6.3 Por que binrio? .................................................................................................................................... 52
6.4 Converso entre bases........................................................................................................................ 52
6.5 Soma e subtrao em bases no decimais ................................................................................ 55

Unidade IV

7 LGEBRA BOOLEANA E PORTAS LGICAS ............................................................................................ 58


7.1 Funo E ................................................................................................................................................... 59
7.2 Funo OU ............................................................................................................................................... 60
7.3 Funo NO ............................................................................................................................................ 60
7.4 Funes derivadas ................................................................................................................................ 61
7.4.1 NAND ........................................................................................................................................................... 61
7.4.2 NOR .............................................................................................................................................................. 62
7.4.3 XOR ............................................................................................................................................................... 63

7.5 Precedncia de funes ..................................................................................................................... 64


7.6 Equivalncia entre expresses e circuitos .................................................................................. 64
7.7 Exemplos de circuitos bsicos ......................................................................................................... 65
7.7.1 Comparador .............................................................................................................................................. 65
7.7.2 Semissomador .......................................................................................................................................... 66
7.7.3 Somador completo................................................................................................................................. 67
7.7.4 Relgios ...................................................................................................................................................... 69

ORGANIZAO DE COMPUTADORES

Unidade I
1 INTRODUO
1.1 O que um computador?

Para estudarmos como um computador funciona, e como os


seus vrios componentes so organizados para possibilitar esse
funcionamento, deveramos primeiramente denir o que um
computador, o que no uma tarefa simples.
5

Segundo o Dicionrio Houaiss1, a denio de computador :

computador
Datao 1789 cf. MS1
Acepes
substantivo masculino
1 O que computa; calculador, calculista;

10

2 Rubrica: informtica.
Mquina destinada ao processamento de dados;
dispositivo capaz de obedecer a instrues que visam
produzir certas transformaes nos dados, com o
objetivo de alcanar um m determinado.

15

claro que quem utiliza um computador, seja ele um


computador domstico, parte de um grande ambiente corporativo
ou mesmo um telefone celular, sabe que tal denio nem de
Disponvel em <http://houaiss.uol.com.br/>. Consultado em
30/11/2008.
1

Unidade I
longe corresponde capacidade que um desses dispositivos
possui.
O computador (de todos os portes imaginveis) hoje
desempenha as funes mais diversas e se tornou parte do
5 cotidiano de boa parte da populao (mesmo que ela no saiba
disso).
O problema que, em seu interior, o computador uma
mquina que consegue fazer muito poucas coisas. Somar e
comparar nmeros, mover valores de uma rea de memria
10 para outra e no muito mais que isso o que o computador
realmente consegue fazer, no importa o quo miraculoso ele
nos parea quando olhamos do lado de fora.
Chega a ser paradoxal que um equipamento limitado como
esse consiga ser capaz de ser usado em tantas aplicaes. Mas
15 no existe mgica aqui, apenas um longo e constante processo
evolucionrio que comeou no sculo XVII e ainda est longe
de acabar.
Explicar parte dos processos que tornam isso possvel
objetivo desta apostila.
1.2 Mquinas multinveis

20

Um computador uma mquina que pode realizar um


determinado conjunto de funes. As pessoas que utilizam
os computadores desejam fazer certas atividades que no
correspondem diretamente a esse conjunto de funes.

Para que seja possvel que os usurios consigam executar as


25 funes de que necessitam, necessrio que haja um processo
de traduo.
Os primeiros computadores que foram construdos s
podiam ser utilizados pelos engenheiros que os construram.

ORGANIZAO DE COMPUTADORES
Era necessrio saber exatamente como os circuitos eletrnicos
(ou eletromecnicos) se interligavam para que se conseguisse
realizar as atividades mais simples.
medida que surgiu a necessidade de expandir a utilizao
5 dos computadores, foi necessrio criar mecanismos que
possibilitassem aos usurios realizar atividades sem que fosse
necessrio um conhecimento profundo da arquitetura desses
mecanismos.
Imaginemos que o computador possa realizar uma
10 quantidade limitada de instrues ou comandos. Chamemos
esse conjunto de linguagem de mquina.
Traduo

Linguagem de Alto Nvel


Linguagem de Mquina

Figura 1 Traduo entre os nveis de um computador

A linguagem que os usurios utilizam no pode se limitar


linguagem de mquina, ela precisa se aproximar da linguagem
humana para atender problemas do mundo real. Chamemos
15 esta segunda linguagem de linguagem de alto nvel. Para que
possa haver uma correspondncia entre as duas linguagens,
necessrio que o segundo conjunto seja traduzido para o
conjunto inicial.
Esse processo ocorre diversas vezes dentro de um
20 computador. A histria da evoluo dos computadores um
processo de adio de nveis de traduo. Se os primeiros
computadores s podiam ser utilizados pelos engenheiros que
os construram, os computadores atuais podem ser utilizados
por pessoas com um conhecimento tcnico mnimo, se tanto.
25 Isso s possvel porque as necessidades desses usurios so
submetidas a vrios nveis de traduo at chegar a uma

Unidade I
instruo que o computador consiga efetivamente executar
por meio de impulsos eltricos.
Esse processo de evoluo nos levou ao computador
contemporneo, que possui diversos nveis, por isso o
5 denominamos mquina multinveis. A interao entre cada
um dos nveis corresponde a um tipo de traduo.
O nvel 0, chamado lgico digital, corresponde aos circuitos
eletrnicos que efetivamente realizam o processamento
de informaes na forma de impulsos eltricos dentro do
10 processador.
O nvel 1 corresponde microarquitetura do processador,
que so elementos internos do processador: registradores (que
so a memria de alta velocidade interna do processador)
e a ULA unidade lgica aritmtica (que o elemento do
15 processador que realiza operaes aritmticas simples). Esses
registradores so conectados ULA para formar um caminho
de dados, atravs do qual os dados transitam para dentro e
para fora do processador. Uma operao normal do caminho
de dados consiste em selecionar o contedo de um ou dois
20 registradores, submet-lo ULA e movimentar o resultado
para outro registrador.
O nvel 2 corresponde ao conjunto de instrues suportado
pelo processador. O conjunto de instrues corresponde aos
comandos que o processador pode receber de fontes externas e
25 determinado pelo projeto do processador, e normalmente no
pode ser alterado. O conjunto de instrues tambm comum
entre os processadores de uma mesma famlia, permitindo assim
a interoperabilidade de programas e sistemas operacionais
dentro dessa famlia.
30

O nvel 3 corresponde ao sistema operacional. O SO fornece


uma plataforma que possibilita que os programas no tenham que
interagir diretamente com o hardware. Alis, isto mandatrio

ORGANIZAO DE COMPUTADORES
em se tratando de sistemas multitarefa. No possvel existir um
sistema multitarefa sem que exista um elemento arbitrando o
acesso ao hardware essa funo do sistema operacional. Em
sistemas computacionais modernos, todo acesso ao hardware
5 feito por meio do sistema operacional.
O nvel 4 corresponde linguagem de montagem. A linguagem
de montagem, ou assembly, uma linguagem dependente da
plataforma, ou seja, processadores diferentes ou de famlias
diferentes possuem linguagens de montagem diferentes
10 incompatveis entre si. Um programa escrito em linguagem de
montagem s pode ser usado em uma determinada plataforma
ou famlia de processadores.
O nvel 5 corresponde linguagem orientada a problemas,
ou linguagem de alto nvel. Esse tipo de linguagem independe
15 da plataforma em que for usada; ela deve ser traduzida
(compilada) para um formato que o sistema operacional
consiga interpretar e enviar para os nveis mais baixos da
mquina multinveis.
Traduo
(compilao)

Linguagem orientada a problemas

Traduo
(montagem)

Linguagem de montagem

Interpretao

Sistema Operacional

Interpretao

Hardware

Conjunto de instrues

Microarquiterura

Nvel lgico digital


Figura 2 Traduo entre os nveis de um computador contemporneo

Unidade I
2 HISTRIA DA ARQUITETURA DE
COMPUTADORES2

Para entender como um computador funciona, precisamos


compreender como se deu sua evoluo, pois um dispositivo
sempre incorpora ao menos parte da tecnologia dos seus
predecessores. Os computadores que usamos hoje incorporam
5 em seu design decises que foram tomadas dcadas atrs.
2.1 Gerao zero computadores mecnicos
(1642 1945)

As tentativas de criar mecanismos para processar dados


remontam ao sculo XVII. Foi naquela poca que os primeiros
mecanismos capazes de realizar clculos de forma automatizada
surgiram.
10

Os equipamentos da poca eram totalmente mecnicos, j que


os dispositivos eletromecnicos surgiriam apenas no sculo XX.

O primeiro dispositivo desse tipo foi construdo por Blaise


Pascal (1623 1662) em 1642 para auxiliar seu pai, que era
coletor de impostos. Pascal tinha apenas 19 anos. Esse dispositivo
15 cou conhecido como Pascalina.

Figura 3 Uma das Pascalinas construdas por Blaise Pascal

Essa primeira mquina criada por Pascal podia executar


apenas somas e subtraes. Trinta anos depois, Gottfried Wilhelm
Todas as fotograas utilizadas foram tiradas de <http://commons.
wikimedia.org/wiki/templates:GFDL/pt>.
2

ORGANIZAO DE COMPUTADORES
von Leibniz criou um dispositivo que podia executar as quatro
operaes bsicas.

Figura 4 Staffelwalze, uma das calculadoras mecnicas projetadas por Leibniz

Esses dispositivos foram as primeiras tentativas de


automatizar processos manuais, neste caso, clculos. Mas eles
5 se limitavam a isso.
A evoluo desses equipamentos foi proposta apenas em
1822, por Charles Babbage (1792 1871).
O novo dispositivo foi chamado de mquina diferencial e, ao
contrrio de seus predecessores, que apenas realizavam operaes
10 simples, ele foi desenhado para executar um algoritmo. O
objetivo dessa mquina e seu algoritmo era produzir tabelas
teis para a navegao naval, assunto estratgico para a poca.
A mquina diferencial podia executar apenas esse algoritmo.

Figura 5 Mquina diferencial construda pelo Museu de Londres a partir de notas


de Babbage

Unidade I
Apesar da aceitao de suas ideias e do nanciamento do
governo britnico, Babbage tinha planos mais ambiciosos. Ele
vislumbrou um dispositivo programvel. Esta nova mquina
foi batizada de mquina analtica, e continha vrios conceitos
5 presentes ainda hoje nos computadores modernos, como um
dispositivo de entrada (uma leitora de cartes perfurados),
dispositivos de sada (impressora e perfuradora de cartes),
memria (capaz de armazenar mil nmeros) e uma unidade
aritmtica (chamada de moinho).
10

Babbage descreveu essa mquina pela primeira vez em


1837. Sob vrios aspectos, a mquina diferencial antecipou o
computador moderno em cem anos.

No sculo XIX, diversas mquinas diferenciais foram


construdas com base nas teorias e documentos de Babbage,
15 mas ele prprio nunca chegou a produzi-las, nem a mquina
analtica.
As suas ideias, entretanto, inuenciariam diversos pioneiros
da computao. Ele correspondeu-se com a condessa Ada
Lovelace, que se interessou por suas propostas para a mquina
20 analtica e chegou a desenvolver um mtodo de calcular
nmeros de Bernoulli utilizando a mquina analtica. Esse
considerado o primeiro programa de computador da histria e a
condessa Ada Lovelace, a primeira programadora. A linguagem
ADA foi batizada em sua homenagem.
25

O problema que Babbage enfrentou que a tecnologia do


sculo XIX no podia fornecer a preciso que seria necessria
para a construo de um mecanismo to complexo e ambicioso
quanto a mquina analtica. Mesmo nunca tendo concretizado
sua viso, Charles Babbage considerado o av do computador,
30 e os equipamentos atuais ainda incorporam conceitos que ele
anteviu mais de cem anos atrs.
O passo seguinte no caminho do computador seria dado
apenas na dcada de 1930, quando em vrios pontos comearam

ORGANIZAO DE COMPUTADORES
a surgir dispositivos calculadores eletromecnicos utilizando
rels.
Na Alemanha, Konrad Zuse construiu uma srie de
equipamentos para executar clculos usando rels. Todos os seus
5 equipamentos foram destrudos durante a guerra, o que impediu
que seus designs tivessem inuncias nos desenvolvimentos
subsequentes.
Pouco tempo depois de Zuse, na Universidade de Iowa, nos
Estados Unidos, John Atanasoff projetou um equipamento para
10 fazer clculos que utilizava aritmtica binria e capacitores
como memria de armazenamento. Da mesma forma que
outros predecessores, o projeto de Atanasoff nunca se tornou
operacional.
Simultaneamente, tambm nos Estados Unidos, George
15 Stibbitz construiu um equipamento para fazer clculos que
realmente funcionava, apesar de ser menos sosticado que o
projeto de Atanasoff. Stibbitz fez uma grande demonstrao
de sua criao em 1940. Entre os que assistiram a essa
demonstrao estava John Mauchley, que depois daria suas
20 prprias contribuies histria do computador.
Zuse, Stibbitz e Atanasoff estavam tentando criar
mquinas calculadoras automticas. Apesar de compartilharem
componentes com os computadores, elas tinham um propsito
nico: realizar clculos. Nenhum desses projetos tencionava ser
25 o que Babbage tinha almejado no sculo XIX: um equipamento
programvel.
O prximo passo neste caminho foi dado tambm nos
Estados Unidos em 1944: Howard Aiken construiu o Harvard
Mark I, o primeiro computador digital da histria. Ele era
30 capaz de realizar clculos. Aiken baseou-se nos conceitos de
Babbage para criar o Mark I. Apesar de ter sido bem-sucedido,
o sucessor do Mark I, o Mark II, j estava obsoleto ao ser

Unidade I
concludo. A era dos computadores eletromecnicos havia
chegado ao fim.
Comeava a era dos computadores eletrnicos.
2.2 Primeira gerao vlvulas (1945 1955)

Os primeiros computadores eletrnicos surgiram na fase


5 nal da Segunda Guerra Mundial.
O interesse dos militares por computadores se dava em dois
campos especcos: quebra de cdigos criptogrcos e clculos
de artilharia.
Para este segundo propsito John Mauchley props a
10 construo de uma mquina para o Exrcito Americano, o que
viria a se tornar o ENIAC.
Durante muito tempo, o ENIAC (Electronic Numerical
Integrator and Computer) foi considerado o primeiro computador
eletrnico da histria. O seu projeto, que foi patrocinado pelas
15 foras armadas dos Estados Unidos e conduzido por John
Mauchley e J. Presper Eckert, iniciou-se em 1943. O ENIAC
entrou em operao em 1946, tarde demais para seu propsito
blico original.

Figura 6 O ENIAC em operao na dcada de 1940

10

ORGANIZAO DE COMPUTADORES
Entretanto, dcadas depois do nal da guerra o trabalho
de um grupo de cientistas britnico veio a pblico. No auge
da Segunda Grande Guerra, a Alemanha nazista utilizava um
equipamento eletromecnico para codicar mensagens de
5 forma muito mais eficiente do que os mtodos manuais:
trata-se da mquina Enigma.

Figura 7 Um exemplar da mquina Enigma

Para quebrar os cdigos gerados por esse dispositivo, o


governo britnico patrocinou a construo do que foi de fato
o primeiro computador eletrnico, batizado de Colossus. Este
10 dispositivo entrou em operao em 1943, e o famoso matemtico
Alan Turing, criador de muitos dos conceitos do computador
moderno, participou do projeto. Infelizmente, todo o projeto foi
mantido em segredo pelo governo britnico e, por esse motivo,
o trabalho pioneiro de Turing e seus colegas no pde ser
15 compartilhado e no teve inuncia nas geraes posteriores
de computadores.
O ENIAC, por outro lado, teve descendentes diretos.
O conhecimento do projeto de Mauchley e Eckert foi
compartilhado com vrios colegas cientistas que criaram seus
20 prprios computadores. Os prprios Mauchley e Eckert deixaram
a Universidade da Pensilvnia, onde lecionavam, para fundar
uma companhia, a Eckert-Mauchley Computer Corporation.

11

Unidade I
Hoje, aps uma srie de fuses e aquisies, essa companhia
parte da Unisys Corporation.
Naquela poca de interesse orescente, um dos cientistas
envolvidos no projeto do ENIAC deu uma contribuio
5 fundamental para a evoluo do computador moderno.
Seu nome era John von Neumann, e uma das coisas que ele
percebeu nos computadores da poca que programar um
computador usando quantidades enormes de cabos e chaves
era uma tarefa demorada e tediosa. Ele tambm apontou a
10 vantagem de usar os dados armazenados em forma binria
em vez de decimal (como o ENIAC fazia). O projeto bsico que
ele concebeu na dcada de 1940 foi utilizado na construo
da mquina IAS. Essa arquitetura foi batizada de mquina
de Von Neumann e at hoje a estrutura bsica de qualquer
15 computador comercial.
Memria

Unidade de
controle

Unidade lgico
aritmtica
Acumulador

Entrada

Sada

Figura 8 A estrutura da mquina de Von Neumann

Enquanto tudo isso acontecia, a IBM lentamente despertava


para o mercado de computadores comerciais. Apesar de ter
parcialmente nanciado o projeto de Howard Aiken, a IBM no
estava muito interessada em computadores at que lanou o IBM
20 701, em 1953. Ele era um computador voltado para aplicaes
cientcas, e em cerca de dez anos esse mercado seria dominado
pela IBM.

12

ORGANIZAO DE COMPUTADORES
2.3 Segunda gerao transistores (1955
1965)

O transistor foi inventado por John Bardeen, Walter Brattain


e William Shockley em 1948, nos laboratrios Bell.
Em pouco tempo o transistor mudou a face da computao
(e de toda a incipiente indstria de eletrnica de consumo),
5 pois apresentava grandes vantagens em relao vlvula: era
menor e tinha vida til innitamente maior. Dez anos aps a
inveno do transistor, os computadores com vlvulas estavam
obsoletos.
O primeiro computador a usufruir da nova tecnologia foi o
10 TX-0 (Transistored Experimental Computer 0), construdo no MIT
(Massachusetts Institute of Technology). O objetivo desse projeto
era servir como dispositivo de testes para um equipamento mais
sosticado, o TX-2.
O TX-2 no foi um grande sucesso, mas um dos engenheiros
15 que participaram do projeto fundou uma companhia, a Digital
Equipment Corporation DEC em 1957, para construir um
computador cujo projeto era baseado no TX-0. Esse computador
foi batizado de PDP-1.
Na poca, a DEC demorou quatro anos para conseguir
20 nanciamento para seu produto, pois os investidores tinham
srias dvidas sobre a viabilidade do mercado de computadores
comerciais.
O PDP-1 foi nalmente lanado em 1961. Ele tinha cerca
de metade da capacidade de processamento do IBM 7090, o
25 computador cientco mais rpido do mundo na poca, mas
custava 120 mil dlares, enquanto o 7090 custava milhes.
A DEC vendeu dezenas de PDP-1 e criou o mercado de
minicomputadores.

13

Unidade I
Alguns anos mais tarde, a DEC lanou uma nova mquina, o
PDP-8. Alm de ser mais barata que o PDP-1 (16 mil dlares), ela
trouxe uma inovao importante: o uso de um barramento. Essa
arquitetura representou uma mudana importante em relao
5 da mquina IAS, que era centrada na memria e usada em
computadores at hoje.

CPU

Memria

Terminal
de
Console

E/S de
ta de
papel

Outras
E/S
Omnibus

Figura 9 Barramento Omnibus do PDP-8

Enquanto a DEC se consolidava no mercado de


minicomputadores, a IBM produzia equipamentos de alto
desempenho para aplicaes cientcas, como o 7090, j citado,
10 e sua verso melhorada, o 7094.
Em outra frente, a IBM estava obtendo sucesso com outro
tipo de equipamento, chamado 1401. Ele tinha um desempenho
muito menor que o 7094 para aplicaes cientcas, mas era
bastante adequado para aplicaes comerciais, sem mencionar
15 que era muito mais barato.
Em 1964, uma pequena companhia lanou um equipamento
voltado para aplicaes cientcas batizado de 6600. O CDC 6600
conseguiu ser mais rpido que o IBM 7094 e qualquer outro
computador da poca, principalmente por introduzir paralelismo
20 em alta escala, alm de pequenos computadores internos para
reduzir a carga de processamento da CPU principal.
Muitas ideias referentes a paralelismo presentes nos
computadores modernos descendem diretamente do CDC 6600.
O seu projetista, Seymour Cray, dedicou a vida produo de
25 computadores (depois da CDC, ele criou sua prpria empresa, a
Cray Computing) cada vez mais rpidos, criando o mercado de
supercomputadores no processo.

14

ORGANIZAO DE COMPUTADORES
2.4 Terceira gerao circuitos integrados
(1965 1980)

A inveno do circuito integrado de silcio por Robert Noyce,


em 1958, permitiu que dezenas de transistores fossem colocados
em uma nica pastilha (ou chip). Isso conduziu a produo de
computadores a um novo patamar, totalmente impensvel nas
5 geraes anteriores. Agora eles poderiam ser menores, mais
rpidos e mais baratos do que jamais havia sido possvel.
Mas uma das maiores inovaes daquele perodo no
dependia de desenvolvimento de novas tecnologias.
A IBM tinha na poca dois equipamentos de sucesso, os j
10 citados 1401 e 7094. O problema que eles eram totalmente
incompatveis entre si. Um cliente que possusse os dois
equipamentos teria que ter duas equipes distintas para fazer
uso deles.
Quando chegou a hora de lanar os substitutos desses
15 equipamentos, a IBM deu um passo revolucionrio, lanando
vrios computadores em uma mesma linha, chamada
System/360.
O grande diferencial da linha 360 que vrios modelos
de vrios portes compartilhavam uma mesma arquitetura,
20 o que permitia que um mesmo programa fosse utilizado nos
vrios modelos da mesma famlia. Hoje isso parece bvio, mas
durante os anos 1950 o foco do desenvolvimento sempre foi o
hardware. A famlia 360 foi a primeira vez em que se pensou em
interoperabilidade e compatibilidade.
25

Outra novidade importante na famlia 360 era o conceito de


multiprogramao. Esse conceito permitia que o computador
mantivesse vrios programas em memria e, enquanto um
programa estivesse esperando uma operao de E/S, ele pudesse
executar outro. Este conceito simples, uma das primeiras

15

Unidade I
implementaes de multitarefa, aumenta a utilizao da
CPU. E tambm torna mais importante uma gura at ento
desconhecida: o sistema operacional. O conceito de multitarefa
s pode existir com a presena de um sistema operacional.
5

O mercado de minicomputadores tambm evoluiu, e o


lanamento mais signicativo foi o PDP-11 da DEC, que teve
enorme sucesso, em especial em universidades.
2.5 Quarta gerao integrao em larga
escala (1980 2000)

Na dcada de 1980, a VLSI (Very Large Scale Integration


Integrao em Escala Muito Grande) possibilitou colocar
10 dezenas de milhares, depois centenas de milhares e por m
milhes de transistores em um nico chip. Esse desenvolvimento
levou a computadores menores e mais rpidos. Antes do PDP-1,
os computadores eram to grandes e caros que universidades
e empresas precisavam ter departamentos dedicados
15 sua operao. Com a chegada do minicomputador, cada
departamento poderia ter seu prprio computador.
No incio dos anos 1980, o processo de barateamento e
miniaturizao dos computadores chegou a tal ponto que um
indivduo podia possuir seu prprio computador. Era o incio da
20 era do computador pessoal, o microcomputador.
Os primeiros microcomputadores no eram fabricados da
mesma forma que os computadores comerciais da poca. Eles
eram vendidos como kits para serem montados em casa por
hobistas na rea de eletrnica ou computao. Um dos primeiros
25 foi o Altair 8800, mostrado na gura seguinte.

Figura 10 Altair 8800, um dos primeiros microcomputadores comerciais

16

ORGANIZAO DE COMPUTADORES
Esses primeiros computadores no tinham muita aplicao
prtica, pois, alm de montar seus computadores, os usurios
tinham que desenvolver seus prprios programas.
Apesar das limitaes desses equipamentos, diversas
5 empresas investiram no nascente mercado de computao
pessoal. Uma das mais bem-sucedidas foi a Apple, fundada por
Steve Jobs e Steve Wozniak, cujo modelo Apple II (lanado em
1977) foi um sucesso comercial. O sucesso do Apple II foi to
signicativo na poca de seu lanamento que a Apple se tornou
10 um grande fabricante de computadores praticamente da noite
para o dia.

Figura 11 O Apple II, um dos primeiros microcomputadores comerciais de sucesso

Enquanto a Apple e outras pequenas empresas criavam todo


um novo mercado de computadores para uso domstico, os
grandes fabricantes, como a IBM, estavam hesitantes quanto a
15 investir ou no nesse nicho.
A IBM decidiu por m entrar no mercado do computador
pessoal, mas, ao contrrio do que era seu hbito, decidiu utilizar
componentes de mercado, em vez de desenvolver todo o
projeto.
20

Como microprocessador foi escolhido o 8088 da Intel, e o


IBM PC foi lanado em 1981. Um dos grandes erros da histria da

17

Unidade I
IBM foi cometido nessa poca. Ela no resguardou seu produto
por patentes; muito pelo contrrio, ela divulgou publicamente
os dados do projeto de seu microcomputador.
O resultado foi o surgimento de toda uma indstria de PC
5 Clones, ou computadores-padro IBM PC, da qual uma pequena
parte apenas era fabricada e vendida pela IBM.

Figura 12 Um dos primeiros IBM PC

A IBM tambm se associou Microsoft para o desenvolvimento


do sistema operacional de seu microcomputador. Outro grande
erro da IBM foi no enxergar o potencial do software para
10 essa plataforma. Na verdade, os executivos da IBM estavam
interessados na venda de hardware. Como consequncia, o MSDOS da Microsoft se tornou o sistema operacional padro para
os computadores padro IBM PC, o que ajudou a Microsoft a ser
tornar uma das empresas mais ricas do mundo nos anos 1990.
15

A arquitetura desenvolvida pela IBM se tornou o padro


para microcomputadores de uso comercial, e a maioria das
empresas que fabricava microcomputadores com padres
distintos (Commodore, Atari, Sinclair, entre outras) desapareceu
ou abandonou esse nicho de mercado.

20

A Apple conseguiu sobreviver, em parte por ter sido a


primeira a introduzir uma interface grca utilizvel. Essa
caracterstica foi introduzida inicialmente no Apple Lisa, mas
encontrou sucesso no Apple Macintosh.

18

ORGANIZAO DE COMPUTADORES

Figura 13 Apple Lisa

O Apple Lisa fracassou devido ao alto preo, mas deixou


claras as vantagens do uso de uma GUI (Graphical User Interface
Interface Grca com o Usurio). Esse tipo de interface
usa um dispositivo apontador (normalmente um mouse) e
5 elementos grcos como cones e menus como meio principal
para interao com o usurio. As outras geraes usavam
principalmente comandos em shells ou prompts de comando,
o que requeria um treinamento mais aprofundado para os
usurios de computadores.
10

Com a introduo da interface grca e o aumento da


facilidade de uso, a popularizao dos microcomputadores se
acelerou ainda mais.

Figura 14 O Apple Macintosh original

19

Unidade I
2.6 Quinta gerao computao ubqua
(2000 em diante)

Ao contrrio das geraes anteriores, atualmente os


equipamentos com capacidade de processamento no so
mais necessariamente computadores. Desde o nal dos anos
1990, diversos equipamentos passaram a possuir capacidade de
5 processamento, sem que necessariamente fossem computadores
completos. Palmtops, telefones celulares e at mesmo automveis
e certos refrigeradores hoje possuem alguma capacidade de
processamento, podendo at mesmo rivalizar com computadores
de geraes anteriores.
Como exemplo dessa evoluo, podemos tomar o AGC
(Apollo Guidance Computer), computador embarcado usado
pela misso Apollo, responsvel por levar os primeiros
astronautas para a lua. Esse equipamento tinha menos
de 64 KB de memria e 2 Mhz de velocidade de clock se
15 compararmos esse equipamento (que era tecnologia de ponta
no nal do anos 1960) com um computador desktop padro
de mercado atual, que tem 1 ou 2 Gigabytes de memria e
2 Ghz de velocidade de clock, chegaremos concluso que
o segundo cerca de mil vezes mais rpido e possui mais de
20 32.000 vezes mais memria, sem mencionar a complexidade
do equipamento. Isso pode servir como parmetro para a
velocidade de evoluo da tecnologia de processamento de
dados nas ltimas trs dcadas.
10

Figura 15 Unidade de interface com o usurio do AGC

20

ORGANIZAO DE COMPUTADORES
Mas, alm do barateamento e aumento de capacidade de
elementos como dispositivos de armazenamento (discos e
afins) e memria, o desenvolvimento de vrias tecnologias,
como redes locais, Bluetooth e WiFi, e a popularizao da
5 Internet permitiram o desenvolvimento de equipamentos
que se apoiem em redes e recursos localizados em outros
computadores para atender s necessidades de seus
usurios.
Os computadores das geraes anteriores precisavam manter
10 suas massas de dados acessveis localmente e contar apenas com
sua capacidade de processamento. Os computadores de quinta
gerao podem contar com a capacidade de armazenamento e
de processamento de outros computadores atravs de redes de
diversos tipos.

Figura 16 Exemplo de smartphone: Motorola Q1

Esse tipo de capacidade pode criar ambientes to


complexos que pode se tornar difcil no futuro determinar
onde comea e termina o computador e onde esto os
dados que utilizamos, pois teremos nossa volta diversos
dispositivos interagindo entre si para atender s nossas
20 necessidades.
15

21

Unidade I
Quando esse tipo de ambiente se tornar comum, talvez
no tenhamos uma sexta gerao de computadores, mas algo
totalmente diferente.

22

ORGANIZAO DE COMPUTADORES

Unidade II
3 AFINAL DE CONTAS, QUEM INVENTOU O
COMPUTADOR?

Conforme vimos no histrico, a inveno do computador


no se deu em apenas um passo.
No caso de algumas tecnologias, como o avio, somos
tentados a eleger o pai desse invento, mas no caso do
5 computador no desponta uma gura com essa caracterstica.
Alguns dos principais visionrios nunca conseguiram transformar
suas vises em equipamentos funcionais. Em outros casos, esses
equipamentos nunca chegaram a pblico.
Por outro lado, os construtores de computadores que
10 se tornaram operacionais e chegaram a pblico no podem
descartar a inuncia de seus predecessores. Howard Aiken,
por exemplo, sempre armou ter se baseado no trabalho de
Babbage.
A concluso a que podemos chegar que o computador no
15 tem um pai ou me, mas fruto de diversos passos, alguns
maiores, outros menores, mas cada um com sua importncia na
histria.
4 OS RUMOS DA EVOLUO DO COMPUTADOR

Com base no histrico visto na seo anterior, podemos


determinar algumas dimenses na evoluo do computador.
20 Desde os primeiros dispositivos mecnicos do sculo XVII at
os computadores de mo atuais, podemos denir algumas

23

Unidade II
linhas sobre as quais se deu (e ainda se d) a evoluo dos
computadores.
Miniaturizao
Os primeiros computadores eletrnicos, como o ENIAC,
5 ocupavam andares inteiros e pesavam toneladas. Hoje a
capacidade de processamento daqueles equipamentos
largamente superada por dispositivos de bolso.
Na dcada de 1980, todas as empresas tinham um CPD
(centro de processamento de dados), onde residiam todos os
10 seus computadores e perifricos. Hoje uma tarefa das mais
trabalhosas em uma grande empresa localizar onde esto
todos os seus computadores.
A miniaturizao tornou possvel o minicomputador, depois
o computador pessoal, a computao mvel e a eletrnica
15 embarcada.
Sem o extremo progresso que a miniaturizao alcanou,
o mundo seria muito diferente hoje, pois os computadores
estariam connados nos CPDs, em vez de estarem nossa volta
em toda parte.
20

Barateamento
Os primeiros computadores comerciais custavam milhes de
dlares. Hoje um microcomputador bsico acessvel maioria
das pessoas.

O computador j faz parte do cotidiano da maior parte das


25 pessoas, mas de uma forma muito maior do que podemos ver.
O barateamento de microprocessadores e ans possibilitou a
implantao de dispositivos com capacidade de processamento
em carros, elevadores e eletrodomsticos. A eletrnica
embarcada, como chamada, fruto direto do barateamento

24

ORGANIZAO DE COMPUTADORES
de computadores e dispositivos eletrnicos, pois possibilitou a
substituio de funes executadas por elementos eltricos ou
mecnicos por dispositivos eletrnicos e a incluso de novas
funes, que no seriam possveis sem esses dispositivos.
5

Facilidade de uso
Os primeiros computadores s podiam ser utilizados pelos
engenheiros que os construram, pois, para obter algum resultado,
era necessrio conhecer detalhes precisos sobre a interconexo
de seus componentes.

10

Com a popularizao da computao comercial, surgiu


a necessidade de uma utilizao mais diversicada dos
computadores. Para atender a essa demanda surgiram as
primeiras linguagens de programao. Um programador podia
extrair resultados do computador sem ter necessariamente um
15 conhecimento detalhado de seu funcionamento. Este primeiro
degrau de popularizao tambm foi um primeiro degrau na
facilidade de uso do computador.
Outros degraus vieram depois, sendo que um dos mais
recentes foi a introduo da interface grca, que dispensou os
20 usurios da necessidade de conhecer ou decorar comandos para
utilizar o computador.
Talvez estejamos experimentando mais um degrau nesta
evoluo atualmente, que a migrao de toda a interao
entre o usurio e o computador para o browser. Dessa forma,
25 atualmente no temos apenas todo um universo de usurios
que no tm conhecimento do funcionamento interno do
computador, como tambm eles no precisam sequer ter
conhecimento de que o computador existe. Para esses usurios,
a interao se d com o navegador, independentemente de
30 onde ele est sendo executado (computador, smartphone ou o
que quer que seja).

25

Unidade II
Esse possivelmente o primeiro passo no caminho do
computador invisvel, ou computao ubqua.
5 A ORGANIZAO DO COMPUTADOR

Um computador digital consiste em um sistema


interconectado de processadores, memrias e dispositivos
5 de entrada e sada. Essas so as trs categorias bsicas de
componentes de um computador moderno. Cada elemento
de um computador qualquer se encaixar em uma dessas
classicaes. Vamos analisar em seguida cada uma delas.
5.1 Processadores

A unidade central de processamento (UCP ou CPU Central


10 Processing Unit) o centro do computador.
A execuo de um programa normalmente consiste em
trazer um programa de um dispositivo de armazenamento (disco,
por exemplo) para a memria principal. Da memria principal,
o programa transferido para a CPU, uma instruo por vez.
15 Dentro da CPU que o verdadeiro processamento ocorre, onde
as instrues sero interpretadas e executadas.
Como podemos ver na gura seguinte, todos esses elementos
se comunicam por meio de um barramento.
Unidade de
controle
Unidade
lgica e
aritmtica
(ULA)

Dispositivos de E/S

Registradores
Memria
principal

Disco

Impressora

Barramento
Figura 17 A organizao de um computador simples

26

ORGANIZAO DE COMPUTADORES
Como podemos ver tambm na gura, internamente a CPU
composta por vrias partes distintas. A unidade de controle
responsvel por buscar instrues na memria e determinar
seu tipo. A unidade lgica e aritmtica executa operaes
5 matemticas simples como adio e E booleano.
A CPU tambm contm uma pequena quantidade de
memria de alta velocidade, que utilizada na execuo de
instrues. Essa memria organizada em registradores. Cada
registrador tem um tamanho xo (comprimento em bits) e
10 um propsito especco, como o contador de programa (PC
program counter). A funo do PC identicar qual a prxima
instruo a ser trazida para a CPU do programa em execuo.
A organizao da CPU detalhada na gura abaixo. Os
registradores e a ULA formam um caminho de dados.

A+B

Registradores

B
Registradores de
entrada da ULA
B

Barramento de
entrada da ULA

ULA

A+B

Registrador de
sada da ULA

Figura 18 Um exemplo de caminho de dados

27

Unidade II
Os dados so movimentados dos registradores para um
ou dois registradores que alimentam a ULA e deles para a
prpria ULA atravs de um barramento que interconecta esses
elementos.
5

A ULA realizar as operaes matemticas mais bsicas,


como soma e comparao, e mover o resultado para um
registrador de sada. Posteriormente, o contedo desse
registrador ser movido para outro registrador e de l para a
memria principal.

10

Neste ponto, podemos estabelecer a distino entre


dois tipos diferentes de instrues: instrues registradorregistrador e instrues registrador-memria. As primeiras
dependem apenas dos dados que esto armazenados na CPU,
e as segundas precisam buscar dados da memria principal,
15 pelo barramento.
O processo de submeter dois valores ULA e obter um
resultado chamado de ciclo do caminho de dados. Esse ciclo
o ncleo da maioria das CPUs, pois determina o que ela pode
fazer. Quanto mais rpido a CPU conseguir executar esse ciclo,
20 mais rpido se dar o processamento.
Alm do ciclo do caminho de dados, interno CPU, temos o
ciclo externo, que determina como a CPU interage com os dados
que esto fora dela, na memria principal.
A CPU executa cada instruo em uma srie de pequenos
25 passos:
1- Trazer a prxima instruo da memria at o registrador;
2- Alterar o contador de programa para indicar a prxima
instruo;
3- Determinar o tipo da instruo;

28

ORGANIZAO DE COMPUTADORES
4- Se a instruo necessitar de uma palavra da memria,
determinar onde essa palavra est;
5- Trazer a palavra para dentro de um registrador da CPU, se
necessrio;
5

6- Executar a instruo;
7- Voltar etapa 1 para iniciar a execuo da instruo
seguinte.

Essa sequncia costuma ser denominada ciclo buscardecodicar-executar. fundamental para a operao de todos
10 os computadores.
Lembre-se de que o programa armazenado na memria
na forma de instrues que o processador consiga interpretar.
Voltando mquina multinveis, o programa escrito
originalmente em linguagem de alto nvel sofreu vrios nveis
15 de traduo antes que pudesse ser executado diretamente
pelo processador.
5.1.1 Princpios de projeto para computadores modernos
Os computadores modernos compartilham uma srie
de caractersticas de design que visam maximizar o seu
desempenho. No importa se se trata de um computador de
20 mo ou um computador para ns cientcos; sempre se deseja a
maior velocidade de processamento possvel.
claro que estas linhas se aplicam ao estado atual da
tecnologia. Atualmente estamos sujeitos a certas limitaes,
como velocidade de clock, quantidade de transistores que podem
25 ser embutidos em uma pastilha de silcio e outras.
Se o cenrio tecnolgico atual se alterar, talvez algum dos
pontos a seguir no seja mais aplicado.

29

Unidade II
Todas as instrues so executadas diretamente pelo
hardware
No passado houve uma tendncia de design de computadores
que adicionava uma camada de software entre o hardware
5 e o conjunto de instrues, providenciando um novo nvel
de interpretao. Esse tipo de implementao chamado de
microcdigo e oferecia algumas vantagens como a possibilidade
de incluir ou alterar instrues sem alterar o hardware. Apesar de
prover mais exibilidade, esse tipo de design no considerado uma
10 boa prtica. O nvel adicional de traduo acarreta uma perda de
desempenho, que no compensa as novas instrues que possam
ser adicionadas.
Em resumo, a recomendao que as instrues
correspondam diretamente a elementos de hardware, sem que
15 haja nveis adicionais de traduo.
Maximize a taxa de execuo de instrues
Um dos caminhos para se maximizar a performance do
computador maximizar a taxa de execues de instrues por
segundo.
Existem vrios meios para se conseguir isso. Um
simplesmente aumentar a velocidade de clock do computador.
Outra forma fazer com que o processador realize atividades
em paralelo. Se um computador puder realizar duas instrues
em paralelo, ele ter teoricamente um desempenho duas vezes
25 superior a um computador sem paralelismo.
20

Neste design, um cuidado especial deve ser tomado para que


no seja alterada a ordem de execuo do programa.
As instrues devem ser fceis de decodicar
Conforme visto anteriormente, o ciclo de execuo de
30 instrues tem impacto direto na velocidade de processamento

30

ORGANIZAO DE COMPUTADORES
do computador como um todo. Se o tempo de traduo de uma
instruo for demorado, o tempo de execuo como um todo
ser degradado.
Por esse motivo, uma instruo no deve ter muitas opes
5 de execuo ou formatos alternativos. Se a instruo tiver
poucos formatos, o tempo de identicao da instruo ser
reduzido e, consequentemente, o tempo de processamento ser
otimizado.
Somente load e store devem referenciar a memria
10

O acesso memria principal uma operao demorada,


sob a tica da velocidade do processador, claro. Se muitas
instrues tiverem acesso direto memria principal, o tempo
de execuo das instrues pode se tornar imprevisvel.

Por esse motivo, recomendado que apenas as instrues


15 load (leitura) e store (gravao) tenham acesso memria.
Providencie bastantes registradores
Se o processador no tiver um registrador para armazenar
um valor resultante, ele ter que transferir esse valor para a
memria principal.
20

Conforme j vimos, a transferncia de dados entre o


processador e a memria principal um processo mais lento
que a movimentao de dados dentro do processador.
Se o processador no tiver registradores sucientes, o tempo
de processamento ser degradado.
5.1.2 Paralelismo

25

Conforme vimos, um dos melhores recursos para otimizar a


velocidade de processamento de um computador a capacidade

31

Unidade II
de executar vrias atividades ao mesmo tempo. Existem vrias
formas de implementar paralelismo, no nvel de instruo e no
nvel de processador.
A seguir descreveremos cinco formas de paralelismo.
5 Pipelining e arquiteturas superescalares so exemplos de
paralelismo no nvel de instruo. Computadores matriciais,
multiprocessadores e multicomputadores so exemplos de
paralelismo no nvel de processador.

Pipelining
10

O processo de decodicao e execuo de instrues, como


foi visto anteriormente, um elemento crtico no desempenho
do computador.

Se o processo de identicao e execuo de uma instruo


puder ser modularizado, haver um ganho de performance, pois,
15 enquanto uma instruo estiver em execuo, os passos iniciais
da prxima instruo podero ser executados.
Na gura a seguir temos o exemplo de um pipeline de cinco
estgios. Cada instruo passar por cinco mdulos antes de ser
concluda.
20

Observe que, quando a instruo 1 for concluda, as instrues


2, 3, 4 e 5 estaro em execuo.
S1

S2

S3

S4

Unidade de
busca de
instruo

Unidade de
decodicao
de instruo

Unidade de
busca de
operando

Unidade de
execuo de
instruo

S1:
S2:
S3:
S4:
S5:

2
1

3
2
1

4
3
2
1

5
4
3
2
1
5

6
5
4
3
2
6

7
6
5
4
3
7

S5

8
7
6
5
4
8

3
4
Tempo
Figura 19 Exemplo de um pipeline de cinco estgios

32

Unidade de
gravao
9
8
7
6
5
9

ORGANIZAO DE COMPUTADORES
Arquiteturas superescalares
O princpio da arquitetura superescalar que nem todas as
instrues demoram o mesmo tempo para serem executadas.
Ao executar certas instrues, como as que leem ou gravam
5 na memria principal, o tempo de execuo maior que em
instrues que acessem apenas dados dentro do processador
(armazenados em registradores).
Se o mdulo de execuo pudesse executar vrias tarefas
em paralelo, o tempo de execuo das instrues mais lentas
10 seria compensado pela execuo de outras instrues.
Na gura a seguir temos o exemplo de uma arquitetura
superescalar com duas ALU, uma unidade para tratar operaes
de ponto utuante e um mdulo para ler, e outra para gravar na
memria principal.
15

Novamente deve ser tomado cuidado neste tipo de design


para que as instrues sejam executadas na ordem correta.
S4
ALU

ALU
S1
Unidade de
busca de
instruo

S2
Unidade de
decodicao
de instruo

S3
Unidade de
busca de
operando

S5
LOAD

Unidade de
gravao

STORE

Ponto
utuante
Figura 20 Exemplo de arquitetura superescalar

33

Unidade II
Esses dois tipos de paralelismo so implementados dentro do
processador, ou seja, no dependem de mais de um processador.
Os designs seguintes dependem de vrios processadores.
Sempre existe demanda por processadores mais rpidos,
5 mas em muitos casos mais simples e barato dispor de vrios
processadores que trabalhem harmonicamente do que tentar
conseguir um nico processador mais rpido.
Esse tipo de concluso j chegou at os computadores de uso
comercial e domstico, com as conguraes com processadores
10 de dois, trs, quatro ou mais ncleos.
Computadores matriciais
Um computador matricial aquele com um grande nmero
de processadores que executam o mesmo conjunto de instrues
em conjuntos diferentes de dados.
15

Esse tipo de arranjo encontra uso em aplicaes cientcas,


em que um grande conjunto de dados deve ser submetido a um
mesmo conjunto de frmulas. Ele no comum em computadores
comerciais, mas muitos supercomputadores (especialmente
os fabricados pela Cray Computing) usam um tipo especial de
20 arranjo desse tipo, chamado processador vetorial.
Multiprocessadores
Uma forma simples de aumentar a capacidade de
processamento de um computador adicionar outro processador.
Essa a ideia do multiprocessador, mas isso no to simples.
25

34

Sempre que fazemos algum tipo de paralelismo, deve


haver alguma gura fazendo a arbitragem das tarefas que
sero executadas por cada processador. Alm disso, no
multiprocessador, todas as CPUs compartilham uma mesma
quantidade de memria.

ORGANIZAO DE COMPUTADORES
O acesso a essa memria deve ser controlado tambm,
para que um processador no tente utilizar um espao que
esteja sendo usado por outro. Normalmente essa funo
desempenhada pelo sistema operacional.

CPU

CPU

CPU

CPU

Memria
Compartilhada

Barramento
Figura 21 Multiprocessador com barramento nico

A maioria dos sistemas operacionais de mercado atualmente


tem alguma capacidade de multiprocessamento.
Multicomputadores

A diferena entre o multicomputador e o multiprocessador


que no multicomputador cada CPU tem uma memria local que
10 s acessada por aquele processador.

Memria

Memria

Memria

Memria

CPU

CPU

CPU

CPU

Memria
Compartilhada

Barramento
Figura 22 Multicomputador com memrias locais

No multicomputador, pode ou no haver uma quantidade


de memria compartilhada entre os processadores.
Um dos problemas desses tipos de arranjo conectar
todos os processadores memria. Por esse motivo, muitos

35

Unidade II
projetistas abandonam a ideia da memria compartilhada e
criam computadores apenas com processadores com memrias
privadas.
Este tipo de arranjo normalmente chamado de fracamente
5 acoplado, em contraste com o arranjo fortemente acoplado, que
o multiprocessador.
5.2 Memria primria

A memria a parte do computador onde so armazenados


programas e dados. A memria primria tambm chamada de
memria principal ou RAM.
10

A memria principal utilizada para armazenar os programas


em execuo e os dados em uso por esses programas. Ela
costumeiramente voltil, ou seja, mantm os dados armazenados
apenas enquanto o equipamento est energizado.
5.2.1 Bits, bytes e terabytes

A unidade bsica de memria o dgito binrio, ou bit. Um


15 bit consegue armazenar apenas o valor 0 ou 1, e o bloco bsico
de informaes.
Um dos agrupamentos mais comuns de bits o byte, que
tem 8 bits de comprimento. Quando se trata de bits e bytes,
existe certa confuso quanto aos mltiplos que podem ser
20 usados para expressar essas quantidades.
Como o bit um valor binrio, os mltiplos so potncias de
2. Um kilobyte, portanto, no so exatamente 1.000 bytes (103),
mas 1.024 (210). De modo semelhante, 1 MB contm 1.048.576
bytes (220), e no 1.000.000 de bytes (106).
25

36

Os outros prexos mais comuns, em se tratando de memria,


so giga (1 GB equivale a 230 1.073.741.824 bytes) e tera: 1 TB
equivale a 240 1.099.511.627.776 bytes.

ORGANIZAO DE COMPUTADORES
Na tabela a seguir temos os prexos decimais mais comuns,
lembrando que, em se tratando de memria, devemos usar a
base binria em vez da base 10.
Expoente

Explcito

Prexo
0,001 mili

10-3

Expoente

0,000001 micro

106

10-9

0,000000001 nano

109

0,000000000001 pico
0,000000000000001 femto

10-15

Prexo
1.000 Kilo

103

10-6
10-12

Explcito

1.000.000 Mega
1.000.000.000 Giga

1012

1.000.000.000.000 Tera

1015

1.000.000.000.000.000 Peta

10-18

0,000000000000000001 ato

1018

1.000.000.000.000.000.000 Exa

10-21

0,000000000000000000001 zepto

1021

1.000.000.000.000.000.000.000 Zeta

10-24

0,000000000000000000000001 iocto

1024

1.000.000.000.000.000.000.000.000 Iota

Figura 23 Os principais suxos mtricos

5.2.2 Endereos de memria


Para que seja possvel utilizar a memria, deve ser possvel
5 gravar e ler informaes nela. Para que isso seja possvel, a
memria deve ser organizada de modo que cada unidade
utilizvel de memria tenha um endereo nico.
Os bits de memria so organizados em clulas, e cada
clula tem um endereo nico. O tamanho da clula varia de
10 acordo com o sistema, mas o mais comum que ela tenha 8 bits
(1 byte) de comprimento.
A clula a menor unidade enderevel de memria.
0
1
2
3
4
5
6
7
8
9
10
11

0
1
2
3
4
5
6
7

0
1
2
3
4
5
16 bits
12 bits

8 bits
Figura 24 Trs formas de organizar 96 bits de memria

37

Unidade II
Outro conceito importante a palavra. Uma palavra o
tamanho da unidade de dados que transferida da memria
para o processador. Quando falamos que um computador de
32 bits ou 64 bits, estamos nos referindo ao tamanho da palavra
5 desse processador. Ou seja, um computador de 32 bits consegue
transmitir 4 bytes entre a memria e o processador, enquanto
um computador de 64 bits transmite 8 bytes.
Esse conceito importante porque, se o processador recebe
um valor de 8 bytes da memria, todos os seus registradores
10 tm que ter no mnimo esse comprimento. Isso implica
tambm a quantidade de memria que um computador pode
suportar.
Se o registrador dedicado a tratar endereos de memria
tem 1 bit de comprimento, o computador s suportar dois
15 endereos ou duas clulas (0 e 1).
Se esse registrador tiver 32 bits, a quantidade de clulas
endereveis ser de 4.294.967.295. Em um computador com
clulas de 1 byte, isso equivale a 4 GB de memria.
Se esse registrador tiver 64 bits, a quantidade de
20 endereos possveis sobe para 18.446.744.073.709.551.615, ou
aproximadamente 18,45 exabytes, uma quantidade de memria
impensvel nos padres tecnolgicos atuais.
5.2.3 Memria cache
A memria cache (e no cach) uma rea de memria
intermediria entre o processador e a memria principal. O
25 termo cache amplamente usado para dispositivos que servem
como rea intermediria entre um meio mais rpido e outro
mais lento (cache de disco, cache de impresso etc.).
A memria cache, conforme a denio aqui adotada, uma
rea de memria localizada entre o barramento e a CPU.

38

ORGANIZAO DE COMPUTADORES
Como j falamos antes, o tempo de acesso memria principal
a partir do processador lento, em termos de velocidade de
processamento. Ento, se o processador no precisar percorrer
o barramento para buscar uma determinada informao, mas
5 uma rea mais prxima, o computador ganha em desempenho.
Normalmente a memria cache faz parte da mesma
embalagem que o prprio processador, mas no faz parte da
arquitetura interna dele, onde se localizam os registradores e
demais componentes da CPU.

CPU

Memria
Principal

Memria
Cache

Barramento

Figura 25 A localizao lgica da memria cache

Existem vrias formas de implementar a memria: cache de


processador, cache especco para instrues e dados, cache de
mltiplos nveis, mas o conceito bsico o mesmo ao se deparar
com a necessidade de uma informao da memria principal, o
cache ser consultado antes. Se a informao estiver l, ela j
15 devolvida para o processador (cache hit). Se a informao no
estiver no cache (cache miss), ela trazida da memria principal
para o cache e de l para o processador.
10

A memria cache, assim como a memria principal, tambm


voltil.
5.3 Memria secundria

20

Independentemente da quantidade de memria principal


que o computador disponha, ela nunca ser suciente para
armazenar todos os dados que so necessrios. Para isso
usam-se os meios de armazenamento de massa ou memria
secundria.

39

Unidade II
Para se ter uma ideia de ordem de grandeza, um computador
comercial comum atualmente possui cerca de 2 GB de memria
principal, enquanto um disco rgido comum hoje possui em
torno de 160 GB, sendo que j existem discos para uso em
5 computadores comerciais comuns com 1 TB de capacidade.
5.3.1 Hierarquias de memria
Um computador possui vrios tipos de memria, desde os
registradores at os discos ticos (DVD, Blu-Ray etc.). Existe
uma hierarquia entre esses vrios tipos de memria, conforme
a gura a seguir.
Registradores
Memria Cache
Memria Primria
Fita Magntica

Meios ticos

Figura 26 Hierarquia de memria de cinco nveis

10

Quanto mais alto vamos na pirmide acima, maior


a velocidade da memria, maior o custo por byte e menor a
quantidade de memria disponvel no computador.
Quanto mais para baixo vamos, menor a velocidade, menor o
custo e maior a quantidade disponvel em um computador.

15

A maior parte dos meios de memria secundria atualmente


no voltil, ou seja, mantm os dados gravados at que um
usurio os apague.

Devemos ter cuidado em usar o termo permanente ao


tratar de meios de armazenamento, pois nenhum meio de
20 armazenamento atual consegue garantir a preservao dos
dados aps um perodo de alguns anos.

40

ORGANIZAO DE COMPUTADORES
5.3.2 Discos magnticos
O disco magntico o meio mais comum de armazenamento
atualmente. Isso se deve ao fato de que o disco hoje o que
fornece melhor relao custo-benefcio.
Isso talvez mude no futuro prximo, graas popularizao
5 dos discos de estado slido (SSD solid state disk) baseados
em memria ash. Hoje j comum encontrarmos esse tipo
de dispositivo com cerca de 4 GB a 16 GB. Ainda pouco se
comparado aos 160 GB que um disco magntico possui, mas,
com o aumento de capacidade e barateamento desse tipo de
10 dispositivo, em breve ele poder superar o disco magntico em
popularidade.

Figura 27 Um disco magntico sem a proteo metlica

Como podemos ver na imagem acima, o disco magntico


composto por discos e braos de acesso, alm de motores
responsveis por girar os discos e movimentar o brao.
15

O princpio bsico de funcionamento do disco magntico


simples: os discos giram em um nico sentido com velocidade
constante, e as cabeas de leitura e gravao se aproximam e
se afastam do centro do disco, de modo que conseguem atingir
toda a sua rea til.

20

Essa rea coberta por um material magntico que pode


ser sensibilizado pelo campo gerado pela cabea de leitura.
Dependendo da direo em que estiverem direcionadas essas
partculas, elas podem simbolizar um bit 0 ou um bit 1.

41

Unidade II
A rea til do disco dividida em setores. Um setor
normalmente corresponde a 512 bytes e separado do prximo
setor por uma rea no utilizada chamada lacuna. Como estamos
lidando com campos magnticos, nem toda a superfcie pode
5 ser utilizada, pois corremos o risco de afetar outros setores alm
do desejado, se eles estiverem muito prximos. Os setores so
agrupados em crculos concntricos denominados trilhas.
Trilha /
Cilindro

Setor
Cabeas de leitura e
gravao
8 cabeas
4 platters
Figura 28 Representao da geometria do disco magntico

Alm de trilhas e setores, o outro conceito importante na


geometria do disco magntico o cilindro. Um disco magntico
10 normalmente composto por vrios discos, denominados
platters.
Cada superfcie de cada disco possui uma cabea de leitura
e gravao prpria. Como todos os braos de todas as cabeas
de leitura e gravao se movimentam ao mesmo tempo, quando
15 a cabea de leitura da primeira superfcie estiver sobre a trilha
n, todas as cabeas de leitura estaro sobre as trilhas n de suas
respectivas superfcies.
A esse conjunto de trilhas que podem ser acessadas sem que
seja necessrio movimentar a cabea de leitura e gravao se d
20 o nome de cilindro.
Este um conceito importante quando se tenta aumentar
o desempenho de discos, pois, por se tratar de um dispositivo

42

ORGANIZAO DE COMPUTADORES
mecnico, o tempo que a cabea de leitura leva para se mover
pela superfcie do disco extremamente lento.
Se um determinado conjunto de dados estiver num mesmo
cilindro, o tempo de acesso a esses dados ser menor.
5.3.3 Demais dispositivos
5

Alm de processador, memrias e discos, um computador


moderno dispe de uma gama de dispositivos de entrada e sada
de dados. Todos eles se comunicam de alguma forma com o
barramento para que os dados possam ser transferidos deles
para a memria principal e vice-versa.

10

Podemos destacar, entre eles, os CD-ROMs (permitem apenas


leitura) e CDs gravveis e regravveis (que permitem a gravao
uma ou muitas vezes), DVDs e Blu-Ray, teclados e mouses (e
outros tipos de dispositivo apontadores como trackballs),
monitores CRT (que usam o tubo de raios catdicos) e LCD
15 (display de cristal lquido), as impressoras de todos os tipos (laser,
jato de tinta e matriciais so as mais comuns) e os dispositivos
de telecomunicaes como modem de linha discada, DSL (digital
subscriber line) e cable modem.
5.3.4 Conjuntos de caracteres
claro que os computadores tm que lidar com todo tipo
20 de informaes, e no apenas nmeros, mas, como veremos na
seo sobre circuitos digitais, o computador s consegue de fato
lidar com valores binrios.
A soluo para permitir que os computadores consigam
lidar com informaes no numricas a criao de tabelas
25 de converso. Essas tabelas so chamadas de conjuntos de
caracteres.
Um dos padres mais conhecidos o ASCII (American
Standard Code for Information Interchange Cdigo Padro
Americano para Intercmbio de Informaes).

43

Unidade II
O ASCII usa sete bits para descrever os caracteres, o que permite
128 combinaes. As tabelas abaixo mostram essas combinaes.
Binrio

44

Decimal Hexa Abreviao

Descrio

0000 0000 00

00

NUL

Null - nulo

0000 0001 01

01

SOH

Start of header - incio do


cabealho

0000 0010 02

02

STX

Start of text - incio do texto

0000 0011 03

03

ETX

End of text - m do texto

0000 0100 04

04

EOT

End of tape - m de ta

0000 0101 05

05

ENQ

Enquire - interroga identidade do


terminal

0000 0110 06

06

ACK

Acknowledge - reconhecimento

0000 0111

07

07

BEL

Bell - campainha

0000 1000 08

08

BS

Back-space - espao atrs

0000 1001 09

09

HT

Horizontal tabulation - tabulao


horizontal

0000 1010 10

0A

LF

Line-feed - alimenta linha

0000 1011 11

0B

VT

Vertical tabulation - tabulao


vertical

0000 1100 12

0C

FF

Form-feed - alimenta formulrio

0000 1101 13

0D

CR

Carriage-return - retorno do
carro (enter)

0000 1110

14

0E

SO

Shift-out - sada do shift

0000 1111

15

0F

SI

Shift-in - entrada no shift

0001 0000 16

10

DLE

Data-link escape

0001 0001 17

11

DC1

Device-control 1

0001 0010 18

12

DC2

Device-control 2

0001 0011 19

13

DC3

Device-control 3

0001 0100 20

14

DC4

Device-control 4

0001 0101 21

15

NAK

Neg-acknowledge - no
reconhecimento

0001 0110 22

16

SYN

Synchronous idle

0001 0111

23

17

ETB

End-of-transmission block

0001 1000 24

18

CAN

Cancel

0001 1001 25

19

EM

End-of-medium

0001 1010 26

1A

SUB

Substitute

0001 1011 27

1B

ESC

Escape

0001 1100 28

1C

FS

File separator

0001 1101 29

1D

GS

Group separator

0001 1110

30

1E

RS

Record separator

0001 1111

31

1F

US

Unit separator

0111 1111

127

7F
DEL
Delete
Tabela 1 Caracteres de controle ASCII

ORGANIZAO DE COMPUTADORES
Binrio

Decimal

Hexa

0010 0000

32

20

0010 0001

33

21

0010 0010

34

0010 0011

35

0010 0100

Caracter

Binrio

Decimal

Hexa

Caracter

Binrio

Decimal

Hexa

Caracter

0100 0000

64

40

0110 0000

96

60

0100 0001

65

41

0110 0001

97

61

22

0100 0010

66

42

0110 0010

98

62

23

0100 0011

67

43

0110 0011

99

63

36

24

0100 0100

68

44

0110 0100

100

64

0010 0101

37

25

0100 0101

69

45

0110 0101

101

65

0010 0110

38

26

&

0100 0110

70

46

0110 0110

102

66

0010 0111

39

27

0100 0111

71

47

0110 0111

103

67

0010 1000

40

28

0100 1000

72

48

0110 1000

104

68

0010 1001

41

29

0100 1001

73

49

0110 1001

105

69

0010 1010

42

2A

0100 1010

74

4A

0110 1010

106

6A

0010 1011

43

2B

0100 1011

75

4B

0110 1011

107

6B

0010 1100

44

2C

0100 1100

76

4C

0110 1100

108

6C

0010 1101

45

2D

0100 1101

77

4D

0110 1101

109

6D

0010 1110

46

2E

0100 1110

78

4E

0110 1110

110

6E

0010 1111

47

2F

0100 1111

79

4F

0110 1111

111

6F

0011 0000

48

30

0101 0000

80

50

0111 0000

112

70

0011 0001

49

31

0101 0001

81

51

0111 0001

113

71

0011 0010

50

32

0101 0010

82

52

0111 0010

114

72

0011 0011

51

33

0101 0011

83

53

0111 0011

115

73

0011 0100

52

34

0101 0100

84

54

0111 0100

116

74

0011 0101

53

35

0101 0101

85

55

0111 0101

117

75

0011 0110

54

36

0101 0110

86

56

0111 0110

118

76

0011 0111

55

37

0101 0111

87

57

0111 0111

119

77

0011 1000

56

38

0101 1000

88

58

0111 1000

120

78

0011 1001

57

39

0101 1001

89

59

0111 1001

121

79

0011 1010

58

3A

0101 1010

90

5A

0111 1010

122

7A

0011 1011

59

3B

0101 1011

91

5B

0111 1011

123

7B

0011 1100

60

3C

<

0101 1100

92

5C

0111 1100

124

7C

0011 1101

61

3D

0101 1101

93

5D

0111 1101

125

7D

0011 1110

62

3E

>

0101 1110

94

5E

0111 1110

126

7E

0011 1111

63

3F

0101 1111

95

5F

Tabela 2 Caracteres imprimveis do padro ASCII

Conforme podemos perceber, esse padro bastante


limitado. Ele contm apenas os caracteres da lngua inglesa,
no contm os acentos necessrios para o portugus, e nem

45

Unidade II
podemos comear a pensar nos idiomas que usam alfabetos
diferentes, como o russo ou o rabe.
Como os computadores hoje so usados em todo o mundo
e os fabricantes desejam que seus produtos sejam usados
5 globalmente, o ASCII no pode mais ser considerado como
um padro aceitvel. Por esse motivo, foi criado outro padro,
chamado UNICODE, patrocinado por um grupo de empresas.
O UNICODE usa 16 bits para descrever cada caractere, o que
permite at 65.536 caracteres diferentes.
10

Mesmo essa quantidade insuciente para abarcar todos


os idiomas falados na Terra. Linguistas estimam que seriam
necessrios cerca de 200.000 caracteres para suportar todos os
idiomas falados atualmente.

O padro UNICODE hoje cobre cerca de 75 alfabetos. Alm


15 dos caracteres latinos, so suportados cirlico, grego, armnio,
hebraico, devangari, gurmuqui, ori, telugu e kanada, entre
outros.

46

ORGANIZAO DE COMPUTADORES

Unidade III
6 CIRCUITOS DIGITAIS
6.1 Sistemas de numerao

O que quer dizer 14?


Sabemos, por fora de educao e hbito, que os algarismos
1 e 4 colocados desta forma representam a quantidade catorze.
No precisamos de nenhuma ferramenta para chegar a essa
5 concluso. Mas isso s verdade se estivermos utilizando o
sistema decimal, de base dez.
Os algarismos 14 poderiam representar as quantidade 20 ou
12, dependendo da base que estiver sendo usada, assim como
os caracteres XIV tambm representam a quantidade catorze, se
10 estivermos utilizando algarismos romanos.
O sistema decimal utilizado hoje de forma padronizada no
dia a dia, seja no comrcio ou em transaes bancrias. No
h necessidade de esclarecer se o valor est expresso na base
decimal ou no.
15

Mas nem sempre foi assim. Diversos povos criaram diversas


formas de representar quantidades, e algumas sobrevivem at
hoje em nosso cotidiano.

Por exemplo, por que estamos acostumados a comprar certas


mercadorias em dzias? Ou por que um minuto tem sessenta
20 segundos e uma hora tem sessenta minutos? Talvez estes sejam
fsseis culturais de sistemas que utilizavam a base doze ou a
base sessenta, em vez da base dez.

47

Unidade III
1210

148
Figura 29 Uma mesma quantidade pode ser representada de formas diferentes

Existem indcios do uso no passado de vrias outras bases


e sistemas numricos, alm desses, como a base vinte, que
ainda pode ser encontrada em certas expresses do idioma
francs, como quatre vingt (quatro vezes vinte) para expressar a
5 quantidade oitenta.
Um sistema numrico conhecido que ainda usado o
sistema romano. Ele usa os caracteres I, V, X, L, C, D e M para
formar valores numricos e totalmente diferente (e muito
mais complexo) do sistema decimal, principalmente por no ter
10 o conceito de posio que existe em sistemas de nmeros-base,
como o decimal.
Para representar a quantidade 419 no sistema romano,
usa-se a representao CDXIX. No nosso objetivo aqui
explicar o funcionamento do sistema romano, mas, apenas
15 para descrever este exemplo, o funcionamento o seguinte:
500 menos 100 (CD) mais 10 (X) mais 9, ou 10 menos 1 (IX).
6.2 Sistema de nmeros-base

O sistema decimal baseado no conceito de aritmtica de


posio. Isso quer dizer que cada casa de um valor expresso no
sistema decimal corresponde a uma potncia da base.
20

48

Como funciona? Partindo da direita para a esquerda, a


primeira casa representa a base elevada potncia 0, a segunda
casa representa a casa elevada potncia 1, a terceira representa
a casa elevada segunda potncia, e assim por diante.

ORGANIZAO DE COMPUTADORES
Ao representar um valor como 419, podemos traduzilo rapidamente para quatro centenas, uma dezena e nove
unidades.

Posio de 100
(102)

Posio de 10
(101)

Posio de 1
(100)

Figura 30 A forma de um nmero decimal

O sistema decimal o mais comum, mas usamos outras bases.


5 Dentro da computao, s vezes necessrio usar as bases 2, 8
ou 16. Esses sistemas so chamados de binrio (base 2), octal
(base 8) e hexadecimal (base 16).
Para representar quantidades nesses sistemas usamos
algarismos organizados da seguinte forma: um sistema numrico
10 de base k requer k smbolos diferentes para representar os
dgitos 0 a k -1. Seguindo esse raciocnio, os nmeros do sistema
decimal so formados a partir de dez dgitos:
0123456789
O sistema binrio usa a base 2 e os seus nmeros so
15 construdos a partir de apenas dois dgitos:
01
Os nmeros octais usam a base 8 e utilizam oito dgitos para
formar seus nmeros:
01234567
20

O sistema hexadecimal usa a base 16 e precisa de dezesseis


algarismos para representar quantidades. Dessa forma, so
necessrios outros smbolos, alm dos nmeros de 0 a 9. Por

49

Unidade III
conveno, usam-se as letras de A a F para representar esses
valores. Assim, os nmeros hexadecimais utilizam os seguintes
caracteres para expressar quantidades:
0123456789ABCDEF
5

Nos quatro sistemas (binrio, octal, decimal e hexadecimal)


o funcionamento o mesmo, variando apenas a base usada. A
casa mais direita corresponde casa de potncia 0 (20, 80, 100 e
160), a casa seguinte esquerda corresponde casa de potncia
1 (21, 81, 101 e 161) e assim por diante, sempre adicionando uma
10 unidade ao expoente da base medida que se vai da direita para
a esquerda.
Pode parecer complexo a princpio, mas todos os sistemas
funcionam de forma anloga ao sistema decimal, que utilizamos
no dia a dia. Basta substituir os conceitos de unidade, dezena e
15 centena por 100, 101 e 102 e a compreenso das outras bases ca
muito mais simples.
Segue abaixo a representao de uma mesma quantidade
(419) nas bases 2, 8, 10 e 16.
Binrio

1x2

1x2

0x2

1x2

0x2

0x2

0x2

1x2

1 x 20

256

+128

+0

+32

+0

+0

+0

+2

+1

6x8
384

4x8
+32

3x 80
+3

Octal

Decimal

4x10 1 x 10 9x 100
400
+10
+9
2

Hexadecimal

1
1x162
256

A
3
10 x
161 3x 160
+160
+3

Figura 31 A quantidade 419 expressa em binrio, octal, decimal e hexadecimal

50

ORGANIZAO DE COMPUTADORES
Se executarmos as somas apontadas, veremos que todas as
representaes se referem ao mesmo valor, a nica diferena
a base.
Na tabela abaixo temos as representaes em binrio, octal
5 e hexadecimal para os valores decimais de 0 a 32.
Decimal

Binrio

Octal

Hexadecimal

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000
10001
10010
10011
10100
10101
10110
10111
11000
11001
11010
11011
11100
11101
11110

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E

31
32

11111
100000

37
40

1F
20

Tabela 3 Correspondncia entre bases

51

Unidade III
6.3 Por que binrio?

Muitas pessoas devem se perguntar por que os engenheiros


de computadores decidiram usar o sistema binrio em vez do
decimal, muito mais natural para todos os usurios (pelo menos
atualmente).
A questo meramente prtica. Conforme vimos acima,
para representar qualquer valor em binrio precisamos de
apenas dois smbolos. muito mais simples criar um dispositivo
que possa detectar dois estados em um circuito eltrico, aceso
e apagado, ou a presena de sinal eltrico e a ausncia de sinal
10 eltrico.
5

Para criar um equipamento que usasse o sistema decimal


internamente seria necessrio que ele pudesse detectar dez
estados eltricos diferentes. Fazendo analogia com uma
lmpada, imagine como pode ser possvel identicar do estado
15 totalmente aceso ao totalmente apagado com oito estados
intermedirios. Se complexo fazer isso a olho nu, imagine como
seria criar um equipamento que pudesse executar essa deteco
com nveis eltricos baixssimos a alta velocidade, dentro de um
microprocessador.
20

Um pequeno erro de deteco de um nvel para outro pode


provocar erros graves de processamento. Por esse motivo, ainda
hoje considerado mais fcil detectar dois nveis eltricos
apenas: voltando analogia da lmpada, apenas totalmente
aceso ou totalmente apagado.

25

Se um dia houver tecnologia capaz de lidar com dez (ou mais)


nveis eltricos, talvez no precisemos mais usar o binrio.
6.4 Converso entre bases

Um valor em decimal expressa uma quantidade que pode


tambm ser expressa em outras bases.

52

ORGANIZAO DE COMPUTADORES
Existem vrias tcnicas para converter de uma base para
outra. Para converter a partir de binrio para octal, basta agrupar
os algarismos em grupos de trs. Cada grupo de trs dgitos
binrios dar origem a uma casa do nmero em octal.
5

10

Para fazer a converso entre binrio e hexadecimal, o


mecanismo o mesmo, bastando usar grupos de quatro dgitos
em vez de trs. Caso seja necessrio, complete o ltimo grupo
esquerda com zeros (o zero esquerda no signicativo,
independentemente da base).
Veja um exemplo desses mtodos na gura abaixo.
Hexadecimal

Binrio

Octal

A
1
6

3
1

0
4

0 0

Figura 32 Converso de binrio para octal e hexadecimal

A converso de decimal para binrio pode ser feita de


duas formas distintas. A primeira forma consiste em subtrair
potncias de 2 do valor decimal. Comeamos identicando
qual a maior potncia de 2 que pode ser subtrada do valor
15 decimal.
Vamos usar o nmero 419 como exemplo. A maior potncia
de 2 que pode ser subtrada dele 256 (28); a potncia seguinte
seria 512, que no pode ser subtrada de 419 sem deixar um
valor negativo. A partir do resto da subtrao (163), repetimos o
20 processo. A maior potncia de 2 que pode ser subtrada de 163
128 (27). O resto dessa subtrao 35, e repetimos esse processo
at que a subtrao resulte em zero. Dessa forma, as potncias
usadas foram: 256 (28), 128 (27), 32 (25), 2 (21) e 1 (20). A soma
desses valores corresponde ao valor original: 419.

53

Unidade III
Dessa forma, as casas do nmero binrio que foram
selecionadas correspondem a 1, as casas que no foram usadas
(potncias 6, 4, 3 e 2) recebero zero.
1 1 0 1 0 0 0 1 1 =28 + 27 + 25 + 21 + 20 = 256 + 128 + 32 + 2 + 1
Figura 33 Converso de decimal para binrio

A outra forma de converso de decimal para binrio


5 usa divises sucessivas por dois. Aps a primeira diviso,
divide-se o quociente por dois novamente at chegar a um
quociente zero.
O nmero binrio ser formado pelos restos das divises,
sendo que o ltimo resto corresponder casa mais esquerda
10 e o primeiro casa mais direita.
419 2
1 209 2
1 104 2
0 52 2
0 26 2
0 13 2
1 6 2
0 3 2
1 1 2
1 0
Figura 34 Converso de decimal para binrio

No h diferena fundamental entre as duas tcnicas, visto


que o resultado deve ser sempre o mesmo.
A converso de decimal para octal e hexadecimal pode
ser feita convertendo-se o nmero em decimal para binrio
15 e depois para as outras bases, ou usando as mesmas tcnicas
de converso de decimal para binrio, mas usando as bases 8
ou 16.

54

ORGANIZAO DE COMPUTADORES
Para converter de octal para hexadecimal ou
vice-versa, a forma mais simples converter o valor para
binrio e depois para a base-destino, usando a tcnica de
agrupamento de bits.
6.5 Soma e subtrao em bases no decimais

Para entender como realizar a soma e a subtrao em bases


diferentes da base decimal, vamos rever com um pouco de
detalhes como fazemos a soma.
Vamos utilizar como exemplo a soma dos valores 93 e 9.
Vai um

Vai um

9
+
1

3
9
2

Figura 35 Soma decimal

Todos sabemos que em uma soma de 3 e 9, devemos usar


10 o vai um, transportando uma unidade para a prxima casa.
O mesmo feito com a soma de 9 mais o 1 que veio da casa
anterior.
Mas o que quer dizer isso?
Essas tcnicas que conhecemos desde o ensino fundamental
15 fazem parte do funcionamento da aritmtica de base, conforme
vimos no decorrer deste captulo.
Quando somamos 3 e 9 e obtemos 12, uma casa decimal
no pode comportar esse valor, pois cada casa decimal pode
conter apenas os valores de 0 a 9. Por isso necessrio

55

Unidade III
transportar unidades de base para a prxima casa. No caso,
transportamos uma unidade, e a diferena (2) ficou na casa
original.
Temos que lembrar que, medida que avanamos para a
5 esquerda nas casas decimais, aumentamos o expoente da base,
por esse motivo o 10 na primeira casa vira 1 na segunda casa.
Isso tudo pode parecer extremamente confuso, mas apenas
porque nos habituamos a fazer essas operaes de forma
automtica.
10

A subtrao funciona da mesma forma. Vamos usar como


exemplo a subtrao de 94 de 103.
Empresta um Empresta um

10

10

1
0

0
9
0

3
4
9

Figura 36 Subtrao decimal

Aqui tambm o conceito de sistema de base est presente,


mas funciona de forma oposta. Ao invs de transportarmos
unidade de base em excesso da direita para a esquerda, temos
15 que emprestar unidades de base faltantes da esquerda para a
direita.
De forma anloga soma, quando trazemos unidade de
base de uma casa esquerda, ela vale uma unidade de potncia
a mais, ou seja, o 1 da terceira casa vem para a segunda casa
20 valendo 10.
Esse mesmo mecanismo de funcionamento pode ser aplicado
a qualquer base no decimal.

56

ORGANIZAO DE COMPUTADORES
Se entendermos o funcionamento do sistema de nmerosbase, a operao apresentada a seguir no parecer nem um
pouco estranha, desde que se saiba que estamos usando a base
binria, claro.
1
+
1
1 0
Figura 37 Soma binria

Como estamos tratando da base 2, cada casa pode apenas


representar os valores 0 e 1, portanto, se a soma ultrapassar
1, devemos transportar uma unidade de base para a prxima
casa.

Novamente, da mesma forma deveremos proceder no caso


10 de somas na base hexadecimal, lembrando que cada casa
pode conter os valores de 0 a F (sendo que F corresponde
quantidade 15).
9E
+ 8E
12C
Figura 38 Soma hexadecimal

57

Unidade IV

Unidade IV
7 LGEBRA BOOLEANA E PORTAS LGICAS

George Boole (1815-1864) criou no sculo XIX um conjunto


de regras que transformaram o estudo da lgica em um campo
da matemtica. At ento, o estudo da lgica era um campo da
losoa, desde a poca de Aristteles. Foi apenas aps o trabalho
5 de Boole e a criao da lgica simblica que a matemtica pde
incorporar o estudo da lgica.
Esse campo seria posteriormente incorporado na construo
de computadores na forma de circuitos digitais. Esses circuitos
esto no corao de todos os computadores, e as funes mais
10 elementares que o computador consegue executar (como
somar dois nmeros e comparar dois nmeros) so na verdade
conjuntos de portas lgicas que implementam funes
booleanas, utilizando um tipo de sinal para representar 0 e
outro tipo para representar 1.
15

O princpio fundamental da lgebra booleana que variveis


podem assumir apenas dois estados: verdadeiro ou falso, 0 ou
1, ligado ou desligado, dependendo do tipo de aplicao em
questo.

Essas variveis serviro de entradas para funes, que vo


20 gerar uma determinada sada, dependendo da funo que esteja
sendo usada.
As funes bsicas da lgebra booleana so E (AND), OU (OR)
e NO (NOT).

58

ORGANIZAO DE COMPUTADORES
Nos exemplos sero utilizados 0 e 1 para descrever as
funes, mas o funcionamento seria o mesmo se utilizssemos
verdadeiro e falso ou qualquer outra dicotomia.
7.1 Funo E

A funo E recebe duas entradas e produz uma sada. A sada


5 ser 1 apenas quando todas as entradas forem 1.
A tabela verdade da funo E mostrada abaixo:
A

A.B

Figura 39 Tabela verdade da funo E

Para expressar a funo E, utilizamos o sinal de multiplicao ().


Uma tabela verdade um recurso para descrever o
funcionamento de uma expresso booleana ou de um circuito.
10 Ela deve conter todas as entradas possveis para a expresso
ou circuito em questo e todas as sadas correspondentes para
essas entradas. Como a funo E tem duas entradas, a tabela
verdade ter 4 linhas (permutao de 2 a 2 ou 22). Se fossem 3
entradas, a tabela teria 8 linhas, se fossem 4 entradas seriam 16
15 linhas e assim por diante.
A funo E tambm pode ser expressa na forma de uma
porta lgica, usando o seguinte smbolo:
A
S

B
Figura 40 Porta E

59

Unidade IV
O funcionamento da porta E exatamente o mesmo da
funo E, mas esta forma mais prtica ao se expressarem
circuitos digitais.
De uma forma resumida, podemos dizer que a sada da
5 funo E ser 1 quando A e B forem 1.
7.2 Funo OU

A funo OU tambm tem duas entradas, mas ela resultar


em uma sada 1 quando qualquer uma das entradas for 1.
A

A+B

1
1
1
Figura 41 Tabela verdade da funo OU

A funo OU pode ser expressa pelo sinal de soma (+), mas


tambm tem sua porta lgica equivalente, conforme a gura
10 seguinte:
A
S

B
Figura 42 Porta OU

O funcionamento da porta OU pode ser resumido da seguinte


forma: a sada ser 1 se A OU B forem 1.
7.3 Funo NO

A funo NO s possui uma entrada e uma sada, e a sada


ser o oposto da entrada.
A

_
A

1
0
Figura 43 Tabela verdade da funo NO

60

ORGANIZAO DE COMPUTADORES
Para expressar a funo NO, usamos um trao (A) sobre a
varivel ou expresso em questo.
A funo NO tambm tem sua porta equivalente, conforme
gura abaixo:
A

S
Figura 44 Porta NO

O funcionamento da funo NO simples de ser entendido,


pois a sada sempre ser o oposto da entrada.
7.4 Funes derivadas

A partir dessas trs funes bsicas podemos gerar


combinaes de portas com propsitos especcos.
7.4.1 NAND
A combinao de um E e um NO seria expressa da seguinte
10 forma: S = (A . B). O circuito equivalente dessa expresso o
seguinte:
A
S

Figura 45 Circuito equivalente funo NAND

Ou simplesmente:
A
S

B
Figura 46 Porta NAND

Observe que a porta NO foi resumida na forma de um


pequeno crculo. Esse smbolo chamado de bolha de inverso.

61

Unidade IV
A porta NO sempre pode ser suprimida para simplicar o
desenho do circuito.
A tabela verdade dessa porta a seguinte:
A

NAND

1
1
0
Figura 47 Tabela verdade da porta NAND

No difcil perceber que essa tabela o exato oposto da


tabela
verdade da funo E.
5
7.4.2 NOR
Tambm podemos adicionar uma inverso a uma porta OU,
criando a seguinte expresso algbrica: S = (A + B). Expressa na
forma de circuito, essa expresso car da seguinte forma:
A
S

Figura 48 Circuito equivalente funo NOR

O que pode ser resumido como:


A
S

B
Figura 49 Porta NOR

62

ORGANIZAO DE COMPUTADORES
A tabela verdade dessa porta a seguinte:
A

NOR

Figura 50 Tabela verdade da porta NOR

Novamente, no difcil perceber que essa porta tem o


funcionamento oposto ao da funo OU.
7.4.3 XOR
A ltima funo derivada a mais interessante das trs
5 e provavelmente a mais til. O XOR, ou OU EXCLUSIVO,
tem o funcionamento parecido com o OU simples, mas ele
retorna 1 apenas quando uma das entradas for 1. Colocado
de uma forma simples, o OU EXCLUSIVO retorna 1 quando
uma de suas entradas for 1, mas no ambas. Ou, ainda de
10 outra forma, ele retorna 1 quando as suas entradas forem
diferentes.
A expresso algbrica que funciona dessa forma talvez no
seja deduzida facilmente, mas uma das alternativas a seguinte:
S = (A . B) + (A . B).
15

O circuito equivalente a essa expresso o seguinte:


A
B
S
A
B
Figura 51 Circuito equivalente porta XOR

63

Unidade IV
O circuito pode ser representado simplesmente como a
seguinte porta:
A
S

B
Figura 52 Porta XOR

A tabela verdade para a porta XOR a seguinte:


A

XOR

Figura 53 Tabela verdade da porta XOR

7.5 Precedncia de funes

A lgebra booleana possui uma ordem de precedncia


5 para suas funes e, alm das funes propriamente ditas,
podemos acrescentar parnteses para modificar essa
ordem.
1- Deve-se calcular o que est contido por parnteses;
2- Deve-se calcular o NO;
10

3- Deve-se calcular o E;
4- Deve-se calcular o OU.
7.6 Equivalncia entre expresses e circuitos

Uma caracterstica interessante da lgebra booleana que


expresses e circuitos podem ser simplicados.

64

ORGANIZAO DE COMPUTADORES
Isso pode ser muito til quando se deseja otimizar um
programa ou um sistema. Para isso podemos usar algumas
identidades da lgebra booleana, conforme a tabela
seguinte:
Nome

Forma E

Forma OU

Lei da identidade

1A=A

O+A=A

Lei do elemento nulo

0A=0

1+A=1

Lei idempotente

AA=A

A+A=A

Lei do inverso

AA=0

A+A=1

Lei comutativa

AB=BA

A+B=B+A

Lei associativa

(AB)C=A(BC)

(A+B)+C=A+(B+C)

Lei distributiva

A+BC=(A+B)(A+C)

A(B+C)=AB+AC

Lei da absoro

A(A+B)=A

A+AB=A

Lei de De Morgan

AB =A+B

A+B =AB

Tabela 4 Algumas identidades da lgebra booleana

7.7 Exemplos de circuitos bsicos

Com base no que vimos at agora, podemos exemplicar


alguns circuitos que so utilizados em computadores
contemporneos. Dicilmente um circuito construdo
porta por porta nos dias de hoje. comum utilizar circuitos
integrados que j trazem dentro de si as funes mais comuns
10 implementadas.
5

7.7.1 Comparador
Um comparador um circuito que, a partir de duas entradas,
indica se os valores so iguais ou no.

65

Unidade IV
O exemplo abaixo compara duas entradas A e B, cada uma
com 4 bits de comprimento e que vai retornar 1 (verdadeiro) se
forem iguais ou 0 (falso) se forem diferentes.
A0
B0
A1
B1
A=B
A2
B2
A3
B3
Figura 54 Comparador de 4 bits

O elemento principal do circuito a porta XOR.


5 Conforme falamos anteriormente, essa porta retornar 1
se as suas entradas forem diferentes. Se as quatro forem
iguais, a porta NOR de sada receber quatro zeros, que, de
acordo com a tabela verdade dessa porta, resultaro em um
resultado 1.
7.7.2 Semissomador
10

A soma uma das nicas operaes matemticas


que podem ser realizadas diretamente pelo hardware do
computador, ou seja, pelos circuitos lgico-digitais.
Para que isso seja possvel, o circuito deve prover os resultados
da tabela verdade exposta abaixo.

66

ORGANIZAO DE COMPUTADORES
claro que estamos falando de um somador de 1 bit. Para
somar valores maiores que isso, dependeremos do prximo
circuito.
A

Soma

Transporte

Figura 55 Tabela verdade para o semissomador

O transporte nada mais que o vai um, conforme vimos na


5 seo sobre operaes em binrio.
Um circuito capaz de produzir essas sadas o seguinte:
A

Soma

Transporte

Figura 56 Circuito para um semissomador

Chamamos esse circuito de semissomador, pois ele trata


apenas do transporte para a prxima casa, e no do transporte
da casa anterior, ou seja, o vem um.
7.7.3 Somador completo
10

Para tratar tanto do transporte para a casa direita como do


transporte para a casa esquerda, precisaremos de um circuito
um pouco mais complexo. Esse circuito chamado de somador
completo.

67

Unidade IV
Vem um
Soma

A
B

Vai um

Figura 57 Circuito para o somador completo

Observe que o somador completo tem trs entradas e duas


sadas. Ele deve tratar tanto dos objetos da soma (A e B) quanto
do vem um.
A

Vem um

Soma

Vai um

Figura 58 Tabela verdade para o somador completo

Para produzir um somador capaz de somar dois nmeros


5 de vrios bits de comprimento, basta alinhar vrios desses
circuitos.
A primeira casa direita ser tratada por um semissomador
que ser conectado (atravs do transporte) a um somador
completo; todas as casas restantes sero tratadas por somadores
10 completos.

68

ORGANIZAO DE COMPUTADORES
7.7.4 Relgios
Um relgio (ou clock) um circuito capaz de gerar um sinal
eltrico em um ritmo constante, o que serve para determinar
uma referncia de tempo para o computador.
Em muitos circuitos digitais, a ordem em que os eventos
5 ocorrem crtica. s vezes um evento deve preceder outro,
outras vezes dois eventos devem ocorrer simultaneamente.
Para que isso seja possvel, os projetistas usam um circuito de
relgio.
O relgio emite uma srie de pulsos com largura
10 especfica, em intervalos consecutivos. O intervalo entre
esses ciclos denominado tempo de ciclo de relgio. Em
geral, esse tempo est entre 1 e 500 Mhz. Para conseguir
isso, a frequncia geralmente controlada por um oscilador
de cristal.
15

Glossrio
Microprocessador

Circuito integrado constitudo por unidade de controle,


registradores e unidade aritmtica e lgica, capaz de
obedecer a um conjunto predeterminado de instrues e
20 ser utilizado como unidade central de processamento de um
microcomputador.

Figura 59 Microprocessador

69

Unidade IV
Rel
Dispositivo eletromecnico ou no, com inmeras aplicaes
possveis em comutao de contatos eltricos, servindo para
ligar ou desligar dispositivos. normal o rel estar ligado a
5 dois circuitos. No caso do rel eletromecnico, a comutao
realizada alimentando-se a sua bobina. Quando uma corrente
originada no primeiro circuito passa pela bobina, um campo
eletromagntico gerado, acionando o rel e possibilitando
o funcionamento do segundo circuito. Sendo assim, uma das
10 aplicabilidades do rel utilizar-se de baixas correntes para
o comando no primeiro circuito, protegendo o operador das
possveis altas correntes que circularo no segundo circuito
(contatos).

Figura 60 Rel

Transistor
15

Pequeno dispositivo semicondutor usado para controlar o


uxo de eletricidade em um equipamento eletrnico (inventado
em 1947, veio substituir as vlvulas terminicas em rdio e
televiso).

Figura 61 Transistores

70

ORGANIZAO DE COMPUTADORES
Vlvula
Dispositivo eletrnico no qual os eltrons se deslocam
no vcuo ou num meio gasoso, no interior de um invlucro
hermtico.
5

Na vlvula terminica, a emisso de eltrons produzida


pelo calor do eletrodo.

Figura 62 Vlvula

Referncias bibliogrcas
CARROL, Paul. Big blues: a derrocada da IBM. Rio de Janeiro:
Ediouro, 1994.
GREGG, John. Ones and zeroes: understanding boolean algebra,
digital circuits and the logic of sets. Hoboken, New Jersey: John
Wiley and Sons, 1998.
LIVIO, Mario. Razo urea: a histria de Fi, um nmero
surpreendente. Rio de Janeiro: Record, 2006.
SINGH, Simon. O livro dos cdigos. Rio de Janeiro: Record,
2001.

71

Unidade IV
TANEMBAUM, Andrew S. Organizao estruturada de
computadores. 5. ed. So Paulo: Pearson Prentice Hall, 2007.
http://www.asciitable.com/. Consultado em 27/12/2008.

72

Potrebbero piacerti anche