Arquivo da tag: Assembler

Repórter Retro 070

O Seu Repórter Retro

Bem-vindos à edição 070 do Repórter Retro.

Links do podcast

Música de fundo

Random Chiptune Mix 23

Ouvindo este episódio offline

Baixe o ZIP, descompacte e ouça com seu tocador de música preferido.

Onde este episódio (e todo o Retrocomputaria) está disponível

Os episódios do Repórter Retro estão, como todo o conteúdo do Retrocomputaria, em muitos lugares: Spotify, YouTube, Google Podcasts, Apple Podcasts, Deezer e, usando nosso feed RSS, qualquer programa para escutar podcasts.

Seu comentário é o nosso salário

Não se esqueça de deixar seu comentário aí embaixo; afinal, seu comentário é o nosso salário. No entanto, caso você prefira, entre diretamente em contato conosco.

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.

O último negócio inacabado da RetroRio (Parte 2)

Fechamos o 1º Ciclo de Palestras Retrocomputaria com a palestra sobre desenvolvimento de jogos para MSX com Giovanni Nunes, onde o autor fala sobre a sua experiência, e como empregou técnicas de desenvolvimento atuais para desenvolver jogos para uma plataforma clássica.

ATENÇÃO: Palestra com excessiva concentração de nerdice e altos graus de repimboca da parafuseta em 8 bits. Só para os fortes.

Agora que finalmente acabamos os negócios inacabados, nosso muito obrigado ao Giovanni pela palestra instrutiva, ao Mario Trotta pela deliciosa entrevista na outra metade do Ciclo, ao Michel Maldonado (que a princípio não tem planos de virar pastor) pela edição dos vídeos, e a todos que abrilhantaram esta RetroRio.