Arquivo da tag: matemática

Crônica de uma morte anunciada: o Coprocessador Numérico x87

Assim como quem não quer nada, resolvi começar a ler sobre programação Assembly para processadores Intel do seu PC velho… mas a versão muderna, cheia de zilhões de instruções, registradores a dar com pau, mil maneiras de fazer operações paralelas e o escambau. Por que alguém faria algo tão insano? Ora raios…

Pois bem, ao longo dos mais de 40 anos que a arquitetura sobreviveu, níveis e mais níveis de funcionalidade foram sendo adicionados uns por cima dos outros, mantendo sempre todas as estruturas anteriores presentes:

16 bits modo real16 bits modo protegido32 bitsMMX64 bitsSSEAVX … e contando.

Correndo por fora, existiu, lá nos primórdios, um bicho chamado 8087 – o Coprocessador Matemático. Se seu PC tivesse esse chip, ele adicionava instruções para fazer operações matemáticas com números reais, não apenas inteiros, e também operações como seno, cosseno, logaritmos… a partir do 486, ele passou a ser incorporado ao processador principal, mas todas as velhas instruções como FMUL, FDIV, FCOS etc estavam lá, e usá-las sempre foi a melhor maneira de fazer contas. A alternativa era usar bibliotecas de ponto flutuante, lentas e nem sempre dentro do padrão (é o que os nossos retromicros clássicos usam).

Mas aí que tá… os novos conjuntos de instruções SSEn e AVX, planejados para realizar várias operações ao mesmo tempo num conjunto grande de números, também fazem operações de ponto flutuante. Aí, no capítulo sobre otimização deste livro, leio o seguinte:

Os seguintes critérios devem ser observados ao escrever código em Assembly que realize aritmética de ponto flutuante:
* (…)
* Em código novo, use as funções escalares das arquiteturas SSE ou AVX, em vez da FPU x87.

Pois é, a utilidade do velho chip, amigão dos estudantes de engenharia (e de tantas outras áreas) nos anos 80, chegou ao fim. Mais um dinossauro se dirigindo lentamente ao poço de piche. É provável que daqui a alguns anos, os quatro primeiros itens da cadeia de setas acima sejam abandonados e os novos processadores sejam puramente 64 bits.

102 anos de William Thomas Tutte

Se estivesse vivo, esse simpático senhor ao lado estaria completando 102 anos hoje. Mas você vai se perguntar: William quem? Bem… Devemos também a ele muito do que temos hoje de tecnologia.

WIlliam Thomas Tutte (ou Bill Tuttte, como queiram) foi um matemático britânico (aê!) e criptologista que trabalhou em criptoanálise, e foi uma peça fundamental para, na Segunda Guerra Mundial, quebrar o código de cifragem nazista. O seu trabalho foi fundamental para a derrota da Alemanha nazista.

Estudou na Universidade de Cambridge, mas posteriormente, ele dedicou-se à Teoria dos Grafos, se mudando para o Canadá e trabalhando na Universidade de Toronto. Mais um dos heróis não cantados da história.

O primeiro computador que calculou π

ENIAC

Comemorando o Dia do Pi, você sabe qual foi o primeiro computador a calcular esta constante? Foi durante um feriadão em 1949 que o ENIAC entrou para a história calculando π, aquele número irracional que amamos odiar (ou odiamos amar?), com precisão de 2.037 dígitos em apenas 70 horas de processamento (e olha que os 200 primeiros ele já tinha como “cola” no programa).

E calma que melhora. Se atrasarmos só uns minutinhos o início da MSXRio de hoje, poderemos fazê-la começar no Instante Pi!

( Retrocomputing do Google+ )

Refazendo o “Amiga Juggler”

Outono (no hemisfério norte) de 1986, Eric Graham descobre que seu Amiga 1000 é suficientemente poderoso para rasterizar cenas 3D. O teste criado por ele, um robô fazendo malabarismo com três esferas, surpreendeu não só a comunidade de usuários da máquina como os próprios executivos da Commodore que rapidamente correram para adquirir os direitos da animação para usá-la na divulgação do computador.

Continue lendo Refazendo o “Amiga Juggler”