Você está na página 1de 120

INTRODUÇÃO A COMPUTAÇÃO

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

11

PProcessrocess BlackBlack

a a computação.indd computação.indd 1 1 P Process rocess Black Black 1 18/7/2013 8/7/2013 18:00:31 18:00:31

118/7/20138/7/2013

18:00:3118:00:31

Conselho Editorial EAD Dóris Cristina Gedrat Thomas Heimman Mara Salazar Machado Andréa de Azevedo Eick

Conselho Editorial EAD Dóris Cristina Gedrat Thomas Heimman Mara Salazar Machado Andréa de Azevedo Eick Astomiro Romais

Mara Salazar Machado Andréa de Azevedo Eick Astomiro Romais Obra organizada pela Universidade Luterana do Brasil.

Obra organizada pela Universidade Luterana do Brasil. Informamos que é de inteira responsabilidade dos autores a emissão de conceitos.

Nenhuma parte desta publicação poderá ser reproduzida por qualquer meio ou forma sem a prévia autorização da Editora da ULBRA.

A violação dos direitos autorais é crime estabelecido na Lei nº .610/98

e punido pelo Artigo 184 do Código Penal.

Dados Internacionais de Catalogação na Publicação (CIP)

C117i

Cabral, Anderson Ricardo Yanzer. Introdução a computação / Anderson Ricardo Yanzer Cabral, Mauricio da Silva Escobar. – Canoas: Ed. ULBRA, 2013.

120p.

1. Computação. 2. Software. 3. Hardware. I. Escobar, Mauricio da Silva Escobar. II. Título.

CDU: 681.3

Setor de Processamento Técnico da Biblioteca Martinho Lutero - ULBRA/Canoas

ISBN 978-85-7528-498-8

Editoração: Roseli Menzen

Dados técnicos do livro Fontes: Palatino Linotype, Franklin Gothic Demi Cond Papel: oset 75g (miolo) e supremo 240g (capa) Medidas: 15x22cm

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

22

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:4618:00:46

APRESENTAÇÃO

Seja bem-vindo(a) ao estudo da disciplina de Introdução à Computação!

Esta disciplina propõe o estudo sobre a origem da computação, sua evolução tecnológica e científica, bem como o perfil dos profissionais que atuam nessa área.

O livro também aborda fundamentos computacionais, apresentando ao aluno uma

visão geral de como um computador funciona internamente, qual a diferença entre hardware e software, os detalhes de como um computador representa informações,

como organizar logicamente e projetar circuitos digitais básicos de um computador

e, como construir programas utilizando uma linguagem simbólica.

O livro-texto da disciplina está organizado em dez capítulos, subdivididos em unidades para que sua leitura e compreensão se dêem de forma a agregar conhecimentos e favoreça a realização das atividades propostas ao final de cada capítulo.

Cada um dos capítulos e suas respectivas unidades propõem estudo aprofundado sobre os conhecimentos focados nesta disciplina. É importante que, ao longo de suas leituras e estudos, você faça apontamentos pessoais que possam ser úteis para a realização das atividades solicitadas ao final de cada capítulo. Estas têm a intenção de possibilitar articulação entre o que foi estudado com contextualizações possíveis em seu cotidiano profissional.

As referências bibliográficas sugerem obras de autores que fundamentam teoricamente os estudos realizados e oferecem a você possibilidades de aprofundamento com leituras complementares. Durante o decorrer da disciplina serão sugeridos materiais complementares através de websites, vídeos e slides sobre os temas abordados.

Um bom trabalho a todos nós!

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

33

PProcessrocess BlackBlack

Professores Anderson Yanzer e Mauricio Escobar

118/7/20138/7/2013

18:00:4618:00:46

ULBRA – Educação a Distância

ULBRA – Educação a Distância 4 I Introduçaõ ntroduçaõ a a computação.indd computação.indd 4 4 P

4

ULBRA – Educação a Distância 4 I Introduçaõ ntroduçaõ a a computação.indd computação.indd 4 4 P

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

44

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:4618:00:46

SOBRE O AUTOR

Anderson Ricardo Yanzer Cabral

Mestre e Doutor em Ciência da Computação; Gerente da Incubadora Tecnológica da ULBRA e Diretor adjunto da Sociedade Brasileira de Gestão do Conhecimento

Mauricio da Silva Escobar

Doutor em Ciência da Computação pela PUCRS. Atualmente atua como professor na ULBRA Canoas/RS.

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

55

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:4618:00:46

ULBRA – Educação a Distância

6

ULBRA – Educação a Distância 6

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

66

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:4718:00:47

SUMÁRIO

1 A ERA DA INFORMAÇÃO/CONHECIMENTO

9

1.1 Perl Prossional 9

1.2 A era da Informação/Conhecimento 11

 

Atividades

16

2 HISTÓRICO DOS COMPUTADORES

19

2.1

Histórico dos Computadores

19

Atividade

26

3 HARDWARE: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 29

3.1 O modelo de Von Neumann

29

3.2 Detalhes internos da CPU

31

3.3 Memórias

32

3.4 Registradores

34

3.5 Memória CACHE 34

35

3.6 Memória principal

3.7 Memória secundária 35

Atividades

36

4 SOFTWARE

39

4.1

Conceito de Software 39

4.1

Classicação de Softwares Básicos

40

4.2

Classicação de Softwares Aplicativos

41

4.3

Linguagem de Programação

42

4.4

Algoritmo 46

Atividade

48

5 SISTEMA DE NUMERAÇÃO

51

5.1 Conversão de bases

53

5.2 Números binários com sinal

57

5.3 Soma binária 57

5.4 Subtração binária 58

60

Atividades

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

77

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:4718:00:47

6

LÓGICA DIGITAL

63

6.1 Portas e operações lógicas

63

6.2 Álgebra booleana

67

6.3 Equivalência de circuitos

68

6.4 Proriedades da álgebra booleana

69

Atividades

70

7 CIRCUITOS LÓGICOS

73

7.1 Decodi cador 73

7.2 Multiplexador 75

7.3 Comparador

76

7.4 Somador

76

7.5 Subtrator

77

7.6 Unidade lógica e aritmética (ULA)

78

7.7 Clock

79

7.8 Unidade básica de memória

80

Atividades

81

8 PROJETO DE CIRCUITOS LÓGICOS

85

8.1 Construindo um circuito através de uma expressão booleana

87

8.2 Exibindo informações

87

8.3 Construindo uma memória de 2 bits 88

8.4 Construindo um contador de 2 bits

89

Atividades

89

9 INTRODUÇÃO À LINGUAGEM DE MÁQUINA 93

9.1 Simulador SMS

95

9.2 Periféricos simulados

96

9.3 Registradores

97

9.4 Conjunto de instruções

97

Atividades

101

10 EXECUÇÃO DE PROGRAMAS

105

10.1 Controles básicos de repetição 103

10.2 Manipulando dados na memória 105

10.3 Lendo dados do teclado

107

10.4 Trabalhando com o periférico semáforo

109

10.5 Trabalhando com o periférico elevador 110

113

Atividades

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

88

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:4718:00:47

1 A ERA DA INFORMAÇÃO/CONHECIMENTO

Anderson Ricardo Yanzer Cabral

Este capítulo tem por objetivo contextualizar o aluno quanto à importância da informação no processo de desenvolvimento e evolução da informática e dos principais recursos computacionais disponíveis nas últimas décadas. Passamos pela chamada era da informação e estamos, para muitos autores e pensadores, na era do conhecimento. A busca pela informação e pelo conhecimento é um dos fatores relevantes para os avanços tecnológicos.

O livro-texto desta disciplina está organizado em oito capítulos, subdivididos em

unidades que seguem uma sequência indica para um melhor aproveitamento da disciplina. Ao final de cada capítulo são apresentadas atividades para consolidação de alguns pontos da disciplina.

É importante que, ao longo de suas leituras e estudos, você faça apontamentos

pessoais que possam ser úteis para a realização das atividades solicitadas ao final de cada capítulo. Podem ser utilizadas ferramentas colaborativas para organizar os conhecimentos desenvolvidos na disciplina.

As referências bibliográficas sugerem obras de autores que fundamentam teoricamente os estudos realizados e oferecem possibilidades de aprofundamento com leituras complementares. Existem muitos websites, blogs e slides disponíveis na internet com material relevante e complementar para esta disciplina.

1.1 Perfil Profissional

Antes de apresentar os conteúdos do capítulo sobre informação e conhecimento, será apresentado o perfil do profissional de informática, de acordo com o projeto pedagógico do curso, baseado nas demandas do mercado de trabalho.

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

99

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:4718:00:47

10

ULBRA – Educação a Distância

10 ULBRA – Educação a Distância Este perfil é composto por: Habilidades pessoais : pensamento sistêmico;

Este perfil é composto por:

Habilidades pessoais: pensamento sistêmico; capacidade de resolução de problemas; capacidade de inovar; pensamento crítico; análise de risco;

disciplina pessoal; persistência; curiosidade; capacidade de autoaprendizado

e abertura às mudanças.

Habilidades interpessoais: trabalho colaborativo; capacidade de comunicação

e capacidade para resolução conjunta de problemas.

Conhecimentos técnico cientícos: abstração, representação e organização da informação; arquitetura de sistemas empresariais; conceitos de distribuição da informação em sistemas; dinâmica de mudanças; uso e desenvolvimento de ferramentas e sistemas computacionais.

Além de apresentar o perfil profissional desejado, que também é apontado por empresários da área como o ideal, também apontamos algumas dicas de como aproveitar melhor o seu curso (MAR et al. 2006):

• Nade ou afunde

– O meu sucesso acadêmico e, por conseguinte prossional, é determinado basicamente por mim (estudante);

– A Universidade me proporcionará a oportunidade, mas depende de mim aproveitá-la.

• Leia e também aprenda sozinho

– O conhecimento também deve ser buscado através de leituras em livros, artigos e revistas especializadas;

– Um dos problemas dos estudantes atuais é a super cialidade nas leituras, portanto use o tempo necessário para entender o que foi lido.

• Ensine o seu mestre

– “Eu gostei muito deste conceito

Pois vá à luta e aprenda mais sobre

ele, para depois debater com o seu professor, com certeza ele cará lisonjeado.

• E ainda

– São importantes as experiências em estágios e trabalhos de pesquisa e as “redes de contatos” que são construídas entre colegas e professores.

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

1010

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:4718:00:47

11

ULBRA – Educação a Distância

– Aproveite o conhecimento a sua disposição, a internet possui muito “lixo” mas também possui muito conhecimento com alta qualidade.

– Faça cursos de extensão e capacitações que o tornarão diferenciado no mercado de trabalho.

– O ambiente acadêmico é propício para cultivar amizades e o companheirismo entre colegas e professores.

amizades e o companheirismo entre colegas e professores. – Vá a congressos, participe de eventos e

– Vá a congressos, participe de eventos e de palestras de empresas renomadas e especializadas.

– Estude inglês!

Após concluir o seu curso, não esqueça que este foi só o começo de uma grande caminhada, portanto:

• Batalhe por um excelente emprego na área em empresas privadas, pois o mercado de TI está altamente aquecido e com muitas oportunidades.

• Desenvolva o seu espírito empreendedor e monte sua própria empresa, existem muitas oportunidades para “startups”.

• Dê continuidade à sua carreira acadêmica (especialização, mestrado, doutorado) e torne-se um pesquisador.

• Mantenha-se atualizado com as novas tecnologias, elas surgem a uma velocidade cada vez maior.

• Troque de emprego, se for preciso, mas cuidado para não “queimar o lme” no mercado cando trocando a todo momento de emprego.

• Permaneça sempre “empregável”.

1.2 A era da Informação/Conhecimento

Muitos livros e artigos nas últimas décadas apontaram que estávamos vivendo

a chamada era da informação, mas no início da década de 90 muitos autores

começaram a reverenciar o momento como a era do conhecimento. Ultimamente, alguns autores apontam que estamos vivendo a era da inovação. Todos estes elementos, informação, conhecimento e inovação, estão associados à evolução tecnológica. A busca pela informação acompanha o homem desde os seus primórdios e a tecnologia tem sido um aliado crucial.

Desta forma, percebemos que a informática e os recursos computacionais avançam para prover, em maior quantidade e qualidade, mais informação e conhecimento

e, a inovação desempenha um papel importante neste cenário.

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

1111

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:4718:00:47

12

ULBRA – Educação a Distância

Para uma melhor compreensão deste conceitos, abaixo apresentamos as suas definições.

deste conceitos, abaixo apresentamos as suas definições. Dado – Consiste em um fato bruto (nome de

Dado

Consiste em um fato bruto (nome de um funcionário, número de matrícula, código de um produto, etc.), ou suas representações (imagens, sons, números, etc.)

Dados são materiais brutos sem ação que precisam ser manipulados e colocados em um contexto compreensivo.

Informação

– A informação é um conceito central na área de Sistemas de informação, é

o recurso mais valioso e importante nas organizações na sociedade atual, a sociedade da informação.

– Conceitos associados à informação:

Dado

Conhecimento

Competência

É

– uma coleção de fatos organizados de forma a possuir um valor adicional aos

fatos em si. Em outras palavras, são dados concatenados, que passaram por

um processo de transformação, cuja forma e conteúdo são apropriados para um uso especíco.

Conhecimento

– Implica estar ciente e ter o entendimento de um conjunto de informações e como estas informações podem ser úteis para suportar determinado processo ou tarefa, envolvendo uma combinação de instintos, ideias, informações, regras e procedimentos que guiam ações e decisões. O conhecimento é uma

informação valiosa da mente humana, que inclui reexão, síntese e contexto.

É difícil de estruturar, de capturar em computadores, normalmente é tácito

(não explícito) e sua transferência é complexa.

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

1212

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:4718:00:47

13

ULBRA – Educação a Distância

Associado aos conceitos de dado, informação e conhecimento, temos o conceito de competência, que neste contexto, pode ser observado como:

– O processo contínuo e articulado de formação e desenvolvimento de conhecimentos, habilidades e atitudes de gestores a partir da interação com outras pessoas no ambiente de trabalho, tendo em vista o aprimoramento de sua capacitação.

– A capacidade de mobilizar, integrar e colocar em ação conhecimentos, habilidades e formas de atuar a m de atingir ou superar desempenhos congurados na missão da empresa e da área

A Figura 1 ilustra a relação entre estes conceitos.

Figura 1 – Relação dado, conhecimento e informação

Figura 1 – Relação dado, conhecimento e informação O homem sempre buscou na informação uma forma
Figura 1 – Relação dado, conhecimento e informação O homem sempre buscou na informação uma forma

O homem sempre buscou na informação uma forma de diferenciação e vantagem competitiva. Isso vale para negócios, guerras, luta pelo poder, desenvolvimento social, econômico e até pessoal. A informação sempre desempenhou um papel importante na tomada de decisões, que como vimos, está associado ao conceito de competência. A evolução da informática está diretamente associada à busca da melhor gestão da informação.

Para Pierre Fayard (2000), que trata do tema informação e comunicação em estratégia, “Informar-se significa direcionar um olhar panorâmico a uma atenção contínua e focalizada em objetos delimitados, para compreender, situar, prever e saber onde, quando e como agir conforme os interesses”.

Figura 2 – Dado e informação

conforme os interesses”. Figura 2 – Dado e informação I Introduçaõ ntroduçaõ a a computação.indd

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

1313

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:4718:00:47

14

ULBRA – Educação a Distância

14 ULBRA – Educação a Distância Figura 3 – O que fazemos com a informação A

Figura 3 – O que fazemos com a informação

a Distância Figura 3 – O que fazemos com a informação A informação possui uma série

A informação possui uma série de características que determinam seu valor para a organização ou processo em análise:

• Precisa: sem erros

• Completa: contém todos os fatos relevantes no processo em análise

• Econômica: o seu custo para ser gerada

• Flexível: armazenada de forma a ser utilizada em diversos processo

• Conável: depende dos dados de origem e dos métodos de coleta

• Relevante: são importantes para os tomadores de decisão

• Clara: simples, normalmente informações complexas não são úteis aos tomadores de decisão

• Veloz: é entregue quando necessária

• Verificável: deve permitir verificação pelo tomador de decisão quando necessário

• Acessível: facilmente acessível por usuários autorizados no formato e momento certo

• Segura: acessada somente por usuários autorizados

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

1414

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:4818:00:48

15

ULBRA – Educação a Distância

Figura 4 – A era da informação

Educação a Distância Figura 4 – A era da informação Figura 5 – Definição de informática
Educação a Distância Figura 4 – A era da informação Figura 5 – Definição de informática

Figura 5 – Definição de informática

era da informação Figura 5 – Definição de informática Este primeiro capítulo teve por objetivo apresentar
era da informação Figura 5 – Definição de informática Este primeiro capítulo teve por objetivo apresentar

Este primeiro capítulo teve por objetivo apresentar aspectos gerais do perfil de um profissional de informática e os desafios de um estudante desta área. Também foram apresentados os conceitos de dados, informação e conhecimento, associando a busca do homem pela informação e a relação que esta possui com os avanços da tecnologia.

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

1515

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:4818:00:48

16

ULBRA – Educação a Distância

16 ULBRA – Educação a Distância Atividades 1) Dos itens a seguir, quais poderiam ser classi

Atividades

1)

Dos itens a seguir, quais poderiam ser classicados como dados

a) Idade

b) relação de produtos mais vendidos

c) preço

d) relação das pessoas acima de 60 anos

e) lista de produtos

2)

Dos itens a seguir, quais poderiam ser classicados como informação

a) Procedimentos de como comprar os melhores produtos

b) relação de produtos mais comprados

c) peso

d) relação dos funcionários mais antigos

e) lista de produtos mais caros

3)

Dos itens a seguir, quais estão associados ao conceito de conhecimento

a) Procedimentos de como comprar os melhores produtos

b) relação de produtos que estão em estoque

c) o que fazer quando o computador acusa erro de memória

d) nome do funcionário

e) lista de produtos mais baratos

4)

Um hacker descobriu uma falha de segurança e invadiu o Internet Banking do BB. Este deve pagar por esta ação como se fosse um crime?

(

) verdadeiro

(

) Falso

5)

A empresa tem o direito de vasculhar os e-mails e arquivos dos empregados? uma vez que estes assinaram termo de compromisso de utilizar os equipamentos somente para ns prossionais.

(

) verdadeiro

(

) Falso

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

1616

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:4818:00:48

17

ULBRA – Educação a Distância

Referências Bibliográficas

Básica

CAPRON, H. L.; JOHNSON, J. A. Introdução à Informática. São Paulo: Pearson, 2004.

FAYARD, Pierre. O jogo da interação: Informação e Comunicação em Estratégia. Caxias do Sul:

EDUCS, 2000.

Stallings, William. Arquitetura e organização de Computadores. São Paulo: Pearson Pratice Hall,

2010.

WEBER, R. F. Fundamentos de Arquitetura de Computadores. Porto Alegre: Sagra- Luzzatto, 2000.

de Computadores . Porto Alegre: Sagra- Luzzatto, 2000. Complementar AUDY, Jorge Nicolas; ANDRADE, Gilberto Keller;

Complementar

AUDY, Jorge Nicolas; ANDRADE, Gilberto Keller; CIDRAL, Alexandre. Fundamentos de Sistemas de Informação. Porto Alegre: Bookman, 2005.

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

2005.

MARCHIORO, Gilberto; PETRY, Adriano; ZANUZ, Adriano. Caderno Universitário:

Introdução à Computação. Canoas: Editora da ULBRA, 2006.

GUIMARÃES, Ângelo de Moura. Introdução à Ciência da Computação. Rio de Janeiro: LTC, 2001.

MONTEIRO, Mário Antonio. Introdução à Organização de Computadores. Rio de Janeiro: LTC,

2002.

TANENBAUM, A. S. Organização Estruturada de Computadores. 4. ed. Rio de Janeiro: LTC,

2001.

TORRES, G. Curso Completo de Hardware. 4. ed. Rio de Janeiro: Axcel Books, 2001.

VELLOSO, Fernando de Castro. Informática 5. ed. Rio de Janeiro: Campus, 2004.

Brookshear, J. Glenn. Ciência da computação: uma visão abrangente. Porto Alegre: Bookman, 2005.

Gabarito

1)

2)

3)

4)

5)

a, c b, d, e a, c v v

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

1717

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:4918:00:49

ULBRA – Educação a Distância

18

ULBRA – Educação a Distância 18

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

1818

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:4918:00:49

2 HISTÓRICO DOS COMPUTADORES

Anderson Ricardo Yanzer Cabral

Este capítulo tem por objetivo contextualizar o aluno quanto ao desenvolvimento

e evolução dos computadores desde o seu surgimento. Esta contextualização

possibilita verificar as origens dos sistemas computacionais e a velocidade e a escala

de evolução dos mesmos. Alguns recursos computacionais, por exemplo, dobram a sua capacidade (processamento ou armazenamento) em períodos de dezoito meses. Entendendo o histórico e evolução dos sistemas computacionais, podemos ter uma noção da dinâmica e da velocidade dos avanços nas tecnologias da informação e comunicação (TIC) e a sua influência na vida das pessoas e das corporações.

2.1 Histórico dos Computadores

A necessidade de computar (calcular, contar, avaliar, etc.) pelo homem, vem desde

os seus primórdios, pois está associada às necessidades básicas da raça humana. Talvez a mais primitiva esteja associada à necessidade do homem “contar e calcular” os mais variados tipos de objetos e recursos.

A capacidade do ser humano de calcular quantidades nos mais variados modos,

foi uma das descobertas que possibilitou o desenvolvimento da matemática e da lógica. O desenvolvimento da tecnologia da computação foi resultado da união de várias áreas do conhecimento humano, dentre os destaques podemos citar: a matemática, a eletrônica digital, a lógica, entre outras.

Na região do mediterrâneo surgiu o alfabeto e o Ábaco. O ábaco foi um dos primeiros mecanismos para contar e realizar cálculos com uma certa “automação”. Quanto a este invento, podemos apontar que:

• Era usado nas civilizações chinesa, hindu e romana.

• Composto de pérolas que se movimentando sobre hastes.

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

1919

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:4918:00:49

20

ULBRA – Educação a Distância

• Permite representar números (memória).

• Usado para efetuar adições e subtrações.

Figura 1 – Ábaco

para efetuar adições e subtrações. Figura 1 – Ábaco Os Bastões de Neper , também foram
para efetuar adições e subtrações. Figura 1 – Ábaco Os Bastões de Neper , também foram

Os Bastões de Neper, também foram dispositivos inventados para auxiliar a calcular de forma automatizada. Quanto a estes sabe-se que:

• Foi inventado por John Neper no início do século XVII (1615).

• Criado para auxiliar a multiplicação.

• Composto de 10 casas divididas por uma diagonal contendo unidades e dezenas do produto.

• Foram utilizados por mais de 200 anos.

Figura 2 - Bastões de Neper

por mais de 200 anos. Figura 2 - Bastões de Neper I Introduçaõ ntroduçaõ a a

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

2020

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:4918:00:49

21

ULBRA – Educação a Distância

A Pascaline foi considerada a Primeira máquina de calcular e foi criada por Blaise

Pascal em 1642. Ela consistia de um conjunto de rodas dentadas e engrenadas entre si e essas rodas representavam potências de 10. Ela realizava adição e subtração .

Figura 3 - Pascaline

Ela realizava adição e subtração . Figura 3 - Pascaline Gottfried Wilhelm von Leibniz (1646-1716), um
Ela realizava adição e subtração . Figura 3 - Pascaline Gottfried Wilhelm von Leibniz (1646-1716), um

Gottfried Wilhelm von Leibniz (1646-1716), um advogado alemão, construiu uma versão melhorada da Pascaline, a Calculadora de Leibniz, que fazia as quatro operações e foi utilizada na prática.

Figura 4 – Calculadora de Leibniz

utilizada na prática. Figura 4 – Calculadora de Leibniz Outro equipamento que obteve sucesso no processo

Outro equipamento que obteve sucesso no processo de automatização de um processo, que utilizava uma pré-configuração de entrada, foi Tear Mecânico de Jaquard, que era uma máquina de tecer automática, criada por Joseph Marie Jacquard em 1806. Ela utilizava uma leitora de cartões perfurados e obteve um grande sucesso, com 10000 máquinas em serviço em 1812. Esta máquina era capaz

de produzir tecidos com desenhos bem elaborados e intrincados. Foi tamanho o

sucesso que Jacquard foi quase morto quando levou o tear para a cidade francesa

de Lyon, pois as pessoas tinham medo de perder o emprego com este tear automatizado.

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

2121

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5018:00:50

22

ULBRA – Educação a Distância

22 ULBRA – Educação a Distância Figura 5 – Tear mecânico de Jaquard Em 1820, surgiu

Figura 5 – Tear mecânico de Jaquard

a Distância Figura 5 – Tear mecânico de Jaquard Em 1820, surgiu o Arithmometer , que

Em 1820, surgiu o Arithmometer, que foi a primeira calculadora produzida em escala industrial por um francês chamado Charles Xavior Thomas.

Figura 6 – Arithomometer

chamado Charles Xavior Thomas. Figura 6 – Arithomometer Charles Babbage em 1833 criou a sua Máquina

Charles Babbage em 1833 criou a sua Máquina Analítica, e esta era composta de um moinho (unidade de cálculo), um tambor (memória) e um dispositivo de controle. Ela podia ser programada com cartões perfurados (cartões de operações, cartões de variáveis e cartões de números). Este invento tinha uma concepção muito próxima da de um computador atual. Por algum tempo, o governo britânico financiou Babbage para construir a sua invenção.

Figura 7 – Máquina analítica de Babbage

sua invenção. Figura 7 – Máquina analítica de Babbage I Introduçaõ ntroduçaõ a a computação.indd

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

2222

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5018:00:50

23

ULBRA – Educação a Distância

Babbage teve muitas dificuldades com os recursos para a manufatura de componentes mecânicos com a precisão necessária, não possuindo equipamentos para a construção adequada dos seus projetos. O governo inglês financiou o começo do projeto, mas após um período suspendeu o financiamento e Babbage utilizou a fortuna da família até a falência, sem que pudessem concluir o projeto

e a calculadora analítica nunca foi totalmente construída.

As máquinas do século XIX usavam a base binária (0 a 9), só que isso provocava muitas dificuldades para representar um dígito decimal em componentes eletrônicos. O matemático inglês George Boole (1815-1864) publicou em 1854 os princípios da lógica booleana, onde as variáveis assumem apenas valores 0 e 1 (verdadeiro e falso), e esta concepção de representação de valores passou a ser utilizada a partir do início do século XX, sendo até hoje a base de representação de valores para os sistemas digitais.

O uso da energia elétrica determina um marco na concepção de novos dispositivos

o telégrafo de Morse (Samuel Morse, 1837) é um equipamento pioneiro no sistema

de comunicação à distância com uso de sinais elétricos.

Figura 8 – Telégrafo de Morse

uso de sinais elétricos. Figura 8 – Telégrafo de Morse Por volta de 1890, nos EUA,
uso de sinais elétricos. Figura 8 – Telégrafo de Morse Por volta de 1890, nos EUA,

Por volta de 1890, nos EUA, Herman Hollerith (1860-1929) promoveu uma grande evolução na maneira de se processar os dados obtidos através dos censos da época. No censo de 1880, de forma manual, os dados levaram quase oito anos para serem compilados. No censo de 1890 os dados foram processados em menos de três anos, com o uso de uma máquina de perfurar cartões e máquinas de tabular e ordenar, criadas por Hollerith e sua equipe. Os dados obtidos sobre os indivíduos eram armazenados em cartões, por meio de perfurações em locais específicos do cartão. Nas máquinas de tabular, um pino passava pelo furo e chegava a uma jarra de mercúrio, fechando os contatos de um circuito elétrico e causando um incremento de 1 (soma 1), em um contador mecânico. Hollerith fundou anos depois uma companhia para produzir máquinas de tabulação, que em 1924, veio a se chamar IBM.

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

2323

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5118:00:51

24

ULBRA – Educação a Distância

24 ULBRA – Educação a Distância Figura 9 – Máquina estatística de Hollerith O Z-1 foi

Figura 9 – Máquina estatística de Hollerith

a Distância Figura 9 – Máquina estatística de Hollerith O Z-1 foi o primeiro computador eletromecânico

O Z-1 foi o primeiro computador eletromecânico e usava relês e foi construído em 1936 pelo alemão Konrad Zuse, que tentou vendê-lo ao governo alemão para uso militar, que não se interessaram pela máquina.

Com o advento da II Guerra Mundial, a necessidade por vantagens competitivas fez com as pesquisas aumentassem nessa área. Nos Estados Unidos a Marinha, em conjunto com a Universidade de Harvard e a IBM, construíram o Mark I em 1944. Este equipamento Utilizava princípios inspirados pelos trabalhos de Babbage, utilizava milhares de relés e ocupava 120 m 3 e fazia um barulho infernal. Uma multiplicação de números de 10 dígitos levava 3 segundos para ser efetuada.

Em segredo, o exército americano também desenvolvia seu computador, o ENIAC, que usava apenas válvulas e tinha por objetivo calcular as trajetórias de mísseis com maior precisão. O ENIAC: Eletronic Numeric Integrator And Calculator possuia 18.000 válvulas, conseguia fazer 500 multiplicações por segundo, porém só ficou pronto em 1946, meses após o final da segunda guerra mundial.

em 1946, meses após o final da segunda guerra mundial. Figura 10 – MARK I I

Figura 10 – MARK I

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

2424

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5118:00:51

25

Figura 11 – ENIAC ULBRA – Educação a Distância
Figura 11 – ENIAC
ULBRA – Educação a Distância

O matemático húngaro John von Neumann (1903-1957) formalizou o projeto lógico de um computador. Von Neumann propôs que as instruções fossem armazenadas em um dispositivo de memória do computador. Até este projeto elas eram lidas de cartões perfurados e executadas em sequência. Armazená-las as instruções em um tipo de memória, para depois executá-las, tornaria o computador mais rápido, pois as instruções seriam obtidas e transferidas com muito mais rapidez (uso de dispositivos de memória eletrônica). A quase totalidade dos computadores de hoje em dia ainda está baseada no modelo proposto por Von Neumann.

Esse modelo define um computador sequencial digital, onde o processamento dos dados é feito passo a passo, caracterizando um comportamento determinístico (ou seja, os mesmos dados de entrada produzem sempre a mesma resposta), que é um dos princípios básicos da computação.

Até a década de 50 os poucos computadores que existiam, eram quase que exclusivos de projetos militares ou grandes institutos de pesquisa associados à órgãos governamentais. Na década de 60 os computadores começam a ter apelo comercial, para uso em grandes corporações e o computador que melhor representa este marco é o IBM System 360. Ele representou a guinada para computadores mais poderosos e baratos e utilizava transistores e memória de núcleo magnético. Aceitava uma grande variedade de periféricos e consolidou a posição de líder da IBM que, se mantém até os dias atuais, uma das principais empresas de tecnologia.

Os computadores da primeira geração usavam válvulas eletrônicas, quilômetros de fios, eram lentos, enormes e esquentavam muito, sendo um dos principais computadores desta geração o UNIVAC.

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

2525

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5218:00:52

26

ULBRA – Educação a Distância

26 ULBRA – Educação a Distância A segunda geração substituiu as válvulas eletrônicas por transistores e

A segunda geração substituiu as válvulas eletrônicas por transistores e os fios

de ligação por circuitos impressos. Isso tornou os computadores mais rápidos,

menores e de custo mais baixo. A terceira geração foi construída com circuitos integrados, proporcionando maior compactação, redução dos custos e velocidade

de processamento da ordem de microsegundos e também é marcada pelo início da

utilização de avançados sistemas operacionais. A quarta geração é caracterizada por um aperfeiçoamento da tecnologia já existente, proporcionando uma otimização da máquina para os problemas do usuário, maior grau de miniaturização, confiabilidade e velocidade maior, já da ordem de nanosegundos. A quinta geração iniciou com as arquiteturas avançadas e linguagens de programação orientadas

a

objetos.

O

termo quinta geração foi criado pelos japoneses para descrever os potentes

computadores “inteligentes” que queriam construir em meados da década de 1990. Posteriormente, o termo passou a envolver elementos de diversas áreas de pesquisa relacionadas à “inteligência computacional”: inteligência artificial, sistemas especialistas e linguagem natural.

Mas o verdadeiro foco dessa ininterrupta quinta geração é a conectividade, o maciço esforço da indústria para permitir aos usuários conectarem seus computadores a outros computadores. O conceito de supervia da informação capturou a imaginação tanto de profissionais da computação como de usuários comuns. O advento da internet e dos dispositivos móveis, tende a termos a unificação de outros tipos de dispositivos que permitem a comunicação e possuem alto poder de processamento,

e nos dias atuais, o melhor exemplo são os smartphones.

Atividade

Pesquisa na internet sobre as novas tendências computacionais relacionadas à nanotecnologia.

Exercícios

1)

Aarquitetura proposta por Von Neumann é ainda utilizada pelos computadores até os dias atuais?

(

) Verdadeiro

(

) Falso

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

2626

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5318:00:53

27

ULBRA – Educação a Distância

2)

O primeiro equipamento de comunicação em grande escala a utilizar energia elétrica foi:

(

) UNIVAC

(

) MARK III

(

) Telégrafo de Morse

(

) IBM 360

(

) Nenhuma resposta correta

3)

O que aproximou o Tear de Jaquard do conceito de computação?

(

) produzir desenhos elaborados

(

) utilizar eletricidade

(

) utilizar cartões como entrada de informações

(

) utilizar mecanismos de mecânica precisos

(

) Nenhuma resposta correta

4)

Qual dos computadores abaixo foi o primeiro a obter sucesso comercial:

(

) Apple II

(

) UNIVAC

(

) MARK I

(

) IBM System 360

(

) Nenhuma resposta correta

5)

O computador ENIAC foi construído com o propósito de:

(

) Realizar censo de cidadãos

(

) Cálculos meteorológicos

(

) Cálculo de trajetória de mísseis

(

) Automação industrial

(

) Nenhuma resposta correta

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

2727

PProcessrocess BlackBlack

118/7/20138/7/2013

a a computação.indd computação.indd 27 27 P Process rocess Black Black 1 18/7/2013 8/7/2013 18:00:53 18:00:53

18:00:5318:00:53

28

ULBRA – Educação a Distância

28 ULBRA – Educação a Distância Referências Bibliográficas Básica STALLINGS, William. Arquitetura e organização

Referências Bibliográficas

Básica

STALLINGS, William. Arquitetura e organização de Computadores. São Paulo: Pearson Pratice Hall, 2010.

WEBER, R. F. Fundamentos de Arquitetura de Computadores. Porto Alegre: Sagra-Luzzatto,

2000.

Complementar

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

2005.

MARCHIORO, Gilberto; PETRY, Adriano; ZANUZ, Adriano. Caderno Universitário: introdução à Computação. Canoas: Editora da ULBRA, 2006.

TANENBAUM, A. S. Organização Estruturada de Computadores. 4. ed. Rio de Janeiro: LTC,

2001.

VELLOSO, Fernando de Castro. Informática 5. ed. Rio de Janeiro: Campus, 2004.

Gabarito

1)

Verdadeiro,

2)

Telégrafo de Morse;

3)

Utilizar cartões como entrada de informações;

4)

IBM System 360 ;

5)

Cálculo de trajetória de mísseis

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

2828

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5318:00:53

3 HARDWARE: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES

Mauricio da Silva Escobar

Um computador digital é composto por diversos componentes eletrônicos que realizam funções especializadas.

A arquitetura (ou modelo) de von Neumann, concebido em 1946, é uma das arquiteturas mais utilizadas como base para o projeto de computadores digitais. O termo arquitetura nesse caso, pode ser visto inicialmente como uma forma de organizar os componentes internos de um computador.

Atualmente, a maioria dos computadores modernos possuem o mesmo esquema básico, que compreende:

• Memória,

• CPU (Central Processing Unit), e,

Dispositivos de Entrada e Saída (E/S).

3.1 O modelo de Von Neumann

No modelo de Von Neumann, a memória é endereçável, isto é, ela é organizada em diversas posições e cada posição possui um endereço bem definido.

Em um computador, a memória é utilizada para armazenar instruções e dados. Um conjunto de comandos caracteriza uma aplicação, como por exemplo, o seu navegador, o seu editor de textos. Um comando, no nível da máquina, corresponde a execução de uma tarefa específica, como por exemplo, somar dois números.

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

2929

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5318:00:53

30

A figura 1 ilustra a arquitetura básica do modelo Von Neumann. Figura 1: modelo geral
A
figura 1 ilustra a arquitetura básica do modelo Von Neumann.
Figura 1: modelo geral da arquitetura de Von Neumann.
ULBRA – Educação a Distância

A CPU é a unidade central em um computador. Ela é responsável por comandar a

busca de instruções e dados da memória. Assim como comentado anteriormente, as instruções são comandos que serão executados na CPU e os dados são as

informações que serão processadas por essas instruções.

Além buscar os dados, a CPU é capaz de manipular esses dados gerando novas informações, que também são armazenadas na memória enquanto um programa estiver ativo.

A CPU também é capaz de processar novas dados oriundos dos dispositivos

de entrada e saída. Os dispositivos de entrada são equipamentos ou periféricos capazes de alimentar um computador com dados. Os exemplos mais comuns de dispositivos de entrada são o teclado e o mouse. Podemos citar também outros exemplos mais sofisticados de entrada de dados, como por exemplo, um sensor de temperatura, um leitor de código de barras, dentre outros exemplos.

Os dispositivos de saída são equipamentos ou periféricos capazes de expor dados para humanos ou outros computadores. O monitor é um exemplo de dispositivo de saída para humanos. Um dispositivo de infravermelho é um exemplo de dispositivo de saída que pode ser usado na comunicação entre computadores.

Por fim, de uma forma simples, o barramento pode ser visto como um canal de comunicação que integra as partes de um computador. É através do barramento que todas as informações trafegam entre os dispositivos de entrada e saída, a memória e o processador.

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

3030

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5318:00:53

31

ULBRA – Educação a Distância

3.2 Detalhes internos da CPU

A CPU é composta por várias unidades básicas que são:

• A Unidade Lógica e Aritmética (ULA)

• Os Registradores (de dados e de controle)

• A Unidade de Controle

• A gura 2 ilustra a organização interna da CPU:

Figura 2: organização interna da CPU.

interna da CPU: Figura 2: organização interna da CPU. A ULA consiste de um conjunto de
interna da CPU: Figura 2: organização interna da CPU. A ULA consiste de um conjunto de

A ULA consiste de um conjunto de circuitos que realizam operações sobre dados.

Essas operações básicas podem incluir: adição, subtração e a manipulação de bits (“e” e “ou“ lógicos).

Os registradores são unidades de armazenamento construídos dentro da CPU. Os registradores são acessados muito mais rapidamente que posições da memória (chegando em alguns casos de 5 a 10 vezes mais rápidos).

Como normalmente os registradores são construídos logicamente dentro da CPU, o número de registradores é limitado, se comparado com a capacidade de armazenamento de uma memória. Por esse motivo, os registradores são reservados somente para as operações e dados que o processador está utilizando em um dado momento.

O processador comanda, constantemente, a cópia de valores entre os registradores

e a memória principal. Esses valores trafegam através dos barramentos que ligam estes componentes.

A Unidade de Controle é responsável por controlar as várias funções que uma

CPU pode executar. Ela é formada de circuitos que realizam a busca de dados e instruções a partir da memória principal. Ela também controla o fluxo de dados dos registradores para a ULA e da ULA para os registradores.

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

3131

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5418:00:54

32

ULBRA – Educação a Distância

Os caminhos que os dados seguem dentro da CPU formam a parte operativa. Na parte operativa, os dados trafegam através dos barramentos a partir dos registradores para a ULA e então de volta para os registradores. Essa passagem completa de dados é chamada de ciclo da parte operativa.

completa de dados é chamada de ciclo da parte operativa. 3.3 Memórias A memória é um

3.3 Memórias

A memória é um tipo de componente utilizado no projeto de computadores, cuja função é armazenar informações que serão manipuladas pelo sistema.

São diversos tipos de memória disponíveis variando em velocidade, capacidade de armazenamento e tecnologia de construção.

Um mesmo computador pode possuir diversos tipos de memória. Devido a grande variedade de memórias e diferentes necessidades (como desempenho) ao projetar um computador, é praticamente impossível projetar um computador com apenas um tipo de memória.

Os diferentes tipos de memória presentes em um computador podem ser organizadas hierarquicamente, seguindo uma relação Velocidade por Capacidade de armazenamento.

A figura 3 ilustra a hierarquia dos diferentes tipos de memória que são comuns em projeto de computadores.

Figura 3: organização hierárquica dos tipos de memória.

Figura 3: organização hierárquica dos tipos de memória. I Introduçaõ ntroduçaõ a a computação.indd

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

3232

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5418:00:54

33

ULBRA – Educação a Distância

São diversos fatores que influenciam a produção de um determinado tipo de memória.

O tempo de acesso de uma memória indica o tempo que a memória leva para

tornar uma informação disponível, isto é, desde o momento em que foi iniciada a operação de acesso até que a informação tenha sido efetivamente transferida para seu destino. Esses valores de transferência variam de acordo com o tipo de circuito utilizado no projeto da memória.

A capacidade refere-se à quantidade de informação que pode ser armazenada em

uma memória. A unidade mais comum utilizada é o byte. Dependendo do tamanho

da memória, isto é, de sua capacidade, utiliza-se valores numéricos simplificados,

através da inclusão da nomenclatura M (mega), G (giga) ou T (tera).

Exemplos de nomenclatura para capacidades de diferentes tipos de memória:

para capacidades de diferentes tipos de memória: • A arquitetura x86 possui um registrador chamado

A

arquitetura x86 possui um registrador chamado EAX que possui 32 bits de

capacidade.

Um CD-ROM possui a capacidade de 700 MB (mega bytes).

Um DVD-ROM possui a capacidade de 4,7 GB (giga bytes).

Um disco rígido (HD – hard disk ou sua variação HDD – hard disk drive) possui

a

capacidade de 1,5 TB (tera bytes).

A

volatilidade indica se a memória mantém as informações nela armazenadas sem

o

fornecimento de energia. A memória volátil é aquela que perde a informação

quando o equipamento é desligado, por exemplo, em um computador desktop tradicional, tudo que está na memória principal é perdido caso o computador seja

desligado. Os registradores também são exemplos de memórias voláteis.

A memória não volátil é capaz de manter armazenadas informações mesmo sem o

fornecimento de energia. Por exemplo, um pen drive e um disco rígido são exemplos

de memórias não voláteis.

Por fim, a tecnologia de fabricação e o custo são aspectos consideráveis no projeto de memórias. O custo está diretamente associado à qualidade dos materiais utilizados que compreendem, por exemplo, nos condutores utilizados, nos materiais magnéticos, dentre outros tipos de componentes. Em geral, tratando-se

de memórias, quanto menor o componente (miniaturização), mais avançada deve

ser a tecnologia de fabricação e de maior qualidade devem ser os materiais.

Além dos materiais utilizados, o tamanho da memória influencia diretamente no custo. O custo tende a elevar-se à medida que a capacidade de armazenamento aumenta.

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

3333

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5418:00:54

34

ULBRA – Educação a Distância

3.4 Registradores

Os registradores são unidades lógicas capazes de armazenar um determinado

número de bits. Eles podem ser usados, por exemplo, para receberem (armazenar)

o resultado resultante de uma operação aritmética realizada pela ULA.

A figura 4 ilustra o esquema de um registrador de 4 bits.

A figura 4 ilustra o esquema de um registrador de 4 bits. Figura 4: exemplo da

Figura 4: exemplo da estrutura de um registrador.

4 bits. Figura 4: exemplo da es trutura de um registrador. Os detalhes internos e funcionamento

Os detalhes internos e funcionamento do clock será abordado no capítulo Circuitos Lógicos Básicos. Por enquanto você precisa saber que o clock é um tipo de sinal (valor lógico) que determina quando uma informação deve ser escrita ou não, neste caso, armazenada no registrador.

Além do clock, o registrador ilustrado na figura possui quatro sinais de entrada e quatro sinais de saída. Os sinais de entrada no registrador receberá um valor a ser armazenado no registrador. Os sinais de entrada serão utilizados pelo computador para ler o valor que está armazenado no registrador.

3.5 Memória CACHE

Ao longo do tempo, os processadores tornaram-se mais rápidos que as memórias. Sempre que o computador precisa fazer uma operação, ele deve buscar as informações na memória, armazenar nos registradores, realizar a operação, e, devolver a informação para a memória.

Na tentativa de melhorar o desempenho, os processadores modernos incorporam em seus projetos à memória cache. Devido a proximidade (física) ao processador, os dados em cache são acessados mais rapidamente se tivessem que serem obtidos na memória principal. Dessa forma, os dados mais utilizados pelo sistema são armazenados na memória cache até que não sejam mais necessários.

Por fim, a memória cache possui um custo elevado em relação às demais tecnologias de memórias, com exceção dos registradores. Memórias cache internas ao processador são mais caras que as externas ao processador.

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

3434

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5418:00:54

35

ULBRA – Educação a Distância

3.6 Memória principal

A memória principal é um dos principais componentes da arquitetura de von

Neumann. A memória principal é a memória básica de um sistema computacional.

É nela que são armazenados os programas a serem executados pelo computador,

sendo cada programa (ou aplicações) caracterizado como um conjunto de instruções

e dados.

Atualmente, o principal tipo de memória utilizado no projeto de computadores

é o RAM, que significa em inglês Random Access Memory, ou Memória de

Acesso Remoto. A RAM é um tipo de memória que permite a leitura e escrita de informações de forma simultânea.

A figura 5 ilustra o chip de uma memória RAM.

Figura 5: exemplo de uma placa de memória RAM.

RAM. Figura 5: exemplo de uma placa de memória RAM. 3.7 Memória secundária Na base da
RAM. Figura 5: exemplo de uma placa de memória RAM. 3.7 Memória secundária Na base da

3.7 Memória secundária

Na base da hierarquia das memórias encontram-se os tipos de memórias como maior capacidade de armazenamento e de menor custo, em relação às memórias

já apresentadas.

Um computador pode possuir diversas unidades de memória secundária, diretamente conectados ao computador para acesso, como por exemplo, um disco rígido ou outros equipamentos que podem ser conectados pelo usuário quando desejado, como por exemplo, os disquetes, que hoje em dia é uma tecnologia obsoleta, cartões de memória ou até mesmo um pen drive.

A figura 6 ilustra diferentes tipos de tecnologias de armazenamento secundário.

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

3535

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5418:00:54

36

ULBRA – Educação a Distância

Figura 6: dispositivos de armazenamento secundário.

Figura 6: dispositivos de armazenamento secundário. Referências bibliográficas Hennessy, John L.
Figura 6: dispositivos de armazenamento secundário. Referências bibliográficas Hennessy, John L.

Referências bibliográficas

Hennessy, John L. Organização e projeto de computadores : a interface hardware/software / John L. Hennessy, David A. Patterson ; colaboração James R. Larus ; tradução Nery Machado Filho. 2. ed. Rio de Janeiro : LTC, 2000. xxii, 551 p., il. (5)

Monteiro, Mario A. Introdução a organização de computadores / Mario A. Monteiro. 3. ed. Rio de Janeiro : LTC, 1996. 397 p., il.

Tanenbaum, Andrew S. Organização estruturada de computadores / Andrew S. Tanenbaum ; tradução Nery Machado Filho. 4. ed. Rio de Janeiro : LTC, 2001. 398 p., il. (3) Tanenbaum, Andrew S. Organização Estruturada de Computadores - 5ª edição. (Biblioteca Virtual Pearson)

Stallings, William. Arquitetura e Organização de Computadores - 8ª edição. (Biblioteca Virtual Pearson)

Atividades

1)

Sobre Registradores é correto armar que:

I. Podem ser utilizados para armazenar o resultado de uma operação na ULA.

II. A gravação dos dados de entrada é determinada pelo sinal do clock.

III. Sua estrutura pode ser utilizada no projeto de uma Memória.

Assinale a alternativa correta:

a) Apenas a I está correta.

b) Apenas a I e II estão corretas.

c) Apenas a II e III estão corretas.

d) Todas as alternativas estão corretas.

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

3636

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5518:00:55

37

ULBRA – Educação a Distância

2)

Sobre a memória principal, selecione a alternativa correta:

a) Seu estado é mantido mesmo sem o fornecimento de energia ao computador.

b) Serve para armazenar instruções e dados.

c) São utilizadas no projeto de registradores.

d) Suas posições não possuem endereço bem denido.

3)

SegundoaarquiteturadeVonNeumann,aestruturainternadaCPUécompostapor:

I. Unidade de Controle

II. Memória RAM

III. Unidade Lógica Aritmética

 

Assinale a alternativa correta:

a) Apenas a I está correta.

b) Apenas a II está correta.

c) Apenas a I e II estão corretas.

d) Apenas a I e III estão corretas.

4)

Desenhe a arquitetura de Von Neumann.

5)

Qual a diferença entre a memória RAM e um disco rígido em relação à característica volatilidade.

Gabarito

 
 

1)

d

2)

b

3)

d

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

3737

PProcessrocess BlackBlack

118/7/20138/7/2013

a a computação.indd computação.indd 37 37 P Process rocess Black Black 1 18/7/2013 8/7/2013 18:00:55 18:00:55

18:00:5518:00:55

38

4) 5) O disco rígido é capaz de manter informações nele previamente armazenadas mesmo sem
4)
5)
O disco rígido é capaz de manter informações nele previamente armazenadas
mesmo sem o fornecimento de energia. A memória RAM mantém as
informações enquanto o computador ou equipamento estiver ligado. Se
estas informações não forem posteriormente persistidas em uma unidade de
armazenamento secundário, serão perdidas caso ocorra uma interrupção no
fornecimento de energia.
ULBRA – Educação a Distância

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

3838

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5518:00:55

4

SOFTWARE

Anderson Ricardo Yanzer Cabral

Este capítulo tem por objetivo contextualizar o aluno quanto ao conceito, o histórico

e a evolução do software. Nos primeiros computadores o conceito de programação

estava estritamente ligado ao hardware. A programação era diretamente em componentes de hardware ou em linguagens de “máquina”. Com a evolução dos computadores houve também um grande salto da variedade e complexidade dos softwares disponibilizados. Com o surgimento dos computadores pessoais o salto de diversidade de softwares foi imenso, pois deixou-se de produzir software somente para as aplicações das empresas.

4.1 Conceito de Software

O Computador é uma máquina que resolve problemas executando uma série de comandos.

cada comando Instrução

Um Programa (ou Software) é um conjunto de instruções que descreve a maneira de se realizar uma tarefa.

Dentre algumas definições do que é um software, podemos apontar que é uma

sequência de instruções escritas (em linguagem específica) para serem interpretadas por computadores com o objetivo de executar tarefas pré-determinadas. Para a computação, o software é classificado como a parte lógica, cujo funcionamento está associado a fornecer instruções para as operações do hardware. O hardware podemos entender como a parte física que constitui o computador, por exemplo,

a CPU, a memória e os dispositivos de entrada e saída de dados (teclado, mouse, monitor, etc.).

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

3939

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5518:00:55

40

ULBRA – Educação a Distância

Uma das principais formas de classificar os tipos de software é dividi-los em:

formas de classificar os tipos de software é dividi-los em: So ft ware Básico: são programas

Software Básico: são programas que possuem como propósito controlar o funcionamento do computador. Sem o software básico, o computador não pode ser utilizado, pois os demais softwares não poderiam ser executados. O software básico é responsável pelo gerenciamento, funcionamento e execução de todos os programas, sendo constituído de sistema operacional e alguns programas utilitários.

Software Aplicativo: são os programas que possuem como propósito oferecer

funcionalidades (aplicações) ao usuário. Este tipo de software

facilita a

utilização do computador para realização de tarefas dos usuários. São constituídos de programas de uso geral ou programas desenvolvidos com propósitos restritos.

4.1 Classificação de Softwares Básicos

4.1.1 Sistema Operacional

Todo computador precisa de, no mínimo, um programa em execução para que o computador possa ser utilizado. Este programa é chamado de sistema operacional, que determina entre várias tarefas, quais programas podem ser executados, quando, e que recursos (como memória, CPU e dispositivos de E/S) este poderá utilizar.

O sistema operacional, também, fornece uma camada de abstração sobre o hardware,

possibilitando que outros programas tenham acesso ao hardware do computador, de forma transparente. Isso permite aos programadores escreverem programas sem a necessidade de conhecerem especificidades de todos os dispositivos eletrônicos do computador, como por exemplo, os discos e memória. Ou seja, um programa editor de texto, por exemplo, não precisa se preocupar em como escrever um dado

no hard disk do computador, pois o sistema operacional irá realizar esta tarefa para

o

editor de texto.

O

sistema operacional é composto por um conjunto de programas de controle

projetados para trabalhar com o hardware e com softwares aplicativos. As funções básicas de um sistema operacional são: gerenciamento de programas; gerenciamento de discos; gerenciamento e distribuição de memória; tratamento e controle de dispositivos de entrada e saída (E/S) e fornecer interfaces de interação com o usuário.

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

4040

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5618:00:56

41

ULBRA – Educação a Distância

Os tipos de sistemas operacionais podem, de uma maneira genérica, serem classificados:

Quanto ao número de usuários:

- Mono Usuário: opera para somente um único usuário de cada vez. Exemplo:

MSDOS

- Multiusuário: compartilha os recursos com mais de um usuário ao mesmo tempo. Exemplo: Windows, Linux, Unix,

Quanto à execução de programas

Windows, Linux, Unix, Quanto à execução de programas - Monotarefa: executa apenas uma tarefa de cada

- Monotarefa: executa apenas uma tarefa de cada vez. Exemplo: MSDOS

- Multitarefa Cooperativa: capaz de executar diversas tarefas simultaneamente. Exemplo: Windows 3.1

- Multitarefa Preemptiva: executa diversas tarefas ao mesmo tempo e, também,

permite a recuperação do controle, caso um aplicativo em execução apresente problemas. Exemplo: Linux, Windows 95 em diante, MAC OS 8 em diante.

Devido aos sistemas operacionais multitarefa, muitos computadores aparentam para o usuário estarem executando vários programas ao mesmo tempo. Na realidade, a CPU executa as instruções de um programa por um curto período de tempo (time slice) e, em seguida, troca para outro programa e executa algumas de suas instruções. Esta troca, chamada de preempção, cria a ilusão de que vários programas estão sendo executados simultaneamente. O que acontece é que o acesso à CPU do computador (tempo) é compartilhado entre os programas em execução. Este compartilhamento de tempo e normalmente controlado pelo sistema operacional.

4.1.2 Programas Utilitários

São tipos de programas que fornecem recursos (ferramentas) para auxiliar o usuário e executar tarefas de manutenção do sistema operacional. Os programas utilitários estão, muitas vezes, incluídos com sistemas operacionais. Muitos utilitários são considerados essenciais, como: editor de texto (básico), backup, antivírus, firewall, desfragmentador, compactador, limpeza de disco, etc.

4.2 Classificação de Softwares Aplicativos

Os softwares aplicativos são todos aqueles que oferecerem funcionalidades (aplicações) úteis ao usuário. Também, pode-se afirmar que são todos aqueles que não são softwares básicos. Estes podem ser divididos, por exemplo, em duas categorias:

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

4141

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5618:00:56

42

ULBRA – Educação a Distância

- Horizontais: programas de uso geral que resolvem as necessidades de variados

tipos de usuários. Exemplo: editores de texto, planilhas eletrônicas, bancos de dados, jogos, navegadores, editores de imagens, etc.

-

Verticais: programas projetados para necessidades especícas de empresas

e

estão associados a alguma regra de negócio. São aplicativos normalmente

a alguma regra de negócio. São aplicativos normalmente customizados para determinada empresa, pois atende as especi

customizados para determinada empresa, pois atende as especi cidades desta. Podem partir de soluções simples, como cadastros básicos comuns em empresas, até à sistemas complexos, como por exemplo, sistemas de gestão integrada de diversos setores da empresa.

Outra forma de classificar software é quanto ao tipo de licença. Considerando que

a maioria dos programas de computador tem direitos autorais protegidos, estas licenças de software podem ser:

- Comercial: o usuário deve pagar pelo uso do software, existindo diversas formas de como acordar este pagamento, entre a empresa fornecedora e o usuário.

- Shareware: é quando o usuário pode experimentar o software por um período acordado, antes de comprar, se assim desejar.

- Freeware: o software é livre de direitos autorais, o usuário pode usar

livremente, com a condição de que não poderá vendê-lo para obter lucro. Um

exemplo clássico desta categoria é o Linux.

Opensource, GPL e GNU: É uma distribuição livre, de código-fonte aberto e disponível gratuitamente para download. O usuário tem total liberdade para fazer suas próprias alterações e posteriormente os desenvolvedores poderão utilizar esse código no projeto seguindo o mesmo padrão GPL (GNU Public License) que é o formato padrão Open-source

Domínio Público: sem direitos de exploração comercial.

4.3 Linguagem de Programação

É um conjunto de regras sintáticas e semânticas usadas para definir um programa

de computador. É uma linguagem artificial, criada para dizer ao computador o que deve ser feito. Possui vocabulário e conjunto de regras que o programador deve conhecer.

Assim como os computadores, as linguagens evoluíram e também foram classificadas em gerações:

- Primeira Geração: é composta por linguagens que possuem estruturas de

controle aparentemente orientadas a máquina com números binários (0s e 1s). Essa programação era extremamente trabalhosa, difícil, variava de computador

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

4242

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5618:00:56

43

ULBRA – Educação a Distância

para computador, os programas não eram muito complexos, mas difíceis de serem construídos. Essa programação era extremamente trabalhosa, difícil, variava de computador para computador, os programas não eram muito complexos, mas difíceis de serem construídos;

- Segunda Geração: baseada na Linguagem Assembly, chamada de linguagem

de baixo nível por operar diretamente recursos de hardware. Linguagem semelhante à binária, mas o programador não necessitava conhecer linguagem binária da máquina. A segunda geração elaborou melhor e generalizou diversas estruturas de controle das linguagens de primeira geração. Uma das grandes contribuições desta geração foram suas estruturas de nomes, que eram hierarquicamente aninhadas.

estruturas de nomes, que eram hierarquicamente aninhadas. - Terceira Geração: as linguagens começam a operar com

-

Terceira Geração: as linguagens começam a operar com mais simplicidade

e

eciência. Uma linguagem típica desta geração é a linguagem Pascal, que

também foi muito utilizada para ns didáticos. A preocupação deixa de estar no controla da máquina para passar para a aplicação. Deixa de existir a necessidade de entendimento de detalhes de funcionamento do computador.

- Quarta Geração: São linguagens não procedurais. Buscam a capacidade

de reutilização de componentes para facilitar o trabalho de programação

e aumentar a eciência na programação. Esta geração é essencialmente o

sinônimo para linguagens com abstração de dados. A maioria das linguagens de quarta geração é orientada a objetos.

Quinta geração - Nesta geração é dada ênfase para o paradigma funcional e

o paradigma lógico onde temos linguagens mais voltadas para a Inteligência

artificial como as linguagens lógicas (Prolog) e para as linguagens funcionais (Lisp).

A ACM (Association for Computing Machinery), que é uma das principais instituições norteadoras dos avanços na área da computação também apresenta um sistema de classificação:

• Linguagens aplicativas, ou de aplicação

• Linguagens concorrentes, distribuídas e paralelas

• Linguagens de uxo de dados

• Linguagens de projeto

• Linguagens extensíveis

• Linguagens de montagem e de macro

• Linguagens de microprogramação

• Linguagens não determinísticas

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

4343

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5618:00:56

44

ULBRA – Educação a Distância

• Linguagens não procedurais

• Linguagens orientadas a objeto

• Linguagens de aplicação especializada

• Linguagens de altíssimo nível

especializada • Linguagens de altíssimo nível Quadro 1: Exemplos de Linguagens de Programação. Fonte:

Quadro 1: Exemplos de Linguagens de Programação. Fonte: MAR et al., 2006

 

Exemplos de Linguagens de Programação

Linguagem

Origem do nome

Ano

 

Comentário

ADA

Augusta ADA Byron (Lady Lovelace)

1979

Derivada do Pascal, utilizada inicialmente para fins militares.

 

ALGOrithmic

 

Primeira linguagem de programação

ALGOL

Language

1960

estruturada, utilizada principalmente na resolução de problemas matemáticos.

     

Linguagem interpretada, utilizando

APL

A Programming

um grande conjunto de símbolos especiais e sintaxe compacta. Utilizada principalmente por matemáticos.

Language

1961

 

Beginners All-

 

Linguagem de programação de alto nível

BASIC

Purpose Symbolic

1965

muito popular, frequentemente utilizada por iniciantes na programação.

Instruction Code

 

Sucessor da

 

Linguagem de programação compilada, estruturada, normalmente utilizada

C

Linguagem B dos Laboratórios Bell

1972

em muitos locais de trabalho uma vez que seus programas são portáveis entre diversos tipos de computadores.

 

Versão avançada

 

C++ é utilizada em diversas áreas, como

C++

de C, desenvolvida pelos laboratórios ATT Bell.

1985

sistemas de contabilidade e finanças,

e

projeto auxiliado por computador.

Suporta programação orientada a objetos.

     

Linguagem de programação English-

COmmon Business-

like, enfatizando estruturas de dados. Largamente utilizada no passado, especialmente em negócios.

COBOL

Oriented Language

1959

 

FOuRTH-

 

Interpretada, linguagem estruturada,

FORTH

Generation language

1970

facilmente entendida. Permite muita funcionalidade em espaço limitado.

(4 GL)

     

Inicialmente projetada para uso científico

e

de engenharia esta linguagem de alto

FORmula

nível compilada atualmente é utilizada em muitas áreas. Introduz diversos conceitos como variáveis, instruções condicionais e subrotinas compiladas separadamente.

Fortran

TRANslation

1954

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

4444

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5618:00:56

45

ULBRA – Educação a Distância

 

Exemplos de Linguagens de Programação

Linguagem

Origem do nome

Ano

Comentário

HTML

HyperText Markup

1989

Projetada para publicação de hipertextos na internet.

Language

 

Desenvolvedores da Sun beberam muito café (marca Java) codificando esta linguagem

 

Originalmente desenvolvida para uso em

JAVA

1990

set-top boxes, transferida para a World Wide Web em 1994.

     

Uma linguagem de programação orientada a listas, utilizada principalmente para a manipulação de

LISP

LISt Processing

1960

listas de dados. Linguagem interpretada, frequentemente utilizada em pesquisas científicas, considerada linguagem padrão para projetos de Inteligência Artificial.

 

Originada do Grego logos, significando palavra

 

Linguagem de programação normalmente utilizada por crianças. Provê um

LOGO

1968

ambiente simples de desenho e diversas características de alto nível de Lisp. Uso educacional.

 

Linguagem MODULAr, projetada como segunda fase do Pascal (Niklaus Wirth criou ambas)

 

Linguagem que enfatiza programação modular. Linguagem de alto nível baseada

Modula-2

1980

em Pascal, caracterizada pela falta de funções padrões e procedimentos.

Pascal

Blaise PASCAL, matemático e inventor do primeiro dispositivo de computação

1971

Linguagem estruturada, compilada, baseada em Algol. Adiciona tipos de dados e estruturas com uma sintaxe simplificada. Como a linguagem C, é uma linguagem padrão de desenvolvimento em microcomputadores.

 

Practical Extraction

 

É uma linguagem de processamento de

PERL

and Report

1988

textos que parece uma combinação de C e diversos utilitários de processamento de textos Unix.

Language

 

Programmed

Inquiry, Language

 

Linguagem de programação utilizada

PILOT

1969

principalmente para a criação de aplicações para computer-aided instruction. Contem uma sintaxe muito reduzida.

Or Teaching

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

4545

PProcessrocess BlackBlack

118/7/20138/7/2013

a a computação.indd computação.indd 45 45 P Process rocess Black Black 1 18/7/2013 8/7/2013 18:00:56 18:00:56

18:00:5618:00:56

46

ULBRA – Educação a Distância

46 ULBRA – Educação a Distância   Exemplos de Linguagens de Programação Linguagem Origem do nome
 

Exemplos de Linguagens de Programação

Linguagem

Origem do nome

Ano

Comentário

     

Projetada para combinar as características chaves do Fortran, COBOL, e ALGOL, uma linguagem de programação

PL/1

Programming

Language One

1964

complexa. Linguagem estruturada, compilada e adaptada a multitarefa e tratamento de erros, utilizada em alguns ambientes acadêmicos e de pesquisa.

 

Standard

 

Projetada como uma metalinguagem, é

SGML

Generalized Markup

1986

utilizada como um padrão internacional para a descrição de textos no formato eletrônico marcado.

Language

 

Structured Query

Language

 

Projetado para a criação de bancos de

SQL

1986

dados complexos e acesso a dados em bancos relacionais.

VB

Visual Basic

1990

É utilizado na construção rápida de aplicações contendo interface gráfica.

 

Extensible Markup

Language

 

Utilizado para a criação de documentos

XML

1977

estruturados e páginas internet; está normalmente associado à internet.

4.4 Algoritmo

É uma sequência finita e ordenada de instruções e sem ambiguidade de passos, que levam à resolução de um dado problema. Algoritmos podem ser implementados em várias linguagens de programação.

Um algoritmo não representa, necessariamente, um programa de computador, e sim

os passos necessários para realizar uma tarefa. Sua implementação pode ser feita

por um computador, por outro tipo de autômato ou mesmo por um ser humano.

O conjunto de instruções que compõem um algoritmo não é tão rico quanto o

conjunto de instruções da linguagem humana. O computador tem apenas um limitado número de instruções bem definidas.

Os passos dos algoritmos devem ser: simples, sem ambiguidade estarem em uma ordem cuidadosamente definida. Como exemplo, vamos solucionar o problema

de “Trocar a lâmpada queimada” com a ajuda de um algoritmo:

Um primeiro algoritmo:

1. Remova a lâmpada

2. Coloque a nova lâmpada

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

4646

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5618:00:56

47

ULBRA – Educação a Distância

Um algoritmo mais refinado seria:

1. Posicione a escada debaixo da lâmpada queimada

2. Suba até que a lâmpada possa ser alcançada

3. Gire a lâmpada no sentido anti-horário até que se solte

4. Escolha uma nova lâmpada de mesma potência da queimada

5. Posicione a nova lâmpada no soquete

6. Gire-a no sentido horário até que ela se rme

7. Desça a escada

sentido horário até que ela se fi rme 7. Desça a escada A Figura 1 ilustra

A Figura 1 ilustra um algoritmo bastante simples.

Figura 1 – Exemplo de algoritmo

bastante simples. Figura 1 – Exemplo de algoritmo I Introduçaõ ntroduçaõ a a computação.indd

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

4747

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5718:00:57

48

ULBRA – Educação a Distância

48 ULBRA – Educação a Distância Também podemos representar o algoritmo diretamente em uma linguagem de

Também podemos representar o algoritmo diretamente em uma linguagem de programação como no exemplo abaixo, onde o algoritmo implementado irá retornar a soma de dois valores, recebidos por parâmetro, na linguagem pascal:

function Soma_Dois_Valores( A, B: Integer ): Integer; var Result : Integer; begin Result := A + B; Soma_Dois_Valores:= Result; end;

Atividade

- Localize sites onde podem ser baixados (download) softwares e verique os tipos de licença disponíveis

- Pesquise o que é uma App Store (Application Store)

Exercícios

1)

É um tipo de software básico:

a) Editor de texto

b) Planilha Eletrônica

c) Sistema operacional

d) Folha de pagamento

e) nenhuma das respostas

2)

É um tipo de software aplicativo:

a) Programa de backup

b) Desfragmentador de disco

c) Sistema operacional

d) Folha de pagamento

e) nenhuma das respostas

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

4848

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5718:00:57

49

ULBRA – Educação a Distância

3)

Não é função do sistema operacional

a) Gerência dos discos

b) Gerência da memória

c) Gerência de arquivos

d) Gerência de dispositivos de E/S

c) Gerência de arquivos d) Gerência de dispositivos de E/S e) Todas as respostas anteriores são

e) Todas as respostas anteriores são funções do sistema operacional

4) Um software que permite que o usuário experimentar por um período acordado, antes de comprar, é um:

a) Freeware

b) Shareware

c) Comercial

d) Domínio Público

e )

nenhuma das respostas

5)

Em relação à geração das linguagens de programação, pode-se afirmar que quanto mais nova a geração, menor a preocupação com aspectos dos

recursos de hardware, mais simples a linguagem e maior a preocupação com

a

reutilização de código.

(

) verdadeiro

(

) Falso

Referências Bibliográficas

Básica

ACM. Association for Computing Machinery: Advancing Compunting as a Science & Profession. Capturado em http://www.acm.org. Maio, 2013.

CAPRON, H. L.; JOHNSON, J. A. Introdução à Informática. São Paulo: Pearson, 2004.

MARCHIORO, Gilberto; PETRY, Adriano; ZANUZ, Adriano. Caderno Universitário: Introdução à Computação. Canoas: Editora da ULBRA, 2006.

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

4949

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5718:00:57

50

ULBRA – Educação a Distância

STALLINGS, William. Arquitetura e organização de Computadores. São Paulo: Pearson Pratice Hall, 2010.

WEBER, R. F. Fundamentos de Arquitetura de Computadores. Porto Alegre: Sagra-Luzzatto,

2000.

de Computadores . Porto Alegre: Sagra-Luzza tt o, 2000. Complementar BROOKSHEAR, J. Glenn. Ciência da

Complementar

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

2005.

MARCHIORO, Gilberto; PETRY, Adriano; ZANUZ, Adriano. Caderno Universitário:

Introdução à Computação. Canoas: Editora da ULBRA, 2006.

VELLOSO, Fernando de Castro. Informática 5. ed. Rio de Janeiro: Campus, 2004.

Gabarito

1)

c,

2)

d,

3)

e,

4)

a,

5)

verdadeiro

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

5050

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5718:00:57

5 SISTEMA DE NUMERAÇÃO

Mauricio da Silva Escobar

Este capítulo apresentará os conceitos e uma visão prática sobre os principais sistemas de numeração, bases numéricas e técnicas de conversão entre sistemas

de numeração.

Toda informação processada por um computador, seja ela uma instrução (comando) para o computador ou um dado que será processado possuem uma representação

padrão que possa processados.

O formato mais simples de representação é o binário que utiliza os valores 0 e

1 combinados para formar uma informação. Dessa forma, a menor informação armazenada por um computador é um dígito binário, também conhecido como

bit. O bit consequentemente, pode assumir somente o valor 0 ou 1.

O computador utiliza combinações de bits para formar uma informação a ser

processada. Por exemplo, se um programa deseja somar os números 2 e 3 por exemplo, primeiro ele deve converter individualmente esses números para uma representação uniforme (cadeias de bits) para ao final realizar a operação aritmética.

ser entendida pelo computador, isto é, interpretados e

Outra convenção bastante utilizada na indústria é a utilização do termo byte. Um byte consiste de uma informação formada por uma cadeia de 8 bits. Você deve estar acostumado com os termos utilizados pelo mercado quando divulga equipamentos

de armazenamento, como por exemplo, um disco de 1 giga bytes o simplesmente

1GB. Outra indicação bastante utilizada é a abreviatura MB, que é a abreviatura do termo mega byte.

A forma mais utilizada para a representação numérica é conhecida como notação

posicional. A notação posicional indica que a posição em que um algarismo aparece

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

5151

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5718:00:57

52

ULBRA – Educação a Distância

em um número define seu valor. O valor total desse número consiste dessa forma da soma dos valores relativos a cada algarismo.

A base de um número indica o número de símbolos que ela possui, que combinados,

servem para formar um determinado número.

Principais sistemas de numeração e seus respectivos símbolos:

sistemas de numeração e seus respectivos símbolos: • A base binária possui dois símbolos: 0 e

• A base binária possui dois símbolos: 0 e 1.

• Base decimal possui dez símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9.

• Base hexadecimal possui dezesseis símbolos: 0 a 9, A, B, C, D e E.

Todos esses sistemas de numeração são posicionais, isto é a posição onde cada algarismo aparece em um número influencia no valor do número.

Considere o exemplo a seguir:

123 na base decimal, ou representado da seguinte forma para deixar explícita a base (123) 10 .

Neste exemplo o número é composto por três algarismos: 1, 2 e 3 e , cada algarismo assume um valor correspondente à posição em que ele aparece no número.

O algarismo 3 (mais à direita) representa 3 unidades. Seu valor absoluto é 3. O algarismo 2 representa a potência 1 da base 10, isto é:

2 x 10 1 = 20.

Por fim, o valor 1 representa a potencia 2 na base 10, isto é:

1 x 10 2 = 100

Para determinar o valor total do número basta somar o resultado de suas

potências:

(1

x 10 2 ) + (2 x 10 1 ) + (3 x 10 0 ) = 123

O exemplo a seguir representa um número em base hexadecimal (base 16):

(FA) 16

A determinação do seu valor é similar ao exemplo anterior, que determinou o número em representação decimal.

Deve-se calcular individualmente cada algarismo considerando sua potência na base em consideração, como a seguir:

(F x 16 1 ) + (A x 16 0 )

O símbolo “F” neste caso, representa o valor decimal 15, sendo assim:

15 x 16 1 = 240

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

5252

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5818:00:58

53

ULBRA – Educação a Distância

O símbolo “A” representa o valor decimal 10, sendo assim:

10 x 16 0 = 10

O valor resultante pode ser expresso como:

240 (potência 1) + 10 (potência 0) = 250 em decimal.

5.1 Conversão de bases

A seção anterior introduziu a noção de sistema de numeração e a representação de

um número utilizando uma base numérica em notação posicional.

Nesta seção serão apresentados os principais métodos de conversão entre as bases numéricas decimal binária e hexadecimal.

Decimal Binário

A forma mais intuitiva para converter um número decimal para binário (base 2) é

montar uma tabela onde cada coluna representa uma das potências de 2, da direita para a esquerda, como no exemplo:

de 2, da direita para a esquerda, como no exemplo: 2 n 2 5 2 4

2

n

2

5

2

4

2

3

2

2 1

2

1

2

0

 

32

16

8

 

4

2

1

Para converter, você deve preencher a tabela com “0”s e “1”s de forma que soma dos decimais das casas em “1” seja igual ao número decimal desejado.

Exemplo, converter o número (38)10 para binário:

2

n

2

5

2

4

2

3

2

2 1

 

2

1

2

0

 

32

16

8

 

4

 

2

1

 

1

0

0

 

1

 

1

0

 

32

 

+

 

4

+

2 = 38

 

Logo, o número binário resultante é: (100110) 2

Binário Decimal

Para converter de binário para decimal você pode utilizar a mesma tabela (potências de 2) e somar os valores em decimal das colunas onde ocorre o valor binário 1 na tabela.

IIntroduçaõntroduçaõ aa computação.inddcomputação.indd

5353

PProcessrocess BlackBlack

118/7/20138/7/2013

18:00:5818:00:58

54

ULBRA – Educação a Distância

54 ULBRA – Educação a Distância Exemplo: Converter o número (1001110) 2 para decimal. Passo 1

Exemplo:

Converter o número (1001110) 2 para decimal.

Passo 1 – montar a tabela:

O número apresentado é representado em 7 bits, dessa forma a tabela deve conter 7 colunas, como mostrado a seguir.

2

6

2

5

2

4

2

3

2

2 1

2

1

2

0

64

32

16

8

 

4

2

1

2

n

2

5

2

4

2

3

2

2 1

2

1

2

0

64 32

 

16

 

8 4

2

1

1 0

 

0

 

1 1

10

 

Passo 2 – transpor o valor binário na tabela.

Passo 3 – somar os valores decimais respectivos às colunas com valor binário em 1.

2

n

2

5

2

4

2

3

 

2

2 1

 

2

1

2

0

64

 

32

16

8

 

4

 

2

1

1

 

0

0

1

 

1

 

10

 

64

+

8

+

4

+

2 = (78) 10

Decimal Hexadecimal

A conversão de um número decimal para hexadecimal ocorre através de divisões (inteiras) sucessivas pela base, isto é, pelo número 16.

Lembre-se que em uma divisão temos 4 elementos, como ilustrado na figura a seguir:

Dividendo

10