Waine - Dev do Desempenho
Waine - Dev do Desempenho
  • Видео 99
  • Просмотров 201 784
CoArrays: paralelismo nativo de Fortran (nem C++ ou Rust tem isso)
CoArrays são uma feature que trazem o paralelismo nativamente para Fortran, coisa que linguagens como C++ ou Rust não tem. Nesse vídeo quero falar um pouco mais sobre elas e mostrar como pode ser simples escrever programas paralelos utilizando coarrays.
LIVES: Toda terça e quinta as 21h
ENTREM NO DISCORD: discord.gg/NNuzYsNPjV
SEJA MEMBRO: ruclips.net/channel/UCNdd-FYANxk0DIvGhXVnMIgjoin
Vídeos exclusivos, lives salvas e canal no Discord só para membros!
LINKS
Programação paralela com Coarrays em Fortran (2024): www.paulnorvig.com/guides/parallel-programming-with-coarrays-in-fortran.html
CoArrays Wiki: en.wikipedia.org/wiki/Coarray_Fortran
Jupyter para rodar CoArray online: mybinder.org/v2/gh/so...
Просмотров: 1 252

Видео

De assembly para código de máquina (assembler em MIPS, x86 e ARM)
Просмотров 2,5 тыс.21 час назад
Estamos acostumados a considerar a linguagem de mais baixo nível que conseguimos programar. Mas é importante lembrar que o assembly ainda é um texto que conseguimos ler, e a nossa máquina só entende binário. Nesse vídeo eu quero explicar como fazemos essa conversão partindo do assembly em texto até chegar no binário. Pra isso vou usar o MIPS como exemplo base, um conjunto de instruções muito si...
ZigZag OS #5 - Entendendo trocas de contexto [SÉRIE PARA MEMBROS]
Просмотров 80314 дней назад
O conceito de contexto e as trocas entre eles é chave para sistemas operacionais. É isso que permite que possamos trocar entre várias tarefas durante o nosso dia a dia. Vamos ver um exemplo e tentar entender linha por linha o que está acontecendo. LIVES: Toda terça e quinta as 21h PROJETO ZigZag OS: github.com/wainejr/zigzagos SEJA MEMBRO: ruclips.net/channel/UCNdd-FYANxk0DIvGhXVnMIgjoin Vídeos...
Programação orientada a notificações: o paradigma BR
Просмотров 2,6 тыс.14 дней назад
MATERIAIS SOBRE O PON (Programação orientada a notificações): Página oficial: pessoal.dainf.ct.utfpr.edu.br/jeansimao/PON/PON.htm Vídeo do Fabro apresentando um trabalho de PON: ruclips.net/video/x9RZ_ofXbrY/видео.htmlsi=qR_XKHC0ZWIr6ByM NOTIFICAÇÕES VS. EVENTOS: portaldeinformacao.utfpr.edu.br/Record/riut-1-1006/Details Paradigmas de programação costumam ser assuntos de debate no meio dos devs...
Otimização na prática: memória e sua localidade (não é lista vs. array)
Просмотров 2,1 тыс.21 день назад
Um dos principais gargalos de programas é o acesso a memória. Ler e escrever na RAM é muito lento e o processador faz diversas otimizações pra tornar isso mais rápido, porém nosso programa tem que ajudar o compilador e a CPU também, porque elas não conseguem fazer todo trabalho sozinhas. Nesse vídeo quero mostrar como isso é aplicado na prática com um exemplo real, não com o tradicional lista v...
Guia pra otimizar seu programa (com profiling)
Просмотров 2,2 тыс.21 день назад
Um dos assuntos mais comuns pra bolha tech é discutir desempenho, qual linguagem, tecnologia, framework é mais rápida? Qual algoritmo é mais rápido? Devo usar listas ou sets? Mas esquecem do que é mais importante se tratando disso: como eu meço se um programa está mais rápido ou lento? Nesse vídeo quero explicar o guia que sigo para melhorar desempenho nas aplicações e também algumas ferramenta...
ZigZagOS #1 - Introduzindo o projeto [EXCLUSIVO PARA MEMBROS]
Просмотров 2,2 тыс.21 день назад
Esclarecendo o que vai ser o ZigZag OS, nosso sistema operacional em Zig, os materiais que vou utilizar, qual é o público desse projeto, por que escolhi fazer em Zig, pra quais dispositivos quero fazer, como vai ser o desenvolvimento, e muito mais. Quaisquer outras dúvidas podem mandar aqui nos comentários também. LIVES: Toda terça e quinta as 21h PROJETO ZigZag OS: github.com/wainejr/zigzagos ...
O que é POSIX? Onde ele é usado e onde não é?
Просмотров 2,2 тыс.28 дней назад
Um questionamento muito comum se tratando de Linux é: o que é o tal do POSIX? Nesse vídeo quero explicar o que é esse padrão, onde é utilizado e exemplos de sistemas que também não utilizam POSIX, como Windows e sistemas operacionais de tempo real (RTOS) LIVES: Toda terça e quinta às 21h SEJA MEMBRO: ruclips.net/channel/UCNdd-FYANxk0DIvGhXVnMIgjoin Vídeos exclusivos, lives salvas e canal no Dis...
Como SO inicializa? Exemplo com PacMan num embarcado
Просмотров 9 тыс.Месяц назад
Quando fazemos um programa em C, é obrigatório termos uma função de entrada, a famosa main(). Mas quando estamos falando de sistemas operacionais, como é o ponto de entrada do SO? Será que ele também tem uma main? Ou isso daí é responsabilidade de outro programa? E será que podemos usar diferentes estratégias pra fazer essa inicialização? Nesse vídeo quero tentar responder algumas dessas pergun...
Guia para entrar em CFD (Fluidodinâmica Computacional)
Просмотров 2,4 тыс.Месяц назад
Pros indivíduos que por algum motivo desejam se iniciar no mundo de CFD, aqui está um pouco da minha experiência, os livros que foram minha base, os conhecimentos que considero necessários e minha visão sobre o assunto. Bem vindo a bordo e boa sorte. LIVES: Toda terça e quinta às 21h SEJA MEMBRO: ruclips.net/channel/UCNdd-FYANxk0DIvGhXVnMIgjoin Vídeos exclusivos, lives salvas e canal no Discord...
GUIA para escolher sua STACK
Просмотров 2,5 тыс.Месяц назад
Todo desenvolvedor tem a sua stack, o conjunto de linguagens e tecnologia que utiliza pra trabalho. Mas como a gente decide uma stack quando vai começar um projeto? Nesse vídeo quero debater isso com vocês, apresentar os pontos que considero pra escolher uma stack, as tecnologias, linguagens e frameworks que servirão como base, e mostrar alguns exemplos de stacks em projetos da minha empresa. L...
PARE de fazer sites (ou porque fazer CLIs e TUIs)
Просмотров 12 тыс.Месяц назад
Você não deveria fazer sites, e nesse vídeo vou te provar o porquê e mostrar as alternativas. LIVES: Toda terça e quinta às 21h SEJA MEMBRO: ruclips.net/channel/UCNdd-FYANxk0DIvGhXVnMIgjoin Vídeos exclusivos, lives salvas e canal no Discord só para membros! REDES Site: www.wainejr.com/ Instagram: waine_jr TikTok: www.tiktok.com/@waine_jr GitHub: github.com/wainejr/ Discord: disco...
Guia para começar no BAIXO NÍVEL
Просмотров 12 тыс.Месяц назад
Vocês sempre me perguntam como começar na carreira de baixo nível, o que estudar, fontes, projetos, e finalmente quero trazer um vídeo dando um caminho para quem quiser se aventurar nessa área. LIVES: Toda terça e quinta às 21h SEJA MEMBRO: ruclips.net/channel/UCNdd-FYANxk0DIvGhXVnMIgjoin Vídeos exclusivos, lives salvas e canal no Discord só para membros! REDES Site: www.wainejr.com/ Instagram:...
Rust entrega tudo que promete? [REACT]
Просмотров 2,4 тыс.Месяц назад
Não se fala de outra coisa além de C, C , Rust, Zig e segurança. Mas será que Rust entrega tudo que promete entregar? LIVES: Toda terça e quinta às 21h SEJA MEMBRO: ruclips.net/channel/UCNdd-FYANxk0DIvGhXVnMIgjoin Vídeos exclusivos, lives salvas e canal no Discord só para membros! LINKS Artigo react: security.googleblog.com/2022/12/memory-safe-languages-in-android-13.html REDES Site: www.wainej...
Por que não achamos vaga pra dev baixo nível?
Просмотров 6 тыс.Месяц назад
Muita gente vem me perguntar como entrar em baixo nível, como começar a trabalhar na área, porque a maioria das vagas que encontram são web. Aqui quero trazer minha hipótese de que essa dificuldade de encontrar vagas está relacionada a desindustrialização do país, já que boa parte das atuações em baixo nível estão associadas à indústria. Mas isso não quer dizer que não existem vagas, muito pelo...
Fiz uma empresa pra trabalhar com baixo nível [CORTES DA LIVE]
Просмотров 4,1 тыс.Месяц назад
Fiz uma empresa pra trabalhar com baixo nível [CORTES DA LIVE]
Zig é o sucessor de C (não Rust)
Просмотров 12 тыс.Месяц назад
Zig é o sucessor de C (não Rust)
AMD SUPERA O DESEMPENHO DA NVIDIA (ou AMD MI300X vs. Nvidia H100)
Просмотров 1,7 тыс.2 месяца назад
AMD SUPERA O DESEMPENHO DA NVIDIA (ou AMD MI300X vs. Nvidia H100)
O que é uma NPU e o porquê devem substituir GPUs
Просмотров 3,2 тыс.2 месяца назад
O que é uma NPU e o porquê devem substituir GPUs
Quais são as diferenças de arquitetura entre GPU e CPU?
Просмотров 3,3 тыс.2 месяца назад
Quais são as diferenças de arquitetura entre GPU e CPU?
Como fazer uma CPU do ZERO? (ou programação com diagramas, LogiSim e VHDL)
Просмотров 31 тыс.2 месяца назад
Como fazer uma CPU do ZERO? (ou programação com diagramas, LogiSim e VHDL)
ARM não é melhor que x86 (ou a superação de RISC vs. CISC)
Просмотров 7 тыс.2 месяца назад
ARM não é melhor que x86 (ou a superação de RISC vs. CISC)
Fazer structs em Python? Pra quê isso?
Просмотров 1,5 тыс.2 месяца назад
Fazer structs em Python? Pra quê isso?
Por que todo vetor 3D na verdade é 1D?
Просмотров 1,6 тыс.3 месяца назад
Por que todo vetor 3D na verdade é 1D?
Programador de GPU dá opinião sobre Bend (nova linguagem brasileira para GPUs)
Просмотров 13 тыс.3 месяца назад
Programador de GPU dá opinião sobre Bend (nova linguagem brasileira para GPUs)
Como a GPU multiplica matrizes? (spoiler: não é tão simples)
Просмотров 11 тыс.3 месяца назад
Como a GPU multiplica matrizes? (spoiler: não é tão simples)
esse ERRO é muito comum em Python, NUNCA MAIS REPITA ISSO
Просмотров 2,1 тыс.3 месяца назад
esse ERRO é muito comum em Python, NUNCA MAIS REPITA ISSO
Reduzindo 3SAT para 3COLOR (clica se não entendeu nada)
Просмотров 1,3 тыс.4 месяца назад
Reduzindo 3SAT para 3COLOR (clica se não entendeu nada)
conceitos ESSENCIAIS para programar em GPU
Просмотров 3 тыс.4 месяца назад
conceitos ESSENCIAIS para programar em GPU
Métodos ÁGEIS são a NEGAÇÃO da engenharia
Просмотров 1,7 тыс.4 месяца назад
Métodos ÁGEIS são a NEGAÇÃO da engenharia

Комментарии

  • @arthursilva9021
    @arthursilva9021 Час назад

    pq os dois contexto usam a mesma stack (mesmo ponteiro)? nao faria sentido cada um ter sua stack?

  • @marciocamargodeoliveira6482
    @marciocamargodeoliveira6482 17 часов назад

    eu vendo isso dps de ter feito uns 10 cruds e me frustrando com todos

  • @doomerdaniel
    @doomerdaniel День назад

    Qual seu uso comercial para programaçao de gpu?

  • @wonrey7779
    @wonrey7779 2 дня назад

    Acredito que Fortran/Julia/NumPy são mais voltados para Engenheiros/Estatísticos/Matemáticos, etc. Neste caso a facilidade de codificação está em par com a eficiência do código gerado. Enquanto que HPC é mais Engenheiro de Software mesmo, o objtivo é ter controle total da aplicação, a forma com que se escreve pouco importa, vide as 1000 maneiras de escrever um mesmo código em C++

    • @waine_jr
      @waine_jr 2 дня назад

      Não vejo essa separação tão clara assim, mas entendo o ponto de vista. Sobre C++ acho engraçado como esse ponto de fazer a mesma coisa de 62758 jeitos diferentes faz as pessoas ou amarem ou odiarem a linguagem hahahaha

  • @darkside3ng
    @darkside3ng 2 дня назад

    A linguagem Julia também tem muitos recursos que facilitam esse tipo de aplicação.

    • @waine_jr
      @waine_jr 2 дня назад

      Julia tem muita coisa nativa de computação científica mesmo, tenho que explorar mais ela

    • @darkside3ng
      @darkside3ng 2 дня назад

      @@waine_jr Tem recursos nativos tanto programação científica quanto para programação paralela/distribuída, inclusive para GPU.

  • @AlmirBispo-CSV-Comp-DB
    @AlmirBispo-CSV-Comp-DB 2 дня назад

    Parabéns !Me lembro de ter te indicado sobre os Coarrays em Fortran.Mas saiba tamvém que a NVIDIA usa Fortran para escrever nas GPU (Cuda para Fortran):

    • @waine_jr
      @waine_jr 2 дня назад

      Por você mesmo que fiquei sabendo do assunto, valeu Almir! E no laboratório eu já mexi bem pouco com CUDA pra Fortran, mas por não manjar da linguagem eu só acreditava no que me falavam hahahaha

  • @TheRobsantos777
    @TheRobsantos777 2 дня назад

    igual cobol, povo pensa que bancos e outras empresas usam ela só porque é legado, mas COBOL é uma das poucas linguagens que usam ponto fixo e não ponto flutuante além de ser excelente e rápida em aplicações financeiras. Excelente o video sobre Fortran, essas curiosidades sobre Fortran eu não sabia.

    • @waine_jr
      @waine_jr 2 дня назад

      Não sabia sobre essa questão de ponto fixo do COBOL, muito importante pra aplicações financeiras mesmo. Pra quem é de fora é difícil ver esses diferenciais, mas quem trabalha sabe os pontos e diferenciais que levaram a escolha de uma linguagem

  • @prinewgirl
    @prinewgirl 2 дня назад

    Fortran 2008 é retrocompatível com as versões anteriores? A maior parte do código legado de Fortran foi e ainda em partes é feita em Fortran 95

    • @lucasmenicucci8102
      @lucasmenicucci8102 2 дня назад

      Sempre (com algumas resalvas de definicao de common, data.. em bloco de execução), inclusive o que costumam chamar de código legacy é Fortran 77

  • @italonicacio
    @italonicacio 3 дня назад

    Uma curiosidade sobre os notebooks Jupyter é que o nome Jupyter vem de Julia, Python e R.

  • @leosmi1
    @leosmi1 7 дней назад

    Fala sobre os RISC-V

    • @waine_jr
      @waine_jr 7 дней назад

      esperando comprar algum microprocessador que seja RISC-V pra comentar mais sobre a ISA e suas extensões

  • @leosmi1
    @leosmi1 7 дней назад

    já pensou python escrito em assembly, iria ser uma delicinha...

    • @waine_jr
      @waine_jr 7 дней назад

      Portar CPython pra assembly, um bom exercício pro leitor kkkkkkkk

  • @mateusinkkj
    @mateusinkkj 7 дней назад

    Quando eu crescer quero ser Waine! Kkkk

    • @waine_jr
      @waine_jr 7 дней назад

      kkkkkkkkkkk eu quero ser igual o Bruce Wayne quando crescer (herdeiro)

  • @joaocosta1228
    @joaocosta1228 7 дней назад

    Fala waine como o OS lida com programas escrevendo no mesmo arquivos da ruim?

    • @joaocosta1228
      @joaocosta1228 7 дней назад

      O que é io nonbloking

    • @waine_jr
      @waine_jr 7 дней назад

      Isso daí é dependente do SO e seu gerenciamento de arquivos, então "vareia" de um pra outro. O mais comum é usar estratégia de Leitor comum (vários podem ler), mas escrita é bloqueante, então o arquivo tem um mutex associado a ele que você precisa adquirir pra escrever nele (e não pode ter ninguém lendo).

  • @codigo_reverso
    @codigo_reverso 7 дней назад

    Eu tô implementando um emulador MIPS em C# com a ajuda do Aistudio; já implementei instruções como lb, sb, lw, sw, jal, Jr, add, sub, syscall Já tenho uma tabela de interrupções definida de 0-256 da memória (convenção que eu adorei para a máquina) Já tenho um compilador do ASM-MIPS pra um formato assembly que eu defini e que a máquina possa executar O programa do emular é capaz de criar dinamicamente portas Socket-TCP/IP para comunicação com outros programas externos (esses serão os dispositivos!) E o mais legal de tudo é que eu já consigo ler e escrever nessas portas pelo próprio assembly! Meu grande desafio agora é criar um transpilador que consiga transformar Python em ASM-MIPS, para então compilar para binário e rodar Estou ansioso pra publicar o projeto, tá ficando muito do caralho

    • @waine_jr
      @waine_jr 7 дней назад

      Que massa, cara! Muito massa o projeto, compartilha com o pessoal lá do Discord o desenvolvimento e tmb qnd ficar pronto

    • @codigo_reverso
      @codigo_reverso 6 дней назад

      ​@@waine_jr Farei 🤙

  • @antoniovieiradasilvajunior666
    @antoniovieiradasilvajunior666 7 дней назад

    cara tu acha que poderia existir um modelo de execução de código que não use o salvamento do stack frame ? Fico pensando na morte da bezerra sobre esse assunto como forma de evitar ataques ou problemas de buffer overflow

    • @waine_jr
      @waine_jr 7 дней назад

      Eu não manjo tanto de ISA/arquitetura pra saber dessas coisas kkkkkkk mas um exemplo que consigo pensar é GPU que funciona mantendo TODOS os registradores numa memória local de cada "núcleo" dela (e pode ter "register spilling" quando não cabe). É um paradigma muit interessante e que muda muita coisa debaixo dos panos em comparação com CPU. Quero abordar essas coisas no curso de GPU/CUDA stackoverflow.com/questions/74597338/how-is-stack-frame-managed-within-a-thread-in-cuda

  • @SAMUELLHENRIQUE
    @SAMUELLHENRIQUE 8 дней назад

    Bacana demais! 🤝

  • @luizAugustoll
    @luizAugustoll 8 дней назад

    Engraçado, pelo que me lembre o mips que aprendi na universidade era 16 bits. (ARQ I) não tinha mais cadeiras pra ciências da computação.

    • @waine_jr
      @waine_jr 7 дней назад

      Pelo que pesquisei tem o MIPS16 que tem 16 bits, mas o MIPS mesmo desde o MIPS I é 32 bits

  • @pboechat
    @pboechat 8 дней назад

    Maneiro o video, Waine. Ja viu uns "mov"fuscators q existem por ai? Ou programas escritos so com traps? Ou entao uns emuladores q rodam so subleqs (oiscs)? Tem gente q tem tempo demais a disposicao por ai 😂

    • @waine_jr
      @waine_jr 8 дней назад

      Valeu, meu querido! E já vi aqui no RUclips aquele clássico do compilador pra mov da Intel hahahaha é mt tempo disponível mesmo

  • @di_vinte
    @di_vinte 8 дней назад

    Eu não sei o que deu na minha cabeça, mas há uns dois dias atrás eu botei na cabeça que iria rodar um programa de assembly de celular nativamente, utilizei um antigo J2 prime como cobaia, aprendi as instruções basicas de ARM32 específicas de Armv7a. Montei o binário de rodei o programa via terminal do android deu super certo, eu nem sabia que dava pra fazer algo desse tipo tão facilmente no mobile. Mas enfim, eu estava querendo aprofundar meus conhecimentos em ARM 32 bits pra poder fazer coisas mais complexas como um joguinho de terminal, mas tá difícil de achar esse tipo de conteúdo na internet. Outra coisa complicada de achar é sobre argumentos de chamadas de sistema (Syscall) para linux, o que cada coisa faz e tals. Você tem algumas recomendações de sites, pdf e etc? Forte abraço!

    • @pboechat
      @pboechat 8 дней назад

      man syscall(2)

    • @waine_jr
      @waine_jr 8 дней назад

      Uma coisa que pode fazer é abordar o problema ao contrário. Faz um programa básico em C/Zig, compila ele e checa o desassembler dele pra ver as chamadas de sistema, Estrutura, etc. Com relação a documentação, pode usar o Man mesmo e a documentação oficial do Linux pra ver como faz. Vai usar bastante o APCR (ARM Procedure Call Standard) pra fazer as chamadas

  • @drksbr
    @drksbr 8 дней назад

    Agora sim um video de baixaria de verdade... 👏👏👏👏 Na facul eu me lasquei mto com asm. Kkkk

  • @briansuemy7696
    @briansuemy7696 8 дней назад

    Vídeo maravilhoso amigo já deixo o meu like

  • @arozendojr
    @arozendojr 8 дней назад

    Queria muito disso na aula de faculdade, muito legal

  • @arozendojr
    @arozendojr 8 дней назад

    Sei que seu canal é de baixo nível, porém você poderia testar ferramentas de analise de código statico, sonarqube, ou outras para ajudar e encontrar problemas, se conhece outras ferramentas, poderia falar no short e ver a demanda do seu público

    • @waine_jr
      @waine_jr 8 дней назад

      Eu conheço o Valgrind só, é uma boa mesmo. Não falo muito disso porque não tenho experiência trabalhando com análise estática, mas é uma ferramenta fundamental pra baixo nível

  • @robertochostakovis
    @robertochostakovis 8 дней назад

    Assembler é uma linguagem como qualquer outra. Pra rodar vc compila e linka usando MASM e Linker em x86, simples.

    • @shadergz
      @shadergz 8 дней назад

      Assembler é o compilador/montador, Assembly é a linguagem

    • @pboechat
      @pboechat 8 дней назад

      Plataformas/arquiteturas diferentes, assemblies diferentes. Linguagens como C abstraem detalhes de plataforma. Fora diferentes sintaxes usadas por diferentes assemblers (eg, intel vs at&t). Entao, nao, assembly nao eh uma linguagem como outra qlqr.

    • @hunterss7042
      @hunterss7042 7 дней назад

      C tem um psiquiatra na agenda?

  • @edmarhenches875
    @edmarhenches875 8 дней назад

    Esse canal é cada vez mais " baixo nivel"!. 😱

    • @waine_jr
      @waine_jr 8 дней назад

      é daqui pra baixo só kkkkkkkkk

    • @edmarhenches875
      @edmarhenches875 8 дней назад

      @@waine_jr próximo passo é puxar o ferrinho de solda. 😁

  • @Eng.pedroneto
    @Eng.pedroneto 8 дней назад

    Faz um vídeo de computação assimétrica com dois SO rodando (Linux embarcado + RTOS) e um de sistemas heterogêneo

    • @waine_jr
      @waine_jr 8 дней назад

      Não conheço esse conceito de computação assimétrica não. Sistema heterogêneo é um negócio que trabalho no dia a dia, com CPU e GPU. Acho mt interessante que muda como a gnt tem que pensar e estruturar, já que boa parte dos recursos não são compartilhados

    • @Eng.pedroneto
      @Eng.pedroneto 8 дней назад

      @@waine_jr quando temos em um SOC, um MCU ome um MPU dual core por exemplo , e neles rodando um kernel Linux Embarcado e um RTOS, é num sistema assimétrico Heterogêneo se dá em um multicores . Nisso celular por exemplo tem 4 cores de economia e 4 de desempenho. Mesmo sendo mesa ISA, é heterogêneo

  • @Eng.pedroneto
    @Eng.pedroneto 8 дней назад

    já estamos no ARMV9 haha! Temos o ARM V7 só 32 Bits, V8 32 e 74 Bits e o V9 64 Bits . Todo celular é ARM sem exceção. COTEX M, CORTEX A, COETEX R, o X e o Neoverse (este último é para data center / cloud). Além das GPUs e NPU

    • @waine_jr
      @waine_jr 8 дней назад

      Eu usei o v7 mesmo porque essas coisas não mudaram nas outras versões até onde sei hahahaha e valeu por complementar, tinha esquecido do X e nem conhecia esse Neoverse. E o mundo dos SOC de NPUs em ARM é um por si só mesmo, acho mt interessante ler sobre

    • @pboechat
      @pboechat 8 дней назад

      Existem dezenas d arquiteturas pro Mali. Acho q a melhor documentacao publicamente disponivel deve ser a dos GPU drivers do Mesa (panfrost e agora panthor). Sobre NPUs, acho q tem um pouco d docs no github da arm (ethos-n-driver-stack).

  • @FodaseGoogreorio-h7v
    @FodaseGoogreorio-h7v 8 дней назад

    Uma curiosidade sobre o conjunto de instruções ARM. Arm é o inglês para braço enquanto thumb é dedão, então o conjunto ARM é grande como um braço já o conjunto thumb é só dedão das instruções ARM 😅 E a diferença entre thumb versão 1 e o thumb2 está apenas que você não precisa mais ficar mudando o processador para modo ARM e thumb, os processadores que suportam thumb2 faz a mudança automática do processador de instruções ARM de 32 bits para as thumb de 16 bits. E sim, processadores Cortex-A também suportam instruções thumb, porque o dedão também faz parte do braço 🤣🤣🤣🤣🤣

    • @waine_jr
      @waine_jr 8 дней назад

      Não sabia dessa coisa do nome não hahahahaha faz sentido total agora que falou, ótimo trocadilho da empresa kkkkkk Não sabia que o thumb2 fazia automaticamente a mudança, mt melhor mesmo

  • @Eng.pedroneto
    @Eng.pedroneto 8 дней назад

    boa ,falando nisso, MIPS está datado e com os dias contado Eu sou a favor de que toso programador deveria iniciar pelo código de máquina

    • @gabrielhorakhty
      @gabrielhorakhty 8 дней назад

      Nossa! Realmente não ouço mais falar na arquitetura e faz uns 12 anos.

    • @Eng.pedroneto
      @Eng.pedroneto 8 дней назад

      @@gabrielhorakhty ainda existe e existe uma gama de produtos feito pela Microchip e Marwel. Só que, a própria MIPS Technologie abandonou o desenvolvimento de novos core e passou a desenvolver RISC-V

    • @gabrielhorakhty
      @gabrielhorakhty 8 дней назад

      @@Eng.pedroneto Pelo visto RISC-V está aquecido e ganhando espaço cada vez mais. Muito bom saber disso.

    • @waine_jr
      @waine_jr 8 дней назад

      MIPS é muito bom pra aprender, muito didática. Mas do pouco que sei de ISA ela não parece ser tão boa ou prática quanto as alternativas (pra extensão, funcionalidades, tamanho de código, etc.), ainda mais com desenvolvimento de alternativas open source como o RISC-V.

    • @Eng.pedroneto
      @Eng.pedroneto 8 дней назад

      @@gabrielhorakhty sim Os Fabrício de semicondutores estão cada vez mais incorporando MPUs e MCUs com está arquitetura, em seus portifólios que hoje dominados por ARM Extensa (anterior Tensilica) também

  • @FodaseGoogreorio-h7v
    @FodaseGoogreorio-h7v 8 дней назад

    Na faculdade de engenharia elétrica aprendemos MCS-51, depois de lá fui pra PIC, AVR e depois pra ARM thumb2. Não aprendam Assembly, isso é um caminho sem volta. 😱Quando você perceber já vai ser tarde demais e vocês já vão estar fazendo um rtos só pra poder escrever mudança de contexto em assemble 😓

    • @Eng.pedroneto
      @Eng.pedroneto 8 дней назад

      Você já trabalhou ou trabalha com RTOS? Exemplo VXWORKS

    • @waine_jr
      @waine_jr 8 дней назад

      hahahahahhaha eu tô fazendo pra membros um RTOS e não vejo a hora de escrever a mudança de contexto em assembly mesmo kkkkkkk

  • @nicolassouza2483
    @nicolassouza2483 9 дней назад

    Faço curso superior em Sistemas de Informação. Nesse semestre algumas avaliações requeriam que fizéssemos a conversão de instruções MIPS para código de máquina. Não é algo que eu realmente queira me aprofundar, talvez eu mude de idéia um dia, mas realmente é algo importante de se ter o conhecimento.

    • @inthevibedev
      @inthevibedev 9 дней назад

      No curso de sistema de informação? Cara que legal. Bem low level esse curso. Onde você tá cursando? Qual instituição?

    • @waine_jr
      @waine_jr 9 дней назад

      No link que eu coloquei alguns dos exercícios são justamente esse. Esse tipo de exercício é bom pra entender e fixar essa representação de assembly em binário. Inclusive no processador que fiz eu acabei fazendo tudo em binário mesmo, nem fiz um assembler kkkkkkk

    • @nicolassouza2483
      @nicolassouza2483 9 дней назад

      @@inthevibedev Faço no IFBA no interior da Bahia. A disciplina em questão que tratou desse assunto foi Organização e Arquitetura de computadores. Imagino que ela seja a disciplina mais low level do curso e que eu não vou ver mais nada muito além disso,

    • @nicolassouza2483
      @nicolassouza2483 9 дней назад

      @@waine_jr Misericórdia ksksksks. Nessas horas que a gente descobre o sentido das abstrações.

  • @carlosrfs99
    @carlosrfs99 9 дней назад

    O program counter do MIPS só pode saltar por 64Megabytes de memória? (por usar 26bits pra endereço no jump)

    • @waine_jr
      @waine_jr 9 дней назад

      Ele tem instruções pra pular por meio de registradores também, então dá pra colocar o endereço no registrador e usar o JR ou JALR também. Ele também tem um "shift" do endereço de memória pra essas instruções J e JAL, então são 28 bits na verdade (256MB). Pode ver mais detalhes aqui: www.cs.cmu.edu/afs/cs/academic/class/15740-f97/public/doc/mips-isa.pdf

    • @FodaseGoogreorio-h7v
      @FodaseGoogreorio-h7v 8 дней назад

      Você também pode fazer saltos indiretos, utilizando um registrador como ponteiro, ou saltos relativos usando o programa counter mais um registrador de offset para saltar.

  • @natanael1513
    @natanael1513 9 дней назад

    Muito Obrigado!! pelo o conhecimento compartilhado, eu estava querendo experimentar algum tipo de assembly, mas eu não sabia por onde começar, com esse MPIS... eu acredito que a minha experiência não será tão frustrante kkk.

    • @waine_jr
      @waine_jr 9 дней назад

      Com certeza não vai ser tão frustrante quanto se fosse com x86 kkkkkkk é um ótimo assembly pra aprender. Se quiser partir pro x86, uma boa é ver a ISA e microarquitetura do 8080, microprocessador da Intel de 1974. O x86 preserva muitas das características do 8080 ainda, e surge a noção do acumulador, registradores genéricos, como as operações com ULA e memória funcionam nesse caso, etc.

    • @natanael1513
      @natanael1513 8 дней назад

      @@waine_jr Muito obrigado! Novamente! Uma hora eu vou dar uma olhada nesses da intel, mas acho que no meu caso, eu terei que aprender mais do ARM e AVR, já que eu vou mexer com embarcados. Eu estava com dúvidas entre começar com ARM ou AVR, mas por enquanto começarei por esse MIPS.

    • @pboechat
      @pboechat 8 дней назад

      Outro processador com uma ISA simples e legal d usar pra aprender eh o 6502. E tem varios emuladores por ai tb.

  • @jonathansd93
    @jonathansd93 9 дней назад

    Primero a comentar!!! Vamo que vamo! 🎛️

  • @JohnLeaf
    @JohnLeaf 9 дней назад

    ARM é tipo misturar soro no leite pra render! kkkk

  • @TioStitch
    @TioStitch 10 дней назад

    Não é por nada, mas todo engenheiro de software deve passar por C.

  • @zehsk8rocker
    @zehsk8rocker 10 дней назад

    Vou falar com um usuário. Meu celular é muito mais rápido e eficiente energéticamente que meu PC, certo? Além de rodar alguns jogos com folga, sem uma placa de video. Se fosse no PC precisaria de uma placa de vídeo e ligado na tomada ali, pra funcionar. E os macs m1, 2, 3 que são ARM... só escuto elgoios. Então, como usuário, eu não sei se o Windows que é um lixo ou se os ARMs são muito melhores mesmo. Acho q as duas proposicoes sao corretas.

    • @waine_jr
      @waine_jr 9 дней назад

      Eu prefiro acreditar na ciência que na inferência de causalidade pela experiência dos usuários

  • @GustavoHenrique-xg4ey
    @GustavoHenrique-xg4ey 12 дней назад

    dotfiles da wm?

  • @hugo-garcia
    @hugo-garcia 13 дней назад

    Quem usa essa paradigma é o Nubank que me enche o saco com mais de 30 notificações por dia sobre o preço do bitcoin

  • @Prescott2400-my6di
    @Prescott2400-my6di 13 дней назад

    Sem preprocessadores? 😒

    • @waine_jr
      @waine_jr 13 дней назад

      O maior mal depois do Null são os macros de C kkkkkkkkk

  • @testeTestandomuitosTestes
    @testeTestandomuitosTestes 13 дней назад

    Você trabalha com o que ? Pois voce falou que quando usa isso ou aquilo me bateu a curiosidade, voce trabalha com processamento de imagens videos que requer recursos de gpu ?

    • @waine_jr
      @waine_jr 13 дней назад

      Trabalho com fluidodinâmica computacional (CFD), desenvolvendo um simulador que roda em GPU. Se quiser saber mais checa o site da minha empresa aerosim.io e me segue lá no Instagra que falo mais disso.

  • @Prescott2400-my6di
    @Prescott2400-my6di 13 дней назад

    main: BL animal B main animal: PUSH LR BL capivara POP LR BX capivara: PUSH R0 LDI R0,#1 POP R0 BX

    • @Prescott2400-my6di
      @Prescott2400-my6di 13 дней назад

      Acho que LR não dá pop/PUSH, acho que muda o nome pra R15 ou sei lá 😅

    • @edmarhenches875
      @edmarhenches875 11 дней назад

      Carai

    • @FodaseGoogreorio-h7v
      @FodaseGoogreorio-h7v 11 дней назад

      Verifiquei o o LR da pop sim, inclusive dá pra fazer pop direto pro program counter, assim você não precisa dar pop e BX do LR 😉

  • @ricardoteixeira4904
    @ricardoteixeira4904 13 дней назад

    Eu acho que os temas deste canal são muito interessantes, mas tentei assistir alguns e por muitas vezes parece que o conteúdo está sendo produzido sem muita concentração (lembrando alguns professores que já tive). Imagino que seja uma impressão equivocada, mas fica parecendo que o youtuber está fazendo isso forçado (muito "sei lá", por exemplo, e a frases muitas vezes não são bem concluídas). Certamente isso não me animou pra partir pra uma experiência paga.

    • @waine_jr
      @waine_jr 13 дней назад

      Os vídeos de projeto eu me proponho a fazer um "coding real", complementando os assuntos e materiais com meu conhecimento enquanto escrevo o código e faço debugging. Mas é bem longe de ser um curso ou material didático por si só, até por isso apresento sempre as fontes pra se aprofundarem. Essas coisas que falo, quando de fato não sei ou não entendo, é porque eu não "preparo" o vídeo ou faço roteiro nem nada do tipo (bem diferente do que um professor deveria). Se eu fizesse isso seria um curso e o preço seria condizente com o de um curso.

  • @edmarhenches875
    @edmarhenches875 13 дней назад

    Aprendi a fazer stacks em C. 🙂 Edit: ainda estou me quebrando com os ponteiros. 😅

    • @Prescott2400-my6di
      @Prescott2400-my6di 13 дней назад

      typedef struct { int a; int b; float naoimporta; } babacacar_t; void lala(babacacar_t &babaca) { babaca.naoimporta = 3.14f; } void main() { babacacar_t nadaaverirmao; lala(nadaaverirmao); babacacar_t *eoque= &nadaaverirmao; printf ("Pi %.2f ", eoque->naoimporta); } Viu, é muito simples 😅

    • @edmarhenches875
      @edmarhenches875 13 дней назад

      @@Prescott2400-my6di sim. Muito. 😅

  • @waine_jr
    @waine_jr 14 дней назад

    Série desenvolvendo o ZigZag OS é EXCLUSIVA PRA MEMBROS. Liberei esse vídeo pra vocês terem acesso a um pouco do que tratamos durante a série, que já tem mais de 15 vídeos disponíveis! Git: github.com/wainejr/zigzagos PingPongOS do Maziero: wiki.inf.ufpr.br/maziero/doku.php?id=so%3Apingpongos

    • @Luiz3g
      @Luiz3g 13 дней назад

      Mano, me tira uma duvida pfvr, qual a interface gráfica tu tá usando no fedora?

    • @Prescott2400-my6di
      @Prescott2400-my6di 13 дней назад

      Parece ser Hyprland, aquela DE de furry, talvez sway ou i3wm com polybar. O problema é que tem aquela borda colorida e que parece ser arredondada, borda arredondada colorida é coisa de furry então suspeito que seja Hyprland 🤔 Tem pad, não lembro se i3wm tem pad 😬, acho que é DE de furry sim 😔

    • @waine_jr
      @waine_jr 9 дней назад

      @@Luiz3g Qtile customizado, tô devendo um vídeo mostrando o setup kkkkkk

  • @MateusDumasLima
    @MateusDumasLima 14 дней назад

    Não sei se não entendi o vídeo ou se não entendi o padrão observer, me parecem ser a mesma coisa, alguém sabe a diferença?

    • @waine_jr
      @waine_jr 14 дней назад

      Ao meu ver é semelhante a diferença entre eventos e notificações essa questão do Observer. Notificação a gente não tá falando de pub/sub, mas sim de um sistema reativo baseado em regras bem definidas e com notificações e reações automáticas. Eventos a gente tem tmb tem essa reatividadde, mas ela não é automática e tem que ser feita programaticamente

    • @MateusDumasLima
      @MateusDumasLima 14 дней назад

      @@waine_jr certo, vamos lá, eu modelei um sistema usando esse paradigma do vídeo, fiz toda a estruturação dos estados e das notificações, na hora de implementar não vai ser exatamente um padrão de observer? Acho que essa era minha dúvida, eu não estou enxergando como que na prática uma implementação desse paradigma não vai ser em cima de uma estrutura ja conhecida, eu cheguei a ver o video da explicação que esta na descrição e o pseudo codigo parecida muito semelhante com um pseudo codigo de um observador

    • @waine_jr
      @waine_jr 13 дней назад

      Não, definitivamente não vai ser igual. Assim como implementar um sistemas de regras é diferente num paradigma lógico e num paradigma imperativo. Pra notificações ou SBRs a reatividade é do sistema, você não precisa programar ela, diferente de eventos ou observer em que vc faz na mão as chamadas pra avisar que algo aconteceu.

    • @MateusDumasLima
      @MateusDumasLima 13 дней назад

      @@waine_jr tem algum exemplo?

    • @JEANMARCELOSIMAO
      @JEANMARCELOSIMAO 9 дней назад

      @@MateusDumasLima Queira ver a dissettação do Robso Duarte Xavier repositorio.utfpr.edu.br/jspui/handle/1/1006 e do Adriano Francisco Roszncka repositorio.utfpr.edu.br/jspui/handle/1/327 e mesmo a tese dele repositorio.utfpr.edu.br/jspui/handle/1/4234

  • @testeTestandomuitosTestes
    @testeTestandomuitosTestes 14 дней назад

    Esse sistema operacional para arduino vai ser aqui pelo RUclips vai ser na área de membros ou vai ser pago ?

    • @waine_jr
      @waine_jr 14 дней назад

      Isso, aqui no RUclips na área de membros. Já saíram 15 vídeos e deve sair mais essa semana

  • @testeTestandomuitosTestes
    @testeTestandomuitosTestes 14 дней назад

    O que você acha do Fortran, pois ele tem um ótimo gerenciador de memória e até hoje usado para aplicações sérias como na faculdade ele é usado para ver o comportamento de enzimas em temperaturas diferentes na formação de proteínas, sim o que você acha de Fortran ?

    • @waine_jr
      @waine_jr 14 дней назад

      Fortran é muito forte na computação científica e numérica, mas nunca trabalhei com ele. Acho mt massa a extensão de CoArray do Fortran