Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
LFG-TI
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.
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.
Organizao e Arquitetura de
Computadores
www.concursosdeti.com.br
www.brunoguilhen.com.br
Fundamentos da Computao
LFG-TI
Traduo (compilador)
Nvel de linguagem de montagem (Assembly)
Nvel 5
Nvel 4
Nvel 3
Nvel 2
Nvel 1
Nvel 0
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
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
www.concursosdeti.com.br
www.brunoguilhen.com.br
Fundamentos da Computao
LFG-TI
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
25(10) = 1
1(2)
423
26 + o resto 7
16
26
1 + o resto 10
16
1
0 + o resto 1
16
423(10) = 1
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
266
33 + o resto 2
8
33
4 + o resto 1
8
4
0 + o resto 4
8
266(10) = 4
2(8)
www.concursosdeti.com.br
7(16)
Cdigos Alfanumricos
www.brunoguilhen.com.br
Fundamentos da Computao
LFG-TI
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
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
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
www.concursosdeti.com.br
www.brunoguilhen.com.br
Fundamentos da Computao
LFG-TI
www.concursosdeti.com.br
www.brunoguilhen.com.br
Fundamentos da Computao
LFG-TI
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
www.concursosdeti.com.br
www.brunoguilhen.com.br
Fundamentos da Computao
LFG-TI
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.
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
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
b + 1 = a + ( b + 1) = a + (-b) = a - b.
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:
www.concursosdeti.com.br
10
www.brunoguilhen.com.br
Fundamentos da Computao
LFG-TI
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