Ir ao conteúdo
  • Cadastre-se

Davi Silva Santos

Membro Pleno
  • Posts

    184
  • Cadastrado em

  • Última visita

Tópicos solucionados

  1. O post de Davi Silva Santos em Erro de sintaxe em C foi marcado como solução   
    Não se pode ter mais de uma variável com o mesmo identificador em um mesmo escopo. Neste caso o seu escopo é a função `main()`, e há duas variáveis sendo identificadas como `a`, `b` e `c` dentro do mesmo. A solução para isso é renomear a segunda declaração de `a`, `b` e `c`, por exemplo, na segunda atribuição declará-las como `d`, `e` e `f`, atualizando as linhas subsequentes; ou simplesmente atribuir novos valores a elas, por exemplo `a = 10.7;` no lugar de `double a = 10.7;` e assim por diante.
     
    Recomendo que poste códigos longos em texto mesmo, e de preferência usando as opções de formatação do fórum (botão "Code").
  2. O post de Davi Silva Santos em Dificuldade com struct em C foi marcado como solução   
    Você pode inicializar a `struct` com os recursos do C99 (inicialização designada):
     
    struct teste { char a[32]; int b; }; struct teste itens[] = { { .a = "abc", .b = 1, }, { .a = "def", .b = 2, }, { .a = "ghi", .b = 3, } }; Deste modo a inicialização é mais rápida, não é necessário inicializar na ordem e os membros não inicializados são normalmente zerados se a `struct` está sendo alocada estaticamente. Fique atento para o fato de que uma `struct` sem elementos inicializados é inválida no C. Uma maneira alternativa é o uso dos literais compostos, mas eles são mais úteis em funções que retornam estruturas. Há também a inicialização clássica, que deve ser feita com os membros na ordem da declaração.
    O seu código também está usando aspas simples, que em C denotam caracteres únicos e não strings.
  3. O post de Davi Silva Santos em VHDL - dificuldade com gerador/detector de paridade foi marcado como solução   
    Esse código gera o bit de paridade de um sistema que trabalha com paridade par, isto é, o bit de paridade é gerado para que no total exista uma quantidade par de bits em nível alto.
     
    A sua dúvida acho que é no for generate. Ele é uma construção um pouco diferente no VHDL, pois funciona de modo semelhante a uma macro do C, criando uma arquitetura condicional. O resultado desse `generate` equivale a ter escrito manualmente:

     
    paridade_calc(3) <= paridade_calc(2) xor data_in(2); paridade_calc(2) <= paridade_calc(1) xor data_in(1); paridade_calc(1) <= paridade_calc(0) xor data_in(0);  
    O `paridade_calc` só é necessário devido às limitações do VHDL anterior à versão 2008, que permite uma construção bem mais simples para encadear as várias portas XOR que fazem o gerador de paridade par:
     
    paridade <= xor data_in;  
    Uma descrição boa de como o `generate` pode ser usado em conjunto com `generic` para instanciação e arquiteturas flexíveis pode ser visto nestes sites:
    http://vhdl.renerta.com/mobile/source/vhd00033.htm
    https://www.ics.uci.edu/~jmoorkan/vhdlref/generate.html
    https://www.hdlworks.com/hdl_corner/vhdl_ref/VHDLContents/GenerateStatement.htm
    https://www.ics.uci.edu/~jmoorkan/vhdlref/vhdl.html#generate
  4. O post de Davi Silva Santos em O que é memória virtual? foi marcado como solução   
    @Yan_
    Sim, seria muitas vezes mais lento. SSDs usam memória flash, feita para armazenamento permanente e com limite de leituras e escritas, enquanto a RAM dos PCs é DRAM, feita para acesso aleatório sem degradação. Outra razão é que SSDs só podem ser lidos e escritos em grandes blocos, enquanto a comum DRAM trabalha com escritas e leituras em algumas dezenas de bytes. O processador também possui o acesso a DRAM muito mais otimizado que um SSD, mesmo que este último esteja usando barramento de alta velocidade, como o PCI-e.
     
    O que você está pensando é mas adequado para uma NVRAM, mas mesmo essa tecnologia e suas implementações possui limites de escrita e é mais lenta que a DRAM. Continuando a escala de maior velocidade, acima da DRAM temos a SRAM, também volátil, e é normalmente usada para o cache dos processadores, e os bancos de registradores.
  5. O post de Davi Silva Santos em Como exatamente um processador consegue escalonar processos foi marcado como solução   
    Escalonamentos podem ser implementado em software, mas quanto mais partes do processo poderem ser aceleradas no hardware, melhor. Também faz diferença os modelos de escalonamento usados pelo núcleo de cada sistema operacional e como cada um define processo, thread e as relações entre ambos. Sabe-se, por exemplo, que o escalonamento do kernel Linux consegue extrair muito mais performance dos processadores AMD Ryzen do que o kernel Windows NT, principalmente nos processadores da primeira geração.
     
    Implementações em software usam o fato de que a maioria das arquiteturas de processadores possui pelo menos: uma instrução básica que ajude na troca de contexto (CALL), que salta para uma área no código e salva alguns registradores importantes,  uma instrução que restaura o contexto anterior (RETURN), um pulo incondicional para outra área de código (JUMP). Você pode ver o escalonamento baseado em software em grande parte dos RTOSs, os sistemas operacionais em tempo real, implementados em microcontroladores mais básicos usando C, C++ ou até assembly.
  6. O post de Davi Silva Santos em Vale a pena comprar um SSD M.2 Kingdian da AliExpress? foi marcado como solução   
    É o mesmo que o Mercado Livre, com a diferença que as fraudes conseguem sobreviver por mais tempo no Ali e devolver um produto defeituoso é um pouco mais difícil. A pandemia do coronavírus também afetou o comércio chinês, gerando atrasos e problemas de produção, como pode ser visto em vários anúncios nas lojas oficiais que existem no Ali.
     
    Outra coisa a prestar atenção é o dólar, às vezes é mais barato comprar as peças estocadas no Brasil do que em períodos de câmbio desfavorável no Ali.
  7. O post de Davi Silva Santos em Baixar Debian com Interface Gráfica foi marcado como solução   
    Recomendo que use a ISO DVD do Debian para acelerar a instalação do sistema. As imagens também são compatíveis com gravação em memórias flash USB (pen drives) e permitem instalar o sistema em modo UEFI (disco em GPT) e BIOS (disco em MBR).

    A imagem em questão é encontrada em duas versões: a oficial e a que contém software não livre. Dependendo do seu hardware a segunda imagem é mais recomendada. Tenha em mente que o Debian por padrão, mesmo na ISO com software não livre, não instala o driver proprietário da NVIDIA devido as incompatibilidades deste com a configuração padrão do GNOME (Wayland).
     
    ISO DVD oficial: https://cdimage.debian.org/cdimage/release/current/amd64/bt-dvd/
    ISO DVD com software não-livre: https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/current/amd64/bt-dvd/

    Se quiser testar o sistema primeiro você pode gravar as imagens Live. Elas são otimizadas para teste do sistema operacional com seus principais ambientes gráficos e também são dividas em versões padronizadas e com software não livre.

    ISOs Live oficiais: https://cdimage.debian.org/cdimage/release/current-live/amd64/bt-hybrid/
    ISOs Live com software não livre: https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/current-live/amd64/bt-hybrid/
  8. O post de Davi Silva Santos em Ruídos da placa de som foi marcado como solução   
    Se estiver usando Windows vai precisar de usar o Gerenciador de Dispositivos ou algum programa como o Speccy (acho que o nome certo é esse, da empresa que faz o CCleaner) se não souber o modelo de sua placa-mãe ou do seu chip de áudio.
    Depois só deverá ir ao site do fabricante da placa-mãe, se o seu computador for montado ou então se for notebook ou computador comprado em loja, ir ao site do fabricante do computador e procurar pelo modelo.
    Depois é só informar a versão do sistema e se ele é 32 ou 64 bits para baixar o instalador. Então é só instalar normalmente.
     
    No Linux é bem mais raro ter esse tipo de problema, mas quando acontece, a solução pode ser um pouco mais complicada, pois há muitos fabricantes desses chips de áudio que são preguiçosos e dão suporte só para Windows. Provavelmente vai ter que abrir o terminal e digitar cat /proc/asound/cards para verificar seu hardware e procurar o driver adequado. Mas isso é bem difícil de ocorrer, todos os meus computadores tinham chips de som que precisavam de drivers baixados no Windows funcionaram asim que instalei as distribuições Linux neles.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...