Sítio do Piropo

B. Piropo

< Coluna em Fórum PCs >
Volte
22/10/2007

< vPro/cPro: processando >
<
dados sem a CPU >


Quem acompanha as colunas da série “computadores” sabe: nenhum tipo de processamento de dados pode acontecer em um computador sem o concurso de um microprocessador. Essa noção é tão básica que a frase acima chega a parecer redundante, já que processador é quem (ou aquilo) que processa, portanto o processamento só pode ser feito por ele. Não obstante a Intel vem anunciando uma tecnologia capaz de gerenciar máquinas remotas mesmo desligadas e nelas executar tarefas que exigem processamento de dados. Como é que pode?

Também ficou curioso? Pois esta questão vem me deixando perplexo há algum tempo. Mas, para entender melhor o problema (e sua solução, naturalmente), vamos começar do começo, como convém.

Na quarta-feira da semana passada, dia 17/10, a Intel patrocinou em São Paulo a primeira edição do IBF no Brasil, que substituiu a versão anual do IDF, Intel Developer Forum, um evento anual onde se discutiam as principais novidades tecnológicas introduzidas nos produtos da empresa e seus planos para o futuro próximo. O IDF é um evento eminentemente técnico e em alguns países, como o nosso, o interesse do público que a ele comparecia era mais corporativo que técnico. Por isso a Intel decidiu substitui-lo pelo IBF, Intel Business Forum, voltado predominantemente para a área corporativa.

Informática corporativa definitivamente não é a minha praia. Mas como algumas das palestras programadas para o IBF 2007 abordavam aspectos técnicos eu resolvi comparecer. E lá fui eu de mala e cuia para São Paulo, local do evento.

E fiz muito bem. Porque acabei descobrindo a solução de um aparente paradoxo que muito vinha me intrigando ultimamente: o gerenciamento remoto de máquinas “desligadas” através da tecnologia Intel AMT (Active Management Technology) integrado às plataformas vPro/cPro da Intel.

Figura 1: computador da plataforma vPro.

É claro que eu não me atreveria a divagar sobre as plataformas vPro/cPro em um Forum onde Mestre Flávio Xandó já começou a deslindá-las e prometeu voltar ao tema. Macaco velho não mete a mão em cumbuca, especialmente levando em conta que o próprio Xandó assistiu ao meu lado a palestra que me levou a escrever esta coluna. Pois ele domina como ninguém os meandros e descaminhos das redes e sua administração enquanto eu, pobre mortal, sinto-me tão bem na rede quanto um peixe.

Mas acontece que Mestre Xandó está mais interessado em deslindar e compartilhar com vocês os aspectos funcionais da tecnologia e sua aplicação no gerenciamento remoto de computadores. Já eu, no que diz respeito a vPro/cPro, me interessava apenas por um de seus aspectos, um único detalhe, um aparente mistério com o qual estava encasquetado desde que comecei a tomar conhecimento da dita tecnologia: como uma máquina desligada pode processar dados?

Tanto quanto eu saiba, não pode. Mas eu vi acontecer na demonstração feita por Marcelo Gonçalves e Edison Rodrigues na palestra “Intel vPro/cPro Solutions” apresentada no IBF 2007. E se eu vi acontecer, então pode...

Afinal, pode ou não pode? Pois bem: o objetivo desta coluna é explicar como é possível realizar este aparente mistério. E só vou me aventurar a falar o indispensável de cPro/vPro para que a solução – simples, naturalmente, como não poderia deixar de ser, já que estamos fartos de saber que não existe mistério em informática – venha a ser entendida.

Então, vamos nessa. Começando por explicar que vPro/cPro são “plataformas”, o que no jargão da Intel designa um conjunto de tecnologias integradas ao microprocessador, ao “chipset” e a certos circuitos auxiliares como o “chip” controlador de rede e outros, como logo veremos. No que tange a vPro/cPro, os principais destes dispositivos, mostrados na Figura 2, são o processador Core 2 Duo (mais especificamente os modelos Exx50, a saber, E6550, E6750 e E6850, dotados da tecnologia Intel TXT ou “Trusted eXecution Technology), o “chipset” Q35, o chip auxiliar ICH9 e o controlador de rede Intel 82566 (mais detalhes na página < http://www.intel.com/products/vpro/index.htm?iid=c2d+link_vpro& > “Intel vPro Processor Technology” do sítio da Intel).

Figura 2: vPro – UCP, Controlador de rede,
ICH9 e Q35 (sentido horário).

O “Pro” de vPro/cPro vem de “Professional” e indica que as plataformas foram desenvolvidas para uso profissional, ou corporativo. O que não quer dizer que seus membros sejam mais poderosos que aqueles desenvolvidos para usuários domésticos, muito pelo contrário (o “topo da linha” Intel Core 2 é o Extreme, um processador de núcleo quádruplo que só falta voar e equipa predominantemente computadores montados para rodar jogos e multimídia, atividades raras em escritórios – ao menos na presença do chefe). O “Pro” quer dizer apenas que as plataformas incorporam funções de maior interesse no ambiente corporativo que no doméstico – como o gerenciamento remoto de micros em rede.

O “c” de cPro vem de “Centrino”, a plataforma criada pela Intel especialmente para micros móveis ou portáteis. Portanto a tecnologia cPro destina-se a micros portáteis (“notebooks”) para uso corporativo. Já o “v” de vPro só Deus sabe de onde vem (eu desconfio que seja de “virtual”, mas é puro palpite, uma vez que nem mesmo o Edison Rodrigues, especialista da Intel do Brasil na plataforma vPro, soube informar sua origem). Mas sabe-se com certeza que a vPro destina-se a micros de mesa, ou “desktops”, sempre para uso corporativo.

Mas o que elas têm de especial?

Bem, os micros das plataformas cPro/vPro trazem, integradas no próprio hardware da plataforma, funções que permitem o gerenciamento e controle remotos de micros. Algo que a princípio não deveria causar grande alaúza já que existem centenas de produtos que fazem coisa parecida. O que faz com que sejam especiais é o fato de elas permitirem que isto seja feito mesmo em máquina com o sistema operacional inativo ou, mais extraordinário ainda, em máquinas desligadas. Na verdade, a lista das façanhas que estas tecnologias permitem realizar remotamente (ou seja, em qualquer computador conectado à rede corporativa, esteja ele na mesa ao lado ou em outro país) inclui:

  • ligar e inicializar a máquina;

  • redirecionar o disco rígido para outro ponto da rede;

  • ter acesso aos ajustes do BIOS;

  • operar a máquina remotamente, com acesso a teclado e vídeo (por enquanto, apenas em modo texto);

  • verificar se determinados programas, como antivírus, estão instalados e atualizados;

  • recuperar um disco rígido inteiro, seja a partir de uma cópia de segurança, seja a partir de uma imagem adrede criada;

  • instalar um sistema operacional;

  • obter uma lista completa de todos os componentes do micro e periféricos instalados para fins de inventário;

  • instalar e gerenciar “filtros” para controle do acesso à rede.

E, apenas para reforçar: tudo isto pode ser feito mesmo que a máquina remota esteja com o sistema operacional inoperante ou desligada.

Como pode?

Bem, para começar, ao contrário dos demais programas de gerenciamento remoto que usam a própria rede, ou seja, os canais utilizados para transporte de dados para ter acesso à máquina remota, as tecnologias vPro/cPro apelam para a Intel Active Management Technology, ou ATM, que por sua vez usa o chamado gerenciamento “out-of-band” que se utiliza de um canal especialmente dedicado. Note que o controle continua sendo feito através do cabeamento da rede, mas não mais obedece aos protocolos Ethernet, o que o torna independente do sistema operacional (veja detalhes na < http://en.wikipedia.org/wiki/Out-of-band_management > Wikipedia). Mas este tipo de acesso não é exclusivo da ATM. Pelo contrário: o artigo da Wikipedia acima citado lista uma dezena de implementações que vão da Apple à HP/Compaq.

Também o fato de ligar máquinas remotamente e carregar seu sistema operacional não é novidade. Diversas tecnologias, como a “Wake-on-LAN”, “wake on modem” e similares fazem isso. Mas elas são passivas, não admitem autenticação, criptografia ou controle remoto real independente do sistema operacional. Em resumo: nada suportam que dependa de processamento na máquina remota. E mesmo um exame superficial da lista acima mostra que algumas tarefas exigem processamento remoto. Como fazer isso com a máquina desligada? Afinal, a princípio, todo o processamento exige um processador. E processadores só processam quando alimentados com energia...

Bem, o segredo é facilmente deslindado quando se explica exatamente a acepção em que o termo “desligado” é usado e quando se entende claramente o significado do “C” da sigla UCP, de Unidade Central de Processamento.

Então vamos por partes.

Pense no seu aparelho de televisão. Provavelmente ele é do tipo “controle remoto” já que esta tecnologia tornou-se quase universal. O que você quer dizer quando afirma que ele está “desligado”?

Neste contexto o termo pode ter dois significados bastante diferentes. Um deles é “totalmente desenergizado”, ou “desconectado da rede elétrica”. A TV fica sem imagem, sem som e totalmente inerte. E não há maneira de ligá-la usando apenas o controle remoto.

Mas raramente os aparelhos de televisão com controle remoto são “desligados” assim. Em geral, quando terminamos de assistir os programas, costumamos “desligar” a TV apertando o botão “liga/desliga” do próprio controle remoto.

Ao ser assim “desligada” a TV, sua imagem e som desaparecem e seus principais circuitos são totalmente desenergizados. Mas, enquanto o aparelho permanecer conectado à rede elétrica, alguns poucos circuitos auxiliares, de baixo consumo de energia, permanecem alimentados e alertas, prontos para religar os demais circuitos quando receberem o sinal do controle remoto.

Pois é nesta acepção que o termo “desligado” deve ser entendido quando se afirma que a tecnologia vPro/cPro pode gerenciar máquinas desligadas. Pois, semelhantemente às televisões com controle remoto, as máquinas destas plataformas, enquanto conectadas à rede elétrica, mantêm alimentados alguns circuitos auxiliares de baixo consumo de energia que são acessados através do controlador da rede. Portanto, para ser gerenciada por uma destas tecnologias, a máquina deve estar conectada à tomada da rede elétrica e ter seu cabo de rede inserido.

Mas, embora isto esclareça a possibilidade de acesso remoto à máquina, definitivamente não explica como ela pode processar dados, posto que os circuitos auxiliares que permanecem energizados enquanto a máquina está desligada não incluem seu microprocessador, ou UCP.

Como eu disse, esta aparente impossibilidade sempre me incomodou. Nas palestras e demonstrações anteriores que eu havia assistido sobre as tecnologias vPro/cPro, ao indagar ao responsável pela apresentação como tal fato seria possível, sempre recebia respostas evasivas que me levaram a entender que se tratava de um assunto confidencial. Mas eu sou insistente. E, finalmente, na palestra do IBF 2007, recebi uma resposta menos vaga do Edison Rodrigues. Disse ele que o processamento é feito no próprio “chipset”.

Processamento no chipset? Pode? Afinal, por “chipset” entende-se “um grupo de circuitos integrados concebidos para trabalhar em conjunto e usualmente comercializados como um produto único”. E mais: “Nos computadores pessoais baseados nos microprocessadores da classe Pentium da Intel, o termo freqüentemente se refere a um par específico de ‘chips’ da placa-mãe, ‘northbridge’ e ‘southbridge’. A primeira liga a UCP a dispositivos rápidos, especialmente a memória principal e a controladora gráfica enquanto a segunda conecta a UCP a barramentos mais lentos como PCI e ISA” (definições obtidas e traduzidas livremente do verbete < http://en.wikipedia.org/wiki/Chipset > “Chipset” da Wikipedia).

Ou seja, o “chipset” consiste em um ou mais circuitos auxiliares. No caso do vPro, a “northbridge” é constituída pelo “chip” Q35, responsável pela interligação da UCP Core 2 Duo com a memória e controladores gráficos (veja diagrama de blocos da Figura 3). E a “southbridge” é constituída pelo “chip” H9 (ou ICH9 no diagrama da Figura 3) que interliga o sistema com todos os demais controladores de E/S, inclusive e principalmente (do ponto de vista da tecnologia vPro/cPro) ao controlador de rede (no diagrama, representado pelo elemento “Intel Gigabit LAN Connect”).

Clique e amplie...
Figura 3: diagrama de blocos de sistema do chipset Q35.

Por outro lado, em informática, por “processamento” entende-se a execução de um programa. Ou, pelo menos, de uma rotina de programação, instruções sucessivas e concatenadas com um objetivo específico. E, tanto quanto eu sempre soube, para isto é preciso um processador. Então como processar dados com a UCP desligada?

Bem, para entender precisamos analisar o significado do “C” de UCP. Que quer dizer “Central”. Ou seja, a UCP é a unidade central de processamento, o microprocessador central, o mais importante do computador. Mas não necessariamente o único. Basta lembrar que em quase todo micro moderno há um microprocessador auxiliar, o processador gráfico, na controladora de vídeo. E nos antigos havia a possibilidade de inserir um segundo processador, o coprocessador matemático, também um processador auxiliar. Logo, se a tecnologia vPro/cPro é capaz de executar processamento de dados em máquinas com a UCP desligada, seguramente haverá um processador auxiliar entre os chips que permanecem energizados enquanto a máquina está “desligada”.

E certamente assim é. Pois embora a Intel não mencione a existência de qualquer processador auxiliar no “chipset” das máquinas vPro (pelo menos não encontrei qualquer menção nas pesquisas que fiz no sítio da empresa), uma consulta ao verbete < http://en.wikipedia.org/wiki/Intel_Active_Management_Technology > “Intel Active Management Technology” da Wikipedia leva ao texto (traduzido livremente): “A Intel Active Management Technology (AMT) é uma tecnologia baseada em hardware que possibilita o gerenciamento remoto ‘out-of-band’ de PCs usando um pequeno processador secundário localizado na placa-mãe” (grifo nosso).

E onde estaria este processador?

Sua localização exata na placa-mãe desconheço. Mas vale a pena examinar novamente o diagrama de blocos do sistema mostrado na Figura 3 e reparar no elemento (apontado pela seta vermelha) “Intel Active Management Technology”. Que está marcado como opcional porque nem sempre é incluído no sistema (mas certamente será incluído em toda placa-mãe dos micros vPro/cPro). Ele representa um ou mais CIs inseridos na placa-mãe e é o responsável pela tecnologia AMT. Aquela que, segundo a Wikipedia, “usa um pequeno processador secundário localizado na placa-mãe”.

Logo, é esta a localização provável do processador auxiliar. Que, estando ligado diretamente ao controlador de rede por onde se dá a entrada de comandos responsáveis pelo gerenciamento remoto, pode interceptar estes comandos e processá-los independentemente do sistema operacional da máquina remota e sem necessidade de que ela esteja ou não “ligada” – desde que, naturalmente, ele próprio seja alimentado.

Portanto, mistério resolvido. Ou melhor, mistério nenhum: nas plataformas vPro/cPro o processamento é possível com a máquina “desligada” (porém necessariamente conectada à rede elétrica) porque é executado por este pequeno processador auxiliar, de capacidade limitada às operações exigidas pelo gerenciamento remoto e que faz parte do conjunto de “chips” de baixo consumo de energia localizados na placa-mãe e que permanecem alimentados quando os demais circuitos (inclusive a UCP) estão desenergizados.

Como se vê, a questão intrigante tem uma explicação simples. Como, aliás, tudo o que diz respeito a computadores e suas características.

Afinal, como não me canso de repetir, não existe máquina mais simples que um computador. E quem afirmar o contrário ou não sabe como o bicho funciona ou sabe mas está tentando valorizar o próprio conhecimento.

O resto é conversa fiada...

 

B. Piropo