E o que MIPS tem a ver com isso. É que Loongarch é um conjunto de instruções simplificadas similar a arquitetura MIPS. A arquitetura Loongson é dividia em duas versões; a de 32bit conhecida como LA32 e a de 64 conhecida como LA64. A Loongarch já adaptou código fonte da toolchain (GCC/binutils ou clang), libc, kernel e do qemu. Para quem depende de processadores MIPS, o Loongarch pode ser uma futura alternativa.
Há algumas semanas postei o artigo sobre diferentes arquiteturas de processadores. A parte em que menciono que RISCs consomem mais RAM que CISCs acabou despertando o interesse do Anderson Rincon em realizar este benchmark para tirar a duvida já que possui computadores com as duas arquiteturas.
Desde antes do lançamento dos novos computadores da Apple com processadores ARM, a expectativa da galera poder rodar Linux já era muito grande desde que Linux já possui suporte a arquitetura ARM. Eu me lembro de ter lido que a Apple trabalharia para que não fosse possível utilizar outro sistema operacional em seus novos chips porém saiu a noticia no site TechRadar que sim, agora é possível rodar Linux em chips Apple M1 utilizando o QEMU.
O desenvolvedor da AmazonAlexander Graf trabalhou em patches para adaptar o Qemu e assim ser possível rodar tando Windows quando Linux no Apple M1. No momento seus patches estão na versão 2 (que como principal característica está consumir menos CPU), foram enviados para a aprovação e podem ser conferidos clicando aqui.
Joe Masters da Red Hat postou uma imagem instalando o Fedora 33 no M1 MacBook Air agradeceu a Alexander Graf pelos Patches.
Ainda não é uma das melhores opções e como dito pelo próprio Joe é de longe a melhor experiencia e ainda precisa de muito polimento. Ainda não é considerado necessariamente rodar Linux ou Windows nos Apple M1, mas como foi até mencionado, isso facilitará o trabalho dos desenvolvedores em várias partes. Tanto é que já estão utilizando seus patches para isso e pode ser conferido o novo projeto clicando aqui.
Parece estranho afirmar, mas estamos em um período de transição de arquiteturas. O X86 está sendo descrito como não fazendo mais sentido, as empresas andam focando muito na arquitetura RISC (mais especificamente nos ARMs) e o Risc-V entrando como um grande rival após a Nvidia ter adquirido o ARM.
"Depois de ter exito no RISC-V mais rápido do mundo à 5GHz e 13,000 CoreMarks, nós alcançamos outra marca ao produzir acima de 8,000 CoreMarks à 3GHz enquanto consome menos de 70mW."
Através de suas ferramentas, a Micro Magic demonstrou seu silício em operação que se demonstram mais de 10 vezes melhor do que qualquer CISC/RISC/MIPS. O que pode se tratar de uma revolução no uso de smartphones e tablets (mas não descartam também desktops, servidores e até supercomputadores).
O que nos resta é esperar e ver se na prática o Risc-V vai realmente nós surpreender já que as notícias são animadoras. Se isso realmente acontecer, imagina quando ocorrer a transição do silício para o grafeno ou o borofeno. Imagina como será renderizar filmes (lembrando que Shrek levou em torno de nove meses para ser renderizado em um render farm), compilar seus códigos (imagina compilar o kernel :), trabalhar com simulações, super computadores, machine learning e jogar.
Depois de rumores que os processadores ARM irão ter um aumento de preço como mencionei na ultima live, foi dito que as empresas começam a buscar novas soluções e seus olhos começam a voltar para o processador RISC-V uma vez que é open source (livre de patentes e com preço bem reduzido, permitindo além de produzir sem a necessidade de autorização (e até produzi-lo modificado), mas também repassar de forma mais barata ao consumidor final).
E falando de versões modificadas do RISC-V, no Fosdem de 2020 foi apresentado HammerBlade, um RISC-V manycore open source que está sob desenvolvimento desde 2015 e já possui seu silício validado com um chip de 511núcleos de 16nm TSMC. Ele possui extensões de recursos para o RISC-V ISA que miram desempenho de GPU do mercado para computação paralela (ex. GPGPU) includindo graphs e ML workloads.
Depois que a Apple anunciou a migração de X86 para ARM, muita gente se preocupou quanto a possibilidade de não poder utilizar programas de uma arquitetura em outra. A Apple já fez o processo de transição da arquitetura PowerPC para a X86 sem apresentar trabalhos críticos; desta vez eu acredito que não será diferente. No meu vídeo sobre Ubuntu rodando no meu Power Mac G4 eu explico através do kernel do Mac OS X Leopard como a Apple realizou esse trabalho até que todos os fornecedores pudessem portar os seus programas para X86:
Migrar para ARM parecia algo previsível; em 2.015 o site Mac Rumors já havia postado a noticia sobre a pretensão da Apple migrar para ARM e a resposta da Intel afirmando que o relacionamento entre as duas empresas ainda era muito forte; em 2.018 a Apple vendeu quase 218 milhões de Iphones e apenas pouco mais de 18 milhões de Macs. As coisas ficaram cada vez mais óbvias com o lançamento do novo Ipad Pro que era mais poderoso que 92% dos desktops acessíveis do mercado da época, rodando Photoshop nativamente, navegando na internet e utilizando Whatsapp ao mesmo tempo (e até arrastando do navegador e soltando no Whatsapp) e termina com a frase "ele é como um computador mas diferente de qualquer computador".
Uma coisa que deixou os apaixonados por Mac foi a possibilidade de retrocompatibilidade não somente com Intel, mas também com outras arquiteturas passadas. Um desenvolvedor apaixonado por Macs antigos chamado tenFOURFox escreveu sobre a possibilidade de rodar até cinco arquiteturas em um unico binários (ARM64, 32-bit PowerPC, 64-bit PowerPC, i386 e x86_64) e potencialmente até 17 arquiteturas em um único binário (ppc750, ppc7400, ppc7450, ppc970, i386, x86_64, x86_64h, armv4t, armv5, armv6, armv6m, armv7, armv7em, armv7k, armv7m, armv7s e todos os outros Macs com AARM.)
Uma informação que prometi na live que iria pesquisar é qual tecnologia GPU será utilizada nos novos Macs com ARM. A unica coisa que se sabe é que a Apple guarda esse segredo a sete chaves pois parece ser tecnologia própria da empresa.
Core Semiconductor tem como um de seus produtos, o processador J-core
Desde mais de 2017 eu venho falando sobre o re-desenvolvimento dos SuperH que é uma família de processadores Risc Hibrido da Hitachi focado em dispositivos embarcados, eletrônicos, foi utilizado na industria automobilística e no SEGA 32x, SEGA Saturn e SEGA Dreamcast. Diferente dos tradicionais processadores RISC (como os ARMs por exemplo) que realizam processamento procedural (um processamento de cada vez), os SuperH realizam processamentos em paralelo (vários processamentos simultaneamente).
Visão geral do J-core
No dia 30 de Junho de 1999 Linux recebeu suporte ao SuperH (sete meses após o primeiro local de lançamento do Dreamcast que foi no Japão em Novembro de 1998) e até hoje mantem o seu suporte no kernel Linux. Por isso acho que talvez teria sido interessante se o Dreamcast rodasse Linux e não Windows CE. Mas as coisas não são tão simples o quanto achamos, a parte comercial é bem delicada a ser tratada e deve ser respeitado. Como pode ser lido na revista 101 games #11 dreamcast da warpzone (e que inclusive eu tenho essa edição autografada pelo Ivan :) já havia feito acordo com empresas dividindo em duas equipes (uma no japão e a segunda nos Estados Unidos) para apresentarem dois projetos diferentes e que, é claro, no final das contas, um seria o novo console da empresa. O que ocorreu é que a 3dfx (uma das empresas que perdeu) processou a SEGA. Imagina a SEGA resolver mudar de Windows CE para Linux depois de tudo pronto e tomar mais um processo, só que desta vez da Microsoft. Melhor não né ;)
Com a crise asiática várias empresas foram afetadas, inclusive a Hitachi. Sem muitos detalhes, mas por conta disso, as patentes dos processadores SuperH não foram renovadas e o resultado disso você confere no vídeo abaixo:
Uma vez que suas patentes caíram em domínio publico, as empresas podem produzir suas próprias versões de SuperH livremente assim como o RiscVe uma das versão open source do SuperH que ganha destaque no mundo é o J-Core. Eu escrevi um artigo chamado "O que é Disposable Computing?" onde explico alguns dos projetos do J-Core que pretendem trazer (inclusive uma versão x86). Já a Core Semicondutor possui sua própria versão de SH2 chamado J-32 (inclusive o artigo "O que é Disposable Computing?" foi onde pela primeira vez mencionei sobre o J32).
Honestamente eu fiquei impressionado com as características do J32; pois eu tinha condicionado em mente que sim, seria algo melhor do que o SH2, mas não a ponto de ser melhor que certos ARMs como pode ser conferido na tabela abaixo:
Tabela comparativa entre o ARM Cortex-M1, ARM Cortex-M4 e o J32 Core.
Enquanto o SH2 possuía clock de 29MHz, o J32 possui clock de 150MHz (cinco vezes mais que o SH2) além de suporte a SMP, 8kB de cache de instrução mais 8kB cache de dados por CPU, suporte a Boot ROM, SRAM, MMU (não é esperado que o J2 tenha suporte a MMU), DMAC, DDR controller, dual EMAC, GPIO, dual SPI I/F, dual UARTs, dual I²C I/F e JTAG. Quando falamos de J-core, vale também mencionar a Turtle board que é um protótipo de placa inspirado na placa do Raspberry Pi e que teria sido apresentado em eventos esse ano no Canada e no Japão se não fosse o caso da pandemia que estamos enfrentando. A Core Semicondutor possui também o seu próprio protótipo chamado Jx IoT(como a placa mãe também é open source, todas as empresas tem permissão de produzir suas próprias versões sem a necessidade de autorização).
Se o J32 chegou a esse ponto, imagina o que podemos esperar do J4 ou do J6 e até do J64. Será que o J32 motivará a galera apaixonada pelo SEGA Saturn a criar uma iniciativa de trazer o console de volta a vida em um novo hardware? Quem sabe? Espero que sim.
Se chegou distraído e não faz ideia do que se trata o j-core, então eu explico de novo, sem crise. j-core é uma família de processadores inicialmente baseado no SuperH da Hitachi que foi utilizado no vídeo game Dreamcast da Sega, em arcades e também em robos no setor automotivo (sim, esse processador foi utilizado em robos que montam carros). A galera chegou a utilizar o Dreamcast como servidor VPN com Linux.
Devido se tratar de um Risc hibrido (processadores risc realizam um calculo de cada vez enquanto o SuperH é um risc que realiza cálculos em paralelo), esse processador chegou a ser cobiçado. E depois que a Hitachi perdeu sua patente, então estão produzindo-o novamente na Índia para ser utilizado na IoT e em vários outros lugares. Neste artigo eu explico melhor onde cada um será aplicado.
No dia 5 de Dezembro, as Turtle boards chegaram ao Canada e algumas estão indo para o Japão. Em Janeiro (especificamente no dia 13 de Janeiro) do ano que vem, irão realizar uma curta apresentação de 20 minutos na linuxconf.au onde irão explicar por que estão trabalhando no j-core. Ainda há muito trabalho técnico a ser feito, mas parece que irão fazer mais apresentações em outros ventos. Vamos aguardar para ver o que acontece no futuro.
Nesta segunda aula, o Gustavo ensina como começar a desenhar na tela, como funcionam as coordenadas da tela, o que são funções e um monte de outras coisas legais!
Eu já venho abordando sobre o Atari VCS desde que chama-se Ataribox (que inclusive eu achava esse nome mais da hora). Agora temos a noticia de que o console chegará ao mercado custando 250 doletas (no Brasil já é outra história né. Então, deixa quieto...). Outro detalhe ruim é que só em Março de 2020. Maa vamos a o que interessa.
Um ponto interessante é que o Atari VCS terá o processador SoC AMD Ryzen R1000 e em três modelos diferentes; o Onyx 400 com 4GB RAM por $250, o Onyx 800 com 8GB de RAM por $280 e o Black Walnut pela bagatela de $390. O Onix 800 possui suporte a 4K e 60fpsHDCP 2.2 (informação incerta, mas virá com o Ryzen R1606G) e 32GB eMMC.
Por padrão, o console virá com uma distribuição Linux personalizada (como mostro no meu vídeo abaixo) mas permitindo a instalação tanto de outras distribuições como SteamOS e ChromeOS quanto até mesmo o Windows.
Agora é espera até 2.020 para conferir se valeu a espera. Até a próxima galera.
musl já possui suporte a pelo menos quinze arquiteturas (sendo uma delas, RiscV) e vem sendo adotada cada vez mais pelas distribuições Linux. Há planos por exemplo de portar o Debian para a musl (no passado Debian já havia sido portado para outra biblioteca que, como se tratava de um fork da GlibC que fundiram os dois projetos, por esse motivo o Debian acabou retornando para a GlibC). Uma distribuição não fica atrelada a um único projeto tenda a liberdade de escolher outras ferramentas e até de se desvincular do que já tem.
Mas mesmo tendo suporte à varias arquiteturas, há um trabalho sendo feito para a biblioteca venha a ter suporte a arquitetura RiscV64 vindo de empresas como a Mforney, a cmpwn, a SiFive e até a Google.
Nesta versão a equipe removeu por hora o suporte a riscv32 (já que a ABI de 32 bits ainda não está estável) e portaram a distribuição Alpine Linux para riscv64 sem se depararem com problemas. Atualmente a comunidade Adélie Linux também está envolvida em um trabalho portando musl libc para arquitetura SPARC.
Aqui você pode assistir um vídeo do canal e conhecer um pouco mais sobre a história e características da biblioteca musl:
Pois é, na ultima noite a AMD apresentou a sua próxima geração de processadores na Computex 2019 Keynote e eu acompanhei ao vivo. Então, aqui vamos debater um pouco o que virá por aí.
Foram debatidos muitos assuntos neste evento como o RDNA (arquitetura de jogos que está por vir para a Radeon RX 5700) e o suporte a nova PCIe 4.0 (sendo a AMD a primeira a dar tal suporte). Mas aqui quero focar somente na terceira geração dos processadores Ryzen que introduz o novo núcleo Zen 2 permitindo maior desempenho, limite de até 12 núcleos e 24 threads (obs.: Para desktops). Dentro desta lista, deixa de existir o Ryzen 3 e passa-se a ter Ryzen 5, 7 e 9.
Terceira geração de processadores AMD Ryzen
Foi demonstrado benchmark entre a nova geração versus os processadores da Intel (Ryzen 7 3700X vs. i7-9700K) e dependendo do processodor, houve ou empate ou ganhos entre 16% à 30%. Houveram vária inovações em chipset, placa de vídeo e informações sobre preços. OS preços sugeridos no evento agradáveis se não fosse a realidade do nosso país que ainda não ajuda muito; exemplo disso é a primeira geração ainda não apresentou grande diferença nos preços por aqui desde o seu lançamento. Mas vale a pena conferir o evento e ver o que vem por aí ;)
AJIT - O microprocessador desenvolvido e fabricado na Índia
A empresa indiana SCL (Semi-Condutor Laboratory) entrou para a lista dos poucos países a serem fabricantes de chips (algumas delas seriam USA, Canada e China) apresentando o processador AJIT.
Apesar de ser o primeiro projetado no país, esse não é o único fabricado por lá. A família de processadores j-core que abordo muito aqui no canal, está sendo fabricado por lá também. É uma tendencia natural; as coisas começam mudar de quadro em país como a China, a tendencia é ir para outro.
Como já mencionei, o j-core é baseado no processador SuperH da Hitachi que foi utilizado no vídeo game Dreamcast e em robôs de montadoras de carros na Asia. Eu já escrevi alguns artigos sobre e fiz até um vídeo sobre o processador (e fui além, entrevistei um dos que trabalham em seu desenvolvimento)
Pouco se sabe sobre o AJIT; mas o que podemos obter de informação é que um processador de 32 bits com clock de 70 a 120MHz., possui Unidade lógica e aritmética (ULA), Unidade de Gerenciamento de Memória (MMU), Unidade de Ponto Flutuante (FPU) e Unidade de Depuração de Hardware (Hardware Debugger Unit = HDU), mas não se sabe qual a sua arquitetura.
Seus chips são de 180 nanômetros mas há planos para mudarem para 65. Esse processador irá custar em torno de $1.44 (sim, um dólar e quarenta e quatro centavos). Aí alguém pode chegar a dizer: "E o que que eu vou querer fazer com um processador desses com clock tão baixo e uma litografia tão grande? KKKKKK"
É, geralmente as pessoas tem esse tipo de limitação quando se baseiam unicamente no que veem ou conhecem. Mas esse processador não será focado em desktops mas sim em painéis de controle, set-top boxes, controle de tráfego e robótica. E porque eu estou falando desses processador? Simples, porque sim.
Atari CVS é o novo console da Atari em parceria com a AMD que tem Linux como sistema operacional padrão. Nessa data, a AMD anunciou oficialmente seu novo processador SoC R1000 que pode cuportar conteúdo HDR 4K a 60fps de forma segura.
Alpine Linux é uma distribuição segura, pequena e leve que faz uso da musl como biblioteca C no lugar da GlibC e do Busybox como terminal no lugar do Bash. Outras distribuições já passaram a adotar a musl como biblioteca C e há planos também por parte do Debian para a sua adoção (como já houve no passado).
Drew DeVault trabalha em adicionar melhor suporte a RISC-V na musl enquanto trabalha no port do Alpine Linux para a arquitetura baseado no patch abaixo:
Drew já escreveu três patches e integrou outro que foi encontrado no github ao seu port. Em contato com a equipe da musl, Ricth Felker solicitou a lista de contribuidores para conferir se não há omissões de nomes; o que foi lhe passado um dia depois. Vale acrescentar aqui que o toybox também receberá port para a arquitetura que é bem promissora.
Você analisa externa e internamente um sistema operacional e quase chegando a conclusão de que é uma distribuição Linux (mesmos comandos, mesmo sistema de arquivos, estrutura de diretórios parecidas e até mesmo bootloader). Até que se depara com outro ponto... Não se trata de Linux... Mas como assim? Fica aqui uma questão para analisarmos. Bora para o arrebento:
Depois que postei o artigo Emulador de NES no HelenOS,o pessoal vem me pedindo para falar sobre o sistema operacional e aqui resolvi em explicar sobre o sistema operacional micro-kernel e até mesmo como o conheci. O interessante foi me contarem que há canal de Linux que afirma com se trata de uma distribuição Linux.