Notícias eScience

Saiba o que está há de novo no CEPID eScience!

Voltar

Questão de compatibilidade

Softwares antigos não deveriam rodar nos computadores modernos? Professor Rodolfo Azevedo responde

Em 1989, quando o professor do Instituto de Computação (IC) da UNICAMP Rodolfo Azevedo começou a mexer com computadores, usava-se um disquete grande, maior do que os de 1995, para levar um arquivo de um lugar para o outro e fazê-lo funcionar.

"Hoje não dá para rodar o programa antigo não só por uma limitação física, ou seja, por não haver entrada para aqueles disquetões. Todos sabem que existem notebooks que não têm mais entrada para CD atualmente. O motivo é outro: muitas vezes não é possível fazer funcionar um software antigo em um equipamento novo porque os processadores podem ser diferentes", explica o professor.

O x86 é um dos primeiros processadores a serem usados. O x86 é conhecido por Intel, mas Intel (Intel Corporation) é o nome da empresa fabricante que, na prática, passou a "dar o nome" ao processador (assim como a empresa Gilette acabou por ser sinônimo de "lâmina de barbear"). Os computadores antigos dos anos 1990 usavam o x86.

Já os tablets e os smartphones atuais, por exemplo, usam processadores ARM (da ARM Holdings), que tem uma arquitetura com instruções diferentes dos processadores x86 da Intel.

"É por isso que seu celular não é capaz de fazer funcionar um programa antigo", esclarece o professor Rodolfo.

Descoberta – No seu trabalho de pesquisa, o professor Rodolfo integrou uma equipe que descobriu que 40% das instruções antigas deixam de ser usadas conforme surgem novas versões do software. "Isso vai deixando o computador mais lento", diz.

O x86 foi analisado entre 1995 e 2012 e a conclusão foi de que mais de 500 instruções não eram nunca usadas nessas aplicações. "Elas deixam o computador mais lento porque essas instruções, embora não usadas, demandam maior esforço do hardware para fazer verificações, por exemplo", explica o professor.

A equipe propôs como solução um mecanismo de exclusão das instruções antigas sem prejudicar a compatibilidade. "Excluímos o que não é usado e tornamos possível que o novo software seja carregado fazendo cálculos alternativos para chegar até as instruções anteriores, caso necessário, resolvendo qualquer problema", explica Rodolfo.

A equipe formada pelo professor Rodolfo Azevedo, Bruno Cardoso Lopes, Rafael Auler, Luiz Ramos e Edson Borin, teve esse trabalho apresentado no ISCA (sigla em inglês para Simpósio Internacional de Arquitetura de Computadores), um dos mais importantes eventos dessa área no mundo. A UNICAMP foi a única instituição brasileira presente no ISCA, que foi realizado na cidade de Portland, nos Estados Unidos, em junho.

Redação, 15/07/2015