Logo Hostnet Logo SBP Logo Hostnet Logo SBP
Busca

Retornar para: Colunas - Como Funciona

Sítio do Piropo

B. Piropo

< Coluna Como Funciona >
< (publicada no site "PromoInfo") >
Volte

12/09/2005

< Como funciona o "Boot" >

I - Microprocessadores

"Boot" é um termo do inglês usado para se referir ao procedimento de inicialização de um computador. Significa "bota", "botina".

Você sabe por que um nome tão estranho foi escolhido para designar algo que nada tem a ver com botas, botinas e afins?

Bem, para começar é preciso saber que "boot" é uma abreviação. O termo originalmente usado era "bootstrap" que, no contexto, se referia ao cordão das botinas.

Piorou? Bem, quem não entendia porque chamar inicialização de "boot" dificilmente entenderá porque chamá-la de "bootstrap". Pois então expliquemos .

" Pulling yourself up by your own bootstraps" (puxar a si mesmo para cima pelos cordões das próprias botinas) é um ditado americano usado para se referir a algo impossível de ser realizado. Imagine a seguinte situação: um indivíduo deseja alcançar um objeto que está acima dele. Então abaixa-se, pega os cordões das próprias botinas e os puxa para cima. Será que assim ele conseguirá subir até o objeto?

Evidentemente não. Por isso, sempre que alguém busca conseguir por seus próprios meios algo que necessita obrigatoriamente de ajuda externa, usa-se o ditado para fazê-lo entender que sua meta é impossível.

Pois bem: é exatamente isto que o computador parece fazer durante a inicialização: realizar uma tarefa aparentemente impossível de ser cumprida sem ajuda externa (já veremos porque). Razão pela qual os pioneiros da computação, todos angloparlantes, reportando-se ao ditado, usaram o temo "bootstrap" para designar o procedimento. Termo que, ao longo dos anos, foi simplificado para "boot".

É por isso que ainda hoje há quem se refira ao procedimento de inicialização usando o termo "boot".

Mas em que, exatamente, consiste esse procedimento? E por que ele é aparentemente impossível de ser realizado sem ajuda?

Para entender isso precisamos antes saber o que é um programa, como ele é executado e em que consiste um "sistema operacional".

Começando do começo: um programa é um conjunto de instruções encadeadas, executadas em uma certa seqüência com um objetivo determinado. Uma definição que vale tanto para um programa complexo como um editor de textos, com todas as funções de formatação, correção ortográfica e centenas de outras mas cujo objetivo precípuo é editar textos, até um programinha bobo, capaz de executar uma única função, como informar o nível da carga da bateria de um micro portátil.

Agora que sabemos que um programa é um conjunto de instruções, nos falta saber o que é uma instrução. E para isso vamos recuar um pouco no tempo até antes que os microprocessadores fossem inventados (não sabe o que é um microprocessador? Pois logo saberá, seja paciente). Rumemos, então, para os primórdios da eletrônica.

A eletrônica é um ramo da tecnologia que nasceu com as válvulas na primeira metade do século passado. Válvulas eram um trambolho, grandes e pesadas porém frágeis e, sobretudo, consumiam uma barbaridade de energia. Foi somente na metade do século passado que elas foram substituídas por transistores, pequenos componentes que embora executassem a mesma função, eram muitíssimo menores, mais resistentes e consumiam pouquíssima energia.

Mas que função era essa?

Ora, uma válvula eletrônica funciona de forma análoga a uma válvula hidráulica, dessas que existem nos encanamentos de sua casa. São dispositivos que podem ser fechados, interrompendo completamente o fluxo de água na tubulação, ou abertos, seja totalmente (permitindo a passagem de todo o fluxo) ou parcialmente (regulando a vazão). Pois as válvulas eletrônicas fazem essencialmente o mesmo, porém nos circuitos elétricos, regulando o fluxo de corrente elétrica. E como os transistores substituem as válvulas, eles fazem a mesma coisa: regulam a passagem de corrente elétrica nos circuitos.

Um circuito é um conjunto de componentes elétricos ou eletrônicos interligados por condutores elétricos que cumprem uma determinada função. Por exemplo: um circuito retificador de corrente elétrica é capaz de transformar corrente alternada em corrente contínua, um circuito amplificador é capaz de aumentar a intensidade de um sinal elétrico e assim por diante. No tempo das válvulas, os circuitos eram formados por componentes (as próprias válvulas, além de capacitores, resistores, etc,) soldados ou aparafusados em um suporte metálico denominado "chassis" e interligados por fios. Se você ainda encontrar perdido nos guardados de seu avô um rádio de válvulas, dê uma espiada em seu interior e repare no chassis, a base metálica onde estão presos os componentes. Ou examine, na Figura 1 (obtida no catálogo da Grand Canyon Tube Radio) uma vista traseira de um rádio a válvulas Silvertone onde se vê três de suas válvulas presas ao chassis metálico.

Rádio a válvulas, vista traseira

Figura 1: Rádio a válvulas, vista traseira

Como os transistores são muito menores que as válvulas e usam corrente de muito menor intensidade (não exigindo, portanto, condutores elétricos muito grossos para transportá-la), logo se concebeu uma forma alternativa e muito mais prática para fabricar circuitos eletrônicos: o "circuito impresso". Imagine uma placa de material isolante na qual se "desenham" (ou imprimem) os condutores elétricos usando um fino revestimento metálico. A placa tem pequenos furos que são atravessados pelos terminais. Veja, na Figura 2 (obtida no sítio de Per-Anders Sjöström dedicado a equipamento de áudio de alta fidelidade, em < desculpe, esta página foi removida da internet >) um amplificador de áudio montado em um circuito impresso. Note os filetes prateados "desenhados" sobre a placa, unindo seus componentes. São os condutores elétricos, impressos diretamente na placa. As peças maiores, cilíndricas, ao fundo, parecem ser capacitores eletrolíticos. As duas peças pretas retangulares em frente a eles, com três terminais soldados à placa de circuito impresso, são transistores.

Circuito impresso

Figura 2: Circuito impresso

Com o advento dos circuitos impressos a indústria começou a descobrir as vantagens de trabalhar com dispositivos menores, menos frágeis e mais simples. E logo se percebeu que se poderia galgar um novo nível de miniaturização integrando diversos componentes (basicamente transistores e resistores) em um único objeto, que poderia cumprir a função de um circuito impresso, porém de dimensões muito menores. Esse objeto é o circuito integrado, ou CI, um conjunto de componentes eletrônicos integrados em um único encapsulamento com um objetivo determinado. Veja o aspecto de um CI na Figura 3. Note seu encapsulamento plástico negro e seu conjunto de terminais (as "perninhas" metálicas que se projetam para fora do encapsulamento). Esses terminais podem ser simplesmente encaixados nos orifícios correspondentes de um soquete (uma espécie de "tomada") ou soldados diretamente nos condutores metálicos de uma placa de circuito integrado. E lembre que o CI mostrado na figura, com menos de cinco centímetros em sua maior dimensão, pode conter centenas de milhares de componentes internos.

Circuito integrado

Figura 3: Circuito integrado

Como vimos acima, cada circuito integrado cumpre uma certa função. Como os circuitos impressos, há CIs amplificadores (que recebem um sinal elétrico e aumentam sua intensidade), retificadores (que retificam uma corrente elétrica), em suma, há CIs para uma infinidade de funções. Inclusive algumas situadas na esfera da eletrônica digital, o ramo da eletrônica que lida com grandezas expressas em números do sistema binário, o sistema numérico de base dois. Ele é usado internamente nos computadores por só empregar dois algarismos, o "um" e o "zero", que podem ser representados facilmente por dois estados opostos de grandezas elétricas (aceso/apagado, carregado/descarregado, conduzindo/não conduzindo e assim por diante).

Foram esses circuitos que deram origem aos microprocessadores (não disse que chegaríamos a eles?). E o fizeram quase que por acaso.

O ramo da eletrônica que usa transistores e circuitos integrados ganhou o nome de "eletrônica de estado sólido". Ela é uma ciência relativamente nova. Afinal, os transistores foram inventados em 1948. No final dos anos sessenta ela ainda estava engatinhando. Seu principal expoente era a Intel, indústria que se dedicava então ao projeto e fabricação de circuitos integrados, ainda uma novidade. Cuja aplicação mais importante naquela época era equipar as calculadoras eletrônicas, que vinham substituir as pesadíssimas (e caríssimas) máquinas de calcular elétricas.

Em 1969 a Intel recebeu de uma empresa japonesa, a NCM Co (Nippon Calculating Machine Corporation), fabricante de calculadoras eletrônicas, a missão de desenvolver e fabricar os CIs que iriam equipar a "Busicom", uma calculadora eletrônica para cálculos comerciais. Os engenheiros incumbidos de executar a tarefa foram Ted Hof, Stan Mazor e Frederico Faggin.

De acordo com as especificações originais da NCM o dispositivo exigiria um total de dezesseis diferentes CIs, cada um com uma finalidade específica. E, na medida que o projeto evoluía, seus responsáveis perceberam que havia grandes semelhanças entre os diferentes circuitos, que continham muitas partes idênticas. Por que não aproveitar as semelhanças e desenvolver um único CI capaz de cumprir todas as funções dos dezesseis originalmente especificados? Isso apressaria o projeto, resultaria em um dispositivo muito mais compacto e, sobretudo, mais barato.

O problema, como vocês já devem ter percebido, é como fazer com que o único CI "saiba" qual das diferentes funções de seu repertório deve ser executada em um determinado momento.

A solução encontrada pelos três engenheiros foi ao mesmo tempo simples e absolutamente revolucionária. O novo CI foi concebido de tal forma que em seu interior havia circuitos eletrônicos capazes de executar cada uma das funções encomendadas. Esse conjunto de circuitos era precedido por um outro, o circuito "decodificador".

Um circuito decodificador é essencialmente muito simples. Ele tem uma entrada e diversas saídas. Imagine um com dezesseis saídas, numeradas de zero a quinze. Quando se aplica à entrada um número entre esses limites, todas as saídas permanecem desenergizadas exceto àquela correspondente ao número aplicado à entrada ("aplica-se" um número a um circuito eletrônico fornecendo-se ou não tensões elétricas a seus terminais de entrada; uma tensão corresponde ao algarismo "um", a ausência de tensão ao algarismo "zero", portanto basta exprimir o número desejado no sistema binário e aplicar as tensões correspondentes aos devidos terminais).

Pronto: problema resolvido. Um CI que tenha um decodificador com 16 saídas será capaz de cumprir dezesseis funções. Basta aplicar à entrada o número correspondente à função desejada para que, dentro do CI, o circuito correspondente seja alimentado com energia pela respectiva saída do trecho decodificador e execute a função designada. Tem-se assim um único CI capaz de executar múltiplas funções, cada uma delas selecionadas por um número fornecido ao trecho decodificador do CI. Parece complicado, mas se você examinar bem a questão verá que é de uma simplicidade franciscana.

A Busicom acabou sendo projetada apenas com quatro CIs. O primeiro, que recebeu a designação de " 4001", era um CI do tipo "memória ROM", ou memória apenas de leitura, sobre o qual voltaremos a falar adiante. O segundo, o " 4002", era um CI do tipo "memória RAM", capaz de armazenar e alterar dados e que servia para guardar os operandos e os resultados intermediários das operações matemáticas executadas pela Busicom. O terceiro, o " 4003", continha os circuitos necessários para as operações de E/S (entrada e saída), que permitia que os números digitados pelo usuário fossem convertidos para o sistema binário e introduzidos no "coração" da maquininha e os resultados fossem impressos na fita. E finalmente o quarto, o " 4004", era o próprio "coração" da Busicom, o CI responsável pela execução das operações matemáticas, ou seja, pelo processamento dos dados de entrada e sua transformação nos resultados. Se você está curioso para saber que aspecto tinha essa maravilha da tecnologia dos anos sessenta, examine a Figura 4, obtida no sítio CPU Museum.

 Busicom

Figura 4: Busicom, a primeira máquina com microprocessador

Em suma: o Intel 4004 foi o primeiro microprocessador da história da informática. Para os interessados em tecnologia: ele continha 2.300 transistores, tinha um repertório de 46 operações (acima das 16 originalmente solicitadas), usava 16 registradores de quatro bits e podia endereçar 640 bytes. Sua "invenção" foi publicada na edição de 15 de novembro de 1970 da revista "Electronic News". Seu aspecto é o da Figura 5 (foto igualmente obtida no CPU Museum). Examine-a com atenção e, sobretudo, reverência. Afinal, trata-se do mais antigo antepassado do valente microprocessador que equipa o computador que você está usando para ler esta coluna.

Intel 4004

Figura 5: Intel 4004, o primeiro microprocessador

Com o conhecimento adquirido até aqui, podemos entender que um microprocessador é um circuito integrado "inteligente", ou "versátil", capaz de executar diferentes operações (ao passo que os CIs convencionais executam apenas uma função, a única para a qual foi concebido). E "sabe" qual das diferentes operações executar interpretando um número a ele fornecido pelo usuário.

Esse número é uma "instrução".

Agora que sabemos o que é uma instrução, que um programa é um conjunto de instruções e entendemos como os microprocessadores são capazes de interpretálas, poderemos destrinchar o funcionamento – e o procedimento de inicialização – de um computador.

Assunto para a próxima coluna, naturalmente.