Você está na página 1de 54
Sumario VOLUME 1 Chips & bytes Como sobreviver as tentagdes do micro 13 Perguntas ¢ respostas . f a futuro chegou. .... ‘ 28 Perguntas ¢ respostas...... 48° Quando 1 + 1 = 10. sa Tudo sob controle . ; 60. Perguntas ¢ respostas . .. 4 Mensagem recebida . . 6 Menos igual a mais? 9 Codigo decifrado . . 84 Quem ¢ 0 qué? .. 101 O gnupo dois. . 119 Microeletrénica . 121 Niimeros ao acaso . 209 Conexdes Rumo a expansao 20 Fechando contato . 36 Aco rapida ..... 56 Pronta para imprimir Gravee arquive ......... A ligacdo que faltava Memoria permanente. . . Mantendo 0 foco . Caneta magica Sobre duas rodas Conversa de amigo... Os tragos perfeitos . Didlogo a distancia pequeno notavel . Fundamentos Bitse bytes ...... 32 Memoria infalivel.. 58 Verdadeiro ou falso? . 68 Caixa-forte 2 Logica misteriosa . 96 Didlogo digital... U2 Leis do pensamento . 128 O centro nervoso 138 Ocndereco certo . 144 Nameros hexadecin 179 Peek e poke ....... 188 Entradas e saidas . 206 Sala de espera . Hardware O que é computador’ 1 Qual deles? . 4 A ficha técnica <8) Micros em movimento... 65 Acasa automitica . Acera dos portateis Como escolher? . Dados continuos Os precursores Contato! . asentine dvnn ey esumed atigs UAE Do Abaco ao micro. . » 86 Sir Clive Sinclair. ae 120 John von Neumann ....... + 140 Steve Wozniak ‘ 155 Chuck Peddle. Alan Turing Charles Babbage .. ‘Herman Hollerith Perspectivas enigma das barras. O professor eletrénico ....... Nos bastidores . 2 ‘Um novo aluno Micros na medicina . Misica eletr6nica Os micromundos Imagens animadas . Ovoo simulado ...- Informacdo dividida . VOLUME 1 Por dentro do hardware CP 500 TKSS, €P300...... Unitron AP IL Nexus 1600 TK2000 D-8100 Elppa Jr. 1-7000 Commodore 64. Micro Engenho 2... Sinclair QL Programacap Basic Assuasordens .......... Loops sob control F Direto ao ponto ....-- Problemas de rotina. 2.02... Acespera do Natal Desatie os elementos 169, Organize seus dados Descubra as funcdes. Tentandoa sorte . Segunda dimensao . Novas estruturas, . Soludes reais .. Software Domine seu micro. Jogos e brincadeiras O micro: um artista Pintando com namen O texto perfeito Consulte 0 chip O mapa légico . Siga a pistas Graficos em dimensao Faca suas previs0es. Quando o herd € voos Tradugao alternativa . Piratas avista......0..0. Colocando em ordem’ Inimigo eletronico Sumario ptilaes Chips & bytes Hardware Jogando pelo cOrreiO. eee eeeceseeeee 266 Memérias do passado ....... 304 ‘Comunidade “ligada” 301 Expansdo dos limites 326 Conforto no trabalho aa 2 321 Fora do espectro 386 ‘Atendlendo pacientes a 358 Micros na advocacia ........ c 374 —- ~ joe realidade ... 381 Qsiorecipares: Mestre-de-obras . 302 Micro e finangas 426 Gottfried Leibniz Guerrana paz. 4a Norbert Wiener . Micro e arte 452 Uma casa de cha - Passos da tartaruga 42 Konrad Zuse . Odireito ao lazer 481 Leonardo Torres - Concorréneia criativa aS _— Vannevar Bush Conexdes ean Grace Hopper... Tragos eletrOnicos ...-..-.seeeseeseseees 258 Desafio universitario Claro como cristal 28 Beerolaae Rato eletrénico .. 296 Mordomo eletrdnico 314 = Bastoes ligados .. 332 Dpaispeatves Plena carga 352 Imprimindo a jato Hey az Construa seus jogos * Senso comum. 304 Controle seu percurso Mao imnica ...... 414 ‘Tempo de observacao . Show de laser 434 Janelas para o mundo. Seu fil servidor . Viajando Fundenenttos Observando 0s astro: Lance de mestre. Ovisual dos caracteres «1.4... , 252 Bereikecrretcy Questio de seguranca L253 Coltadecrangat ‘Trabalho de detetive 298 Tatoa da vista Controle editorial... 308 mNocls nparitlr Registro detrithas .. 1. 324 unalog’ Passo a paso 348 la 364 Sr ae 384 Pordentrodohardware Fim especifico . 22. 388 — Codigo de ordenagao . 43 DGT-1000 . 250 Miquina abstrata 424 Apple Le . 269 Novilingua ... 428 Exo. 290 Cédigo de maquina. om 448 Epson HX-20 309 Linha de montagem a : 464 Commodore Vie-20 330 As proximas geracdes sl 468 JR Sysdata . 349 VOLUME 2 Cobra 210 SID 3000 . Labo 8221 . PCI6 .. HP-85 BR 1000 Programaco sasic Campos ¢ registros Novas entradas mae Respostas aos exercicios ...... Elaboracao do programa Ampliacdo de arquivos . . Trocando de lugar... Montagem de programas . Valores ficticios Tempo e movimento Mandado de busca Recursos extras Questao de estilo Linguagem alternativa Software Nomes encadeados ..... Umlivro de figuras . 370 410 430 450 470 Comportamento simulado A ordem da jogada ...... Procurando caminhos. Quadro de avisos A toda velocidade .. Idiomas diferentes. Fazdeconta . Intérprete de papéis. Revisao eletronica Gerador de aplicagdes Texto ¢ computacao . Elementos subversivos Kits de ferramentas . Descubra 0 cbdigo.. Risco calculado .... Apresentando 0 som. ee aller Dicas sobre o som Como criar imagens Oressoar do Vie . Esclarecendo o Dragon Recursos modestos Imagens primarias Osomideal ... Luz-guia 246 276 216 285, 312 EY Fundamentos Bits e bytes O computador s6 entende de numeros, e tudo o que podemos fazer com dez digitos ele faz com apenas dois — 0 e 1. ‘As palavras bits © bytes so sempre empregadas ‘quando se escreve sobre computadores. Referem-se a0 modo pelo qual os computadores armazenam © tusim os niimeros — um jeito absolutamente di- ferente daquele empregado pelas pessoas, Representamos 0s niimeros com dez simbolos di ferentes (de 08 9) e os manipulamosem multiplos de 10 (o que échamado sistema de base 10), 14 0s com- putadores, para toda a sua prestidigitagio matemé- tica, precisam de apenas dois simbolos: Oe 1. Para representar suas combinagées € que se recorre aos bits e bytes. Um bit é a menor unidade de informa- {glo que um computador pode usar. E com um bit ue o computador representa os dois digitos —Oe | Em primeiro lugar, vamos ver o que so os bits ea razdo por que séo assim chamados. Computadores ‘io instrumentos eletrénicos; tudo o que realizam € feito com sinais ou impulsos elétricos. Um tnt impulso pode estar “presente” (on) ou “ausen (off): este € o principio que permite representar ni: rmeros com impulsos. A ilustracdo mostra uma placa de madeira com um furo em que se pode colocar um pino. Embora se trate de um nico furo, pode representar dois ni- meros e serve de excelente analogia & maneira de funcionar do computador. Ou o furo esté sem o pino enesse caso representa 0, ou como pinoe representa 1, Uma tnica placa pode, entao, simbolizar 0 ou | Num computador, obtém-se 0 mesmo resultado ‘com um impulso elétrico. Quando este esta ausente (off), significa 0; caso contrério (on), representa | Um tinico dispositive eletranico, ou 0 pedago de madeira com 0 furo, pode entio ser usado para re presentar dois estados: sem pino ou com ping; au sente ou presente; off ou on; 0 ou | ‘A menor unidade de informaco chama-se bit. A palavra, em inglés, jd sugere algo de tamanho redu- Zido € representa dois estados possiveis. A palavra deriva de Blnary digiT (digito binario). Pensado de ‘outra forma, um bité capaz de contar, mas apenas de Oal ‘Uma placa com dois furos pode indicar quatro di- Bits e bytes Un bit gio bidra) 6a iicando 1, Se placa menor unidade de infrmacso. tem dois fue, ha quate matemdtes que un Eombinages poste do ‘computador pode marinus furove pnoe. Cosa seam folado,uma placa de madera usados oto fash 36 ‘som um unio fur pode ombinades cterertes, todas representa 0 ou} as mastad a lable Os rpendendo do fio de estar computadores use grupos de ‘undo com um pina. fo ise tas grupos 80 fomputadorfar mesmo com chamados de byes, Cada be lumimpulsoeleico que pode pode repesentar un numero, stor ausent op (evar de D3 255. representa 0, ou presente Eueeeernsseccanccnssusauvudizsecenesesecsezssansscctectenteuueuye nes! SESEREEEREE: Bytes namemoria Bytes sio grapos de oto Aigo nar (bits). Cada___Para iss, ele tem de saber odor ide 09255 Alem diss, toda bye # srmazenado uma espécie de “elu Separade da meme, Alsposta sstemateamente junto cam auras, de forme {ue o computador possa ‘posi de 2* posigéo de 2° posicéo de memoria ferentes estados, ou contar de 03. Os furos podem estar vazios; o furo da dieita pode estar com um Pino; o da esquerda pode estar com um pino; ou am- bos estarem com pinos. A ilustragéo mostra uma placa com oito furos. Hi, portanto, 256 combina- 50es possiveis de pinos e furos — todas mostradas na tabela ao lado com nimeros I representando pi- nos € zeros representande furos. Um conjunto como esse, de oitodigitos binsrios its), € chamado de byte. Um nico byte, portanto, pode tepresentar 256 diferentes estados (ou pode contar de 0 a 255) Quando se diz que um computador “armazena’ um byte, significa que um mimero (de 0 a 255) esté nna meméria do computador para ser utilizado no momento que for necessirio. Cada byte tem seu prv- prio compartimento e tais eompartimentos podem ser dispostos em seqiéncia (a ilustracio acima mos- tra os bytes como se estivessem empilhados). Se 0 computador quer recuperar um némero, tudo que precisa suber € em qual compartimento o byte (que contém esse nimero) esté armazenado, localiza o byte de que precise. byt € usado pelo computador onde est compartimento de ara ermazenarnimeros que membre que cntémo bye Todos 08 nimeros de 02255, dem ser epresantedoe ‘mediante comtinagoes de 1 O vejatabell.O8 ts sho armarenados e wsedos por omputadores em grupos de 8 Oita bts juntos fermam um bye BR Wittens 5 eae Memoria infalivel ° computador armazena no seu interior um grande numero de informagées. Esses dados devem ser organizados cuidadosamente Para que possam ser recuperados a qualquer momento. Mem (Occhip RAM labsinol constitu tum dos mais ecenasavangos no quo so relere 3 toonoiogle de computadores. RAM (Random Access Memory) uma dis variedaes de memoria tetalmerte erica, categoria que tambem abrange ROM Read Only Memory) AS tas cassate 05 discos magnétios fexiveis sto xemios de cute gineroimporant, a mmomdtaclevomagntia. “Amemora RAM fabreads coms euize proceso fotografcoe graven. ima fim de ear rihates be minuseuls transistors. Cada tt de rmemétarequer pel menos Um rans. ‘Otempo ques leva para “eserever um simples bitem qualquer das 16284 cells de ‘meméria€ de cerea de 200 nanosseguncos, ou sj 5 ‘nitonésmos de segundo. No ser humano, a meméria é um arquivo da mente; tum lugar em que detalhes de experiéncias vividas so armazenados para uso posterior. Em compu- tagdo, a palavra “‘meméria” significa quase a mesma coisa; mas a meméria do computador limita se a determinadas fungdes. Para um ser humano, a meméria fraca pode cau- sar momentos embaracosos. Para um computador, a falta de memoria €algo desastroso. Sem a memoria, © computador nao teria base para funcionar, jd que faz uso dela para armazenar os programas que 0 dirigem, Em ambos 0s casos, o termo meméria refere-se a dduas coisas: armazenagem ¢ lembranca. Armazenar informagdes sem poder retiré-las seria inti; etentar lembrar-se de informagées que nio foram armaze- nadas obviamente nao tem sentido. Ambas as memérias sio similares também sob ‘outro aspecto. A meméria humana parece atuar & curto e a longo prazo. Um homem atravessando a rua, por exemplo: certamente cle *'se lembraré’” de esperar que 0 tltimo carro passe, Entretanto, quando jé estiver do outro lado da rua, 0 homem nio se lembrard mais do veiculo, Sua meméria é, neste aso, de curto prazo. 'No entanto, se dentro do mesmo carro ele visse dois homens mascarados no banco traseiro, amea- gando sua esposa, com certeza se lembraria do mo- delo ¢ da cor do carro ¢ talver até da placa do ver- culo, A meméria é, neste caso, de longo prazo. computador possui esses dois tipos de me mori. A.meméria a longo prazo ou permanente contém programas ¢ informagbes que o usustio de- seja manter. Sao armazenados na forma de grava- ges magnéticas em fitas cassete, discos lexiveis ov cartuchos ROM. O tipo de meméria a euro prazo ou transitéria € chamado RAM, um chip que fica dentro do proprio computador. Seu uso restringe-se ao perfodo.em que ‘computador estd em funcionamento, Se o compu- tador no reccber energia, mesmo que seja por uma fragio de segundo, todo o conteddo memorizal de- saparece instantancamente. Entretanto, a analogia feta com a meméria hu- mana no € inteiramente exata. Para que 0 compu tador trabalhe, os programas e dados devem ser transferidos da meméria a longo prazo para a me- miéria a cuto prazo; s6 assim 0 computador poder ter acesso instantineo as informagies. E 0 mado ‘como slo armazenados e transferidos os dados num computador & completamente diferente do meca- nismo da meméria humana. E ainda um mistério o mecanismo da meméria hu- mana, jd que as lembrancas nao sao depositadas em partes identificdveis do cérebro. Nao precisamos descobrir a localizagao de determinada informacio para trazé-la 3 lembranca. E quando uma lembranga niio é mais necesséria nao a depositamos novamente numa pequena divisio de nosso eérebro.. Caos organizado Na memsria do computador, a localizacao de cada item é vital. O computador deve encontrar um byte de informacdo, saber se ela é parte do programa ou dos dados do programa e saber, finalmente, onde depositar a informagio. ‘A meméria humana se parece com uma eaixa de- sorganizada, abarrotada de informagées. As infor- 'magdes so depositadas aparentemente a0 acaso e se confundem com outras lembrancas, & medida que nnovas experiéncias ocorrem. Mesmo assim, 0 cére- bro € capaz de conseguir a informacao correta, no ‘momento certo. ‘A meméria do computador € como um enorme pombal em que cada parte é totalmente separada da outra. Tudo € muito organizado: cada parte do pom- bal tem um nimero (conhecido como seu “‘endere- go") e contém apenas um byte, nem mais nem me- ‘nos. O computador encontra a informagao pelo nt ‘mero do compartimento do pombal nao pelo que nele est armazenado. ‘O computador nao tem inteligéncia, portanto no Ot programas registrados om fia sf0 ‘menos espago pata amazénagem de programas armaztnados em seqincs, cada it de cada byte feos pao usuario cu aaquiidescomereaimerte ‘egistado en orden. Qvandoaftaéulzada Algae versées ans por exemploocapam 16 ovamente computador faz evra de eda bit, Keys de meméra, Qubndo un programe ¢ mas amazene-os em grupos de of bytes am. earegad de fits cassete primera cagso de ada clula de memoria. primer bye data 6 memo dsponiva no sera pier loeaeo {olocado na primera cella isponvel:osogurdo em RAM. € ums des aes dos progaras de byte na segunda assim por dont Quando 0 canto interno saber prinenalocsio de ‘computador for executro programa, s6 precisa memoria ssponivel pra o usuario. Depo deo ‘Saber oenderyo de ici. O computador programa ter So earegaco na memvis RAM do ‘wanes o conleudo de cde bula de meréria _tomputedr, a progrema de conrle Gem pars. CPU Unidade Cena de Processamert}o "Comets olhando pre a loagao x = memo, ‘ses bytes fazer com quese“realzem” 3639888 depos coninueexaminand ea ocean. Teauistaca ole programa. sucesiva de mama, regisrandoo conte de Parte da meméra do computador éorupada _loeagdona CPU" Ardem origin em queo por programas de “onto interno” programa fo reisado no tesaco pol Fesponsaveis pels aspecos funcamentis de sua programador #3 mapma ordem reistadana fit. ‘Guando o programa passe da fa para operagdo, les veriicam qual ds elas ol Dressioned,expdem caracteres na tela etc Esse memoria do computador, colocade nas clulas fohware interna pad também inl 8 ‘Se memiia na mesma ordem em que esa, Finguager easic de programagéo.Esses ‘come svsse sido digitado no tela, programas acupam lugar a meme ¢dexem consegue organizar sua meméria sozinho, O que le- ‘a 0 computador a armazenar dados €0 fato de que alguém preencheu a parte cert do pombal, na horae na ordem exatas, E como isso acontece com 0 sis tema de computador tpico? ‘Quando voeé liga seu microcompatador, cm geral uma mensagem aparece na tela para indica que ele esta funcionando. Ne maiora das vezes, ele também informa que voe® pode comevaraeserevero progra- ma, A mensagem € as condigoes que Ihe permitem a programacio esto armazenadas na parte interior da meméria do computador e devem te sido armazena das na memoria longo prszo (em ge ly Memary ou chip ROM). Esta parte da meméria do computador contém programas que verficam seas teclas foram pressio- das, imprimem os caraceres letras, nimero simboios) na tela e executam outras ciais & seu funcionamento, Contém arama especial que traduz comandos geralmente es- critos em asic na mais simples linguagem bindria de uns zeros, compreendida pelo computador. Quando © computador é ligado, « mensagem na tela diz: "x bytes lives” — onde x € algo como 15, 797, ouqualquer outro nimeroestranho. 180 indica Aquantdade de compartimentos do pombal que esta disponivel. A medide que as teclas sio pression das, 0s compariimentos lives vio send preenchi- dos: aqui chegamos a outro fator importante em lagdo & meméria do computador: a ordem de arma zenagem das informagées, ‘A pressiio de uma tecla envia um byte que rep senta a letra pressionada (ver p. 3 ), para que seja armazenado tia meméria. Pressionando-se o D, por ‘exemplo, essa letra ocupa espaco em um compart: mento de meméria na forma binéria Mas que compartimento do pombal ser ocupado pela letra D? Ela vai para o primeiro espaco vazio da ‘meméria ndo permanente do computador. Se pen- sarmos na seqiéncia de compartimentos de um ombal, a letra D iria para o primeiro espago a es- ‘querda. Pressione outra tecla, digamos I, ea configuragio apropriada de bits ird para o segundo espaco vazio, & direita do D. Pressione uma terceiratecla, 0 A, e iri para 0 terceiro espago vazio, ao lado do I. Olhando para 0 pombal completo, veremos os eédigos da palavra DIA aparecerem na primeira fila, © computador tem um contador interno para avaliar que parte do pombal foi atingida. Ele sabe ‘onde comegar porque um programa interno de con- trole avisa onde comeca a préxima rea livre de me- moria. A medida que cada letra ¢ armazenada, 0 contador € acrescido de um, a fim de dizer qual & 0 ‘compartimento seguinte do pombal para a proxima letra digitada 9 Verdadeiro ou falso? Os computadores ainda nao podem “pensar” como vocé, mas sao capazes de seguir facilmente todas as leis da logica. A.CPU (Unidade Central de Processamento) € co- mumente considerada ocoragio do computador. Eo | AND (E) eos lugar onde ocorrem todos 0s célculos e as tomadas strum carro AND de decisio logica. Mas de que modo sao feitos esses sg2soina cailculos e tomadas essas decisoes? gue € na realidade os prineipios podem ser facil- ‘mente ilustrados com exemplos da vida diria Existem trés tipos fundamentais de portas — a ‘AND (E}, a OR (OU} e a NOT (NAO) Conexées logicas OR (OU abi OF Oe A porta AND é um circuito que df sada “verdadei- Sages campo si et. 1”, se todas as entradas forem "-verdadeiras’”. Va- ‘mos ver © que isso significa. Suponha que voc queira fazer uma viagem para o campo. Se tem carro E (AND) gasolina, pode fazer a viagem. Se tem ga- solina, mas no tem carro, nao pode viajar. De ‘modo semelbante, 0 carro sem a gasolina significa {que nao haverd viagem. Neste “‘circuito’” AND existem duas condigées de entrada ¢ ambas precisam ser “verdadeiras” . Para poder viajar (a “saida’") precisa haver um cart IAND) precisa haver gasolina, e s6 neste caso a saida se toma “verdadeira", Posteriormente, veremos de eT ge modo este diagrama logico pode serapresentado | ANDIOR (E/OU) eOnOUpecenses tia forma de uma equagéo logica, além de poder ser Combinados pare stuns representado em uma “tabela de validagio mat amples Ce Imagine agora uma situagio ligeiramente di- miaresdessestpes de ferente. Alguém deseja viajar para o campo. A via- orate ‘gem sera possivel se a pessoa tiver carro OU [OR] bi- [isi] impossivel — no jargao do computador, a saida se toma falsa (i.e, nao € verdade que a pessoa vai via jar para 0 campo). Ha mais uma porta Igica fundamental, a porta NOT. Esta porta simplesmente fornece uma safda ‘oposta i entrada, Sea entrada for verdadeira, a saida serd falsa, Se a entrada for falsa, a saida sera verda- p ira. Ampliando nossa metiiora, a viagem a0 ‘campo de carro ou bicicleta serd fulsa se houyer um, pneu furado. Se a entrada (pneu furado) € verdadeira, entéo a saida (a viagem) serd falsa. Esses elementos ldgicos podem ser combinados ¢ ilustramos isso com o exemplo da viagem ao campo. os NOT (NAO) QO->—& ‘ONOT NAO) fornace uma Salda que €opota 8 eirads Setorverdade que. pneu esti vai, nao sera verdede gue aver a vagem ao campo. ‘As combinagdes de AND, ORe NOT permitem que to- ddas as devisoes baseadas na logica convencional se- jam feitas Experimente solucionar 0 que seria necessério para se fazer um ehurraseo no jardim, por exemplo.. FFica bem complicado. Para termos um churrasco no jardim (a saida verdadeira), precisariamos de varias condigies de entrada: dinheiro OU (OR) cheque OU (OR) cartio de crédito (para comprar comida ¢ be- bida) E (AND) um dia livre E AND] um tempo agradé- vel E (AND} uma churrasqueira E {AND} carvio € {AND} fésforo E (AND) espetos. Tabelas de validagao Os simbolos que utilizamos na ilustragio sio os mesmos dos diagramas de circuito do computador. A fim de sabermos como as decisoes ldgicas podem ser tomadas empregando circuitos elétricos, vamo analisar a “tabela de validaca utilizarmos a letra (c) para repre ‘entrada “*possuir um carro'*e a letra ( ina”, podemos representar a condigio de sada “fazer uma viggem pata o campo” coma letra (v) Podemos também empregar V para verdadeiro e F para falso. A tabela de validacdo apresenta todas as combinagées possiveis de condi¢des de entrada e 0 efeito da utilizagdo de AND na saida. Assim temos: CARRO (F) @ ©) @ (c) GASOLINA ) ©) @ © (a) VIAGEM (F) (F) ©) © Wv) CARRO ©) @ ©) O(c) GASOLINA ©) © @ O ig) VAGEM @ © @ OW Amesme tabla usando 0 1 para Faso e Vardadro Nos computadores empregamos Oe | para signiticar falso e verdadeiro, O computador interpreta a volta- ‘gem positiva como I e a voltagem zero como 0. Eo Circuito AND pode ser feito, utilizando transistores, de modo que, se ambas as entradas sZ0 voltagens po sitivas, a saida é também uma voltazem positiva, Se uma ou ambas as entradas forem de voltagem zero, a safda do circuito também sera zero, Um circuito eletrdnico OR fornece uma saida de yoltagem positiva, se uma ou ambas as entradas forem positivas. Se ambas as entradas forem 0, a saida também seré 0. Em um circuito NOT, w entrada € simplesmente invertida: se a entrada for positiva, safda serd ; se a entrada for 0, a saida sera positiva. Ochip 7408 (0s grandes chs de iio ‘normalmente cont milhares be ports gates] para exeniar alégicade AND, ORe NOT.O quer chip 7408 69 Fuses cont todos os ‘wanastoeseceutos pre {uato pores AND. As poras 0 reresenadasutlicando smbols ics, rdo send ‘masvados os euitos eas, o Caixa -forte Os digitos binarios 0 e 1 podem ser facilmente somados quando vocé utiliza as logicas do AND, OR e NOT. Em artigo anterior (ver p. 68) vimos como cra relati- vamente simples 0 uso dle circuitos transistorizados para realizar decisées Wégicas, como AND, OR ¢ NOT. E surpreendente como essas mesmas “porta. légicas”* (logic gates) s20 igualmente a base para a execugdo de procedimentos aritméticos no interior do computador Pela ldgica, as entradas das portas (gates) so 0 volt, para representar 0 valor “falso””, ou uma vol: tagem positiva para o valor “*verdadeiro"". A ausén- cia de voltagem & geralmente representada por 0, & sm positiva, por 1. Quando as portas | stio usadas para realizar procedimentos aritméticos, ‘os mesmos digitos 0 © | so usados; desta ver, porém, representando exatamente 0s al T que estiveram sendo somados. ismos 0¢ Se quisermos somar dois digitos binarios, hay apenas duas entradas pata o cireuito de soma e pot hhaver apenas quatro combinagoes de entrada: 0 + 0, 0+ 1.1 +001 + 1, Namatéria anterior sobre arit- mética binsria, vimos que 0 mais 0 ¢ igual 20 (como na aritmética do sistema decimal), Também vimos que 0 mais I (ow 1 mais 0) é igual a 1 (nova como na aritmética do sistema decimal). A, ferenga entre a aritmética que aprendemos na escola eosistema bindrio € que, neste, I mais 1 igual a 0, € um digito € transportado para a coluna da es querda. A representagao aritmética dessas quatro adigoes é a seguinte x y z 0+0-0 o+ 1 1 1+ 0-1 144 10 Usando uma porta OR para realizar a ado se am- bas ts enadestvere valor faso (0) obiremos uma sida de valor also: seu das entradas vero valor yerdadeiro (0 +1 0a | + 0), teremios tm sada com valor vrdadsiro (1), At ese pont, © recurso uma nica porta OR pode parecer perfeltamente aduado pars a soma dol digitosbindros, Prem, cundado x ambas OR simples ter mem valor verdadero, ma esta de transporte, Uma smiles porta OR dard respostas comets para tes das quato combinayes, porém ro ainda no é uma resposta satisfatoria. ‘© que é necessirio € um circuito que dé 0 como 2 Tesposta, se ambas as entradas forem O; 1, se uma elas for Ie a outra 0; e ainda 0, se ambas forem | ¢ mais 1 de transporte, Isto ni € tao difeil quanto, parece. Se tivermos duas portas AND, com as duas ‘entradas conectadas passando em amas as portas mas com uma entrada sendo invertida através de uma porta NOT em uma das portas AND, e se a outra entrada for invertida através de outra porta NOT © na ‘outra porta AND (ver ilustragio), nés teremos uma {oem que (em ambas as entradas resultardiem uma saida de valor fulso em amas as portas AND, ¢ | ‘A maquina de som ‘Na invencin recente de ‘alclatora letranic, 2 rquina de sr me (oueaia registradora) ra tuma presenga comm em lojas esertrios: Com ree de algum Epeeigoaront,quase nto folreu mudancas por 300 ombinaeso de rods dortadss teengrenagens 0 poten omer da caleuledor fo loge pees. Pas fe omar para uso, por seu ao redolent de Impostos. Com serio, por Leni os poeesimentae ara cieulo ded ‘rultipisgso, caleladore estava prepara para ser ‘lade no comer Semi-somador um sisposiv gata soma e dois numeresbindrios (ue, prea us ume ombinagso do pore logics € chamado sem somador porque no pode dar Conta do digite de transporte que geralmente resula da reaingao de Somas. Lmbre ede ‘que uma porta NOT converte Btemdeodem | Pare ma said 1, as das entradas de uma pore AND dover er 1A said de ume Dora OR so, sume ou “mba as entradas fore ‘saidaserd, somone se ambas a entadisfoem 0. Somador completo Eoocievito que ees sacigbo edits bnstos, Constiuise de dois tas, Por outro lado, 0 em uma entrada e | na outra dardo duas saidas de valor “*verdadeiro’ las portay AND. Desse modo, uma dessa portas pro- duzird uma saida de valor verdadeiro. Se as duas pportas AND tiverem suas saidas ligadas a uma porta OR, a sada da porta OR somente tera o valor verda- deiro se uma e apenas uma das entradas for verda- deira, Agora, jd temos quase 0 circuito desejado: 0 linico problema é que uma entrada de dois digitos | embora resultando em uma “'soma™ eorreta 0, nio produz 0 sinal de transporte. Todavia, o acréscimo ‘de uma porta AND, ligada paralelamente as duas en tradas, produzira’ esse sinal, quando e somente ‘quando ambas as entradas tiverem valor verdadeito, A tabela de validacao do circuito, na ilustragio, cha ‘mada semi-somador, € a seguinte: x ¥ 1 > lemvase) (evra 2}_ (ae “Wanspore") sda “soms 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 Somador de 8 bits computador rela a ado dai por digo Na lustragio, 0 somados ‘bis nmeros bisios, de 8 igtes.Alimna supesor antém oprimeio nimero, {ea segunda, oto, Trbalhand de dire para esque, no pode haver “vansport pra aeescentar aaa dos dots primeroe gi: assim, um sem somador ésuficente. Porm, ura opar seguite oot Subseqbentes, ¢necessrio‘e so do somadores ‘completo quaaver “uansprte" Indica por um digit 1, En respstaenconva-se a ima inka Tem o nome de semi-somador porque, de certo modo, € adequado apenas parcialmente. Se preten- déssemos apenas a soma de uma coluna tinica de dois digitos bindrios, seria suficiente. Entretanto, geralmente queremos somat 2 bytes de dados e cada byte contém 8 bits. O somador que controla a coluna da extrema direita necessitaria, na verdade, de ape- nas um semi-somador. Todavia todos os somad A esquerda dessa coluna tém de estar e dde admitir trés entradas: os dois digitos de “*sua"™ ccoluna e eventuais dgitos de transporte da coluna & direita. Oservemos esta adigio: Ao somar a coluna um", dizemos Le 1 €0, trans: Portamos o | e escrevemos 0 sob a coluna “um maracoluna dois’, dizemos | e | 60, trans- © 1, que somado ao transporte da coluna i 1. restando 1, de transporte. Eserevemos | sob a coluna dois’ ¢ transportamas o ntimero | ara a coluna “quatro’’. Aqui, dizemos Oe 1 é 1 que, somado ao niimero de transporte da coluna ‘dois’, €0, restando 1, de transporte. Escrevemos. 10.0 na coluna "quatro", restando | de transporte, {que podemosescrever sob acoluna “oito"’. Ouseja, a tabela de validacao para um “'somador comple- to”, capaz de operar tanto transportes como dois di os bindrios, seria a seguinte: XY Temvafol Tiste)—§ oo 0 0 0 10 0 o 4 Tae 1 o 4 oo 14 oo4 o1 4 1 0 10 1 1 0 1A ato, 1 0 11 4 1 1 © somador completo pode ser obtide pelo uso de dois semi-somadores, além de uma porta OR suple- mentar. Para cada somador completo, a “saida do transporte” estd dinetamente ligada a “entrada do transporte" do somador & sua esquerda; desse modo, podem ser encadeados. 1antos somadores completos quantos necessitios, Nos microcomputadores modemnos, a maior parte ddas somas e outras operacoes aritméticas € realizada com um grande nimero de circuitos de somadores, ‘dénticos em seu prinefpio de funcionamento aos descritos acima. O interior de uma CPU comum consiste em um simples chip de silicio que incorpors pequenas dreas de meméria RAM ¢ ROM, um ni- ‘mero muito grande de circuitos interruptores © a ALU (Unidade Aritmética e Logica), que é a parte {que contém todas as portas légicas e Somadores ne Cessarios a0 computador, para realizar célculos e de- cisdes logieas, 8 EPROM Ginconvenionte das ROMS eamuns ¢ que conteudo eo memoria "embtide”e n90 oe ser aterado. AEPROM (Erasable Programmable Read ‘Only Memory) ¢ bem mals fexvel. Ume vez programas, pode ser regrogramad Spegandoneocontesdo © srevendo" um novo programs, EPROM poss luma jaela e siics que armite que ais lvowoeta stravessem o inter, fondo ‘com qu os cpactores que brmazenam os bis na EPROM ‘st cescarrguem. Na ausncia alurultvaolets 08 ‘eapaitoresmentém acarga indefnidomente eo conteudo do memenio¢ redo Logica misteriosa O computador armazena na memoria mi hares de bytes de informacao. E consegue lembrar onde esta cada uma delas! Uma das formas de referéncia a memoria do compu: tador & o armazenamento a curto e a longo prazo. Este segundo tipo nao perde a informacio, podendo reté-la por longos periadas de tempo, até mesmo quando a energia € desligada, A fita magnética e o disco flexivel enquadram-se nessa categoria. Mas os computadores também necessitam de memaria i armazenamento temporitio dos programas ¢ resul- tados. ‘Outra forma de referéncia & meméria do computa dor é considerd-la como interna ou externa, A me: ‘moria interna, localizada no interior do computador € totalmente “eletrOnica’"; a externa, como 0 prd= prio nome diz, ¢ periférica ou fora do computador. A externa quase sempre € parcialmente meci envolvendo mecanismos como fita cassete, uid des de disco, ou fitas perfuradas ¢ leitoras. ‘A memoria interna eletrdnica é geralmente cha- mada de memoria principal. enquanto a externa & ‘mencionada como memria Secundiria, meméria auxiliar ou meméria de reserva, Atwalmente, hiidois, tipos de meméria interna: RAM e ROM. Ambas slo, dlispositivos inteiramente eletrénicos, na forma de chips de silicio, colocados em caixas retangulares de plastico, com conjuntos de terminais paralelos de estanbo ou banhados com prata. H& outras seme~ Ihangas, na forma como sao selecionadase “endere- gadas”” pela CPU do computador, ¢ falaremos delas ‘mais adiante. ‘A principal diferenga funcional & que os chips da memoria ROM sao utilizados para armazenar pro ‘gramas de forma permanente. O padrio de zeros e ‘uns em cada local da meméria ¢ fixo e ajustado na fabricagio, e nao pode, conseqicntemiente, sera teracio. As ROMs podem ser considcradas verdad’ ras “bibliotecas de referéncia'” do computador. Este consulta 0 conteddo ROM mas nio & capaz de escrever"” qualquer coisa nela ROM signilica Read Only Memory (Meméria de Leitura Somente). Ler & 0 termo utilizado car o que o computador faz a0 “acessicla’” ou reeu- Perar as informagdes da meméria, As ROMs podem ser de tipos ligeiramente diferentes e algumas t8m programas que podem ser removidos ou apagados, ¢ ‘depois eprogramados. Uma ROM tipica 2364 da Intel. E um chip descrito como sendo uma ROM de {65.536 bits, organizados em 8 Kbytes de 8 bits. O que significa que 64 Kbitssao agrupadosem 8 bits, cada local “enderecivel™ ac pleto, Em matematica, 1 K ima poténcia) ou 1,024 1.024 ou 65.536 Portanto, 0 computador € capaz de s {qualquer um dos 8.192 (8 K) enderegos mais minucioso das espeeficagoes do chip 2364 te vela que possui 28 pinos, com um reservado para fornecimento de energia de +5 volts, eum para a conexio do fio terra, © que dé o total de 26 pinos Cada byte contém 8 bits, de modo que, quando 1 byte € lido do chip, os 8 bits deste byte devem ser conduzidos por meio de fios do chip 8 CPU. Cons 4ilemtemente, hi oito fis para transportar os bits no byte que esti sendo lido pela CPU. Estes fos sio chamados de “data bus" (bus de dads). Oito dos Pinos no chip sio dedicados a essa tarefa, um para cada bit no byte. Isto nos deixa dezoito pinos. Um pino néo é ne- Ccessirioe nio esta conectado. Ele existe, pois é mais ficil fabricar chips com um numero par de pinos Quatro pinos sio utilizados para "'selecionar”” 0 chip de diversas manciras, Estes sio 0 pacidade de saida’’. o de “capacidade de chip” « dois de “selecao de chip’. Estes pinos recebem os sinais do computador e possibilitam ao ehip “'sa- ber’ quando esta sendo requerido. Os pinos restantes so os de “enderego”. Cada piino € conectaclo a um fio de ‘address bus" (bus de endereco) e estes iransportam oenderego do byte ne- cess, codificado na forma binéria, Treze digitos bindrios podem formecer 2"" ou 8,19 combinacbes Ainicas dos algarismos 1 ¢ 0, de modo que as treze Tinhas de endereeo sao sutcientes para selecionar ia um € todos 0 8.192 bytes armazenados na ROM. ‘As RAMs slo os quadros-negros. do compu- tador. Ou seja, programas e dados sio armazena- ° (2 clevado a dé- 64 x sim, 64K dos neles temporariamente, enquanto o computador esta trabalhando, e os resultados e outros dados so ‘escritos”” temporariamente, A‘ meméria em geral, & mais complexa intemamente que a ROM. pois cada bitem cada byte da RAM deve ser capaz de alteragoes. se assim for “escrito” ‘Um chip tipico RAM € 0 Intel 2114. Cada chip RAM 2114 contém 4.096 bits de meméria, ¢ estes a “nibbles” (meios by tes) de 4 bits, Isto significa que cada endereco dard sala a 4 bits de dados. Dois destes chips serio ne ‘essirios para prodiuzir | Kbyte total de dados Cada chip 2114 possui apenas dezoito pinos, dois «dos quais sao para fo terra e fornecimento de enet- sia. Quatro sio usados para linhas de dados de entra- daysaida. Um € utilizado para sinal de selecao de chip (0 sinal diz a0 chip que este € solicitado ou sclecionado")¢ outro diz a0 chip quando deve ser escrito ou lido. Os der pinos restantes sio emprega- dos para os address bus. Dez linhas de endereco polem identificar unica- mente 2" locais, ou 1.024, Seo computador possuir (64 Kbytes de RAM, e tiverem sido utilizados chips 2114 Intel, um total de 128 chips RAM seriam ne~ eessrios, ja que 2 chips formam um byte completo, Atualmente, & mais comum empregar chips RAM dde maior densidade, que contém mais meméria no mesmo espago. Com os chips RAM modernos, tal como 0 4164, é possivel obter 64 Kbytes de RAM ‘com apenas 8 chips. Os chips RAM e ROM tém-se tornado cada vez mais compactos ¢ de menor custo €, agora, existem 128 Kits em um inico chip. Contudo, o acondicio- namento de densidades mais atas em chips tinicos nio poder evoluir indefinidamente. O citcuito no silicio tem ficado tao dimimuto que as técnicas épti- cas empregadas para “gravar" os circuitos estio chegando ao seu limite 0s chips de meméria de alta densidade do futuro serio provavelmente fabricados utilizando-se feixes de elétron ou raios X De modo mais abrangente, hi dois tipas de me- moria RAM em uso: a RAM estitica e a RAM dit mica. Ha vantagens e desvantagens em ambas, mas a RAM dinamica € atualmente mais utilizaca. A\ bos 0s tipos apagam 0 contesido da meméria, logo que o fornecimento de energia € interrompicio, masa ‘meméria dindmica precisa ter seu contetido “*restau- rado” em intervalos de alguns milissegundos. ‘Cada bit na meméria precisa ser restaurado ou te escrito sem diminuir a velocidade com que a CPU acessa os dados ali contidos. Isto significa que um Circuito de controle de tempo muito especial deve ser projetado, o que toma o trabalho do projetista do poxsceons * ampere » 5 ereacwo * & auras: . row > utero Towwa.soes rox is 1 : 2 ° a OF x . * 2 Interface serial Existe uma interface serial padrdo chamada RS232, para a qual os detalhes dos nfveis de sinal edo ajuste de pinos sao definidos. Mesmo o tipo de conector & também especificado. Infelizmente, nao se costuma adotar esse padrio de modo rigoroso, © a execucio de trabalho por conexdes seriais pode tornar-se difi- cil. A interface RS232 ¢ bidirecional serial, com um ppino (terminal) para transmis ‘sao de dados do computador. (Os dados sao enviados, I bitde cada vez, pelo ter. minal de ““dados transmitidos’* e, em sentido con- trério, através do terminal de dados recebidos. O cconjunto de bits pode exigir uma série de formatos standard, mas sem distinguir qual esti sendo usado, desde que tanto 0 dispositive emissor como o recep” tor utilizem o mesmo formato. Uma vez que cada byte de informagio é enviado ‘como um conjunto em série de bits, 0 software que ccontrola a interface deve ter um modo de indicar {quando o primeiro bit de dados se inicia e quando 0 ditimo se encerta. A convengio mais comumente uusada fem um Gnico “bit de inicio” (0, em légica booleana), seguido de 8 bits de dados, e com um tinico “bit de encerramento” (digito kigico 1). ‘A velocidade com que os dados si transmitidos deve ser especificada rio, © padrio de impulsos que representa os 8 bits de dados em digitos 0.¢ 1 poderi ser interpretado de ‘maneira errOnea. Essa velocidad de transmissio de dados é conhecida como velocidade baud, nome que faz referencia ao inventor francés Baudot. A veloci- dade baud varia de 75 a 9.600 bauds. Esses niimeros ccorrespondem aos 75 e 9.600 bits transmitidos por segundo, ¢ como ha, geralmente, 10 bits para cada ractere, a transmissio do caraciere corresponde a tum décimo da velocidade baud Interfaces paralelas A interface paralela transmite ou recebe dados, 1 byte de cada vez, mas, além das oito “linhas de da- dos", seri necessirio fornecer outros sinais, de ‘modo que o computador e 0 equipamento peritérico tenham a indicacio de quando € possivel, ou nio, a transmissio de dados. O tipo mais comum de inter- face paralela é a Centronics (da fabricante de im- pressoras Centronics Corporation, dos Estados Uni dos). O conector ut ic Pinos especificos diferem bastante le um fabricante para outro. A maioria das interfaces Centronics pos- Sibilita pelo menos os seguintes sinais: outro para recep- DADOS0@DADOS7 ito fos paratransporar os 8 bis do byte que est send wars, Sinal de entrada prs o computador indica que oaspestivo reeator sth preparado ara reeber cides O fio erra que fornece uma fefecinacomum devo, tanto aro computador come para 0 Sspostvo peterca Sinel do cspostivo perro parao omputator indica que opeericn no pode aceite dados. Sinal de sida do computador ince ao peritrica qu os dados esto promos par leur ADK Busy ‘STROBE Muitos outros dispositivos, além das impressoras, adotam a interface paralela Centronics, ea conexio ‘com o computador pode exigir apenas aaquisicao de tum fio especial ou a instalagio elétrica feita pelo usudtio. De modo geral, no haveri alteragées no sofiware necessirio para “‘controle" dos. peri- féricos, POS es ee ee Sala de espera Prada temporiia (Un dos usos mes comuns do butfer€ entre computador © uma ipressora, poraue ests ‘io pode bear crecteres fama mesma velocdade que ‘computador os envia Os craters so, portant, smazanados na meméia tempor oté quo butler {eq complet: um inal de “cupada"éervado a0 computador pra que este pa de vant contaido do butler é ent enviado & impressora na mesma oem ‘em que fol rece, mas num andanento ben mae lento ‘Quando essa parte termina, 0 process recomera, até que todo o texto saa impreso, 236 computador transfere informacao com tal ra, lez que um dispositivo como a impressora nao pode acompanhé-lo. A solugao é dada pelo buffer, ou memoria intermediaria. Os pira-choques (buffers) dos vagées ferzoviirios siio projetados para reduzir um eventual impacto, gragas 2 absorgdo de energia pelas molas e pistoes amortecedores. Os computadores também possuem os chamados buffers, que, de certo modo, funcio- nam como 0s amortecedores dos trens, ou seja, come isolantes, possibiitando que as diferentes par~ tes do sistema do computador funeionem juntas Esse termo estranho & usado um tanto livremente ‘no mundo dos computadores e abrange dois aspec: tos distintos. Para 0 programador, buffer significa ‘um uso especializado da meméria do computador: jd Paralo|projtisa do cicuito, quer dizer um tipo de ficador de um sinl elérico, O segundo tipo, a que chamaremos buffers de sna, ¢ operado no pr Prio painel Buffers de memoria Imagine um programa processadr de palavras que entre outra coisas, pode transpor um Bloco de 12x00 de uma pate do ""dacumento" na memoria do com putador para outra part. O texto consisteem cara teres imprimiveis e espagos,ecaracteres no impr miveis, como RETURN, por exemplo. Toxlos estes so representados na memoria do computador em digo bindrio ASCII. Um byte de memoria neces. Sirio para cada caractre. Aim de que os blocosse- ‘as localizages, uma outra parte da memoria do computador tem de ser reserva ao armazenamento temporiro do texto, Esta drea de memoria deinada propositadamente de lado para uma tara especie: recebe o nome de bulfer. Consideremos, por exemplo, a tarefa de imprimi um "documento ou texto redigido num processa dor de palavras, O' documento consist digamos, fem 15.000 caracteres, e€ claro que eles no poem ser colocados na impressora de uma sO vem tri das impressoras ni funciona com velocidade Superior 80 caracteres por segundo. Para contornar esse problema, uma parte da meméria do computa dor é reservada e mantida sob o controle do software processador de palavra, funcionando como um “amortecedor"’ de impressdo. Primeiramente, 0 software alimenta este buffer com os caracteres a serem impressos; a seguir, envia-os numa veloci- dade adequada 4 impressora, buffer de impressao pode nao ser muito grande, talvez apenas 128 ou 256 bytes de capacidade, mas 6 principio é 0 mesmo, iportando seu tarnanko, Primeiro um “‘bloco” de caracteres em ASCII és crito nele, depois os caracteres sio enviados nova ‘mente, | byte de cada vez. O primeio byte a seres- crito no bulfer sera também o primero a ser lide (é bvio que nosso objetivo € ter os caracteres impres- sos do mesmo modo em que foram digitados). Este tipo de buffer é chamado “*Primeito a Entrar, Pri miro @ Sait’, ou buffer FIFO (First In First Out) ‘Quando todos os caracteres do buffer tiverem sido lidos, 0 software far: nove preenchimento com 05 blocos seguintes de earacteres destinados & impres- Os buffers FIFO deste tipo constituem um recurso extremamente comum na maioria dos softwares. Sao utilizados todas as vezes em que hi incompat bilidade de velocidade, nao s6 entre computador € impressora mas também entre computador e uni dade de disco flexivel, ¢ entre computadore teclado, ‘Apesar de a extraordindria velocidade de processa- mento dos computadores permitir que eles locali- em instantaneamente as teclas pressionadas, hi momentos em que 0 computador nio pode identifi- Cc-las nem apresentar os caracteres correspondentes tio rapidamente. Isso juando 0 computa 10, ocupado em outra fun- acessando um disco, por exemplo). Neste caso, € comum a incorporagao de um “buffer de digita. ‘gio ao sistema de operacao do computador. O buf fer “lembra’* quais teclas foram pressionadas e o computador apresenta os caracteres tao logo seja possivel. Normalmente, 0 ususirio nao percebe isso, f BUFFER. DE MEMORIA, IMPRESSORA Se erramarmes a agua de lum blde nur fanque, ‘mo o que aparece asima, modo, oomputador | “darama’ dados no bute, pareabertmas quea que os ibera numa Tomei continua cama velocdade bem mais et, ‘aida de aqua com vazio adequada as dversos antane.Do mesmo peifleens. mas em certos sistemas operacionais de disc ‘em certostipos de software de aplicagao (que envol- ‘vem muito processamento de informacio). pode hi- ‘ver um pequeno atraso entre 0 momento em que a tela pressionada eo aparecimento do sinal nate. AAlguns sistemas operacionais permitem que o buffer de digitugio sejaligado e desligado, e que sua capa- cidade seja alterada pelo usuitio, ‘A maneira exata com que 0 software € organizado para manejar buffers varia, dependendo do que © butler deve fazer: mas, geralmente, € necessirio deixar de lado aguns bytes, que sera contadores e sinalizadores (flags) {quantos bytes foram lidos de um buffer completo an- {esque mais bytes sejam escritos; caso contro, da- dos" importantes. podem ser destruidos antes de serem usados, Hardware de buffers de memoria Quem possui uma impressora deve ter notado que la parece ser lenta,principalmente quando imprime tuna istagem ou texto longo. De mado geral, os sis temas operacionais do computador no conseguem desempenar nenhuina outta atividade enquanto a impressora esta em funcionamento; assim, se ela de~ ‘mora muito para lenminar a impress30, 0 ususrio tem de esperar a conclusio do processo. Atual- mente, muitos fabricantes oferecem buffers de im- pressao como. acessorio, em geral na. forma. de tima eaixa que liga o computador impressora. Essa caixa acelera o desempenho da impressora mas 56 emrelagao so computador. Apesar de, na verdade, a impressora nao estar realmente imprimindo com nator rapidez acaixa contém memoria extra, espe- bifica (as vezes de até 16 Kbytes), com seu proprio Software incorporado, Para o computador, parece ‘que a impressora estd trabalhando com maior veloci- dade. Quando o computador tem de imprimir um ryuivo de dados, ele envia bytes para a impressora ‘até receber um sinal de “‘ocupado” — isso significa Gue a impressora nlo pode aceitar mais bytes. O Computador entdo, espera que o sinal “acupado” indicando que a impressora esti livre novamente para aceitar daos. AS impresoras tém, geralmente, um pequeno buffer de meméria in corporado, mas isso ndo passa de 2 Kbytes e no permite que o computador envie mais dados até que © buffer esteja vazio. O hardware acess6rio de buf- fers contém maior quantidade de meméria; assim sendo, pode aceitar mais dados antes de enviar um sinal de ““ocupado”” ao computador. Se o buffer for suficientemente grande, serd capaz de reter todos os, dados a serem impressos em uma tinica vez, e 0 computador poder prosseguir com outras tarefas, enquanto o butler envia os dados em menor veloci- dade para a impressora. ‘A memoria € mais freqlientemente utilizada como um “pombal”” que armazena programas ¢ dados, ‘mas ela pode também ser organizada em pilhas ou buffers, Piha significa “Ultimo a Entrar, Primeiroa Sait” ou estrutura LIFO (Last In First Out), ao passo que os butfers sao estruturas FIFO. Pode-se fazer ‘uma analogia com uma pilha de pratos:o dltimo pra- to empilhado sera o primeiro a serretirado. Como os butlers, as pilhas sao dreas de meméria temporaria e dliferem dos primeiros apenas na ordem em que os, dados entram e so recuperados. As pilhas sao usa- das “internamente" em linguagens de alto nivel (cm interpretadores Basic, por exemplo) quando a informagdo precisa ser armazenada temporaria- mente ¢ recuperada mais tarde. Considere este frag- mento de programa Baste: FORX= 11010 PRINT "X =") FORY = 17010 GOSUB SCAN NEXTY PRINT “CS = "CS NEXTX Este € um exemplo de ninhos de loops FOR-NEXT. ‘Quanclo o interpretador Basic chega a segunda ins- trugao FOR, ele deve lembrar-se da varidvel utilizada ro primeiro FOR (X, neste caso), ¢ assim'*empurra a informagao com © primeiro FOR para cima da pi- Ia. Quando 0 loop interior esta completo, ele toma 4 informacao do alto da pilha e sabe que o FOR em ‘questdo usa a varivel X. Ja que os loops FOR-NEXT podem ser muito bem guardados, ele talvez precise ‘empurtar informagoes para varios FOR sobre a pilha. Ao tirara informagao da pilha, o interpretador Basic precisa obviamente ter a informagao na ordem in- versa da que ele empurrou. Os buffers, entretanto, organizam a memoria de tal modo que a primeira informacao que entrou é a primeira a sair. Os buffers sao freqiientemente utili- zados em rotinas de entrada/saida e também como interfaces” entre as rotinas € os dispositivos que funcionam em diversas unidades ow em diferentes velocidades. Porexemplo, uma rotina de entrada em. basic poder’ trabalharem unidades de lina, termi- nadas por um RETURN , mas 0 interpretador trabalharia nas linhas em unidades de um caractere Os buffers geralmente necessit i sm de um “‘indica- dor” para apontar onde o préximo caractere deve ser escrito. O indicador seria um byte ou varios bytes, que contenham o endereco desse caractere. O en- dereco seria incrementado apés 0 armazenamento de cada caractere Simi poder Bilge ete oo amurtdor ancora em ive ‘TMUfTransstortrandsior Logi) sta ogi sii o irre com svat °00 ro vl. Enea, peer de postive como a {PU stem capares oo progr esesvotogens no osm goa carenta Mice praia ods 0, tts eipe que vem ser fgedos aca pin. On butlers (esha sb, as, Byatos bo lines coup a CPU, que tas aniode ce Corrente ete Os burs Alesina eo, ems,pequnos thipn cade um ices capaz de ag como um bur pass snd. 21 EE Witness (eee O visual dos caracteres O“gerador de caracteres” é a parte da memoria do computador que define a forma dos caracteres na tela. Em alguns sistemas, € possivel ao usuario desenhar seus proprios simbolos. Ji vimos no curso de programagio Basic (ver p. 214) que todos os caracteres alfanuméricos — e 1s simbolos grificos, caso seu computador os tenhia — sao armazenados na meméria RAM na forma de cédigos de 8 bits (geralmente em ASCID; assim sendo, cada caractere ocupa | byte. (Quando a informagao ¢ impressa na tela, os e6di- 120s para cada caractere slo depositados numa area reservada da memoria chamada RAM de video. Se, por exemplo, a letra A € impressa no alto, no canto esquerdo da (ela, © primeiro byte da RAM de video ira conter 0 cédligo 65 (ASCH para A). Se um Cé im- presso embaixo do A, e o computador tem uma tela de quarenta colunas, o valor 67 sera encontrado na 41." locagao da RAM de video, e assim por diante. Como 0 computador converte © valor 65 a0 padrio de pontos que formam o caractere A na tela’ Isto fica a cargo do dispositive chamado gerador de carac~ teres. Um geradorde earacte colegio de conligurags como bits es nada mais ¢ do que uma ‘ou padres depositados a meméria. Os microcomputadores tém 0 gerador de caracteres armazenado em ROM, per- mitindo uma aparigio imediata de caracteres assim que a maquina é ligada. O gerador de caracteres pode ser incorporado & ROM que contenha o inter- pretador sasic e 0 sistema operacional, ou estar no Proprio chip da ROM. Quando isto ocorre, écomum encontrar fornecedores independentes que oferecem arecolocagao de ROMs que produzirao um grupo de caracteres de lingua estrangeira, por exemplo, ou tuma série de simbolos especializados para, diga- mos, engenharia ou matematica. Entretanto, um ni- mero crescente de computadores permite que o gera~ dor de caracteres sejatransformado em RAM—ad- mitindo que o programador projete seus préprios caracteres e simbolos Todos os caracteres so construidos numa matriz de pontos, que num microcomputador € de 8 x 8, embora uma matriz maior resulte em melhor legi- bilidade © em maior variedade de caracteres a ser mostrada, Os caracteres sdo formados com 0 pre chimento de quadriculados na reticula. O quadri- culado preenchido representa 0 digito 1, € 0 quadri- cculado em branco o digito 0, dando o total de 64 bits, ou 8 bytes para cada earactere. © primeiro byte no gerador de caracteres repre- sentaria 0 padrio de bit para a linha do alto do p rmeiro caractere na tabela. Se o computador s6 apre- senta caracteres em ASCII, com cédigos de 0.0127, entio 0 gerador de caracteres vai requerer 128 x 8 bytes (I Kbyte de meméri A dificuldade para o computador & que, quando o 292 varredor na tela de televislo esti gerando a linha mais a0 alto do video, ele precisa produzir a linha ‘mais ao alto de pontos para 0 caractere posicionado no alto da tela, 3 esquerda; em seguida, produz a li- ‘nha mais ao alto do caractere posicionado a sua direita, e assim por diante, varrendo toda a tela, Dessa maneira, quando 0 varredor comega sua se gunda passagem, precisa encontrar e mostrar a se- gunda fileira de pontos para cada um dos caracteres da linha anterior. O circuito de video atinge isso por meio de dois. contadores independentes. Um contador mantém a pista da posicao de memoria de video correspon- dente ao ponto por onde o varredor esti pasando. ‘outro conta as Tinhas do varredor, comecando do zero para a prime! tava, recomecando do zero ps assim por diante. Dessa forma, 0 computador consulta 0 ASCII ou cédigo de display na meméria de video, ‘multiplica-o por 8 e adiciona ao valor do contador de linha naquele momento. Isto fornece um enderego rador de caraeteres para um padrio de 8 bits (que corresponde i linha correta do caractere que esta sendo examinado, Tomemos 0 exemplo da geragio do caractere A, que tem um eddigo ASCII de 85. Podemos calcular que a primeira linha do caractere seri armazenada no byte de mimero 520 (65 * 8 + 0); asegunda li nha no byte 521 (65 x 8 + 1); a terceira linha no byte 522(65 x 8 + 2yete. Resta apenas para o cir ccuito de video converter aqueles 8 bits numa seqiién- cia de voltagens que ligard ou desligard o raio de elé- trons varredor para mostrar os caracteres na tela aH T ye Vo ] Caton comloce Oseaactrs apne pra fuomnanes once. se Beste compensa, 8 mmairnormal8 <8 o rst detahes scenes pore que eles seam hd © ‘Seecre prepa ito 6 pose serio mhaiece 18% 16 ume mnt res com mae de pons dene < eae erate Questéo de seguranca A “paridade par” garante que o numero de bits de valor1em 1 byte seja sempre par. Assim, detectam-se erros de transmissao. eae ae ae ansneSS ‘Uma das principais vantagens dos computadores dligitais em relagao aos dispositivos anal6gicos & que as falas ¢ imprecisdes comuns nos circuitos eléri= ‘cos nao se acumulam & medida que os sinais passam or muitos circuitos (ver p. 239). Todavia, quando 0s dados sao transmitidos a qualquer distancia — seja por uma interface serial ¢ um par de fios,s or uma linha telefOniea —, 0 “ruido" elétrico de Fundo na tinha pode as vezes ser suficiente para alterar um tnico bit de O para 1, e vice-versa, Nor malmente, o equipamento receptor nio tem meios de distinguit se isto aconteceu e aceitari os dados certOneos. como corretos, Observe © que ocorre se um bit no eédigo ASCIT para a letra Q for adulterado: [[} 1010001 (Codigo ASCH transmitido para Q) [] 1000001 (Codigo ASCH recebido para A) Um erro como esse na transmissio dos dados seré, no minimo, desagradivel e, potencialmente, uma catistrofe, Entretanto, voc® se recorda de que 0s ‘6digos ASCII sao atribufdos apenas para valores até 0 total de 127, o que requer a uilizagao de apenas sete bits (numerados de 0 a 6). O bit mais signifiea- tivo (bit 7) €, portanto, frequentemente utilizado ‘como bit “de paridade’”, para detectar a ocorréncia de erros. Hi duas convencOes para a utilizagio de bits de paridade: “paridade par” e “ paridade tmpar””. Exa- ‘minaremos a primeira. A expressio " paridade pat’ significa que o bit de paridade (0 bit 7, em codigo ASCII) € fixado de modo que o niimero total de bits de valor I no byte seja sempre um numero par. Eis ‘como as letras Ae Q seriam representadas com paridade par fo} 1000001 (0 e6digo ASCH para A, pela paridade par) (1) 1010001 (0 eédigo ASCH para Q, pela paridade par) Hi dois bits de valor 1 no c6digo ASCH para A: assim, o bit de paridade assume o valor 0, de modo {ue 0 total de todos os oito bits seja par. No eddigo. ASCII pata Q i ts bits de valor 1; assim, o bit de paridade é constituido como um digito 1. Isto eleva para 4 (que € par) o numero total debits de valor | ‘Agora examinemos 0 que aconteceri seo bit 4 em nossa letra Q, em edigo ASCH, for adulterado, como no exemplo acima. [1] 1000001 (@ em ASCII adulterado) ‘Quando a paridade do byte for verficada(seja pelo software ou por hardware especial), sera observado que a letra Q correta tem um ndmero par de valores 1 (inclusive o bit de paridade). A letra Q adulterada, cniretanto, teve o bit 4 acidentalmente alterado de 1 ppara 0, mas o bit original de paridade — bit 7 — ermanece com o valor 1. Ao ser conferida a pari- dade deste byte adulterado, sera verificado que ele Possui um numero impar de bits 1 e, desse modo, sera detectada a adulteragio do byte, que poder eto ser rejeitado. 5. fletir sobre isso, no- tari o seguinte: mesmo que o proprio bit de paridade ‘enha a se adulterar na transmissao, a acorréneia do erro seri detectada pelo processo de verificagio de paridade, e o byte sera rejeitado, igo ASCH utilizado por seu Préprio computador, voce notara que o bit 7 (0 bit mais significative, ou MSB, Most Significant Bit) é cfetivamente ulizado, mas nao como um bit de Paridade. Isso ocorre a fim de possbilitar ao comput- tador a recepedo de um conjunto de caracteres adi ‘cionais (geralmente um conjunto de caracteres rifi- cos), € também porque os erros de transmissio de {dados no interior do computador so muito raros. A paridade em geral é empregada apenas na transmis- sii de dados através de longas distancias ow no re Bistro de dados em superficies magnéticas de grava- {glo (como fita ou disco), que também ésuscetivel de “eras de bit"™ A verificagao de paridade é excelente para indicar 4 transmissao incorreta de um byte, mas no identi- fica qual dos bits foi incorretamente transmitido: assim, 0 erro ndo pode ser corrigido pelo equipa ‘mento receptor. Pior ainda, se dois bits em um byte forem adulterados, © byte incorretamente transmi- tido podera ser tomado como correto, Nos casos, porém, cm que o erro € detectado pelo Aispositivo receptor, este pode enviar uma mensa- ‘gem de erro ao equipamento emissor ¢ o software fard com que o byte sejatransmitide novamente de modo correto, Processos mais sofisticados de detec- ‘gi0 ¢ cotregio de eros foram criados; localizam com preciso o bit ou ils incorretos, fazendo a corregio automitica. Os cédigos de corregao so um assunto a ser examinado posteriormente no curso. [MMERO DA EDITORA. ‘NOMERO D0 LvRO DiciTo De vEniica¢ao ‘Avena para veritiengao Olaimodtate co Patio Irtenacanl de Cacao de Les eaten Stndee Book Number SBN canst em um dig vresen uit paace tm un ‘omouiader Nig pirat a, or 10,0 Sequndo(S, por eazam stosssvareme Seg some Ss resuaos Voc ots qu So severing to! ‘termina ce modo Somado stl oes aa atarete selorTh a } } 2 Trabalho de detetive Quando a informagao passa de um computador para outro, ha 0 risco de ficar deturpada. Os codigos de Hamming podem xchat) ‘Uma porta Exclusve-O> ‘Spies ten dois inpts eum ‘Output Se 0s doisinputs ‘exiverom om Ologio. 0 ‘output ser, Seca input for 1.0 ouput também ser 1. Entano, ode ngs focem 1,0 ouput sera. Esa ‘ima contigo diferencia ora Orda Ext labrovagil, Aoperagio pede ser represeniada por una tabla evaidaio. Onde uma Ex Or tem male odo npus, ‘outpit ser se hover um ‘numero impar de digits 1 no Input Estes dsposits 0 (e meos par ros its patdade eo verfeadores ‘eens, 298 detectar e corrigir 0 erro. Grias de eros teri veis cometidos por computadores, como 0 que re: sultou na temessa por uma empresa de quinhentas cc6pias de um fotheto & mesma pessoa. A verdade 6 {que nem sempre a mquina tem culpa: 6 engano pro- vem de falha humana, talvez um simples erro de di agitagio. Ocasionalmente, surge um erro porque 0 programa aplicativo ndo foi escrito para prever todas as eventualidades, como no caso de uma emissio pelo computador do ultimo avis de cobranga de uma conta de luz no valor de Cr§ 0,00, Entretanto, as vezes os computadores cometem cerros que ndo podem ser atribuidos a intervengao hu- ‘mana e com freqiiGncia se manifestam em forma de “erros de bits’. Um erro de bit ocorre quando em. uma secio de dados um bit ¢transposto de 1 para 0 fou vice-versa. Isto pode acontecer quando surge uma falha num componente do hardware — um chip de RAM, por exemplo, E por essa razaio que 0s mi- crocomputadores passim por uma rotinat de solt- ware que procura diaznosticar erros para serem “diagnosticados”, sempre que a forga é ligada. ‘A maioria dos etros de bit sdo “erros de sol — os bits ficam ““invertidos’’, apesar de toda a RAM ter passado pelo teste do diagndstico. Os microcom- putadores so projetados para operar em condicoes ambientals normais, mas, durante uma onda de calor no vera, € possivel que a temperatura exceda © limite de tolerancia estabelecid para os compo- nentes. E provivel que o dano assim eausado nao seja permanente, mas os erros de bit talvez resultem ibita mudanga de um caractere na tela — um mudar para “"B" por exemplo, ou, caso o bit aca parte de um indicador importante, ele pode fa et 0 programa sofrer um ‘-colapso™, haverilo ne- ccessidade de reprogramar 0 computador Os erros de bit também poclem surgir durante periodos de intensa atividade solar, quando patti Cculas subatémicas penetram na atmosfera ¢ inter- ferem no fluxo de elétrons em um eireuito miniaturi zado. Em aplicagoes tais como sistemas militares, controle industrial, experigneias cientificas ou ser. vvigos bancdrios internacionais, 0s erros podem tra~ zer conseqiiéncias desastrosas, ¢ por isso viios mé- todos foram adotados para detecti-los. © método mais simples € a verificagio de pari- ide (ver p. 253). Um métado alltemative € 0 “checksum” (leste de soma) muito usado na grava- {glo de dados em disco ou fita magnética. Os dados do sempre manipulados em blocos de [28 bytes, €0 ‘timo a ser lido ou escrito seri o byte do teste de soma. Este byte répresenta 0 resto da divisio da soma de todos os outros bytes cada um com valorde (014 255) por 256, Eis um exemplo: Dados: 114,67,83, 36,154,198, Total dos 127 bytes = 16,673 Total dividido por 256 = 65. resto 33, Portanto, teste de soma = 33 {121 outros valores). © total dos bytes (16.673) igual a 65 grupos de 6, mais um resto de 33 — este valor ¢inserito no 128." byte como um teste de soma, Quando-o com putador Ié 0 bloco novamente, faz seus proprios cil- caulos de teste da soma com os dados e, se 0 valor diferir de 33, ele saber’ que houve um erro de bit durante 0 processo de gravagio Tanto com o métoxlo de paridade como no teste de soma, o computador nao tem meios de saber qual bit foi alterado. Caso o erro tenha ocorrido na trans io, 0 computador receptor pode solicitar gue um determinado byte ou bloco de bytes sejam transmiti= dos de novo; no caso de um erro de gravagao, talver no baja maneira de recuperar os dados nao al- terados, Quando os errs so absolutamente inaceitiveis, deve-se usar um sistema para detecti-los e corrgi los. Os codigos de Hamming, que levam o nome de seu inventor. R. W. Hamming, dos Laboratrios da Bell de Teletone, desempenham esta funcio, ‘Todos os sistemas de correcio de erros funcionam, segundo o principio da redundancia. As linguagens ‘humanas apresentam um alto grau de redundincia: se ocorre um erry de datilografia em um texto, ou tum ruido no telefone faz. com que se perca alguma palavra da conversagdo, as vezes € possivel recons- A tituir a palayra considerando-se o contexto da frase Outras veves, tazemos uma redundancia extra, uusada em ambientes “barulhentos"’: 60 recurso de @ de “‘amor"’, bde bola" ¢ ¢ de "casa", em radio= telefonia, por exemplo. Suponha que enviamos pelo nosso computador ‘uma palavra que tem x bits de extensio, consistindo tem y bits de dados reais ez bits redundantes (isto €, x= y + 2). Em nossa explicagho de paridade, tinha- ‘mos y igual a 7 € z igual a 1. Para os e6digos de Hamming, 7 devera ser proporcionalmente maior Agora admitamos que um erro de bit pode ovorrer em qualquer um dos x bits (os zits redundantes so tio passiveis de erro quanto os y bits de dados). Sea possibilidade de ocorrer um erro de bit numa palavra Ede, digamos, uma em um milhio, entdo a proba- bilidade de dois erros numa palavra é de uma em um trilhdo, e portanto podemos ignorur esta possibil dade. ido 0s dads sio recebidos na outra extremi= dade, haveri x + 1 even ver ert0s, ou o primeiro bit dos dados estard errado, ce assimi por diante até 0 x bit. Agora, com 2 bits re dundantes podemos representar 2” situagdes, de ‘modo que palavra seja & prova de um erro de bit veytrtt Se y € igual a 7 (pelos eddigos ASCII), 2 deve ser igual a 4, Se y ¢ igual a 4 (como no nosso exemplo do quadro), z deve ser igual a 3. Entretanto, se y & ‘gual a 16, 7 umenta apenas para 5. Segue-se que os ‘edigos de Hamming sao bem mais elicientes com paalavras mais longas do que com palavras curtas. Emum eddigo de Hamming, cada um dos bits te dundantes atua como uma verificagio de paridade- par de uma combinagao diferente de bits em uma palavra, Se algum bit ficarinvertido na transmissaio lum ou mais bits de checagem estardo errados e a combinacdo destes bits mostrari 0 bit errado na palavra (ver exemplos). O software do computador receptor poste ento inverté-lo novamente, fazendo- © voltar& forma cert, © ponto-chave do funcionamento dos eédigos de, Hamming sao as diferentes combinagies de bits so- bre as quais cada bit de Hamming atua como verili- ccador de paridade. O ruimero total de bits é dividido em virios conjuntos diferentes, mas superpostos planejados de modo que dois bits nunca aparegam na mesma combinagao de conjuntos. O computador re: ceptor desempenha fungdes de verificador de pati dade nos mesmos conjuntgs em que © dispositive cemissor ja as desempenhou para criar 0 codigo de Hamming, Se algum dos bits, inlusive os de Tlam- ming, foi inveriido na transmissao, entao um ou Inais desses conjuntos no passardo no teste de pari- dade. A combinacao dos testes nao aprovados indica um bit tnico, ‘Alguns computadores empregam os cédigos de Hamming até em suas operagdes internas de me- moria, Quando isto acontece, & possivel remover tum chip inteiro de RAM e constatar que o computa «dor continua funcionando! Alguns computadores de ‘uso militar levam 0 principio de redundancia a ex- {remo de duplicar todos 0s componentes do compu- tador e comparar os resultados das duas metades apés cada operagio, Como funciona o cédigo de Hamming E inca ce E numero par de algarsmos 1 test procuz um tesutado Eso, i tera tese— vee um Esto principio fureiona ainda que um dos bits de Hamming ten sido aerado. No caso deo és ‘esos Tahara, 11 ines qua it da ret fot itera, so ts ese orem aprovacn, no houve eno Este tipo de codigo de corey faa apenas Se houver mals de um ero nos ste its, Vamos sup que queers evar estes quatre bs ae dados. Somamos ees um ego de Hamming de 3 bis, um padrso rad pelo ‘computador e que prenche Sequinies eondioes: hand para estes quaio dos srt digs, dave aprece um Dammesma fom, nests ato digits tans deve aver um mimero par de lgarsms 1 neste conjuto debits também deve haves um numero per de algarsmos Para bier os ibs its nostas ‘candies, o computador deve resolver és equaebes simultiness. Mas suponhamos que durante ‘atrensmissioo tere bit da ‘esquerda tenha so aera, into, mutou det para ‘Se ocomputaor receptor fuer © plier do rset, (08 dads nd pasara0 neste bitfotateude ‘Da mesma forma, sogundo Condo, s dds pasa no nero pr de lgarismos 1. ‘oombinagio dos tests sprovadosfalhos inden obit ado. Se expressrmos um estfalho come Tum ste aprovedo como 0, ‘scevermos 0 eeultadce om ‘tdem versa, teremoe 6 bine que reprosonta rs, ‘ndcando que tere bt stv lterado,edeve ser ‘eve de para. ee Controle editorial 308 permite editar programas na tela, poupando tempo e trabalho. Tid cnn quot sam eco de computador, © por ess simples io €necesario ter fcuroe de odigan, Exe divers stuagoee terme podemos querer madara dados de uma el ommeirum erro de digiagio, altrar algun eat corto ow atualizarinformases que mudarom de pote de iirtuzis Noles perares apoeniek Wckaeh apsenn forma de “editor especlzado As Tungbes de edigio de um processor de palais por exemplo, séo planed para fac alleragoes noesaras nas diversas etapa de prepaagio e crane rele (ris. Ente eli incicn-eseapacdade dee nar frases, mar parafs ites de lugar mo Enero, Gime Yotok 6S icrooripuadoss porsten ego npo te stor — een naa fema operacional em ROM pars prepara Ts fem & prpamas, Eses do extepamente wl ros de snate com grande relia e-em ta cpergio cenanvente Raver "buss fos) que de dem vir a ser necessirios. Os recursos sini Ses eomputaor pre fazer mut diterenga node senvolvimento de um programa long, Devens rescltar no ena. que um bom programadr pa 1queaperece ene Smumero dainnae 3 linha ropriamente ta deve ser mova, ‘mas 0 segundo € o mais comum nos microcomputa: dores. O editor de linha data da época em que toda ‘computacdo era executada através de teletipos ou terminais de um computador remoto, Os teletipos ti- ‘ware, que imita os processos manuais. de cortar € colar pedagos de texto, o tempo despendido para ceditar um documento ou uma listagem até sua forma, final vem diminuindo gradativamente 324 istro de A fungao do Sistema Operacional de Discos (DOS, em inglés) 6 controlar o lugar em que as informagées estao registradas nos discos. Sem 0 DOS, a programacao seria uma tarefa ardua. ‘Antes que um computador possa executar qualquer tipo de programa aplicativo, precisa ter seu préprio Conjunto de programas para dirgir as diversas partes do sistema e entender as instrugoes contidas no pro- sgrama do usudrio, Esse conjunto de programas in: fernos & chamado Sistema Operacional,e na maioria ddos microcomputadores flea permanentemente den- tro do computador, em forma de memoria ROM Em geral ndo se pereebe que o Sistema Operacional esta funcionando. e por esta rardo dizemos que ele é “ransparente quando em operacio” Se 0 seu micro inclui uma unidade de disco, entio ‘uma grande parte do Sistema Operational estar en- volvida com as diversas operagdes relacionadas com, (discos, Este conjunto de operacies rotineiras & cchamado Sistema Operacional de Discos (Disk Operating System, DOS). Estas ts letras sao en- ‘contradas nas marcas de muitos produtos do ramo— © sistema operacional da Microsoft, por exemplo. cchama-se MSDOS. Um DOS pode vir de trés for: mas diferentes. Primeirament, ele pode fazer parte ‘da ROM dentro do computador. como no micro in- 2lés Sinclair Spectrum, que tem comandos para ‘operar 0 microdrive embutido (que nao consiste de fato num disco, mas € semelhante em operacio). Um outro tipo de sistema armazena © DOS em trilhas sobre unidades de disco “nao inteligentes". Por exemplo, cle no ocupa a meméria principal do ‘computador ¢ pode executar uma operagio de diseo ccomplexa, enquanto 0 computador propriamente dito continua com © programa aplicativ. Naterceira forma, o DOS fica dentrodo computa: dor em RAM. Esta técnica vem tendo grande aceite ‘Gio nos sistemas de aplicagio comercial, nos quai as unidades de disco vem embutidas no computador, € hi bastante RAM disponivel (digamos, mais de 128 Kbytes, como medida padrio). Para 0 fabri ‘cante, este sistema oferece a vantagem de eliminara necessidiade de eriar um conjumto totalmente novo de ROMs sempre que houver a minima modifieagao no DOS. ¢ pura o usuario hd a possibilidade de esco- ha entre uma variedade de marcas de sistemas ‘operacionats que podem ser usados no mesmo har ‘Ao ser ligado © sistema, imediatamente surge uma pergunta: como 0 DOS entra em primeiro lugar na RAM! O DOS tem de ser transferido do. disco para a RAM, mas se nio ha DOS no computador Para dizer-Ihe como controlar 0 disco, como & que ele pode colocar algo na RAM? Um programa nao pode colocar-se na RAM de form espontinea: por ‘sso, 0 computador tem de ter um programa mints SUPERFIcE Do DISCO SETOR DneTORIO Anel da verdade A superice magrdtica de ‘ravaio de um disco ‘vide se em rihas ‘ones © seres ada ‘Rimerseyio de uma trina com lumsetor# charac oc, (qu amazon 128 byte, ‘fungéo do BOS, com ausio fe ua lista de ur BAM (tap de Dsponibiidade de Blcosémantercorrle sobre toda informa armazenada ns bloeos CABECA DE LEITURAGRAVAGAO ROM dentro da propria unidade de disco. Este pro- ces80 56 € aplicavel se disco for um dispositive “inteligente”’ (como o Commodore Disk Unit), ou seja, se tiver incorporado seu proprio microproces- sador ROM e RAM. Este tipo é de fabricagio mais dispendiosa, mas oferece vantagens consideraveis, culo em ROM, executado sempre que a m ligada. Este programa chamado “bootstrap” € uma, forma muito simples de DOS. A tarefa do “boots: trap” € simplesmente achar © DOS principal no disco, transferindo-o, byte por byte, para a RAM, depois do que © DOS pode assumir a diregao e de” sempenhar fungdes bem mais sofisticadas. Este pro- ceesso de ligar 0 computador e esperar 0 DOS assu: ‘mir a direcdo chama-se “*booting-up"”. Quando ele termina, aparece um aviso na tela que indica que o ‘computador esti pronto para receber ordens do (Qualquer que seja a forma tomada pelo DOS no sistema, sua funedo principal é controlar o lugar em. que as informagdes estio contidas no disco. Lem. bre-se de que um disco (ver p. 114) € dividido em angis concéntricos, chamados trilhas, que. por sua vvez, sio divididas em setores; a intersegio de uma trilha com um setor denomina-se bloco. Um bloco ccontém 128 bytes de informagio, e é a menor uni: dade que 0 disco pode ler ou gravar por vez, Uma ddas principais razdes para aexisténcia do DOS & que ele faz 0 computador lembraro local exato de tudo.o que esté contido no disco, e esta tarefa & mais im- pressionante do que parece. Suponhamos que uma unidade de disco tenha uma capacidade de 320 Kby- tes — suiiciente para armazenar vinte programas de 16 Kbytes cada, Uma vez que cada loco contém 128 bytes, para earregar um destes programas sem utilizar do DOS seria necessario que voce espec ficasse 128 blocos diferentes, cada um com sua pré- pria trilha e seu préprio niimeto de setor! Para poder desempenhar esta fungao, o DOS pos sui um diretério (uma espécie de lista de enderegos), rnormalmente localizado na trilha central do disco, Diretorio local ewe | | a ese woes [Poe | 201209202. enpew [roy | aettaesaa'2. suger |Prop | 2312243249, Busgetit | Dados} 27-1.277.20-2.. ‘Odiretro sempre oeups tha central do um deo. Contém ‘somes ees pos dearquivos(rogtama,dacos saver ‘utes ators) numeros daha edo storm que o arquivo esta armarenado, porque tendo de ser consultado com freqiincia isto ‘minimiza a distancia que a cabega de leituralgravae ‘Gio precisa pervorrer. A velocidade de operagaio de ‘um disco depende mais do tempo despendido para mover a cabega, de uma trilha para outra, do que da velocidade de rotagio do disco, ( diretorio é uma lista que contém tudo 0 que esti arquivado no disco (tanto programas quanto arqui- vvos de dados), com detalhes como nome ¢ tipo de arquivo e uma lista dos blocos (todos com espec ‘cago de trilha e setor) onde ele esta armazenadbo. Pode haver outras entradas, tais como os dados de uma e6pia back-up (de reserva) que acabou de ser feita, ou uma lista dos ususirios que tém acesso a de- terminado arquivo. Quando um novo arquivo & armazenado, @ DOS deve consultar uma especie de lista de enderecos, chamada Block Availability Map (BAM) ou Free Sector List, que tem um bit comespondente a cada bloco do disco e, quando o bloco ¢ usado, 0 valor de seu bit muda de 0 para b ‘Alguns computadores de uso pessoal com unida- des de disco possuem um programa utlitério que apresenta 0 BAM na tela, ¢ pode-se ver as entradas sendo feitas enquanto voce grava_um programa, Quando um arquivo € apagado, 0 DOS nao se ocupa cm limpar todos os blocos usados — ele muda as en- tradas no BAM, para indicar que 0 contetido daque- les blocos passou a ser desnecessério Outro aspecto deste sistema é que 0s arquivos nao Espago de sobra ...:: TRLAS TRL DE DIRETORIO [Anes que 0 D05 poss armazenar um equiva novo e fazer ‘uma envad no det, ele deve consular o Sock ‘Avalbilty Map [BAM ou Free Sector List Esta ume pane ‘da meméria onde cada it corresponds aum bioco do dso, ‘bimini inden que a boco ess oeupedo 20 ndes que eat live regresontades por quacrades cheise vaxes. Notes queas has que fear mals prximas 60 centro do isco po sem mals eras, tn menos Stores. siio armazenados em blocos vizinhos consecutivos, como se poderia supor. Admitamos, por exemplo, ‘que uma {rilha consista em doze setores, numerados de I a 12, no sentido horirio, O primeiro conjunto de 128 bytes de um programa encontra-se no setor I: fo segundo, no setor 7; tereeiro, no setor 2, €ussim por diante’ Isso acontece porque. enquanto 0 con= feddo de um bloco ¢ translerido para o buffer (me~ moria intermediria), usado para gravar o bloco, transcorre um peque'io lapso de tempo, Se o DOS precisasse gravar Setores consecutivas, teria de es- Perar uma rotacao completa do disco entre cada gra vvagdo, oque retardaria o sistema. Alémdo mais, um disco que tem certo tempo de uso, com arquivos que mudam de tamanho todo dia, acaba com um BAM. parecendo um pedaco de queijo suico, e assim os no- ‘Yos arquivos tém de ser encaixados nos buracos. Um Sistema Operacional de Discos possui muitas ‘outras fungdes, inclusive a de formatar novos discos (marcar trilhas e setores em discos virgens ¢ eriar diret6rios vazios), fazendo cépias back-up e "*arru- mando” discos cheios. Verses mais sofisticadas incluem uma variedade de estruturas de manipula- Gio de dados (ver p. 204). Tet de Algunssunidades de iso ontom su propo Imioprosessador sus RAM. Estas so chomadae undades “imligentes onde @ DOS esta ncorporado er form FROM Quando sso usadae Unidades "no neigentes de DOS fica armarenado dentro, computador. 325 ‘Sistemas trates ‘Abies os deca de 0915 nos esigas bindioe Gry Dra Bie Cop ¢ {com oot 21 ont 3 wont onto i oo otto 5 ot anit 6 om ont 7 om oo 3 1000 1100, 3 roo) HO oto tiny 1 wo nz to 010 3 no 4 m0 ta0T 5m 1000 Angulo te visio Aposiie angular de ume aca pode sara por um fomputador através de ure isco com cdg gravado. Una lur ee sore a pgs © ma fina de ule Fotoreneveis gata 0 azranjo do eign 0 sial gia ue ¢produzido ‘Smultaneamente mide) Imodia que a pry se move Dinconveniante dese ser 0 sistema Bindi amo codigo ¢ (que seo dco pararnajungso edo valores, resultado produ pode no fazer Sent 0 bdo Gray eva este probioma 8 Passo a passo Na medicao de um movimento linear ou angular por meio de um sensor éptico, a codificacao binaria nao produz bons resultados — — Por isso foi estruturado o cor Existem muitas tarefas em que a posigio fisiea de um objeto mével deve ser determinada com preciso ¢ passada para 0 computador. Em robotica, por exemplo, o computador precisa ter conhecimento de todas as posigdes e orientagdes dos membros de um rob0 €, na fabricagio de maquinas com controle computadorizado, 2 posigao da mess fresadora deve ser estabelecida com preciso. Mas, como € que uma posig2o pode ser convertida em valor binario, para ser processada pelo computador? Um dos métodes inclui 0 uso de um sistema analégico. Consiste na ligagdo da pega movel uma resisténcia variivel, e a voltagem resultante & pas- sada para um conversor analégico-digital (ou direta- mente para a porta analégica, caso seu computador tenha uma). Entretanto, este sistema nao oferece muita preciso c as partes mecanicas esta sujeitas a desgaste A altemativa seria gravar um eédigo binério na pega mével, passando-o diretamente para o compu: tador. Em geral, o cédigo ¢ gravado em forma de njos de blocos braneos © pretos, na parte sw perior da pega. e lilo por um faeo de luz que ineide sobre um desses arranjos, em conjunto com uma i nha de eélulas fotossensiveis, cada uma responsivel por um dos digitos no arranjo bindrio. A medida que apeca se move, os diferentes arranjos vio passando. sob a5 células luminosas. e isto produz um resultado bindtio, que define a posigao do objeto, Além dos oo% VvaLoR DIGITAL CELULAS FOTOSSENSIEIS Disco comIFCADO arranjos lineares Jo também empr radiais, que codificam movimentos ang mo 0 da articul do brago de um robs Entretanto, quando a peya se movimenta de um {cédigo bindrio para outro, podem surgir alguns pro- ‘blemas. principalmente sea peca parar a meio cami- nho enire dois eédigos. A precisio da gravacdo tem uma tolerancia finita e. quando a peca para numa Jungao entre dois e6digos, as células luminosas fa- zem a leitura de qualquer um dos dois. Se a pega Parar no ponto em que as células luminosas esti- Verem incidindo sobre a jungio da posigdo bindria 11 (1011) coma 12(1100), por exemplo, entio s6.0 bit mais significativo (isto é, 0 I da esquerd) & que Pode ser levado em consideracdo para fornecer a po- sigdo comteta, enquanto as outras trés células lumi: hosas enconttario valores confitantes para ler. Em determinadas situagdes, todos os bits mudam, como no caso da jungio do binario 7 (OIL) com @ 8 (1000); portanto. a menor falta de preciso na grava- ‘so pode produzir leituras incorretas em todas as élulas. O resultado seria um valor totalmente falso Para a posicdo, ¢ 0 computador nie teria meios de Saher que isso estava acontecendo, Portanto, ¢ preciso que haja um sistema de conta ‘gem alternativo, onde apenas | bit mude em cada movimento. Isto significa que s6 pode haver duvi- ddas sobre 1 bit em cada juncdo e 0 resultado pode apresentar um erro de, no miximo, uma posigio. Este sistema alternativo é chamado cédigo Gray, de terminado pelas seguintes condigées: passando de ‘um valor para o seguinte, um Ginieo bit se modifica este deve ser sempre o que fica mais & diteta, re sultando na formagio de um padrio unico. Desta forma, se comegarmos com 0000, como no sistema binario, © nuimeto | seri representado por 0001. No. centanto, para representar o nimero 2, devemos mu dar o segundo bit da direita, obtendo O11. Para 0 rnimero 3, j4é possfvel mudar o primeiro da dircitae ‘bier 0010. Observe como esta seqiiéncia difere da binaria para esses mesmos nimeros: 0000, 0001 (0010, 0011 © quadro mostra este processo ampliado até 0 ccquivalente ao admero 15 do sistema decimal, ¢ 0s rnuimeros vém acompanhados de seus respectivos cequivalentes no sistema bindtio para simples re- feréncia. Como exereicio, voce pode calcular os valores do eédigo Gray além deste ponto. ‘Computadores poderiam ser projetados para fazer cleulos matemiticos ¢ funcionar internamente pelo digo Gray, mas isto seria ineficiente e desnec sdrio. Assim, deve-se usar um meio de converter 0 cligo Gray no binario, o que pode ser feito com hardware ou software, O mapa da mina Usando uma ling linguagem de alto nivel vocé nao pre precisa saber 0 Vaio que acontece na memoria do computador. Mas, para usar Sree ce aaa ee linguagem de maquina, precisa saber o que se passa | dentro. “sino to Sat ours —_——————— EEE SS ESS ins pentane Secescmo de mate do que BA eum crcuto espacial tenderegamento que Um computador com a Keyes Selena os vechos que e ARC gememera BAM pode er fo ee apenas 3 Kbytes dsporiveis inserindo-s eremovendo-os a 0s programas do usuario. Gnawasmen A unidade central de processamento de um compu~ Ohad sswna tador tem uma capacidade determina 0 nimero maximo de posigses de me- ‘maria que pode manipula: na maioria des micros, essa capacidade € de64 Kbytes, ‘Orestante fica pera o Area do usuiro (RAM) Nesse espago devem caber os programas em overhead do sstems, gate da Talvezseja o panto mais ROM e RAM que vém com a maquina, os eventual- memoria reservads pelo seeder cee mente acrescentados ¢ mais todas as ports ¢ chips Sse™# gpa sengre_ Sona isn comps de interfaces, que também so considerados posi- S42 —umtine st ale, Ga caste gées de memria, Assim, um dos aspectos mais comvataves do propre,” sofseago gos preromes importantes na arquitetura de um computador € seu seme, ares ‘oe vod pve va ‘mapeamento de meméria — a lista ou © diagrama itermediarios de eaieuloe que especifica a parcela de meméria destinada a "9= elementos cada uma das fungoes da maquina. ‘Quem sé programa em Basic ou qualquer outra linguagem de alto nivel nao precisa conhecer esse Sees Seatac de seu computer ‘ge que voce deca os diggrama em detalhes: mas para quem quer utilizar lumanhos de todas as sngs Tinguagem de maquina ou Constr actssorios de BHD GAGES eee aves oot ais aaa Boca esc? eae creo divel Sexis Uro— Lan Mas org rua ea Senora ato Wcstasduas pginas mostramos um tico mapa ftw Owions eqn — Auendiedermmunste —Staey wees di am de meméria, mais semelhante a um sistema baseado _°S!4 © topo da pitha ‘teclado, pare que os ‘numa regiao de memoria que Gustamerte oo que caaceres nao se percam caso #88 Sere mano de no microprcessador 6302 do que no 280, embora Gutman gue Grete Teens quase todas as caracteristicas sejamcomuns aosdois Ghandoursianroae SRURT Mais pdo do awe Sa peraal lr une ‘Alguns fabricantes de microcomputadores incluem, GOSUB ¢exeaatada om ease, Raver tamberovim buf nore eles de Ii na ea das ‘no manual do proprietirio, um completo mapa da por exempla,8CPU armezena_gasste,reebendo os foes ‘sigs removendo ot dados memoria. Mas ha outros que fazem disso um segre- 20%0P0% pe 9 edeeco ge dagos que osttema emia Consteraordesnerestiros aS ocak amoga” coomeemees sponane do, por raze indusriis. No entanto, grupos de SE™gMSt pmo qual para sr graves uuswérios conseguiram, com a experiéneia, determi- —Gapois de cumprie sub tina nar todo © mapeamento, 364 oe eee, pene =a, ma Seierec, § — enmen Certos computadores dispdem Vario ‘dispositives que reconhecs ‘compiem 0 sistema ‘de um trecho de meméria ‘Quando se introduz um re nes ae da ae ‘operacional — conjunto de ‘ecminada come parte ds ‘econheide no mapa de imraes« de outros ccutos ee sieireucase” Se teeaie icra apna an merpretadr nase que ‘restora programas om instugoes funco de cada soso). CComputacores com grandes recurs gros eta teslugo sempre precaam ‘sr pare da memos RAM do sui 0 que mpc um ‘vated do sstema ampliado ‘mesma amanha pre = Chips de entadasaia, ands ‘U2 poues poses seem ‘sade decade ver Gerard caste see um dos mahores ‘romplos do uso de ROM no armazoraman do sados 80 invés de programas: la (uaa os bts que define mo eda eaacare Soorecers no vdeo. Em certas ‘maquines, todos o cvateret Cora de (Os recusos tions mais sefsteados tem so PA Peripheral Interlace Adaptors (adaptaores de intertace de Kee Eeoe eet pei) so seins na Tyan eet AcE orm a ina do stoma erctinre ents ESmuncaio do cmpuiodor $3 Rane ‘ea pra’, opmacenal Ember enna Un se never, o contador de com partes simples como (suena cena aes propos Te rote cata aoe corieen teado case jysiche Shanes maquina, bo per {uns ou pouco mas de Conta on Imesora Os motores wosalae mene ceria que Hes sores smpes (como 0822 Veratle. Sem TU. tae ouas coms, SSemnmceiehcorat” Poser srcregion com rie Ati orem Severo taro de commer carte ncoct Sowers on aoe pralen em stan © ‘nema dsponivel «8 cca comaclemsric® Gomputadres com recursos thn sondmatros bund ‘rograma em cacho Soe ies Imaissofstendoe em tb tad om programas rani amien Conte de som guy aments sonora wldace do ambi maripul ora Um peqeraamphtcador”taeréaga dos dados nals ormerars ented 2 ‘aida da ode Autor original — Pode-se desenvolver programas de computagao que geram outros ou corrigem erros de codificagao humana. “Se os computadores sdo to espertos, porque seres humanos devem program-los?” Programadores cexpetientes tendem a descartar questoes como essa, formulada por um principiante cético. A divida, porém, nfo € tola como parece. Hoje se fax muita pesquisa de desenvolvimento de programas que po- ‘dem dar origem a outros programas ¢ de sistemas ‘operacionais que objetivam corrigir erros em codif ccagies eseritas por seres humanos. “ERO SINTATICO?"” ¢ uma mensagem encontra- dda com freqliéncia por usuérios de microcomputa- dor. Pode ser irritante, porque fornece pouca infor- ‘magio. O compilador de um computador de grande porte fornecers, em geral, muito mais informacao quanto 3s caracteristicas do erro encontrado. Por (0s programas comers io radar pala especticacio dos eortaudos ce ‘ado erauivo a alae, €0 quem detodes os tronagbes retros a produ O usuario, 2 seguir. espeiica as relies trav os varios tans de dao, 384 ‘exemplo, a mensagem de erro pode se apresentar desta fora: 1090 LET A=|[Cs2+FS}6((FG-C}+TH+1)) ERROS: 1) CONCORDANCIA— VARIAVEL ALFANU- MERICA FS. NAO ADMISSIVEL 2) ULTIMO PARENTESE NA ESPERADO io ha razao séria para que taistéenicas nao sejam ‘empregadas num interpretador de micro —o custo ‘da meméria ROM adicional necesséria para o arma- zenamento das rotinas seria minimo. Mas poucos ‘microcomputadores utilizam, pelo menos, procedi- ‘mentos superficiais de supervisio de erro: a maioria nem chega a conferr a sintaxe do e6digo medida que é fomecido. Pode-se, contudo, comprar chips adicionais de meméria ROM ou cartuchos de solt- ware acoplaveis que ampliario 0 aleance dos co: mandos disponiveis, sobretudo os relacionados com desenvolvimento e depuragao de erros dos progra- mas. Esses comancdos nasic abrangem: HELP — Imprime a linha do programa ¢ destaca a Posigdo exata do caractere onde terminou a execu do programa. Isto, de modo geral, mas nem sempre, indicaré a fonte do ereo de sintaxe DUMP — Imprime uma lista de todos os nomes de varidveis, com seus contetidos, que estiverem em uso no programa, E muito itil para e saber quanto 0 Programa avancou em sua tarefa, antes da ocorrén: cia do erro, TRACE — Apresenta numa janela no canto da tla © ntimero (ou niimeros) da linha que esta senco exe~ cutada, a medida que o programa se provessa. Iss0 ajuda 0 ususrio a tragar o fluxo do programa e asse~ ‘ura, entre outras coisas, que as sub-rotinas sejam cexecutadas na ordem desejada, desenvolvimento de programas que ‘40 computador corrigira codificagao humana nao é, em geral, tarefa simples. Porém, no caso de al ertos, mostra-se muito féeil. Sabemos, por exem plo, que todas as linhas de programas devem come: ‘ar por uma palavra-chave em nasic (embora algu- mas méquinas admitam a ndo utilizagio da palavra LET), Assim, se uma linha se inicia pelo comando PRUNT ou PRONT, € facil fazer com que diga PRINT. Neste curso de programagioem nasic, examinamos ‘-conceito de combinacdo embaralhada (algoritmos para escolha da combinagao mais pr6xima de qu 4uer frase) isso também pode ser utilizado em pa lavras-chaves do programa. Da mesma forma, o in- terpretador pode apenas inclu uma lista de tipos de erros mais freqllentes de digitacio com seus equi valentes corretos. Para maior seguranga, seria con- veniente que 0 computador conferisse com o opera dor quaisquer alteragbes feitas Mas, afora esses procedimentos elementares, a corregio automiitica se torna bem mais dificil. No exemplo dado, FS correspond a um erro de impres- silo de F ou FS ou Fa? Ou de algo inteiramente diferente? Se voe8 mostrasse a lstagem completa a ‘outro programiador competente, ele seria eapaz de identticar as falhas e fazer as corregoes. Para tanto usaria dois ertérios na tomada de decisio: © con- texto no qual a linha do programa apareceu e sua prdpria experiéneia, De modo bastante estranho, essa téenica tem sido mais uitizada na corregio do texto em portugues ou inglés do que na verificagio do c6diga do programa. Um pacoie de verificagao de erros de grafia, por exemplo, trabatha 0 texto © destaca as palavras que no corresponderem as entradas em seu dicionario de cerca de 30.000 palavras, retidas em disco. A miaioria desses pacotes dispOe de recursos. para aprender novas palavras (como os nomes de empre- sas ou de pessoas) e as incluem em seus dicionarios. Os pacotes mais elaborados até sugerem a maneira correta de soleré-las, se uma correspondéncia apro- ximada for detectada. Processadores experimentais de palavras empregam os mesmos processos para corteges gramaticaise de estilo literirio indicando erTos ou imprecisdes de pontuacao, exagerada repe- Ligio de palavras no mesmo parigrafo e adjetivos ou aadvétbios inadequados. Esses pacotes operam pelo cexame do contesto de cada sentenca e pela referén- ia a uina biblioteca de exemplos. ‘Um empento maior, contud, foi dedicado ao de~ senvolvimento de sistemas que criam programas em vee de apenas corrigir 0s ja existentes. Em 1981, surgiu no mercado o software habilmente denomi= nado The Last One (O tiltimo). Pretendia ser um programa capaz de desenvolver qualquer outro pro- ‘grama que se desejasse. Em outras palavras, seria 0 Ultimo programa que se precisaria adquiri. Tal pre- tensio mostrou-se exagerada, embora The Last One fosse um auxiiar muito dil a0 desenvolvimento de ccertos ipos de software, sobretudo para aplicagSes ‘comerciais. Existem hoje vitios produtos desse tipo no mercado, rodando tanto em micros comerciais ‘quanto em alguns de uso doméstico — todos cles ge- nericamente denominados “geradores de pro- -ramas caminemos agora o prinefpio hisico que funda- menta um programa que pode desenvolver outros programas. Observe este exemplo bem comum: 10 PRINT “O QUE VOCE DESEJA QUE 0 PROGRAMA APRESENTE NA TELA?” 20 INPUT AS 30 PRINT "0 PROGRAMA E {40 PRINT "10 PRINT ";CHRS(34);AS;CHRS(34) Se responder OLA & pergunta, o programa (que deve rodar na maioria dos microcomputadores) impri- mira seguinte linha: PROGRAMA E 10 PRINT “OLA Caso se utilize a mesma téenica nas fases de entrada de dados, de céleuloe de saida para a aplicagio que se tem em mente, pode-se desenvolver um gerador programador” podem ser ‘adquiids pare mutes Imicracomputadres: so chips ‘de ROM ou catuehos ‘adaptaveis.Ampam o akance os comandos bm was, ‘speciaimente no Aesenvolvimento do programas @ ma eminagio eres. bem simples de programas. Se todas as questoes que cle solicita estiverem formuladas de modo claro, serd facil, mesmo para quem nio tem experiéneia anterior, desenvolver um programa simples com o auxitio desse software. Os geradores de programas dispontveis no mer- ado utilizam as mesmas técnicas. A maioria das aplicagdes comerciais consiste numa combinacao de cinco processos distintos: entrada de dados, saida para a tela ou impressora, armazenamento em arqui- vo, recuperagao e céleulo. O gerador precisa dispor de sub-rotinas padronizadas e muito flexiveis para cada um desses procedimentos. Ao Ihe pedir que es- pecifique aestrutura cxata dos dados que voce estar usando, 0s caculos feitos com esses dados ¢ os for- ‘matos de safda de que vocé necessitard na tela e na impressora, o gerador vai alterar os valores de certas varidveis de algumas sub-rotinas e depois fazer a.co- ‘nexdo para criar um programa. Embora estejam se tornando mais sofisticados, é improvavel que os geradores de programas venham a substituir 0 programador humano em futuro pro- xximo, pois apresentam sérias limitagdes. A técnica deserita é adequads a aplicagdes comerciais em ba- ses transacionais, como contabilidade ou controle de estoque, mas em geral nao pode ser empregada no desenvolvimento de processadores de palavras ‘ou programas de jogos. Em segundo lugar, como 0 gerador de programa recorre a sub-rotinas padroni- ~zadas, a listagem resultante nem se aproxima da efi- cigncia (tanto em velocidade quanto em meméria utilizada) que teria se fosse desenvolvida por um rogramador. Além disso, os programas produzidos Por geradores nio sio tio user-friendly (Ficeis de lusar) como os produzidos pelo programador, quando este ¢ um ser humano. Poucas vezes utili Zam, por exemplo, os recursos grificos oferecidos pelas miiquinas mais modernas. Enfim, os geradores de programas dispontveis no mercado conseguem de fato substituir apenas o dl- timo estigio da programacio —o desenvolvimento do cédigo. O usuario ainda tem de elaborar a forma cexata da saida e entrada de dados de que precisa. geral, os estgios que antecedem a programagiio sio (os mais diffceis ¢ exigem habilidade especifica, di- ferente daquela necessiria & programacdo. A maior parte das grandes empresas emprega especialistas, 1 analistas de sistemas, para especificar os progra- ‘mas necessairios; ¢ programadores convertem essas, especificagdes em codigos. Pano mas era Teds 0s chips semicondsores Slo fomados por cama ce mae semseanatores, (gavads um a um per ciar os emerios doceto A carato fra determina» coneao ete cs elenerog.A UA conse ‘ums mate de emertes legos combados para formar ‘mete lg complexo 388 Fim especifico Uncommitted Logic Arrays (ULAs) podem controlar as fungdes do microcomputador, independentemente de CPU, ROM e RAM. Entre os muitos avangos da eletrOnica, resultantes do rapido desenvolvimento do microcomputador, uum dos mais importantes foi o aperfeigoameento de tum tipo de chip chamado Uncommitted Logic Array (anatriz Logica sem fungoes determinadss) ou ULA. Embora distante do conhecimento piiblico, essa ‘volugao silenciosa vem acontecendo e esti tao avan- «ada que tomou possivel a construcao de computa- ores mais sofisticados ¢ de outros dispositivos com apenas quatro componentes principais: a CPU, um pouco de RAM, um pouco de ROM e— para.unir as tués — uma ULA. Como o préprio nome sugere, a ULA corres- ponde a um grande numero (uma matriz) de por lgicas que, de inicio, nao tém fungdes especificas ‘mas podem ser modificadas para executar pratica ‘mente qualquer operacio que 0 designer desejar. A ULA 6 considerada um desenvolvimento da ROM, luma vez que 0 contetido de ambas $6 se vé espe: cado pelo fabricante do chip, e no pelo usuario, ‘Antes de ser “programada"’, uma ROM ou ULA. cconsiste apenas em grande ntimero de circuitos ou ‘células eletronicas simples, que ndo estio ligadas e ortanto nao executam nenhuma agio. Todos os chips so constituldos de camadas sobrepostas de ‘materiais semicondutores (ver p. 122). A-camada fi- nal compde-se de material condutor e forma cone- 6es ene a diversas células. Aap varedade de interigacoes possiveis di lexbilidade & ULA: émbora as clulas sejam bastante simples, consis- findo num par de transistors, ou uma simpes resis ténci, elas podem ser todas interigadas através da tims camada, para montar circuitos complexos, tais como Mipfions (ver p. 308) dilos, até com menos de meiaduza de clas, due uma ULA grande tem milhares delas, os m- dllos propriamente tos podem se intetigar para gistradoras, calcladoras e cireuitos de tempo. As Fingdes desempenhadas por esses circ por uma colegao de chips logicos de uso geral Uma ULA pode ser programada para desempe- nhar variedade muito diversificuda de atividades. possvel fazer qualquer ULA sintetizar sons, contro lara exposigao, 0 foco e 0 motor de uma cdmara fo- tografica ou fazera maior pan do trabalho num te- imometro digital. Alem da ULA, quase nenhum ct interroptore alguns sensores ou botoes de controle Eélulas da ULA. O minicomputador como um DEC PCPI1/23, executando programas do tipa CAD — Computer Aided Design montade inicioum dia zgrama codificado da logiea descjada, Entdo, 0 sis- tema trga e codifiea um mapa do layout plancjado impress do projet pode ser produzida num ploter, Mascara optica Concluido, o design € trasmitid para um computa dor maior, que verifica seo plano e aceitivel, com Tara-o com projet logico original eee {que ni contém eros graves. Entio, ele outro programa que simula o circuito resultant, usando im programa de teste preparado pelo ust rio. Quando prot estiver terminado, 9 computa dor produzo trabalho de acabamento para a méseara Sptieausada na execugso da ltima tamada, 'As possiblidades di ULA sto variadas. A idéia de colocar grande nimero de cicuitos simples em atuar uns sobre os outros mos aque poderia resultar na execugdo de wm mdmero iaior de eicuitos. Contudo, no atual nivel da tc nologia, as ULAs 36 sio econdm cessidade de no ¢ to fascinante as quand hii ne nimo alguns milhares de circuitos PROM (Programmable Read Only PROM (Erasable PROM), EE. PROM (Electrically Erasable PROM) © EAROM (Electrically Alterable ROM) sio, todas elas, alter- 1s para a ROM, programavel pelo usuério com equipamento adequado. Talvez, em breve, também aparecam altemativas para a ULA programaveis, pelo usuario. SS eee dein FE Cédigo de ordenacado Quando se trabalha com matrizes extensas, a classificagao Shell 6 mais eficiente que as classificagdes bolha ou por insergao. A Shell opera pela divisao dos dados em series. Examinamos, na pagina 286, dois métodos de clas sificagao de matrizes — as classificagées bolha e por insereao. Em geral, a bolha revela-se mais ftcil de ser desenvolvida, mas a classificagao por insergio ‘opera com maior rapidez. A experigncia com ambos ‘mostra que boa parte do tempo se despende com a troca de cartas a curtas distincias. ou AEM si 2800 FOR Q-P 10 UL. SEP 400 Ler mg) RG” 1x 00 IF DR) THEN LET RQ)-DURT QU so Next @ 8600 170A) THEN LET BL)-D ‘8700 NEXT Ls (e021 1850 PRI CLASSLPICACAG SHELL RNCERRAR | ~ ‘900 RETUR Pariser esa retina na programs do procecimentodecless- Fea, na pine 28), ater nha 20 pars SBOLET PTET O-GHET = 2:LET M3 aloha 90 pare ‘00 ON SR GSU 600070008000 Um método mais eficaz que esses doit «cacao Shell a “classifi Fsse método garante que a desordem reduzida no comeco da classificagao (de modo que os itens no fiquem muito distantes de suas posigdes efetivas) e possibilita a realizacao das trocas a distdncias longas. Um método para essa classificagao inclui cinco procedimentos: 1) Disponha todas as cartas de um naipe em or- ‘dem decrescente, de modo que o rei seja a carta da extrema esquerda, ¢ 0 4s, a da extrema dircita, Conte as cartas, divida o niimero resultante (no caso, 13) por 2, deixando de lado a que restar, e registre o resultado (6) num pedaco de papel assi- nalado “Elo” 2) Coloque uma moeda pequena sob a carta da extrema esquerda (posigao Um) € uma moeda maior na posicao Elo (isto €, posicao Seis, na primeira vez). Todas as cartas, da primeira até a posicao Elo, serdo as cartas da extremidade esquerda numa série de “‘correntes”” de cartas. O nimero de correntes coincide com © valor do Elo naquele momento, Forma-se cada corrente a partir da carta da extremi- dade a que pertence, somando-se o Elo ao numero de posigao da carta da extremidade. Consegue-se desse modo a posicao da carta seguinte, & qual se acrescenta o Elo para se obter a posiciio da préxima carta ¢ assim sucessivamente, até que o final da ‘matriz seja aleancado ou ultrapassado. A primeira ccorrente, desse modo, abrange as cartas nas posi- goes Um, Sete © Treze: a segunda corresponde as Cartas nas posigoes Dois e Oito e a terceira equivale as cartas nas posicoes Tres ¢ Nove. A dltima coin- ciide com as cartas que ocupam as posigées Seis valor do Elo no momento) ¢ Deze. 3) Agora, tendo assinalado os limites com as las, desloque para fora da tabela as cartas in- sna primeira corrente, de modo que possaim istas isoladamente, proceda a sua ordenagao, utilizando a classificacto bolha ou por insergéo, como descrito na pagina 286 (a listagem, nese artigo, utiliza o método de insergo) 4) Desioque a corrente ordenada de volta a suas posigdes na matriz e repita o procedimento acima ‘com a corrente seguinte, ¢ assim por diante, até que todas as correntes cujas cartas da extrema ésquerda ccaiam entre as moedas estejam ordenadas, 5) Quando as correntes estiverem ordenadas, di- vida 0 Elo por 2, deixando de lado a que restar. Se 0 Elo for agora menor que 1, a matriz estard classifi ‘cada. Caso contrario, repita a operagao a partir do. procedimento 2 com novo valor do Elo. Painel da classificagao Shell Vilorde Elo Comentiios 123456789 POST EKG? Same Ico dapassomem H+@S2+@S+ Foraadecoretes acd hat Coren oe clasticagio 1 eos Corer de clasicgio2 ees Caren oe dasicagio 3 te 8 Corent de csicacio 4 Taks75932 Ini dpasagem T8K675937 (eas? Fda passopm ietetete Reet 7 oe 5a kats9s7a2 lesa Shall exemple da dassificapdo Shell com edie mao de carla apresentado no pine! Gemonsta seu excopcona ‘método de dvisao da mate numa série de corentes (om espaceamentos no nimero, do Ein em determinad moment) Essa cadet sto ‘ordenadas uma a ums, no aso, pela métode de inaeredo, antes da pessagem Esta listagem de programe para lassiicagio Shall save fer sada com o programateste

Você também pode gostar