• Nenhum resultado encontrado

Básico Redes de Comp

N/A
N/A
Protected

Academic year: 2021

Share "Básico Redes de Comp"

Copied!
320
0
0

Texto

(1)
(2)

Tocantins; EADCON. Palmas: Editora Educon, 2008. 320 p.: il.

Nota: Caderno de Conteúdo e Atividades 1º período de Análise e Desenvolvimento de Sistemas (apostila)

1. Analista de Sistemas – Formação. I. EADCON. II. Título.

CDD 378 22. ed.

Direitos desta edição reservados à UNITINS.

É proibida a reprodução total ou parcial desta obra sem autorização expressa da UNITINS.

FUNDAÇÃO UNIVERSIDADE DO TOCANTINS Reitor

Humberto Luiz Falcão Coelho Vice-Reitor Lívio William Reis de Carvalho

Pró-Reitor de Graduação Galileu Marcos Guarenghi Pró-Reitor de Pós-Graduação e Extensão

Claudemir Andreaci Pró-Reitora de Pesquisa Antônia Custódia Pedreira Pró-Reitora de Administração e Finanças

Maria Valdênia Rodrigues Noleto Diretor de EaD e Tecnologias Educacionais

Marcelo Liberato Coordenador Pedagógico Geraldo da Silva Gomes Coordenador do Curso

(3)

Computação Básica ...5

Aula 1 – História da computação ... 11

Aula 2 – Componentes básicos do computador ... 27

Aula 3 – Sistemas posicionais de numeração ... 37

Aula 4 – Operações aritméticas no sistema binário de numeração ... 53

Aula 5 – Classificação de software ... 63

Aula 6 – Noções básicas de redes de computadores e banco de dados ... 71

Aula 7 – Profissões na área de Informática ... 79

Algorítmos e Programação...93

Aula 1 – Introdução à programação em Linguagem C ... 99

Aula 2 – Operadores ... 115

Aula 3 – Estruturas de controle ... 125

Aula 4 – Modularização em C: uso de Funções ... 137

Aula 5 – Estruturas de dados homogêneas (vetores e matrizes) e heterogêneas (estruturas) ... 147

Aula 6 – Ponteiros e alocação dinâmica ... 157

Aula 7 – Arquivos ... 163

Lógica de Programação ...175

Aula 1 – Fundamentos da Lógica para Programação ... 181

Aula 2 – Formas de representação de um algoritmo ... 193

Aula 3 – Tipos de dados: variáveis e constantes ... 211

Aula 4 – Operadores e expressões ... 223

Sumário

(4)

Aula 7 – Modularização... 257

Matemática para Computação ...265

Aula 1 – Teoria dos Conjuntos ... 271

Aula 2 – Análise e Simbolização de Proposições ... 283

Aula 3 – Tabela-verdade ... 291

Aula 4 – Relações de Implicação e Equivalência ... 297

Aula 5 – Predicados e introdução à Álgebra de Boole ... 305

Aula 6 – Funções Booleanas ... 313

(5)
(6)

Créditos

Alex Coelho

Evanderson S. de Almeida Marcelo Ribeiro de Oliveira Vinícius de Miranda Rios Coordenação Editorial Maria Lourdes F. G. Aires Assessoria Editorial Darlene Teixeira Castro Assessoria Produção Gráfica Katia Gomes da Silva Revisão Didático-Pedagógica

Sibele Letícia Rodrigues de Oliveira Biazotto Revisão Lingüístico-Textual

Sibele Letícia Rodrigues de Oliveira Biazotto Revisão Digital

Sibele Letícia Rodrigues de Oliveira Biazotto Projeto Gráfico

Douglas Donizeti Soares Irenides Teixeira Katia Gomes da Silva Ilustração

Geuvar S. de Oliveira Capa

Igor Flávio Souza EQUIPE FAEL

Coordenação Editorial Leociléa Aparecida Vieira Assessoria Editorial William Marlos da Costa Revisão

Juliana Camargo Horning Lisiane Marcele dos Santos Programação Visual e Diagramação Denise Pires Pierin

Kátia Cristina Oliveira dos Santos Rodrigo Santos

Sandro Niemicz William Marlos da Costa

(7)

Apresentação

da computação; na segunda, os componentes básicos do computador; e, na terceira, você conhecerá os sistemas posicionais de numeração.

A continuidade dos estudos se dará por meio do estudo das operações aritméticas no sistema binário de numeração, o que será visto na quarta aula; na quinta, classificaremos software. A sexta aula será dedicada a um conteúdo muito importante: noções básicas de redes de computadores e banco de dados.

Para terminarmos os estudos referentes a esta disciplina, analisaremos as profissões na área de Informática.

Com o intuito de combinar reflexões teóricas com propostas práticas, este material não só trará contribuições relevantes para o aprendizado da Computação Básica, como também motivará você para um trabalho mais prazeroso com esse conteúdo.

Desejamos bons estudos! Prof. Alexandre T. Rossini Prof. Alex Coelho

Prof. Evanderson S. de Almeida Prof. Marcelo Ribeiro de Oliveira Prof. Vinícius de Miranda Rios

(8)

Plano de Ensino

posicionais de numeração. Operações aritméticas no sistema binário de nume-ração. Classificação de software. Noções básicas de redes de computadores e banco de dados. Profissões na área de informática.

OBJETIVOS

Conhecer a história da computação, os componentes básicos do •

computador e os sistemas posicionais de numeração. Reconhecer as operações

• aritméticas no sistema binário de numeração.

Adquirir noções básicas de redes de computadores e banco de dados. • Estudar a classificação de • Software.

CONTEÚDO PROGRAMÁTICO

História da Computação •

Componentes básicos do computador •

Sistemas posicionais de numeração •

Operações

• aritméticas no sistema binário de numeração

Classificação de

software

Noções básicas de redes de computadores e banco de dados •

Profissões na área de Informática •

(9)

Janeiro: Brasport, 2002.

BROOKSHEAR, J. Glenn. Ciência da computação: uma visão abrangente. 7. ed. Porto Alegre: Bookman, 2004.

MARÇULA, Marcelo; BENINI FILHO, Pio Armando. Informática: conceitos e aplicações. São Paulo: Érica, 2005.

POLLONI. Enrico G. F.; FEDELI, Ricardo Daniel; PERES, Fernando Eduardo. Introdução à Ciência da Computação. São Paulo: Thomson, 2003.

VELLOSO, Fernando de Castro. Informática: conceitos básicos. 7. ed. Rio de Janeiro: Campus, 2004.

(10)
(11)

Objetivos

Esperamos que, ao final desta aula, você seja capaz de:

visualizar o panorama da evolução dos computadores, composto por •

descobertas da ciência e invenções de cientistas em diversos momentos da história;

compreender a atual realidade em que a tecnologia de produção de •

computadores se encontra.

Pré-requisitos

Como esta aula é a primeira de uma série e esta disciplina é a encarre-gada de introduzir o estudo do conhecimento dos computadores e afins, não há necessidade de que você tenha algum conhecimento específico da área computacional. Recomenda-se, porém, que estude atentamente, procurando traçar um paralelo de cada assunto abordado com a realidade atual da tecno-logia computacional, a fim de visualizar as semelhanças existentes daquelas com os padrões da atualidade. As informações históricas aqui contidas servirão de base primordial para a compreensão de aspectos tecnológicos computacio-nais conhecidos e, até mesmo, as emergentes facetas que a comunidade cien-tífica da computação venha a apresentar.

Introdução

Você visualizará, nesta primeira aula, a linha do tempo da evolução dos computadores, seus cientistas e povos que contribuíram para sua formação. Vale a pena lembrar que tal linha não será vista exaustivamente, uma vez que é inviável discorrer sobre milhares de inventos e povos que contribuíram de alguma forma para tal evolução, mas, sim, sobre aqueles que serviram de

Aula 1

História da computação

(12)

marco nesta caminhada tecnológica. Antes disso, porém, você compreenderá algo sobre o que venha a ser um dado e uma informação, além de diferenciar dados analógicos de dados digitais.

1.1 Dados

O ser humano sempre processou dados. Desde o momento em que um cidadão antigo coletava pedras para representar a quantidade de ovelhas de seu rebanho, ou escrevia nas paredes das cavernas, em cartões perfurados para controlar o posicionamento e o movimento de agulhas do tear, ou até o tempo em que grandes transações bancárias são efetuadas entre duas mega empresas situadas em continentes distintos, deparamo-nos com a definição de dados.

1.2 O que é dado e o que é informação?

Dados são pequenas unidades de informação que, ao serem aplicadas em determinada direção, resultam em unidade de informação maior, de alguma utilidade mais apreciada, ou melhor, a informação em si. Por exemplo, se unirmos o dados “R”, “$” aos dados “1,50”, teremos a informação R$ 1,50. Repare que os dados não parecem ter muito sentido para nós, porém o valor R$ 1,50 já significa algo muito interessante.

Da mesma forma, o R$ 1,50 pode ser considerado um dado, se compa-rado a uma lista de receitas e despesas em uma planilha de orçamento domés-tico, que seria, aqui, a informação. Os dados e seu processamento são um elemento tão abstrato e, ao mesmo tempo, de utilidade tão concreta que, por muitas vezes, temos dificuldade em distinguir quando estão em uma situação que os envolva significativamente.

1.3 Escrita é armazenamento de dados

A necessidade de escrever, armazenar e comunicar informações por meio de símbolos (repare, nesta situação, os dados!) é notada desde os primeiros registros humanos que a arqueologia pode nos fornecer. A escrita é prove-niente dos sumérios. As pinturas rupestres (observadas nas cavernas, nos perí-odos em que se acredita que sejam dos primórdios da humanidade), o uso do ábaco (uma máquina antiga de calcular, contemporânea ao alfabeto, ambos criados na região do mediterrâneo) e de outros aparelhos ao longo da história, até alcançar a tecnologia dos dias atuais, envolvendo micro, mini e super computadores, mostram que o armazenamento de dados e seu processamento

(13)

sempre foram uma forma especial, usada pela humanidade, para exercer controle do meio à sua volta.

1.4 Dados analógicos e digitais

Antes de prosseguirmos no tour pela linha do tempo da evolução dos compu-tadores, entenderemos sobre a definição de dados analógicos e digitais.

1.4.1 Dados analógicos

O Dicionário Michaelis define o termo analógico como “[...] dado repre-sentado por outras grandezas que podem variar segundo o sistema mecânico, elétrico ou eletrônico empregado”. De fato, informações analógicas podem possuir estados variáveis e indefinidos pelo homem.

Pensemos em um rádio de comunicação de uma torre de controle de tráfego aéreo comunicando-se com o rádio de uma aeronave em pleno vôo. Eles, supondo possuírem rádios analógicos, estão sintonizados em uma deter-minada freqüência, por exemplo, 900,023Mhz. Repare que a freqüência de comunicação possui três casas após a vírgula. Mas, mesmo que o receptor do rádio do avião estivesse sintonizado a 900,0237Mhz (quatro casas após a vírgula), a comunicação ainda assim seria possível entre torre e aeronave (talvez com algum chiado). Isso se dá devido ao fato de que um valor analó-gico poderá assumir infinitos estados, tal qual o comprimento de uma onda, propagando-se no espaço. O valor possui largura tal que, embora possa ser detectado algum padrão ou média de tamanho ou largura, tais medidas nunca serão exatas, podendo ser subdividas em infinitas partes.

Outro exemplo é o próprio relógio analógico. O ponteiro dos segundos percorre uma volta completa em 60 segundos. Logo, se dividirmos 360° por 60, obteríamos seis. Isso significa que o ponteiro percorre seis unidades da circunferência a cada segundo. Porém, analogicamente falando, poderemos dividir o segundo em 100 centésimos; logo, se dividirmos 6 unidades da circun-ferência por 100, teremos 0,06 unidades da circuncircun-ferência sendo percorridos pelo ponteiro a cada centésimo de segundo. Creio que você já tenha deduzido que poderíamos ficar aqui calculando infinitamente quantas frações de circun-ferência estaríamos percorrendo em determinada fração de tempo. Inclusive, se assim o fizéssemos, chegaríamos a um valor tão pequeno que não teríamos uma nomenclatura oficial para definirmos tão pequenos intervalos. Porém o fato é que eles existem e são divididos em infinitas partes.

(14)

1.4.2 Dados digitais

Quando olhamos o ponteiro dos segundos se movendo, por causa de nossa capacidade humana limitada de capturar movimentos com clareza até, no máximo, na casa dos centésimos de segundos, temos a impressão de que o ponteiro se tele-transporta de seis em seis unidades de circunferência a cada segundo. Porém, se filmarmos tal ponteiro em movimento e depois assistirmos ao vídeo em câmera lenta, o que visualizaremos será justamente algo parecido com o que vemos no ponteiro dos minutos ou das horas sem câmera lenta.

Os dados analógicos, por serem infinitos, chegam a atrapalhar os estudos dos cientistas que, para possibilitarem a execução prática de suas teorias, precisam discretizar, isto é, limitar a aplicação de um dado analógico infinito para um conjunto de estados finitos. Retornando ao assunto do ponteiro dos segundos, o cientista poderá, para tornar viável a aplicação de sua teoria, considerar que o ponteiro realmente se tele-transporta de seis em seis unidades de circunferência a cada segundo para, então, projetar o relógio digital, com o desenho de um ponteiro no visor do relógio, que realmente aparece em pontos distantes de seis em seis unidades a cada segundo.

Verifica-se, então, que uma informação analógica poderá ser infinitamente mais rica que uma informação digital e, ao mesmo tempo, toda a infinidade de riqueza que possui poderá ser desprezada sem prejuízo para a solução concreta que foi alcançada, como é o caso do relógio digital. Basta, para ele, possuir 60 dígitos que a circunferência já estará modelada, ignorando-se os infinitos pontos entre cada um dos 60 pontos requeridos.

Afinal, o que concluir sobre dados analógicos e digitais?

Conclua que uma informação ou dado digital (referente a dígito), embora limitada, é capaz de possuir toda a precisão necessária para que um objetivo seja alcançado (e a prova disso são os computadores que usamos na atuali-dade, na maioria, digitais). O mundo em que vivemos é altamente analógico (embora o termo altamente analógico seja uma redundância, faço questão de deixar dessa forma, para ficar claro a infinidade de sua definição). Já os computadores que criamos são digitais, ou seja, limitados, porém essa limi-tação poderá ser grande o suficiente para representar, sem perdas significa-tivas (até mesmo imperceptíveis ao ser humano), um modelo real, por exemplo, as fotos, vídeos e músicas armazenadas e reproduzidas por computador. Um exemplo de armazenamento digital sem perdas são os textos digitais.

(15)

Após essas constatações, veremos a evolução da tecnologia computa-cional ao longo do tempo.

1.5 Linha histórica da evolução tecnológica computacional

Ao longo dessa viagem pela linha de evolução dos computadores, veri-fica-se que os inventores, a partir de uma necessidade pessoal e, não raro, coletiva, motivaram-se a criar máquinas que facilitassem, agilizassem e até mesmo permitissem determinadas atividades ou cálculos.

Nessa linha histórica, iremos considerar suas subdivisões de acordo com a estrutura de Marçula e Beninni (2005) e Tanenbaum (2007). Agruparemos os diferentes momentos em que se sucedem as facetas da evolução científica e os distintos componentes que foram usados como marco da posição digital da época.

1.6 “Iniciando do começo”

Os chineses inventaram o ábaco. Você já deve conhecê-lo, pois o mesmo é muito divulgado como elemento didático nas escolas e citado em várias palestras e conferências.

Embora a humanidade antiga soubesse armazenar números e símbolos, os cálculos matemáticos, embora realizados, no ábaco, por exemplo, não eram, na maioria das vezes, armazenados ou escritos. Assim, não se poderia guardar uma equação do segundo grau, por exemplo, e se discretizar alguma teoria. Mas, com a ajuda dos hindus, que criaram o zero escrito, isso já se tornou possível.

2000 a.C. – O ábaco chinês é a primeira ferramenta de cálculo de que se tem notícia. É uma calculadora primitiva, composta por varetas e anéis de madeira, representando unidades, dezenas e centenas. Os chineses não sabiam que estavam fornecendo uma grande ajuda teórica na organização dos computadores. O ábaco é muito popular e até hoje ainda é usado, princi-palmente em países orientais.

1614 – Logaritmos são definidos por John Napier, nascido na Escócia. 1623 – Wilhelm Schickard cria a primeira máquina de calcular, de acordo com os historiadores, pois, infelizmente, ela desapareceu durante a guerra dos trinta anos. Ela realizava operações de divisão e multiplicação e tinha uma estrutura mecânica baseada em rodas dentadas.

(16)

1644 – Blaise Pascal (1623-1662) (inclusive, Pascal é o nome de uma linguagem de programação muito conhecida, batizada assim em homenagem a esse cientista) constrói o que a história entende como a primeira calculadora, batizada por ele de Pascalene, ou Pascalina. Ele a criou para auxiliar seu pai (preparação de impostos). Tal máquina também usava uma roda dentada contendo justamente dez dentes, um para cada algarismo decimal (ou dígito decimal! Uma máquina digital!). A pascalina realizada subtrações e somas.

1673 – Gottfried Wilhelm Leibnitz (1646-1716), matemático e filósofo, melhorou o projeto da Pascalina, construindo, assim, uma máquina capaz de dividir, multiplicar, subtrair, somar e calcular a raiz quadrada. Os historia-dores confirmam seu pensamento: “ele sonhava que um dia todo o raciocínio pudesse ser substituído pelo girar de uma alavanca”.

1801 – Joseph Marie Jacquard (1752-1834) foi um mecânico nascido na frança que criou uma máquina mecânica de tear (a primeira máquina programável, controlada por cartões perfurados, tamanho grande) capaz de criar bonitos desenhos enredados no próprio tecido. Sua invenção fez muito sucesso na França e, em sete anos, milhares de máquinas de tear já estavam em operação no país.

Até aqui, podemos dizer que chegamos ao fim da era mecânica. Veja como ela trouxe a base sem a qual não teríamos chegado onde estamos hoje, e as malhas de nossas roupas não poderiam ter lindos e detalhados enfeites intrínsecos e costurados. Vamos prosseguir para verificar como as máquinas e descobertas daquela era influenciaram na continuidade desse processo evolutivo.

1.7 A era dos dígitos

No decorrer do processo, logo vemos a necessidade de utilizar computadores para realizar atividades repetitivas e rotineiras, principalmente cálculos de precisão diferencial. No século XIX, vemos por, exemplo, que as invenções de Charles Babbage expandem a visão do tamanho do potencial computacional para a humanidade. Prossigamos em nossa caminhada...

1820 – Charles Babbage (1792-1871), matemático nascido na Inglaterra, projeta a máquina analítica, uma máquina diferencial calculadora de polinô-mios. Essa máquina calcularia automaticamente, além de somas e subtrações e outros cálculos básicos, a conversão de números de uma base para outra (da base binária para a decimal, por exemplo). Babbage ficou conhecido com o

(17)

Pai do computador, uma vez que seu invento muito se aproximava do conceito

de computador que temos na atualidade.

Tal máquina, que fora financiada por algum tempo pelo governo britânico, era puramente mecânica, sendo composta por um engenho central (olha só, uma CPU!), uma memória, engrenagens e alavancas. Utilizava cartões perfu-rados e possuía dispositivos de entrada e saída de dados.

Por fim, infortunadamente, Charles Babbage parecia estar à frente da tecnologia de sua época, pois a mesma não estava suficientemente avançada para fornecer a base de que ele precisava para avançar em suas pesquisas e construir peças mecânicas de que precisaria. O governo britânico acabou por suspender o financiamento de Babbage e, com isso, o cientista não teve condições de finalizar o próprio projeto e a calculadora analítica nunca foi construída. Vale a pena ressaltar que as máquinas, até o século XIX, funcio-navam na base decimal (e hoje funcionam na base binária!).

No século XX, a máquina de Babbage finalmente foi construída (e hoje, inclusive, por universidades, com certo sabor saudosista), porém Babbage não viveu tempo suficiente para ver seu invento concretizado.

1842 – Ada Byron (1815-1852), Condessa de Lovelace, filha de Lord Byron (poeta), foi considerada a primeira programadora da história (hoje, existe uma linguagem batizada de Ada, em sua homenagem), inclusive, antes mesmo do computador, como conhecemos, ter sido inventado. Ela escreveu várias instruções para serem interpretadas pela máquina analítica de Babbage. O Conceito de Subrotina partiu dela, que também aprendeu a valorizar os laços de repetições (loop): basta em algum lugar de um cartão, inserir infor-mações para que a leitora de cartões retornasse para outro cartão anterior, concretizando-se assim o efeito de repetição de uma seqüência de instruções. Ada também imaginava as vantagens, caso pudesse trabalhar com os desvios condicionais (if).

1854 – George Boole (1815-1864) publicou as bases da lógica booleana (Booleana em homenagem ao próprio cientista). Tais bases determinam que equações matemáticas algébricas podem expressar os conceitos da lógica, em que variáveis (unidades de memória que armazenam valores) assumiriam os valores 0 e 1 (ex.: verdadeiro ou falso).

Graças a essa contribuição de George Boole, os cientistas puderam pensar em um computador que fosse utilizável para qualquer fim.

(18)

1.8 Máquinas de computar

1889 – As idéias de Charles Babbage são mescladas às práticas com cartões perfurados por um estatístico americano preocupado com a demora na contagem da população. Até então, a contagem completa da população norte-americana demorava sete anos. Após a aplicação computacional de Babbage com a máquina de Hollerith (inclusive esse era, e ainda é, o nome dado aos contracheques de pagamento de funcionários), o tempo para contagem popu-lacional reduziu pela metade, três anos e meio.

1896 – Aqui, a Companhia de máquinas de tabular é criada (Tabulating Machine Company).

1924 – Bem, se foi difícil saber que empresa era essa que fora citada ante-riormente, saiba que neste ano ela muda seu nome para International Business

Machine, ou a famosa IBM.

1904 – A Válvula é criada por John A. Fleming. Tal componente é composto por um envoltório de vidro que contém dois eletrodos. A válvula interrompe ou permite a passagem de corrente elétrica, dependendo de como a energia passa por dentro da mesma. Veja a utilidade disso: com corrente elétrica, temos o Bit um; sem corrente elétrica, o bit zero.

1937 – Allan M. Turing, utilizando-se da álgebra de boole, da tecno-logia de entrada e saída via cartões perfurados e da válvula expõe minucio-samente uma máquina computacional de propósito múltiplo. Essa iniciativa foi a pioneira no sentido de alguém, o próprio usuário (ou seja, não vem definido de fábrica), poder decidir que cálculos ou operações a máquina irá realizar. A consciência com o conceito de programação que temos hoje não é mera coincidência.

1.9 Primeira geração de computadores – Válvula (1945-1955)

De acordo com o progresso da história, é possível agrupar quatro diferentes gerações, notadas sempre por um marco, um evento revolucionário que permitia à tecnologia saltar consideravelmente em direção a um estado mais evoluído.

1946 – John Presper Eckert (1919-1995) e John Mauchly (1907-1980), ambos engenheiros, projetaram o Eletronic Numeric Integrator And Calculator (ENIAC). Ele possuía 18.000 válvulas, 1.500 relés, pesava 30 toneladas e consumia 140Kw de energia (ocupava o tamanho de um prédio pequeno, com 90m2, e conseguia realizar 500 operações de multiplicação por segundo, ou 5.000

(19)

somas, no mesmo período de tempo). O ENIAC foi projetado para fins bélicos (iniciou no apogeu da Segunda Guerra Mundial) porém somente após vários meses o término da guerra, em 1946, esse teve sua construção concluída.

O ENIAC dispunha, para sua programação, de 6.000 interruptores de ajuste e uma imensa quantidade de soquetes. Tanenbaum (2007) compara: “Uma verdadeira floresta de cabos e jumpers”. Programar em painéis elétricos realmente era difícil, lento, tedioso e mecânico.

A partir dessas dificuldades, John Von Neumann propôs um modelo conhe-cido como Máquina de Von Neumann. Esse modelo é composto por cinco partes básicas: uma unidade de controle, uma memória de trabalho (arma-zena os dados), unidades de entrada e saída (impressora) e CPU, composta por uma unidade lógica aritmética e por um acumulador.

1.10 Segunda geração de computadores – transistores (1955-1965)

Isso mesmo, os transistores (Inventado nos Laboratórios da Bell, em 1948 por Willian Shockley, Walter Brattain e Jhon Bardeen) substituíram as válvulas. A válvula era e é uma grande consumidora de energia elétrica. O transistor é muito mais rápido e barato que a válvula, além de consumir bem menos energia elétrica e ser mais durável. Os Estados Unidos conseguiram, por exemplo, com o uso de transistor, sair à frente da antiga URSS na corrida espacial.

1963 – O monitor de vídeo, talvez, hoje, o mais conhecido periférico de saída, começa a ser usado como tal. Antes dele, os resultados de processa-mentos eram vistos impressos em papel.

1964 – Agora é a vez de o mouse aparecer. Ele foi apresentado por Douglas Engelbart como um periférico de entrada de dados. Antes dele, a entrada somente poderia ser feita via os famosos cartões perfurados.

John Kemeny cria a linguagem BASIC que, no momento, servia como um

software que intermediava a relação entre a linguagem de programação e o hardware. Note que isso muito se assemelha ao sistema operacional

(popular-mente representado pelo Microsoft Windows ou GNU/Linux).

1.11 Terceira geração de computadores – circuitos

integrados (1965–1980)

O circuito integrado foi inventado em 1958 por Robert Noyce. Dessa vez, o tal circuito integrado não é um substituto do transistor, mas sim um

(20)

conglo-merado de transistores. Mais especificamente, nessa geração, dezenas, e até centenas deles, em um pequeno espaço (o chip) de silício.

Nessa fase, verifica-se o famoso fenômeno da miniaturização dos compu-tadores: com o circuito integrado (CI), tornou-se possível a construção de computadores menores, mais rápidos e mais baratos do que os da geração anterior já transistorizados. A mudança foi drástica: computadores que tinham tamanhos de salas reduziram ao tamanho de geladeiras, ainda grande, se comparados com os de hoje, certo? Mas concorde que o impacto, aqui, já foi gigantesco para a época que, aliás, não é tão distante de hoje.

1967 – A primeira calculadora digital, precursora das calculadoras de bolso, hoje é apresentada pela empresa Texas Instruments. Tal máquina realizava as quatro operações fundamentais: soma, subtração, multipli-cação e divisão.

1968 – A empresa Intel (hoje, a maior fabricante de microprocessadores do mundo) é criada por Robert Noyce, Andy Groove e Gordon Moore.

1969 – Nasce a rede Arpanet, por meio da interligação de quatro univer-sidades, pelo departamento de defesa dos Estados Unidos. A Arpanet é a precursora da WWW – Rede mundial de computadores ou, simplesmente, a Internet.

1970 – O Sistema operacional (SO) UNIX (curiosidade: o conhecido GNU/ Linux de hoje é um UNIX) é desenvolvido por Ken Thompson e Dennis Ritchie. O UNIX foi o primeiro SO portável (sistema que pode funcionar em diferentes tipos de computadores) a ser desenvolvido.

A partir dessa parte da história, você irá notar (se já não tiver notado) que convive com boa parte da tecnologia. Estamos nos aproximando da geração atual com a qual convivemos.

1.12 Quarta geração de computadores –

integração em escala muito grande (1973, 1980-?)

Na terceira geração, notamos centenas de transistores em um único chip. Agora, na quarta geração, os cientistas obtiveram dezenas de milhares, centenas de milhares e milhões de transistores em um único chip (Very Large

Scale Integration (VLSI) – integração em escala muito alta) ou seja, ainda, de um

CI, porém, em um nível de miniaturização muitíssimo elevado. A essa altura da evolução, é sensato que o chip tenha mudado de nome: Microchip.

(21)

Se o Microchip é o marco dessa geração, logo os computadores constru-ídos com tais são os microcomputadores. Dessa vez, as máquinas alcançaram tamanhos muito menores, evoluindo de geladeiras a cadernos (isso mesmo, traduzindo, notebooks), e indo a um tamanho ainda menor.

1973 – O termo PC (personal computer) e CP (computador pessoal) é utilizado pioneiramente quando a Xerox lança um computador batizado como Alto, com fins de uso pessoal. Repare nas características desse CP: compa-tível com uso de mouse, possuindo um nível alto de conectividade em rede e dispondo de interface gráfica. Realmente, características que podem ser usadas para descrever nossos computadores.

1975 – O BASIC é adaptado para rodar nos microcomputadores daquele tempo (por meio do conhecido Bill Gates e Paul Allen).

1976 – Nasce a Apple (significa maçã, que é, inclusive, a logomarca da companhia) criada por Steve Jobs e Stephen Wozniak, com o intuito de se projetar CPs.

1977 – O Apple 2, o Atari 500 e o Commodore 64 são lançados respec-tivamente pelas empresas Apple, Atari e Commodore. O Apple 2 foi consa-grado como o primeiro sucesso de mercado na área de computação pessoal. 1980 – O primeiro computador portátil, um avô para o notebook Osborne-1 com seus 11 quilos, surge no mercado. Um ano depois do Osborne-1, a

Compaq se estabelece como empresa líder no mercado de portáteis, lançado

sua cópia clonada, portátil, do IBM-PC.

A arquitetura, Reduced Instruction Set (RISC) – conjunto reduzido de instruções, começa a ser aceita no lugar de dificultosas arquiteturas (CISC). Abordagens maiores sobre RISC e CISC serão vistas na próxima aula.

1981 – O IBM-PC é lançado pela IBM, com o processador Intel 8088 e o SO MS-DOS, feito pela Microsoft. Esse CP surge com desempenho (velocidade e memória) muito superior ao dos concorrentes. Você provavelmente possui um PC em sua casa ou local de trabalho ou estudo. Ele é um sucesso que permanece até os dias de hoje. A arquitetura IBM PC foi aberta ao público pela própria empresa. O resultado disso foi a perda de Mercado pela IBM (ruim para a IBM) e a popularização do padrão IBM para o mercado (bom para o mundo, para nós, usuários). É notável a popularidade do padrão IBM (aberto) quando comparamos, por exemplo, à popularidade do Apple (padrão fechado, proprietário). Quem lucrou mesmo com essa história foi a Microsoft,

(22)

uma vez que, para cada computador vendido, mesmo de arquitetura aberta, era quase que provável que uma licença de uso do MS-DOS seria vendida para uso juntamente com a máquina.

1992 – O computador Alpha, revolucionário, de 64 bits, é lançado pela DEC. Um computador RISC, cuja velocidade ultrapassava e posicionava-se muito mais à frente da velocidade de qualquer outro computador pessoal da época.

A história registra o intervalo de tempo de dez anos para que os compu-tadores RISC de 64 bits fizessem sucesso no mercado, atuando principalmente como servidores de alta performance.

1.13 “Quinta geração de computadores” – computadores invisíveis

O que, ou como seria a quinta geração de computadores?

O Japão já teve interesse em ditar como seria a computação de quinta geração: computadores quânticos. Isso causou um grande temor por partes das indústrias americanas e européias. Porém o fato é que o Japão não teve êxito em suas pesquisas e logo o assunto foi abafado.

Constatações históricas nos mostram que a quinta geração não é marcado por uma mudança ou salto grandioso de tecnologia, como constatado nas gerações anteriormente citadas, mas sim uma mudança de paradigma: os computadores atingiriam tamanhos menores (constatando que a miniaturi-zação continua a ocorrer) ao ponto de não serem notados pelo ser humano: a geração do computador invisível.

1993 – A Apple lança o computador Newton. Esse marcou o momento por mostrar que os computadores poderiam ser feitos em invólucros menores do que uma fita cassete portátil. Recebia entrada de dados dos usuários a partir de uma caneta, assemelhando-se aos conhecidos e populares Personal

Digital Assistants (PDAs) – agendas eletrônicas, por exemplo, o Palm Tungsten

ou Pocket PCs.

Embora os PDAs sejam realmente menores, até mesmo que os Notebooks, não são eles quem descrevem a característica dessa nova geração, mas sim os computadores realmente invisíveis como aqueles embutidos dentro de automó-veis, aviões, fornos microondas, máquinas de lavar, vídeo games, etc.

Como se pode notar, os computadores invisíveis estão em toda a parte e, se você, leitor, estiver na cidade e olhar à sua volta, provavelmente constatará (mesmo não podendo ver) a presença de algum computador, microchip ou

(23)

controlador eletrônico em um raio de 15 a 100 metros. Como Tanenbaum afirma: “Eles serão parte da estrutura da vida diária, abrindo portas, acen-dendo luzes, distribuindo dinheiro e milhares de outras coisas”.

Chegamos ao fim desta primeira aula. E quanta informação você recebeu! Muito do que foi visto já fez ou ainda faz parte do seu dia-a-dia ou de seus pais ou de professores mais experientes, afinal convive com a quarta geração e entende a presença de uma quinta geração eminente. E, a partir de agora, desafio você a relacionar na história todos os tipos de computadores com os quais você venha a ter contato. É hora de situar-se na história para compre-ender cada vez mais o porquê de nossa situação tecnológica atual e poder projetar tendências de futuro para a mesma.

Síntese da aula

Nesta primeira aula, você aprendeu detalhes esclarecedores sobre dados analógicos e digitais. Principalmente, viajou no tempo da história da compu-tação, aprendendo as características dos computadores de cada geração que a tecnologia nos trouxe, incluindo a geração atual, sendo capaz de se posicionar quanto às previsões sobre os rumos a serem tomados pela tecno-logia vigente.

Atividades

1. Como diferenciar dado de informação?

2. Cite cinco formas variadas de se armazenar dados.

3. Você vê alguma vantagem do relógio digital sobre o analógico (considere apenas a funcionalidade de relógio)?

4. Qual o nome da máquina criada por Blaise Pascal? 5. Qual o nome da máquina criada por Charles Babbage? 6. Por que Babbage ficou conhecido com o Pai do Computador?

7. Cite as quatro palavras-chave das quatro gerações de computadores. Por que devemos nos lembrar delas?

8. Qual a relação da válvula com a álgebra booleana? 9. Descreva a razão de ser do fenômeno de miniaturização. 10. O que são computadores invisíveis?

(24)

Comentário das atividades

Os objetivos desta aula foram introdutórios aos estudos sobre Tecnologia da Informação, bem como históricos, a fim de situar o aluno quanto ao nível de evolução que alcançamos. As atividades 1, 2 e 3 mensuram a captação da parte introdutória deste assunto, abordando conceitos de dados, informação, e naturezas analógica e digital. As atividades 4, 5, 6 e 7 mensuram a absorção do conteúdo histórico exposto. As atividades 8, 9 e 10 verificam a capacidade de o aluno de raciocinar sobre os conceitos explanados, bem como “palpitar” sobre as tendências de futuro tecnológico.

Na atividade 1, dado pode ser diferenciado de informação quando deter-minada informação pode ser subdividida em partes menores os dados que a compõem.

Na atividade 2, podemos citar as seguintes formas de se armazenar dados: agrupamento de pedras, escrita em paredes de cavernas, escrita em papel, meio magnético, meio óptico.

Na atividade 3, quanto à funcionalidade de relógio (marcar as horas), o relógio analógico é equivalente ao relógio digital.

Na atividade 4, o nome da máquina criada por Blaise Pascal foi Pascalene ou Pascalina.

Na atividade 5, a máquina criada por Charles Babbage foi a máquina

analítica.

Na atividade 6, Babbage ficou conhecido como o Pai do Computador devido ao seu invento muito se aproximar ao conceito de computador que temos na atualidade: possuía um engenho central, uma memória, engrenagens e alavancas. Utilizava cartões perfurados e possuía dispositivos de entrada e saída de dados.

Na atividade 7, as respectivas palavras-chave das 4 gerações de compu-tadores são: válvula, transistor, circuito integrado, microchip. Lembrar dessas palavras nos faz recuperar, em nossa mente, a linha histórica da evolução dos computadores.

Na atividade 8, a válvula interrompe ou permite a passagem de corrente elétrica, dependendo de como a energia passa por dentro da mesma. Com isso, percebemos dois estados físicos definidos: com corrente elétrica, temos o bit um (verdadeiro); sem corrente elétrica, o bit zero (falso). Eis aí dois estados, o sufi-ciente para realizar quaisquer cálculos baseados em álgebra booleana.

(25)

Na atividade 9, a miniaturização foi uma conseqüência natural obtida conforme as gerações vão se estabelecendo. Cada geração é definida por componentes elétricos cada vez menores. Diminuindo-se os componentes, logo diminuem-se o tamanho dos computadores compostos pelos mesmos.

Na atividade 10, computadores invisíveis são uma nomenclatura sugerida para todo objeto de uso humano que contenha, dentro de si (embutidos), micro-processadores ou microcontroladores. Essa realidade nos coloca dentro de um mundo em que estamos cercados de utensílios computadorizados, muitos deles usados por nós tão automaticamente que, por muitas vezes, não atentamos que estamos interagindo com um computador, daí o fenômeno da invisibilidade do

computador.

Referências

MARÇULA, Marcelo; BENINI FILHO, Pio Armando. Informática: conceitos e aplicações. São Paulo: Érica, 2005.

TANENBAUM, Andrew S. Organização estruturada de computadores. São Paulo: Prentice Hall, 2007.

Na próxima aula

Agora que você já visualizou a linha do tempo da evolução dos compu-tadores, na próxima aula, você irá estudar sobre a estrutura física (hardware) básica dos computadores da atualidade. Conhecer as facetas internas dos computadores modernos lhe dará maior embasamento e autoridade tanto para discutir sobre os mesmos quanto para desenvolver programas que sejam executados nessas plataformas.

(26)
(27)

Objetivos

Esperamos que, ao final desta aula, você seja capaz de:

conhecer os principais componentes formadores do computador •

moderno;

compreender, conceitualmente, o modo de execução de instruções de •

um computador.

Pré-requisitos

Chegamos à segunda aula, que abordará um tema conceitual, porém não menos importante para o curso, que recomenda fortemente o estudo da aula ante-rior. O estudo da aula anterior se faz importante devido ao fato de ser a base teórica para uma melhor compreensão dos componentes atuais formadores do computador moderno, que serão estudados nesta aula. Ter conhecimentos sobre, por exemplo, a máquina Von Neumann, o armazenamento de dados e outros impor-tantes conceitos é condição necessária para que você possa ter o melhor proveito desta e de outras aulas de nossa disciplina e, conseqüentemente, do curso.

Introdução

Você conhecerá, nesta segunda aula, os componentes internos e externos que formam o computador contemporâneo de nossa época. Veremos como esses componentes se relacionam entre si para que o conceito de computador se torne uma realidade prática e, portanto, útil para a resolução de problemas.

2.1 Componentes do computador

O computador, relembrando a máquina Von Neumann, é composto por: CPU (nesse caso, representada pela unidade lógica aritmética e pela unidade de controle), memória e unidades de entrada e saída.

Aula 2

Componentes básicos

(28)

Andrew Tanenbaum (2007) define que “um computador digital consiste em um sistema interconectado de processadores, memórias e dispositivos de entrada/saída”.

Atualmente, os computadores seguem esse mesmo princípio de compo-sição. Eles se diferem do modelo de Von Neumann no aspecto do processador, ou CPU, que, em nossa realidade, estão em um único microchip, se é que isso, um reposicionamento, pode ser considerado uma diferença significante.

Visto isso, os componentes principais do computador são: CPU, memória e a placa mãe. Em resumo, a CPU é responsável por processar os dados, a memória tem a funcionalidade de armazenar os dados pré e pós-proces-sados, e a placa mãe é o barramento (canal de comunicação) onde a CPU e a memória se localizam conectadas por meio de slots (conectores), permitindo, assim, que o processador acesse aos dados na memória, processe-os e os retorne para a mesma.

2.2 A Memória Principal – RAM (Random Access Memmory)

O termo RAM, Random Access Memmory traduz-se por Memória de Acesso

Aleatório. Trata-se da memória de trabalho com a qual o processador

comuni-ca-se. O termo aleatório quer dizer que a memória poderá ser acessada, para operações de escrita e leitura, em qualquer posição. Existem milhares de posi-ções de memória, a depender da capacidade do pente de memória instalado em sua placa mãe.

Considere, para efeito didático, uma posição de memória em um pente como sendo um dos apartamentos de um prédio. Cada apartamento pode conter apenas um morador (em termos técnicos, um caractere, por exemplo, a letra “A”). O processador poderá, então, dependendo do programa que está executando, inserir um caractere em uma posição de memória, retirar um caractere de uma posição, substituir um caractere que estava previamente armazenado em uma posição por outro caractere, copiar um caractere de uma posição de memória para outra da posição de memória. Repare que a memória tem de ser de rápido acesso, uma vez que os computadores perfazem milhões de acessos à memória durante o tempo em que estão funcionando, dependendo dos programas que esti-verem sendo executados.

Um exemplo didático de uso da memória seria, por exemplo, os seis passos descritos a seguir.

(29)

1. Processador insere o número um na posição de memória 002. 2. Processador insere o número dois na posição de memória 003. 3. Processador lê o número contido na posição de memória 002. 4. Processador lê o número contido na posição de memória 003.

5. Processador soma os números lidos e armazena o resultado na posição de memória 101.

6. Processador insere o número três na posição de memória 003.

Você é capaz de dizer qual o resultado da soma armazenado na posição de memória 101? Se você respondeu três, acertou. Uma possível resposta, porém, errada, seria cinco. Está errada uma vez que, embora o processador tenha alterado o conteúdo na posição 003 de dois para três, isso em nada influenciou o conteúdo da posição 101.

A Memória Principal (RAM) não processa nada. Ela é um repositório de dados, acessada pelo processador. Ela também é volátil, ou seja, se você desligar o computador, todos os dados contidos nela irão se perder. A propó-sito, a memória que não se perde, em que os documentos que digitamos ficam armazenados, é de outra natureza. Documentos de textos e planilhas, sistema operacional e outros dados persistentes ficam armazenados em dispositivos de memória de massa, por exemplo, os discos rígidos, conhecidos também como memória secundária.

Estudemos, agora, o processador, que tem como função a comunicação, por meio da via de comunicação fornecida pela placa mãe, com a memória principal.

2.3 A Unidade Central de Processamento – UCP

A Unidade Central de Processamento é a principal parte do computador. Você pode referir-se a ela como CPU (Central Processing Unit), UCP (Unidade Central de Processamento) ou, simplesmente, processador.

Um computador poderá até sobreviver, conceitualmente, sem memória ou mesmo sem uma placa mãe, mas, se não possuir um processador, não pode ser nem considerado como um computador propriamente dito: talvez seja outro equipamento como um pen-drive, mas nunca um computador. O termo compu-tador nos lembra do verbo computar, que quer dizer calcular ou, mais espe-cificamente, executar cálculos e operações próprias de um computador. Ora,

(30)

se um computador é aquilo que realiza cálculos, logo, presumimos que ele precisará ter uma espécie de cérebro eletrônico, ou uma cabeça eletrônica que possa pensar ao menos o suficiente para resolver os cálculos para os quais o mesmo foi designado para realizar.

A CPU age, então, como o cérebro do computador, tendo a função de obter dados ou instruções de algum lugar que, no caso de um computador, é a memória de trabalho (será vista em seguida, ainda nesta aula), verificar estas instruções e depois executá-las, uma após a outra.

Vamos desmistificar o processador aqui: ele não é um elemento mágico que busca as informações e as processa de forma desconhecida. No parágrafo ante-rior, utilizamos verbos de ação como obter, verificar e executar. Para cada um destes verbos, existem barramentos e circuitos elétricos e eletrônicos que desem-penham e possibilitam a comunicação entre os componentes internos ao próprio processador. Porém não é aconselhável, por fins didáticos, que você se aprofunde ao nível dos projetos eletrônicos de construção e um processador, pois esse não é o objetivo deste curso. Projetar processadores, bem como circuitos eletrônicos e componentes para computadores, como interfaces de vídeo tridimensionais ou modems para acesso a Internet, etc., são objetivos de cursos específicos como, por exemplo, engenharia eletrônica e engenharia da computação.

Diferentes partes compõem a UCP: UC (Unidade de Controle), ULA (Unidade Lógica Aritmética) e Registradores (Pequenas memórias de alta velocidade).

2.3.1 Unidade de Controle – UC

A Unidade de Controle tem a função de obter dados e instruções na memória principal, determinando sua tipologia. É ela a porta de entrada e saída que o processador usa para comunicar-se, via sinais elétricos, com a memória prin-cipal. Por exemplo, se a ULA precisar armazenar o número binário 0012 na posição de memória 0002, ele solicitará à UC que realize tal procedimento.

2.3.2 Unidade Lógica Aritmética – ULA

A Unidade Lógica Aritmética efetua diversas operações matemáticas, como adição e subtração, multiplicação e divisão, e de lógica booleana (lembra G. Boole? Se não, aconselhamos que você dê uma pequena pausa neste ponto de leitura, retorne à aula anterior e reveja as explanações sobre George Boole e a lógica binária), como o OR (ou) booleano (você estudará isso com deta-lhes na disciplina Lógica de Programação) com a finalidade de se executar as instruções (o programa).

(31)

2.3.3 Registradores

Os Registradores são pequenas memórias que servem para auxiliar o processador, armazenando resultados temporários, durante o processo de cálculo. Pense que o processador teria de se esforçar muito mais para realizar operações sem esses registradores internos, pois, se assim fosse, teria de utilizar a memória principal, que está mais longe, externa ao processador.

Existem registradores com funções genéricas e específicas que são muito mais rápidos do que aqueles, porém são preparados para responder a apenas um tipo fixo de operação, enquanto os genéricos, diversas, tal qual a memória principal. Os registradores são memórias internas para uso geral, usados pela ULA para armazenar dados (caracteres, números binários) que estão sendo processados.

Exemplo de registradores gerais: AX, BX, usados para armazenar números binários. Exemplo de registrador específico: IP, Instruction Pointer, armazena a referência do endereço da memória principal (RAM) que contém a próxima instrução a ser executada.

2.4 Executando-se uma instrução

A Memória principal armazena dados que serão buscados pela UC (unidade de controle) da CPU e adicionados nesses registradores. Em seguida, a ULA realiza operações sobre os dados que estão nos registradores, também armazenando o resultado das operações neles. Por fim, UC copia o valor dos registradores para dentro de um endereço (posição) de memória principal.

A enumeração a seguir representa uma seqüência de pequenas fases que são reproduzidas para cada instrução que a CPU executa. A mesma tem uma denominação comum de ciclo buscar-decodificar-executar.

1. Transportar a instrução seguinte da memória principal para o registrador. 2. Modificar o ponteiro de instrução (IP) indicando a próxima instrução. 3. Estabelecer qual o tipo da instrução transportada.

4. Caso a instrução utilize uma seqüência de dados na memória prin-cipal, estabelecer onde está seqüência de dados se encontra.

5. Transportar a seqüência de dados, se necessário, para algum regis-trador da UCP.

6. Executar a instrução.

7. Retorno à fase 1 (isso fará com que se execute a próxima instrução, contida no registrador IP, alterado pela etapa 2).

(32)

2.5 RISC versus CISC

Ao longo a história, a Apple projetou seu processador e acabou compe-tindo com a Intel, também com um processador próprio. Ambas competiam pelo espaço no mercado de processadores. A Intel lidera essa concorrência de forma geral, principalmente no que se diz respeito aos computadores pessoais. Você deve estar habituado a ouvir, mesmo na televisão, sobre os processa-dores Intel, por exemplo, Pentium, Celeron, etc.

Existe uma diferença básica entre os dois processadores dessas duas companhias aqui: a quantidade de instruções que eles podem realizar. A Apple utiliza um conjunto reduzido de instruções (RISC), enquanto a Intel utiliza um conjunto complexo de instruções (CISC).

Um processador RISC segue a regra de que, internamente, deverá possuir o menor número de micro instruções possível. Por exemplo, ao invés de conter uma instrução para multiplicar (x), basta possuir a instrução de somar (+) e deixar que o programador que queira multiplicar 5x2 realize a operação 2+2+2+2+2. Isso torna a vida do programador mais difícil, pois o mesmo terá de codificar instru-ções complexas que precisar para alcançar seu objetivo. O programa resultante, porém, ao ser executado, será feito em alta velocidade pelo processador RISC.

Um processador CISC segue a regra de que, internamente, deverá possuir vários conjuntos de instruções para realizar diversas operações. Isso significa que ele possuirá tanto a operação de soma (+), quanto à de multiplicação (x). Isso facilita a vida do programador, que terá à sua disposição um leque de instruções prontas de fábrica (a Intel) a fim de alcançar seus objetivos.

Não há como definir qual o melhor dos processadores. Alguns autores defendem o RISC como sendo o mais performático e puro dos processadores; outros defendem que a complexidade trazida pelo CISC facilita a vida dos desen-volvedores. De fato: os processadores RISC costumam ser mais rápidos que os processadores CISC. Mais rápido nem sempre significa melhor. Os computadores da Apple (power pc, I-mac), não são tão populares no Brasil, mas sim nos EUA. São preferidos quando o assunto é, por exemplo, processamento de vídeo, som e gráfico, realizado por empresas de jogos eletrônicos, maquetes virtuais, etc.

Mesmo assim, o processador Intel é o mais popular por seguir uma regra de retro compatibilidade com programas construídos para outros processadores da mesma marca, mesmo que ultrapassados. Isso significa que um programa feito para um processador Intel 4x86 (antigo) terá grandes chances de ser executado em um Pentium IV (novo). Ter essa vantagem de retro compatibili-dade coloca a Intel em posição comercial privilegiada, uma vez que os

(33)

progra-madores de sistemas e aplicativos terão menos trabalho: codificarão uma só vez e verão o seu programa funcionar em várias versões futuras da Intel.

Chegamos ao fim de nossa segunda aula. Agora você está ciente de importantes informações que nortearão de maneira significativa as decisões que você tomará em relação à programação e demais relacionamentos asso-ciados ao computador.

Repare, também, o quanto a primeira aula apresentou aspectos fundamen-tais sobre a evolução dos componentes de nossos computadores, o que fez com que você recebesse a informação dessa aula de forma racional e funda-mentada. Leve para sempre, em sua mente, esses conceitos aqui expostos, pois você irá usá-los como, no mínimo, pano de fundo para o desenvolvimento de aplicações, preparação de conteúdos, ministração de palestras e seminários e os estudos da maioria das disciplinas que serão vistas neste curso e que sejam relacionadas ao computador moderno.

Síntese da aula

Nesta segunda aula, você conheceu os componentes fundamentais do computador moderno e aprendeu detalhes conceituais sobre os mesmos, além de entender diferenças entre arquiteturas de processadores e o modo como um computador executa instruções.

Atividades

1. Cites os três componentes principais de um computador moderno.

2. Associe um verbo chave para cada um dos componentes que você citou na primeira questão.

3. Cites os componentes que compõem a CPU. 4. Descreva as funções da ULA.

5. Qual o papel da UC?

6. O que é RAM e qual a sua função?

7. Qual a diferença entre os registradores da CPU e a memória principal (RAM)?

8. Qual a função do IP (Instruction Pointer) no processo de se executar uma instrução?

9. Explique a frase: “Para o RISC, quanto menor, melhor”.

10. Se o RISC é mais rápido que o CISC, qual o motivo da Intel, típica fabri-cante de processadores CISC, ser líder de mercado?

(34)

Comentário das atividades

Os objetivos desta aula foram pertinentes aos estudos introdutórios sobre os modernos computadores da atualidade, mais especificamente, sobre aqueles mais utilizados pela maioria da população mundial, inclusive, de arquitetura já previamente anunciada ou descrita por grandes ícones da informática atuantes em momentos históricos passados. As atividades de 1 a 10 mensuram o aprendi-zado sobre os principais componentes formadores dos computadores modernos. Na atividade 1, os três componentes que formam o computador moderno são CPU, Memória Principal e Placa Mãe.

Na atividade 2, o verbo associado à CPU é processar (dados), o verbo associado à memória principal é armazenar (dados) e o verbo associado à placa mãe é comunicar (dados).

Na atividade 3, os componentes que compõem a CPU são ULA (Unidade Lógica Aritmética), UC (Unidade de Controle e Registradores).

Na atividade 4, a ULA possui a função de realizar operações matemá-ticas, como multiplicação, divisão, soma, subtração, raiz quadrada, etc, bem como a realização e operações lógicas booleanas.

Na atividade 5, o papel da UC é servir como porta de entrada e saída para com a memória principal, transportando dados dos registradores para a memória principal e vice-versa.

Na atividade 6, RAM é a memória principal, também conhecida como memória de trabalho, e sua função é armazenar dados que poderão ser tanto informações de planilhas (carregadas da memória de massa) quanto instruções de programas.

Na atividade 7, a diferença principal entre os registradores da CPU e memória RAM é a localização física (registradores ficam dentro da própria CPU, enquanto a RAM fica externa à CPU, conectada ao processador via barramento da placa mãe), o tamanho (registradores são quantidades muito pequenas de memória, se comparadas à RAM) e a velocidade de acesso (Registradores são muito mais rápidos que a RAM).

Na atividade 8, dentro processo de se executar um instrução a função do IP (Instruction Pointer) é armazenar o endereço (da memória RAM) da próxima instrução a se executada pela ULA.

Na atividade 9, a frase “Para o RISC, quanto menor, melhor” faz uma alusão à filosofia de fabricação de processadores RISC, que é direcionada ao

(35)

projeto do menor número de micro instruções possível para alcançar, com isso, maior performance (velocidade) de execução.

Na atividade 10, embora o padrão RISC seja mais rápido do que o padrão CISC, os processadores CISC da Intel facilitam a vida dos desenvolvedores de

software devido ao grande leque de instruções disponíveis, bem como ao

prin-cípio a retro compatibilidade empregado pela empresa, que preza pelo fato de um programa, construído uma única vez, poder executar em futuras versões de seu processador CISC.

Referência

TANENBAUM, Andrew S. Organização estruturada de computadores. São Paulo: Prentice Hall, 2007.

Na próxima aula

Agora que você já compreendeu detalhes importantes sobre a arquitetura de computadores modernos (sua estrutura física) e conheceu detalhes de seus componentes internos, você está pronto para se aprofundar na maneira como o computador armazena suas informações, ou seja, utilizando-se do sistema de numeração binário. Também verá a importância da conversão inter-sistemas numéricos, principalmente entre o sistema binário (usado pelo computador) e o sistema decimal (usado pelo homem).

(36)
(37)

Objetivo

Esperamos que, ao final desta aula, você seja capaz de:

compreender os sistemas de representação numérica de base 2, 8, 10 •

e 16 e suas conversões.

Pré-requisitos

Para iniciar os estudos desta aula, é importante conhecer a história da computação, estudado na primeira aula deste caderno, para que fique mais clara a necessidade e a importância dos sistemas posicionais de numeração. Também se faz necessário ter noções dos componentes básicos do compu-tador, conteúdos vistos na aula dois, uma vez que são eles que fazem uso de uma das representações que será estudada nesta aula: o sistema binário.

Introdução

Ao longo da evolução humana, desde os primórdios, quantificar coisas, objetos, rebanhos, entre outros, emergiu como uma necessidade. Assim, os números se tornaram presentes, desde cedo, na civilização.

Entretanto a representação numérica da forma como a conhecemos hoje não é uma invenção que apareceu de um dia para o outro e nem conseqüência de uma única mente inventiva. A utilização dos dedos da mão para representar quantidade, ou seja, alguma grandeza numérica, talvez seja a primeira forma que apareceu. Hoje em dia parece natural essa forma de representação, afinal é comum vermos crianças indicarem suas idades com os dedos da mão.

Pedras, nós em cordas, marcas em um osso e símbolos unitários pintados nas paredes de cavernas também são outras formas de representação numérica. Imagine-se nas cavernas representando o número quinze nas paredes desta forma: | | | | | | | | | | | | | | |. É fácil perceber que é uma tarefa exaustiva.

Aula 3

Sistemas posicionais

(38)

Um pouco mais adiante na história, apareceram os números romanos (até hoje utilizados para referenciar séculos) utilizado em todo o império romano. Nessa forma de representação, ou nesse sistema numérico, letras são os símbolos utilizados para representar quantidades. Nesse sentido, cada letra representa uma quantidade pré-definida. Veja exemplos na tabela 1.

Tabela 1 – Exemplos de números representados no sistema numérico romano

ROMANA REPRESENTAçãO I Um II Dois III Três IV Quatro V Cinco IX Nove X Dez C Cem

CXVI Cento e dezesseis

D Quinhentos

DCXX Seiscentos e vinte

M Mil

MMVIII Dois mil e oito

Contudo o sistema romano, apesar de amplamente utilizado pelo império, é um sistema numérico que apresenta deficiências em operações aritméticas. Outras formas de representações surgiram ao longo da civilização. Entre essas outras formas, surgiram os algarismos arábicos. Segundo Weber (2004), com os seguintes símbolos (0, 1, 2, 3, 4, 5, 6, 7, 8, 9):

٠

,

٩

,

٨

,

٧

,

٦

,

٥

,

٤

,

٣

,

٢

,

١

Note que nessa representação (ao contrário da romana) aparece o número zero, uma invenção indo-arábica das mais importantes da humanidade. Nessa forma de representação numérica, dez símbolos diferentes são utilizados para se representar qualquer número natural. Esse sistema numérico é o mais ampla-mente conhecido e utilizado atualampla-mente e é conhecido como sistema decimal ou sistema numérico posicional de base 10.

Além dos sistema decimal, outros sistemas numéricos se destacam e são importantes para a computação: o binário (sistema numérico posicional de base 2), o octal (sistema numérico posicional de base 8) e o hexadecimal (sistema numérico posicional de base 16).

(39)

Mas você já parou para pensar e tentar descobrir o porquê da popula-rização da sistema de base 10 em relação aos dos demais tipos de base? A resposta é simples. Lembra-se de que no início da aula foi exposto que os dedos talvez tenha sido a primeira forma de representação numérica pelo ser humano e é uma representação natural? Pois bem, a reposta está aí. O sistema decimal se destaca exatamente porque o ser humano tem 10 dedos. Ao contrário do que muita gente pensa, de que o sistema decimal é mais fácil de se trabalhar, os demais sistemas funcionam exatamente iguais aos de base 10. Entretanto podemos achar mais simples o decimal exatamente por estarmos acostumados desde criança com essa forma de representação.

Como veremos a seguir, todas as representações posicionais são regidas por uma única lei: lei de formação.

Vejamos como se compoe um número pela lei de formação: Número = an ∙ bn + a

n-1 ∙ bn-1 + an-2 ∙ bn-2 + ... + a0 ∙ b0 em que:

b = base do número (exemplo: base 2, 8, 10 e 16) n = quantidade de algarismos - 1

an = algarismos de acordo com sua posição (daí o nome sistema posicional) Exemplo

O número 1982 no sistema decimal é composto por 1 milhar, 9 centenas, 8 dezenas e 2 unidades.

1000 + 900 + 80 + 2 = 1982

Esse número pode ser decomposto também da seguinte maneira: 1982 = 1000 + 900 + 80 + 2

= 1x1000 + 9x100 + 8x10 + 2x1 = 1x103 + 9x102 + 8x101 + 2x100

Note que a última linha é a representação do número 1982 no sistema decimal pela lei de formação. Nesse sentido, a idéia é adotar pesos dife-rentes para posições difedife-rentes de algarismos (idéia de representação posi-cional). Assim, quanto mais à esquerda, maior seu peso, sempre 10 (base) vezes maior.

(40)

3.1 Sistema binário (Base 2)

Vimos que o sistema decimal (base 10) utiliza dez símbolos diferentes para representar qualquer número natural. No sistema binário, como o próprio nome diz, existem apenas 2 símbolos para se representar: 0 (zero) e 1 (um).

Como já foi exposto anteriormente, o sistema binário obedece à lei de formação. Vejamos.

O número 1001, no sistema binário, de acordo com a lei de formação, é composto da seguinte forma: 1 = 1x23 + 0x22 + 0x21 + 1x20

O número 11011, no sistema binário, de acordo com a lei de formação, é composto da seguinte forma:

11011 = 1x24 + 1x23 + 0x22 + 1x21 + 1x20

Idoeta e Capuano (1998, p. 2) expõem que, no sistema binário

para representarmos a quantidade zero, utilizamos o algarismo 0, para representarmos a quantidade um, utilizamos o alga-rismo 1. E para representarmos a quantidade dois, se nós não possuímos o algarismo 2 nesse sistema? É simples. No sistema decimal, nós não possuímos o algarismo dez e representamos a quantidade de uma dezena utilizando o algarismo 1 seguido do algarismo 0. Neste caso, o algarismo 1 significa que temos um grupo de uma dezena e o algarismo 0 nenhuma unidade, o que significa dez.

Essa mesma idéia está presente também no sistema binário, proveniente da lei de formação. Para se representar o número dois, é utilizado o algarismo 1 seguido do algarismo 0. Assim, o algarismo 1 representa dois elementos (base 2 ao invés de 10 do sistema decimal) e 0 representa nenhuma unidade.

Ao contrário do decimal, em que cada posição de algarismo recebe um nome (unidade, dezena, centena, milhar, etc), no binário cada algarismo é chamado de bit (binary digit – dígito binário, em português). As denominações no sistema binário aparecem pela quantidade de bits. Veja tabela 2.

Tabela 2 – Nibble, Byte, Word

BITS DENOMINAçãO

4 Nibble

8 Byte

(41)

Gates (1995) apresenta uma forma diferente, no intuito de facilitar o entendimento, sobre o sistema numérico binário. Gates introduz uma idéia diferente de como iluminar um ambiente. Imagine um quarto com uma única lâmpada de 250 watts. Contudo suponha que, ao invés de uma, o quarto tenha 8 lâmpadas de menor intensidade (de 1 a 128 watts). Veja figura 1.

Lâmpada de 128 watts Lâmpada de 64 watts Lâmpada de 32 watts Lâmpada de 16 watts Lâmpada de 8 watts Lâmpada de 4 watts Lâmpada de 2 watts Lâmpada de 1 watts

interruptor interruptor interruptor interruptor interruptor interruptor interruptor interruptor

Figura 1 – Lâmpadas de intensidade diferentes com seus interruptores Fonte: Gates (1995).

No ambiente, há um interruptor para cada lâmpada e elas são arranjadas em ordem crescente de potência da direita para a esquerda, ou seja, a de maior potência está mais à esquerda e a de menor mais à direita (note que é a mesma idéia dos pesos da lei de formação). Dessa forma, ao ligar e desligar os interruptores, é possível ajustar a iluminação do ambiente.

Se quiser somente 1 watt de luz, liga só o interruptor mais à direita. Se quiser 191 watts, liga todos os interruptores, com exceção do da lâmpada de 64 watts. Assim como se você quiser ajustar o nível de iluminação em 137 watts, ligam-se as lâmpadas de 128, 8 e 1 watts, como representado na figura 2. Lâmpada de 128 watts Lâmpada de 64 watts Lâmpada de 32 watts Lâmpada de 16 watts Lâmpada de 8 watts Lâmpada de 4 watts Lâmpada de 2 watts Lâmpada de 1 watts

interruptor interruptor interruptor interruptor interruptor interruptor interruptor interruptor

Figura 2 – Interruptores ajustados para produzir 137 watts Fonte: Gates (1995).

(42)

Gates (1995, p. 41) complementa que

para encurtar ainda mais a notação, você pode registrar cada “desligado” com 0 e cada “ligado”com 1. O que significa que, em vez de escrever “ligado, desligado, desligado, desli-gado, lidesli-gado, deslidesli-gado, deslidesli-gado, ligado”, vale dizer, ligue a primeira, a quarta e a oitava das oito lâmpadas e deixe as outras desligadas, você escreve a mesma informação como 1, 0, 0, 0, 1, 0, 0,1, 1 ou 10001001, um número binário. No caso, é 137.

A idéia de ligar e desligar interruptores é a que está por trás do sistema binário, como vimos. A princípio pode até parecer complicado, mas no sistema decimal essa mesma idéia é utilizada, regida pela lei de formação.

3.2 Sistema octal (Base 8)

O sistema octal, intuitivamente, nos induz que nesse sistema de numeração existem oito símbolos diferentes para se representar qualquer número natural, são eles: 0, 1, 2, 3, 4, 5, 6 e 7.

O sistema octal também obedece à lei de formação. Vejamos.

O número 735 no sistema octal, de acordo com a lei de formação, é composto da seguinte forma:

735 = 7x82 + 3x81 + 5x80

3.3 Sistema hexadecimal (Base 16)

O sistema hexadecimal possui 16 símbolos de representações. Como já vimos, os algarismos arábicos são apenas dez e, sendo assim, faltam ainda seis algarismos. Desse modo, o sistema hexadecimal fica constituído pelos seguintes símbolos ordenados crescentemente:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

Note que A=10, B=11, C=12, D=13, E=14 e F=15. Lourenço e outros (1996, p. 7) dizem que “outros símbolos poderiam ser utilizados para repre-sentar as quantidades maiores que 9, porém, as letras foram escolhidas pela facilidade de manuseio”.

A lei de formação também rege o sistema hexadecimal, uma vez que ele também é um sistema de representação posicional.

Referências

Documentos relacionados

Cada máquina gerenciada é vista como um conjunto de variáveis que representam informações referentes ao seu estado atual, estas informações ficam disponíveis ao gerente através

Robotics 22 Mbps Wireless Cable/DSL Router not only includes the functionality of a 22 Mbps Wireless Access Point, but it also includes router capabilities for sharing

Derecho Procesal. 19 FAIRÉN GUILLÉN, Victor. Estudios de Derecho Procesal. In: Nuovo Digesto Italiano. 21 SILVA, Ovídio Baptista da; GOMES, Fábio Luiz. Teoria Geral do

In this work, improved curves are the head versus flow curves predicted based on the correlations presented in Table 2 and improved by a shut-off head prediction

Segundo o mesmo autor, a animação sociocultural, na faixa etária dos adultos, apresenta linhas de intervenção que não se esgotam no tempo livre, devendo-se estender,

Como o objetivo é a aquisição de biopotenciais da face, devem ser utilizados eletrodos superficiais pois são baratos, descartáveis e evitam procedimentos de

O objetivo deste trabalho foi avaliar épocas de colheita na produção de biomassa e no rendimento de óleo essencial de Piper aduncum L.. em Manaus