Sei sulla pagina 1di 11

Fundamentos da Computao

LFG-TI

Um sistema analgico contm dispositivos que manipulam


quantidades fsicas que so repressentadas na forma
analgica. Em sistemas analgicos, as quantidaddes fsicas
podem variar ao longo de uma faixa continua de valores.
Por exemplo, as quantidades fsicas podem variar ao longo
de uma faixa continua de valores. Por exemplo, a
amplitude do sinal de sada de um alto-falante em um
receptor de rdio pode apresentar qualquer valor entre
zero e o seu valor mximo (limite). Outros sistemas
analgicos comuns so amplificadores de udio,
equipamentos de gravao/reproduo de fita magntica e
um simples reguladore de luminosidade (dimmer).

Apostila de Informtica
I.

Fundamentos de computao

1.1.
Introduo
A Informtica atua em todas as reas do conhecimento
humano. A sua utilizao passou a ser um diferencial para
pessoas e empresas, visto que, o controle da informao
passou a ser algo essencial para se obter maior
flexibilidade no mercado. Assim, o profissional, que
melhor integrar sua rea de atuao com a informtica,
atingir, com mais rapidez, os seus objetivos e,
conseqentemente, o seu sucesso.
Ento o que vem a ser um computador? um sistema
constitudo por HARDWARE , SOFTWARE e
PEOPLEWARE.

O que um computador digital?


Um computador digital uma combinao de dispositivos
e circuitos digitais que podem realizar uma seqncia
programada de operaes com mnima interveno
humana. A seqncia de operaes chmada de
programa. O programa um conjunto de instrues
codificadas que armazenado na memria interna do
computador juntamente com todos os dados de que o
programa necessita. Quando o computador comandado a
executar o programa, ele executa as instrues na ordem
em que foram armazenadas na memria at que o
programa termine. Ele faz isso em uma velocidade
extremamente alta.

HADWARE Parte fsica


COMPUTADOR

SOFTWARE Parte lgica


PEOPLEWARE - Usurio

1.2.

A
evoluo
dos
Computadores
Eletrnicos.
Os computadores eletrnicos evoluram baseados
em quatro geraes assim descritas:
1 Gerao(1951 1958) Tinham como caracterstica
principal o uso de vlvulas, alto consumo de energia e
tamanho aproximado de 140m2 , geravam uma grande
quantidade de calor.
2 Gerao(1959 1965) Tinham como caracterstica
principal o uso de transistores, elemento que revolucionou
o mundo da eletrnica, dando aos computadores mais
rapidez e um tamanho bem menor que a gerao anterior.
3 Gerao(1965 1969) Tinham como caracterstica
principal o tamanho reduzido para mdio e pequeno porte,
ainda com o lanamento do IBM/360 esses computadores
passaram a possuir a tecnologia dos circuitos integrados
no seu modo primrio.
4 Gerao(1970 at os dias atuais) Caracterstica
principal: domnio da tecnologia dos Circuitos Integrados
(semicondutores a silcio) CHIP VLSI. Os processadores
atuais utilizam de 22 a 30 milhes de transistores
integrados na pastilha de silcio.

II.

Como os computadores pensam?


Computadores no pensam! O programador do
computador fornece um programa de instrues e de
dados que especificam cada detalhe sobre o que fazer e
quando fazer. O computdor simplesmente uma mquina
de alta velocidade que pode manipular dados, resolver
problemas e tomar decises, tudo isso sob o controle de
um programa. Se o programador cometer um erro no
programa ou entrar com os dados errados, o computador
produzir resultados incorretos. Um ditado popular na
computao diz lixo na entrada lixo na sada.
A organizao bsica de um computador.
A organizao bsica de um computador consiste em
mquinas que podem ser divididas em at seis nveis. O
esquema abaixo mostra cada um dos nveis e o estado de
cada nvel em relao a atuao de cada nvel.
Comeando pelo nvel 0, na parte mais baixa do esquema
temos ai o hardware da mquina. Abaixo desse nvel ainda
poderamos falar do circuito eletrnico propriamente dito,
mas isso no pertence ao escopo dos concursos para
analistas de sistemas e sim para engenheiros eletricistas
que precisam saber o a constituio fsica do transistor
entre outras coisas. Dos padres que frequentemente
aparecem em concursos para analistas de sistemas o nvel
mais baixo que estudaremos ser o da lgica digital, nvel
0, onde so encontradas as portas (AND, OR, NOT, XOR)
aquelas que possuem entradas binrias, e so compostas
de transistores formando as portas. As portas podem
formar, por exemplo, as memrias de 1 bit e que
conjulgadas formam os registradores.
Cada um dos seis nveis podem assim serem descritos:

Organizao e Arquitetura de
Computadores

Sistemas Analgicos e Digitais.


Um sistema digital uma combinao de dispositivos
projetados para manipular informao lgica ou
quantridades fsicas que so representadas no formato
digital; ou seja, assim as quantidades podem assumir
apenas valores dicretos. Esses dispositivos so na maioria
das vezes eletrnicos, mas podem, tambe, ser mecnicos,
magnticos ou pneumticos. Alguns dos sistemas digitais
mais conhecidos so s computdores digitais e as
calculadoras, os equipamentos digitais de udio e vdeo e
o sistema de telefonia (o maior sistema digital do mundo).

www.concursosdeti.com.br

Prof. Bruno Guilhen

www.brunoguilhen.com.br

Fundamentos da Computao

LFG-TI

Prof. Bruno Guilhen

Nvel 0 NVEL LGICO DIGITAL


considerado o hardware do computador sendo
formado pelos circuitos eletrnicos (transistores),
UCP, memria, disposistovos de E/S,
dispositivos de comunicao e interfaces.
Serve para executar as microinstrues do nvel
1.

do firmware, bem como, flexibilizar e possibitar


o desenvolvimento de instrues mais potentes
em nvel de mquina convencional.
A seguir possvel acompanhar o esquema de um
compudor dividido em seis nveis.

Nvel 1 NVEL DE MICROARQUITETURA


Nesse nvel os registradores formam a memria
local e um circuito denominado ALU (Unidade
Lgica e Aritmtica) que capaz de operaes
aritmticas simples.
o verdadeiro nvel de linguagem de mquina. O
microprograma,
residente
em
memria
permanente (ROM), compe o que conhecido
por firmware em tem por funo interpretar e
traduzir as instrues que lhe so submetidas
pelos nveis superiores.
Nem todas as mquinas possuem este nvel como
o caso das mquinas RISC.
Algumas
vantagens
do
nvel
de
microprogramao sode falicitar o projeto e a
construo dos circuitos digitais, atravs da
implementao de parte da lgica digital dentro

Traduo (compilador)
Nvel de linguagem de montagem (Assembly)

Nvel 5

Nvel 4

Nvel 3

Nvel 2

Nvel 1
Nvel 0

Nvel de linguagem orientado a problemas

Traduo (assembler)
Nvel do Sistema Operacional da mquina
Interpretao parcial (S.O.)
Nvel de Arquitetura de conjunto de
Instrues
Interpretao (microprograma)
Nvel de Microarquitetura
Hardware
Nvel lgico digital

MEMRIA
CENTRAL
( RAM / ROM)

PERIFRICOS
DE ENTRADA

U.C.P.
(U.L.A. / U.C./REG)

PERIFRICOS
DE
SAIDA

M E M R IA
SE C U N D R IA
Figura 1 Organizao bsica de um computador
temporrio para os dados dentro do CPU sem necessidade
Todos os computadores contm cinco elementos ou unidades
de acessar a memria externa.
essenciais: a unidade lgica e aritmtica (ULA ou ALU), a
unidade de memria, a unidade de controle, a unidade de
entrada e a unidade de sada. A interconexo bsica dessas
III.
Sistema de Numerao e Codificao
unidades mostrada na figura 1. As setas indicam a direo
Infelizmente, o sistema de numerao decimal no
na qual os dados, as informaes ou os sinais de controle
conveniente para ser implementado em sistemas digitais.
esto fluindo.
Por exemplo, muito difcil projetar um equipamento
Na figura 1, a ULA e a unidade de controle so mostradas
eletrnico para que ele opere com dez nveis de tenso
combinadas em uma unidade denominada Unidade Central
diferentes (cada um representando um caractere decimal, 0
de Processamento (UCP ou CPU). Isso feito para separar
a 9). Por outro lado, muito fcil projetar um circuito
o crebro real do processador das outras unidades. Em um
eletrnico simples e preciso que opere com apenas dois
microprocessador, a CPU usualmente implementada em
nveis de tenso. Por esse motivo, quase todos os sistemas
um nico chip, o microprocessador. A CPU tambm tem um
digitais usam o sistema de numerao binrio (base 2)
conjunto de registradores que realiza funes especiais.
como sistema bsico de numerao para suas operaes,
Esses registradores tambm possibilitam o armazenamento

www.concursosdeti.com.br

www.brunoguilhen.com.br

Fundamentos da Computao

LFG-TI

embora outros sistemas de numerao sejam, muitas vezes,


usados juntamente com o sistema binrio.
No sistema binrio h apenas dois smbolos ou valores
possveis para os dgitos: 0 e 1, esse ssutena de base e
tambm pode ser usado para representar qualquer quantidade
que possa ser representada em decimal ou em qualquer outro
sistema de numerao. Entretanto, comum que o sistema
binrio use um numero maior de dgitos para expressar um
determinado valor.
No sistema binrio, o termo digito binrio (binary digit)
quase sermpre abreviado com o uso do termo bit, o qual ser
usado a partir de ento.

ndice indicando a base em que est representado. Tem-se


portanto, a seguinte equivalncia:
101002 = 248 = 2010 = 1416
Teorema da Representao por Base
Seja k qualquer inteiro maior que 1 (lembre que a palavra
inteiro usada apenas para nmeros representados na base
decimal). Ento, para cada inteiro positivo n, existe uma
representao (a prova deste teorema voc encontra em
qualquer bom livro de teoria numrica, como por exemplo,
o de George E. Andrews).
n = a0ks + a1ks-1 + ... + as
onde a0>0 e cada ai um inteiro no negativo maior que k.
Esta representao de n unica e chamada de
representao de n na base k. Exemplos:

O Byte
A maioria dos microcomputaodres manipula e armazena
informaes e dados binrios em grupos de 8 bits, de modo
que uma seqncia de 8 bits recebe um nome especial: ela
denominada byte. Um byte constitudo sempre de 8 bits e
pode representar quaisquer tipos de dados ou informaes.
Como o computador utiliza dezenas, centenas e at bilhes
de bytes, utiliza-se certas unidades de medida em bytes,
como:
1 Kilobyte = 1 KB
1 Megabyte = 1MB
1 Gigabyte = 1GB
1 Terabyte = 1TB
1 Petabyte = 1PB
1 Exabyte = 1EB

1210 = 1.101 + 2.100 = 1210


1710 = 1.161 + 1.160 = 1116
1210 = 1.23 + 1.22 + 0.21 + 0.20 = 11002
1210 = 1.81 + 4.80
Nos prximos captulos esse assunto de mudana de base
ser melhor abordado.

210 = 1.024 bytes (aprox.


mil bytes)
220 = 1024 KB (aprox. 1
milho de bytes)
230 B= 1.024 MB (aprox. 1
bilho de bytes)
240 B= 1.024 GB (aprox. 1
trilho de bytes)
250 B = 1024 TB
260B = 1024 PB

Converso entre Diferentes Bases


As bases octal e hexadecimal tambm so muito teis em
computao. A base octal representada com 8 dgitos que
variam entre 0 e 7. A base hexadecimal composta por
dgitos e letras da seguinte forma: 0 a 9 e as letras a, b, c, d,
e e f. A seguir ser trabalhado os principais mtodos de
converso em base. Lembre-se de que precisamos de 3 ou 4
dgitos binrios para a mudana de base octal e
hexadecimal, respectivamente.
Sistema de numerao binrio
O sistema de numerao binrio o mais importante
sistema de numerao em sistemas digitais, um sistema
posicional em que cada digito (bit) possui um certo peso de
acordo com a posio relativa do bit menos significativo
(LSB).

Base de um Sistema de Numerao


Como se sabe, em Eletrnica e Computao, as bases mais
utilizadas para sistemas de numerao so:
Binria (Base 2)
Octal (Base 8)
Decimal (Base 10)
Hexadecimal (Base 16)
Uma relao entre elas pode ser visualizada na tabela a
seguir
Binria Octal Decimal Hexadecimal
00000
00
00
00
00001
01
01
01
00010
02
02
02
00011
03
03
03
00100
04
04
04
00101
05
05
05
00110
06
06
06
00111
07
07
07
01000
10
08
08
01001
11
09
09
01010
12
10
0A
01011
13
11
0B
01100
14
12
0C
01101
15
13
0D
01110
16
14
0E
01111
17
15
0F
De acordo com a tabela acima, o nmero decimal 20
representado por 2010, isto , escreve-se o nmero e um

www.concursosdeti.com.br

Prof. Bruno Guilhen

Binrio para Decimal


1001101(2) = 1x26+0x25+0x24+1x23+1x22+0x21+1x20
= 64 + 0 + 0 + 8 + 4 + 0 + 1
1100101(2) = 77(10)
Decimal para Binrio
H duas maneiras de converter um nmero decimal inteiro
para seu equivalente no sistema binrio. O primeiro mtodo
quando o nmero decimal simplesmente expresso como
uma soma de potncias de 2, e os bits 1s e 0s so colocados
nos locais apropriados. Exemplo:
45(10) = 32 + 8 + 4 + 1 = 25 + 0 + 23 + 22 + 0 + 20
= 1 0 1 1 0 1(2)
45(10) = 101101(2)
Observe que um bit 0 colocado nas posies 21 e 24, visto
que, todas as posies tm de ser consideradas.
Um outro exemplo de converso de decimal para binrio
o mtodo de divises sucessivas por 2. Nesse mtodo
executa-se a diviso sucessiva pelo decimal 2 at achar um
quociente 0, achando zero no quociente pega-se os restos

www.brunoguilhen.com.br

Fundamentos da Computao

LFG-TI

Prof. Bruno Guilhen

O sistema de numerao hexadecimal usa a base 16. Assim,


ele tem 16 smbolos. Vale lembrar que cada dgito
hexadecimal representado por um grupo de 4 digitos
binrios. E os dgitos hexadecimais de A at F so
equivalentes aos valores decimais de 10 at 15.

dessa diviso (que sempre 0 ou 1) pegando da direita para


a esquerda (ser escrito de modo inverso) onde o primeiro
binrio ( o mais significativo, aquele que fica mais a
esquerda) ser o ltimo resto.
Por exemplo, o nmero 25 na base decimal quando
convertido em binrio por esse mtodo fica:

Converso de hexadecimal para decimal


Um nmero hexadecimal pode ser convertido para seu
equivalente decimal devido ao fato de que a posio de
cada digito hexa tem um peso que uma potncia de 16. De
acordo com os mesmos mtodos utilizados anteriormente.
Veja um exemplo de converso do nmero 356 da base
hexadecimal para a base decimal.

25
12 + o resto 1
2
12
6 + o resto 0
2
6
3 + o resto 0
2
3
1 + o resto 1
2
1
0 + o resto 1
2

356(16) = 3 x 162 + 5 x 161 + 6 x 160


356(16) = 854(10)
2AF(16)= 2 x 162 + 10 x 161 + 15 x 160
2AF(16) = 687(10)

25(10) = 1

Converso de decimal para hexadecimal


Nesse caso o mtodo de divises sucessivas ser usado
novamente, s que neste caso essa diviso ser por 16. Veja
a converso do decimal 42310 para Hexadecimal.

1(2)

Usando N bits, pode-se representar nmeros decimais na


faixa de 0 a 2N 1, em um total de 2N nmeros diferentes.

423
26 + o resto 7
16
26
1 + o resto 10
16
1
0 + o resto 1
16

Sistema de numerao Octal.


O sistema de numerao octal muitas vezes utilizado no
trabalho com computadores digitais. O sistema octal tem
base oito, o que significa que ele tem oito dgitos possveis:
0, 1, 2, 3, 4, 5, 6, 7, 8. Assim cada dgito de um nmero octal
pode ter qualquer valor de 0 a 7.

423(10) = 1

Converso de octal para decimal

Cdigo ASCII
Antes de maio de 1961 a maioria dos sistemas de
computadores tinha uma maneira particular de representar
os caracteres alfanumricos.
Assim, foi proposto o uso de um cdigo comum, a fim de
possibilitar a comunicao entre os computadores,
objetivando permitir a troca de dados entre mquinas de
diferentes tipos e fabricantes.
O "American National Standards Institute" aceitou a
proposta de Robert W. Bemer e sua equipe para
desenvolver o "American Standard Code for Information
Interchange" (Cdigo Padro Norte-americano para
Intercmbio de Informaes), hoje conhecido como cdigo
ASCII.
Assim, ASCII um cdigo numrico usado para
representar os caracteres, entendido por quase todos os
computadores, impressoras e programas de edio de texto,
que usa a escala do decimal 0 a 127. No modo extendido o
ASCII forma 256 caracteres.
baseado no alfabeto romano, como usado no idioma
ingls moderno, e visa padronizar a forma pela qual os
computadores representam letras, nmeros, acentos e sinais
diversos ( por exemplo: <, {, ] ) e alguns cdigos de
controle ( <Crtl> ) que so utilizados para converter todos
os smbolos em nmeros binrios, os quais efetivamente
podem ser processados.
O cdigo permite no s uma melhor compreenso sobre a
lgica do funcionamento do computador, mas, tambm,

-1

24,6(8) = 2x(8 ) + 4x(8 ) + 6x(8 )


= 20,75(10)
Converso de decimal para octal.
Um nmero decimal pode ser convertido para octal usando o
mesmo mtodo de divises sucessivas que foi usadona
converso de decimal para binrio, porm com um fator de
diviso 8 em vez de 2.
Veja um exemplo de converso do nmero 26610 para a base
octal.

266
33 + o resto 2
8
33
4 + o resto 1
8
4
0 + o resto 4
8
266(10) = 4

2(8)

Sistema de numerao Hexadecimal

www.concursosdeti.com.br

7(16)

Cdigos Alfanumricos

372(8) = 3x(82) + 7x(81) + 2x(80)


= 250(10)
1

www.brunoguilhen.com.br

Fundamentos da Computao

LFG-TI

possibilita a utilizao de caracteres, cujos smbolos no


aparecem no teclado.
importante notar que h apenas 95 caracteres que podem
ser impressos. E eles so numerados de 32 a 126, pois os
primeiros cdigos (de 0 a 31) foram reservados para
caracteres de controle, ou seja, que controlam funes ou
equipamentos. Esses caracteres de controle tiveram sua
origem nos primrdios da computao, quando eram
utilizadas mquinas Teletype (como mquinas de escrever
eletro-mecnicas), fitas de papel perfurado e impressoras de
Caracter
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI
DLE
D1
D2
D3
D4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US
Espao
!
"
#
$
%
&
'
(
)
*
+
,
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?

Decimal
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

www.concursosdeti.com.br

Hexadecimal
0
1
2
3
4
5
6
7
8
9
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F

Prof. Bruno Guilhen

cilindro, portanto muitos deles so dirigidos a estes


equipamentos. Por exemplo:
- o carter 10 representa a funo "LINE FEED", que faz
com que uma impressora avance seu papel,
- o carter 24 representa a funo "cancel",
- o carter 27 representa a funo "escape" determinada
pela tecla <ESC>, encontrada no canto superior esquerdo
nos teclados.

Binrio
0000 0000
0000 0001
0000 0010
0000 0011
0000 0100
0000 0101
0000 0110
0000 0111
0000 0100
0000 1001
0000 1010
0000 1011
0000 1100
0000 1101
0000 1110
0000 1111
0001 0000
0001 0001
0001 0010
0001 0011
0001 0100
0001 0101
0001 0110
0001 0111
0001 1000
0001 1001
0001 1010
0001 1011
0001 1100
0001 1101
0001 1110
0001 1111
0010 0000
0010 0001
0010 0010
0010 0011
0010 0100
0010 0101
0010 0110
0010 0111
0010 1000
0010 1001
0010 1010
0010 1011
0010 1100
0010 1101
0010 1110
0010 FFFF
0011 0000
0011 0001
0011 0010
0011 0011
0011 0100
0011 0101
0011 0110
0011 0111
0011 1000
0011 1001
0011 1010
0011 1011
0011 1100
0011 1101
0011 1110
0011 1111

Comentrio
Caracter Nulo
Comeo de cabealho de Tx
Comeo de texto
Fim de texto
Fim de transmisso
Interroga
Confirmao
Sinal sonoro
Volta um caracter
Tabulao Horizontal
Prxima linha
Tabulao Vertical
Prxima Pgina
Incio da Linha
Shift-out
Shift-in
Data link escape
Controle de dispositivo
Controle de dispositivo
Controle de dispositivo
Controle de dispositivo
Negativa de Confirmao
Synchronous idle
Fim de transmisso de bloco
Cancela
Fim de meio de transmisso
Substitui
Escape
Separador de Arquivo
Separador de Grupo
Separador de registro
Separador de Unidade

www.brunoguilhen.com.br

Fundamentos da Computao
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
DELETE

64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127

LFG-TI
40
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
50
51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F
60
61
62
63
64
65
66
67
68
69
6A
6B
6C
6D
6E
6F
70
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
7F

Prof. Bruno Guilhen

0100 0000
0100 0001
0100 0010
0100 0011
0100 0100
0100 0101
0100 0110
0100 0111
0100 1000
0100 1001
0100 1010
0100 1011
0100 1100
0100 1101
0100 1110
0100 1111
0101 0000
0101 0001
0101 0010
0101 0011
0101 0100
0101 0101
0101 0110
0101 0111
0101 1000
0101 1001
0101 1010
0101 1011
0101 1100
0101 1101
0101 1110
0101 1111
0110 0000
0110 0001
0110 0010
0110 0011
0110 0100
0110 0101
0110 0110
0110 0111
0110 1000
0110 1001
0110 1010
0110 1011
0110 1100
0110 1101
0110 1110
0110 1111
0111 0000
0111 0001
0111 0010
0111 0011
0111 0100
0111 0101
0111 0110
0111 0111
0111 1000
0111 1001
0111 1010
0111 1011
0111 1100
0111 1101
0111 1110
0111 1111

Tabela ASCII Extendida.


Representa caracteres extras, caracteres de lnguas mortas e
caracteres especiais para desenhos. caracteres especiais

para desenhas figures

www.concursosdeti.com.br

www.brunoguilhen.com.br

Fundamentos da Computao

LFG-TI

Prof. Bruno Guilhen

= Universal Character Set = Conjunto Universal de


Caracteres".
O Unicode fornece um nmero nico para cada caractere,
no importando a plataforma (a mquina e/ou sistema
operacional em uso), o programa ou o idioma. Foi
desenvolvido para resolver problemas que existiam com
outros sistemas de codificao, pois no eram suficientes
para suportar todos os caracteres e idiomas.
Vrios sistemas operacionais, programas e browsers
modernos suportam o Unicode. Sua criao foi baseada na
tabela ASCII. Existem diversas normas e/ou padres da
ISO, dentre eles o ISO 8859-X que define o conjunto
completo de alfabetos de todos os idiomas. O ISO 8859-1,
por exemplo o padro Latin-1 (Alfabeto Latino 1) que ns
usamos. Este padro est sendo largamente implementado e
j pode ser visto como um substituto para o padro ASCII
(que definido pelo ISO 646).
Usurios do browser Mozilla Firefox 1.0 (para Windows)
podem clicar em View" ou "Exibir em seguida em
Character Encoding" ou "Codificao para verificar a
opo Western (ISO 8859-1)" marcada. Para ver outras
opes de codificao, basta clicar em More Encodings"
ou "Mais. No Internet Explorer 6, esta opo parecida,
onde podemos ver "Europeu Ocidental (Windows)
marcada.
Dica: Quando acontecer de voc acessar um site (usando o
Firefox) e os caracteres da pgina no ficarem
completamente legveis, ou seja, faltando acentuao,
caracteres truncados ou estranhos, certifique-se de que o
cdigo de caracteres esteja marcado como Western (ISO
8859-1) . Isto vale tambm para os browsers do Linux
Mozilla, Galeon, Konkeror, etc. No caso do Internet
Explorer, o mesmo emitir um aviso de instalao sob
demanda para o idioma usado no referido site.
No exemplo da figura 40, podemos ver o Mapa de
Caracteres do Windows XP. Para ter acesso a esse mapa,
basta clicar em "Iniciar\Programas\Acessrios\Ferramentas
do Sistema\Mapa de Caracteres".
Caso no encontre nesse caminho, possvel que no esteja
instalado. Neste caso, ser necessrio ir ao Painel de
Controle, clicar em Adicionar ou Remover Programas,
inserir o CD do Windows e adicionar o Mapa de
Caracteres.

Como conseguir um caracter que no est no teclado


Pressionando a tecla <ALT> e o nmero do caracter (D)
aparecer o dgito correspondente em um processador de
texto.
Faa uma experincia: abra o Word ou o Notepad, pressione
<Alt> e o nmero 65 (no teclado numrico ativado). Levante
os 2 dedos juntos. Deve surgir a letra A maiscula na tela do
programa.
Outras codificaes
H vrios conjuntos de caracteres hoje em dia. Por exemplo,
h um conjunto de caracteres denominado ISO, similar ao
ASCII, que contm caracteres adicionais para as linguagens
europias.
Tambm h conjunto de caracteres que se constitui em um
padro mais universal chamado ISO Latin 1, que usado em
muitos sistemas operacionais e em programas para
navegao na Internet.
Duas das mais importantes codificaes atualmente
utilizadas so:
ISO: "International Standardization Organization". o
padro ocidental, utilizado tambm no Brasil.
Cada caractere s possui 1 byte ( 8 bits ), gerando um
mximo de 256 caracteres.
UTF-8: "Unicode Transformation Format-8". o padro
mundial, que pode ser usado em quase todos os idiomas.
Cada caracter possui 2 bytes ( 16 bits ), o que permite um
valor mximo bem maior que o anterior: 65.536 caracteres.
Nota: Arte ASCII aquela onde os nicos elementos
utilizados so os caracteres disponveis no teclado do
computador.
O UNICODE
Unicode o padro universal de codificao de caracteres.
Essa codificao existe em trs formas: em 8 bits (UTF-8,
baseado no ASCII), 16 bits (UTF-16) e 32 bits (UTF-32).
Foi criado pelo Consrcio Unicode e baseado no padro
ISO 10646 (ISO = International Organization for
Standardization
=
Organizao
Internacional
de
Padronizao). O Unicode tambm conhecido como "UCS

www.concursosdeti.com.br

www.brunoguilhen.com.br

Fundamentos da Computao

LFG-TI

bit de mais alta ordem, como por exemplo o bit 31 numa


palavra de 32 bits.
Como o tamanho de uma palavra manipulada por um
computador tem tamanho limitado, os nmeros que podem
ser representados tambm tm tamanho limitado. Se o
tamanho de uma palavra igual a n bits, o maior nmero
possvel de ser representado igual a 2n. Se ao realizarmos
operaes sobre os nmeros, elas gerarem resultados que
no podem ser representados na quantidade de bits
reservados ocorre o que denominados de overflow
(nmeros muito grandes) ou underflow (nmeros muito
pequenos). Tanto o overflow quanto o underflow geram
excees e so tratados pelo sistema operacional.
Os computadores manipulam tanto nmeros positivos
quanto nmeros negativos, que so representados em
complemento a 2. Nesta conveno os nmeros que
possuem 0s esquerda so considerados positivos e os
nmeros com 1s esquerda so considerados negativos. O
complemento a 2 obtido invertendo-se o nmero binrio e
depois somando 1 a este valor. Porm, uma regra simples
para transformar um nmero binrio em sua representao
em complemento a 2 a seguinte:
1) copie da direita para a esquerda todos os bits at
encontrar o primeiro bit 1 inclusive e
2) inverta todos os demais bits logo abaixo esta ilustrado
um exemplo da obteno de representao em
complemento a 2 de um nmero binrio com 4 dgitos.

Figura 40 Mapa de Caracteres do Windows XP


Ainda no exemplo da figura 40, preciso ressaltar que:
1. Os caracteres mudam de acordo com o tipo de fonte
escolhida. Portanto, vai depender do nmero de fontes que
estiver instalado em seu computador;
2. Para que voc tenha a mesma viso da tabela acima,
necessrio marcar a caixa "Modo de exibio avanado";

IV.

0110 = 6 na base 10
1001 (nmero binrio invertido)
+ 0001 (soma com 1)
1010 (complemento a 2)
usando a regra:
0110 ->1010

Aritmtica Computacional

As palavras de um computador so compostas por bits e


podem representar nmeros armazenados na memria. Estes
nmeros podem ter diferentes significados, como inteiros ou
reais, serem positivos ou negativos. A manipulao dos
nmeros inclui operaes de soma, subtrao, multiplicao
e diviso.
O objetivo deste captulo mostrar como o hardware
implementa a representao dos nmeros, os algoritmos
adequados para operaes aritmticas e sua implicao no
conjunto de instrues da mquina.

A respresentao em complento a 2 tem a vantagem de


representar nmeros negativos sempre com o bit 1 em sua
posio mais significativa. Assim, o hardware s precisa
testar
este bit para verificar se o nmero positivo ou negativo.
Este bit conhecido como bit de sinal. A seguir est
representada uma seqncia de nmeros binrios (8 dgitos)
representados em complemento 2.
0000 0000 = 0
0000 0001 = 1
0000 0010 = 2
0000 0011 = 3
.............
0111 1101 = 125
0111 1110 = 126
0111 1111 = 127
No conjunto acima nota-se que o nmero mais a esquerda
zero, logo o nmero positivo.
.............
1000 0001 = -127 (o nmero mais a direita indica o sinal)
1000 0010 = -126
1000 0011 = -125
.............
1111 1101 = -3
1111 1110 = -2
1111 1111 = -1
No conjunto acima nota-se que o nmero mais a esquerda
um, logo o nmero negativo.

Nmeros com Sinal e Nmeros sem Sinal


Os nmeros podem ser representados em qualquer base.
Porm, a base 2 a mais adequada para os computadores
porque tratam com somente dois valores 0 e 1. Estes valores
so implementados facilmente atravs de circuitos eltricos.
Da aritmtica temos que, em qualquer base, o valor do isimo dgito d de um nmero dado por: d x basei, onde i
comea em 0 e cresce da direita para a esquerda, de acordo
com a posio ocupada pelo dgito. Por exemplo, o nmero
1011 na base dois igual a:
(1x23) + (0x22) + (1x21) + (1x20) = (1x8) + (0x4) + (1x2) +
(1x0) = 8 + 0 + 2 + 1 = 11.

Portanto, os bits so numerados como 0,1,2,3,... da direita


para a esquerda em uma palavra.
Utilizamos a expresso bit menos significativo para designar
o bit 0, e a expresso bit mais significativo para designar o

www.concursosdeti.com.br

Prof. Bruno Guilhen

www.brunoguilhen.com.br

Fundamentos da Computao

LFG-TI

Prof. Bruno Guilhen

Adio e Subtrao
Numa soma os bits so somados um a um da direita para a
esquerda, com os carries sendo passados para o prximo bit
esquerda. A operao de subtrao usa a adio. O
subtraendo simplesmente negado antes de ser somado ao
minuendo. Lembre-se que a mquina trata com nmeros
representados em complemento a 2. A seguir mostr-se as
operaes de soma (6+7) e subtrao (7-6) bit a bit entre
dois nmeros representados com 4 dgitos binrios.
710 = 0 1 1 12
610 = 0 1 1 02
1310 = 1 1 0 12
110 = 0 0 0 12
Construo de uma Unidade Lgica Aritmtica
A unidade lgica aritmtica (ALU Arithmetic Logic Unit)
o dispositivo que realiza as operaes lgicas e
aritmticas, definidas pelo conjunto de instrues, dentro do
processador.
A ALU construda basicamente por quatro blocos bsicos
de hardware: portas AND, portas OR, NOT (inversores) e
multiplexadores.
As implementaes de operaes lgicas so as mais
simples de serem realizadas, pois elas so mapeadas
diretamente com componentes do hardware.
A prxima funo a ser includa a adio. Supondo que
temos apenas um bit para ser somado, necessitamos de um
circuito com duas entradas para os operandos, uma sada
para a soma resultante, uma entrada relativa ao carry in e
uma sada para o carry out. A Figura 41 mostra este
somador.

Como citado anteriormente, tanto a soma como a subtrao


podem gerar overflow ou underflow, se o resultado obtido
no puder ser representado pela quantidade de bits que
formam uma palavra. Se somarmos ou subtrairmos dois
nmeros com sinais contrrios, nunca ocorrer overflow ou
underflow. Isto porque operandos com sinais contrrios
nunca podem ser maior do que qualquer dos operandos.
O overflow ocorre quando somamos dois operandos
positivos e obtemos um resultado negativo, ou vice-versa.
Isto significa que utilizamos o bit de sinal, gerando um
carry, para armazenar um valor pertencente ao resultado da
operao. Raciocnio semelhante realizado para detectar a
ocorrncia do underflow numa subtrao. Neste caso, o bit
de sinal tambm usado para armazenar um valor
pertencente ao resultado da operao.
Os projetistas de um sistema devem decidir onde tratar a
ocorrncia de overflow ou de underflow em operaes
aritmticas. Elas podem ser tratadas tanto por hardware
quanto por software. Pode existir a deteco por hardware
que gera uma exceo, e que depois tratada por software.

Figura 41. Somador de um bit


Podemos especificar as sadas soma e carry out atravs de
equaes lgicas, que podem ser implementadas a partir
dos blocos de hardware mencionados anteriormente. A
equao lgica para gerar o bit carry out dada por:

Operaes Lgicas
Os computadores manipulam palavras, mas muito til,
tambm, manipular campos de bits dentro de uma palavra ou
mesmo bits individuais. O exame de caracteres individuais
(8 bits) dentro de uma palavra um bom exemplo dessa
necessidade. Assim, as arquiteturas de conjuntos de
intrues incluem instrues para manipulao de bits.
Um dos tipos de instruo utilizados so as de deslocamento
de bits. As instrues podem deslocar bits tanto direita
quanto esquerda. Todos os bits so movidos para o lado
determinado e os bits que ficam vazios so preenchidos com
0s. Outras instrues lgicas muito teis so que
implementadas na unidade lgica e aritmtica de um
processador so as operaes NOT, AND, OR e XOR. A
seguir mostra-se as operaes lgicas, bit a bit, de
deslocamento direita, esquerda, NOT, AND, OR e XOR.

www.concursosdeti.com.br

CarryOut = (b. CarryIn) + (a.CarryIn) + (a.b).


E, a equao lgica para gerar o bit soma dada por:
Soma = (a . b . carryin ) + ( a . b . carryin ) + ( a .

b .CarryIn) + (a . b . CarryIn).
Para completar o projeto de uma ALU de n bits podemos
conectar n somadores de um bit. Os carry outs gerados
pelos bits menos significativos da operao podem ser
propagados por toda a extenso do somador, gerando um
carry out no bit mais significativo do resultado da
operao. Este somador denominado somador de carry
propagado.

www.brunoguilhen.com.br

Fundamentos da Computao

LFG-TI

Um mtodo elegante de multiplicar nmeros com sinal


recebeu o nome de algoritmo de Booth. Ele foi elaborado a
partir da constatao de que com a capacidade de somar e
de subtrair nmeros existem vrias maneiras de se calcular
um produto. Por exemplo, podemos substrituir um string de
1s no multiplicador por uma subtrao quando encontramos
o primeiro 1, e por uma soma ao encontrarmos o ltimo 1
do string.
Booth buscou atingir maior velocidade de processamento
utilizando operaes de deslocamento, que ainda hoje so
operaes mais rpidas do que operaes de soma. Baseado
nesta observao, se desejarmos maior velocidade na
multiplicao de nmeros inteiros por uma potncia de 2,
basta que utilizemos operaes de deslocamento indicando
a quantidade de deslocamentos igual ao expoente.
A grande vantagem do algoritmo de Booth tratar com
facilidade os nmeros com sinal. O raciocnio de Booth foi
classificar os grupos de bits como incio, meio e fim de um
string de 1s. Naturalmente um string de 0s no precisa ser
considerado.

A operao de subtrao pode ser realizada somando-se o


minuendo com a negao do subtraendo. Este efeito
realizado acrescentando uma entrada complementada de b ao
somador e ativando o carry in do bit menos significativo
para um. O somador ento calcula a + b + 1. Ao escolhermos
a verso invertida de b obtemos:
a+

b + 1 = a + ( b + 1) = a + (-b) = a - b.

A simplicidade do projeto do hardware de um somador para


nmeros de complemento a 2 demonstra porque esta
representao tornou-se um padro para operaes
aritmticas inteiras em computadores.
O problema com o somador de carry propagado est
relacionado a velocidade de propagao do carry, que
realizada seqencialmente. Num projeto de hardware a
velocidade um fator crtico. Para solucionar este problema
existem diversos esquemas para antecipar o carry. Porm,
nestes esquemas so utilizadas mais portas lgicas o que
provoca um aumento no custo.
Um dos esquema para antecipar o carry denominado carry
lookahead. Os somadores que utilizam o esquema de carry
lookahead baseiam sua implementao em vrios nveis de
abstrao. Utilizando a abreviao ci para representar o isimo bit de carry, podemos escrever a equao do carry
como:

Algoritmo da multiplicao
Este algoritmo precisa apenas de dois passos principais: o
teste do produto e o seu deslocamento; pois os registradores
Produto e Multiplicador podem combinados em um s. O
algoritmo comea com o Multiplicador na metade direta
do registrador Produto, e 0 na metade esquerda.
1. Testa se Produto igual a 0 ou 1.
2. Produto = 0, passa ao item 4.
3. Produto = 1, soma o Multiplicando metade esquerda
do Produto e coloca o resultado na metade esquerda do
resgistrador Produto.
4. Desloca o registrador Produto 1 bit direita.
5. Verifica se foram realizadas todas as repeties
necessrias de acordo com o tamanho da palavra, se no
volta ao item 1.
6. Fim.

ci = (bi . ci) + (ai . ci) + (ai . bi) = (ai . bi) + (ai + bi) . ci
Os termos (ai . bi) e (ai + bi) so tradicionamente chamados
de gerador (gi) e propagador (pi), respectivamente.
Usando estas relaes para definir ci + 1, obtemos:
ci + 1 = gi + pi . ci
Qualquer equao lgica pode ser implementada com uma
lgica de dois nveis. Mesmo esta formulao mais
simplificada pode gerar equaes muito grandes e, portanto
levar a circuitos lgicos relativamente grandes e caros,
dependendo do nmero de bits a serem somados.

Diviso
A diviso a operao recproca da multiplicao. Dentre
as operaes aritmticas a que aparece menos
freqentemente nos cdigos dos programs.
No algoritmo da diviso so utilizados dois operandos, o
dividendo e o divisor, e produzidos dois resultados o
quociente e o resto. A relao entre os componentes da
diviso pode ser expressa da seguinte forma:

Multiplicao
Para realizar a multiplicao so necessrios dois operandos,
um multiplicando e um multiplicador para gerar um
operando produto. O algoritmo da multiplicao diz que os
dgitos do multiplicando devem ser multiplicados pelos
dgitos do multiplicador um de cada vez, da direita para a
esquerda, deslocando os produtos intermedrios um dgitos
esquerda em relao ao imediatamente anterior.
Uma observao importante que o nmero de bits do
produto final (n+m) maior do que o nmero de bits do
multiplicando (n) ou do multiplicador (m). Alm disso, a
multiplicao tambm precisa tratar a ocorrncia de
overflow.
Considerando os dgitos binrios 0 e 1, temos apenas duas
possibilidades de escolha, a cada passo da multiplicao:

dividendo = quociente x divisor + resto,


onde o resto sempre menor que o divisor.
s vezes, os programas usam a diviso simplesmente para
obter o resto, ignorando o quociente. Alm disso,
necessrio que seja detectada a diviso por zero, que
matematicamente invlida.
Algoritmo da diviso
Da mesma forma que foram combinados registradores na
multiplicao, tambm na diviso so combinados dois
registradores, o Resto e o Quociente. O algoritmo comea
com o Resto na metade esquerda do registrador Resto, e o
Quociente na metade direita.

1. coloque uma cpia do multiplicando


(multiplicando x 1) no lugar apropriado, se o dgito do
multiplicador for igual a 1, ou
2. coloque 0 (multiplicando x 0) no lugar
apropriado, se o dgito do multiplicador for igual a 0.
Assim, necessrio desenvolver um algoritmo em hardware
que seja eficiente para realizar a multiplicao.

www.concursosdeti.com.br

Prof. Bruno Guilhen

1. Desloca o registrador Resto 1 bit esquerda.


2. Subtrai o registrador Divisor da metade esquerda do
registrador Resto e armazena o resultado na metade
esquerda do registrador Resto.

10

www.brunoguilhen.com.br

Fundamentos da Computao

LFG-TI

Prof. Bruno Guilhen

4. Teste se overflow ou underflow.


5. Sim, gera exceo.
6. No, arredonde a mantissa para o nmero de bits
apropriado.
7. Testa se resultado est normalizado.
8. Sim, Fim.
9. No, retorna ao passo 3.

3. Testa se Resto menor do que 0.


4. Resto < 0, restaura valor original com Divisor + metade
esquerda do Resto, armazenando na metade esquerda do
registrador Resto e deslocando 1 bit esquerda, inserindo 0
no novo bit menos signifiativo, passa ao item 6.
5. Resto = 0, desloca o registrador Resto 1 bit esquerda,
inserindo 1 no novo bit mais direita.
6. Verifica se foram realizadas todas as repeties
necessrias de acordo com o tamanho da palavra, se no
volta ao item 1.
7. Desloca a metade a esquerda do registrador Resto 1 bit
direita, Fim.

Algoritmo da multiplicao em ponto flutuante


1. Soma os expoentes com peso dos dois nmeros,
subtraindo o valor do peso da soma para obter o novo
expoente.
2. Multiplique as mantissas.
3. Normalize o produto se necessrio, deslocando direita e
incrementando o expoente.
4. Teste se overflow ou underflow.
5. Sim, gera exceo.
6. No, arredonde a mantissa para o nmero de bits
apropriado.
7. Testa se resultado est normalizado.
8. No, retorna ao passo 3.
9. No, faa o sinal do produto positivo se ambos os sinais
dos operandos originais so os mesmos, caso contrrio o
sinal negativo, Fim.

Ponto Flutuante
Assim como os nmeros decimais podem ser representados
em notao cientfica normalizada os nmeros binrios
tambm podem. A aritmtica computacional que manipula
os nmeros binrios em notao cientfica normalizada
denominada de aritmtica de ponto flutuante.
Os projetistas do hardware devem encontrar um
compromisso entre a mantissa e o expoente dos nmeros em
ponto flutuante. A relao entre e mantissa e o expoente
expressa do seguinte modo: o aumento do nmero de bits
reservados mantissa aumenta a preciso do nmero,
enquanto o aumento do nmero de bits reservados ao
expoente aumenta o intervalo de variao dos nmeros
representados.
Deve ser observado que as interrupes relativas ao overflow
e ao underflow tambm ocorrem na representao em ponto
flutuante. Porm, neste caso, overflow e o underflow
ocorrem quando o expoente muito grande ou muito
pequeno, respectivamente, para ser
armazenado no espao reservado a ele.
Outra questo que os projetistas devem decidir se vo ser
utilizados os mesmos registradores tanto para nmeros
inteiros quanto para nmeros de ponto flutuante. A adoo
de registradores diferentes aumenta ligeiramente o nmero
de instrues necessrias a execuo do programa. O
impacto maior est na criao de um conjunto de instrues
de transferncia de dados para mover os dados entre os
registradores de ponto flutuante e a memria. Os benefcios
esto no fato de no precisar aumentar o tamanho do campo
nas instrues para diferenciar os operandos e aumentar a
banda passante dos registradores.
A partir de 1980 todos os computadores projetados adotam
uma representao padro para nmeros em ponto flutuante
denominada IEEE 754. A adoo deste padro facilita a
portabilidade de programas (preciso simples = 1 bit de
sinal, 8 bits de expoente e 23 bits de mantissa + 1 implcito =
24, preciso dupla = 1 bit de sinal, 11 bits de expoente e 52
bits de mantissa + 1 implcito = 53).
A adio e a multiplicao com nmeros de ponto flutuante,
na sua essncia, utilizam as operaes inteiras
correspondentes para operar as mantissas, mas necessria
uma manipulao extra nos expoentes e para a normalizao
do resultado.
Algoritmo da adio em ponto flutuante
1. Compare o expoente dos dois nmeros. Desloque o menor
nmero direita at que seu expoente se iguale ao maior
nmero.
2. Some as mantissas.
3. Normalize a soma, deslocando direita e incrementando o
expoente ou deslocando esquerda e decrementando o
expoente.

www.concursosdeti.com.br

11

www.brunoguilhen.com.br

Potrebbero piacerti anche