Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2014
Editorial
Comit Editorial
Fernando Fukuda
Simone Markenson
Jeferson Ferreira Fagundes
Autor do Original
Marco Fbio Polli
Organizao de Computadores
Su
ri o
Captulo 1: Processamento de
Dados e Estrutura Bsica do Computador.... 7
Objetivos da sua aprendizagem . ............................... 7
Voc se lembra?................................................................. 7
1.1 Organizao e arquitetura de computadores.................... 8
1.2 Processamento de dados, Informao e Conhecimento......... 8
1.3 Breve histrico dos computadores............................................ 11
1.4 Viso geral do computador pessoal............................................... 19
1.5 Elementos Bsicos da Arquitetura de Von Neumann........................ 21
1.6 Construo de algoritmos simples........................................................ 24
Atividades....................................................................................................... 29
Reflexo............................................................................................................. 30
Leituras recomendadas.......................................................................................... 30
Referncais bibliogrficas....................................................................................... 30
No prximo captulo . ............................................................................................... 31
Captulo 2: Representao de Dados...................................................................... 33
Objetivos da sua aprendizagem ................................................................................... 33
Voc se lembra?............................................................................................................. 33
2.1 Elementos binrios fundamentais: bits, bytes e words............................................ 34
2.2 Bases numricas....................................................................................................... 37
2.3 Representao de caracteres..................................................................................... 42
2.4 Tipos de dados e uso de variveis em algoritmos . ................................................. 43
Atividades . ................................................................................................................... 49
Reflexo....................................................................................................................... 50
Leitura recomendada ................................................................................................. 50
Referncias bibliogrficas . ..................................................................................... 50
No prximo captulo ............................................................................................ 51
Captulo 3: lgebra Booleana e Operaes Lgicas em Algoritimos......... 53
Objetivos da sua aprendizagem..................................................................... 53
Voc se lembra? ....................................................................................... 53
3.1 lgebra booleana............................................................................ 54
3.2 Portas lgicas.............................................................................. 59
3.3 Operaes aritmticas e lgicas em algoritmos..................... 60
Atividades................................................................................. 68
Reflexo.............................................................................. 68
Leituras Recomendadas................................................................................................... 68
Referncias Bibliogrficas............................................................................................... 68
No prximo captulo ....................................................................................................... 69
Captulo 4: Instrues e Processamento...................................................................... 71
Objetivos da sua aprendizagem: ..................................................................................... 71
Voc se lembra? .............................................................................................................. 71
4.1 Componentes fundamentais para o processamento.................................................. 72
4.2 Instrues de computador......................................................................................... 74
4.3 Aspectos de arquitetura nos computadores pessoais................................................. 77
Atividades........................................................................................................................ 86
Reflexo........................................................................................................................... 86
Leitura Recomendada...................................................................................................... 86
Referncias Bibliogrficas............................................................................................... 86
No prximo captulo........................................................................................................ 87
Captulo 5: Memria e Dispositivos de Entrada e Sada............................................ 89
Objetivos da sua aprendizagem:...................................................................................... 89
Voc se lembra?............................................................................................................... 89
5.1 Memria.................................................................................................................... 90
5.2 Dispositivos de entrada e sada E/S.......................................................................... 99
5.3 Tipos de Computadores.......................................................................................... 100
Atividades...................................................................................................................... 102
Reflexo......................................................................................................................... 102
Leitura recomendada...................................................................................................... 103
Referncias bibliogrficas.............................................................................................. 103
Ap
res
ent
Prezados(as) alunos(as)
No fim da dcada de 1970, os computadores pessoais comeam a ser introduzidos
no mercado. Ferramentas de processamento
de dados que antes eram apenas disponveis para
grandes empresas, por meio de mquinas que ocupavam salas inteiras, passaram a estar em cima da mesa
dos escritrios e das casas das pessoas. S esse desenvolvimento j seria suficente para mudar a nossa sociedade, mas a
histria no parou a. A interligao desses computadores e dos
servidores na internet, transformou a maneira com que as pessoas
se comunicam, compram, se divertem e criam. Por fim, o prprio
computador pessoal deixou de ser o centro desse modo de vida, com
smartphones, tablets e dispostivos que ainda esto sendo criados.
Em sua histria, os computadores mostraram ser uma base de inovaes contnuas e de uso criativo, uma histria que ainda continua e
podemos influenciar. Para tanto, devemos conhecer como os computadores funcionam e so organizados. Esse conhecimento essencial tanto
para o desenvolvimento de hardware, de software ou mesmo para se
fazer um bom uso dessa tecnologia.Com essa preocupao, o contedo da
disciplina organizado do seguinte modo:
Captulo 1 Entenderemos o que processamento de dados e o funcionamento bsico de um computador.
Captulo 2 Ser explicada a linguagem binria.
Captulo 3 Entenderemos a lgebra booleana e a sua implementao
em algoritmos simples.
Captulo 4 Veremos com mais detalhes como o computador trata
dados e instrues na Unidade Central de Processamento.
Captulo 5 Exploraremos os tipos de memria e suas inter-relaes.
Bons estudos!
Processamento de
Dados e Estrutura Bsica
do Computador
CCC
CC C
CCC
Voc se lembra?
Organizaes de Computadores
Organizaes de Computadores
15h10
3 de fevereiro
Entrada
Classificar
Sada
(Dados)
Filtrar
(Informaes)
Organizar
24
Ribeiro
Preto- SP
10
11
Organizaes de Computadores
WIKIMEDIA
Figura 2 ENIAC (Parte dele, na verdade, pois aqui vemos sua interface de operao.)
WIKIMEDIA
12
ANNEDAVE / DREAMSTIME.COM
Organizaes de Computadores
O silcio um material chamado semicondutor, pois conduz corrente eltrica quando misturado com impurezas qumicas em sua constituio
(voc pode pesquisar os detalhes de materiais semicondutores se ficar
curioso!).
14
O marco importante desta terceira gerao foi o lanamento do computador da srie IBM 360 em 1964. Trata-se de uma linha de computadores
projetada pela IBM tanto para uso comercial quanto cientfico. Foi uma srie
com o intuito de inserir o uso de computadores nos negcios e em operaes
comerciais.
NASA / WIKIMEDIA
15
Organizaes de Computadores
SWTPC6800 / WIKIMEDIA
16
Retirado de A
histria dos processadores, desde ENIAC at
Nehalem/INTEL.
Claro que a histria mais recente dos
computadores voc j
conhece, mas vamos
apenas comentar um
pouco sobre os computadores pessoais. Estes
Figura 10 Apple I
Figura 11 Apple II
17
Organizaes de Computadores
Em 1981, a IBM lanou seu primeiro computador pessoal e capturou a maior fatia de mercado em 18 meses. O padro IBM PC foi adotado
e copiado por outras empresas.
HO / IBM / AFP
Figura 12 IBM PC
18
O hardware de seu computador pessoal precisa dos seguintes componentes para um efetivo funcionamento:
dispositivos de entrada;
dispositivos de sada;
dispositivos de armazenamento secundrio;
unidade de processamento.
O funcionamento bsico de um computador convencional acontece
de acordo com a figura a seguir:
ADAPTADO DE: (CAPRON E JOHNSON, 2004)
Armazenamento secundrio
O dispositivo de
armazenamento
secundrio armazena
dados e programas
O dispositivo
de entrada envia
dados unidade
central de
processamento
Entrada
A unidade central de
processamento (UCP)
executa instrues
de computador
A memria mantm
dados e programas em
uso no momento
Processamento
O dispositivo
de sada
disponibiliza
os dados
processados
(as Informaes)
Sada
19
Organizaes de Computadores
3
4
5
6
7
8
9
Figura 14 Componentes bsico do computador: 1 monitor, 2 placa-me, 3
processador, 4 memria RAM, 5 placas de expanso, 6 fonte de alimentao, 7 leitor
tico (DVD, CD etc.), 8 disco rgido (hd), 9 mouse, 10 teclado.
Dispositivos de entrada: 10 e 9
Dispositivos de sada: 1
Proibida a reproduo UniSEB
Armazenamento secundrio: 7 e 8
20
Elementos da UCP: 2, 3, 4, 5 e 6.
Organizaes de Computadores
22
Dados
Dados
Memria Primria
Unidade Lgico
e Aritmtica
Unidade de
Controle
Dados
Unidade de
Entrada e
Sada
Controle
23
Organizaes de Computadores
24
Site oficial
http://www.facom.ufu.br/~claudio/Cursos/PP/Docs/Visualg2.pdf
Download (endereo abreviado)
goo.gl/n8YLk
Download (endereo completo)
http://www.guanabara.info/2007/09/visualg-v25/
Quadro 1.1 Ambiente de Desenvolvimento VisuALg.
Clicando no boto avanar voc poder definir o diretrio para instalao do programa. Geralmente no necessrio modificar o diretrio,
assim, clique novamente no boto avanar. Na tela Componentes Selecionados, voc tambm no precisar realizar nenhuma alterao, dessa
forma, clique novamente no boto avanar. A tela Selecione o grupo do
menu Iniciar, permite a especificao do nome que ser definido para
menu, o que novamente no necessita de modificao. A tela seguinte
Selecionar Tarefas Adicionais, tambm j possui as principais configuraes definidas, com isso, voc pode clicar no boto avanar, e em seguida,
25
Organizaes de Computadores
clique no boto instalar. A instalao rpida e dura apenas alguns segundos. No final, voc j poder iniciar o ambiente VisuAlg.
Para a criao de um novo algoritmo no ambiente VisuAlg, voc dever utilizar o menu Arquivo>Novo, ou simplesmente pressionar as teclas
de atalho CTRL+N. Dessa forma, um novo algoritmo ser criado conforme ilustra a figura 2. Para salvar os algoritmos codificados voc dever
utilizar o menu Arquivo>Salvar (CTRL+S). O ambiente VisuAlg utiliza a
extenso .alg para representar os arquivos com algoritmos.
Neste momento voc j tem o ambiente para desenvolvimento de algoritmos VisuAlg instalado no seu computador. Alm disso, voc j sabe
como criar um novo algoritmo. Poderemos agora iniciar um estudo mais
detalhado a respeito da construo de algoritmos.
26
3 // Autor :
4 // Data : 20/10/2011
5 // Seo de Declaraes
6 var
7
8 inicio
9 // Seo de Comandos
10 fimalgoritmo
27
Organizaes de Computadores
28
Atividades
29
Organizaes de Computadores
Reflexo
Vimos at aqui que h muito mais sobre computadores do que simplesmente entender como eles funcionam. A histria e a evoluo dos
computadores determinaram, de certa forma, como as pessoas passaram a
pensar em tecnologia e a consumir tecnologia. Mesmo que voc no se
torne especialista na rea de tecnologia da informao, sempre importante saber como funcionam os equipamentos que sero usados no dia a
dia. Isto facilita o dilogo entre ns e as novas tecnologias.
Leituras recomendadas
Artigo O papel da informao no processo de capacitao tecnolgica das micro e pequenas empresas. Escrito por Paulo Csar Rezende
de Carvalho Alvim.
Disponvel em: <http://www.scielo.br/scielo.php?script=sci_arttext
&pid=S0100-19651998000100004>.
Livro Administrao de Sistemas de Informao, do autor Pedro
Luiz Cortes. Livro muito interessante e abrangente sobre o uso de sistemas de informao nas empresas.
Referncais bibliogrficas
CAPRON, H. L.; JOHNSON, J. A. Introducao a Informatica. Sao
Paulo: Pearson Prentice Hall. 2004.
LAUDON, K. C. e LAUDON, J. P. Sistemas de Informacao Gerenciais. Sao Paulo: Prentice Hall. 2007.
MONTEIRO, M. A. Introduo Organizao de Computadores.
5a ed. So Paulo: LTC, 2007.
30
NULL, L.; LOBUR, J. Princpios Bsicos de Arquitetura e Organizao de Computadores. 2a ed. Porto Alegre: Bookman, 2010.
PIVA JR., D.; NAKAMITI, G. S.; ENGELBRECHT, A. M.; BIANCHI, F. Algoritmos e Programao de Computadores. Rio de Janeiro: Elsevier, 2012.
STALLINGS, W. Arquitetura e Organizao de Computadores.
So Paulo: Prentice Hall, 2002.
No prximo captulo
No prximo captulo, entederemos como os dados so representados na computao. Sero vistos os conceitos de bit, byte, bases e a converso entre elas.
31
Organizaes de Computadores
Minhas anotaes:
32
Representao de
Dados
Cap
t u
lo
Voc se lembra?
Ao preencher dados em formulrios eletrnicos, muitas vezes recebemos mensagens de erro, indicando incompatibilidade entre os dados
que entramos e o tipo de dados esperado. Qual seria a consequncia de no haver esse controle?
Organizao de Computadores
Digito binrio
Byte
34
WORD
Conjunto de 8 bits
Nmero convencionado
de bits adjacentes
Tamanho Exemplo
1
bits
nibble 1 1 0
0 0 0
byte
16 bits 0 0 1
32 bits 0 0 1
1
1 1 1 1 1
1 1 0 0 0 0 0 1 1 0 0 0 1
1 0 1 1 1 1 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 1 1 0
Smbolo
Valor
kilo
1000
mega
10002
giga
10003
tera
10004
peta
10005
exa
10006
zetta
10007
yotta
10008
Organizao de Computadores
36
Fonte: http://commons.wikimedia.org/wiki/File:Facebook_Data_Center.jpg
Acesso em 24 jul. de 2014
O sistema numrico decimal foi adotado dos rabes pelo europeus e a base que usamos para contas simples a complexas transaes
financeiras em nossa economia (NULL & LOBUR, 2010). Como um
sistema muito comum, no nos detemos para pensar como funciona.
Veja o exemplo abaixo de decomposio de nmeros em base decimal:
15 = 1x10 + 5x1
146 = 1x100 + 4x10 + 6x1
8303 = 8x1000 + 3x100 + 0x10 + 3x1
Outra forma importante de decompor nmeros com o uso de potncias. Os nmeros acima podem ser reescritos como em termos de potncias de 10, lembrando que qualquer potncia elevada a zero igual a 1:
15 = 1x101 + 5x100
Neste caso, temos dois dgitos: o dgito 5, corresponde ao multiplicador da potncia elevada a zero. O dgito 1, corresponde ao multiplicador
da potncia elevada a 1. Por analogia, examine os casos seguintes:
146 = 1x102 + 4x101 + 6x100
8303 = 8x103 + 3x102 + 0x101 + 3x100
Em outras bases numricas, usamos potncias de base correspondente. Mas por que estudamos outras bases? Dependendo da utilizao, a
base decimal pode no ser a mais eficiente e eficaz. Deve-se saber que h
uma notao que explicita em que base o nmero deve ser entendido:
(153)10 refere-se a 153 na base decimal.
(1110)2 refere-se a 1110 na base binria, que ser vista a seguir.
37
Organizao de Computadores
Como sabemos, mais adequado implementar dados em base binria no computador. No quadro 3, temos uma relao da representao dos
nmeros de 1 a 15. Porm como esses nmeros so formados? Podemos
entend-los a partir de sua decomposio em potncias de dois:
= 8 + 4 + 2 + 0 = 14
38
10
11
100
101
110
111
1000
1001
10
1010
11
1011
12
1100
13
1101
14
1110
15
1111
Olhando novamente o quadro 2.3, vemos que o nmero 1 representado por um dgito, j o nmero nove por quatro. Para a estrutura do
computador, interessante termos uma padronizao dos processos de leitura e alocao de memria para cada varivel. O byte, tambm referido
como octeto (MURDOCA & HEURING; 2000), surgiu com essa preocupao, definindo conjuntos em uma quantidade fixa de 8 bits. No caso do
nmero 1, os seus dgitos vacantes so preenchidos por zero, assim temos
na representao de inteiros positivos:
(1)10 = (000000001)2
(9)10 = (00001001)2
(255)10 = (11111111)2
Usando as combinaes possveis de zeros e uns em 8 bits, um byte
pode representar 256 valores numricos, ou seja, 28. Se precisssemos
usar apenas inteiros positivos, poderamos representar valores comeando
por zero at chegar a 255. Contudo, para indicar se o valor negativo ou
positivo em um byte, precisamos usar um dgito para ter essa informao.
Assim, usando-se o byte, chega-se a um intervalo que vai de -128 a 127
(STALLINGS, 2002) .
Bug do Milnio
Quando os sistemas computacionais estavam sendo desenvolvidos
no ps-guerra, um dos principais gargalos era a capacidade de memria
e processamento. Por essa razo, foi simplificada a representao dos
anos, subentendendo que todas as datas se referiam ao sculo 20. Assim,
a representao de 1985 correspondia a 85, subentendendo-se os dgitos
19 frente. Chegando a 2000, porm, teramos 00, que seria entendido como 1900. Previu-se que esse problema de representao pudesse
causar o colapso de muitos sistemas computacionais, mas as consequncias foram muito menores do que as previstas (BBC, 2014).
Tambm pela forma de representao de datas, esto previstos
problemas em 2038 com sistemas UNIX de 32 bits e programados na
linguagem C (SMAAL, 2011).
Organizao de Computadores
word, naturalmente maior o uso de memria e capacidade de processamento. Outro fator importante que uma vez fixado o tamanho de certo
tipo de dado em um sistema, o custo de mudana pode ser considervel. O
problema (bug) do milnio e de 2038 so exemplos de problemas advindos da fixao inadequada de bits para variveis de data.
A passagem de bytes para words de 16 bits e de words de 16 para
32 bits requer mais capacidade e mudanas na estrutura de hardware.
Buscou-se evitar a necessidade dessas mudanas e ainda de aumentar
o escopo para representao de nmeros reais por meio de mtodo de
representao por ponto flutuante (STALLINGS, 2002). Esse mtodo se
baseia na representao de nmeros por seus algarismos significativos e
potncias. O padro mais usado para esse mtodo denomina-se IEEE 754,
servindo de base para construtores de hardware e programadores (MONTEIRO, 2007).
Os nmeros a seguir possuem grandezas bastante diferentes, mas
podem ser representados com basicamente a mesma quantidade de bits:
1,27 x 106 = 1,27 x 1000000 = 1270000
7,31 x 10-2 = 7,31 x 0,01 = 0,0731
Conexo:
40
Esse sistema possui o nmero 16 como base e indicado por contrao hex. Como notao, geralmente usa-se a conveno abaixo
(STALLINGS, 2002):
0
10
11
12
13
14
15
2
4
0
Conexo:
2
2
Conhea um ferramenta
na Web para converso entre
bases numricas:
1
1
2
0
http://wims.unice.fr/wims/en_
tool~number~baseconv.en.html
41
Organizao de Computadores
42
Binrio
Decimal
00100000
32
00100001
33
00100010
Caractere
Binrio
Decimal
Caractere
Binrio
Decimal
Caractere
01000000
40
01100000
96
01000001
41
01100001
97
34
01000010
42
01100010
98
00100011
35
01000011
43
01100011
99
00100100
36
01000100
44
01100100
100
00100101
37
01000101
45
01100101
101
00100110
38
&
01000110
46
01100110
102
00100111
39
01000111
47
01100111
103
00101000
40
01001000
48
01101000
104
00101001
41
01001001
49
01101001
105
00101010
42
01001010
4A
01101010
106
00101011
43
01001011
4B
01101011
107
00101100
44
01001100
4C
01101100
108
00101101
45
01001101
4D
01101101
109
00101110
46
01001110
4E
01101110
110
00101111
47
01001111
4F
01101111
111
00110000
48
01010000
50
01110000
112
00110001
49
01010001
51
01110001
113
00110010
50
01010010
52
01110010
114
00110011
51
01010011
53
01110011
115
00110100
52
01010100
54
01110100
116
00110101
53
01010101
55
01110101
117
00110110
54
01010110
56
01110110
118
00110111
55
01010111
57
01110111
119
00111000
56
01011000
58
01111000
120
00111001
57
01011001
59
01111001
121
00111010
58
01011010
5A
01111010
122
00111011
59
01011011
5B
01111011
123
00111100
60
<
01011100
5C
01111100
124
00111101
61
01011101
5D
01111101
125
00111110
62
>
01011110
5E
01111110
126
00111111
63
01011111
5F
Esse padro foi desenvolvido para os sistemas de telex originalmente, o que se reflete na definio de 33 caracteres no imprimveis que hoje
esto na maioria obsoletos e a reserva de um dgito para controle de erro
(MURDOCCA & HEURING, 2000).
O quadro 4 apresenta os caracteres imprimveis do ASC II e a sua
correspondncia binria. Assim, usando esse padro, um sistema computacional l 01000000 como @, 01111010 como z, etc. desde que
tenha sido definido que o dado um caracter no um nmero.
Os limites do ASC, especialmente para lidar com caracteres de alfabetos alm do latino e caracteres especiais, fez com que os construtores
de hardware e desenvolvedores de software ampliassem os caracteres definidos. Nesse contexto, destaca-se o padro Unicode ((NULL & LOBUR,
2011).
Organizao de Computadores
nome_da_varivel: tipo_da_varivel
44
Os algoritmos computacionais, bem como as linguagens de programao possuem algumas regras para a nomeao das variveis. Uma varivel deve obrigatoriamente iniciar como um caractere literal, assim, no
possvel declarar varivel que comecem com um nmero, por exemplo,
Organizao de Computadores
nota1: real
nota3: real
3
5
6
46
nota2: real
nota4: real
nota5: real
media: real
Para manipulao de informaes literais, as linguagens de programao e os algoritmos, possuem um tipo especfico denominado caractere. Com este tipo de dados possvel armazenar e manipular qualquer
tipo de valor, tais como uma letra do alfabeto, um smbolo, um nmero,
entre outros. Em linguagens de programao de alto nvel, tais como Java
ou C#, a manipulao de caracteres pode ser realizada individualmente,
com um tipo exclusivo chamado char, ou ainda, por meio de um conjunto
de caracteres, com um tipo de dados especfico conhecido como string.
A figura 9 apresenta um algoritmo que realiza a manipulao de informaes com o tipo de dados caractere. Este exemplo foi nomeado como
unid3_exemplo04.alg.
47
Organizao de Computadores
Neste exemplo importante notar que os valores do tipo caractere so representados entre aspas duplas, como pode ser visualizado nas
linhas 13 e 14. Porm, algumas linguagens de programao realizam a
separao entre a representao de um nico caractere, e a definio de
um conjunto de caracteres. Geralmente, a especificao de um nico
caractere definida utilizando aspas simples, por exemplo, M, e a
indicao de um conjunto de caracteres realizada com aspas duplas,
por exemplo, Joo da Silva. Na linguagem VisuAlg, tanto a representao de um nico caractere, quanto de vrios, realizada com aspas duplas. O resultado da execuo do algoritmo pode ser visualizado
na figura 10.
48
Figura 10 Algoritmo que demonstra a utilizao dos principais tipos de dados e apresenta
a manipulao de valores do tipo lgico.
O resultado da execuo do algoritmo, que pode ser visualizada utilizando o menu Algoritmo>Executar, apresentada na figura 12.
Atividades
01. Pesquise sobre a origem da linguagem binria, antes de seu uso pela
computao.
02. Por que o sistema binrio mais adequado para o uso em dispositvos
eletrnicos?
03. Decomponha 19583 em potncias de base 10.
49
Organizao de Computadores
Reflexo
Neste captulo, entendemos melhor como o computador e dispositivos eletrnicos podem representar nmeros e letras. Tambm vimos que
o sistema binrio permite manipulaes aritmticas, o que seria suficiente
para caracterizar uma calculadora. Contudo, como os sistemas computacionais conseguem fazer tarefas variadas como reconhecer voz e ajudar
em diagnsticos mdicos? Como essas tarefas se traduzem em processamento de dados?
Leitura recomendada
Referncias bibliogrficas
BBC. Y2K around the word. BBC, website. <http://news.bbc.co.uk/hi/
english/static/millennium_bug/countries/default.stm>. Acesso em: 19
jun. 2014.
50
LAUDON, K. C. e LAUDON, J. P. Sistemas de Informacao Gerenciais. Sao Paulo: Prentice Hall. 2007.
No prximo captulo
No prximo captulo, conheceremos a lgebra booleana, que permite que os computadores possam manipular os dados logicamente.
51
Organizao de Computadores
Minhas anotaes:
52
lo
lgebra Booleana e
Operaes Lgicas em
Algoritimos
Cap
t u
Voc se lembra?
Organizao de Computadores
Segundo Linda Null e Julia Lobur, a lgebra booleana uma lgebra para a manipulao de objetos que podem assumir somente dois valores, normalmente verdadeiro ou falso (NULL & LOBUR, 2011, p. 141).
fcil entender que essa lgebra seja adequada ao computadores, os quais
funcionam usando a linguagem binria. A seguir, vamos falar da origem
da lgebra booleana para, a seguir, passar para seus operadores.
3.1.1 Origens
Fonte: http://en.wikipedia.org/wiki/George_Boole#mediaviewer/
File:George_Boole_color.jpg. Acesso em: 24 jul. de 2014.
54
Uma ilustrao simples da lgebra booleana pode ser dada avaliando as trs afirmaes abaixo:
Afirmao 1: Ana foi ao cinema.
Afirmao 2: Paulo foi ao show.
Afirmao 3: Ana foi ao cinema E Paulo foi ao show.
pq
p+q
F
55
Organizao de Computadores
A utilidade da lgebra booleana e suas tabelas verdade para circuitos eltricos foi estabelecida pelo americano Charles Shannon em sua
dissertao de mestrado de 1937, concluda no MIT. Em lugar dos valores
falso ou verdadeiro, os circuitos poderiam operar por essa lgebra
usando os zeros e uns. Essa adaptao lanou as bases da computao
que conhecemos hoje. Shannon ainda ajudou a criar os fundamentos da
teoria da informao e da inteligncia artificial. Um dos seus experimentos famosos foi um rato eletromecnico programado a encontrar a sada
de um labirinto (figura 2) e capaz de acumular conhecimento a cada entrada no mesmo labirinto. (GLEICK, 2011).
Na sumarizao seguinte da lgebra booleana, vamos usar os dgitos
binrios. Assim, 0 ser equivalente a falso e, consequentemente, 1 a
verdadeiro. Alm de formalizar nesses termos os operadores E e OU j
vistos, vamos ainda definir a Negao, XOR, NOT e NAND, baseando-se
em Murdocca e Heuring (2000), Monteiro (2007) e Stallings (2002).
56
Uma expresso com operador E resulta 1 somente se as suas entradas forem todas iguais a 1. O funcionamento anlogo ao exemplo da
seo anterior com a afirmativa 3.
Considerando duas entradas, p e q, a notao de p E q j foi vista:
p.q
Chama-se essa expresso tambm de produto booleano, ou multiplicao lgica. Abaixo est a tabela-verdade para o operador E com duas
entradas:
p
pq
p+q
Operador Negao:
_
p
~p
1
57
Organizao de Computadores
(p ~q) + (~p q)
NEM (NOR)
O resultado dessa operao 1 se, e somente se, todas as entradas
forem 0. A tabela-verdade do operador NOR :
p
~ (p + q)
58
Conexo:
~ (p + q)
A adaptao de Claude Shannon da lgebra booleana tambm denominada lgebra de chaveamento devido orientao inicial para circuitos que podiam estar ligados ou desligados por chave. Essa lgebra usada na construo de circuitos fsicos, que podem
modificar os sinais digitais conforme estabeConexo:
lecido por seu desenho. Devido a esse uso,
Conhea um aplicativo
h smbolos grficos para cada operador,
gratuito para dispositivos mveis
que desenha portas lgicas:
chamadas portas lgicas, o que facilita o
https://play.google.com/store/apps/
trabalho em circuitos complexos. Na tabedetails?id=com.Logic.gates_Xor.en
la a seguir, as entradas so representadas
Acesso em: 24 jul. de 2014.
pelos traos esquerda, podendo ser, cada
uma, zero ou um. A sada representada
pelo trao direita, tambm obedecendo base
binria.
Operador
Smbolo
AND
OR
NOT
XOR
NOR
NAND
Fonte: http://commons.wikimedia.org/wiki/File:NAND_
ANSI.svg. Acesso em: 24 jul. de 2014.
59
Organizao de Computadores
60
Em 1997, o supercomputador
Deep Blue da IBM venceu o campeo mundial de xadrez Garry Kasparov em um match de seis partidas.
O evento chamou a ateno do mundo para os avanos em inteligncia
artificial, estimulando a reflexo
sobre os limites e as potencialidades
dos computadores. Kasparov havia
derrotado uma verso desse computador em 1996 e acusou a IBM de
fraudar a disputa em 1997. A fraude
teria sido o uso de grandes mestres
de xadrez para apoiar o processo de
deciso do computador. De qualquer
modo, a superioridade dos computadores nesse jogo foi reafirmada por
programas de software mais inteligentes e que, assim, no requerem
a capacidade de processamento do
Deep Blue. Se este calculava at
200 milhes de posies de jogo por
segundo em um estrutura complexa
e dedicada, o programa Deep Fritz,
rodando em Windows com processadores Pentium, conseguiu derrotar o
campeo mundial Vladimir Kramnik
em 2006 (NEWBORN, 2011).
Figura 3 Supercomputador
Deep Blue (Museu da Histria
do Computador, Califrnia.
Fonte: http://commons.wikimedia.
org/wiki/File:Deep_Blue.
jpg. Acesso 24 jul. de 2014
61
Organizao de Computadores
62
O resultado da execuo do algoritmo pode ser visualizado na Figura 8. Os parmetros informados na entrada foram 460 para quilmetros
rodados e 50 para litros abastecidos.
63
Organizao de Computadores
64
65
Organizao de Computadores
66
Para um estudo aprofundado a respeito de tabelas verdade, voc poder consultar as seguintes referncias:
http://pt.wikipedia.org/wiki/Tabela_verdade
http://www.calculadoraonline.com.br/tabela-verdade
1 Oportunidade; ocasio; conjuntura.
Com isso, conclumos o estudo a respeito dos operadores e das expresses aritmticas, relacionais e lgicas. Aproveite este momento para
construir algoritmos a partir das atividades propostas.
67
Organizao de Computadores
Atividades
01. Monte uma tabela-verdade para o operador AND com quatro entradas.
02. Monte uma tabela-verdade para o operador OR com trs entradas.
03. Por que a lgebra booleana se mostrou adequada para circuitos eltricos?
04. Qual o valor de q no circuito lgico abaixo?
1
1
0
Reflexo
No ocorrendo problemas de hardware, um computador basicamente segue as instrues que lhe so fornecidas, incluindo aquelas de operaes lgicas. Sendo assim, quando nos deparamos com falhas em nossos
programas e equipamentos, seria mais adequado falar em erro humano?
Leituras Recomendadas
Referncias Bibliogrficas
CAPRON, H. L.; JOHNSON, J. A. Introducao a Informatica. Sao
Paulo: Pearson Prentice Hall. 2004.
68
LAUDON, K. C. e LAUDON, J. P. Sistemas de Informacao Gerenciais. Sao Paulo: Prentice Hall. 2007.
No prximo captulo
69
Organizao de Computadores
Minhas anotaes:
70
Instrues e
Processamento
Cap
t u
lo
Voc se lembra?
Quantas vezes voc viu uma campanha sobre o lanamento de uma nova
gerao de microprocessadores? A velocidade dos computadores que
voc usa se mantm constante ou tende a cair? A maior parte dos problemas de processamento devido aos microprocessadores, ou voc
identifica outras causas mais relevantes?
Organizao de Computadores
Barramento
Dispositivo de E/S
rea de dados
.........................
rea de cdigo
Registro
UAL
Un. de
Controle
Fonte: http://pt.wikipedia.org/wiki/Arquitectura_de_von_Neumann#mediaviewer/
Ficheiro:Arquitectura_von_Neumann.png. Acesso em 24 jul. de 2014.
72
Registradores
So componentes de hardware que guardam dados binrios relativos a dados, endereos de memrias e informaes de controle. No
devem ser confundidos com os dispositivos de armazenamento do com-
73
Organizao de Computadores
Cada tipo de processador capaz de executar um determinado conjunto de instrues (MURDOCCA & HEURING, 2000). Esse fato ajuda a
explicar os problemas de compatibilidade entre arquiteturas de computadores, pois elas possuem conjuntos diferentes. Essas questes de compatibilidade tiveram e ainda tm consequncias importantes para usurios e
empresas do setor.
O tipo de processador tem diversas implicaes para a arquitetura do computador e para o desenvolvimento de software. Por
dcadas, a Apple preferiu no adotar chips Intel, que foram a base da
exploso do mercado de computadores pessoais, seja com os sistemas
operacionais DOS ou Windows da Microsoft. Quando o Macintosh
foi lanado em 1984, a mquina usava processadores da Motorola.
Com esta empresa e a IBM, a Apple fez um consrcio que criou a arquitetura do processador PowerPC em 1991. Porm em 2005, Steve
Jobs anunciava a transio para os processadores Intel, citando como
motivo a superioridade de desempenho. (LASHINSKY, 2012; LINZMAYER, 2004).
interessante notar que tablets e smartphones so comumente
baseados em chips ARM, que possuem uma arquitetura diferente dos
chips de PCs. Assim, embora haja bastante semelhanas visuais entre a
interface de um computador da Apple e a de um iPhone, os seus sistemas operacionais - MAC OS E iOS respectivamente - so construdos e
funcionam de forma muito distinta.
A Microsoft buscou essa aproximao das interfaces do desktop
e de aparelhos mveis com o Windows 8 e o Windows RT, embora o
uso dos dois sistemas tenha ficado abaixo das expectativas da empresa
(OVIDE, 2013).
74
Conexo:
Leia um artigo que resume a
histria dos microprocessadores
e a disputa entre Intel e AMD:
http://www.tecmundo.com.br/
historia/2157-a-historia-dos-processadores.htm
Acesso em 24 jul. de 2014.
http://en.wikipedia.org/wiki/File:Steve_Jobs_
Presentation_1.jpg. Acesso em 24 jul. de 2014.
75
Organizao de Computadores
Tipo de instruo
Funo/Exemplos
Codificao
comum
Aritmtica / Lgica
Movimentao de dados
LOAD, STORE,
OUT
Transferncia de Controle
HALT, JE
76
Executar a
operao
Escrever o
resultado
Trmino
Organizao de Computadores
4.3.1 Placa-me
78
Figura 4 Placa-me
Disponvel em: <http://en.wikipedia.org/wiki/Mother_
board#mediaviewer/File:MicroATX_Motherboard_with_AMD_
Athlon_Processor_2_Digon3.jpg>. Acesso em 24 jul. de 2014.
Figura 6 Chipset
http://pt.wikipedia.org/
wiki/Chipset#mediaviewer/
Ficheiro:Southbridge.jpg
Acesso em 24 jul. de 2014.
Como falamos antes, para usar os recursos de hardware voc precisar de software. Sem o software, seu hardware apenas ficar inerte. Por
meio do software, o hardware recebe instrues detalhadas que dizem ao
computador o que deve ser feito. Basicamente, ns temos dois tipos de
software. Antes, na poca do ENIAC, todo o software era escrito desde o
comeo, e o prprio software precisava saber manipular tudo o que fosse
necessrio: tanto a informao quanto os prprios componentes do computador. Os dois tipos de software hoje existentes so o software de sistema e o software aplicativo.
Software aplicativo
Software de sistemas
Hardware
Software de Sistemas
Sistemas operacionais
Tradutores de linguagem
Programas utilitrios
Software Aplicativo
Linguagens de programao
Linguagens de quarta gerao
Pacotes de software e ferramentas
de produtividade para PCs
Organizao de Computadores
80
Organizao de Computadores
82
Outra ferramenta que podemos citar o Desfragmentador de Discos, que serve para reorganizar
Conexo:
os arquivos que esto no disco rgido de maRecomendaes 3.2
neira a ocuparem menos espao.
Se voc quiser saber, detalhaAlm destes, existem diversas outras
damente, sobre o funcionamento
do sistema operacional, acesse:
ferramentas para auxiliar na configurao
<http://informatica.hsw.uol.com.
da rea de trabalho, no logon (entrada do
br/sistemas-operacionais.htm>.
usurio no sistema), no gerenciamento de
Acesso em 24 jul. de 2014.
recursos etc.
100100100100100111
001100011111101011
???
Mostre um nmero
na sua tela.
Organizao de Computadores
Mostre um nmero
na sua tela.
Compilador
100100100100100111
001100011111101011
Em computao, esse tradutor chamado de compilador, e a converso de uma linguagem em outra chamada de processo de compilao.
O tradutor uma ferramenta de sistema, enquanto a linguagem um software voltado ao usurio (para que possa programar o sistema).
84
Ferramentas
de linguagem
Descrio
de quarta
gerao
Ferramentas
de software
de PC
WordPerfect
Pacotes de softwares de uso geral para Internet Explores
PCs.
Access
Exemplo
Orientada
para o
usurio final
SQL
Cristal Reports
SAS Graph
Systat
FOCUS
PowerBuilder
Microsoft FrontPage
PeopleSoft HRMS
SAP R/3
85
Organizao de Computadores
Atividades
01. Quais causas podem acarretar o interrompimento de uma instruo?
02. O que so registradores e o que os diferenciam da memria de armazenamento?
03. Pesquise sobre a relao entre a Lei de Moore e os microprocessadores com ncleo mltiplos.
04. Pesquise sobre as linguagens de primeiro ao quinto nvel.
Reflexo
Leitura Recomendada
Referncias Bibliogrficas
CAPRON, H. L.; JOHNSON, J. A. Introducao a Informatica. Sao Paulo: Pearson Prentice Hall. 2004.
86
LAUDON, K. C. e LAUDON, J. P. Sistemas de Informacao Gerenciais. Sao Paulo: Prentice Hall. 2007.
LASHINSKY, A. Nos Bastidores da Apple. So Paulo: Saraiva, 2012.
No prximo captulo
87
Organizao de Computadores
Minhas anotaes:
88
Memria e
Dispositivos de
Entrada e Sada
Cap
t u
lo
Voc se lembra?
Busque identificar todos os tipos de armazenamento que voc possui e classifique-os em termos de velocidade de transferncia e
capacidade. Quais tipos de armazenamento voc j usou com
frequncia, mas hoje esto obsoletos? Quantas vezes voc j
foi prejudicado por problemas relacionados a armazenamentos de dados?
Organizao de Computadores
5.1 Memria
5.1.1 Hierarquia
Memria
Interna
Armazenamento
Externo (disco)
Armazenamento de Segurana
(tas)
Mais lenta e barata
Figura 1 Hierarquia da Memria
Fonte: Adaptado de Stallings (2002, p. 100) e Murdoca & Heuring (2000, p. 225).
90
Deve-se notar que quanto mais alto estiver na hierarquia, mais custoso tende a ser o dispositivo. Assim, um projeto de computador deve balancear os benefcios trazidos pela capacidade da memria interna face a
seus custos. Ainda, deve haver um balanceamento adequado na velocidade dos componentes do computador: De nada adianta, por exemplo, haver
uma grande capacidade de memria se os dispositivos de sada atrasarem
os ciclos de instrues. Da mesma forma, um processador potente pode
permanecer subutilizado se no houver a capacidade de memria adequada (MONTEIRO, 2007).
O quadro 5.1 sumariza as caractersticas fundamentais dos componentes de memria, as quais sero exploradas ao longo deste captulo. A
caracterstica de localizao reflete a hierarquia discutida anteriormente.
Quanto unidade de transferncia, sabemos do captulo 2 que os processadores e certos dispositivos de memria leem e transferem dados em tamanho fixo, da uma das diferenas entre computadores de 16 ou 32 bits.
Quanto aos mtodos de acesso que os dispositivos utilizam para localizar
e dispor dados, a figura 2 sumariza os tipos principais.
Caracterstica
Tipos principais
Localizao
Capacidade
Unidade de transferncia
Acesso
Desempenho
Tecnologia
Caracterstica fsica
Sequencial
Direto
Aleatrio
Associativo
Organizao de Computadores
Como a qualidade dos sistemas computacionais depende do desempenho dos seus dispositivos de memria, importante termos mtodos
para avali-los. Stallings identifica trs fatores fundamentais:
Tempo de acesso: na memria que no usa o acesso aleatrio, esse
tempo corresponde quele gasto para o posicionamento da leitura ou
da escrita na localizao desejada. J para as memrias de acesso aleatrio, esse fator equivale diretamente ao tempo gasto para o procedimento de leitura ou escrita.
Tempo de ciclo de memria: intervalo requerido para que um acesso
possa suceder o outro. Fator que se aplica mais a memrias de acesso
aleatrio.
Taxa de transferncia: taxa em que os bits podem ser deslocados no
dispositivo de memria. Para as memrias de acesso aleatrio, essa
taxa corresponde ao inverso do tempo de ciclo. Para memrias de
acesso no aleatrio, tem-se a relao:
R=
N
T T a
92
Registradores
Memria Cache
Memria Principal
Figura 3 Diviso da Memria Interna
Fonte: Adaptado de Stallings (2002, p. 100) e Murdoca & Heuring (2000, p .225)
UCP
Barramento
Figura 4 Relao entre UCP e Memria Principal
Retomando o modelo de Von Neumann, a UCP precisa ser alimentada rpida e diretamente com dados e instrues (figura 4). Essa a funo
da memria principal. Para que a memria funcione com a UCP, preciso
haver uma integrao de registradores, mecanismos de controle e o barramento (MONTEIRO, 2007), tal como resume o quadro 5.2.
93
Organizao de Computadores
Elemento
Funo
Barramento de endereos
Barramento de dados
Controlador da memria
Barramento de controle
Relgio
sincroniza o sistema.
94
Incio
A UCP envia ao REM o endereo
na memria do dado a ser lido
(barramento de endereos)
sinalizada a operao de leitura
no barramento de controle.
Organizao de Computadores
A Memria RAM
voltil, ou seja, seus dados deixam de ser armazenados na ausncia
de energia. Para que um computador receba
Nos computadores conveninstrues bsicas sem depender da RAM,
criou-se
uma memria de apenas leitura (ROM,
cionais, o papel da memria princiread-only memory) que no voltil. Embora
pal desempenhado pela memria
existam alguns dispositivos de ROM que podem
RAM e parcialmente pela memria
ser reprogramados, a funo principal deles ainda
manter um conjunto essencial de dados para
ROM. Como vimos no captulo 1,
leitura. Em sistemas embutidos, como
a memria RAM (memria de aceseletrodomsticos, brinquedos e equipamenso randmico) serve para armazenar
tos mdicos, a memria ROM possui
uma importncia maior (NULL &
dados de trabalho do processador. Nas
LOBUR, 2010).
especificaes de computadores comer-
96
Figura 8 iMac.
Disponvel em: <http://commons.wikimedia.org/wiki/
IMac#mediaviewer/File:IMac_vector.svg>.
O quadro 5.3 relaciona os principais tipos de memria RAM. Devese destacar aquelas de tipo sncrono, que trabalham sem atraso (delay)
com o processador (CORNACCHIONE, 2012). Outra diferena importante reside nas memrias RAM estticas, que mantm os seus dados enquanto houver alimentao de energia, e as dinmicas, que demandam recargas em perodos de poucos milissegundos (NULL & LOBOUR, 2011).
Categoria Geral
Tipo
DRAM (Dynamic RAM)
Principal
Cache
Vdeo
Organizao de Computadores
Memria
Principal
Cache
Barramento
Figura 9 Relao entre UCP e Memria Principal
Adaptado de Murdoca & Heuring (2000, p. 235)
98
Controle
Dados
Controlador E/S
P1
P2
P3
Organizao de Computadores
A seguir sero apresentados brevemente os tipos principais de computadores. Busque identificar para cada um deles, a partir do texto e de
pesquisa, quais so os dispositivos de entrada e de sada.
So os chamados computadores de mesa (desktop) ou microcomputadores. Esta linha de computadores usada para tarefas rotineiras,
domsticas ou em escritrios. Uma variao deste tipo de computador que
usada para servios mais avanados so as estaes de trabalho (workstations). So PCs com configurao muito mais robusta.
GOCE / DREAMSTIME.COM
5.3.2 Notebooks
100
KMTHEMAN / DREAMSTIME.COM
HYSIDE / DREAMSTIME.COM
DAVIDARTS / DREAMSTIME.COM
101
Organizao de Computadores
5.3.4 Supercomputadores
Atividades
01. Qual a diferena das memrias RAM e ROM?
02. Uma operao de leitura de memria envolve no mnimo quantos registradores?
03. O que a memria cache?
04. Qual a diferena entre o mtodo de acesso direto e por associao?
102
Reflexo
ma com o usurio. Quais sero os caminhos de desenvolvimento dos computadores, sabendo-se da tendncia de queda de preos de componentes
de um lado e, de outro, da motivao das empresas em lanarem produtos
inovadores, os quais garantem uma maior margem de lucro?
Leitura recomendada
Livro: SCHMIDT, E.; COHEN, J. A Nova Era Digital. Rio de Janeiro: Intrnseca, 2013.
Referncias bibliogrficas
APPLE. Compare Mac models. Website. 2014. . Disponvel em: <https://www.apple.com/mac/compare/>. Acesso em: 22 jun. 2014.
CAPRON, H. L.; JOHNSON, J. A. Introducao a Informatica. Sao
Paulo: Pearson Prentice Hall. 2004.
CORNACCHIONE JR., E. B. Informtica. So Paulo: Atlas, 2012.
DELGADO, J.; RIBEIRO, C., Arquitetura de Computadores, 2 edio, LTC, , 2009.
LAUDON, K. C. e LAUDON, J. P. Sistemas de Informacao Gerenciais. Sao Paulo: Prentice Hall. 2007.
LINZMAYER, O. W. Apple Confidential 2.0 The definitive history
of the worlds most colorful company. So Francisco: No Starch,
2004.
MONTEIRO, M. A. Introduo Organizao de Computadores.
5a ed. So Paulo: LTC, 2007.
MURDOCA, M. J.; HEURING, V. P. Introduo Arquitetura de
Computadores. Rio de Janeiro: Campus, 2001.
NULL, L.; LOBUR, J. Princpios Bsicos de Arquitetura e Organizao de Computadores. 2a ed. Porto Alegre: Bookman, 2010.
103
Organizao de Computadores
PIVA JR., D.; NAKAMITI, G. S.; ENGELBRECHT, A. M.; BIANCHI, F. Algoritmos e Programao de Computadores. Rio de Janeiro: Elsevier, 2012.
104