Escolar Documentos
Profissional Documentos
Cultura Documentos
Pro MSc. Chr of. ristian Puhlm mann Brackmann kmann@iffpb b.edu.br brack http://br rackmann.iff fpb.edu.br
1 Maio/2011 V0.3
M LOS DUL
oduo ....... ........................................ ........................................ .................... ................................ 2 1. Intro 2. Org ganizao es struturada de computad d dores .............................. .................... ................................ 3 s 2.1 Linguagens, nveis e mquinas reais .......................................................... ............................... 3 ontemporne ...................................................... ............................... 5 eas 2.2 Mquinas multi-nveis co e m ........................................................... ............................... 8 2.3 Evoluo de mquinas multi-nveis ... o o-programa ...................................................... ............................... 9 o 2.3.1 A inven da micro o ma nal 2.3.2 A inven do sistem operacion ...................................................... ............................... 9 o nalidade para micro cdig .................................... ............................. 11 a go 2.3.3 Migra de funcion o o o 2.3.4 Elimina da micro programa ....................................................... ............................. 12 arquitetura de computado ..................................................... ............................. 13 e ores 2.4 Marcos da a o mputadores mecnicos (1642-1945) .................... ............................. 14 ( 2.4.1 A gera zero - com 945-1955) .......................................... ............................. 15 2.4.2 A primeira gerao - vlvulas (19 nda s 2.4.3 A segun gerao - transistores (1955-1965) .................................... ............................. 18 ra egrados (196 65-1980) ......................... ............................. 20 2.4.4 A terceir gerao - circuitos inte a ntegrao em escala mu grande (1 m uito 1980-?) ....... ............................. 22 2.4.5 A quarta gerao - in a c es 2.4.6 A quinta gerao - computadore invisveis ........................................ ............................. 24 ssificao d Sistemas de Comput de tao .............................. .................... .............................. 26 3. Clas 4. Unid dades de Medida Comp putacionais. ........................................ .................... .............................. 28 4.1 C Converso d Bases e Aritmtica Co de A omputacional ...................................... ............................. 29 4.1.1 Sistema Binrio de Numerao .. a N ........................................................... ............................. 29 so: Nmero Decimais Nmeros Binrios ......................... ............................. 31 os 4.1.2 Convers so: Nmero Binrios Nmeros Decimais ......................... ............................. 31 os D 4.1.3 Convers so: Outras Bases de Nu B umerao............................................ ............................. 32 4.1.4 Convers so a 4.1.5 Convers entre Bases Potncia de 2 ................................................. ............................. 32 OGRAFIA .... ........................................ ........................................ .................... .............................. 34 BIBLIO
1. Int troduo o
Um co omputador di igital uma mquina qu e pode reso olver problem para as pessoas exe mas ecutando instru es que lhe so dadas Uma sequ e s. uncia de in nstrues qu descreve como realiz certa ue zar tarefa denominad programa. Os circuit eletrnico de cada computador podem reconhecer e da tos os c tar ente um con njunto limita do de instru ues simpl les, e, para que os pr a rogramas execut diretame possam ser executados, todo devem a m os antes ser co onvertidos em instrue Essas in es. nstrues bsica raramente so muito mais complica as m adas do que e: Some dois nmeros; s Verifique u nmero para ver se e zero; um p ele Copie dado de uma parte da mem os p mria do com mputador para outra. a
s, es s mputador formam uma lin nguagem co m a qual as pessoas Juntas as instru primitivas de um com podem se comunic com ele. Essa linguag m car gem denom minada linguagem de m quina. Quem projeta m um nov computad deve dec vo dor cidir quais ins strues incl em sua linguagem de mquina. Em geral, luir e E os pro ojetistas tent tam fazer co que as instrues primitivas se om p ejam as mais simples possveis, s p coeren ntes com os requisitos de utilizao e desempen idealizad para o co nho dos omputador, de modo a redu a comple uzir exidade e o custo da ele etrnica nec cessria. Como a maiori a das lingua agens de mquin bem sim na mples, todos acham difc e entediante us-la. cil Com o passar do tempo, es o ssa simples observao resultou em uma ma s o e aneira de estruturar e compu utadores com uma srie de abstra mo e es, cada uma acumula u ando-se qu ela que lhe precede. Assim, a complexi , idade pode ser dominad e sistema de compu da as utao pode ser projetados de em modo estruturado e sistemtic Denomina co. amos essa abordagem de organiza a d ao estrutu urada de utadores. N seo seguinte des Na screveremos o que sig s gnifica esse termo. Log aps, go compu comen ntaremos alg guns desenv volvimentos histricos, o estado atual da tec a cnologia e exemplos e importa antes.
execut tado diretam mente pelo computador existente. Em outras palavras, ser possvel escrever c E ria progra amas para mquinas reais, exatamen como se elas existisse na realid nte e em dade. Para q a tradu e a interp que o pretao seja prticas, as linguagen L0 e L1 n devem ser 'muito' am ns no diferen ntes. Essa lim mitao muit vezes qu dizer que L1, embora melhor do que L0, aind assim tas uer e a da estar longe de se ideal para a maioria da aplicae O resultad talvez sejja desanimador luz er as es. do opsito original da cria o de L1 livrar o programador da carga d ter de expressar p de e do pro algoritm em uma linguagem mais adequ mos a uada a mqu uinas do que a pessoas. Contudo, a situao e no s sem esperan nas. A abordagem bv inventa outro conjjunto de inst via ar trues mais dirigido a pessoas e menos a s nas L1. ceiro conjunt tambm fo to orma uma lin nguagem que denominar e remos L2 mquin do que L Esse terc (e com mquina re M2). As pessoas pod m eal dem escreve programas em L2 exa er s atamente com se de mo fato ex xistisse uma mquina real com ling a r guagem de mquina L2 Esses pro 2. rogramas po odem ser traduzidos para L1 ou executad por um i nterpretador escrito em L1. dos r L A inve eno de to oda uma srie de ling s guagens, ca ada uma mais conven m niente do que suas antece essoras, pode continuar indefinidame ente at que por fim, se chegue a u e, e uma adequad Cada da. linguag gem usa a a antecessora como base, de modo que podemos considerar um computa s ador que use es tcnica c ssa como uma s de cama rie adas ou nveis, um sobre o outro, com mostra a Figura 1. mo A lingu uagem ou n vel que fica mais embaix a mais simples e a que fica ma em cima a mais xo ais sofistic cada.
Figura 1 Mquina Multinvel 1. Existe uma relao importante entre uma linguagem e uma mquina real. Cad mquina tem uma o e da gem de mq quina, que consiste em todas as instrues que a mquina pode exec c a cutar. Na linguag verdad a mquina define uma linguage de, em. De mod semelhan do nte, uma lin guagem def fine uma mquin - a saber, a mquina que pode ex na xecutar todo os program escritos na linguage Claro os mas s em. que po ser muit complicad e muito ca construir uma mquina definida por certa lin ode to do aro r nguagem diretam mente com base em circuitos eletr rnicos, por rm nada nos impede de imagin-la. Uma mquin cuja lingu na uagem de mquina C ou C++ ou Java seria re m J ealmente co mplexa, mas fcil de s constru usando a tecnologia existente h uir a hoje. Porm, h uma bo razo pa no cons , oa ara struir um compu utador como esse: seu custo no se c eria eficiente em compa e arao com o outras tcnic cas. No basta a apenas ser v vivel: um pr rojeto prtico tambm deve ter um cu o usto aceitve el.
4
Em ce erto sentido, um computador com n nveis pod ser consi de iderado com n mquin mo nas reais diferen ntes, cada u uma com um linguagem de mquina diferente Usaremos os termos 'nvel' e ma m e. s 'mqui ina real' ind diferentemen nte. Soment programa escritos em linguag te as gem LO pod dem ser execut tados direta amente pelo circuitos eletrnicos sem a necessidad de tradu os s s, de uo ou interpr retao interv veniente. Pro ogramas esc critos em L1, L2, ... , Ln devem ser interpretados por um interpr retador que r roda em um nvel mais b baixo ou trad duzidos para outra lingua agem corresp pondente a um n nvel mais ba aixo. Uma p pessoa que e escreve prog gramas para a mquina real de nve n no prec a el cisa estar ciente dos ue interpr retadores e tradutores subjacentes. A estrutura da mquina garante qu esses pr s a rogramas sejam executados de uma maneira ou de outra. No h nenh s, m N hum interess real se eles so se tados passo a passo por um interpre etador que, por sua vez tambm executado por outro z, p execut interpr retador, ou se so executados diretam e mente pelos circuitos ele etrnicos. O r resultado o mesmo em am mbos os caso os progra os: amas so exe ecutados. A maio dos prog oria gramadores que usam u ma mquina de nvel n est interess a e sada apenas no nvel s superio aquele qu menos se assemelha linguagem de mquina que est n nvel mais inferior. or, ue e a m no s Todavia, quem se interessa em entender como um computador realmente fu r unciona deve estudar e os uem projeta novos comp putadores, ou novos nveis (isto , no u ovas mquina reais), as todos o nveis. Qu tambm deve estar familiarizad com nveiis que no se do ejam apenas o superior. s
Figura 2. Co F omputador de seis nve d eis. O mtodo de suporte par cada nve est indicado abaixo dele ra el (junt com o no to ome do prog grama de su uporte)
O prx ximo nvel o nvel de microarquite m e os, ente, um con njunto de etura. Nesse nvel vemo normalme 8 a 32 registrador que form 2 res mam uma me emria local e um circuito denomina l ado ALU (A Arithmetic Logic U Unit), ou ULA (Unidade Lgica e Ari tmtica), que capaz de executar o A e e operaes ar ritmticas simple Os registr es. radores so conectados ALU para formar um ca c f aminho de d dados atravs do qual s os dad transitam A opera bsica do caminho de dados con dos m. o o d nsiste em se elecionar um ou dois m registra adores, faze endo com que a ALU efe etue algo com eles (por exemplo, som m e me-os) e arm mazene o resulta em algum registrador ado m r. Em al lgumas mq quinas a op perao do caminho de dados controlada por um programa d a p denom minado micro o-programa. Em outras, ela controlada diretam . mente por har rdware. Em m quinas nas quais o cam s minho de da ados contr rolado por so oftware, o m micro-program um ma interpr retador para as instrue no nvel 2 . Ele busca, examina e executa instr es e rues uma por uma, usando o caminho de dados para faz-lo. Por exemplo no caso de uma instru o o o, uo ADD (S SOME), a instru seria bus o scada, seus operandos, localizados e trazidos pa dentro do registrador a soma ara o r, seria c calculada pel ALU e, po fim, o resu la or ultado seria enviado de volta ao lugar a que perte e r ence. Em uma m mquina com controle in m ncorporado d caminho de dados, ocorreriam e do etapas seme elhantes, mas se um progr em rama explcit armazena para con to ado ntrolar a inter rpretao da instrues do nvel as s 2. vel minaremos n nvel de Arq quitetura do Conjunto d Instrue (ISA de es No nv 2 temos o que denom Instruction Set Ar rchitecture), ou nvel IS Todo fab SA. bricante de computadore s publica um manual m cada um dos computado s ores que ven nde, intitulad 'Manual de Refernc de Lingua do d cia agem de para c Mquin ou 'Prin na' ncpios de Operao d o Western Wombat Model 100X Computer', ou algo O parecid Na verda do. ade, esses manuais trat m tam do nvel ISA, e no dos nveis s subjacentes. Quando descre evem o con njunto de in nstrues da mquina, esto de fato descrev a f vendo as in nstrues execut tadas por int terpretao pelo micro pr p rograma ou pelos circuito de execu o do hardware. Se os um fab bricante de c computadores fornecer do interpreta ois adores para uma de suas mquinas, os quais s
interpr retam dois n veis ISA dife erentes, ele t ter de forne ecer dois man nuais de refe erncia de lin nguagem de mq quina, um pa cada inte ara erpretador. O prx ximo nvel ( (nvel 3) em geral h m brido. Grand parte das instrues em sua lin de s nguagem tambm est no n nvel ISA. (N No h nenh huma razo por que uma instruo que aparece em um a e no possa estar presente tambm em outros Alm dis m s.) sso, h um conjunto de novas d nvel n instru es, uma o organizao diferente d memria, a capacidade de exe da , ecutar dois ou mais progra amas ao mes smo tempo e vrios outro aspectos. H mais va os ariaes entr projetos de nvel 3 re d do que entre os de nvel 1 ou nvel 2. e e n As nov facilidade adicionad ao nvel 3 so execu vas es das utadas por um interpretad que roda no nvel m dor a 2, o qual tem sido denominad historicam o do mente sistem operacion Essas in ma nal. nstrues de nvel 3, e cas vel ecutadas dir retamente pe micro-pro elo ograma (ou c controle incor rporado), idntic s do nv 2, so exe e no pelo sistem operacional. Em out ma tras palavra algumas das instru as, es do nve 3 so el retadas pelo sistema ope eracional e ou utras so interpretadas diretamente p d pelo micro-programa. interpr isso que 'hbrido quer dizer. Neste livr denomina o o' ro aremos esse nvel de n vel de mq quina de sistem operacional. ma H um ruptura fu ma undamental entre os nve 3 e 4. Os trs nveis mais baixos no so pr e eis s s rojetados para utilizao do programador mdio, de nvel caseiro Ao contrr so dirigiidos primaria o. rio, amente o dos inte erpretadores e tradutore necessri es ios para dar suporte ao nveis ma altos. r os ais execu Esses interpretado ores e tradu utores so e escritos por pessoas de enominadas programad dores de mas, que se especializam em projet e implem tar mentar novas mquinas reais. Os nveis 4 e s sistem superio ores so dirigidos ao pro ogramador de aplicaes que tem um problema a resolver. e m Uma o outra mudan que ocorr no nvel 4 o mtodo de suporte dos nveis m a re d mais altos. Os nveis 2 s e 3 s sempre interpretados Em geral, mas nem sempre, os nveis 4 e 5 so apoia o s. , ados por tradu Uma out diferena entre os n o. tra a veis 1,2 e 3, por um lad e nveis 4 e superio 3 do, 4,5 ores, por outro, a naturez da linguag za gem fornecid As lingu da. uagens de mquina dos nveis 1, 2 e 3 so m ricas. Progra amas nessas linguagens consistem de uma longa srie de n s d nmeros que muito e numr boa pa mquinas, mas ruim para pesso as. A partir do nvel 4, as linguagen contm pa ara a ns alavras e abrevia aes cujo s significado as pessoas en s ntendem. O nve 4, nvel da linguagem de montage (assembl na realidade uma f el a em ly), forma simb lica para uma d das linguage ens subjacen ntes. Esse n nvel fornece um mtod para as p e do pessoas esc creverem progra amas para o nveis 1, 2 e 3 em uma forma que no se to desa os eja agradvel qu uanto as linguag gens de mq quina real em si. Program em lingu m mas uagem de montagem so primeiro traduzidos o para lin nguagem de nvel 1, 2 ou 3, e em se e eguida interp pretados pela mquina re ou real ad a eal dequada. O prog grama que re ealiza a tradu uo denom minado asse embler. O nve 5 habitualm el mente consis em lingua ste agens projet tadas para ser usadas po programadores de or aplica es que tenham um problema a r resolver. Ess sas linguage costuma ser deno ens am ominadas lingua agens de alt nvel. Exis to stem literalm mente centen delas. Algumas das m nas mais conhec cidas so C, C++ Java, LISP e Prolog. Programas e +, P P escritos ness linguage em gerall so traduzidos para sas ens nvel 3 ou nvel 4 por tradu utores conhe ecidos como compilad o dores, embo ora s veze sejam es interpr retados, em vez de trad duzidos. Prog gramas em Java, por exemplo, cos e stumam ser primeiro traduzidos para um linguagem semelhant ISA denominada 'c ma m te digo de byte Java' ou 'b es bytecode a. Java', que ento interpretada m pretador para o domnio de uma aplicao o a Em alguns casos, o nvel 5 consiste em um interp fica, como m matemtica simblica. E fornece dados e ope Ele d eraes para resolver pr a roblemas espec nesse domnio em termos que pessoas ver rsadas nele possam ente p end-lo com facilidade.
Resum mindo, o aspe ecto fundam mental a lemb brar que co omputadores so projeta s ados como uma srie u de nv veis, cada um construdo sobre seu antecesso us ores. Cada nvel repres senta uma abstrao a distinta na qual es a sto present diferente objetos e operaes. Por projeta tes es armos e ana alisarmos compu utadores des modo, po enquanto podemos dis sse or spensar deta alhes irreleva antes e assim reduzir m um ass sunto comple em algo mais fcil de entender. exo e O conj junto de tipos de dados, operaes e caracterstic de cada nvel deno s cas ominado arquitetura. A arqu uitetura trata dos aspectos que so visveis ao usurio daquele nvel. C Caracterstica que o as progra amador v, c como a quantidade de m emria dispo onvel, so parte da arqu p uitetura. Asp pectos de implem mentao, co omo o tipo de tecnologia usado para implement a memr d a a tar ria, no so parte da arquite etura. O estu udo sobre como projeta as partes de um sist c ar s tema de com mputador qu sejam ue visveis para os pro s ogramadores denomin ado arquitetura de com s mputadores. Na prtica, contudo, arquite etura de com mputadores e organiza de compu o utadores sign nificam essen ncialmente a mesma coisa.
5. Ento o pr rogramador colocava o p rograma em linguagem de mquina na leitora de cartes, c d e junto com o mao da biblioteca de sub-rotina, e lia ambos. b 6. O progra ama come ava a exe ecutar. Quase sempre no fun ncionava e parava inesperada amente no meio. Em g geral, o prog gramador mexia um po m ouco nas ch haves de controle e observava as luzes d console durante algu do d uns instante Se tivess sorte, es. se conseguiria descobrir qual era o pr a q roblema e co orrigir o erro. Em seguida voltava ao armrio a, o onde estav guardado o grande e verde comp va o pilador FORT TRAN e com meava tudo de novo. nominado descarga Se no tiv vesse tanta sorte, impr rimia o contedo da memria, den m d (dump) de memria, e o levava pa casa a fim de estud-lo. e ara Esse p procediment com pequenas varia to, aes, foi o normal em muitos cen ntros de com mputao durant anos. Ele forava os programado te ores a apren nder como operar a m o quina e o que fazer q o a, ontecia com frequncia. A mquina costumava fiicar ociosa enquanto c e quando ela parava o que aco as pes ssoas carreg gavam cart es pela salla afora ou coavam as respectiva cabeas tentando as descob por que s brir seus program no esta mas avam funcion nando adequ uadamente. Perto d 1960 as pessoas ten de ntaram reduz o desperd zir dcio de tem automatiizando o trabalho do mpo operad dor. Um pro ograma deno ominado sis stema opera acional era mantido no computado todo o o or tempo. O programador produzia certos car rtes de cont trole junto co o program que eram lidos e om ma, m tados pelo sistema opera acional. A Fiigura 3 apresenta uma amostra de s a servio (job) para um execut dos pr rimeiros siste emas operac cionais de am o, o FMS (FORTRAN Monitor Sys stem), no mpla utiliza IBM 70 09.
ura tra o a al Figu 3. Amost de servi (job) para o sistema operaciona FMS. O siste ema operacional lia o carto *JOB e usava a informao nele contida para finalid c a dades de contab bilidade. (O a asterisco era usado para identificar ca artes de co ontrole, para que eles no fossem o confun ndidos com c cartes de programa e d e dados.) De epois o siste ema lia o car rto *FORTR RAN, que era um instruo para carrega o compilad FORTRA com base em uma fita magntica. Ento o ma ar dor AN e a progra ama era lido para a mq quina e com mpilava pelo programa FORTRAN. Q Quando o co ompilador termina ava, devolvia o controle ao sistema operacional, que ento lia o carto * a , *DATA. Isso era uma instru para exe o ecutar o prog grama traduz zido usando como dados os cartes que vinham aps o s m carto *DATA.
10
Embor o sistema operaciona fosse proje ra a al etado para automatizar o trabalho d operador (da seu a do nome), foi tambm o primeiro passo para o desenvolv m vimento de uma nova m quina real. O carto TRAN podia ser consider rado como um instruo virtual 'com ma o mpilar program *FORT ma'. De mo odo semelha ante, o cart to *DATA podia ser considerado uma instru c o virtual 'executar progra ama'. Um nv que contiv vel vesse apena duas instru as ues no era l um gra nde nvel, mas j era m um com meo. Nos an subsequ nos uentes, os sistemas oper racionais tom maram-se ca vez mais sofisticados. Novas ada s instru es, facilida ades e carac ctersticas fo oram adicion nadas ao nvel ISA at que ele comeou a parece um novo n er nvel. Algumas das instr ues desse novo nvel eram idntic s instru e ues do cas nvel ISA, mas o outras, em particular a instrue de entrada/sada, e as es eram comple etamente ntes. As no ovas instrues comea aram a fica conhecida como m ar as macros de sistema diferen operac cional ou ch hamadas do supervisor Agora o ter o r. rmo usual chamada do sistema. o Sistem operacio mas onais tambm se desenvo m olveram de outras maneiras. Os prim o meiros liam maos de m cartes e imprimiam a sada na impress s a sora de linh Essa organizao e ha. era conhecid como da sistem batch. N ma Normalmente havia uma espera de vrias horas entre o horrio em que um e a e progra ama entrava na mquin e o hor na rio em que os resultad e dos ficavam prontos. Era difcil m E desenv volver softwa nessas circunstncia are c as. No inc da dcad de 1960, pesquisado cio da , ores do Dart tmouth Colle ege, do MIT e de outros lugares s desenv volveram sis stemas oper racionais qu permitiam a vrios programador ue m p res se comu unicarem diretam mente com o computa ador. Esses sistemas tinham term s minais remo otos conecta ados ao compu utador centra por linhas telefnicas. O computa al s ador era com mpartilhado por muitos usurios. u . Um pro ogramador p podia digitar um program e obter os resultados impressos q ma s quase imedia atamente em seu escritrio, na garagem de sua casa ou onde qu que o term u a uer minal estives localizad Esses sse do. sistem eram den mas nominados sistemas de tempo com mpartilhado (timesharing ( g). em nais est na partes qu interpreta as ue rues e Nosso interesse e sistemas operacion am as instr ersticas pre esentes no nvel 3 e qu no est presentes no nvel IS n ue o s SA, em vez de nos z caracte aspect de compa tos artilhamento de tempo. E Embora no vamos desta acar o fato, v voc deve ter sempre em mente que s sistemas ope eracionais f fazem mais do que ap penas interp pretar caractersticas nadas ao nv ISA. vel adicion
1. Instrues para multiplicao e div iso de inteiros; 2. Instrues aritmticas para ponto f flutuante; 3. Instrues para chama e sair de p ar procedimento os; 4. Instrues para acelera laos (loop ar oping); 5. Instrues para manipu cadeias de caractere ular es. Alm d mais, ass que os projetistas de mquinas perceberam como era fc acrescent novas do sim e p c cil tar instru es, comea aram a procu outras c urar caracterstica para adicio as onar a seus micro progra amas. Eis alg guns exemplo desses ac os crscimos: 1. Caractersticas para acelerar endeream mento indireto); clculos que envolve essem veto ores (index xao e
2. Caractersticas para permitir a mo ovimentao de program na mem mas ria aps o incio da execuo (facilidades de relocao d o). 3. Sistemas d interrup que avisa de o avam o comp putador to lo uma ope ogo erao de en ntrada ou sada estiv vesse concluda. 4. Capacidad para inter de rromper um programa e iniciar outr com um pequeno n ro mero de instrues (comutao de processo o o). 5. Instrues especiais pa processa arquivos de udio, ima ara ar d agem e multi mdia. Inmeras outras ca aractersticas e facilidad es tambm foram acresc centadas ao longo dos anos, em o a geral p para acelerar alguma ativ r vidade partic cular.
Alguns mar rcos no dese envolvimento do computador digit moderno tal o. Tabela 1. A
13
podia o oferecer. Ain assim, suas ideias e nda estavam muit frente de sua poca e at hoje a maioria to e a dos co omputadores modernos tem uma estr s rutura muito semelhante da mquin analtica, portanto na mais do que justo dizer que Babbage foi o av do com s o B mputador dig gital moderno o. O segu uinte desenv volvimento im mportante oc correu no fina da dcada de 1930, q al a quando um estudante e de eng genharia ale emo chamado Konrad Zuse cons struiu uma srie de m s quinas calc culadoras autom ticas usand rels elet do tromagntico Ele no conseguiu financiamento do governo aps o os. c o o incio d guerra po da orque os buro ocratas gove ernamentais esperavam ganhar a gue erra to rapi idamente que a nova mquin s estaria pronta ap o trmino do conflito. Zuse no co na a s Z onhecia o tra abalho de Babba e suas m age mquinas for ram destrud pelo bom das mbardeio alia de Berlim em 1944, portanto ado m seu tra abalho no t teve nenhum influncia sobre as mquinas sub ma bsequentes. Mesmo assim ele foi um dos pioneiros d rea. s da Um po ouco mais ta arde, nos Estados Unido duas pessoas tambm projetaram calculador os, m m ras, John Atanas soff no Iowa State Colle a ege e Geor rge Stibbitz no Bell Lab A mquin de Atana bs. na asoff era surpreendentemen nte avanad para sua poca. Usava aritm da a tica binria e a mem a mria era osta de capa acitores reca arregados pe eriodicament para impe fuga de carga, um processo te edir compo que ele denomino 'sacudir a memria' . Os chips modernos de memri a dinmica (DRAM) ou s nam desse m mesmo mod Infelizme do. ente, a mqu uina nunca se tomou rea s almente ope eracional. funcion De cer modo, Ata rto anasoff era como Babba c age: um visio onrio que af final foi derro otado pela te ecnologia de har rdware inade equada existe ente em seu tempo. O com mputador de Stibbitz, em mbora mais p primitivo do que o de At tanasoff, fun ncionava de verdade. Stibbitz fez uma grande dem z monstrao pblica de sua mquin durante u na ncia no uma confer Dartmo outh College em 1940. Uma das pessoas presentes era John Mauc e a chley, desco onhecido profess de fsica da Univers sor a sidade da Pe ennsylvania. Mais tarde o mundo do computado ouviria o or mais a respeito do professor Mauchley. E o Enquanto Zu use, Stibbitz e Atanasoff estavam pr f rojetando calcula adoras autom mticas, um jovem cham mado Howar Aiken estava remoen rd ndo tediosos clculos numr ricos mo como parte de sua pes quisa de do outorado em Harvard. De epois de con ncludo o doutor rado, Aiken r reconheceu a importncia de fazer c a lculos mquina. Foi biblioteca, descobriu d o traba alho de Babb bage e decid construir com rels o computador de uso ger que Babb diu ral bage no tinha c conseguido c construir com rodas denta m adas. A prim meira mquina de Aiken, a Mark I, foi concluda em Harvard em 1944. Tinh 72 palavr de 23 a m ha ras algaris smos decima cada e um tempo de i nstruo de 6 segundos. A entrada e a sada usa ais m avam fita de pap perfurada Quando Aiken conclui o sucessor dessa mqu pel a. A uina, a Mark TI, os comp putadores de rel j estavam obsoletos. A era eletr nica tinha co s m omeado.
15
interce eptada. Para decodifica essas me a ar ensagens, o governo britnico mo b ontou um laboratrio ultrass secreto que construiu um comput tador eletrn nico denom minado COL LOSSUS. O famoso matem mtico britnico Alan Turing ajudou a projetar ess mquina. O COLOSSU funcionav desde sa US va 1943, mas, uma v que o go vez overno britn nico guardou praticamen todos os aspectos do projeto u nte como s segredo milit durante 30 anos, a lin COLOSS tar 3 nha SUS foi basicamente um beco sem sada. S m s vale a pena cit-lo por ter sido o primeiro co omputador digital eletrn d nico do mund . do Alm d destruir a mquinas de Zuse e e de as estimular a construo do COLOSSU a guerra tambm c o US, afetou a computa nos Esta o ados Unidos O exrcito precisava de tabelas de alcance pa mirar s. d e ara sua ar rtilharia pesa ada e produzia essas ta abelas contra atando cente enas de mu lheres para fazer os clculo necessri com a utilizao de calculadoras de mo - as mulheres eram cons os ios s s sideradas mais c caprichosas que os ho omens. Aind a assim o processo era demorad o e frequen ntemente surgiam erros. m John M Mauchley, qu conhecia o trabalho de Atanasoff, bem como o de Stibbitz, sabia que o exrcito ue e , estava interessado em calculad a o doras mecn nicas. Como muitos cient tistas da com mputao qu vieram ue depois dele, Mau s uchley mont tou uma pr roposta solicitando ao exrcito fin nanciamento para a constru uo de um computador eletrnico. A proposta foi aceita em 1943, e M r m Mauchley e seu aluno s de ps s-graduao J. Presper Eckert, pa o, assaram a construir um computado eletrnico ao qual c or deram o nome d ENIAC (Electronic Numerical Integrator And Comp de pute - integ grador e compu utador num rico eletrnico). O ENIAC consisti em 18 mil vlvulas e 1.500 rel ia m ls, pesava 30 tonelad das e consu umia 140 watts de ener rgia. Em term de arqu mos uitetura, a mquina tinha 20 registrad a dores, cada um com quilow idade para c conter um nmero deciimal de 10 algarismos. Um registra n ador decima uma al capaci quena que pode conter d desde um n mero at um outro nme mximo de casas m ero memria muito peq ais, ro, stra u t ou decima mais ou menos como o odmetr que regis quanto um carro rodo em seu tempo de vida t til. O ENIA era prog AC gramado com o ajuste e at 6 mil int m terruptores multiposio e com a con m nexo de uma im mensa quant tidade de soq quetes com u uma verdade floresta de cabos de jumpers. eira d A cons struo da m mquina s foi concluda em 1946, quando era muito tarde para ser de alguma f a e utilidad em rela de o a seu propsito oriiginal. Todav p via, uma ve que a gu ez uerra tinha acabado, a Mauch hley e Ecker receberam permisso para organizar um curs de vero para descrever seu rt m so o trabalh para seus colegas cientistas. Aq ho c quele curso de vero fo o incio d uma exploso de oi de interes na constr sse ruo de gra andes compu utadores digitais. useram a construir Aps aquele cur rso de vero histrico outros pesquisadore se dispu o, p es utadores elet trnicos. O primeiro a e entrar em op perao foi o EDSAC (1 1949), const trudo na compu Univer rsidade de C Cambridge por Maurice Wilkes. Ent outros, figuravam o JOHNIAC, da Rand p tre Corpor ration; o ILL LIAC, da Un niversidade d Illinois; o MANlAC, do Los Alam de mos Laborat tory; e o WEIZA do Weizm AC, mann Institut em Israel. te Eckert e Mauchley logo come t y aram a trab balhar em um sucessor, o EDVAC ( (Electronic Discrete ble tic e). o mente compro rometido qua ando eles Variab Automat Compute Contudo, esse projeto ficou fatalm deixara a Unive am ersidade da Pensilvnia para funda uma empresa nova, a Eckert-M a ar , Mauchley Compu uter Corpora ation, na Fila adlfia. (O S Silicon Valley ainda no tinha sido in y nventado.) Aps uma A srie d fuses, es empresa se tomou a moderna Un de ssa nisys Corporation. Como um aparte legal, Eckert e Mauchle solicitara uma pate ey am ente alegand que eles haviam do s ado o computador digita Em retros al. specto, poss suir essa pat tente no se eria nada ma Aps au. inventa anos d litgio, o tribunal decidiu que a patente de Eckert-Mau de e uchley era iinvlida e que John q Atanas tinha inv soff ventado o com mputador dig gital, embora nunca o tive a esse patente eado.
16
Enqua anto Eckert e Mauchley trabalhavam no EDVAC, uma das pessoas e nvolvidas no projeto m s o ENIAC John von N C, Neumann, fo para o Insti oi titute of Adva anced Studies de Princeto para cons on struir sua prpria verso do EDVAC, a mquina IA Von Neu a AS. umann era um gnio, d mesma estirpe de u da Leonardo Da Vinc Falava muitos idioma era espe ci. as, ecialista em cincias fsiicas e matemtica e guarda na mem ava mria tudo qu j ouvira, vira ou lera Conseguia citar sem c ue a. a consulta, palavra por palavra o texto de livros qu tinha lid havia an a, ue do nos. Na po oca em que se interes e ssou por compu utadores, ele j era o mais eminente m matemtico do mundo. Uma d coisas q logo ficou bvia para ele foi que programar computador das que a e res com qua antidades imensa de interru as uptores e ca abos era um a tarefa lent tediosa e mecnica. Ele percebe que o ta, eu progra ama podia se representa em forma digital na memria do computador, junto com os dados. er ado a m c , o Tamb viu que a desajeita m ada aritmtic decimal serial usada pelo ENIA ca s a AC, com cad dgito da representado por 10 vlvulas (1 acesa e 9 apagada as), podia se substitud usando aritmtica er da a a percebido ano antes. os binria paralela, algo que Atanasoff tinha p O proj jeto bsico, o primeiro que ele de escreveu, ag gora conh hecido como mquina de Von o Neuma ann. Ela foi usada no EDSAC, o p rimeiro computador de programa ar E rmazenado, e agora, mais d meio scu depois, ainda a bas de quase todos os com de ulo se mputadores digitais. Ess projeto se e a m mquina IAS, construda em colabo rao com Herman Goldstine, teve uma influ , e ncia to grande que vale a pena descre e ev-Ia breve emente. Emb bora o nome de Von Neu umann esteja sempre a ligado a esse proje Goldstine e outros ta eto, ambm lhe deram substa d anciais contr ribuies. Um esboo m ado a da arquitetura da na Figura 4.
Figu 4. Mquin Original de Von Neu ura na umann. A mq quina de Vo Neumann tinha cinc partes b on n co sicas: a memria, a u m unidade de lgica e aritmt tica, a unida ade de contr role e o equ uipamento de entrada e sada. A m memria cons sistia em 4.096 palavras, um palavra contendo 40 bits, cada bit um O ou um I. Cada palavra con ma c b ntinha ou nstrues de 20 bits ou um inteiro de 40 bits com sinal. As instrues tinh e u e m ham 8 bits dedicados duas in a iden ntificar o tipo da instru e 12 bits para espec o o cificar uma das 4.096 pa d m alavras de memria. s, e ca dade de con ntrole forma avam o 'cr rebro' do Juntas a unidade de lgica e aritmtic e a unid compu utador. Em c computadore modernos elas so combinadas em um nic chip den es s c co nominado CPU (C Central Proc cessing Uni - unidade central de processame it p ento). Dentro da unidad de lgica e aritmtiica havia um registrador interno e o de a u especial de 40 bits denom minado acumulador. Uma instruo tp a pica adiciona uma pala ava avra de mem mria ao acumulador ou arm mazenava o contedo do acumulado na memr A mquina no tinha aritmtica de ponto o or ria. a flutuan nte porque Von Neum mann achava que qualquer matem a mtico com mpetente con nseguiria acomp panhar o pon decimal (na verdade o ponto binrio) de cabe nto a.
17
Pratica amente ao m mesmo tempo em que Von Neum mann estava construindo sua mqu o uina IAS, pesqui isadores do MIT tambm estavam co m onstruindo um computador. Diferente da IAS, do ENIAC e m e de out tras mquina desse tipo cujas pala as o, avras tinham longos com m mprimentos e eram dest tinadas a clculo numricos pesados, a mquina d o MIT, a Wh os s hirlwind I, tin uma pala nha avra de 16 bits e era b projeta ada para co ontrole em te empo real. Esse projeto levou in o nveno da memria de ncleo magn tico por Ja Forrester e, depois, em seu devido tempo, ao prime ay r d eiro minicom mputador comerc cial. Enqua anto tudo isso estava aco o ontecendo, a IBM era um pequena empresa ded ma e dicada ao ne egcio de produz perfuradoras de carte e mquin mecnica de classificao de ca zir es nas as artes. Embo tenha ora contrib budo para o financiamen de Aiken a IBM no estava muit interessad em comp nto n, o to da putadores at que produziu o 701 em 195 muito tem aps a empresa de Eckert e Ma 53, mpo e auchley ter alcanado to ro ercado come ercial com seu computador UNIVAC O 701 tinha 2.048 C. o post de nmer um no me palavra de 36 bit com duas instrues por palavra Foi o prim as ts, s s a. meiro de uma srie de mquinas a m cientficas que vier ram a domin o setor d nar dentro de um dcada. Trs anos ma tarde apareceu o ma T ais ue, o, 96 a os, es 704 qu de incio tinha 4.09 palavras de memria de ncleo instrue de 36 bits e uma inova o: hardwar de ponto flutuante. Em 1958, a IB iniciou a produo de sua ltima mquina re f m BM e de vlv vulas, a 709, que era bas , sicamente um 704 remod m delado.
18
Fig gura 5. Barr ramento omnibus do PD DP-8. Alguns anos mais tarde a DEC lanou o PD s C DP-8, que er uma mqu ra uina de 12 biits, porm muito mais barata do que o P PDP-1 (16 mil dlares). O PDP-8 tinh uma impo ha ortante inova ao: um barramento a mento um conjunto de f c fios paralelos usados s nico, o omnibus, como mostra a Figura 5 . Um barram componentes de um com s mputador. Es arquitetura foi uma ru ssa uptura impor rtante em para conectar os c o ura ina trada na memria, e, des ento, fo adotada por quase sde oi p relao arquitetu da mqui IAS, cent todos o computad os dores de peq queno porte. A DEC alca anou a marca de 50 m PDP-8 ven mil ndidos, o . que a c consolidou c como a lder no negcio d minicomp de putadores. Enqua anto isso, a reao da IB ao trans BM sistor foi con nstruir uma verso trans v sistorizada do 709, o 7090, como j mencionamos, e, mais ta arde, o 709 O 7094 tinha um te 94. empo de cic de 2 clo ssegundos e 32.536 palavras de 36 b de mem de ncleos. O 7090 e o 7094 marcaram o bits ria micros final d das mquina do tipo ENIAC, mas dominaram a computa as E s m ao cientfic durante anos na ca dcada de 1960. a Ao me esmo tempo que se tomava uma gra ande fora na computa cientfica com o 7094, a IBM n o a estava ganhando muito dinhei com a ve a iro enda de uma pequena mquina dirig a m gida para em mpresas, denom minada 1401. Esta mqui podia ler e escrever fitas magnt . ina r ticas, ler e p perfurar cart es, alm de imp primir sada d dados quase to rapid de damente qua anto o 7094, e por uma f frao do pre dele. eo Era ter rrvel para co omputao cientfica, ma perfeita pa manter re c as ara egistros com merciais. O 1401 era fora do comum porque no tin ha nenhum registrador, nem mesmo um comprim o o mento de a memria tinha 4 mil bytes de 8 bits, embora mode s e elos posterio ores suportas ssem at palavra fixo. Sua m 16 mil bytes, o que era assom mbroso na p poca. Cada byte continha um caract tere de 6 bit um bit ts, istrativo e um bit para ind m dicar o final d palavra. Uma instru MOVE, po exemplo, tinha um U o or admini da endere eo-fonte e um endere o-destino, e comeava a transferir bytes da f r fonte ao destino at encont trar um byte de final com valor I. m Em 19 964, uma minscula em mpresa desco onhecida, a Control Data Corporatiion (CDC), lanou o 6600, uma mquina que era aproximada amente uma ordem de grandeza m ais rpida do que a g d osa a n oi rimeira vista para os a podero 7094 e qualquer outra mquina existente na poca. Fo amor pr calculis stas, e o CD partiu a caminho do s DC c sucesso. O segredo de sua velocidad e a razo por que s s de o era to mais rpido do que o 7094 era qu e, dentro da CPU, havia uma mqu ina com alto grau de o 7 a a o paralelismo. Essa mquina tin nha diversas unidades funcionais pa efetuar a s f ara adies, out tras para es para diviso, e todas ela podiam fu as uncionar em paralelo. efetuar multiplica e ainda mais uma p ra ssa mquina exigisse cuidadosa pr a rogramao, com um pouco de p Embor extrair o melhor des trabalh era possv executar dez instru ao mesm tempo. ho vel es mo Como se isso no fosse o ba o astante, a 6 6600 tinha uma quantida ade de pequ uenos comp putadores os d-Ia, uma espcie de Branca de Neve e as 'Sete Pes e e a ssoas Vertic calmente interno para ajud Prejudicadas'. Isso significava que a CPU podia gastar todo o se tempo pro o U eu ocessando nmeros, n ndo todos os detalhes de gerencia mento de jo s d obs e entrad da/sada pa ra os comp putadores deixan menor res. Em retr rospecto, a 6600 estav dcadas frente de sua poca Muitas da ideias va a. as fundam mentais enco ontradas em computado m ores modernos podem ser rastreada diretamen at a s as nte 6600.
19
O proj jetista da 6 6600, Seymo Cray, fo uma figur legendria, da mesm estatura de Von our oi ra ma Neuma ann. Ele de evotou sua vida inteira constru a o de mq quinas cada vez mais rpidas, a denom minadas ent de supe o ercomputado ores, incluin ndo a 6600, a 7600 e a Cray-1. Tambm invento o famoso algoritmo para comprar carros: v concessionria mais p ou o p r prxima de sua casa, s aponte o carro mais prximo da porta e dig "Vou leva aquele". Esse algoritm gasta o mnimo de e ga: ar E mo m tempo em coisas sem import ncia - como comprar ca o arros - para deixar o m ximo de tem livre mpo azer coisas im mportantes - como projet supercom tar mputadores. para fa Havia muitos outro computadores nessa os poca, mas um se desta por uma razo bem diferente aca a e que vale a pena mencionar: o Burrough B5000. Os projetistas de mquina como o PDP-I , o a : hs s as P 7094 e o 6600 es stavam totalm mente preoc cupados com o hardwar seja para que ficassem mais m re, a baratos (DEC), se para que fosse maiis rpidos (IBM e CDC O softwa era prati eja e C). are icamente ante. Os pr rojetistas do B5000 ado otaram uma linha de a o diferente Construr e. ram uma irreleva mquin com a int na teno espec cfica de pro gram-la em linguagem Algol 60, um precursor da C e m ma ra da Jav e incluram muitas caractersticas no hardware para facilita a tarefa do compilador. Nascia va, e ar o a ideia de que o software tambm era importante. Infelizment ela foi e a . te, esquecida quase de q imedia ato.
Tabela 2. Oferta inic da linha de produto IBM 360. 2 cial os Quand chegou a hora de sub do bstituir essas duas sries, a IBM deu um passo radical. Lanou uma s u linha d um nic produto, o System/3 de co 360, basead em circu do uitos integrad dos, projeta ado para compu utao cientf fica e tamb comercia O System/360 continh muitas ino m al. ha ovaes, das quais a s mais im mportante er ser uma famlia de um meia dz de mquinas com a m ra f ma zia mesma linguagem de montag gem e taman e capacidade cresce nho entes.
20
Uma e empresa pod deria substitu seu 1401 por um 360 Model 30 e seu 7094 po um 360 Model 75. uir or M O Mod 75 era m del maior e mais rpido (e ma caro), ma o softwar escrito pa ra um deles poderia, ais as re em princpio, ser e executado em outro. Na prtica, soft m tware escrito para um m o modelo peque seria eno tado em um modelo gra ande sem pr roblemas, po orm, quando transferido para uma mquina o execut menor o programa poderia n caber na memria. Ainda assim era uma imp r, a o A e portante melhoria em relao situa do 7094 e do 14 o o 4 401. A idi de faml ia lias de m quinas foi adotada instant taneamente e, em pouco anos, a m aioria dos fa os abricantes de computado e ores tinha um famlia ma de m quinas com muns que abrangiam um ampla faixa de pre ma f eos e dese empenhos. Algumas caracte ersticas da primeira far rrulia 360 s mostradas na Tabela 1.2. Mais ta o s arde foram lanados outros modelos. novao da 360 era a m multiprogram mao, com vrios progra v amas na me emria ao Outra importante in o m r da para con ncluir sua mesmo tempo, de modo que, enquanto um estava esperando por entrada/sa tarefa, um outro po odia executar, o que resu ultava em utilizao mais alta da CPU s U. A 360 tambm foi a primeira mquina que p m utadores. Os modelos podia emular (simular) outros compu res emular a 140 I, e os maiiores podiam emular a 7094, de man 0 m 7 s menor podiam e neira que os clientes podiam continuar a executar seus antiigos programas binrio sem mo m os odificao du urante a conver rso para a 3 360. Alguns modelos exe ecutavam pro ogramas 140 com uma rapidez to maior do 01 que a prpria 1401 que muitos clientes nun converteram seus pro 1 nca ogramas. A emulao era fc na 360 po cil orque todos o modelos iniciais e gra os i ande parte do que vieram depois os m micro-progra amados. Bastava que a I BM escreves trs micro-programa um para o conjunto sse a: eram m nativo de instrue da 360, um para o co es onjunto de instrues da 1401 e outro para o con ro njunto de es da 7094. Essa flex xibilidade foi uma das principais raz zes para a introduo da micro instru progra amao. A 360 resolveu o d dilema ' bin paralela'' versus 'dec ria cimal serial' com uma so c oluo conciliatria: a na s tica binria, mas sua me emria era orientada o mquin tinha 16 registradores de 32 bits para aritm para b bytes, como a da 1401. Tambm tinh instrue seriais no estilo da 14 T ha es 401 para mo ovimentar registro de taman os nhos variveis na memriia. Uma o outra caract terstica imp portante da 360 era (p para aquela poca) um imenso es spao de endere eamento de 224 (16.777 e 7.216) bytes Como naqu s. uela poca a memria cu ustava vrios dlares s por by esse tant de memr parecia u yte, to ria uma infinidad Infelizmente, a srie 3 de. 360 foi segu uida mais pelas sries 370, 4300, 3080 e 309 todas us 90, sando a mes sma arquitet tura. Em me eados da tarde p dcada de 1980, o limite de memria se t a m tomou um pr roblema real e a IBM tev de aband l ve donar em parte a compatibili idade, quand mudou p do para endere de 32 bit necessriios para end os ts derear a nova m memria de 232 bytes. Com o benefcio d uma perc de cepo tardia podemos argumentar que, uma v a, r vez que de qualquer modo t tinham palav vras e registros de 32 bit provavelm ts, mente tamb deveriam ter endere de 32 m m os bits, m na poca ningum podia imagin uma mq mas a p nar quina com 16 milhes de bytes de memria. e m Culpar a IBM por essa falta de viso como culp o fabrica r r par ante de com mputadores pessoais moder rnos por ter s somente end dereos de 3 bits. Dentr de alguns anos os com 32 ro mputadores pessoais talvez precisaro d muito mais do que 4 b de bilhes de by ytes de memria, quando ento os en o ndereos napelavelme ente pequeno os. de 32 bits ficaro in ndo computadore tambm a es avanou um grande pass na direo da terceira gerao so o a O mun dos minic quando a DEC lan o nou a srie PDP-11, um sucessor de 16 bits do PDP-8. Sob muitos asp m d o b pectos, a srie P PDP-11 era como um irmo meno da srie 360, exatam or mente como o PDP-11 era um o irmoz zinho da 709 Ambos, 360 e PDP-1 tinham re 94. 3 11, egistradores orientados p as para palavra e uma memria orientada para bytes e ambos ocupavam uma faixa que abrangiia uma considervel a s,
21
relao preo/dese o empenho. O PDP-11 tev enorme su ve ucesso, em especial em universidade e deu e es, continu uidade lide erana da DE sobre os outros fabric EC cantes de minicomputado ores.
PC, m muitas vezes por muito menos do qu a IBM es m ue stava cobran ndo. Assim c comeava to oda uma indstr ria. Embor outras em ra mpresas fabr ricassem com mputadores pessoais us sando CPUs no fornecidas pela Intel, e entre elas Co ommodore, Apple e Ata ri, o impulso adquirido pela indstria do IBM PC era to A o p a C grande que os o e outros foram esmagad m dos por ess rolo com se mpressor. A Apenas uns poucos sobrev viveram em n nichos de me ercado. ple. O Macintosh foi Um do que sobre os eviveram, se bem que por um triz, foi o Macin e ntosh da App lanad em 1984 c do como o suce essor do ma alfadado Lisa da Apple, o primeiro co a omputador que vinha q com uma GUI (Gr raphical User Interface - Interface Grfica de Usurio), semelhante agora e e e ar Windows. O Lisa fracass sou porque era muito caro, mas o Macintosh de menor d popula interface W preo lanado um ano depois foi um enor rme sucesso e inspirou amor e paix entre seu muitos o a o us adores. admira Esse p primeiro mercado do co omputador p essoal tamb bm levou ao desejo at ento inau udito por compu utadores port tteis. Naque tempo, u computad porttil fa ele um dor azia tanto sen ntido quanto hoje faz o um ref frigerador po orttil. O prim meiro verdade computa eiro ador pessoal porttil foi o Osborne-l que, com q 11 quilos, era mai um compu is utador 'arras stvel' do qu um computador port Ainda as ue til. ssim, era ia omputador po orttil era po ossvel. O Os sborne-l foi u modesto sucesso um prova de que a id de um co cial, mas um ano mais tarde a Co m ompaq lano seu prime ou eiro clone p porttil do IB PC e BM comerc rapidamente se estabeleceu co omo a lder n mercado de computad no d dores portte eis. A vers so inicial do IBM PC vinha equipa o v ada com o sistema oper s racional MS-DOS fornec cido pela ento minscula M Microsoft Corp poration. Ass como a Intel consegu produzir CPUs cada vez mais sim uia es, ft am olver um suc cessor do M MS-DOS den nominado potente a IBM e a Microsof conseguira desenvo OS/2, que apresentava uma interface gr fica de usu urio semelh hante do A Apple Macin ntosh. Ao o Microsoft tam mbm desen nvolvia seu prprio sistem operacio p ma onal, o Windo ows, que mesmo tempo, a M rodava sobre o MS a S-DOS caso o OS/2 no pegasse. Para encurtar a histria, o OS/2 no pegou, a o P r IBM e a Microsoft t tiveram uma ruptura nota a avelmente pblica e a Microsoft foi a adiante e tran nsformou dows em um enorme sucesso. O mo como a minscula In e a mais insignifican ainda m odo ntel s nte o Wind Micros soft consegu uiram destro onar a IBM uma das maiores, mais ricas e mais po M, s oderosas corpor raes da histria mundial, uma p parbola sem dvida con m ntada com g grandes deta alhes nas escola de adminis as strao de empresas de todo o mund do. Com o sucesso do 8088 em mos, a Inte continuou fazendo ve el u erses maior res e melhores dele. Particu ularmente di igno de nota era o 386 lanado em 1985, qu foi, em e a 6, e ue essncia, o primeiro Pentium. Embora os Pentium modernos s sejam muito mais rpido do que o 386, em te os ermos de etura o mode erno Pentium basicame m ente um 386 melhorado. arquite Em me eados da dc cada de 1980, um novo d desenvolvim mento denominado RISC comeou a se impor, s substit tuindo complicadas arquiteturas (CIS por outras bem mais simples, e SC) embora mais rpidas. Na d cada de 19 990 comea aram a apa arecer CPUs superescalares. Essas mquinas podiam s s s execut vrias ins tar strues ao mesmo temp muitas ve m po, ezes em ordem diferente da que apa e arecia no progra ama. At 19 992, comput tadores pessoais eram de 8, 16 ou 32 bits. Ento a DE apareceu com o o EC u revoluc cionrio Alpha de 64 bits, uma ve b erdadeira m quina RISC de 64 bit cujo dese C ts empenho ultrapa assava por g grande marg gem o de tod dos os outro computad os dores pesso ais. Seu suc cesso foi modes mas qua uma dcada se pass antes qu as mquin de 64 bit comeass sto, ase sou ue nas ts sem a ter grande sucesso e, na maior pa das veze como ser e arte es, rvidores de to de linha. opo .
23
24
1) Como de enominada uma sequnc de instru u cia es que descreve como realizar certa tarefa o em um com mputador? 2) Quais so as instrue bsicas ut es tilizadas pelo programa? o erena entre interpreta e traduo o o? 3) Qual a dife entido hardw ware e softwa so equiv are valentes? 4) Em que se ssembler e o que ele faz? ? 5) O que as 6) O que so linguagens de alto nvel ? Cite exemplos. etrodomstic ou apare cos elhos candid datos a func ionar com uma CPU 7) D o nome de trs ele embutida. com suas pal lavras as eta apas deveria seguir para executar um programa antes da a m 8) Explique c existncia do Sistema Operacional . es etura dos computadores. Explique co suas pal om lavras os 9) Quais so as gerae na arquite ncia. que diferen 0) sucessora da mquina d diferencial? Quais eram seus compon Q s nentes? 10 Qual foi a s 11) Quem est tava interes ssado em c construir o ENIAC? Cite algumas caracters s sticas do computado eletrnico. or 12 Quais so as cinco par 2) rtes bsicas da mquina original de Von Neuman V nn.
25
Cada u dos siste um emas de com mputao ser visto a seg r guir: Os microc computadores surgiram por volta de 1974, atravs do d m a desenvolvime ento dos microproce essadores (to odos os com mponentes de uma CPU em uma nic pastilha) e o nome e e ca foi dado j justamente devido ao tamanho e capacida ade de pro ocessamento, ambos pequenos em relao aos sistema j existent no merca as tes ado. Microco omputadores tambm m e o so, a se referiam ao tipo de usurio, no caso uma nica pessoa, e, por iss eram e ainda so conhecidos como computadores p essoais (per s rsonal compu uters PC). Atualmente, o nome microcomp putador se re elaciona maiis exclusivam mente com o tamanho, c cada vez me enor, dos componen ntes internos (pastilhas, u unidades de disco, etc.) e da mquin inteira do que com na a capacid dade compu utacional ou a quantid u dade de usurios que podem utiliz-los e u simultanea amente. Iss so porque os micro ocomputadores vm se desenvolvendo tecnologica amente de forma vertigiinosa nos ltimos anos, tornando-se as mquin mais f nas e utilizadas na rea com mercial. Se antes um autntico microcomputad a dor, alm de s ser ez bm tinha um baixa ma usado por um usurio de cada ve e possuir tamanho pequeno, tamb zenamento, atualmente isto no mais a capacidade de processamento e de armaz m sto sendo fa abricadas co incrvel ve om elocidade e tm uma realidade, pois essas mquinas es apacidade de armazena d amento prim mrio. H no mercado v o vrias categ gorias de enorme ca microcomp putadores, cuja classific c cao est muito relacionada ao tamanho fsico do f equipamen e seu gra de portab nto au bilidade. Os micros podem ser do tipo de mesa (D m m o Desktop), em geral c constitudo de trs unid d dades fisicam mente separadas, posiciionadas em cima de uma mesa qualquer: a unidade d e processam a mento (CPU, HD, mem ria principal, etc.), a unidade de vdeo e o teclado. H pouco temp com o ap e po, perfeioame ento da tecno ologia de microeletr nica, come earam a s er produzidos microcomputadores ainda me s enores e portteis, q podem ser energizad por corrente eltrica ou por uma bateria emb que s dos a butida no equipamen So chamados de diiversos nomes, depende nto. endo do seu t tamanho: os maiores s foram deno ominados laptops, em se eguida apare eceram os no otebooks, de tamanho menor. H e m tambm o sub-noteb os books, aind a menores, e os palm mtops, devid ao seu pequeno do tamanho. Uma esta o de trabalho esse encialmente um microcom mputador pr rojetado para realizar a tarefas pesadas, em geral na re cientfica ou industria Essas tar g ea al. refas requer rem mais e samento, ma aior capacid dade de mem mria e disp positivo de vdeo de v velocidade de process mais alta q qualidade do que as car o ractersticas usuais do microcomput m tador. Espec cialmente no que se refere ve e elocidade do processado e capacid o or dade de mem mria, a pot tncia de uma esta de trabalho semelh o hante de um minicomputador. Ent u tretanto, as estaes de trabalho so dirigida para uso de um usu o as rio, ao contrrio dos min nicomputador res.
26
Minicomp putadores, por sua vez, so mquinas projetada para atend simultan p as der neamente a de man nda de exec cuo de v rios usurio embora a quantidad de usurios e de os, de programas no seja to grande q s quanto se po ode encontr em comp rar putadores de grande e porte. A ca apacidade de suportar m ltiplos usu e rios e progra amas requer alm de ve r, elocidade de process samento e capacidade/v velocidade de memria, uma extensa potencialidade para e u a manipular diversos dispositivos de entrada e sa ada. J os co omputadore de gran es nde porte so sistemas projetad dos para manusear m considerv volume de dados e executar simultaneamente progra vel s amas de um grande m quantidade de usurios Essas m quinas pode interagir com centena de usurio em um e s. em c as os dado instante, como, por exemplo, um sistema de reserva de passagen areas. p d ns Finalmente um supercomputado projetad primariam e, or do mente para atender a um nico u propsito: realizar gra andes quant tidades de clculos ma atemticos o mais rapidamente Essas mquinas podem realizar apli icaes que demandam mais o proc cessador possvel. E que os de emais compo onentes. Um mquina dessa ca ma apaz de reallizar dois bilhes de operaes matemtica por segu s as s lulas de undo e manipular mais de um b ilho de c memria.
27
O volu ume de dado a ser processado em uma mem principal ou armazen os m ria nado numa memria secund dria medido em rela quantid o dade de byte manipulados. A Erro! Fonte de re es eferncia no en ncontrada. a apresenta alg gumas unida ades de med dida utilizadas.
4.1 C Convers de Ba o ases e Ar ritmtica Computacional a 4.1.1 Sistem Binrio de Num 1 ma merao o
Um sis stema de num merao tem por finalida permitir a quantificao das coisa que nos cercam. m ade as formad por um co do onjunto de al lgarismos, um conjunto de regras estabelecendo como repres m d sentar quantid dades numricas com os algarismos e um conjun de operaes que po s nto odem ser efetuadas sobre a referidas quantidades numricas. as s Estamos acostuma ados em lida com o sis ar stema de numerao de base dez e nossa vid diria. em da az passem despercebidos a alguns detalh que so comuns a t hes todos os sist temas de Isso fa com que p numer rao, de mo odo que, caso desejamo utilizar ou os utro com base diferente de dez, certamente e
29
vamos achar profu s undamente estranho. A fiim de entend melhor as semelhan e der as, vamos examinar e um nmero escrito na base dez e fazer a s ua decompo o z osio em m ltiplos de de como aba ez, aixo:
+ 500 + 5 10 00 + 5 102 0
+ 20 +7 + 2 10 0 +71 + 2 101 + 7 10 0 0
ver, a deco omposio fo uma ope oi erao muito simples e pode ser repetida o Como podemos v ente com qua alquer outro nmero. Ob bserve que na ltima linha onde apar a a, rece a decom mposio facilme final, o algarismo que comp os os pem o nm mero pertenc cem ao conjunto D = {0 0,1,2,3,4,5,6 6,7,8,9} e esto multiplicando potncias de dez. De u o uma maneira geral, qual a lquer nmero N, escrito na base o, do te dez, representad da seguint forma: r
N ( n k .10 k )
k 0
Agora que j sabe emos a estrutura de um n nmero qual lquer no sistema decima como deve ser a al, er ura mesmo nme no sistem de nume ero ma erao de base dois (ou sistema binrio de u estrutu desse m numer rao)? Proced deremos de maneira an loga ao feito com o siste o ema decimal Como sabe l. emos trabalh muito har bem c com o sistem decimal, vamos parti r de um nm ma mero (43, po exemplo) representad nesse or do sistem e avanar por partes. Inicialmente escreve-se o nmero como uma so ma r e, e c oma de pot ncias de sto dois, is : 4 = 32 + 8 + 2 + 1 43
s o dos d os dez. Em segu uida, Todos os nmeros ainda esto representad atravs de algarismo da base d s s tes mposio com potncias de dois: mo s vamos escrever os component da decom 43 = 25 + 23 + 21 + 20 3
ve ente da deco omposio o 5 e o menor o 0. Con ntudo, alguns valores Observ que o maior compone de exp poentes est ausentes na decompo o osio. Alm disso, todos os coeficie s entes que mu ultiplicam as pot ncias de do tm valor igual a 1, q ue est implcito, enquanto que no e ois r exemplo na base dez b algaris smos variado multiplicav os vam as potn ncias de dez A fim de co z. ompletar a se eqncia de parcelas na dec composio, vamos esc crev-la de m modo que os coeficiente multiplican s es ncias do ndo as pot sistem de base de numerao sejam expllicitados. Ent tem-se: ma e o to
0 43(10) = 1 25 + 0 24 + 1 23 + 0 22 + 1 21 + 1 20
mero esqu uerda do sin de iguald nal dade, 43, est com o ndice 10 p e para indicar que a O nm representao de um valor exp presso na ba dez. Nat ase turalmente, o que est direita da ig gualdade a q que rm apenas com um asp pecto diferent te. tambm representa a mesma quantidade q o 43, por mente, podem mos escrever a repres sentao do nmero 43 na base dois, simpl o lesmente Finalm justapo ondo os coef ficientes que multiplicam as potncia de base do de modo que: e m as ois, o
30
43(10) = 1010112
ce mero direit da igualda ta ade indica que aquela uma repres q sentao no sistema o O ndic 2 no nm binrio Observe q apenas os algarismo do conjun B = {0,1} so utilizad na repres o. que o os nto dos sentao de qua alquer nmer no sistema binrio. ro a Mas, qual o in nteresse de se transfo ormar um nmero decimal, com o qual estamos to umados, para um nmero binrio, c a cuja representao nos parece to estranha? Isso tudo acostu porque o computad utiliza o sistema bin de nume e dor s rio erao, o que obriga a co e onverso de qualquer nmer decimal pa binrio. ro ara A segu apresen uir, ntada uma t cnica mais simples para a convers decimal-biinrio assim como o a o contrrio, ou seja, a converso binrio-deciimal. o
14 | 2 4 0 7 | 2 1 3 1
| 2 1 | 2 1 0
Quoci iente igua a 0 Fim das d al divises ultado a sequncia obtida pelos nm meros sublin nhados seguindo o sentid da seta, ou seja: do O resu 14(10) = 1110(2). Deve-s observar que esse mecanismo po ser este se ode endido para qualquer out base b; para isso, q tra p basta alterar o div visor para a base b de esejada. Nes sse caso, as divises t a terminam as ssim que rmos um quo ociente meno do que o v or valor de b. obtiver
31
mente, esse m mecanismo pode ser est p tendido para a converso de qualque base b par a base o er ra Novam decima bastando, para isso, substituir as p al, s e p potncias de dois para potncias de b. Exemp plo: 1110(2) = ? (10) ??? d3 d2 d1 d0 1 1 1 0
N = 0 20 + 1 21 + 1 22 + 1 23 N = 0 + 2 + 4 + 8 = 14(10)
No cas da base h so hexadecimal, teremos um problema ao verificarm os elem m mos mentos que compem c Y16, ou seja, Y16 ={ u {0,1,2,3,4,5,6 6,7,8,9,10,11 1,12,13,14,15 Os eleme 5}. entos 0..9 rea almente repr resentam algaris smos, mas o mesmo no verdade para os dem o mais element tos. Para co ntornar tal problema, p foram adotados outros sm mbolos para represent a tar os valores de 1 10..15, isto , Y16 2,3,4,5,6,7,8, ,9,A,B,C,D,E E,F}. ={0,1,2 Assim, podemos te o nmero hexadecima 1A7B, que transformando para dec , er al cimal, termos s: 1A7B16 = 11 160 + 7 161 + 10 162 + 1 163 = 11 + 112 + 2560 + 4096 = 67 10 1 0 779 6
A converso d nmero da ba de os ase 8 para a base 2 rea e alizada de forma e seme elhante, no sentido inverso. Ou seja, substitui-se cada alga rismo octa pelos o u al seus 3 bits corre espondent tes. Exem mplos:
101100101 2 = ?8 11 1578 = ?2 (0 001)(011)(001)(011)2 = 13 8 313 57 15 8 = (001)(101)(111)2 = 11011112
Torna-se necess rio nesse momento a utilizao de uma tab m d bela de refe erncia. Ess tabela sa encont tra-se a segu para a utilizao dura nte os exerc uir ccios. BASE 2 0 1 10 11 100 101 110 111 1010 1011 1100 1101 1110 1111 10000 10001 10100 10101 SE BAS 8 0 1 2 3 4 5 6 7 10 0 11 1 12 2 13 3 14 4 15 5 16 6 17 7 20 0 21 1 BASE 10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 BASE 16 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11
Entr as Bases 2 e 16 re O procedim mento de converso entr nmeros binrios e he re exadecimais (base 16) idntico s converso entre as base 2 e 8, exce que, neste caso, a re es eto elao 16 = 24. ao da c do, rismo hexade ecimal repr resentado po 4 bits. Con or nverte-se um nmero m Desse mod um algar o ndo-se este n nmero em grupos de 4 bits da direita para a esquerda. g b a binrio em hexadecimal dividin Exemp plos: 101100101 2 = ?16 11 F2A16 = ?2 (001 10)(1100)(10 2 = 2CB8 011) F2A 16 = (1111)(0 A 0010)(1010)2 = 11110010 010102
33
34