Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

<p>Maria A. Monteir'o</p><p>Prefácio</p><p>Desde sua primeira edição, este livro tem o propósito</p><p>desavir de livro-texto básico para divasos tipos de cur­</p><p>sos na área de Jnformática,seja no contexto de graduação,</p><p>seja no de cursos de extens..i.o universitária. O material</p><p>nele contido e a forma de apresentação e dt.-scriçào per­</p><p>mitem, ainda, que de possa ser utilizado até mesmo para</p><p>estudos individuais para principiantes.</p><p>A iua recepcividade no mercado e nos meios escolares</p><p>motivou seu constante aperfeiçoamento, o que redundou</p><p>nas edições subseqiienres.</p><p>A esrruturn dos assuntos em capítulos procurou seguir</p><p>a natural organização funcional de um computador, com</p><p>seus componentes básicos: memória, processador e en­</p><p>trada/ saída, as quais não se alteraram com o tempo; so­</p><p>mente foram aperfeiçoadas em capacidade, velocidade e</p><p>AexibiLidade, parecendo ser, por isso. uma metodologia</p><p>apropriada parn o ensino do assunto. Para melhor en­</p><p>tendimento, acrescentaram-se alguns capítulos com ex­</p><p>tensões intrínsecas e complememações pertinentes aos</p><p>citados componentes.</p><p>O contc(1do de cada capítulo foi daborado e tem sido</p><p>atualizado consid~r:mdo o programa e a experiência de</p><p>ministrá-lo por mais de 28 anos em cursos na área de</p><p>Informática em Universidades, empresas e outras insti­</p><p>tuições, assim como os comentários que eventualmente</p><p>são feitos por colegas e alunos.</p><p>Esta edição foi ampliada e atualizada de modo a aten­</p><p>der à 1naioria das expectativas cm uma multiplicidade de</p><p>cursos. co111 objetivos e profundidades difcrcnt,·s, bem</p><p>como a alguns novos conceitos l' tecnologias surgidos</p><p>em um mercado de grande e rápida evolução. Esta edi­</p><p>ção é constituíd:1 de 12 capítulos e seis apêndkes, <'l.lém</p><p>da bibliografia e da parte com as respostas aos exercícios</p><p>inseridos em todos os capítulos e cm alguns apêndices.</p><p>Para facilitar o seu uso, incluiu-se nos capítulos (prin­</p><p>cipalmente do Cap. 1 ao Cap. 11) a descrição básica do</p><p>assunto a que o capítulo se refere, contendo, assim, as ca­</p><p>racterísticas e particularidades essenciais ao conhecimen­</p><p>to principal sobre a área coberta pelo titulo do capítulo.</p><p>como o processador ou a memória. Além disso, foi acres­</p><p>centado um capítulo sobre a tecnologia das arquiteturas</p><p>mais atuais dos nücrocomputadores e um conjunto de</p><p>apêndices que aprofundam a descrição e apresenrnçào</p><p>de vários assuntos, visando a cursos que requerem mais</p><p>detalhes ou leitores mais curiosos e intcn-ssados, t.-special­</p><p>mente o Apêndice D - Alguns Detalhes.</p><p>Sn$ W</p><p>O capítulo de memória foi dividido em dois, um para</p><p>a apresentação da hierarquia de um sistcn1a de memória</p><p>e a descrição da 1nemória principal e o outro exclusivo</p><p>para memórias cache. A memória secundária tambérn</p><p>se tornou um capítulo separado. deixando-se o subsis­</p><p>tema de entrada/saída apenas para os elementos básicos</p><p>desse assunto, como as interfaces e dispositivos periferi­</p><p>cos clássicos.</p><p>Em todos os capítulos e em alguns apêndices foram</p><p>acrescentados mais exercícios, de modo a proporcionar</p><p>ao aluno a oportunidade de verificar seu aprendizado e</p><p>capacidade de absorção dos conhecimentos com a prática</p><p>dos exercícios. Ao final do livro consta sua resposta.</p><p>O Cap. 1 consiste em uma introdução ao assunto abor­</p><p>dado. estabelecendo alguns conceitos básicos e concluin­</p><p>do com um breve histórico sobre a criação e a evolução</p><p>dos computadores. Nesta edição, o texto relativo ao his­</p><p>tórico dos computadon..--s foi ampliado.</p><p>O Cap. 2 apresenta de modo sucinto os componentes</p><p>básicos de um computador e define unidades essenciais</p><p>:10 entendimento do resto do livro, como o bit e o byte,</p><p>bem como outras unidades referenciais.</p><p>Como os compmadores digitais são máquinas binárias,</p><p>e estamos habituados à aritmética decimal, no Cap. 3 s.1.o</p><p>:1present.1dos conceitos sobre sistemas de numeração niio­</p><p>decimais. bem como métodos para convers.io de valores</p><p>de base l O para a base 2 e para as bases 8 e 16, us.,das com­</p><p>plcmcmarmcntc nos sistcn1as de processamento de dado.s.</p><p>Mostra-se, ainda, como se efetuam operações aritméticas</p><p>em sistema.ç não-decimais. Como já mencionado antes,</p><p>foi aumentada a quantidade de exercícios. Ainda assim,</p><p>se o Jeitor estiver interessado cm mais detalhes, poderá</p><p>encontrá-los no Apêndice A - Sistemas de Numeração,</p><p>onde o assunto é novamente tratado, porém com mais</p><p>profondidade.</p><p>Devido à sua relevância no dese1npcnho dos sistemas</p><p>de computação, o estudo da memória foi realçado nesta</p><p>edição, de modo que o Cap. ~ trata exclusivamente dos</p><p>aspcctos relativos à hierarquia de um sistema de armaze­</p><p>namento e êr1fase na memória principal (ou conhecid1</p><p>como RAM). deixando-se a memória cache para um</p><p>capítulo separa.do (Cap. 5) e a memória secundária para</p><p>outro capítulo específico (Cap. 9).</p><p>Os Caps. 6 e 7 revistos e atu:1lizados mostram. respec­</p><p>tivamcntc, detalhes conceituais da organização e funcio­</p><p>namento dos processadores, be1n como relativos ao modo</p><p>iv / Prefáâo</p><p>corno os dados são representados internamente em um</p><p>sistema de computação, como as técnicas utiJizadas para</p><p>implementação de operações aritméticas corn diferen­</p><p>tes tipos de dados. Além disso. foram acrescemados rnais</p><p>exercícios a cada um desses capítulos.</p><p>O Cap. 8 trata do cortjumo de insmrções de máquina,</p><p>que todos os processadores possuem e que se constituem</p><p>de elemento fundamental de uma determinada arquitetu­</p><p>ra. Ele foi revisto e ampliado em relação à edição anterior,</p><p>alterando-se, inc1usivc, seu nome para atender melhor ao</p><p>tipo de abordagem do assunto.</p><p>No Cap. 9 são tratados assuntos relativos às etapas re­</p><p>alizadas para efetivação da execução de um programa</p><p>elaborado em uma linguagem diferente da que é inteli­</p><p>gível pelo hardware, ou seja, a linguagem de máquina. Em</p><p>oucras palavras, apresentarn-se conceitos sobre compila­</p><p>ção, linkedição e interpreiaçào, que permitem ao leitor</p><p>compreender o que se passa no computador durante a</p><p>execução de seu programa.</p><p>Os diversos dispositivos, denominados genericamente</p><p>periféricos, são abordados no Cap. 1 O (Entrada e Saída},</p><p>alguns dos quais discutidos com mais detalhes que outros</p><p>ern virtude de seu maior apelo popular.</p><p>No Cap. 11, apresenta-se uma breve descrição da ar­</p><p>quitetura R.ISC - R.educed lnstruction Ser Computers,</p><p>e são relacionados alguns aspecros comparativos entre essa</p><p>arquitetura e a arquitetura denominada C ISC-Complex</p><p>Instruction Set Computers, largamente en1pregada nos</p><p>processadores da fanúlia x86.</p><p>Foi acrescentado um capítulo (Cap. 12) com elementos</p><p>conceituais e descritivos de arquitetu ras mais avançadas e</p><p>atuais, como as de procc-ssadorl"S superescalarcs e super­</p><p>pipclining e arquitemras de 64 bits.</p><p>Sn$W</p><p>Diversos apêndices completam e aprofundam o texto,</p><p>comendo uma descrição nuis detalhada do sistema de</p><p>numeração no Apêndice A, uma descrição dos principajs</p><p>conceitos de Lógica Digital, alicerce no projeto e imple­</p><p>mentação de co1npuradores digitais, no Apêndice B, con­</p><p>ceitos de compilação, linkediçào e de execução de pro­</p><p>gramas. no Apêndice C, sobre códigos de represent.1çào</p><p>interna de caracteres, no Apêndice E, além de um glossá­</p><p>rio no Apêndice F e uma relação de elementos bibliográ­</p><p>ficos. que servem de auxílio e referência aos leitores. No</p><p>Apêndice D foram incluídos diversos tópicos, com con­</p><p>ceitos e mais detalhes sobre componentes e tecnologias</p><p>concernentes aos assuntos tratados de forma fundamental</p><p>no texto básico. Finalmente, foram inc1uídas as respostas</p><p>aos exercícios propostos nos diversos capítulos.</p><p>Antes de finalizar esta parte inicial do livro,gostaria de</p><p>ressaltar que esta edição. como as ameriores, ceve motiva­</p><p>ção e sofreu alterações graças aos comentários e obser­</p><p>vações de mais de 28000 alunos e ex-alunos, ben1 como</p><p>de professores que tenho tido o prazer de fazer contato</p><p>ncssc-s anos. É muito importante que haja o maior nú­</p><p>mero possível desses comentários, cflticas e observações,</p><p>inclusive sobre eventuais om.is.sõcs de assuntos conside­</p><p>rados relevantes aos diversos programas dos cursos. Para</p><p>tanto,</p><p>com valores de até 15 algarismos e</p><p>com polinõmios de até 3.0 grau. Ele conseguiu convencer o governo inglês a financiar a construção de uma</p><p>máquina mais sofisticada e precisa, capaz de calcular polinômios de até 6.0 grau e números de até 20 dígitos.</p><p>Essa máquina nunca funcionou, e após 1nuito dinheiro gasto pelo governo e, dize1n, todo o de 13abbage, o</p><p>governo inglês dcsis,iu do projeto.</p><p>Esse novo tipo de máquina foi chamado pelo seu inventor de mhq11i11n aualftica.</p><p>A máquina era, na realidade, um computador mecânico capaz de a1111azenar 1.000 números de 20 algarismos</p><p>e que possuía um programa que podia modificar o funcionamento da máquina, fazendo-a realizar diferentes</p><p>Sn$ W</p><p>lurmdução / 15</p><p>cálculos. Esta era de fato a sua grande diferença e vantagem sobre as anteriores, o fato de se tornar de uso mais</p><p>geral por possuir a capacidade de modificar suas operações e assim realizar diferentes cálculo,. Pode-se dizer</p><p>que essa máquina foi a precursora dos primeiros computadores elecrônicos, inclusive no seu método de intro­</p><p>duzir instruções por ca1tõcs perfurados (muito usado nas primeiras gerações de computadores detrônicos) .</p><p>Embora inteiramente mecânica. a máquina analítica de Charles Babbage possuía essencialmente os mesmos</p><p>componentes que u,n compucadol' atual:</p><p>• memória: constituída de rodas dentadas de contagem;</p><p>• processador: com uma unidade capaz de realizar as quatro operações aritméticas (operando com pares de</p><p>registradores) e "unidade de controle'' . constituída de cartões perfurados convenientemente para realizar esta</p><p>ou aquela operação;</p><p>• saída: para uma impressora ou para um dispositivo perfurador de cartõcs.</p><p>Além da fundamental característica de realização de progi-amas de emprego geral, o projeto ainda acrescen­</p><p>tou a capacidade de desvio da seqüência de ações da máquina, isto é, um prenúncio do que mais tarde (nos</p><p>atuais computadores) seiiam as instruções "Jump1</p><p>• (desvio incondicional) e p. ex ., "Jump on zero" (dcsvio</p><p>condicional).</p><p>Alguns pesquisadores acreditam que Babbagc utilizou cm seus cartões perfurados a idéia de Jacques Jacquard,</p><p>anteriormenre eirado.</p><p>O projeto final de Babbage. que pretendia ter a capacidade nào de calcular valores com 20 dígitos, mas sim</p><p>com 50 algarismos, nunca chegou a se:: ton1ar uma realidade física. talvez por estar realmente avançado demais</p><p>p:lra a época, quando a tecnologia de fabricação dos dispositivos neccs.sários ao fimcionarnento das engrena­</p><p>gens não tinha a devida capacidade.</p><p>Alguns o utros detalhes histó1icos interessantes podem ser citados, como a estimativa de Babbage de que sua</p><p>máquina deveria realizar uma operação de adição c:m um segundo e uma multiplicação em um minuto, e que</p><p>o progr:-1111a c1iado para fazer a máquina funcionar foi desenvolvido por uma moça chamada Ada Lovelace.</p><p>que pode ser, então, considerada a primeira programadora de computador d.i história, e que deu seu nome</p><p>para a modema linguagem de programação ADA, desenvolvida para o Departamento de Defesa dos EUA.</p><p>1.2.2 Época dos Dispositivos Eletromecânicos (1880-1930)</p><p>Com a invenção do motor dénico no fim do século XIX. surgiu uma grande quantidade de máquinas de</p><p>somar acionadas por motores elétricos baseadas no princípio de funcionamento da máquina de Pascal. Essas</p><p>máquinas se tornaram dispositivos comuns cm qualquer escritório até o advento das modernas calculadoras de</p><p>bolso, cm 1970.</p><p>Em 1889, Herman Hollerith desenvolveu o cartão perfurado para guardar dados (sempre o cartão perfura­</p><p>do, desde Jacques Jacquard) e também uma máquina tabuladora rnecânic::1, acionada por um mocor elétrico,</p><p>que contava, classificava e ordenava informações annazenadas em cartões perfurados. Por causa dessa inven­</p><p>ção, o Bureau ofCensus dos EUA conrrarou Hollerith cm 1890 para utilizar sua máquina tabuladora na apu­</p><p>ração de dados do censo de 1890. O censo foi apurado cm dois anos e meio, apesar do aumento da população</p><p>de 50 para 63 milhões de habitantes em relação ao censo de 1880, que consumiu quase l O anos de processa­</p><p>mento manual.</p><p>O sucesso de Hollerith com a apuração do censo conduziu à criação, cm 1896, da Tabulating Machine</p><p>Company, por onde Hollerith vendia uma linha de máquinas de tabulação com cartões perfm-ados. Em 191-1,</p><p>um banqueiro persuadiu três companhias a se juntarem, entre ebs a empresa de Hollerith, formando a Computer</p><p>Tabulating R.ecording Corporation. Thomas Watson foi contratado como gerente geral, e em 1924 ele mudou</p><p>o nome da companhia para IBM - Intemational Business Machines, logo após ter iniciado no Canadá uma</p><p>bem-sucedida filial. Atualmente, os cartões perfurados nào sào mais utilizados (até a década de 1980 eles fo­</p><p>ram um dos principais elementos de entrada de dados dos computadores d igitais, inclusive nos IBM/360/370</p><p>e de outros fabricantes). Também eram chamados de cartões Holle,ith, assim como o código de 12 bits por</p><p>eles us.1do também se denominava código Holletith.</p><p>SU$W</p><p>16 / fotmduçifo</p><p>A primeira máquina de calcular cletrônica somente surgiu por volta de 1935, e seu inventor foi um estu­</p><p>dante de engenharia alemão, Konrad Zusc, cuja idéia consistia cm cliar uma máquina que usava relés mecâ­</p><p>nicos que, atuando con10 chaves, podiam abrir ou fechar auto1naticainente1 o que levou à utilização de nú­</p><p>meros binários em vez de algarismos decimais, utilizados nas engrenagens da máquina de Babbage.</p><p>Em 1936, Zusc deixou de ser estudante e profis.5ionalmente ciiou sua primeira máquina, chamada Z 1, baseada</p><p>cm rdés mecânicos. que usava um teclado como dispositivo de entrada e lâmpadas (dispositivo binário - acesa</p><p>e apagada) como componente de saída (o primeiro microcomputador com ercial, o Altair, em 1974, rambém</p><p>usava lâmpadas como dispositivo de saída1 embora ainda não ernpregasse o teclado como dispositivo de entra­</p><p>da). Zuse realizou alguns aperfeiçoamemos em seu "computador" até concluir, em 1941, o Z3, o qual utili­</p><p>zava relês eletromecânicos e era controlado por programa, sendo talvez o primeiro computador efetivamente</p><p>operacional do mundo. Um outro modelo mais aperfeiçoado, o Z4, foi usado pelos militares alemães para</p><p>auxiliar no projeto de aviões e mísseis durante a Segu nda Guerra Mundial. Provavelmente Zuse te,ia desen­</p><p>volvido máquinas de maior capacidade e versatiJidade St! rivesst! sido mais bem financiado pdo governo ale-</p><p>1nào. Os bombardeios aliados na Alemanha destruíram a maior parte dos computadores construídos por Zuse,</p><p>e por isso o seu trabalho foi praticamente perdido, restando apenas o registro histórico dessas invenções.</p><p>Outro "inventor" da época de dispositivos eletroinecânicos foi Howard Aiken, un1 fisico e rnacen1ático</p><p>americano que desenvolveu um "computador", o Mark 1, u tilizando os princípios básicos da máquina de</p><p>Babbage (era um sistema decimal e não binário, como os de Zusc), com engrenagens decimais e com estru­</p><p>tura computacional baseada em relés eletromecânicos. O projeto, que foi financiado pela IBM, era capaz de</p><p>armazenar 72 números, e as instruções de dois operarldos erarn introduzidas na 1náquina por meio de uma 6ca</p><p>de papel perforndo. Ao ser completado, em 1944, o Mark I podia realizar uma soma em seis segundos e uma</p><p>divisão em 12 segundos (Charles Babbage imaginava que sua máquina analítica poderia realizar uma adição</p><p>em um segundo). No entanto, a clctrônicajá começava a substituir elementos eletromecânicos por dispositi­</p><p>vos muito mais rápidos, as válvulas, o que já tornava o Ma,·k I obsoleto antes de opernr comercialmente em</p><p>escala, e o seu sucessor, o Mark 11 , nem chegou a ser concluído.</p><p>1.2.3 Época dos Componentes Eletrônicos - Primeiras Invenções</p><p>(1930-1945)</p><p>O problema dos computadores mecânicos e eletromecânicos residia em dois foros: baixa velocidade de pro­</p><p>cessame11to, devido à parte mecânica de seus elementos, e falta de co,!frabilidadt dos resultados, já que seu</p><p>armazenamento e movimento interno eram realizados por engrenagens, incapazes de realizar sempre o 111es­</p><p>mo tipo de movimento, principa!Jnente com o desgaste</p><p>causado pelo tempo.</p><p>Esses dois problemas só poderiam ser solucionados com a utilização de elementos de armazenament0 e</p><p>chaveamento que não tivessem partes mecânicas e fossem bem mais rápidos. Para ranto, os cientistas dedica­</p><p>dos a esse trabalho passaram a explorar o uso de um componente eletrõnico, a válvula, invenrada em 1906.</p><p>Pode-se dizer, grossc> mc>do, que uma válvula é um dispositivo elctrônico constituído de um tubo de vidro</p><p>selado e que, em seu interior, a vácuo, ficam diversos ele1nentos interligados de modo a permitir, de certa</p><p>maneira, a passagem ou não de corrente elétrica. Esses elementos - catodo, anodo, grade e filamento - agem</p><p>de modo que o filamento produz aquecimento no catodo e no anodo, e quando uma corrente eléti·ica é apli­</p><p>cada sobre eles ela flui do catodo para o anodo devido à diferença de potencial entre eles. Quando se insere</p><p>uma grade entre o catodo e o anodo obtém-se um controle do fluxo da corrente, através da modificação da</p><p>voltagem aplicada à grade (de valor<:s negativos a positivos).</p><p>Quando se troca a vo1tagem sobre a grade isso acarreta a passagem ou não da corrente e, assim, a válvula age</p><p>como se fosse uma chave co1n relação às placas. Desse modo, tem-se uma chave controlada eletronicamente</p><p>(isto é, cm alta velocidade), o que é muito mais eficaz do que u1n relé, controlado mecanicamente. Por essa</p><p>razão, as válvulas passaram a ser utilizadas nos computadores substituindo os relês. Uma evolução considerável</p><p>naquele tempo.</p><p>Na mesma época em que Zuse e Aiken realizavam seus trabalhos com dispositivos eletromecânicos, dois</p><p>outros cientistas desenvolveram con1putadores usando válvulas.</p><p>Sn$W</p><p>1,11rod11çao I 17</p><p>Um desses cientist.1s foi John Vincent Atanasoff, que, por volta de 1939, projetou uma máquina calculado­</p><p>ra para resolver equações lineares. mas a invenção apenas ficou registrada historicamente, sem que a intenção</p><p>de seu inventor, de que a máquina se tornasse um dispositivo de emprego geral, fosse realizada. A grande</p><p>importância dessa invenção foi, no entanto, a atenção que despertou em um outro cientista, John Mauchly,</p><p>um dos construtores do computador ENIAC. que é atualmente reconhecido como aquele que deu início à</p><p>computação clctrônica, como veremos logo adi::inte.</p><p>Além de Atanasoff, outro cientista, o matemático inglês Alan Turing, desenvolveu urna máquina com</p><p>componentes eletrônicos. Turing é bastante conhecido pda teoria de computação que desenvolveu, conhe­</p><p>cida con10 ináquina de Turing, descrita em 1937 e que consistia na definição de uma função de computação,</p><p>pela q ual uma máquina poderia simular o comportamento de qualquer máquina usada para computação se</p><p>fosse adequadamente instruída para tal (isto é, se recebesse instruções através de uma fita de papel perfurado).</p><p>Porém, até pouco tempo atrás não havia registro de que ele tivesse se dedicado a outro tipo de trabalho mais</p><p>prático, para o desenvolvime nto de computadores.</p><p>Recentemente, com a divulgação de documentos núlitares do governo britânico, antes sigilosos, é que se</p><p>tomou conhecimento de que o primeiro computador verdadeiramente elerrônico foi colocado em operação</p><p>e m 1943, com o propósito de quebrar códigos militares secretos de comunicação dos alemães. Essa máquina.</p><p>construída por Alan Turing com válvulas eletrônicas, foi denominada Colossus, provavelmente devido a seu</p><p>tamanho . Sua grande desvant.1gen residia no fato de não ser uma máquina de emprego geral. pois não podia</p><p>resolver outros problemas a não ser a quebra de códigos militares. Ela era, então, um sistema de computação</p><p>com programa único.</p><p>1.2.4 A Evolução dos Computadores Eletrônicos (1945 - até quando?)</p><p>Apesar de os proj etos de Atanasoff e Turing terem sido bem-sucedidos e serem mais amigos, reconhece-se</p><p>outra n1áquina eletrônica como o primeiro computador, com essas características propriamente ditas, proje­</p><p>tado como uma máquina de emprego geral, eletrônica e automática. Seu nome: EN IAC, ntio breve resumo</p><p>histôrico será apresentado a seguir.</p><p>Costumava-se dividir (e não há razão para fazermos diference) a evolução cronolôgica do desenvolvimento</p><p>dos computadores até nossos dias de acordo com o elemento básico utilizado na fabricação dos componcnces</p><p>do processador central, o primeiro deles já citado como sendo a válvula eletrônica.</p><p>1.2.4.1 Primeira Geração: Computadores à Válvula</p><p>O primeiro computador eletrônico e digital, construído no mundo para emprego geral, isto é, com pro­</p><p>grama de instruções que podiam alterar o tipo de cálculo a ser realizado com os dados, foi denonúnado ENIAC</p><p>(Electronic Numerical lntegrator And Computer) e foi projetado por John Mauchly e John P. Eckerc. de</p><p>1943 a 1946, tendo funcionado daí em diante até 1955, quando foi desmontado.</p><p>Em agosto de 1942, na Universidade da Pensilvânia. John Mauchly, inspirado no projeto de Atanasoff,</p><p>propôs ao exército americano o financiarnento para construção de uma máquina que auxiliasse os militares do</p><p>Ballistics R esearch Laboratory (um departamento do exército americano responsável pela elaboração de tabe­</p><p>las de alcance e trajetôria para novas armas balísticas) em seu tr:ibalho, reduzindo o tempo de elaboração das</p><p>tabelas balísticas. Na época, o laboratôrio empregava mais de 200 pessoas para o cálculo das t:1belas, as quais,</p><p>usando máquinas calculadoras de mesa, resolviam repetidamente equações balísticas para gerar os dados ne­</p><p>cessários à fonnaçào das t:1bclas. Tabelas para uma simples arma poderiam levar até dias para serem completa­</p><p>das, e isso atrasava consideravelmente a entrega dos artefutos.</p><p>O ENIAC (ver Fig. 1. 10) era uma máquina gigantesca. contendo mais de 17.000 válvulas e 800 quilôme­</p><p>tros de cabos. Pesava cerca de 30 toneladas e consumja uma enorme quantidade de deu;cidadc, além de vál­</p><p>vulas, que queimavam com grande freqiiência devido ao calor.</p><p>De qualquer modo, e apesar de ter ficado pronto após o término da guerra e. portanto, sem poder ser uti­</p><p>lizado para o propósito inicial de seu financiamento, o ENIAC era extremamente rápido para sua época, rea­</p><p>lizando cerca de 10.000 operações por segundo. Ele possuía 20 rcgismdores, cada um deles podendo arma-</p><p>Sn$ W</p><p>18 / lutrodução</p><p>Figura 1.10 ENIAC "U.S. Army Photo".</p><p>zenar um va1or numérico de 1 O dígicos; era uma máquina decimal (não biná1ia) e, por isso, cada dígito era</p><p>representado por um anel de I O válvulas, uma das quais estava ligada em cada instante, indicando o algarismo</p><p>desejado. O ENIAC era programado através da redistribuição de cabos em tomadas diferentes e rearranjo de</p><p>chavt-,; (possuía cerca de 6.000), tarefu q ue poderia levar muitos dias (pode-se imaginar a redistribuição de</p><p>cabos como uma tarcfu análoga à das telefonistas cm antigas mesas telefonicas).</p><p>O ENIAC provou, com sucesso, que era uma máquina de emprego geral ao ser utilizado para realização de:</p><p>co,nplexos cálculos e,n relação ao uso da bomba H, uma tarefa bem diferente daquela para a qual ele tinha</p><p>sido construído. No entanto, crd uma máquina de dificil operação e de manutenção dispendiosa devido às</p><p>sucessivas queimas de válvulas.</p><p>De qualquer modo, a divulgação das características do ENIAC despertou o interesse de numerosos cientis­</p><p>tas da área, e vários projetos tiveram inlCio na mesma época.</p><p>Enquanto Mauchly e Eckert iniciaram a constniçào de um novo computador, o EDV AC (Electronic Discret</p><p>Variable Automatic Computer), um dos colaboradores do projeto ENIAC, o matem,ítico John von Neumann,</p><p>também inicio u outro projeto de aperfeiçoamento do computador inicial, denominado IAS, nome do local</p><p>onde von Neumann foi trabalhar, o lnstitute for Advanced Studies da Universidade de Princeton.</p><p>O EDVAC de Mauchly e Eckert não foi adiante devido ã saída de ambos da Universidade de Pensilvânia,</p><p>para constituírem sua própria çmpresa . q ue mais tarde se tornou a UNIVAC. Recentemente, a UNIVAC</p><p>uniu-se à Burroughs, constituindo-se na atu::1) Unysis Corporation.</p><p>A ourra vertence do aperfeiçoamento do ENIAC, pelo desenvolvimento do EDVAC, é atribuída,</p><p>como já</p><p>mencionado, a John von Ncumann. e é a ele que se credita de um modo gera] a definição de uma arquitetura</p><p>de computadores con1 programa armazeuado, que até os dias atuais é empregada nas máquinas modernas.</p><p>Em 1945, von Neumann divulgou seu conceito ao publicar a especificação básica do EDVAC, isto é, da</p><p>sua versão do EDVAC, no trabalho First Dr~fi ~f a Repor, 011 rhe ED VAC (primeiro rascunho de 11111 relatório</p><p>sobre o EDVAC). O relatório definia as características essenciais de uma máquina seqiiencial de programa</p><p>a1,11azenado. Nele for.un introduzidos os aperfeiçoamentos desejados para reduzir os inconvenientes do ENIAC,</p><p>tais como: a dificuldade de programar a recolocação da fiação (isso poderia ser realizado com o mesmo tipo de</p><p>elementos que representavam os dados no ENIAC eletronicamente) e o tipo de aritmética (substiruindo a</p><p>aritmética decimal pela binária devido à dificu ldade e ao custo de construir uma máquina capaz de representar</p><p>confiavelmence 1 O níveis de tensão em vez de apenas dois, ver item 1. 1.3).</p><p>Em 1946, von Neumann e vários outros cientistas em P1inceton iniciaram a construção de uma nova máquina,</p><p>um computador detrônico de programa armazenado, o IAS. que se utilizava dos mesmos princípios descritos</p><p>no referido relatório do EDV AC.</p><p>snow</p><p>Unidade aritmética e llóg ica</p><p>1 ACC MO 1</p><p>1 OisposiliV-OS de</p><p>1 Clrouíto$ arltmé!ioos entrada</p><p>e</p><p>5.a.Ída</p><p>MBR</p><p>'</p><p>f l 1m;tr ução</p><p>e</p><p>! 1</p><p>dad</p><p>1</p><p>os</p><p>l</p><p>t</p><p>1 IBA 1 PC 1</p><p>1</p><p>1 ' t l 1</p><p>1 IR 1 MAR Memória</p><p>princlpaJ</p><p>~ rcuítos ~ Sinais de de</p><p>controle oontro.le</p><p>L....--.....</p><p>t</p><p>U111dade de OQllbole Endereços</p><p>Fi.gura l. t t Diagra:ma em b1oco da e.llt:mt'lllra do IAS.</p><p>O IAS poss.uia a~ seguintes características básicas extraída de [STAL nn] (embora pertença à p1·ünefra geração</p><p>de computado~s e tenha sido, para os padrões atu.üs, uma máquina limitada, o IAS é fimdamemal uo estudo da</p><p>arquitetura de computadores, poii> a b:rr,rndt: 1mlioria ck su:ílS espec:ificaçôes pem1anccc válida até o momcmo):</p><p>a) era constituído de quatro unidades principais. (ver Fig. 1. 11), a memória, a UAL, a UC e a parte de</p><p>entrada e aída;</p><p>b) possuía mem1ória com 1.000 pos.içõe , chamadas palavras, cada uma podendo armazenar um valor com</p><p>4( l dígitos. binários (bits.) ( ver Fig. 1. 12);</p><p>e) tanto os dados (valores numéricos) qua11to as imtruçôes enH11 n:presenr.ado da ll1<.'.'Slll)l fonna binária e</p><p>armazenados na mec,ma memória;</p><p>d) possuía 2] instruções de 2 bits cada Lima com,cituídas de dois campos um com oiro bit.,;, denomi11ado</p><p>código de operação (C.Op.), e o omrn com 12 birs. denominado endereço para Jocalizar cada uma das</p><p>1.000 palavras endt:1-eços de 000 :íl 999 (i:mbora pudt: ·si.: c.:ndi.:ri:çar 4096 (4K) posiçôc:s de.: mi.:móría,</p><p>pois 212 = 4096, o [AS somcnce pc>ssuÍ:íl 1.000 cndi;rcço!.);</p><p>e) operava de modo repetitivo, ex<.'.'cucando um tido de iustr11çífo ~m . eguida ao outro. Cada ciclo cons.i:s­</p><p>tia em dois ubcidos: o ciclo de busca (fiwl, rydt), ond<.'.' o C.Op. da próxima instrução era trazido da</p><p>memótia para o JR e a parte de endereço da instruçà() era armazenada 110 MAR {l'Wewmy Addre~s Rtgi$te1).</p><p>Tào logo o C.Op. esti es.~e armazenado no IR, então se in iciava o outro :subciclo, o âdo dr: e·xr:cuçã,1 . O</p><p>c-ircuico dt' controJe imerpre-tava o código de operaçâio e gemva os sinais apropriadm para acaneca1- o</p><p>movimento de dado ou ai rea]ização de uma opençào na UAL - Unid.1de Aritmécica e Lógica.</p><p>snow</p><p>20 / fotrodnfifo</p><p>O 1 39</p><p>Bit de sinal e Valor do número</p><p>(a} Aepresenlaçáo da um dado em uma p,atavrai</p><p>o 1 a 19 20</p><p>C.Op. C.Op. Endereço</p><p>-- WWW - .. --</p><p>lnslrução dl!I esquerda lnsuuçií.o de direita</p><p>(b) Formato da 1i:ratawa de irtSln.iç.ã,o (duas ir1Sln,1çôes em uma palavra)</p><p>Figura L 12 Formato de palavras de ·memória d.o IAS..</p><p>Conforme pode se,r ob5ervado dessas especificações reimmida , o IAS possuía caracceristicas. de arquitetura</p><p>que permaneceram ao longo do tempo. As. málJUinas evoluíram cons1deravdmeme em velocidade, capacida­</p><p>de de armazen:unento, nliniamrizaçâo con_ umo de energia e calor e omrn inovaçõe_, ma a arquicernr bá­</p><p>s.ica permaneceu.</p><p>Em 1949, a empre:;a fi.mdada por Mauchly e Eckert construiu co n s.uce o o prim iro compmador para</p><p>fim çmnnciais, o UNíVAC 1 (Universal Automatic Computer), adquirido pdo llurean ofCen u dos EUA</p><p>para processar o dado do c,•nso de 1950. Pouco mai rarde, a Mauchly-Eckerc Compmcr Corporarion foi</p><p>absorvida pda Sp~·17;,•-Ra11d Corporation. como uma de suas s.ubsid.iária<;, com o nome de UN[VAC.</p><p>A U JVAC fabricou diversos outros tipos de compntadore a começar pelo U IVAC H e em seguida.,</p><p>a s~rii.:: 1·100, mais voltada para a computação científica.</p><p>Em 1953, a IBM, ,ué então ni.ais volt3dà, e; com suc1;;s:so, para a construção e comercialização de equipa­</p><p>mentos de processamento por c:1.1do perfura.de..), la11çou o seu primeiro computador detrônico de programa</p><p>anm1.zcm1do, o rnM-701, voltado par-a o proce amento científico. Es.sa má.quina pos. ufa uma memhria com</p><p>2K palavra~ de- 36 bits. Em 1955, a IBM modificou o hardware do 701 para adaptá-Jo ao uso comercial, fan­</p><p>çando o rnM-702. e c;m 1956 foi lançado o IllM-704, com 4K palavra:,; de n emória e, final.mente, em 1958</p><p>a IBM lançou outra máquina, ma.is aperfeiçoada o IBM-709. e sa ocas1ao a IBM já ~e desta.cava no merca­</p><p>do l:!m refaçào à UNlVAC, qne vinha sendo a. número 1 desde 1950.</p><p>1.2.4.2 Segunda Geração: Computadores Transistorizados</p><p>A i.:ktrônk:1 111od ·rna urgiu em 23 de dezembro de 1947, quando três dentistas. do Bell Laborntories -</p><p>John Bardeen, Walter füatai11 e Williain chockley- produziram pela primeira vez o efeito tran.sistor. Ele:</p><p>dcs.-cobri111m que;- as propricdadc-s condutora. de um diodo micoridutor pod~riam ser contr-olad, por um</p><p>terceiro el!:!mento. Os. tran istore. e tornaram nào ó um uce o em toda a indú tria eletrónica {cu to tama­</p><p>nho e desempenho melhores que os dispo itivos a válvula) como também formaram a b,1se de todos os con-1-</p><p>putadon.:s digitais :w: os di:is atuais. O fato d que se pode li~r e deslig:1r (dois estados) a corrente dét,·ica , m</p><p>um dispo ·it" vo •. a base di: toda a lógica digital (ve,· Ap ··ndici.'. B) ..</p><p>O trans~ tor re,lliza as me mas funções básica_ de uma válvula, porém o foz consumindo muito 1nenos ener­</p><p>gia e calor, o que o tornou rapidamente sub timto comp]eto das váJvukls. Afém disso. seu tamanJ10 é muito</p><p>menor que o dt! uma válvufa, economizando-se e paço de forma considerâvel.</p><p>Sn$W</p><p>llltrodução / 21</p><p>A primeira companhia a lançar comercialme;:nte um computador transistorizado foi a NCR, e logo enl</p><p>seguida a RCA. As vantagens dessas máquina.~ sobre suas antecessoras a válvula eram várias: eram mais baratas,</p><p>mcnorc·s e dissipavam niuito menos calor, além do menor consumo de energia elétrica.</p><p>Essa nova geração de computadores cambém teve, e muito, a participação ativa da 101\11, já se fin11ando</p><p>como a mais importante companhja na produção de máquinas científicas, embora a Control Dar.a tambén1</p><p>produzisse máquinas científicas (CDC) de grande desempenho. Ela transformou a sétie 700 em série 7000,</p><p>esta rransistorizada. O primeiro deles, o 7090, e mais tarde o 7094, que possuía um ciclo de inst.rução de dois</p><p>microssegundos e 32K palavras, ainda de 36 bits. Além do domínio na computação científica, a ll3M também</p><p>produziu uma máquina comercial de enorme sucesso, o IBM-1401 (quatorze zero um, como era conhecido).</p><p>Com esta geração de compumdores, outros fàtos historicamente import:lntt'S mmbém aconteceram. Entre eles:</p><p>a) O aparecimento de outra companhia fabricante de computadores, a DEC - Digital Equipment</p><p>Corporation, que viria mais tarde a se tomar o segundo maior fàbricante do mundo, após a IBM. A</p><p>DEC foi fundada em 1957 por Kenneth Olsen, um dos engenheiros do Lincoln Laboratory, do MIT</p><p>(Massachusetts lnstitute of Technology), órgão que realmente desenvolveu o primeiro computador</p><p>transisto,izado, o TX-O (embora o da NCR tenha sido o primeiro do tipo comercial, o TX-O foi o</p><p>primeiro</p><p>de todos, embora apenas em ,úvel experimental). No mesmo ano de 1957, a DEC lançou seu</p><p>prin1eiro computador, o PDP-1, início de uma longa série de 111áquinas exttaordinariamente eficazes e</p><p>tecnologicamente avançadas, até o fàmoso PDP-11. Por ser uma máquina de pequeno porte, compa­</p><p>rada com os computadores de até então, o PDP-1 também custava muito menos. Por essa razão e de­</p><p>vido ao excelente desempenho para a sua faixa de preço, o computador da DEC teve grande aceitação</p><p>do mercado, tomando-se um marco inicial da indústria de minicomputadores, da qual a DEC foi líder</p><p>por um longo período {primeiro com os PD P e, em seguida, com a fanúlia V AX) .</p><p>b) O aparecimento de unidades aritméticas e lógicas mais complexas, assim como unidades de controle.</p><p>c) O aparecimento de linguagens de programação de nível superior ao das linguagens Assembly da época</p><p>(na realidade, o FORTRAN para o IBM 704, em 1957, era ainda de primeira geração).</p><p>d) O surgimento de ourra companhia importante, a Control Data Corporation, que lançou, em 1964, o</p><p>sistema CDC-6000, voltado primaiiamente para processamento científico (a CDC sempre construiu</p><p>computadores com uma maior vocação para o processamento num,hico) . Era uma máquina con1 pala­</p><p>vra de 60 bits (apesar de não ser múltipla da base 2, possuía um valor grande, apropriado para prc>cessa­</p><p>meuto numérico) e vários protcs.sadores i11depe11de111es de entrada/saída, um total de 10. denontinados PPU</p><p>- Pcriphcral Proccssing Unit. que liberavam a UCP de várias tarefas, tornando o sistema ainda mais</p><p>rápido.</p><p>1.2 .4.3 Terce ira Geração: Computadores com Circ uitos Integrados</p><p>O desenvolvimento da tecnologia de circuitos integrados (btte,~rated Circuit.< - Iq surgiu devido à necessi­</p><p>dade de se encontrar uma solução para os problemas de acomodação dos componentes eletrônicos {transísto­</p><p>res, capacitores, resistores) nos equipamentos à medida que sua quantidade ia crescendo com o aumento da</p><p>capacidade das máquinas. Das tentativas de encontrar solução para tais problemas é que se idealizou a possibi­</p><p>lidade de acomodá-los em um único invólucro.</p><p>O ponto importante no conceito de circuitos integrados é que se pode formar múltiplos transístores em um</p><p>(111ico elemento de silício, de rn.odo que um circuito lógico que antes ocupava uma placa de circuito impresso</p><p>completa pode ser, com essa tecnologia, acomodado em uma só pastilha (chip) de silício . E mais ainda, como</p><p>se pode conectar vários transistores diretamente na pastilha, eles podem ser incrivelmente menores. necessi­</p><p>tando, assim, menos energia e dissipando menos calor.</p><p>Em outubro de 1958,Jack Kilby, da Texas Instruments Co., colocou dois circuitos cm uma peça de ger­</p><p>mânio. O dispositivo resultante era rudimentar e as interconexões tinham que ser realizadas por fios externos,</p><p>mas esse dispositivo é, em geral, reconhecido como o primeiro circuito integrado fàbricado no mundo. Logo</p><p>em seguida, 11..obert Noyce, da Fairchild Semiconductor lnc., utilizou-se de técn icas recém-criadas na mesma</p><p>companhia e integrou mllltiplos componentes em um substrato de silício. Os dispositivos con1erciais que se</p><p>SD(eW</p><p>sucederam mostraram a vantagem do silíci.o sobre o germinio e p rmiti111m o !>Urgj_memo de uma nova gera­</p><p>ção de máquinas mai podero a ' menori.:-~, devido à incegraçào em larga cs.eala (LS[ -1..A~e cale lmegmtión)</p><p>qu , o circuitos integrados proporcionaram.</p><p>Em 1964, a l:BM e utili:wu da 1r Cf;'nte. ino ações tecnoJógica mi án~::i da H:lkroeletrôrJic~ (o circuito.</p><p>integrado) e lançou a ua mai fumo a "fan1Hia' de: e mpmadores, a érie /360. E e si terna incorpor-ou di­</p><p>ve1 a ino açõe:., que se tornaram um marco hi5~Órico em rermos de computação e consolidaram a po içào já</p><p>obtida pela. ]BM como a primeira fahrk:mte de computadores do mundo.</p><p>Entre e as inovações, podemos cita.r:</p><p>a) O conceito de família de computadores, em vez de máquina indi idual como até então. Esse conceito</p><p>perm.i.tc que o fubdcanre ofereçai o mes1no tipo de máquina {arquitt:turã igllal - linguagem de máqujna</p><p>cmdhantc erc.) com diferentes ca.pacidades e preços o qu garante uma maior quantidade de e ientes.</p><p>O s.ist·nr1a /360 foi fançacio, inkialmenct: com cinco n1odelos 30 40, 50, 65 e 75, cada um com carac­</p><p>teristi,ca próprias decido de in trução, capacidade de metnórfa insralável, quantidad de proc ssadon:</p><p>de E/S, e11bora todos os t 1odelo t've ci 1 o me mo conjunto bá ko de instruções (e comi o um</p><p>program,1 criado m um mod1do poderia, em princípio, er execurado em outro). A Fig. 1.13 mostra</p><p>um quadro compa :ativo entre os diverso nodelos da famíli ;</p><p>b) A utilização de uma unidade de co.ntrok com microp:rogramação em vez d. t1, didonai unidad1::s de</p><p>controle no hardware (ver Cap .. 6);</p><p>e) O einpre rode uma 1:écnica chamada de multipr-ogram.içâo, pcfa qual vários programa5 companilh~m</p><p>a mesma memória prindpaJ e dividem o uso da UCP, dando a. impressão ao U!>Uário de que e tio sendo</p><p>executados simulrnne, mente;</p><p>d) A elevada capacidade de proce.ssame:nw (pam a época), com palavra de 32 bi e ciclo d in miçàu de aré</p><p>250 nanossegundos, bem como a grande capacidade de annazenamcmo n.a 1lH.:mória :principal, 16 Mbytc ;</p><p>e;) M1:;mó:ria p1incipal m·ientada a byte, isto é cada célul,a de MlP armazena oiro bi de informação indc­</p><p>pcnd t m nte do tamanho de bit definido para .l pa1avra de dados. Em1 c, racrerí~r-ica tornou~c: co­</p><p>mum para qua e todo o mercado (exceto máquinas cii:ntíficàs), 1; até hoje os computadon: continuam</p><p>com a MP orientada a byte;</p><p>Q O lançamento de um programa (conjunto d• pTograrna é o melhor termo) g~Pnciador dos recursos</p><p>de hardware, de modo m.aj integrado e eficaz, o i~u:ma operado11al O /360.</p><p>Alénda fam.íliia / 360, e a época de L [ presenciou também o lançamemo de outro miniico,npurador D C,</p><p>con-1 ô rcuito integrados, memória principal orientada a byte e palavra. de 16 bits, o PDP- 11, uma das 111áqui­</p><p>na m.a:i fa1no a em sua categoria. Seu ucessor, o i. rema VAX- 1 1 f.lmbi::m cttvc o mc~mo :mccsso, e péci­</p><p>almente no arn1biente universitário.</p><p>Caracterfsllcas da lamllia l300</p><p>Caractl8físlicas Modelo30 ModeJo-40 Modelo50 r,,t,dslo 65 Modero;5</p><p>O,apaeidade máxima 64K 256K 296K 512K 512K</p><p>ele MP(byies)</p><p>Cielo db processo</p><p>em mrcrosse,gundos 1 0,625 O,!j. 0,25 0,2</p><p>Cluanlidacle máxima</p><p>de cal'llllis (EIS) 3 3 4 6 6</p><p>B~es pu[l(adOs.</p><p>1 2 4 16 16 dá MP por CiêlO</p><p>Figura 1. 13 Cara.cteristiicas prin,c"pai dai fanúl.lia IBM/360.</p><p>Sn$W</p><p>Introdução I 23</p><p>1.2.4.4 Quarta Geração: Computadores que Utilizam VLSI</p><p>O termo VLSI ( Very Últ~e S<nle /111egrario11), integração em muito larga escala, caracteriza uma classe de</p><p>dispositivos elerrônicos capazes de annazenar, em um único invólucro. milhares e até milhões de diminutos</p><p>componentes. fa.1e dispositivo.já ante,ionnence mencionado e denominado pastilha (d,ip), vem constituindo</p><p>a base da estrutura de todos os principais sistemas de computação modernos (ver Apêndice 13).</p><p>A técnica de núniacurização de componentes eletrônicos, ou microdctrônica, conduziu, por volta de 1971 /</p><p>1972, ao desenvolvimenco de um outro tipo de computadores até então inexistente 110 mercado- os compu­</p><p>tadores pessoais, ou microcomputadores.</p><p>A evolução dos microcomputadores, decorrente principalmente do avanço na miniaturizaçào dos proces­</p><p>sadores e demais elementos, vem sendo de tal forma rápida e eficiente que os computadores de maior porte</p><p>foram sendo progressivamence substituídos nas empresas, restando hoje um nicho de mercado bem pequeno</p><p>e específico para aquelas máquinas. Atualmente. pode-se afirmar que a maioria dos sistemas de computação</p><p>utilizados no mundo comercia) e govern~unental é baseado e,n microcomputadores, assim como o imenso</p><p>universo dos computadores pessoais. É claro que ainda h5 inúmeros computadores de !,'Tindc porte, instalados</p><p>e atualizados, funcionando na indústria e cm grandes corporações, como bancos e órgãos governamentais.</p><p>Além disso, processamentos científicos e de imensas quantidades de dados (cálculos de meteorologia, de</p><p>prospecção de solo, de criptografia e outros desses tipos) se valem de supercomputadores, os quais empregam,</p><p>cm grande escala, uma técnica de multiprocessamento.</p><p>1.2.4.5 Evolução dos Computadores de Grande Porte (Mainframes)</p><p>Os computadores de grande po1te se constituíram nas principais máquinas das empresas, desde os primór­</p><p>dios da computação, com o lançamento do UNIVAC l e do JBM-701, e até alguns anos atrás, quando a</p><p>capacidade sempre crescente e o custo bem menor dos microcomputadores orientaram as intenções dos usu­</p><p>ários na ocasião de implantar novos sistemas ou atualizar os antigos, grande parte deles substituindo os mainfra1nes</p><p>por estações de trabalho em rede o u mesmo redes locais de ,nicroco,nputadores.</p><p>Um dos principais representantes dessa categoria, o siste,na IBM/360, teve uma evolução tecnológica acen­</p><p>tuada e pennanente. desde 1964 até 1988, já com o nome de /370, tendo continuado o desenvolvimento com</p><p>novos siste,nas, porém sempre com a mesma arquitetura básica, como os IBM-43xx, ll3M-308x e IDM-309x.</p><p>A Fig. 1. 14 apresenta um quadro demonstrativo da evolução dos sistemas /360 e /370, incluindo as p1i11-</p><p>cipais inovações de cada família.</p><p>Outra classe de computadores bastante específica e com aplicações científicas de finidas é a de</p><p>supercomputadores, entre os quais são mais significativos os da fumília CRA Y (CR.A Y- 1, CR.A Y-2, CRA Y­</p><p>X/MP, CRAY-Y /M P), a família WM-90xx, com processamento vetorial, e a família CDC-CYl3ER.</p><p>1.2.4.6 Computadores Pessoais - Microcomputadores</p><p>Em 1968, dois cientistas, cx-funcioná,ios da Fairchild Senúconductor lnc., R.oben Noyce e Gordon Moore,</p><p>fundaram uma companhia, Intel Corporation, com o propósito de produzir memó1ias para rnainfran1cs com</p><p>semicondutores. Ambos imaginaram que a Intel deveria fabricar produtos para empn:go geral, e não produzir</p><p>componentes para clientes e objetivos específicos.</p><p>No ano seguinte, a Intel aceitou trabalhar com uma companhia japonesa para fabricação de componentes</p><p>para calculadoras e1etrônicas, e dessa p:.uceria surgiu o primeiro chip contendo em um mesmo invólucro todos</p><p>os componentes reqw:ridos por um processador- tratava-se, então, do surgimento do primeiro microproces­</p><p>sador, o qual se tornou comercial em 1971, quando a Intel produziu a primeira Unidade Central de Proces­</p><p>samento - UCP - contendo todos os componentes eletrônicos em uma só pastilha de circuito integrado,</p><p>denominada I NTEL-400-1.</p><p>!() tcnuo UCP - Unidade \.,:mr.11 dl· Prol"t"i<:tm,:mo é> cniundo do in~ê, CPl ' - Cmtr,1/ Pni«#ili:? l 'mt, que M: n.-tC.·n: ao procc\i:.ldor de um t:Ompuudor.</p><p>AtuJ.lmcmc. uu-S(' m:us o t\'flllO prOC\'S.Ql.-tor do tJm' UCI'. m:is n\"St,: ll\'ro iremos uS.lr :imbos Oj. rcmios. como S(' (os.sl-ill p3b\·r-.as sinônim:i.s.</p><p>24 / lntroduçilo</p><p>Ano Evento Principal</p><p>1964 Lançamento do Sistema /360 pela IBM</p><p>1968 Representação de Números em Ponto Flutuante</p><p>Arredondamento</p><p>Alinhamento a Nível de Byte</p><p>EIS Multiplexada a Bloco (Bloco Multiplex 1/0)</p><p>1970 Lançamento do Sistema /370 pela IBM</p><p>Relógio (Time-of-day c lock)</p><p>Registradores de Controle</p><p>Seis Novas Instruções de Emprego Geral</p><p>1972 Grandes Alterações que Diferenciam o Sistema /360 do Sistema /370</p><p>Memória Virtual</p><p>Modo de Controle Estendido</p><p>Registro de Eventos de um Programa</p><p>Timerda UCP</p><p>Comparador entre Valores de Relógio (clock comparator)</p><p>1973 Extensões para Multiprocessamento</p><p>Instruções de Manuseamento de PSW</p><p>Sn$W</p><p>Instruções que tratam de troca de programas na forma condicional (cond~ional swapping)</p><p>1978 Proteção de Endereços de Memória</p><p>1979 Chaveamento de Conjunto d e Canais</p><p>1981 Facilidades de Manipulação de Duplo Espaço de Endereçamento</p><p>Proteção de Segmentos</p><p>Instruções de Enfileiramento de EIS</p><p>1983 Lançamento do Sistema /370 pela IBM - Arquitetura Estendida</p><p>Endereçamento de 31 bits</p><p>Novo Subsistema de Canal de EIS</p><p>Proteção de Páginas</p><p>1984 Execução Interpretativa</p><p>1986 Lançamento do Sistema /370 - Facilidade Vetorial pela IBM</p><p>Registradores de Vetores</p><p>Instruções de Manipulação de Vetores</p><p>1988 Lançamento da Arquitetura /370 - Sistema Enterprise pela IBM</p><p>Registradores de Acesso</p><p>Modo de Endereçamento para Acesso a Registrador</p><p>Pilha de Ligação</p><p>Figura 1.14 Quadro demonstrativo da evolução dos sistemas /360 e /370.</p><p>Esta U C P ou Processador (chamou-se microprocessador devido ao seu di mi nuto tamanho em relação aos</p><p>mai nframes da época) possuía palavra de 4 bits e tinha cerca de 2.300 t ransístores na pastilha. Como esse mi­</p><p>croprocessador, apesar de ser um sucesso, possuía pouca capacidade (palavra de 4 bits) , logo em seguida a Intel</p><p>lançou um novo microprocessador. dessa vez com 8 bits de palavra e 16K de memória, o Intel 8008.</p><p>Tanto o 4004 quanto o 8008 eram UCP destinadas a uma aplicação específica (o 8008 destinava-se à Display</p><p>Terminais Corporation, para serv ir de contro lador de um m onitor de vídeo). Embora a empresa solicitante da</p><p>Sn$W</p><p>I111rod11çao / 25</p><p>pastilha nunca tivesse usado o 8008, a Intel vendeu uma quantidade não esperada dessa pastilha, mesmo com</p><p>os problemas de pouca memó,ia e pequeno conjunto de instruções. Emão, em 1973, a Intel lançou o seu</p><p>grande sucesso da época, o primeiro microprocessador de emprego geral do mundo, o Intel 8080. O 8008</p><p>possuía cerca de 3.500 transistores encapsulados na pastilha, enquanto o 8080 tinha em torno de 5.000 tran­</p><p>sístores. Este último possuía também 8 bits de tamanho de palavra, capacidade maior de memória (cada ende­</p><p>reço tinha 16 bits e, então, a memória podia conter até 64 Kbytes) e um grande conjunto de instruções (78</p><p>instruções). O 8080 vendeu aos milhões e, desde então, a Intel não parou mais de crescer e desenvolver novos</p><p>produtos1 inclusive com seus lançarnentos inais conte1nporâneos, o microprocessado1· Pentium 4, com suas</p><p>várias versões, e o lta,úum, que incorpora a nova arquitetura de 64 bits, IA-64 contendo mais de 200 milhões</p><p>de tn-msistores na pastilha.</p><p>Mas a história dos computadores pessoais e microprocessadores não se constitui somente da Intel; o utros</p><p>fabricantes surgiram e se tornaram importantes, não só para a história da computação, mas atualmente sendo</p><p>concorrentes poderosos da Intel. Pode-se citar a Compaq, que, durante algum tempo, chegou a liderar o</p><p>mercado de microcomputadores; era tão importante que adquiriu uma grande empresa fabricante de compu­</p><p>tadores de grande porte, a DEC (Digira] Equipment Corporarion), a qual pode ser lembrada, entre outras</p><p>coisas, pelo lançamento, em 1992, de um processador de 64 bits, revolucionário na época. Recentemente a</p><p>Compaq foi absorvida pela HP.</p><p>Outra empresa surgida no mercado de hardware, para fubricação de d1ips de memória, depois de algum tempo</p><p>entrou no mercado de núcroprocessadores e atualmente é o maior concorrente da Intel, chegando a superar, em</p><p>vendas, a gigante do HW em certas ocasiões e locais. Trata-se da AMD (Advanced Micro Devices), fabricante</p><p>dos processadores K6 e Athlon K7, de 32 bits, do Athlon 64 e do Opceron, com placafom1a de 64 bits.</p><p>Na realidade, os computadores pessoais surgiram com o lançamento do Alrair em 1975, que pode ser con­</p><p>siderado o p1imeiro computador pessoal oferecido com fins comerciais, auxiliando sobremodo o início da</p><p>revolução que os microcomputadores realizaram desde então. Esse núcrocompucador, construído pela em­</p><p>presa M ITS, baseava-se no microprocessador Intel 8080 e utilizava um interpretador da linguagem, Basic,</p><p>desenvolvido por Bill Gates e Paul Allen, que fundaram naquela ocasião a Microsoft, tornando-a mais adian­</p><p>te, o gigante atual. O Alcair foi um verdadeiro sucesso comercial. A Fig. 1.15 apresenta uma foto do Almir ao</p><p>lado de um moderno Lapcop, e a Fig. 1.1 6 mostra o Alcair de frente, com suas chaves e lâmpadas (dispositivos</p><p>de entrada e saída).</p><p>Figura 1.15 O m icrocomputador Altair ao lado de um m oderno notebook.</p><p>Desde o surgimento dos p1imeiros núcroprocessadores da lmel (4004 e 8008) e do primeiro microcomputador</p><p>(Alrair), a evolução da núcroeletrônica e da tecnologia</p><p>de fabricação e mo ntagem de componentes completos</p><p>tem sido extraordinariamente rápida.</p><p>Surgiram diversas empresas que se tornaram grandes devido a enorme demanda e cocai diversidade de uso</p><p>dos computadores no inundo contemporâneo, da medicina à astronon1ia, da área pessoal e em casa, como</p><p>também no comércio e na educação, das fãbricas (auxiliando a manufatura dos produtos e cm seu projeto) aos</p><p>laboratórios, em meteorologia e em pesquisas de todo tipo.</p><p>Sn$ W</p><p>26 / Tutroduçiio</p><p>.- Alt•u 8800 l!IIBJ 13</p><p>Figura 1.16 O microcomputador Altair.</p><p>Entre os exemplos mais marcantes (são tantos) podem-se citar os processadores Intel, do 8080/8085 e do</p><p>8088/8086, base dos microcomputadores pessoais (PCs), lançados pela IBM em 1981, do 386 (primeiro mi­</p><p>croprocessador de 32 bits) ao 486 e aos Pencium e ao ltanium.</p><p>Também outro fabricante, a AMD vem disputando o mercado de processadores com a Intel, lançando</p><p>produtos com desempenho cada vez melhor, sendo muitíssimo utilizados no Brasil. Entre eles, pode-se men­</p><p>cionar o K6-2, o Achlon K7, o Achlon-64 e o Opteron.</p><p>A Tabela 1.1 apresenta um quadro demonstrativo com dados de alguns dos principais microprocessadores</p><p>surgidos desde o Intel 4004, de modo a permitir ao leitor conhecer alguns desses dispositivos. No Cap. 6 serão</p><p>apresentados mais detalhes de suas funções e características.</p><p>Entre as empresas fabricances de microcompucadores podem-se citar a Motorola, a ll3M, a Sun e a MIPS.</p><p>A Motorola, mundialmente conhecida por diversos produtos, como celulares, foi também pioneira na área</p><p>de microprocessadores, concorrendo, no início dos PCs, com a Intel ao lançar processadores como o M6800</p><p>(concorrente do Intel 8080) e o 68000 (de 32 bits). Posterionnente, junto com a ll3M, foi fabricante do pro­</p><p>cessador PowcrPC.</p><p>Durante muito cempo, a Motorola supriu os computadores pessoais da Apple, outra grande empresa da</p><p>área de computação, até hoje fubricame dos computadores Macintosh. Depois a Apple passou a usar os PowerPC</p><p>e recentementt! anunciou que passará a usar, a partir de 2007, os processadores lncd em alguns de seus com­</p><p>putadores.</p><p>Mais ainda, outras t!mprt!sas surgiram na áre:a de.: computação e se ton1aram grandes, como a Sun Microsystems,</p><p>fabricante dos processadores $pare e de várias estações de crabalho, além de ter sido responsável pela criação da</p><p>linguagem de programação Java e do sistema operacional Solaris.</p><p>Além da Sun, a MIPS foi outra empresa que surgiu para fubricar processadores com cecnologia RISC (ver</p><p>Cap. 11), como os Mips 2000, Mips 3000 e Mips 4000.</p><p>Por outro lado. e para finalizar este resumo histórico, é apresentada a Tabela 1.2. compreendendo um quadro</p><p>demonstrativo da evolução da ciência da cornputação, incluindo-se naturalrnente algumas das observações</p><p>inseridas neste item.</p><p>T abela 1.1 Quadr'o Demonstrativo da Evo!u,ção de Micropro -e$ adore$</p><p>Mi roproc,essadol'es</p><p>lmel 40tM</p><p>lmel 00</p><p>lmel 8088</p><p>lnccl )286</p><p>Intel &0Jf!6</p><p>lmd 80486</p><p>lmel Penrimn [</p><p>lmel Petl'lium Pro</p><p>lmel Pr.:nrium [I</p><p>lmel P t111ltlll nr</p><p>lmel Penrium 4</p><p>hm:I Jr.:rnium</p><p>Momrol:i 6000</p><p>Motorol.i 68{)00</p><p>Motorola 6801 O</p><p>Motorola 68020</p><p>Motornfa 68031.l</p><p>Motorola 68040</p><p>Zilog Z-8</p><p>Zilo Z- O</p><p>AMD-K6</p><p>AMD-K6-2</p><p>AMO Arnlon</p><p>AMD Arktlon XP</p><p>AMD Achlo116-I</p><p>AMO pteron</p><p>C.rix 6X 6MX</p><p>Cyrix MIi</p><p>Sun PARC</p><p>mM PowcrPC</p><p>D11ta de lançanwnto PafavYã de dados</p><p>1971 4</p><p>1973 8</p><p>1980 16</p><p>1982 16</p><p>1985 32</p><p>1989 32</p><p>1993 32</p><p>1995 32</p><p>1997 32</p><p>1999 32</p><p>2000 32</p><p>2001 64</p><p>1974</p><p>1979 32</p><p>1983 32</p><p>1984 32</p><p>1987 32</p><p>1989 32</p><p>1974</p><p>1979 16</p><p>1997 32</p><p>1998 32</p><p>1999 32</p><p>2 02 32</p><p>2'003 64</p><p>2, 01 64</p><p>1997 32</p><p>1998 32</p><p>19 7 32</p><p>1993 32</p><p>Endereçamento máximo</p><p>] Khytc</p><p>64 Kbytc</p><p>] Mbytc</p><p>16 Mbytcs</p><p>4 Gbytcs - 4GB</p><p>4 Gbyt1.-:s - 4GB</p><p>4 Gbyk -4GB</p><p>4 Gbyt~ - 4GB</p><p>4 ,byt -4 B</p><p>4 Cbytcs - 4GB</p><p>4 Gbytcs - 4GB</p><p>16 Exbytcs - 16ExB</p><p>64 Kbytcs - 64KB</p><p>16 Mbyt1.-s - 16MB</p><p>16 Mbyt~ -16MB</p><p>4 Gibyt~ - 4Gl3</p><p>4 , ,bytes - 4 , B.</p><p>4 Gbytcs - 4GB</p><p>M Kbytcs</p><p>l Mbyt.,;</p><p>4 Gbytes</p><p>4 Gbyt~s</p><p>4 Gbyres</p><p>4 Gbyres</p><p>l Tcrabyte</p><p>4 Gb;rt:es</p><p>4 Gbyres</p><p>4 Gbyte~</p><p>4 Gbytc</p><p>Tabela 1.2 Eventos Relevantes da Evolução da Computação</p><p>Periodo</p><p>5DO a,C.</p><p>1642 d,C.</p><p>1670</p><p>t 2J</p><p>1 .i2</p><p>1889</p><p>1 9()</p><p>1924</p><p>1939</p><p>1946</p><p>194.6</p><p>Evento</p><p>Invenção e milinç:io do ábaco.</p><p>Bbise Pascal cria su:i máquina de s.om:u,</p><p>Goufried fa:ibniz c,ri:i uma máquina de calcubr que realiz,:i as quatro opt:raçôe~ arítmétic.</p><p>Charl Babbag cri:1 a nüquin:i de difer niça , por contr.tto com Marinh;,1 e;1l rngtes:i ,</p><p>O mesmo Babbage: projeta mna núquitu ;irulícic:i para realizar cilculos.</p><p>HNman Holleri[h ilwema o can:io perli1r;tdo,</p><p>Hollericll des.r.:rwolve utn im· ina para regisu-:ir e pro ess:.;,r os dado do censo.</p><p>Cmmituiçâo da IBM.</p><p>John J\tanasolf projct.1 o primeiro computador digital.</p><p>Têr111i110 ~fa consrn1ç.'ío do E IAC.</p><p>John ,·on eum:illn propõl!' q11~ um progr;irn;1 ~ja am1;1zen:ido 110 compuudor e projet o</p><p>IA , implemenundo sua propo. rn ..</p><p>SDêW</p><p>Tabela 1.2 Eventos ReLevan t.es da Evolução da Compi1taç ão (c onti:r11.11;1ç-&;o)</p><p>P,edodo</p><p>195 1</p><p>1956</p><p>1957</p><p>1958</p><p>1958</p><p>1962</p><p>1964</p><p>1964</p><p>1965</p><p>1967</p><p>1970</p><p>1971</p><p>1971</p><p>1972</p><p>1973</p><p>1974</p><p>1975</p><p>1976</p><p>1977</p><p>1979</p><p>'1981</p><p>1984</p><p>1987</p><p>1989</p><p>1990</p><p>1991</p><p>1991</p><p>1992</p><p>1992</p><p>1994</p><p>1994</p><p>1995</p><p>1995</p><p>1995</p><p>1996</p><p>1.:rmin:i a construção do primeiro computador comercial de propósito gi:ral. o UNIVAC.</p><p>Telfrnin:1 :1 mont;)gem do primeiro com l!t.1(for [r-.)1u i ~orizado, o TX_-0 no MJT.</p><p>Ulliá t..-q~•if e d;l. IDM, liderod;.i por Johri B,;.çh(i~. dcsenvol e a primeir:i linguagem di.: alto nívd,</p><p>fortrnn, ;,,·oltada p,'lr.'I wh1cion;"1r pn>bknm lll;l.te1n:iticos.</p><p>A LBM lança o IBM-7090.</p><p>Jack Kilby, na Ti:xas Jns~m,mmts, ·ompl ·t:i :i constniçdo do p.-imeiro circuiro imegrado</p><p>con ·ndo ·inco componcm1.-,.,</p><p>Doi1gl:.r- .Engclbart, do. ranford Rcsc:.ir,;:h !nstit1Jtc, i1wcnt:1 o inome.</p><p>A lBM lauça o IBM/ 360, prime-iro computador a utilizar circuito~ im,-grados.</p><p>A linguagcn1 BM.ic (Bcgiimcrs A.ll- purpm1c· Symbolic Imtn1ction Goele) Í; d ,:nvolvid. por</p><p>Thoma Kunz e John Kennl·dy 110 Darnnomh Colle~c. M. i tarde, d . se toma popular</p><p>d1.-vido ao lançamemo do Altair com o interpri::r:idor dc.srnvolvido por BiDI Gatc e Paul</p><p>Allen. fu11d:idore!> da Microsoft.</p><p>Gordon Moore, diretor de p~qui a e des.e1wol\'imemo da empresa Faírchild Semiconducmr,</p><p>prevê que a densidade dos uans:i:smre.s e drcu itm incegrados dobraria a cada ]2 mese no!> IO</p><p>anos cgu imes. Essa previsão foi atualizada em l 975, u lmi rnindo- t.: 12 rncses por 18 meM!:., e</p><p>comou-se conhec-id:1 como Lei de Moo.-e.</p><p>A rBM fabrica o primeiro " ílopp_ di!-k''.</p><p>A primeira V€rs1io do i rem.1 oper:u;;io1ul Urlix é l:mç.11da., rodando i:m 1,1111 comp\1t dor DEC</p><p>PDP-7. te si rema fo ' c: crito. a pa.11ir d · 1969, no Bdl Labs, por Dcnni Ritdlie e Ken</p><p>Thompsorl.</p><p>A li11gi.1. gi:111 Pascal é proj ·t:id.:i por Ni.ckfau Winh.</p><p>A lmd 1. llçà o prim ·iro 5.istc:ma de microcornpmador, ba eado 110 proc sador 4004, com</p><p>desempenho de 60000 operaçôe:. por egundo e 2300 tr.u ismres encaps,ulado~.</p><p>Dcruüs R..itchic do I3ell Lam desenvolve a lingu:igcm C.</p><p>G,uy KildaU escreve um istema operadou.--il na linguagem PL/M e o denomin~ P/ M</p><p>(Control Program/ Mouitor).</p><p>A ln~l lauça o proccs.s.1.dor 8080 de~ MHz (primc:in..i l,.mç~mtt:nw r:n1 1973), com 6000</p><p>rransi ror e 6-4{)000 instmçõ por scgi1ndo. O CP/ M é :.idapt..'ldo para o 8081.l , e a Motorola</p><p>lança :.cu proce ador de 8 bits. o 6800.</p><p>a edição de janeiro Ó;l. revis-m PopHfor Eki:rro,lio; é rcafürodo o bnçtum.:nto do primeirn</p><p>mkrocomp,1tadc)r di: 8 bi ·, o Alta.ir.</p><p>Sreve Wozni:tk e St ' \,'C job fonn.:'lm a Appk Computc-r.</p><p>A DEC hnç-:1 mll de ~r;v, niái. popula.rc rninicomptlt:idorcs, o VAX 11/7</p><p>A Appli: Comp:m,' lam;a s ·u computador Appl~ H.</p><p>urg,r: ã primcirn pla.nilha dctrônica, Vi ic:ik.</p><p>A ].UM ammcia o lançamento de seu primeiro microcompul';l.dor. o mM-PC.</p><p>A Appk aprc ·cnra scll prirnt>iro computador do ripo Madmilib.</p><p>A Micro oft lança . Lu pb nilha Excel, o primeiro aplicativo par:1 o Windo,</p><p>A Mkr ofi:</p><p>l:mp ~eu . i tc1n:i opt.:racional Window parn IBM- PCs.</p><p>A Microsofi: lanç:1 :i ve.-s,lo 3,0 dn Wi11dows pam P s.</p><p>A AMD lança seu clone dü procc. ;;dor I ritd 386.</p><p>Linu. orv;ild. d~'1WOlvc o s,i tema opcrnciomil Lima;,;., na Piinl.india.</p><p>A IBM e a Moh)ro].;. ç~mbdcçç·m um .-cordo para dc-,;mrolvimcuto do microproce ador</p><p>PowerPC.</p><p>A IBM lança mn microcomputador porüril, o ThinikPad 700C.</p><p>A N ·A desenvolve o pri1neiro navegador para Itn ernct, o Mosaic.</p><p>O Mosaic se tr:msforrna no N ersc~J e.</p><p>A I omi;g.'l 1 :mç..i ~\15 Zip driv~.</p><p>A Micros.oft bnç.1 nova vers:o do SO Windo" - Window· 95</p><p>A (rnel l~nç.-i o pl"ôCl.'"~ádor Pcntillm Pro.</p><p>A 3Com, Sun e -0111p:1q lnnçi'lln o padrão ,igabit Etht.:mcr.</p><p>A Microsofc lança o Windows 4JI c: o lntcn'lct Explorer 3.0.</p><p>Snõw</p><p>snow</p><p>fotrodufiio J 2 9</p><p>Tabela 1.2 Eventos Relevantes da Evo]ução da Computação (couânuação)</p><p>Período Ev,ento</p><p>1998</p><p>1998</p><p>2000</p><p>200 1</p><p>2001</p><p>2001</p><p>2002</p><p>2005</p><p>2005</p><p>A [mel bnça o process dor Penrium 11 de 333 MHz.</p><p>A Compa.q adquire a DEC, fabricante dos procesmlores de 6~ biu Alpha.</p><p>A Microsofc inicia a dls1ribuiç:o do SO Windows 2000 e o Windows ME.</p><p>A Deli M' coloca como primdro f.tbricam de PCs do mu.ndo.</p><p>ançarm:nto do barramento USB 2.0 ~ do padrão A A 1.0.</p><p>A Micro-o t inicia a d_istribuiç.io do SO Windows XP.</p><p>t .ança.mrnto do padriio PC] EKpn· .</p><p>A AMD inicia di tribuiçào de s,cu proce!>sador d\j 64 bi , núcleo duplo, Athlon 64 X2.</p><p>A Apple divulga ma intenção de s.ubsrírnir o proci:ssador Powerrc por p:mcessadores [me] em</p><p>cus computadon.-:s.</p><p>EXERCÍCIOS</p><p>1) Conceitue o termos dndo e i1!fonuaçiio, no que~~ refere a seu enr'lprcgo cm procc s.amcmo de dado .</p><p>2) aracterize as etapas principais de mn process:n-nento d,e dados.</p><p>3) Concdtuc um )ist,i;:ma. .ite doi e emplo prático de organizações si têmicas na vida real.</p><p>4) on iderand.o a organ:iz-açào de si:stcma:s de infolfma.ção ddinida no irem 1.1 .4 cite o~ níveis cxi!.tt:ntes</p><p>e dê exemplos pcirico de sisn:mas em c:1da um dos nivc.::i relacionado . .</p><p>5) O que você emend,e por um programa de compumdor?</p><p>6) .onceitu o:- termos lwrd11•Me e s'!_fiwart'.</p><p>7) O que é e p, 111 <]Uc serve um;'I hngL1agcm de programação de computador? Cite e ·etnplo de lingua­</p><p>géns de progrnn1açâo.</p><p>8) Quen1 d envolveu a máquina analítica?</p><p>9} Qual foi a ca1-actetísc.ica mat·came do censo de l890 dos EUA, no que se refere à cont1biliz.'lçâo dos</p><p>dados levantados?</p><p>1 O) Qual foi o propó ito que c-onduzin ao desenvohrimento do primeiro computador eletrônico do mun­</p><p>do?</p><p>1 ·1) Qual foi. o ptimeiro microprocessador de 8 bits lançado comercialmente? Qual o nome da empresa</p><p>propiietáiria?</p><p>12) Qua:is eram a caracccdstica.~ há icas da arquitetura proposta pelo D1. John von 'Umann?</p><p>13) Qual a import..1.ncfa do computa.dor Altair para. a e a lução da contprnt-ação ,comc.cial?</p><p>14) O que você entend~ po1· si tema. digital? Qu,1.l e1Lia a alternativa na computação se não e ·istissem má­</p><p>quina digitai ?'</p><p>15) O que conduziu o pensamento dos pe~qui adores par-J de envolvercompmadores que someme Iliam o</p><p>~i tema binádo 1:: não, por exemplo, o sistema decimal?</p><p>16) Cite empresa> brasikin1s qu comercializam co1nputadores com sua p1iipria marca.</p><p>17) Qual foi o prim jro equiparnemo utiliza.do no mundo para realizar dkulos matemárioos?</p><p>18) Con:sjderando o formato das inscruçfü:: do prncc; . . ador IA (ver Fi.g. 1.1 2), indique qual deverá ser a</p><p>máxima quan tidade de insm1çâo qu,e ·O ]AS poderia ter.</p><p>19) Uma da versões do processador Pe.ntium [[[ possui endereços de 36 bi ts em vez do tradicional de 32</p><p>bits. Qual deveria er a capacidade máxima de end.ereçamemo :naquele proce adores?</p><p>Sn$W</p><p>30 / ltitrod,lfão</p><p>20) O ENIAC é usualmente conhecido como sendo o piimciro computador fabiicado (máquina clctrôni­</p><p>ca de processamento de dados). No entanto, antes dele pelo menos dois outros cientistas desenvolve­</p><p>ram equipamentos eletrônicos de computação, embora sem terem tido o devido crédito. Quais foram</p><p>os cientistas e suas máquinas maravilhosa.e;?</p><p>21) Qual foi a pri meira linguagem de programação de alto nível desenvolvida? Qual seu objetivo principal?</p><p>22) Pense em algumas vantagens globais obtidas pelo uso de máquinas para realizar processamento de dados</p><p>em substituição ao ser hmnano.</p><p>Sn$W</p><p>O Siste ma d e Computação</p><p>2.1 COMPONENTES</p><p>No capítuJo anterior, vin10s que um sisterna de computação é um conjunto de componentes que são inte­</p><p>grados para funcionar como se fossem um único elemento e que têm por objetivo realizar manipulações com</p><p>dados, isto é, realizar algum tipo de operações com os dados de modo a obter uma informação Íl til.</p><p>A Fig. 1.1 mostra as etapas do processo de marúpulação de dados (processamento de dados), a qual. como</p><p>mencionamos, pode ser realizada de fonna manual, como se fazia antes da era dos cornputadores, ou através</p><p>dos computadores, que são, então. máquinas de processar dados de forma eletrônica.</p><p>Quando, em 1943, J. Eckert e J. Mauchly iniciaram o desenvolvimento de uma máquina para computare</p><p>obter de fon11a mais rápida as tabeJas balísticas requeridas pelo exército americano, e)es tiveram em mente</p><p>aquelas etapas da Fig. 1.1, para criar os componentes que iriam constituir o computador de forma completa.</p><p>Ou seja, tinham que projetar um meio para entrar os dados (elemento de Entrada, E - ou Input - l), outro</p><p>para apresentar o resultado na forma que os humanos entendessem (elemento de Saída, S - ou Output - O)</p><p>e, finalmente, un1 demento capaz de ordenadamente executar instruções que 1nanipulasse1n os dados como</p><p>desejado (elemento de processamento ou processador). Na realidade, naquela época e em um primeiro mo­</p><p>mento, os componentes de EIS não eram tão explicitamente definidos e visivelmente compreendidos como</p><p>atualmente, pois não tinham surgido ainda os monitores de vídeo, impressoras, teclado1 1nouse e outros mais</p><p>que reconhecemos facilmente nos dias de hoje.</p><p>Desse modo, o primeiro computa.dor surgiu com os 1nesmos con1ponentes necessários para se realizar com</p><p>sucesso as etapas de processamento de dados: Processador e Sistema de Entrada/Saída (E/S) ou, como são</p><p>conhecidos em inglês: Input/Output (1/0).</p><p>Logo em seguida,John von Neumann aperfeiçoou de forma considerável aquela arquitetura inicial, acres­</p><p>centando um elernento (componente) fundamental: a memória, um componente para armazenar tanto pro­</p><p>gramas quanto dados, o que tornou o processo de manipulação dos dados muito mais rápido e eficaz. Tal</p><p>arquitetura, conhecida como de von Neumann (embora vários o utros cienristaS tenham colaborado no pro­</p><p>jeto) , tem-se mantido ao longo do tempo, naturalmente com notáveis aumentos de capacidade, velocidade e</p><p>desempenho global.</p><p>Como este livro trata do estudo e da descrição dos computadores, precisamos, em primeiro lugar, apresentar</p><p>as principais partes que compõem essa extraordinária máquina. Este capítulo, então, consiste na apresentação</p><p>genérica dos componentes principais de um sistema de computação. de modo que, nos capítulos subseqüentes,</p><p>possamos detalhá-los um por um, em. suas funções, estrutura interna e funcionamento.</p><p>A Fig. 2. l mostra um modelo de computador, com seus componentes básicos, os quais. com.o já mencio­</p><p>nado, fazem parte (exceto as memórias) das etapas de um processo de manipulação de dados.</p><p>32 / O Sistema de Computafâo</p><p>d --- ~ _P_~_~_•_~_d_o_r ~ ---C=></p><p>Dispositivo</p><p>de entrada</p><p>Memória principal</p><p>(RAM)</p><p>ou primária</p><p>I</p><p>Dispositivo</p><p>de saida</p><p>Memória</p><p>secundária</p><p>Figura 2.1 Componentes básicos de um computador.</p><p>SU$W</p><p>Para identificar melhor cada um dos componentes mostrados, vamos utilizar um exemplo corriqueiro. Esse</p><p>exemplo nos auxiliará a apresenrar a descrição funcional de cada componente, a memória ou o processador</p><p>central, por exemplo, bem como pretende mostrar exemplos práticos dos componemes reais atualmente fa­</p><p>bricados, de modo que o leitor tenha uma idéia viva sobre o que se está descrevendo teoricamente.</p><p>Consideremos o caso de um siste1na de conttole do movimento</p><p>diário de uma agência bancária, no que se refere</p><p>exclusivamente à atualização dos saldos das contas de cliences que tiveram movimento em um detemúnado dia. Em</p><p>linhas gerais (e de fonna bem simplificada, apenas com o propósito já mencionado de procurannos identificar os</p><p>principais componentes de um sistema de computação), o movimento do dia compreenderia apenas retiradas de</p><p>algum valor (arravés, p. ex., de um cheque, cartão etc.) ou inclusões (arravés do depósito por cheques, ca1tões,</p><p>espécie etc.). As duas possíveis operações seriam, então, retirada - executada por uma operação arim,ética de sub­</p><p>rrair do saldo atual o valor da retirada, obtendo-se um novo valor de saldo, e depósito - executada portnna operação</p><p>aritmética de somar ao saldo atual o valor do depósito, obtendo-se um novo valor de saldo. Ambas as operações são</p><p>realizadas através de i1úonnações obtidas de um docmnento - DOC - que contén1 o número da conta a ser mani­</p><p>pulada, o tipo da operação (retirada ou depósito) e o valor a ser manipulado em moeda.</p><p>A Fig. 2.2(a) mostra o processo de atualização através da descrição, em linguagem clara, sem qualquer com­</p><p>pronússo de identificá-la com alguma linguagem de programação, das erapas (tarefas) a serem realizadas para</p><p>a referida atualização.</p><p>A relação de tarefas q ue descrevemos em linguagem clara na Fig. 2 .2(a) é denominada algori tmo (ver de­</p><p>finição de algoritmo no item 1.1.3). No enranto, um algoritmo descrito do modo informal como mostrado</p><p>na figura não consegue ser processado por uma máquina, justamente devido à sua informalidade (a máquina</p><p>não entende esse tipo de palavras) e à ausência de qualquer padrão de nomenclatura. Cada pessoa pode escre­</p><p>ver a mesma relação de rarefas, porém usando palavras e frases ligeiramente diferentes. Isso impede que uma</p><p>Início do Programa</p><p>Enquanto houver DOC</p><p>Fazer</p><p>• Obter um DOC</p><p>• Ler número do DOC</p><p>• Enoontrar oonta com número = numero do OOC</p><p>• Se tipo-DOC = depósito</p><p>Então: Novo-saldo = Saldo + Valor</p><p>• Se tipo·DOC = retirada</p><p>Então: Novo-saldo = Saldo - Valor</p><p>• Escrever Novo-saldo no lugar de Saldo</p><p>Fim do Fazer</p><p>Fim do Programa</p><p>Figura 2.2(a) Exemplo de mn aJgorit.mo simplificado para atualização de saldo de contas bancárias.</p><p>SU$W</p><p>O Sistema de Computação / 33</p><p>máquina entenda que tarefa deve ser realizada (por exemplo, alguém pode denominar "adicionar" a operação</p><p>de somar. Como uma máquina deve entender esta operação?). Por isso, foi necessário definir linguagens de</p><p>comunicação com os computadores, chamadas, de forma genérica, linguagens de programação (ver item 1.1.3).</p><p>Nesse nosso exemplo, então, o passo seguinte seria codificar o algoritmo em comandos de uma linguagem de</p><p>programação de alto nível do tipo Pascal ou ainda C, Visual C, Delphi etc. Na Fig. 2.2(c) mostramos, apenas</p><p>para ilustração do leitor, uma possível codificação do algoritmo na linguagem C .</p><p>Em seguida, os comandos definidos - que se constituem, em conjunto, no que se denomina um Programa de</p><p>Computador- precis.1m ser interpretados pela máquina (pelo computador) e, para tal, precisam de algum modo</p><p>ser introduzidos no hardware. Trata-se da primeira etapa de um processamento (ver item 1.1. l) - Entrada - que</p><p>requer um componente ou equipamento específico (hardware). Por exemplo, podemos digitar caractere por</p><p>caractere do programa em questão, usando o componente denominado Teclado, bastante semelhante ao teclado</p><p>das máquinas de escrever comuns. No irem 10.3.1 é descrito o funcionamento de um teclado, mostrado na Fig.</p><p>2.3. Há inúmeros outros equipamentos que podem ser utifüados como componente de entrada de dados em um</p><p>sistema de computação. Exemplos de dispositivos anialmente usados como entrada de dados e programas:</p><p>Teclado</p><p>Mouse</p><p>Scanner</p><p>Caneta</p><p>Microfone</p><p>Touch-screen</p><p>Sensores ópticos (utilizados para " ler" as marcas a lápis, colocadas em folhas de respostas por candidatos</p><p>cm um concurso vestibular)</p><p>Sensores magnéticos (utilizados para "ler" marcas colocadas em um cheque de banco)</p><p>Disquetes o u discos rígidos</p><p>CDs, DVDs etc.</p><p>No Cap. 1 O - Entrada/Saída e no Apêndice D - Mais detalhes, são descritos vários d ispositivos de EIS.</p><p>Início do Programa</p><p>INÍCIO Obter OOC</p><p>Se não há mais DOC.</p><p>Então: Vá para FIM</p><p>Senão: Fazer 1:</p><p>Ler número do DOC</p><p>CONTA Obter Nova Conta</p><p>Ler Número da Conta</p><p>Se Número do OOC = Número da Conta</p><p>Então: Fazer 2:</p><p>Ler tipo do OOC</p><p>Se tipo do ooc = Depósito</p><p>Então: Trazer Valor da Conta para Calculador</p><p>Trazer Valor ôo OOC para Calculador</p><p>Somar: Valor da Conta + Valor do OOC = Resultado</p><p>Substíluir Valor da Conta por Resultado</p><p>Senão: Trazer Valor da Conta para Calculador</p><p>Trazer Valor ôo DOC para Calculador</p><p>Subtrair Valor da Conta - Valor do OOC = Resultado</p><p>Substituir Valor da Conta por Resultado</p><p>Fim de Fazer 2</p><p>Senão: Retomar para CONTA</p><p>Fim de Fazer 1</p><p>FIM Fim do Programa</p><p>Figura 2.2(b) Descrição mais detalhada do algoritmo da Fig, 2.2(a).</p><p>Sn$W</p><p>34 / O Sistema de Computnfão</p><p>No entanto, os computadores foram (e ainda são) projetados com capacidade de entender e realizar apenas</p><p>tarefas bem simples e curtas, tais como:</p><p>somar dois números de cada vez (ele não efetua operações com três ou quatro n(1meros de uma só vez</p><p>etc.),</p><p>mover um número de um local para outro,</p><p>ler o caractere correspondente à tecla que acabamos de pressionar no teclado, e assim por diante.</p><p>Então, para que o computador possa realizar as tarefus que relacionamos de modo geral na Fig. 2.2(a), pre­</p><p>cisamos detalhá-las mais, de modo que as novas tarefus sejam iguais às operações que o hardware sabe fuzcr.</p><p>Ou seja, o programa introduzido no sistema pelo dispositivo de entrada não pode ser diret.1mente processado,</p><p>pois seus comandos são complexos para o entendimento da máquina. E, por isso, foi preparada uma nova</p><p>relação com outras t.1refas, mais detalhadas e simples, que produzem, porém, o mesmo resultado final, soluci­</p><p>onando o mesmo problema. A Fig. 2.2(b) mostra essa nova relação (programa), que compreende as operações</p><p>que o hardware pode realizar. Na realidade, algumas das instruções relacionadas na figura precisam ainda ser</p><p>mais detalhadas, mas trata-se de situação bem específica {de entrada e saída), a ser discutida adiante.</p><p>void main()</p><p>{</p><p>printt {"Digite o número do documento: ");</p><p>scanf {"%d", &num_doc);</p><p>AAQ_CONTAS = fopen (*Arquivo de Contas dos Clientes", "rw");</p><p>while {num_doc != O)</p><p>{</p><p>)</p><p>printt {"Informe o número da conta: ");</p><p>scanf ("%cf', &num_conta);</p><p>printt {"Informe o valo(');</p><p>scanf ("%r, &valor);</p><p>printt {"Qual o tipo do lançamento {D) Depósito ou A {Retirada)");</p><p>scanf ("%e", &tp_lanc);</p><p>fseek (AAQ_CONTAS, sizeof(RegCliente)'(num_conta-1 ), SEEK..SET);</p><p>fread (&RegCliente, sizeof{RegCliente), 1, ARQ_CONTAS);</p><p>if (tp_lanc == "D")</p><p>AegCliente.Saldo = AegCliente.Saldo + valor;</p><p>else</p><p>RegCliente.Saldo = RegCliente.Saldo - valor;</p><p>fseek (ARQ_CONTAS, sizeof{AegCliente)"(num_conta-1 ), SEEK_SET):</p><p>fwrite (RegCliente, sizeof{RegCliente), 1, AAQ_CONTAS);</p><p>printf {"Digite o número do documento: ");</p><p>scanf {~/4d", &num_doc);</p><p>fclose {ARQ_CONTAS);</p><p>)</p><p>Figura 2.2(c) Programa em C para o algoritmo da Fig. 2.2(b) .</p><p>Neste momento, vamos ignorar corno foi realizada a transformação do programa da Fig. 2.2 (a) no programa da</p><p>Fig. 2.2(b) (ver Apêndice C), como também nada s.1bemos ainda sobre o fonnato dos elementos que constituem os</p><p>referidos programas. Queremos, neste instante, tão-somente identificar quais são os componentes envolvidos com</p><p>a realização das tarefas desc,itas nas figuras citadas e conhecer suas funções básicas dentro do processo global.</p><p>Retornando ao algoritmo da Fig. 2.2(b), devemos ter atenção ao fato de que, para que uma máquina seja</p><p>capaz de realizar várias operações, é preciso que e1a seja de algum modo instruída a identificar cada uma delas</p><p>e, depois de identificá-la, saber como realizá-la. As tarefas relacionadas na Fig. 2.2(b) são, uma por uma, ope­</p><p>rações que uma determinada máquina (o hardware) pode realizar. Chamam-se, por causa disso, instruções</p><p>de</p><p>máq11i11a . O componente do computador que é capaz de entender e realizar uma operação definida por uma</p><p>SU$W</p><p>O Sistema de Cc,mputação / 35</p><p>Figura 2.3 Exemplos de dispositivo de E/S - Teclados.</p><p>instrução de máquina denomina-se Unidade Central de Processamento - UCP, ou, simplesmente, processador</p><p>(CPU - Cewral P"'cessi11g U11ir). Uma UCP ou processador é constituída de milhões de minúsculos circuitos</p><p>e componentes eletrônicos {transistores, resistores etc.) ct\jas fünções básicas são ler e interpretar instruções de</p><p>máquina e realizar as operações matemáticas (ou outras) definidas após a interpretação de uma detcnninada</p><p>instrução (ver Cap. 6). Atualmente, os mencionados milhões de elementos podem ser encapsulados em um</p><p>único invólucro, formando as pastilhas (chips), que já citamos no Cap. 1, como os processadores (UCP) Intel</p><p>Pentium 4, Intel ltaniwn, Intel Celeron, AMD Athlon, AMD Opteron, AMD Athlon 64, Motorola/LBM</p><p>Power PC, Sun Sparc e o utras. A Fig. 2.4 mostra alguns exemplos de chips processadores.</p><p>Athlon</p><p>, .</p><p>~!!?.</p><p>ª ...........</p><p>, __</p><p>f'U" •• c..,...,</p><p>n , ... ,~ -.,.. .</p><p>SPARC</p><p>Pentium 4</p><p>Figura 2.4 Exemp los de p rocessadores.</p><p>Sn$W</p><p>36 / O Sistema dt C"mputaçâo</p><p>Para que a UCP possa trabalhar - entender e execurar uma instrução de máquina - é necessário, em pri­</p><p>meiro lugar, que o programa mostrado na Fig, 2.2(a) seja introduzido no sistema (através de um dispositivo de</p><p>entrada, como o teclado), para em seguida ser convertido no programa da Fig. 2.2(b), e depois a UCP come­</p><p>çar a executar este último.</p><p>Já vimos ante1iom1ente que um progr.m1a é sempre consciwído de vá1ias instntÇÕ<:S, t: para que de seja rapida.</p><p>mente executado é necess.íiio que ele execute todas as instn,ções, recebendo os dados, manipulando-os e expondo</p><p>todos os resultados, de fom1a totalmente automática. Em outras palavras, antes da execução do programa, este e os</p><p>dados que serão por ele manipulados devem ser am1az.enados na próp1ia máquina para, um a um, serem localizados</p><p>pelo processador, entendidos e executados, sem que haja interveniência de uma pessoa (pois, nesse caso, haveria</p><p>sempre um atraso bem grande). O componente do sistema de computação responsável pelo am,azenamento das</p><p>i,úonnações introduzidas pelo componente de ENTRADA é denominado Memória (ver Fig. 2.6).</p><p>Após a realização de todas as operações, os resultados devem ser apresentados ao usuário interessado, o qual</p><p>naturalmente deseja vê-los em uma forma inteligível para de (caracteres alfubéticos, algarismos decimais, si­</p><p>nais de pontuação da nossa linguagem etc.) e não na linguagem do computador. Esses resultados podem ser</p><p>apresentados en1 lllll vídeo ou impressos em um outro equipamento muito popular en1 computação, a im­</p><p>pressora, ou em qualquer outro dispositivo de SAÍDA (ver Fig. 2.5 e Cap. 10).</p><p>Monitor</p><p>Pendrive</p><p>CD-Rom</p><p>Impressora</p><p>Mouse</p><p>Figura 2.5 Exemplos de dispositivos do E/S.</p><p>Em resumo, os componentes básicos de um sistema de computação são:</p><p>• processador (ou UCP);</p><p>• 1ne1nória;</p><p>• componentes de E/S.</p><p>O pr()cessad()r rcaliz.a duas funções prhnotdiais: a .. cerebral", de interpretar as ações que devem ser realizadas:</p><p>por conta de u111a dctcnninada instrução de máquina, e a "executiva". de efctivainente realizar aquela operação</p><p>interpretada. Qualquer processador é construído contendo internamente as seqüências {ou rnicroprograma -</p><p>ve1· Apêndice O) de execução de cada operação primitiva que o seu projetista definiu, como a de somar dois</p><p>nllmeros, muJtiplicar dois números, mover un1 dado de um local para outro etc.</p><p>snow</p><p>O. is.lem11 dr Co111p11t11çifo / 37</p><p>( Início )</p><p>~I</p><p>••</p><p>Buscar</p><p>irtstrl\Jção na</p><p>rrremõria</p><p>l</p><p>lnlerpretar a</p><p>op,era,ção a ser</p><p>realí!U<f:a</p><p>i</p><p>Bus.ear</p><p>operandos</p><p>(se houver)</p><p>l</p><p>Executara</p><p>operação</p><p>1 Figura 2.,(i Cj,cfo básico de instrução.</p><p>Para executar cada pa~o de uma deter.m.inada seqi.iéncia , mn compont>nte interno do proces a.dor emite</p><p>um s.:ina] de controle para transferir ou mover bits de um local para outro (por exemp1o, uma etapa de uma</p><p>eqUência de . oma pode. er nan ferir o endereço de um c:fado dé um. regi. r:rador1 para ourro rt'gi. trador).</p><p>Na realidade, o proce ador contém !>empre uma se,qilênçia bá ica de execução de operações pr:im1tiva. que</p><p>é conhecida como ódo de in truçâo, mo n11da na Fig. 2.6 (no ap. 6 o kitor obterá uma completai.: detalha­</p><p>da de crição do funcionamento de um ciclo d instrução, com exem1plos elucidativo).</p><p>Omro componence ,é a ,nem,dria. Tr:ata-se de 11.1m componente que não pode s.cr e tudado como um ele­</p><p>mento individuál, já que há diferentes tipos de memóri:.i em qualquer si tema de computação. · a realidade,</p><p>pod1;;mo imaginar a memória como mn si terna de a:rmazen:unento, comtjtuído de várjos di positivos cada</p><p>mn com características diferentes. de desempenho, porém todos servindo a um mesmo propósim: a11J1azena­</p><p>mento e recuperação, Conforme veremos mais adiante, e:»e sim:~ma de memória. é constituído de ári.os · 01t'l­</p><p>ponentes de armazenamemo como: rc~,i tradcm;S,, 1nemória cache, mcmú1;a p1im;ip.il, memória :;ecundária.</p><p>A Fig. 2.7 mo tra alguns. exemplo. de mcméni:1s usada~ atualmi.:ntc no computadorc _</p><p>Uma da caracterí ticas marcantes do dispo iri oi; de amlazcnamcnto é o endereço de a.cesso a uma deter­</p><p>minada parte (ou posição) do di positivo ou da memória. Endereço é: um número (natur3lmcntc bináiio, já</p><p>que todo computador funciona no istema binãrio) tp1e indica uma púsú;âo ou local da mem6tia onde e</p><p>armazena um determinado vak)Tr (o d~do).</p><p>O conceito de endereço cm memória d • computador é semelhante ao end reço utilizado em nossa vida</p><p>coridiana p:.ira identificar e localizar locais de moradia ou. de rrabalho, um núme-ro.</p><p>Os dispo!\irivo~ d · Eutradt1 ou StJid" servem basicamente para permitir que o sistema de cm11puração :se</p><p>co111uniquc colll o mundo exterior, realizando ainda além da interligação, .1. conve·rsào da linguagens do</p><p>i~tema parn a linguagem do meio e. terior (caractere de nos a ]ingu:igem) e vice- ersa. Os cre humano</p><p>t'ntcndt.:m s-ímbolos como A, b, ., (, + etc., e o computador entende s..inai elétricos que podem a !illmir um.</p><p>valor de tensão ( + 3 vo]ts) para representar o valor l ou um outto valor (O volt) para representar o valor O. O</p><p>teci.ado (di po itívo de ENTRADA) interliga o u ·uário (mundo e t(!tioi·) e o computador, permitindo a co-</p><p>1R.q,:i.11r~or ~ um~ peqm.·na 111('111ória d~ :dti'~inrn \·do,dtfade. ('!'.Htotme nos procc« ,1d.ol'tl p,U'il :1m1:k:!~1rnr um ünico \·alar ,k ,htl.u ou ~n,kJrc';ç., •• ·ri ,l,:,,çnt<></p><p>111\l .;,p. -1 ~ m1,,,-,11,,"im1~do fr~11t•~nt~·m ·11t.: =1<1 llifl!,.'ll dos demaH t"J]lÍtuln<</p><p>Sn$W</p><p>38 / O Sistemn dt Compurnçifo</p><p>DDR</p><p>DIMM</p><p>PCI</p><p>Figura 2.7 Exemplos de me1nórias.</p><p>municação entre ambos através do uso das suas teclas. Ao ser pressionada a tecla correspondente ao caractere</p><p>A, por exemplo, os circuitos clctrônicos existentes no teclado "convertem" (ver Cap. 10) a pressão mecânica</p><p>em um grupo de sinais elétricos, alguns com voltagem alta (bit l) e outros com voltagem baixa (bit 0), que</p><p>corresponde, para o computador, ao caractere A.</p><p>Os dispositivos de SAÍDA operam de modo semelhante, porém em sentido inverso, isto é, do computador</p><p>para o exterior, convertendo os sinais elétricos inten10s (e que, em grupos. podem representar um caraccere</p><p>inteligível pelo ser humano) cm símbolos conhecidos pelos humanos, como os caracteres C, e, h, *, >, + etc.</p><p>Nos Caps. 9 e 10 serão mostradas as características básicas de alguns dos dispositivos de saída mais conhe­</p><p>c idos, como o vídeo, a impressora, o CD-ROM, os discos magnéticos e o mouse.</p><p>Nos parágrafos anteriores, apresentamos ao leitor os componentes e suas funções, que constituem um sis­</p><p>tema de computação do ponto de vista do hadware. Processador, memó,ia e dispositivos de EIS são realmente</p><p>os componentes mais visíveis e conhecidos, porque são aqueles que têm função explicitamente visível e os</p><p>quais nos acostumamos a usar diretamente (como os de E / S) ou</p><p>ver e pegar, quando compramos, montamos</p><p>etc. , con10 o processador e os diversos tipos de memória. No entanto. ainda falta 1nencionar um elemento</p><p>importallte desse sistema, que provê a interligação de todos os componelltes, permitindo a comu,úcação en­</p><p>tre eles e, por isso, viabilizando seu funcionamento.</p><p>Como as informações existentes internamente (programas e dados) nos diversos componentes são repre­</p><p>sentadas por sinais elétricos, que indicam os dois valores que o sistema conhece (bit O ou bit !), para que os</p><p>bits caminhe1n de um local para outro é necessária a existência de uma fiação apropriada para conduzir os</p><p>sinais elétricos, da mesma fonna que, em nossa residência, há uma enorme quantidade de fios necessários para</p><p>conduzir os sinais elétricos que irão acender as luzes, ligar os clctrodo111ésticos, conduzir som e outros. Desse</p><p>modo, o processador encaminha um dado para a 1nemória através de fios condutores, assim como a me1nória</p><p>principal pode encaminhar também (ou receber) dados (bits) do disco rígido através de fios condutores.</p><p>O conjunto de fios que conduzem sinais elétricos entre os diversos componentes do computador (sinais</p><p>détricos que podem, cm um dado instante, representar bits de dados ou bits de endereço o u mesmo sinais de</p><p>controle indicadores de uma determinada operação a ser realizada) é conhecido como barra meu to. A Fig. 2.8</p><p>mostra u1n m.odelo de conexão entre os diversos componentes de um sisten1a de computação através de um</p><p>barramemo. A figura mostra o barramento representado por dois traços separados, que servem para mostrar</p><p>SU$W</p><p>O Sistema dt Computação / 39</p><p>Processador</p><p>Memória</p><p>cache</p><p>Detalhe barramento</p><p>Memória</p><p>principal EIS</p><p>Barramento (BUS)</p><p>EIS</p><p>( ... )</p><p>EIS</p><p>Fios</p><p>indrviduais</p><p>Figura 2.8 Modelo de interconexão entre componentes de um sistema de computação.</p><p>que entre os traços estão passando diversos fios. É comum, tambéin, se represencar um barramento com vários</p><p>fios por um único fio, contendo um traço em diagonal e ao lado desse traço um número, que indica a quan­</p><p>tidade de fios daquele barramento.</p><p>Em inglês o barramento chama-se b11s, cujo significado mais comum é ônibus, veículo de transporte com­</p><p>partilhado (ou seja, permite que diferentes pessoas possam usar o mesmo veículo para irem a d iferences locais,</p><p>mais economicamente do que se usassem um veículo individual, como um carro, por exemplo). O termo bus</p><p>é mais apropriado do que barr,mento porque exprime a maior qualidade do barramento em um sistema de</p><p>computação: a capacidade de compartilhamento de uma mesma via, economizando fios (economia de custo</p><p>e espaço) . Como se pode ver na Fig. 2.8, cada componente pode se comunicar com um outro usando o mesmo</p><p>barramento; naturalmente, como os sinais elétricos são os mesmos, só pode haver uma comunicação bilateral</p><p>cm cada instante, ficando as demais comunicações aguardando sua vez.</p><p>Os barramentos são mais ou menos sen1elhantes a u1na avenida de mna cidade, por onde passam veículos</p><p>de transporte (sinais elétricos, no caso do computador), um por cada pista (um sinal po,· cada fio, no caso do</p><p>computador). A avenida pode ter uma única pista, por onde passa um único carro de cada vez (o barramento</p><p>pode ter um único fio, por onde passa um sinal de cada vez, um bit de cada vez). Chama-se esse tipo de</p><p>barramento de serial. Outro tipo de barramento ou avenida, no caso de uma cidade, é aquele constituído de</p><p>vários fios (no caso da avenida é como se ela fosse constituída de várias pistas), por onde passam vários sinais</p><p>simultaneamente, um por cada 60. Chama-se esse tipo de barramento de paralelo. Largura do barramento é</p><p>a propriedade relativa à quantidade de fios (de bits} de que ele é constituído; é mais utilizada no caso de</p><p>barramentos paralelos do que seriais.</p><p>Um barramento que seja constituído de 10 fios paralelos indica que podem passar por ele simulcaneamente</p><p>10 sinais elétricos, cada um representativo de 1 bit; a largura do barramento é, então, igual a 10 bits.</p><p>Os barramentos são usualmente constituídos de duas partes:</p><p>- parte que conduz bits de dados - barramento de dados - BD</p><p>- parte que conduz bits de endereços - barramento de endereços - BE</p><p>Além disso, há um conjunto de fios adicionais que conduzem sinais de controle e comunicação durante</p><p>uma operação de transferência pt:1o barramento; embora não se encontre com freqüência na literatura, esses</p><p>fios que conduzem sinais de controle podem ser chamados também parte do barramento global, como barra­</p><p>mento de controle ou BC. A Fig. 2. 9 mostra um exemplo de interconexão por barramento, com a separação</p><p>entre as três partes, BD, BE e BC.</p><p>Na realidade, é bom frisar que o barramento é único (por exemplo, barramento PCI o u FSB), porém di­</p><p>vidido em três conjuntos de fios, cada um deles servindo a uma funcionalidade diferente, dentro do mesmo</p><p>processo de transferência. Um conjunto serve para a função de transportar sinais de controle e comunicação,</p><p>e é cor1hecido por BC - barramento de controle; outro conjunto de fios serve para a função de transportar</p><p>sinais (bits) que representam um número, que é o endereço de um local de memória ou indicativo de um</p><p>SDêW</p><p>40 / O Sistema dr Compuraçifo</p><p>( ... )</p><p>Barramento de dados - BD</p><p>Figura 2.9' Mode o de intercone ·ão de con1ponentes de um si tema de com1n:l'tação.</p><p>dererminado di posiri o de E/ , conhecido como ban memo de endereçoo, BE, e, finalmente um outro</p><p>conjmuo serve para a função de tran portar inai (bits) que represemam o dado que e tá sendo transferido do</p><p>endereço mc11cicmadn.</p><p>No cam da conexão ao prece . . , dor (por exemplo, qu.-indo se- trata do ban-.im mo que i.ntcrcone-cta o pro­</p><p>ç ·. s.:aJor à memória cachc e à mcnu1iria prinôpal, ou RAM), todos. ,1; s. . fio ·h gain aos. pino de ligação do</p><p>procl.!sSaador ao mundo e ·terior, ou eja a soma dos fios do BC, do BD e do B é igual ao mtal de pinos do</p><p>processador ou cotal de foro do saquete e1 1 qut:' o prnce. s.ador . e encaixa na p laca-mãe do . i terna (pam en­</p><p>tender o conceito de pJaca-màe, ver Cap. 6).</p><p>Para auxiliar o 1eit.or no entendimento das f:unções do barramenms., podemos apr-esentar um pequeno</p><p>exemplo de operação de transferência de d3do. entre o proccs adore a n en 61ia principal. omo o e. emp]o</p><p>visa tão- somente; melhorar a comprens.ão da função de um barram nto, nào precisamos exp]ical' o que é o pe­</p><p>raçâo de ace s.o o sinais de tem,po nvoJvidos e outra explicações peninentes ai; quais e1iio detalhadas 111.-ii</p><p>adiante, quando efetivame1 te estudaremos os barramentos (Cap. 6 e Apíindice D).</p><p>Vamo imaginar, por exempJo, que o proce_ ador requer um dado parn ser m.-inipui.ado no decorrer da</p><p>execuçào de um~l ins.m1çào (a .in truçào pode ser, p. ex., a. de s,nmar doi~ númc1-os, 1c um dele é o dado que</p><p>o prece_· ador esrá. 11:qui:n:ndo). O processador abe o end.e1·eço do dado (nesse mmnent.o nao intel'e: sa aber­</p><p>mos conu) o prnçe. ~adm veio a ·ab •lf do endereço), que é, por exemp1o, .J7 m decimal 0000100101 em</p><p>binário (o valor binário exato & apena 1001 O 1, porém e tamo considerando, para efeito do e ·emplo, que o</p><p>barramento de endereço , BE. tem 10 fios o que permit,e passar endereço~ de at' 1 O bits. Er tão, a fargura</p><p>Processador M@mória</p><p>37 75</p><p>BE 37 _____.,.</p><p>BD 75</p><p>Figura .2.10 Ex.,êmplõ dê fü.ndonamento dos bauatnentos de dados, endereço ,e controlo.</p><p>Sn$W</p><p>O s;.s,ema de Ccm,putafiio / 41</p><p>desse BE é de I O bits, e preenchemos com zeros o valor do endereço para totalizar os 1 O bits. O processador</p><p>não sabe, mas vamos imaginar que o dado que está armazenado no endereço 37 é o valor 75 decimal, que</p><p>co1Tt--Sponde, em bináiio, a 1001011. Vamos supor que cada endereço de memória tenha uma largura de 8</p><p>bits, ou seja, possa annazcnar números com valor de até 8 bits; ent.io, no caso presente, estará armazenado no</p><p>endereço 37 o valor O 1001 O 1 1, que deverá ser transferido para o processador (na realidade é transforida uma</p><p>cópia desse valo r), e, como veremos mais adiante (Cap. 4), c--ste exemplo trata</p><p>solicito àqueles que desejarem fazer seus comen­</p><p>tários. crídcas e sugestões ou desejarem obcer as figuras</p><p>utilizadas pelo livro, que usem o canal direto com o autor,</p><p>pelo e-mail marioarn I OOO@grnaiJ.com. o que me per­</p><p>mitirá a obtenção de mais subsídjos para aperfeiçoar as</p><p>futuras revisões do livro.</p><p>M.A.M.</p><p>Agradecimentos</p><p>Em primeiro lugar, devo expressar profunda gratidão</p><p>aos l'neus in(1meros ex-alunos que. irticialmente, ao longo</p><p>de vários anos, pela necessidade de uma fome de consulta</p><p>adequada ao tipo de aulas e de assuntos dados, induziram­</p><p>me a escrever uma apostila e, depois, aperfeiçoá- la com</p><p>suas críticas e sugestões, resultando na primeira edição</p><p>deste livro. E às continuadas críticas e sugestões, que me</p><p>motivaram a escrever as edições subseqüentes. até esta</p><p>quinta.</p><p>Muitos professores, colitgas de cursos e outros auxilia­</p><p>ram na edição iniciaJ, bem como no aperfeiçoamento</p><p>das demais edições. Sempre lembrarei do saudoso Prof.</p><p>Luiz R.oberto Borges Pedroso e do Prof. Lucio Franco</p><p>de Sá Fernandes, que efetuaram uma cuidadosa leitura</p><p>do manuscrito orig inal, auxiliando-me com suas críticas</p><p>corretas e excelentes sugestões para a primeira edição,</p><p>bem como da Prof' Sandra Magalhães, que, ainda para a</p><p>primeira edição, realizou u1na revisão léxica e ortográfica,</p><p>com eficácia e dedicação. Nas demais edições, muitos</p><p>outros colegas contribuíram corn suas críticas, obser­</p><p>vações e sugestões, inclusive o Prof. João Luiz Queiroz</p><p>Ferrei,a, pela elaboração das soluções de grande parte dos</p><p>exercícios para a quarta edição. Agradeço, também, aos</p><p>m e us ex-alunos Fernanda C ristina R . da Silva e Thiago</p><p>Costa V. Lima, pdo auxílio que me proporcionaram na</p><p>elaboração das figuras adicionais para esta edição.</p><p>Com entários e Sugestões</p><p>Sn$W</p><p>Agradeço, e muito, aos inúmeros prolessores que,</p><p>adotando o livro ern seus cursos cm todo o país e enviando­</p><p>me suas criticas e obsc1vações, c::stimularam-me a continuar</p><p>seu aperfeiçoamento e o lançamento de novas ed ições.</p><p>Agradeço à minha mãe pelos ensinamentos e valores</p><p>passados durante minha vida, especialmente determinação</p><p>e coragem, e que certamente foram fatores importantes</p><p>para a elaboração e a conclusão das sucessivas edições</p><p>deste livro.</p><p>Mas, sobretudo, agradeço a Deus, não só por estar</p><p>vivo e permitir-me, entre outras coisas, escrever um</p><p>livro, na esperança de poder contribuir (mesmo que</p><p>com uma núnima parcela) para a formação profissional</p><p>de inúmeras pessoas, m as também por ter-me propor­</p><p>cionado e mantido ao longo de mais de 21 anos a m aior</p><p>fonte de inspiração, de carinho e de motivação: mi11ha</p><p>querida Claudia. Sua enorme tolerância nas infindáveis</p><p>noites e finais de semana de d ig itação e de correção do</p><p>texto, seu permanente incentivo. sua compreensão, seu</p><p>carinho d iário, sua dedicação ao nosso am or nesses anos</p><p>todos e o completo suporte, especialmente nos meus</p><p>m.omemos rnais diüceis, foram e têm sido o elememo</p><p>decisivo e impulsionador, responsável pela efetivação e</p><p>continuidade desta obra.</p><p>M.A.M .</p><p>Apesar dos melhores esforços do autor, do editor e dos revisores, t': inevit1tvd que surjaU\ erros 110 te.-.:ro. Assim, s..i.o bem-,rindas</p><p>as comunicações de usuários sobre corrcçôi.:s ou .sugestões referentes ao comclldo ou ao nJvd pedagógico que auxiliem o apri­</p><p>moramento de edições futuras. Os comencirios dos leitores pode1n ser e11caini11hados à LTC - Livros Téc11icos e Cienlificos</p><p>Editora l(da .. uma editora inlegrance do GEN I Grupo Editorial Nacional no endereço: Tr:J;vC$S.1 do Ouvidor, 11 - Rio de Jinciro,</p><p>RJ - CEP 20040-040 ou ao endereço elerrôoico lrc@grupogerl.coin.br.</p><p>Sumário</p><p>1 INTRODUÇÃO, 1</p><p>1.1 Conceitos Básicos, 1</p><p>1.1.1 Proccss.1111ento de Dados,</p><p>1.1.2 Hardw•re e Software, 3</p><p>1.1.3 Computadores Digitais, 4</p><p>1. 1 .4 Sistemas, 8</p><p>1.1.5 Sistemas de Computação, 9</p><p>1.2 Histórico, l 2</p><p>1.2. l Época dos Dispositivos Mecânicos (3000 a.C.-1880), 13</p><p>1.2.2 Época dos Dispositivos Eletromecânicos (1880-1930), 15</p><p>1.2.3 Época dos Componentes Ektrônicos - Primeiras Invenções (1930--1945), 16</p><p>1.2.4 A Evolução dos Computadores Eletrônicos (1945-até quando?), 17</p><p>1.2.4.1 Primeira Geração: Computadores à Válvula, 17</p><p>1.2.4.2 Segunda Geração: Computadores Transistorizados, 20</p><p>1.2.4.3 Terceira Geração: Computadores com Circuitos Integrados, 21</p><p>1.2.4.4 Quarta Geração: Computadores que Utilizam VLSl, 23</p><p>1.2.4.5 Evolução dos Computadores de Grande Porte (Mainfi:nmcs), 23</p><p>1.2.4.6 Computadores Pessoais - Microcomputadores, 23</p><p>Exercícios, 29</p><p>2 O SISTEMA DE COMPUTAÇÃO, 31</p><p>2.1 Componentes, 31</p><p>2.2 Represenração das Informações, 44</p><p>2.2.1 O Bit, o Caractcre, o Byte e a Palavra, 44</p><p>2.2.2 Conceito de Arquivos e Registros, 49</p><p>2.3 Medidas de Desempenho de Sistemas de Computação, 50</p><p>Exercícios, 51</p><p>3 CONVERSÃO DE BASES E ARITMÉTICA COMPUTACIONAL, 54</p><p>3.1 Notação Posicional - Base Decimal, 54</p><p>3.2 Outras Bases de Numeração, 55</p><p>3.3 Conversão de BasL.,;, 58</p><p>3.3. l Conversão entre J3asl!S Potência de 2, 58</p><p>3.3.1 . 1 Entre as Bases 2 e 8, 58</p><p>3.3.1.2 Entre as Bases 2 e 16, 58</p><p>3.3. l.3 Entre as Bases 8 e l 6, 59</p><p>3.3.2 Conversão de Números de uma Base 13 para a Base 10, 59</p><p>3.3.3 Conversão de Números Decimais para uma Base 8, 61</p><p>3.4 Aritmética Não-d.:cima1, 63</p><p>3.4.1 Aritmética Binária. 64</p><p>3.4.1.1 Soma Binária, 64</p><p>3.4. 1.2 Subtração Binária. 64</p><p>3.4.1.3 Mulriplic:ição Binária, 66</p><p>3.4.1.4 Divisão Binária, 67</p><p>Sn$W</p><p>3.4.2 Aritmética Octal (cm Ba.se 8), 70</p><p>3.4.3 Aritmética Hexadecimal (em Base 16), 72</p><p>Exercícios, 73</p><p>4 MEMÓRIA PRINCIPAL, 79</p><p>4.1 Introdução, 79</p><p>4.1.1 Como as Informações São Representadas nas Memórias, 81</p><p>4.1.2 Como se Localiza uma Informação nas Memórias, 83</p><p>4 .1.3 OpcraÇÕl"S Realizadas em uma Memória, 84</p><p>4.2 Hierarquia de Memória, 85</p><p>4.2.1 Registradores, 88</p><p>4.2.2 Memória Cachc, 90</p><p>4.2.3 Memória Princip..ll, 92</p><p>4.2.4 Memória Secund.1ria, 93</p><p>4.3 Memória Principal ou Memória Primária - Ml~ 95</p><p>4.3.1 Org.mizaçào da Memória Principal. 95</p><p>4.3.2 Considerações sobre a Org.111ização da Memória Principal, 98</p><p>4.3.3 Operações do Processador com a Memória Principal, 99</p><p>4.3.3.1 Operação de Leitura. 102</p><p>4.3.3.2 Operação de Escrita, 103</p><p>4.3.4 Capacidade de MP - Cálculos, 104</p><p>4.3.4.1 Cálculos com Capacidade da MP (RAM). 106</p><p>4.3.5 Tipos e Nomenclatura de MP, 110</p><p>4.3.5.1 Memóri>< do Tipo ROM, 113</p><p>4.4 Erros. 116</p><p>Exercícios. 118</p><p>5 MEMÓRIA CACHE, 120</p><p>5.1 1 ntroduçào, 120</p><p>5.2 Conceituação. 120</p><p>5.2.1 Diferença de Velocidade Processador/ MI~ 120</p><p>5.2.2 Conceito de Localidade, 121</p><p>5.2.3 Organização e Funcionamento da Memória Cache. 124</p><p>5.3 Tipos de Uso de Memória Cache. 128</p><p>5.4 Elementos de Projeto de uma Memória Cache, 129</p><p>S.4.1 Mapeamento de Dados MP/Cache, 129</p><p>5.4.2 Algoritmos de Substituição de Dados na Cache, 147</p><p>5.4.3 Política de Escrita pela Memória Cachc, 147</p><p>S.4.4 Níveis de Cache de Memória RAM, 148</p><p>5.4.S Tamanho da Memória Cache, 150</p><p>5.4.6 Largura de Linha da Memória Cache, 150</p><p>Exercícios, 1 S 1</p><p>6 PROCESSADORES, 153</p><p>6.1 Introdução. 153</p><p>6.2 Organização Funcional do Processador, 154</p><p>6.2.1 Função Processamento, 162</p><p>6.2.1. l Unidade Aritmética e Lógica - UAL. 163</p><p>6.2.1.2 R.egistradorcs de Dados, 165</p><p>6.2.1.3 A lnfluênci::i do T.·un:rnho da Palavra, l66</p><p>6.2.2 Função Comrolc, 170</p><p>6.2.2. l A Unidade de Controle, 171</p><p>6.2.2.2 O Relógio. 173</p><p>6.2.2.3 Registrador de Instrução (RI)- lnstruction Registcr (IR.), 175</p><p>6.2.2.4 Contador de Instrução (CI) - l'rogram Counter (PC), l 76</p><p>Sn$W</p><p>Sumário / vil</p><p>viii / Sumário</p><p>6.2.2.5 Decodificador de Instrução, l 76</p><p>6.2.2.6 Registrador de Dados de Memória - ROM e R.egistrador de Endereços de</p><p>Mernória (!UM), 177</p><p>6.3 Instruções de Máquina, 177</p><p>6.3. l O que É uma Instrução de Máquina?, 177</p><p>6.3.2 Formato das Instruções, 180</p><p>6.4 Funcionamento do Processador. O Ciclo da Instrução. 183</p><p>6.5 Considerações sobre Processadores, 193</p><p>6.5.1 Tecnologia de Fabricação dos Processadores. 193</p><p>6.5.2 Largura da P,lavra, l 94</p><p>6.5.3 Conjunto de lnstruçÕl.--s, 195</p><p>6.5A Registradores de Dados,</p><p>de uma operação de acesso</p><p>chamada de operação de leitura .</p><p>Como se trata de dois componentes não-humanos se comunicando e como o b::irramento é compartilha­</p><p>do, é preciso que se estabeleça uma regra para defirúr se o processador pode iniciar ou não o procedimento de</p><p>transferência, pois a memória poderia estar ocupada. recebendo ou transfetindo dados para outro componen­</p><p>te. Assim, o processador precisa interrohrar a memória ou sinalizar no barramento que ele deseja a transferên­</p><p>c ia. E a memória precisa responder (ou o controle do barramento) que tudo está OK. Os sinais elétricos cor­</p><p>respondentes a cada comunicação dessas fluem por fios separados (um para cada função) na pane do barra­</p><p>mento q ue chamamos de BC - barramento de controle. Muitos são os sinais de controle (sinal do relógio,</p><p>sinal de confirmação de recebimento, sinal indicador de que a operação é de leitura, sinal indicador de que a</p><p>operação é de escrita, sinal indicador de acesso à linha, sinal indicador de acesso à coluna e omros, alguns dos</p><p>q uais estaremos descrevendo no Cap. 6 e no Apêndice O). A Fig. 2.11 mostra os elementos piincipais da</p><p>operação de transferência .</p><p>Em resumo (ver Figs. 2.9 e 2. 10):</p><p>1. o processador inicia o procedimento inteJTogando a MP {ou o barramento, dependendo do protocolo</p><p>utilizado) pelo BC;</p><p>2. a resposta, OK, também passa pelo fio defi nido do BC;</p><p>3. o processador sinaliza para a MP o ripo de operação (leirura), também us.1ndo um fio específico do BC;</p><p>4. o processador passa o endereço para a MP, pelo BE;</p><p>5. a MP decodifica o endereço e transfere o dado do endereço 37 (valor 75) para o processador pelo BD.</p><p>Na verdade, o algoritmo definido pelo protocolo de acesso é bem mais complicado, com mais itens e de-</p><p>pendente de sinais de tempo, gerados no barramento por um dispositivo de sincronização que conhecemos</p><p>como relógio (do<k, como já vin1os) . No entanto, neste estágio inicial do li vro somente interessa conhcccr as</p><p>funções e algumas características simples e primord iais dos barramentos (como a largura, por exemplo), daí a</p><p>simplificação do procedimento e das explicações a respeito do exemplo descrito.</p><p>Para finalizar, devem-se ressaltar algumas características dos BE, BC e BD (ver Fig. 2.1 1 ).</p><p>Sobre o Barramento de Controle - BC:</p><p>Trata-se de um conjunto de fios condutores, onde cada um tem uma independência funcional, seja na direção</p><p>do fluxo do sinal (p. ex ., no fio que leva o sinal de interrogação a direção é do processador (P) para a memóiia</p><p>(MP), enquanto no fio que leva a resposta da MP a direção é oposta, da MP para o P, como mostrado na Fig.</p><p>2.11), seja no instante em que o sinal surge no fio correspondente (p. ex., o sinal de interrogação surge primeiro</p><p>e somente após um instante é que surge a resposta, e someme depois é que surge o sinal de leirura (ou de esc,ita),</p><p>e assim por diante). Também a função de cada fio é diferente, conforme já mostramos.</p><p>Sobre o Barramento de Endereços - BE:</p><p>Nesse caso, ele possui uma característica fisica marcame, a largura, L, que consiste na quantidade de bits (ou</p><p>fios condutores) que o BE possui. Quanto maior o valor de L, maior a quantidade de endereços que podem</p><p>ser usados no referido sisten1a1 ou seja, a capacidade da memória, visto que:</p><p>N = 2\ sendo N = quantidade de endereços e L = quantidade de bits do BE ou de cada endereço.</p><p>Por exemplo, se L = 6 bits, significa que o BE possui 6 fios e cada endereço utilizado é um número de 6</p><p>bits, seja o primeiro endereço (endereço O decimal ou 000000 binário) ou o último endereço (t ·1111 ·1 em</p><p>binário ou 63 decimal). Ou seja, 64 endereços, desde O até 63, ou</p><p>N=64=2•</p><p>42 / O Si's1e1,1o1 de Co1111111t11ção</p><p>p</p><p>BE</p><p>INT</p><p>ACK</p><p>L</p><p>E</p><p>Ba rtamenb:l</p><p>de</p><p>ce>11trole</p><p>LEGENDA:</p><p>o</p><p>o</p><p>o</p><p>o</p><p>1</p><p>o</p><p>INT • interrogação</p><p>ACK-OK</p><p>L - Sinal de leit,ura 1read)</p><p>E - Sirlll I de escrita (write)</p><p>M p</p><p>!.)______</p><p>\</p><p>1</p><p>o</p><p>1</p><p>Memória</p><p>princq:ial</p><p>M</p><p>o</p><p>1</p><p>o</p><p>o</p><p>1</p><p>o</p><p>BD</p><p>Figura 2.11 Leirtura (transferência) de dados entre prooes.s:ador e memória principal.</p><p>SDêW</p><p>Como ainda não traram<J. de sistemas de num1.: -ação (01p. 3), do que âo bit c-cc .. (icc-1111 2.2, a s. guir),</p><p>apena:s moscramo es~t:!> ext:n11plos. em de ralb ar nt:m explicai· o resultados.</p><p>Exe1t1p1o 2. :li.</p><p>Con ide :ar um proci: s.ador qu · po ua 10 pinos. para enviar endereço p.:ir o b~nõl.mento de end r ·ço:s,</p><p>BE. Qual deverás.era máxima capacidade d,e endereçamento dess.e istema?</p><p>Proce:s.s.ado = 10 pino de endereços = 10 fios do BE.</p><p>To tal de ndereço =</p><p>""' 21JE ""' 2'° ""' 1024 ndcn.:ço</p><p>Tmal de endereço. = 1 124 (des.dc- endereço O até endereço l 23) .</p><p>Sobt,e o Hattamento de Dados - BD:</p><p>Como o BD é o conjunto de fi~ que nvc para transporte dos ina1 détrico · corre pendente aos bits de</p><p>dado , o desempenho da t:ran forencia do dado e tá intimamente ligado a tr· ele nento ou carncterí tica</p><p>de e barr.nne1 to:</p><p>- largma., L;</p><p>- elocidade V·</p><p>Sn$W</p><p>O Sist~mn de Comp11tariio / 43</p><p>- taxa de transferência, T, sendo que:</p><p>T=LXV</p><p>A largura, L, já foi definida anteriormente e, como mencionado, assemelha-se à quantidade de pistas de</p><p>uma avenida em uma cidade.</p><p>A velocidade do barramento, V, está intimamente ligada a um dispositivo chamado relógio, que será estu­</p><p>dado no Cap. 6 . sobre processadores. Mas podemos imaginar essa velocidade como sendo a quantidade de</p><p>sinais {bits) que são transferidos em cada um dos L fios do barramento. Sua unidade de medida mais comum</p><p>é o Hertz, Hz, uma unidade da fisica e de ondulações eletromagnéticas, que é a natureza real dos sinais que</p><p>andam nos barramentos. De modo aproximado, nesse momento, podemos assemelhar que 1 Hz - 1 bit por</p><p>segundo, o u bps.</p><p>A taxa de transferência, T, consiste na real medida de desempenho do BD, ou seja, a quantidade total de</p><p>bits (ou de dados) que passa pelo barramento na unidade de tempo.</p><p>Exemplo 2.2</p><p>Considerar um computador que tenha um barramento de dados, BD, com as seguintes características:</p><p>largura = 10 bits e velocidade= 100 MHz. Calcular a taxa máxima de transferência de dados do BD.</p><p>Taxa de transferência = T = V (velocidade) X L (largura)</p><p>Se L = 10 bits e V = l 00 MHz, então:</p><p>T = 10 X 100 = 1000 Mbps aprox. 1 Gbps</p><p>Observação: Considera-se ser possível aproximar 100 MHz para 100 Mbits/ s ou 100 Mbps. ou seja. que</p><p>o barramento transfira aproximadamente 1 bit por ciclo. Na realidade, o valor é um pouco menor devido</p><p>a ruídos e eventuais perdas. Outra aproximação refere-se ao futo de que MHz o u GHz são unidades do</p><p>sistema decimal e os múltiplos são 100, 1000, 1.000.000 etc., enquanto Mbps é unidade do sistema binário</p><p>e os múltiplos são 1024 ou 2'", M = 2"', e assim por diante.</p><p>De modo que 1 MHz con esponderia aproximadamente a 1 Mbps ou 1.000.000 bps, ou mais exatamente</p><p>a 953.675 bps (1.000.000 / (1024 X 1024)).</p><p>Para encerrar esta explicação preliminar sobre os barramentos existentes nos sistemas de computação, deve­</p><p>mos observar que o modelo apresentado na Fig. 2.8, onde todos os componentes do sistema estão ao mesmo</p><p>barramento, apesar de simples, prático de impleinencar e barato, é a1tan1ente ineficaz e, por isso, não é usado</p><p>em sistemas reais. A razão desses inconvenientes está não só na quantidade de dispositivos que estariam conec­</p><p>tados a mna 1nesn1a via, o nde s0111ente dois dispositivos falam de e.ada vez, como também, e principalmente,</p><p>nas diferentes velocidades de transferência dos diversos dispositivos de um sistema de computação, corno o</p><p>processador e a memória (cache e principal) com velocidades muito elevadas, comparativamente com, p. ex .,</p><p>o redado e mouse, com taxas de trJnsfcrência muito baixas.</p><p>A tinilo de ilustração, podemos fazer uma comparação com uma cidade que possua uma única avenida</p><p>onde os veículos de transporte se locomovem e que haja três tipos de veículos: veículos tipo carro de corrida,</p><p>com velocidades elevadíssimas. veículos de velocidade compaóvel com carros de passeio e veículos tipo bici­</p><p>cleta e patinete, todos usando a mesma e única aven ida.</p><p>De modo que, q uando uma bicicleta está passando</p><p>pela avenida, todos têm que esperar muito tempo até ela cruzar todo o percurso para outro veículo poder usar</p><p>a avenida. Este método de transporte é clararnente ineficaz.</p><p>Para solucionar o problema, o responsável pelos transportes consnuiu mais duas avenidas, e a cidade passou</p><p>a contar com três avenidas, mna delas somente usada por carros de al ta velocidade, a outra somente usada</p><p>pelos carros de passeio (média velocidade) e a o utra pelos veículos lentos (bicicletas e patinetes), de modo que</p><p>um tipo de veículos não atrapalha o trânsito do outro tipo.</p><p>O mesmo tipo de estratégia foi adotado 11a arquitetura dos sistemas de computação, que possuem disposi­</p><p>tivos muito rápidos (processador e memória), que usam um barramento específico (nonnahnentc conhecido</p><p>44 / O S istt ma de Cm111mtaçiío</p><p>Prooessador Cache</p><p>Ponte</p><p>(Bridg•)</p><p>Chlpsel</p><p>MP</p><p>Barramento de expansão para EIS de alta velocidade (Ex.: PCI)</p><p>Oiseo</p><p>rígido</p><p>Ponte</p><p>(«>ntrole Chipsel)</p><p>Placa</p><p>LAN Vldeo</p><p>Barramento de expansão para EIS de baixa velocidade (Ex.: ISA. USB) G' li IC</p><p>Tac;lado l 1mpressora I Scanner 1</p><p>Figuta 2.12 Exemplo de modelo de sistema com vários barramentos.</p><p>Sn$W</p><p>como ban-:uncnto do sistema, ou sysrem bus): dispositivos de EIS rápidos. como disco rígido, placas de rede</p><p>local (LAN), modems velozes, e outros usam outro barramento, apropriado a este tipo de dispositivos (um</p><p>exemplo atual é do barramento PC!) e, finalmente, um barramento específico para dispositivos lentos, como</p><p>teclado, rnouse, porta paralela etc. A Fig. 2.12 apresenta um exemplo desse tipo de arquitetur:1 de sistema de</p><p>computação, com três barra1nencos1 sendo que a conexão entre eles é efetuada por um dispositivo de conexão</p><p>chamado ponte (bridge), que realiza a sincronização e a transferência entre eles.</p><p>En1 resumo, os sistemas atuais, embora mais potentes. possuem os mesmos componentes básicos e realizam</p><p>suas funções essenciais o rientadas pelos mesmos conceitos fundamentais expostos no relatóiio apresentado por</p><p>John von Neumann (NEUM 45), relativo à arquitetura do seu sistema EDVAC e do IAS (ver irem 1.2.4.1),</p><p>quais sejam:</p><p>dados e instruções são armazenados cm uma memóiia do tipo que escreve e recupera Oeitura); ver Cap. 4;</p><p>• o conteúdo da memória é endereçado conforme a sua posição, indepcndcntcmcnrc do tipo da informa­</p><p>ção nele contido; ver Cap. 4; e</p><p>• a execução das instruções ocoiTC de forma seqüencial (a não ser que uma instrução específica mude</p><p>momentaneamente a seqüência), un1a em seguida à outra; ver item 6.4.</p><p>2.2 REPRESENTAÇÃO DAS INFORMAÇÕES</p><p>2.2.1 O Bit, o Caractere, o Byte e a Palavra</p><p>Toda informação introduzida em um compurador (sejam dados que serão processados ou instruções de um</p><p>programa) precisa ser entendida pela máquina, para que possa corretamente interpretá-la e processá-la.</p><p>No texto deste livro, as informações apresentadas em forma de caracteres são entendidas pelo leitor porque</p><p>ele conhece o formato e o significado dos símbolos que representam os caracteres alfabéticos, os numéricos</p><p>(algarismos) e os sinais de pontuação o u matemáticos(+, - , X,/,>,<,= etc.).</p><p>SDêW</p><p>O Sistem11 de Om1pmaçifo / 45</p><p>O computador, endo um equipamento elctrônico-, antuzen.a e movimenta as informaçõ s iut mamente</p><p>. ob forma eletrônica; ta podt: S:Cr um valo,- de volcagc111 ou dt: corr me ( abemm r, mbém que na memória</p><p>1.;cundália as infom1açõe são anm1zenadas sob forma magnética ou ótica).</p><p>Para que esta máquina pudc. :c:: representar cktricamcnt · todo lJ. simbo]os utilizados na linguagem huma­</p><p>na, cr'am m:cc ár'o mai de 100 diferente valores de voltagem (ou dc cmTentc) . Tal m.áquina certamente</p><p>eri:1 djfici] de er constndda para fins comerciais e, pos ivelmente teria muito baixa confiabilidade (uma das</p><p>grandes desv:mtagem do primeiro computador detrúnicú consc11.1ído o Eniac, foi ju tamente o fat.o de er</p><p>uma máqL1ina d 1mal, o ,1u' foi imediatam ·m1,; con-íg~do a partir d, máquina s.eguincc, o r AS, que já era urn</p><p>computador binário (v r item 1.2.4. 1). o cas-o do lAS optou-se por uma máquina binária porque von</p><p>emnann e sua eqLiipe con ideraram muito mai!i . impk_ e confiável projetar um circuito capaz de gerar e</p><p>ma.nipuJar o menor núm.ero po ível de valore di tintos ism é capaz de entender apena doi valores diference :</p><p>O e 1.</p><p>Alér111 di$:SO, com uma máqui1,a binfoa toma- s. · mai impks o i,;mprcgo da lógica bookana (do [M/ NÀO,</p><p>AEERTO/FECHADO, A, ]MA/ ABAIXO, U ,ADO/ UGADO etc) .</p><p>Dc:s a forma o:s computa.dore. digit, i (que trabalham com valore di)C -etos) ão totalmente bin .. 11 · o . Toda</p><p>'nfo:rmação introduzida em um computador é convertida para a fot1na binária, através do emprego de um</p><p>código qualquer de armazenamento, como veremo rnai adiante.</p><p>A linguagens utilizada pelo hun anos., como o portuguê , po suem uma trutura d infonnaçào criada</p><p>para permitir a construção dos elemento nece~ário à comurücaçào entre pes oa ~a no formato falado ou</p><p>escrito. A im é que nos comunic:uno l.m com os. outro!> att vé!> de crechm do conjunro de demcnco. cii~po­</p><p>niveic'i n no s.a. linguagcm, co1110 o caractere e a palavra , unindo-o de acordo com as regra dt: con trução</p><p>estabelecida (léxica e de sintaxe}.</p><p>O menor elememo di~poní el de unrn linguag m humana ' o caraccerc (em portugu • po$<SUimü. 23 ca­</p><p>ractere. ,lfabético. comoo 'a'' o 'd',o'f . 10carnctcn:snuméri os comoo. algar1smos 0",'1'</p><p>além dos sinais de pontuação i:: de opçraçôcs aritméticas, ·nquanto, na língua ingk ·a, há 26 a:rac~ ·:r · lfab ,._</p><p>tico . • o. no . O· 23 mai o K o Y e o W).</p><p>A menor unidad d inforn1::tção, armazenáv l · m um computador é o alg:;ui ·mo binârio ou digi~o biná1io,</p><p>conhecido como bit (contração da pafavras ing]esa binary digit) . O bit pode ter, então, somente dois valore :</p><p>O e (ver Fig. 2.13).</p><p>+ 1/</p><p>V</p><p>Bit~ Bit 1 Bit 95 Bit 1 011~</p><p>li</p><p>fi«iu:a 2.13 epfe ·entação de 1 b't.</p><p>No entanto, um ca1.'lctcre is.ofado pratica111ente nada ignificai para nosso entiido de connmicaçào, razão</p><p>por que se criamm a.,;. palavras, que . âo conjuntos d · cantct res formando 1.11n ntido d informação útil como</p><p>"me n , 'pe soa , cano ·e uma enorm- quantidade de outn1~ palavras, confonm; pod mo. oberva ao fofüe­</p><p>ar um dicionário da Ungua portuguesa ou de outra língua qua]qucr_</p><p>Da mesma forma que na nossa hnguagem a menor unidade de informação (o carnctcre) pouco ou nada</p><p>significa como informaç-io útil, m computação, com possihfüdade rào li.mirada., o bit pouco pode n:pn.:sc11tar</p><p>Sn$W</p><p>46 / Ü s;.stema dt: C-0111plltt1fâO</p><p>isoladamente; por essa razão as informações manipuladas por um computador são codificadas cm grupos or­</p><p>denados de bits, de modo a terem um significado útil.</p><p>O menor grupo ordenado de bits que pode representar uma in fo,mação em computadores é o caractere da</p><p>linguagem dos humanos, justamente a menor unidade de informação das nossas linguagens (como se pode</p><p>verificar, em computação ainda há um nível ainda mais baixo de representação de informação. que é o bit) .</p><p>Qualquer caracterc a ser armazenado em um sistema de computação é convertido em um conjunto de bits</p><p>previamente defüúdo para o referido sistema (chama-se códig<> de represe11taçiio de caracteres) .</p><p>Cada sistema poderá defü1ir como (quantos bits e como se organi zam) cada conj unto de bits irá repre­</p><p>sentar um determinado caractere. Poderão, por exemplo, ser 5 bits por caractere (nesse caso, serão codifi­</p><p>cados 32 símbolos d iferentes), 6 bits por caractere (codificando 64 símbolos diferen tes), 7 bits, 8 bits, e</p><p>assim por diante. No Cap. 7 serão apresentados algu ns dos pri nc ipais códigos de representação de caracteres</p><p>(ver também Apêndice B).</p><p>A primeira definição formal atribuída a um grupo ordenado de bits, para efeito de manipulação interna</p><p>mais eficiente, foi instituída pela IDM e é, atualmente, utilizada por praticamente todos os fubricantes de com­</p><p>putadores. Trata-se do byte, definido como um grupo ordenado de 8 bits, rratados de forma inruvidual , como</p><p>unidade</p><p>de annazenarncnco e transferência .</p><p>O byte foi definido para servir de elemento de referência para a constrnção e funcionamento dos disposi ­</p><p>tivos de armazenamento e também como referência para os processos de transforência de dados entre pe1ife­</p><p>ricos e UCP /MP. As impressoras continuam recebendo dados byte a byte, como também é costume no mercado</p><p>construir memó1ias cujo acesso, arnuzenamemo e recuperação de informações são efetuados byte a byte (ou</p><p>caractcrc a caractere) . Po r essa razão, cm anúncios de compuradores menciona-se que ele possui "512 Kbytes</p><p>de mt:mória" ou "32 M caracteres dt.! memória" ou ainda u2 Gbytcs de memória'\ por exemplo. Na realida­</p><p>de, em face desse costume quase sempre o termo byte é omitido por já subentender esse valor.</p><p>Como os principais códigos de representação de caracteres utilizam grupos de 8 bits por caractere, os con­</p><p>ceitos de byte e caraaere tornam-se semelhantes, e as palavras, quase sinônimas. O termo caractere é 1nais en1-</p><p>pregado para fins comerciais (propaganda, apresentações a pessoas não familiarizadas com o jargão de compu­</p><p>tação), enquanto o tcn110 byte é empregado mais na linguagem técnica dos profissionais da área.</p><p>No entanto, i: bom prestar atenção ao fato de que, embora um caractere represente pouca informação com</p><p>sentido (por exemplo, a letra "a., não fornece quase nenhuma informação se estiver isolada, como a rnaioria</p><p>das letras de nosso alfabeto, que nada represenram se estiverem isoladas em um texto, como o " I", o "v"),</p><p>ainda assim trata-se de um elemento bem definido de informação.Já o byte, que pode rcprescnrar um caractcrc</p><p>inte111amente no computador, não tem a finalidade de representar qualquer tipo de infonnação. sendo tão­</p><p>somente uma unidade de armazena111ento e transferência.</p><p>Este fato é particularmente verdadeiro quando se trata de valores numéricos, que usualmente s.io represen­</p><p>tados em um sistema de computação por uma quantidade de bits bem maior do que a de um byte (8 bits).</p><p>Assim é que, em um deternúnado sistema de computação, os números podem ser representados com conjun­</p><p>tos de 32 bits, o que compreende 4 bytes de dados para cada número. Nesse caso, um byte nada representa,</p><p>pois é apenas parte do valor do nlln1ero (é mn caso semelhante ao de nosso sistema numérico, o decimal, em</p><p>que podemos ter que escrever em um papel o número 1539734, que possui 7 algarismos. No caso desse nú­</p><p>mero, o algarismo 7 isoladamente nada represenra, nem qualquer um dos demais algaiismos).</p><p>Voltando ao exemplo ante,ior sobre a utilização do tenno byte cm citações sobre a capacidade de memória</p><p>de computadores, verificamos a inclus.io dos caracteres K. M e G. Tais caracteres são letras indicativas de um</p><p>valor numérico fixo, utilizado para reduzir a quantidade de algarismos representativos de um número. Nas</p><p>grandezas métricas, usa-se o K para representar mil vezes.</p><p>Como os computadores são máquinas binárias, todas as indicações numéricas referem-se a potências de 2 e</p><p>não a potências de 10, como no sistema métrico, e, por essa razão. o K representa 1024 unidades (décima</p><p>potência de 2 ou 2"' = 1024), o M (abreviatura do teimo mega) representa 1.048.576 múdades (valor igual a</p><p>'!024 X 1024 o u 2 1" X 2"' = 22") e og(!/a, representado pelo caractere G, indica um valor igual a 1024 mega</p><p>o u 1.048.576K ou 2'" = 2 1</p><p>" X 2"' X 2"' = 1.073.741.824 unidades.</p><p>Snõw</p><p>O Sisrem.a· de Compulafifo / 4 7</p><p>Em con eqtiência, no exemplo anterior o valor 512 Kbytes (prn1 uncia- ~e 'quinhemo. e doze ka b res')</p><p>corre~ponde a um alar de 512 X 1024 = 524.288 bytes, enquanto 32M caract r s (pronuncia-s.~ 'trinta e:</p><p>doi · mt.:ga caracti;n; ') corrt.: pondt.: a 32 X 1024 X ·t 024 = 33.554.432 caracteres, e 2 Gbyt,es (pronuncia-se</p><p>'dois giga byte ") cor-responde a 2 X 1024 X 1024 X 1024 = 2 .1 4 7.48J .648 byres.</p><p>Com o progres i,ro aumento da capa.cidade do disposit·jvos de armazenam nto dos comput.)dore., cria­</p><p>ram-se mai doi demento. para abreviar valores ma.is de a.dos: traca- e do termo rcra, para repre; entar um</p><p>valor igua] a 2~0 ou t 024G, e do renno peta para reprc enrnr 2s.11 ou 1024 tera .</p><p>Dessa forma, m valore utilizado~ cm computação para indicar capacidade de memória são normalmente</p><p>composto de um número ( empr entr O e 1023) uma das abreviatura citad.as.. A Tabela 2 .1 mostra as</p><p>grandeza..,; ut.ili:zadas em computação.</p><p>Tabel.-i 2 .1 ·Gra:ndozas Usadas para Abr~via:r Valores em Computação</p><p>Nome da unidade Valor ,em potência de 2 Valor em Lu1iidades</p><p>IK (1 quilo) 2 10 1024</p><p>1 M (1 meg;i) 10241< = 2·' 1.04K.:;76</p><p>1 G (1 giga) 1024M = 2.)1' 1 J l73.741 .824</p><p>11' (1 tera) 2'"' 1.099.511 .627.776</p><p>1 P (1 peta) 2 o11 1. 125.899.9 6.843.624</p><p>l fü ( l exa) 2 ..... , 1. 152. ?21 .504.607 .870. ?76</p><p>I Z (l :zeu) 2 111 l. l 80.59 l.620.718.458.879.424</p><p>IY (1 yona) '>"'' l .208. 925.819.615. 701.892.530. l 76</p><p>Conforme ob. ervamo :nueriom1e11te, :1 e trumra das linguagens dos humano e inicia pelo ca.ractere e</p><p>st!guc organizando grupos de canictcn: para formar, aí s.im, uma unidade úcil de infon11::içâ.o a palá!vra.~-</p><p>Também em computação (e penso que pelo mesmo 1notivo) niou-se o conceito da pafavra embora m:s.s.e</p><p>ca o de renha peque1rns diferença ena relação às pala ras das no as linguagens. & im além do bit e do byte,</p><p>temos. o conce · têo rcfacionado com o arn1azcna111c:nto e a transferência de i nformaçõc-s entre MP e U CP, porém</p><p>mais e peciaJrnente relacionado ao processamento de dados pela U P, denominado palavra.</p><p>h iciahn nte, podemo definir a pafc111m como sendo um conjunto de bits qu · repre · nta um.a informaç;io</p><p>útil pua os computadores, Desse modo uma palavra esrarja associada ao tipo d-e interação entre M e UCP,</p><p>que é individual infor.m.a.çào por info11uação. Ou ~ja, a UCP pmces a in tmçào por in truçfo (cada uma</p><p>estaria a ociada -a um-a palavra) armazena ou recupt!1"3 númtcro a número (e.ida. um ·C tari a. ociado a un1a</p><p>palavra), e a sim pol' diante. a prática. há diferença em relação , esta idé".1..</p><p>A palavra nos coinputadore -:. um valo!í fixo , contante para um dadn pn)ce-m1dor (12 bi~ como nns</p><p>Pentium e Mot.orola, ou M bi , como no ma.i novo proce adora. ser lançado pela lnte] e o . Al.pha), diferen­</p><p>temente das linguagens dos humanos, onde as pafa ras têm quantid::ides va.tiáveis. de caracteres (inesa possui</p><p>quatro e.trace r . , cnqu::i.nto ::i.utomóvel pos ui nov car:ictere ) ..</p><p>O conceito de palavra nã.o é; rigoro ament1.: igual para todo · o fabricantes· alguns. e t-abekcem o tamanho</p><p>dos registradores int.ernos da UCP igllal ao da palavra, enquanto outros usam este conceito de palavra de modo</p><p>rn::i-i abr 11ge11te. A Intel, AM.D -: Motornla, para Sl.'.US microprocc~adon:.-s, seguem o 1nc-smo:s conceitos tm­</p><p>tigcn; da JBM.</p><p>o que se refor à unidade de armazena11enw, considera-se n :ú important a qua1 tidade de bits recupe­</p><p>rada cm um acesso, cm gcrnl de tamanho igual ao dt> um byte. Es l' valor dt: bics e: pequeno dcmai. para rcpn:­</p><p>sencar um número ,ou uma instrução de máquina e por isso. não pode er aceicáivd para o, tamanho de: uma</p><p>palavra.</p><p>De modo genl, u.sam-:sc doi!. valore~ difcrcr te. : um rdaórn1ado à unida.de de anna.zcnamcmo - o bytç</p><p>(oito bi~ é o valo1' m. is comum) e outro para indicar a unidade de tr.'lnsfe,-r.ncia · pi-o e. ~a.ment0 - a palavra</p><p>SDêW</p><p>48 / O ist~m.i de Ci1mp1,rraçifo·</p><p>(que, na c.1uas.i: totalidade de cumputadon:s., po. s.uí um númem de híts múh:ip]o de ] b. te - 16 ou 32 bits é o</p><p>valor rnaí comum), Em gcTãl, a UCP proc.:ssa valores n.·pre enrado por um.a quantidade de bits igual à da</p><p>palavra, indicando a. sim a capacidade d...- proce. samento do i. rema.</p><p>o ite1n 6.2.1.3 pode-se verificar de modo, mais daro a utilidade do conceito da palavra como unidade de</p><p>proce . amemo e até 111...-_ mo como unidade de: transfni:ncia d dado inremamente, e m'io como unidade de</p><p>arm. zena1t'lc1110 ..</p><p>O!. próximo" capítulos os conceitos de palavra, a, unidade!; de an11azenamemo e de transferência. e o</p><p>emprego do byte S1.:rào detalhadamente apre: e1 tado e e ·e1nplificados.</p><p>A Tabda 2.2 apn.·s,enra. um. rest: mo</p><p>do conce'tos j: em:itido , ampliando a e:strutuira de 1nfornrnçiio nos compuradore. mesmo com concejtos</p><p>ainda nio explicados, apenas para efetuar o devido registro e chamar a atenção do ldtor.</p><p>T abela 2.2 Estrutura de, lnformaçõe,, nas Linguagens, dos Humano~ e nos ,Computador,cs</p><p>Computadores Hngt1agim:s dos Wmman!os</p><p>lJit Caractcrc</p><p>I3ytc t' caracccre Palavra</p><p>Palavra Frns •</p><p>R gim-o Textos</p><p>Arqnivo LiYro&</p><p>Banco de d:'l.dos</p><p>Neste ponto, após a introdução a aJgumas unidad de medida, dotadas em computação, col'no o K. M, G</p><p>etc. , podem-se men ionar dois outros el m ntos de medida aprop1iados. tat 1bém para u o em co1nputa.ção</p><p>devido ao crescente emprego da microeletrôn1ca e nanotecnologia.: medidas de espaço muito pequeno e medidas</p><p>de rempo muim curto .. As Tabelas 2 .3 e 2.4 apresentam alguma! dcs,. unidade de medida, que erão cxrcn­</p><p>a.mente rnendonaclas nos próximos capítulm.</p><p>Tabela. 2.3 Unidades d1c1 M1c1dida de E ·paço Muito Pequeno</p><p>Unidade Descrição</p><p>Mícron 10-i mm (i tnilé:ümo do milimeno)</p><p>anômetro (mn) lU "mrn (1 1nilion0.;imo do m ilimt!uo) ou 1 mil~imo do mícron</p><p>Angmõm 10 na11ômerms</p><p>Tabela 2.4 Unidades de Med'da de Ternp,o Muito Curto</p><p>Unidade Descrição</p><p>Mili t.'t,'tlndo 10-~ do si::gundo</p><p>Micro -cgundo 10-h do Sí.'g'l.llldO</p><p>no5M:gundo 10-·, do scgu II e.lo</p><p>Picosscgundo 10- 12 do cgundo</p><p>Ante d,i.: cnc1.:rrar e t~ item, "'com.idernndo que jâ foram mostradas as diversas unidades. de medida de ca­</p><p>pacidade de memória e omras ma.das em compncação, poclemo. apre entar um outro exemplo de cálculos</p><p>com barramentos (ver Exemplos 2.1 e 2.2), com. vakm!. mais rcai t:> pcitico .</p><p>Exe:tnplo 2 .3</p><p>ConsÍ!derar um computador c.111.: po, !>ua um barramento de endereço, BE, com ]argui~ de 24 bits e bar­</p><p>ramento de dado BD. com. a.s . eguinre!> cara.ctl'rística :</p><p>Sn$W</p><p>O SistemtJ dt Computação I 49</p><p>Largura = 32 bits</p><p>Velocidade = 400 MH z</p><p>Além disso, o processador se utiliza de 245 tipos diferentes de sinais de controle, alguns que sào recebi­</p><p>dos e outros que sào enviados por ele para o barramento externo.</p><p>Pergunta-se:</p><p>a) Qual deverá ser a máxima capacidade da memó,ia principal desse sistema?</p><p>b) Qual deverá ser a taxa de transferência do BD'</p><p>e) Qual é o totaJ de pinos que o processador precisa ter para usar todos os sinais necessários ao seu correto</p><p>funciona.mento?</p><p>Soluç ão</p><p>a) Sendo BE = 24 bits, então a máxima capacidade de memória é 2"' = 22'.</p><p>Pode-se calcular este valor de várias maneiras, sendo uma delas por uso das simplificações adotadas</p><p>com as unidades K, M. G ou T.</p><p>No caso, colllo est.1lllos tratando do valor 24 e 1 mega é igual a 2~', podemos estabelecer que em 2"</p><p>há 2' megas, pois:</p><p>2"' X 220 = 22". Assim, temos:</p><p>l</p><p>224 = 2' X 22<l = 16 M</p><p>1 j</p><p>A máxima capacidade da n1tm1órfa, neste caso. será l6 M endereços.</p><p>b) Taxa de transferência, T = V X L. sendo V = velocidade e L = largura.</p><p>Como L = 32 bits e V = 400 MHz (aproximadamente 400 Mbps), então:</p><p>T = 32 X 400.000.000 = 12.800.000.000 bps</p><p>Usando a simplificação pelas unidades, teremos:</p><p>T = 12.800 Mbps o u 12,8 Gbps (simplificando l G = 1000 M, quando na realidade, 1 G = 1024)</p><p>c) A quantidade de pinos do processador é resultante da soma dos pinos usados para transportar ende­</p><p>reços (largura do BE) mais a quantidade de pinos usados para transportar dados (largura do BD) mais</p><p>a quantidade de pinos usados para transportar sinais de controle (largura do BC).</p><p>No exemplo dado, teremos:</p><p>(BE = 24) + (BD = 32) + (BC = 245) (um para cada tipo de sinal de controle) = 301 pinos no total.</p><p>2.2.2 Conceito de Arquivos e Registros</p><p>Todo processamento em um computador consiste, como já mencionado, na manipulação de dados segun­</p><p>do um conjunto de instruções que, globalmente, chamamos de programa.</p><p>Para que seja possível individualizar grupos diferentes de informações (o conjunto de dados de um progra­</p><p>ma constitui um grupo diferente do conjunto de dados de outro programa, por exemplo), os sistemas opera­</p><p>cionais (progran1as que controlam o armazenamento e a recuperação dessas informações para entrada, saída</p><p>ou guarda em memória secundária) estruturam esses grupos dt: dados sob uma forma denonlinada arquivo.</p><p>U m arquivo de informações (ou dados) é um co11iunto formado por dados (ou info,mações) de um mesmo</p><p>tipo ou para uma mesma aplicação. Por exemplo, podemos ter um arquivo de alunos de uma turma (conten­</p><p>do informações sobre cada aluno individualmente} ou um arquivo comendo as instruções de um programa.</p><p>Sn$W</p><p>50 / O Sisrtma de Comp11ta(lio</p><p>Cada arquivo é constituído por itens individuais de infon11ação (cada aluno, no nosso exemplo) chamados</p><p>registms.</p><p>Assim, um arquivo de uma tum1a de 60 alunos possui um total de 60 registros; um arquivo com informa­</p><p>ções sobre 1000 empre1:,,ados de uma organização possui mil regiscros, e assim por diante.</p><p>Um programa é também um arq uivo (embora constituído de um único registro, visto que as instruções</p><p>não são consideradas como registros individuais).</p><p>Para entendermos melhor o conceito de a1111azcnamcnto e recuperação de informações sob a forma de</p><p>arquivos, podemos fazer ana1ogia com um sisten1a semelhante, porém manual.</p><p>Suponhamos a existência de mna empresa com 500 empregados, que manipula um escoque de material de</p><p>consumo con1 cerca de 10 mil itens e que. por incrível que possa parecer. ainda não possua um sistema de</p><p>computação eletrônico.</p><p>Na gerência de pessoal, as infonnações sobre os funcionários da empresa estão organiz.1das da seguinte fonna:</p><p>as informações sobre cada funcionário são colocadas em um formulário apropriado, estruturado com</p><p>campos separados para cada um dos itens de informação, tais como: número de matricula, nome, ende­</p><p>reço, departamento, salário:</p><p>o fo1111ulário é guardado ("armazenado'') em uma pasta (uma para cada funcionário), identificada exter­</p><p>namente pelo número de matrícula do funcionário;</p><p>as 500 pastas são guardadas em um armário de aço com gavetas (arquivo), sendo organizadas em ordem</p><p>crescente de número de matricula (é a chave de acesso à pasta desejada).</p><p>Já a gerência de material possui controle dos itens do estoque de material de forma scmdhante: h:í uma</p><p>ficha para cada item de c:stoque. contendo as informações nc:cessárias sobre cada mn; as fichas são armazenadas</p><p>em pequenas caixas metálicas, chamadas arq11i11os portáteis.</p><p>No exemplo descrito, o armário de aço e a caixa metálica constituem arquivos, com função semeJhance aos</p><p>arquivos de dados e m sistemas de computação eletrônicos; cada pasta ou ficha consritui um registro, respec­</p><p>tivamente, do fu ncionário ou do material de estoque. As infonnações de um funcionário são especificada.~ cm</p><p>campos separados (nome é um campo, endereço é outro campo, e assim por diante).</p><p>A estrutura de armazenamento e recuperação de infonnaçõcs na memória secundária de um sistema de</p><p>compucação é concebida segundo o conceito de arquivos e rcgistros. Isso porq ue, na memória secundária, o</p><p>sistema operacional pode guardar inforrnações cm grupos para obter maior eficiência na transferê ncia com a</p><p>memória principal.</p><p>O proce~o é d iferente da estrutura da memória ptincipal, onde a preocupação é com itens individuais de</p><p>infonnação (uma instrução, um número, uma letra etc.).</p><p>2.3 MEDIDAS DE DESEMPENHO D E SISTEMAS DE</p><p>COMPUTAÇÃO</p><p>Um dos aspecros mais interessantes da evolução tecnológica dos computadores é que, embora esta tenha</p><p>sido. sem dúvida, extraordinariamente rápida e acentuada, os princípios básicos estabelecidos nos p,;mórdios</p><p>da compuração permanecem es.scncialmcncc os mesmos. Em outras palavras, as c:uacterísticas de arquitetura</p><p>do computador IAS, como definidas por von Neumann, são instruções organizadas cm um programa, previ­</p><p>amente annazenadas na memória, e o ciclo de busca, interpretação e execução de cada instrução se mantendo</p><p>de modo geral intacto. No entanto, várias inovações no processo operacional do ciclo das imtruções vêm</p><p>surgindo, ano após ano, sempre na busca do objetivo</p><p>de aumentar o desempenho dos sistemas de compura­</p><p>ção. O desempenho aumenta dramaticamente, mas a essência dos prindpios fundamencais de concepção do</p><p>processo de computação cem pt:nnant:cido, pdo menos acé o momento atual.</p><p>Na busca do aumento de desempenho, verifica-se que a medida geral desse desempenho depende funda­</p><p>mentalmente da capacidade e da velocidade de seus diferences componentes, da velocidade com que estes</p><p>componentes se comunicam entre si e do grau de compatibilidade que possa existir entre eles (p. ex., se a</p><p>Sn$W</p><p>O Sistema de Computnç.iio / 51</p><p>velocidade da UCP de um sistema é m.uito maior que a da memória, então este sistema tem um desempenho</p><p>inferior ao de um o utro cm que a UCP e a memó1·ia tên1 velocidades mais próximas).</p><p>Há muito tempo se sabe que uma corrente, constituída de vários elos interligados, é tão forte quanto o mais</p><p>fraco deles, assin1 con10 um sistema (constituído de vários componentes) é tão produtivo e eficaz quanto o</p><p>menos produtivo e eficaz de seus componentes. Por exemplo, uma ligação rclefõnica de um aparelho locali­</p><p>zado no Rio de Janeiro para o utro, localizado em Londres, Inglaterra, se realiza através da conexão de vários</p><p>circuitos (como os elos de uma corre nte), iniciando pela linha fisica que conecta o aparelho à sua centra) local</p><p>no Rio de Janeiro, desta passando provavelmente por uma ou mais centrais até a da operadora internacional</p><p>(ainda no Rio de Janeiro); daí se estabelece uma conexão por satélite com a central da operadora internacional</p><p>na Inglaterra, e os circuitos vão se estabdeccndo de modo similar na Inglaterra, em Londres e até o aparelho</p><p>de destino . Todos esses circuitos menos um podem ser da melhor q ualidade, devido à excelente tecnologia de</p><p>sua construção. os mais imunes a ruídos etc. Um deles. no e ntanto, pode ter sofrido algum tipo de problema</p><p>e, nesse caso, o sinal passando por de sofre grande inte1ferência de ruídos, sem proteção adequada para evitar</p><p>isso. As duas pessoas estarão falando em meio a ruídos e. naturalmente, reclamando da qualidade e do desem­</p><p>penho do circuito completo.</p><p>Assin1 também acontece con1 os computa.dores, constituídos de diversos cornponentes, como o processa­</p><p>dor, as memórias, barramentos, dispositivos perifericos e outros. Para aumentar o desempenho desses sistemas</p><p>i: necessá,io que t0dos os seus componentes renham qualidade adequada para que um deles não comprometa</p><p>o esforço dos demais.</p><p>Considerando a existência de tantos fatores que influenciam o desempenho de urn siste1na de com.putação,</p><p>desenvolveram-se diversos meios de medir seu desempenho.</p><p>O desempenho dos processadores, em geral, é medido e m rennos da sua velocidade de trabalho; como seu</p><p>trabalho é executar instn,ções, criou-se a unidade (sempre questionada por alguns) chamada MIPS - milhões</p><p>de instruções por segundo, e também a unidade MFLOPS (millio ns of lloating poinr operations per second)</p><p>- milhões de operações de ponto flutuante por segundo, que é uma medida típica de estações de trabalho e de</p><p>supercomputadores, pois estes costumam trabalhar mais com cálculos matemáticos.</p><p>Para tentar equalizar e padro1úzar as medidas de desempe11ho de processadores de diferentes fabricantes e</p><p>com características diferentes, foram desenvolvidos programas de reste e medida denonúnados SPEC ("System</p><p>Performance Evaluation Cooperative").</p><p>Já quando se trata de recuperação ou escrita de informações na memória, o tempo de acesso é uma unidade</p><p>de medida mais apropriada, estando relacio nada à velocidade de cada componente e à do canal de interligação</p><p>entre os dois (UCP e memória).</p><p>Tempo de resposta é uma medida ligada ao desempenho mais global do sistema, e não de um ou outro</p><p>componente. Trata-se do período de tempo gasto entre o instame em que o usuário iniciou uma solicitação</p><p>ou interrogação e o instante em que o sistema apresentou ao usuário a sua resposta ou atendeu à sua solicita­</p><p>ção. Por exemplo, o intervalo de tempo entre a solicitação de um saldo de conta em um tenninal bancário e</p><p>a apresentação no vídeo da resposta (o saldo da conta) .</p><p>Uma ourra unidade de medida de desempenho é a vazão (thmughput), que define a quantidade de ações ou</p><p>transações que podem ser realizadas por um sistema na unidade de tempo . Por exemplo, a quantidade de</p><p>atualizações que podem ser feitas em um sistema de controle do estoque de uma empresa.</p><p>Quando estamos nos referindo à velocidade com que um detenninado dispositivo de e ntrada ou de saída</p><p>transfere ou recebe dados da UCP, utilizamos uma unidade que mede a taxa de transferência que o canal de</p><p>ligação (ver barramento no Apêndice D) pode suportar, isto é, a quantidade de bits por segundo que podem</p><p>trafogar pelo referido canal (item 2.1 ).</p><p>EXERCÍCIOS</p><p>1) Explique o que você entende por memória. Cite dois exemplos de memórias na vida prática (evite usar</p><p>exemplo de memória de computador).</p><p>Sn$W</p><p>52 / O Sistema de Computação</p><p>2) Descreva as funções de uma U,údade Central de Proccs~mento.</p><p>3) Faça o mesmo para a memória de um computador.</p><p>4) Para que servem os dispositivos de entrada e de saída de um computador? Cite alguns exemplos.</p><p>S) Imagine uma cmprc-s.a qualquer. Cite exemplos de arquivos e rcgistros a serem criados para o armazc­</p><p>namenco das informações que circulam na tal empresa.</p><p>6) Conceitue o bit, o byte e a palavra.</p><p>7) 1 ndique o valor de x nas seguintes expressões:</p><p>a) 65.536 = xK</p><p>b) 12288K = xM</p><p>c) 19.922.944 = xM</p><p>d) 8 Gbytes = x bytes</p><p>e) 64 Kbytes = x bit<</p><p>f) 262.144 bits = x K bics</p><p>g) '16.777.216 palavras= x palavras</p><p>h) 128 Gbits = x bits</p><p>i) 512K células = x células</p><p>j) 256 Kbytes = x bics</p><p>8) O que é vazão cm um sistema de computação? E tempo de resposta? Em que circunsmncias são utili­</p><p>zadas estas informações?</p><p>9) Qual é a diferença entre linguagem de alto nível e linguagem de máquina?</p><p>10) Se um barramento de endereços possui 17 fios condu tores, qual deverá ser o maior endereço que pode</p><p>ser transportado nesse barramento?</p><p>11) C ite exemplos de processadores (UC P) comerciais.</p><p>12) Os barramentos são fios condutores que interligam os compo nentes de um sistema de computação (SC)</p><p>e pernútem a comunicação entre eles. Eles são organizados em três grupos de fios, cada um deles com</p><p>funções separadas. Quais são esses grupos? Indique, para cada grupo: sua função, direção do fluxo de</p><p>sinais e suas principais características.</p><p>13) Um deternúnado Sistema de Computação é constituído de um processador com quatro unidades de</p><p>cálculo para inteiros, operando a 1,2 GHz de velocidade e de uma Memória Principal (M P) constituída</p><p>de um espaço máximo de endereçamento de 128M ende,·eços. Ambos os componentes s.io interliga­</p><p>dos por um barramento de dados (BD), de endereços (BE) e de controle (BC), sabendo-se que o BC</p><p>possui 112 fios co11du tores para seus diversos sinais e que o BD tem uma taxa de transferência de dados</p><p>de 6,4 Gbics/s. Considerando que o soquete do processador~ do tipo I para 171 pinos, pergunta-se:</p><p>a) Qual deverá ser a velocidade do 80'</p><p>b) O que acontecerá com o sistema se o BE tiver seu projeto alterado, acrescentando-se dois novos fios</p><p>condutores?</p><p>14) Qual é o princípio fu ndamental que caracte,iza a existência e eficácia dos barramentos em um SC -</p><p>Sistema de Computação?</p><p>15) Considere um SC que possua um processador capaz de endereçar, no máximo, 32M posições de me­</p><p>mória principal. Qual deverá ser o tamanho, em bits, de seu barramento de endereços (DE)?</p><p>16) Um determinado processador tem seus transístores com espessura de 90 nanõmetros. Se se desejasse</p><p>expressar esta medida em angstroms, como seria indicada a espessura dos transisto,·es? E se a unidade</p><p>fosse o núcron?</p><p>17) Calcule o valor de x nas seguintes expressões:</p><p>a) 16K = 2'</p><p>b) 227 = x (expresse em quantidade de K, de M o u de G)</p><p>e) 4M * 128K = 2'G</p><p>d) 32 Mbytes = 2' Mbits</p><p>Sn$W</p><p>O Sistema de Computação / 53</p><p>18) Por que se menciona que a equivalê11cia 200 MHz = 200 Mbps é aproximada e não exata? E por que</p><p>a equivalência 8000</p><p>Mbps = 8 Gbps também não é exata e sim aproximada?</p><p>19) Cite uma das razões principais pela qual os atuais sistemas de compuração possuem uma hierarquia de</p><p>barramentos interligando os diversos componences, em vez de utilizar um únko conjunto de barramentos,</p><p>interligando todos os componentes do sistema.</p><p>Conversão de</p><p>Bases e Aritmética</p><p>Computacional</p><p>3 .1 NOTAÇÃO POSICIONAL - BASE DEC IMAL</p><p>Sn$W</p><p>Desde os primórd ios da civilização o Homem vem adotando formas e métodos específicos para representar</p><p>números, tomando possível, com eles, contar objetos e efetuar operações aritméticas (de soma, subtração etc.).</p><p>A forma mais empregada de representação numérica é a chamada 1101aríio posírio11al. Nela, os algarismos</p><p>componentes de um nú1nero assumen1 va]ores diferentes, dependendo de sua posição relativa no nún1ero. O</p><p>valor total do número é a soma dos valores relativos de cada algarismo. Desse modo, é a posição do algarismo</p><p>ou dígito que determina seu valor.</p><p>A formação de números e as operações com eles efetuadas dependem, nos sistemas posicionais, da quanti­</p><p>dade de algarismos diferentes disponíveis no referido sistema. Há muito tempo a cultura ocidemal adotou um</p><p>sistema de numeração que possui dez diferentes algarismos - O, 1, 2, 3, 4, 5, 6, 7, 8, 9 - e, por essa razão,</p><p>foi chamado de sistema decimal. (Ver mais detalhes no Apêndice A - Sistemas de Numeração.)</p><p>A quantidade de algarismos dispo,úveis em um dado sistema de numeração é chamada de base; a base serve</p><p>para contarmos grandezas maiores, indicando a noção de grupamento. O sistema de dez algarismos, mencio­</p><p>nado anteriom,ente, tem base 10; um outro sistema que possua apenas dois algarismos diferentes (O e 1) é de</p><p>base 2, e assim por diante.</p><p>Vamos exemplificar o conceito de sistema posicional. Seja o número 1303, representado na base 10, escrito</p><p>da seguinte forma:</p><p>1 3 O 3,..</p><p>Em base decimal, por ser a mais usual. comuna-se dispensar o indicador da base. escrevendo-se apenas o número:</p><p>1303</p><p>Neste exemplo, o número é composto de quatro algarismos:</p><p>1, 3, O e 3</p><p>e cada algarismo possui um valor correspondente à sua posição no número.</p><p>l\.ssim, o primeiro 3 (algarismo mais ã direita) representa 3 unidades. Neste caso, o valor absoluto do alga­</p><p>rismo (que é 3) é igual ao seu valor relativo (que também é 3), por se tratar da l.' posição (posição mais à</p><p>direita, que é a ordem das u nidades). Considerando-se o produto três vezes a potência O da base 10 ou</p><p>Sn$ W</p><p>Conversão de Bases e Aritmtlica Comp11tacio11al / 55</p><p>3X 10"=3</p><p>enquamo o segundo 3 vale três vezes a potência 2 da base I O ou</p><p>3 X 102 = 300</p><p>E o último à esquerda vale uma vez a potência 3 da base 1 O, ou 1 X 1 O' = 1000.</p><p>O valor total do número seria então:</p><p>1000 + 300 +O+ 3 = 1303"'</p><p>1 X 103 + 3 X 102 + 0 X 101 + 3 X 10'' = 1303111</p><p>Generalizando, num sistema qualquer de numeração posicional, um número N é expresso da seguinte fonna:</p><p>N = (d0 _ , d0 _, d. -, ... d, d,,)•</p><p>onde:</p><p>d indica cada algarismo do número;</p><p>n - 1, n - 2, 1, O (índice) indicam a posição de cada algarismo;</p><p>b indica a base de numeração;</p><p>n indica o número de dígitos inteiros.</p><p>O valor do número pode ser obtido do seguinte somatório :</p><p>N = d0 _ 1 X b" - ' + d., _, X b" - 2 + ... + d, X b' + d,, X bº</p><p>Desse 1nodo, na base 10, poden10s representar um número:</p><p>N = 3748</p><p>o nde:</p><p>11 = 4 (quatro dígitos inteiros) .</p><p>Utilizando a fónnula indicada na Eq. 3.1 :</p><p>d. - 1 = 3 ou d, = 3; d, = 7; d, = 4; d,, = 8</p><p>ou obtendo seu valor de acordo com a fómtula mostrada em (3.2):</p><p>N = 3 X 10' + 7 X 10' + 4 X 101 + 8 X 10" =</p><p>= 3000 + 700 + 40 + 8 = 3748,.,</p><p>Observação: Números fracionários são apresentados em detalhe no Apêndice A.</p><p>3.2 OUTRAS BASES DE NUMERAÇÃO</p><p>Vejamos, em seguida, como representar nlHneros en1 outra base de nmneração.</p><p>(3.1)</p><p>(3.2)</p><p>Entre as bases diferentes de 1 O, consideremos apenas as bases 2 e potências de 2, visto que todo computador</p><p>digital representa internamente as iiúonnações em algari.smos binários, ou seja, trabalha em base 2. Como os núme­</p><p>ros representados em base 2 são muito extensos (quanto menor a base de numeração, maior é a quantidade de</p><p>algarismos necessários para indicar um dado valor) e. portanto, de dificil 1nanipulação visual, costtuna-se reprerentar</p><p>extemamente os valores binários em outras bases de valor mais elevado. Isso pemútc maior compactação de alga­</p><p>rismos e melhor visualização dos valores. Em geral, usam-se as bases occal ou hexadecimal, em vez da base decimal,</p><p>por ser mais simples e rápido converter valores binários (base 2) para valores em bases múltiplas de 2.</p><p>Utilizando-se a notação posicional indicada na Eq. 3.1, representam-se números em qualquer base:</p><p>(LO! lh - na base 2</p><p>(342)5 - na base 5</p><p>(257)• - na base 8</p><p>Snõw</p><p>5 6 / Co,wersiio de B'1.sts e Arit11.1é.tica C~mp11t11cio11,1l</p><p>N o enran.m na base. diferentes de 10, o va]or rela.ti o do algarismo (valor dependente de ua po iça n·o</p><p>número) í: norrnalrn ·nt · cakuh1do usando- e os va ore - rcsuJtantes de operações aritméticas em base 10 e não</p><p>na ba e do número ( cr Apêndice A parn mais detalhe) e ponanr.o, o valor total do número na base usada</p><p>erá e pres: o em ermos de grandeza na b:!:! e 1 O.</p><p>Exempmo 3.1</p><p>S ,j o núm ~ro na bas ~ 2 : (10t1 h (u ou-se a. d · CTiçâo d.i Eq. 3.1 ).</p><p>S · aplica cmos a Eq. 3 .2 te1ia111os:</p><p>1 X 2;; + 0 X 22 + 1 X 21 + 1 X 2° =</p><p>- 8 + + 2 + 1 = (1 l)m</p><p>Este valor 11 e tá expresso na ba.s1,; 10 e não na ba e 2. Porranto, será (11)10.</p><p>Ex,emplo 3 .2</p><p>(1043) = 1 X 5J + 0 X 5z + 4 X 51 + 3 X 5° =</p><p>125 + + 2 + 3 = (148)10</p><p>Sobre o assuato, podet o · concluir:</p><p>a) O número máximo de ;'!}g.iiri mo difel"cntc de uma ba e é igua] ao valor dai b, se.</p><p>Exemplo:</p><p>• na base 10 t mo 1 , dígims.: de O a 9;</p><p>• na bas 2 temo pena do· dígitos: O e 1 ;</p><p>• na ba.s:e 5 temo cinco digitas: de O a 41-.</p><p>b) O va1o1· do algari mo mais à e querda (mais significativo) de um número d n algari mo inteiro · é</p><p>obtido pefa nmltipbcaçà.o de eu valor ab olut:o (algari mo d0 _1) pela base elevada à potência (n - 1).</p><p>ou seja., (d0 _ 1 X bn - 1).</p><p>e) O valor total do número é obtido somando -se n valon~s. cada um expressando o valor relar:i o de um</p><p>dm n a.lgari~mo& componentes d.c;,, núm~ro.</p><p>Exemplo· 3 .. 3</p><p>3) 375,o</p><p>n = 3 (3 .ilg:ari 1110s)</p><p>3 X 102 + 7 X 101 + 5 X lQP = (3 producos)</p><p>= 300 + 70 + 5</p><p>b) 1 012</p><p>1 X 2-1 + i..Ll3, + 1 X 22</p><p>1 .. "' p1.-od. 2 ." prod, . 0 prod.</p><p>16 + 8 + 4</p><p>(3 vaJores a somar)</p><p>(5 algarismos)</p><p>+ ~t + .1.L..2, 1 (5 produto - 5 valore")</p><p>4 .0 p od.</p><p>+ o</p><p>5.0 prod.</p><p>+ = 29LO</p><p>b e do ist ma binário é 2 e, conseqüentemente, qualquer núme1u, quando repre:sentado nesse sistema</p><p>consist·e exdusivament·e em dígitos O e 1. O termo dígito binário é chamado b.it, contraçà.o do t.ermo inglês</p><p>/Jinary digit.</p><p>Por exemplo, o númer.o binário 11 1. 1 po: ui cinco dígitos, o,u a.lgari mo bináiio . Diz- • qu o r fi rido</p><p>níunero .é -constituído de 5 bits.</p><p>Snõw</p><p>Go,wusii.o de Bases e Aritmé1itt1 Comp11tac.ion11J I 5 7</p><p>Em bases de valor superior a 1 O usa.m-$C letn•s: do alfabeto pa[a a rcprc cntaçâo de alga.Tismo maiores que</p><p>9. Uma dessas, base~ e •specialmente importante em computação - trata- s.e d.i base 16 ou hexadecimal, por</p><p>er de val.or potên i.i de 2 (como a base 8) .</p><p>e sa base, os "al!f,lri mo ' ' .A, B, C, D, E e F ·epl'e entam, re pectivamente, o vafores (da bas. 10): 10, 11,</p><p>12, t., 14 e 15.</p><p>Na base 16 {hexadecimal), di pomo de 16 algari mos (não númeT-O ) difenmte :</p><p>0, 1,2,3, ... ,9,A,B,C,D EeF</p><p>Um número n · a b se é representado na fotma da Eq. 3 .1:</p><p>{1A7B)",</p><p>Os.eu valor na base 10 s.erá obtido usando- e a Eq. 3.2:</p><p>1 X 163 + 10 X 16l + 7 X 161 + 11 X 16° = 4096 + 25 60 + 112 + 11 = 677910</p><p>Observen os que na Eq. 3.2 forain usado os vatores 10 (para o algaristno A) e 11 (para o alg-arismo B) para</p><p>multiplicar as potências d,e 16. F'or isso, obtivemos o va]or do número na base 10.</p><p>En, outras palavras, utilizamo valores. e regras de aritmética da base 10 e, por</p><p>isso o resukado encontrado</p><p>& um . 1<:i.r decimal. A Tabefa 3.1 mostrn a repres.entaçào d.e números nas bases 2, 8, 10 e 16.</p><p>Peia tabela, podet :ios obset-var que os digitas octüs e hexadeámais correspondem a combinações d.e 3 (octais)</p><p>e 4 (h xadecimai) bi (algarismos binários). endo a base des ,es jstemas de valor maior que a bai e 2 e tendo</p><p>em vista es:s.) particularidade na representação de números na ba es 8 e 16 em refação a base 2 ve:rifica-se que</p><p>é possível converter rapidamente números da ba e 2 par, as bas.es 8 ou 16, ou vice- er.m.</p><p>Por exemplo, o núm,cr (101111011101) na ba e 2, po55ui 12 a]gari mo (bits), mas. pode er representado</p><p>com quatro algaTisrnos octais ou cot 1 apenas três alg.1rismos he ·adecimais:</p><p>(101111011101)z = (5735)</p><p>porque 1 1 = 5; 111 = 7; 011 = 3 e 101 =5</p><p>(101111011l01)2 = (BDD)u,</p><p>porque 1011 = B; 1101 = D; 11.01 = D.</p><p>T abela 3.1.</p><p>:B,ase 2 Base 8. Bas,e 10 Base 16</p><p>o o o o</p><p>1 1</p><p>rn 2 2 2</p><p>n 3 3 3</p><p>100 4 4 4</p><p>01 5 5 5</p><p>110 (l 6 6</p><p>H1 7 7 7</p><p>1000 10 8 8</p><p>l 00] 11 9 9</p><p>1010 12 10 A</p><p>101] 13 11 B</p><p>110 14 12 e</p><p>1101 15 l3 D</p><p>1110 16 14 E</p><p>11 U 17 15 F</p><p>1000 20 16 ]O</p><p>10001 21 17 H</p><p>Sn$W</p><p>58 / Conversão dt B,ue.t e Aritmt<tita Computaâoual</p><p>3 .3 CONVER SÃO DE BASES</p><p>Uma vez entendido como representar números em notação posicional e como esta notação é aplicável em</p><p>qualquer base inteira, podemos exercitar a conversão de números de uma base para outra.</p><p>Interessa-nos, principalmente, verificar o processo de conversão emre bases múltiplas de 2, e entre estas e</p><p>a base 10, e vice-versa.</p><p>3 .3.1 Conversão entre B ases Potência de 2</p><p>3.3.1.1 Entr e a s B ases 2 e 8</p><p>Como 8 = 2', um número binário (base 2) pode ser facilmente convertido para o seu valor equivalente na</p><p>base 8 (ocral). Se o número binário for inteiro, bast.1 dividi-lo, da direita para a esquerda, em grupos de 3 bits</p><p>(o último grupo, à esquerda, não sendo múltiplo de 3, preenche-se com zeros à esquerda). Emão, para cada</p><p>grupo, acha-se o algarismo octal equivalente, conforme mostrado na Tabela 3.1 .</p><p>A conversão de n(,meros da base 8 para a 2 é realizada de fonna semelhante, no sentido inverso; substitui­</p><p>se cada algarismo occal pelos seus 3 bits correspondentes (ver Tabela 3.1).</p><p>E xemplo 3.4</p><p>1) (111010 111), = ( ).</p><p>(111) (010) (111), = (727).</p><p>7 2 7</p><p>2) (1010011111), = ( ).</p><p>(001) (010) (01 1) (111), = (1237).</p><p>1 2 3 7</p><p>3) (327), = ( ),</p><p>(011) (010) (111), = (011010111), ou (11010111), Obs.: Naturalmente, despreza-se o(s) zero(s)</p><p>3 2 7 à esquerda do número.</p><p>4) (673), = ( ),</p><p>(110) (111) (011), = (1 1011101 1),</p><p>6 7 3</p><p>3 .3 . 1.2 Entre as Bases 2 e 16</p><p>O procedimento de conversão entre números binários e hexadecimais (base 16) é idêntico ao da conversão</p><p>entre as bases 2 e 8, execro que, neste caso, a relação é 16 = 2' .</p><p>Desse modo, um algarismo hexadecimal é representado por 4 bits (ver Tabela 3.1). Converte-se um nú­</p><p>mero binário em hexadecimal dividindo-se este número em grupos de 4 bits da direit.1 para a esquerda.</p><p>A conversão de hexadecimal para binário é obtida substituindo-se o algarismo hexadecimal pelos 4 bits</p><p>correspondentes, de acordo com os valores indicados na Tabela 3.1.</p><p>Exemplo 3.5</p><p>1) (101101 101 1), = ( ),.</p><p>(0010) (1 101) (1011), = (2DB),6</p><p>2 D D</p><p>SU$W</p><p>Conversão dt Da.ses e Aritmética Computacional I 59</p><p>2) (10011100101 101), = ( ),.</p><p>(0010) (0111) (0010) (1101), = (272D),6</p><p>2 7 2 D</p><p>3) (306) 16 = ( ),</p><p>(0011) (0000) (01 10), = (11000001 10),</p><p>3 O 6</p><p>4) (FS0),6 = ( ),</p><p>(1111) (0101) (0000), = (111101010000),</p><p>F 5 O</p><p>3.3.1.3 Entre as Bases 8 e 16</p><p>O processo de conversão utiliza os mesmos princípios antes apresentados. No entanto, con10 a base de</p><p>referência para as substi tuições de valores é a base 2, esta deve ser empregada como intermediária no processo.</p><p>Ou seja, convertendo-se da base 8 para a base 16, deve-se primeiro efetuar a conversão para a base 2 (como</p><p>mostrado nos subitcns anteriores) e depois para a base 16. E o mesmo ocorre se a conversão for da base 16 para</p><p>a base 8.</p><p>Exemplo 3.6</p><p>1) (3174). = ( ),.</p><p>Primeiro, conve,~e-se o número da base 8 para a base 2:</p><p>(011) (001) (1 11) (100), = (01 1001111100),</p><p>Em seguida, converte-se da base 2 para a base 16, separando-se os algarismos de 4 em 4, da dire ita para</p><p>a esquerda :</p><p>(0110) (0111) (1100) = (67C),.</p><p>6 1 e</p><p>2) (254). = ( ),.</p><p>= (010) (101) (100), = (010101100),</p><p>= (1010) (1100), = (AC)",</p><p>3) (2E7 A)16 = ( )s</p><p>= (0010) (1110) (0111) (1010), = (0010111001111010), =</p><p>= (010) (111) (001) (111) (010), = (27172).</p><p>4) (3C7),6 = ( )8</p><p>= (0011) (1100) (0111), = (11 11000111), =</p><p>= (001) (111) (000) (111), = (1707).</p><p>3.3.2 Conversão de Números de uma Base B para a Base 10</p><p>A conversão de um número, representado em uma base B qualquer, para seu correspondente valor na base</p><p>1 O é realizada empregando-se a Eq. 3.2. A melhor maneira de compreender o processo de conversão consiste</p><p>na realização de alguns exemplos práticos, onde se indica, detalhadamente, a aplicação da referida equação.</p><p>SU$W</p><p>60 / Cuuversão de Bases e Aritmésica Comp11taciot1al</p><p>Os exemplos apresentados referem-se apenas a números inteiros. No Apêndice A - Sistemas de Numera­</p><p>ção, são detalhados os diversos processos de conversão de números inteiros e fracionários.</p><p>Exemplo 3.7</p><p>1) (101101), = ( ),0</p><p>Substituindo, na Eq. 3.2, as letras pelos valores do exemplo, teremos:</p><p>b = 2 (a base origem do número a ser convertido)</p><p>n = 6 (6 alga,ismos)</p><p>n - 1 = 5 (expoente do 1 .º produto mais à esquerda)</p><p>d,, _ 1 = 1 (algarismo mais à esquerda)</p><p>1.ºproduto: d,,_, X b" - 1 = 1 X 2s</p><p>Os demais produtos seguem a seqiiência da Eq. 3.2, resultando em:</p><p>1x~+ox~+1x~+1x~+ox21 +1x~=</p><p>= 32 + O + 8 + 4 + O + 1 = (45)10</p><p>2) (27)s = ( l,o</p><p>Da mesma maneira, substitui-se na Eq. 3.2:</p><p>b=8</p><p>n=2</p><p>11 -1 = 1</p><p>d. - 1 = 2</p><p>Valor total:</p><p>ld . - ,1 X IB" -'I + ldºI X IB''I 2 X 81 + 7 X 8º</p><p>2 X 8' + 7 X 8º = 16 + 7 = (23) 10</p><p>3) (2A5)16 = ( ),o</p><p>2 X 162 + 10 X 161 + 5 X 16º =</p><p>= 512 + 160 + 5 = (677),0</p><p>4) (6734), = ( ),o</p><p>6 X 83 + 7 X 82 + 3 X 81 + 4 X 8° =</p><p>= 3072 + 448 + 24 + 4 = (3548).</p><p>5) (27)8 = ( ),0</p><p>2 X 81 + 7 X 8° = 23,o</p><p>Observação: No desenvolvimento foram suprinUdos os produtos em que os algatis1nos eram O, visco que</p><p>o resultado seria também sempre zero.</p><p>6) (457). = ( ),.</p><p>4 X 92 + 5 X 9' + 7 X 9° =</p><p>= 324 + 45 + 7 = (376) 10</p><p>7) (243); = ( )10</p><p>2 X 52 + 4 X 51 + 3 X Sº =</p><p>= 50 + 20 + 3 = (73) 10</p><p>Sn$W</p><p>Co,wersão de Bases e A ritmética Computncfoual I 61</p><p>3.3.3 Conversão de Números Decimais para uma Base B</p><p>A conversão de números, representados na base 1 O. para seus valores equivalentes em u1na base B qualquer</p><p>é efetuada através de um processo inverso ao do subirem anterior (base B para base 10).</p><p>A conversão é obtida dividindo-se o número decimal pelo valor da base desejada; o resto encontrado é</p><p>o algarismo menos significativo do valor na base B (mais à direita). Em seguida, divide-se o quociente en­</p><p>contrado pela base 8 ; o resto é o algarismo seguinte (à esquerda); e assim, sucessivamente, vão-se dividindo</p><p>os quocientes pelo valor da base até se obter quociente de valor zero. Em cada divisão, o resto encontrado</p><p>é um algarismo significativo do número na nova base; o primeiro resto encontrado é o valor do algarismo</p><p>menos significativo (mais à direita), e o último resto será o algarismo mais significativo (mais à esquerda).</p><p>Na realidade, o algoritmo de conversão pode ser definido com vá1ios critérios de parada, cais como:</p><p>a) Enquanto o quociente for diferente de zero:</p><p>dividir dividendo por divisor;</p><p>• extrair resto como algarismo e colocá- lo à esquerda do anterior;</p><p>• repetir.</p><p>Quando o quociente for igual a zero, parar.</p><p>b) Enquanto o dividendo for maior que o divisor:</p><p>dividir dividendo por divisor;</p><p>• extrair resto como algarismo e colocá-lo à esquerda do anterior;</p><p>repetir.</p><p>Usar o dividendo (que agora é menor que o divisor) como último algarismo à esquerda (algarismo mais</p><p>significativo).</p><p>No Apêndice A - Sistemas de Numeração, sào</p><p>detalhados os proccdimenws de conversão de números</p><p>inteiros e fracioná1ios.</p><p>Exemplo 3.8</p><p>1} (3964)w = ( ls</p><p>3964/ 8 = 495 resto., = 4 (algarismo menos significativo)</p><p>495/ 8 = 61 resto, = 7</p><p>6'1 / 8 = 7 resto,= 5</p><p>7/8 = O resto, = 7 (algarismo mais significativo)</p><p>Observa-se que o primeiro resto encontrado (algarismo 4) é o a1garismo inais à direita do número.</p><p>O número é, então, (7574) •.</p><p>2) (483)10 = ( ),</p><p>483/8 = 60 resto0 = 3 (algarismo menos significativo, mais à direita)</p><p>60/8 = 7 resto, = 4</p><p>7 / 8 = O resto, = 7 (algarismo mais sign ificativo, mais à esquerda)</p><p>O número é (7 43) •.</p><p>Para verificar, façamos o processo inverso, isto é : converter (743), para a base 1 O.</p><p>7 X 82 + 4 X 8' + 3 X 8" =</p><p>= 448 + 32 + 3 = (483)111</p><p>62 / Corwe.rsão de Bases t: Aritmética Computacional</p><p>3) (45),0 = ( h</p><p>45/2 = 22</p><p>22/2 = l i</p><p>11 /2 = 5</p><p>512 = 2</p><p>resto(, = t (a]garismo menos significativo, 1nais à direita}</p><p>resto, = O</p><p>resto, = 1</p><p>rcst0, = 1</p><p>2/2 = 1 resto, = O</p><p>1/2 = O resto; = 1 (algarismo mais significativo, mais à esquerda)</p><p>O número é 1011012•</p><p>4) (97) 10 = ( )2</p><p>97/2 = 48</p><p>48/2 = 24</p><p>24/2 = 12</p><p>12/2 = 6</p><p>6/2 = 3</p><p>resto., = 1 (algarismo menos significativo)</p><p>resto, = O</p><p>resto, = O</p><p>resto3 = O</p><p>resto, = O</p><p>3/2 = 1 restos = 1</p><p>1/2 = O resto6 = 1 (algarismo mais significativo)</p><p>O número é (1 100001),.</p><p>5) (2754),0 = ( )16</p><p>2754/ 16 = 172 n:sco0 = 2 algarismo 2 11, (algarismo menos significativo)</p><p>172/16 = 10 resto, = 12 algarismo C ,6</p><p>10/16 = O nmo, = 10 algarismo A16 (algarismo mais significativo)</p><p>O número é (AC2).,,.</p><p>6) (490) ,., = ( ),.</p><p>490/16 = 30 resto0 = 10w algarismo A16 (algarismo menos significativo)</p><p>30/16 = 1 resto, = 14,0 algarismo E11,</p><p>1/16 = O resto,= 110 algarismo l1t, (algarismo 1mis significativo)</p><p>O número é (1 EA)16.</p><p>Sn$W</p><p>É possível simplificar o processo de conversão de valores da base 2 para a base 1 O e vice-versa. Para tanto,</p><p>basta considerar o seguinte:</p><p>a) A Eq. 3.2 estabelece o valor de um número pela soma de produtos:</p><p>d..- , X b•- 1 +</p><p>b) Cada produto é constituído de duas parcelas: a primeira é o algarismo correspondente à posição cm</p><p>que se encontra e a segunda é a potência da base, cujo índice indica a posição.</p><p>c) No caso de a base ser 2, os algarismos só podem assumir o valor 0 o u 1. Dessa forma, o re.~ultado do</p><p>produto somente pode ser 0 ou o próprio valor da potência de 2.</p><p>Exemplos:</p><p>101 = 1 X 2' + 0 X 21 + 1 X 2º</p><p>O primeiro produto, 1 X 22, tem valor igual a 22 = 4. Isto é, como o algarismo é 1, então 1 X 2'</p><p>ou apenas 22 tem mesmo valor. No caso do segundo produto, O X 21 é igual a zero. O terceiro</p><p>produto, iguaJ ao primeiro, é 1 X 2° ou 2° = 1.</p><p>d) As potências de 2, da dire ita para a esquerda, crescem da seguinte forma:</p><p>2'' = 1 (potência zc.-o, com: pondcnte à po içâo mai à d.ireita)</p><p>21 = 2 , 22 = 4 ; 2J. = 8 · 2-1 = 16 etc.</p><p>Ou seja:</p><p>. ~ ' 6 5</p><p>... 2(, 2s</p><p>''' 64 32 16</p><p>3</p><p>8</p><p>2</p><p>4</p><p>21</p><p>2</p><p>o</p><p>1</p><p>+-</p><p>posiçào</p><p>potência</p><p>valor</p><p>snow</p><p>Em con eqiiência converter mn n(unero da base 2 para a. base 10 con::;ist es. cndalmcnr.e em ornar as</p><p>potência d<.: 2 com:spondi:;nte:s à pC>siçôi.:~" onde o algari mo é igual a 1 d-esprezando a pot,ência onde o</p><p>algarisni:o é zcrn.</p><p>Exemplo 3.9</p><p>Efetuar as seguin t ~ con ver ,o s:</p><p>1) (110011)? = ( ) 111</p><p>5 4 3 2 o</p><p>1 1 o 1 1 +-</p><p>2" 2~ 2• 2º ~</p><p>32 16 2 +-</p><p>Valorem ba e- 10: 32 + 16 + 2 + 1 = (51)111</p><p>2) (WOl 1 lh = ( )111</p><p>32 16 8</p><p>1 O O</p><p>4</p><p>1</p><p>2</p><p>1</p><p>]</p><p>t</p><p>+-</p><p>posição</p><p>alga.ri· mo</p><p>potências válida~ para</p><p>valores</p><p>potências</p><p>alg. ri~mos</p><p>omar</p><p>Valor em ba e 10: somam- e a porências váli.da , correspondenres à po jçào onde o algarismo é 1.</p><p>32 + 4 + 2 + 1 = (39) [l i</p><p>3.4 ARITMÉTICA ÃO·-D · CIMAL</p><p>Neste item serào apresentado procedimentos para realização das quatro operações arit.inéticas (adição, sub­</p><p>tração, nmltiplicaç:io e divisão) de número não-decimais (quaJquer omro si tema de base difer,ente de 10)</p><p>es.sencia.lmcnte o de b~-e 2 e potf:ncia de 2, que intcn,:_ ·,mi ao. sistema.'> de compu~ção.</p><p>O . númcr~ serão inteiros, sc-n'.'I ]imite de tamanho 1;; po itívos ( c-m inal) .</p><p>o Apêndice A - Sistemas de Numeração, são detalhados procedimentos: para execução de operações</p><p>aricmérica.'>, com números binfoos, octai ,e h,cxadccim.ii , incluindo Vâlon~. int ·1rns e fraóonário. porl!m</p><p>ainda. . cm sinal.</p><p>No Cap. 7, s.ào detaJllados procedimentos. para execução de operações. arirméti-ca com números positivos</p><p>e neg. tivas (inclu. âio do sinal no. número.1,) , intcú.-os e &acioni1io~, bem como aque]es -e ·presm na forma</p><p>BCD (Binary Coded D.ecime) . Os procedimentos estão relacionados ao proce so efetivamente realizado no</p><p>inrerior da unidade d proce. sa.menro do. compucad Te . Já, 1íC-5tc capítulo, p,·ocura-se de;,screver proc di­</p><p>menco apenas matemático:s, para fiuniliarizar o leitor corn opc-raçõt: matemáticas não-dccimaii .</p><p>Finalmente não e escá levando em conta qualquer limiu: dos números, ou s,cja. a quanddad · mâ:xima de</p><p>algari mo pennitida para um dado número, o que é uma efetiva preocupação no caso dos computa.dor-es.</p><p>Tram- e do problema de ove(flow ou e!.mum do limite, guarido um:t op!;!ração :tritmética r ulta em um valor</p><p>acima do limite máximo po sivel (ver Cap. 7).</p><p>SDêW</p><p>3,A.1 Aritnlétíca Binária</p><p>JA.1.1 Sorna ' . , .</p><p>1nana</p><p>A ôp ·ração de soma de dois números em base 2 é efetuada de modo semelhante à soma decimal, levando-</p><p>se em conta ape.na , que ó há doi alg rismos di poníve's (O e 1). im pod mos CTiar uma tabela C·Om t da</p><p>a po füilidades:</p><p>0+0=0 0+1=1</p><p>1 + O = 1 1 + 1 = O, com 'va· 1" ou 102</p><p>Exemplo· J .. , O ,(adl·ção)</p><p>a) Efi tuar a soma 451n e 4710:</p><p>Dec 'ma]</p><p>1</p><p>4-.5</p><p>+ 47</p><p>92</p><p>Ex.emp1o 3.n (adiição)</p><p>D cima]</p><p>1</p><p>27</p><p>+ 25</p><p>52</p><p>Exemplo 3.12 (adição)</p><p>a) Efetuar a soma 35714.1 315 111:</p><p>D cima]</p><p>1</p><p>357</p><p>+ 315</p><p>--</p><p>672</p><p>3.4.1.2 Subtração ... , "' 1na:ria</p><p>Binário</p><p>Biná ·o</p><p>'11 11</p><p>11011</p><p>+ 11001</p><p>110100</p><p>Binário</p><p>1 1111111</p><p>10U001 ,]</p><p>10011101 ']</p><p>101010 000</p><p>b) Efetuar a. soma 3 7 10 e 87 10:</p><p>Decimal</p><p>1</p><p>37</p><p>+ 87</p><p>124</p><p>Bin.á.rio</p><p>111</p><p>01001 ']</p><p>+ 1010111</p><p>11'11'1 O</p><p>b) Efoi:uar !>Oma 11 io e ·1410:</p><p>Decimal</p><p>11</p><p>+ 14</p><p>25</p><p>Binário</p><p>HJ</p><p>l0U</p><p>+ 1110</p><p>110</p><p>b) fetuar a s.oma 99io e 91 10:</p><p>Decimal</p><p>u</p><p>99</p><p>+ 91</p><p>190</p><p>Binário</p><p>1 11</p><p>1100011</p><p>1011011</p><p>0111110</p><p>A ubtr.tç-ão cm base 2 na fonn convenciona], u:sada rnmbén no si ema decimal (nrinuendo - ubmendo =</p><p>diferença), é re1adva:ne te mai cot plicada por disponno a.pena dosalg;a.rism.o O e 1 e, de 3 f; Tma, m:no</p><p>1 necessita de' empré timo' de um va]o igual à ba e (no ca o é 2), obtido do primeiro algarismo diferente</p><p>de :z.ew, existente à esquerda. Se estivés emos operando na base decimal, o "empréstimo' seria de valor</p><p>igual a 10.</p><p>SU$W</p><p>Convmiio de Bases e Aritmfsica Comp1llacional I 65</p><p>Exemplo 3.13 (subtração)</p><p>Efetuar a subtração 101101 - 100111:</p><p>2</p><p>002</p><p>101101</p><p>-100111</p><p>000110</p><p>A partir da direita para a esquerda, vamos executar a operação algarismo por algarismo (6 algarismos).</p><p>1) 1 - 1 = O (primeiro algarismo do resultado - mais à direita).</p><p>2) O - 1 não é possível. Então, rerira-se 1 da ordem à esquerda (3.' ordem a partir da direita), que fica com</p><p>1 - 1 = 0, e passa-se para a ordem à direita, o valor equivalente, que é 2, visto que 1 unidade de</p><p>ordem à esquerda vale uma base de unidades (no caso: Base = 2) da ordem à direita.</p><p>2 - 1 = 1 (segundo algarismo do resultado)</p><p>3) Agora tem-se O - 1 e, portanto, repete-se o procedimento do item anterior.</p><p>2 - 1 = 1</p><p>4) O - O= O</p><p>5) O - O= O</p><p>6) 1 - 1 = O</p><p>Resultado: 0001102 ou simplesmente 1102.</p><p>Exemplo 3.14 (subttação)</p><p>Efetuara subtração 100110001-10101101:</p><p>1</p><p>02 022</p><p>100110001</p><p>- 010101101</p><p>010000100</p><p>A partir da direita para a esquerda:</p><p>1) 1 - 1 = O</p><p>2) 0-0=0</p><p>3) O - 1 não é possível. Retira-se 1 da 5.' ordem, a partir da direita, ficando 2 unidades na 4 .' ordem.</p><p>Dessas 2 unidades, retira-se 1 unidade para a 3.' ordem (nesta 3.' ordem ficam, então, 2), restando 1</p><p>unidade nesta 4.' ordem.</p><p>2 - 1</p><p>= 1</p><p>4) 1 - 1 = O</p><p>5) O - O= O</p><p>6) 1 - 1 = O</p><p>7) 0 -0 =0</p><p>8) O - 1 não é possível. R erira-se 1 da ordem à esquerda, que fica com zero e passam-se 2 unidades para</p><p>a direita.</p><p>2 - 1 = 1</p><p>9) 0-0=0</p><p>Resultado: (010000100),</p><p>SDêW</p><p>,66 / Conn·rsâo de Bases t Aritmétirn Computarionnl</p><p>Exen1plo 3. 15 (subtração)</p><p>a) Efecu r a s:ubtJ; 3 37 - 26: b) Efêtuar a ubtraçào 2 l - ] 7:</p><p>D1õcimal fünáirio</p><p>37</p><p>- 26</p><p>11</p><p>01:202</p><p>1.00rn1 = 37</p><p>- OH OlO = 26</p><p>0010n = 11</p><p>3 .4. 1.3 Multiplicação Binária</p><p>Dedmal</p><p>9</p><p>uo</p><p>201+10</p><p>1 8 7</p><p>O] 4</p><p>Binário</p><p>1121</p><p>02202:2</p><p>l 1001001 =- 201</p><p>101110 1 = 187</p><p>000011 10- 14</p><p>A.t:, regra~ para reali:zã.çâo de rnultíplicaçâo com número. binários :são cxuam nte igu. is .à.$ das multiplicações</p><p>decimai, com uma enorme vantagetn obre estas pelo fato de que só temos - a]gari mo em vez d 1 . D, se</p><p>mod< temo. apcna.~:</p><p>0X0=0</p><p>OXt=O</p><p>lX =O</p><p>1 X 1 = t</p><p>Enquanto na multiplicação decimal temos uma tabela com 100 operaçõe • do tipo:</p><p>l X 2 = 2· 2 X 7 = 14· 5 X 6 = 30 etc.</p><p>Para m.clhor entendin1t:11to obre- o a . umo, báStà ob. erv:u algun exemplos, cotu a descriçio detalhada d</p><p>cada passo e, incluindo em todo" o exemplo a operação em decima1 i;:: f;;'m binái:io.</p><p>E empfo 3.16 (multipU ção)</p><p>Efotu:ílr a multiplicação 6 X 5:</p><p>Decimal</p><p>6</p><p>X5</p><p>30</p><p>110</p><p>X 10 1</p><p>l lfl</p><p>ouu</p><p>11 0</p><p>ll U</p><p>Binário</p><p>+- multiplicando</p><p>~ nu1Jtiplicador</p><p>+- pmdutos parci:ii.s</p><p>~ re~uhado</p><p>O procedimento consist,e em multiplicar cada a[g.-iri mo do ,nu]tiplicador pdo .algari~mos do multiphcan­</p><p>do,. re u1tando em suce i,vô produtos parciai, t ntos quanto!. forem m algari mos do multipbc..1.dm·. o</p><p>Exemplo 3.16 ão três algari mos e, portanto, temos trê: produto parciais.</p><p>Cada produto parcjal é colocado de modo a se posicionar uma ca a para a~ queirda do produto anterior</p><p>isto é, há um deslocamentJO do 2.º produto para à esqucirda c:m refação ao 1.º produto e há um deslocamento</p><p>à esquerda do 3 .0 pr-od to en -elação ao 2.<> produto.</p><p>Em eguida os tr" produto ão amado produzindo o r ~suhado dc~cjado.</p><p>o caso de ~í t ·ma binfirios o procedimemo é ainda mais impl porque os produtos pardais só podem</p><p>ser zero (se o algarismo do multiplicando for zero} ou o próprio va]or do mulciplicador ( e o algarismo do</p><p>multiplicando for um),</p><p>Exemplo 3.17 (multiplicação)</p><p>Efetuar a multiplicação 21 X 13:</p><p>Decimal</p><p>21</p><p>X 13</p><p>63</p><p>+21</p><p>273</p><p>10101</p><p>X 1101</p><p>10101</p><p>+00000</p><p>10101</p><p>10101</p><p>100010001</p><p>Exemplo 3 .18 (multiplicação)</p><p>Efetuar a multiplicação 18 X 4:</p><p>Decimal .Binário</p><p>18 10010</p><p>X 4 X 100</p><p>72 00000</p><p>00000</p><p>10010</p><p>1001000</p><p>SU$W</p><p>C onversão de Bases e Aritmética Computacional / 67</p><p>Binário</p><p>+- multiplicando</p><p>.... multipLlcador</p><p>+- 4 produtos parciais,</p><p>cada um deslocado</p><p>l casa para a</p><p>esquerda</p><p>~ resultado</p><p>Neste exemplo, bastaria acrescentarmos dois zeros à direita do multiplicando e teríamos o mesmo resultado</p><p>da operação completa.</p><p>multiplicando:</p><p>1nais dois zeros:</p><p>10010</p><p>1001000 <- resultado</p><p>Isso acontece porque o multiplicador é constituído do algarismo 1 (repetição do multiplicando) seguido de</p><p>dois zeros. O produto parcial de cada multiplicador por zero é igual a zero e, portanto, a soma com o multi­</p><p>plicando resulta no próprio valor do multiplicador, porém deslocada uma ordem para a esquerda, o que sig­</p><p>nifica acréscimo de um zero à direita.</p><p>3.4.1.4 Divisão Binária</p><p>O procedimento matemático para realização de uma operação de divisão com números binários é seme­</p><p>lhante ao procedimento para a mesma operação com valores decimais.</p><p>O procedimento compreende a manipulação de quatro elementos:</p><p>dividendo valor a ser dividido</p><p>divisor</p><p>quociente</p><p>resto</p><p>valor que deve estar contido II vezes no dividendo e que, então, se deseja saber qual o valor de 11</p><p>quantidade de vezes que o divisor se rnpete no dividendo (valor de 11)</p><p>caso a divisão não seja exata, isto é, o divisor vezes II não seja igual ao dividendo, a diferen­</p><p>ça é chamada de resto.</p><p>Vamos descrever o processo na base 1 O para entenden110s bem cada passo e, em seguida, exemplificar na</p><p>base 21 seguindo os rnes111os procedimentos.</p><p>Exemplo 3.19</p><p>1) 35/5 = 7, com resto = 0 e</p><p>SU$W</p><p>68 / Co,wersiio dt Basts e Aritmétfr:a Computaciottal</p><p>2) 37/5 = 7, com resto= 2.</p><p>Nestes exemplos, o dividendo é 35 e:: 37, os divisores são, em ambos os casos. S, o quociente é igual a 7 em</p><p>ambos os casos e o resto é, respectivamente, 0 e 2.</p><p>37[l</p><p>-35 7</p><p>2</p><p>Procedimento:</p><p>a) Verifica-se quantas vezes o divisor cabe no dividendo por tentativa .</p><p>b) Iniciam-se, mentalmente ou por qualquer outro mét0do que o leitor considere confortável, as tentati­</p><p>vas tais como:</p><p>2 X 5 =10, 3 X 5 = 15, 4 X 5 = 20 (t0dos menores que 35)</p><p>E prossegue-se: 5 X 5 = 25, 6 X 5 = 30, 7 X 5 = 35 e 8 X 5 = 40 . Como 40 é maio r que 35 (ou</p><p>37, no caso do segundo exemplo) o valor escolhido para quociente é igual a 7.</p><p>e) Subtrai-se de 35 (dividendo) o valor resultante da multiplicação do quociente pelo divisor (7 X 5),</p><p>encontrando-se um valor que é o resto da divisão. No primeiro exemplo, o valor é zero, 35 - 35 = 0,</p><p>e no segundo exemplo é 2, 37 - 35 = 2.</p><p>d) O resto da divisão deve sempre ser um valor igual, no máximo, ao divisor menos 1. No exemplo, ele</p><p>deverá ser, no máximo, igual a 4, pois se ele fosse 5, isso significaria que o quociente poderia ser maior,</p><p>já que o divisor (valor 5) ainda cabe no dividendo.</p><p>Vejamos um exem plo de divisão binária.</p><p>Exemplo 3.20 (divisão)</p><p>Efetuar a divis.10 (1001), por (101),:</p><p>(l0O l)z/(101),</p><p>No caso da divisão binátia o procedimento se toma mais simples, visto que cada algarismo do quociente só</p><p>pode ser 1 {quando o divisor é menor - apenas 1 vez - que o dividendo ou parte dele) ou zero {taso contrário).</p><p>No exemplo acima, 1 O 1 é menor e cabe apenas I vez cm ·1 001. O quociente é, então, 1 e</p><p>1001</p><p>- 101</p><p>0100</p><p>o resto é ( 100),.</p><p>Em decimal, (1001), = 9w, (101), = 5w e (100), = 4 10• Ou seja, 9/5 = 1, resto 4.</p><p>Vejamos em seguida um exemplo de operação de d ivisão binária com dividendo de valor bem maior que</p><p>o divisor de modo que ocorram divisões parciais.</p><p>Exemplo 3.21 (divisão)</p><p>Efe,uar a divisão 101010, por 101, :</p><p>(101010),1(110),</p><p>a) Em primeiro lugar, verifica-se q ue valor (que quantidade de algarismos) é suficientemente maior que o</p><p>divisor, de modo que o primeiro algarismo do quociente sej a 1.</p><p>No exemplo utilizado, o valor 1010 (quatro p,imeiros algarismos da esquerda para a direita) é maior</p><p>uma vez que o divisor. Assim, temos inicialmente</p><p>10101ol...!.!.Q</p><p>- 110 1</p><p>100</p><p>Sn$W</p><p>Cmwmifo de Bases e A ri1mé1ica Computacional / 69</p><p>b) Em seguida, subtrai-se de 1010 (parte utilizada do dividendo) o valor 110 (que é 1 X 110), o u seja,</p><p>quociente, 1, vezes divisor, 110, encontrando-se como resto parcial 100.</p><p>c) Efetua-se nova divisão, utilizando-se como novo dividendo o valor do resto parcial 100 acrescido de</p><p>um algarismo do dividendo completo, sendo, no caso, o algarismo 1.</p><p>O novo dividendo será 1001, que contém 1 vez o divisor, 110. E assim teremos nova divisão parcial</p><p>l001~</p><p>- l 10 1</p><p>0 11</p><p>d) Repete-se pela terceira vez o processo, dividindo-se 1 1 O (novo dividendo, fonnado pelo resto parcial</p><p>11 acrescido do último algarismo do dividendo completo 0) por 110. Encontra-se quociente 1 e resto</p><p>parcial 000. A divisão está completada .</p><p>110~</p><p>- 110 1</p><p>000</p><p>A operação completa fica assim:</p><p>10101ol.!.!Q.</p><p>- 110 111</p><p>1001</p><p>- 110</p><p>0110</p><p>- 110</p><p>000</p><p>Exemplo 3.22 (divisão)</p><p>Efetuar a divisão 37 ,u por 4,0:</p><p>Decimal</p><p>37/4</p><p>37l2_</p><p>36</p><p>9</p><p>1</p><p>Binário</p><p>100101/100</p><p>1001011100</p><p>~ 1001</p><p>0 101</p><p>100</p><p>001</p><p>a) Divide-se 100 (menor valor do dividendo que é ainda igual ou maio r que o divisor) por 100 (divisor),</p><p>encontrando-se quociente 1, com resto parcial 0 (100 - 100) .</p><p>b) Acrescenta-se ao resto 0 tantos algarismos do dividendo (um a um da esquerda para a direita} quantos</p><p>necessários para que o valor obtido seja igual ou maior que o divisor. A cada algarismo selecionado e</p><p>não suficiente acrescenta-se urn zero ao quociente.</p><p>c) No exemplo, foram selecionados os algarismos 101 (acrescentou-se 00 ao quociente, para os algarismos</p><p>10 que formaram o valo r 010, ainda menor que o divisor 100. Finalmente acrescentou-se 1 (último</p><p>Sn$W</p><p>70 / Cm111mão de Bases e Aritmética Comp141aâoual</p><p>algarismo disponível do dividendo), resultando 101, neste caso superior a 100. Então, o quociente foi</p><p>acrescido de 1.</p><p>3 .4.2 Aritmé tica O ctal (em Base 8)</p><p>O sistema binário, por ser constituído de tão poucos algarismos diferences em sua base (O e 1), causa o fato</p><p>de os números serem na maioria das vezes constituídos de uma enorme quantidade de algarismos. Na reaHda­</p><p>de, podemos generalizar a regra de que "quanto menor o valor da base, maior é a quancidade de algarismos de</p><p>um número naquela base".</p><p>Assim, por exemplo , o número 9 na base 10 só possui um algarismo, porém na base 6 é constituído de dois</p><p>algarismos, 13, e na base 2 necessita de quatro algarismos para sua representação:</p><p>9,., = 13. = 10012</p><p>Quanto maior o número, mais rapidamente cresce a quantidade de dígitos binários (bits) ncccssá,i os para</p><p>essa representação:</p><p>(101 10011 11011 101), = (46045) 10 = (B3DD),.</p><p>Além disso, os sistemas de base menor (e o sistema binário é o menor de t0dos) ainda possuem um outro</p><p>inconveniente. A quantidade de algarismos disponiveis na base sendo pequena, há pouca diferença entre os</p><p>algarismos e, sendo muitos, acarreta dificuldade de percepção do usuário. Basta ver o exemplo anterior, onde</p><p>o valor binário possui 16 algarismos com variação apenas entre 0s e 1 s, muito mais complicado de comprc-­</p><p>ensão por parte do leitor do que o valor 46045, com apenas cinco algarismos e vários símbolos diferentes (o</p><p>4, o 6, o 5 e o 0) ou mais ainda, na base 16, com o valor B3DD, com apenas 4 algarismos.</p><p>O nosso sistema visual distingue melhor variações acentuadas entre elementos (por exemplo, entre B, 3, D,</p><p>4, 5, 6 etc.) do que diferenças núnimas, tais como apenas 0s e Is. Por isso. disti nguimos melhor as diferenças</p><p>entre objetos coloridos do que cst<-s mesmos objetos cm preto e branco, apenas distinguidos por tons diferen­</p><p>tes de preto.</p><p>Por esta razão, apesar de internamente nos computadores o sistema ser essencialmente binário, costuma-se</p><p>empregar bases mais elevadas para representar externamente os valores annazenados ou manipulados pelos</p><p>compucadores.</p><p>Utiliza-se com freqüência as bases 8 e 16 por serem bases maiores, e a conversão da base 2 para elas, e vice­</p><p>versa, é mais rápida que para a base 1 O. Atualmente, a base 16 é a base mais usada para representar, em manuais,</p><p>vídc::os etc., estes valores que estão intcrnaincnre cn1 binário.</p><p>Com este propósito, vamos apresentar alguns aspectos da aritmética octal e hexadecimal, apenas as opera­</p><p>ções de adição e subtração, visto que as outras não se aplicam para o fim a que se destinam.</p><p>Para finalizar e consolidar o assunto, apresentamos alguns exemplos de aritmética cm qua1qucr outra base</p><p>não-decimal nem potência de 2.</p><p>Exemplo 3 .23 (adição)</p><p>Efetuar a soma (3657)8 + (1741)8 :</p><p>l ll</p><p>3657</p><p>+ 174 1</p><p>5620</p><p>"vai 1"</p><p>+- l .:' p."lrcela</p><p>+-2.' parcela</p><p>Da direita para a esquerda, temos para cada um dos quatro algarismos:</p><p>1) 7 + 1 = 8</p><p>Como não há algarismo 8 na base 8, emprega-se o conceito posicional. isto é, 8 unidades de uma ordem</p><p>valem 1 unidade da ordem imediatamente à esquerda. Então: fica 0 = 8 - 8 e "vai I" para a esquerda.</p><p>Sn$W</p><p>Ctmvmão de Basts t Aritmética Computacional I 71</p><p>2) 1 (vai 1 vindo da ordem à direita) + 5 + 4 = 1 O</p><p>Utilizando o mesmo conceito anterior. temos:</p><p>10 - 8 = 2 e "vai l" (que é igual a 8).</p><p>3) 1 (vai 1) + 6 + 7 = 14</p><p>14 - 8 = 6 e "vai 1"</p><p>4) l + 3 + 1 = 5 Não há "vai 1" porque não se excede 7.</p><p>Resultado: 5620,</p><p>Exemplo 3 .24 (adição)</p><p>Efetuar a soma (443)8 + (653),:</p><p>11 .. vai .,.</p><p>443 .--1.-:. parcela</p><p>+ 653 <--2.' parcela</p><p>1316</p><p>Da direita para a esquerda, para cada um dos três algarismos:</p><p>1) 3 + 3 = 6</p><p>Como 6 é um algarismo válido da base 8, não há "vai I ".</p><p>2) 4+5=9</p><p>Então: 9 - 8 = l e "vai l " (que correspondem às oito unidades em excesso).</p><p>3) l + 4 + 6 = 11</p><p>Então: 11 - 8 = 3 e "vai l".</p><p>4) l + 0 = 1</p><p>Resultado: 13163</p><p>Exemplo 3.25 (subtração)</p><p>Efetuar a subtração (731 2), - (3465).:</p><p>88</p><p>6208</p><p>7ôl2</p><p>-3465</p><p>3625</p><p>+-empréstimos</p><p>+- 1..1 parcela</p><p>~ 2.'/j parcela</p><p>Da direita para a esquerda, temos para cada um dos quatro algarismos:</p><p>l) 2 - S não é possível. Então, rerira-se l unidade da ordem à esquerda, a qual vale uma base de unidades</p><p>(no caso base = 8) da direita, somando-se ao valor 2.</p><p>8 + 2 = 10 - 5 = 5</p><p>2) 1 - 1 = O - 6 não é possível. E ntão, retira-se 1 unidade da esquerda (que fica com 3 - 1 = 2 unida­</p><p>des), passando 8 para a direita, o que fica 8 + O = 8.</p><p>8-6=2</p><p>3) 3 - 1 = 2 - 4 não é possível. Então, retira-se 1 da esquerda (J - 1 = 6), passando oito unidades para a</p><p>direita.</p><p>72 / Convusiío dt! B,ues e Aritmética Computaci,mal</p><p>8 + 2 = 10 - 4 = 6</p><p>4) 7 - 1 = 6 - 3 = 3</p><p>R.esultado: 36258</p><p>3.4.3 Ari tmética Hexad ecimal (em Base 16)</p><p>Sn$W</p><p>Já mencionamos antc1i ormente que a aritmética co1n valores expressos em algaris1nos hexadecin1ais segue</p><p>as mesn1as regras para qualquer base: somar ou subtrair algarismo por algaris11101 utilizando-se de "vai x" na</p><p>casa à esquerda (e somando-o com as parcelas seguintes à esquerda) ou de "emprésrjmo" (como nas subtra­</p><p>ções cm qualquer outra base) , e assim por diante.</p><p>Exemplo 3.26 (adição)</p><p>Efetuar a soma (3A943B)16 + (23B7D5) 16:</p><p>J 1 +- "v.ii l"</p><p>3A 9438 <-- 1. • parcela</p><p>+ 238705 <-- 2.' parcela</p><p>SE4CIO</p><p>Da dire ita para a esquerda. temos para cada um dos seis algarismos:</p><p>1) B = 1110 + 5,6 = 16w</p><p>Como 16"' não é um algarismo válido da base 16 (o maior algarismo, F, tem valor = 15io), então usa­</p><p>se o p1incípio posicional, substiruindo 16 unidades da ordem da direita por 1 unidade da o rdem à es­</p><p>querda (vai 1).</p><p>B + 5 = O e vai 1</p><p>2) 1 + 3 + D = 1 + 3 + 13 = 1710</p><p>1710 = 16 (vai 1 para a esquerda) + 1</p><p>3) 1 + 4 + 7 = 12,,,</p><p>1210 equivale ao alga1ismo C ,6 • Coloca-se C como resultado e não há "vai I ".</p><p>4) 9 + B = 9 + 11 = 20w</p><p>20 = 16 (vai 1 para a esquerda) + 4. Coloca-se 4 como resultado e "vai 1" para a esquerda.</p><p>5) 1 + A + 3 = 1 + 10 + 3 = 14w</p><p>1410 equivale ao al1,r.uismo E,6• Coloca-se E como resultado e não há "vai I " .</p><p>6) 3 + 2 = 5. Coloca-se 5 como resultado e não há "vai ·1 ".</p><p>Resultado: 5E4C10,6</p><p>Exemplo 3.27 (subtração)</p><p>Efetuar a subtração (4C7BE8),6 - (1 E927 A)u,:</p><p>4 - 1 = 3 C - 1 = B + 16 = 27 E - l</p><p>I <1. 7 + 16 = 23 B</p><p>- 1 E 9 2</p><p>=D</p><p>1</p><p>7</p><p>2 D E 9 6</p><p>Da direita para a esquerda, para cada um dos seis algarismos:</p><p>8 + 16 = 24</p><p>8</p><p>A</p><p>E</p><p>Sn$W</p><p>Conversão de Bases e Arilmética Cmnputm:ior,nl I 13</p><p>1) 8 - A não é possível. Retira-se, então, 1 unidade da ordem à esquerda (E - 1 = D), passando 16</p><p>unidades (valor igual ao da base) para a direita, as quais são somadas ao valor existente, 8.</p><p>'J 6 + 8 = 24 - A = 24 - 1 O = 1410, equivalente ao algarismo E,6</p><p>2) D - 7 = 13 - 7 = 6</p><p>3) B - 2 = 11 - 2 = 9</p><p>4) 7 2 9 não é possível. Retira-se uma unidade da ordem à esquerda (C - 1 = B), passando 16 unidades</p><p>para a direita, as quais são som.adas ao valor existente, 7.</p><p>16 + 7 = 23 - 9 = 1410, equivalente ao algarismo E16</p><p>S) C - E não é possível. Rerira-se 1 unidade da ordem à esquerda (4 - 1 = 3), passando 16 unidades para</p><p>a direita, as quais são somadas ao valor existente, ll16 = 11 io·</p><p>16io + B,6 = 16io + ll io = 27 - 14 = 13,.., equivalente ao algarismo D16</p><p>6) 3 - 1 = 2</p><p>Resultado: 2DE96E,6</p><p>EXERCÍCIOS</p><p>1) Converter os seguintes valores decimais em valores binários equivalentes (conversão de base 10 para</p><p>base 2):</p><p>a) 329</p><p>b) 284</p><p>e) 473</p><p>d) 69</p><p>e) 135</p><p>f) 215</p><p>g) 581</p><p>h) 197</p><p>2) Converter os seguintes valores binários em valores decimais equivalentes (conversão de base 2 para base 10):</p><p>a) 11011101010</p><p>b) 11001101101</p><p>e) 10000001111</p><p>d) 11101100010</p><p>e) 111001101001</p><p>f) 111 111000011</p><p>g) 101100011000</p><p>h) 100000000110</p><p>3) Converter os seguintes valores</p><p>195</p><p>6.5.5 Metodologias de Funcionamento da Unid,de de Controle, 197</p><p>Exacícios, 20 t</p><p>7 REP RESENTAÇà O D E D A D OS, 204</p><p>7 .1 Introdução, 204</p><p>7 .2 Tipos de Dados. 207</p><p>7 .3 Tipo Caractere. 209</p><p>7.4 Tipo Lógico, 211</p><p>7.4.1 Operador Lógico ANO, 211</p><p>7.4.2 Operador Lógico OR, 213</p><p>7.4.3 Operador Lógico NOT. 215</p><p>7.4.4 Operador Lógico EXCLUS!VE-OR (OU EXCLUSIVO), 216</p><p>7.5 Tipo Numérico. 219</p><p>7.5.1 R.epresenL1çào em Ponto Fixo, 221</p><p>7.5. l.1 Sinal e Magnitude, 223</p><p>7.5.1.2 Representação de Números Negativos em Complemento, 230</p><p>7.5.2 Overflow, 247</p><p>7.5.3 Representação em 1>onro Flutuante, 248</p><p>7.5.3.l Representação Normalizada. 251</p><p>7.5.3.2 Conversão de Números para Pomo Flutuante, 251</p><p>7.5.4 Representação Decimal, 259</p><p>Exercícios. 266</p><p>8 CONJUNTO DE INST RUÇÕ E S, 271</p><p>8.1 Introdução, 271</p><p>8.2 Formato de uma [nsrrução de Máquina, 273</p><p>8.2. l Campo Código de Operação (C. Op.) . 274</p><p>8.2.2 Campo Operando (Op.), 277</p><p>8.3 Quantidade de Operandos, 277</p><p>8.3.1 Instruções com Três Operandos. 279</p><p>8.3.2 Instruções com Dois Operandos. 281</p><p>8.3.3 Instruções com Um Operando, 283</p><p>8.4 Modos de Endereçamento, 287</p><p>8.4. l Modo Imediato. 288</p><p>8.4.2 Modo Direto, 289</p><p>8.4.3 Modo Indireto, 290</p><p>8.4.4 Endereçamento por R egistrador, 293</p><p>8.4.5 Modo Indexado, 297</p><p>8.4.6 Modo Base Mais Deslocamenco, 302</p><p>8.5 Linguagem Assembly. O Assembler, 303</p><p>8.6 Considerações sobre o Conjunto de Instruções dos Processadores, 307</p><p>8.6.1 A Arquitetura IA-32 ou o Conjunto de Instruções dos Processadores Intel e AMO, 308</p><p>8.6.2 Arquitenira de Processadores R ISC, 3 10</p><p>Exercícios, 31 O</p><p>Sn$W</p><p>9 MEMÓRIA SECUNDÁRIA, 314</p><p>9.1 Introdução, 314</p><p>9.2 Discos Magnéticos, 314</p><p>9.2.1 Histórico, 315</p><p>9.2.2 Organi~ção e Funciom1.mento, 317</p><p>9.2.3 Características de Funcion,mento dos Discos Rígidos, 3 19</p><p>9.2.4 Discos Flexíveis ou Disquetes, 322</p><p>9.2.5 Cálculo de Espaço de Armazenamento em Discos, 323</p><p>9.2.6 RA IO, 324</p><p>9.3 Meios de Armazenamento com Tecnologia Ótica, 326</p><p>9.3.1 Introdução, 326</p><p>9.3.2 Compact Disk - CD, 326</p><p>9.3.3 Digital Versatile (ou Video) Disk - DVD, 331</p><p>9.4 Fitas Magnéticas, 331</p><p>Exercícios, 335</p><p>10 ENTRADA E SAÍDA (E/S), 337</p><p>10.1 lnn-oduçào, 337</p><p>10.2 Interfaces de E/S, 340</p><p>10.3 Tipos de Transmissão, 345</p><p>10.3.1 Transmissão Serial, 345</p><p>10.3.1.1 Transmissão Assíncrona, 346</p><p>10.3.l.2 Transmissão Síncrona, 348</p><p>10.3.2 Transmissiio Paralela. 349</p><p>10.4 Dispositivos de EIS, 350</p><p>10.4.1 Teclado. 351</p><p>10.4.2 Monitor de Vídeo, 353</p><p>10.4.2.1 Modalidade Textual ou Símbolo a Símbolo, 357</p><p>10.4.2.2 Modalidade Gr:ífica ou 13it a Bit, 358</p><p>10.4.2.3 Vídeo Colorido, 359</p><p>10.4.2.4 Algumas Observações sobre Monitores de Vídeo, 360</p><p>10.4.3 Impressoras, 361</p><p>10.4.3. 1 Impressoras Matriciais, 361</p><p>10.4.3.2 Impressoras de Jato de Tinta. 363</p><p>10.4.3.3 Impressoras a Laser, 363</p><p>10.4.4 Mouse, 365</p><p>10.5 Métodos para Realiz.,ção de Operações de E/S, 366</p><p>10.5. 1 Entrada/ Saída por Programa, 366</p><p>10.5.2 Entrada e Saída com Emprego de Interrupção, 368</p><p>10.5.3 Acesso Direto à Memória - OMA, 371</p><p>Exercícios, 372</p><p>11 ARQUITETURAS RISC, 374</p><p>11.1 lnt,-odução, 374</p><p>11.2 CaracceriSticas das Arqui1ecuras CISC. 378</p><p>11.3 Características das Arquiteturas R ISC. 380</p><p>11 .3.1 Menor Quantidade de Instruções.Todas com largura Fixa, 380</p><p>11.3.2 Execução Otimizada de Chamada de Funções, 381</p><p>11 .3.3 Menor Quantidade de Modos de Endereçamento, 38 1</p><p>11 .3.4 Modo de Execução com Piprli11i11g, 382</p><p>11.3.5 Execução de Cada Instrução em um Ciclo de Relógio, 382</p><p>1 1.4 R ISC X CISC, 383</p><p>11.5 Exemplos de Arquiteturas RtSC, 385</p><p>11 .S. I O Desenvolvimento da Arquitetura RISC na IBM, 385</p><p>SU$W</p><p>S,wuírio / ix</p><p>11 .5.2 A Arquitetura dos Processadores SPARC (Pesquisa Inicial em Berkeley), 389</p><p>x / S11111árfo</p><p>11 .5.3 A Arquitetura dos Processadores MIPS (Pesquis.1 Inicial em Stanford), 391</p><p>11.5.4 O utras Arquitecuras RISC, 393</p><p>Exercícios, 394</p><p>12 CONSIDERAÇÕES SOBRE OUTRAS ARQUITETURAS, 395</p><p>12. l Introdução, 395</p><p>12.2 Tipos de Process.1memo Não-seqiiencial (Paralelo), 397</p><p>12.2.1 Classificação de Computação -Taxonomia de Flynn, 398</p><p>12.2.2 Processamento Superescalar e Superpipelining, 398</p><p>12.2.2.1 Processamento Superescalar, 399</p><p>12.2.2.2 Processamento Supcrpipeline, 405</p><p>12.2.2.3 VLIW (Vcry Long lnstruction Word), 406</p><p>12.2.3 Arquitetura Vetorial, 407</p><p>12.3 Arquiteturas de 64 Bits, 410</p><p>12.3.1 IA-64 (!mel Arch_iteccure 64 Bits). 411</p><p>12.3.2 AMO 64, 419</p><p>Exercícios. 42 1</p><p>APÊNDICES, 422</p><p>A SISTEMAS DE NUMERAÇÃO, 422</p><p>A. l Sobre Símbolos e Números, 422</p><p>A.2 Sistema de Numeração Não-posicional, 423</p><p>A.3 Sistema de Numeração Posicional, 424</p><p>A.3.1 Base, 425</p><p>A.3.2 Um Pouco de História, 427</p><p>A.4 Algarismos e Números, 427</p><p>A.5 Conversão de Bases, 428</p><p>A.5. 1 Da Base 10 para uma Base B Qualquer, 428</p><p>A.5.1.1 Conversão de Números Inteiros, 429</p><p>A.5.1.2 Conversão de Números Fracionários. 430</p><p>A.5.2 Convcrs.io de füse B (Não 1 O) para Valor Decimal, 432</p><p>A.5.3 Convcrs.io Direta encre Bases Não-decirnais, 433</p><p>A.6 Outros Métodos de Conversão de Bases, 434</p><p>A.7 Operações Aritméticas, 437</p><p>A. 7 .1 Procedimentos de Adição, 438</p><p>A.7.1.1 Adição de Números Binários, 438</p><p>A.7.1.2 Adição de Números Octais e Hexadecimais, 439</p><p>A. 7 .2 Procedimentos de Subtração, 440</p><p>A.7.2.1 Subtração de Números Binários, 440</p><p>A.7.2.2 Subtração de Né,meros Octais e Hexadecimais, 441</p><p>A.7.3 Multiplicação de Números Binários, 441</p><p>A.7.4 Divisão de N é, meros Binários, 442</p><p>Exercícios, 443</p><p>B CONCEITOS DA LÓGICA DIGITAL, 445</p><p>B.1 lnrrodução, 445</p><p>B.2 Portas e Operações Lógicas, 446</p><p>B.2.1 Operação Lógica ou Porta ANO (E), 448</p><p>B.2.2 Operação Lógica ou Porta O R (OU). 450</p><p>B.2.3 Operação Lógica NOT (Inversor), 452</p><p>B.2.4 Operação Lógica NAND - NOT ANO, 454</p><p>B.2.5 Operação Lógica NOR - NOT OR, 4S6</p><p>B.2.6 Operação Lógica XOR. - EXCLUSIVE O R, 459</p><p>B.3 Expressões Lógicas - Aplicações de Port1s, 461</p><p>B.3.1 Cá1culos com Expressões Lógicas, 462</p><p>Sn$W</p><p>Sn$W</p><p>Sumário / xi</p><p>B.4 Noções de Álgebra Booleana, 468</p><p>B.4.1 R.egras Básicas da Álgebra Booleana, 470</p><p>B.5 Circuitos Combinacionais. 473</p><p>B.5.1 Exemplo Prático - Projeto de um Mukiplicador de 2 Bits, 475</p><p>B.5.2 Portas Wired-Or e Wired-And, 477</p><p>B.5.3 Circuitos Integrados, 478</p><p>B.5.4 Decodificador, 481</p><p>B.6 Circuitos Seqiienciais. 482</p><p>B.6. l Flip-Aops, 483</p><p>Exercícios. 486</p><p>C EXECUÇÃO DE PROGRAMAS, 489</p><p>C.1 Introdução, 489</p><p>C.2 linguagens de Programação, 489</p><p>C.3 Montagem e Compilação, 492</p><p>C.3.1 Montagem, 493</p><p>C.3.2 Compilação, 495</p><p>C.4 Ligação ou Linkedição, 499</p><p>C.5 Interpretação. 501</p><p>C.5.1 Compilação X lmerpretação, 502</p><p>C.6 Execução de Programas em Código de Máquina, 504</p><p>Exercícios, 51 1</p><p>D ALGUNS DETALHES, 513</p><p>D. I Sobre Memórias, 513</p><p>D.1.1 Tipos e Tecnologias de Memórias do Tipo RAM, 513</p><p>D.1.1.1 Sobre as Memórias SRAM. 515</p><p>D.1.1.2 Sobre as Memórias DRAM, 522</p><p>D.1.1.3 Comparação entre as Tecnologias SRAM e DRAM, 528</p><p>D.1.2 Evolução da Tecnologia das Memórias DR.AM, 528</p><p>D.1.3 Tipos de Encapsulamento das Memórias de Semicondutores, 533</p><p>D.2 Sobre Processadores, 534</p><p>D.2.1 Unidade Aritmética e Lógica - UAL (Functional Unit ou lnteger Unit), 535</p><p>D.2.2 Metodologia de Execução T ipo Linha de Montagem ou Pipeli11i11g, 541</p><p>D.2.2.1 Descrição do Processo, 541</p><p>D.2.2.2 Desempenho de um Pipeline. 548</p><p>D.2.2.3 Tipos de Pipeline, 549</p><p>D.2.2.4 Problemas Decorrentes do Emprego de Pipclining, 550</p><p>D.2.3 Tipos de Controle em um Processador, 555</p><p>D.2.3. l Controle Programado no Hardware, 556</p><p>D.2.3.2 Controle por Microprogramaçào. 561</p><p>D.2.4 Os Processadores e Suas Arquiteturas. 579</p><p>D.2.4.1 A Evolução da Arquitetura x86 da Intel. 579</p><p>D.2.4.2 Process.,dores da A.l'V!D. 596</p><p>D.2.5 Encapsulamento de Elementos de um Processador em uma Pastilha (Chip). 599</p><p>D.2.6 Soquetcs Utilizados para Inserção de Proccss.,dores na Placa-mãe, 601</p><p>D.3 Sobre Barramentos, 603</p><p>D.3.1 Conceitos Básicos sobre Barramentos, 603</p><p>D.3.2 Elementos de Projeto e Funcionamento de um 13arramento, 605</p><p>D.3.2.1 Comparação entre o Barramento Síncrono e o Assíncrono, 610</p><p>D.3.3 O Barramento PCI. 61 O</p><p>D.3.3.1 Funcionamento</p><p>decimais em valores octais equivalences (conversão de base 10 para base 8):</p><p>a) 177 e) 343</p><p>b) 254 f) 27</p><p>e) 112 g) 821</p><p>d) 719 h) 197</p><p>4) Converter os seguintes valores decimais em valores binários equivalentes (convc,-s.'io de base 10 para base 2):</p><p>a) 417</p><p>b) 113</p><p>e) 819</p><p>d) 77</p><p>e) 251</p><p>f) 769</p><p>g) 180</p><p>h) 27</p><p>Sn$W</p><p>7 4 / Co,wersão de Bn.sts e An-,mética Comp111nâonal</p><p>5) Converter os seguintes valores binários em valores decimais equivalentes (conversfo de base 2 para base l O):</p><p>a) 110001 1 e) 1000000011</p><p>b) 101011l 1101 f) 111100011110110</p><p>c) 11000011001 g) 1100100001</p><p>d) 101 101 h) 1101110</p><p>6) Converter os seguintes valores decimais em valores octais equivalentes (conversiio de base 10 para base 8):</p><p>a) 917 e) 325</p><p>b) 779 f) 216</p><p>c) 610 g) 413</p><p>d) 593 h) 521</p><p>7) Converter os seguintes valores octais cm valores decimais equivalentes (conversiio de base 8 para base 10):</p><p>a) 405</p><p>b) 477</p><p>e) 237</p><p>d) 46</p><p>e) 705</p><p>f) 173</p><p>g) 201</p><p>h) 452</p><p>8) Converter os seguintes valores decimais em valores hexadecimais equivalentes (conversão de base 10</p><p>para base 16):</p><p>a) 447 e) 622</p><p>b) 544 f) 97</p><p>c) 223 g) 121</p><p>d) 71 h) 297</p><p>9) Converter os seguintes valores hexadecimais em valores decimais equivalentes (conversão de base 16</p><p>para base 10):</p><p>a) 3A2 e) 1ED4</p><p>b) 338 f) 7EF</p><p>c) 621 g) 22C</p><p>d) 99 h) 110A</p><p>10) Converter os seguintes valores octais em valores decimais equivalentes (conversão de base 8 para base 10):</p><p>a) 2136</p><p>b) 1741</p><p>c) 613</p><p>d) 546</p><p>e) 120</p><p>f) 317</p><p>g)720</p><p>h)665</p><p>1 ·1) Converter os seguintes valores decimais em valores hexadecimais equivalentes (conversão de base 10</p><p>para base 16):</p><p>a) 2173</p><p>b) 1325</p><p>e) 743</p><p>d) 212</p><p>SU$W</p><p>C()uvtrsiio dt Ba$tS e. Aritmética Comp11tacio11al / 75</p><p>e) 681 g) 1480</p><p>f) 937 h) 1671</p><p>12) Converter os seguintes valores hexadecimais em valores decimais equivalentes (conversão de base 16</p><p>para base I O):</p><p>a) 21A7</p><p>b) 1BC9</p><p>c) 27D</p><p>d) E5F</p><p>13) Efetuar as seguintes conversões de base:</p><p>a) 37421• = ( ),6</p><p>b) 14A3B,6 = ( )10</p><p>e) 110111000112 = ( )16</p><p>d) 2BEF516 = ( )8</p><p>14) Efetuar as seguintes somas:</p><p>a) 317528 + 6735, =</p><p>b) 37742, + 26573, =</p><p>e) 2A5BEF,6 + 9C829u, =</p><p>d) 356., + 442, =</p><p>e) 2351</p><p>f) 19AE</p><p>g) ACEF</p><p>h) 214B</p><p>e) 5331 8 = ( ),</p><p>f) 100011011, = ( ).</p><p>g) 217 ,., = ( ),</p><p>h)413. =( ),</p><p>e) 1100111101, + 1011101102 =</p><p>f) 211312, + 121313, =</p><p>g) 36458 + 27648 =</p><p>h) 110011110, + 11011111, =</p><p>15) Efetuar as seguintes operações de subtração:</p><p>a) 64B2E,6 - 27EBA16 =</p><p>b) 2351, - 1763, =</p><p>e) 5436 - 4556 =</p><p>d) 43321, - 2344, =</p><p>e) 110010000102 - 11111111112 =</p><p>f) 10001101000, - 101101101, =</p><p>g) 43DAB,6 - 3EFFA16 =</p><p>h) 100010, - 11101, =</p><p>16) Eferuar as seguintes conversões de base:</p><p>a) 2317• = ( ),</p><p>b) IA45B16 = ( )8</p><p>e) 3651 u, = ( ),</p><p>d)l1001011011011, =( ).</p><p>17) Efetuar as seguintes somas:</p><p>a) 32518 + 2167, =</p><p>b) 2EC3BA,6 + 7C35EAu, =</p><p>e) 10111012 + 11110012 =</p><p>d) 1110000101, + 1000011111, =</p><p>Sn$W</p><p>76 / Co1111mifo de Bases e. A ritmt/iu, Computadoual</p><p>e) 312321, + 112213, = g) 2748E,6 + FA 7B5u, =</p><p>f) 2AC79,. + B7EEC,6 = h) 217, + 173, =</p><p>18) Efetuar as seguintes operações de subtração:</p><p>a) 1100000011012 - 101 1001 11012 =</p><p>b) 35A3,,, - 2FEC,6 =</p><p>c) 374258 - 147668 =</p><p>d) 1001001,- 111100, =</p><p>19) Quantos números inteiros positivos podem ser representados em uma base B, cada um com II algaris­</p><p>mos significativos?</p><p>20) A partir do valor binário 110011, escreva os cinco números que se seguem em scqüência.</p><p>21) A partir do valor binário 1011 01, escreva seis números, saltando de três em três números, de forma</p><p>crescente.</p><p>22) A partir do valor octal 1365, escreva os oito números que se seguem em seqiiência.</p><p>23) A partir do valor octal 3745, escreva os oito números pares segu intes.</p><p>24) A partir do valor hexadecimal 2BEF9, escreva os 12 nú meros que se seguem em seqiiência.</p><p>25) A partir do valor hexadecimal 3A57, escreva os 10 números subseqlientes, saltando de quatro em qua­</p><p>tro valores (por exemplo, o primeiro subscqüente é 3ASB).</p><p>26) A maioria das pessoas só pode contar até 10 utilizando seus dedos. Entretanto, quem trabalha com</p><p>computador pode fazer melhor. Se você imaginar cada um dos seus dedos como um dígito binário,</p><p>convencionando que o dedo estendido significa o algarismo I e o rcco1hido significa O, até quanto</p><p>você poderá contar usando as duas mãos?</p><p>27) Supondo um sistema posicional de numeração de base 4, determine, a partir da operação de adição a</p><p>segu ir, os valores de A, B, C e D:</p><p>BADB</p><p>+ DDDC</p><p>BCOCB</p><p>28) Suponha um sistema posicional de base 6. Detenn ine os valores de A, B, C, O, E e F:</p><p>ADCFA</p><p>BABOF</p><p>CFEOFB</p><p>29) Efetue as seguin tes operações aritméticas na base indicada para o resultado:</p><p>a) FEFE,6 + 11101001000111102 = ( )8 e) 10011101, + 376, = ( )16</p><p>b) 7374, + 313202, = ( ),.</p><p>e) 38410 + 512,. = ( )16</p><p>d) 532. + 101., = ( ),.</p><p>f) 3E5416 + 12578 = ( ).</p><p>g) 101 10110101, + 2FE", = ( )8</p><p>h) 137410 + 1101101 1110111, = ( l.</p><p>30) Expresse o valor decimal 100 em todas as bases entre 2 e 9 (inclusive).</p><p>Sn$W</p><p>Co,wmiio de Base$ t Aritmé1ica Computaâ o,wl / 77</p><p>31) Quantos números diferentes podem ser criados por u111 conj unto de quatro chaves, cada uma podendo</p><p>gerar três d iferentes algaris111os?</p><p>32) Q uantos números binários diferentes podem ser annazenados em memórias com espaço de armazena-</p><p>mento de seis dígitos cada uma?</p><p>33) Quantos números d iferentes podem ser c1iados na base 8 cada um possuindo três algaris111os'</p><p>34) Quantos números binários diferentes pode111 ser criados cada um possuindo oito algarismos'</p><p>35) Qual é o valor decimal equivalente ao maior número de sete algarismos que pode existir na base 2 '</p><p>36) Em cada uma das seguintes equivalências, ache o valor da base b, na qual o nú111ero à d ireita está expres­</p><p>so:</p><p>a) 496w = 1306• c) 1248,6 = 11110•</p><p>b) 24910 = 13B• d) 1248,r, = 1021020.</p><p>37) U 111 hodômetro hexadecimal mostra o número 5ECFC. Q uais são as seis próximas leituras'</p><p>38) Um hodômetro hexadecimal mosrra o número A3FF. Qual é a le itura seguinte' Após rodar alguns</p><p>quiló metros, o hodômetro apresenta a segt1inte leitura: A83C. Quanto foi andado? (Dê a resposta em</p><p>hexadecimal e em decimal.)</p><p>39) Converter os seguintes números, representados em base 6, para seus valores equivalentes em base 9.</p><p>a) 24,, d) 5556</p><p>b) 1446 e) 3144,,</p><p>c) 23546 f) 2116</p><p>40) Converter os seguintes números de uma base B para outra base B indicada:</p><p>a) 234,, = ( )8</p><p>b) 1321, = ( ),</p><p>e) 431; = ( )9</p><p>41) Complete a tabela abaixo:</p><p>Decimal</p><p>37</p><p>117</p><p>d) 246458. = ( ),</p><p>e) 44526 = ( l,</p><p>f) 21 12, = ( );</p><p>Binário Octal</p><p>11001101</p><p>356</p><p>1000 1101</p><p>457</p><p>42) Efetue as seguintes operações aritméticas:</p><p>a) (101), X (1 11), = ( ),</p><p>b) (11101), X (1010), = ( ),</p><p>e) (11001 110), / (1 101), = ( ),</p><p>Hexadecimal</p><p>LA4C</p><p>2A5B</p><p>Sn$W</p><p>78 / Conversão de Bases e Arirmttita Comp11tMio11al</p><p>d) (1 11110001), X (1001 t), = ( l,</p><p>e) (100 100011)2 / (1 1101), = ( ),</p><p>f) (1 101 101),/ (100), = ( ),</p><p>g) (1 11000001) X (101001), = ( )2</p><p>43) Se um número binário é deslocado uma ordem para a esquerda, isco é, cada um de seus bi ts move-se</p><p>uma posição para a esquerda e mn zero é inserido na posição rnais à direita, obtém-se um novo nú1ne­</p><p>ro. Qual é a relação matemática existente entre os dois números?</p><p>44) A soma de dois números binários é 101000 e a diferença entre eles é igual a 1010. Quais são os nCune­</p><p>ros binários?</p><p>45) Ache os valores decimais equivalentes aos seguintes números representados nas bases indicadas:</p><p>a) 2C6, 6</p><p>b)l 1011102</p><p>c) 3468</p><p>d) 1432,</p><p>46) Mostre por que 121n é igual a l OON+I·</p><p>e) 1001100102</p><p>f) 2567,</p><p>g) 4DC916</p><p>h) 26578</p><p>47) Considere um número decimal N constituído por três algarismos. A soma dos três algarismos desse</p><p>número é 18 e a soma do algarismo mais significativo com o menos significarivo é igual a l O. O quociente</p><p>da divisão de N pelo algarismo menos significativo é 171 . Qual é o valor de N'</p><p>48) Considere um número representado em base 8 composto de dois algarismos,</p><p>sendo que o algarismo</p><p>menos significativo é o menor dos dois. A soma dos dois algarismos é 8 e a diferença entre eles é 2.</p><p>Calcule o valor equivaleme desse número na base 16.</p><p>49) Ache os valores binários correspondentes aos seguintes números nas bases indicadas:</p><p>a) 26DF816 d) 10010,6</p><p>b) 756377s e) 121218</p><p>c) 53418 f) FFAB,.</p><p>SU$ W</p><p>Memória Principal</p><p>4.1 INTRODUÇÃO</p><p>Conforme já mencionado no Cap. 2, a memória é o componence de um sistema de compuraçào cuja fun­</p><p>ção é annazenar as informações que são (ou serão) manipulada.~ por esse sistema, para que elas possam ser</p><p>pronramence recuperadas, quando necessário.</p><p>Conceitualtnente, a n1emória é unt componente muito simples: é um "depósito" onde são guardados certos</p><p>clcment0s (dados ou infom1ações) para serem usados quando desejado (recuperação da informação armazenada).</p><p>A Fig. 4.1 apresenta o esquema conceituai de qualquer tipo de memória, imaginada como um depósito</p><p>para uso de uma ou mais entidades, assim como unta caLxa de cartas ern u1n correio.</p><p>No entanto, na prática, em um sistema de computação não é possível construir e utilizar apenas um tipo de</p><p>me1nória. Na verdade, a memória de um computador é em si um sisterna, ou melhor, um subsistema1 tendo</p><p>em vista que é constituída de vários componentes (vários tipos diferentes de memória) interligados e integra­</p><p>dos, com o objetivo já definido acima: armazenar informações e pennitir sua recuperação quando requerido.</p><p>A necessidade da existência de vários tipos de memória ocorre em virtude de vários fatores conco1Tcntes.</p><p>Em primeiro lugar, o aumento, sempre crescente, da vdocidade do processador, muito maior que o tempo de</p><p>'</p><p>Armazenar</p><p>{escrita)</p><p>/ / / / - - - -• • • • 101 102 103 104 - - - -• • • .</p><p>105 106 107 108 - - - -• 109 110• 111 • 112 e - - - -• • • • 113 114 115 116</p><p>Coda caixa tem 00t endereço</p><p>/</p><p>/</p><p>/</p><p>/</p><p>/</p><p>Uitu,a</p><p>(recuperar)</p><p>Figur-a 4.1 Exemplo de um típico depósito que funciona de modo semelhante a uma memória .</p><p>Sn$ W</p><p>80 / Memória Priuâpnl</p><p>acesso' da memória, ocasiona atrasos (às vezes, intoleráveis) na transferência de birs entre memória e proces­</p><p>sador, e vice-versa. Outro fator se relaciona com a capacidade de armazenamento de infonnações que os sis­</p><p>temas de computação precisam ter, cada vez maior, em face do aumento do tamanho dos programas, bem</p><p>como do aumenco do volume dos dados que devem ser armazenados e manipulados nos sistemas atuais. Se</p><p>existisse apenas um tipo de memória, sua velocidade (tempo de acesso) deveria ser compatível com a do pro­</p><p>cessador, de modo que este não ficasse esperando muito tempo um dado que estivesse sendo transferido da</p><p>memó,ia. Sua capacidade deve,ia ser muito grande, mesmo. E não poderia perder os dados em uma eventual</p><p>falta de energia. Naturalmente, é impossível reunir todos esses requisitos em uma única 1nemória.</p><p>Explicando melhor, pode-se imaginar um sistema no qual o processador manipula um dado em 5</p><p>nanosscgundos e a memória pode transfo1ir um dado para o processador em 60 nanossegundos. Grosso modo</p><p>(vamos simplificar bastance o processo para facilitar o entendimento do leitor), pode-se afirmar que o proces­</p><p>sador, em cada 60 nanossegundos, trabalharia cinco e ficaria os outros 55 nanossegundos ocioso. acarretando</p><p>uma baixa produtividade do sistema. Para aumentar essa produtividade pode-se, p. ex., desenvolver memórias</p><p>com maior velocidade (isso já vem sendo realizado há muito tempo, como veremos mais adiame). No eman­</p><p>to, tais 111einórias têm um custo mais elevado; esse custo cresce ainda mais quando se sabe que as memórias</p><p>vêm aumentando de capacidade sistematicamente.</p><p>Na realidade, o avanço da tecnologia na construção de processadores e memórias de semicondutores não tem</p><p>sido uniforme, isto é, o aument0 da velocidade do proces.,;,1dor tem sido bem maior que o aumemo da velocidade</p><p>de acesso das memórias. Enquanto a quantidade de instruções executadas por segundo por um processador tem</p><p>dobrado a cada 18 meses para o mesmo preço, a velocidade de acesso das memórias tem aumentado cerca de 10%</p><p>ao ano, embora sua capacidade de annazenamenco venha quadruplicando a cada 36 meses, para o mesmo preço.</p><p>Em resumo, os dois citados fatores, velocidade e ca.p::icidade, indicam a necessidade de se projetar não um</p><p>único tipo de memória (com elevada velocidade e grande capacidade, mas com custo altíssimo), mas sim um</p><p>conjunto de memórias com diferentes características, o que leva a uma hierarquia de funcionamento a que</p><p>denornina.mos subsistema de memória.. Tal hierarquia será descrita no item 4.2, a seguir.</p><p>Na realidade, a existência, nos sistemas de computação, de uma hierarquia de memória se torna possível</p><p>graças a um princípio revelado na execução dos programas e que se conhece como princípio da localidade, o</p><p>qual será abordado cm detalhes no Cap. 5.</p><p>No entanto, pode-se observar q ue o princípio, que foi estabelecido a partir de trabalhos de pesquisa sobre</p><p>comportamento de programas, indica que, cm média, os programas tendem a ser executados em blocos, cons­</p><p>tituídos de instruções que são executadas de forma seqiiencial e ordenada.</p><p>Assim, em função desse ptincípio e do foto. já citado, de que se deseja rapidez de memó,ia e grande capa­</p><p>cidade a baixo custo1 organiza-se a área de armazenamento em mcmó1ias de vários tipos e características, or­</p><p>ganizadas de forma hierárquica.</p><p>Conforme pode ser observado na Fig. 4.1, há duas únicas ações que podem ser realizadas em um depósito</p><p>(memória). A primeira é a ação de guardar um elemento (ou um grupo de elementos) - em computação, esta</p><p>ação é genericamente denominada armazenar, e a operação em si, que é realizada para a consecução desta</p><p>ação de armazenamento, é chamada de escrita 0 11 gravação (wrüe). A segunda é a ação de recuperação do ele­</p><p>mento guardado (ou grupo de elementos) para um uso qualquer - em computação esta ação se denomina</p><p>recuperar (retrieve), e a operação para realizá-la chama-se /ei/1/ra (rmâ).</p><p>Para solidificar mais ainda esses conceitos tão simples e incluir novos conceitos concernentes, podem-se</p><p>iniaginar vários tipos de "depósitos" existentes na nossa vida cotidiana e cujo funcionamento pode ser associ­</p><p>ado ao das memórias de computadores.</p><p>Uma biblioteca,' p. ex., funciona como um "depósito" de elementos (os livros, periódicos etc.) . Todo</p><p>elemento recebido para ser guardado (armazenado) tem que possuir uma identificação (nome do livro ou do</p><p>1A dd'i,,i\·io completa de tempo ck- :1n-sso <'sti t·onodJ no itt·m 4.2. por\·m podemOIS ,implificar, tst:1bdcct"ndo que se 11':ttl de vdocid:idc dl memóri:i.</p><p>lpor f.wor. n5o p<-nsem os(:is) b,blimccjno,s(as) qu.:- reduu :i imp<m·jn<i.1 ~· o v:'llor ineqincin-1 de um:i biblioh'('";l. rompanndo-1 a um simpk-s depósito. A idéia</p><p>foi t:io-~c,111en1c 1.-ompar.ar o 1uOOo de funáon-amcnto. nio :i íun~o.</p><p>Sn$W</p><p>Afrmória Pri11â1,al I 81</p><p>periódico, autor etc.) e um código de localização (n(1mero da estante, da prat1..·lcirn etc.) para que seja possível</p><p>ao funcionário ou usuário encontrar o livro ou periódico quando desejado.</p><p>O funcionamento de uma agência de correios para guarda e recuperação de correspondência, ou o modo</p><p>de manipulação de correspondência em um edificio de apartamentos, é semelhante ao das bibliotecas (apenas</p><p>no que se l'efere às operações de armazenamento e leimra) e. de certa fom1a, ao de uma memóiia de compu­</p><p>tador (ou, ainda, ao da própria memória dos seres humanos).</p><p>Em uma bibJioteca, o elemento a ser manipulado (a "informação'' a que nos referimos antes) é o )ivro.</p><p>A .lçào de annazenamenco (que se denomina escrita em sistemas de computação). por exemplo. consiste na</p><p>operação de guardar o livro em uma estante/ prateleira previmnente identificada como disponíve]. a qual</p><p>tem um código de localização, p. ex., prateleira 5 da estante 15 (que é o endereço) . Quando alguém deseja</p><p>um livro emprestado, realiza-se uma operação de "recuperação da informação" (dado o nome do livro,</p><p>encontra-se a sua localização, seu endereço) .</p><p>Na caixa de correio</p><p>de um cdificio de aparcamentos o conceito é também semelhante. A ittformação é a</p><p>cart.a; cada apamn1ento possui um t 11dereço e uma caixa concspondentc:. A colocação pelo carteiro de uma</p><p>e.arta q ue chega para um certo apartamento consiste na operaç~o de armazenamento (escrita). E a ação do</p><p>proprietário de apanhar sua correspondência (recuperação ou leitura) é possível acr:wés do conhecimemo da</p><p>localização da caixa correspondente.</p><p>Há uma pequena d iferença nos exemplos citados em relação às memórias de computador, no que se refere à</p><p>possibilidade de haver um endereço vazio. Uma caixa de correio pode estar vazia porque o responsável retirou</p><p>toda a correspondência. como tambérn. mn detennin:ido local de uma biblioteca pode estar vazio porque o livro</p><p>está e1nprestado. Isto não acontece com a memória elctrônica de um computador, pois sr ele estiver encrgizado</p><p>a mcmó1ia conte rá sinais elétricos cm cada local de annazenamento, mt.-smo que não seja uma informação útil.</p><p>4.1.1 Como as Informações São Representadas nas Memórias</p><p>A memória de um sistema de computação tem como elemento básico de armazenamemo Gsico o bit. Ou</p><p>seja. fisicameme e1a é constroída de modo a representar individualmente bit por bit (seja com seu valor O -</p><p>zero, seja com seu valor 1 - um). O modo pelo qual cada bit é identificado na memória é variado: pode ser</p><p>um sinal elétrico, con10 mostrado na Fig. 4.2, ou um campo magnético ou, ainda, a pre-scnça/ ausC:ncia de</p><p>uma marca ótica.</p><p>Como u m bit pode apenas indicar dois valores distintos, sua utilidade individual é bastante restrita. Na</p><p>prática, precisamos passar para o compu tador as informações que conhecemos na vida cotidiana, no nnalmen­</p><p>te em fonna de caracteres ou símbolos gráficos que visualmente conseguin1os distinguir. Assim, clara1ne11te</p><p>distinguimos o caractere "a'' do caractcrc ºb'', como também o simbolo mate1nático "+11 do sín1bolo º(",</p><p>porque todos eles têm fonnato visual diferente e o ser humano, através do sentido da visão, consegue distin­</p><p>gui- los (é possível, também, para os humanos, separar esses sírnbolos através do sentido do tato, como se faz</p><p>em braile, para pessoas cegas).</p><p>Como computadores não possuem esses sentidos dos humanos, des conseguem apenas distinguir sinais</p><p>elétricos diferentes, isto é, se o valor represenm O (zero) ou 1 (um). Nesse caso, para introduzir todos os sím­</p><p>bolos básicos q ue usamos em nosso d ia-a-dia precisaríamos mais do q ue um bit. visto que com apenas um b it</p><p>só poderíamos representar dois sirnbolos distintos. Considerando, por exemplo, que gostariamos de represen­</p><p>tar internamente en1 um computador o nosso alfabeto e demais símbolos gráficos da matemática e afins, p re­</p><p>cisaríamos criar uma forma de representação interna para o seguinte:</p><p>26 letras m inúsculas (considerando as letras k , w. x. y)</p><p>26 letras maiúsculas</p><p>4 símbolos matemáticos ( +, - , * , /)</p><p>8 sinais de pontuação (. ; , : () - " )</p><p>S01nente nesse simples exemplo criamos 64 possibilidades de representação de informações q ue precisari­</p><p>am ser distinguidas internarnente pelo computador. que possui apenas dois valores djferentes. A solução p;1ra</p><p>.. vo - -'"-</p><p>SDêW</p><p>-t V</p><p>1</p><p>V</p><p>B.ll ~ Bíil 1 Elit; Bil 1 Bil~</p><p>V</p><p>Figura 4.2 Representa.çã,o de t bit.</p><p>e e problema é a definição d.e um cód1go tcpre. entativú de çada sfo:nbolo, c;ida mn tendo uma m,l.l m:íl qua.n­</p><p>tjdade de bit-s, tanto qu 11to. forem nec, . s.:irioJ para 110 pennítir r ·pn .. -s ·ntar todo. os ímbolos d1es jado . o</p><p>exemplo aciima em qu criamo 64 ít bolos, pn:â arj:uno d1.::finir um códí..,.o om 64 dementos, cada um</p><p>co :n ei bits. o item 7.3 o a sunto é abordado com mais. de-talhe, e o Apêndice E apre ent.a os elementos de</p><p>alguns códigos de representação de dados.</p><p>Por i o, o 1 tema de wmputaçào costumam grupar uma determinada quantidade de bi iden tificando</p><p>·::;t • grupo corno um.i unidade d armazenamento, denom.inada dli,la .3</p><p>Uma cél'uia é, então, um grupo de bits tratado em conjunto pelo istel'Tila, i to é, ele e 1 iove em bloco,</p><p>como e fo , um único el mel to, sendo identifica.do para efeillo de annazenamento e transferência como</p><p>uma unidade. Como veremo nui :id:iante, o rermo célula .:sr: ndo utiljzado apenas para identificar a unj­</p><p>dade de armazemunenrn da memórfa principal; nos demais 6pos de mem.ória. a unidade de anna2ir.mamento</p><p>(grupo de bits que se move j unto,) po. sui outra denominaçôe (bloco crm· clustcr etc.).</p><p>Observação·: e ta parte jnicial do ,capít1.1Jo esta.mos no referindo à memória do computador de forma.</p><p>genérica embora já tenhamos explicado que a memória é na realidade um conjunto de memórias. Na prática,</p><p>e e conjunto ' constjtuído:</p><p>- pela 1m:móüa chamada p1incipal ou p1Lünária , que no mercado e mesmo na lite1.itura técnica e d no:mina</p><p>RAM - Random Acce s Memory (mernória de ace o randômico ou aleatório), a qual erá anali: ada aind,a</p><p>nest,e capítulo·</p><p>- pela memória cache, con traída com recnoJogia RAM e que e in el'e no j temas para acelerar a transfe­</p><p>rência de dados com o proce adm· - e e dispositi o será. analisado no Cap. 5;</p><p>- pelos regi trador s - pequenos dispo itivos de annazenamento existente o int rior do, prnc, sadores, com</p><p>o propó ito de annazen:rr individm1bneme dado , instruçõe ou endereço . Es es di positivos erão anal.i ado</p><p>tanto ne te capi ulo quanto no ap. 6; e</p><p>- pelo dispositivos de armazenamento senmdário, como discos rígidos,, di quete: CDs e D Ds. es com-</p><p>ponent,es serão ana}is.a.dos no Cap. 9.</p><p>Embora no item seguinte eja efetl1ada uma breve apresentação d cada 11.1m dde , com o p[·opó.~ito de</p><p>apre entar a estmn1ra h 'erárquica do ub istema de memória, e te capítulo ::;e di.: tina a analisar e detalhar as</p><p>caracterí ticas e o funcionamento da memória principal (ou RAM).</p><p>É também intere: ante mencionar um ponto sobre a nomenclatur.t do di_ po itivo de a1mazenamento,</p><p>conformes.e encontra na descrições de produto, no art:igo. publicado e no c:mcrid.imemo do mer ·ado de</p><p>um modo gera sem que e e tome mna regra for na1mente e t-abelecid; por algun órgão d!! padronização.</p><p>'Mmlt>< >l•lwe:< defi 111,.,,, " grup<i ,1,,, bic. itl,,m tifi~ dó ~or 1.1111 t.·ndcrt:ço de ,uctnóriJ .:0111 .. pit"1~'1'iil ~ <:omo cHub 1m1 ú11ko bic, Sélll ~11.d;.-r.,,o mdividoil . Neo!I •</p><p>livr,,l. co111idc12111os p~ldrm :t tmidadc ele alor nos proc=dorc':!i (ver Cap. 6) ,: a uni(bd.- dt" i r111;n:l.'11>111~1,tn ,;,,11110 "'·'h,h. "ª" ç.,mfümlind<>, ~ .. im, u& [ú111os ..</p><p>SU$W</p><p>Memória Prittcipal / 83</p><p>É com.mn, quando se mencionam os termos em inglês, separar a nomencla.cura dos dispositivos de armaze­</p><p>namento em duas partes: 111emory (memória) e storage (depósito ou am1azenador), referindo-se a 111e111ory quan­</p><p>do se tr.ita de memórias elecrônjcas, tipo DRAM e cache (SRAM), e storage quando se trata de discos, CDs</p><p>ecc. Não é comum chamar-se discos (Hard Disk ou HD) de memória, talvez porque aqueles dispositivos não</p><p>perdem informação quando desligados, e as memórias sim.</p><p>Ratificando, então, o que já foi mencionado anccriom1cnte, neste capítulo trataremos de memórias, especifica­</p><p>mente memórias prinópais (RAM). No Cap. 5 será abordada a memória cache e no Cap. 9 a memória secundária.</p><p>4.1.2 Como se Localiza uma Informação nas Memórias</p><p>Como uma memória é constituída de vários desses grupos de bits (célula, bloco etc.), é necessário que seja</p><p>definido um método para identificar univocamente cada uma dessas células (ou blocos), de modo que possa</p><p>ser distintamente identificado o grupo de bits desejado para um certo processamento.</p><p>Trata-se de um processo semelhante a vários outros encontrados em nosso dia-a-dia. Por exemplo, cm</p><p>uma rua podem-se construir 100 casas rigorosamente iguais, de tal forma que não se possa visualmente distin­</p><p>guir uma da outra. No entanto, o carteiro não erra ao entregar diariamente a correspondência, pois cada cas.1</p><p>possui uma forma única de identificação, um número fixado em sua porta ou fachada. Este número, diferente</p><p>e único par.i cada casa, é denominado endereço.</p><p>De modo análogo.</p><p>em um sistema de compmação as células (ou grupos de bits que se movem junto) são</p><p>identificadas, mna a mna, por um número, ca1nbé1n denonlinado enderefO. Na Fig. 4.1 podemos observar que</p><p>cada caixa possui um número identificador, 101, 102, 103, 104, .. . 116, que é seu endereço.</p><p>Em resumo, cada célula da memória principal ou cad1 grupo de bits (bloco, setor etc.) em um sistema de com­</p><p>putação é identificado na sua c1iação por um número denominado endereço. A memória é organizada, então, em</p><p>grupos de bits, scqücncialmente dispostos, a partir do grupo (célula, bloco, setor etc.) de endereço O (zero) até o</p><p>último grupo, de endereço (N - 1 ), sendo N a quantidade total de grupos. O sistema de controle das memórias é</p><p>construído de modo a 1ocalizar um certo grupo de bits a partir do seu endereço, confom1e veremos mais adiante.</p><p>As Figs. 4.7 a 4.l O mostram memórias com a disposição de suas células e respectivos endereços.</p><p>É importante enfatizar (e isso será repetido em outr.is partes deste livro) que as memórias são constituídas de</p><p>elementos fisicos (seu conteúdo} que, de diferentes formas (elétrica, magnética, ótica), representam os dados</p><p>que desejamos armazenar e manipular. Os endereços de cada grupo de bits (célula, bloco, setor etc.) não são</p><p>fisicamente representados em qualquer lugar do sistema. Didaticamente se insere, ao lado de cada célula, p.</p><p>ex., o seu endereço de modo que o leitor possa identificar a célula e acompanhar melhor a explicação, mas o</p><p>valor do endereço não está fisicameme naquela posição.</p><p>O endereço de memória é, então. o elen1ento que indica a unidade de armazenamento. ou seja, toda e</p><p>qualquer memória é organjzada e m partes iguais (algumas tão pequenas quanto 8 bits ou 1 byte, como é o</p><p>caso da mcmó,ia principal [R.AM) e ou tras bem maiores, como 512 bytes de um setor de um disco magné­</p><p>tico), cada uma delas identificada e localizada por um endereço.</p><p>No caso das memórias elctrô nicas, este endereço, em forma de valor binário, é enviado pelo processador</p><p>(sempre que este realiza um acesso à memória) para o barramento do sistema (o BE), por meio dos pinos de</p><p>contato existentes na pastilha do processador.</p><p>Os processadores da geração de 16 b its de palavra (Intel 8086/8088) possuíam e ndereços com 20 bits de</p><p>largura, permitindo usar memórias com 1 M endereços (ou 1 M células), cada um podendo armazenar um dado</p><p>com 8 bits, 1 byte de largura. Assim, a capacidade de memória podia ser expressa como:</p><p>lM células de 1 byte ou apenas 1MB (o B maiúsculo significa byte)</p><p>porque 1 M = 2'°.</p><p>Já os processadores Pentium, da geração de 32 bits de palavra possuem endereços de 32 bits, podendo,</p><p>assim, ter memórias com capacidade de endereçame nto de 4G células, também de 1 byte, ou:</p><p>4 Gl3 = 2"</p><p>SDêW</p><p>8 4 / Memórfo Prfo.ipaf</p><p>4,.1.3 O perações :R e alizadas em uma Memória</p><p>Já foi 11 encionado que uma metuória ,é utu d:i positivo de arm z namento (dep6 iro) de in ormaçõe_. Quando</p><p>se org; niza um depósito tem-se por objetivo permitir que dememos (objetos, no ca o de uma abr'ca. p. , .,</p><p>ou infot11açõe: no ca o da memória ) possam er guardados. (annazenado) de uma forma organizada q e</p><p>po . ibil:ite s.ua id ntificaç:fo e locaili2:1ç-o, uandc) s.r; d. . ejar 1-ewperar (apanhar para uso) um de Se5 elemen­</p><p>to . Pode-se, cni.i '.'I, e1t1. um d~p6~ito realizar duas açõe distint.."ls:</p><p>- guardar o elemento (armazen, r) · t:</p><p>- retirar o elemento (rocup rar).</p><p>Também m uma memória podem e reaJ:iz:ar essa me ma dua: açoe {ou operaçõe) as quai, ne e ca o,</p><p>são d,enominada :</p><p>- e crita ou gravaçà.o ou armazenamento (u,rite ou rernrd) · e</p><p>- le' ut·a ou recup raçào (mui ou retrfrr,e) .</p><p>Amba a operaçõe ão po íveis graças à técnica utj]izada para identificar cada Je1 e1 to (ou grupo de b'ts)</p><p>por um núm ro seu end reço que permite identificar o local d , rmaz namento (p,u.i crita) ou d · recupe-</p><p>1, çào {para leitm-a) .</p><p>A opet-aç:ão d crita é naturalmente de trutiva, ou eja, ao armazenar- e um dado ·l!m una célula o con-</p><p>teúdo ant rior ' d struído vi to qu o bits que chegam ào gravado por cima dos que estavan no local O</p><p>proceSS,o é emelhante ao i ali:zado para gravar uma músk em uma fita ca sete; a música que ai sendo gra­</p><p>vada apaga a. anterior. A Fig. 4.3(a) mosrra um exemplo de operação de escrita descrirn em dernlh no item</p><p>4.3.3_2_</p><p>UCP IMP</p><p>1 O O 1 1 - Célula1</p><p>i 1 1 110 1</p><p>endereço o 11 o</p><p>Endereço 011 1</p><p>Endereço 1000</p><p>1 1 11 O 1 - Célula</p><p>1</p><p>00 1 1: 0</p><p>1 1 1 1 0 - Céh,1la1</p><p>1 1 1 1 O</p><p>,(a) Operação de escrita-O va1or 11110 é 1ransf1u ido (uma cópia)</p><p>da UCP-para a MP e armaze111adb r1a oéhJ'la de endereço 1000,</p><p>apaga.não, o conteúdo anlsrio:r (00110').</p><p>uc:p MP</p><p>Endereço 011 O 1 O O 1 1</p><p>1 1 'l 1 a</p><p>1 Ó O 1 1 1</p><p>Er'ldereço 01 11 11 1 1 o, 1</p><p>"</p><p>Endereço 1000 1 1 1 1 o</p><p>1 O O 1 1 l</p><p>(ib) Operaçâ,Q de leitura - O valor 10011, rumaz:im:ado no en..dereço,</p><p>da MIP 011 o, é transferido ( o6piaJ para a UCP, ~ do o 'l;lalor</p><p>ant01iior (111 10) e armazenando no mesmo local.</p><p>Figura 4.3 Operação, dê leiturà ,e escrlra na MP.</p><p>Sn$W</p><p>Memória Pri11cipal / 85</p><p>A operação de leitura, cujo exemplo é apresentado na Fig. 4.3(b) e descrita no item 4.3.3.1 não deve ser</p><p>destrutiva. Ela é, na realidade, uma ação de copiar um valor (dado o u in formação) em o utro local, permane­</p><p>cendo o mesmo valor no local de origem.</p><p>4.2 HIERARQUIA DE MEMÓRIA</p><p>No item anterior mencionamos o futo de haver atualmente vários tipos diferentes de dispositivos de arma­</p><p>zenamento, cada um com características próp1ias (tempo de acesso, capacidade, aplicabilidade etc.) e que, em</p><p>conjunto, fomiam o que poden1os chamar de um subsistt;ma, organizado de forma hierárquica.</p><p>Sem querer simplificar dtmais uma explicação sobre um assunto técnico, mas com o propósito de, princi­</p><p>palmente aos iniciantes, exemplificar melhor a necessidade e a funcionalidade dessa hierarquia, vamos apre­</p><p>sentar uma situação q ue pode ser real em uma indústria qualquer, que fubrique produtos constituídos de di­</p><p>versos componentes (itens de montagem), os quais precisam ser a1111azcnados enquanto não são utilizados pelos</p><p>opecirios na produção de um artigo.</p><p>Vamos supor que a linha de produção é constintída de aJgumas bancadas. e em cada uma há um funcioná-</p><p>1io montando o produto a ser fub1icado. Para isso, de se utiliza de um esquema previamente determinado,</p><p>que define a ordem para apanhar os itens e inserir na montagem. Vamos supor que há uma caixa de depósito</p><p>de itens na própria bancada e que a operação de apanhar um item an11azenado nessa caixa gaste 30 segundos.</p><p>O ideal se,ia que, em cada turno de trabalho, p. ex., cada funcionário tivesse à disposição na bancada t0dos</p><p>os itens requeridos para a montagem dos produtos. Assim, ele gastaria apenas o tempo necessário para apa­</p><p>nhar, na própria bancada, o item desejado (tempo de acesso), que seria, cm nosso exemplo, de 30 segundos.</p><p>No entanto, para que isso acontecesse era nc:cess..írio que a c::iixa da bancada fosse muito grande (para arma­</p><p>z~nar todos os itens necessários às montagens cm um turno de trabalho), e isso custaria espaço e muito d inhei­</p><p>ro. Além do mais, o operário não usa t0dos os itens a todo o momento; na maior parte do seu tempo de</p><p>trabalho ele usa uma pequena quantidade de itens de todos que esrào previstos naquela montagem.</p><p>Assim, os departamentos de planejamento e de produção pens.1ram em uma solução mais barata, e mais</p><p>eficaz. Foi instalado um armário no espaço de monragem, organizado de modo a acomodar gavetas iguais às</p><p>das bancadas, com os itens nelas. E mais, o armário estava dividido em prateleiras, cada uma de]as contendo 11</p><p>gavetas. de modo que ele é preenchido gaveta por gaveta. O almoxarifudo central é organizado. para isso, em</p><p>conjuntos de prateleiras, cada uma com II gavetas cheias de itens.</p><p>Desse modo, o operário inicia seu turno apanhando uma gaveta do armário (o tempo para fazer isso é da</p><p>ordem de 3 minutos, bem maior que os 30 segundos anteriormente mencionados), e dda de vai apanhando</p><p>os itens desejados</p><p>até que procura um itern e não encontra em sua bancada; nesse caso, ele apanha a gaveta que</p><p>contém o item e prossegue cm sua montagem, tendo que eventualmente ir ao armário (gastar os 3 1ninutos)</p><p>e buscar outra gaveta. Vez por outra, q uando de vai ao anuário buscar uma gaveta que contenha um icem</p><p>desejado na montagem não acha esse ite1n cm Ilcnhuma das gavetas existentes e. por isso. é necessário obtê­</p><p>lo no almoxarifado cemral. Como o tempo de ida ao local do almoxarifado, a análise do pedido pelo funci­</p><p>onário de lá e sua busca são bem demorados (vamos supor, cerca de 3 horas), o material é trazido em uma</p><p>grande quantidade para não se ter que ir ao ahnoxarifado 1nuitas vezes en1 um turno. Assim, o fimcionário</p><p>encarregado transporta uma prateleira completa com N gavetas, que encaixa no espaço apropriado do annário.</p><p>E, assim, o sistema funciona com três níveis de annazenainento:</p><p>1. o almoxarifado central (parece nosso conhecido disco rígido), com grande espaço de armazenamento e</p><p>longos tempos de busca de itens (tempo de acesso);</p><p>2. o a,mário na sala de montagem (semelhante à nossa memória principal [RAM!), organizado em gavetas</p><p>de itens. com tempo de recuperação bem menor que o do almoxarifado; e</p><p>3. as gavetas de cada bancada (semelhante à memória cache), com o menor tempo de acesso e pouca quan­</p><p>tidade de armazenamento, porém suficiente para as necessidades de montagem.</p><p>Naturalmente, não descrevemos (nem mesmo no exemplo da fãb1ica) uma situação cm todos os seus deta­</p><p>lhes, pois o escopo é apenas mostrar a conveniência da organização de depósitos ern níveis e sua eficácia.</p><p>Sn$W</p><p>86 / Memória Pri11âpal</p><p>A estratégia e ncontrada nos sistemas de computação foi semelhante à do exemplo anterior e, por isso, en­</p><p>contramos atualmente uma variedade de componentes para armazenamento funcionando integrados nos com­</p><p>putadores, como mostraremos no decorrer deste texto .</p><p>A Fig. 4.4 moma o subsistema de memória, projetado de modo que seus componentes sejam organizados</p><p>hierarquicamente, em forma de pirâmide.</p><p>A pirâmide em questão é projetada com uma base larga, que simboliza a elevada capacidade, o tempo de</p><p>uso e o custo do cornponente que a representa (no caso, os componentes utilizados como armazenamento de</p><p>capacidade, como discos rígidos [HDs], CDs, DVDs e fitas) .</p><p>A variação crescente dos valores de certos parâmetros que caracterizam um tipo de memória pode ser mostrada</p><p>no formato inclinado de uma pirâmide.</p><p>Com a finalidade de permitir ao leitor compreender a função de cada componente do subsistema de memória</p><p>e as diferenças entre eles, a seguir serão definidos os p1incipais parâmetros para análise das características de cada</p><p>tipo de memória apresentada na Fig. 4.4. O valor maior (base) ou menor (pico) de algum parâmetro foi a causa</p><p>da utilização de uma pirâmide para representar a hierarquia do sistema de memória de um computador.</p><p>As características analisadas são: tempo de acesso, capacidade, volatilidade, tecnologia de frabricação,</p><p>temporariedade e custo.</p><p>Tempo de acesso - indica quanto tempo a Jnemória gasta para colocar uma in formação na barra de dados</p><p>após uma determinada posição ter sido endereçada. Isto é, o período de tempo decorrido desde o instante e m</p><p>que foi iniciada a operação de acesso (quando a origem - em geral é o processador - passa o endereço de</p><p>acesso para o sistema de memória) até que a informação reque1ida (instrução ou dado) tenha sido efetivamen­</p><p>te transferida. É um dos parâmetros que pode medir o desempenho da memória. Pode ser chamado de tempo</p><p>de acesso para leitura ou. sin1plesmente, tempo de leitura.</p><p>O valor do tempo de acesso de uma memória é dependente da sua tecnologia de construção e da velocida­</p><p>de de seus circuitos. Ele varia bastante para cada tipo, de alguns poucos nanossegundos, no caso de memórias</p><p>tipo R.AM (ORAM, SRAM etc. - descritas mais adiante) até dezenas de milissegundos, no caso de memória</p><p>secundária (discos magnéticos, CD-ROMs e fitas).</p><p>A descrição desses tipos, seu funcionamento e características básicas serão apresentados mais adiante (neste</p><p>capítulo será tratada a memória principal, R.AM/R.OM e memória cache, ficando a memória secundária para</p><p>ser discutida no Cap. 9) .</p><p>Deve ser mencionado ainda que o tempo de acesso das memórias eletrónicas (do tipo RAM, ROM etc.)</p><p>é igual, independentemente da distância fisica entre o local de um acesso e o local do próximo acesso, ao passo</p><p>que, no caso de dispositivos eletromecânicos (discos, CD-ROMs etc.), o tempo de acesso varia conforme a</p><p>distância fisica entre dois acessos consecutivos.</p><p>Custo alto</p><p>Velocidade att-a</p><p>8abca capacidade</p><p>Custo baixo</p><p>Velo<idado balxa</p><p>Capacidade etévada</p><p>Oisoos</p><p>CO-ROM</p><p>-----Registradotes</p><p>----Memória cache</p><p>--Memória principal</p><p>- Memória secundária</p><p>Figura 4.4 Hierarquia de me1n6ria.</p><p>Sn$W</p><p>Me.m6ria Principal / 87</p><p>Outro parâmetro (utilizado apenas em memórias eletrónicas) é o chamado ciclo de tempo do sistema de</p><p>rnemória (mcmory sys1em's cyde time}, ou siir1plesrr1ente ciclo de memória, que é o pcriodo de tempo decorrido</p><p>entre duas operações sucessivas de acesso à memória, sejam de escrita o u de leitura. fase tempo depende de</p><p>outros fucores relacionados aos tempos de funcionamento do sistema. Esses outros furo res podem, em cercas</p><p>rnemórias. impedfr. por um pequeno intervalo de ternpo. o uso do sistema de memória para um novo acesso,</p><p>logo após a conclusão do acesso anterior. Nesses casos. o ciclo de memória compreende o tempo de acesso</p><p>mais um cerro tempo para essas outras atividades, a serem descritas mais adiante. Outras memórias não reque­</p><p>rem esse tempo adicional entre acessos e, portanto, o ciclo de memória é igual ao tempo de acesso.</p><p>O ciclo de memória é usualmente empregado como elemento de medida de desempenho das memórias</p><p>clctrônicas, sendo indicado nos manuais e demais documentos descritivos das características de um dado tipo</p><p>de n1emórfa.</p><p>Capacidade é a q uantidade de informação que pode ser annazenada em uma memória; a urúdade de medi­</p><p>da mais comum é o byte, embora também possam ser usadas outras unidades, como céfolas (no caso de me­</p><p>mória principal ou cache), setores (no caso de discos) e bits (no caso de registradorcs) . Dependendo do cama­</p><p>nho4 da memória, isto é, de sua capacidade, indica-se o valor numérico total de elementos de forma simpli­</p><p>ficada, através da inclusão de K (qu ilo), M (mega), G (giga), T (cera) ou P (peta) - (ver item 2.2.1).</p><p>Exemplos de nomenclatura para valores de capacidade de memórias:</p><p>• O registrador RI cem 32 bits.</p><p>• A memória ROM do microcomputador A tem 32 Kbytes.</p><p>• A memória RAM do computador B tem capacidade para endereçar 128M células.</p><p>• O disco C cem capacidade para armazenar 8,2 Gbyces.</p><p>• O CD-ROM E cem capacidade de armazenamento igual a 650 Mbytes.</p><p>Volatilidade - memórias podem ser do tipo volátil ou não-volátil. Uma memó1ia não-volátil é a que retém</p><p>a informação annazenada quando a energia elétrica é desligada. Memória volátil é aquela que perde a infor­</p><p>mação armazenada quando a energia elétrica desaparece (incernrpçào de alimentação elétrica ou desligamento</p><p>da chave ON/ OFF do equipamento) .</p><p>Uma vez que um processador nada pode fazer sem instruções que indiquem a próxima operação a ser re­</p><p>alizada, é óbvio que todo sistema de computação deve possuir alguma quantidade de memória não-volátil.</p><p>Isto é, ele deve possuir, pelo menos, algumas instruções armazenadas em me1nória não-volátil para serem</p><p>executadas inicialmente, sempre que se ligar o computador.</p><p>Rcgistradorcs são memória do tipo volátil, como também memórias de sc1nicondutorcs, do tipo RAM.</p><p>Memórias magnéticas e ótkas, como discos e fitas e também me;:mó1ias de semicondutores do tipo ROM.</p><p>EPROM etc. são do tipo 11ão- voláti/.</p><p>É possível manter a enl!rgia em uma memória origlnahnente não-volátil através do emprego d!! baterias.</p><p>Mais adiante. este parâmetro será analisado e exemplificado com um pouco mais de detalhe (ver Apêndice O).</p><p>Tec110/ogia de fabricação</p><p>- ao longo do tempo, diversas tecnologias vêm sendo desenvolvidas para a fabri­</p><p>cação de memórias. Atualmente, algumas dessas tecnologias já são obsoletas, como as memórias de núcleo de</p><p>ferrite (magnéticos), e o utras ainda não têm uma aplicação comercial ampla, como as memórias de bolha.</p><p>Algumas das tecnologias mais conhecidas e utilizadas são:</p><p>a) Memórias de se111icc>11d11tores - são dispositivos fubó cados com circuitos clecrônicos e baseados em semi­</p><p>conduton.--s. São rápidas e relativamente caras, se comparadas com outros tipos. Dentro desta categoria</p><p>geral há várias tecnologias específicas, cada mna com suas vantagens, desvantagens, velocidade, custo</p><p>'Em compuu.çlo. cos.rum:i.-.s..- \Wr o tl.'"nno cam:mho p;a.r:i indil:.u :i quanti<Udc d1: in(orm:iflo (bits. brt~-s '-'l(" .). 1.· nio par.i indiar :i. gn.nd<"U. íiska do dl·1nc-nto.</p><p>como se ~7. n:1 vicl1; cotidi:&11:1. Por CX<"mpl<>, () tun:inho do l»rr:uncruo de dados dt· um c;cnq ~i.Sll"nt:t é de 6-1 bit-t, Ug,1ific,mdo ~1uc o r~·fcrido b:1rr .. 1111c1110 de</p><p>cbd()( possui M fi05 coloc-MJosjuntos. c:i.J:1 um pcnnitindo 2 p:1..,~sl·m de um sin:i.l dé-rrioo, i:orr...sponckntl.'" 10 v:ik,r dl• um bit.</p><p>SU$W</p><p>88 / A,Jemória Prindpal</p><p>como memórias SRAM, DRAM, SDRAM etc., as q uais são mencionadas no item 4.3.5 e serão mais</p><p>detalhadamente descritas no Apêndice D.</p><p>Registradores, memória principal e memória cache são exemplos de memórias de semicondutores</p><p>ou, mais simplesmente, me1nórias eletrônicas.</p><p>b) Memórias de meio magt1ético - são dispositivos, como os disquetes e discos rígidos (/iard tlisks), fabricados</p><p>de modo a armazenar informações sob a fonna de campos magnéticos. Eles possuem caracte,ísticas</p><p>magnéticas semelhantes às das firas cassete de som, as quais são memórias não-voláteis. Devido à natu­</p><p>reza eletromecânica de seus componentes e à tecnologia de construção em con1paraç.ão con1 rnernórlas</p><p>de semicondutores, esse tipo é mais barato e permite, assim, o armazenamento de grande quantidade</p><p>de informação. O método de acesso às informações armazenadas em discos e fitas é diferente (ver irens</p><p>9.2 e 9.4), resultando em tempos de acesso diversos (por possuírem acesso direto, discos são mais rápi­</p><p>dos do que firas, que o peram com acesso seqüencial). O Cap. 9 descreve, com mais detalhe, a o rg-Jni­</p><p>zação, as tecnologias e outras características dos discos e fitas magnéticas.</p><p>c) Memória de meio ótico - dispositivos, como os CD-ROMs, capazes de armazenar cerca de 650 Mbytes</p><p>de informação permitindo apenas sua leitura, por isso o nome ROM após o CD (recentemente surgi­</p><p>ram no mercado dispositivos que podem regravar dados, como os discos - denominam-se em inglês</p><p>CD- R W (readablel,vriteble). Tais dispositivos utilizam um feixe de luz para "marcar" o valor (O ou 1) de</p><p>cada dado em sua superficie.</p><p>Temporariedade - trata-se de uma característica que indica o conceito de tempo de pe,manência da infor­</p><p>mação em um dado dpo de memória.</p><p>Por exemplo, infonnações (programas e dados) podem ser annazenadas em discos ou disquetes e lá pcm,ane­</p><p>cerem armazenadas indefinidamente (por " inde6nidameme" entende-se um considerável período de tempo,</p><p>por muitos anos, mas h:í sempre a possibilidade de perda de magnetismo com o passar do tempo). Pode-se, en­</p><p>tão, definir esse tipo de memória con10 permanente, ao conttáti.o dos registradores, p. ex .. que a1mazcnam um</p><p>dado por um tempo extremamente curto (nanossegundos), o su6cieme para o dado ser, em seguida, transferido</p><p>para a UAL. Os registradores podem, às vezes, reter o dado annazenado para posterior processamento pela UAL,</p><p>mas, mesmo assim, esta retenção não dura mais do que o tempo de execução do programa (na hipótese de maior</p><p>pennanência) ou de parte dele (hipótese de duração menor). É uma memória do tipo tra11sitório. Outros exem­</p><p>plos de memórias de pennanência transitória de dados são a memória cache e a memória p,incipal, embora os</p><p>dados nelas pennaneçam armazenados mais tempo do que nos regimadores (tempo de duração da execução de</p><p>um programa - q ue pode ser de uns poucos segundos ou até mesmo de algumas horas).</p><p>C11sto - o custo de fabricação de uma memória é bastante variado em função de dive,~os fatores, entre os</p><p>quais se pode mencionar principalmente a tecnologia de fabricação, que redunda em maior ou menor tempo</p><p>de acesso, ciclo de memória, quantidade de birs cm cc,w espaço fisico e outros. Uma boa unidade de medida</p><p>de custo é o preço por b)>te armazenado, em vez do custa total da memória em si. Isso porque, devido às</p><p>diferentes capacidades, seria irreal considerar, para con1paração1 o custo pelo preço da mem61ia cm si. natu­</p><p>ralmente diferente, e não da unidade de armazenamento (o byte), igual para todos os tipos.</p><p>Em outras palavras, um disco rígido de microcomputador pode annazenar, p. ex., 80GB e custar, no merca­</p><p>do, em tomo de RS300,00, o que indica um custo de RS0,00375 por Mbyte, enguamo uma memória do tipo</p><p>de semicondutor, dinâmica, pode custar cerca de RS0,82 por Mbyte, adquirindo-se, então, 256MB por R$20,00</p><p>(o preço de 11\IIB na MP é muito mais caro que 1MB armazenado no d isco). Não há comparação física nem</p><p>lógica possível entre o valor dos 256MB de RAM e os 80GB do disco se analisannos apenas o dispositivo como</p><p>um todo (o disco como um componente individual é mais caro que o pente de memória RAM).</p><p>4.2.1 Registradores</p><p>Em um sistema de computação, a destinação final do conteúdo de qualquer ripo de memória é o proces­</p><p>sador. Isto é, o objetivo final de cada uma das memórias (ou do subsistema de memória) é armazenar infonna­</p><p>ções destinadas a serem, em algum momento, utilizadas pelo processador. Ele é o responsável pela execução</p><p>das instruções, pela manipulação dos dados e pela produção dos resultados das operações.</p><p>Sn$W</p><p>M~i,mhia f>riuâpal / 89</p><p>As ações operativas do processador são realizadas (ver Cap. 6) nas suas unidades funcio nais: na unidade arit­</p><p>mética e lógica - UAL (ALU - Arirhmetic a11d ¼ic U11ir), na unidade de ponto flutuante - UPF (Floar Poi11t</p><p>U11it - FPU) ou talvez em uma unidade de processamento vetorial. No enc.1nto, antes que a instrução seja</p><p>interpretada e as u1údades do processador sejam acionadas, o processador necessita buscar a instrução onde ela</p><p>estiver armazenada (memória cachc ou principal) e armazená-la em seu próprio interior, cm um dispositivo</p><p>de memória denominado registrador de i11str11ç.ão.</p><p>Em seguida a este armazenamento da instrução, o processador deverá, na maioria das vezes, buscar dados da</p><p>memória (cachc, principal ou mesmo de unidades de disco em fita) para serem manipulados na UAL. Esses</p><p>dados também precisam ser armazenados em algum local do processador até serem efetivamente utilizados.</p><p>Os resultados de um processamento (de uma soma, subtração, operação lógica etc.) também precis.1m, às vezes,</p><p>ser guardados temporarian1c:ntc no processador, ou para serem novamente manipulados na UAL por uma</p><p>outra instrução, ou para serem transferidos para uma memória externa à UCP. Esses dados são armazenados</p><p>na UCP cm pequenas unidades de memória1 denominadas registradores.</p><p>Um registrador é, portanto, o elemento superior da pirânúde de memória (ver Fig. 4.4), por possuir a maior</p><p>velocidade de transferência dentro do sistema (menor tempo de acesso), menor capacidade de armazenamen­</p><p>ro e maior custo.</p><p>Analisando os diversos parâmetros que caracterizan1 as 1nen1órias, descritos no item anterior, te1nos:</p><p>Tempo de acesso - um ciclo de memória; por serem construídos com a mesma tecno)ogia do processador,</p><p>estes d ispositivos possuem o menor tempo de acesso/ciclo de memória do sistema (neste caso, não é aplicável</p><p>distinguir-se tempo de acesso e ciclo de memória, por serem sempre iguais), algo em torno de l a 2</p><p>nanossegundos.'</p><p>Capacidade - os registradores são fabricados com capacidade de annazenar um único dado, uma única ins­</p><p>trução ou até mesmo um único endereço. Desta forma, a quantidade de bits de cada um é de uns poucos bits</p><p>(de 8 a 128). dependendo do tipo de processador e, dentro</p><p>deste, da aplicação dada ao registrador em si .</p><p>R.egistradores de dados têm, em geral, o tamanho definido pelo fabricante para a palavra do proce$Sador. ta­</p><p>manho diferente dos registradores usados exclusivamente para arn,azenar endereços (quando há rcgisrradores</p><p>com esta função específica no processador) . Por exemplo, o processador Intel Pentium, cuja palavra é de 32</p><p>bits (ver Cap. 6), tem registradores de dados (inteiros) também de 32 bits, inclusive registradores de endereços</p><p>(os números que indicam os endereços de célula de memória principal do processador têm 32 bits, enquant0</p><p>os registradores para armazenar valores em ponto flutuante têm 64 bits de largura); o processador PowcrPC</p><p>tem regisrradores de dados de 32 bits (palavra de 32 bits) e rcgistrador de endereços também de 32 bits, en­</p><p>quanto o processador Alpha possui rcgistradorcs de dados de 64 bits, assim como os Pentium ltanium (ver</p><p>Tabela 6.2).</p><p>Volatilidade - registradores são memórias de semicondutores e, portanto, necessitam de energia elétrica</p><p>para funcionarem. Assim. registradorcs são rnemórias voláteis. Para o processador funcionar sem interrupção,</p><p>mesmo quando eventualmente a energia el~trica para o computador é interrompida. é necessário que o siste­</p><p>ma de computação seja ligado a um dispositivo de alimentação elétrica denonúnado 110-break, o qual é cons­</p><p>tituído de bateria o u gerador de corrente e um conversor AC/DC.</p><p>Tecnologia - conforme mencionado no tópico anterior, os registradores são memórias de senúcondutores,</p><p>sendo fabricados com tecnologia igual à dos demais circuitos do processador, visco que eles se encontram inse,idos</p><p>em seu interior. No entanto, há diversos modelos de tecnologia de fabricação de semicondut0res, uns com</p><p>tempo de acesso maior que outros, custos e capacidade de annazenamcnto, no mesmo espaço físico, diferen­</p><p>tes. Tecnologia bipolar e MOS (metal oxide se111ico11d11ctor) são comuns na tãbricação de registradores.</p><p>Ttmporariedade - os registradores são memórias auxiliares internas ao processador e, portanto, tendem a</p><p>guardar informação (dados ou instruções) o mais temporariamente possível. Acumuladores ou registradores</p><p>de dados armazenam os dados apenas o tempo necessário para sua utilização na UAL.</p><p>Sé imp0r1:une mcncion:u t1m· Cll\ 11úu1cn;,s que reprctcutim o ~mJ>l:'nho ~ lllll compl1tador sio biscante v:iri.iv.:is. visto que a t1.."Cnologi:i ;11v.2.nç:i cm enomic</p><p>vdoc-irud1..· (mllior do que :1 r.tpidcz com que :mulizo as vcl'SÕ1.."S d1..-s11.· livro}. As.sin,, cit:ir 1 2 2 ni n1..-s;tc i1t~12n1c pode signific2r 11111 v:ilor conserv~or c1wndo</p><p><'Ste li\1ro .:sti\·1..--r .sendo lido. por t'St:.itcm ji ultrn~s:1dos ou dCSJ.tu:ifüados.</p><p>Sn$W</p><p>90 / Memória Pn·,,apal</p><p>Custo - devido à tecnologia mais avançada dl! sua fabricação, os rcgistradores encontram-se no topo da</p><p>pirâmide em termos de custos, sendo os dispositivos de maior custo entre os d iversos tipos de memória.</p><p>4.2.2 Memória Cache</p><p>Na pirâmide de memória, abaixo dos registradores, encontrn-se o co1uunco cache-memória principal. Em</p><p>sistemas de computação mais antigos a pirânúde não possuía memória cache e, desse 1nodo, os regisrradores enun</p><p>ligados diretamente à memória principal. A Fig. 4.5 mostra uma pastilha (<l,ip) de memória cache (cache extema).</p><p>Em toda execução de uma instrução, o processador acessa a memória p1incipal (sem cache) pelo menos</p><p>uma vez, para buscar a instmção (uma cópia dela) e transferi-la para um dos registradores do processador (ver</p><p>Cap. 6) . E, mais ainda, muitas instruções requerem outros acessos à memória, seja para a transferência de da­</p><p>dos para o processador (que serão processados na UAL), seja para a transferência do resultado de uma opera­</p><p>ção do processador para a memória.</p><p>Em resumo, para a realização do ciclo de uma instrução há sempre a necessidade de ser realizado um ou</p><p>mais ciclos de memória (no Cap. 6 será descrito com detalhes o procedimento referente à realização de ciclos</p><p>de instrução).</p><p>Considerando-se que um ciclo de memória é anialmente bem mais demorado do que o período de tempo</p><p>que o processador gasta para realizar uma operação na UAL, fica claro que a d uração da execução de um ciclo</p><p>de instrução é bastante afetada pela demora dos ciclos de memória.</p><p>Desde há muito, então, esta interfuce entre o processador e a memória p1incipal vem sendo 11111 ponto frágil</p><p>no que se refere à perfornumce do sistema.</p><p>Na tentativa de melhorar o desempenho dos sistemas de computação. os projetistas do processador vêm</p><p>constantemente obtendo velocidades cada vez maiores nas operações dessas unidades. o que não está aconte­</p><p>cendo na ,nes1na proporção com o aperfeiçoamento tecnológico das memórias utilizadas con10 memória prin­</p><p>cipal. Assim, atualmente a diferença de velocidade entre processador e memõria principal é talvez maior do</p><p>que já foi no passado.</p><p>Na busca de uma solução para este problema (o gargalo de congestionamento na commúcação processa­</p><p>dor/ MP que degrada o desempenho dos sistemas), criou-se um mecanismo, que consiste na inclusão de um</p><p>dispositivo de memória entre processador e MP, denominado memória cache, cuja função é acelerar a velo­</p><p>cidade de transferência das informações entre processador e MP e, com isso, aumentar o desempenho dos</p><p>sistemas de computação.</p><p>Para tanto, esse tipo de memó1ia é fubricado com tecnologia semelhante à do processador e, em conseqüên­</p><p>cia, possui tempos de acesso comparivcis, resultando numa considerável redução da espera do processador para</p><p>receber dados e instruções da cache, ao contrário do que acontece em sistemas sem cachc (conceitos e tecnologia</p><p>de fàbricação de memórias cachc, bem como seu funcionamento, são detalhadamente apresentados no Cap. 5).</p><p>O conceito de cache difundiu-se e é atualmente usado cm sistemas de computação modernos: RAM cachc,</p><p>ou cachc para a memória principal e cache para disco. Trataremos aqui das características das memórias cache</p><p>para memó1ia principal, deixando para o Cap. 5 a descrição das características das memórias cache para disco.</p><p>Figura 4.5 Exemplo de memória cache (cachc externo) .</p><p>Sn$W</p><p>Memória Principal I 91</p><p>Além disso, deve-se mencionar que as memórias RAM cache podem ser inseridas em dois (ou até três)</p><p>níveis, sendo o primeiro denominado Ll (Levei 1 - nível 1), uma memó da cache inse1;da internamente no</p><p>proces.sador, isto é, é e ncapsulada na mesma pastilha, enquanto a de ,úvel 2, L2' o u cache externa (ou ainda</p><p>cache secundá,ia) consiste em uma pastilha (chip) separada e própria, instalada na placa-mãe do computador.</p><p>No Cap. 5 descreveremos esses tipos com um pouco mais de detalhe.</p><p>Logo abaixo dos rcgistradorcs na pirâmide é. inserida a memória RAM cache, com os seguintes parâmetros:</p><p>Tempo de acesso, ciclo de memória - sendo memórias de senticondutores, fabricadas com tecno1ogia e re­</p><p>cursos para prover menores c iclos de memória que as memórias RAM comuns (memória principal do tipo</p><p>dinâmica, a ser explicada nos itens 4.3 e 4.7), elas possuem velocidade de transferência ral q ue lhes garante</p><p>tempos de acesso entre 5 e 20 ns, sendo por esra razão colocadas, na pirâmide, logo abaixo dos registradores.</p><p>Capacidade - tendo em vista que o processador acess.a primeiramente a men1ória cache, para buscar a infor­</p><p>mação requerida (a próxima instrução ou dados requeridos pela instrução em execução), é importante que a</p><p>referida memória tenha capacidade adequada para armazenar uma apreciáve) quantidade de infom1ações, vis­</p><p>to que, se ela não foi encontrada na cache, então o sistema deverá sofrer um atraso para que a informação seja</p><p>transferida da memóiia principa1 para a cache .</p><p>Por outro lado, u111a grande capacidade implicará certarnente a elevação de seu custo, muitas vezes inacei-­</p><p>tável pal'a compor o preço total do siste ma, sem aumentar o desempenho na proporção esperada.</p><p>Na ,·ealidade, conforme será mostrado no Cap. 5, a eficiência de uma memória cache é da o rdem de 95%</p><p>a 98%, isto é, em cada 100 acessos, por exemplo, o processador encontra o valor</p><p>desejado na cache em 95 a</p><p>98 deles e somente 110s acessos restantes é que ele não se encontra na cache. N este caso, o sistema precisa</p><p>buscar o dado na MP (de fut0 ele busca o dado e mais os dados contíguos - um bloco de dados - que cerra­</p><p>mente ele precisará em seguida, devido ao princípio da localidade) armazenando-o na cache e daí parn o pro­</p><p>cessado,·.</p><p>Desse modo, aumentar o tamanho da memória cache tende a aumentar o custo do sistema, sem acréscimo</p><p>significativo de eficiência da cache, pois não há prnticamente nada o que crescer após 98% de eficiência.</p><p>A capacidade da memó ria cache va1ia conforme seu tipo, sendo menor para e.aches L 1 do que para caches</p><p>L2.</p><p>Valores típicos de memória cache L1 oscilam entre 32 e 256KB e até 4MB para L2.</p><p>Volatilidade - a exemplo dos registradores, memórias cache são dispositivos construídos com circuitos ele­</p><p>trônicos, requerendo, por isso, energia e1érrica para seu füncionan1ento. São, deste 1nodo, dispositivos volá­</p><p>teis.</p><p>Tec110/ogia - memórias cache são fàbricadas com circuitos eletrónicos de alta velocidade para atingirem sua</p><p>finalidade. Em geral, são memórias estáticas, denominadas SRAM (ver item 4.3.5).</p><p>Temporariedade - o tempo de permanência de uma instrução ou dado nas memórias cache é relativamente</p><p>pequeno, menor que a duração da execução do programa ao qual a referida instrução ou dado patence. Isto</p><p>porque, devido a seu tamanho não ser grande e ser utilizada por todos os programas em execuç.'io, há neces­</p><p>sidade de alteração periódica da informação armazenada para pcnnitir a entrada de novas informações. Embo­</p><p>ra a transitoriedade das in fom,açõcs na cache seja uma realidade, o período efetivo de permanência de um</p><p>dado o u instrução é dependente do tipo de política de substituição de i,úormação (ver item 5.5).</p><p>Custo - o custo de fabricação das memórias cache é alto. O valor por byte está situado entre o dos registra­</p><p>dores, que são os mais caros, e o da memória principal, mais barata. Memórias cache internas à CPU ainda são</p><p>mais caras do que as exc.ernas.</p><p>"A evolução dl'l empréS<) e t."l d~empenh() <b, llll·m6ri:is c,çlic 1\"m çondwz.i,k, os fabrk:un('S ~ us.ir~·m m:i is de um:i ~chr no imcnordo proc~-ssador. LI e: L2.</p><p>é, em il~ns sistcm:is. uma ,crrcir:i. c:ichc. L1. n:i pba ~11Ue.</p><p>Sn$W</p><p>92 / 1\1.cmória Priuâpal</p><p>4.2.3 Memória Principal</p><p>U111a das principais características definida.s no projeto de arq uitetura do sistema de von Neumann, o q ual</p><p>constitui a pri1neira geração dos computadores, consistia no fato de ser uma máquina ºde progra1na armaze­</p><p>nado". O fato de as instruções, uma após a outra, poderem ser imediata111ente a cessadas pelo processador é</p><p>que garante o automatismo do sistema e aumenta a velocidade de execução dos programas (uma máquina</p><p>executando açõc-s sucessivas. sem intervalos e sem cansar, como não acontece com os seres humanos) .</p><p>E o processador pode acessar imediata111cnte uma instrução após a outra porque elas estão an11azenadas</p><p>internamente no contputador. Esta é a importância da memória.</p><p>E, desde o princípio, a memória especificada para armazenar o programa (e os seus dados) a ser executado</p><p>é a memóiia que atualmente chamamos de principal (ou memória real), para distingui-la da memória de dis­</p><p>cos e fitas (memó,ia secundária).</p><p>A memória principal é. então, a mcmó1ia básica dt: um sistema dt: computação dt:sde seus primórdios. É o</p><p>dispositivo onde o programa (e seus dados) que vai ser executado é armazenado para que o processador vá</p><p>" buscando" instrução por instrução.</p><p>Seus parfünetros possuem as segujntes características:</p><p>Tempo de acesso: ciclo de memória - a memória principal é construída com elementos cttja velocidade ope­</p><p>racional se situa abaixo das memórias cache, embora sejam muito mais rápidas que a memória secundáiia. Nas</p><p>gerações iniciais de computadores o tipo mais comum de mt:mória principal era uma matriz de pequenos</p><p>núcleos magnéticos, os quais armaz.enavam o valor 1 ou o valor O de bit conforme a adição do campo mag­</p><p>nético armaz.enado. Essas rnemórias possuían1 baixa velocidade, a qual foi substanciabnente elevada com o</p><p>surgin1ento das n1emótias de semicondutores. Atualmente, as memórias desse tipo possuem ten1po de acesso</p><p>entre 50 ns e 80 ns.</p><p>Capacidade - a capacidade da memória principal (memória RAM, como é chamada pelo mercado e na</p><p>maior parte da literatura) é sempre bem superior à das memórias cachc, podendo ser limitada por dois fatores:</p><p>• a definição de seu tamanho máximo, estabelecida no projeto da arquitetma do processador (constando</p><p>inclusive na sua pinagcm)~ e</p><p>• a limitação imposta pelo dispositivo de controle da memória (inserido no tl,ipset) e pela tecnologia da</p><p>placa-mãe.</p><p>Os processadores, desde o lntd 386, lançado em 1985, possuem endereços com 32 bits e, assim, podem</p><p>endereçar até 4G. N o entanto, desde a época do lançamento do 386 e até recentemente, as placas-mãe (ex­</p><p>ceto de máquinas especiais, como servidores etc.) e dJipsets não endereçavam tanto; na verdade, bem menos</p><p>que o limite de 4G.</p><p>Com o surgimento das arquiteturas de 64 bits, os proc.::ssadores poderão gerar endereços de 64 bits de lar­</p><p>gura. Isto acarreta a possibilidade de gerenciar um espaço de endereçamento de memória de:</p><p>2"' = 16 EB (16 exabytcs) .</p><p>Conforme se pode observar dos dados mostrados na Tabela 2 . 1, 1 EB (um exabyte) corresponde a I milhão</p><p>de T [l - terabytes (na realidade é mais do que I milhão ou 1024 X 1024), um valor extraordinariamente</p><p>elevado para os dias atuais. Imagina-se que se deva levar algum tempo para que se possa ter módulos de me-</p><p>11161ia. placas-mãe e chipsets capazes de manipular valores tão elevados.</p><p>Volatilidade- sendo atualmente construído com semicondutores e circuitos eletrônicos co11·elatos, este tipo</p><p>de n1en1ória també111 é volátil, tal como acontece com os registradorcs e a mc11161ia cache. No entanto, há</p><p>normalmente uma pequena quantidade de memória não-volátil fazendo parte da memória principal, a qual</p><p>serve pat".l armazenar pequena quantidade de instruções que são executadas sempre que o computador é ligado.</p><p>Tecnologia - conforme já mencionado, nos primeiros sistemas usavam-se núcleos de ferrite (processo mag­</p><p>nético) para annazcnar os bits na memória principal, até que foram substituídos pela tecnologia de semicon­</p><p>ducores. Os circuitos que representam os bits nas memó1ias atuais possuem uma tecnologia bem mais avança­</p><p>da que seus predecessores de fenite e, portanto, têm velocidade mais elevada de transferência, garantindo baixos</p><p>Sn$W</p><p>iWemdn'n Pri11cipal / 93</p><p>tempos de acesso cm comparação com o modelo anterior. São, porém, dcmentos mais lentos do que aqueles</p><p>que constituem as mc1nória.~ cache. Na maioria dos sistemas atuais esta tecnologia produz memória com ele­</p><p>mentos dinâmicos (DRAM), como será mostrado no item 4.3.5 e no Apêndice D.</p><p>Temporariedade - para que um programa seja executado é necessário que ele esteja armazenado na memó1ia</p><p>principal (e seus dados também). Atualmente esta afinnação é parcialmente verdadeira, visto que não é mais</p><p>necessário que o programa completo (todas as instruçÕ<><) esteja na MP; neste caso, é obrigatório apenas o arma­</p><p>zenamento, na MP, da instntçào que será accssada pdo proc<..--ssador (na prática, não se usa soml!nte a iH.Stmçào que</p><p>será executada, mas sim esta e um grupo de outras). Não importa, contudo, se é o progrnma todo ou parte dele</p><p>que deve estar armazen:1do na MP para str utilizado pela UCP. Fica claro que, em qualquer circunstância. as</p><p>instruções e os dados pc1111anecem temporariamente na MP enquanto durar a execução do progr:una (ou até</p><p>menos tempo). Esta temporariedade é bastante variável. dependendo de várias circunstâncias, como, por exem­</p><p>plo, o tamanho do programa e sua duração. a quantidade de programas que estão sendo processados juntos e</p><p>outras mais. No entanto, a transitoriedade com que as infonnações pen11:mccc111 armazenadas na MP é, em ge­</p><p>ral, mais duradoura que na me1nória cacheou nos registradorcs, embora mais lenta que na</p><p>memória secundária.</p><p>Custo - memórias dinâmicas usadas como memória principal têm um custo mais baixo que o custo das</p><p>memórias cache, por isso podem ser vendidos computadores com uma quantidade apreciável de MP (com</p><p>128MB, 256MB. 512MB e I o u 2GB) sem que seu preço seja inaceitável. Valores típicos de MP oscilam</p><p>entre RS0,80 e RS5,00 por Mbyte.</p><p>4.2.4 Memória Secu ndária</p><p>Na base da pirâmide que representa a hierarquia de memória cm um sisten1a de computação encontra-se</p><p>um tipo de memória com maior capacidade de armazenamento do que os outros tipos já descritos, menor</p><p>custo por byte armazenado e com tempos de acesso também superiores aos outros tipos. Esta menl.ória, deno­</p><p>minada memória secundária, mcmóiia auxiliar ou memó1ia de massa, tem por objetivo garantir um armaze­</p><p>namento mais pennancntc a toda a estrutura de dados e:: programas do usuário, razão por que deve natural­</p><p>mente possuir maior capacidade que a mentória principal.</p><p>A memória secundária de um sistema de computação pode ser constituída por diferentes tipos de disposi­</p><p>tivos, alguns diretamente ligados ao sistema para acesso imediato (discos rígidos, por exemplo), e outros que</p><p>podem ser conectados quando desejado (como os disquetes, fitas de armazenamento, CD-ROMs etc.), cuja</p><p>informação an11azcnada se toma diretamente conectada e disponível para o específico disquete ou fita que</p><p>estiver inserido no elemento de leitura/escrita (drive ou acionador), e nquanto os demais ficam disponíveis (,?ff­</p><p>H11e) para acesso manual pelo usuário.</p><p>Um das grandes características dos dispositivos que constituem a memória secundária t! sua n~o-volatilidade.</p><p>A análise de seus parâmetros (considerando urna média entre os diversos equipamentos) conduz às seguintes</p><p>observações:</p><p>Tempo de acesso/ciclo de memória - conforme será mostrado no Cap. 9, os dispositivos que podem cons­</p><p>tituir um elemento de armazena,nento secundário ou auxiliar em um sistema de computação são, em geral,</p><p>dispositivos eletromecânicos e não circuitos puramente elerrônicos, como é o caso de registradores, memó1ia</p><p>cache e memória principal. Por essa razão, aqueles dispositivos possuem tempos de acesso 1nais altos.</p><p>Tempos de acesso típicos para discos ,ígidos estão atualmente na faixa de 8 a 30 milissegundos Oá estão</p><p>sendo fabricados discos com tc1npos ainda menores. mas sempre da ordem de milissegundos, muito acima dos</p><p>nanossegundos das outras memórias). Discos do tipo CD-ROM trabalham com tempos de acesso ainda mai ­</p><p>o,·es, na faixa de 120 a 300 ns, enquanto as ficas magnéticas são ainda mais lentas, podendo ler um arquivo em</p><p>tempos da ordem de segundos.</p><p>Capacidade- uma das características que coloca a memória secundária na base da pirânlide é justamente sua</p><p>grande capacidade de armazenamento, a qual também varia consideravelmente, dependendo do tipo de dis­</p><p>positivo utilizado.</p><p>Discos rígidos de microcomputadores podem, atualmente. set· encontrados com capacidades variando entre</p><p>2 e 50 Gbytes. Sistemas de grande po1te já há muito tempo possuem discos rígidos com dezenas de Gbytes de</p><p>94 / Mem6ria Principal</p><p>Processador (Cache L 1 e Registradores) ---- •</p><p>Processador (Cache L2)</p><p>Cache L2 (Externo)</p><p>MP(RAM)</p><p>MS(Discos)---------&!:: ... ri1/IIIIJ. ': ·</p><p>ROM ---------------</p><p>CMOS -------------</p><p>' _,,</p><p>--Ili</p><p>VRAM (Placa de vídeo) ------ li</p><p>Figura 4.6 Tipos de memória em uso nos microcon1putadores.</p><p>Sn$ W</p><p>Sn$W</p><p>Memória Pn'utipal / 95</p><p>capacidade de armazenamento. Os demais dispositivos, como CD-ROM (com capacidade da ordem de 600</p><p>M B ou mais para cada disco, podendo o usuário possuir tantos quantos quiser e puder pagar), fitas magnéticas</p><p>(a capacidade depende do comprimento da fira e da densidade de gravação), discos óticos etc. serão analisados</p><p>com mais detalhe nos Caps. 9 e 10.</p><p>Volatilidade - como estes dispositivos armazenam as infonnaçôes de fot1na magnética ou ótica, elas não se</p><p>perdem nem desaparecem quando não há alimentação elétrica . Trata-se, pois, de elementos úteis para guardar</p><p>os programas e dados de forma permanente.</p><p>Tecnologia - este parâmetro possui uma variedade imensa de tipos, visto que para cada dispositivo entre os</p><p>já mencionados (discos, disquetes, fitas, discos óticos, CD-ROM) há d iferentes tecnologias de fabricação atu­</p><p>almente em uso, o que dificulta a sua descrição neste item. Nos Caps. 9 e 10 serão apresentados mais detalhes</p><p>de cada dispositivo, incluindo-se algumas das tecnologias em uso.</p><p>Temporariedade - conforme já mencionado no item volatilidade, a mcmó ,ia secundária é um componente</p><p>(vendo-se os diversos dispositivos corno um todo) de annazenamento com caráter permanente ou, pe)o me­</p><p>nos, de lo ngo período de armazenamento. Ela serve. ent.1.o, para armazenar programas e dados que não estão</p><p>sendo requeridos imediatamente e que exigem també1n grande espaço de armazenamento devido à sua natu­</p><p>ral quantidade.</p><p>A Fig. 4.6 apresenta diversos tipos de memória atualmente em uso nos microcomputadores, caracterizando</p><p>definitivamente a hierarquia e os elementos 1nencionados até ent..1o neste texto.</p><p>4.3 MEMÓRIA PRINCIPAL OU MEMÓRIA PRIMÁRIA - MP</p><p>Neste item serão apresentadas as características essenciais da memória principal ou primária de um sistema</p><p>de computação . E1ll primeiro lugar será mostrada a estrutura organizacio nal da MP, projetada para um acesso</p><p>rápido e fãcil pelo processador. Em seguida, serão descritas as operações que podem ser realizadas entre pro­</p><p>cessador e MP, bem como detalhes de capacidade, tempo de acesso e ciclo de máquina. Como conclusão,</p><p>serão apresentados alguns tipos de memória principal. No Apêndice D abordam-se maiores detalhes de fabri­</p><p>cação e endereçamenco das memórias RAM.</p><p>4.3.1 Organização da Memória Principal</p><p>P:ira melhor descrever a org:111ização da memória p1incipal (MP) dos computadores, é bom lembrar alguns</p><p>conceitos já expostos j untamente com o utros a serem apresentados pela p1·imcira vez:</p><p>a) a MP é o "depósito" de trabalho do processador, isto é, o processador e a MP trabalham íntima e di­</p><p>retamente na execução de um programa. No instante de execução do prob,rra1na, as instruçÕ<.!S e os dados</p><p>do program:1 vão sendo armazenados na MP (o processo de criação e funcionamento da memória vir­</p><p>tual, da organização da MP em páginas etc. foge ao escopo deste livro, mas pode ser encontrado em</p><p>literatura referente aos sistemas operacionais) e o processador os vai "buscando'' à medida que a execu­</p><p>ção vai se desenrolando.</p><p>Neste capítulo não será considerada a existência das memórias cache, pois, na realidade, o processa­</p><p>dor "busca" um dado/instrução na MP, mas <essa solicitação é interceprada pelo controle da memória</p><p>cache, e se uma cópia do dado já estiver armazenada na cache ela é trazida para o processador, sem</p><p>necessidadte de acesso à MP (ver Cap. 5);</p><p>b) os programas são organi zados dte modo que os comandos são descricos seqüencialmente e o armazena­</p><p>mento das instruções se faz da mêsma maneira, fisicamente seqüencial (embora a execução nem sempre</p><p>se mantenha de fonna seqüencial - ver Cap. 6);</p><p>c) palavra - é a unidade de informação do sistema processador/MP que deve representar o valor de um</p><p>número (um dado) ou uma instrução de máquina. Desse modo, a MP deveria ser organizada como um</p><p>conjunto seqüencial de palavras, cada uma diretamente acessível pelo processador. N a prática isco não</p><p>acontece porque os fabricantes seguem idéias próprias, não havendo um padrão para o tamanho da</p><p>palavra e sua relação com a organização da MP. Por exemplo, os antigos processadores Intel 8086/</p><p>SU$W</p><p>96 / Mt m6rin Priucipal</p><p>8088 possuíam palavra com um tamanho igual a 16 bits; a palavra dos processadores Intel, desde o 80386</p><p>até o Pentium 4, bem como dos processadores AMD, desde o K6 até os Athlon K7 é igual a 32 bits; a</p><p>palavra dos processadores Intel ltanium, AMD Athlon 64, AMD Opteron e do HP Alpha é de 64 bits,</p><p>enquanto a MP associada a todos esses processadores é orga,úzada em células com 8 bits (1 byte} de</p><p>tan1anho;</p><p>d) e11dereço, co11te1ído</p><p>e posição de MP - em toda organização composta de vários elementos, que podem</p><p>ser identificados e localizados individualmente para, com eles, ser realizado algum tipo de atividade, há</p><p>necessidade de se estabelecer um tipo q ualquer de identificação para cada elemento e associar a esta</p><p>identificação um código (ou coisa parecida) que defina sua localização dentro da o rganização, de modo</p><p>que cada elemento possa ser facilmente identificado e localizado. Este é o conceito, já exposto, de en­</p><p>dereço, conteúdo ou posição de MP (vale, aliás, para qualquer tipo de memória) (ver item 4.l). A Fig.</p><p>4.7 mostra um exemplo do significado de endereço e conteúdo de uma memória e sua óbvia diferença;</p><p>e) 1111idade de armaz e11a111e11to - consiste no grupo de bits que é inequivocamente identificado e localiza­</p><p>do por um endereço. A MP é, então, organizada em unidades de armazenamento, que denominamos,</p><p>neste texto, células, cada uma possuindo um número de identificação - seu endereço - e contendo em</p><p>seu interior uma quantidade M de bits, que se constitui na informação propriamente dita (pode ser uma</p><p>instrução ou parte dela, pode ser um dado ou parte dele). Na vida real, o valor de M, ou seja, a largura</p><p>de cada célula de memória RAM (MP), é de 8 bits ou 1 byte . Por essa razão, é comum simplificar-se</p><p>a nomenclatu ra da capacidade das MP (RAM) e, cm vez de se expressar a capacidade de uma dada</p><p>memória por "64M células de I byte cada uma", simplifica-se para "64 Mbytcs" o u 64MB.</p><p>Teoricamente, a unidade de armazenamento da MP deveria ser a palavra, isco é, palavra e célula</p><p>deveriam ser especificadas com o mesmo tamanho, o q ue não acontece, e os fabricantes têm preferido</p><p>organizar as M P com células de 1 byte (8 bits} de tamanho, com palavras de 16, 32 e até 64 bits. Há</p><p>au tores que definem célula como o local destinado a armazenar 1 bit e, nesse caso, um grupo de células</p><p>(ou de bits) é acessado por um mero endereço;</p><p>f) unidade de trauiferêucia - para a MP, consiste na quantidade de bits q ue é transferida da memória em</p><p>uma operação de leitura ou transferida para a memória em uma operação de escrita. Também, teo1ica­</p><p>mente, deveria ser igual à palavra e à unidade de armazenamento, porém, em face do aumento da ve­</p><p>locidade e da taxa de transferência dos barramentos e aperfeiçoamento da tecnologia das memórias R AM,</p><p>os sistemas vêm usando unidades de transferência diferentes não só da largura de uma célula, mas tam­</p><p>bém da palavra.</p><p>Por exemplo, os processadores atuais (excluídos os de 64 bits), embora sendo construídos com palavras de</p><p>32 bits, est.io podendo transferir 64 bits (8 células) ou até 128 bits (16 células) de cada vez entre processador</p><p>e MP, devido ao barramento de dados de 64 ou 128 bits.</p><p>End257A</p><p>End 257B</p><p>:::::</p><p>1</p><p>MP</p><p>1F</p><p>2C</p><p>Conteúdo da posição de memória = 2C</p><p>Posição da MP com endereço igual a</p><p>257A tem armazenada a informação</p><p>cujo valor é 1 F.</p><p>Figura 4.7 Significado dos valores de endereço e conteúdo na MP.</p><p>SDêW</p><p>Memórin PrfrldptJI I 97</p><p>A memória principal de qualquer si.sttema de oompmação é organizada como um cOl'yunto de ' cHu1a</p><p>seqilencialmente dispo 1a a partir da célula de endereço igual .a O até a ú1tima de endereç igual ,a N - 1- con­</p><p>fonne mo.m.-id n.:i Fig. 4.8.</p><p>Cada célnfa é constmída. para. annaze:nar u:m grupo de M bits, que representa a i11formaçio propriamente dit-a</p><p>e que é manipul}do em conjunto (como se fo. e uma única unidade) cm uma operação de leitura u de e crir:L</p><p>Com o de envol v:imento da tecnologia de micro detrônica e de semkondutores, a. antiga memória de</p><p>núdeo magnético foram substituídas, por vol~ d 1970, por dispo iti os voláteis de C:ir do. ólido denomina­</p><p>da!> genericameme RAM (memórias de ace o ai atório) e, no ca o da MP, por um modelo de tecnologia</p><p>eh.amado O RAM - memórias RAM dinamicas ou dynamic random access wemory. As :iet 1ória de semicm -</p><p>duton:!> p s uem várias c,u ctel's.ticas intel'essantes que as toma.m extJ",emameute vantajosas para se constituí­</p><p>rem na ba e d: MP, qu i ~:J<im:</p><p>• são memória. d a e. o ale, tório {RAM nmdom am:ss mcmory,), ou eja., o ac o a cada célula d,epende</p><p>apenas de cu endcn:ço , · I'.lâo da posição do acesso anterior, como ac,ontec·a nas memórias d · acesso</p><p>s.eqüencial~</p><p>• ocupam ndaüvam •nt pouco espaço, podendo muit.os bits serem amiazenaidos em uma pa tilha (r::l1ip)</p><p>pois a espessura dos. componente (capacjtor e tt.ansi tor) é e.xtrem . .amenre pequena da ordem de mí­</p><p>crons· e</p><p>• po s.u m tempo de ace s.o pequeno (da ordem de nanes egundo ).</p><p>Ess~.ncialmentc, o e!.pàÇo de àrmaze11a1-ue11to da t 11er 11ÓI · a principal (gen rica 1e11tt: cha nada de RAM} é</p><p>um grupo d célufas, ada uma pod,endo armazenar um. grupo de M bi . E ta é a memória de trabalho do</p><p>proce sador , portanto, deve permitir o armazenamento de instruções e dados (operação de escrita) e tam­</p><p>bém a leitura de sa m~mas :instrnções e dadm. Chan a- c a isso uma memória do cipo Lei.rum e E crita (Readi</p><p>WrUe) . Este ti:po de memória tem urna particularidade de-s antajo a que é o fato de s.er volãtil i to ê, pc-rd ·</p><p>toda a infonnaç-âo nda armazenada se for int~rrompida a nergia létrica que a alimenta.</p><p>No entanto todo ístema p:redsa, para iniciar seu füncionamenro regular- qLte um gnipo de instruções (não</p><p>· ào programas grandes) esreja pem1anenremente ami.azenado na MP de modo que, aco ]igarmos o compuc dor,</p><p>esse progrn.m.a ü-ricie amomaticament o funcionamento dô istcma~ no ca o d PCs, c-ssc programa chama-se</p><p>Endereço O</p><p>Endereço 1</p><p>Endereço 2</p><p>Enclereço 3</p><p>~ndereço N-2</p><p>Endereço N-1</p><p>MP</p><p>. Mbils -</p><p>- M biis</p><p>. M bits</p><p>~</p><p>Bit 1 Bit 2</p><p>-</p><p>0itM·1</p><p>Ncilulas</p><p>Tooas as ,cékllfls !êm a.</p><p>mesma quantidade M de biis</p><p>Figura 4.8 Organizaçãô básica da MiP.,</p><p>Sn$W</p><p>98 / Memórin Prinâpal</p><p>POST - Po111er 011 &!f Test. Essas insm,ções vêm jumo com o hardware e não devem sofrer um acidental apa­</p><p>gamento se, inadvertidamente. un1 progrania do usuário tentar gravar em cima delas . .Elas devem estar, portanto,</p><p>em um tipo de RAM que só pennica leinira por parte dos programas comuns. A gravação (esc1ita) nelas deve ser</p><p>realizada eventualinente, e não através de processos comuns. Essas memórias chamam-se memórias someme de</p><p>leitura (ROM - Read 011/y Memory) . O icem 4.3.5 descreve outros aspcccos relativos às memó,ias RAM e ROM.</p><p>Observação: O mercado e a maioria dos textos encomrados sobre o assunto consideram a MP constimída de duas</p><p>partes: memória RAM, apenas a memória volátil que usamos para annazenar programas e dados em execução (os</p><p>tradicionais pentes de memória DIMM), e memória ROM, a parte que comém os programas de irúcialização e</p><p>ourros de controle. No entanto, há opinião que considera a MP como um todo como memória RAM, separada</p><p>cm duas partes, uma Readi Hliite Ocimra e escrita} volátil etc. (a memória aqui mencionada como ll.AM) e outra</p><p>somente para leitura, ou R.OM. Ou seja, por essa opinião as memó1ias ROM, tendo acesso aleatório e tempo fixo</p><p>de acesso a qualquer célula, são também RAM, embora com características de fàb,icação (para não serem voláteis)</p><p>diferemes do outro tipo (lein,ra/ escrica). Porém, essa opinião não é muito difündida e partilhada pela maioria e,</p><p>assim, na prática devemos considerar a primeira versão: memória p1incipal constituída de RAM e ROM.</p><p>No icem 4.3.5 trataremos um pouco mais dos tipos RAM e ROM, bem como no Apêndice D, quando</p><p>serão abordados mais detalhes de fabricação e funcionamento da memória RAM.</p><p>4.3.2 Considerações sobre a Organização da Memória Principal</p><p>Embora a organização estrutural das men1órias de semicondurorc-s, atualmente adotadas como MP, seja</p><p>simples do ponto de vista conceituai - grupo de N células com M bits cada-, uma análise mais detalhada dessa</p><p>mesma org.irúzaçào pemúte relacionar algumas observações interessantes que têm servido de base para modelos</p><p>diferentes ou discussões técnicas.</p><p>a) A q11a11tidade de bits de 111110 cé/11/a (valor de M na Fig. 4.8)</p><p>Já 1nencionamos que cada célula é constituída de um conjunto de circuitos</p><p>do Padrão PCI, 612</p><p>D.3.3.2 Emprego da Arbitragem nos Barramentos PCI, 615</p><p>D.3.4 Sobre Alguns Barramentos, 616</p><p>D.3.4.l Tecnologia USB - Universal Serial Bus, 616</p><p>D.3.4.2 Tecnologia HypcrTransport. 617</p><p>xii / Smnário</p><p>0.3.4.3 Tecnologia Firewire (!EEE 1394). 618</p><p>D.3.4.4 Tecnologia AGP, 618</p><p>0.3.4.5 Tecnologia PCl Express, 619</p><p>0 .4 Circuitos de Apoio (Chipsets). 620</p><p>0.5 Organização de Dados na Memória do Tipo 13ig Endian e l ittle Endian, 621</p><p>D.6 Sobre a Representação de Números em Ponto FJutuance, 622</p><p>D.6.1 O Padrão IEEE-754, 1985, 624</p><p>0 .6.2 Erros e Arredondamento em Opernçõcs Aritméticas cm Ponto Flutuante no Padrão</p><p>lEEE-754, 628</p><p>O. 7 Sobre o Sistema de Entrada/ Saída (EIS), 629</p><p>D.7.1 lntroduç,io, 629</p><p>D.7.2 Sobre Teclados, 629</p><p>D. 7.2.1 Ernpas Oásicas do Funcionamento de um Teclado Utilizado</p><p>e111 Microcomputadores, 629</p><p>O. 7.2.2 Um Pouco de História, 632</p><p>D. 7 .3 Sobre Vídeos, 633</p><p>D.7.3.1 Vídeos de Cristal Líquido - LCD, 634</p><p>D.7.3.2 Vídeos de Gás Plasma, 635</p><p>D.7.4 Tecnologias Alternativas parn Impressão cm Cores, 635</p><p>D. 7 .S Sca1111ers, 637</p><p>Exercícios, 638</p><p>E CÓDIGOS D E REPRESE NTAÇÃO DE CARACTERES, 642</p><p>E.1 Tabelas de Códigos ASCII e EBCDIC, bem como Valores em Hexadeci111al, 645</p><p>E.2 O Unicode, 645</p><p>F GLOSSÁRIO, 647</p><p>BIBLIOGRAFIA, 658</p><p>RESP OSTAS D OS EXERCÍCIOS, 662</p><p>ÍND ICE, 694</p><p>Sn$W</p><p>Introdução</p><p>1.1 CONCEITOS BÁSICOS</p><p>1.1.1 Processamento de Dados</p><p>Sn$W</p><p>Um computador é uma máquina (conjunto de partes eletrô,úcas e eletromecârúcas) capaz de sistematica­</p><p>mente coletar, ma,úpular e fornecer os resultados da manipulação de i,úonnações para um ou mais objetivos.</p><p>Por ser uma máquina composta de vários circuitos e componentes eletrô,úcos, também foi chamado durante</p><p>algum tempo de equipamento de pr0<essa111e11ro e/e1r611ico de dados.</p><p>Processamento de dados (tradução do termo inglês Data Processi11g) consiste, então, em uma série de ativi­</p><p>dades ordenadamente realizadas, com o objetivo de produzir um arranjo determinado de informações a partir</p><p>de o utras obtidas inicialmente.</p><p>A manipulação das inforn,ações coletadas no irúcio da atividade chama-se pr0<essa111e1110; as i.Júonnações iiúciais</p><p>são usualmente denominadas dados.</p><p>Os tennos dado e i11for111ariío podem ser tratados como sinõrúmos ou como termos distintos; dado pode ser</p><p>definido como a matéria-prima originalmente obtida de uma ou mais fontes (etapa de coleta), e i11for111ação</p><p>como o resultado do processamento, isto é, o dado proce,;sado ou "acabado".</p><p>A Fig. 1. 1 mostra o esquema básico de um processamento de dados (manual ou automático), que resulta</p><p>em um produto acabado: a i,iformaçiío.</p><p>bifon11ação subentende dados orga,úzados (segundo um arra,tjo ou programação específica) para o atendi­</p><p>mento ou emprego de uma pe,;soa ou grupo que os recebe.</p><p>Como o conhecimento e a tomada de decisão s.ão importantes em várias áreas e cm diferentes níveis hie­</p><p>rárquicos de uma organização, a informação para uma determinada pessoa ou grupo pode ser considerada</p><p>como um dado para outra.</p><p>Por exemplo, o processamento eletrô,úco de dados (PED) de itens do estoque de uma empresa pode estar</p><p>estruturado para ser realizado em diferentes etapas. Na primeira, deseja-se apenas atualizar as informações de</p><p>est0que para uso do almoxarifado e, nesse caso, os dados (de entrada) são itens recebidos e retirados em um dia,</p><p>bem como a posição do dia anterior; o processameuto consistirá, basicamente, em operações arinnéticas de soma</p><p>e subtração (além de outras não principais); como resultado (de saída), obtêm-se informações sobre a nova</p><p>posição do estoque.</p><p>Numa segunda etapa, pode-se ter um outro tipo de processamento, dessa vez para produzir informações</p><p>para um outro nível de tomada de decisão. Nesse caso, utiliza-se como dados a posição do est0que (informa­</p><p>ção no processamento anterior); o processa111e1110 verificará quais itens estão abaixo de um mírúmo, e como</p><p>resultado (de saída) obtém-se a 11ova informação (itens especificamente selecionados).</p><p>Sn$W</p><p>2 / 1 utrodução</p><p>DADOS PROCESSAMENTO</p><p>RESULTADO: Informação</p><p>(En1radas) (Saida)</p><p>Figura 1.1 Etapas básicas de um processamento de dados.</p><p>É claro que. nesse caso, um único processa1nenco poderá obter as duas informações. inas isso não impede</p><p>que constatemos a variação do emprego de dado e informação.</p><p>A obtenção de dados e a realização de seu processamento para produzir informações específicas são uma</p><p>atividade que vem sendo exercida desde os primórdios da civilização. O que tem variado com o correr do</p><p>tempo é, além naturalmente da tecnologia, o volume de dados a ser manipulado e a eficácia da manipulação,</p><p>medida em termos de velocidade e flexibilidade na obtenção das infonnaçõcs resultantes.</p><p>A busca de técnicas mais eficazes de processamento de dados, aliada ao natural avanço tecnológico cm di­</p><p>versos oucros ramos de atividade, como a eletrônica e a mecânica. por exemplo, conduziu o mundo ao desen­</p><p>volvimento de equipamentos de PED - os compuradores - capazes de coletar, armazenar e processar dados</p><p>muito mais rapidamente que os antigos meios manuais. Como veremos mais adiante, neste capítulo, o pri­</p><p>meiro computador (a máquina capaz de automatizar o processamento de dados) surgiu da necessidade de se</p><p>acelerar a realização de cálculos (processamento matemático de dados) .</p><p>Atualmente, com a imensa quantidade de informações que precisam ser conhecidas e atualizadas rapida-</p><p>1nence pelas empresas, a utilidade dos computadores deixou de ser apenas importante para se tornar essencial,</p><p>quase imprescindível em praticamente todo tipo de atividade.</p><p>O avanço tecnológico na área de telecomunicações também contribuiu de modo considerável para o cres­</p><p>cimento do uso de compuradores, visto que permitiu sua interligação, criando-se as redes de comunicação de</p><p>dados, sejam as in ternas a uma empresa ou aquelas que interligarn outras redes. O exe1nplo mais claro e de</p><p>conhecimento mais amplo do público em geral é o da lncernec, a rede mundial capaz de pennitir a comuni­</p><p>cação entre praticamente qualquer ripo de computador, alavancando, também, seu conhecimento e sua uti­</p><p>lização a áreas da sociedade muitas vezes distantes de qualquer tipo de tecnologia.</p><p>Quando se estuda ou analisa um computador, podemos trarar o assunto sob dois pontos de vista diferentes:</p><p>da organização (ou implemencação) e da arquitetura do computador.</p><p>A organização de um computador, também conhecida por implementação, é a parte do escudo da ciên­</p><p>cia da computação que trata dos aspectos relativos à parte do computador mais conhecida dos especialistas que</p><p>o construíram e cujo entendimento é desnecessário ao programador. São aspectos relativos aos componentes</p><p>fisicos específicos, como a tecnologia utilizada na construção da memória, a freqiiência do relógio, os sinais de</p><p>controle para iniciar a.~ mjcrooperaçõcs nas d iversas unidades da máquina.</p><p>A arquitetura do mesmo computador é uma outra parte da mesma ciência da computação, mais no nível de</p><p>conhecimento desejado pelo programador, visto que suas características (as da arquitetura de uma determina­</p><p>da máquina) tê1n impacto direto na elaboração de um progran1a. São elementos de uma arquitetura, o con­</p><p>junto de instruções de um processador, o tamanho da palavra, os modos de endereçamento das instruções, o</p><p>tipo e o tamanho dos dados manipulados pelo processador.</p><p>Como exemplo da distinção entre essas partes, podemos mencionar como elemento de decisão de uma</p><p>dada arquitetura se a sua unidade de controle será ' ' programada por hardware" ou se será microprogramada</p><p>(ver Cap. 6 e Apêndice D). Decidido, por exemplo, que ela será microprogramada, ent.10 um aspecto da</p><p>organização do processador a ser decidido refere-se ao tipo de tecnologia e ao tamanho da memória de con­</p><p>trole, que armazenará as microinstruções projetadas para o referido processador.</p><p>Desse modo, um fab1icante pode definir elementos característicos da arquitetura de uma "família'' de pro­</p><p>cessadorc-s e construir vários deles, cada um com uma diferente</p><p>eletrônicos, baseados cm semi­</p><p>condutore:s, que pennitem o armazenamento de valores O ou t , os quajs representam um dado ou uma instrnção.</p><p>A quantidade de bits que pode ser armazenada em cada célula é um requisito definido pelo fabricante. Uma</p><p>célula contendo M bits permite o annazenamento de 2M combinações de valores. uma de cada vez, é claro. A</p><p>Fig. 4.9 mostra alguns exemplos de MP com diferences tamanhos de células.</p><p>Há bastante tempo todo o mercado vem adotando uma largura (tamanho) padrão de célula de 8 bits - 1</p><p>byte, mas no passado vários tamanhos foram utilizados por d iferences fabricantes.</p><p>b) A relação endereço X co11terído de 11111a célula</p><p>EndO</p><p>End 1</p><p>MP1</p><p>12 bits</p><p>12 bits</p><p>End 254 l----'-'2=bit"s'----l</p><p>End255,.._ __ c.12=bits=----'</p><p>(a)</p><p>EndO</p><p>End 1</p><p>MP2</p><p>16 bits</p><p>16 bits</p><p>End 254 l----1cc6..cb,'lts'----i</p><p>End255 ..._ _ __ 1..c6..cb~~'---~</p><p>(b)</p><p>EndO</p><p>End 1</p><p>MP3</p><p>Sbits</p><p>8bits</p><p>End 254 f---"8-"bit"'' •'---i</p><p>End 255 '---"ª-"bi"''IS'---'</p><p>(e)</p><p>Figura 4.9 Exemplos de MP com mesma quantidade de células (256), porém com largura de célula dife­</p><p>rente.</p><p>SDêW</p><p>Mem6.ria Principal l 99</p><p>MP1</p><p>EndOOOO</p><p>Encl 0001</p><p>End0002</p><p>End 1AC5 BS</p><p>End FfFE L__j</p><p>End FFFF ~</p><p>(a}</p><p>EndlOOOOOO</p><p>Enc11 00000,1</p><p>Enc132A57B</p><p>MP2</p><p>C3</p><p>i:= ~</p><p>EndFFFFPE L__J</p><p>EndFFFFFF~</p><p>(b)</p><p>End 000000001</p><p>En.d 00000001</p><p>EndA315COOO 24</p><p>:::; =</p><p>Enel FFFFFFFE L__J</p><p>End FFFFFFff ~</p><p>(e)</p><p>F"guta 4,.10 Exemplo de P ,com mesma lar~ra do dh.1b, porém com quantida,de de êélu1as. diiferenee.</p><p>A Fig. 4.9 mo tra exemplos d memória com diferentes tan anho de C(;lub. porém com a rne. ma qu:mti­</p><p>dad1: de célul.is (no. ex mplos há três organizações de MP cada uma com 256 ctilula ), ender,~ç-ad.:i d · 010 a</p><p>255111 ou d,e 0016 a F · 16 ou aind, de- O O 00002 a 1 '1 1 '] 11 '11 ~-</p><p>A Fig. 4.1 moma outros exemplos de organização de MP, desta vez com memória de 111;;m10 tamanho</p><p>dt: célufa, porém com quantidades d-ifon.:nt,ç de célula~.</p><p>A comparação entre os exi:mplo d;'I Figs. 4.9 e 4.10 indica qu os alares de endereço e conteúdo de célula</p><p>embo1-a as.soc'ados ou si:ja, o ndereço [A 5 está associado ao conteúdo BS no e ·emplo d:l Fjg. 4.10 (a), têm</p><p>ori.gen diversa , Em outra pafavras, a quantidade de bi do núm roque re:pres nc;i um d.etetmin.ado ende­</p><p>reço, p. ex., 16 bits do nfonero IACS no exemplo da Fig. 4.10 (a) define a quantidade máxima de end ·rcço</p><p>que urna MP pod · ter, bem corfü) o s,cu espaço d,c endereçamento. o e. emplo cita.do, es. e paço de</p><p>ndci-eçami:nco ôu capacid d,c mãxim d memória(;:</p><p>64K c-élulas. porque 21'' = 26 • 2 111 = 64 · K ôu 64K</p><p>Como toda as célul. têm o tamanho de 1 b re a qu:lntid.ade de célula: é sempre ig11al à quantidade d</p><p>bytes.</p><p>4.3.3 Operações do Processador com a Memó:da P rincipal</p><p>Já :lbemos conforme anteriorm nte e ·plicado que é poss.í eJ realizar dua op raçõ s com a memória prin­</p><p>cipal (pode-. e e. tender essa afim:iaçâo para qualquer tipo de dispos:itivo de .armazenan1ento embora e uf>em</p><p>[ omes dif! rentes mo ltro dipo·it'vos):</p><p>• e. crita (write) - armaz nar ir formaçÕt!s na memória·</p><p>• leitura (muf) - recuperar u1111a jnformação armazenada na memó1·ia.</p><p>abemo t..unb 'm que a operação de leitura não destrói o cont údo da m mória, ela a.pena providenóa a</p><p>transfer,ênc·a de uma cópi, do qu , e tí armaz.et ado enquanto a i 1fom1.açào de ejada continua armazenada.</p><p>omente a operação d escrita é d .tmtiva.</p><p>Vamos de crever com um pouco mais de detalhe, como se de enrola conceitualmente uma opernç.ão de</p><p>l iturn e mua d es.crita na MP de um si t ma d co m.p u mçâo,</p><p>Para ramo há ncc Si;idade d . e .apr enrnr o el m mo. que co-mpô ma esr:rnmrn Proce sado:r/MP e que</p><p>lo uti]i2~1do na,quela opera.çõe (ver fjgs. 4 .1 1 e 4.1 2) a aber:</p><p>- barr;im~ntos (de- dado~BD dt: endcn.:ço~ - BE 1;; de contro]1; - BC);</p><p>- regi.sua.dores de dado e , ndereços d, memória.·</p><p>- controlador da memória,</p><p>Snõw</p><p>100 / Mcmdri.11 Prirzcip·al</p><p>UCP MP</p><p>REM</p><p>Barramento de OOlll:role</p><p>Sarramemto, d@ endueços</p><p>B-arramenlo de dados</p><p>Figura 4.11 Estrurura UCP/MP e a utiilização de barramento paira comunicação ,entre eles.</p><p>A Fig. 4. 12 mostra algun do componentes citado (exceto o registradores, 1uinúsculos di positivos cxi -</p><p>tente dentro do processador), como os barramentos e o controlador de memória.</p><p>Bamnncnto de d«Jo•s - (ver · tem 2.1) - intediga o RDM {M:UR) à MP, para tramferência de infor :nações</p><p>encre MP e preces ador ( eja1n insm1ções ou dado }. É bidireci(lnal, ist-0 é ora o, sinai percorrem o barra­</p><p>mento do processador para a MP (oper.,ção de crim) ora percorrem o caminho inverso (operação de lejtma);</p><p>es.te elemento já foj momado no Cap. 2.</p><p>Na Fig. 4.12 pode ser visto o barramento que intediga os conectol'es da MP (RAM) ao controlador e de te</p><p>.i.o proce .. ador. Trarn- e do ban;'lmcnto c-onh ·ciclo como b.i.n'"3mcnrn do. irn:m . .i. (s,,s1em b11s) ou FSB lfro,rt side</p><p>lm.s), já mostrado no Cap. 2. Uma parte do fios ' usada para trans.Íi r'ncia de dados, o BD.</p><p>Registrad,or de Dados da Me,nória (RDM), Mcmory Bziffer Rcgister (MBR) - regi trndor que ar111.i.2 ·tia te111-</p><p>porariamen~ a informação (conteúdo cl • uma ou 111ais célula ) que e tá end,o tran:;fü1-ida da MP pa1;'1 o pro­</p><p>c·e f>:ador (em uma oper. çào de leitura) ou do p1·oce:; ador para a MP (c::m uma opc1-ação de escrita)_ Em 'SegL11-</p><p>da a referida info mação é reencaminhada para outro dispo itivo do processador para plloce amento ou para</p><p>tu1t1a célula da MP conform. o tipo da operaçiiio d,e tt:msferência. Permite armazenar a mesma quantidade de</p><p>bit do barramento de dad.o . .</p><p>Registr.ad.or de EuJereços da Me,nória (REM), 1vlemory• Address Rtgistcr (MAR) - regi trador que armaz na</p><p>temporariamente o endereço de acesso a uma posição de memória, ao e iniciar uma operação de leitura ou</p><p>de escrita. Em seguida, o referido endereço é encaminhado à área de comrnk da MP para decod1Ílcaçâo e</p><p>loca]ização da célula de ejada. >e:rmite armazenar a mesma quJ.ntidadc- de bits. do barramento de endereços.</p><p>Barramento ,de erulerefOS - interliga. o REM (MAR) à MP para n,ansfi rên ·ia dos bit! que r presencam um</p><p>det rm.i 1 do endereço. E uniidir~cional, vi:to que !.QnH:.mte o processador a.dona a MP paira a. realiz.11çl.o de ope­</p><p>rações de leitur ou es.cri.ta. PO'S$Ui tanco fios (olll linha. d crarunissàio) quanto ão os bits que representam o</p><p>va]ol' de um endereço. É part do barram1:nt<J do sistema. !llO!.tra.do na F:ig. 4.12 e já descrito no Cap. 2.</p><p>Barrarue,tt.o de co·n~role - rnnjumo de fios condmores que imerliga o proce sador (unidade de controle) à</p><p>MP para pasiagcm de :sinai de controle durante uma opemção de leitura ou escrita. É bidirecional, porque o</p><p>1</p><p>1</p><p>1</p><p>...... ...... ,</p><p>1111111111111</p><p>1 Chip~! 1</p><p>Sn$W</p><p>Mem6ria Principal / 101</p><p>1!!11!!1 l!!!I</p><p>RAM</p><p>(MP)</p><p>1 1</p><p>Processador</p><p>Controlador</p><p>~ dememória</p><p>Chi~I</p><p>...................... ...................... ................................. ...... ,. ......................... . ................................. ..............................</p><p>11</p><p>Figura 4.12 Exemplo de placa-mãe com componentes do siste1na de memória.</p><p>processador pode enviar sinais de controle para a MP, como sinal indicador de que a operação é de leitura</p><p>(R EAD) ou de escrita (WRlTE}, e a MP pode enviar sinais do tipo WAIT {para o processador se manter</p><p>aguardando o término de uma operação), além de uma infinidade de ou tros sinais, como os do relógio etc.</p><p>Esse barramento também já foi descrito no Cap. 2.</p><p>Co11trolador da Memória - tem por função gerar os sinais necessários para controlar o processo de leitura ou</p><p>de escrita, além de interligar a memória aos demais componentes do sistema de computação. É o controlador</p><p>que possui a lógica requerida para receber e interpretar os sinais de controle do processador e responder a ele</p><p>nas operações de leitura e escrita; além disso, decodifica o endereço colocado no barramento de endereços,</p><p>localizando a célula desejada e liberando os bits para o barramento de dados.</p><p>O contro lador da memória</p><p>fuz parte de um chip conhecido como dúpsct, localizado na placa-mãe (ver Fig.</p><p>4.12), cuj as demais funções serão descritas no Cap. 6 e no Apêndice D.</p><p>Para simplificar a descrição dos procedimentos de leitura/ escrita serão omitidos alguns detalhes dos sistemas</p><p>reais, como o fato de o endereçamento não ser realizado diretamente a cada célula, e sim por um método de</p><p>orbranizar a memória cm linhas e colunas (esse método é detalhadamente apresentado no Apêndice D), assim</p><p>como o uso de dispositivos auxiliares no processo de leitura/escrita: interface de dados do barramento,</p><p>decodificadorcs de linhas e colunas e sinais de tempo, como CAS e RAS.</p><p>O autor considera que para o entendimento básico do leitor sobre o processo de leitura/escrira é essencial</p><p>simplificar a quantidade de componentes e a descrição, sem pt!rder a essência conceituai do processo. Para os</p><p>leitores interess.1dos no detalhe e na realidade do funcionamento das memórias, sugere-se a leitura do Apên­</p><p>d ice D.</p><p>Tambén1 com o propósito de simplificar a descrição de procedimentos e operações realizadas intemamcnte em</p><p>um sistema de computação, vamos adotar uma convenção geneticamente conhecida como Linguagem de Trans­</p><p>ferência entre Rcgistradorcs (L TR), tradução do tcnno R~'l/ister Tra11efer La,,eu~~c. Princípios básicos da L TR:</p><p>a) Caracteres alfanuméricos significam abreviaturas de nomes de registrndores ou posições de 1nemória.</p><p>Ex.: R.EM, MP.</p><p>b) Parênceses indicam concelldo. no caso de regiscradores, ou que o valor encre parênteses é um endereço</p><p>de MP.</p><p>SU$W</p><p>102 / .Mtmdria Principal</p><p>c) Uma seta indica atribuição, isto é, transferência de conteúdo de um registrador para outro ou para a</p><p>MP ou vice-versa.</p><p>Por exemplo:</p><p>(REM) {CI) - significa que o conteúdo do registrador cujo nome é CI é transferido (uma cópia)</p><p>para o registrador REM.</p><p>(ROM) (MP{REM)) - significa que o conteúdo da célula da MP cujo endereço está no REM é</p><p>transferido para o ROM.</p><p>4.3.3.1 Operação de Leit ura (Ver Fig. 4.13)</p><p>A realização de uma operação de leitura é efetivada através da finalização de algumas operações menores</p><p>(microoperações), cada uma consistindo em uma etapa ou passo individualmente bem definido. O tempo gasto</p><p>para realização de todas estas etapas caracteriza o te111pc> de atesso (ver item 4.2). O intervalo de tempo decorrido</p><p>entre duas operações consecutivas (leitura-leitura, leitura-escrita ou escrita-leitura) denomina-se ciclo de 111e1116ria.</p><p>A Fig. 4.13 mostra um exemplo de operação de leitura de um dado armazenado no endereço 1324 da MP</p><p>para o processador (o valor do dado é SC).</p><p>Os passos que descrevem a referida operação de leitura são:</p><p>1) REM t-- de o utro rcgistrador do processador (ver Cap. 6) .</p><p>1 a) O endereço é colocado no barramenco de endereços.</p><p>2) Sinal de leitura no barramento de concrole.</p><p>UCP</p><p>Outro reg.</p><p>REM</p><p>1324</p><p>uc</p><p>End 0000</p><p>End 1324</p><p>End FFFF</p><p>Barramento de contJole</p><p>Barramento de encler</p><p>se</p><p>Barramento de dados</p><p>1 · (REM) -+-(ovlro reg,)</p><p>1a · O endereço é colocado no barramento de endereços</p><p>2 • Sinal de leitura no barramento de oontrole (deoodficação)</p><p>3 · (RDM)-+-(MP (REM))</p><p>4 · (outro "'9-l -+-(ADM)</p><p>Figura 4. 13 Exemplo de operação de leitura.</p><p>se</p><p>Sn$W</p><p>Memória Pn'ntipal / 103</p><p>2a) Decodificação do endereço e localização da célula (controlador de memória).</p><p>3) ROM f- MP(REM) pelo barramento de dados.</p><p>4) Para outro registrador do processador f- RDM.</p><p>No primeiro passo, a múdade de Controle, UC do processador (a UC será descrita no Cap. 6) inicia a</p><p>operação de leitura através da transferência do endereço 1324 de um de seus registradores específicos {pode</p><p>ser, por exemplo, o CI, a ser descrito no Cap. 6) para o REM e coloca o sinal de leitura (READ) no barra­</p><p>mento de controle para indicar aos circuitos de controle da MP o que fàzer em seguida.</p><p>A MP dccodifica o endereço recebido (ver Apêndice D) e transfere seu conteúdo para o ROM atrnvés do</p><p>barramento de dados. Do RDM, então, a informação desejada é transferida para o elemento do processador</p><p>destinatário final (normalmente é um dos registradorcs do próprio processador).</p><p>A realização completa dos quatro passos desciitos gasta um tempo de acesso, mas não garante que a MP</p><p>possa realizar logo c.!111 seguida uma nova operação. Estar pronta ou não para realizar uma nova operação de­</p><p>pende do tipo de memória RAM utilizada, como veremos no item 4.3.5 {também no Apêndice 0). As me­</p><p>mórias estáticas (SRAM) pennitem que outra operação (de leitura o u escrita) seja imediatamente realizada</p><p>após a conclusão de uma operação de leicu ra/escrita, enquamo memórias dinâmicas (ORAM), não.</p><p>Observação: Como já mencionado anteriormeme, o processo foi simplificado para mostrar apenas os seus</p><p>dcmentos conceituais. não considerando, por exemplo. itens de tempo (sinais de relógio, cm diagramas de</p><p>tempo), nem a decodificaçào de endereços em duas etapas (linhas e colunas), deixando esses detalhes reais de</p><p>funcionamc::nto das memórias SRAM o u ORAM para o Apêndice D.</p><p>4 .3.3.2 Operação de Escrita (Ver Fig. 4.14)</p><p>A realização de uma operação de esetita segue procedimento semelhante ao da operação de leitura. exceto,</p><p>é daro, pelo sencido da transferência, que é inverso, isco é, do processador para a MP.</p><p>A Fig. -1.14 mostra um exemplo de operação de escrita de um dado, de valor igual a f7, do process.1dor</p><p>para a MP, a ser armazenado no endereço 21 C8.</p><p>Os passos que descrevem a referida operação são:</p><p>1) (!\EM) f- (outro registrador) - o Processador coloca endereço no REM</p><p>la) O endereço é colocado no barramento de endereços</p><p>2) (ROM) f- (outro registrador) - o Processador coloca no ROM o dado a ser</p><p>3) Sinal de escrita</p><p>transferido</p><p>- o Processador aciona o sinal WRITE pelo</p><p>barramento de controle</p><p>4) (MP(REM)) f- (ROM) - o dado é transferido para a célula de</p><p>memória pelo barramento de dados.</p><p>Nos primeiros passos a UC coloca o endereço desejado no REM e o dado a ser transferido no ROM. O</p><p>endereço é colocado no barramento de e ndereços, o dado no barramento de dados e o sinal de escrita ( Write)</p><p>é acionado no barramento de controle.</p><p>Como resultado da dccodificação do endereço pelos dispositivos de controle da memória, o valor F7 é</p><p>colocado na célula desejada, de endereço 21 C8.</p><p>Confo1111e explicado para a operação de leitura, a rt>alizaçào dos passos necessários à eferivaçào de uma</p><p>operação de escrita gasta um tempo de acesso, e a MP pode ou não estar preparada para imediatamente rea­</p><p>lizar nova operação.</p><p>Observação: A d<!sc1ição dos passos relativos à realização de uma operação de leitura o u de .:scrita não</p><p>teve o propósito de ser precisa no tempo e na sincronização absolutamente necessários. se:: fosse desejada uma</p><p>expJicação mais profunda a respeito do mecanismo de sincronização de operdçÕcs cm um computador. No</p><p>SDêW</p><p>104 / M ·,mí,i,1 Pri11cip11f</p><p>UC? MP</p><p>ndOODO</p><p>FIOM End:2 C8 F7</p><p>F7</p><p>BsiramenlO de oontróli!</p><p>O ,..alor F:l' é- e~ilo rlQ itridereç,o 21 -08 (valor 11n,lgo • 3A)</p><p>entanto, par~, quem estiver jnte1· sado 11e e ni 1 de detalhe o Apêndice D apresenta uma descrição mais.</p><p>precis.1 da$ referida operações.</p><p>4.3 .4 Capacidade de M P - Cálculos</p><p>Conforme já expos.w neste capitulo, a memória principal (MP) qm: o mercado conhece como memória</p><p>RAM ou simpk·smenre RAM, é organizada em. conjuntos d célufa cada uma podendo armaz- nar uma certa</p><p>quantidade de bits - a informação cm i, ·cja um, instrução (ou pa,te dela) ou um da.do (ou parte dele).</p><p>Na realidade, embora s.cja m:li~. impl-e imaginarmo..~ a MP como uma seqUêncü contJ.m1a de cé]ulas, de de</p><p>a célula de ndereço O (zero) atê a última cé]ula na prática essa m ·móri~ · $ãO org, nizadi fi ican ente de</p><p>forma diferent~ .. Na maioria dela são con tmidas. como matrizes de bits (divididas cm linha_ e colunas)., algu­</p><p>mas vez.es matrizes quadradas, mesmo número de fü1ha. e de col11.1na e outra v ·.z:e:s r ·tangular om m,·n</p><p>coJuna que linhas (ver Apêndice D),</p><p>Considerando que instruçõe e dados pred :.un estar armazenados</p><p>na MP para que o pr,ogr:;ima po. a er</p><p>executado pelo proce s.ador,7 e considerando afoda que é posc;ível, e ba tante de ejáivel qu vários programa.</p><p>po am ·'r e ·cutado conco-rrcnccn1c te pelo proce· ador, é importante conceituar o que eja capacidade de</p><p>uma memória e como podemos cakl~lar e entend r aumentos de capacidade e outr, s informações conccmen­</p><p>(êt;S. N t irem o enfoque m.üor do a ~unto se refere aos cálculo de capacidade em memórias RAM (MP).</p><p>Capacidadc de mcn:1ória n:fcre-:sc: genericamente à quantidade de informaçõe que nela podem er arma­</p><p>zenada m un instante de tc1npo. Tratando- e de um computador, cuja Lm:idade bá ica de represeutaçào de</p><p>'Den"-5<' co11!.irk•r.1r qll~. :Ullllm~n• •, l1' 1i:c11i 111ilii.1ib'i 1'~1':'1 g~.-re-,ici:i,in~nm de mc111L'nia de:cc'mlimm quc ap.:11:is u111:i. pcme do p~na ~ 51:llS dJdoi</p><p>pre•np111 ~t:ar :min:a~en:i.du"' ,u MI' ,lu ,m: ~ c:~e.:uç'.lo ti r.:(crido pro,;.r,u11a11. Esrn p.1rce 1<~111 diver:sai OC'lmmi113çoo ~gina. p. e:,;.),</p><p>Sn$W</p><p>t\tltmória Principal / 105</p><p>informação é o bit, pode-se imaginar este elemento como unidade de medida de capacidade. Neste caso,</p><p>poderia expressar a capacidade de uma memória com valores do tipo:</p><p>512 bits 16.384 bits 8.388.608 bits</p><p>À medida que os valores crescem, torna-se mais complicado e pouco prático indicar o valor pela sua com­</p><p>pleia quantidade de algarismos. No item 2.2.1 foi mostrado que é possível simplificar esta informação através</p><p>do emprego de unidades como o K (1K = 2'" = 1024). o M-mega (1 M = 2'' = 1.048.576), o G-giga (1 G</p><p>= 2,o = 1.073.741.824), o T-tera (lT = 2"' = l.099.511.627.776) e o P-peta (IP= 2'' = 1024 'D,</p><p>Desse modo, os mesmos valores antes indicados com codos os seus algarismos agora podem ser assim sim­</p><p>plificados:</p><p>512 bic~ 16K bits 8M bits</p><p>Mas, mesmo simplificando a apresentação da infonnaçào continua-se, neste caso, a indicar a capacidade da</p><p>memória pela quantidade de bits. No entanto, esta não é a melhor maneira de quantificar a referida capacidade.</p><p>Na realidade, sabemos que não é possível armazenar dois ou mais valores cm uma célula de incmória, ou</p><p>seja, em um único endereço somente poderá ser localizado e identificado um valor (um dado) . Isto porque se</p><p>fossem armazenados dois valores em um ende,·eço (uma célula), o sistema não saberia identificar qual dos dois</p><p>seria o desejado em uma certa operação de leitura ou escrita (precisar-se-ia. então. de uma identificação a mais</p><p>- um endereço dentro de um endereço), com codos os óbvios inconvenientes.</p><p>Desta fonna, o mais importante elemento para determinar a capacidade de uma memória é a quantidade de</p><p>endereços que poderemos criar e manipular naquela memória, visco que, na melhor das hipóteses, pode-se</p><p>a1mazenar um dado em cada endereço. Na realidade, o mais comum, principahnente quando se ma1t.ipulam</p><p>valores numéricos, é um dado ser armazenado ocupando várias céluJas e1 conseqüenternence, vários endere­</p><p>ços. Por exemplo, se a MP de um certo sistema estiver organizada com células de 8 bits de tamanho e os dados</p><p>forem defi nidos com 32 bits, enrào um dado sera armazenado cm quatro células (a maneira pela qual o sistema</p><p>recebe a informação de endereço daquele dado não é discutida aqui).</p><p>Como não se podem an11azcnar dois nún1cros no mesmo endereço (mas um número pode até ocupar mais</p><p>de um endereço), a quantidade de endereços tem mais sentido de individualidade de infom,açào do que qual­</p><p>quer outra unidade.</p><p>Na prática, então, usa-se a quantidade de células para representar a capacidade da memória e, como no</p><p>111ercado infonnaJ de compra, venda, assistência técnica etc. da maioria dos computadores a célula de memó­</p><p>ria principal (que o mercado denonúna informalmente RAM) tem um tamanho de 8 bits - 1 byte -, usa-se</p><p>mesmo é a quantidade de bytes (e muitos abreviam a informação colocando apenas o valor, sem a unidade, de</p><p>rào comum que é o uso de bytes). Em outras palavras, é normal procurar-se memória para compra informan­</p><p>do ao vendedor: "preciso de 16 megas", o que significa, na realidade: preciso de memória com 16 megacélulas</p><p>de 1 byte cada uma, isro é, preciso de ·J 6 mcgabytes de memória.</p><p>Ainda mais:</p><p>a) o bit, apesar de ser a unidade elementar de representação de infonnaçào nos computadores, individu­</p><p>almente não representa nenhuma informação útil (com exceção do valor de uma variável lógica), pois</p><p>somente pode assumir dois valores, O ou 1 ~</p><p>b) para representar uma informação útil, seriam necessários mais bits (em grupo) para se poder codificar</p><p>vários elementos de um conjunto qualquer. Por exemplo, a representação de caracteres maiúsculos,</p><p>minúsculos, séries de pontuação, gráficos etc. requer, em média, 7 ou 8 bits, de modo a se criar um</p><p>conjunto de 128 ou 256 códigos, conforme já mencionamos no início deste capírulo;</p><p>c) os tempos de transferência de infonnações entre processador e MP (tempo de acesso) são decorrentes</p><p>de vários fatores (tipo de circuitos para constn1çào da memória, d istância fisica entre os dcmcntos,</p><p>quantidade de etapas durante as operações de transferência, duração do pulso do relógio da procc~ador</p><p>etc. - ver Cap. 6 e Apêndice D), dos q uais o menos importante é a quantidade de bits. Deve ser escla­</p><p>recido que estamos falando de um único acesso e não de vários acessos cm conjunto, pois, neste último</p><p>caso, o desempenho do sistema aumenta sensivelmente se o barr.uncnto de dados for maior.</p><p>Sn$W</p><p>106 / M~món·n Priutipal</p><p>U1m outra possível unidade de medida de capacidade de memória seria a palavra. Expressar uma capacida­</p><p>de assim:</p><p>16K palavras é mais significativo do que:</p><p>16K bytes</p><p>visto q ue, neste último caso, não sabemos ao certo quantas palavras há na ral memória (quanros dados ou</p><p>instruções podem ser annazenados na memória). enquanto, no pri1nciro exemplo, a palavra deve indkar o</p><p>tamanho de um dado ou de uma instrução (na prática, isto também não é verdade, o que complica muitas</p><p>vezes os cálculos de capacidade).</p><p>Não há uma padroni zação para indicar valores de capacidade de memó1ia. embora seja mais comum se usar</p><p>"quantidade de bytesn ern vez de, p. ex., "quantidade de palavras". Para computadores construídos com pro­</p><p>pósitos comerciais usa-se o byte como unidade básica de armazenamento (embora isto não seja um padrão</p><p>imutável), enquanto computadores ditos científicos, mais habilitados a manipuJar números (como os super­</p><p>computadores), costumam organizar sua MP em palavras.</p><p>No entanto, a título de esclarecimento e para acostumar o leitor co1n os jargões da área, vamos apresentar</p><p>a seguir alguns exemplos de expressões para representar capacidade de memória.</p><p>2 Kbytes = 2 X 2'" = 2048 bytes.</p><p>384K células = 384 X 2'0 = 393.216 células</p><p>384K palavras= 393.216 palavras</p><p>2 Mbytes = 2 X 2'" = 2.097.152 bytes.</p><p>4.3.4.1 Cálculos com Capacidade da MP (RAM)</p><p>A memória principal (RAM) é um conjunto de N células, cada uma armazenando um valor com M bits.</p><p>Então, a quantidade de endereços contida no espaço endereçável da referida RAM é também igual a N, visto</p><p>que a cada conteúdo de célula está associado um número, que é o seu endereço.</p><p>O valor de N represenra a capacidade da memória, através da quantidade de células ou de endereços. O</p><p>valor de M indica a quantidade de bits que podem ser a1111azenados em uma célula individual (que é a infor­</p><p>mação propriamente dita).</p><p>Como um bit representa apenas um entre dois valores (base binária), então podemos concluir que:</p><p>a) pode-se armazena,· em cada célula um valor entre O e 2" - 1, porém um de cada vez. São 2" combi­</p><p>nações possíveis.</p><p>Por exemplo, se M = 8 bits, temos: 2' = 256.</p><p>Seriam armazenados valores entre:</p><p>00000000(0,n o u 0 16 ) e 11111111 (255,o ou FF,.).</p><p>b) a MP tendo N endereços e sendo E = quantidade de bits dos números que representam cada um dos</p><p>N endereços, então:</p><p>N = 2•.</p><p>Por exemplo, se N = 512 (porque a MP tem 512 células), então, 512 = 2•, e E= 9, pois 2'' = 512.</p><p>c) o total de bits que podem ser armazenados na referida MP é denonúnado T, sendo:</p><p>T=NXM=2" XM</p><p>No exemplo</p><p>acima, onde a MP (R AM) é um espaço seqüencial de 512 células, cada uma com 8 bits de</p><p>tamanho, teremos:</p><p>N (total de células) = 512 células; M (tamanho de cada célula)= 8 bits; E (tamanho em bits do número</p><p>que representa cada endereço) = 9 bits; T (total de bits da memó,;a) = 4096 bits</p><p>Sn$W</p><p>Mtmória Principal / 107</p><p>N = 2• ; 512 = 2• donde E = 9.</p><p>T = N X M = 512 X 8 = 4096 bits= 4 X 1024 (K) bits ou 4K bits.</p><p>Também se poderia obter o valo r 4K utilizando potenciação:</p><p>512 X 8 = 2'' X 2' = 212 = 22 X 2111 = 4K, pois 22 = 4 e 2"' = K.</p><p>A Fig. 4.15 mostra exemplos de configurações de MP (RAM) com diferentes valores de N, M, E e T.</p><p>End O</p><p>End 1</p><p>End2</p><p>End3</p><p>End4</p><p>EndS</p><p>End 6</p><p>End7</p><p>End8</p><p>End9</p><p>End 10</p><p>End 11</p><p>End 12</p><p>End 13</p><p>End 14</p><p>End 15</p><p>MP 1</p><p>,_ ,_</p><p>1</p><p>8bits</p><p>,._célufa_.,.</p><p>16 cehlas x 8 bits= 12a bits</p><p>(a)</p><p>End O</p><p>End 1</p><p>End 2</p><p>End 3</p><p>End 4</p><p>End 5</p><p>End 6</p><p>End 7</p><p>MP2</p><p>1</p><p>1</p><p>,_ ,_ - ... ·-'- ,_</p><p>..</p><p>_____ 16bits _____ _</p><p>c.l<la</p><p>8 células x 16 bfts = 128 bits</p><p>(b)</p><p>Figura 4.15 Exemplos de organização de MP.</p><p>Exemplo 4.1</p><p>MP3</p><p>End o ,_,.....,__,___,</p><p>End 1</p><p>End 2 H H-+-1</p><p>End 3 HH-+-1</p><p>End 4</p><p>End S HH-1---1</p><p>End 6 HH-1---1</p><p>End 7 HH-1---1</p><p>End 8 ,_, ..... _,___,</p><p>End 9 ,_, ..... _,___,</p><p>End 10 ,_,.....,__,___,</p><p>End 11 L.J'---'-'--'</p><p>4 bits</p><p>~ cêlula-te</p><p>12 céhAas x 4 bits • 48 bits</p><p>(e)</p><p>Uma memória RAM (MP) tem um espaço máximo de endereçamento de 2K. Cada célula pode arma­</p><p>zenar 16 bits. Q ual o valo r total de bits que podem ser armazenados nesta memória e qual o tamanho de</p><p>cada endereço?</p><p>Solução</p><p>Se o espaço máximo endereçável é 2K, então: N = 2K (a quantidade máxima de células é 2K).</p><p>1 célu la = ·16 bits. Então: M = 16 bits (tamanho em bits de cada célula).</p><p>Sendo N = 2• , então N = 2K = 2 X 1024, e convertendo em potências de 2, temos: 2' X 2 1'1 = 2 11 •</p><p>Se N = 2• e N = 211</p><p>, então: 2• = 211 eE = 11.</p><p>Se E = quantidade de bit, de cada número que expressa um endereço, e sendo E = 11, então os ende­</p><p>reços de cada célula são números que têm 11 bits.</p><p>T = N X M = 2 11 X 16 = 211 X 2' = 215 Convertendo para múltiplo de K = 2"', teremos: 2s X 2"'</p><p>= 32K.</p><p>Respostas: T otal de bits da MP: 32K (T)</p><p>Tamanho de cada endereço: 11 bits (E)</p><p>Sn$W</p><p>108 / i\llem6rin Priucipal</p><p>Exemplo 4.2</p><p>Uma memória RAM (MP) é fabricada com a possibilidade de armazenar um máximo de 2561< bits.</p><p>Cada célula pode armazenar 8 bits. Qual é o tamanho de cada endereço e qual é o torai de células que</p><p>podem ser utilizadas naquela RAM?</p><p>Solução</p><p>Total de bits = T = 256K. Utilizando potenciação, temos: 256K = 2$ X 210 = 2" .</p><p>Uma célula = 8 bits Emào: M (tamanho de cada célula) = 8 = 2-'.</p><p>Sendo T = N X M, então: N (quantidade de células) = T /M = 256K / 8 = 32K.</p><p>Pode-se o bter o mesmo resulrado através de potenciação: 256K / 8 = 2'" / 23 = 2" = 2; X 2'º = 32K.</p><p>Se N = 215 e se sabemos q ue N = 2• então: E= 15</p><p>Respostas: Tamanho de cada endereço: 15 bits (E)</p><p>Tot<1l de células: 32K (N)</p><p>Nesse instante podemos passar a considerar também os elementos básicos do processo de transferência de</p><p>dados entre M P e processador: o REM, R.DM, barramento de dados e barramento de endereços. Além disso,</p><p>devem ser efetuadas algumas considerações sobre os tamanhos de cada um desses elementos, o que pennitirá</p><p>realizar os cálculos de capacidade desejados.</p><p>Como o DO - barramento de dados- intt:rliga o ROM e a memória R.AM (MP), então ambos possuem</p><p>o mesmo ramanho em bits. O mesmo acontece entre o BE - barramento de endereços e o R EM.</p><p>Como o R EM e o BE têm por Função annazenar o endereço de acesso a uma célula da MP, então seus</p><p>tamanhos devem corresponder à quantidade de bits de cada endt:reço. Em outras palavras, o tamanho, em</p><p>bits, do J)..EM e do UE é igual ao valo r de E na equação N = 2".</p><p>Já o R OM deve ter um tamanho correspondente à palavra do sistema, visto que deve transfe1ir os bi ts de</p><p>uma palavra entre o processador e a MP (ou vice-versa, dependendo da operação ser de escrita ou de leitura) .</p><p>Na prática, não há um padrão de tamanho de RDM (ou seja, nem semp,·e seu taman ho é o da palavra) e ,</p><p>po rtanto, para cada caso deve ser indicado o seu tamanho ou um:i indicação de como obtê-lo . A título de</p><p>informação pode .. se mencionar que, atualmente, a maioria dos processadores possui um BD, barramento de</p><p>dados, com tamanho m últiplo da palavra, de modo a acelerar o processo de transferência de dados entre pro­</p><p>cessador e MP, visto que o processador tem espaço de armazenamento interno para receber dados ames que</p><p>esses sejam processados.</p><p>Exemplo 4.3</p><p>Um computador, cuja memória RAM (MP) tem uma capacidade máxima de a,-mazenamento de 2K</p><p>palavras de 16 bits cada, possui um !UM e um R.DM. Qual o tamanho desses registradores; qual o valor do</p><p>maior endereço dessa MP e qual a quantidade total de bits que nela podem ser armazenados'</p><p>Solução</p><p>Se a capacidade máxima da MP é 2K palavras, entende-se que o endereçamento é por palavra (nada</p><p>foi dito d iferente) e, ene,'\o: N = 2K.</p><p>Se cada palavra cem 16 bits e foi entendido que o endert!çamenro é por palavra, deduz-se que em cada</p><p>célula pode ser annazenada uma palavra. Nesse caso, M = 16.</p><p>Sabe-se q ue N = zc e, no exemplo, N = K. Então: 2e = 2K = 2 1 X 210 = 211</p><p>• E = l l bits.</p><p>Se cada endereço é um n í, rnero de 11 bits, então o lliM (registrador cuja fu nção é armazenar ende­</p><p>reços) também deve ter um tamanho igual a l ] bits.</p><p>Sn$W</p><p>Memória Priuâpnl / 109</p><p>Se a palavra tem 16 bits e o RDM é o regimador cuja função é armazenar uma palavra de dados (não</p><p>foi especificado outro dado}, então: R.DM = 16 bits.</p><p>Como T = N X M, então: T = 2K X 16 = 32K bits.</p><p>Finalmente, o maior endereço:</p><p>Deve ser igual a (2K - 1) ou (2 X 1024) - 1 ou 2048 - 1 = 2047.</p><p>Respostas:</p><p>Exemplo 4.4</p><p>Tamanho do REM = 11 bits.</p><p>Tamanho do RDM = 16 bit,;.</p><p>Maior endereço: l l l l l l l l l l l , = 2047 ,.. = 7FF,6•</p><p>Quantidade total de bits da MP: 32K bits.</p><p>Um processador possui um RDM com capacidade de armazenar 32 bits" um REM com capacidade de</p><p>annazenar 24 bits. Sabendo-se que em cada acesso são lidas duas células da memória l<cAM (MP) e que o</p><p>barramento de dados (BD) tem tamanho igual ao da palavra, pergunta-se:</p><p>a) Qual é a capacidade máxima de endereçamento do microcomputador em qm:stão?</p><p>b) Qual é o total máximo de bits que podem ser armazenados na memória R.AM (MP)></p><p>e) Qual é o tamanho da palavra e de cada célula da máquina?</p><p>Solução</p><p>ROM = 32 bits e R.EM = 24 bits BD = palavra cada acesso = 2 células</p><p>A capacidade máxima de endereçamento, isto é, o total de endereço e d~ células é igual o N = 22.</p><p>Se l<cEM = 24 bits e se R.EM armazena valor de endereço, então: E = 24 bits e 2• = 22' .</p><p>Separando as potências, teremos: 22' = 2' X 2'' = 16 X 1 M (pois 1 M = 2"'</p><p>Assim, N = 16M endereços ou 16M células (resposta a)</p><p>Total de bits = T = N X M , sendo M = tamanho de uma célula e N = total de células = 16M = 2".</p><p>Como cm cada acesso se lê duas células. e um acesso transfere, pelo BD, uma quantidade de bits, então:</p><p>BD = 2 células. Como BD = RDM, então BD = 32 bitS = 2 células. Uma célula = l /2 BD = J 6 bits.</p><p>Então: T = 16M células X 16 bits= 256M bits. Por potenciação, temos: 2" X 2' (pois 16 = 2') = 2"'.</p><p>Como 2" = 2• X 2~•. então: 256M bits (resposta b) .</p><p>O tamanho da palavra é igual ao do barramento de dados (BD). Como BD = R.DM, então: palavra =</p><p>32 bits,</p><p>O t.1111anho de cada célula é de 16 bits, pois já vimos que célula = 1/2 BD (em cada ac.:-sso são lidas 2</p><p>células).</p><p>Respostas:</p><p>a) Capacidade máxima d.:- endereçamento do microcomputador : 16M células.</p><p>b) Total máximo de bits que podem ser armazenados na memória R.AM: 256M bits.</p><p>c) Tamanho da palavra: 32 bits e tamanho de cada célula: 16 bitS.</p><p>Exemplo 4.5</p><p>Um processador possui um BE (barramento de endereços) com capacidade de permitir a transferência</p><p>de 33 bits de cada vez. Sabe-se que o BD (barramento de dados) permite a transferência de quatro palavras</p><p>SU$W</p><p>110 / Memória Priuâpnl</p><p>em cada acesso e que cada célula</p><p>da memória RAM (MP) am,azena um oitavo (1/8) de cada palavra.</p><p>Considerando q ue a memória RAM (MP) pode armazenar um máximo de 64G bits, pergunta-se:</p><p>a) Qual é a quantidade máxima de células que podem ser armazenadas na memória RAM (MP)'</p><p>b) Qual é o tamanho do REM e do BD existentes neste processador'</p><p>c) Qual é o tamanho de cada célula e da palavra desta máquina'</p><p>Solução</p><p>BE = 33 bits BD = 4 palavras por acesso célula = 1/8 da palavra T = 64G bits</p><p>Sabemos, por definição, que: BE = REM, BD = ROM, M = tamanho de cada célula e T = N X M.</p><p>Assim, !\EM = 33 bits. Como, então, cada um dos N endereços da MP é um número de 33 bits, E =</p><p>33, e N sendo igual a 2• , N = 2" = 2' X 2~' = 8G endereços o u células, pois 23 = 8 e 2·"' = 1 G</p><p>(resposta a) .</p><p>Como T = N X M , e sendo M = tamanho de uma célula, então: M = T / N ou M = 64G (T) / 8G</p><p>(N) = 8 bits.</p><p>As unidades esrào correras, pois T = bits em células e N = total de células. Enrào M = bits em células/</p><p>célula = bits.</p><p>Se 1 célula = 8 bits e cada célula = 1/ 8 palavra, então: tamanho de 1 palavra = 8 X 1 célula = 8 X 8</p><p>= 64 bits.</p><p>Se o BD penn ite a transferência de quatro palavras de cada vez. então: BD = 4 X l palavra = 4 X 64</p><p>= 256 bits.</p><p>Respostas:</p><p>a) Quanridade máxima de células que podem ser armazenadas na memória: 8G células.</p><p>b) Tamanho do REM: 33 bits e tamanho do BD: 256 bits.</p><p>c) Tamanho de cada célula: 8 bits e tamanho da palavra: 64 bits.</p><p>4.3.5 Tipos e Nomenclatura de MP</p><p>A memória principal dos computadores modernos é fàbricada com tecnologia de semicondmores, o que lhes</p><p>permite elevada velocidade de acesso e transferência de bit~, já que são circuitos apenas elétricos em funciona­</p><p>menro (não há partes mecânicas, como acontece nos discos e fitas magnéticas, bem como nos disquetes e CO­</p><p>ROMs). A velocidade de percurso de um sinal elétrico é nominalmente a velocidade da luz (300.000 km/ s).</p><p>Tais memórias, no encanto, mantêm os valores binários arn1azenados apenas enquanto estiverem energizadas,</p><p>sendo assim do tipo volátil, conforme já mencionado anteriormente. No Apêndice D há uma mais completa</p><p>desc1ição dos métodos de fabricação e funcionamento dessas memórias.</p><p>A memória principal é a memória de trabalho do processador, seu grande "bloco de rascunho", onde os</p><p>programas (e seus dados) se sucedem em execução, uns após os outros. Ou seja, para q ue um programa seja</p><p>executado é necessário que suas instruções e os dados por elas manipulados estejam annazenados, ainda que</p><p>temporariamente, na memória principal (MP). Este programa e dados estão nonnalmente armazenados de</p><p>forrn;;i permanente na 111emória secundária, seja um disco magnético (usualmente denominado disco rígjdo,</p><p>palavra traduzida do inglês hard tlisk, HD) seja um CD-ROM.</p><p>Por exemplo, quando vamos trabalhar um texto utilizando um processador de textos tipo Microsoft Word,</p><p>é requerido que o código do Word esteja armazenado na MP para garantir velocidade no processamento (o</p><p>processador precisa encontrar na MP as instruções do Word necessárias a um determinado processamento do</p><p>texto, colocar negrito cm uma palavra, por exemplo), assim como também o texto sendo trabalhado deve</p><p>estar annazenado na MP.</p><p>Na realidade, as coisas ocorre m ligeiramente diferentes, visto que atualmente não é mais requerido que o</p><p>programa inteiro esteja armazenado na MP, bastando q ue ele seja dividido em "pedaços", chamados páginas,</p><p>SU$W</p><p>t\1cmória Principal / 111</p><p>e o sistema transfere apenas algumas das páginas de cada vez (as que estão ou itão ser usadas em breve). AJi:m</p><p>disso, como já mencionamos antes, o processador de texto e o arquivo de dados (o texto) estão inicialmente</p><p>armazenados em disco. E, mais ainda, atualmente o processador não acessa diretamente a MP, como nos sis­</p><p>temas mais antigos; ele procura inicialmente a instrução desejada no momento ou o dado requerido para um</p><p>processamento, em outro tipo de 111e1nória, a inemória cache, já apresentada anteriormente e que será descrita</p><p>no Cap. 5.</p><p>A Fig. 4.16 mostra um demonstrativo do fluxo de biis para um determinado processament0, a partir de seu</p><p>local de armazenamento permanente (o disco rígido) at~ sua chegada ao processador para se efetivar o proces­</p><p>sam ento .</p><p>Disco rígido (HD)</p><p>Memória principal (RAM)</p><p>Processador (UCP) registradores</p><p>Memória cache</p><p>Figura 4.16 Fluxo de bits para u1n processamento.</p><p>A MP dos microcomputadores é comercial e populanneme denominada memória RAM, ou simplesmen­</p><p>te RAM. O termo é uma sigla das palavras inglesas Ra11d<>111 Affess .IV/emory, cuja tradução é Memória de Aces­</p><p>so AJeató,io (ou randônúco).</p><p>As memórias RAM são construídas com tecnologia q ue lhes garante tempos de acesso na faixa dos</p><p>nanossegundos (variável entre valores da ordem de 15 a 70 ns, de acordo com os elementos e processos de</p><p>fabricação), tendo uma caracteristica única e marcante: o tempo de acesso a qualquer de suas células é igual,</p><p>independente da localização 6sica da célula.</p><p>Em outras palavras, se o tempo de acesso de uma deternúnada memória de semicondutor é, p. ex., 70 ns,</p><p>isto significa que este será o tempo para acessar a célula de endereço O (primeira célula). Se, em seguida, se</p><p>desejar accssar a cé)ula de maior endereço, o tempo tambén1 será igual a 70 ns, como também será de 70 ns se,</p><p>após acessar a célula de endereço 13A, se desejar acessar a célula de endereço 138 . Qualquer que seja o ende­</p><p>reço, aleatoriamente o u rando1nicamente escolhido, o tempo de acesso será o mesmo. Daí o seu nome, me­</p><p>mória de acesso randômico (RAM).</p><p>Isto é possível devido~ tecnologia (circuitos eletrônicos) de construção, onde sinais elétricos percorrem os</p><p>condutores (c,tio comprimento é núlimétrico) com a velocidade da luz, seja da primeira para a última célula,</p><p>Sn$W</p><p>112 / M~1mfria J>,·iuâf'nl</p><p>seja da terceira para a quarta. Não há movimento fisico de qualquer de seus elementos (o que consumiiia</p><p>tempo), pois uma célula é localizada através da decodificação de seu endereço (processo quase instantâneo) e</p><p>emissfo de sinais elétricos correspondentes para "abertura" da célula e passagem dos seus bit; para o barra­</p><p>mento de dados.</p><p>A tecnologia RAM tem variações, que foram evoluindo com o tempo, as quais redundaram em vários</p><p>diferentes tipos. Estes tipos podem ser piimciramentc grupados em duas vertentes: SRAM (Static RAM) e</p><p>ORAM (Oynamic RAM), isto é, a RAM estática e a RAM dinâmica; o primeiro tipo, mais râpido e de custo</p><p>mais elevado, costuma s1.::r utilizado na constn1çào das inemórias cachc, e o outro tipo, ORAM, é aquele usa ...</p><p>do gcnerlcamente nas memórias principais tr::idicionais. Este tipo vem evoluindo e sendo produzido pelos</p><p>diversos fabricantes com diferences nuances, que lhe valeram diversos nomes, tais como: FPM, EDO, DDR.</p><p>Ambas, no entanto, são voláteis.</p><p>A tecnologia RAM, constituída de memóiias eletrónicas, de tempo de acesso igual independente da célula</p><p>localizada, pode se1vir para construção de dois tipús de memória no que se refere à sua aplicação cm um sis­</p><p>tema:</p><p>• memórias que servem para se ler e escrever nelas (memórias L/E), denominadas em inglês RI W memory; e</p><p>• memórias onde os programas aplicativos som~nte podem ler seu conteúdo. não lhes sendo pernlitido</p><p>gravar em suas c��lulas, as memórias do tipo ROM (read c11/y 111e111ory, úu memória somente para leitura);</p><p>estas têm uma notável particuJaridade, que é o fato de não serem volãceis, como as 1nemórias L/E.</p><p>Além da MP pcm1itir que um prngrama seja armazenado em seguida ao úutro (istú significa que são reali­</p><p>zadas sucessivas operações de escrita nas mesmas célu1as), durante a execução normal de um progr:1ma, suas</p><p>instruções são sucessivamente lidas pelo processador. que, por sua vez, também realiza operações de escrita</p><p>sobre a M P, armazenando resultados das operações realizadas.</p><p>Se wna men1ória é de acesso aleatório (RAM) para leitura, inva1iavchnente também o será para realizar</p><p>ciclos de escrita. Assin1, as memórias do tipo RAM, que permitem lcituralésCJi ta (R/W), sàú usadas como</p><p>memória principal (MP), e este termo, RAM, passou a ser tão comum com estas memórias que se confundiu</p><p>com o próprio nome da memória (comumente se usa no comércio e na indúst1ia o termo RAM quando se</p><p>refore à MP, assim cúmú falamos, em geral, gilctc - nome de um fab,icante - cm vez da lâmina de barbear).</p><p>O uso do termo RAM para definir a memória principal de trabalho, onde nossos programas e aplicativos</p><p>são armazenados. é incorreto, como veremos a seguir.</p><p>Embora seja rápida (tempo de acesso pequeno) e de acesso aleatório (mesmo tempo no acesso a qualquer</p><p>célula), a RAM possui algumas desvantagens, entre as quais a volatilidade, isto é, perde seu conteúdo quando</p><p>a corrente elétrica é interrompida.</p><p>Por outro lado, as memórias read-write apresentam o inconveniente (nem sempre é um inconveniente) de,</p><p>permitindo que se escreva nonnalmcnte cm suas células, ser possível a acidental elinlinação do conteúdo de</p><p>uma ou mais de suas células.</p><p>Uma vez que o processador nada realiza sem as instruções, é óbvio que ele deve possuir uma certa quanti­</p><p>dade de mcrnória não-volátil. (sto é. um local onde estejam permanentemente armazenadas instruções que</p><p>automaticamente iniciam a operação e a inicialização do sistema, tão logo a alimentação elétrica seja ligada.</p><p>Em microcomputadores costuma--se chamar isso de programa bootstrap, o u simplesmente boot, enquanto ou­</p><p>tros fub1ica11tes chamam IPL - foitial Pmgmm Lwd (Carregamento do Programa Inicial). entre outros nomes.</p><p>Esse tipo de memóiia (ainda de semicondutores e, portanto, RAM), além de ter que ser 11ão- volátil (para</p><p>nàú haver a perda do programa de boot). também não deve permitir que haja eliminações acidentais. Trat.1-se</p><p>de um programa que deve estar permanentemente armazenado e não pode sofrer alterações por parte de ne­</p><p>nhum outro programa. Em outras pal:wras, ,nemórias que armazena1n esc.e tipo de programas devem permitir</p><p>apeuas leitura. Chamam-se estas memórias de R.OM - Read Ouly Atfemor)' (memórias somente para leitura),</p><p>e elas devem ser não-voláteis.</p><p>No encanto, o tempo de acesso ern memórias ROM também é constante, independentemente da localização</p><p>fisica da célula e. por consegu inte, elas também são memórias RAM. Porém, o mercado incorreu no engano</p><p>Snõw</p><p>Memório P,fotipal / 113</p><p>ErKtereço O</p><p>~~ ~</p><p>ErdareQ>ON-1</p><p>(a) Nom1mclarura corr&ta</p><p>Leiti.lral</p><p>~scrlta</p><p>RMI</p><p>ROM</p><p>Endereço ,O</p><p>RAM</p><p>Endflr@ÇQ N· 1 -------</p><p>(b) Nomooclat\Jra poputar</p><p>RAM</p><p>(AJW)</p><p>ROM</p><p>Fíg:Dra 4.17 Configuração da memóri.a principal (MP) de um microcomputadoi:- do tipo· PC.</p><p>de chamar de RAM apena a Il1i:1110t1ã R/W - ldtma/escrita talvc:z para darament · diferençá-la~ do outro</p><p>tipo, ROM (som nce par, leirnrn), já que as . igfo . ão bem pare idas.</p><p>A Fig. 4.17 apresenta a di:!.tl'.ibuição e. p cial da. memórias R/W, RAM e R OM em um microcomput.ador,</p><p>indicando o conceito correto e o conceito usado na prática peJo mercado.</p><p>As men ória DRAM ve1n evolui11do em ternos de am 1ento d capacidade ç de vdoc:idadc (cmbnrn esta c-111</p><p>menor percentag m do que o de ejado em face do awuento da velocidad· dos prOC' sador' ), redundando ·rn</p><p>diversos tipos: ED0 ORAM, BED0 DRAM, SDR.AM RDR.AM e outro , vilitos no quadro-re umo a ~eguir.</p><p>Em resumo, podemos da ificar a memórias de emicondutores. do si;guint1; modo:</p><p>RAM</p><p>L/E - leitura/E crita l SRAM</p><p>(R/ W - · ead/ Write)</p><p>DRAM</p><p>l ROM</p><p>ROM (Somente 1 itura) PRO. M</p><p>(Rea.d OnJy Memol'y) EPR0M</p><p>EEPR.OM e Flash Mc:inory</p><p>FPM D AM</p><p>EDO DRAM</p><p>DEDODRAM</p><p>SDRAM</p><p>RDRAM (Rambus)</p><p>DDR.eDDR2</p><p>Corno podemo observar no quadro-re.umo adma, tanto a 111cn1óda L/E (que permitem leitura escri­</p><p>ta) quanto a memórias ROM (que permitem apenas leirnra) ão memórias de acesso mndômico, is.to é, ão</p><p>memórias lAM.</p><p>A descrição do diversos tipo de· DRAM e o métodos de endereçamento das DRAM SRAM encontram­</p><p>se no Apêndice D enquanto os 1nodeJos de memórias ROM ·ão descrito no item 4.3.5.1 a eguir.</p><p>4.3.5.1 Me órias do Tipo OM</p><p>Mem6das ROM são ramb ~m mentódas de scmkondut<1Ps fabricada., pa.ra ,uingj.r crê~ objetivos:</p><p>a) ter de e1npenho semelhante ao da memórias RIW de sen kondmores (o eu de en-1penho não é igual,</p><p>poi. po. suem menor velocidade de acesso m.as pode-se dizer que é semelhante)·</p><p>SDêW</p><p>b) não s-cr o1áril (c.a.racterí tka e sencial para qll.]c o ,computador po ua memória rápida e perm.ani.:nt·c. );</p><p>c) rer segurança, permitir apenas 1drura de eu conte(1do por detenninado programa - Hã d rerminados</p><p>progran as críticos que nfo go r-.i.rfamo de ver i lfectado. por vín: s, por • mplo-</p><p>Todo istema de computação utiliza uma parte do espaço de 1;:ndcn:çamento da men ória principal com</p><p>memória do tipo RO . O microcompurndore do tipo P , por exemplo êm da ffibrica com um conjun­</p><p>ro de ro inas há i as. do sistema oper cjonal at·mazenadas em ROM, denominadas em conjunto como B1O</p><p>- Basic l11pu1 Outp111 • rstem ou Sistema Bá ico de ntrada e aída.</p><p>O utra áphcação importante das ROM é o am1az namcnto de microprogram, m mc11.1órí.1 de controle</p><p>{ROM) (ver item 6.6.4.2) e também em sistemas de controle de proces os, como ~i t ·ma de injeção eJetrô­</p><p>nica de automóvei fom,o de· :nicroonda outros eletrodoméstico con.trobdo por computadore , a~ hn</p><p>com.o emjogo eletrôn.icos (videogamt'"!i)-</p><p>A. m. mórias ROM mmb'm sofreram uma evolução tecnológica ao Jongo do tempo, p1i 11ópalmcntc para</p><p>torn.á.-fa nui prática e comerci;:ilment~ ac~itávei st.>111 perder a ua principal característica de crcm memó­</p><p>ria soment para ]eiturn por parte d,o progr.iima$ aphc:ui o (embora, com , u, l!voluçiio, el _ po. suam tipos</p><p>que permjtem a troca do Si!U conteúdo s ·mprc através de proce o e pe-ciais. e nu ca por um .intple~ progra­</p><p>ma , plcativo).</p><p>MASK-ROM</p><p>primeiro e 01·iginal tipo é a chamada rn ' I ória ROM pu111 ( u..,;amos em: nome ' pt: ra" para diferençar de</p><p>outro tipos de R , 111.ai fl xíveis, como veri;mos a eguir), que é ~mbém conhecida tecnicamente como</p><p>pirQgrarruula 1,&r tuáunra ( ',nask progmmmc•,I"), d vido ao pr,oc ss.o de fabricaçã.o e e crit.'I d~1 bits 11 m ·mória_</p><p>est.1. rn, k-ROM o conjumo de bit (programa especificado pelou L1á1io) é jns.e1ido no interior dos ele­</p><p>mento da pastilha durnnt o processo de fabricação. Chama- e a i o em inglês de prece o liardwired, pois cada</p><p>b · t ( eja O ou '1 co1úo11ne o progi·,11ua) é criado já na célub apropriada.. Apó o término da fabricação, a pasrilha</p><p>ROM está co npJeta, con o programa am1azenado, e nada pod ci alterar o valor de qualquer de ens bits.</p><p>Por !>er de ta fi nna, a ROM se· mm um dí po itívo muiro mai!. impk!. do que Llli1á RAM, nccc itando</p><p>apenas de um decodificador de endereços a com:sponde1m.:s linha de barratnemo de s.a.ida e algun circuito</p><p>lógico (por exemplo, operadores OR). A Fig. 4, 18 mo tra um e, ·e,npJo de mna me1nória ROM comricu ída</p><p>de quat o célula de 4 bi cada uma possuindo, então, quatro endereço de 2 bit' cada um.</p><p>a Fig. 4.18 podemos observar o çkcodificiidoT d<.: endereço~ com uma entrad.t p;lrn um i:ndi:n:ço d,1;; 2</p><p>bits, ~ . e A1 a linhas de . aida do d ·wdifiçador para as quatro pona. lógica_ OR, S,i. 1, ~ 1; SJ, çad;'I uma</p><p>rcspon ávd pel geração de um dm 4 bits da~ células da memória, conforme o endereço dado_</p><p>D.eood ificada</p><p>2por4</p><p>00 1--------~-----~</p><p>01 End. Conteúdo</p><p>10 - ---->-~----->----......__ 00 0101</p><p>11 01 1 O 11</p><p>1iO 111 O</p><p>Habiliiitar 11 0000</p><p>s 1</p><p>Figura 4.18 Mem6ria ROM con1. 4 células. de 4 b·t cada.</p><p>Sn$W</p><p>Memória Prit1tipal I 11 S</p><p>Como exemplo, seja o endereço de entrada 01, sendo O na linha A.., e I na linha A,. O decodificador pro­</p><p>d uzirá um sinal positivo (bit 1) na linha correspondente ao valor 01 da figura, que incidirá sobre uma das</p><p>entradas das portas S, , S, e S0• A o utra entrada de cada porca, bem como as duas entradas da porca S, , terão</p><p>valor nulo (bit O), já que não incide nada da saída do decodificador. A combinação de bits O e bit 1 nas três</p><p>portas indicadas produzirá como saída um bit 1 en1 cada uma e, na restante, S21 sairá bit O. E1n conclusão, o</p><p>valor da célula a ser lido será</p><p>1011, conforme programado na fàbricação da memória. Processo semelhante</p><p>ocorre nas demais posições.</p><p>Trata-se de um processo semelhante ao da fabricação de CDs, onde se cria prin,eiro uma matáz do CD</p><p>desejado (no caso é uma matriz da pastilha com todos os bits inseridos), a q ual tem um valor financeiro apre­</p><p>ciável e, em seguida, se realiza a prensagem (reprodução da matriz em cada cópia) das cópias (no caso, trata­</p><p>se da criação das demais pastilhas). O método é bastante parecido com o da fabricação de processadores.</p><p>Esse tipo de memória ~ relativamente barato se fabricado em grandes quantidades, porque, nesse caso, o</p><p>custo da fabricação da máscara de programa é diluído para cada pastilha. No encamo, há certas desvantagens:</p><p>a) não há possibilidade de recuperação de qualquer erro eventual no programa. Se se inserir um único b it</p><p>errado na pastilha (em geral é no co,tjunto fubricado, devido ao processo de máscara), o lote deve ser</p><p>destruído e fabricada nova partida correta . Isso pode acarretar problemas de custo do sistema;</p><p>b) o custo (não pequeno) da criação da máscara para inserção dos bits é o mesmo, seja para fabricar uma</p><p>pastilha o u milhares delas.</p><p>PROM</p><p>Para atenuar o problema do custo fixo da máscara (matriz), desenvolveu-se uma variação daquele tipo de</p><p>memória ROM pura, denominado PR.OM (Progra111111able Remi 011/y Me111ory), R.OM programável. Na rea­</p><p>lidade, não se trata prop,iamentc de ser programável, porque não é possivel a reutilização da PR.OM (como</p><p>também não se reutiliza a R.OM) . Nela. como nas R.OM puras, somente é possível gravar os bits desejados</p><p>uma única vez, porém com a diferença de que a gravação dos bits é posterior à fase de fabricação da pastilha,</p><p>embora deva ser realizada por dispositivo especial.</p><p>Uma PR OM é, então, fabricada "virgem" (sem qualquer bit armazenado) e depois, seja pelo usuário, fa­</p><p>b,icante do programa ou qualquer agente especializado que possua a máquina específica para inserir os bit~,</p><p>ocorre a etapa de gravação da infonnação, a qual, após seu ténn.ino, tarnbém não permite alteração. Esta etapa</p><p>de gmvação é conhecida como processo de "queimar" a pastilha (ver Apêndice D).</p><p>Trata-se de um processo semelhante ao utilizado atualmente pelos dispositivos gravadores de CD, que pro­</p><p>d uzem os CD-R. Nestes, também se us.1 um CD virgem e o gravador de CD insere os elementos de infor­</p><p>mação no CD-R, o qual é, em seguida, "queimado", inviabilizando o utras gravações.</p><p>Uma ponderável diferença entre as ROM e as PR OM reside no seu custo individual. Como já mencionado,</p><p>as ROM só se tomam atraentes se fabricadas em grande quantidade, pois neste caso o custo fixo da matriz é</p><p>dividido por uma grande quantidade de cópias; para menores quantidades, a PROM se torna mais conveniente</p><p>devido ao menor custo individual, o qual independe da quantidade (não há custo fixo de fab,icação de máscara).</p><p>EPROM e EEPROM</p><p>Posterio nnente foram desenvolvidos ou tros dois tipos de R OM, os q uais possuem uma particularidade</p><p>interessante. Conquanto se mantenham somente para leitura (R OM) de programas aplicativos, durante uma</p><p>execução normal, elas podem ser apagadas (através de um processo especial, que depende do tipo) e regravadas.</p><p>sendo portanto reutilizáveis. São elas: EPR.OM (Erasable PROM)- PROM apagável, a EEPROM (Ele<1rically</p><p>ou Eiertm11ically EPR OM) o u EPR OM eletrónica. também chamada EAROM (Elecrrically Alrernbie ROM) e</p><p>a memória F/m;/J ou Flash-ROM. São memó1ias úteis no caso de aplkações que requerem muito 1nais leitura</p><p>de dados do que csc,ita, sendo o caso, por exemplo, de programas de sistemas (controle do vídeo, de modems,</p><p>de dispositivos de entrada/ saída), onde o fabiicante escreve o programa. que é intens.1mente lido pelos aplicativos,</p><p>mas que não deve ser por eles modificado (escrito por cima); eventualmente, o fabricante precisa modificar</p><p>seu progra1na, criando mna nova versão, o que pode ser realizado nessas memórias.</p><p>Snõw</p><p>A EPROM pode ser uti]izada diver as vezes, porque os dado nela armazenado podem . t:r apagados ao ~e</p><p>iluminar a p rilha com lu:z ultravioleta (~er Fig. 4.19') a qual incide em uma janela de vidro, montada na</p><p>pane superior da pa- tilha. O processo de apag:m ento qu é complem (wdo o conteúdo da memória é ::ipa­</p><p>gado) dUl'a em média cerca de 20 a 25 minmo.</p><p>Una vez apagad, a pa tilhai pode er reuti]izada atravé. de novo pirocc. so de "quein1a' de novos bifS. Após</p><p>esse pas o, ajanéfa de vidro co tuma ser coberta paira e: ritar mn apagamc:nm acident.,l.</p><p>O outro tipo, EEPROM ou EAROM, desenvo]vido pos-tedonuente, introduziu uma caracrerisric..1 mai vcr.;áti]</p><p>e pcirica no proci: ~a d1;; nmtili2açiio da R M: a progromação (escrita dos bits), o ap gamento e a reprograma­</p><p>ção são fetuado~ através dr. controle do processador. í~to C: por s·oft:war . Um· .brrande vantagem destt- tipo d ·</p><p>llli;mória é o furo de as operaçõe poderem s-e1· n:::ifo:;'lda e pecificamente ~brc um b~ te ou bytes detemrin::idos..</p><p>Com a EEPROM p1·ogramada , . in m1çô nela am1az nad::is 5.o rerida indefiniidamente ou até l)UC um</p><p>sinal de apag.un ·nto seja capta.do por um ensor.</p><p>Uma boa aplicação para a EPROM con!iisk cm se utilizar programação da. tedas de um redado. Ne e</p><p>caso a função de cada tecla · d finida m mnà tãbda que reide em n.mia EEPROM instalada no circuito</p><p>impre so normalmente localizado na parte interna do teclado. Programa apl:icat:ivos (como pirf>ec .. adore~ de</p><p>texm pl.1nil1 as. etc.), ao serem carregados na me111ória do i cema. para e ·ecuçào, armazi.;n::im na EEPROM</p><p>fünçà1;. d1;; tcda."i e~pecífiea. para o referido ap]ica.ci o. De ta. fonna, as. fünçõe do t·dado pod~m. cr padro­</p><p>ni,rndas para cada aplicação.</p><p>Finalmente, um outro tipo dessa m..::mórias é denominada Fia h tendo prece- o de funcionamento bas­</p><p>t~uue semelhante aio das EEPROM ou seja, o conteúdo total ou parcial da memória pode ser apagado nor­</p><p>ma1meme por um proce· o de escrita, embora nas Fla!>h o apagamento nàio possa ser efetuado no níveJ de byte</p><p>como na EEPROM. O tel'lno Flash foi imaginado devido à elevada velocidade de apagament.o de as me­</p><p>mória c;111 comparação com as antigas EPROM e EEPR M.</p><p>Janela de i;iuartzo</p><p>lnvól</p><p>" 1</p><p>· ucro de plástico 1 Invólucro de plás1</p><p>Pasli[h.ra de silício</p><p>1 Cerâmica 1</p><p>Figura 4.19 Umra pastilha de EPROM inclHi nmaj,meWa transparente pela ,qual mn feL".e d.e luz ultravioleta</p><p>pode apagar todo o seu co12teL1do.</p><p>4.4ERROS</p><p>Em rodo istema de tran_ mi s.ão de informação a di~câ11cia (tclc.:çomunicaçào) há ~t:mpre a possihilidack de</p><p>ocorrerem d formaçõ , ou acé mes no d truiçào de p~me da informação tl'an mi tida (ou toda). ls ocmTe</p><p>devido a interferência no meio de transmissão.</p><p>A memória principal {ou GJLlalqucr outro tipo de mcmó,ria) utiliza rn11 mei.o de tr.u,rn1i âo (b:;m,un ·mo de da­</p><p>dos.} para o trânsito da infonnaçâo (palavm.'> de dados ou 1nstmçôt.>S) cmre a MP e a UCR. fase trân ito s.ofi- · intt:r­</p><p>ferênci, que podem al.rerar o valor de um ou mais bits (de O para 1 ou de l para O) ou aré mesmo desm1'-Jos.</p><p>Sn$W</p><p>J\1emória Priucipal / 117</p><p>Não faz parte do escopo deste livro descrever as possíveis causas da existência de erros na transmissão e no</p><p>armazenamento de in formações na MP de um sistema de computação, mas é import.inte sabermos que os</p><p>atuais sistemas de mcn1ória possuem mecanismos capazes de detectar e corrigir tais erros. A Fig. 4.20 sumaiiza</p><p>o processo básico de detecçào e correção de erros.</p><p>O processo pode ser resumido nas seguintes etapas (ver Fig. 4.20) :</p><p>a) Os grupos de M bit~ de informação que serão gravados nas células da MP sofrem um processamento es­</p><p>pecifico, cm um dispositivo próprio para dececção de erros. Esse processamento é realizado segundo as</p><p>etapas de um algoritmo dctenninado (A) e produz, como n:sult1do, um conj unto de K (M) bits.</p><p>b) Serão gravados, então, em células com capacidade para armazenar M + K bits (e não apenas os M bits de</p><p>informação).</p><p>c) Ao ser recuperado o valor em bits de uma determinada célula (opcrnção de leitura),</p><p>o sistema de detecçào</p><p>é acionado; o mesmo algo,itmo inicial (A) é cxecumdo sobre os M bits de infonnação armazenados, ob­</p><p>tendo-se um novo conjunto de K bits (K2).</p><p>d) Os K (M) bits armazenados são comparados com os K (K2) bits acima calculados, obtendo-se um entre os</p><p>seguintes possíveis resultados:</p><p>1 - ambos os conjuntos de K bits têm o mesmo valor, o que significa ausência de erros. Neste caso, os M bits</p><p>da célula desejada são transmitidos;</p><p>2 - os co,tjuntos são diferentes, concluindo-se pela existência de erro no bloco de M bits. O erro pode ser</p><p>corrigido o u não. dependendo de como o sistema foi projetado.</p><p>O processo de co,,.cçào de erros, denominado comumente ECC (Error Correaiou Cone ou código de cor­</p><p>reção de erro), baseia-se no código utilizado para constituir os K bit~ adicionais de cada célula. Em geral, este</p><p>método é utilizado em cornputadores com aplicações mais sensíveis, e.ais com.o um servidor de arquivos ou</p><p>se1vidor de rede. Eles podem detetar a ocorrência de eJTOS em um ou mais bits e corrigir um bit errado . Ou</p><p>seja, se for detecmda a oco11'ê ncia de erro cm um bit, este será identificado pelo código e naturalmente cor­</p><p>rigido; porém~ se forem detetados mais bits errados então o ECC so1nente indica o erro sem poder identificar</p><p>(e corrigi r) os bits errados.</p><p>(M bits}</p><p>Dados</p><p>de</p><p>en~ado</p><p>(M+K1 biis}</p><p>í:7 (K1bils) r:::-J</p><p>f-----+l•~r-------r ~</p><p>(a• b} Armazenamento na MP º"""' de salda</p><p>(M+Ktbils}</p><p>MP</p><p>(e} 1tanslefêncla da MP</p><p>Mbils</p><p>(K2 biis) eo.r.,a,ação</p><p>K1·K2</p><p>,_ __ ., Correção</p><p>Figura 4.20 Processo básico de dctecção/corrcção de erros.</p><p>SU$W</p><p>118 / ,Wemória J'>riutipnl</p><p>EXERCÍCIOS</p><p>1) Um computador possui uma memória p,;ncipal com capacidade para annazenar palavras de 16 bits em</p><p>cada uma de suas N células, e o seu barramento de endereços cem 12 bits de tamanho. Sabendo-se q ue</p><p>em cada célula pode-se armazenar o valor exato de uma palavra, quantos bytes poderão ser a1111azena­</p><p>dos nessa memória?</p><p>2) O que você entende por acesso à memória? Caracterize o tempo de acesso nos dive,~os tipos de memória.</p><p>3) Quais são as possíveis operações que podem ser realizadas em uma memória?</p><p>4) Qual é a diferença conceituai entre uma memória do tipo SRAM e ou tra do tipo ORAM' Cite van­</p><p>tagens e desvantagens de cada unta.</p><p>5) Qual é a diferença, cm termos de endereço. conteúdo e total de bits, entre as seguintes organizações de</p><p>MP:</p><p>a) memória A: 32K células de 8 bits cada;</p><p>b) memória B: 16K células de 16 bits cada; e</p><p>c) memória C : 161< células de 8 bits cada?</p><p>6) Qual é a função do registrador de endereços de memória (REM)? E do registrador de dados de memó­</p><p>ria (RDM}?</p><p>7) Descreva os barramentos q ue interligam processador e MP, indicando função e direção do fluxo de</p><p>sinais de cada um.</p><p>8) Descreva passo a passo uma operação de leitura. Utili ze um diagrama esquemático.</p><p>9) Faça o mesmo para uma operação de escrita.</p><p>1 O) Um computador possui um RDM com 16 bits de tamanho e um REM com capacidade para armaze­</p><p>nar números com 20 bits. Sabe-se que a célula desce computador armazena dados com 8 bits de tama­</p><p>nho e que ele possui uma quantidade N de células. igual à sua capacidade máxima de armazenamento.</p><p>Pergunta-se:</p><p>a) Qual é o tamanho do barramento de e ndereços?</p><p>b) Quantas células de memória são lidas em uma única operação de leitura'</p><p>e} Quantos bits tem a memória principal?</p><p>11) Um microcomputador possui uma capacidade máxima de memória principal (RAM) com 32K célu­</p><p>las, cada uma capaz de armazenar uma palavra de 8 bits. Pergunta-se:</p><p>a) Qual é o maior endereço, em decimal, desta memória?</p><p>b} Qual é o tamanho do barramento de endereços deste sistema'</p><p>e) Quantos bitS podem ser armazenados no R OM e no REM?</p><p>d) Qual é o total máximo de bits que pode existir nesta memória?</p><p>12) Considere uma célula de uma MP cujo endereço é, em hexadecimal. 2C81 e que tem armazenado em</p><p>seu conteúdo um valor igual a, em hexadecimal, FSA. Sabe-se que, neste sistema, as células têm o mesmo</p><p>tamanho das palavras e que em cada acesso é lido o valor de uma célula. Pergunta-se:</p><p>a) Qual deve ser o tamanho do REM e do RDM nesse sistema?</p><p>b) Qual deve ser a máxima quantidade de bits que podem ser implementados nessa memória></p><p>13) Considere uma memória com capacidade de armazenamento de 64K bytes; cada célula pode armazenar</p><p>1 byte de informação e cada caractere é codificado com 8 bits. R esolveu-se annazenar na memória deste</p><p>sistema um conjunto de caracteres do seguinte modo. A partir do endereço (hexadecimal) 27FA, for.1111</p><p>escritos sucessivamente gn,pos de 128 caracteres iguais, iniciando pelo grupo de As, seguido do grupo de</p><p>Bs, e assim por diante. Qual deverá ser o endereço correspondente ao local onde está am,azenado o 1 .• J?</p><p>Sn$W</p><p>:\1emória J>rincif'al / 119</p><p>14) O custo das memórias SRAM é maior que o das memórias ORAM. No entanto, o processo de conexão das</p><p>memórias ORAM é mais complexo que o das SRAM e, em conseqüência. o preço da intcrlàce das ORAM</p><p>é bem maior que o das SRAM. Supondo que uma interlàce de ORAM custe RSS,00, uma intcrlàce de</p><p>SRAM custe RS1 ,00, o preço por bit de uma SRAM é de RS0,00002 e o de uma O RAM é de R S0,00001,</p><p>calcule quantos bits deve ter uma memória dinâmica (DRAM) para que o conjunto sej a mais barato.</p><p>15) Compare uma n1emória principaJ e mna memória cachc em termos de tempo de acesso, capacidade e</p><p>temporariedade de armazenamento de dados.</p><p>16) Uma memória R OM pode ser também considerada uma memória do tipo Leitura/Escrita? Por quê'</p><p>17) Qual é a diferença emre uma memória do tipo PROM e uma do tipo EPROM?</p><p>18) E qual é a diferença entre uma memória do tipo R OM "original" (mask ROM) e uma memória do</p><p>tipo PROM? E o q ue é idêntico nelas?</p><p>19) O q ue significa o termo s/1ado111 ROM'</p><p>20) Enumere os diferentes tipos de men1ória que podem existir em um microcomputador moderno, atual,</p><p>desde um simples registrador até os CD-R.OMs etc.</p><p>21) Considere um sistema constintído de um processador - memó ria cache - memória principal, no qual</p><p>o tempo de acesso processador/men1ória cache é de 8 ns e o tempo de acesso memória cachc/ 111cmória</p><p>principal é de 70 ns. Observando-se um intervalo correspondente a 100 ac<:ssos consecutivos do pro­</p><p>cessador e que a eficiência da memória cachc é de 96%, calcule o tempo médio de acesso do sistema.</p><p>22) Qual é a vanmgcm do uso de muitos registradores em um processador?</p><p>23) Por que não é possível a memória p1incipal ser totalmente volátil?</p><p>24) Sempre que o processador realiza um acesso à memória para efetuar uma operação de leitura ou de</p><p>c-scrita, ele manipula dois valores distintos, mas que estão associados ao acesso. Quais são estes valores?</p><p>25) O que significa a expressão ECC - código de correção de erros?</p><p>26) Proj ete uma memória ROM de fonna semelhante a que está mostrada na Fig. 4.18. considerando que ela</p><p>possua 8 células de 4 bits cada uma. Podem ser assumidos quaisquer valores para annazenar nas 8 células.</p><p>27) Quantos bits são requeridos para se endereçar células em uma memória de 128G?</p><p>28) E quantos bits seriam reque,idos se a memó,ia tivesse 32K'</p><p>29) Quantas posições de memória existem desde o endereço 0400 (hexadecimal), inclusive, e o endereço</p><p>11 FF (hexadecimal)'</p><p>30) De que depende fundamentalmente a dctemúnação da quantidade máxima de posições de memória</p><p>que um processador consegue endereçar?</p><p>31) Uma imagem pode ser representada por uma matriz de pontos armazenada na memória de um compu­</p><p>tador. Cada ponto possui uma indicação de cor associada a ela; essa cor precisa de 4 bytes para ser re­</p><p>presentada. Baseado nessas infonnações pede-se:</p><p>a) a quantidade de mcmó tia, em bytes, necessária para armazenar uma imagem de 640 X 420 pontos;</p><p>b) a quantidade de mcn1ória cm megabytcs necessária para armazenar 1 O imagens semelhantes a esta;</p><p>c) quantas imagens como esm poderiam ser armazenadas na memória de um computador com 128MB</p><p>de memória l~AM?</p><p>32) Quantos bytes podem ser am1azenados em uma memó1ia ROM que possua 16 linhas</p><p>de endereçamento</p><p>e que possua 4 li nhas de saída de dados?</p><p>33) Você considera válida a afi rmação " um computador com mais poder de processamento pode armaze­</p><p>nar mais programasº?</p><p>34) Você considera válida a afinnação "vale aumentar a capacidade da memória principal para que o acesso</p><p>aos meios magnéticos (discos rígidos e disquetes) seja mais rápido"?</p><p>Sn$W</p><p>Memória Cache</p><p>5.1 INTRODUÇÃO</p><p>No item 4.2.2 foi apresentada uma breve explicação sobre o conceito de memória cache, bem como dados</p><p>de seu desempenho e características de modo a situá-la adequadamente na estrutura piramidal de uma hierar­</p><p>quia de memória.</p><p>Neste capítulo serão apresentados, com mais detalhes, conceitos e técnicas que pennitiram o desenvolvi­</p><p>mento, o projeto, o funcionamento e o uso de 1ne1nórias cache em sistemas de computação atuais.</p><p>lrúcialmence será apresentado o motivo impulsionador da existência das men1órias cache: o gap de veloci­</p><p>dade entre memória principal e processador; devido à necessidade de redução desse gap, os pesquisadores</p><p>concluíram, de vários estudos de comporramento dos programas, pela existência de um princípio originado</p><p>no modo pelo qual os programas cm geral são executados. denominado princípio da localidade, e que esse</p><p>princípio é importante para a inserção da 1nemória cache na hieraquia de memória dos sistemas de computa­</p><p>ção. Em seguida, será mostrada a o rganização básica de uma memória cache e, finalmente, serão apresentados</p><p>e analisados diversos itens que impactam o projeto e construção de memó,fas cache.</p><p>5.2 CONCEITUAÇÃO</p><p>Para que seja possível entender perfeit.imente o sentido da criação e do desenvolvimento das memórias</p><p>cache e de sua crescente e pennanente utilização nos sistemas de computação, deve-se, primeiramene, anali­</p><p>sar dois aspectos relacionados com o funcionamenco e a utilidade dessas memórias: um deles refere-se à dife­</p><p>rença de velocidade processador/MP, e o outro, ao conceito de localidade, sendo o primeiro o motivador</p><p>para se ter chegado ao llltirno.</p><p>5.2.1 Diferença de Velocidade Processador/MP</p><p>Nesse caso, trata-se de uma constatação inevitável. Parte do problema de limitação de desempenho dos</p><p>processadores, que qualquer projetisra de sistemas de compuração enfrenra, reforc-sc à diferença de velocida­</p><p>de entre o ciclo de tempo do processador e o ciclo de tempo da memória principal. Ou seja, a MP transfere</p><p>bits para o processador em velocidades sempre inferiores às que o processador pode receber e operar os dados,</p><p>o que acarreta, muit.is vezes, a necessidade de acrescentar-se um tempo de espera para o processador (,vair state</p><p>- estado de espera) . Mesmo atualmente existindo memórias ORAM síncronas, que eliminam o estado de espera,</p><p>a diferença de velocidade processador/memória principal permanece grande. A Fig. 5.1 mostra um exemplo</p><p>da diferença de velocidade processador/MP.</p><p>Se todos os circuitos do processador e da MP fossem fabricados com elementos de mesma tecnologia, este</p><p>problema deixaria de existir e não estaríamos aqui explicando o que é e para que serve uma memória cache.</p><p>1</p><p>?rocessa:dor</p><p>Operação</p><p>soma: 2ns</p><p>Memória</p><p>principal</p><p>Transferencia; 100 ns I 1</p><p>SDêW</p><p>Memó.ria Cnclie I 121</p><p>Fjgura 5. i Exemplo de diferença dii velocidad,e</p><p>P/MP. Empilanto o praacessador gasta 2 ns adi­</p><p>ciommdo dois dado a MP gasta 100 ns trans­</p><p>forindo os dados: para o p.rncessa:dorr.</p><p>O problema de diferença de velocidade se toma di6ci] de. olucionar apena com melhorias no de: empe­</p><p>nho da MP, d vido a fatwes d· cu to e t cno1ogia. Já foi anct'.riorm nte mencionado que enquanto o d,e­</p><p>sempenho do microprnct: actoc , por exemplo vem dobrando a cada 18 a 24 mese o mesmo não acontece</p><p>com a vdocidade de tr:m ferência (tempo d ace o) da mr:rnó.-ia DRAM (RAM dinâmicas), largamente</p><p>utilizadas co :no M ' que vem aument.ando r~latíva111eme p uco de a.no para ano (cerca de 100/4).</p><p>Ape ar de a recnologia parn aumemar a velocidade da MP ser bem conhecida, faz ri o ne te momento</p><p>penalizaria consídera.velmente o isrema em ctmo, pois memóri, rápida ão muito carn , como ' oca o das</p><p>memória~ SRAM .</p><p>En bora correndo o l"i co der duudância, é bom enfatizar, então, qu ape at de rodo o avanços na tec-</p><p>nologia di: con trução da met 1órias DRAM, pa sando da obso]eta FPM ED te. p ra a_ atuais DDR</p><p>DDR2 e Rambus, ela: . continmuu a er con tituidas de um capacitor/ transi tOT por bit e, po1unto requi:rem</p><p>recarregamento. aturaln1ente são consideravelmente mais rápida: qne a antecessora , m.: ainda mai 1 nus</p><p>que a inc1116da~ SRAM e mais len.m. in.da <:iue os tempo de cra.ns:ferência interna. dos proce.ssador (p.ex.,</p><p>entre regi rradore- ) .</p><p>Es e problema pen:nanent ·• exis.tente de. d o surgimento do computadores., foi-se a.gravando com a pos­</p><p>sibfüdadc de uso concorrente de vários pmgramas (multiprogrnmaçã.o), quando a manutenção da ocupação</p><p>do proc sador é e cncial para o .tum1;11t0 de desempenho do. istema como um rodo e a vdoddadc de rra.ns­</p><p>forência da MP rem papel relevante.</p><p>Na década de 1960, emão com o propósito de encomrar uma so]ução para e te problema (de poderiam.</p><p>ter :iri.os objecivos em mente ma o probl.ema dogap de velocidade pwce. dor/ MP era um dele) di erso</p><p>pesquisadores, norad meme na mM, analisaram d forma ccnsiva. o comport.unenro do proc"' os (progra­</p><p>ma cm exc Llç· o), e de . u.lS con lu~ôe a respeito urgiu um princípio de fun ionam :·nt,o do programa ,</p><p>denominado genericamente princípio, da localidade (focality o.f ,efere-m:e ou pri11dple ef lomlity) .</p><p>5.2.2 Conc,eito, de Localidade</p><p>e observarmos um programa de compnta.d:0r de forma ampla e enérica podeulos ob5ervar que:</p><p>• Considerando que o programa já e teja çin sua forrna · ·e ·uci d Gã sofreu o proce .. o d compilação e</p><p>e tá tran formado cm in truçótc-s d~ máquina binária.), ele tem :suil!, instruçôe ordenada cqüendalmcn­</p><p>re de acordo com o algoricmo de envolvido pi:lo prog1.lmad r. te~ e in. rnme, o programa nada rnais é</p><p>do que um conjunto de linhas d i.nmuçê . que ão armaizenadas ~ qüenciailmentc mi n'.l1:mórfr1 (cm um.</p><p>endereço após o outro) ..</p><p>• Qnando o programa é colocado ·m execução ($e transforma em um u ma1 proce o), a instruções</p><p>vão endo bu cada pelo proces.sador na MP para intcrpr ·taçâo e execução (ver Cap. 6) , natural111 nte,</p><p>os endereços vão $C $Ucedendo no Cl (ver de. c.-içâo e oper:lçâo do conrador de instrução no Cap. 6}</p><p>eqíiencialmeme, e ·cem quando ocorr a.Lgum loop ou comando de de vio em que a cqü "nci de</p><p>execução é abruptamente alterada.</p><p>122 / JVlemórit1 Cnd1c</p><p>MP</p><p>Ou~o progarna</p><p>Parle 1 {</p><p>dop<0g.A</p><p>caJI Slirrotina 1 ooop,</p><p>ooop2</p><p>sub-rotina 1</p><p>parts2</p><p>SU$W</p><p>Figura 5.2 Um programa e1n execução</p><p>com várias partes ( exemplo do princípio</p><p>de localidade especial).</p><p>Ao analisar a estrutura e a execução de diversos programas (comerciais, científicos, programas de exercícios</p><p>crc.), os pesquisadores verificaram que os programas são, em média, executados de fonna semelhante, isto é,</p><p>em blocos de instruções seqiienciais, sendo algumas delas mu itas vezes executadas mais de uma vez em curtos</p><p>intc1valos de tempo.</p><p>Há vários exemplos cm serviços e práticas cotidianas, seja em computação ou não, que seguem essa tendência</p><p>de realizar uma pequena q uantidade do total de tarefas (ou qualquer coisa semelhante} mais frcqüencemente e,</p><p>por isso, essas tarefas ou ações são separada.~ para mais rápido acesso. Assim, quando estamos navegando na lntemet</p><p>temos a tendência de acessar uma página de um site mais de uma vez em curto espaço de tempo, ou seja, acessamos</p><p>aquela página, passamos para outra e o utra e, pouco depois, voltamos àquela página inicial. Os sistemas tendem</p><p>a guardar essas páginas acessadas en1 nossa n1e1nória para evitar um longo acesso várias vezes à mesma página.</p><p>Outro exemplo pode ser de uma recepcionista de um escritório qualquer, que precisa realizar (ou recebe)</p><p>contatos de muitos clientes em um período de tempo de trabalho. As fichas de todos os clientes podem estar</p><p>em ordem alfabética em um arquivo de aço, afastado</p><p>de sua mesa e, assim, ela precisa buscar uma a uma se­</p><p>qüencialmente, embora muitos dos clientes há muito tempo não procurem o escritório e um grupo menor é</p><p>freqiientemente contatado. Para facilitar seu trabalho, aumentando a produtividade nos contatos, é preciso</p><p>que ela perca pouco tempo buscando a ficha de um cliente, o que pode ser obtido se a ficha estiver em uma</p><p>pequena pasta suspensa, colocada cm cima de sua mesa (mas a pasta tem espaço para poucas fichas) .</p><p>Ao longo do tempo de trabalho (de execução, no caso de um programa, por exemplo), a recepcio nista vai</p><p>colocando na pasta suspensa em cima da mesa as fichas dos clientes de contato mais freqiiente, de modo que</p><p>sempre q ue ela precisar fazer comato com algum ela procura sua ficha primeiro na pasta da mesa, onde ela</p><p>deve, na maio ria das vezes (mais de 90% a 95%), encontrar a ficha desejada, ganhando um tempo considerável</p><p>e1n relação ~o processo inicial, em que ela precisai;a levantar-se e ir ao arquivo de aço cada vez que desejasse</p><p>uma ficha. E desnecessário mencionar que seria praticamente impossível a recepcionista trazer o arquivo para</p><p>ci1na de sua 1nesa, pois o tempo de busca de uma ficha entre várias centenas delas continuaria a ser maior do</p><p>que procurar uma ficha entre algumas poucas dezenas, na pequena past.1 suspensa.</p><p>Da mesma fonna, uma loja armazena nas prateleiras artigos semelhantes em uma mesma prateleira, pois um</p><p>cliente quando localiza.: apanha un1 artigo é rnuito provável que queira tarnbém exa1ninar um outro parecido</p><p>Sn$W</p><p>Mem6ria Cat/1< I 123</p><p>e gastará pouco tempo buscando-o, pois está annazenado ao lado. O mais provável é que o atendente retire</p><p>da prateleira para ci ma do balcão todos os produtos semdhantes ao que o cliente deseja, e que estão armaze­</p><p>nados juntos. O tempo de acesso no balcão é naturalmente muito menor que a ida à prateleira.</p><p>Poderíamos ficar aqui apresentando inúmeros outros exemplos da localidade de busca, ou seja, grupar pe­</p><p>quenos itens de acesso &eqüente próximo ao usuário para seu uso freqüente.</p><p>A este ripo de comportamento dos programas em execução, concluído pelos pesquisadores, chamou-se de</p><p>pri11dpio da localidade.</p><p>Basicamente, e de modo simplista, podemos definir o conceito de localidade como sendo o fenômeno</p><p>relacionado com o modo pelo qual os programas em média s.-io escritos pelo programador e executados pelo</p><p>processador. Este princípio, a1iáis, não é aplicado apenas em memórias cache, fisicamente existentes em um</p><p>chip, mas deu origen1, como já observamos anteriormente, ao desenvolvimento da hieraquia de memória,</p><p>com a implementação de diversos tipos diferentes de 1ne1nória e1n um sistema de computação e mesmo, como</p><p>mostrado nos exemplos, ao seu amp]o uso na nossa vida comum.</p><p>Prosseguindo, este princípio pode ser decomposto em duas facetas ou modalidades: localidade espacial e</p><p>temp()ra/.</p><p>Na realidade, os programas não são executados de modo que a MP seja acessada randomicamcntc como seu</p><p>nome sugere (RAM). Se um programa acessa uma palavra da memó,ia, há uma boa probabilidade de que ele cm</p><p>breve acesse a mesma palavra novamente. Este é o princípio da /«a/idade temporal. E se ele acessa uma palavra da</p><p>memória, há uma boa probabilidade de que o acesso seguinte seja uma palavra subseqüence ou de endereço adja­</p><p>cente àquela palavra que ele acabou de accssar. Nesse caso, trata-se da modalidade /«a/idade espacial.</p><p>A modalidade de localidade espacial é aceitavelmente simples de ser entendida, pois se refere ao fato já</p><p>mencionado e mostrado anteriormente de que os programas s.io executados em pequenos blocos de instru­</p><p>ções, blocos esses constituídos de instruções executadas seqüencialmente. Na realidade, na maior parte do</p><p>tempo é isso mesmo que acontece, tanto que o hardware do controle de execução das instruções nos proces­</p><p>s.1dorcs é construído com este propósito (no Cap. 6 será mostrado que, após a busca de cada insm,ção o hardware</p><p>- registrador que armazena o endereço de acesso a instrução (o contador de instrução C I) - é incrementado</p><p>para apontar para o endereço da próxima instrução na seqüência, pressupondo, então, que é ela a desejada).</p><p>Eventualmente, esta ordem seqiiencial é quebrada por uma instrnção de desvio, como, p.ex, um IF-THEN­</p><p>ELSE ou um D0-WHILE, ou uma chamada de rotina etc.</p><p>A modalidade temporal refere-se ao fato de os programas renderem a usar freqüentemente o mesmo ende­</p><p>reço em curtos espaços de c.empo, conto, por exemplo, em um loop (ou no caso da visita ao mesmo site várias</p><p>vezes, como mencionamos no início deste capítulo). No caso de nossa rcccpcionista, é comum ela acessar a</p><p>ficha de um 111csmo cliente várias vezes em curtos intervalos de tempo.</p><p>A Fig. 5.2 já mostra um exemplo do princípio da localidade espacial. Nesta figura, um certo programa</p><p>pode ser constituído de um grupo de instruções iniciais, realizadas em seqüência (parte 1), de dois loops (loop</p><p>1 e loop 2) de uma sub-rotina chamada dentro do loop 1, o que significa que ela será repetida diversas vezes,</p><p>e do resto do código (parte 2 e parte 3).</p><p>O que acontece é q ue cada parte do programa (parte 1, loop 1, sub-rotina, loop 2, parte 2 e parte 3) é</p><p>realizada separadamente, isco é, durante um tempo o processador somente acessa o gru po de instrução da</p><p>parte 1, depois se dedica ao loop 1 e, neste, dive~as vezes salta para a área da sub-rotina e acessa somente seu</p><p>código, e assim por diante. Ou seja, o programa não salta indiscriminadamente da primeira instrução para</p><p>uma no meio do programa, depois para outra no final, retornando para o início etc.</p><p>Na Fig. 5.3, apresentamos um programa em C, cuja estrutura e execução podem ser analisadas do mesmo</p><p>modo, e com isso podc1111os identificar a existência de ambos os princípios, da localidade espacial e da loca­</p><p>lidade temporal.</p><p>Pode-se observar, na figura, um exemplo da existência de localidade espacial na execução de programas,</p><p>através da apresentação de um prognnna que cakuJa a média de duas turmas; com ele podemos vislumbrar a</p><p>propriedade do emprego da memória cache em sua execução.</p><p>124 / Memória Cad1e</p><p>Cálculo da média de 2 turmas. A e B</p><p>void main ()</p><p>{</p><p>prlntf ("Número de alunos da turma A:"):</p><p>seanf ("%d", &quanl_A);</p><p>maior nota A= -1;</p><p>soma:nota:A = O:</p><p>for (i=O;i < quant_A: I++)</p><p>{</p><p>printf pnforme a matricula do aluno:");</p><p>seanf ("%d",&matt[OI~));</p><p>printf ("Informe a nota: '");</p><p>seanf ("%f',&nota[O][i));</p><p>i f (nolaJOl[ij > maior_nola_A)</p><p>malor_nola_A = nolaJ01[1I:</p><p>soma_nota_A = soma_nota_A + nota(Ol(1J:</p><p>)</p><p>medla_nota_A = soma_nota_A f quant_A:</p><p>ctrscr ();</p><p>início de execução em seqüêneia</p><p>término execução em seqüência</p><p>k>op - inicio</p><p>k>op • término</p><p>sub-rotina (limpa tela)</p><p>printf ('Número de alunos da turma 8 : }: inicio de exec. em seq.</p><p>seanf ("%d", &quant_B);</p><p>total= O;</p><p>soma nota B = O; término exec. seq,</p><p>for (i=Õ;i < Quant_B; io)</p><p>{ k>op • inicio</p><p>printf ("Informe a matricula do aluno:");</p><p>seanf ("%d",&matr[1 I~));</p><p>printf ("Informe a nota: '''):</p><p>seanf ("%f',&nola[1 ][i));</p><p>if (notaJ1J[i] > maior_nota_A)</p><p>total++;</p><p>soma_nota_B = soma_nota_B + nota[1 1(I):</p><p>} término· loop</p><p>media_nota_B = soma_nota_B / quant_B: eâlculo média tunna 8</p><p>printf ("A média dos alunos da turma A toi: %4.2r, media_nota_A) :</p><p>printf ("A média dos alunos da turma B foi: %4.2f", media_nota_B):</p><p>printf ("Anota mais alta da turma A foi: %4.2f', maior_nota_A);</p><p>printf ("%d alunos da turma 8 obtiveram nota superior â maior nota da turma A". total);</p><p>}</p><p>Figura 5.3 Exemplo de programa para demonstração de localidades na sua execução.</p><p>Sn$ W</p><p>Pode-se observar no programa os trechos de execução em seqüência, bem como dois loops, que mostram</p><p>também a localidade temporal.</p><p>Assim, seria uma boa idéia tirar vantagem daqueles princípios de localidade se se colocasse a parte repetitiva</p><p>de um pedaço do programa t!m uma memória bem rápida, mantendo o restante do progranrn, q ue não está</p><p>sendo u tilizado no momento, na men1ória 1najs lenta e de maior capacidade, porém mais barata .</p><p>5.2.3 Org anizaç</p><p>organização, um modelo diferente para venda .</p><p>Um exemplo típico é o da "famíliaº x86, da huel, que se constituiu, durante anos, na base de in(Hneros</p><p>processadores, desde o 80386 (mesmo antes já havia os processadores Intel 8086/8088) até o atual Pentium 4 .</p><p>Desse modo, tem sido possível aos usuários trocar de computador (de processador) sem precisar alterar seus</p><p>SU$W</p><p>T11trod11ção / 3</p><p>programas ou ter que recompilá-los (ver explicação sobre compilação no Apêndice C), visto que empregam,</p><p>em essência, a inesrna arquitetura.</p><p>No entanto, cada processador (386, 486, Pentium, Pentium Pro, Pentium li, Pentium Ili, Pentium 4) tem</p><p>características específicas de implementação, isto é, tem uma organização diferente da do outro, a qual afeta</p><p>seu interior e seu desempenho. mas não no que se refere ao usuário.</p><p>Na nossa vida cotidiana, consrumamos perceber essas diferenças entre arquitetura e organização em outros</p><p>ramos de atividade, embora não se utilize a mesma nomenclatura aqui apresenrada. É o caso, por exemplo, da</p><p>especificação da arquitetura de um edi6cio (como a quantidade de cômodos, o tipo de cobertura das paredes</p><p>da cozinha, se terá ou não varanda etc.). Dados semelhantes aos aspeccos de organização já indicados são os</p><p>dados de estrutura, cálculos de peso e de vigas, encanamentos etc.</p><p>1.1.2 H ardware e S o ftware</p><p>Este livro trata de computadores, de sua arquitetura e organização, sua estrutura funcional e 6sica.</p><p>Sendo uma máquina, o compucador é constituído de diversos componentes 6sicos, desde os menores, na</p><p>escala de nanômetros, como os rransistores, resistores e capacirores (componentes eletrônicos), a outros mai­</p><p>ores, como a válvula de raios catódicos, VRC (do termo inglês CR T- cathode ray cube), usada nos monitores</p><p>de vídeo, o teclado, o mouse, a fiação elétrica interna, as placas de circuito impresso e outros. En1 conjunto,</p><p>esses componentes formam a pa,~e conhecida como l,ardware' . A Fig. 1.2 mostra exemplos de componentes</p><p>(hardware) de computadores.</p><p>No entanto, se considerarmos apenas o hardware, este é um objeto inerte, sem qualquer atividade própria.</p><p>Ele requer (qualquer parte do hardware) uma instrução ou comando para realizar uma específica atividade,</p><p>por menor ou mais simples que seja.</p><p>O motor de um disco rígido (HD - hard disk) inicia sua roração após receber uma instrução específica</p><p>definida pelo fubricante; o braço desse mesmo disco também se move pelas trilhas por força de instrução ou</p><p>seqüência de instruções; quando pressionamos uma tecla de un1 teclado, uma série de instruções é executada</p><p>de modo a prover o aparecimento do corrcspondtmte caractere no vídeo, por exemplo . Além disso, podemos</p><p>escrever um conjunto de comandos (instruções) en1 uma seqüência específica e em uma linguagem especial­</p><p>mente definida para interação com a máquina (linguagem de programação de alto nível, como Pascal, Fortran,</p><p>C e outras) e obter os resultados mais diversos, confonne a ordem e o tipo de comandos escolhidos.</p><p>Essas instruções, que podem ser ordenadas de formas diferentes (e, conseqüentemence, produzir resultados</p><p>diferentes), foram denominadas seftware, em oposição ao rermo hardware. É o que conhecemos genericamente</p><p>como programas de compucador.</p><p>É o programa (software) que mostra a versatilidade e a "imeligência" do compurador. Assim, um determi ­</p><p>nado compucador, fabricado com base em um processador específico, como o Pentium 4, por exemplo, ou o</p><p>AMO Athlon XP, pode controlar a abertura e fechamento de sinais de trânsito em uma região. Isto é realiza­</p><p>do pela execução de um programa, que manipula as instruções de máquina segundo uma detem1inada se­</p><p>qüência (o programa).</p><p>Este mesmo computador (com o mesmo processador e as mesmas instruções de máquina) pode servir para</p><p>edirar-se um texto ou acessar um site WWW ou ainda ajudar a controlar o estoque de um almoxarifudo.</p><p>Cada uma dessas atividades é realizada por meio da manipulação diferente (programa diferente) das mesmas</p><p>instruções, utilizando o mesmo hardware.</p><p>O termo hardware é uma palav':' original da língua inglesa, de uso comum, que identifica qualquer ferra­</p><p>menta (linrd significa duro, rígido. E um elemento dificil de modificar manualmente}, material físico. Porém,</p><p>1E.in in,glês. l1ar,fM1rr s.ig.11i60 ferrag<ns. Q~1:i.l<111~-r forr..a.mcnt:i como unu ch;m: <k parnfüso ou m\'Slno um.a p~'{J como um pirJfuso ou uma bica é h:irdw,uc:</p><p>cm inglês. um2 l<>j.1 dl.' fcm~-c,u é unu l1,11d1•u« Jl.,rr, No c111anto, em po rtugu~. $0IIICIIIC u ... 1m0& cw p:ibvr:,a p:ir.a idt:ntilic;;ir 111:iccria.l de çomputador.</p><p>Sn$W</p><p>4 / b11rod11ção</p><p>Monitor Cabo USB</p><p>Gabinete ~</p><p>Teclado</p><p>o,:::;,> .,,,.</p><p>Pendrive</p><p>Mouse</p><p>Figura 1.2 Exemplos de hardware.</p><p>o termo seftivare surgiu na época dos computadores, para i11dicar o elemento que comanda as atividades do</p><p>hardware, a sua programação, suas inscruções e que podem facilmente ser alteradas manualmente. O tenno</p><p>inglês seft é o antônimo de hard e significa "macio". Ou seja, o hardware é dificil de manipular, de alterar,</p><p>enquanto o software não.</p><p>l'lea!mente, pode-se facilmente reescrever uma linha (ou várias) de código, ou seja, i: simples manipular</p><p>um programa, o que não acontece, p. ex., se desejan11os acrescentar uma tecla em um teclado. Nesse caso, o</p><p>teclado teria que reton1ar ao fab1icante1 para analisar o problema e projetar um novo teclado.</p><p>1.1.3 Computadores Digitais</p><p>Confo1111c já mencionamos antetionnente, o compucador é constituído de um c01tjunto de componenres</p><p>(hardware), capaz de realizar uma sé,ie de tarefus, de acordo com a seqiiência de ordens dadas aos componentes,</p><p>sendo essas ordens (ou insn·uções) em conjunto denominadas software. Vimos também que os computadores são</p><p>máquinas que manipulam dados para produzir produtos acabados, que chamamos genericamente de infonnações.</p><p>Assim, internamente um computador precisa ter um procctsso qualquer para representar não só os dados que</p><p>irá manipular (processar}, mas também as instruções ou ordens dadas aos seus componentes, como, por exemplo,</p><p>- captar um valor no dispositivo de entrada,</p><p>- somar um valor com outro,</p><p>- mover um valor de um local para outro,</p><p>- colocar um valor na porta de saída etc.</p><p>Sn$W</p><p>1 utrodução / 5</p><p>O ser humano também pode realizar tarefas repetitivas ou seqüencialmcntc ordenadas, como quando exe­</p><p>cuta uma receita para fazer um bolo, como quando está efotuando o processamento anua) do imposto de ren­</p><p>da de forma manual (seguindo as instruções ordenadas existentes cm um manual), e assim por diante.</p><p>No caso do ser humano, tanto os dados que ele irá manipular para fazer a declaração de renda (valores de</p><p>salários recebidos, resultados de somas e subtrações etc.) quanto as instruções do manual s.'io fonnados pelos</p><p>símbolos que nós. humanos. combi namos para representar informações, e que chamamos. por exemplo, de:</p><p>- caracteres alfabéticos (as letras, que podem ser maiúsculas e minúsculas, p. ex., a, G, x, T)</p><p>- caracteres numéricos ou números, fonnados por conjuntos de algarismos, p. ex., l26, 7, 34</p><p>- sinais de pontuação, p. ex., - , . ; (</p><p>- sinais representativos de operações matemáticas, p. ex., + * / , e assim por diante.</p><p>Na realidade, esses caracteres s.io graficamente representados pelos símbolos mostrados nos exemplos porque</p><p>nós, humanos, rendo capacidade visual (e sonora), podemos combinar um símbolo diferente para cada elemento</p><p>que desejamos representar em nossa linguagem escrita e auditiva. Desse 1nodo1 quando lemos mn livro, seja de</p><p>ficção ou técnico, conseguiinos compreender a mensagem do autor devido a esse acordo entre nós, que chama­</p><p>mos de linguagem de comunicação. As linguagens usadas pelos humanos são constituídas de símbolos, que re­</p><p>presentam a menor unidade de infonnação (caracteres, sinais de pontuação etc.) e regras de sintaxe e semântica</p><p>da linguagem, e assim nos connmicamos sem problema. 1-Iá no mundo diversas linguagens de comunicação,</p><p>usadas por diferentes grupos de pessoa~. como o português, o inglês, o</p><p>ão e Funcio n am ento da M em ó ria Cache</p><p>Como aproveitar, então, os dois princípios da localidade? Confo11ne mencionado no parágrafo anterior, o</p><p>projetista do sistema cria um elemento de memória intermediário entre o processador e a MP, como mostra­</p><p>do na Fig. 5.4. Este elemento de memória, denonúnado memória enche, deve possuir elevada velocidade de</p><p>transfei-ência e um tamanho capaz de armazenar partes de um programa, suficientemente grandes para obter</p><p>o máximo rendimento do princípio da localidade espacial e suficientemente pequenas para não elevar em</p><p>excesso o custo do sistema de computação.</p><p>Praticamente em todo <..--ste capítulo estamos nos referindo à memória cache fisicamente real, que é locali­</p><p>zada internamente no invólucro do processador ou que é um chip inserido na placa-mãe, seja na sua organi­</p><p>zação e funcionamento, seja também referente aos seus elementos de projeto. Este foi o objetivo dos pesqui­</p><p>sadores e projetistas de sistema nos primórdios da computação; naquela época e durante algum tempo sua</p><p>SDêW</p><p>1l-!emóri11 Cacl,e / 125</p><p>Processador</p><p>CACHE</p><p>Fiigura 5.4 Organização para transforência de informações entrse Proc:essador/Cache/MP.</p><p>ap]icaçào e re um.ia nes e us.o. No entanto, atualmente e empr ga o ten110 cndrt p3r.:1 ·x:pn; ~r e rganiz.lr</p><p>diferentes tipo de aplicaçào de armazeuamenw em si remas de computação (ver item eguint , 5.3), como</p><p>cache dedico cache no naveg, dor (brm er) e qualque--r ourro isrema de am1azemm-1ento que se valh,a d..ts</p><p>caract ·rí. cicas. do princípio da local idade.</p><p>Com a incht.ão da memória cache eiitre o proce$Sador e a memória principal, podemos descrever os se­</p><p>guintes elementos e um proced:imento de funcionamento entrem trê com:ponentes, confomie mostrado na</p><p>Fig. 5.5.</p><p>a figura ob erva- e que a cone,."iio entre o di positivos. é comum ao prncessador e is duas memó.rjas, de</p><p>n1odo que, colocado unl! endereço no BE, em: é: "visto' ranro pela memória cache quanro pela MP; o mesmo</p><p>ocorre com o BD embor ob outro, a p1;cto. Isto, cm 10 ver ·mo. a cguir, tem pm propó. ito clcr r o pr-o­</p><p>Ct.:. so de tramJr.m.mcia ao fucilh;;u· a comunicação entre os trê componente .</p><p>De. de o princípio, e pdo 11:11e11os até os d'a atuaj o proce s.ador é projetado para, quando de ejado, soli­</p><p>cica1· um dado 4u · e. tcj:t armazenado na MP e, por is o, coloca no BE um valor binário corr pondente ao</p><p>e11dereço de t.1111, célula (1 byte} d.a MP, índcp ·ndr.:ntemente do fato de e.x:istir ou não memória cache. Sem</p><p>nm det~1mo~ n~. se im.t,rnte sobP a 01-ganização da cad e, van os apenas descrever o proces o operacional de</p><p>urna tran ferência de dado e11tre o t -ês componentes e em eguida des.crevere1nos a organização do si tema</p><p>todo.</p><p>Funcioname'nto, Gené.rico de Acess,o</p><p>fürc procedimento operacional pode ser apresenta.do (sempre de fonna simplificada, ver Fig. 5.5) referin­</p><p>do- e a uma operação d.e ]eimra de 1 byte de dados (l célula da MP) conforme numerado n;i página .1;;gu1nte.</p><p>Piocessador</p><p>8 D • Barramerito de dados</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>Memória</p><p>prinolpa1</p><p>Figura 5.5, Exenrplo de conexãio e fuucio-n.ame,nto do si tema proce·sa.do,r, cache e memór·a p,.r·nciipal.</p><p>Sn$W</p><p>126 / Memória Cac/re</p><p>1. o processador inicia a operação de leitura e coloca o endereço desejado da MP no BE (ver item 4.3.3);</p><p>2. o sistema de controle da cache intercepta o endereço, interpreta seu conteúdo (dependendo do método</p><p>de mapeamento de endereço cache/MP a interpretação dos bits do endereço é diferente, conforme</p><p>veremos no item 5.4.3);</p><p>3. da interpretação do endereço o controle da cache conclui se o byte (dado) solicitado está ou nào arma­</p><p>zenado na cache. Se esdver, este fato é denominado acerto (ou /,ir) . O dado (cópia) é transferido, pelo</p><p>BD, da cache para o processador na velocidade desses elementos, muito maior que a MP/processador.</p><p>4. se o byte desejado não esdver armazenado na cache. este fato é denominado falia (ou miss) . Nesse caso, o</p><p>comrole da MP é acionado para localizar o bloco da MP que contém o byte desejado e este bloco é rrnns­</p><p>fc,ido para a cachc, sendo armazenado cm uma linha daquela memória (a seguir será definido o que é um</p><p>bloco de MP e uma linha da memória cache). Em seguida, o byte desejado é transferido para o processador.</p><p>Naturalmente, a operação dccon·cntc de umafalta é muito mais demorada que a de um acerto, e será mais</p><p>ainda se o conteúdo da linha (algum byte dela) tiver sido alterado, pois esta terá que ser transferida de volta</p><p>para a MP para garantir a integridade dos dados alterados após o ténnino da execução do prograrna;</p><p>5. considerando o que é estabelecido no princípio da localidade espacial, de que, realizado um acesso a um</p><p>dctcnninado endereço, o acesso segu in te deve (é muito provável) ser realizado no endereço contíguo de</p><p>memória e tendo em vista aproveitar ao máximo a maior velocidade (pequeno tempo de acesso) das</p><p>memórias cache, quando o sistema de controle tiver que buscar um dado na MP ele busca esse dado e</p><p>mais alguns que se supõe o processador desejará em seguida. Daí o conceito de divisão da MP em blocos</p><p>de X bytes e da cache em linhas com X bytes de largura.</p><p>O que se deseja, então. é um máximo de acertos (/rits) e um núnimo de faltas (misses), para que o sistema</p><p>tenha um bom desempenho. Podemos definir um valor de eficiência da cache pela relação entre acertos e o</p><p>total de acessos:</p><p>E = Acenos (Hit} * 100</p><p>' Toca) aces.~os</p><p>sendo E, = eficiência da cachc.</p><p>Exemplo 5.1</p><p>U m determinado sistema de computação possui uma memória cache, MP e processador. Em operações</p><p>normais, o btêm-se 96 acertos para cada 100 acessos do processador às memórias. Qual deve ser a eficiência</p><p>do sistema cache/MP?</p><p>Solução</p><p>Se e m 100 acessos ocorrem 96 acertos, teremos quato faltas e a eficiência do sistema será:</p><p>96</p><p>E = - = O 96 * 100 = 96%</p><p>' 100 '</p><p>Organização Genérica de Memórias Cachc</p><p>Para pernútir, com aproveitamento, o funcionan1ento adequado dos sistemas de armzenamento, as memó­</p><p>rias cache são organizadas de modo diferente da memória principal (RAM) e essas, por sua vez, passam a ter,</p><p>para o sistema de acesso processador/cache/MP, uma organização lógica diferente da tradicional organização</p><p>fisica (conjunto de N células seqüencialrnente organizadas por endereços subseqüentes de t a N - 1 ). Na</p><p>realidade, uma outra memória, chamada virtual, também se encaixaria nesse mesmo tipo de organização a ser</p><p>apresentado (na memória secundária), mas não faz parte do escopo deste livro) .</p><p>A Fig. 5.6 rnosrra um exemplo de organização básica de memória cachc, e na Fig. 5. 7 é mostrada essa mesma</p><p>organização de memória cache, mas foi acrescentada a memória principal , com sua organização tisica-padrão</p><p>(e111 células) e a organização lógic:=i apropriada, cm blocos, para funcionamento com a memória cachc.</p><p>L Linhas</p><p>Linha O</p><p>Linha 1</p><p>llnh~2</p><p>Lima L- 1</p><p>1</p><p>Memoriai cacile</p><p>Byte I Byte I Byte</p><p>3 2 1</p><p>M • • ~</p><p>" '' li</p><p>••• M</p><p>Tàg Da.C!M;</p><p>~~</p><p>......</p><p>SDêW</p><p>M mória C<1dre / 127</p><p>Byte O {clih.1la O)</p><p>Byte O (ci!l1.1la 4)</p><p>Fig111,lt'a 5.6 Organização básiica de umil memória ~ache,</p><p>D!.! !! mod , a MP pc:rm.i.nc:ct: 6. icamcnt:e como uma seqfiência ordenada e co11tí11ua de célula.. ou byte</p><p>vi to que na prática, conforme já mencionado no Cap. 4 atualmente rodas as memórias principais (RAM) :são</p><p>organizada com c,élulas de largura igual a 8 bits, ou 1 b te_</p><p>Linha O</p><p>Linha 1</p><p>Linha 2</p><p>l nha L - 1</p><p>1</p><p>Memória cad1e</p><p>J B~e ll B~e</p><p>Byte !Byte</p><p>1 o</p><p>. ' .. Byte Byte</p><p>1 o</p><p>li • ~ • .... a li ~ 1</p><p>li l ªfe 1</p><p>Tag Dados</p><p>Bloco O</p><p>Bloco 1</p><p>B Blocos.</p><p>Mem6Jla pt'lncipal</p><p>1</p><p>1</p><p>1</p><p>Byh~ o (ce u a O)</p><p>Byle 1 (célu a 1)</p><p>Byle 2</p><p>Byle :3</p><p>Byte 4</p><p>By1a 5</p><p>Byte 6</p><p>Byle 7</p><p>Byte 8 Nt de cétulas</p><p>Byte 9</p><p>. igura 5.7 Organização memór'a cache/memória p:rincipat</p><p>' o 1!ntanto para funcionar com a cache im rida no i te111a o commk da cache (rnmbém locallz.ado no</p><p>d1ipset- ver Caps.. 4 e 6) cons.idern a MP organizada em bloco de X d]ulas ôu X byte cada, de mod que,</p><p>quando há una</p><p>francê-s e inúmeras outras.</p><p>No caso dos compm.adores, também há necessidade de se definir uma forma de representar internamente</p><p>os dados que ele recebe e processa e ainda as instruções que ele usa para eferuar seu processamento. Ou seja,</p><p>foi preciso definir uma linguagem de representação interna de dados/ i11sm1ções e de comunicação interna</p><p>para os computadores.</p><p>Tratando-se de uma máquina (que não possui nossa acuidade visual nem sonora). que é constituída em</p><p>grande parte de componentes elerrônicos, ou seja, componentes que são percorridos (utilizam-se de) por sinais</p><p>clér,icos, seja de tensão ou de corrente e cuja habilidade (razão de sua criação) é a manipulação de valores</p><p>numéricos, é bastante aceitável que seus c1iadores tenham decidido representar os dados a serem introduzidos</p><p>e manipulados internamente por algarismos ou dígitos (são palavras sinônimas) . Esses dígitos são internamente</p><p>representados por valores de tensão, um para cada símbolo diferente (visco que, não tendo a máquina acuidade</p><p>visual, não posso representar diferentes valores por síir1bolos diferentes, mas sim apenas por valoré'S diferentes</p><p>de tensfo elétrica). A Fig. 1.3 mostra exemplos comparativos dos símbolos com valores de tensão.</p><p>•4V</p><p>•3V</p><p>n •2V n n (1)</p><p>•1V</p><p>n</p><p>a 7 (2)</p><p>(1) Forma elétrica. usada em máquinas eletrônicas</p><p>(uma intensidade de sinal diferente para cada caractere)</p><p>(2) Forma gráfica simbôlica , usada pelos humanos</p><p>(um simbolo diferente para cada caractere)</p><p>Figura 1 .3 Exemplos de representação de dados pelos humanos e por uma máquina.</p><p>SU$W</p><p>6 / Jmroduçifo</p><p>Desse modo, vemos que para os humanos é facil criar e memorizar diversos símbolos d iferentes, um para</p><p>cada dado individual de informação de sua linguagem. Cross<> modo, podemos imaginar, considerando os ca­</p><p>racteres básicos de sua linguagem, cerca de 80 símbolos diferentes, entre os quais temos:</p><p>- 26 símbolos para caracteres alfabéticos minúsculos (letras minúsculas) - a b e d x gj ...... .</p><p>- 26 símbolos para caracteres alfabéticos maiúsculos (letras maiúsculas) - A B G O P V ..... .</p><p>- 4 símbolos para sinais de pontuação (. , ; : )</p><p>- 10 símbolos para caracteres numéricos (algarismos decimais) - O l 2 3 4 5 6 7 8 9</p><p>- 4 símbolos representativos de operações aritméticas - * - /</p><p>- n outros símbolos, como: ( ) ( ) " ' < > % # &</p><p>Como será mencionado adiante (ver Histórico, item 1.2), os computadores surgiram para resolwr de for­</p><p>ma mais rápida e confiável (sem os erros comuns aos h umanos em processos repetitivos) problemas matemá­</p><p>ticos e não-textuais, como vemos em livros e outros textos. Além disso, ficaria extl'e1namente di6cil para os</p><p>engenheiros criar mais de 80 níveis diferentes de tensão, u m para cada símbolo a ser usado (na realidade, os</p><p>humanos usam centenas de símbolos diferentes em suas comu nicações escritas e sonoras).</p><p>Dessa forma, optou-se por representar internamente os dados e instruções através de algarismos, os quais</p><p>são convertidos para sinais de tensão conforme o valor do algarismo. Assim, querendo-se introduzir como</p><p>dado o caractere a ou o caractere T, a máquina transfonna cm urn valor numérico correspondente, segundo</p><p>uma combinação qualquer (código), o qual é internamente representado por um valor de tensão específico,</p><p>definido pelos fabricantes. Daí a razão de os computadores serem chamados de 111áq11i11as digitais, porque</p><p>representam os dados internamente e os manipulam por digitos (ou algarismos). E esses dígitos têm a propri­</p><p>edade de variar de valor discretamente no tempo. Ou seja, passa-se do valo r l para o 2 ou de um valor l para</p><p>outro valor 1 se1n valores intermediários, sendo números inteiros e não reais, diferentemente d<! um outro</p><p>tipo de valor 011 grandeza que pode variar continuamente no tempo, e q ue chamamos de analógica.</p><p>Como costumamos usar o siste1na decimal para numerar e processar matematicamente grandezas, seria</p><p>aceitável e compreensível que os cientistas que projetaram e construíra1n os priineiros computadores adotas­</p><p>sem algarismos decimais para a representação interna e para as unidades de cálculo daquelas máquinas. O com­</p><p>putador ENIAC, pronto em 1946 e con.siderado o primeiro (ou dos primeiros) computador surgido (ver</p><p>Histórico, itcn1 1.2) us.ava o sistema decimal internamente. Era, então, uma máquina digital (porque repre­</p><p>sentava os dados internos por dígitos) decimal (porque esses dígitos eram dígitos decimais - de O a 9).</p><p>Mas essa forma de representação revelou-se desvantajosa em foce de inconvenientes de custo e confiabili­</p><p>dade. lendo-se custo em várias formas, como de consumo de energia, dissipação de calor etc., devido à neces­</p><p>sidade de usar 10 diferentes níveis de tensão, conforme podemos observar na Fig. 1.4.</p><p>Isso se deve, em patte, à necessidade de se ter que adotar 10 diferentes rúveis de tensão, bem separados, de modo</p><p>a evitar conOitos de interpretação pelo sistema, corúonne exemplificado na Fig. 1.4, tendo em vista que, por ser</p><p>uma máquina fubricada industrialmente, há sempre variações internas de valores, assim como em nossas tomadas</p><p>elétricas de casa há constantes variações da tensão de entrada. Para garantir que o sistema vai entender corretamente</p><p>um valor adota-se uma margem de tolerância na sua interpretação, como mostrado na Fig. 1.5. Para um valor, p.</p><p>ex., de +3V para um dígito, o sistema é projetado para entender este dígito com valores entre +2,8V e+ 3,2V, e</p><p>para um outro dígito, cujo valor representativo é + 3,SV, sua tolerância de interpretação seria de +3,3V a + 3,7V.</p><p>Dessa forma, haveria uma pequena separação de tensão entre os dois dígitos (+3,2V para um e +3,3V para outro),</p><p>o que poderia acarretar um erro se essa margem fo~~e ligeiramente ultrapassada em algum caso.</p><p>Para se garantir que esse problema não ocorra, consideram-se margens de tolerância maio res e separações</p><p>entre os valores de cada algarismo também maiores. Isso, naturaln1cnte, conduz a valores de tensão de entrada</p><p>mais largos, para acomodar todos os valores de tensão de todos os digitos. Esse fato, obviamente, acarreta</p><p>malar consumo de energia e potência, con1 maior dissipação de calor, como mencionado antes.</p><p>Considerando todos esses inconvenientes. verificou-se, então, que o mais confiável e de menor custo se1ia</p><p>adotar uma m.enor quantidade de valores de tensão diferentes para representar os dígitos internamente, o que</p><p>V</p><p>3,5</p><p>3,0</p><p>2,5</p><p>2,0</p><p>1,5</p><p>1,0</p><p>0,5</p><p>-0,5</p><p>-1 ,0</p><p>-1 ,5</p><p>-2,0</p><p>-2,5</p><p>-M</p><p>·-</p><p>2 -</p><p>o -</p><p>·-</p><p>--</p><p>·- -</p><p>1 -</p><p>·-</p><p>-</p><p>7</p><p>3 ...</p><p>4</p><p>n</p><p>..</p><p>5</p><p>6</p><p>8 -</p><p>...</p><p>9</p><p>SDêW</p><p>figura 1.-4 Exemplo de r·epr,esentaçã,o de 1(!1</p><p>algarismos por níveis d,e tensão, difurenties, ent</p><p>máiq uina dec · mai .</p><p>Tolerincia</p><p>Possibilidade de oonftito ----- - .... ________ _,.</p><p>dlígito 1 digito z</p><p>Figura 1.5 xe-mplo de possibilidade de conflito na inte:rpretaçio de doi1; valo:re-s.</p><p>significa adotar um s;i tema onde os. dados eriam repres.ent:ad.o e manipulado por poucos dígitos difi:r m ,</p><p>Em outta palavra em vez d u ar o si tema decimal, adotar um sistema menor (n enor quantidade de sím­</p><p>bolo , menor ba; e) endo o menor, como o de base 8 {oiro aig:arismos., em vez de 10) ou base 2 (apeias dois</p><p>algari mos difer ntes., e 1).</p><p>Além d as vamagc 1 ·, cm teima de custo e r cursos., foram considerados, ramb-;m outros. fat_ores important :</p><p>- o hard;,; are bá jco (inicialmente válvufa~. n:1 '· , chavl?$ <;;te. e po.•m:riom1entc o tran i tore ) é biná,io,</p><p>poi. deix, ou não pa!>:!ar conente;, a porta 1;; tão b ·rtas. ou :6·chadas; os campo magn'·tico r 0 pres ·ntativo</p><p>de uin dígito., e, 1 detern ·nado dispo irivo de armazenamento, podem e tar or· entado · em uma ou outra</p><p>direção; um:;1. marca ótica ex· te ou não, e a s.irn por diante.</p><p>- a lói:ica de pwgramação é do tipo: SE ondição verdadeira ENTÃO faça 3..'>!im, Í!m, a".s:ím etc., E­</p><p>ÃO foça as.sim, a sim etc. ENTÃO e SE ÀO são ca:minho elementos binário poi c!>colhc-sc E ÃO</p><p>ou E Ao. E 3 sim por diante.</p><p>Em resumo, mna máquina com hnguag,em binária (apena dígito O e '1) cria</p><p>.mai~ ha:rau mai confiávd,</p><p>comumiria meno reem me poderi p:roce . ar dado. de modo mais eficicntt: do que uma outra que u. a.s.sc</p><p>mais digito. E o r.jolm von emnann a im fez seu IAS ( 'ritem. 1.2) foi esp cificado como uma máqui-</p><p>Sn$W</p><p>8 / Jutroduçiio</p><p>na digital binária. E as demais máquinas desde então têm sido digitais binárias. A sua linguagem de máquina é</p><p>digital binária, a máquina realiza operações matemáticas através das regras do sistema binário .</p><p>Atualmente, como só temos máquinas (computadores) digitais biná,ias, é redundante escrever digital biná­</p><p>rio, e digital virou usinônimo" de djgital binário.</p><p>1. 1.4 Sistemas</p><p>Um sistema pode ser definido de diferentes maneiras. Um sistema pode ser compreendido, por exemplo,</p><p>como um conjunto de partes que cooperam para atingir um objetivo comum. Porém, a definição que parece</p><p>mais apropriada para nossas concdtuações é a seguinte. ligeiramente diferente da anterior:</p><p>"Conjunto de parces coordenadas que concorrem para a realização de mn determinado objetivo".</p><p>Atua1mence, o enfoque siscê1nico se fuz presente em quase todas as áreas do dcsenvolvim.cnco comercial,</p><p>científico, industrial e social.</p><p>Temos conhecimento do sistema de transporte de uma cidade, um conjunco de partes (os ônibus, as ruas,</p><p>os motoristas e trocadores, as pessoas) que se integram (através das normas e trajetos aprovados pela prefeitura</p><p>da cidade) para atingir o objetivo de trnnsporrar pcssoa.s de um local para outro de forma eficaz (o q ue nem</p><p>sempre acontece ... ). Conhecemos outros sistemas, como o sistema circulatório do corpo humano. o sistema</p><p>econômico do país (!!!!) etc.</p><p>O processamento eletrônico de dados, devido à sua própria natureza, a de ser um conjunto de componentes</p><p>separados que se integram segundo procedimentos e regras previamente estabelecidos, vem-se desenvolvendo</p><p>de acordo com os conceitos da Teo,ia de Sistemas e, por essa razão, é chamado de sistema de computação.</p><p>É sistema porque é um conjunto de partes que se coordenam (o teclado, a memória, o processador, os</p><p>dispositivos perifcricos, os programas) para a realização de um objetivo: computar (por isso é de computação).</p><p>Computar significa taltular, realizar cálculos matemáticos. Os computadores são máquinas de computar, de</p><p>calcular, de realizar operações matemáticas. O primeiro computador, desenvolvido na década de 1940, tinha</p><p>o objetivo de acelerar cálculos balísticos para o exército americano (ver item 1.2). E daí em diante os compu­</p><p>tadores não pararam de evoluir tecnologicamenre, mas continuaram sendo equipamentos para computar. Mesmo</p><p>quando um processador está sendo usado para processar texto ele o fuz através de cálculos matemáticos, como</p><p>também acontece quando ele realiza processamenco gráfico e o utros mais.</p><p>Calcular, realizar operações matemáticas, é uma tarefa a ser executada com valores, com dados. O cálculo</p><p>matemático com valores numéricos nada mais é do que a numipulação desses valores. O resultado de mna</p><p>operação matemática é normalmente armazenado em uma céluJa de memória ou registrador do processador,</p><p>o que se trata de outro tipo de manipulação dos dados. E assim por diante, Na realidade, um computador</p><p>realiza contínuas e constantes manipulações de dados. A manipulação dos dados, realizada segundo instruções</p><p>de um programa, é conhecida como processamento dos dados.</p><p>Sistemas de processamento de dados são aqueles responsáveis pela coleta, armazenamento, processamento</p><p>e recuperação, em equipamentos de: processamento detrôn ico. dos dados necessários ao funcionamento de</p><p>um ouc.ro sistema maior: o sistema de informações.</p><p>O sistema de informações de uma emprc~ pode ser conceituado como o conjunto de métodos, processos</p><p>e equipamentos ncce-ssá1ios para se obter, processar e utilizar informações dentro da empresa. Dessa forma, ele</p><p>compreende não só o SPD (Sistema de Processamento de Dados) como também todos os procedimentos</p><p>manuais necessários a prover infonnaçõt:s para um determjnado nível de decisão de uma organização.</p><p>Em qualquer organização, os sistemas de informações se desenvolvem segundo duas dimensões: os COIIIJ>I)·</p><p>11eutes da orga11ização, isto é, seus diversos setores funcionais, e o uível de decisão, o qual obedece a uma hierar­</p><p>quia clássica, de níveis:</p><p>• nível operaciona1 (de execução corriqueira e imediata, de competência dos menores escalões);</p><p>• nível gerencial (de nível intennedjário, de competência da gerência sec.oriaJ);</p><p>• alto nível da organização (de nível estratégico, de competência da diretoria).</p><p>Sn$W</p><p>lntrmluçiio / 9</p><p>O tipo de decisão tomada em cada nível requer um diference grau de agregação da informação e, em con­</p><p>seqüência, d iferences tipos de relatórios e/ou apresentação e uso da info1111ação.</p><p>Dentro desse enfoque, um sistema de informações gerenciais (SIC) pode ser conceitt1ado como o sistema</p><p>de informação que engloba todos os componentes e todos os níveis de decisão de uma organização.</p><p>Em geral, um sistema de processamento de dados compreende duas parces: o sistema de computação (o</p><p>computador e os programas básicos) e os sistemas de aplicação. Os primeiros. normalmente fornecidos com­</p><p>pletos pelo fabricante ou por fornecedores específicos, e os últimos, desenvolvidos pelo usuário ou por tercei­</p><p>ros, especificamente dedicados a uma aplicação de interesse do usuário.</p><p>1. 1.5 Sistemas de Computação</p><p>Qualquer processamento de dados requer a execução de uma série de etapas, que podem ser realizadas de</p><p>fonna manual ou automática por um computador. Tais etapas, daborndas e executadas passo a passo, consti­</p><p>ruein o que se chama programn. Cada um dos passos mencionados é uma diferente instrução, ou ordem de</p><p>comando, dada ao hardware, objerivando a realização de uma determinada ação (uma operação aritmética,</p><p>uma transferência de informação etc.). O programa é o conjunto de instruções.</p><p>Consideremos que se deseja, por ~xemplo, somar 100 nún1eros e imprimir o resultado. Se o processo é 1na­</p><p>nual, precisa-se de uma máquina de somar e outra de escrever, bem como de uma pessoa que executará e.odas as</p><p>etapas. Estas poderão <>star relacionadas em um papel, de modo que o operador não cometa erros nem se esqueça</p><p>de alguma etapa. devendo ser executadas sistematica1nente1 uma após outra. confonne rnosc111do na Fig, 1.6.</p><p>1. Escrever e guardar N=0 e SOMA=0</p><p>2. Ler número da entrada</p><p>3. Somar valor do número ao de SOMA e guardar resultado como SOMA</p><p>4. Somar 1 ao valor de N e guardar resultado como novo N</p><p>5. Se valor de N for menor que 100, então passar para item 2</p><p>6. Senão: imprimir valor de SOMA</p><p>7. Parar</p><p>Figura 1.6 Algoritmo para soma de 100 números.</p><p>Uma pessoa é capaz de executar a soma, cujo algoritmo é apresentado na Fig. l.6, através de vai;ações sobre</p><p>as etapas indicadas, mas un1 computador, sendo uma máquina, requer instruções precisas e completas sobre</p><p>cada passo que deva executar.</p><p>O grupo de passos relacionado na figura constitui um algoritmo. Algoritmo é 11111 conjunto de etapas finitas,</p><p>ordenadamente definidas, com o propósito de obter solução para ulll determinado problema. O tenno "finitas"</p><p>significa a necessidade de um requisito qualquer que estabeleça o final da execução do algoritlllo; no exemplo</p><p>dado, podemos observar, na etapa 5, que a execução das etapas de 2 a 4 se repete enquanto N<100. Esta é,</p><p>pois, a cláusula de parada.</p><p>A Fig. 1.7 mostra um esquema da execução manual do programa gerado pelo algoritmo da Fig. 1.6, obser­</p><p>v:.mdo-se nele as etapas básicas.</p><p>ENTRADA</p><p>Digitação</p><p>do l)l'ograma</p><p>e dos dados</p><p>PROCESSAMENTO</p><p>Cálcu!O e tes1es</p><p>SAÍDA</p><p>lmpJessão</p><p>dos resultados</p><p>Figura 1.7 Fases de processamento de um progu1na.</p><p>Sn$W</p><p>10 / [tltrodução</p><p>As etapas de um algoritmo $:lo as instruções que deverão ser executadas por uma máquina (quando falamos</p><p>de computadores); o conjunto de instruções constitui o que chamamos de programa. Um programa de com­</p><p>putador é a formalização de um algoritmo em linguagem inteligível pelo computador.</p><p>Assim como o operador deve ter entendido</p><p>os sete passos do programa apresemado na Fig. 1.6, um com­</p><p>putador precisa entender cada instrução, de modo a executar corrctamenre a operação que se pretende. O</p><p>operador entende português, sua linguage1n de con1unicação com outras pessoas; os computadores têm uma</p><p>linguagem própria - a linguagem binária, conforme n1ostrado no item anterior. Nesta Jinguagem. os caracte­</p><p>res inteligíveis não são A, 8, +, =, O, 3 etc., mas apenas zero (O) e um (1). Todo dado coletado pelos com­</p><p>putadores, as instruções por ele executadas, bem como os resultados de um processamento, são sempre cons­</p><p>tituídos de conjuntos ordenados de zeros e 1111s.</p><p>No entanto, essa linguagem, chamada de linguagem de máquina, é, para osscr<:'$ humanos, tediosa de manipular,</p><p>dificil de compreender e fãcil de acaJTetar e1T0S. Por essa razfo, foram desenvolvidas ou eras linguagens, mais próximas</p><p>do entendimento dos operadores, genericamente chamadas litt~11nge11s de pmgmmnçào. Atualmente, há dezenas dessas</p><p>linguagens, tais como Cobol, Pascal, Fortran, Visual Basic, Lisp, Assembly, C e Visual C, Oelphi, Ada, Java etc.</p><p>Cada uma dessas linguagens possui regras fixas e 1ígidas de sintaxe, scmelhames às das linguagens de comunicação</p><p>humana, tais como português, inglês etc. (embora estas não possuam sintaxe tão rígida). O programador escreve o</p><p>programa através da descrição de instrução por inscn,çào (como fizemos nos passos de 1 a 7 da Fig. 1.6).</p><p>Tal programa não é, entretanto, possível de ser diret.an1enc.e executado pela máquina. visto que as lingua­</p><p>gens de programação são apenas um modo de o operador comunicar-se com o computador. A máquina so­</p><p>meme entende e executa instruções mais simples, chamadas instruções de máquina.</p><p>Todo computador é construído co1n circuitos eletrônicos capazes de reconhecer e executar diretamente</p><p>apenas um conjunto limitado e simples de instruções de máquina, nas quais todo programa (escrito em Pascal,</p><p>C, Oelphi, Java etc.) deve ser convertido antes de ser cxecurado. Essas instruções são n01malmente do tipo:</p><p>• executar operações aritméticas sobre dois números;</p><p>• executar operações lógicas sobre dois números;</p><p>• mover um conjunto de bits (um número ou parte) de um ponto para outro do computador;</p><p>• desviar a seqüência do programa;</p><p>• fazer a comunicação com algum dispositivo de entrada ou saída de dados.</p><p>Em resumo, o computador, sendo uma máquina, precisa de ºordens'' específicas (suas instruções) para execu­</p><p>tar as atividades para as quais foi construído. Durante seu projeto, seu idealizador definiu que sua n1áquina deverá</p><p>realizar un1 conjunto de operações básicas, conto, por exemplo, "soinar dois núrneros", multiplicar dois núme­</p><p>ros", ''mover um dado de uma área da 1nemória para o processador", "transfe1ir um dado da memó1ia para um</p><p>periferico" etc. Essas operações básicas (muitas vezes conhecidas como operações primitivas) são formalizadas</p><p>como instruções da máquina, sendo sua definição fonnal convertida em um conjunto de bits e sua implemt:nta­</p><p>ção estabelecida no processador, vindo da fabrica em seu interior; o método de implementar as inscn1ções primi­</p><p>tivas em um processador pode variar (microprogramas são um tipo, p. ex.), conforme veremos no Cap. 6.</p><p>Essa formalização em instruções de máquina constitui a "linguagem" de comunicação dos humanos com a</p><p>máquina e desta intcrnamt!nte entre seus componentes.</p><p>Assim como os humanos possuem urna linguagem próp1ia, c1iada e desenvolvida ao longo do tempo para</p><p>permitir nossa comunicação cotidiana (português, inglês, hebraico, francês. cspanho1, alemão são exemplos</p><p>de linguagens da raça humana), também_ foi necessário criar urna Linguagem, aliás existem diversas, para co­</p><p>municação dos compmadores, a primeira das quais e mais básica é denominada linguagem de máquina, e é</p><p>imprc-scindívcl para o funcionamento de qualquer computador.</p><p>No entanto, como já mencionamos anrerionnente, criar programas (organizar centenas, milhares de instruções</p><p>binárias, cheias de O e 1, se tomou praticamente inviável em temias de perda de tempo, custo de pessoal, entre</p><p>outros problemas, razão por que surgiram as linguagens chamadas de "alto 1úvel" ou "orientada a aplicação". O</p><p>nome alto nívd decorre naturalmente do futo de essas linguagens serem mais distantes da fonna de entendimento</p><p>SU$W</p><p>llltroduçao / 11</p><p>do process.,dor e mais próximas do entendimento do programador, do ser humano, tendo características semelhantes</p><p>às nossas linguagens de comunicação. Dadas as semelhanças com as linguagens dos humanos, que peniútem ao</p><p>programador pensar usando fonnas às quais ele já está habituado, tais como palavras da sua língua (as linguagens mais</p><p>conhecidas foram desenvolvid'IS utilizando-se palavras da língua ingles.1), sinais de operações matemáticas(+, - , / *),</p><p>seu emprego t0niou-se mais vantajoso do que a utilização de símbolos pouco inteligívei.s.</p><p>A Fig. 1.8 mostra um trecho de programa criado em três linguagens diferemes, com a finalidade de mostrar</p><p>ao leitor, neste estágio inicial de entendimento sobre um computador e suas características, as diferenças mais</p><p>visíveis entre elas, a principal sendo a clareza e a concisão. Como se pode observar nos exemplos da figura, o</p><p>Linguagem Delphi</p><p>Procedure Tforml .TestAsm;</p><p>var I, Total : Integer;</p><p>begin</p><p>Total, =O ,</p><p>For I ,=1 To 5 do</p><p>Total :=Total+lO;</p><p>end;</p><p>Linguagem Assembly</p><p>push ebp</p><p>rnov ebp, esp</p><p>add esp, -$0c</p><p>mov [ebp-$04], eax</p><p>xor eax, eax</p><p>mov [ebp-$0c], eax</p><p>rnov[ebp-$08], $00000001</p><p>add dword ptr [ebp-$0c], $0a</p><p>inc dword ptr [ebp-$08]</p><p>cmp dword ptr [epb-$08], $06</p><p>jnz TForml.TestAsm + $15</p><p>mov esp, ebp</p><p>pop ebp</p><p>ret</p><p>Linguagem de Máquina (binário)</p><p>01010101</p><p>00010 111 1101 100</p><p>100000111100010011110100</p><p>100010010100010111111100</p><p>001100 1111001101</p><p>100010010100010111111100</p><p>1100011101000101111100001000000</p><p>10000011010001011111010000001010</p><p>111111110100010111111000</p><p>100000 11011 111011 111 1000000001 10</p><p>01110 101111 10011</p><p>1000101111100101</p><p>0101 11 01</p><p>11000011</p><p>Figura 1.8 Exemplo de programas cm Dclphi, Assembly e linguagem de máquina (binário).</p><p>Sn$W</p><p>12 / Iu1rod11çiio</p><p>trecho do programa escrito em linguagem de alto nível possui muito menos linhas de código do que o mesmo</p><p>programa convertido para a linguagen1 binátia da máquina.</p><p>Uma o utra vantagem dessas linguagens reside no fato de que, em fàce de suas semelhanças com as lingua­</p><p>gens dos humanos, elas podem ser definidas para atender requisitos e intenções específicas de emprego. Assim</p><p>é que a linguagem Cobol foi definida para emprego em programas comerciais, Fortran é mais bem utilizada</p><p>em programação cienc:ífica, além das linguagens surgidas n,ais recente1nente1 com o desenvolvimento dos sis­</p><p>temas gráficos (Visual llasic, Visual C), e assim por diante.</p><p>Ainda há outras vantagens do uso de linguagens de alto nível sobre a li11guagem de máquina, entre as quais</p><p>pode-se citar:</p><p>a) a concisão das linguagens de alto nível, se comparadas com programas binários (ver Fig. 1 .8). Neste</p><p>úkimo caso, os programas são mais longos e de di6ci1 e1uendilnento em face das instruções serem mais</p><p>simples, portanto exigindo rnuitas para cada item operacional. Por exemplo. em uma linguagem de</p><p>alto nível teríamos o seguinte con1ando:</p><p>X: = A + 13 / (C * D - A),</p><p>o qual poderia se transfonnar nas seguintes instruções binárias:</p><p>1000111000000111</p><p>0000111000001100</p><p>01111 11000001111</p><p>0·1 0·1 1·11000001 001</p><p>1100111 00000 1110</p><p>0011111 00001 1000</p><p>01 1111100001 101 1</p><p>1110111000100011</p><p>O exemplo é ilustrativo das diferenças apontadas e já obse1vadas na Fig. l.8.</p><p>1.2 HISTÓRICO</p><p>Embora o conhecimento histórico da evolução dos computadores não seja essencial para compreender seu füncio­</p><p>namento, é interessante que o leitor possa ter oporttnúdade de acompanhar historicamente seu desenvolvimento.</p><p>É comum encontrar cm livros sobre o assunto uma divisão histórica da evolução dos computadores segun­</p><p>do o elemcnro cletrônico básico de sua o rganização: válvulas, transisrores, circuitos integrados, pastilhas de</p><p>alta</p><p>e muito alta integração (VLST).</p><p>Uma outra classificação histórica baseia-se em épocas limitadas por acontecimentos marcames da evolução</p><p>da computação. Neste texto, procurarcn1:os descrever uma combinação desses dois aspectos.</p><p>Podemos separar os aconteci1nentos crono1ogicamente e confonne seu componente básico. Assi1n, ten10s</p><p>a segu inte divisão:</p><p>- dispositivos mecânicos (do ábaco a Babbagc);</p><p>- dispositivos eletromecânicos {do cattào HoUerith ao Mark !);</p><p>- dispositivos elerrônicos (até o Eniac);</p><p>- computadores - equipamentos eletrônicos de processamento de dados:</p><p>Com válvulas (ou primeira geração) ;</p><p>Com transístores (ou segunda geração);</p><p>Com circ uitos integrados, IC (ou terceira geração)</p><p>Com integração cm larga escala, VLSI (chips) (ou quarta geração)</p><p>Sn$W</p><p>/utroduçiio / 13</p><p>Passaremos de fonna especial sobre os microprocessadores. base dos compmadores pessoais, portáteis e móveis.</p><p>atualmente existentes aos milhões no 111undo inteiro.</p><p>1.2.1 Época dos Dispositivos Mecânicos (3000 a .e. - 1880)</p><p>O conceito de efetuar cálculos com algu m tipo de equipamento vem dos chineses, com registros de sua</p><p>existência e m 2500 a 3000 a.C. Esses equipamentos eram chamados de ábacos e:,, postc:,riormente, tem-se regis­</p><p>tros do uso desses ábacos pelos babilónios e pelos romanos.</p><p>Esse dispositivo (ver Fig. 1.9) permitia a contagem de valores, tomando possível aos comerciantes babilónicos</p><p>rcgistrar dados numéiicos sobre suas colheitas. Também os romanos se serviram muito dos ábacos para efetuar</p><p>cálculos aritméticos simples, registrando valores de o utra forma (ver Apêndice A para explicação sobre alga­</p><p>,;smos romanos). Até hoje há quem use 1.11 tipo de dispositivo, ainda popular na China, por exemplo .</p><p>Figura 1.9 Exemplo de um ábaco.</p><p>Unia evolução conhecida do ábaco surgiu cm I SOO, através de um calculador mecânico inventado por</p><p>Leonardo da Vinci; em 1621 apareceu outra invenção para cálculos, a conhecida régua de cálculo. Mas foi no</p><p>século XVII (em 1642) que surgiu efetivamente uma máquina para cálculos, quando o filósofo e matemático</p><p>francês Blaisc Pascal, aos 19 anos. m1 cidade francesa de Rouen, constru iu um contador mecânico que rc:a)j­</p><p>zava operações aritméticas de soma e subtração através de rodas e engrenagens dentadas. Esse instrumento,</p><p>posteriormente denominado Pascalina, em homenagem ao seu inventor, foi idealiiado para auxiliá-lo em seu</p><p>trabalho de contabilidade e consistia em seis engrenagens dentadas, com um ponteiro indicando o valo r deci­</p><p>mal escolhido o u calculado. Cada engrenagem continha 1 O dentes que, após efemarem um giro completo,</p><p>acarretavam o avanço de um dente de mna segunda engrenagem, exatamente o rne-smo princípio de um</p><p>hodômetro de automóvel e base de todas as calculadoras mecânicas. Cada conjunto de ponteiros era usado</p><p>como um registmdor para annazenar temporariamente o valor de um número. Um registrador atuava como</p><p>aw11111/ador, para guardar resultados e uma parcela. O o utro registrador era utilizado para se introduzir um</p><p>valor a ser somado ou subtraído do valor annazenado no acumulador. Quando se acionava a manivela e a</p><p>máquina era colocada cm movimento. os dois valores eran1 adicionados e o resultado aparecia no acumula­</p><p>dor. O calculador de Pascal apresentou duas significativas inovações tecnológicas para sua época:</p><p>1) penniria o uso de "vai I ", passado automaticamente para a pareda seguinte; e</p><p>2) utilizava o conceito de complemento para realizar operações aritméticas de subtração através de soma</p><p>de complemento (esse conceito é até hoje essencialmente a base de funcionamento dos circuitos de</p><p>operação aritmética em ponto fixo dos computadores).</p><p>A máquina, embora rudiment.1r. era eficaz para sua época. sendo inteira1nente mecânica e não automática</p><p>(funcionava por comando de uma manivela acionada manualmente). A linguagem de programação PASCAL</p><p>foi assim chamada em honra desse cientista pdo seu trabalho pioneiro em rnatemática e também devido à sua</p><p>invenção.</p><p>Sn$W</p><p>14 / I111rod11çiio</p><p>Algum tempo após a invenção de Pascal, outro filósofo e matemático, dessa vez alemão, Gottfried Leibniz.</p><p>construiu uma calculadora mais completa que a de Pascal, porque realizava as quatro operações aritméticas, e</p><p>não apenas a adição e subtração, como a Pascalina. O calculador mecânico de Leibniz era uma duplicata do</p><p>calculador de Pascal acrescido de dois conjun tos adicionais de rodas, as quais perm.itiam a realização de mul­</p><p>tiplicação e divisão por meio de um processo de operações sucessivas (sabemos ser possível realizar multipli­</p><p>cações por somas sucessivas e divisão por subtrações sucessivas). Ambas as máquinas, a de Pascal e a de Leibniz,</p><p>eram manuais.</p><p>A primeira utilização prática de dispositivos mecânicos para computar dados automaticamente data do iní­</p><p>cio de 1800. Naquela época, aconteceram muitas contribuições para o desenvolvimento inicial dos computa­</p><p>dores, sendo obtidas do aperfeiçoamento de processos cm uma área inteiramente diferente de computação -</p><p>a de tecelagem. Em 1801,Josephjacquard produziu com sucesso um retrato em tecelagem, cuja produção foi</p><p>inteiramente realizada de forn1a n1ecânica e controlada automaticamente por instruções registradas em orifi­</p><p>cios em cartões perfurados. Um dos mais conhecidos resultados desse processo, de realização de tarefas de</p><p>tecelagem por uma máquina controlada por programa armazenado, foi o retrato do próprio Joseph Jacquard</p><p>cm uma tapeçaria, o qual consumiu 24.000 cartões.</p><p>Um dos últimos e mais importantes trabalhos pioneiros em compurnçào por processos mecânicos foi rea­</p><p>lizado por um inglês de nome Charles Babbage, que, .::m 1823, foi contratado pda Royal Astronomical Society</p><p>of Great Britain para produzir uma máquina calculado,-a prog,-amável, com a finalidade de gerar rnbelas de</p><p>navegação para a marinha britânica.</p><p>Em seu trabalho, Dabbage projetou dois tipos de máquina: a máq11i11a de diferenças e a 111áq11i11a a11al/tica.</p><p>A primeira delas, a 111áq11i11a de difere11ças, foi j usrnmentc idealizada para atender às necessidades da Marinha</p><p>Rea] Inglesa. Na época, as tabelas de navegação eram escritas nHmualmcntc por diversos funcionários, contra­</p><p>tados para:</p><p>1) realizar sucessivas e n,petitivas operações de adição e multiplicação e</p><p>2) imprimir os resulrndos, escrevendo-os.</p><p>Foi constatado que, devido à natureza pen11anentc e repetitiva do processo realizado por humanos, sempre</p><p>ocorriam erros (tanto nos cálculos, q uanto na ocasião de rcgistr.ir por .::scrito os resultados). O que Babbage se</p><p>propunha (por contrato) era projetar uma máquina que realizasse de forma constante e sem erros o tedioso</p><p>trabalho de cálculos, e registrasse, de forma também confiável, os resulrndos.</p><p>A 111áq11i11a de difere11ças (as.sim chamada devido ao nome do proc.::sso matemático de cálculo utilizado por</p><p>da - diferenças finitas) era um dispositivo mecânico que só realizava adições e subtrações (como a máquina de</p><p>Pascal) e cujos cálculos matemáticos se baseavam no processo de diferenças finitas, pelo qual é possível calcular</p><p>fórmulas (até com polinõmios e funções trigonométricas) utilizando apenas a operação de adição (a descrição</p><p>detalhada do método e do trabalho de Babbage pode ser encontrada em fDUUD 78]). Ela era constituída de</p><p>um conjunto de registradores mecânicos, cada um contendo rodas com dígitos, que serviam para annazenar</p><p>um valor decimal. A exemplo da calculadora de Pascal, dois rcgistradorcs adjacentes c::ram conectados por um</p><p>mecanisrno de efetuar sornas. A máquina era acionada por um motor movido a vapor. que realizava uma série</p><p>de etapas e finalmente apresentava um resultado. Além disso, ela continha um dispositivo de g1-avaçào em</p><p>uma chapa de cobre, uma espécie de agulha que marcava os valores na chapa, a qual servia de 1natriz para</p><p>posterior impress.io cm papel. Esse processo de gravação pode ser considerado como pioneiro em termos de</p><p>dispositivos de armazenamento secundário .</p><p>Babbage projdou algumas dessas máquinas, capazes de realizar cákulos</p>

Mais conteúdos dessa disciplina