Computadores XV: O que é uma UCP

Propaganda
Computadores XV: O que é uma UCP
A5 – Texto 2
http://www.bpiropo.com.br/fpc20051121.htm
Sítio Fórum PCs /Colunas
Coluna: B. Piropo – Publicada em 21/11/2005
Autor: B.Piropo
Essa nossa jornada tem nos conduzido por inesperados caminhos que transitaram por
sons e imagens, passaram por válvulas e transistores e nos levaram a inspecionar
diagramas lógicos de circuitos que jamais esperamos um dia destrinchar (mas quando os
destrinchamos, percebemos que eram muito mais simples do que seus nomes
assustadores permitiam prever). Caminhos tortuosos que passaram por tantos desvãos
que neste ponto é conveniente fazer uma pausa para não perdermos o rumo.
Você ainda recorda qual é o rumo? Pois só para lembrar: nossa meta é entendermos o
funcionamento interno de um computador. E, embora ainda estejamos no começo da
empreitada, já percorremos um bocado de estrada. Tanta que convém olharmos para trás
em busca de um referencial. E nos lembrarmos que em nosso primeiro passo, na
primeira coluna desta série (< http://www.forumpcs.com.br/viewtopic.php?t=119903 >
“Dados e Informações”) concluímos que um computador é composto por quatro
elementos básicos: memória principal, barramento, dispositivos de entrada e saída e
unidade central de processamento. E que este último componente é o mais importante
de todo o conjunto.
Na coluna anterior desta série, < http://www.forumpcs.com.br/viewtopic.php?t=135976
> “Circuitos Impressos e Integrados”, vimos o que é e com que se parece um circuito
integrado. E fechamos a coluna mencionando que a Unidade Central de Processamento,
ou UCP, é um microprocessador, um tipo especial de circuito integrado.
Dissemos que “ele é um circuito integrado razoavelmente complexo, capaz de efetuar
todas as operações necessárias ao processamento de dados; como seu nome indica, é ali
que os dados serão processados”. E acrescentamos: “mais adiante discutiremos seus
detalhes de funcionamento e veremos que embora o circuito integrado seja efetivamente
muito complexo, seu princípio de funcionamento é bastante simples”.
Pois chegou a hora. Microprocessadores será o tema de nossa coluna de hoje.
Como vimos na coluna anterior, os circuitos integrados se ligam ao mundo exterior
através de terminais metálicos que se conectam a condutores elétricos que compõem
circuitos mais complexos (em geral implementados em placas de circuito impresso). Os
dados de entrada são introduzidos em um circuito integrado através de tensões elétricas
aplicadas aos terminais de entrada e os dados de saída são fornecidos através de tensões
elétricas gerados nos terminais de saída. Tanto os dados de entrada como os de saída são
codificados sob a forma de valores numéricos expressos no sistema binário (grandezas
digitalizadas) de tal maneira que a presença de uma tensão positiva em um terminal é
interpretada como “1” e a ausência (tensão nula) como “0”.
Todos os circuitos lógicos que vimos nas colunas <
http://www.forumpcs.com.br/viewtopic.php?t=133014 > “Aprendendo a somar” e <
http://www.forumpcs.com.br/viewtopic.php?t=135304 > “Multiplexadores,
decodificadores e flip-flops” podem ser implementados fisicamente combinando
transistores de forma adequada e encapsulando-os em uma única unidade de modo a
formar um circuito integrado. Em outras palavras: pode-se fabricar (e fabrica-se)
circuitos integrados somadores, multiplexadores, decodificadores e flip-flops, além de
diversos outros tipos. Cada um desses circuitos tem por finalidade e execução de uma
determinada tarefa. Vimos, por exemplo, que dependendo do número que fornecermos
aos terminais de entrada de um circuito decodificador (número este fornecido sob a
forma de tensões aplicadas aos terminais de entrada) energizaremos um, e apenas um,
de seus terminais de saída. E vimos também que as tensões presentes nos terminais de
saída de um circuito somador correspondem a um número (expresso em binário) que é a
soma dos números (igualmente expressos em binário) formados pelas tensões aplicadas
em seus terminais de entrada.
Pois bem: a principal distinção entre um microprocessador e os demais circuitos
integrados é que enquanto cada um destes últimos serve para cumprir apenas a única
função para a qual foram concebidos, um microprocessador é um circuito integrado
capaz de desempenhar múltiplas funções.
Uma pequena viagem ao passado talvez ajude a entender porque os microprocessadores
foram desenvolvidos e como foram criados.
A era da “eletrônica do estado sólido”, ou seja, a que passou a utilizar transistores no
lugar de válvulas, iniciou-se nos anos cinqüenta do século passado (o transistor foi
inventado em 1948). As vantagens eram tão grandes que seu desenvolvimento inicial foi
extremamente rápido. Nos anos sessenta ela já havia dominado o mercado tanto com
componentes avulsos quando com os primeiros circuitos integrados.
Uma das aplicações mais importantes destes dispositivos naquela época era a fabricação
de calculadoras eletrônicas, que vinham substituir as pesadíssimas máquinas de calcular
eletromecânicas. Tanto assim que em 1969 a Intel recebeu da NCM Co (Nippon
Calculating Machine Corporation), uma fabricante japonesa de calculadoras eletrônicas,
a encomenda de desenvolver e fabricar os CIs que iriam equipar a “Busicom”, uma
calculadora eletrônica para cálculos comerciais.
A missão coube aos engenheiros da Intel Ted Hof, Stan Mazor e Frederico Faggin. De
acordo com as especificações originais da NCM o dispositivo exigiria um total de
dezesseis CIs, cada um com uma finalidade específica.
Porém, durante o desenvolvimento do projeto, seus responsáveis perceberam que havia
grandes semelhanças entre os diferentes circuitos. Por que não aproveitar estas
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.
Havia, no entanto, um problema: se o CI poderia executar diferentes operações com os
mesmos dados de entrada, como fazer com que ele “saiba” qual delas 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 que, ao serem acionados (ou seja, ao receberem uma tensão
em um determinado terminal de entrada), eram capazes de executar cada uma das
funções projetadas. Para selecionar a função a ser executada em um dado momento, os
engenheiros fizeram com que esse conjunto de circuitos fosse precedido por um circuito
decodificador. Que, como vimos na coluna que descreveu esse tipo de circuito, é
essencialmente muito simples: tem uma entrada (à qual se pode fornecer um número
binário através de tensões aplicadas a cada terminal) e diversas saídas. Basta entrar com
um número na entrada para energizar a saída correspondente e apenas ela. Por exemplo:
imagine um com decodificador com dezesseis saídas, numeradas de zero a quinze.
Aplicando-se à entrada um número entre esses limites, todas as saídas permanecem
desenergizadas exceto àquela correspondente ao número aplicado à entrada.
Solução que resolve o problema proposto lá em cima: um CI que tenha um módulo
decodificador com 16 saídas, cada uma ligada a um circuito capaz de cumprir uma
determinada função, poderá selecionar qualquer uma dentre dezesseis funções
diferentes. 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 módulo 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 módulo decodificador do CI. Parece complicado, mas se você examinar
bem a questão verá que é de uma simplicidade franciscana.
Esta é a idéia básica de um microprocessador.
A calculadora Busicom acabou sendo projetada com um circuito impresso que utilizava
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, na qual estava gravado o software
necessário para operar a máquina (conceito que destrincharemos mais 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 na máquina os resultados fossem impressos na fita (o teclado era o único
dispositivo de entrada e a impressora de fita o único dispositivo de saída da Busicom). 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 finais. O processador.
Figura 1: Intel 4004
O 4004 foi, portanto, o primeiro microprocessador da história da informática. Seu
aspecto é o mostrado na Figura 1, enquanto o da Busicom, a máquina de calcular para a
qual ele foi desenvolvido, é exibido na Figura 2, ambas obtidas sítio < http://www.cpumuseum.com/ > CPU Museum.
Figura 2: Busicom da NCM Co
A fabricação do microprocessador Intel 4004, ou i4004, teve início em 1971.
Curiosamente, quando o projeto ficou pronto e o chip entrou em linha de produção, a
Busicom já tinha se convertido em mais uma vítima da guerra dos preços das
calculadoras eletrônicas do início dos anos setenta. A Intel acabou devolvendo os 60 mil
dólares que havia recebido da NCM Co e manteve os direitos sobre o novo chip, o
primeiro processador de uso geral.
O lançamento do i4004 em novembro de 1971 marcou um momento histórico: vinha à
luz o primeiro microprocessador da história da informática. A publicidade da Intel na
revista Electronics News anunciava “uma nova era da eletrônica integrada” e
mencionava a e expressão “computer on a chip” (“computador em um único circuito
integrado”), que ficou famosa desde então. O novo componente passou a ser vendido
por cerca de mil dólares a unidade. Uma quantia provavelmente muito maior que custo
do chip que equipa a máquina com a qual você está lendo esta coluna na Internet. E olhe
que o i4004 era um processador de 4 bits operando na vertiginosa freqüência de 108
KHz (isso mesmo, quatro bits e cento e oito quilohertz, para os que acharam que por
esse preço deveria ser um erro de digitação)
Resumindo: um microprocessador é um circuito integrado “inteligente”, ou “versátil”,
capaz de executar diferentes operações (os CIs convencionais executam apenas uma
função, a única para a qual foi concebido). E “sabe” qual das diferentes operações
executar interpretando (decodificando) um número a ele fornecido nos terminais de
entrada.
Esse número é uma “instrução”.
Um conjunto encadeado de instruções com um propósito determinado é um “programa”.
Como se vê, pouco a pouco estamos avançando...
Download