Um computador pode exibir a saída sem uma placa compatível com Vesa / VGA

2

Há um tempo atrás eu comecei uma discussão com alguém sobre se um computador sem uma solução gráfica integrada ou discreta (Ryzen nessa situação) poderia exibir a saída da conexão HDMI embutida da placa-mãe.

Eu tomei a posição de 'sim' com o pensamento de que a renderização de software é possível. Certamente, pode-se usar a CPU para enviar os sinais corretos para o conector HDMI sem uma placa VGA.

Eu tentei pesquisar esse problema, mas infelizmente a maioria das perguntas feitas é de pessoas que são novas na computação, então as respostas não são exatamente o que eu estou procurando.

    
por Lord Windy 30.01.2018 / 11:54

3 respostas

2

Surely one could use the CPU to send the correct signals to the HDMI connector without a VGA card.

Isso é chamado de "bit-banging" - essencialmente a CPU está constantemente mudando um registrador de E / S para criar um sinal.

É possível e foi feito com interfaces de velocidade muito baixa, como portas seriais. O antigo Commodore 64 praticamente fez isso com sua implementação de RS-232 e barramento usado para falar com impressoras e unidades de disco. O RS-232 não pode ir mais rápido que 2400 bits por segundo (2.4Kbit / seg).

Mas o HDMI é uma interface muito rápida. Por exemplo, o HDMI 2.0 tem uma velocidade de 18Gbps. Isso significa 18 bilhões de vezes por segundo, o processador teria que fazer algo para modular um sinal.

Dado que até mesmo as CPUs mais rápidas são de cerca de 3GHz, e enquanto isso significa que o tempo de ciclo para as instruções é de 1 / 3.000.000.000 -

  • quase todas as instruções da CPU levam mais de um ciclo

  • As instruções de E / S são "serializadas" (porque precisam ser feitas em ordem), portanto recursos avançados da CPU, como especulação, não ajudam.

  • Como o material tem que ser feito na ordem 1 pipe, várias CPUs não ajudam.

  • As instruções de E / S não interagem com a memória ou registram, portanto o armazenamento em cache / MMX / SSE / AVX / EVEX não fará nada, exceto ajudar a determinar o que você deseja enviar pelo canal.

então eu realmente não acho que existe uma maneira de você poder "bater" em 18GHz com CPUs modernas x86 e você não poderia nem fazer 3Ghz. Talvez uma taxa de atualização muito baixa se a interface HDMI não tiver uma velocidade mínima.

Mas você pode ver por que o hardware especializado direciona a interface.

Em qualquer caso, você ainda precisa de algum tipo de hardware mínimo para uma conexão, já que sua CPU está conectada a um barramento e esse hardware precisa falar a mesma "linguagem" ou protocolo que o barramento para interagir com a CPU. Para sistemas antigos como o Commodore 64 e sua versão anterior, ele possuía dispositivos como o "Versatile Interface Adapter" ou "Complex Interface Adapter" - a CPU leria / gravaria para esse chip para obter o estado de "portas" (estava conectado). para e apareceu no barramento da CPU) e o chip teria uma conexão física com pinos de portas físicas nas costas ou slots na placa-mãe.

Para as modernas CPUs x86, o mais próximo que você tem agora é o PCI-E, e os controladores PCI-E são integrados em CPUs agora, mas faziam parte do chipset. Então você ainda precisa de algo que receba sinais PCI-E e os converta aos sinais HDMI no mínimo.

VGA é um assunto diferente .

    
por 30.01.2018 / 14:39
1

Não, não pode. Sem uma unidade gráfica embutida, não há conexão física com essas portas. Você precisa de algum tipo de hardware que esteja conectado a essa porta para que a porta seja realmente utilizável.

    
por 30.01.2018 / 14:18
1

Eu acho que seu amigo vence a aposta.

Duas coisas são necessárias para a saída de vídeo real por meio de uma interface HDMI ou outra interface física:

  1. Gerando quadros de vídeo consecutivos
  2. Transmitindo os quadros pelo conector de vídeo.

É a tarefa de comunicar com a porta de hardware real que uma CPU não pode fazer por si só.

Dado que você espera saída real através da porta HDMI, aqui estão dois motivos para que isso não seja feito apenas com uma CPU:

  1. A renderização de cada quadro de saída de vídeo é computacionalmente intensiva de maneira repetitiva. Uma CPU poderia fazer o trabalho, mas isso prejudicaria significativamente sua capacidade de executar seu "trabalho diário", tornando o sistema lento. As GPUs são criadas especificamente para esse tipo de trabalho.
  2. A conversão da representação digital de um quadro de vídeo em sinais necessários para transmiti-lo por uma porta física requer um hardware personalizado para essa porta. As CPUs destinam-se a funcionar em muitos sistemas diferentes e não têm controle sobre as portas de vídeo físicas com as quais espera-se que trabalhem. Isso impossibilita que uma CPU pura lide de ponta a ponta com a tarefa de gerar quadros de vídeo e transmitindo-os através de uma porta física. Mesmo CPUs modernas que incluem uma GPU embutida dependem de componentes adicionais fornecidos na placa-mãe para a saída de vídeo, e tecnicamente essas duas partes juntas formam uma placa gráfica.

Obviamente, a CPU pode executar a tarefa 1, mas é a tarefa 2 que requer hardware adicional para ser executada. Nos computadores modernos, esse é o adaptador gráfico.

    
por 30.01.2018 / 14:45