Cada GPU Intel pré-Ice Lake pode controlar apenas três monitores. Eu me pergunto o que a escassez de recursos causa isso e se é possível contornar isso em software. Aqui estão algumas coisas que não são explicações:
- Número de conectores. O mesmo hub MST de quatro portas que executa quatro monitores 1920 x 1080 @ 60 Hz com uma GPU nVidia ou AMD não executará quatro com Intel. E isso requer apenas um conector DP 1.2 no host.
- O número de pixels/largura de banda de exibição. Mesmo que um laptop tenha uma tela 4K, ainda é possível adicionar dois monitores externos. (Coincidentemente, 4K é exatamente a mesma quantidade de pixels que quatro monitores FHD.)
Então por que?
Todas as GPUs têm uma peça de hardware que é essencialmente um monte de contadores (posição horizontal e vertical), que lêem o framebuffer, determinam a cor neste ponto e a enviam para processamento posterior.
Você pode traçar a ancestralidade disso desde o venerável Motorola 6845 sobre CGA, Hercules, EGA; em seguida, GPUs Intel anteriores, como a família i9xx e assim por diante.
Alguns fabricantes (NVidia) ainda chamam isso de CRTC (Cathode-Ray Tube Controller), porque é o que eles eram originalmente. Alguns chamam de "cabeças".
A Intel os chama de "pipes". Você pode encontrar detalhes sobre quais registradores são usados para controlá-los em folhas de dados para GPUs Intel anteriores.
Portanto, o número deles determina quantas imagens diferentes você pode produzir a partir do framebuffer. (Existem outras restrições, como tempo).
Embora seja possível (pelo menos para a maioria das GPUs Intel) usar um único tubo para conduzir vários monitores, com a mesma imagem ("espelhamento"). Isso também é chamado de "Zaphod-Mode" (múltiplas cabeças).
Referências:
Uma lista de especificações de hardware gráfico Intel pode ser encontrada aqui . Em particular, o Volume 3 do manual do programador i965 explica os registradores Display Pipeline ("Pipe") na seção 2.7. Na seção 2.5 são descritos os registradores PLL (phase-locked loop) responsáveis pela temporização; se você entender os detalhes, saberá por que algumas das restrições de tempo estão presentes.
Esses são os primeiros manuais públicos que conheço que descrevem essa arquitetura.
O código-fonte do driver gráfico Intel do kernel Linux pode ser encontrado aqui . Você pode ver como as funções relacionadas a um pipe são indexadas por esse pipe.
Porque os vários fluxos precisariam de um tubo cada. Não é possível usar um único canal para produzir vários fluxos, pois o fluxo consiste em mais do que apenas pixels, e a lógica do tubo existe para inserir os marcadores adicionais .
E esta questão adiciona a complicação adicional de usar um único cabo para múltiplos fluxos.
Você pode ler todos os detalhes sangrentos para isso na especificação VESA Display Port 1.2 , seção 2.6. A Figura 2-61 mostra como vários fluxos precisam ser multiplexados; a parte de "captura de dados" seria conectada a uma porta digital, que por sua vez seria conectada a um pipeline.
Portanto, não é possível pegar um único fluxo e declará-lo como vários fluxos.
Mas você já tem essa restrição (o número de tubos determina o número máximo de "visões" diferentes) para diferentes saídas físicas, não importa se são analógicos VGA, DVI, HDMI, modo USB-C alt ou qualquer outro.
As razões são muito mais simples do que as que você listou: três unidades de exibição embutidas em vez de duas. O Ice Lake também se beneficiou da alta largura de banda oferecida pelo DisplayPort 1.4a e da compactação 'visualmente sem perdas' oferecida pelo Display Stream Compression (DSC) da VESA, permitindo 5K a 120 Hz.
Da folha de dados das famílias de processadores Intel® Core™ de 10ª geração, vol. 1 vem este diagrama na página 92:
Arquitetura do lago de gelo
Comparando-o com a folha de dados das famílias de processadores Intel® Core™ de 8ª e 9ª geração :
Arquitetura pré-lago de gelo
Pode-se ver que Ice Lake tem três tubos de exibição, enquanto a geração anterior tinha duas unidades de codificação e duas de decodificação. Ice Lake foi realmente uma arquitetura inovadora para a Intel.
Para atingir esse poder, é necessário aumentar o poder de computação tanto no número de unidades quanto na velocidade do clock.
Compare na Wikipedia Intel Graphics Technology as seguintes características:
Kaby Lake Refresh / Amber Lake / Coffee Lake / Whiskey Lake / Comet Lake
lago de gelo
Veja também:
Intel 'Ice Lake' Gen 11 iGPU suportará DisplayPort 1.4a e Display Stream Compression para 5K@120Hz .
Cada GPU terá uma implementação única, mas acho que o recurso de que você está falando se chama RAMDAC . Parece que a maioria dos adaptadores de vídeo "herdados" tinham dois RAMDACs em seu controlador de vídeo e podiam suportar dois monitores. Desde então, houve avanços mais recentes que não precisam de um conversor digital para analógico. O exemplo que darei é o AMD Eyefinity . Funciona apenas com DisplayPort porque DisplayPort não suporta sinais analógicos (todos digitais). Isso permite que eles se afastem do RAMDAC herdado e usem um novo controlador de exibição que pode lidar com seis monitores com um chip.
O Intel "Display Pipe" é provavelmente um tipo de controlador de vídeo que contém um RAMDAC herdado por motivos de compatibilidade. Em vez de desenvolver seu próprio controlador de exibição totalmente digital "moderno", quando precisam de mais exibições, geralmente incluem apenas uma GPU NVIDIA\AMD discreta para adicionar exibições adicionais a seus sistemas.