Você está na página 1de 109

PROF.

JOÃO PAULO DE BRITO GONÇALVES

INTRODUÇÃO À INFORMÁTICA

CACHOEIRO DE ITAPEMIRIM

2009

introducao_informatica.indd 1 15/07/2009 15:03:53


2

Governo Federal
Ministro de Educação
Fernando Haddad

Ifes – Instituto Federal do Espírito Santo


Reitor
Dênio Rebello Arantes

Pró-Reitora de Ensino
Cristiane Tenan Schlittler dos Santos

Coordenadora do CEAD – Centro de Educação a Distância


Yvina Pavan Baldo

Coordenadoras da UAB – Universidade Aberta do Brasil


Yvina Pavan Baldo
Maria das Graças Zamborlini
Curso Licenciatura em Informática
Coordenação de Curso
Giovany Frossard Teixeira

Designer Instrucional
Jonathan Toczek Souza

Professor Especialista/Autor
João Paulo de Brito Gonçalves

G635i Gonçalves, João Paulo de Brito


Introdução à informática / João Paulo de Brito Gonçalves. – 2009. Cachoeiro
de Itapemirim: Ifes, 2009.
109 folhas.
Material do curso de Licenciatura de Informática à Distância –
Instituto Federal do Espírito Santo, Campus Cachoeiro de Itapemirim, 2009.
1. Informática - Introdução. 2. Processamento de dados. 3. Computadores -
Evolução. I. Título.
CDD 004.25

DIREITOS RESERVADOS
Ifes – Instituto Federal do Espírito Santo
Av. Vitória – Jucutuquara – Vitória – ES - CEP - (27) 3331.2139

Créditos de autoria da editoração


Capa: Juliana Cristina da Silva
Projeto gráfico: Juliana Cristina da Silva / Nelson Torres
Iconografia: Nelson Torres
Editoração eletrônica: Duo Translations

Revisão de texto:
Zenas Vieira Romano

COPYRIGHT – É proibida a reprodução, mesmo que parcial, por qualquer meio, sem autorização escrita dos autores
e do detentor dos direitos autorais.

Licenciatura em Informática

introducao_informatica.indd 2 15/07/2009 15:03:55


3

Olá, Aluno(a)!

É um prazer tê-lo conosco.


O Ifes oferece a você, em parceria com as Prefeituras e com o Governo
Federal, o Curso de Licenciatura em Informática, na modalidade à dis-
tância. Apesar de este curso ser ofertado à distância, esperamos que haja
proximidade entre nós, pois, hoje, graças aos recursos da tecnologia da
informação (e-mails, chat, videoconferênca, etc.), podemos manter uma
comunicação efetiva.
É importante que você conheça toda a equipe envolvida neste curso: coor-
denadores, professores especialistas, tutores à distância e tutores presenciais.
Assim, quando precisar de algum tipo de ajuda, saberá a quem recorrer.
Na EaD - Educação a Distância - você é o grande responsável pelo
sucesso da aprendizagem. Por isso é necessário que se organize para
os estudos e para a realização de todas as atividades, nos prazos esta-
belecidos, conforme orientação dos Professores Especialistas e Tutores.
Fique atento às orientações de estudo que se encontram no Manual do Aluno!
A EaD, pela sua característica de amplitude e pelo uso de tecnologias
modernas, representa uma nova forma de aprender, respeitando, sempre,
o seu tempo.
Desejamos a você sucesso e dedicação!

Equipe do Ifes

Introdução à Informática

introducao_informatica.indd 3 15/07/2009 15:03:55


4

ICONOGRAFIA

Veja, abaixo, alguns símbolos utilizados neste material para guiá-lo em seus estudos.

Fala do Professor

Conceitos importantes. Fique atento!

Atividades que devem ser elaboradas por você,


após a leitura dos textos.

Indicação de leituras complemtares, referentes


ao conteúdo estudado.

Destaque de algo importante, referente ao


conteúdo apresentado. Atenção!

Reflexão/questionamento sobre algo impor-


tante referente ao conteúdo apresentado.

Espaço reservado para as anotações que você


julgar necessárias.

Licenciatura em Informática

introducao_informatica.indd 4 15/07/2009 15:03:55


5

INTRODUÇÃO À INFORMÁTICA

Cap. 1 - CONCEITOS DE PROCESSAMENTO DE


DADOS 9
1.1. Dados X Informação 9
1.2 Processamento de Dados 13
1.2.1 Entrada 14
1.2.2 Processamento 14
1.2.3 Saída 14
1.2.4 Armazenamento 14

Cap. 2 - EVOLUÇÃO DOS COMPUTADORES 17


2.1 Gerações de Computadores 17
2.1.1 Geração Zero 17
2.1.2 Primeira Geração 22
2.1.3 Segunda Geração 24
2.1.4 Terceira Geração 25
2.2 A Era dos Microcomputadores e das Interfaces
Gráficas 26

Cap. 3 - SISTEMAS NUMÉRICOS 33


3.1 Introdução aos Sistemas Numéricos 33
3.1.1. Sistema Binário 34
3.1.2 Sistema Hexadecimal 35
3.2 Representação Interna de Dados no
Computador 39
3.2.1. Código Ascii 41

Cap. 4 - ORGANIZAÇÃO E ARQUITETURA DE


SISTEMAS DE COMPUTADORES ATUAIS 45
4.1 Hardware X Software 45
4.1.1. Software Básico 46
4.1.2 Utilitários 47
4.1.3 Aplicativos 48
4.2 O Conceito de Arquitetura 48
4.3 Níveis de Arquitetura 50
4.4 Compilação de Programas 51
4.5 Execução de Programas 53

Introdução à Informática

introducao_informatica.indd 5 15/07/2009 15:03:56


6

Cap. 5 - MEMÓRIA 57
5.1 Introdução 57
5.2 Tipos de Dispositivos de Memória 59
5.2 Endereçamento da Memória Principal 61
5.3 A Interação entre Processador e Memória
Principal 63
5.4 Memórias Cache 65

Cap. 6 - PROCESSADORES 71
6.1 A Seção de Processamento 71
6.2 A Execução de Instruções 74
6.3 A Seção de Controle 75
6.4 O Sinal de Clock 77

Cap. 7 - DISPOSITIVOS DE DISCO 81


7.1 Introdução 81
7.2 Discos Rígidos 82
7.2.1 Geometria de um HD 84
7.3 Taxa de Transferência Interna e Externa 85

Cap. 8 - DISPOSITIVOS DE ENTRADA E SAÍDA 89


8.1 Introdução aos Dispositivos de E/S 89
8.2 Organização de uma Interface de E/S 91
8.3 Técnicas de Transferência de Dados 93
8.3.1. E/S com Polling 93
8.3.2 E/S com Interrupção 95
8.3.3 E/S com Acesso Direto à Memória 96

Cap. 9 - TÓPICOS AVANÇADOS EM


ARQUITETURA DE COMPUTADORES 99
9.1 A técnica de pipelining 99
9.2 Arquiteturas Superescalares 101
9.3 Arquiteturas RISC x CISC 102
9.3.1 A Filosofia RISC 104
9.4 Arquiteturas Paralelas 106

REFERÊNCIAS BIBLIOGRÁFICAS 109

Licenciatura em Informática

introducao_informatica.indd 6 15/07/2009 15:03:56


7

APRESENTAÇÃO

Olá!
Meu nome é João Paulo de Brito Gonçalves, responsável pela disciplina In-
trodução à Informática. Atuo como professor do Ifes há um ano e já lecio-
nei em outras instituições de ensino superior (FACIG, UNIPAC e DOC-
TUM). Sou graduado em Ciência da Computação (2003) pela UFJF e
Mestre em Informática (2006) pelo IME. Atualmente faço pós-graduação
em Administração em Redes Linux pela Universidade Federal de Lavras.
Minhas áreas de interesse são: Redes de Computadores, com ênfase em
serviços de rede, Sistemas Operacionais com ênfase em virtualização e
Organização e Arquitetura de Computadores.
Nesta disciplina, você conhecerá a organização básica de um computador
e terá as noções iniciais sobre informática que serão essenciais no decorrer
do seu curso. Visto que é uma disciplina introdutória, sendo, portanto, ofe-
recida no primeiro semestre, não serão necessários conhecimentos prévios
acerca dos assuntos aqui abordados.
O objetivo deste material é auxiliá-lo no estudo da disciplina Introdução
à Informática, por meio de dicas e sugestões que destacam os pontos mais
importantes a serem estudados. Aqui você encontrará conceitos com os
quais trabalharemos ao longo de todo o Curso, o que não dispensa a utili-
zação dos outros livros que fazem parte da bibliografia sugerida.
Em geral, para ser bem sucedido neste curso, é importante que se façam os
exercícios e se estude regularmente, evitando-se, dessa forma, o acúmulo
de conteúdo.
Por falar nisso, acumular conteúdo deve ser evitado em qualquer processo
educacional, pois compromete o aprendizado do aluno e torna o ato de
estudar monótono e enfadonho. Deve ser ainda mais evitado em EaD,
pois a organização do tempo se torna essencial para o sucesso de qualquer
empreitada.
Então, se você pode tornar o seu aprendizado uma viagem divertida por um
universo novo e rico em possibilidades, por que não fazê-lo?
Assim, desejo a você muito sucesso e empenho nesta etapa que se
inicia!

Prof. João Paulo de Brito Gonçalves

Introdução à Informática

introducao_informatica.indd 7 15/07/2009 15:03:56


8

Licenciatura em Informática

introducao_informatica.indd 8 15/07/2009 15:03:56


9

CONCEITOS DE
PROCESSAMENTO DE DADOS

Prezado aluno,
Começaremos nossa primeira aula com uma visão geral sobre a
função primordial dos computadores, que é a transformação de da-
dos em informações úteis para nós, seres humanos.
A despeito de quão diferentes são as formas através das quais os
computadores realizam esta tarefa, o ciclo entrada-processamento-
saída está presente em todas as abordagens. Entender como esse ci-
clo acontece e conhecer os dispositivos participantes do processo são
os objetivos que esperamos que você alcance ao final do capítulo,
quando você deverá comprovar seus conhecimentos realizando os
exercícios propostos.
Bom estudo!

1.1. Dados X Informação

Com o crescimento das atividades do homem em vários setores da vida,


e com o aumento do fluxo de informações, surge, cada vez mais, a neces-
sidade de organizar tais informações de forma prática, rápida e segura.

Houve um tempo em que arquivos com pastas suspensas eram bastante


utilizados e muito úteis para o armazenamento de informações. Atual-
mente, esse tipo de recurso não atende à necessidade de armazenamen-
to e organização dos dados, devido à grande produção de informações e
ao tempo desperdiçado em pesquisas com essa forma de armazenamen-
to. Então, começou a surgir a necessidade do uso de algum dispositivo
que permitisse o armazenamento destes dados de forma eletrônica.

Mas o que são dados?

Dados são conjuntos de “informação em estado bruto” que, atra-


vés de determinados processos, se transformam em informação.

Introdução à Informática

introducao_informatica.indd 9 15/07/2009 15:03:56


10
Capítulo 1

Ou seja, os dados, por si só, não apresentam significado útil para o


ser humano, são apenas símbolos, letras ou números. Um exemplo
ilustrativo é o processo de criação de textos com um editor de tex-
to. Quando inserimos os caracteres que irão compor o texto, letras,
números e caracteres especiais, estes individualmente não possuem
significado útil para o ser humano. Entretanto, ao ser agrupado sob a
forma de um texto, o conjunto passa a expressar algum significado, se
tornando com isso, informação.

Mas o que é então informação?

Informação é um conjunto de resultados que são obtidos após um


processamento, e que geralmente possui significado, de forma a
ser útil em algum processo da atividade humana.

Muitas pessoas associam o conceito de informação ao uso do compu-


tador de forma indissociável, entretanto a transformação de dados em
informações acontece desde os primórdios da humanidade. O que o
computador realiza na verdade, é o processamento automático de da-
dos, que pode ser definido como qualquer atividade que, utilizando
informações (ou dados), efetua transformações para obter novas infor-
mações (ou dados) como resultado. Voltando ao exemplo do editor de
texto, as transformações envolvidas na criação do texto seriam o agru-
pamento e a formatação dos dados para formar o texto completo. Desta
definição da principal função do computador, podemos derivar uma
definição para o próprio computador.

O Computador é uma ferramenta que permite a realização do


processamento automático (ou eletrônico) de dados, visando à
criação de informação.

Os computadores vêm ocupando espaço, estão cada vez mais presen-


tes, até mesmo em lugares antes inimagináveis. No cinema, por exem-
plo, os filmes são projetados com auxílio de computadores; em uma
farmácia, por menor que ela seja, sempre existe um computador para
registrar os produtos e os preços. Tudo isso sem falar nas grandes em-
presas, bancos, supermercados, escolas, hospitais, enfim, onde a utili-
zação desses equipamentos for útil.

Licenciatura em Informática

introducao_informatica.indd S1:10 15/07/2009 15:03:56


11
Conceitos de Processamento de Dados

E em quantas partes se divide um computador?

Bom, podemos considerar duas formas de divisão. Uma é a divisão ex-


terna, que é visível para qualquer pessoa. A outra é a divisão interna,
onde estão os componentes de sua arquitetura, que permitem que ele
realize processamento automático de dados.

Por ora, vamos conhecer a organização externa dos computadores, que


se encontra na figura 1.1.

Figura 1.1: organização externa do computador


Fonte: História do Computador (2009)

Na divisão acima ilustrada, encontramos dispositivos bastante conheci-


dos do nosso dia-dia. Temos o teclado, útil para a entrada de dados no
computador, o mouse, também usado para inserir comandos de clique e
posicionamento dentro do computador, o monitor, utilizado para apre-
sentar as informações geradas dentro do computador para o usuário,
e o gabinete, que contém um conjunto de componentes e dispositivos
responsáveis pelo processamento e funcionamento do computador e
equipamentos auxiliares.

Os computadores podem ser classificados de acordo com seu porte e


funcionalidade. Uma classificação simples pode ser feita assim:

a) computadores de porte manual ou PDA’s;

b) notebooks ou computadores portáteis;

c) computadores de mesa ou desktops; e,

d) mainframes ou computadores de grande porte e os supercomputadores.

Introdução à Informática

introducao_informatica.indd S1:11 15/07/2009 15:03:56


12
Capítulo 1

Vale citar que, por conta das interseções existentes entre funcionalida-
des de dispositivos eletrônicos temos, por exemplo, telefones celulares
atuando como computadores. Com isso, torna-se um tanto complexa
uma divisão em categorias distintas.

PDA (Personal Digital Assistants) ou Handheld, é o Assistente


Pessoal Digital, um computador de dimensões reduzidas, dotado
de grande capacidade computacional, cumprindo as funções de
agenda e sistema de escritório elementar, com possibilidade de in-
terconexão com um computador pessoal em uma rede sem fios

Um mainframe é um computador de grande porte, dedicado nor-


malmente ao processamento de um volume grande de informa-
ções. Os mainframes são capazes de oferecer serviços de proces-
samento a milhares de usuários através de milhares de terminais
conectados diretamente ou através de uma rede.

Este é o momento de chamar sua atenção para uma importante as-


sociação que caso não tenha sido feita, é importante que se faça
agora. Lendo os parágrafos anteriores, você prestou atenção quando
foi descrito que o teclado e o mouse permitem a entrada de dados e
comandos e o monitor permite a saída das informações? Lembra-
se, ainda, que foi dito anteriormente que a função primordial do
computador é a transformação automática de dados visando gerar
informação? Desta forma, acho que já é possível visualizar na sua
vida prática esta dinâmica, não é?

Além do teclado e do mouse como dispositivos de entrada e do


monitor como dispositivo de saída, que outros dispositivos do
computador você imaginaria com as mesmas funções?

Licenciatura em Informática

introducao_informatica.indd S1:12 15/07/2009 15:03:56


13
Conceitos de Processamento de Dados

1.2 Processamento de Dados

Como falado anteriormente, a função primordial do computador é a


transformação de dados em informações úteis para nós, seres humanos.
Mas, como é realizada esta transformação?

Em linhas gerais, podemos definir o ciclo de processamento do com-


putador como composto por três etapas básicas: entrada, processa-
mento e saída. Na etapa de entrada, os dados são inseridos de forma
eletrônica no computador através de dispositivos projetados para esta
finalidade, chamados de dispositivos de entrada. Na etapa de proces-
samento, os dados são manipulados internamente no computador de
forma a gerar os dados de saída, ou informação que são visualizados
através de dispositivos de saída. Caso estas informações geradas sejam
relevantes para o uso posterior do usuário, elas podem ser armazena-
das em dispositivos de armazenamento.

Figura 1.2: ciclo entrada-processamento-saída

Os dispositivos envolvidos neste processo são muitos, sendo que a figura


1.3 nos dá uma ideia da tamanha diversidade existente. As próximas seções
abordarão cada uma das classes de dispositivos envolvidos no processo.

Figura 1.3: exemplos de dispositivos de entrada, saída, processamento e


armazenamento
Fonte: História do Computador (2009)

Introdução à Informática

introducao_informatica.indd S1:13 15/07/2009 15:03:56


14
Capítulo 1

1.2.1 Entrada

Os dispositivos de entrada permitem ao usuário comunicar-se com o


computador. Podem ser utilizados para recolher dados de entrada for-
necidos pelo usuário e emitir comandos. O teclado, o mouse e o joystick
são exemplos de dispositivos de entrada.

1.2.2 Processamento

A Unidade de Processamento Central (CPU) é o processador, disposi-


tivo principal de um computador. O processador processa instruções,
efetua cálculos e gere o fluxo da informação. A CPU está para um com-
putador assim como o cérebro está para o ser humano. O processador
é o responsável pela execução das instruções do programa (software),
recorrendo a todos os componentes da arquitetura envolvente para re-
alizar as tarefas que não dependam exclusivamente de si (ex.: leitura do
teclado, impressão, apresentação no monitor etc.). Podemos, então, di-
zer que o processador recebe os dados de entrada, efetua operações com
eles e devolve as informações através dos dispositivos de saída.

1.2.3 Saída

Os dispositivos de saída permitem que o computador se comunique


com o usuário. Eles convertem informações eletrônicas produzidas pe-
los programas instalados no computador em uma forma inteligível pelo
homem, com o fim de serem apresentadas aos usuários finais. Ainda que
seja possível receber informações dos computadores em uma multipli-
cidade de formas, os monitores de vídeo e as impressoras foram, e ainda
são, as formas mais comuns de saída de dados dos computadores.

1.2.4 Armazenamento

Um dispositivo de armazenamento é usado para guardar informação


para um uso posterior. Desta forma, estes dispositivos podem ser usa-
dos tanto para leitura de arquivos quanto para sua gravação. Um dos
principais dispositivos de armazenamento é o disco rígido ou HD (Hard
Disk), pois armazena todos os programas e dados, que ficam gravados
no computador após o seu desligamento. Além dele, são dispositivos de
armazenamento: disquetes, CDs, DVDs etc.

Licenciatura em Informática

introducao_informatica.indd S1:14 15/07/2009 15:03:56


15
Conceitos de Processamento de Dados

[1] MONTEIRO, M. A., Introdução a Organização de Computa-


dores. Editora LTC, 2006
[2] MURDOCCA, M. J.; HEURING V.P., Introdução a Arquitetu-
ra de Computadores, Rio de Janeiro, Editora Campus, 2001.
[3] PATTERSON, D. A.; HENESSY, J. L., Organização e Projeto de
Computadores. Editora LTC, 2000
[4] TANENBAUM, A. S., Organização Estruturada de Computa-
dores. Editora LTC, 1999

Atividades
Responda às questões abaixo e depois envie-as pelo ambiente
Moodle, seguindo as instruções de formato e data de entrega
descritas na Tarefa 1:
a) Diferencie dados de informação e explique como um é gerado
a partir do outro.
b) Quais as funções dos dispositivos de entrada? Cite pelo menos
dois exemplos diferentes dos vistos no capítulo.
c) Quais as funções dos dispositivos de saída? Cite pelo menos
dois exemplos diferentes dos vistos no capítulo.
d) Quais as funções dos dispositivos de armazenamento? Cite pelo
menos dois exemplos diferentes dos vistos no capítulo.
3 Até alguns anos atrás existiam os termos notebook e lap-top
para designar computadores portáteis, que podiam ser carregados
em uma maleta. Hoje em dia, estes termos são considerados inter-
cambiáveis sendo que vemos uma predominância de uso do ter-
mo notebook. Entretanto, quando foram originalmente criados,
estes dois termos designavam computadores diferentes. Pesquise
na Internet as diferenças entre eles.
4 Pesquise e descreva as diferenças entre os PDA’s e os Smartphones.

Introdução à Informática

introducao_informatica.indd S1:15 15/07/2009 15:03:56


16
Capítulo 1

Licenciatura em Informática

introducao_informatica.indd S1:16 15/07/2009 15:03:57


17

EVOLUÇÃO DOS
COMPUTADORES

Prezado aluno,
Agora que você já entende a função primordial de um computador e
consegue visualizar como o processo de uso acontece em linhas gerais,
é hora de entender como o computador chegou até sua forma atual.
Neste capítulo, você conhecerá as principais invenções que partici-
param desta evolução e como elas se complementaram em um pro-
cesso contínuo de desenvolvimento.
Ao final da leitura do capítulo, os objetivos que você deve atingir
são: entender a importância das invenções históricas para a criação
dos computadores e o impacto que estas transformações tiveram em
nossa sociedade atual.
Na atividade proposta no ambiente você deverá entender um pouco
mais uma invenção de sua escolha, descrevendo-a em uma tarefa
descrita ao final do capítulo.
Bom estudo!

2.1 Gerações de Computadores

2.1.1 Geração Zero

Desde os primórdios da humanidade, o ser humano vem buscando criar


uma série de auxílios para ajudá-lo em suas necessidades de cálculo e
resolução de problemas. Os homens primitivos não tinham necessidade
de contar, pois o que necessitavam para a sua sobrevivência era retirado
da própria natureza. A necessidade de contar começou com o desenvol-
vimento das atividades humanas, quando o homem foi deixando de ser
pescador e coletor de alimentos para fixar-se no solo.

O homem começou a plantar, produzir alimentos, construir casas, pro-


teções e fortificações, e passou a domesticar animais, usando os mesmos
para obter a lã e o leite, tornando-se criador de animais domésticos, o
que trouxe profundas modificações na vida humana.

Introdução à Informática

introducao_informatica.indd S1:17 15/07/2009 15:03:57


18
Capítulo 2

As primeiras formas de agricultura de que se tem notícia, foram criadas há


cerca de dez mil anos na região que hoje é denominada Oriente Médio.

A agricultura passou então a exigir o conhecimento do tempo, das esta-


ções do ano e das fases da Lua. Assim começaram a surgir as primeiras
formas de calendário.

No pastoreio, o pastor usava várias formas para controlar o seu rebanho.


Pela manhã, ele soltava os seus carneiros e analisava ao final da tarde,
se algum tinha sido roubado, fugido, se perdido do rebanho ou se havia
sido acrescentado um novo carneiro ao rebanho. Assim eles tinham a
correspondência um a um, onde cada carneiro correspondia a uma pe-
drinha que era armazenada em um saco.

No caso das pedrinhas, cada animal que saía para o pasto de manhã
correspondia a uma pedra que era guardada em um saco de couro. No
final do dia, quando os animais voltavam do pasto, era feita a corres-
pondência inversa, onde, para cada animal que retornava, era retirada
uma pedra do saco. Se no final do dia sobrasse alguma pedra, é porque
faltava algum dos animais e se algum fosse acrescentado ao rebanho, era
só acrescentar mais uma pedra. A palavra que usamos hoje, cálculo, é
derivada da palavra latina calculus, que significa pedra pequena.

A correspondência unidade a unidade não era feita somente com pe-


dras, mas eram usados também nós em cordas, marcas nas paredes, ta-
lhes em ossos, desenhos nas cavernas e outros tipos de marcação.

Devido às limitações mentais dos homens primitivos, eles necessitaram


com o tempo criar uma série de auxílios para ajudá-los em sua crescente
necessidade de calcular. Uma das ferramentas mais antigas já criadas
para ajudar o homem a calcular foi o ábaco.

O ábaco surgiu aproximadamente a 4.000 a.C. Em sua versão original,


ele era formado por uma placa de argila, onde se escreviam algarismos
que auxiliavam nos cálculos. Após aprimoramentos, cerca de 200 a.C.,
o Ábaco era constituído por uma moldura retangular de madeira, com
varetas paralelas e pedras deslizantes. Um dos ábacos mais populares
foi desenvolvido na China, foi chamado de Suan-Pan e era usado para
adições e subtrações.

Licenciatura em Informática

introducao_informatica.indd S1:18 15/07/2009 15:03:57


19
Evolução dos Computadores

Figura 2.1 Ábaco


Fonte: História do Computador (2009)
Passaram-se séculos sem que qualquer invenção ficasse registrada até
que fossem criados os bastões de Napier no final do século XVI. Eram
tabelas móveis de multiplicação e divisão feitas de marfim. O responsá-
vel foi um nobre escocês chamado John Napier, inventor também dos
logaritmos. Apesar de dispositivos semelhantes aos bastões terem sido
usados desde o final do século XVI, eles só apareceram documentados
a partir de 1614. Um conjunto completo de bastões de Napier consiste
em 9 peças: uma para cada dígito de 1 a 9 e ajudava no processo de mul-
tiplicação de números.

Em 1642, um francês de 18 anos de nome Blaise Pascal, inventou a pri-


meira máquina de somar, a Pascalina, que executava operações aritmé-
ticas, quando se giravam os discos interligados. Essa máquina foi a pre-
cursora das calculadoras mecânicas.

Figura 2.2 Pascalina


Fonte: História do Computador (2009)
Em 1802, Joseph Jacquard, na França, passou a utilizar cartões perfura-
dos, para controlar suas máquinas de tear e automatizá-las. Esse proces-
so despertou, já nessa época, temor pelo desemprego, provocando uma
grande reação popular contra essa espécie de pré-automação.

Introdução à Informática

introducao_informatica.indd S1:19 15/07/2009 15:03:57


20
Capítulo 2

Entre 1802 e 1822, Charles Babbage (1792-1871), um matemático e


engenheiro britânico, construiu a máquina de diferenças que baseava-
se também no princípio de discos giratórios e era operada por uma
simples manivela. Babbage é considerado o precursor dos modernos
computadores eletrônicos digitais.

Figura 2.3 Máquinas das Diferenças


Fonte: História do Computador (2009)
Em 1833, Babbage projetou uma máquina bastante aperfeiçoada, que cha-
mou de Máquina Analítica. A Máquina Analítica poderia ser programada
para calcular várias funções diferentes, era constituída de unidade de controle
de memória aritmética e de entrada e saída. Sua operação era governada por
conjunto de cartões perfurados, de modo que, de acordo com os resultados
dos cálculos intermediários, a máquina poderia saltar os cartões, modificando
dessa forma o curso dos cálculos. Porém, sua máquina só pôde ser concluída
anos após a sua morte, tornando-se a base para a estrutura dos computadores
atuais, o que fez com que Charles Babbage fosse considerado como o “Pai do
Computador”. De fato, o projeto de máquina de Babbage muito se aproxima
do projeto das máquinas atuais, pois possuía dispositivos de entrada e saída,
uma memória e engrenagens que permitiam o processamento.

Figura 2.4 Máquina Analítica


Fonte: História do Computador (2009)

Licenciatura em Informática

introducao_informatica.indd S1:20 15/07/2009 15:03:59


21
Evolução dos Computadores

Aproximadamente em 1885, Herman Hollerith, funcionário do Depar-


tamento de Recenseamento dos E.U.A, percebeu que a realização do
censo anual demorava cerca de 10 anos para ser concluído e que a maio-
ria das perguntas tinha como resposta sim ou não. Em 1886 idealizou
um cartão perfurado que guardaria as informações coletadas no censo
e uma máquina capaz de tabular essas informações. Construiu então
a Máquina de Recenseamento ou Máquina Tabuladora, perfurando-se
cerca de 56 milhões de cartões. Com isso, ele conseguiu obter os re-
sultados em tempo recorde, isto é, 3 anos depois do censo ele já tinha
os resultados. A máquina foi sucesso nos EUA e foi usada no censo do
Canadá, Áustria e Rússia.

Em função dos resultados obtidos com seu invento, Hollerith, em 1896, fun-
dou uma companhia chamada TMC - Tabulation Machine Company, asso-
ciando-se, em 1914 a duas outras pequenas empresas, e formando a , que se
tornou, em 1924, a conhecida IBM - Internacional Business Machine.

Com a chegada da Segunda Guerra Mundial, houve a necessidade de se


projetar máquinas capazes de executar cálculos balísticos com rapidez e
precisão, para serem utilizadas na indústria bélica. Desta forma, houve
um grande impulso no desenvolvimento dos computadores, e surgiram
os primeiros sistemas híbridos eletromecânicos.

Com isso, surgiu, em 1944, o primeiro computador eletromecânico,


o MARK I, (construído na Universidade de Harvard, pela equipe do
professor H. Aiken, com a ajuda financeira da IBM, que investiu US$
500.000,00 no projeto). Esse computador, era controlado por programa
e usava o sistema decimal, tinha cerca de 15 metros de comprimento
e 2,5 metros de altura e era envolvido por uma caixa de vidro e de aço
inoxidável brilhante. Após ele, foi iniciado o projeto de um computador
totalmente eletrônico, iniciando a 1ª geração de computadores.

Figura 2.5 MARK I (IBM archives)


Fonte: História do Computador (2009)

Introdução à Informática

introducao_informatica.indd S1:21 15/07/2009 15:03:59


22
Capítulo 2

2.1.2 Primeira Geração

A primeira geração de computadores é marcada pelo surgimento dos


primeiros computadores eletrônicos. Um grande número de projetos
foram implementados, baseados na utilização de relés e válvulas eletrô-
nicas para a realização de cálculos automaticamente.

Os relés são eletroímãs cuja função é abrir ou fechar contatos elétri-


cos com o intuito de interromper ou estabelecer circuitos. Já a válvula
é um dispositivo que conduz a corrente elétrica num só sentido.

Uma das grandes vantagens da primeira geração em relação às máquinas


eletromecânicas era, sem dúvida, a maior velocidade de processamento.
Entretanto, por serem todos baseados em tecnologias de válvulas eletrô-
nicas, normalmente quebravam após não muitas horas de uso, devido ao
alto aquecimento que as válvulas alcançavam em pouco tempo de uso.

Em 1943, um projeto britânico, sob a liderança do matemático Alan


Turing, colocou em operação uma série de máquinas mais ambiciosas,
dentre elas o Colossus que, ao invés de relés eletromecânicos, usava
2.000 válvulas eletrônicas.

O Colossus trabalhava com símbolos perfurados numa argola de fita


de papel que, inserida na máquina de leitura fotoelétrica, comparava a
mensagem cifrada com os códigos conhecidos até encontrar uma coin-
cidência. Ele processava 25.000 caracteres por segundo e foi muito usa-
do para decifrar códigos alemães secretos.

Talvez o computador mais relevante desta geração seja o ENIAC (Eletro-


nic Numerical Interpreter and Calculator ou seja, “Computador e Intér-
prete Numérico Eletrônico”), projetado para fins militares pelo Depar-
tamento de Material de Guerra do Exército dos EUA, na Universidade
de Pensilvânia.

Era o primeiro computador digital eletrônico de grande escala e foi pro-


jetado por John W. Mauchly e J. Presper Eckert. A entrada de dados no
ENIAC era baseada na tecnologia de cartões perfurados e os programas
eram modificados através de reconfigurações no circuito. Apesar das
dúvidas com relação à sua confiabilidade, o ENIAC permaneceu opera-
cional por mais de 10 anos e em algumas operações, conseguia ser até
mil vezes mais rápido que o MARK I.

Licenciatura em Informática

introducao_informatica.indd S1:22 15/07/2009 15:04:00


23
Evolução dos Computadores

Figura 2.6 ENIAC


Fonte: História do Computador (2009)

O ENIAC realmente possuía dimensões gigantescas. Veja o ENIAC


em números:
• 18.000 válvulas
• 70.000 resistores
• 10.000 capacitores
• Peso: 30 toneladas
• Área: 1 400 m2
• Consumo: 150 quilowatts de potência
• 5000 adições ou 300 multiplicações por segundo

Uma das maiores contribuições da época para a evolução dos compu-


tadores veio de um dos consultores que trabalhavam com o ENIAC,
chamado John Von Neumann. Ele percebia as dificuldades inerentes
à programação destes computadores e delineou com isso os elementos
críticos de um sistema de computador (memória, processador e dispo-
sitivos de entrada e saída) e o conceito de programa armazenado em
memória, que até hoje é a base da arquitetura dos computadores.

O novo conceito de programação introduzido por Von Neumann deu


origem a muitos outros projetos, nos quais ele próprio esteve envolvido,
como por exemplo, o EDVAC (Electronic Discrete Variable Automatic
Computer), e o IBM 650 (o primeiro computador da IBM). O inven-
to de periféricos como a impressora e dispositivos de fita magnética, e
particularmente do transistor, marcaram o fim da primeira geração de
computadores e o início da segunda, composta por computadores me-
nores e mais econômicos.

Introdução à Informática

introducao_informatica.indd S1:23 15/07/2009 15:04:00


24
Capítulo 2

Pode parecer estranho e até engraçado que máquinas tão grandes e


ineficientes como o ENIAC e o EDSAC fossem o que havia de me-
lhor naquela época. Entretanto, é preciso entender que elas eram o
que de melhor a tecnologia existente poderia construir. Como não
existia nada mais avançado na época, elas eram consideradas o
topo da evolução tecnológica humana. Você pode não ter pensado
nisso, mas daqui talvez 60, 70 anos os computadores serão total-
mente diferentes dos que temos agora, além de muito mais rápidos e
econômicos. Provavelmente, alguém daquela época olhará para um
velho computador de mesa encostado em um canto e ficará imagi-
nando como um computador daqueles pode ter sido o que havia de
melhor no mundo em uma época passada....

2.1.3 Segunda Geração

A segunda geração foi marcada por computadores transistorizados, ou


seja, que usavam um componente eletrônico chamado transistor. Este
componente apresentava um consumo e aquecimento muito menores
que as válvulas, além de serem mais confiáveis. Por conta de também
possuir dimensões menores, sua adoção contribuiu para uma redução
no tamanho dos computadores da época.

Em 1952, John Mauchly e Presper Eckert abriram sua própria firma na Fila-
défia e criaram o UNIVAC (Universal Automatic Computer, ou seja, “Compu-
tador Automático Universal”), destinado ao uso comercial. Máquina eletrô-
nica de programa armazenado, que recebia instruções de uma fita magnética
de alta velocidade ao invés dos cartões perfurados, o UNIVAC foi utilizado
para prever os resultados de uma eleição presidencial. O UNIVAC marcou
também o surgimento de dois periféricos: o UNITYPER e UNIPRINTER.

Figura 2.7 UNIVAC e seus periféricos


Fonte: História do Computador (2009)

Licenciatura em Informática

introducao_informatica.indd S1:24 15/07/2009 15:04:00


25
Evolução dos Computadores

Em 1955, conclui-se o primeiro computador transistorizado, feito pela


Bell Laboratories: o TRADIC, com 800 transistores, cada um em seu
próprio recipiente.

O transistor é um componente eletrônico que começou a se po-


pularizar na década de 1950 tendo sido o principal responsável
pela revolução da eletrônica na década de 1960, e cujas funções
principais são amplificar e chavear sinais elétricos.

Figura 2.8 TRADIC


Fonte: História do Computador (2009)

2.1.4 Terceira Geração

De 1958 a 1959, Robert Noyce, Jean Hoerni, Jack Kilby e Kurt Lehovec par-
ticiparam do projeto de desenvolvimento do primeiro CI - Circuito Inte-
grado. O circuito intergrado é um conjunto de transistores e outros com-
ponentes eletrônicos miniaturizados e montados numa única pastilha de
silício. A tecnologia dos circuitos integrados, que permitiu a substituição de
dezenas de transistores numa única peça de silício, viabilizou o surgimento
de computadores de menores dimensões, mais rápidos e menos caros.

Em 1960, a IBM lança o IBM/360, cuja série marcou uma nova tendência
na construção de computadores com o uso de CI. Os computadores desta
série eram mais poderosos e baratos e aceitavam uma grande variedade
de periféricos, tornando-se com isso um enorme sucesso comercial.

Introdução à Informática

introducao_informatica.indd S1:25 15/07/2009 15:04:01


26
Capítulo 2

Em 1965, a Digital Equipment introduz o PDP-8, primeiro minicompu-


tador comercial com preço competitivo.

Naquela época, o nível de integração existente nos chips era de pequena


escala de integração (SSI –Small Scale of Integration) com a qual cerca de mil
transistores podiam integrar-se no circuito de uma pastilha. Com o passar
dos anos, foram desenvolvidas escalas maiores de integração, de forma a
conseguir alocar mais transistores em uma mesma pastilha de silício.

Figura 2.9 IBM 360


Fonte: História do Computador (2009)

Um outro computador desta geração que conheceu grande sucesso, par-


ticularmente nas universidades e centros de pesquisa, foi o minicompu-
tador da série PDP-11.

A invenção dos circuitos integrados teve efeito importante na vitória dos


Estados Unidos na disputa espacial com a antiga União Soviética e na
conquista da Lua, pois tornou possível o embarque de computadores mais
complexos em foguetes, necessários para o êxito das missões espaciais.

2.2 A Era dos Microcomputadores e das


Interfaces Gráficas

Em 1974, Ed Roberts, do MITS (Micro Instrumentation and Telemetry


Systems), em Albuquerque - Novo México, construiu um microcompu-
tador chamado ALTAIR 8800. Esse microcomputador, construído com
base no processador da Intel, o 8080, descendente do processador Intel
8008, tornou-se um grande sucesso, marcando o início de uma indús-
tria multibilionária. Roberts esperava vender cerca de oitocentos AL-
TAIR por ano, mas teve dificuldades para satisfazer 4.000 pedidos. O
ALTAIR é considerado o primeiro microcomputador comercial criado,
e marcou o início da era de popularização dos computadores para usu-
ários domésticos.

Licenciatura em Informática

introducao_informatica.indd S1:26 15/07/2009 15:04:01


27
Evolução dos Computadores

Nesta época, dois estudantes, William (Bill) Gates e Paul Allen criam o pri-
meiro software para microcomputador, uma adaptação do BASIC (Begin-
ners All-Purpose Symbolic Instruction Code, ou “Código de Instruções Sim-
bólicas para todos os Propósitos dos Principiantes”) para o ALTAIR.

Anos mais tarde, Gates e Allen fundaram a Microsoft, uma das mais
bem sucedidas companhias de software para microcomputadores. En-
quanto a comercial criado, e marcou o início da era de popularização
dos computadores para usuários domésticos.

Sthephen Wozniak e Steve Jobs formaram em 1976 uma pequena em-


presa, a Apple, onde construíram, numa garagem de fundo de quintal, o
Apple I. Um ano depois, com um novo e melhor projeto, surge o Apple
II, primeiro microcomputador com grande sucesso comercial e, mais
tarde, o Apple III. A Apple se tornou uma das maiores fabricantes de
microcomputadores e se expandiu rapidamente.

Percebendo o rápido crescimento da Apple, a IBM começou a ficar apre-


ensiva, dado que até então ela era a maior fabricante de computadores
e líder no mercado mundial. Até ver o sucesso da Apple, a IBM nunca
acreditou que microcomputadores seriam um mercado rentável, sendo
acreditando que o lucro residia nos grandes mainframes empresariais.

Rapidamente, a IBM requisita um projeto de um microcomputador para


disputar mercado com a Apple, chamado de IBM PC. Após um acordo
de parceria entre a Intel e a Microsoft, a IBM montou e lançou o primei-
ro PC – Personal Computer (Computador Pessoal), com o processador
chamado 8088 e usando o sistema operacional MS-DOS.

Desta forma, firmou-se uma acirrada disputa que permitiu que milhares
de pessoas possuíssem computadores pessoais em suas casas. Entretanto,
ainda havia um problema: todos os computadores da época possuíam a
chamada interface de linha de comando, ou seja, a forma através da qual
o usuário interagia com os computadores era sempre usando comandos
inseridos via teclado em uma tela geralmente de baixa resolução. Com o
uso cada vez mais crescente dos computadores por pessoas com pouco
conhecimento de informática, começava a existir a necessidade da cria-
ção de uma forma mais fácil de interação com o sistema.

Em uma visita aos laboratórios da Xerox, Steve Jobs, da Apple entrou


em contato com tecnologias de ponta que estavam sendo desenvolvi-
das: a interface gráfica e o mouse, um dispositivo apontador que foi
ridicularizado na época. Percebendo o imenso potencial de usabili-
dade que tais dispositivos teriam, Steve Jobs passa a exigir no projeto
de seus computadores o uso da interface gráfica, culminando em 1984

Introdução à Informática

introducao_informatica.indd S1:27 15/07/2009 15:04:01


28
Capítulo 2

com o lançamento do Macintosh, a linha de computadores mais co-


nhecida da empresa.

Posteriormente, a Microsoft lança o WINDOWS 1.0, que foi uma inter-


face gráfica para o MS-DOS e era executado no IBM-PC. Essa interface
evoluiu para novas versões, culminando no Microsoft Windows, um
sistema utilizado por milhões de usuários ao redor do mundo.

Hoje existe uma clara tendência por computadores cada vez menores, mais
rápidos e com interface cada vez mais intuitiva, com o uso de dispositivos de
fácil interação com o usuário, como telas sensíveis ao toque, por exemplo.

ATIVIDADE 1
Descreva em no máximo três linhas as principais características
de cada geração de computadores (3 Linhas para cada geração co-
meçando na geração zero).

___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________

Licenciatura em Informática

introducao_informatica.indd S1:28 15/07/2009 15:04:01


29
Evolução dos Computadores

Figura 2.10 Apple II


Fonte: História do Computador (2009)

Interface Gráfica do usuário é um tipo de interface que permite a


interação com dispositivos digitais, através de elementos gráficos
como ícones e outros indicadores visuais, em contraste à interface
de linha de comando. A interação é feita através do mouse ou do
teclado, com os quais o usuário é capaz de selecionar símbolos e
manipulá-los de forma a obter algum resultado prático. Os sím-
bolos são chamados ícones e são agrupados em uma tela gráfica
colorida de alta resolução.

Figura 2.11 Macintosh


Fonte: História do Computador (2009)

Introdução à Informática

introducao_informatica.indd S1:29 15/07/2009 15:04:01


30

O cérebro humano, de um ponto de vista estritamente funcional,


pode ser definido como um sistema complexo de 100 bilhões de neu-
rônios. Para conter o mesmo número de elementos do cérebro, um
computador dos anos 40 (válvulas) teria as dimensões de São Paulo,
enquanto no final dos anos 50 (transistores) teria as dimensões do
Cristo Redentor e nos anos 60 (circuitos integrados de baixo nível de
integração) teria as dimensões de um ônibus. Atualmente, cérebro e
computador estão se equiparando em termos de dimensões.

[1] MONTEIRO, M. A., Introdução a Organização de Com-


putadores. Editora LTC, 2006
[2] MURDOCCA, M. J.; HEURING V.P., Introdução a
Arquitetura de Computadores, Rio de Janeiro, Editora Campus,
2001.
[3] PATTERSON, D. A.; HENESSY, J. L., Organização e Pro-
jeto de Computadores. Editora LTC, 2000
[4] TANENBAUM, A. S., Organização Estruturada de Com-
putadores. Editora LTC, 1999

Atividade 2
Agora é hora de você entender um pouco melhor uma invenção
que tenha contribuído para a evolução dos computadores. Não
sei se você percebeu, mas foram dados poucos detalhes acerca de
cada invenção, primeiramente para permitir uma maior fluidez ao
texto e também para que você possa complementar as informa-
ções dadas com as pesquisas feitas no seu trabalho.
Desta forma, leia o enunciado da Tarefa 2 no ambiente e siga as re-
gras de formatação e entrega de seu trabalho sobre uma invenção
específica. Lembre-se de que a escolha da invenção a ser estudada
deve ser feita no Wiki próprio para tal, colocando seu nome na
frente da invenção que você escolher. Bom trabalho!

Licenciatura em Informática

introducao_informatica.indd S1:30 15/07/2009 15:04:02


31

Para quem se interessa pela história da informática, indico dois filmes


que podem ser interessantes para aumentar seu conhecimento:
• O primeiro é o filme Enigma (2001), com
DOUGRAY SCOTT e KATE WINSLET e
conta um pouco da história dos computa-
dores Colossus e Enigma, usados para cifrar
e decifrar códigos na 2ª Guerra Mundial. O
filme reconstitui bem a tecnologia da época,
embora seja historicamente falho, pois atri-
bui a um matemático fictício os feitos reali-
zados pelo cientista Alan Turing. Talvez você
tenha um pouco de dificuldade para achá-lo
nas locadoras, mas ainda sim vale a pena.
• O segundo filme é Piratas da Informática
(1999), que conta a ascensão da Apple e da
Microsoft, as duas maiores empresas de in-
formática do planeta. Em busca da liderança
do mercado Steve Jobs (Noah Wyle) e Bill
Gates (Anthony Michael Hall), fundadores
das empresas, enfrentam-se em uma guerra
de bastidores. Apesar de mais antigo que o
anterior, é provável que você tenha mais fa-
cilidade em achá-lo nas locadoras, pois ele é
amplamente utilizado em escolas e faculdades quando se fala em histó-
ria da informática. Como todo filme, vários diálogos são fictícios, mas
pelo menos a reconstituição dos acontecimentos é mais fiel à história.
Vale muito a pena.

Introdução à Informática

introducao_informatica.indd S1:31 15/07/2009 15:04:02


32
Capítulo 2

Licenciatura em Informática

introducao_informatica.indd S1:32 15/07/2009 15:04:02


33
Métodos eLinguagem
EstratégiasCde Estudo

SISTEMAS NUMÉRICOS

Prezado aluno,
Agora que você já entendeu alguns conceitos básicos sobre a organi-
zação do computador e viu como foi seu processo de evolução, está
na hora de conhecer como o computador entende internamente os
dados inseridos pelo usuário.
Veremos que seria muito complexo para o computador entender
os dados da forma como entendemos. Sendo assim, ele usa uma
linguagem muito mais simples para tal, onde existem apenas dois
símbolos, o 0 (zero) e o 1 (um).
Ao final da leitura do capítulo, os objetivos que você deve atingir
são: entender a importância dos sistemas binário e hexadecimal
para os computadores e como números expressos em um sistema
podem ser transformados em números em outro sistema numérico.
Na atividade proposta no ambiente, você deverá realizar os exercícios
que estão no final do capítulo e enviá-los de acordo com as instruções.
Bom estudo!

3.1 Introdução aos Sistemas Numéricos

Sistemas numéricos são sistemas de notação usados para repre-


sentar quantidades abstratas denominadas números. Um sistema
numérico é definido pela base que utiliza. A base é o número de
símbolos diferentes, ou algarismos, necessários para representar
um número qualquer, dos infinitos possíveis no sistema.

Vimos no capítulo passado que os homens primitivos não tinham ne-


cessidade de contar, pois o que necessitavam para a sua sobrevivência
era retirado da própria natureza. A necessidade de contar começou com
o desenvolvimento das atividades humanas, quando o homem foi dei-
xando de ser pescador e coletor de alimentos para fixar-se no solo.

Introdução à Informática

introducao_informatica.indd S1:33 15/07/2009 15:04:02


34
Capítulo 3

Desta necessidade primitiva de cálculo, surgiram os sistemas numéricos


para que fosse possível representar uma variedade sem limites de diferentes
números. Talvez o primeiro sistema numérico moderno existente seja o sis-
tema decimal devido à sua natural associação com os dedos das mãos.

O sistema decimal é um sistema de notação posicional. Em um sistema


de número posicional, um número é representado por uma sequência de
dígitos na qual cada posição de dígito tem um peso associado. Tomando
como exemplo o sistema decimal, ou base 10, que é o sistema numérico
que utilizamos diariamente (0, 1, 2, ... 9), o valor D, que é o valor absolu-
to de um número decimal de 4 dígitos d3d2d1d0 é D = d3*103 + d2*102
+ d1*101 + d0*100. Desta forma, o número 547 pode ser representado
como 547(10) = 5x102 + 4x101 + 7x100 = 500 + 40 + 7 = 547.

3.1.1. Sistema Binário

O sistema binário, ou base 2, apresenta unicamente dois dígitos: 0,1. Nes-


se sistema a contagem é realizada do seguinte modo: 0, 1, 10, 11, 100, 101,
110, 111, 1000, ... O sistema numérico binário moderno foi documentado
de forma abrangente por Gottfried Leibniz no século XVIII em seu artigo
“Explication de l’Arithmétique Binaire”. O sistema de Leibniz utilizou 0 e
1, tal como o sistema numérico binário corrente nos dias de hoje.

Para se converter um número binário em um número decimal, multipli-


ca-se o algarismo do número binário pela base elevada ao expoente de
sua posição no número, sendo que a base do número binário é sempre
dois. Por exemplo:

1001 = 1x23 + 0x22 + 0x21 + 1x20 = 8 + 0 + 0 + 1 = 9

Desta forma, o dígito menos significativo (mais a esquerda) é sem-


pre multiplicado por 20, sendo que este expoente é acrescido a 1 à
medida que vamos seguindo os dígitos da esquerda para a direita.
Após fazer as devidas multiplicações de dígito por base elevada ao
expoente, é só somar as parcelas.

Para se transformar um número decimal em um número binário, divi-


de-se o número decimal pela base 2, obtendo um resultado e um resto.
Caso o resultado possa ainda ter outra divisão pela base, tornar-se-á a
fazer esta operação, até termos um resultado que não possa mais ser
dividido pela base, ou seja, dê como quociente o resultado zero.

Com isso, teremos o número em questão, sendo o primeiro dígito igual ao


último resultado. Por exemplo, para achar o número binário correspon-
dente ao número decimal 18, poderíamos realizar a seguinte operação:

Licenciatura em Informática

introducao_informatica.indd S1:34 15/07/2009 15:04:02


35
Sistemas Numéricos

Figura 3.1: conversão decimal - binário

Desta forma, podemos perceber que após realizarmos a divisão, só preci-


samos pegar os restos das divisões sucessivamente feitas, de trás para fren-
te para, desta forma, compormos o número binário correspondente.

3.1.2 Sistema Hexadecimal

No sistema hexadecimal utilizam-se 16 símbolos diferentes, que vão


de 0 a 9 e a partir do 9, temos as letras de A a F. Essas letras represen-
tam os números de 10 a 15. Assim, nós contamos os dígitos hexadeci-
mais da seguinte forma: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Ainda
é possível utilizar um H ao final do número, para mostrar que se trata
de um número hexadecimal.

Para convertermos um número hexadecimal em número binário, toma-


se cada grupo de quatro algarismos binários da direita para a esquerda,
e se faz a conversão desses grupos individualmente em algarismos hexa-
decimais, mas obedecendo sempre a transformação com quatro dígitos
binários para cada digito hexadecimal. Desta forma:

Figura 3.2: exemplos de conversão binário - hexadecimal

Introdução à Informática

introducao_informatica.indd S1:35 15/07/2009 15:04:02


36
Capítulo 3

A figura 3.3 mostra a correlação entre os sistemas decimal, binário e


hexadecimal.

Figura 3.3 - correlação entre os sistemas binário, decimal e hexadecimal

Para se converter um número hexadecimal em um número binário to-


ma-se cada algarismo hexadecimal e transforma-o em binário individu-
almente, mas obedecendo sempre a transformação com quatro dígitos
binários para cada número hexadecimal. Por exemplo:

Figura 3.4- conversão de um número hexadecimal em binário

Licenciatura em Informática

introducao_informatica.indd S1:36 15/07/2009 15:04:02


37
Sistemas Numéricos

Você deve estar se perguntando por que precisamos de quatro al-


garismos binários para cada número hexadecimal. Isto se deve ao
fato de que, para representarmos todos os algarismos hexadeci-
mais de 0 a F, precisamos de 4 algarismos binários, pois o 0 é 0000
em binário e o F é 1111.

O número binário correspondente será a junção dos conjuntos de números


binários criados a partir da conversão de cada algarismo hexadecimal.

Para convertermos um número hexadecimal em decimal, nós utilizamos


a mesma fórmula utilizada na conversão binário para decimal, sendo
a base 2 logicamente trocada por 16. Por exemplo, para convertermos
B2Ah em decimal:

B2Ah = 11*162 + 2*161 + 10*16°= 2816 + 32 + 10 = 2858

Desta forma, é necessário convertermos cada algarismo hexadecimal


maior que 9 em um número decimal, de modo que possam ser feitas as
operações de multiplicação e soma para se achar o resultado.

Já para convertermos um número decimal em hexadecimal, nós utili-


zamos a mesma fórmula utilizada na conversão de um número decimal
em binário, dividindo por 16 em vez de 2. Por exemplo, para converter-
mos 32 em hexadecimal:

Figura 3.5- conversão de um número decimal em hexadecimal

Recolhemos então os restos de trás para frente para criarmos o número


hexadecimal correspondente.

Desta forma, foi possível entender o processo de conversão entre os


sistemas numéricos mais comuns. Mas qual a utilidade destes sistemas
para a informática em geral? Entenderemos isto na próxima seção.

Introdução à Informática

introducao_informatica.indd S1:37 15/07/2009 15:04:02


38
Capítulo 3

Observe que quanto menor é a base do sistema maior em quan-


tidade de algarismos são os números que podem ser formados
pelo sistema. Por exemplo, um número em notação binária será
sempre maior que seu correspondente em notação decimal, e bem
maior que seu correspondente em hexadecimal.

ATIVIDADE 1
Realize as seguintes conversões:
a) converta os seguintes números do sistema binário para o sistema
decimal:
1110
1010
1100110001

b) converta os seguintes números decimais para o sistema


binário:
21
552
715

c) transforme os números abaixo de binário para hexadecimal:


1100011
11000111100011100
1000110011

d) Transforme os números hexadecimais abaixo em números


binários:
1EDH
ABFH
37 H

Licenciatura em Informática

introducao_informatica.indd S1:38 15/07/2009 15:04:03


39
Sistemas Numéricos

3.2 Representação Interna de Dados no


Computador

Ainda que possamos visualizar os dados que entram e saem do com-


putador em uma multiplicidade de formas diferentes, internamente o
computador só consegue entender dados armazenados em um formato:
o binário.

Portanto, a importância de conhecer o sistema binário reside no fato de


que este é o sistema usado para armazenar todos os tipos de dados do
computador.

Dentro dele, as informações geralmente são armazenadas sob a forma


de bytes, que é o grupamento básico de bits que o computador opera
como uma unidade singular. Um bit é o menor elemento dos dados (um
dígito binário) que pode ter valor zero ou um. Via de regra, o byte con-
siste em oito bits, e é utilizado para representar um caractere de dados
na maioria dos esquemas de codificação em computador (por exem-
plo, 8 bits = 1 byte). A capacidade dos dispositivos de memória de um
computador é normalmente expressa em termos de bytes. As principais
unidades de medida existentes são:

1 Byte = 8 bits
1 KB (Kilobyte) = 210 = 1024 bytes
1 MB (Megabyte) = 220 = 1024 Kbytes = 1.048.576 bytes
1 GB (Gigabyte)= 230 = 1024 MB = 1.073.741.824 bytes
1 TB (Terabyte)= 240 = 1024 GB = 1.099.511.627.776 bytes

MUITAS PESSOAS SE QUESTIONAM O PORQUÊ DE AS


UNIDADES DE MEDIDA DO BYTE NÃO SEREM NÚMEROS
MÚLTIPLOS DE 10. ISTO SE DÁ PELO FATO DE QUE, COMO
A BASE USADA É BINÁRIA, OS NÚMEROS RESULTANTES
SEMPRE SÃO MÚLTIPLOS DE 2.

A razão pela qual toda a informação no computador é representada


apenas por dois símbolos é que os computadores digitais trabalham
internamente com dois níveis de tensão, pelo que o seu sistema de
numeração natural é o sistema binário (aceso, apagado). Com efeito,
num sistema simples como este é possível simplificar o cálculo, com o
auxílio da lógica booleana.

Introdução à Informática

introducao_informatica.indd S1:39 15/07/2009 15:04:03


40
Capítulo 3

O sistema binário é base para a Álgebra booleana (de George Boole -


matemático inglês), que permite fazer operações lógicas e aritméticas
usando-se apenas dois dígitos ou dois estados (sim e não, falso e verda-
deiro, tudo ou nada, 1 ou 0, ligado e desligado). Toda eletrônica digital
e computação está baseada nesse sistema binário e na lógica de Boole,
que permite representar por circuitos eletrônicos digitais (portas lógi-
cas) os números ou caracteres, e realizar operações lógicas e aritméticas.
Os programas de computadores são codificados sob forma binária e ar-
mazenados nas mídias (memórias, discos, etc) sob esse formato.

A álgebra de Boole é um conjunto de estruturas algébricas que


“capturam a essência” das operações lógicas, ou seja, estruturas
que permitem equacionar as expressões lógicas. Foi proposta em
1854 pelo o matemático britânico George Boole, que publicou um
artigo fundamental detalhando um sistema lógico que se tornaria
conhecido como Álgebra Booleana. Seu sistema lógico tornou-se
essencial para o desenvolvimento do sistema binário, particular-
mente sua aplicação a circuitos eletrônicos.

Os bytes representam todas as letras (maiúsculas e minúsculas), sinais


de pontuação, acentos, sinais especiais e até sinais que não podemos
ver, mas que servem para comandar o computador e que podem, in-
clusive, ser enviados pelo teclado ou por outro dispositivo de entrada
de dados e instruções.

Ainda que tenha ficado clara a importância do sistema binário, você


pode estar se perguntando: qual a importância do sistema hexadeci-
mal neste contexto?

O sistema hexadecimal possui uma profunda aplicação na informáti-


ca, pelo fato de que dois algarismos hexadecimais são o bastante para
representar toda a informação representada por um byte. Você deve se
lembrar que foi dito que quando menor é a base do sistema, maior é a
quantidade necessária de dígitos para representar certo número. Des-
ta forma, um número muito grande em binário se torna sensivelmente
menor em hexadecimal. Por essa razão, a notação hexadecimal é usada
para simplificar representações de grandes volumes de informação ar-
mazenados em binário no computador.

Licenciatura em Informática

introducao_informatica.indd S1:40 15/07/2009 15:04:03


41
Sistemas Numéricos

3.2.1. Código Ascii

Nos parágrafos anteriores foi apresentada a ideia de que toda informa-


ção existente no computador está organizada na forma de números bi-
nários. Entretanto, essa informação é inserida no computador na forma
de caracteres inteligíveis ao homem. Então, como o computador repre-
senta os caracteres do usuário na forma de números binários e depois
faz o processo inverso?

A resposta é simples: para essa tarefa são usados códigos que atribuem a
cada caractere do teclado um código binário único.

Um dos códigos mais usados e amplamente aceitos é o código ASCII.


No início, eram usados códigos de 7 bits, que permitiam a definição
de 128 caracteres, preenchendo completamente os sete bits disponíveis.
Desses, 33 não são imprimíveis, como caracteres de controle atualmente
obsoletos, que afetam o processamento do texto. Exceto pelo caractere
de espaço, o restante é composto por caracteres imprimíveis.

ASCII é, portanto, um código de 7 bits, mas muitos computadores ma-


nipulam uma quantidade de 8 bits (byte). Portanto, os caracteres ASCII
devem ser frequentemente armazenados um por byte, com o bit mais
significante igual a 0. O bit extra é, algumas vezes, usado para propósitos
específicos, dependendo da aplicação. Por exemplo, algumas impresso-
ras reconhecem um ASCII estendido, com os caracteres adicionais ini-
ciando pelo bit mais significativo igual a 1. Esses caracteres habilitam a
impressora a imprimir símbolos adicionais, como o alfabeto grego ou
fontes do tipo itálico.

Figura 3.6- Código ASCII


Fonte: História do Computador (2009)

Introdução à Informática

introducao_informatica.indd S1:41 15/07/2009 15:04:03


42
Capítulo 3

[1] MONTEIRO, M. A., Introdução a Organização de Computa-


dores. Editora LTC, 2006
[2] MURDOCCA, M. J.; HEURING V.P., Introdução a Arquitetu-
ra de Computadores, Rio de Janeiro, Editora Campus, 2001.
[3] PATTERSON, D. A.; HENESSY, J. L., Organização e Projeto de
Computadores. Editora LTC, 2000
[4] TANENBAUM, A. S., Organização Estruturada de Computa-
dores. Editora LTC, 1999

Apesar de ser o mais famoso, código ASCII não é a única codi-


ficação binária possível de caracteres existente. Além dele, ainda
temos outras codificações como ISO Latin-1, EBCDIC (Extended
Binary Coded Decimal Interchange Code) que é um padrão de pro-
priedade da IBM, os caracteres ANSI, suportados pelo Windows
e o padrão UNICODE.

Atividades
1 – Realize as atividades abaixo e envie-as de acordo com o enun-
ciado da Tarefa 3 do ambiente:
Converta para o sistema decimal:
a) 11000102 =
b) 01111002 =
c) 1000010102 =
d) 1010110012 =
e) 20F16 =
f) 4BE16 =
g) 100A16 =
h) 9F016 =

Licenciatura em Informática

introducao_informatica.indd S1:42 15/07/2009 15:04:03


43
Sistemas Numéricos

2 - Converta para o sistema binário:


a) 14410 =
b) 30110 =
c) 7210 =
d) 23110 =
e) 20216 =
f) F1616 =
g) AA0B16 =
h) D99F16 =

3 - Converta para o sistema hexadecimal:

a) 125310 =
b) 81910 =
c) 301410 =
d) 160010 =
e) 01110110112 =
f) 10001100012 =
g) 1101110002 =
h) 11101

Introdução à Informática

introducao_informatica.indd S1:43 15/07/2009 15:04:03


44
Capítulo 3

Licenciatura em Informática

introducao_informatica.indd S1:44 15/07/2009 15:04:03


45

ORGANIZAÇÃO E ARQUITETURA
DE SISTEMAS DE
COMPUTADORES ATUAIS

Prezado aluno,
Agora que você já obteve conhecimentos acerca da organização bá-
sica do computador, sua evolução até os dias atuais e a forma de
representação de dados entendida por ele, é hora de entender como
o computador funciona na prática e a forma como seus programas
do dia-a-dia são executados internamente.
Desta forma, você irá obter um conhecimento mais profundo da
máquina, mas a obtenção deste conhecimento exigirá que você sai-
ba fazer as devidas associações sobre tudo que viu até agora.
Os objetivos que esperamos de você ao final deste capítulo são: en-
tender as diferenças básicas entre software e hardware, entender
como os mesmos se complementam e compreender como se organi-
za internamente um sistema computacional.
Na atividade proposta no ambiente, você deverá realizar os exercí-
cios que estão no final do capítulo.
Bom estudo!

4.1 Hardware X Software

Até este momento, falamos apenas de dispositivos físicos do computa-


dor, ou seja, dispositivos palpáveis, que podem ser tocados. Entretanto,
quando pensamos no uso diário do computador, sempre fazemos uma
associação com os programas que usamos em nosso dia-a-dia. Esses
programas não são físicos, como os componentes dos quais falamos até
então, mas são essenciais para nossas atividades.

Podemos perceber que há uma clara diferença entre os dispositivos fí-


sicos e os programas, ainda que não seja possível imaginar o uso do
computador sem um deles.

Assim sendo, damos a denominação de hardware a todos os itens físicos


do computador e a denominação software a todos os itens lógicos, ou
seja, todos os programas instalados no computador.

Introdução à Informática

introducao_informatica.indd S1:45 15/07/2009 15:04:03


46
Capítulo 4

O hardware representa a parte física (equipamentos) de um com-


putador - sendo constituído dos seus componentes mecânicos,
elétricos e eletrônicos -, incluindo quaisquer equipamentos peri-
féricos, tais como impressora, teclado, modem e mouse.

Além do hardware e software, ainda existe o Peopleware, que


compreende todas as pessoas envolvidas em um sistema de
computação, desde engenheiros de hardware e software até
usuários finais.

Não faz muito sentido pensar no uso de um computador sem software


instalado, da mesma forma que não teria nenhuma utilidade ter um sof-
tware sem um computador para executá-lo. Estas ideias são tão difíceis
de desassociar que geralmente falamos dos dois como um conjunto, sob
o nome de sistema computacional ou sistema de computação.

Devido à sua diversidade e vasta utilidade na atividade humana, o sof-


tware do computador possui algumas divisões conhecidas. A seguir,
apresentaremos algumas delas.

4.1.1. Software Básico

Podemos definir software básico como “software usado para controlar


ou coordenar o uso do hardware entre vários programas aplicativos e
usuários.” Tais softwares caracterizam-se por forte interação com har-
dware de computador e por um intenso uso de múltiplos usuários. Fa-
zem parte deste grupo a BIOS (Basic Input Output System), os drivers de
dispositivos e o sistema operacional.

Os drivers de dispositivo são programas que fazem parte do nú-


cleo do sistema operacional e possuem como função “dirigir” ou
controlar o funcionamento de um dispositivo (geralmente de en-
trada e saída), fornecendo uma forma de interação entre este usu-
ário e o dispositivo.

Licenciatura em Informática

introducao_informatica.indd S1:46 15/07/2009 15:04:03


47
Organização e Arquitetura de Sistemas de Computadores Atuais

Bios significa “Basic Input Output System”, ou “sistema básico de


entrada e saída”. A Bios é a primeira camada de software do siste-
ma, que fica gravada em um pequeno chip na placa mãe, e tem a
função de “dar a partida”, reconhecendo os dispositivos instalados
no micro e realizando a inicialização do sistema.

Um sistema operacional é um programa que atua como intermediário en-


tre o usuário e o hardware de um computador e tem por função gerenciar
os recursos de hardware disponíveis, fornecendo ao usuário um ambiente
conveniente e eficiente para executar seus programas. O sistema operacio-
nal é o principal programa do sistema, que controla todos os recursos do
computador (dispositivos físicos e funções de software). Ele também tem
por função realizar a interação entre o usuário e os dispositivos do siste-
ma, permitindo um uso mais fácil do computador pelo usuário. Exemplos
de sistemas operacionais são o Windows, Linux, UNIX, etc.

Dentre suas várias funções específicas, podemos citar:

• execução de programas.
• gerência das operações de entrada/saída.
• manipulação do sistema de arquivos.
• detecção de erros
• alocação de recursos.
• gestão da memória principal
• proteção do sistema computacional

Por conta da existência de uma disciplina específica sobre o as-


sunto no curso, não entraremos em detalhes adicionais acerca do
sistema operacional.

4.1.2 Utilitários

Utilitários são programas criados para auxiliar a utilização de um Siste-


ma Operacional. Os utilitários geralmente não são usados para nenhu-
ma atividade de produção humana direta, mas como o nome diz, são
úteis para garantir a estabilidade e o bom funcionamento do sistema. A
maioria dos sistemas operacionais oferece um conjunto de programas
utilitários que tornam o ambiente mais conveniente para o desenvolvi-
mento e execução de programas. Estão nesta categoria os verificadores
de disco, desfragmentadores de disco etc.

Introdução à Informática

introducao_informatica.indd S1:47 15/07/2009 15:04:03


48
Capítulo 4

4.1.3 Aplicativos

Como o nome propriamente diz, aplicativos são programas criados para


serem “aplicados” em atividades humanas, como edição de texto, cria-
ção de planilhas eletrônicas, comunicação, dentre outros. Possuem geral-
mente interface gráfica de fácil interação com o usuário, permitindo um
alto nível de interatividade. São exemplos de aplicativos: editores de texto,
programas para envio de e-mail, programas de editoração gráfica, etc.

A divisão de software acima é a mais comum, mas não é a única


existente. você conseguiria pensar em alguma outra categoria de
software existente não citada no texto?

4.2 O Conceito de Arquitetura

Esta é uma seção introdutória sobre arquitetura de computadores. Sen-


do assim, é importante, em primeiro lugar, definir precisamente o signi-
ficado que aqui será dado ao termo “arquitetura de computador”.

A arquitetura de um computador é um modelo da organização e funcio-


namento de um sistema de processamento. A descrição da arquitetura
destaca as funções dos componentes básicos de um computador, a interco-
nexão destes componentes e o modo como os componentes interagem.

Esta seção focaliza aqueles tipos de sistemas que já fazem parte do nos-
so cotidiano profissional, basicamente os microcomputadores. A Figura
1.1 mostra a organização típica de um sistema computacional.

Figura 4.1. Organização típica de um computador.

Licenciatura em Informática

introducao_informatica.indd S1:48 15/07/2009 15:04:03


49
Organização e Arquitetura de Sistemas de Computadores Atuais

Esta figura mostra os três componentes básicos de um computador: o


processador (também conhecido como unidade central de processamen-
to), a memória principal e as interfaces de entrada e saída. O processa-
dor é o componente ativo, controlador de todo o sistema. É o processador
que realiza todas as operações sobre os dados, de acordo com o indicado
pelas instruções no código do programa. A memória principal armazena
as instruções que são executadas pelo processador, e os dados que serão
manipulados. As interfaces de entrada e de saída são as portas de comu-
nicação para o mundo externo, às quais estão conectados os dispositivos
periféricos tais como monitor de vídeo, teclado, discos e impressora.

Uma interface de entrada e saída é um canal de comunicação entre


o computador e um dispositivo de entrada e saída. Essa interface
possibilita a comunicação entre o computador e o dispositivo de
forma inteligível, possibilitando ao sistema controlar o funciona-
mento do dispositivo.

Os componentes básicos são interconectados por meio de um barra-


mento, através do qual o processador realiza o acesso a instruções e
dados armazenados na memória principal. É também através desse
mesmo barramento que o processador recebe ou envia dados para as
interfaces de entrada/saída.

Instruções e dados ficam armazenados em locações de memória, na


memória principal. Para realizar o acesso a uma informação, o proces-
sador envia para a memória, através do barramento, o endereço da lo-
cação de memória que contém a informação onde será feito o acesso. A
informação é trocada entre o processador e a memória, também através
do barramento. O acesso às interfaces de entrada/saída é semelhante,
sendo cada interface identificada por um endereço único.

A Figura 4.1 e a discussão a ela associada descrevem sucintamente a


arquitetura de um computador. Conforme mencionado acima, essa
descrição indica quais são os componentes básicos da arquitetura (pro-
cessador, memória principal e interfaces) e suas funções, como estão
interconectados (através de um barramento) e como interagem (troca
de endereços, instruções e dados através do barramento).

Nos capítulos que se seguem, a arquitetura será descrita com mais deta-
lhes. Por ora, o conhecimento aqui visto é o suficiente.

Introdução à Informática

introducao_informatica.indd S1:49 15/07/2009 15:04:04


50
Capítulo 4

Observe que foi dada ênfase aos componentes internos do com-


putador, não sendo considerados os acessórios externos sem liga-
ção com os componentes internos É que a arquitetura de um com-
putador é ditada pelos componentes envolvidos em seu sistema de
processamento, ou seja, na execução de programas.

4.3 Níveis de Arquitetura

Na realidade, o conceito de arquitetura pode ser aplicado a diferentes


sistemas de hardware e software, levando a diversos níveis de arquitetu-
ra conforme mostra a Figura 4.2.

Figura 4.2. Níveis de arquitetura

O nível de arquitetura de processador descreve a organização e o


funcionamento de um dos componentes de um sistema de processa-
mento. Nesse nível são descritos os elementos básicos de um proces-
sador, o modo como instruções são executadas pelo processador e o
seu conjunto de instruções.

O próximo nível é o de arquitetura de computador que, como já visto,


descreve o sistema de processamento como um todo.

O nível seguinte é o de arquitetura de sistema operacional. Nele, são des-


critas a organização e as funções de um sistema operacional e são espe-
cificados os serviços oferecidos por esse sistema.

Finalmente, o nível de arquitetura de rede de computadores aborda um


sistema formado por computadores interligados por um meio de comu-
nicação. No nível de arquitetura de redes é descrita a conexão física en-
tre os computadores, bem como os protocolos de comunicação usados
na troca de informações entre os computadores.

Licenciatura em Informática

introducao_informatica.indd S1:50 15/07/2009 15:04:04


51
Organização e Arquitetura de Sistemas de Computadores Atuais

É muito importante perceber que os níveis de arquitetura não estão iso-


lados. O perfeito entendimento de um nível mais elevado exige a com-
preensão de vários aspectos de um ou mais níveis inferiores. Por exem-
plo, para entender o gerenciamento de memória virtual — um assunto
que é tratado dentro do nível de arquitetura de sistema operacional — é
necessário conhecer o suporte para memória virtual oferecido pelo pro-
cessador, o que é abordado no nível de arquitetura de processador.

Atualmente, está cada vez mais claro que o pleno domínio de algumas
áreas da computação exige do indivíduo uma visão de conjunto destes
quatro níveis de arquitetura.

4.4 Compilação de Programas

Em geral, todos os programas usados no seu dia-a-dia são desenvolvi-


dos em uma linguagem de alto nível como Java, Delphi ou C.

O compilador traduz o programa de alto nível em uma sequência de


instruções de processador. O resultado dessa tradução é o programa em
linguagem de montagem (assembly language).

A linguagem de montagem é uma forma de representar textualmente


as instruções oferecidas pela arquitetura, já que as mesmas são repre-
sentadas internamente na forma de números binários. Cada arquitetura
possui uma particular linguagem de montagem.

No programa em linguagem de montagem, as instruções são representadas


através de mnemônicos, que associam o nome da instrução à sua função,
como por exemplo, ADD (soma) ou SUB (subtração). Esta transformação
é necessária porque para nós, seres humanos, é muito mais fácil progra-
mar em uma linguagem de programação de alto nível, ou seja, mais próxi-
ma da nossa linguagem natural. Entretanto, como vimos anteriormente, o
processador só entende códigos binários. Para vencer o abismo semântico
entre nossa linguagem e a linguagem do computador, existem os compila-
dores, que criam uma “ponte” entre as duas linguagens.

Introdução à Informática

introducao_informatica.indd S1:51 15/07/2009 15:04:04


52
Capítulo 4

Figura 4.3. Etapas na compilação de um programa

Linguagem de programação – conjunto bem definido de símbo-


los, regras sintáticas e semânticas, utilizado para escrever progra-
mas de computador. Em função de suas peculiaridades, cada lin-
guagem de programação tem seu próprio compilador para cada
família de equipamentos.

Compilador é um programa de computador que substitui cada ins-


trução de uma linguagem de programação por um conjunto de ins-
truções equivalentes de uma linguagem mais próxima do processa-
dor. Assim, o processador executa programa em linguagem binária.
No processo de compilação, todo o programa é traduzido uma úni-
ca vez para linguagem de máquina e executado várias vezes.

O programa em linguagem de montagem é convertido para um programa


em código objeto pelo montador (assembler). O montador traduz direta-
mente uma instrução da forma textual para a forma de código binário. É
sob a forma binária que a instrução é carregada na memória e interpreta-

Licenciatura em Informática

introducao_informatica.indd S1:52 15/07/2009 15:04:04


53
Organização e Arquitetura de Sistemas de Computadores Atuais

da pelo processador. Programas complexos são normalmente estrutura-


dos em módulos. Cada módulo é separadamente compilado e submetido
ao montador, gerando diversos módulos em código objeto. Estes módu-
los são reunidos pelo ligador (linker), resultando finalmente no programa
executável que é carregado na memória. Desta forma, qualquer programa
precisa ser convertido em código binário para ser executado, ou seja, o
computador só consegue entender dados que estejam em binário.

CADA ARQUITETURA DE PROCESSADOR POSSUI UMA


LINGUAGEM DE MONTAGEM EM PARTICULAR QUE COR-
RESPONDE AO SEU CONJUNTO DE INSTRUÇÕES E CADA
COMANDO EM LINGUAGEM DE MONTAGEM PRODUZ
EXATAMENTE UMA INSTRUÇÃO DE MÁQUINA.

4.5 Execução de Programas

Como já vimos nas seções passadas, uma das principais funções e uti-
lidades de um sistema computacional para o usuário é a possibilidade
de execução de programas úteis para a vida prática. Como já citado, um
programa é uma sequência de instruções, que ensinam o computador a
resolver de forma automatizada um problema da vida prática humana.
Os programas são codificados em uma linguagem de alto nível e poste-
riormente são compilados, gerando assim um código executável, que na
verdade é composto por várias sequências de números binários. Mas,
como tais códigos chegam até o computador?

Geralmente, os programas são instalados nos computadores através de


mídias (Cds, DVDs), ou de sites na Web, e após isso passam a residir no
computador sob a forma de arquivos no disco rígido (HD).

Entretanto, quando um programa precisa ser executado, ele não pode


ser acessado diretamente no HD pelo processador, pois como já citado,
é necessário que ele esteja na memória principal para ser executado.

Desta forma, quando o usuário quer executar um programa, ele geral-


mente clica em um ícone existente na área de trabalho do seu sistema
operacional. Esse ícone (um atalho) nada mais é que uma forma mais
rápida de acessar o programa no disco rígido, o qual é acessado pelo
sistema operacional e colocado na memória principal.

Introdução à Informática

introducao_informatica.indd S1:53 15/07/2009 15:04:04


54
Capítulo 4

Ícones - símbolos gráficos utilizados como forma de executar


aplicativos a partir da interface gráfica do sistema operacional ou,
dentro de um aplicativo, como forma de inicializar ou executar
determinadas tarefas.

O processo de transferência do programa do disco rígido para a memó-


ria principal pode demorar um pequeno intervalo de tempo, dependen-
do do tamanho do programa. Por isso, existe uma pequena demora (que
varia em relação à configuração do seu computador) do momento em
que se clica em um ícone de atalho até o momento em que o programa
é efetivamente aberto para uso pelo usuário.

Após ser armazenado na memória principal, o programa começa a ser exe-


cutado pelo processador, que então permite que o usuário possa usufruir
dele. A partir daí, entram em ação os dispositivos de entrada e a saída, que
são usados para permitir ao usuário efetuar a entrada de dados no progra-
ma, e também permitir a visualização dos resultados do processamento nele
feitos. Entretanto, caso não sejam gravados em algum dispositivo de arma-
zenamento, as informações geradas pelo programa serão perdidas, pois a
memória principal, onde ficam alojadas as informações enquanto houver
energia na máquina, é apagada sempre que o computador é desligado.

Desta forma, se o usuário considera que os resultados produzidos serão


úteis em outra ocasião, ele deve arquivá-los em algum dispositivo de
armazenamento, que pode ser tanto o disco rígido (que é o de uso pa-
drão), como alguma mídia removível (pen-drive, disquete, CD, DVD).

Quando o programa não mais apresenta serventia para o usuário, ele pode
ser fechado (encerrado), o que acarretará na liberação do espaço ocupado
por ele na memória principal. Entretanto, seus arquivos continuam exis-
tindo no disco rígido, de forma que ele possa ser executado outras vezes.

É comum a confusão entre os conceitos de memória principal e


disco rígido, sendo que muitas pessoas acreditam que a memória
principal dita a quantidade de arquivos que podem ser armaze-
nados no computador. Na verdade, é o tamanho do disco rígido
que dita a capacidade de armazenamento de arquivos, enquanto
o tamanho da memória principal dita a quantidade de programas
que podem ser executados simultaneamente. Desta forma, o ta-
manho da memória principal é sempre relacionado à velocidade
de execução dos programas no computador.

Licenciatura em Informática

introducao_informatica.indd S1:54 15/07/2009 15:04:04


55
Organização e Arquitetura de Sistemas de Computadores Atuais

[1] MONTEIRO, M. A., Introdução a Organização de Computa-


dores. Editora LTC, 2006
[2] MURDOCCA, M. J.; HEURING V.P., Introdução a Arquitetu-
ra de Computadores, Rio de Janeiro, Editora Campus, 2001.
[3] PATTERSON, D. A.; HENESSY, J. L., Organização e Projeto de
Computadores. Editora LTC, 2000
[4] TANENBAUM, A. S., Organização Estruturada de Computa-
dores. Editora LTC, 1999

Atividades
Responda às questões abaixo e depois envie-as pelo ambiente
Moodle, seguindo as instruções de formato e data de entrega des-
critas na Tarefa 4:
1) Qual a atividade de um compilador? Por que ele é essencial na
criação de programas?
2) Qual a diferença entre um programa em linguagem de alto ní-
vel e um programa em linguagem de montagem?
3) Qual a diferença entre um aplicativo e um utilitário? Cite dois
aplicativos e utilitários que você no seu dia-dia seja no trabalho,
escola ou em casa.
4) Explique com suas palavras, por que na organização da arquite-
tura em níveis, o nível de computador fica acima do processador,
o de sistema operacional acima do nível de computador e o de
rede acima dos demais (deixe claro em sua resposta a relação exis-
tente entre estes níveis).
5) Utilizando um software de sua escolha, descreva o processo de
utilização dele desde sua inicialização, passando pela gravação de
informações no HD e terminando com seu encerramento. (expli-
que o que acontece internamente no computador em cada etapa
do uso do software).
6) Pesquise na Internet e explique com suas palavras qual a dife-
rença entre um erro de compilação e um erro de execução.
7) Pesquise na Internet e cite pelo menos 3 diferenças entre a for-
ma como a memória principal do computador armazena dados e
como o disco rígido armazena os dados.

Introdução à Informática

introducao_informatica.indd S1:55 15/07/2009 15:04:04


56
Capítulo 4

Licenciatura em Informática

introducao_informatica.indd S1:56 15/07/2009 15:04:04


57

MEMÓRIA

Prezado aluno,
Agora que você já conheceu a arquitetura básica de um compu-
tador, está na hora de conhecer cada um dos componentes desta
arquitetura. Este capítulo introduz os componentes normalmente
encontrados no sub-sistema de memória de um microcomputador
ou de uma estação de trabalho, apresenta os principais tipos e ca-
racterísticas de dispositivos de memória e analisa a organização
da memória principal. Trata em detalhe o mecanismo de acesso do
processador à memória principal e, em seguida, apresenta os princi-
pais tipos e características de dispositivos de memória. Finalmente,
apresenta os conceitos de memória cache.

Como de costume, encerrando-se o capítulo, você deve resolver os


exercícios propostos.

Bom estudo!

5.1 Introdução

Num sistema de computador, tanto a CPU quanto os dispositivos de E/S


(Entrada e Saída) interagem com a memória. Dado que cada conteúdo
(palavra ou byte) armazenado na memória possui seu próprio endereço,
a interação é feita através de uma sequência de leituras e escritas a ende-
reços de memória específicos.

Em um sistema de computador, existem tipos de memória com di-


ferentes características, que formam uma hierarquia como a ilus-
trada na figura 5.1

Introdução à Informática

introducao_informatica.indd S1:57 15/07/2009 15:04:04


58
Capítulo 5

Figura 5.1 Hierarquia de Memória

A hierarquia de memória pode ser analisada segundo suas capacidades


de armazenamento, custo por bit e tempo de acesso.

Partindo do nível mais inferior da Figura 5.1, observa-se que as me-


mórias secundárias são capazes de armazenar uma grande quantidade
de informação. Seu custo por bit é menor e o seu tempo de acesso
é relativamente maior do que as memórias dos níveis superiores. As
memórias secundárias geralmente são memórias de disco, como HD,
DVD, CDs, etc.

No segundo nível, está a memória principal ou memória RAM. Ela


é capaz de armazenar uma quantidade menor de informação. Seu
custo por bit é maior e seu tempo de acesso é menor do que as me-
mórias secundárias.

No nível seguinte da hierarquia estão as memórias cache. Estas memó-


rias são as mais rápidas e com o maior custo por bit. Por serem muito
caras as memórias cache são pequenas, isto é, possuem menor capacida-
de de armazenamento em relação às demais.

No topo da hierarquia estão os registradores, unidades temporárias


de armazenamento que existem dentro dos processadores. Os regis-
tradores possuem um tempo de acesso praticamente nulo, já que se
encontram dentro da própria pastilha do processador, mas também
possuem uma capacidade de armazenamento muito pequena, geral-
mente na ordem de 32 ou 64 bits.

As memórias dos diferentes níveis da hierarquia são produzidas de


acordo com uma série de tecnologias diferentes. Veremos quais são es-
tas tecnologias na próxima seção.

Licenciatura em Informática

introducao_informatica.indd S1:58 15/07/2009 15:04:04


59
Memória

5.2 Tipos de Dispositivos de Memória

No sub-sistema de memória de um computador é possível encontrar


memórias eletrônicas e memórias de disco. Dentre as memórias ele-
trônicas, podemos destacar alguns tipos. O primeiro tipo é a memó-
ria programável somente de leitura, mais conhecida como PROM
(Programmable Read Only Memory). Este tipo de dispositivo permite
apenas acessos de leitura. As informações ali armazenadas são atri-
buídas pelo fabricante do sistema, e não podem ser modificadas após
o seu armazenamento.

O segundo tipo é a memória programável e apagável somente de lei-


tura, ou simplesmente EPROM (Erasable Programmable Read Only Me-
mory). Assim como no caso da PROM, o processador realiza apenas
acessos de leitura a uma EPROM. No entanto, ao contrário da PROM,
o conteúdo de uma memória EPROM pode ser apagado, e a memória
pode ser novamente usada para armazenar um novo conjunto de infor-
mações. Apesar de poder ser apagada, este tipo de memória geralmente
não pode ser apagada eletricamente, mas sim através de operações uti-
lizando luz ultravioleta.

O terceiro tipo são as EEPROM – memória eletricamente progra-


mável e apagável somente de leitura - permitindo que múltiplos en-
dereços sejam apagados ou escritos numa só operação. Em termos
leigos, trata-se de um chip reescrevível que, ao contrário de uma me-
mória RAM convencional, preserva o seu conteúdo sem a necessi-
dade de fonte de alimentação, mas que pode ser apagada em uma
operação normal do computador.

Memórias PROM, EPROM e EEPROM são usadas para armazenar o


firmware do computador. Em geral, o firmware é formado por sub-
rotinas usadas pelo sistema operacional, e que interagem diretamente
com o hardware do computador. O BIOS (Basic Input/Output System)
em sistemas microcomputadores do tipo IBM PC é um exemplo de fir-
mware. As rotinas que formam o BIOS são armazenadas em memórias
do tipo EPROM.

O último tipo de dispositivo de memória eletrônica encontrado em


um computador é a memória de leitura/escrita, ou RAM (Random Ac-
cess Memory – Memória de Acesso Aleatório). Como a própria denomi-
nação indica, o processador pode efetuar acessos de leitura e escrita a
um dispositivo RAM de forma aleatória, ou seja, sem uma ordem de-
finida. Memórias deste tipo são usadas para armazenar as instruções e
dados de um programa em execução. Existem dois tipos de memória
RAM: as memórias RAM estáticas, ou SRAM (Static RAM) e as me

Introdução à Informática

introducao_informatica.indd S1:59 15/07/2009 15:04:04


60
Capítulo 5

mórias RAM dinâmicas, ou DRAM (Dynamic RAM). Estes dois tipos


de memórias RAM diferem quanto à capacidade de armazenamento e
ao tempo de acesso.

Para memórias fabricadas com a mesma tecnologia, a capacidade de um


dispositivo DRAM é até 16 vezes maior que a de um dispositivo SRAM.
Esta diferença na capacidade de armazenamento deve-se ao modo como
uma célula de bit é implementada. Nas memórias DRAM, a célula de bit
é implementada por um circuito eletrônico que ocupa uma área de inte-
gração menor que a ocupada pelo circuito usado nas memórias SRAM.
Como a área por célula bit é menor, para a mesma área total de integra-
ção o número total de células de bit em uma DRAM é maior.

No entanto, as memórias SRAM apresentam uma vantagem sobre as


memórias DRAM no que se refere ao tempo de acesso. Para a mesma
tecnologia, o tempo de acesso de uma SRAM é até 4 vezes menor que o
tempo de acesso de uma DRAM. Atualmente, existem memórias SRAM
com tempo de acesso de 15 ns, enquanto as memórias dinâmicas mais
rápidas apresentam um tempo de acesso de 60 ns. Melhorias no tempo
de acesso dos dispositivos DRAM não acontecem na mesma taxa que o
aumento observado na sua capacidade de armazenamento. Enquanto a
tendência de aumento na capacidade de armazenamento dos disposi-
tivos DRAM é de 60% ao ano, quadruplicando a cada três anos, a ten-
dência observada indica uma diminuição do tempo de acesso de apenas
30% a cada dez anos.

Os dispositivos DRAM são utilizados em sistemas de baixo e médio


custo tais como microcomputadores e estações de trabalho. Com este
tipo de dispositivo é possível dotar um sistema com uma capacidade
de memória principal elevada, sem aumentar significativamente o seu
custo. No entanto, o uso de dispositivos DRAM favorece a capacidade
de armazenamento da memória principal em detrimento do seu tem-
po de acesso, comprometendo o desempenho do sistema. Em classes
de aplicações gráficas, tais como processamento gráfico e multimídia,
o desempenho é um fator cada vez mais importante na faixa de micro-
computadores e estações de trabalho.

A solução para obter o compromisso desejado entre capacidade de ar-


mazenamento, desempenho e custo encontra-se no uso apropriado de
tecnologias de memória com diferentes relações entre esses três fatores.

Além das memórias eletrônicas, temos ainda as memórias de disco,


cujos principais exemplos são HDs, disquetes, CDs e DVDs. Por conta
da existência de um capítulo exclusivo para estes dispositivos, não en-
traremos em detalhes sobre os mesmos neste capítulo.

Licenciatura em Informática

introducao_informatica.indd S1:60 15/07/2009 15:04:04


61
Memória

5.2 Endereçamento da Memória Principal

A memória principal, mencionada no capítulo anterior (item 4.2) é co-


nhecida como memória RAM, sigla em inglês para Random Access Me-
mory, que significa Memória de Acesso Aleatório.

É uma memória que permite a leitura e a gravação dos dados que estão
sendo usados enquanto o computador estiver ligado. É uma memória
temporária, ou seja, seus dados ficam armazenados nela por tempo de-
terminado. Na verdade, tudo o que você faz no computador fica na me-
mória RAM enquanto o computador se encontra ligado. As memórias
RAM são organizadas em várias células que correspondem a unidades
de armazenamento da memória.

Cada célula é composta de um determinado número de bits e pode


ser identificada e localizada individualmente por um único endereço.
Todas as células de um dado computador têm o mesmo tamanho, isto
é, todas as células daquele computador terão o mesmo número de
bits. Geralmente, cada célula da memória possui 8 bits de tamanho,
perfazendo um byte.

Se “N” é o número de células de uma memória principal, teremos, en-


tão, os endereços da memória definidos de 0 a N-1.

Figura 5.2 Estrutura da Memória Principal

Se “N” é o número de endereços ou posições que uma memória principal


possui e “b” é o número de bits disponíveis para endereçar em binário to-
das as N posições da memória principal, então é válido deduzir que:

N = 2b (lê-se 2 elevado a b).

Introdução à Informática

introducao_informatica.indd S1:61 15/07/2009 15:04:05


62
Capítulo 5

Desta forma, em um sistema com endereços com número de bits igual a


“b” é possível endereçar até 2b locações de memória distintas. No entan-
to, isto não significa necessariamente que o sistema possui esta capaci-
dade de memória principal instalada.

Por exemplo, um sistema baseado no processador 80386 ou 80486 po-


deria, a princípio, ter uma memória principal de até 232 = 4 Gbytes,
mas os sistemas que utilizavam esses processadores não possuíam ne-
cessariamente essa quantidade de RAM. Portanto, esse é apenas um
limite máximo de endereçamento de posições que a arquitetura do
computador suporta.

Além disso, a capacidade da memória principal em bits é igual ao pro-


duto do número de células pelo total de bits por célula, de forma que:

T = N x M onde

T = capacidade da memória em bits

N = número de endereços

M = número de bits de cada célula.

Dessa forma, para encontrar a capacidade em bytes de uma memória,


bastaria encontrar a capacidade em bits e depois multiplicar por 8 (pois
cada byte contém 8 bits) ou então converter o tamanho da célula para
bytes e depois multiplicar pelo número de células.

Exemplo:

Em uma memória com uma quantidade de N= 256 endereços, podemos


dizer que os endereços vão de 0 a N-1= 255. Desta forma, podemos di-
zer que b = 8, pois se N = 2b, então 256 = 2b e desta forma, b = 8.

Licenciatura em Informática

introducao_informatica.indd S1:62 15/07/2009 15:04:05


63
Memória

Da mesma forma, é possível dizer que se N = 256, e sabemos pela figura


que M = 10 bits, ou seja, a capacidade cada célula é igual a 10 bits, e se T
= M x N, ou seja, a capacidade total da memória é dada pelo produto de
sua quantidade de células multiplicada pela capacidade de cada célula,
temos então que T = 10 x 256 = 2560 bits.

ATIVIDADE 1

Baseado nos cálculos que você acabou de ver, preencha a ta-


bela abaixo:

FAIXA DE
M E N T
ENDEREÇOS
8 BITS - - 1 K BYTE -
16 BITS - 1 K ENDEREÇOS - -
- 4 BITS - 256 BITS -
4 BYTES - - 4 GBYTES -
- - - 1 MBYTE 0 A 65.535

5.3 A Interação entre Processador e Memória


Principal

O componente básico da memória principal é chamado célula de bit. A


célula de bit é um circuito eletrônico que armazena um bit de informa-
ção. Em uma referência à memória, o processador não realiza o acesso ao
conteúdo de apenas uma célula de bit, mas sim à informação armazenada
em um grupo de células de bits. O menor conjunto de células de bits que
é acessado pelo processador é chamado locação de memória. Na maioria
dos computadores, uma locação de memória é formada por 8 células de
bits. Como 8 bits formam o chamado byte, uma locação de memória tam-
bém é conhecida informalmente como “byte de memória”.

Em um acesso, o processador deve fornecer à memória principal uma


identificação da locação onde será feito o acesso. Esta identificação é
simplesmente um número, chamado endereço de memória.

No caso de um acesso de leitura, ao receber um endereço de memória,


a memória principal seleciona a locação correspondente e fornece ao
processador a informação ali contida. No caso de um acesso de escrita,

Introdução à Informática

introducao_informatica.indd S1:63 15/07/2009 15:04:05


64
Capítulo 5

a memória principal armazena na locação indicada pelo endereço a in-


formação fornecida pelo processador.

Na realidade, processador e a memória principal estão interligados atra-


vés de três barramentos distintos, conforme mostra a Figura 5.3.

Figura 5.3. Interligação entre processador e memória principal.

O barramento de endereço é a via através da qual o processador trans-


mite para a memória principal o endereço da locação onde será feito o
acesso. O barramento de dados é a via através da qual o conteúdo da
locação é transferida entre o processador e a memória principal. Por sua
vez, o barramento de controle é formado por diversos sinais através
dos quais o processador controla o acesso à memória, indicando, por
exemplo, se o acesso é de leitura ou de escrita.

Em um acesso de leitura, o processador inicia o ciclo de barramento co-


locando o endereço da locação de memória a ser acessada no barramen-
to de endereço. No início do próximo ciclo de clock o processador ativa
um sinal de controle indicando uma operação de leitura. O endereço e
o sinal de controle chegam à memória que, após algum tempo, coloca o
conteúdo da locação de memória endereçada no barramento de dados.
No início do quarto ciclo de clock, o processador captura a informação
presente no barramento de dados e finaliza o ciclo de barramento, desa-
tivando o sinal de controle e retirando o endereço.

Já em uma operação de acesso de escrita na memória, o ciclo de barra-


mento inicia-se com o processador colocando o endereço da locação de
memória no barramento de endereço. Além disso, o processador tam-

Licenciatura em Informática

introducao_informatica.indd S1:64 15/07/2009 15:04:05


65
Memória

bém coloca a informação a ser armazenada no barramento de dados.


No próximo ciclo de clock, o processador ativa um sinal de controle in-
dicando uma operação de escrita na memória. Ao receber o sinal de
escrita, a memória armazena o dado na locação endereçada. O proces-
sador finaliza o ciclo de barramento retirando o endereço e o dado dos
respectivos barramentos, e desativando o sinal de controle.

5.4 Memórias Cache

A memória cache é uma pequena memória inserida na pastilha do pro-


cessador, consequentemente mais próxima deste que a memória princi-
pal, conforme mostra a Figura 5.4.

Figura 5.4. Localização da memória cache.

A memória cache é implementada com o mesmo tipo de circuito ele-


trônico usado nas células de bit de uma memória RAM estática. Por
este motivo, a capacidade de armazenamento de uma memória cache é
geralmente pequena. No entanto, a memória cache apresenta um baixo
tempo de acesso, possibilitando que o processador acesse dados ali ar-
mazenados em apenas um único ciclo de clock.

Nesta nova organização, o processador direciona os acessos inicial-


mente para a memória cache. Se o dado referenciado encontra-se na
cache, o acesso é completado em apenas um ciclo de clock. Diz-se que
ocorre um cache hit quando o dado referenciado pelo processador

Introdução à Informática

introducao_informatica.indd S1:65 15/07/2009 15:04:05


66
Capítulo 5

encontra-se na cache. Se o dado não se encontra na cache, diz-se que


ocorreu um cache miss. Quando acontece um cache miss, um bloco
contendo o dado referenciado e os dados armazenados em sua vizi-
nhança é copiado da memória principal para a memória cache. Após a
transferência deste bloco de dados para a memória cache, o processa-
dor completa o acesso. Quando ocorre um cache miss, o acesso conso-
me vários ciclos de clock para ser completado.

Na prática, observa-se que entre 90% e 98% dos acessos resultam em


um cache hit. Isto acontece devido a uma propriedade exibida por vários
tipos de programas, chamada propriedade da localidade de referência.
Segundo essa propriedade, os acessos à memória que acontecem ao lon-
go da execução de um programa não são uniformemente distribuídos
através da memória, mas tendem a se concentrar em pequenas regiões
da memória durante um certo intervalo de tempo.

A localidade de referência manifesta-se no fato que, durante alguns in-


tervalos de tempo, são feitos acessos a locações de memória em ende-
reços próximos. O princípio da localidade sugere que, quando é feito
um acesso a uma locação de memória, existe uma grande probabilidade
de que acessos a locações em endereços vizinhos e à própria região an-
teriormente acessada também sejam feitos no futuro próximo. Dessa
forma, podemos distinguir dois princípios da localidade:

• Localidade Temporal (localidade no tempo): se um item é refe-


renciado, ele tende a ser referenciado novamente dentro de um es-
paço de tempo curto. Se você tiver trazido um livro recentemente
para sua mesa, a fim de examiná-lo, é provável que em breve você
vá precisar dele mais uma vez.
• Localidade Espacial (localidade no espaço): se um item é referen-
ciado, itens cujos endereços sejam próximos dele tendem a ser logo
referenciados. Livros sobre o mesmo tópico são guardados juntos
na estante da biblioteca, para maximizar a localidade espacial.

Apliquem-se agora estas propriedades ao funcionamento da memória


cache. Como mencionado anteriormente, quando ocorre um cache miss,
o dado referenciado é copiado da memória principal para a memória
cache, juntamente com os dados armazenados nas locações vizinhas.
Segundo a propriedade da localidade, existe uma grande chance de que
os acessos aos dados vizinhos também sejam feitos em breve. Se estes
outros acessos de fato acontecem, ocorrerá um cache hit em todos os
acessos, que serão completados em um único ciclo de clock.

Licenciatura em Informática

introducao_informatica.indd S1:66 15/07/2009 15:04:05


67
Memória

Na realidade, a memória cache armazena os dados que se encontram


em regiões da memória principal onde se verifica uma concentração de
acessos. Observe que a memória cache tem a capacidade de se adaptar a
mudanças nas regiões de concentração de acesso, que ocorrem ao lon-
go da execução de um programa. Uma nova região com concentração
de acessos torna-se ativa quando é feito um acesso a um dado que se
encontra distante dos dados onde foram feitos acessos recentemente.
Como provavelmente este dado não se encontra na cache, ocorrerá um
cache miss. Devido a esse cache miss, serão copiados para a memória ca-
che o dado referenciado e os dados na vizinhança, que pertencem justa-
mente à nova região onde se concentrarão os próximos acessos, os quais
serão novamente satisfeitos pela cache.

Com a inclusão de uma memória cache, apenas uma pequena parcela


dos acessos realizados sofrem com o alto tempo de acesso da memória
principal. Assim, as memórias cache são extremamente importantes no
sentido de obter-se um melhor desempenho, tanto que atualmente, a
maioria das arquiteturas de computador incluem memórias cache em
seu sub-sistema de memória. De um ponto de vista funcional, a memó-
ria cache é colocada em processador e memória principal.

Em termos físicos, ou seja, da forma como é realmente implementa-


da, existem vários lugares possíveis onde ela pode ser encontrada. Em
arquiteturas mais antigas, encontramos parte da memória cache fora
da pastilha do processador. Entretanto, hoje em dia essas memórias
estão presentes internamente, de forma que sua presença em maior ou
menor quantidade serve para, muitas vezes, diferenciar um modelo de
processador de outro.

Normalmente, a frequência de cache hit aumenta à medida que o


tamanho da memória cache aumenta. No entanto, observa-se que
a partir de um certo ponto o número de cache hits não aumen-
ta significativamente com o aumento da capacidade da memória
cache. A partir desse ponto não compensa aumentar o tamanho
da memória cache, pois isso acarretaria um aumento no custo do
processador que não traria um benefício proporcional.
Para minimizar o efeito dos cache misses residuais, que podem
chegar a até 10%, alguns sistemas incorporam duas memórias ca-
che, uma denominada primária ou L1 e a outra secundária ou
L2, em uma estrutura conhecida como memória cache em dois
níveis (two-level cache). A memória cache primária é integrada
com o processador em um mesmo dispositivo. Possui um tamanho

Introdução à Informática

introducao_informatica.indd S1:67 15/07/2009 15:04:05


68
Capítulo 5

pequeno e apresenta um tempo de acesso que permite acessos em


um único ciclo de clock. Por sua vez, a cache secundária é externa
ao processador, localizando-se na placa-mãe do sistema. Possui
um tamanho bem maior e apresenta um tempo de acesso maior
que a memória cache primária. Um acesso à cache secundária nor-
malmente consome dois ou três ciclos de clock.
Em um sistema com essa organização, a memória cache primá-
ria captura a maioria dos acessos realizados pelo processador. Os
acessos que resultam em miss são em sua maioria capturados pela
memória cache secundária. Apesar de ser um pouco mais lenta
que a memória cache primária, a memória cache secundária ainda
é significativamente mais rápida que a memória principal. Assim,
os misses da cache primária apresentam uma penalidade menor
quando capturados pela cache secundária do que se fossem di-
recionados diretamente para a memória principal. Além disso,
como a tecnologia usada na implementação da cache secundária é
mais barata, o seu tamanho pode aumentar sem as mesmas limi-
tações de custo da cache primária.

Prezado aluno,
Você que se inicia no mundo da informática ainda ouvirá muitas
vezes sobre esse conceito de cache, pois ele é amplamente usado no
nosso dia-a-dia. Navegadores web, servidores, HD’s e muitos dispo-
sitivos computacionais utilizam o conceito aqui apresentado para
armazenar informações que podem ser úteis posteriormente aos
usuários, permitindo desta forma que o tempo de acesso seja redu-
zido. As formas através das quais esse mecanismo é criado nos di-
versos dispositivos que o implementam pode variar, mas lembre-se:
o conceito é sempre o mesmo!

Atividades
Responda às questões abaixo e depois envie-as pelo ambiente
Moodle, seguindo as instruções de formato e data de entrega des-
critas na Tarefa 5:
1) Em uma memória principal com 1 kbyte de capacidade, onde
cada célula tem 8 bits responda:
1. quantas células tem a memória principal?

Licenciatura em Informática

introducao_informatica.indd S1:68 15/07/2009 15:04:05


69
Memória

2. quantos bits são necessários para representar um endereço


de memória?

2) Um computador endereça 1K células de 16 bits cada uma. Pede-se:


a. sua capacidade de memória;
b. o maior endereço que o computador pode endereçar;

3) Uma memória de um computador tem um espaço máximo de


endereçamento de 2K. Cada célula pode armazenar 16 bits. Qual
o valor total de bits que podem ser armazenados nesta memória e
qual o tamanho de cada endereço?

4) Explique a diferença de uma memória DRAM e SRAM?

5) Explique a diferença entre uma ROM e RAM?

6) Explique a diferença entre memórias EEPROM, EPROM


e PROM:

7) O que são as memórias cache? Por que seu uso melhora o de-
sempenho dos sistemas computacionais?

8) Explique os conceitos de localidade que inspiraram o uso da


memória CACHE:

9) Considere uma memória que utiliza ao todo 16 células endere-


çáveis, e que cada célula possua uma unidade de armazenamento
de 8 bits.

- Faça um esboço representativo desta memória, exibindo os


3 primeiros endereços e o último endereço (com os valores
dos endereços em hexadecimal).
- Coloque no conteúdo das 3 primeiras células, o código AS-
CII para “1 2 3” respectivamente (em hexadecimal) e na cé-
lula do último endereço coloque o código ASCII correspon-
dente a primeira letra do seu nome (em hexadecimal). Para
isso, use a tabela ASCII inclusa no capítulo 3 deste material
ou pesquise uma tabela ASCII na Internet.

Introdução à Informática

introducao_informatica.indd S1:69 15/07/2009 15:04:05


70
Capítulo 5

Licenciatura em Informática

introducao_informatica.indd S1:70 15/07/2009 15:04:05


71

PROCESSADORES

Prezado aluno,

Como você já sabe, o processador é considerado o cérebro do com-


putador, pois é o componente responsável por todo o fluxo de infor-
mações de um micro. Isso significa que todas as informações passam
por ele. Para que os dados de entrada se transformem em dados de
saída, eles precisam ser processados, ou seja, o processador é o com-
ponente por onde todos os dados inseridos no computador passam.

Neste capítulo, você entenderá quais são de forma geral as princi-


pais partes do processador. Não entraremos muito em detalhes de
modelos existentes no mercado, tendo em vista que essas informa-
ções serão obtidas em disciplinas do próximo semestre. Você tam-
bém aprenderá aqui o que é uma instrução, como ela é executada e
como o ciclo de clock pode influenciar na velocidade do processo.

Desta forma, esperamos que você saia da leitura deste capítulo com
todos esses conceitos em mente.

Na atividade proposta no ambiente, você deverá realizar os exercí-


cios que se encontram ao final do capítulo.

Bom estudo!

Este capítulo descreve a arquitetura básica de um processador. Podemos


considerar que um processador é organizado em duas unidades: a seção
de processamento e a seção de controle. Estão descritos aqui os princi-
pais componentes de cada uma dessas unidades, bem como a forma uti-
lizada pelo processador para executar as instruções de um programa.

6.1 A Seção de Processamento

A seção de processamento é formada basicamente pela unidade lógica


e aritmética (ALU) e por diversos registradores. Esses componentes
normalmente estão organizados conforme mostra a Figura 6.1.

Introdução à Informática

introducao_informatica.indd S1:71 15/07/2009 15:04:05


72
Capítulo 6

A ALU realiza as operações aritméticas, tais como adição e subtração,


e operações lógicas, tais como and, or, not. Podemos dizer então que a
ALU é o componente da arquitetura que, de fato, processa os dados. Os
registradores são utilizados para armazenar informações internamente
no processador. Um registrador pode ser utilizado tanto para acesso de
leitura quanto para acesso de escrita. Ou seja, uma informação é arma-
zenada no registrador em uma operação de escrita, enquanto a informa-
ção contida no registrador é recuperada em uma operação de leitura.

Figura 6.1. Componentes da seção de processamento.


Fonte: Tanenbaum, 2001. Adaptação.

A Figura 6.1 mostra aqueles registradores normalmente encontrados


na seção de processamento. Os diversos registradores possuem um uso
bem definido dentro da arquitetura. De maneira geral, podem ser classi-
ficados em três tipos: registradores de uso geral, registradores de uso
específico e registradores auxiliares.

Registradores de uso geral normalmente são usados para armazenar da-


dos que serão processados pela ALU, bem como resultados produzidos
pela ALU. Na seção de processamento mostrada na Figura 6.1, existem
32 registradores de uso geral, denominados R0,...,R31. Coletivamente,
esses registradores são chamados de conjunto de registradores de da-
dos (data register file).

O registrador de estado (status register) associado à ALU é um registra-


dor de uso específico, e contém informações sobre o resultado produzi-
do pela ALU. Este registrador possui bits sinalizadores que são ativados

Licenciatura em Informática

introducao_informatica.indd S1:72 15/07/2009 15:04:05


73
Processadores

ou desativados1 de acordo com o tipo de resultado produzido pela ALU.


Por exemplo, o registrador de estado pode ter um bit denominado Z, o
qual é ativado quando o resultado for nulo e desativado quando o resul-
tado for não-nulo. Também é comum encontrar no registrador de esta-
do um bit chamado N que é ativado se o resultado for negativo, sendo
desativado se o resultado for positivo.

Um outro exemplo de registrador de uso específico é o contador de


programa (program counter). O contador de programa contém o ende-
reço da locação de memória onde se encontra a próxima instrução a ser
executada pelo processador.

Os registradores auxiliares normalmente são usados para armazena-


mento temporário. Este é o caso dos registradores A e B, que armazenam
os operandos de entrada da ALU, enquanto estes estão sendo processa-
dos. Antes de cada operação da ALU, os operandos são transferidos dos
registradores de dados ou da memória principal para estes registradores
temporários. O resultado produzido pela ALU é temporariamente arma-
zenado no registrador R até ser transferido para o seu destino, que pode
ser um registrador de dados ou a memória principal. A Figura 6.1 mos-
tra dois outros registradores temporários, denominados MAR (memory
address register – registrador de endereços da memória) e MDR (memory
data register – registrador de dados da memória). O MAR armazena o en-
dereço da locação de memória onde será feito o acesso, ao passo que o
MDR armazena temporariamente a informação transferida de ou para a
locação de memória endereçada por MAR. Em geral, registradores auxi-
liares não são visíveis, no sentido que um programador de baixo nível não
dispõe de instruções para acessar diretamente tais registradores.

A interligação entre a ALU e os registradores é feita através de três vias, cha-


madas barramentos internos. Os barramentos internos S1 e S2 permitem a
transferência de dados dos registradores para a ALU. O barramento interno
D permite a transferência do resultado produzido pela ALU, temporaria-
mente armazenado no registrador R, para outro registrador.

Uma arquitetura de processador é uma arquitetura de n bits quando


todas as operações da ALU podem ser realizadas sobre operandos de até
n bits. Normalmente, em uma arquitetura de n bits os registradores de
dados e os barramentos internos também são de n bits, de forma a per-
mitir que os dados sejam armazenados e transferidos de forma eficiente.
Por isso existe uma diferença entre processadores de 32 bits e 64 bits, e
por sua vez, também existem sistemas operacionais de 32 bits e 64 bits.

1 Considera-se aqui que um bit é ativado quando ele recebe o valor lógico 1, sendo
desativado ao receber o valor lógico 0.

Introdução à Informática

introducao_informatica.indd S1:73 15/07/2009 15:04:05


74
Capítulo 6

6.2 A Execução de Instruções

Tendo examinado os componentes e a organização da seção de proces-


samento, podemos agora analisar como as instruções são executadas.

A execução de uma instrução envolve a realização de uma sequência de


passos, que podemos chamar de passos de execução. Em geral, a execu-
ção de uma instrução envolve quatro passos, como mostra a Figura 6.2.

Figura 6.2. Passos na execução de uma instrução.

No primeiro passo, denominado busca, o processador realiza o aces-


so ao código binário da instrução, armazenado na memória principal.
A etapa seguinte é a decodificação da instrução, na qual as informa-
ções contidas no código da instrução são interpretadas. Em algumas
arquiteturas, neste passo também são acessados os dados usados pela
instrução. Após a decodificação, a execução da instrução entra no ter-
ceiro passo, denominado execução, no qual a operação indicada pela
instrução (por exemplo, uma operação na ALU) é efetuada. Finalmente
no quarto passo, chamado resultado, é armazenado em um registrador
ou na memória o resultado produzido pela instrução.

Cada passo de execução envolve a realização de várias operações bási-


cas. As operações básicas acontecem dentro da seção de processamento,
sob a coordenação da seção de controle. Existem quatro principais tipos
de operações básicas:

• transferência de dados entre os registradores e a ALU;


• transferência de dados entre os registradores;
• transferência de dados entre os registradores e a memória;
• operações aritméticas e lógicas realizadas pela ALU.

Esta sub-divisão dos passos de execução em operações básicas pode ser


visualizada na Figura 2.3.

Figura 6.3. Divisão dos passos de execução em operações básicas.

Licenciatura em Informática

introducao_informatica.indd S1:74 15/07/2009 15:04:05


75
Processadores

A sub-divisão dos passos sugerida pela Figura 6.3 é apenas um exemplo


ilustrativo. Os passos de execução não possuem necessariamente o mes-
mo número de operações básicas em todas as instruções. O que diferen-
cia cada instrução é justamente o número e o tipo de operações básicas
executadas em cada passo.

6.3 A Seção de Controle

Como mencionado anteriormente, as operações básicas que ocorrem


dentro da seção de processamento são todas comandadas pela seção de
controle. Ao efetuar a busca da instrução, a unidade de controle inter-
preta a instrução de modo a identificar quais as operações básicas que
devem ser realizadas e ativa sinais de controle que fazem uma operação
básica de fato acontecer.

A Figura 6.4 apresenta um diagrama em blocos da seção de controle e, de


forma bastante simplificada e ilustrativa, a sua interligação com a seção
de processamento. Como mostra a figura, a seção de controle é formada
basicamente pela unidade de controle e pelo registrador de instrução
ou IR (Instruction Register). A interpretação do código da instrução e a
ativação dos sinais de controle são realizados pela unidade de controle.
Os sinais de controle que são ativados, bem como a sequência com que
são ativados, depende de cada instrução em particular.

Figura 6.4. A seção de controle e a parte de processamento.


Fonte: Tanenbaum, 2001. Adaptação.

A título de exemplo, vamos verificar como a execução da instrução


ADD R1,R2,R3 (soma do conteúdo dos registradores R1 e R2 com ar-
mazenamento posterior do resultado em R3) é direcionada pela unida-
de de controle.

Introdução à Informática

introducao_informatica.indd S1:75 15/07/2009 15:04:06


76
Capítulo 6

Para tanto, a seção de processamento na figura acima foi representada com


apenas os três registradores de dados envolvidos na execução desta instru-
ção. A execução desta instrução requer as seguintes operações básicas:

(1) transferência do conteúdo do registrador de dados R1 para o regis-


trador temporário A;
(2) transferência do conteúdo do registrador de dados R2 para o regis-
trador temporário B;
(3) adição dos dados armazenados nos registradores A e B e armazena-
mento do resultado no registrador R;
(4) transferência do conteúdo do registrador R para o registrador R3.

A sequência de ativação do sinais de controle, com as operações básicas


correspondentes, é apresentada na Figura 6.5.

operação básica sinal de controle descrição da operação básica


(1) (2) s1, s2 coloca o conteúdo de R1, R2
para os barramentos S1,S2,
respectivamente.

s3,s4 armazena a informação presente


nos barramentos S1, S2 em A,B,
respectivamente.
(3) s5 seleciona a operação de soma na
ALU.

s6 armazena o resultado produzido


pela ALU em R.
(4) s7 coloca o conteúdo de R para o
barramento D.

s8 armazena a informação presente


no barramento D em R3.

Figura 6.5. Ativação dos sinais de controle e operações básicas correspondentes.

Este é um exemplo típico de como a unidade de controle coordena a


execução das operações básicas na seção de processamento. Para cada
registrador existem sinais que controlam a leitura e a escrita do registra-
dor. Outros sinais indicam à ALU a operação aritmética ou lógica que
deve realizada. Para qualquer outro componente na seção de proces-
samento existem os sinais de controle necessários. Para executar uma
operação básica, a unidade de controle simplesmente ativa os sinais
apropriados na sequência correta.

Licenciatura em Informática

introducao_informatica.indd S1:76 15/07/2009 15:04:06


77
Processadores

6.4 O Sinal de Clock

Pode-se observar pelo exemplo acima que a ordem na qual os sinais de


controle são ativados é crítica. Alguns sinais devem obrigatoriamente
preceder outros (s3, por exemplo, não pode ser ativado antes de s1),
enquanto que outros sinais podem ser ativados simultaneamente (s1 e
s2, por exemplo). Mais ainda, para garantir um tempo suficiente para
a transmissão da informação através dos barramentos internos, em al-
guns casos deve ser observado um intervalo de tempo mínimo entre a
ativação de dois sinais.

Para atender as relações de tempo requeridas na ativação dos sinais de


controle, a unidade de controle opera em sincronismo com um sinal de
clock. Como mostra a Figura 6.6, uma nova operação básica é executada
no momento em que se inicia um novo ciclo de clock. Em muitos casos,
várias operações básicas podem ser comandadas simultaneamente, den-
tro de um mesmo ciclo de clock.

Figura 6.6. A sincronização da execução de uma instrução com o sinal de clock.

A execução de uma instrução consome um certo número de ciclos de


clock. O número de ciclos de clock por instrução não é o mesmo para
todas as instruções, já que cada instrução pode envolver um número
diferente de operações básicas em cada passo de execução.

A velocidade de um processador, também chamada de clock interno, é me-


dida em MHz (Megahertz) ou em GHz (Gigahertz), em que 1MHz equi-
vale a um milhão de ciclos por segundo, ou seja, o número de operações
que o processador pode realizar por segundo. Então, podemos afirmar
que quanto maior for o número de Hertz, mais veloz será o processador.

O clock é um cristal de quartzo que produz oscilações que deter-


minam a frequência (velocidade) do processador. Qualquer proces-
sador trabalha com um clock interno e um clock externo. O clock
interno determina a velocidade em que um processador deve traba-
lhar (Ex.: 700 MHz, 1GHz etc) e o clock externo está relacionado ao

Introdução à Informática

introducao_informatica.indd S1:77 15/07/2009 15:04:06


78
Capítulo 6

acesso do pro cessador à memória RAM. Por exemplo, um proces-


sador Pentium/200 possui um clock interno de 200 MHz e um clock
externo de 66MHz. Isto significa que o processador realiza aproxi-
madamente 66 milhões de acessos à memória por segundo e trabalha
a uma velocidade interna de 200 Mhz.

O tamanho do ciclo de clock é um dos fatores que determinam direta-


mente o desempenho de um processador. Quanto menor o tamanho do
ciclo de clock, menor será o tempo de execução das instruções, e assim
maior será o número de instruções executadas por unidade de tempo.

Ao longo das décadas de 70 e 80, procurava-se diminuir o tamanho do


ciclo de clock com o desenvolvimento de novas tecnologias que permi-
tissem velocidades de operação cada vez maiores. No entanto, as tecno-
logias de integração foram se aproximando dos limites impostos pela
própria física, tornando esta evolução mais lenta e elevando os custos.

Por este motivo, a redução do ciclo de clock passou a ser considerada sob
o ponto de vista arquitetural. Atualmente, procura-se diminuir o ciclo de
clock não somente através de novas tecnologias, mas também através de
simplificações na arquitetura, de modo que a arquitetura possa ser imple-
mentada através de circuitos mais simples e inerentemente mais rápidos.

Desde os primeiros processadores, duas grandes empresas, a IN-


TEL e a AMD, têm disputado a fabricação de melhores processa-
dores. Outras empresas, como a Cyrix, VIA e WinChip, tentaram
entrar nesta disputa, mas essa tentativa não durou muito tempo.

Atividades
Responda às questões abaixo e depois envie-as pelo ambiente
Moodle, seguindo as instruções de formato e data de entrega des-
critas na Tarefa 6:
1) De quais componentes é formada a seção de processamento?
Qual a importância de cada um deles?
2) Quais os tipos de registradores existentes no processador?
3) O que é o Contador de Programa (Program Counter)? Qual a
importância dele no contexto do processamento de instruções?
4) Quais são as etapas do ciclo de execução de uma instrução?
Fale um pouco sobre cada uma delas?
5) Descreva textualmente a execução da instrução abaixo, divi

Licenciatura em Informática

introducao_informatica.indd S1:78 15/07/2009 15:04:06


79
Processadores

dindo as operações básicas dentro das etapas correspondentes no


ciclo da instrução SUB R1 R2 R3 (lê-se: subtraia os operandos
armazenados em R1 e R2 e armazene o resultado em R3)
6) De que componentes é formada a seção de controle? Qual a
função de cada um deles?
7) Considere um processador projetado para acessar a se-
guinte memória:
a) Qual o tamanho do MAR da CPU em bits?
b) Qual o tamanho do Registrador PC em bits?

c) Quantas células esta memória possui?


d) Sabendo que a unidade de armazenamento da memória é
igual a 8 bits por célula, qual a capacidade total de armazena-
mento desta memória?
e) Qual o valor de MDR ao executar uma operação de leitura
na memória com MAR=0000?

Introdução à Informática

introducao_informatica.indd S1:79 15/07/2009 15:04:06


80
Capítulo 6

Licenciatura em Informática

introducao_informatica.indd S1:80 15/07/2009 15:04:06


81

DISPOSITIVOS DE DISCO

Prezado aluno,

Quando foi falado no capítulo 5 (Memória) sobre as memórias se-


cundárias, foi dito que essas memórias eram representadas em sua
grande parte por memórias de disco, como HDs, CDs, DVDs etc...

Sabemos que, atualmente, as memórias secundárias são mais baratas


que as memórias dos níveis superiores, sendo usadas abundantemente
para armazenar e transportar informações entre computadores.

Por conta de sua importância para o uso do computador no dia-a-


dia, daremos uma ênfase maior ao funcionamento dos discos rígi-
dos (HDs), como forma de representar essa classe de dispositivos.

Nas atividades propostas ao final do capítulo, será pedido que você


se aprofunde um pouco mais nesse estudo, analisando também o
funcionamento de outros dispositivos de memorização.

Bom estudo!

7.1 Introdução

Além da memória principal, que é diretamente acessada pela CPU, exis-


te também a memória secundária (também chamada de memória de
massa). Esse tipo de memória não é acessada diretamente pela CPU, já
que seu acesso é feito através de interfaces ou controladoras especiais.

A memória secundária é uma memória do tipo permanente (não se


apaga quando o computador está desligado). Ela tem alta capacidade de
armazenamento e custo muito mais baixo que o da memória principal.
Essa memória não é formada por chips, e sim por dispositivos que uti-
lizam outras tecnologias de armazenamento.

Geralmente, esses dispositivos são chamados de dispositivos de disco


(por usarem geralmente discos para armazenar a informação) ou dis-
positivos de bloco (por ser o bloco a unidade básica de transferência de
dados entre estes dispositivos e outros dispositivos de memória). Tais
dispositivos, em geral, são criados usando as seguintes tecnologias:

Introdução à Informática

introducao_informatica.indd S1:81 15/07/2009 15:04:06


82
Capítulo 7

Memórias de discos magnéticos: são dispositivos tais como os disque-


tes e os discos rígidos, fabricados de modo a armazenar informações
sob a forma de campos magnéticos. Eles possuem características mag-
néticas semelhantes às das fitas cassetes de som, as quais são memó-
rias não voláteis, ou seja, armazenam permanentemente a informação.
Neste tipo de dispositivo, geralmente a leitura e a gravação de dados se
dão através da mudança de polaridade da superfície magnética, feita
por uma cabeça de leitura e escrita, um componente imantado também
conhecido como cabeçote.

Memórias de disco Óptico: são dispositivos que utilizam formas ópti-


cas de armazenamento, baseadas nas características reflexivas dos mate-
riais, tal como os CD-ROMS e DVDs. Os dispositivos ópticos sofreram
uma rápida evolução nos últimos anos. A figura 7.1 mostra um breve
histórico desta evolução.

7.1 Evolução dos Dispositivos de Disco Óptico


Fonte: História do Computador (http://www.netangola.com/CCA/pages/marks/com-
putador/bibliogr.htm)

Como exemplo de dispositivo de disco, falaremos com mais detalhes


dos HDs na próxima seção.

7.2 Discos Rígidos

O disco rígido (HD) é uma das melhores formas de armazenamento


de grandes quantidades de dados para uso posterior. A ideia é simples:
são vários discos magnéticos metálicos (semelhantes a disquetes, porém
mais confiáveis e com maior precisão) empilhados um sobre o outro,
com várias unidades de leitura e gravação (geralmente 2 para cada dis-
co). A caixa lacrada que os envolve compõe o HD.

Licenciatura em Informática

introducao_informatica.indd S1:82 15/07/2009 15:04:06


83
Dispositivos de Disco

Os discos rígidos são a base do armazenamento de informações nos


computadores, pois é geralmente neles que ficam armazenados os arqui-
vos dos usuários e o próprio sistema operacional, possibilitando seu uso
independente de quantas vezes o computador seja ligado e desligado.

Fisicamente, os discos são relativamente simples, como ilustrado na fi-


gura seguinte (7.2).

Figura 7.2. Divisão do disco

Cada lâmina de disco do HD possui as duas superfícies recobertas com


um material magnético, similar ao das fitas magnéticas. Os discos são
divididos em trilhas que variam de tamanho segundo o disk driver (o
programa que controla o HD). Cada trilha é dividida em setores, sendo
que um setor é a menor unidade de informação que pode ser lida ou
escrita em um disco. Um acesso ao disco, então, deve especificar su-
perfície, trilha e setor. Os discos, como as fitas, também possuem um
diretório com informações sobre cada arquivo armazenado.

Quando se fala em HDs, existe ainda o conceito de cilindro. Um cilin-


dro é um grupo de trilhas de mesmo número em superfícies diferen-
tes. Digamos por exemplo que um disco tenha 4 cabeças e que o braço
posicione estas cabeças de forma que cada uma esteja sobre a trilha 50
da superfície. Dizemos então que as cabeças estão posicionadas sobre o
cilindro de número 50.

Além dos componentes já citados, podemos também citar na parte ele-


tromecânica do disco os braços, que são dispositivos mecânicos que
servem para movimentar as cabeças de leitura e gravação ao longo da
superfície do disco e as cabeças de leitura e escrita, que são as respon-
sáveis pela leitura e gravação de dados na superfície dos discos. Gros-
so modo, podemos comparar as cabeças de leitura e escrita às agulhas
dos toca-discos, que possibilitam a reprodução dos discos de vinil. Uma
diferença fundamental que devemos considerar é que ao contrário da
agulha do toca-discos, as cabeças de leitura e escrita nunca tocam efeti-
vamente na superfície do disco rígido, já que lêem e gravam a informa-
ção usando eletromagnetismo.

Introdução à Informática

introducao_informatica.indd S1:83 15/07/2009 15:04:06


84
Capítulo 7

Geralmente, a superfície de gravação dos pratos (outro nome dado aos


discos do HD) é composta de materiais sensíveis ao magnetismo (geral-
mente, óxido de ferro). O cabeçote de leitura e gravação manipula as mo-
léculas desse material através de seus pólos. Para isso, a polaridade das
cabeças muda numa frequência muito alta: quando está positiva, atrai o
pólo negativo das moléculas e vice-versa. De acordo com essa polaridade
é que são gravados os bits (0 e 1). No processo de leitura de dados, o cabe-
çote simplesmente “lê” o campo magnético gerado pelas moléculas.

Uma unidade de disco rígido é o componente que mais trabalha em


um micro. Os discos magnéticos que os compõem, onde os dados são
armazenados, giram a altas velocidades durante todo o tempo em que o
micro está ligado. Cada acesso ao disco rígido faz com que as cabeças de
leitura/gravação se movimentem, sempre com precisão microscópica,
sendo que a distância entre uma cabeça de leitura/gravação e o meio
magnético é menor do que um fio de cabelo humano. Tão severas res-
trições e condições para o correto funcionamento dão a impressão de
um ambiente sujeito constantemente a defeitos; mas ao invés disso, o
que ocorre são unidades de disco rígido desempenhando com afinco a
função de fiéis depositários de informação.

Todos os discos rígidos possuem um motor, que faz com que o conjunto
de discos gire a uma velocidade de pelo menos 3.600 rpm (3600 rotações
por minuto). Desde o primeiro instante de alimentação elétrica no HD,
os discos começam a girar e não param, sendo que as cabeças de leitura/
gravação nunca os tocam. Nos primeiros HDs, quando era desligada a
energia elétrica as cabeças de leitura/gravação permaneciam no lugar
do último acesso, possibilitando assim que informações fossem perdi-
das na ocorrência de choques mecânicos. Como solução, devia-se antes
de desligar, estacionar as cabeças em um lugar seguro (utilizando-se um
comando chamado park). Atualmente, não existe esta preocupação, pois
os HDs usam um motor baseado num atuador eletromagnético “voice
coil” que automaticamente recolhe as cabeças.

7.2.1 Geometria de um HD

Diferente dos disquetes, que possuem um tamanho pré-definido, os HDs


utilizam alguns parâmetros de configuração. Estes parâmetros também
estão presentes nos disquetes, porém sempre pré-definidos (2 cabeças/80
cilindros/18 setores). São eles:

• Número de cabeças (heads): é baseada na quantidade de fa-


ces que o disco de tal componente possui. Por exemplo, se fo-
rem 3 discos magnéticos em um HD, serão 6 cabeças (2 para
cada face dos discos);

Licenciatura em Informática

introducao_informatica.indd S1:84 15/07/2009 15:04:06


85
Dispositivos de Disco

• Número de trilhas: são círculos concêntricos que dividem


a área de armazenamento, em alguns casos referenciados por
número de cilindros;
• Número de setores: são as divisões das trilhas. Dentro de
cada setor cabem sempre 512 bytes (mesmo em HDs este va-
lor é fixo).

Para calcular a capacidade de um disco rígido, utiliza-se a fórmula abaixo:

Capacidade de Armazenamento = nº trilhas x nº de setores x nº


cabeças x 512.

A maioria dos microcomputadores utiliza hoje o processo de detecção


automática, porém todos os HDs têm (ou deveriam ter) esses dados es-
tampados em sua capa metálica, de modo que o HD possa ser confi-
gurado caso o micro não possua detecção automática ou a mesma não
esteja funcionando corretamente.

EXEMPLO:
Em um HD com 1024 cilindros, 256 cabeças e 63 setores por trilha, qual
a capacidade máxima de armazenamento deste dispositivo?

RESOLUÇÃO:
Analisando as informações do problema, vemos que é informado que o
HD possui 1024 cilindros. Como vimos anteriormente, um cilindro é
um grupo de trilhas de mesmo número em superfícies diferentes, ou
seja, se o HD possui 1024 cilindros, isso implica que cada disco possui
1024 trilhas. Também é informado que este HD possui 256 cabeças e
possui 63 setores por trilha, sendo que cada setor tem capacidade de
512 bytes. Desta forma, inserindo estes dados na fórmula apresentada
anteriormente, podemos deduzir que:

Capacidade de Armazenamento = 1024 x 63 x 256 x 512 = 8455716864


bytes que podem ser convertidos em 8257536 KB, 8064 MB ou 7,875 GB.

Com isso, a capacidade total de armazenamento deste HD são 7,875 GB,


uma capacidade extremamente pequena para nossos padrões atuais.

7.3 Taxa de Transferência Interna e Externa

Apesar do giro rápido e constante de um disco rígido, ele não é ca-


paz de enviar instantaneamente as informações solicitadas. Sempre

Introdução à Informática

introducao_informatica.indd S1:85 15/07/2009 15:04:06


86
Capítulo 7

há um atraso chamado de latência ou tempo de acesso. Esse atraso


é medido em milissegundos. A latência é o tempo gasto para a loca-
lização de um setor específico, determinado pelo tempo necessário
para mover a cabeça de leitura/gravação até o cilindro desejado, ati-
var a cabeça e esperar que o cilindro seja lido. Como o posiciona-
mento da cabeça em uma trilha é fixo, deve-se esperar que o disco
gire e que o setor desejado passe pela cabeça. Ao atraso gerado por
esse processo chamamos de taxa de transferência interna. A taxa de
transferência interna é o mais importante fator que define o desem-
penho de um disco rígido. Dessa forma, praticamente todos os dis-
cos rígidos possuem uma área interna de memória, para onde são
lidos os dados que serão posteriormente transferidos para a placa-
mãe. Esta área é chamada de cache ou buffer.

Quando um disco rígido transfere dados, dois tipos de transferência


estão envolvidos:

- Transferência dos dados da mídia magnética para a cache inter-


na do disco
- Transferência da cache interna do disco para a placa-mãe.

Sabemos que a taxa de transferência interna trata da primeira transfe-


rência. Em geral, a taxa de transferência externa é muito maior que a
interna. Para que o disco rígido possa fazer uma transferência completa
(mídia – cache – CPU) de forma mais veloz, tanto a transferência inter-
na quanto a externa precisam ser rápidas.

Prezado aluno,
O objetivo deste capítulo foi apresentar os principais conceitos re-
lativos ao funcionamento dos dispositivos de armazenamento em
disco. As formas possíveis de conexão destes dispositivos na prática
e os cuidados que devem ser tomados em tal situação serão apresen-
tados em uma disciplina posterior em seu curso. Entretanto, se você
não entender os conceitos básicos destes dispositivos, não fará muito
sentido aprender a ligá-los ao computador. É por isso que a ordem
de apresentação de conteúdo se dá desta forma.

Licenciatura em Informática

introducao_informatica.indd S1:86 15/07/2009 15:04:06


87
Dispositivos de Disco

Existem várias interfaces, ou seja, portas para a conexão dos dis-


positivos de disco à placa-mãe e consequentemente ao resto do
computador. Até a alguns anos atrás, imperavam as interfaces
IDE (lê-se I-D-E, separadamente), as quais existiam em dois ti-
pos. A IDE primária (primary) e a IDE secundária (secondary),
além do encaixe para conectar o drive de disquete, chamado
FDD (floppy disk drive). Em se tratando de discos rígidos, tam-
bém surgiu o padrão SCSI (Small Computer Systems Interface)
(que se lê “scâsi”). A primeira versão do padrão SCSI foi lançada
em 1986. A segunda versão, SCSI 2, foi lançada em 1990. Recen-
temente, vimos o surgimento de um padrão novo para disposi-
tivos de disco, muito mais prático e com taxas de transferência
muito maiores, o padrão SATA. Ele possui um alto desempenho
e uma maior quantidade de conectores em placas-mãe mais mo-
dernas. Em algumas placas-mãe atuais, podemos encontrar até
seis portas. Esse novo padrão chegou ao mercado para substi-
tuir, aos poucos, os dispositivos IDE.

Atividades
1) Qual a diferença entre taxa de transferência interna e externa?
2) Quais são os tipos de tecnologias usadas na construção de me-
mórias de disco?
3) Descreva a geometria básica de um H.D.
4) Calcule a capacidade de um disco rígido com as seguintes
configurações:
• 2048 cilindros
• 512 cabeças
• 63 setores por trilha
• 512 bytes por setor
5) Pesquise e descreva como acontece o processo de leitura e gra-
vação de dados em mídias magnéticas e mídias óticas. Para exem-
plificar, descreva o processo de gravação em um CD e no HD, ou
em um DVD e no disquete, por exemplo.
6) Pesquise sobre a tecnologia de disco Blu-Ray e as vantagens que
esta tecnologia oferece em relação à qualidade e capacidade de
armazenamento se comparada aos DVDs por exemplo.

Introdução à Informática

introducao_informatica.indd S1:87 15/07/2009 15:04:06


88
Capítulo 7

Licenciatura em Informática

introducao_informatica.indd S1:88 15/07/2009 15:04:06


89

DISPOSITIVOS DE ENTRADA E
SAÍDA

Prezado aluno,

Já foi dito que um computador sem dispositivos de entrada e saída


seria uma apenas uma caixa fechada que acende luzes, mas sem
utilidade para o usuário. São os dispositivos de E/S que permitem a
interação do usuário com o computador, tornando-o útil para suas
atividades diárias. Essa interação pode acontecer da forma conven-
cional (teclado e monitor) ou através de formas de interação mais
intuitivas e atrativas (tela sensível ao toque).

Este capítulo se inicia descrevendo como processador e interfaces de


E/S se comunicam, como é a organização típica de uma interface de
E/S, e como o processador exerce controle sobre um dispositivo perifé-
rico através de uma interface de E/S. Em seguida são apresentadas as
principais técnicas de transferência de dados em operações de E/S.

Ao final do capítulo, ambicionamos não só que você entenda o que é


um dispositivo de entrada e saída, mas também que perceba que ele
faz parte de um sistema muito maior dentro do computador e que
compreenda como ele interage com o computador.

Como não poderia faltar, ao final do capítulo você deve efetuar os


exercícios de forma a se aprofundar ainda mais no tema.

Bom estudo!

8.1 Introdução aos Dispositivos de E/S

Os dispositivos de entrada e saída (E/S) permitem, com grande varieda-


de de formas, a interação dos usuários com o computador.

Os dispositivos de entrada possibilitam a entrada de dados para a sua


posterior transformação em informação e seu uso nas atividades diárias
do ser humano. A forma mais clássica de entrada de dados no compu-
tador ainda em atividade é o teclado, seguido pelo mouse, criado no
início da década de 80. Hoje, temos formas mais modernas e atrativas

Introdução à Informática

introducao_informatica.indd S1:89 15/07/2009 15:04:07


90
Capítulo 8

de interação, como as telas sensíveis ao toque, que vêm se popularizan-


do nos últimos anos.

Os dispositivos de saída fazem a operação contrária aos dispositivos de


entrada, convertendo informações eletrônicas produzidas pelo sistema
de computador em uma forma inteligível pelo homem para apresenta-
ção aos usuários finais. A despeito da multiplicidade de formas pelas
quais você recebe informações dos computadores, os monitores de ví-
deo (imagens) e as impressoras (documentos impressos) foram e ainda
são as formas mais comuns de saída dos sistemas de computadores.

Apesar da enorme variedade de dispositivos de E/S existentes atualmen-


te, a visão que o sistema computacional tem deles é um pouco diferente.
Na verdade, o processador vê apenas interfaces, que são a parte mais
interna do dispositivo de E/S. A interface ou controladora é responsável
pela comunicação de diversos dispositivos (discos rígidos, drives de CD-
ROM e impressoras, etc.) com o processador. Algumas interfaces ficam
embutidas na placa-mãe, porém algumas placas de expansão possuem a
sua própria interface, como é o exemplo das placas de vídeo.

Em relação à forma como os dados são transmitidos entre a interface de


E/S e a memória, podemos classificar as interfaces em paralelas e seriais.

A interface paralela transmitia dados em uma única direção (unidire-


cional), mas evoluiu para um modo de transmissão bidirecional, capaz
de transmitir e receber dados. Esta interface era a padrão para a conexão
de impressoras com o computador. Entretanto, na atualidade tem sido
gradativamente substituída pelas interfaces USB (lê-se U-S-B). As inter-
faces paralelas têm a capacidade de permitir o envio de vários bits em
paralelo em uma única transmissão.

As interfaces seriais têm como característica principal a capacidade de


envio de apenas um bit por vez e são usadas principalmente para a cone-
xão de mouses e impressoras do tipo serial, entre outros periféricos.

Atualmente, quase todos os mouses e impressoras usam atualmente o


conector USB por questões de desempenho e confiabilidade. Mas ainda
encontramos placas-mãe atuais com uma ou duas portas seriais.

Na próxima seção, veremos que apesar das diferenças entre os vários


dispositivos de E/S existentes, as interfaces seguem um padrão de orga-
nização comum, o que facilita a interação com o resto do sistema.

Licenciatura em Informática

introducao_informatica.indd S1:90 15/07/2009 15:04:07


91
Dispositivos de Entrada e Saída

8.2 Organização de uma Interface de E/S

A principal função de uma interface de E/S é tornar os detalhes de ope-


ração e controle dos dispositivos periféricos transparentes para o pro-
cessador. Podemos considerar que uma interface de E/S é organizada em
duas partes, como mostra a Figura 8.1.

Figura 8.1 Organização típica de uma interface de E/S.


Fonte: Tanenbaum, 2001. Adaptação.

A parte genérica, como o próprio nome indica, é semelhante entre os di-


ferentes tipos de interfaces de E/S. É essa porção da interface que é vista
pelo processador. Em geral, na parte genérica, existem alguns registra-
dores, cujo número e função dependem em parte do tipo de periférico
acoplado à interface. No entanto, como mostra a figura acima, na maio-
ria das interfaces, a parte genérica inclui pelo menos um registrador
de dados, um registrador de controle e um registrador de estado. O
acesso a cada um destes registradores é feito pelo processador através de
um endereço de E/S diferente.

O registrador de dados é usado para as transferências de dados entre


o processador e o dispositivo periférico. Em uma operação de saída, o
processador escreve um dado neste registrador e a interface se encarrega
de enviá-lo para o periférico. No sentido contrário, em uma operação
de entrada, a interface recebe um dado do periférico e o armazena no
registrador de dados. O processador executa então um acesso de leitura
à interface o obtém o dado depositado no registrador.

O processador usa o registrador de controle para enviar coman-


dos à interface. Este comando é enviado sob a forma de um código.
Cada interface possui um repertório de comandos próprio. Quan-
do o processador escreve um comando no registrador de controle,
a interface interpreta o código do comando e executa a operação
solicitada, que pode ser uma operação interna à interface ou uma
operação sobre o periférico a ela conectado.

Introdução à Informática

introducao_informatica.indd S1:91 15/07/2009 15:04:07


92
Capítulo 8

Finalmente, o registrador de estado é usado para veicular informações


gerais sobre uma operação de E/S. Tipicamente, esse registrador possui
bits para indicar o término de uma operação e para indicar condições de
erro que eventualmente possam acontecer durante a operação.

A parte específica interage diretamente com o periférico, e por isso ela


difere bastante entre os diferentes tipos de interfaces. No entanto, ape-
sar das diferenças, a parte específica possui, na maioria das interfaces,
dois conjuntos de sinais. Um deles é a própria via através da qual são
transferidos os dados entre a interface e o periférico. O outro conjunto é
formado pelos sinais usados no controle do periférico.

Como exemplo de interface de E/S, a Figura 8.2 mostra a organização


simplificada de uma interface para unidades de disco rígido, ou seja,
HDs. Em sua parte genérica, esta interface possui sete registradores. O
registrador de dados (data register) é o registrador é usado na transfe-
rência de dados. O registrador de comandos (command register) equiva-
le ao registrador de controle descrito anteriormente. Algumas operações
exigem informações adicionais, que são escritas pelo processador nos
registradores de parâmetro. O registrador de cilindros (cylinder register)
é o registrador de parâmetro onde o processador escreve o número do
cilindro (trilha) onde será feito o acesso. Os registradores de número de
setor (sector number register) e contador de setores (sector count regis-
ter) servem para indicar, respectivamente, o número do setor inicial e a
quantidade de setores que devem ser acessados a partir do setor inicial,
de forma a se encontrar o arquivo que será lido ou gravado. No regis-
trador de setor/drive/cabeça (sector/drive/head register), o processador
escreve o tamanho do setor em bytes, o número da unidade de disco e
o número da cabeça. Finalmente, o registrador de erro (error register)
indica alguma condição de erro ocorrida durante o processo de leitura
ou gravação de um arquivo.

Na parte específica, a interface possui dois circuitos que realizam a lei-


tura e a escrita de dados no disco. Na figura, o circuito de leitura está
representado pelo quadrado Read Control e o circuito de escrita pelo
quadrado Write Control. Um terceiro circuito controla a parte mecânica
da unidade de disco, fazendo-a avançar na direção desejada de forma a
completar a operação.

Licenciatura em Informática

introducao_informatica.indd S1:92 15/07/2009 15:04:07


93
Dispositivos de Entrada e Saída

Figura 8.2. Organização simplificada de uma interface para unidades de disco rígido.
Fonte: Tanenbaum, 2001. Adaptação.

O exemplo acima mostra a organização típica de uma interface de E/S.


Optou-se por uma interface de um disco rígido para que fosse possível
complementar o conhecimento sobre o funcionamento do HD, iniciado
no capítulo anterior.

De um lado, a interface possui registradores através dos quais o proces-


sador envia e recebe dados, indica o tipo e os parâmetros da operação de
E/S e obtém informações sobre o sucesso da operação. Do outro lado, a
interface possui os circuitos e sinais necessários para controlar um perifé-
rico particular. Organização semelhante pode ser encontrada em interfa-
ces para monitores, impressoras e teclados, entre outros.

8.3 Técnicas de Transferência de Dados

Em geral, uma operação de E/S envolve a transferência de dados entre a


memória e a interface de E/S. Esta transferência pode partir da memória
para a interface (dispositivo de saída) ou da interface para a memória
(dispositivo de entrada). Existem basicamente três técnicas de como re-
alizar essa transferência, que são discutidas a seguir.

8.3.1. E/S com Polling

Na E/S com polling, o processador controla toda a transferência de da-


dos entre a memória e a interface de E/S.

Para entender como funciona essa técnica, considere o exemplo de

Introdução à Informática

introducao_informatica.indd S1:93 15/07/2009 15:04:07


94
Capítulo 8

uma operação de escrita em um setor de disco. Suponha que a inter-


face controladora de disco é semelhante àquela mostrada na Figura
8.2. Nor malmente, o registrador de estado possui um bit, chamado
done bit, que é desativado quando um dado é escrito no registrador de
dados, sendo ativado quando este dado é escrito no setor do disco. O
diagrama na Figura 8.3 mostra como acontece a escrita de um setor de
disco usando-se E/S com polling.

Figura 8.3. Exemplo de E/S com polling.

Após escrever um dado no registrador de dados, o processador lê o regis-


trador de estado e testa o done bit, para verificar se o mesmo já foi escrito
no setor do disco. Esse teste do bit de estado é chamado polling. O proces-
sador continua realizando o polling até encontrar o done bit ativado, o que
indica que o dado já foi escrito no setor do disco. Quando isto acontece,
e se ainda existe algum dado a ser enviado, o processador escreve o novo
dado no registrador de dados e reinicia o polling. O ciclo é repetido até
que todos os dados tenham sido escritos no setor do disco.

A principal vantagem da E/S com polling é a sua simplicidade. No en-


tanto, essa técnica possui a desvantagem de que o processador fica de-
dicado à operação de E/S. Isto pode ser extremamente ineficiente, sob o
ponto de vista da utilização do processador. Considere uma operação de
envio de um bloco de caracteres para uma impressora. O tempo de im-
pressão de um caractere é infinitamente maior que o tempo de execução
de uma instrução. Manter o processador em polling durante o tempo
de impressão de cada caractere é um desperdício, já que durante esse

Licenciatura em Informática

introducao_informatica.indd S1:94 15/07/2009 15:04:07


95
Dispositivos de Entrada e Saída

intervalo de tempo o processador poderia executar alguns milhões de


instruções de um outro programa. Devido ao fato de que o processador
fica dedicado à operação de E/S até o seu término, o uso da técnica de
E/S com polling é restrito apenas a sistemas onde somente um programa
pode se encontrar em execução a cada instante.

8.3.2 E/S com Interrupção

Na E/S com polling, o processador fica dedicado à operação de E/S por-


que ele é o responsável por determinar quando um novo dado pode ser
transferido entre a memória e a interface de E/S. O mesmo não aconte-
ce na E/S com interrupção. Nessa técnica, a interface é responsável por
notificar o processador quando um novo dado pode ser transferido. A
interface deve gerar um sinal de interrupção, através do qual ela notifi-
ca o processador quando uma operação de E/S foi concluída.

Considere novamente o exemplo da operação de escrita de um setor de


disco. O diagrama na Figura 8.4 mostra como a operação é realizada
através de E/S com interrupção. A operação é dividida em duas fases.
Na fase de disparo da operação, o processador envia para a interface o
comando e os números da trilha e do setor. Ao final da fase de disparo,
o processador passa a executar uma outra atividade qualquer, por exem-
plo, parte de um outro programa.

A interface inicia a fase de transferência de dados fazendo um pedido de


interrupção ao processador, através do sinal de interrupção. Ao receber o
pedido de interrupção, o processador suspende a execução do programa
corrente e passa a executar uma rotina especial, chamada rotina de servi-
ço de interrupção (também chamada device driver ou device handler).

Nessa rotina, o processador verifica inicialmente se o último dado já


foi enviado. Se este é o caso, o processador conclui a escrita do setor do
disco lendo o registrador de estado da interface. Caso contrário, o
processador envia um novo dado e retorna para o programa que se
encontrava em execução.

Figura 8.4. Exemplo de E/S com interrupção.

Introdução à Informática

introducao_informatica.indd S1:95 15/07/2009 15:04:07


96
Capítulo 8

Durante a fase de transferência de dados, a interface faz um pedido de


interrupção a cada dado escrito no setor do disco. O processador res-
ponde ao pedido de interrupção executando a rotina de serviço e en-
viando um novo dado. Isto se repete até que todos os dados tenham sido
escritos no setor do disco. Normalmente, a interface de disco conhece
o tamanho do setor e mantém uma contagem dos dados já recebidos,
de forma que ela pode determinar quando deve encerrar a sequência de
pedidos de interrupção.

Na E/S com interrupção, o processador não fica dedicado à operação


de E/S. O processador é alocado somente quando realmente deve ser
transferido um dado entre a memória e a interface, resultando em uma
utilização mais eficiente do processador. No entanto, essa técnica apre-
senta uma desvantagem quanto à velocidade de transferência dos dados.
Isso se deve ao fato de que na realidade, o que contribui para aumentar
o tempo de latência é o fato de que o processador ainda é o responsável
por controlar a transferência de dados.

Para atender periféricos com alta taxa de transferência, usa-se a técnica


de E/S com acesso direto à memória, que será analisada a seguir, onde o
processador não toma parte na fase de transferência de dados.

8.3.3 E/S com Acesso Direto à Memória

Na E/S com DMA (Direct Memory Access), um componente do sub-sis-


tema de E/S chamado controlador de DMA é responsável por transferir
os dados entre a memória e a interface de E/S.

Considere novamente o exemplo da operação de escrita de um setor de


disco. Na fase de disparo da operação, o processador informa ao con-
trolador de DMA o número de dados a serem transferidos, o endereço
do primeiro dado e o sentido da transferência (no caso do exemplo,
o sentido de transferência é da memória para a interface de E/S). Em
seguida, o processador envia para a interface controladora de disco o
número de trilha, o número de setor e o comando da operação.

O processador participa apenas da fase de disparo. Na fase de trans-


ferência de dados, o controlador de DMA assume o controle dos bar-
ramentos para realizar a transferência entre a memória e a interface.
Para tanto, o controlador de DMA coloca o processador em um es-
tado, chamado hold state, no qual o processador fica impedido de
iniciar ciclos de barramento.

Note que na E/S com DMA a transferência de cada dado envolve apenas
uma leitura de memória e uma escrita de interface de E/S, realizadas

Licenciatura em Informática

introducao_informatica.indd S1:96 15/07/2009 15:04:07


97
Dispositivos de Entrada e Saída

pelo próprio controlador de DMA. A E/S com DMA efetivamente eli-


mina o tempo de latência associado a cada dado transferido, que existe
na E/S com interrupção. Isto permite que a E/S com DMA atinja taxas
de transferência bem maiores que as técnicas de E/S que envolvem o
controle do processador.

Em geral, é possível ter várias interfaces de E/S operando com a técnica


de acesso direto à memória. Para que isso ocorra, o controlador de DMA
possui várias entradas para pedido de DMA. O controlador de DMA as-
socia a cada uma destas entradas um conjunto independente de registra-
dores para armazenar o número de dados a serem transferidos, o ende-
reço inicial e o sentido da transferência. Um grupo de sinais de controle
com seus respectivos registradores formam o chamado canal de DMA.

Existem vários padrões de barramento que interligam interfaces


de dispositivos de entrada e saída à placa-mãe. Por barramento,
entende-se uma forma de conexão que interliga uma placa de ex-
pansão ou uma controladora de dispositivo à placa-mãe, permi-
tindo que o dispositivo interaja com ela. Esses barramentos são
chamados coletivamente de barramento de sistema. Algumas
características do barramento de sistema, tais como largura do
barramento de endereço e do barramento de dados, são determi-
nadas pelo processador. Outras características estão relacionadas
com o sub-sistema de E/S, como por exemplo, o número de sinais
de interrupção e o número de canais de DMA disponíveis no bar-
ramento de controle.
O barramento de sistema no IBM-PC modelo XT era, na realida-
de, uma simples extensão dos barramentos do processador Intel
8088. O número de sinais de interrupção e de canais de DMA
era bastante limitado. O IBM-PC XT foi substituído pelo IBM-PC
AT, cujo barramento de sistema tornou-se o padrão ISA (Industry
Standard Architecture). Com o ISA, o número de sinais de inter-
rupção e de canais de DMA foi quase duplicado, enquanto que o
desempenho das operações de E/S com DMA aumentou em 60%.
Apesar da diferença na largura dos barramentos de endereço e de
dados, o padrão ISA permite a conexão de interfaces originalmen-
te projetadas para o barramento IBM-PC XT.
Com o lançamento dos processadores Intel 80386 e 80486, au-
mentaram as exigências quanto ao desempenho de E/S. Para fazer
face a essas exigências, foi criado o padrão ISA estendido, ou EISA
(Extended Industry Standard Architecture).

Introdução à Informática

introducao_informatica.indd S1:97 15/07/2009 15:04:07


98
Capítulo 8

Após o surgimento do padrão EISA, surgiu o padrão PCI, que é


uma interface de 64 bits num pacote de 32 bits. Uma característica
importante dos padrões de barramento como o EISA e o PCI é o
compartilhamento de interrupções. Essa técnica permite que dois
dispositivos utilizem a mesma interrupção.
Além dos barramentos já citados, ainda podemos citar outros,
criados com propósitos bastante específicos: o barramento AGP,
criado pela Intel exclusivamente para conectar placas de vídeo, e
os slots AMR e CNR, também criados pela Intel. O AMR foi de-
senvolvido para a instalação de placa de som ou placa de modem,
e o CNR para a instalação de placa de som, placa de modem ou
placa de rede.
Há pouco tempo, foi lançado um novo tipo de slot PCI chamado
PCI Express, também conhecido como PCI-X.

Agora é hora de você entender um pouco melhor sobre os dispositivos


de entrada e saída. Procuramos não entrar em muitos detalhes sobre o
assunto, pois queremos que você descreva melhor os dispositivos exis-
tentes no trabalho proposto na Tarefa 8, no ambiente.

Então, leia o enunciado da tarefa no ambiente e siga as regras de forma-


tação e entrega de seu trabalho sobre um dispositivo de entrada e saída
específico. Lembre-se de que a escolha do dispositivo de entrada e saída
deve ser feita no Wiki próprio para tal, colocando seu nome na frente do
dispositivo que você escolher. Bom trabalho!

Licenciatura em Informática

introducao_informatica.indd S1:98 15/07/2009 15:04:07


99

TÓPICOS AVANÇADOS
EM ARQUITETURA DE
COMPUTADORES

Prezado aluno,

Este capítulo discute alguns tópicos que atualmente represen-


tam o estado-da-arte na área de arquitetura de computadores.

Inicialmente, são apresentadas a técnica de pipelining (lê-se


“páip-láinin”) e as arquiteturas superescalares, dois conceitos
que se baseiam na execução paralela de instruções para aumen-
tar o desempenho de um processador. Em seguida, é introduzida
a filosofia RISC, cujos princípios são adotados pela maioria dos
processadores lançados recentemente. Por fim, serão abordados
brevemente os sistemas paralelos.

Entender esses conceitos baseados nos conhecimentos pré-esta-


belecidos na disciplina e perceber as melhorias de desempenho
trazidas por eles são os objetivos que esperamos de você ao final
do capítulo.

Como não poderia faltar, você deve efetuar os exercícios ao final


do capítulo, de forma a se aprofundar ainda mais no tema.

9.1 A técnica de pipelining

No capítulo 6 foi apresentado o mecanismo básico de execução de ins-


truções, no qual as instruções são executadas sequencialmente. Naquele
modo, a execução de uma nova instrução inicia-se somente quando a
execução da instrução anterior é completada. Isto significa que apenas
uma instrução encontra-se em execução a cada instante de tempo.

Ao contrário da forma de execução sequencial, a técnica de pipelining


permite que várias instruções sejam executadas simultaneamente. Nes-
sa técnica, os passos de execução de uma instrução são realizados por
unidades independentes, denominadas estágios do pipeline. A figura
9.1(a) mostra a representação de um pipeline com quatro estágios.

Introdução à Informática

introducao_informatica.indd S1:99 15/07/2009 15:04:07


100
Capítulo 9

Figura 9.1. Execução de instruções em pipeline.


Fonte: Tanenbaum, 2001. Adaptação.

Neste pipeline, o estágio b realiza a busca da instrução, o estágio d de-


codifica a instrução, o estágio e executa a operação indicada pela ins-
trução, e finalmente o estágio r armazena o resultado produzido pela
instrução. A execução de uma instrução inicia-se pelo estágio b, sendo
completada no estágio r.

Ao ser finalizado um passo em um certo estágio, a instrução avança para


o estágio seguinte. Em condições normais, uma instrução avança para
o estágio seguinte a cada novo ciclo de clock. Dessa forma, a execução
de uma instrução passa a funcionar como uma linha de produção, onde
ao invés de cada passo acontecer necessariamente após o anterior, os
passos podem ser feitos em paralelo, aumentando o desempenho com-
putacional, como em uma linha de produção de uma fábrica.

Imagine a montagem de um carro em uma fábrica. Se ela acontecesse de


forma totalmente sequencial, com cada pequena peça dependendo da
conexão da anterior, provavelmente a montagem de todo o carro levaria
vários dias, inviabilizando a produção em larga escala. Pense dessa ma-
neira também em relação ao pipeline. Ele favorece uma execução muito
mais rápida das instruções computacionais por permitir que vários pas-
sos sejam feitos em paralelo.

O modo de execução em pipeline é mostrado na figura 9.1(b). Na figu-


ra, percebe-se a posição das instruções dentro do pipeline ao final de
cada ciclo de clock.

Licenciatura em Informática

introducao_informatica.indd S1:100 15/07/2009 15:04:07


101
Tópicos Avançados em Arquitetura de Computadores

No ciclo c1, a instrução i1 é buscada pelo estágio b. No ciclo c2, a ins-


trução i1 é decodificada pelo estágio d, enquanto o estágio b busca uma
nova instrução, i2. No ciclo c3, o estágio e executa a operação indicada
pela instrução i1, ao mesmo tempo que o estágio d decodifica a instru-
ção i2 e o estágio b busca a instrução i3. No ciclo c4 o resultado da ins-
trução i1 é armazenado pelo estágio r. Ainda em c4, as instruções i2 e i3
avançam para o próximo estágio, e o estágio b acessa a instrução i4.

Note que novas instruções entram no pipeline antes que a execução das
instruções anteriores seja completada. Quando o pipeline se encontra
cheio, várias instruções estão sendo executadas em paralelo, uma em
cada estágio do pipeline.

No pipeline da figura 9.1(b), a cada instante de tempo até quatro instru-


ções podem se encontrar em execução.

Na realidade, o aspecto mais importante na técnica de pipeline é que ela


permite que uma instrução seja completada a cada ciclo de clock. Isso
pode ser visto a partir da figura 9.2.

Figura 9.2. Completando instruções a cada ciclo de clock.


Fonte: Tanenbaum, 2001. Adaptação.

A figura anterior mostra a continuação da execução iniciada na figura


9.1(b). Ao final do ciclo c4 a execução da instrução i1 é completada,
ao final do ciclo c5 a execução de i2 é completada, e assim por diante.
Entre os ciclos c4 e c7 são completadas quatro instruções, i1, i2, i3 e i4.
Isto significa que, em média, foi necessário um ciclo para executar cada
instrução, quando em uma situação normal, cada instrução demoraria 4
ciclos para ser completada. Quanto menor o tempo que um processador
consome para executar um programa, maior será o seu desempenho.

9.2 Arquiteturas Superescalares

Na técnica de pipelining, vista anteriormente, apenas uma instrução é com-


pletada por ciclo (veja a figura 9.2). Seria possível aumentar ainda mais o
desempenho caso fosse possível elevar esse valor para acima desta média.

Introdução à Informática

introducao_informatica.indd S1:101 15/07/2009 15:04:08


102
Capítulo 9

Para obter um aumento adicional no desempenho, seria necessário per-


mitir que mais de uma instrução fosse completada a cada ciclo. Essa é a
ideia central nas arquiteturas superescalares.

Uma arquitetura superescalar é dotada de múltiplas unidades funcio-


nais independentes, que executam instruções em paralelo. A cada ciclo,
várias instruções podem ser enviadas, ou despachadas, para execução
nestas unidades funcionais. Desta forma, é possível completar a execu-
ção de várias instruções a cada ciclo de clock, e assim aumentar o desem-
penho além de 1 instrução/ciclo.

A cada ciclo, a unidade de despacho, responsável por enviar as instru-


ções para o processamento, acessa e decodifica um certo número de
instruções, e verifica quais destas instruções podem ser despachadas
para as unidades funcionais. Tipicamente, uma instrução é despachada
quando a unidade funcional apropriada encontra-se disponível e quan-
do não existe uma dependência de dados entre esta instrução e uma
outra instrução ainda em execução.

Os processadores mais recentes destinados a aplicações de alto desem-


penho apresentam arquiteturas superescalares, como o processador
Pentium, lançado pela Intel Corp, em 1993. A versão inicial do Pentium
operava com uma frequência de clock de 66 Mhz. Hoje, o Pentium che-
ga a frequências que ultrapassam os 3 Ghz, sendo considerado um dos
melhores processadores para máquinas desktop no mercado.

9.3 Arquiteturas RISC x CISC

Uma das principais tendências nas arquiteturas de processador que sur-


giram ao longo das décadas de 70 e 80 foi a crescente sofisticação dos
seus conjuntos de instruções. Nelas, operações que antes eram realiza-
das por uma sequência de várias instruções passaram a ser executadas
por uma única instrução. Tal sofisticação das instruções decorria das
limitações de hardware e de software disponíveis na época.

As principais limitações do hardware estavam na capacidade de arma-


zenamento e na velocidade da memória principal. Os dispositivos de
memória apresentavam baixa densidade e alto tempo de acesso. Devi-
do à baixa capacidade de armazenamento da memória principal, era
desejável que o código executável de um programa tivesse tamanho
reduzido. A velocidade da memória principal contribuía para refor-
çar essa necessidade. O tempo de acesso à memória principal era em
média 10 vezes maior que o tempo de execução de uma instrução com
operandos em registradores.

Licenciatura em Informática

introducao_informatica.indd S1:102 15/07/2009 15:04:08


103
Tópicos Avançados em Arquitetura de Computadores

Esse desbalanceamento levou ao princípio amplamente aceito na épo-


ca de que o tempo de execução de um programa seria proporcional ao
tamanho do seu código. Programas longos teriam um maior tempo de
execução devido ao maior número de instruções acessadas na memória.
Assim, desejava-se reduzir o tamanho do código não somente para eco-
nomizar espaço, mas também para se obter um melhor desempenho.

Do lado do software, o estado inicial dos compiladores apresentavam li-


mitações que se somavam às do hardware. Como ainda não haviam sido
desenvolvidas técnicas eficientes de otimização de código, o código en-
tão gerado por um compilador era, em geral, maior do que o código do
mesmo programa quando escrito diretamente em linguagem assembly.

Programas em linguagens de alto nível eram assim considerados inefi-


cientes em termos de espaço e tempo de execução. No entanto, a crescen-
te complexidade das aplicações foi tornando proibitiva a programação
em linguagem assembly. À medida que as aplicações se tornavam mais
sofisticadas, o uso de linguagens assembly resultava em uma dificuldade
e custo de desenvolvimento cada vez maiores. O uso de linguagens de
alto nível tornava-se imprescindível.

Tais circunstâncias motivaram o desenvolvimento de arquiteturas para


suportar o uso de linguagens de alto nível. Programas de alto nível com-
pilados para tais arquiteturas deveriam ser tão eficientes quanto pro-
gramas escritos em assembly. Para alcançar o seu objetivo, a abordagem
usada nas arquiteturas complexas foi elevar o nível de funcionalidade do
conjunto de instruções, criando as arquiteturas chamadas de CISC.

Os processadores construídos segundo a arquitetura CISC (Complex


Instruction Set Computer) possuem uma grande quantidade de comple-
xas instruções, vários modos de endereçamento (a memória), poucos
registradores de dados (propósito geral) e processamento controlado
por microprograma.

A filosofia é que o hardware é mais rápido que o software. Então, um


conjunto poderoso de instruções produziria programas executáveis pe-
quenos, ou seja, com poucas instruções.

Foram propostas e implementadas unidades lógica-aritmética comple-


xas, unidades de multiplicação, unidades de divisão, e cálculo de fun-
ções matemáticas como trigonometria e logaritmos.

Quanto à movimentação de dados, verificou-se o surgimento de inú-


meros tipos de endereçamento de memória, instruções que permitiram
a movimentação de blocos de dados e instruções para tratamento de
vetores e matrizes.

Introdução à Informática

introducao_informatica.indd S1:103 15/07/2009 15:04:08


104
Capítulo 9

Todo este desenvolvimento acarretou em um problema: a dificuldade em


aumentar a frequência de operação. Devido à complexidade envolvida,
os circuitos se tornaram muito grandes, ocupando uma área considerá-
vel em silício. Esse fato dificulta a redução do ciclo de operação. Assim,
o argumento central é o de que as arquiteturas complexas apresentam
um mau compromisso entre funcionalidade e desempenho, porque se
paga com uma perda no desempenho por uma funcionalidade que não
é efetivamente utilizada.

Foi essa constatação que levou à ideia de simplificar o conjunto de ins-


truções para se obter arquiteturas com melhor desempenho, ideia que é
discutida a seguir.

9.3.1 A Filosofia RISC

As desvantagens das arquiteturas complexas relacionadas acima consti-


tuem um dos fatores que motivaram a filosofia RISC (Reduced Instruc-
tion Set Computers). Um outro fator foi o rápido avanço tecnológico
ocorrido ao longo da década de 80.

Como visto, as arquiteturas complexas surgiram devido às limitações na


capacidade de armazenamento e no tempo de acesso da memória princi-
pal. No entanto, a partir da década de 80 verificou-se um aprimoramento
significativo na tecnologia de memórias semicondutoras. A capacidade
de armazenamento dos dispositivos de memória aumentava rapidamen-
te: a tendência era de um crescimento na capacidade de armazenamento
de 60% ao ano, com uma quadruplicação a cada três anos. Além disso,
devido ao aperfeiçoamento dos processos de fabricação e à produção em
larga escala, havia uma constante diminuição no preço dos dispositivos
de memória. A queda no preço possibilitava que novos sistemas fossem
equipados com uma memória principal cada vez maior.

O aumento na capacidade de armazenamento e a queda do preço dos


dispositivos de memória praticamente eliminaram as limitações quanto
ao tamanho da memória principal. O desbalanceamento entre a veloci-
dade do processador e a velocidade da memória principal também foi
atenuado com novos processos de fabricação, mas deixou realmente de
ser um fator limitante com a introdução das memórias cache.

O novo quadro que existia no início da década de 80 era, então, o se-


guinte: surgiam evidências de que instruções complexas não necessa-
riamente contribuíam para melhorar o desempenho. Ao mesmo tempo,
eram minimizadas as limitações no tamanho e na velocidade da memó-
ria principal. Assim, enquanto eram apontadas desvantagens no uso de
instruções com alto nível de funcionalidade, desapareciam as circuns-

Licenciatura em Informática

introducao_informatica.indd S1:104 15/07/2009 15:04:08


105
Tópicos Avançados em Arquitetura de Computadores

tâncias que haviam justificado essa abordagem. Esse novo quadro moti-
vou e viabilizou a proposta das arquiteturas RISC.

O princípio básico na filosofia RISC é a simplicidade das instruções.


Arquiteturas RISC fornecem apenas aquelas instruções simples mais
frequentemente usadas na codificação de programas de alto nível. Uma
instrução complexa é incluída na arquitetura somente se forem satis-
feitos dois critérios. Primeiro, a utilização da instrução deverá ser sig-
nificativa, ou seja, a instrução deverá ser realmente útil na codificação
de diferentes tipos de programas escritos em diferentes linguagens. Se-
gundo, o ganho final no desempenho deverá ser maior do que eventuais
perdas no tempo de execução das instruções simples que ocorram com
o acréscimo da instrução complexa.

As máquinas RISC apareceram no início dos anos 80 em laboratórios


de empresas como a IBM e em instituições de pesquisa. Na IBM, foram
inseridas em computadores como o IBM 801. Nas demais instituições,
surgiram RISC I e RISC II na Universidade da Califórnia/Berkeley e
MIPS na Universidade de Stanford.

Em 1985, todas as três tecnologias estavam operacionais. Tais pesquisas


não tinham a intenção de revolucionar o projeto de processadores. Por
exemplo: inicialmente, os projetos de Berkeley e Stanford tinham como
foco o projeto de máquinas eficientes, mas simples o suficiente para po-
derem ser implementados em ambiente universitário.

As características principais de uma máquina RISC são:

• Conjunto de instruções limitado, com um formato fixo e simples


(não ultrapassando o tamanho da palavra);
• Poucos modos de endereçamento;
• Apenas as instruções LOAD e STORE para acesso à memória;
• Grande número de registradores ou a utilização de compiladores
que otimizam a utilização de registradores;
• Ênfase na otimização da pipeline de instruções.

A arquitetura RISC permitiu a implementação de circuitos operando a uma


frequência elevada, devido ao fato de necessitar de circuitos muito mais
simples comparados aos processadores CISC. Tudo isso devido ao fato de
implementar apenas um conjunto limitado e otimizado de instruções.

Os circuitos de cada estágio de um pipeline RISC são muito mais sim-


ples, o que para o mundo da microeletrônica significa menos atrasos e
mais velocidade. É claro que alta frequência de operação não é sinônimo

Introdução à Informática

introducao_informatica.indd S1:105 15/07/2009 15:04:08


106
Capítulo 9

de processamento veloz (é um grande apelo de mercado), mas a arquite-


tura RISC abriu novas fronteiras para o projeto de microprocessadores.

9.4 Arquiteturas Paralelas

Tradicionalmente, o computador tem sido visto como uma máquina se-


quencial. A maioria das linguagens de programação requer que o pro-
gramador especifique um programa como uma sequência de instruções.
Os processadores executam programas por meio da execução sequencial
de instruções de máquina. Cada instrução é executada como uma se-
quência de operações (busca de instrução, decodificação, execução da
operação, armazenamento dos resultados). Essa visão do computador
nunca foi totalmente verdadeira. No nível de microoperações, vários
sinais de controle são gerados ao mesmo tempo. A técnica de pipeline
de instruções tem sido usada há muito tempo, estendendo essa sobre-
posição pelo menos para as operações de busca e execução de instru-
ções. Esses são dois exemplos de execução de funções em paralelo. Essa
abordagem é levada mais adiante em uma organização superescalar, que
explora o paralelismo em nível de instrução.

Nas máquinas superescalares, existem diversas unidades de execução


em um mesmo processador, que podem assim executar várias instru-
ções de um mesmo programa em paralelo.

À medida que a tecnologia evoluiu e o custo do hardware do computa-


dor tornou-se mais baixo, os projetistas de computadores têm buscado
outras oportunidades de exploração do paralelismo, usualmente para
melhorar o desempenho e, em alguns casos, para aumentar a disponi-
bilidade do sistema.

Um sistema paralelo é aquele onde existem vários processadores e mó-


dulos de memória, que se comunicam através de uma certa estrutura
de interconexão, que pode ser a própria placa-mãe do computador ou
uma rede de computadores. Esses assuntos serão melhor abordados nas
disciplinas seguintes a esta no curso.

Na disciplina de Sistemas Operacionais, por exemplo, você terá uma vi-


são da gerência do computador, feita por um software chamado de siste-
ma operacional, e os desafios que são inerentes ao processo gerencial.

Na disciplina de Redes de Computadores, você subirá mais um nível, e


verá como vários sistemas computacionais podem ser interligados, tro-
cando informações e compartilhando recursos.

Licenciatura em Informática

introducao_informatica.indd S1:106 15/07/2009 15:04:08


107
Tópicos Avançados em Arquitetura de Computadores

O uso de sistemas com vários processadores explorando o parale-


lismo, já é comum no mercado de servidores. Entretanto, no mer-
cado de computadores desktop, apenas recentemente este uso tem
se tornado mais comum. Em meados de 2005, foram lançados os
primeiros processadores com dois núcleos, o Pentium D e o Pen-
tium Extreme Edition. O Pentium D é formado por dois núcleos
de Pentium 4, dentro do mesmo encapsulamento. Depois vieram
outros modelos, tanto da empresa AMD quanto da Intel.
No início de 2007, os processadores com mais de um núcleo já
formavam uma generosa lista. Apesar dos clocks serem elevados, a
arquitetura do Pentium D era menos eficiente que as usadas de ou-
tros processadores contemporâneos, como o Athlon e o Pentium
M (plataforma Centrino, para notebooks). Por isso um Pentium
4 precisava operar com clock muito elevado para ter bom desem-
penho. Em 2006 a Intel criou a nova arquitetura Core, baseada no
núcleo do Pentium M, para substituir a arquitetura anterior, que
já completava seis anos.
Os novos processadores Core 2 Duo, Core 2 Quad e Core 2 Extreme
usam a nova arquitetura Core, muito mais eficiente que a anterior.

Prezado aluno,
Chegamos ao fim de nossa disciplina sobre Introdução à Informáti-
ca. Em nenhum momento foi nosso objetivo nesta disciplina esgotar
a discussão acerca dos conceitos da organização de um computador,
já que o assunto é imensamente amplo e ganha novos contornos a
cada descoberta. O que visamos com este material é introduzi-lo
nos conceitos básicos da Informática, que irão permear as discipli-
nas que você acompanhará no decorrer do curso.
No transcorrer da disciplina, foram abordados os fundamentos
básicos da informática e os tópicos principais da organização dos
computadores, como: processador, memória, dispositivos de entrada
e saída e dispositivos de armazenamento.
Desejamos que você tenha muito sucesso nos desafios que se seguirão
no curso e que nunca perca a empolgação e a curiosidade neste fan-
tástico mundo de descobertas que você começa a vivenciar agora.
Boa sorte!!!

Introdução à Informática

introducao_informatica.indd S1:107 15/07/2009 15:04:08


108
Capítulo 9

Atividades

1) Pesquise e responda: se as máquinas RISC são bem mais efi-


cientes, por que, então, a tecnologia RISC não suplantou comple-
tamente a CISC?

2) Realize uma pesquisa e apresente exemplos de processadores


que utilizam a filosofia RISC e exemplos de processadores que uti-
lizem a filosofia CISC. Em particular procure sobre processadores
que são utilizados em microondas, telefones celulares, palmtops e
outros dispositivos eletrônicos comuns.

3) Descreva o procedimento para execução de instruções adotan-


do as seguintes estratégias:
a) Pipeline
b) Arquiteturas Superescalares
c) Multiprocessadores
d) Multicomputadores

4) A “Lei de Moore” prega que o poder de processamento dos


chips teria um aumento de 100% a cada período de 18 meses.
Entretanto, temos observado que essa lei não está mais sendo
empregada em relação à frequência em Hertz dos processado-
res, pois ela se aproxima dos limites possíveis. Então, como você
acha que os processadores de dois ou mais núcleos podem aju-
dar nesse processo?

Licenciatura em Informática

introducao_informatica.indd S1:108 15/07/2009 15:04:08


109

CASTRO, Maria Clicia Stelling, Arquitetura de Computadores,


Juiz de Fora, 1999.

História do Computador. Capturado on-line em 20/02/2009.


Disponível em http://www.netangola.com/CCA/pages/marks/
computador/bibliogr.htm

MEIRELLES, F. S., Informática: novas aplicações com micro-


computadores, São Paulo, Makron, 1997.

MONTEIRO, Mário A. Introdução à Organização de Computa-


dores. Editora LTC, 2001

MURDOCCA, M. J.; HEURING V.P., Introdução à Arquitetura


de Computadores, Rio de Janeiro, Editora Campus, 2001.

PATTERSON, DAVID A. & HENNESSY John L., Organização e


Projeto de Computadores. Editora LTC, 2000

TANENBAUM, Andrew S. Organização Estruturada de Com-


putadores. Editora LTC, 1999

TOCZEK, Jonathan Souza, Apostila de Apoio a disciplina de


Processamento de Dados, Vitória.

VASSOLER, Gilmar, Organização estruturada de computado-


res, Vitória, IFES, 2007.

Introdução à Informática

introducao_informatica.indd S1:109 15/07/2009 15:04:08

Você também pode gostar