Se você não ouviu falar ainda de RISC-V (em que caverna você estava? 😆) aqui vai uma descrição em poucas palavras (na verdade é uma tradução da descrição breve do site da RISC-V International:

RISC-V é uma arquitetura de conjunto de instruções livre e aberto, permitindo uma nova era de inovação em processadores por meio de colaboração de um padrão aberto.

Hoje as arquiteturas de processadores mais conhecidas são as x86 e arm, que não são abertas, ou seja tem de ser licenciadas pelas proprietárias para serem utilizadas e implementadas em silício.

A arquitetura x86 é bem fechada em questão de licenças e hoje temos apenas 3 fabricantes de processadores com licença x86. Sendo Intel, que é dona da propriedade intelectual do x86, a principal fabricante.

Já a arm tem um modelo de negócios totalmente diferente, focando no desenvolvimento da arquitetura e sua propriedade intelectual exclusivamente para licenciamento. A lista de fabricantes de semicondutores que tem licença arm é bem grande, mas você deve conhecer alguns nomes famosos como Samsung, Apple e Qualcomm.

O RISC-V traz a filosofia de liberdade e compartilhamento do software livre para as arquiteturas de conjunto de instruções. As fabricantes de semicondutores agora tem uma opção aberta, não é necessário pagar licença para usar o RISC-V, com as vantagens de um fator de aceleração de inovação e segurança pelo modelo de compartilhamento, ou seja diferentes empresas usando o mesmo padrão, estão também se ajudando no desenvolvimento e aperfeiçoamento da arquitetura.

E o que isso me interessa?

Para nós meros mortais, seja um desenvolvedor de software ou um usuário de produto final com tecnologia RISC-V, espera-se que isso seja transparente (ufa 🥳). Não interessa muito se o produto X ou Z usa RISC-V no final das contas.

Para o desenvolvedor não é esperado que programe diretamente em assembly e que se saiba muito profundamente sobre a arquitetura de conjunto de instruções. Pelo bem da produtividade (e sanidade mental 😅) o desenvolvedor vai lançar mão de linguagens portáveis como C/C++ e kits de desenvolvimento das fabricantes. Por outro lado é sempre bom ter um conhecimento sobre a arquitetura, se por acaso vier a se deparar com um dump de memória, registradores, isso irá levar a uma análise do problema muito mais rápida e eficiente.

Para o usuário final o que pode ocorrer é o problema do suporte de software à nova arquitetura. Por exemplo, eu tive um Motorola Razr i. E na época eu lembro que eram poucos smartphones que tinham processadores Intel. Era o famigerado Atom, tentativa da Intel de entrar no mercado mobile, em suma Android, que era liderado pela arm (ainda é). E já que processadores arm eram mais populares, os desenvolvedores de software quando tinham que embarcar alguma biblioteca nativa embarcavam variantes pra arm e não pra x86. Resultado? Uma frustrante lista de aplicativos da Google Play não era compatível com os smartphones Atom. Até o caso mais famoso, que frustrou muitos donos de smartphones Atom, foi o do Pokemon Go. No lançamento, super hype em cima do joguinho dos monstrinhos, todo mundo jogando, o app não tinha suporte à x86. Ficamos 🤬 por ficar de fora da novidade! Isso foi muito ruim para o marketing do Atom, o que também ajudou para formar sua má fama. Onde quero chegar mencionando essa história é que o mesmo pode acontecer com modelos RISC-V. Esperamos ter RISC-V em smartphones em breve.

Conclusão

Ter uma nova arquitetura de conjunto de instruções seguindo os modelos de software livre é muito legal e excitante! Acredito que teremos uma aceleração em inovação, estabilidade e segurança utilizando RISC-V por esse modelo de compartilhamento que já conhecemos do software livre.