• Nenhum resultado encontrado

TÓPICO 3 –TIPOS DE COMPUTADORES E SEUS COMPONENTES

10.3 PIPELINING

O computador utiliza três etapas para o pipelining: busca, decodificação e execução para cada instrução. Nos primeiros computadores essas fases eram realizadas em série para cada instrução. Os computadores atuais utilizam uma técnica chamada pipelining para melhorar o throughput (número total de instruções realizadas em cada período de tempo). Se a unidade de controle pode realizar duas ou três dessas fases simultaneamente, a próxima instrução pode começar antes que a anterior seja concluída (FOROUZAN; MOSHARRAF, 2011).

FIGURA 21 – FUNCIONAMENTO COM E SEM PIPELINING

LEITURA COMPLEMENTAR

O Apple II

No início de 1976, tínhamos vendido cerca de 150 computadores. Não apenas pela Byte Shop, mas através de outras pequenas lojas que vinham surgindo por todo o país. Steve e eu dirigíamos pela Califórnia, entrávamos em uma loja e perguntávamos se eles queriam ter o Apple I. Vendemos alguns dessa forma.

Mas isso não era nada, porque outras companhias estavam surgindo na região do Vale do Silício naquela época. Uma delas, chamada Processor Technology, supostamente vendia mais de mil unidades por mês de seu computador SOL-20, um sucesso no mundo da computação de uso doméstico. Além disso, era um computador que tinha um teclado (que era a forma como eles passaram a ser concebidos após eu mostrar o Apple I em uma reunião do Homebrew). O Apple I deu início a essa tendência.

Lee Felsenstein, o mediador dos encontros no Homebrew, projetou o SOL. E Gordon French trabalhava na Processor Technology. Então estávamos sempre a par das últimas novidades na área.

Para mim, o computador SOL, da Processor Technology, não era tão impressionante assim. Steve e eu tínhamos certeza de poder vender mais do que eles. Na época, tínhamos o protótipo do próximo computador da Apple, o Apple II, que era dez vezes melhor que o Apple I.

Com o novo computador, tínhamos certeza de que se tivéssemos o dinheiro necessário para fabricá-lo, poderíamos facilmente vender tantos computadores quanto a Processor Technology.

O Apple II, no qual comecei a trabalhar quase ao mesmo tempo em que o Apple I foi concluído, foi um fantástico aperfeiçoamento de meu projeto anterior. Eu queria um computador que processasse cores. E embora tivesse concebido o Apple I para poder adicionar cores a ele, pois tinha usado chips que trabalhavam nas frequências necessárias para gerar cores em uma televisão americana, decidi que em vez disso seria melhor projetar um novo computador.

Adicionar cores não era apenas uma questão de comprar mais chips, mas de eficiência e de elegância de projeto. Eu queria projetar as cores desde o início, não apenas acrescentá-las em um computador já existente. Dessa forma, o Apple II seria concebido desde o início com tal característica.

Outro aperfeiçoamento que pensei em inserir no Apple II foi projetar todo o novo computador em torno de textos e gráficos, com tudo vindo da própria memória do sistema.

Portanto, em vez de ter todo um terminal em separado para fazer coisas na tela e outra memória para as outras computações, decidi combinar toda a memória em um único banco de dados – uma seção da DRAM. Assim, uma porção da DRAM que o microprocessador utilizava poderia também ser continuamente aproveitada para qualquer coisa que fosse preciso exibir na tela.

Trabalhando dessa forma, eu sabia que economizaria alguns chips. De fato, no final, o Apple II acabou ficando com metade dos chips utilizados pelo Apple I. Além de ser bem mais rápido.

Lembra-se de que mencionei como o Apple I precisava constantemente manter os conteúdos da memória DRAM vivos através de atualizações? Bem, na época do Apple II, eu tinha chips DRAM bem mais rápidos para utilizar. Dessa forma, em vez de o microprocessador ser capaz de acessar (desenvolver ou ler) a RAM a cada milionésimo de segundo, os novos chips que eu estava utilizando na época podiam fazê-lo duas vezes a cada microssegundo.

De fato, o Apple II até conseguia que o microprocessador acessasse a memória RAM na metade de um microssegundo (milionésimo de segundo), enquanto os circuitos que atualizavam a RAM podiam acessá-la na outra metade do tempo. É por isso que ele rodava mais rápido. Além de ser menor e mais barato. O que sempre foi um objetivo meu.

O Apple II possuía inúmeros aperfeiçoamentos em relação ao Apple I. Algumas pessoas consideram o Apple II um segundo projeto elaborado a partir do Apple I, mas quero frisar que não é assim. De jeito nenhum.

O Apple I não foi um computador projetado do zero, mas uma ligeira extensão de meu terminal ARPANET para um microprocessador, com praticamente nenhuma inovação eletrônica com exceção da memória DRAM.

O Apple II, por sua vez, foi projetado e teve sua engenharia concebida a partir do zero. Também somente por mim. Olhando para trás, eu poderia ter projetado o Apple II primeiro – com cores e tudo –, mas escolhi avançar com um projeto que eu pudesse desenvolver mais rapidamente.

É verdade que ambas as máquinas trouxeram incríveis avanços para o mundo da informática. O Apple I fez história ao ser o primeiro computador pessoal a trabalhar com um teclado e uma tela. Mas o Apple II trouxe cores, gráficos em alta resolução, som, e a possibilidade de anexar controles de jogos. Foi o primeiro computador que, ao ser ligado, já estava pronto para uso, com o BASIC inserido na memória ROM.

Outros computadores chegaram perto do Apple II, mas levaram anos para se equiparar ao que eu tinha feito. No final, cada um deles precisaria fornecer a

O Apple II foi o primeiro computador de baixo custo que, de forma notável, podia ser usado por pessoas comuns – ninguém precisava ser um geek para utilizá-lo.

Mas àquela altura, ninguém havia visto o Apple II. Eu ainda estava finalizando-o, e naquele momento, ainda trabalhávamos em nossas casas: eu trabalhava em meu apartamento e Steve trabalhava pelo telefone de seu dormitório na faculdade. Ainda testávamos computadores na garagem da casa dos pais dele. E eu ainda estava montando calculadoras na HP e pensando que a Apple era apenas um hobby. Eu ainda planejava trabalhar na HP para sempre.

Mas não demorou muito para eu ter um Apple II funcionando logo após a entrega das placas do Apple I para Paul Terrell. E como eu disse antes: o Apple II não era apenas duas vezes melhor. Era algo como dez vezes melhor.

Concluí a placa, que era o núcleo do Apple II, em agosto de 1976. Lembro- me disso muito bem porque foi nesse mesmo mês que Steve e eu viajamos para a mostra PC’ 76, em Atlantic City.

Pegamos o avião em San Jose e sentamos juntos, levando o Apple I e o Apple II conosco a bordo. O aspecto engraçado dessa viagem foi que um bando de pessoas que conhecíamos do Homebrew e que agora trabalhavam nas várias pequenas empresas de informática concorrentes da Apple estavam naquele mesmo voo. Pudemos ouvi-las falando sobre o avanço dos negócios: falavam sobre propostas e utilizavam terminologias que nunca havíamos escutado antes. Sentimo-nos muito distantes de todas aquelas discussões.

Mas dentro de nós sabíamos que tínhamos um segredo. Um grande segredo. Talvez não fizéssemos parte daqueles grupos de empresários, mas sabíamos que possuíamos um computador melhor. Na verdade, possuíamos os dois melhores computadores disponíveis no mercado da época. O Apple I e o Apple II. E ninguém no mundo sabia ainda do Apple II.

Quando a exposição começou em Atlantic City, tive sorte porque não precisei empurrar o Apple I em nosso estande. Não tenho perfil de vendedor. Steve Jobs e Dan Kottke é que fizeram isso. Fiquei no andar de cima terminando as últimas sequências do BASIC.

A exposição estava cheia de empresas jovens e mal financiadas como a Apple. Os proprietários eram parecidos conosco. Isto é, não eram executivos bem vestidos, empresários ou gerentes de empresa participando da mostra. Mas um grupo de pessoas bastante desleixado.

Eles atuavam no mesmo ramo de negócio que o nosso, e muitos eram nossos concorrentes diretos. Apesar de sermos todos amigos, ainda assim éramos concorrentes.

Embora não tenhamos mostrado o Apple II para ninguém durante a exposição em Atlantic City, um sujeito que não estava associado a nenhuma companhia ou negócio de informática o viu. Ele estava lá preparando um projetor de TV para as palestras. Eu e Steve nos apresentamos na primeira noite, e depois que todos haviam ido embora, nos encontramos com o tal técnico do projetor. Acho que tínhamos pedido para ele ficar. Era provavelmente 9 horas da noite. Com o Apple II eu tinha criado um método diferente de gerar cores e ainda estava espantado com a quantidade de TVs em que ele funcionava. Mas então imaginei que um projetor pudesse ter circuitos diferentes para cores capazes de obstruir meu método. Assim, queria ver se o Apple II funcionaria com ele.

Então conectei o protótipo do Apple II ao projetor daquele sujeito e ele funcionou perfeitamente. O técnico, que estava vendo todos os computadores de baixo custo do mundo à medida que preparava o equipamento para as palestras, me disse que de todos os computadores que ele vira na exposição, o Apple II seria o único que ele compraria. Apenas sorri. O Apple II não tinha sido sequer anunciado ainda.

Depois da exposição, o maior e mais sensacional momento Eureka que já tive foi o dia em que fiz o Breakout (o jogo da Atari) funcionar no Apple II.

Eu tinha inserido capacidade suficiente no BASIC para que o computador pudesse ler onde estavam as raquetes do jogo. Ele podia soar nos alto-falantes quando necessário e organizar as cores na tela. Portanto, eu estava pronto.

Sentei um dia com aquela pequena placa em branco com chips na parte de cima e todos os pequenos fios enrolados em azul e vermelho soldados por baixo e a conectei, através de alguns fios e transformadores, à minha TV colorida.

Sentei-me e comecei a digitar comandos em BASIC. Eu precisava criar uma fileira de tijolos – exatamente como no jogo da Atari – e funcionou! Eu tinha uma fileira de tijolos. Experimentei várias combinações de cores até chegar à cor de tijolo que ficasse melhor.

Dispus lado a lado oito fileiras de tijolos. Equacionei as cores corretas e estabeleci como os tijolos deveriam aparecer para ficar mais real. Fileiras pares e ímpares. Depois comecei a programar a raquete. Fiz a raquete subir e descer na tela com o botão de controle do jogo. Depois coloquei a bola. Então comecei a dar movimento à bola. Em seguida, passei a dizer para a bola quando ela batia nos tijolos como ela deveria se livrar deles, bater e voltar. Quando ela atingia a raquete, programei como ela rebateria e mudaria de direção na vertical e na horizontal.

Depois brinquei com todos esses parâmetros, e isso tudo levou apenas meia hora. Testei dezenas e dezenas de variações diferentes dos componentes até o Breakout funcionar por completo no Apple II, mostrando a pontuação e tudo mais.

jogo aparecia com a raquete e os tijolos. Depois disse: “Veja isto”. E digitei alguns comandos BASIC e mudei a cor da raquete, a cor dos tijolos e local onde ficava a pontuação na tela.

Então disse: “Se tivesse feito toda essa variedade de opções embutidas no equipamento da forma que sempre foi feito, eu teria levado dez anos. Agora que os jogos estão no software, o mundo inteiro vai mudar”.

E naquele exato momento foi que me dei conta. Os jogos em software serão incrivelmente avançados se comparados com os jogos em hardware – isto é, jogos que estão embutidos nos equipamentos tipo fliperama e em sistemas semelhantes.

Atualmente, os gráficos nos jogos são excelentes. Eles ficaram incrivelmente complicados e grandes. Se precisassem ser feitos em hardware, não haveria tempo suficiente no universo para concebê-los.

Pensei: Nossa! Ninguém no clube vai acreditar que um jogo de fliperama pôde ser escrito em BASIC. O Breakout foi o primeiro no mundo. Inseri também um segredo naquele jogo para o Apple II: ao digitar CTRL + Z no teclado, o jogo passava para um modo em que a raquete iria sempre se movimentar, mas nunca erraria a bola.

Que recurso fantástico! Ele enganava as pessoas fazendo-as pensar que tinham muita sorte em atingir a bola. A raquete ficava tão instável e movimentava- se tanto que uma pessoa nunca poderia dizer que tal feito não era por sua habilidade e que seus próprios movimentos é que estavam acertando a bola.

Um dia me sentei com John Draper (o Capitão Crunch, lembra?). Estávamos no Homebrew logo depois do principal segmento da reunião, quando as pessoas podiam fazer suas demonstrações.

John nunca havia brincado em um jogo de fliperama antes.

Eu disse: “Veja, jogue este”. Então mostrei a ele como virar o botão para que a raquete se movimentasse para cima e para baixo. Ele sentou e começou a jogar. Todos na sala ficaram olhando para ele por aproximadamente 15 minutos. A bola estava muito rápida, e ele, embora não soubesse realmente o que fazer com o controle, continuava acertando. As pessoas simplesmente pensaram que John era um jogador excepcional.

Passados cerca de 15 minutos, ele finalmente venceu o jogo. E todos o cumprimentaram como se ele fosse o melhor jogador do mundo. Acho que John nunca soube que o jogo já estava configurado para ganhar.

Na primavera de 1976, quando ainda estava trabalhando no Apple II, Steve e eu tivemos nossa primeira discussão. Ele não achava que o Apple II devesse

slots – um para a impressora e outro para um modem. Ele achava que assim seria

possível fabricar uma máquina menor e mais barata – e que fosse boa o suficiente para as tarefas diárias.

Mas eu queria mais slots; 8 deles. Porque tinha na cabeça a ideia de que as pessoas iriam querer muitas coisas no futuro, e que de forma alguma deveríamos limitá-las.

Normalmente, sou uma pessoa fácil de se relacionar, mas daquela vez disse para Steve: “Se é o que quer, vá conseguir outro computador para você”. Eu não conseguiria economizar um único chip reduzindo o número de slots de 8 para 2, e eu sabia que pessoas iguais a mim poderiam eventualmente descobrir coisas para adicionar a qualquer computador.

Na época, eu estava em posição de agir assim. O que não aconteceria sempre. Alguns anos mais tarde, a Apple prosseguiu com o projeto do Apple III, que foi simplesmente um desastre – e a máquina tinha menos slots.

Mas em 1976, ganhei a discussão, e o Apple II foi fabricado e no final saiu da maneira que eu queria.

Lembro-me de um dia chegar à HP – onde ainda estava trabalhando – e mostrar o Apple II para os outros engenheiros. Demonstrei-o fazendo um redemoinho de cores. E os outros engenheiros se aproximavam para dizer que aquele era o melhor produto que já tinham visto. E a HP ainda não havia encontrado uma maneira de executar corretamente aquele tipo de projeto.

Um dia, meu chefe, Pete Dickinson, disse que algumas pessoas em minha divisão de calculadoras haviam criado um novo projeto, que seguiu para a aprovação da diretoria, um projeto para desenvolver uma pequena máquina de mesa com um microprocessador, memória DRAM, uma pequena tela de vídeo e um teclado. E até já tinham designado cinco pessoas para desenvolver o BASIC para ela.

O horrível de tudo aquilo é que eles sabiam o que eu havia feito com o Apple I – e mesmo com o Apple II. Mas mesmo assim começaram o tal projeto sem mim! Por quê? Não sei. Acho que perceberam que o projeto deles era igual ao que eu já havia feito.

Mas mesmo assim fui falar com o gerente do projeto, Kent Stockwell. Embora tivesse criado computadores como o Apple I e o Apple II, eu queria tanto trabalhar em um computador na HP que faria qualquer coisa para isso. Eu poderia ser um mero engenheiro da interface da impressora. Algo pequeno.

Então disse a Kent: “Todo meu interesse na vida tem sido os computadores. Não as calculadoras”.

Ainda acho que a HP cometeu um enorme erro em não me deixar participar do projeto de computadores. Eu era muito leal à empresa. Queria trabalhar lá para sempre. Quando se tem um funcionário que diz que está cansado de calculadoras e que é realmente produtivo em computadores, deve-se colocá-lo onde ele é produtivo. Onde ele trabalha feliz. A única explicação que posso imaginar é que havia gerentes e subgerentes naquele projeto de computador que se sentiram ameaçados. Eu já havia feito um computador inteiro sozinho. Talvez por isso eles tenham me ignorado. Não sei dizer o que estavam pensando.

Mas deveriam ter dito para si mesmos: “Como fazer para trazer Steve Wozniak a bordo? Vamos colocá-lo como engenheiro da pequena interface com a impressora”. Eu teria ficado muito feliz se isso tivesse acontecido, mas ninguém se preocupou em me colocar onde eu mais gostava.

Como disse antes, precisávamos de dinheiro.

Assim, no verão de 1976, começamos a falar sobre a Apple com pessoas potencialmente endinheiradas, mostrando-lhes o Apple II funcionando com cores na garagem de Steve.

Uma das primeiras pessoas para quem mostramos o novo computador foi Chuck Peddle. Lembra-se dele? O sujeito da MOS Technologies que me vendeu na mostra da WESCON o processador 6502, em torno do qual projetei o Apple I no ano anterior.

Naquele momento, Chuck estava trabalhando na Commodore, empresa de eletroeletrônicos que dizia estar em busca de um computador pessoal para vender em suas lojas. Lembro-me de que estava muito emocionado em encontrá-lo depois do papel que seu chip (MOS 6502) desempenhara no Apple I. Então abrimos a garagem de Steve naquele dia e, contra a luz do sol, Chuck veio caminhando até nós vestindo um terno e um chapéu de caubói. Eu estava muito feliz em vê-lo e não podia esperar para mostrar o Apple II para ele. Em minha cabeça, Chuck era uma pessoa muito importante.

Digitei alguns programas em BASIC, mostrei-lhe algumas espirais coloridas na tela, o total de chips que o computador possuía e como funcionavam, e todos os outros detalhes técnicos. Apenas para mostrar a ele o que estávamos fazendo. Durante toda a reunião Chuck ria e sorria, demonstrando estar de bom humor. Então nos disse para elaborarmos uma apresentação para os figurões da empresa, o que fizemos algumas semanas mais tarde.

Nunca esquecerei como naquela sala de reuniões Steve Jobs fez o que eu achava ser uma afirmação das mais ridículas. Ele disse: “Vocês poderão comprar este produto por apenas algumas centenas de milhares de dólares”.

Eu estava quase envergonhado. Quer dizer: lá estávamos nós, sem dinheiro, tendo ainda de provar para alguém que era possível faturar com aquele produto. Então Steve acrescentou: “Algumas centenas de milhares de dólares mais os empregos para trabalhar neste projeto”.

Fomos embora e recebemos a resposta da Commodore algumas semanas depois: eles haviam decidido montar a própria máquina, pois seria mais barato. E não precisavam de coisas extravagantes como cor, som e gráficos (todos os recursos legais que possuíamos). Na garagem, Chuck Peddle nos disse que pensava ser possível que eles tivessem o próprio computador em quatro meses. Eu não via como alguém conseguiria aquilo, mas acho que após ver o Apple II, seria muito mais fácil projetar algo como o que eles queriam.

A propósito, vi o PET da Commodore (o computador que eles lançaram tão rapidamente) alguns meses depois na West Coast Computer, uma feira de informática e tecnologia. Ele me deixou um pouco doente, pois estavam tentando fazer algo parecido com o que havíamos mostrado para Chuck na garagem de Steve, com um monitor, programação e teclado, mas terminaram com um produto muito ruim ao projetá-lo tão rápido. Eles poderiam ter tido o Apple, sabe? Poderiam ter tido ele todo, se tivessem tido a visão correta. Péssima decisão.

É engraçado. Pensando novamente sobre tudo isso agora, o Apple II acabou sendo um dos produtos de maior sucesso de todos os tempos. Mas não tínhamos direitos de propriedade ou patentes naquela época. Sem segredos. Estávamos

Documentos relacionados