Você está na página 1de 25

Prof.

Guilherme Azeredo Martins 1


INTRODUÇÃO

Estas notas aqui condensadas representam a transcrição das notas de aula do curso de Informática.
São o resultado da pesquisa em alguns livros de informática existentes no mercado. Em particular
nos livros “Introdução À Organização de Computadores” de Mário A Monteiro. e também aos
textos da coluna do grande mestre B. Piropo que era publicada todas as 2ªs no caderno de
informática do jornal “O Globo”, das quais foram transcritos textos inteiros. De resto, acrescentei
alguns textos de minha autoria, completando assim a apostila.

Penso que tais textos assim sintetizados em forma de apostila, facilitarão a condução do curso
propiciando mais tempo para resolução de exercícios e esclarecimento de dúvidas.

Entretanto é preciso deixar claro que NADA SUBSTITUI O LIVRO. Esta apostila serve apenas
para ajudar o aluno em sala de aula, evitando cópias demoradas e enfadonhas do quadro-negro. O
aluno pode e deve pesquisar em livros sempre que possível.

Na apostila além da apresentação de forma sintética dos conceitos a serem ministrados encontram-
se também listas de exercícios que deverão ser resolvidos.

Esta apostila está, por assim dizer, em sua primeira versão. Assim, muito provavelmente, o aluno
poderá encontrar erros, seja na digitação, seja nas repostas dos exercícios. Caso então, o aluno
encontre erros, por favor comunique ao professor.

Penso melhorar esta apostila ao longo do tempo. Para isto espero contar com a colaboração dos
alunos, pela qual desde já agradeço.

Obrigado e boa sorte,

Guilherme Azeredo Martins

Prof. Guilherme Azeredo Martins 2


INTRODUÇÃO

CONCEITOS ELEMENTARES DA INFORMÁTICA

Este capítulo introduz o leitor aos conceitos elementares da informática, isto é, ele apresenta em forma de
tópicos, as definições dos elementos mais comuns da informática. Além disto, no decorrer do capítulo o
leitor será apresentado ao microcomputador, isto é, ele ficará conhecendo os dispositivos mais
importantes do hardware, assim como alguns conceitos de software.

Conceitos Fundamentais

Informática (INFORmação autoMÁTICA) - Chamamos de informática à ciência que trata da


informação e de todos os dispositivos físicos e lógicos utilizados para manipulá-la.

Hardware - Chamamos de Hardware (ainda não há uma tradução adequada para esta palavra) ao
conjunto formado pelos circuitos eletrônicas e partes eletromecânicas de um computador. É a parte física,
visível do computador.

Software - São os programas, de qualquer tipo e em qualquer linguagem, que são introduzidos na
máquina para fazê-la trabalhar, passo a passo, e produzir algum resultado. O Hardware sozinho não
funciona sem instruções (Software) que digam como, quando e o que fazer.

Computador - É uma máquina (conjunto de partes eletrônicas e eletromecânicas) capaz de


sistematicamente coletar, manipular, processar e fornecer os resultados da manipulação de informações
para um ou mais objetivos. Por ser uma máquina composta de vários circuitos e componentes eletrônicos,
também é chamado de equipamento de processamento eletrônico de dados.

Processamento de Dados (Data Processing) - Consiste em uma série de atividades ordenadamente


realizadas com o objetivo de produzir um arranjo determinado de informações a partir de outras obtidas
inicialmente. A manipulação das informações coletadas no início da atividade chama-se processamento;
as informações iniciais são usualmente denominadas dados.

Os termos dado e informação podem ser tratados como sinônimos ou como termos distintos. Dado pode
ser definido como a matéria prima originalmente obtida de uma ou mais fontes (etapa de coleta).
Informação pode ser definida como o resultado do processamento, isto é, o dado processado ou acabado.

Informação subentende dados organizados (segundo uma orientação específica) para o atendimento ou
emprego de uma pessoa ou grupo que os recebe.

DADOS  PROCESSAMENTO  RESULTADO

Programa - Qualquer processamento de dados requer a execução de uma série de etapas que podem ser
realizadas de forma manual ou automática por um computador. Tais etapas, elaboradas e executadas
passo a passo, constituem o que se chama programa. Cada um dos passos mencionados é uma diferente
construção, ou ordem de comando, dada ao hardware, objetivando a realização de uma determinada ação
(uma operação aritmética, uma transferência de informação, etc). O programa pode ser definido como um
conjunto de instruções. Ex: programas utilitários, executáveis, fontes, objetos, aplicativos (sistemas
específicos), firmwares.

Prof. Guilherme Azeredo Martins 3


Frase do Millor Fernandes: “Um computador tem duas operações básicas: o input - tudo o que entra -
e o output - tudo o que sai. O que o input e o output fazem lá dentro é todo o mistério da informática”.

Bit - A menor unidade de informação usada pelos computadores. A palavra Bit tem sua origem na junção
das partes de duas palavras BInary digiT e significa dígito binário.

Byte - Conjunto de oito bits, unidade mínima necessária para a representação de caracteres tais como
letras e números;

CPU - Central Processing Unit, ou Unidade Central de Processamento (UCP). Nos micros, CPU é
sinônimo de microprocessador, ou Chip. O coração de máquinas como os 386, 486, PENTIUM, etc;

BIOS - Um conjunto de instruções invisível para o usuário, responsável pela transferência de informações
entre os vários elementos da máquina;

SETUP - Conjunto de parâmetros usados para configurar determinado micro, sistema ou aplicativo;

HD (HARD DISK) - É o disco rígido, também conhecido como Winchester. Winchester foi o nome de
código utilizado pela IBM no projeto de desenvolvimento destes discos, que são as unidades de
armazenamento de dados, internas ou externas, que realizam, hoje, o trabalho que antigamente era feito
pelos disquetes;

Sistemas Operacionais - A alma do computador. O software que o gerência, fazendo-o funcionar e


determinando sua forma de trabalho. Exemplos: MSDOS, OS/2, CP/M, UNIX, SOX, AIX;

Placa-mãe - É a principal placa do micro. Nesta placa estão situados os principais componentes do micro,
tais como: o microprocessador, a memória e os circuitos de apoio;

MODEM - A palavra MODEM vem da combinação das palavras Modulação/DEModulação. A


modulação e a demodulação são processos onde duas freqüências são combinadas, de tal forma que são
criadas novas freqüências. Os MODEMS são equipamentos que realizam tanto a modulação (na saída do
sinal), quanto a demodulação (na entrada do sinal).

Teleprocessamento - Sistema de comunicação em que um ou mais usuários situados local ou


remotamente estão conectados a um computador central por intermédio de um circuito que utiliza as
facilidades de telecomunicações;

Software Básico - É o conjunto de programas básicos utilizados pelo computador. Ex: Sistema
operacional, Compiladores, etc;

Linguagem - É um conjunto finito de palavras, comandos e instruções, escrito com o objetivo de orientar
a realização de uma tarefa pelo computador. Exemplos de linguagens: Assembly 
Pascal, Fortran, Visual Basic, Delphi, Java, C, C++, ASP, PHP, etc

Compilador - É um programa pertencente ao software básico do computador que transforma um


programa escrito em linguagem de alto nível (programa fonte) em um programa escrito em linguagem de
máquina (baixo nível) chamado de programa objeto;

Bug - Em inglês significa "inseto rasteiro". É utilizada quase que como gíria em informática, significando
defeito no hardware ou no software. Diz a lenda que a origem da "gíria" vem do fato de uma mariposa ter
entrado no computador eletromecânico da Universidade de Harvard, causando problemas que os técnicos,

Prof. Guilherme Azeredo Martins 4


que não sabiam da presença da mariposa, não conseguiam descobrir. Esta versão no entanto é refutada
por aqueles que dizem que a mariposa não é propriamente um inseto rasteiro (bug);

Pixel - Cada um dos pontos que compõem a imagem da tela;

CAPITULO 1

HISTÓRIA DA INFORMÁTICA
1.1 Origens

Era Jurássica
A origem da informática remonta a 4500 anos antes de Cristo, no antigo Egito. Os Egípcios daquela
época, premidos pela necessidade de controlar suas colheitas e construções, iniciaram o processo de
efetuar medidas e análises.

Na Mesopotâmia, os pastores precisavam comparar o número de ovelhas que saíam para o pasto com o
número das que voltavam. Para isto usavam pequenas pedras, uma para cada ovelha.

Foi na China, 3000 anos antes de Cristo que surgiu o primeiro ábaco, que era uma ferramenta para fazer
cálculos simples. Poder-se-ia considerar este ábaco como sendo a primeira calculadora construída pelo
homem. O ábaco ainda hoje é utilizado, porém em versões mais sofisticadas.

1.2 Evolução da Informática

A partir da idade média, temos a seguinte cronologia do desenvolvimento da informática:

 1617 - Invenção das Hastes Deslizantes que era um dispositivo semelhante ao ábaco que, no entanto,
permitia também a multiplicação;

 1642 - Invenção da máquina mecânica de somar e subtrair (chamada máquina Pascalina), por Blaise
Pascal;

 1694 - Gottfried Leibnitz aprimora o invento de Pascal e desenvolve a máquina que além de somar e
subtrair também multiplicava, dividia e extraia raiz quadrada;

 1822/1823 - Charles Babbage cria a Máquina Diferencial, que resolvia polinômios e logaritmos;

 1830/1833 - Charles Babbage, com o apoio da Condessa Ada Augusta Byron, Condessa de Lovelace
define a máquina analítica. Conceitos tais como: memória, cartão perfurado, programação e seqüência
de instruções estavam presentes no trabalho de Babbage. Em homenagem à Condessa de Lovelace, foi
criada a linguagem Ada, utilizada no Depto de Defesa Americano;

 1890 - Hermann Hollerith desenvolve, nos Estados Unidos, equipamento baseado em cartões
perfurados;

 1943/1944 - Surgia nos Estados Unidos, criado pelo norte americano Howard Aiken, o MARK I,
primeiro computador com tecnologia eletromecânica. Regido pelos princípios de Babbage, o MARK I
utilizava cartões para entrada de dados e máquina de escrever elétrica como saída de relatórios
contendo as informações desejadas, além de conter um gerador de funções;

Prof. Guilherme Azeredo Martins 5


Ainda durante a segunda grande guerra, na Inglaterra, Alan Turing desenvolve o COLOSSUS. Tal
equipamento continha 1500 válvulas, processava 5000 caracteres por segundo e tinha por objetivo
traduzir os códigos secretos utilizados pelos alemães;

 1946 - Eckert e Mauchly constroem o ENIAC (Eletronic Numerical Integrator and Calculator), o
primeiro computador digital eletrônico da história. O ENIAC continha cerca de 18000 válvulas, pesava
30 toneladas e fazia 200 operações por segundo. O projeto do ENIAC foi melhorado por Vonn
Neumann que introduziu o conceito de instruções armazenadas em memória;

 1948 - William Shockley, John Bardeen e Walter Brattain dos Laboratórios BELL da AT&T inventaram
o transistor, equivalente sólido da válvula. Mais resistente, rápido e barato do que a válvula. Prêmio
Nobel de 1956;

 1951 - É iniciada a comercialização de computadores através da FERRANTI MARK I, na Inglaterra, e


da UNIVAC (Universal Automatic Computer), nos EUA. A UNIVAC foi a empresa que forneceu o
primeiro computador ao Brasil. O UNIVAC foi instalado no Jockey Club de São Paulo;

 1946-1956 - Surge o que chamamos de a primeira geração de computadores. Esses computadores


caracterizavam-se pela utilização de válvulas eletrônicas como processadores. Estas válvulas eram
grandes, caras, lentas e queimavam facilmente. São exemplos de computadores de primeira geração o
ENIAC, o EDVAC, UNIVAC, IBM 650. Estes computadores eram utilizados para fins científicos em
centros de pesquisa;

 1957-1963 - Surge a segunda geração. Os computadores da segunda geração caracterizavam-se pela


utilização de transistores, que além de serem muito menores, mais rápidos e duráveis, eram também
mais baratos que as válvulas. São exemplos de computadores de segunda geração: NCR 501, IBM 70,
IBM 94, CDC 6600. Os computadores da segunda geração foram também utilizados nas grandes
empresas;

 1964-1981 - Terceira geração. Os computadores da terceira geração caracterizavam-se pela utilização de


CI's (circuitos integrados). Os circuitos integrados são dispositivos que em uma pequena cápsula
podem conter milhares de transistores. Os Ci's podem realizar vários processamentos simultâneos, daí
o nome de microprocessador. Dependendo da quantidade de componentes que o integrado contém ele
pode ser chamado de CSI (integração em pequena escala), MSI (integração em média escala), LSI
(integração em grande escala) ou VLSI (integração em muito grande escala).

Começa a surgir o boom dos microcomputadores. Exemplos: XT, AT286, AT386, AT486, PENTIUM,
PENTIUM PRO, etc. Estes anos caracterizam-se por uma evolução brutal dos microprocessadores. A
INTEL, tradicional fabricante de microprocessadores impõe um ritmo alucinante no desenvolvimento de
novos microprocessadores.

Abaixo é apresentado um histórico cronológico da evolução dos microprocessadores.

 Até 1948 computadores a Válvulas;

 1948 - Três engenheiros do BELL Laboratories, William Shockley, John Bardeen e Walter Brattain
inventam o transistor;

 1959 - Uma equipe da TEXAS INSTRUMENTS cria o CI, ou Circuito Integrado. O primeiro CI
encapsulava apenas 6 transistores ( o PENTIUM tem mais de três milhões e cem mil transistores) que
no entanto foi uma façanha extraordinária para a época;
Prof. Guilherme Azeredo Martins 6
 1970 - Ted Hoff da INTEL desenvolve o 4004;

 1971 - Lançado o primeiro CI de uso genérico, capaz de receber, obedecer e executar instruções. O
primeiro microprocessador chamou-se 4004 e era um chip com registradores de 4 bits, o patriarca da
família dos microprocessadores da linha PC, tetravô do 386;

 1972 - Lançado o primeiro chip de oito bits da INTEL, o 8008. Este chip equipava o projeto do primeiro
microcomputador, o ALTAIR, publicado pela revista "Popular Electronics" de janeiro de 72 e possuía
memória RAM de somente 256 bytes;

 1976 - Surge afinal, o primeiro micro pessoal, o APPLE I, baseado no chip 6502 da MOTOROLA;

 Junho/78 - Lançado o primeiro microprocessador de 16 bits;

 1979 - A INTEL lança o 8088, um chip idêntico ao 8086, porém com barramento de 8 bits ( o "8" final
refere-se ao barramento de 8 bits);

 Fevereiro/82 - A INTEL cria o 80286, ou simplesmente 286, como é hoje conhecido;

 Outubro/85 - A INTEL lança o 80386, mais tarde rebatizado de i386 e finalmente chamado de i386DX,
nome pelo qual é conhecido hoje. O 386 foi a primeira CPU de 32 bits, tanto nos registradores internos
quanto no barramento de dados. Tinha então uma freqüência de 16 MHz. Mais tarde a INTEL lançou
novas verses com 20 MHz, 25 MHz e finalmente 33 MHz. O 386 carrega dentro de si nada menos do
que 275 mil transistores;

 Abril/89 - A INTEL lança o i486DX. As primeiras máquinas equipadas com este chip são lançadas no
final de 89. A primeira versão operava em 25 MHz e mais tarde foram liberadas verses com 33 MHz e
50 MHz;

Posteriormente, foram lançados o 486 DX4, o PENTIUM e o PENTIUM PRO.

Prof. Guilherme Azeredo Martins 7


CAPÍTULO 2

REPRESENTAÇÃO DE DADOS

2.1 Introdução.

Em algum momento da sua vida, em algum lugar, você já deve ter ouvido alguém dizer que em um
computador todos os números são expressos sob a forma de "zeros" e "uns" e que a máquina não conhece
nenhum outro algarismo. Você deve ter achado estranha tal afirmação, afinal, como é que justamente o
computador, uma máquina que lida com tantos números, pode conhecer somente dois algarismos quando
qualquer analfabeto conhece pelo menos dez deles?

Não se assuste! Esta aparente incapacidade do computador é, na verdade, uma forma inteligentíssima de
representar números através da utilização de circuitos eletrônicos.

2.2 Algarismos e Números.

Antes de tentarmos entender como os números são representados em circuitos eletrônicos, é preciso
entender como representá-los fora deles. Para isto, vamos estabelecer primeiro a distinção entre
"algarismo" e "número". Um algarismo é um "desenho", um sinal gráfico. Já um número é a quantidade
representada por um ou mais algarismos. Por exemplo: no sistema decimal, o sistema numérico a que
estamos habituados, o algarismo "6" é um sinal gráfico (um desenho) que representa o número seis, que
por sua vez representa uma quantidade de seis elementos. O número 15, que representa outra quantidade
de elementos usa dois algarismos em sua grafia, o algarismo "1" e o algarismo "5". A única exceção é o
zero, representado por um algarismo, mas que não é um número (não representa uma quantidade). Mas, já
que ele existe e já está a tanto tempo enturmado, vamos considerá-lo como tal.

Números, portanto, representam quantidades. Quantidades podem ser representadas de infinitas maneiras.
Por exemplo: Como é que os romanos representavam números (quantidades)?...Usando os algarismos
romanos... Claro!

Então? Não está fácil agora entender melhor a diferença entre "algarismos" e "números"? Por exemplo: o
mesmo número cinco pode ser representado tanto pelo algarismo arábico "5" quanto pelo algarismo
romano "V", que são algarismos (sinais gráficos) diferentes que representam a mesma quantidade de
cinco elementos. O número é o mesmo. A forma de representá-lo com algarismos é que é diferente.

Abordemos agora outro aspecto da diferença entre algarismo e número. Você já reparou como é difícil
"fazer contas" com algarismos romanos? Tente, sem converter para o sistema decimal, somar XXVIII
com XIV. Para sua informação, o resultado é XLII. Entretanto, somar 28 com 14 para obter 42 é bem
mais fácil, não é? Por quê é mais fácil? Pense um pouco...

2.3 Sistema Numérico Posicional.

No sistema decimal, ao contrário dos algarismos romanos, ao colocar o 28 "em cima" do 14, os
algarismos que representam as unidades, dezenas, etc, ficam uns sobre os outros, já que estão sempre na
mesma posição. É isto que facilita as coisas na hora de somar, ou seja, o valor representado pelos
algarismos depende de sua posição relativa dentro dos números. No sistema decimal, cada algarismo vale
seu próprio valor multiplicado por dez, tantas vezes quanto for sua posição, menos uma. À primeira
posição da direita correspondem as unidades, à segunda as dezenas, à terceira, as centenas e assim por

Prof. Guilherme Azeredo Martins 8


diante. O sistema decimal é um "sistema numérico posicional", por isso é tão fácil de usar, ou como
dizem os camelôs, a sua utilização "não requer prática nem tampouco habilidade".
Você sabe porque utilizamos o sistema decimal, no qual cada posição corresponde a dez vezes a da
direita? Hein? Pense bem, poderia ser qualquer outra quantidade ao invés de dez. Não vale dizer que é
assim porque sempre foi assim e coisa e tal. Pense...

Poderia ser ... doze, por exemplo... Seria bem mais prático, já que doze pode ser dividido por dois, três
quatro e seis, enquanto dez só é divisível por dois e cinco. Como você vê, não é à toa que se vende tanta
coisa às dúzias.

2.4 Bases Numéricas

Então? Já pensou porque utilizamos o sistema decimal? A verdade é que só usamos o sistema decimal (de
base dez, ou baseado em dezenas) porque a natureza nos deu dez dedos e o homem, como as crianças,
aprendeu a contar nos dedos. Se a natureza houvesse nos dado doze, ao invés de dez, seria mais
trabalhoso cortar as unhas, entretanto, teríamos um sistema numérico muito mais prático. Tal sistema teria
mais dois algarismos (para representar as quantidades 10 e 11 que no sistema decimal são representadas
com dois algarismos cada uma). Neste sistema, cada posição corresponderia à posição da direita
multiplicada por doze (a "base" do novo sistema), ao invés de dez (a "base" do sistema decimal).

Na realidade, o sistema decimal parece ter sido desenvolvido (ou pelo menos registrado) na Índia, por
volta de 600 A.C., tendo sido passado aos persas e transcrito em arábico, razão pela qual foi introduzido
na Europa, quando da invasão bárbara, sendo até hoje seus algarismos chamados de arábicos.

Assim, generalizando o conceito de bases numéricas, podemos perceber que qualquer número (ou
quantidade) pode ser usado como base de um sistema numérico posicional. Este sistema teria tantos
algarismos quanto vale a base (o sistema decimal, de base dez, tem dez algarismos, de zero a nove) e cada
vez que um algarismo "andasse" para a esquerda, seu valor seria multiplicado pelo da base (um milhar
vale dez centenas, uma centena vale dez dezenas e uma dezena vale dez unidades). A regra é universal e
pode ser usada com qualquer base.

Agora que você viu tudo isto, pense e responda: É possível criar um sistema numérico posicional de base
dois? Hein? Hein? Se for, quantos algarismos o sistema usaria? Quais seriam estes algarismos?

Pense e responda... Pense...

2.5 Bit

Claro que sim. Com dois, com cinco, com sete, etc (o Rogério Magri que era ministro do trabalho do
governo Collor não afirmou que cachorro era um ser humano como outro qualquer?). Pois a base dois
também é uma base como outra qualquer.

Este sistema usaria dois algarismos, pois não chegamos à conclusão que os sistemas numéricos usam
tantos algarismos quanto vale a base? O sistema decimal não usa dez (de zero a nove) algarismos?
Portanto, o sistema de base dois usará apenas dois algarismos (e por isso também é conhecido por sistema
binário).

Finalmente: Que algarismos seriam estes? Bem, o primeiro tem que ser o "zero". Portanto, o segundo só
pode ser o "um". Logo, o sistema numérico de base dois usa apenas dois algarismos, o "zero" e o "um".

Prof. Guilherme Azeredo Martins 9


Nesta altura você já deve estar se perguntando: "Então como é que eu posso representar no sistema
binário o número oito, por exemplo?". Bom, não vamos aqui entrar em detalhes sobre a forma de
representar números (ou quantidades) no sistema binário. Entretanto, não deve ser difícil deduzi-la com
base na regra universal que estabelece valores em sistemas numéricos posicionais: cada algarismo vale o
produto de seu próprio valor pela base, tantas vezes quantas forem a posição do algarismo menos uma.
Por exemplo: no sistema decimal o número 367 vale sete (o 7 está na primeira posição à direita, a das
unidades, portanto vale apenas seu próprio valor, 7) mais sessenta (o 6 está na segunda posição, portanto
vale ele mesmo multiplicado pela base dez, uma única vez, 6 X 10 = 60) mais trezentos (o 3 está na
terceira posição, portanto vale ele mesmo multiplicado duas vezes pela base, 3 X 10 X 10 = 300).
Ora, 3 X 10 X 10 + 6 X 10 + 7 = 367 !!

Vamos aplicar este raciocínio ao número 101101 no sistema binário: ele vale um (o 1 da primeira
posição, a das unidades) mais zero (a segunda posição é ocupada por um zero, que multiplicado uma
única vez pela base dois é 0 X 2 = 0) mais quatro (a terceira posição é ocupada pelo 1, que nesta posição
vale 1 X 2 X 2 = 4) mais oito (1 X 2 X 2 X 2 = 8) mais zero (0 X 2 X 2 X 2 X 2 = 0) mais trinta e dois (1
X 2 X 2 X 2 X 2 X 2 = 32). Efetuando a soma, temos: 32 + 0 + 8 + 4 + 0 + 1 = 45.

Descobrimos então, que em binário, 101101 é o mesmo que 45 em decimal. Vejam:

1 X 2 X 2 X 2 X 2 X 2 + 0 X 2 X 2 X 2 X 2 + 1 X 2 X 2 X 2 + 1 X 2 X 2 + 0 X 2 + 1 = Quarenta e
Cinco (45).

Parece complicado, mas depois que a gente "saca", vai fácil. O importante é entender o espírito das
conversões de binário para decimal e vice-versa, o resto é muito fácil.

Sobre o sistema binário deve-se ter em mente apenas duas coisas: ele pode representar qualquer
quantidade (é claro que quantidades grandes serão representadas por números longuíssimos, de muitos
algarismos) e só usa os algarismos "0" e "1".

Mas, nesta altura do campeonato, você deve estar se perguntando: "tudo bem, mas porque representar
números no sistema binário se é tão mais fácil representá-los no sistema decimal?". Entretanto analise:
mas fácil para quem "cara pálida"? O sistema decimal só é mais fácil para você, que está acostumado com
ele. Já para computadores, fácil mesmo é o sistema binário, e a razão é de uma clareza que carece de
óculos escuros. Senão, vejamos...

As entranhas dos micros são compostas por circuitos eletrônicos, onde quase todos os componentes só
reconhecem dois "estados". Por exemplo: a corrente pode estar fluindo em um condutor ou não. Um
capacitar pode estar carregado ou descarregado. Um interruptor, aberto ou fechado. Uma lâmpada (ou
"leda", essas luzidas coloridas usadas em circuitos eletrônicos), acesa ou apagada. Um transistor
conduzindo corrente ou não. Uma carga elétrica positiva ou negativa. E, estabelecido um valor de
referência, mesmo algo que varie continuamente pode simular dois estados. Por exemplo: fixando o
limiar de um volta, uma tensão (ou "voltarem") pode ser considerada alta (acima de 1V) ou baixa (abaixo
de 1V).

Viram porque o computador utiliza o sistema binário? Para ele é tão fácil utilizar este sistema quanto o é
para nós utilizar o sistema decimal.

Assim, temos dois estados, dois algarismos, cada estado representando um algarismo. Em um conjunto de
capacitares, os carregados podem representar o "um" e os descarregados, o "zero". Então, seguindo esta
linha de raciocínio, "um" é corrente fluindo, interruptor fechado, lâmpada acesa, transistor conduzindo,

Prof. Guilherme Azeredo Martins 10


carga positiva, voltarem alta... "Zero" é o estado complementar. Viram? pode-se representar qualquer
quantidade dentro de um micro.

Que tal "um olhar diferente"...?

Nada impede que você represente números no sistema binário usando os dedos. Vamos lá: dedo
levantado, um. Dedo abaixado, zero. O "mindinho" fica sendo a posição das unidades.
Agora que entendemos, para comemorar vamos fazer o "V" da vitória. Vamos lá, comemore: levante a
mão direita e faça o "V". Agora diga-nos: que número é este em binário? Fácil: indicador ("pai de todos")
na terceira posição vale 1 X 2 X 2 = 4 e anular ("fura-bolos") na quarta posição vale 1 X 2 X 2 X 2 = 8.
Os demais abaixados valem zero. A soma do seu "V" da vitória vale doze.
Viu?!!! Com os dedos você acaba de criar um sistema revolucionário: o sistema digital!!

Você sabe de onde vem a palavra digital? Digital vem de dedo: dedo, dígito, digital. Entendeu agora?
Entendeu o porquê do sistema digital? Cada algarismo no sistema binário corresponde a um dedo, ou
dígito. Daí o termo digital. Note que não é um dígito qualquer: é um dígito binário.

Dígito binário?! Ora, isto em inglês é binary digit. Olha só, escrevendo de um jeito diferente... BInary
DigiT. Entendeu?...

Sua excelência, primeiro e único, o pilar, a célula mater da sociedade informática, o famoso... tchan...
tchan... tchan...

BIT !!

É claro que o fato do termo "bit", ainda em inglês, significar "pedacinho", partícula, ajudou: na verdade,
um bit é a menor porção de informação que pode ser armazenada em um computador.

É parece que não é tão difícil assim, não é?!

2.6 Sistemas Numéricos - Bases

Agora, tomemos como exemplo o número 367. Como esta quantidade seria representada no sistema
binário? Vejamos ...

367 = 1X28 + 0X27 + 1X26 + 1X25 + 0X24 + 1X23 + 1X22 + 1X21 + 1X20

(101101111)2 = 367

Agora que já aprendemos a representar quantidades nos sistemas decimal e binário, vejamos outro
sistema também muito importante, o sistema hexadecimal. Este sistema (bastante simples apesar do nome
complicado) utiliza uma base com dezesseis caracteres. Quais são? Bom, procuremos, para facilitar as
coisas, utilizar caracteres já conhecidos. Assim, temos os algarismos de 0 a 9, que perfazem o total de 10
caracteres. Para completar os dezesseis caracteres, nada mais simples que utilizar as seis primeiras letras
do alfabeto: "A", "B", "C", "D" , "E" e "F".

Temos então que os caracteres que compõem o sistema hexadecimal são os seguintes:

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

Prof. Guilherme Azeredo Martins 11


Assim, neste sistema o número 10, por exemplo, é representado pela letra "A", ou seja, (A) 16 = 10.
Abaixo, temos outros exemplos:

(B)16 = 11; (C)16 = 12; (D)16 = 13; (E)16 = 14; (F)16 = 15;

É claro que a formação dos números na base hexadecimal obedece às mesmas regras já estudadas para os
sistemas decimal e binário.

Para mostrar isto, tomemos como exemplo o número 367. Utilizando as regras já conhecidas teremos:

367 = 1X162 + 6X161 + FX160, ou seja, (16F)16 = 367

Você já deve ter reparado que ao contrário do sistema binário que necessita de muitos "zeros" e "uns"
para representar pequenas quantidades, o sistema hexadecimal pode representar grandes quantidades com
um número menor de caracteres. É por isto que este sistema é também muito utilizado em informática.

Tomemos um outro exemplo:

63595 = FX163 + 8X162+ 6X161 + BX160, ou seja, (F86B)16 = 63595

Além dos sistemas já apresentados, existe um outro que, embora em menor escala é também utilizado em
informática. Este sistema é o octal. O sistema octal é o sistema de base oito que utiliza os algarismos de
"0" a "7" para representar números. Neste sistema, o número 367, por exemplo é representado da seguinte
forma:

367 = 5X82 + 5X81 + 7X80

(557)8 = 367

Bom, que tal agora que já aprendemos a lidar com sistemas diferentes do sistema decimal, consolidarmos
nossos conhecimentos praticando um pouco, com bases diferentes? Vamos lá, então...

Vamos começar descobrindo qual a quantidade representada pelo número 110100011 em binário. É fácil,
vamos lá...

(110100011)2 = 1X28 + 1X27 + 0X26 + 1X25 + 0X24 + 0X23 + 0X22 + 1X21 + 1X20

(110100011)2 = 256 + 128 + 0 + 32 + 0 + 0 + 0 +2 + 1

(110100011)2 = 419

Outro exemplo:

(10110)2 = 1X24 + 0X23 + 1X22 + 1X21 + 0X20

(10110)2 = 16 + 0 + 4 + 2 + 0

(10110)2 = 22

Agora vamos ver como é que se faz para representar quantidades na base hexadecimal.

Prof. Guilherme Azeredo Martins 12


(125A)16 = 1X163 + 2X162 + 5X161 + Ax160

(125A)16= 4096 + 512 + 80 + 10

(125A)16 = 4698

Outro exemplo:

(B8)16 = BX161 + 8X160

(B8)16 = 176 + 8

(B8)16 = 184
Agora um exemplo em octal:

(527)8= 5X82 + 2X81 + 7X80 ; (527)8= 320 + 16 + 7; (527)8 = 343

Ao ler estes exemplos você reparou que o que fizemos foi nada mais nada menos que transformar
números de bases 2, 16 e 8 para a base decimal? Pois bem, isto nos remete à seguinte questão: se tivermos
um número expresso na base 8, por exemplo e quisermos transformá-lo para a base 16, como fazer?

2.7 Mudanças de Bases

Ou seja, suponha que você tenha um determinado número, por exemplo, vinte e nove, expresso na base
binária, neste caso ele seria expresso na forma (11101) 2, e quisesse expressá-lo na base hexadecimal,
como proceder? A partir de agora começamos a estudar algumas regrinhas que tornarão esta tarefa
bastante simples.

Comecemos então pelas transformações de base mais importantes, as que envolvem a base decimal:

Creio que em matéria de mudança de bases, a primeira coisa que devemos aprender é transformar
números de bases diferentes para a base decimal. É muito fácil !! Querem ver?

2.7.1 Mudança de uma Base Qualquer para a Base Decimal

Pois bem, aqui vai a receitinha de bolo: para transformar números de qualquer base para a base decimal,
basta multiplicar cada algarismo deste número pelo valor da base, tantas vezes quanto for sua posição,
menos uma. Feitas estas operações, somam-se os resultados assim obtidos.

Exemplos: (2A3F)16 = 2X16X16X16 + 10X16X16 + 3X16 + 15 =

= 2X163 + 10X162+ 3X161 +15X160 = 8192 + 2560 + 48 + 15 = 10815

então, (2A3F)16 = (10815)10

Outro exemplo: (101101)2 = 1X25 + 0X24 + 1X23 + 1X22 + 0X21 + 1X20 =

= 32 + 0 + 8 + 4 + 0 + 1 = 45

(101101)2 = (45)10

Prof. Guilherme Azeredo Martins 13


2.7.2 Mudança da Base Decimal para uma Base Qualquer

Agora vamos ver como funciona a operação inversa. Para transformar números da base decimal para as
bases binária, hexadecimal ou octal, basta dividir sucessivamente o número expresso na base decimal
pelo valor da nova base, aproveitando o último quociente e o resto das operações, de baixo para cima (ou
de trás pra frente).

 TRANSFORMAÇÃO DE DECIMAL PARA BINÁRIO

Dividimos sucessivamente por 2, aproveitando o último quociente e o resto das operações, de baixo para
cima.

Exemplo: (43)10

43/2=21 (resto=1); 21/2 = 10 (resto=1);10/2=5 (resto=0);


5/2 = 2 (resto=1); 2/2 = 1 (resto=0);

Pegando o último quociente (= 1) e os restos das sucessivas divisões de baixo para cima (ou do fim para o
começo), obteríamos:

101011 ou seja, (43)10 = (101011)2


 TRANSFORMAÇÃO DE DECIMAL PARA HEXADECIMAL

Analogamente à transformação de decimal para binário, dividimos sucessivamente por 16, aproveitando o
último quociente e o resto das operações, de baixo para cima.

Exemplo: (859)10

859/16 = 53(resto=11); 53/16 = 3 (resto=5);

Pegando outra vez o último quociente (= 3) e os restos das sucessivas divisões de baixo para cima (ou do
fim para o começo), obteríamos:

35B (lembre-se que o 11 em hexadecimal vale B), ou seja,

(859)10 = (35B)16

 TRANSFORMAÇÃO DE DECIMAL PARA OCTAL

Dividimos sucessivamente por 8 e procedemos de maneira análoga, às descritas anteriormente.

Exemplo: (237)10

237/8 =29 (resto = 5); 29/8 = 3 (resto = 5);

Outra vez procedendo de maneira análoga aos exemplos anteriores, obteríamos:

355 ou seja, (237)10 = (355)8

As mudanças que envolvem as bases decimais são as mais importantes. Entretanto, aquelas que envolvem
as bases binárias e hexadecimais também são muito importantes.
Prof. Guilherme Azeredo Martins 14
2.8 Bytes

Já descobrimos que um "bit" nada mais é do que um dígito binário, ou seja, um algarismo de um número
representado no sistema numérico posicional de base dois (sistema binário). Por exemplo: a quantidade
quarenta e cinco, como vimos, é representada em binário por 101101, um número de seis algarismos,
portanto de seis bits, certo? Pois então vamos continuar e tentar descobrir mais coisas.

Como já vimos no início desta apostila, os primeiros computadores pessoais foram baseados em
microprocessadores de oito bits. O microprocessador ou CPU, como veremos, é o principal componente
do computador, o coração da máquina. Entretanto, por enquanto basta-nos saber que por causa disto, no
início trabalhou-se com conjuntos de 8 bits.

Com oito bits pode-se representar duzentos e cinqüenta e seis caracteres (por quê?), mais do que
suficiente para representar todas as letras maiúsculas e minúsculas, além dos algarismos, sinais de
pontuação, caracteres acentuados e símbolos tais como "=", "+", etc.
As CPU's evoluíram e já vai longe o tempo das de oito bits. Atualmente existem micros que operam com
64 bits, entretanto, o conjunto de oito bits permaneceu como padrão para a representação de caracteres e
códigos em geral. Pois bem: a este conjunto de oito bits dá-se o nome de BYTE.

Um byte então nada mais é que um conjunto de oito bits com o qual pode-se representar um total de 256
símbolos. Estes símbolos, dependendo do contexto em que a CPU os utiliza, podem ser caracteres,
quantidades, códigos, comandos para executar instruções, etc. Um byte é um conjunto de 8 bits cujo valor
pode variar de zero até 255. Assim, o menor grupo ordenado de bits representando uma informação útil e
inteligível para o ser humano é o caractere ou byte.

Existem diversas maneiras de agrupar os bits para formar as informações. Cada uma delas se constitui um
código.

Qualquer caractere (ou byte) a ser armazenado em um sistema de computação é convertido em um


conjunto de bits previamente definido para o referido sistema. Ou seja, é convertido de acordo com um
determinado código de representação de caracteres.

Existem alguns tipos de códigos, mas os mais importantes atualmente são:

Código EBCDIC (Extended Binary Coded Decimal Interchange Code), que significa código BCD
(Decimal codificado em binário) ampliado para a troca de informação;

O código EBCDIC é um código de oito bits. Assim, como já vimos, permite representar 256 caracteres
("A", "B", "c", "%", "#", "}", etc). Entretanto, nem todos os caracteres representados são visíveis. Alguns
são códigos de controle.

Código ASCII (American Standard Code for Information Interchange), que significa Código Padronizado
Americano para a Troca de Informações.

O código ASCII também é um código de oito bits. Entretanto neste código em certos casos somente são
representados 128 caracteres. O motivo é que o oitavo bit (bit mais representativo) é algumas vezes usado
como bit de checagem, isto é, bit de paridade.
Assim, cada caractere representado pelo computador tem um código binário que para facilitar a leitura é
representado em hexadecimal. Abaixo você encontra alguns exemplos.

Prof. Guilherme Azeredo Martins 15


EBCDIC ASCII

A ==> #C1 #41


b ==> #82 #62

2.8.1 Conceitos de KILOBYTES, MEGABYTES E GIGABYTES

No mercado de microcomputadores é comum encontrarem-se memórias de 8 MBytes, 1.2 GBytes e


outras. Por certo você também já ouviu falar em memórias de 128 KBytes, por exemplo. Por causa disto,
quase sempre o termo Byte é omitido e é muito comum designarem-se memórias como 8M, 1.2G, 128K,
etc.

Os termos M, G e K aqui referidos são letras indicativas de um valor numérico fixo utilizado para reduzir
a quantidade de algarismos representativos de um número. Nas grandezas métricas usa-se K (Kilo) para
representar valores 1000 vezes maiores e M para valores 1000000 vezes maiores.

Como os computadores são binários, todas as indicações numéricas referem-se a potências de 2, e por
esta razão, o K representa 1024 unidades (décima potência de 2 ou 2 10 = 1024 e o M representa 1048576
unidades (valor igual a 1024 X 1024 ou 210 X 210 = 220 ).

Assim, o valor 64 Kbytes (ou 64K), por exemplo, corresponde a 64 X 1024 = 65536 Bytes.

Temos então as seguintes correspondências:

1K = 1.024 --- 1M = 1.048.576 --- 1G = 1.073.741.824; ou


1K = 210 --- 1M = 220 --- 1G = 230
CAPÍTULO 3

O HARDWARE

Basicamente, conforme pode ser observado no diagrama abaixo, um Microcomputador pode ser dividido
logicamente em 4 módulos. São eles as unidades de entrada, saída, a UCP (Unidade Central de
Processamento) e a memória.

3.1 Diagrama de Blocos do Microcomputador

ROM
|
v
DISPOSITIVO DE ====> CPU ====> DISPOSITIVO
ENTRADA DE SAÍDA
^
V
RAM

^ ^ ^ ^
V V V

Prof. Guilherme Azeredo Martins 16


FITAS HD CD FD
ROM

3.2 Periféricos

São os dispositivos (em geral de entrada e saída) pertencentes ou associados ao microcomputador, que se
encontram instalados fora do núcleo principal UCP/MP, mas, na maioria das vezes, próximos, isto é, na
sua periferia.

3.3 Dispositivos de Entrada e Saída

Um dispositivo de Entrada ou Saída (periférico) é o equipamento acoplado a um sistema de computação


que efetivamente identifica a função Entrada ou a função Saída. Um Teclado, um Monitor de Vídeo, uma
Impressora, caracterizam de modo inequívoco aquelas funções, embora sejam apenas parte de um
subsistema do sistema de E/S. Um Teclado, por exemplo, não tem utilidade sem interface que
compatibilize sua lentidão e transmissão bit a bit com a velocidade de transmissão paralela do barramento
do sistema.

3.4 Dispositivos de Entrada

São os dispositivos utilizados com o objetivo de introduzir os dados que serão processados pelo
computador. Ex: Teclados, Mouses, Canetas Ópticas, Scanners, Microfones.

3.5 Dispositivos de Saída

São os dispositivos através dos quais o micro fornece o produto final do processamento dos dados. Ex:
Vídeo, Impressora, Caixas de Som, Plotters (impressora especial para desenho de plantas).

3.6 Dispositivos de Entrada e Saída.

São os dispositivos que podem tanto executar funções de entrada quanto de saída de dados.
Ex: Modens

3.7 Dispositivos de Armazenamento

São os dispositivos onde os dados podem ser gravados de forma permanente e lidos quando necessário.
Ex: HD, FD, Pen Drive, Fitas.

3.8 Memória

A memória é o componente de um sistema de computação cuja função é armazenar as informações que


são, foram ou serão manipuladas pelo sistema.

A memória é um conjunto de circuitos da placa-mãe que armazena códigos temporariamente.

Prof. Guilherme Azeredo Martins 17


Memória são Chips ou circuitos integrados, encaixados na placa-mãe. Cada Chip contem uma enorme
coleção de conjuntos de 8 capacitores elementares e cada conjunto corresponde a uma posição de
memória.

3.8.1 Organização da Memória Principal

Como a unidade básica de informação de um computador é o bit, a Memória Principal (genericamente


chamada de RAM) consiste de elementos de armazenamento individual de bits. Os bits permitem o
armazenamento de um valor (que pode ser 0 ou 1) em cada instante, podendo o valor armazenado num
dado momento ser alterado para o outro possível valor, através de um impulso externo.

Como o valor de um bit tem pouco significado, as MP são estruturadas e construídas, grupando-se
conjuntos ordenados de bits, chamados células, que são tratadas pelo sistema como uma unidade
individual de armazenamento. Cada célula de memória é então constituída de "m" bits (é mais simples
fabricar todas as células de tamanho igual e fixo). Cada um dos "m" bits de uma célula pode assumir, em
um determinado instante (por atuação dos impulsos já mencionados), os valores 0 ou 1.

A estrutura celular de uma MP só é versátil (isto é, permite o armazenamento e recuperação de


informações de qualquer célula que se deseje), se houver um processo que permita ao sistema identificar e
localizar cada uma das células existentes em uma memória. Tal processo consiste em numerar cada célula
de zero (primeira) até N-1 (última) em uma MP com N células. Este número identifica univocamente cada
célula (existe um número diferente para cada uma delas) e é conhecido como seu endereço.

Assim, o endereço de uma posição de memória é um símbolo permanentemente associado a esta posição
de memória que a individualiza em meio às demais (os endereços vêm de fábrica e não podem ser
alterados).

Tais endereços por serem seqüenciais, acarretam a noção de ordenação entre as células, o que facilita e
aumenta a rapidez do processamento.
O ato de designar uma posição de memória pelo seu endereço recebe o nome de endereçamento.

3.8.2 Posição de Memória

Uma posição ou local de memória é o lugar físico ocupado na memória de um computador pela unidade
de informação deste computador. As posições de memória de um computador podem ser representadas
por um mapa de memória.

No exemplo ao lado, é mostrado +----+----+----+----+----+


o mapa de memória de um computador | 00 | 01 | 02 | 03 | 04 |
hipotético com 24 posições, nume- +----+----+----+----+----+
radas de 00 à 24. Entretanto, ao | 05 | 06 | 07 | 08 | 09 |
invés de números poderíamos ter +----+----+----+----+----+
escolhido letras ou qualquer outro | 10 | 11 | 13 | 14 | 15 |
conjunto ordenado de símbolos. +----+----+----+----+----+
| 16 | 17 | 18 | 19 | 20 |
+----+----+----+----+----+

3.8.3 Conteúdo de Uma Posição de Memória

O conteúdo de uma posição de memória é a informação armazenada nesta posição de memória.

Prof. Guilherme Azeredo Martins 18


3.8.4 Memória RAM ou Memória Principal (MP)

RAM - Random Access Memory => Memória de Acesso Aleatório. Porém, melhor seria: Read And Alter
Memory => Memória [que se pode] ler e alterar. Memória volátil porque o conteúdo se perde quando o
micro é desligado.

É a memória básica de um sistema de computação. É o dispositivo onde o programa (e seus dados) que
vai ser executado é armazenado para que a UCP vá “buscando” instrução por instrução. Trata-se de um
conjunto de posições de memória cujo conteúdo pode ser alterado e que só se mantém enquanto o micro
está ligado. A capacidade da memória RAM é medida pelo nº de bytes que ela pode armazenar.
Resumindo: É o dispositivo onde estão carregados os programas que estão sendo executados.

3.8.5 Memória Secundária, Auxiliar ou de Massa

Tem por objetivo garantir um armazenamento mais permanente de toda a estrutura de dados e programas
do usuário. Pode ser constituída por diferentes tipos de dispositivos, tais como: HD’s, FD’s, CD-ROM.

3.8.6 Memória Virtual

Chama-se Memória Virtual a uma região do disco para a qual são transferidos dados ou trechos do
programa em execução na RAM, caso esta não tenha espaço suficiente para abrigá-los.

3.8.7 Memória Cache

Basicamente é um dispositivo fabricado com tecnologia semelhante às da UCP e da MP, cuja função é
acelerar a velocidade de transferência das informações entre UCP e MP, melhorando com isso o
desempenho do sistema de computação.

3.8.8 Memória ROM

Read Only Memory - Memória somente de leitura


Guarda informações básicas. ROM é a memória permanente (não volátil) onde está o BIOS (Basic
Input/Output System). O BIOS informa ao computador o que fazer quando ele é ligado (processo de
BOOT).

3.8.8.1 O Processo de BOOT

Você liga o micro e aquele monte de metal e plástico até então inerme entra em frenética atividade. Os
mostradores luminosos do gabinete se acendem, estranhos ruídos são emitidos, piscam os leds dos drives
e do teclado, em suma: até que a máquina se ponha docilmente à disposição do primeiro comando, ocorre
uma febril atividade. Mas tudo o que sabemos até agora de informática nos garante que o micro, por si
mesmo, não faz absolutamente coisa alguma: só o que a CPU sabe fazer é executar instruções lidas na
memória e é preciso que essas instruções, ou programa, sejam carregadas na memória. Mas o micro faz
tudo aquilo imediatamente após ser ligado, sem que se tenha carregado programa algum. Que diabo
estaria acontecendo?

Bem, toda aquela atividade tem o nome de “boot”. Que, traduzido do inglês, significa “bota”, ou
“botina”. O que não faz o menor sentido, a menos que se conheça o ditado “rising oneself pulling up the
bootstraps”, usado quando alguém quer fazer sozinho algo que necessariamente requer alguma ajuda,
como levantar-se no ar puxando para cima o cordão das próprias botas. Porque é mais ou menos isso que

Prof. Guilherme Azeredo Martins 19


a máquina faz quando é ligada: com seus próprios recursos, sem ajuda externa, carrega o mais importante
dos programas, aquele que a partir de então irá controlar toda a máquina: o sistema operacional. Se você
levar em conta que, para uma máquina sem sistema operacional, a palavra “arquivo” não faz o menor
sentido (pois somente o sistema operacional “entende” o conceito de arquivos), vai perceber que o que
ocorre é na verdade um pequeno milagre, exatamente como se alguém tivesse levantado a si mesmo
puxando para cima os cordões das botinas. Por isso o processo de partida inicialmente tomou o nome de
“bootstrap”, que depois foi simplificado para boot.

Examinar detalhadamente o que acontece durante o boot pode ser um exercício interessante, mas
implicaria em uma digressão muito extensa e fora do programa do nosso curso. Por isso vamos sintetizá-
lo em duas ações: a máquina testa-se a si mesma (por isso aciona todos os periféricos, o que explica tanto
piscar de leds) e carrega o sistema operacional. A primeira ação é interessantíssima (chama-se POST, de
Power On Self Test, ou auto-teste de partida), mas no momento pouco nos interessa. Já a segunda, o
mistério da carga do sistema operacional a partir do nada, é justamente o objeto de nossa discussão: como
pode a máquina ler no disco os arquivos do sistema operacional para carregá-los na memória, se ainda
não carregou (evidentemente...) o próprio sistema operacional, o único ente capaz de “entender” o
conceito de arquivos?

Uma solução possível seria gravar o sistema operacional em chips de memória ROM. Para entender como
isso poderia funcionar, precisamos lembrar-nos do que vem a ser memória ROM. Pois não há mistério:
ROM vem de “Read Only Memory”, ou memória apenas para leitura. Um tipo de memória que, como a
nossa conhecida memória RAM, pode armazenar bytes (e, portanto, guardar um programa). Mas que,
diferentemente da RAM, não pode ter seu conteúdo alterado. Em contrapartida, é perene e não perde as
informações que armazena quando a máquina é desligada.

É justamente essa última propriedade que poderia resolver nosso problema: se armazenássemos em chips
de memória ROM um programa cuja instrução inicial esteja em um endereço conhecido, para o qual o
ponteiro de instruções da CPU “aponta” no momento em que ela é energizada, esse programa seria
executado automaticamente assim que a máquina fosse ligada. Uma solução perfeita para o sistema
operacional, não fosse por dois detalhes pequenos mas relevantes: a memória ROM exige longos tempos
de acesso (ler bytes sucessivos em ROM leva um tempo mais longo que em RAM, o que faz com que
programas armazenados em ROM sejam de execução muito lenta) e, como sabemos, a memória ROM
não pode ser alterada. Ora, o sistema operacional é executado o tempo todo, mesmo quando outros
programas estão “rodando”, e por isso não pode ser lento. E precisa ser freqüentemente atualizado (por
isso tantas “versões” dos sistemas operacionais mais populares). Se gravado em chips de memória ROM,
para atualizar a versão seria necessário trocar os chips. Por essas razões, embora alguns micros portáteis
usem o sistema operacional gravado em ROM, essa é a exceção, não a regra. Portanto, a memória ROM
não resolve nosso problema: o sistema operacional deve ser carregado na memória RAM (mais rápida) e
lido do disco (para permitir mudar de versão meramente atualizando arquivos).

Mas nada impede que o programa que executa o POST seja gravado em ROM: afinal, ele é executado
uma única vez a cada partida e por isso não é tão importante que seja rápido. E nem precisa ser atualizado
com tanta freqüência, pois os dispositivos que são testados não mudam a toda hora. Pois ele é, de fato,
gravado em ROM. Por isso a máquina parte tão serelepe para executar o POST assim que ligada.

Portanto, há um programa gravado em ROM que é executado automaticamente tão logo o micro é ligado.
Então, já que é assim, por que não incorporar a ele as rotinas necessárias para ler do disco os arquivos do
sistema operacional? Bem, o problema é que o programa não “sabe” o que é um arquivo. Infelizmente só
quem “sabe” dessas coisas é o sistema operacional, e o programa roda antes que ele seja carrregado.
Portanto, o programa não pode encontrar um arquivo no disco. A não ser que...

Prof. Guilherme Azeredo Martins 20


Mas claro! Tinha que haver uma solução. E tinha que ser evidente...
Nessa altura dos acontecimentos tenho certeza que você já atinou com ela...

3.9 PROCESSADORES

Ou UCP (Unidade Central de Processamento)

É o ““cérebro””, o “coração” ou “centro nervoso” de um microcomputador porque controla sua operação


(através da Unidade de Controle), executa operações aritméticas e lógicas (através da UAL - Unidade
Aritmética e Lógica) e armazena os dados e instruções na memória interna (registradores).

Uma CPU então, é, essencialmente, um conjunto de posições de memória chamadas “registradores”


(bastante semelhantes às que examinamos aqui quando discutimos memória RAM) conjugado a um outro
conjunto de circuitos auxiliares capazes de executar algumas operações elementares com os valores
armazenados na memória RAM e nos registradores. De uma forma bastante simplificada, podemos
considerar que uma CPU é um circuito integrado “inteligente”, ou seja, capaz de obedecer a certas
instruções.

 Freqüência de Operação dos Microprocessadores.

"Velocidade" do chip. Porque entre aspas? Ora, porque a velocidade da CPU de minha máquina,
evidentemente, é zero. Já que, felizmente, ela passa todo o tempo parada em cima de minha mesa e
velocidade é uma grandeza física definida: o espaço percorrido na unidade de tempo. A grandeza usada
para medir a rapidez ou lentidão com que um chip trabalha é a freqüência, ou número de operações
elementares (ciclos) executadas na unidade de tempo. E freqüência se mede em Hertz. Um Hertz é igual a
um ciclo por segundo. Como nossas máquinas são capazes de executar milhões de operações por
segundo, para avaliar sua rapidez usa-se o MegaHertz, um múltiplo do Hertz. Um MegaHertz é igual a
um milhão de ciclos por segundo e sua abreviação é MHz. Portanto, uma CPU de 33MHz é aquela cuja
freqüência de operação é igual a trinta e três milhões de ciclos por segundo. Um negócio muito rápido.

 Memória virtual.

Outro ponto de interesse é a capacidade de manejar a memória virtual. Que consiste em "fingir" que a
máquina dispõe de muito mais memória do que realmente existe. Vejamos como essa mágica é possível.
Imagine que você está executando um programa de editoração eletrônica. E está editando um livro muito
grande. Imagine ainda que a máquina tem 4Mb de memória RAM, dos quais o código executável do
programa ocupa 500K. E o texto e figuras de seu livro ocupam mais 6Mb. Impossível? Não, se a CPU
"souber" manejar memória virtual. Ela carrega na memória o programa e mais o tanto que couber dos
dados. Quando se esgota a memória RAM, a CPU copia "pedaços" de memória para o disco e enche os
trechos assim liberados com o resto dos dados, até que todo o livro seja carregado. É como se "retratos"
da memória fossem transcritos para o disco. O que é possível, já que tanto na memória quanto no disco o
que se tem é um conjunto de bytes em uma determinada ordem. A diferença essencial é que a CPU só
pode "rodar" o que está na memória: no disco, tudo fica "congelado". O programa precisa acessar um
trecho que está no disco? Sem problema: a CPU rapidamente "troca" o trecho do disco com um trecho da
memória RAM que não está sendo usado naquele momento, sem que o programa sequer tome
conhecimento. A tramóia é tão bem feita que até mesmo código executável pode ser jogado da memória
para disco e vice-versa. Evidentemente, na hora de executar a CPU precisa trazê-lo de volta para a
memória. É por isso que algumas vezes, quando se está rodando Windows, por exemplo, a luz do disco
rígido acende repentinamente mesmo quando não se espera nenhum acesso à disco: é a CPU executando
Prof. Guilherme Azeredo Martins 21
sua silenciosa faina de trocar código e dados da memória real (RAM) para a virtual (disco). E é também
por isso que em máquinas com pouca memória RAM, por vezes tudo fica muito lento: afinal, acesso à
memória RAM é muito mais rápido que a disco.

Algumas CPU são capazes de fazer isso, outras não. E, das que o fazem, umas podem usar muito mais
espaço em disco que outras. Então, no que toca à memória virtual, interessa não somente o fato da CPU
poder manejá-la, mas também que "tamanho" a memória virtual pode ocupar em disco. Quando
examinarmos as CPU, veremos ambas as características de cada uma.
E enfim chegamos ao final do começo. Agora estamos prontos a examinar a primeira geração de
microprocessadores da linha PC.

LISTA DE EXERCÍCIOS I

1. Realize as mudanças de base abaixo indicadas:


10. ( 451 )10 = ( )8
1. ( 2879 )10 = ( )16
11. ( 389 )10 = ( )8
2. ( 2562 )10 = ( )16
12. ( 135 )10 = ( )8
3. ( 2830 )10 = ( )16
13. ( 177 )8 = ( )10
4. ( B2C )16 = ( )10
14. ( 7 )8 = ( )10
5. ( A8D )16 = ( )10
15. ( 53 )8 = ( )10
6. ( C1F )16 = ( )10
16. ( 1011 )2 = ( )10
7. ( 71 )10 = ( )2
17. ( 1101 )2 = ( )10
8. ( 65 )10 = ( )2
18. ( 1001 )2 = ( )10
9. ( 53 )10 = ( )2
19. ( 14HG )20 = ( )10

Prof. Guilherme Azeredo Martins 22


21. ( 98435 )10 = ( )20
20. ( 14530 )5 = ( )10
22. ( 376 )10 = ( )5

ESTUDO DIRIGIDO II
1. Conceitue Byte.

2. Um byte é um conjunto de 8 bits que pode representar um total de: ......... caracteres.

3. Cite os dois mais importantes códigos de representação de caracteres.

4. No código ASCII, para que é utilizado o oitavo bit (bit mais representativo)? Para que serve este bit?

5. Indique o valor de X nas seguintes expressões:

a) 65536 = XK e) 64 Kbytes = X bits

b) 12288K = XM f) 262.144 bytes = Xkbits

c) 19.922.944 = XM g) 128 Gbits = Xbits

d) 8 GBytes = XBytes h) 256 Kbytes = Xbits

6. Um computador tem 128 Kbytes de memória. Quantos bits tem esta memória?

7. Um computador tem 256 K de memória. Quantas letras podem ser armazenadas simultaneamente em sua
memória utilizando o código EBCDIC?

Prof. Guilherme Azeredo Martins 23


8. Quantos kbytes de memória tem um computador que tem disponível 1.048.576 X 8 bits de memória?

9. Supondo que em uma página cabem 64 colunas e 32 linhas de caracteres e que um volume da enciclopédia
Barsa tem 512 folhas (cada uma com duas páginas, frente e verso) e que uma enciclopédia Barsa é constituída
por 16 volumes, qual a capacidade (em Mbytes) do HD que devo adquirir para armazenar uma enciclopédia
Barsa? Quantas Barsas cabem em um Hd de 1.2 Gb?

10. Qual a capacidade de armazenamento (em KB, MB e GB) que deve possuir um disco para armazenar os
1024 livros contábeis de uma empresa, cada um com 512 folhas (frente e verso) c/ 36 linhas e 128 colunas de
caracteres por página? Dentre os discos existentes no mercado, qual escolher?

OBS: Discos existentes no mercado: 40 Mb, 80 Mb, 120 Mb, 360Mb, 560 Mb, 850 Mb, 1.2 Gb, 16 Gb

11. O almoxarifado de uma empresa possui 1024 ítens. Cada ítem é representado por um código de 8
caracteres.
No departamento pessoal desta empresa estão cadastrados 4096 funcionários. O prontuário de cada
funcionário possui 4 páginas, cada uma com 64 colunas e 64 linhas de caracteres.

O restante da documentação da empresa está no armário do gerente e é composto por 256 pacotes, cada um
com 1024 folhas ( frente e verso). Cada página da folha possui 128 colunas e 16 linhas de caracteres.

A empresa necessita de um novo disco para armazenar todos os dados acima descritos. Qual dos discos abaixo
deve ser o escolhido?

OBS: Deve ser escolhido o mais barato.

560 Mb, 850 Mb, 1.2 Gb ou 1.6 Gb


<------------------------------------------>
Mais barato Mais caro
Resp:

12. Na empresa da D. Marilaine a economia é o mandamento nº 1. Assim, a D. Marilaine resolveu aproveitar


antigos HD’s para armazenar documentos confidenciais (caixa 2 e demais falcatruas). Sabe-se que D.
Marilaine tem 32 pacotes com 256 folhas (frente e verso) cada. Cada página dos documentos tem 64 colunas e
32 linhas de caracteres. Pergunta-se: qual dos seus antigos discos a D. Marilaine deveria utilizar?

40 Mb, 20 Mb, 120 Mb ou 360 Mb

13. Por que a memória ROM é importante?

14. Por que a memória RAM é importante?

15. Conceitue CPU.

16. O que você entende por velocidade do microprocessador?

17. Explique o que é e para que serve a memória cache.

18. O que é memória virtual? Como funciona?

19. O que é memória secundária ou auxiliar?

Prof. Guilherme Azeredo Martins 24


20. Cite três tipos de dispositivos de armazenamento.

21. Conceitue (o que é?) e descreva (tal como descrito na apostila) o processo de BOOT.

22. O que é POST?

23. Cite dois tipos de dispositivos de entrada.

24. Cite dois tipos de dispositivos de saída.

25. Cite um dispositivo que pode ser definido tanto como unidade de armazenamento quanto como unidade de
E/S(Entrada e Saída).

26. Conceitue Periféricos.

27. O código ASCII é um código de quantos BITS úteis?

28. Conceitue Periféricos.

29. Cite um dispositivo de entrada e saída que não seja também de armazenamento.

Prof. Guilherme Azeredo Martins 25

Você também pode gostar