Mostrando postagens classificadas por relevância para a consulta j-core. Classificar por data Mostrar todas as postagens
Mostrando postagens classificadas por relevância para a consulta j-core. Classificar por data Mostrar todas as postagens

Core Semiconductor possui sua própria versão o processador do SEGA Saturn para IoT

Core Semiconductor tem como um de seus produtos, o processador J2
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
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é ;)
Clique aqui para obter a edição numero 11 da revista Warpzone 101 games que é a edição especial do Dreamcast
 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 RiscV e 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.
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 SMP8kB 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).
Jx IoT
Jx IoT
 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.

Iniciada produção da Turtle Board


Beleza galera?

Noticia rápida que eu queria passar para vocês. No dia 8 de Maio foi informado que inciaram uma pequena produção (sem pré-venda) da turtle board, a placa mãe para o processador j-core.

Para quem não conhece o j-core e a Turtle board, j-core é uma geração de processadores que estão nascendo baseados nos processadores dos consoles Sega; o Sega 32X, o Sega Saturn e o Dreamcast (os processadores SuperH que foram desenvolvidos pela Hitachi no final da década de 90 como uma segunda geração de RISCs híbridos). Esses processadores foram também amplamente utilizados em áreas fora do mercado de consoles como nas industrias automotivas no Japão.

Devido a crise econômica asiática de 1997, a Hitachi cortou gastos e em 2002 estabeleceu uma nova divisão de microprocessadores junto a Mitsubishi chamada Renesas que não herdou os engenheiros desenvolvedores do SuperH e que também não apresentou interesse em continuar o seu desenvolvimento (até que as patentes expiraram e assim nasceu o j-core).

O criador do projeto uClinux, Jeff Dionne (que é engenheiro de hardware), criou um novo design de processador compatível com o conjunto de instruções do SuperH e o disponibilizou sob a licença BSD em 2015 (hoje, o j-core).

Caso queria saber mais, além dos links que podem ser clicado aqui no artigo, vou deixar o vídeo aqui para poderem assistir:


A primeira geração do j-core é o j2, que é compatível com o sh2 (processador do Sega Saturn). O Linux, o gcc, binutils e a biblioteca Musl possuem suporte ao j-core out of the box. O QEMU possui suporte ao sh4, mas necessita do seu próprio kernel (ainda).
há código fonte, binários, kernel do Linux já compilados patch para o kernel 4.8 disponível para download no site oficial.
O pessoal anda bem ocupado. Rob Landley mesmo andou trabalhando em um substituto para o Aboriginal Linux (chamado mkroot, que utilizará o toybox ao invés do busybox).

A comunidade Debian já trabalha para ter suporte ao j-core e é previsto que o projeto J-Core possua suporte total ao conjunto de  instruções do SH4 no processador J4 até 2017.

Novidades sobre o j-core

Novidades sobre o j-core
Novidades sobre o j-core
 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.

Da Sega ao Linux

Dreamcast foi um baita console da Sega que me conquistou na época que foi lançado. Uma pena que essa parte da Sega não existe mais pois era muito promissora para nós (e acredito que isso gerou um certo atraso no avanço dos consoles).

Para nossa sorte surge disso o j-core. O j-core é baseado no processador SuperH da Hitachi tendo as versões j2 baseado no SH2 (processador do Sega 32X e do Sega Saturn e que não possui MMU), j4 baseado no SH4 (processador do Dreamcast e é esse que eu quero :) e uma versão chamada j86 que seria uma versão de x86 do j-core.

Se não assistiu o vídeo ainda, não tem problema, confira logo abaixo:


Para quem duvida do poder do hardware de um console, teve até mesmo um cara que usou um Dreamcast como roteador e ensinou como fazer tal construindo um Linux do zero. O cara criou um projeto chamado LinuxDC (Linux on DreamCast) em que ele disponibilizar o patch para transformar o DreamCast como firewall e VPN. Documentação muito show.

Algumas observações e correções feitas pela galera que assistiu o vídeo (valeu pela força galera :)
  • O PS3 foi utilizado na Unicamp também para realizar pesquisas. Quem quiser saber mais, basta clicar no link abaixo.

  • O termo correto para o CD dos jogos do Dreamcast não é CD e sim GD-ROM. Eu sempre chamo de CD porque o nome completo do GD-ROM do Dreamcast é o Gigabyte CD-ROM (por isso meu hábito de chamar unicamente de CD). Uma propriedade intelectual a Sega que armazenava até 1.2GB.
  • Spartan não é um processador e sim FPGA, um circuito programável (valeu pela observação José :)
http://j-core.org/
Link para o LinuxDC, basta clicar aqui
Unicamp utiliza Playstation 3 para realizar pesquisas
http://0pf.org/j-core.html
https://lwn.net/Articles/647636/
http://events.linuxfoundation.org/sites/events/files/slides/Turtles%20all%20the%20way.pdf
http://j-core.org/talks/ELC-2016.pdf
http://s3.eurecom.fr/~zaddach/docs/Recon14_HDD.pdf

O que é Disposable Computing?

Relógios feitos em E-paper
Relógios feitos em E-paper pela Sony
Eu não sei ao certo um nome a dar esse tipo de tecnologia em português pois não se vê nada relacionado ao assunto em nosso idioma (ao menos não encontro nada). O termo para Disposable Computing em português seria como computação descartável ou computação disponível.

E o que seria Disposable Computing?

A melhor fonte para explicar o que seria foi o dado por Rob Landley eu seu site oficial em que relata o exemplo e que chegamos a conclusão que o termo mais lógico é computação descartável:
"Imagine uma caixa de cereal na prateleira de uma merceria com um painel E-paper (outra tecnologia interessante) que auto-atuliza a cada 30 seconds. Tudo rodando a partir de um pequeno chip em um canto da caixa que pode imprimir de uma bateria de relógio durantes seis meses, é implementado um pouco parecido com uma RFGID tag, e custa menos que o "o brinquedo de graça dentro da caixa". O J2 e J1 devem fazer bem nesse market."
Essa foto eu tirei em um supermercado de Florianópolis e apesar da imagem estar embaçada, esse é um  ótimo exemplo de como seria; porém, nas caixas dos produtos ao invés de ser na prateleira.
 É aqui que entra o J-core. j-core é uma família de processadores RISCs híbridos, open source  (sob licença BSD), SoC (sim, ao menos CPU e memoria em um chip só), baseado no conjunto de instruções do processadores SuperH da Hitachi. Para saber mais sobre o j-core, fica o vídeo explicativo abaixo:


 Existem cinco projetos (ou mais) de processadores da família j-core sendo eles o j1 focado em Arduino, o j2 (sendo esse o primeiro processador desta família a ser trabalhado inicialmente em 2015) que implementa as mesmas características do processador do Sega 32x  e do Sega Saturn e mais três instruções que não havia nesses dois (sendo uma delas originada do processador S360 CAS da IBM). Esse processador possui 265 MB de memória LPDDR mas não possui suporte a MMU.

 O j3 que roda códigos do sh3, possui suporte a MMU e FPU (que era somente de 32 bits e passando a ser de 64 bit com a implementação do j4) e adicionarão um novo modelo de DSP que está em desenvolvimento ao j3.

 O j4 é o mesmo processador sh4 do console Dreamcast porém possui novas instruções comparado ao sh4 que é a capacidade de executar mais de uma instrução por ciclo de clock (executar operações em paralelo, o que é uma das belezas do SuperH). E por ultimo o j64 que é uma aproximação do x86 de 64 bits para o j4.

[NOVO, CRIADO EM 29/12/2019] Há também o J32 que é equivalente ao SH3/SH4 porém sem suporte a FPU (mas ainda não há confirmação desta informação  enquanto não finalizarem os testes).

 E há também o trabalho sendo feito sobre a placa mãe para tal família de processadores chamada Turtle Board (que parece que pretendem mudar o nome).

Intel lança processador Core i9-7980XE com 18-core e até 36 threads


core-9-7980xe-com-18-nucleos-e-ate-36-threads
Core i9-7980XE com 18 núcleos e (até) 36 threads
Depois que foi lançado o processador Ryzen™ ThreadRipper™ da empresa AMD com até 16 núcleos e 32 threads, agora a Intel lança a série Core-X que é a sua sétima geração de processadores chamado Core i9-7980XE com 18 núcleos e (até) 36 threads.

Eu baixei o PDF de 8 páginas sobre o processador direto do site da Intel  para dar uma lida. Eu achei até interessante se olharem o gráfico abaixo, mas não percebi muita diferença entre o Core-X e o Ryzen.
especificacoes-da-serie-core-x-da-intel
Especificações da série Core-X da Intel
RyzenCorei9X-Series
Eu percebo que é novamente mais uma ação desesperada da Intel para não perder mercado para a AMD que vem acontecendo desde o Athlon64 X2. A Intel sempre toma uma ação primeiro (devido o novo processador da AMD que é lançado) para depois a Intel lançar uma nova geração. No caso, na época do Athlon64 X2 (processador com 2 nucleos reais, com hipertranspot, consumia menos energia e esquentava menos) a Intel lançou o Dualcore (que tinha um núcleo físico e um virtual) somente para acompanhar o mercado até que fosse lançado o Core2Duo.

A mesma história se repete entre o Ryzen e o Core i9. A primeira iniciativa da Intel foi reduzir os preços dos seus processadores para agora lançar um processador igual ao Ryzen.

Não vejo a Intel inovando hà um bom tempo:
  • A Intel vem copiando a AMD há longa data
  • Os bons processadores da Intel são a partir da segunda geração de cada série (quem compra a primeira mesmo se lasca).
  • A Intel só possui processadores X86 multi-core graças a AMD ter disponibilizado estas especificações.
  • Além do Dualcore (que foi horrível) ainda lançou o CoreDuo antes do Core2Duo (varegistas até aconselhavam as pessoas a não comprarem esse processador).
  • Vem temendo até mesmo o processador ARM e já tem medo do j-core
  • Falando de ARM, que é um processador muito pequeno (chegando a ser do tamanho de uma tecla), a Intel lançou por volta de 2008 o processador Atom  que foi um fracasso. Eu até tenho um e gosto dele, mas é bem limitado em vários aspectos.
  • Sem mencionar que a Intel contratou a AMD para juntas trabalharem nos APUs Intel (uma vez que a AMD entende dessa tecnologia melhor que a Intel).
  • Lançou a série "i" (corei3, corei5 e corei7), mas que não chegou a ser grande diferença comparada a série anterior (Core2Duo e Core2Quad).
  • Agora a intel lança a série "X" (i5X, i7X e o novo i9/X) pela baranha de apenas um rim (processador caro do caramba). O i9 mesmo não possui notáveis mudanças comparado comparado ao antigo i7 e ainda possui um socket gigante com mais de 2.000 pinos (e houve ainda que me dissesse que o i9 é pequeno).
Por hora é só galera. Semana que vem tem vídeo especial no canal sobre a AMD.

Retrospectiva Toca do Tux 2.017

Beleza cambada? Fazendo uma retrospectiva no canal das coisas que mais achei interessante. Achei que não ia fazer nada esse ano, mas estou empolgado.

Esse ano iniciei a série Muito além do GNU onde mostro muito mais ferramentas no mundo Linux e que não tem vinculo algum com o projeto GNU:

 Endless Lança dois computadores feitos de bambu com o nome de mission one e mission mini. Inclusive Compareci a Campus Party 2017 graças a equipe do Endess:


E Abril foi lançado o game Wonderboy e em Junho foi disponibilizado para Linux. Em Junho também iniciaram a produzir a primeira placa mãe para o J-core chamada Turtleboard.
Turbleboard, a placa mãe para o J-core
Teve também a questão do fim do ambiente grafico Unity do Ubuntu e do o Mir. Então, nos resta o Wayland para competir com os X:


Mas a galera da comunidade já criou um fork da bagaça (essa é uma das belezas do mundo open source). Essa não é a unica mudança no 18.04; no ano passado também anunciaram que não iriam mais dar suporte a arquitetura de 32 bits.


Ataribox e o Spartan Console rodando Linux.


Esse ano teve o lançamento do kernel 4.13 entrando para história e teve também a série a pior história sobre Linux que eu ja ouvi. O cara fracassou em tentar explicar sobre Linux:



Feliz ano novo a todos

Emulador redream agora disponível para Raspberry Pi 4

Emulador redream agora disponível para Raspberry Pi 4
Emulador redream agora disponível para Raspberry Pi 4
Redream é um trabalho em progresso do emulador do Dreamcast (que como todos sabem, é o console que se tornou a minha paixão) que permite jogar seus jogos favoritos do console em alta definição tanto no Windows, Mac OS X e Linux.

 Essa minha paixão voltou a todo vapor quando passei a estudar sobre o processador J-Core (especificamente o J2 - j4 trata-se do mesmo processador do Dreamcast que está sendo produzindo novamente e que será utilizado em vários ambientes).

 Agora o Redream está disponível também para o Raspberry Pi 4. O que é uma maravilha já que o Raspberry Pi é fortemente vendido em videogames retrô. Confiram o resultado do desempenho do Redream do Raspberry Pi 4:

NÃO SE ESQUEÇA DE SE INSCREVER NO MEU CURSO DE MIGRAÇÃO PARA LINUX.
NÃO ESQUEÇA DE CONFERIR MEU CURSO DE MIGRAÇÃO PARA LINUX E TORNE-SE UM VERDADEIRO PROFISSIONAL EM LINUX

AJIT - O microprocessador desenvolvido e fabricado na Índia

AJIT - O microprocessador desenvolvido e fabricado na Índia
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.
Confiram o curso de migração para Linux TOCA DO TUX e aprenda Linux de verdade.

 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.

Fonte

Um cartucho para Sega Saturn? E o que isso tem a ver com Linux?

Cartucho com o simbolo open hardware
Cartucho com o simbolo open hardware
A comunidade Sega até hoje é muito forte. E desde que fiz o vídeo sobre o processador j-core, venho acompanhando uma comunidade chamada Titan Games Studio que desenvolvem uma engine open source de jogos 2D tanto para Linux, Windows e Dreamcast (Obs.: Os jogos exportados para Linux). O projeto iniciou no Sega Saturn (por isso o nome Titan, por se tratar da maior lua de Saturno, lar do Thanos) e depois passaram a direcionar o foco maior para o belo Dreamcast. E no meio de conversa com esses amigos é que eu acabei descobrindo um cartucho USB para o Sega Saturn.



 Grande coisa... E o que isso tem a ver com Linux? Simples, é um cartucho open source. Esse é um projeto que foi desenvolvido por um finlandês (tinha que ser) para poder transferir dados via porta USB utilizando o sistema Unix-Like (sendo a biblioteca para isso, disponível também para Linux).


 O design do hardware está disponível sob Creative Commons 3.0 e o os componentes do software sob Clausula 2 da licença BSD. A biblioteca libFTDI sob LGPL 2.1 (nenhuma outra versão posterior) e o EPROM sob GPL 2 (nenhuma outra versão posterior).

 E porque alguém iria querer desenvolver games para o Sega Saturn hoje em dia? Porque sim...  É assim que funciona a paixão.

 E se está achando que desenvolver cartuchos e jogos para Sega Saturn nos tempos de hoje seria loucura, ficaria impressionado com o que eu descobri. Acreditem ou não, até hoje na China são produzidos jogos para o Mega Drive em larga escola e os maiores compradores são os russos.

 A segunda coisa que descobri é que o maior colecionador de Mega Drive do mundo mora em Carapicuíba. Para quem gosta do Mega Drive, fica a dica do livro Mega Drive Definitivo que foi produzido pela Warpzone.

Dando uma olhada na arquitetura dos processadores #3

MMU de um Motorola
MMU de um Motorola

Estamos na terceira parte da série Dando uma olhada na arquitetura dos processadores. Na primeira parte da série tratamos da arquitetura de Von Neumann, Na segunda parte tratamos de um recurso muito importante que é a Unidade de Ponto Flutuante e o seu contesto histórico.

Agora continuando dentro dos recursos temos também a MMU (Memory Management Unit ou a Unidade de Gerenciamento de Memória) Que traduz endereços virtuais para endereços físicos. Antigamente era um chip aparte e hoje (assim como o FPU) é comum estar incorporado aos processadores. Se pararmos para ler os e-mails do anuncio do lançamento do kernel Linux, uma das perguntas feita a Linus era se o Linux possuía suporte a MMU.

Esquema de como funciona o MMU
Esquema de como funciona o MMU

DSP (Digital Signal Processor ou Processador de Sinal Digital) é utilizado para processar áudio e vídeo e faz a eliminação de ruídos. Essa tecnologia é utilizada em teclados musicais, mesas de som, mas não é necessariamente utilizado nos processadores que utilizamos hoje. Alguns jogos do super Nintendo como o Super Mario Kart utilizaram essa tecnologia.

SIMD (Single Instruction Multiple Data ou Dados Únicos de Múltiplas Instruções) de forma simples de entender é o que realiza operações em paralelo (assim como o j-core). A sigla MMX da Intel que conhecemos, trata-se exatamente desse SIMD.

Por hora eu vou ficando por aqui, espero que tenham gostado e vamos compartilhando conhecimento :)

Não esqueçam de ajudar o canal e o blog a se manter independente se tornando um padrinho ;)

Morre Aboriginal Linux :(

Turtle Board testada com o FPGA
Turtle Board testada com o FPGA antes do primeiro cilicio do J2 ser lançado
Ok, esse título foi somente para chamar a atenção mesmo, mas que o Aboriginal Linux morreu, isso sim aconteceu. apesar que isso não é uma noticia nova. O Aboriginal Linux chegou ao seu fim em no dia 30 de Abril deste ano. Isso aconteceu para dar inicio ao projeto mkroot feito pelo próprio Rob Landley (criador do Toybox, do propŕio Aboriginal Linux e contribuidor no desenvolvimento do processador J-core). Então, a distribuição em si mesmo não morreu; ela só está se metamorfoseando em algo melhor.

O Aboriginal Linux foi a primeira distribuição a rodar com a biblioteca UclibC ao invés da GlibC e o Busybox ao invés do Bash. O motivo original do Aboriginal Linux foi que Knoppix era única distribuição que realmente dava atenção aos desktops por volta de 2002 (entenderam o porque da minha não adoção ao Linux em 2001?) e os 700 megabytes do Live CD do Knopix incluíam os mesmo 100 Megabytes dos pacotes do Linux From Scratch que proporcionavam quase a mesma experienciaria que o tomsrbt (que rodava em apenas 1.7 Megabytes; ou seja, um disquete).

tomsrbt
Imagem da distribuição tomsrbt
Mais uma coisa foi a prova de conceito de que Linux não era obrigado a ser chamado de GNU/Linux ou LiGNUx ou sei lá que bobeira mais.

Com o mkroot, você pode Compilar um root filesystem e o kernel Linux baseados no toybox que podem ser bootados sob o qemu.

A diferença entre o Aboriginal Linux e o projeto mkroot é a da substituição da UcLibC pela biblioteca Musl e do Busybox pelo Toybox sobre o kernel Linux. Ambas (tanto biblioteca quanto terminal) estão sob licenças diferentes que não sejam GPL. A Musl está sob a licença MIT (me lembro de ser o meu primeiro contato de uso real desta licença) e o toybox que está sob a clausula 0 da licença BSD (0BSD). Mais um motivo está em torno do melhor código de ambos os projetos adotados. Parece que pretendem  adotar o compilador tcc no futuro também. O Toybox já é utilizado por padrão no Android ao invés do Busybox como pode ser visto no vídeo abaixo. Espero que também venha a fazer parte do boot do Linux substituindo do Linux e também seja adotada por padrão na distribuição alpine Linux:


A principio o mkroot fazia (ou ainda faz) uso em partes do Busybox por uma questão de dependências que ainda podem não ter sido  supridas no Toybox, mas que trabalham nisso ao longo do tempo. Me lembro de ter visto links simbólicos dentro do mkroot quando baixei para testar e gerando um root filesystem.

Hoje o mkroot recebeu atualização para o kernel 4.14 kernel, está disponpivel para muitas arquiteturas como arm64 powerpc64 funcionando, já testado tudo com o gcc 7.2, estão atualmente testando com a futura versão da musl-libc, thalheim no freenode utilizou o script mcm-buildall.sh de Rob e postou os resultados dos binários compilados em:
http://b.zv.io/mcm/bin/
Se conseguirem construir o kernel para o processador SH2, não precisarão de emulação para a placa turtle/numato.

Resumo do Tux 01/07/2017


Segunda feira publiquei o andamento da produção da Turtleboard (placa mãe que será utilizada com o processador j-core)
Iniciada a produção da Turtleboard.
Terça feira, além de mostrar o novo SNES Mini no blog Resenha Nerd, teve também no canal e blog Toca do Tux sobre o Ransomware para Linux, Windows 10 S invulnerável e mais uma palinha sobre processadores da AMD.


Quarta feira debati sobre o novo filme de Jack Chan em que atua e produz o filme The Foreigner no blog Resenha Nerd.

Quinta teve o lançamento do livro que ensina a ser um verdadeiro profissional de segurança pela editora Novatec.




Diferentes arquiteturas de processadores

Diferentes arquiteturas de processadores

Diferentes arquiteturas de processadores

    Desde o ano passado, um dos assuntos que mais vem ganhando repercução é sobre a Apple migrar de X86 da Intel para seu próprio ARM chamado Apple Silicon, o Linux passar a ter suporte a esse processador da Apple, a NVidia adquirir a arquitetura ARM e o Risc-V passar a ganhar mais notoriedade depois da ultima menção. Depois de tudo o que mencionei, me senti inspirado a escrever este artigo.

    Eu já escrevi uma série chamada "Dando uma olhada na arquitetura dos processadores" onde debato como o processador é constituído internamente (andei até mesmo dando uma atualizada tratando da arquitetura de Havard mostrando em que se difere da arquitetura de Von Neumann e pretendo adicionar mais coisas. Mas  vamos deixar isso para o futuro Deus permitindo que eu faça).

Arquitetura de Havard

O que é arquitetura de processador?

    De acordo com o Dicionario de Termos da computação e da Internet (Dictionary of Computer and Internet Terms) arquitetura de processador é um conjunto  de instruções que decodificam e executam operações aritméticas e lógicas. Esse conjunto de instruções são denominados ISA (Instruction Set Architecture) e, nas minhas palavras, arquitetura dos processadores é a forma como essas instruções são organizadas. Apesar de popularmente acabarmos tendo contato com apenas com X86, existe uma boa variedade de arquiteturas como CISCRISCEPIC ZISC e Linux é uma fonte abundante para adquirir conhecimento sobre elas.


Arquiteturas que o kernel Linux 5.10 possui suporte

    Dentro das arquiteturas existe uma gama de fabricantes diferentes. Então agora vamos estudar um pouco sobre as arquiteturas, suas variedades e aonde geralmente são aplicadas.

CISC

    CISC (Complex Instruction Set Computers) é uma arquitetura construída com muitas instruções de linguagens de máquina diferentes. Tem como objetivo em seu design completar uma tarefa em poucas linhas de código assembly fazendo com que o compilador tenha pouco trabalho para traduzir o código de alto nível. O problema disso é que as suas tarefas acabam exigindo múltiplos ciclos, fazendo com que leve pelo menos duas vezes mais tempo para executá-las.

    Ressalva, não confunda CISC com CICS. CICS (Costumer Information Control System) é uma extensão da IBM utilizada no IBM System Z que tem como objetivo tornar fácil escrever programas e permitir usuários entrar, recuperar e atualizar dados através do seu terminal (fortemente utilizado em sistemas de pontos de venda, reservas de hotel e sistemas de cobrança).

    Popularmente conhecemos a arquitetura CISC devido aos x86 da Intel, da AMD e da Via (após ter adquirido a antiga Cyrix); mas há outras empresas que também já  fabricaram processadores CISC difrentes de x86 como o VAX, o IBM System/370 e houve também o Motorola 6800 (também conhecido como m68k ou simplesmente 68k) na década de 80 que foi o primeiro processador de 32 bits amplamente utilizado e foi o processador do vídeo game Mega Drive, do Macintosh (pois é, a migração de PowerPC para Intel e depois de Intel para ARM não são as únicas experiencias que a Apple já teve em sua história), dos computadores da HP e da Sun Microsystem. Falando em Sun Microsystem, foi devido o Motorola 6800 que os desenvolvedores de SunOS tornaram o GCC funcional para uso em produção (o que até então, era simplesmente um compilador inviável).


    Parece estranho afirmar, mas deve ser dito. Foi o x86 que tornou os PCs interessantes (especificamente o 386 a partir de 1986); mas historicamente o x86 parou de fazer sentido para o mercado há algum tempo. Basta repararmos como exemplo Apple em 2018 que vendeu 217.7 milhões de Iphones e 18.2 milhões de Macs (mais de 10 vezes mais dispositivos ARM, o que a chamou a sua atenção para abandonar o x86).


    Abreviação de Reduced Instruction Set Computer (Computador com conjunto de instruções reduzidas) é a arquitetura que realiza processos de forma mais simplificada e que foi projetada para desempenho. Devido haver poucas instruções a serem escolhidas, ela leva menos tempo para identificá-las tornando os resultados mais eficientes e executando os processos mais rapidamente. Foi criada inicialmente na IBM por John Cocke e sua equipe de pesquisadores em 1.974 como controlador de central telefônica (a telefonia sempre tendo importância na computação)

John-Cocke.
John Cocke e o primeiro protótipo de computador RISC que o garantiu os premios Turing Award em 1987, the US National Medal of Technology em 1991 e o  the US National Medal of Science em 1994.

 A arquitetura RISC é tão interessante que há um ditado que diz que "O mundo é RISC". E não é de se duvidar já que a arquitetura é utilizada desde Supercomputadores como é o caso do Fugaku a microcontroladores como o H8/300 da Hitachi.

 Alguns exemplos de processadores RISC são o Dec Alpha (primeiro processador de 64 bits e primeira arquitetura que Linux foi portado em Novembro de 1994); ARM que é muito famoso em dispositivos móveis devido a seu baixo consumo de energia conservando a bateria por mais tempo; Spark da Sun Microsystem (divisão da Oracle); o PowerPC (que foi desenvolvido pela IBM, Motrola e Apple para competir com a Intel e foi especialmente projetado para emular programas outros tipos de CPU eficientemente. Foi utilizado também no PlayStation 3, no Xbox 360 e consoles da Nintendo como Game Cube, Nintendo Wii e Nintendo Wii U e pelo sistema operacional OS/2); o MIPS, o Cris (utilizado em dispositivos de rede) e até mesmo a série de chips Super FX da empresa britânica Argonaut Games (adquirida pela Synopsy) que foi utilizado em jogos do Super Nintendo como o StarFox e Yoshi's Island possibilitando a renderização de centenas de polígonos 3D simultaneamente e desenhando efeitos em 2D.

Em Mario World 2: Yoshi's Island foi utilizado o chip Super FX 2 que é um Risc customizado e que possibilitou ao jogo ter elementos 3D e 2D (sim, o jogo é 2.5D), cores vivas e amplas, efeitos de iluminação, semitransparência e objetos passarem uns pelos outros).

RISC VS CISC

    Ambos possuem vantagens e desvantagens e ambos conseguem executar os mesmos tipos de programa; o que vai diferenciar é como é o código de máquina do programa. A principio da leitura deste artigo, o RISC aparenta ser superior ao CISC, mas nem tudo são as mil maravilha. 

    RISC tende a ser mais rápido que CISC SE o acesso a memória for muito rápido; do contrário (se o acesso a memória for relativamente lento) o CISC tende a ser mais rápido que RISC. Além do mais, máquinas RISC tendem a buscar mais instruções da memória para realizar o mesmo trabalho que CISC (ou seja, utiliza-se mais RAM que CISC).

RISC híbrido


    RISCs puros utilizam uma instrução por ciclo de clock. Foi aí que eu conheci a geração de RISCs hibridos que utilizam correção nas instruções de comprimento de 16 bits com registradores e endereço de espaço de 32 bits. Isso torna mais fácil para os compiladores gerarem melhores códigos RISC e retomam grande parte da densidade de código dos projetos CISC. Mais informações sobre chips híbridos podem ser conferidos clicando nesses dois links da Renesas e da Design & Recue.
ParthusCeva Announces Architecture Standard for Hybrid DSP/RISC-Based System-on-Chip for ARM Environment
    A maioria dos fabricantes hoje tentam combinar as vantagens de cada arquitetura dentro dos seus processadores. A Intel por exemplo, introduziu através do Pentium a possibilidade de seu processador traduzir internamente instruções CISC em RISC (podendo executar duas instruções por ciclo assim como o RISC) e o J64 que planejam uma aproximação do x86-64 ao j4 com compatibilidade a 32 bits (seu design foi elaborado no ano passado). Portanto, dificilmente temos CISCs puros quanto RISCs puros assim como dificilmente encontramos kernel totalmente monolítico quanto totalmente micro-kernel.

 A AMD também tinha um projeto de ARM chamado K12 focado em eficiência energética 
que era planejado para ser lançado em 2017. O desenvolvimento do K12 inspirou a criação do Opteron A1100 e a engenharia do Ryzen (agradeço ao Anderson Rincon por ter me fornecido a informação sobre o K12 e por ter revisado este texto para mim).



PA-RISC

 Foi uma arquitetura RISC desenvolvida pela HP tendo uma ideia de arquitetura mais precisa (daí o PA do seu nome que é a silga de Precision Architecture) porém esse processador foi substituído pela arquitetura EPIC.

 Abreviação de Explicitly Parallel Instruction Computing (Computação com instrução explicitamente paralela), foi criada em parceria entre a HP e a Intel para a criação da família Itanium (também conhecida como IA-64) para substituir o PA-RISC. Itanium foi desenvolvido como uma arquitetura de alto desempenho extremamente paralela realizando tal tarefa ao passar as instruções para o compilador que reorganiza o código para o máximo de paralelismo possível enquanto que o hardware foca em executar as instruções. E aqui mora o grande problema, nos compiladores que foi mais critico implementar do que a Intel esperava; o que resultou em um hardware muito caro e com baixa quantidade de software disponível para a arquitetura.





ZISC

    ZISC (Zero instruction set computer) é uma arquitetura que se baseia nos princípios de correspondência de padrões e ausência de microinstruções. De acordo com documento de patentes do Google sobre circuito neural (ou neurochip ou redes neurais), essa é a arquitetura talvez mais apropriada para as tecnologias neurais devido a forma como trabalha.

DSP

    DSP trata-se na verdade de um processador de sinal de digital (daí o seu nome Digital Signal Processor) que é utilizado para processar áudio (até redução de ruído) e vídeo e é fortemente utilizado em mesas de som e instrumentos musicais. Mas também foi utilizado em cartuchos do Super Nintendo para processar jogos como Super Mario Kart.

    Talvez você deva estar pensando por que estou falando deste tipo de chip como uma arquitetura. Bom, a minha ideia era falar sobre DSP no mesmo artigo "Dando uma olhada na arquitetura de processadores" porque, assim como FPU que era chip separado e hoje é incorporado aos processadores, o mesmo pode ocorrer com os DSPs podendo o seu processador possuir instruções DSP adicionadas a ele. De acordo com informações do J-Core (que é um processador que eu acompanho bastante o seu desenvolvimento) as instruções DSP podem quebrar a pipeline do estilo do RISC e eles possuem um novo design de DSP em desenvolvimento.

    alguns exemplos de DSP que o Linux possui suporte são o Hexagon e o C6x da Texas Instrument.

     Bom, finalizo este artigo por aqui acreditando já estar bom por enquanto dado uma boa base de estudo para todo mundo. Pode ser que eu venha atualizá-lo no futuro assim como faço com os demais artigos.

Marcadores

A pior história sobre Linux que já ouvi (5) A.I (1) ambiente gráfico (15) AMD (14) analise (9) Andriod (8) artigo (5) benchmark (3) BSDs (20) btrfs (12) Caixa de Ferramentas do UNIX (19) canto do Diego Lins (2) certificações Linux (6) Código Fonte (50) comandos (17) comp (1) compressores (4) container (1) CPU (18) criptografia (2) crowdfunding (9) cursos (21) daemons (13) Debian (30) desenvolvimento (55) desktop (17) DevOps (1) DevSecOps (1) dic (1) Dica de leitura (57) dica DLins (2) dicas do Flávio (27) Dicas TechWarn (1) diocast (1) dioliunx (3) distribuições Linux (13) Docker (7) DragonflyBSD (15) ead Diolinux (2) edição de vídeo (4) EMMI Linux (4) emuladores (5) endless (5) English interview (2) Enless OS (2) entrevista (16) espaço aberto (83) evento (4) facebook (1) Fedora (5) filesystem (60) financiamento coletivo (2) fork (3) fox n forests (4) FreeBSD (12) Funtoo Linux (13) games (87) gerenciadores de pacotes (2) GOG (3) google (8) gpu (3) hardware (99) I.A (1) init system (7) Intel (15) IoT (1) ispconfig (1) jogos (33) kernel (116) lançamento (43) leis (1) LFCS (1) licenças (7) Linus (15) linus torvalds (1) Linux (190) linux foundation (3) linux para leigos (1) live (5) LPI (8) LTS (1) machine learning (1) meetup (1) mesa redonda (27) microsoft (3) microst (1) muito além do GNU (121) não viva de boatos (9) navegadores (3) NetBSD (3) novatec (17) o meu ambiente de trabalho (3) off-topic (12) open source (79) OpenBSD (3) OpenShift (1) os vários sabores de Linux (39) padrim (2) palestras e eventos (3) partições (6) pentest (6) processadores (26) professor Augusto Manzano (11) Programação (40) propagandas com Linux (8) Red Hat (16) redes (2) resenha nerd (4) Resumo da Semana do Dlins (2) resumo do Tux (19) retrospectiva Linux (1) risc-V (1) runlevel (2) Secomp (1) segurança digital (15) servidores (1) shell (1) sistema operacional (19) Software livre e de código aberto (150) sorteio (3) Steam (8) Steam no Linux (6) supercomputadores (4) suse (6) systemd (7) terminal (74) toca do tux (1) toybox (15) tutorial (6) Tux (3) unboxing (7) UNIX (16) UNIX Toolbox (14) vartroy (1) vga (1) vulnerabilidade (3) wayland (2) whatsapp (1) Windows Subsystem for Linux (1) wine (12) WoT (1) ZFS (9)