DXR165の備忘録

自分用の備忘録です。

Intel グラフィックス製品の歴史  

最終更新日:2018/05/19
Intel グラフィックス製品の歴史


Intel Processor Graphics 調査メモ  はこちらから


PC Graphics の歴史は

PC技術興亡史
グラフィックス編
第1回:最初のグラフィックスは、単純なフレームバッファー 
第2回:サードパーティーが推進した、IBM PCグラフィックスのカラー化 
第3回:VGAからXGAへ、IBMがグラフィックス規格を引っ張る 
第4回:グラフィックス拡張機能の乱立から、VESAによる標準化へ 
第5回:Windows時代に入り、グラフィックスアクセラレーター登場 
第6回:Windowsでもゲームを!DirectXが登場 
第7回:グラフィクスは単純な描画機構から、プログラマブルに進化 
第8回:グラフィックスは差別化が困難に、そしてモバイルに新たな競争が 
大原 雄介=フリーランス テクニカルライター 2015/03/18
http://tech.nikkeibp.co.jp/にて記事検索「PC技術興亡史」して下さい。

をご覧ください。


Intel グラフィックス製品の歴史をたどっていくときのポイントでまず抑えるのはバスの世代の変化にります。
バスの世代の変化 PCI-> AGP -> PCIe
大きな転換点はPCIeの登場です。


次は、内臓グラフィックの統合レベルです。
MCH内臓 -> CPUダイ統合
CPUダイ統合でLLCがCPUと共有できる点は非常に大きな意味を持つのではないでしょうか?


その次はOSです。
Windows 2000/xp(32bit)-> Vista(32bit)  -> 7(64bit) -> 10(64bit)
大きな転換点は2つ。
・Vista でWDDMが登場し、OS、デバイスドライバの関係等、その他様々な点が変わった。
・64bit Windows 7 の普及でメインメモリの容量の壁がなくなった。


最後にPCファームウエアの変遷です。
BIOS(VGA互換機能) -> UEFI BIOS(GOP Driver)
意外と忘れがちなのですが、OSが起動するまで画面描画を担うのはファームウエアです。メーカーのロゴやらCPUやメモリを認識したメッセージをディスプレイで見ることができるのもファームウエアのお陰です。PC/AT互換機のファームウエアといえば、永らくBIOSが使われてきました。そのBIOSで必要とされるビデオ機能はソフトウェア(API)とハードウェア(I/O Port Address,IRQ)の両方に及んでいました。いわゆるVGA互換と呼ばれるものです。従来、PC/AT互換機で使用するすべてのビデオカードや内臓グラフィイクッスにはこのVGA互換機能が埋め込まれてきました。レガシーをずーと引きずってきた訳です。しかし、そのレガシーをようやく捨て去れる時期がやってこようとしています。それは、レガシーBIOSに代わる新しいBIOS、そう、UEFI BIOSの登場です。2012年ごろよりWindows 8の登場と伴にPCのファームウエアにUEFI BIOSが普及し始めました。そして、2018年現在、コンシュマー用PCではUEFI BIOSの普及率はかなり高くなってきていると思われます。そして、ついにインテルはこのレガシーを2020年までにUEFI BIOSから削除する構想を明らかにしました。

Intel is removing legacy BIOS support from
client & data center platforms by 2020
• Platforms will be strictly UEFI Class 3
No 16-bit OpROM (VGA, LAN, Storage)
This will break any customer process that
depends on “disabling UEFI” (“CSM ON”)

"Last Mile" Barriers to
Removing Legacy BIOS
Fall 2017 UEFI Plugfest
October 30 – November 3, 2017
Presented by Brian Richardson (Intel Corporation)
http://www.uefi.org/sites/default/files/resources/Brian_Richardson_Intel_Final.pdf

このインテルの構想に賛同するハードウェアベンダーがどれだけいるかはわかりませんが、少なくとも、2018年現在でDOSを使う人はもういないし、Linux OSもUEFI BIOS対応が終わっているようですし、もうレガシーをきれいさっぱり捨て去るのがよいと思います。そうしないと、なにより、PCの勉強をする若い人がいつまでも、レガシーな知識を身につけなければならない、それは、”将来への重荷”になっていると思います。


UEFI BIOSについてはこちらの記事をご覧ください。




その歴史概要

AGPインターフェイス
1997年 Intel 初のAGPインターフェイス搭載チップセット 440LXが登場した。
ディスクリートビデオカード
1998年 Intel 740 発表。Intel唯一のディスクリートビデオカード。初のAGP対応ビデオチップ。
IGT (Intel Graphics Technology) コア
1999年 チップセット Intel 810 インテル社初のグラフィック(Direct AGP)統合チップセット DVMT対応
Intel Extreme Graphics
2001年~ チップセット Intel 830 に統合。
2004年~ Intel Graphics Media Accelerator(GMA)
チップセット Intel 915G(PCIe)以降に統合
2010年~ Intel HD Graphics 
CPUダイに統合(Sandy Bridge以降、Arrandale,Clarkdaleはパッケージ統合)


出典
Tom's Hardware Graphics Slideshow
Evolution Of Intel Graphics: i740 To Iris Pro
 by Michael Justin Allen Sexton  2017
http://www.tomshardware.com/picturestory/693-intel-graphics-evolution.html#s1


ASCII PCI登場から440BXまで Intelチップセットの歴史 その1 2009年 大原雄介
http://ascii.jp/elem/000/000/475/475852/index-3.html


AKIBA PC Hotline! HotHot REVIEW!
統合型チップセットの大本命登場
  ~ Intel810搭載マザーボード ~
1999年6月 [Text by 笠原一輝@ユービック・コンピューティング]
http://pc.watch.impress.co.jp/docs/article/990611/hotrev14.htm


@IT > System Insider > 解説 > 今後の10年を占う新Pentium 4プラットフォームを考察する
1.PCI Expressをサポートした初のチップセット
2.新チップセットで強化された機能
元麻布春男 2004年

List of Intel graphics processing units
From Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/List_of_Intel_graphics_processing_units



チップセット 440LXについて


初のAGPインターフェイスを搭載チップセットで正式には
INTEL 440LX AGPSET: 82443LX PCI
A.G.P. CONTROLLER (PAC)
となるようです。

AGPはIntelが考案した規格で、Pentium II用チップセットのIntel 440LXで初めて実装された。PCIバスのプロトコルなどをベースとしながら、8bit幅のアドレスバスを別途用意するほか、DME(Direct Memory Execute)と呼ばれる機能を実装。テクスチャをメインメモリ上に直接置くことで、ビデオカード側に実装するビデオメモリ量を削減し、ひいてはビデオカードの低価格化を実現させるものであった。

やじうまPC Watch
【懐パーツ】3Dグラフィックス界の風雲児、「Intel 740」搭載ビデオカード
劉 尭2016年11月15日 06:00
https://pc.watch.impress.co.jp/docs/news/yajiuma/1029873.html


で、この440LXチップセットのデータシートを見てみますと、Aperture SizeやらAperture Translation Table Base Registerなどのレジスタがありました。



PCI Configuration Space—Device 0 (Host-to-PCI Bridge)
B4h APSIZE Aperture Size Control Register
B8–BBh ATTBASE Aperture Translation Table Base Register

出典
INTEL 440LX AGPSET: 82443LX PCI
A.G.P. CONTROLLER (PAC)
Datasheet.
REVISION HISTORY
July, 1997 -001 first release.
January, 1998 -002.




Intel 810では専用のビデオメモリを持たず、メインメモリと共有するUMA (Unified Memory Architecture) を採用。





AGP(Accelerated Graphics Port)
引用始まり
 Intel社が'96年に発表した、グラフィックスアクセラレータとシステムメモリを結ぶ高速な専用バス(最大転送速度は現行のPCIバスが132MB/秒であるのに対し、533MB/秒)の規格で、主として3Dグラフィックスやフルモーションビデオに有用な以下の2つのメリットを提供する。

「高速な専用バスの確保」  様々なデバイスが使用するPCIバスとは独立した形で、グラフィックスアクセラレータ専用の高速バスを用意することによって、グラフィックスシステムのパフォーマンスを向上させる。
「メインメモリの共有」  テクスチャマッピング(立体の表面にグラフィックスを貼ること)を直接メインメモリから実行できるようになるので、そのための大量のメモリをビデオカード上に搭載しておく必要が無くなる(2D用の2~4MBといった少ないメモリだけでも、高品位な3Dアクセラレーションが期待できる)。
引用終わり
PC Watch 鈴木直美の「PC Watch先週のキーワード」
第3回【'97/10/13~10/17】
SGRAM RAMDAC AGP SDK DirectX OpenGL
http://pc.watch.impress.co.jp/docs/article/971021/key3.htm


引用始まり
もっとも、このAGPはご存知のとおり、3Dグラフィックスカードで「テクスチャーデータをメインメモリーからビデオメモリーへと高速に転送する」という目的で作られたもの。バスの構造もこれにあわせて最適化されているし、ソフトウェアの面でも「GART」(Graphics Address Remapping Table) Driverを使うことが前提となっている
引用終わり
ASCII バスの歴史を振り返る PCIからAGP、PCI-X編 2011年 大原雄介
PCIを超える2つの規格 AGPとPCI-X
http://ascii.jp/elem/000/000/618/618492/index-3.html


Direct Memory Execute(DIME)

Executeモード
AGPの実行モードの1つ。Direct Memory Execute(DIME)とも呼ばれる。OSがメインメモリーの一部をAGPメモリーとして獲得し、グラフィックスチップが直接アクセス可能なようにする。このとき、AGPメモリーはUC(Uncache)に属性が変更される。当然、アプリケーションからはこのメモリー領域は使えなくなり、メインメモリーがAGPメモリー分だけ少なくなったように見える。
出典
ASCII.jpデジタル用語辞典
http://yougo.ascii.jp/caltar/Execute%E3%83%A2%E3%83%BC%E3%83%89



引用始まり
Taking advantage of AGP's DIME (Direct Memory Execute , see "AGP - A New Interface for Graphic Accelerators" ) however is somewhat more difficult. DIME needs to allocate some system RAM via the OS to access large textures via AGP outside the local graphic memory of the card. The OS has to know what it's doing and hence definitely needs an extension that enables this procedure. Unfortunately there isn't any such extension available for Windows NT 4 yet, but if you realize, that NT is currently anyhow not the right platform for playing 3D games (no Direct3D support, only DirectDraw and others with SP3) you will understand why NT users will have to wait for a decent AGP implementation until NT 5 is released. For the majority of users however which are using Windows 95 (especially for games) there are three things necessary:
引用終わり
出典
Tom's Hardware   AGP - The Practice by Thomas Pabst 1997 
http://www.tomshardware.com/reviews/agp,35.html



GART(Graphics Address Remapping Table) 
Consistent with that emphasis,this interface specification requires a physical-to-physical address remapping mechanism which insures the graphics accelerator (an A.G.P. master) will have a contiguous view of graphics data structures dynamically allocated in system memory.
Remapping is accomplished via a memory-based table called the Graphics Address Remapping Table (GART) and used (“walked”) by the corelogic to perform the remapping. In order to avoid compatibility issues and allow future implementation flexibility, this mechanism is specified at a software (API) level. In other words, the actual GART table format is not specified; rather it is abstracted to the API by a HAL or miniport driver that must be provided with the corelogic. While this API does not constrain the future partitioning of remapping hardware, the remapping function will initially be implemented in the chipset or corelogic
引用元
Accelerated Graphics Port
Interface Specification
Revision 2.0
Intel Corporation
May 4, 1998
Intel
2. Architectural Context and Scope
2.1 Two Usage Models: “Execute” and “DMA”



Intel 810 Chipset(初のグラフィイクッス機能搭載チップセット)
Product Features
Integrated Graphics Memory Controller
Intel D.V.M. Technology
AGP External Port Not Support

/Host-Hub Interface Bridge/DRAM Controller(Device 0) Registers
|SMRAM -> System Management RAM Control Register
||Graphics Mode Select (GMS). 
This field is used to enable/disable the internal graphics device and select the amount of system memory that is used to support the internal graphics device.
00 = Graphics Device Disabled, No memory used (Device 1 is not accessible in this case)
01 = Reserved
10 = Graphics Device Enabled, 512 KB of memory used
11 = Graphics Device Enabled 1 MB of memory used
The 512 KB and 1 MB space selected by this field is used by video BIOS for handling support of VGA when no GMCH graphics driver is present (e.g., a DOS boot).
|MISCC -> Miscellaneous Control Register
||Graphics Display Cache Window Size Select.
0 = 64 MB (default)
1 = 32 MB. See GMADR Register (Device 1).
/IGD(Device 1) MMIO Base Address Registers(BARs)
|GMADR -> Graphics Memory Range Address Register
|MMADR -> Memory Mapped Range Address Register

出典
Intel 810 Chipset: Intel 82810/82810-DC100 Graphics and Memory Controller Hub (GMCH) Datasheet June 1999


引用始まり
 810チップセットは、「Whitney」のコードネームで呼ばれていた低価格PC向けのチップセット。ノースブリッジにAGP対応の2D/3Dビデオ機能が統合されているのが特徴。最上位の「810DC100」と、標準の「810」、廉価版の「810-L」の3製品が用意される。量産開始はすべて6月からで、1万個受注時の価格は、それぞれ3,910円/3,600円/3,120円となっている。

 3製品の構成は、I/Oコントローラの性能によって区分されている。最上位の「810DC100」は4MBのディスプレイキャッシュ(オプション)を追加できる。その他は「810」と共通で、ATA/66に対応するほか最大6スロットのPCIバスをサポートする。廉価版の「810-L」のみ、ATA/66に対応せず、PCIバスも最大4スロットとなる。

 ビデオ機能は、ソフトウェアDVD-Video再生をアクセラレートするモーションコンペンセーション(動き補償)に対応するほか、コントローラを統合する「ダイレクトAGP」などの技術により、AGP 2X相当の性能を実現したという。AC '97 signaling link対応のコントローラも搭載し、ソフトウェアによるオーディオ/モデム機能の提供が可能。また、スリープ状態からの復帰が従来より高速になる「Instantly Available PC技術」の対応機能が追加されている。標準構成ではISAバスをサポートしないが、オプションで対応する。
引用終わり
出典
PC Watch インテル、Celeron 466MHzと810チップセットを正式発表 ('99年4月26日)
http://pc.watch.impress.co.jp/docs/article/990426/intel.htm



引用始まり
Intelの説明によると、この統合チップセットでは、現在チップセットとビデオチップに入っているAGPのコントローラ回路とAGPのピンが不要になり、またメモリコントローラを統合、フレームバッファを削減できるためコストが削減できるという。フレームバッファには、システムメモリの一部を割り当てる。また、AGPではシステムメモリをテクスチャバッファなどに割り当てるが、この新しいアーキテクチャでは、もともとフレームメモリもシステムメモリを使っているため、テキスチャメモリなどにもダイナミックにシステムメモリの一部をアロケートできる。つまり、“AGPライク”なフィーチャを実現できると言う。AGPと異なり、ビデオチップが外部のチップセットにアクセスするロスもないため、AGPのレイテンシなどの問題も解決されるかも知れない。

 しかし、3~4年ほど前に共有メモリ構成(UMA)が騒がれた時は、システムメモリを共有した場合は、システム全体のパフォーマンスが落ちることが指摘された。それに対して、Intelは、当時と比べると、メモリ容量が大きくなりメモリ帯域も広くなったことで、システムパフォーマンスに与える影響はずっと小さくなったと主張する。ただし、このチップセットでは、サポートメモリはIntelが次世代高速DRAMとして押している広帯域のDirect RDRAMではなくSDRAMとなる見込みだ。これは、ローコストシステムでは、当初はコスト高が見込まれるDirect RDRAMが受け入れられないためと見られる。また、同社では、現在チップセットを製造している0.35ミクロンプロセスよりも高集積化が可能な、0.25ミクロンプロセス技術への移行が、チップセット統合の背景にあることを説明した。
引用終わり
出典
PC Watch 後藤弘茂のWeekly海外ニュース ('98年9月18日)
IDF速報:レガシーフリー化と低コスト
-Intelが次世代チップセットやマザーボードの戦略を明らかに-
ビデオ統合チップセットを投入
http://pc.watch.impress.co.jp/docs/article/980918/kaigai01.htm


引用始まり
GMCHに内蔵されているグラフィックスコアは、「Portola(ポルトラ)」のコードネームで呼ばれていた新グラフィックスチップ「Intel 752」だ。グラフィックスコアとメモリコントローラの間は、AGP 2x相当の帯域で結ばれているという。利点は、AGPの問題点だったレイテンシが、メモリコントローラとグラフィックスコアの一体化でかなり解消されたことだ。グラフィックスコアは、システムメモリの一部をグラフィックス用領域として使うUMA構成を取る。
引用終わり
出典
PC Watch 後藤弘茂のWeekly海外ニュース ('99年4月28日)
Intel 810登場、Intel版MediaGXはいつ?
https://pc.watch.impress.co.jp/docs/article/990428/kaigai01.htm


引用始まり
The Intel 810 chipset takes two major leaps forward from today’s shared memory solutions – complex integration of memory controller and graphics capability (Direct AGP) and advanced dynamic memory utilization (Dynamic Video Memory Technology – D.V.M.T.).

3.2 Direct AGP
Direct AGP provides the integrated graphics function the capability to make direct memory set-up calls (similar to those associated with standard AGP protocol) to system memory resulting in life-like video quality. 
引用終わり
出典
Intel 810 Chipset Great Performance for Value PCs Revision 2.1 May 30, 2000
3. Intel Graphics Technology for the Value PC Segment


Intel 815 Chipset
/Host-Hub Interface Bridge/DRAM Controller(Device 0) Registers
|SMRAM -> System Management RAM Control Register
||Graphics Mode Select (GMS). This field is used to enable/disable the Internal Graphics device and select the amount of main memory that is “Stolen” to support the internal graphics device in VGA (nonlinear) mode only. These 2 bits only have meaning if we are not in AGP mode.
00 = Internal graphics device Disabled, No memory “Stolen”
01 = Internal graphics device Enabled, No memory “Stolen”
10 = Internal graphics device Enabled, 512 KB of memory “Stolen” for frame buffer.
11 = Internal graphics device Enabled, 1 MB of memory “Stolen” for frame buffer.
|MISCC -> Miscellaneous Control Register
||Graphics Translation Window Size Select—R/W. In GFX mode this would be the size of the GTT (Graphics Translation Table). Not a valid bit in AGP mode.
0 = 64 MB (default)
1 = 32 MB.
/IGD MMIO Base Address Registers(BARs)
|GMADR -> Graphics Memory Range Address Register
|MMADR -> Memory Mapped Range Address Register

出典
Intel 815 Chipset Family: 82815 Graphics and Memory Controller Hub (GMCH) Datasheet June 2000



Intel 830 Chipset
/SDRAM Controller/Host-hub Interface Device Registers -Device #0
|GCC1-–GMCH Control Register #1
||Graphics Mode Select (GMS). This field is used to select the amount of Main Memory that is preallocated to support the Internal Graphics device in VGA (non-linear) and Native (linear) modes. These 3 bits are valid only when Internal graphics is enabled.
000 = No memory pre-allocated (Graphics memory Disabled) [RESERVED]
001 = No memory pre-allocated (Graphics memory Enabled) [RESERVED]
010 = DVMT (UMA) mode, 512K of memory pre-allocated for frame buffer
011 = DVMT (UMA) mode, 1M of memory pre-allocated for frame buffer
100 = DVMT (UMA) mode, 8M of memory pre-allocated for frame buffer)
||Device 2: Graphics Memory Aperture Size (Controls GMADR register in Device#2)
0 = 128 MB(default)
1 = 64 MB
/IGD MMIO Base Address Registers(BARs)
|GMADR -> Graphics Memory Range Address Register
|MMADR -> Memory Mapped Range Address Register

出典
Intel® 830 Chipset Family: 82830 Graphics and Memory Controller Hub (GMCH-M) Datasheet January 2002



Intel 915 Chipset 


インテルも「10年に一度の抜本的な変革をもたらす」と新しいチップセットを評価しているそうです。
PCIeを初めて実装 915Gは初PCIe GART?
内蔵GPUは「GMA900」の搭載
Linux のIntel ドライバもこのチップセットを基本としているようです。i915 .

/Host Bridge/DRAM Controller PCI Register Details (D0:F0)
|GGC—GMCH Graphics Control Register
||Graphics Mode Select (GMS): This field is used to select the amount of main memory that is pre-allocated to support the Internal Graphics device in VGA (non-linear) and Native (linear) modes. The BIOS ensures that memory is preallocated only when Internal graphics is enabled. Device 2 (IGD) does not claim VGA cycles (memory and I/O), and the Sub-Class Code field within Device 2,Function 0 Class Code register is 80h.
000 = No memory pre-allocated
001 = DVMT (UMA) mode, 1 MB of memory pre-allocated for frame buffer.
010 = Reserved.
011 = DVMT (UMA) mode, 8 MB of memory pre-allocated for frame buffer.
100–111 = Reserved.
/Integrated Graphics Device PCI Register Details (D2:F0)
|GMADR -> Graphics Memory Range Address Register
|GTTADRGraphics Translation Table Range Address
This register requests allocation for Graphics Translation Table Range. The allocation is for 256 KB.
|BSM—Base of Stolen Memory
Graphics Stolen Memory and TSEG are within DRAM space defined under TOLUD. From the top of low used DRAM, GMCH claims 1 to 64 MBs of DRAM for internal graphics, if enabled.
|MSAC—Multi Size Aperture Control
This register determines the size of the graphics memory aperture in function 0 and in the trusted space. By default, the aperture size is 256 MB (bit 27 read only). If bit 1 is set to a 1, then the aperture size is limited to 128 MB.
※この時点ではGTT Stolen Memory(GSM)専用RangeはなくBSM内に確保している模様です。
2018/05/09追記
GTT Stolen Memory(GSM)の物理アドレスがDevice 2: Function 0のPGTBL_CTL register (MMIO 2020)にあるようです。

11 System Address Map 
The Address Map includes a number of programmable ranges: 
• Device 2: Function 0 (82915G/82915GV/82915GL/82910GL GMCH only)
⎯ MMADR – IGD registers and internal graphics instruction port. (512-KB window)
⎯ IOBAR – I/O access window for the GMCH internal graphics. Through this window
address/data register pair, using I/O semantics, the IGD and internal graphics instruction
port registers can be accessed. Note, this allows accessing the same registers as
MMADR. In addition, the IOBAR can be used to issue writes to the GTTADR table.
⎯ GMADR – Internal graphics translation window. (256-MB window)
⎯ GTTADR – Internal graphics translation table location. (256-KB window). Note that the
PGTBL_CTL register (MMIO 2020) indicates the physical address base which is 4 KB
aligned. 



機能


インテル®SDVOポートは、対応するGMCHからの第2世代のデジタルビデオ出力です。



データへの高帯域幅アクセスは、グラフィックスおよびシステムメモリポートを介して提供されます。 GMCHは、4.2 GB /秒〜8.5 GB /秒(メモリ構成に応じて)のシステムメモリにあるグラフィックスデータにアクセスできます。

GMCHはIntelのダイレクトメモリ実行モデルを使用してシステムメモリからテクスチャをフェッチします。 GMCHには、最近使用されたテクスチャデータの頻繁なメモリフェッチを避けるためのキャッシュコントローラが含まれています。

GMCHは、統合型DAC、および/またはADD2カードを駆動できる2つのSDVOポート(PCI Expressで多重化)を駆動することができます。外部SDVOデバイスは、最大2048x1536 @ 75 Hzの解像度で標準プログレッシブスキャンアナログモニタを駆動することができます。 SDVOポートは、さまざまなTV-Out、TMDS、およびLVDSトランスミッタを駆動することができます。


GMCHの内部グラフィックスデバイス(IGD)には、いくつかのタイプのコンポーネントが含まれています。 IGDの主なコンポーネントはエンジン、プレーン、パイプ、ポートです。
GMCHには、3Dおよび2Dエンジンを制御する3D / 2D命令処理ユニットがあります。 IGDの3Dおよび2Dエンジンには、メモリコントローラを介してデータが供給されます。エンジンの出力は、メモリに送られたサーフェスで、GMCHプレーンによって取得され、処理されます。

GMCHには、さまざまなプレーン(ディスプレイ、オーバーレイ、カーソル、VGAなど)が含まれています。平面は、ソース、サイズ、位置、方法、フォーマットなどの特性を持つ長方形のイメージから構成されます。これらの面は、似たような特性を持つ矩形のメモリサーフェスであるソースサーフェスにアタッチされます。それらは特定の宛先パイプにも関連付けられています。

パイプは、組み合わされたプレーンとタイミングジェネレータのセットで構成されています。 GMCHには2つの独立した表示パイプがあり、2つの独立した表示ストリームのサポートが可能です。 ポートは、パイプの結果の宛先です。 GMCHには3つのディスプレイポート、1つのアナログ(DAC)と2つのデジタル(SDVOポートBおよびC)が含まれています。 

12 Functional Description
12.5 Intel® Serial Digital Video Output (SDVO)
12.6 Integrated Graphics Device
より抜粋しGoogle 翻訳した。



出典
Intel® 915G/915GV/915GL/915P/915PL/910GL Express Chipset Datasheet For the Intel® 82915G/82915GV/82915GL/82910GL Graphics and Memory Controller Hub (GMCH) and the Intel® 82915P/82915PL Memory Controller Hub (MCH) February 2005



現在のAGPは、PCIバスをベースに開発されたものだが、PCIバスより高いデータ転送速度を確保するための物理的、電気的な変更だけでなく、ソフトウェア的にも異なるものとなっている。こうしたソフトウェア的な変更が、ある意味でAGPをグラフィックス専用にしているわけだが、PCI Expressのx16スロットをそのまま利用する将来のグラフィックス・スロットは、ソフトウェア的にも汎用のPCI Expressスロットと変わらない。例えばAGPの特徴的な機能の1つとしてはGART*4のサポートが挙げられるが、PCI ExpressではGARTのサポートは行われない。これはPentium III以降のプロセッサ自体がGARTに相当する「Page Attribute Table」をサポートしているため、不要と判断されたことによる。
*4 Graphics Address Remapping Table:メイン・メモリの一部をAGPメモリとして確保し、グラフィックス・コントローラが直接そのアドレスをアクセスすることを可能にする機能。

解説
PCI-X 2.0とPCI Expressのインパクト(後編)
――新しい拡張インターフェイスの実体とその影響を探る――
3. 次世代のI/O規格「PCI Express」は何が変わるのか?
元麻布春男
2002/10/11
http://www.atmarkit.co.jp/fsys/kaisetsu/009pci_innovation/pci_innov03.html



Intel 2th-7th Core Processor
/PCI Device 0, Function 0 Configuration Registers
|GGC—GMCH Graphics Control Register
|-|GTT Graphics Memory Size (GGMS)
This field is used to select the amount of Main Memory that is preallocated to support the Internal Graphics Translation Table. 
1h = 1 MB of pre-allocated memory
2h = 2 MB of pre-allocated memory
0h = No pre-allocated memory
||Graphics Mode Select (GMS)
This field is used to select the amount of main memory that is preallocated to support the Internal Graphics device in VGA (nonlinear) and Native (linear) modes. 
0h = 0 MB - 512 MB
|BDSM—Base Data of Stolen Memory Register
The base address of stolen DRAM memory
|BGSM—Base of GTT stolen Memory Register
The base address of stolen DRAM memory for the GTT
/Processor Graphics Registers
|GMADR -> Graphics Memory Range Address Register
|GTTMMADR—Graphics Translation Table ,Memory Mapped Range Address
|MSAC—Multi Size Aperture Control
7th Core MAX 4096 MB.

出典
2nd Generation Intel Core Processor Family Desktop,
Intel Pentium Processor Family Desktop, and
Intel Celeron Processor Family Desktop
Datasheet, Volume 2 September 2011



Intel 7th Core Processor
/Host Bridge/DRAM Registers
GMCH Graphics Control Register (GGC)
Base Data of Stolen Memory (BDSM)
Base of GTT stolen Memory (BGSM)
/Processor Graphics Registers
Graphics Translation Table, Memory Mapped Range Address (GTTMMADR)*
Graphics Memory Range Address (GMADR)*
I/O Base Address (IOBAR)*→I/O portアドレスです。レガシー用?
Base Data of Stolen Memory (BDSM)
Multi Size Aperture Control (MSAC)
*は標準BAR


出典
7th Generation Intel® Processor
Families for S Platforms and Intel®
CoreTM X-Series Processor Family
Datasheet, Volume 2 of 2
May 2017



Intel® Open Source HD Graphics
Programmer's Reference Manual
For the 2016 Intel Atom™ Processors, Celeron™ Processors, and
Pentium™ Processors based on the "Apollo Lake" Platform
(Broxton Graphics)
Volume 2b: Command Reference: Registers
 May 2017, Revision 1.0
https://01.org/sites/default/files/documentation/intel-gfx-prm-osrc-bxt-vol02b-commandreference-registers.pdf
※ATOM内臓のHD Graphics のドキュメントですが、その世代はKaby Lakeと同じ第9世代ですので問題ないと思われます。

によりますと

GMCH Graphics Control Register(GGC) / Graphics Mode Select(GMS):
このフィールドは、VGA(非線形)モードおよびNative(リニア)モードで内部グラフィックスデバイスをサポートするために事前に割り当てられたメインメモリの量を選択するために使用されます。 BIOSは、内部グラフィックスが有効な場合にのみメモリが事前に割り当てられるようにします。 IGDが無効/有効になっているため、ハードウェアはこれらのビットを自動的にクリアまたは設定しません。
BIOS要件:IVD(このレジスタのビット1)が0の場合、BIOSはこのフィールドを0hに設定してはなりません。
BIOS要件:新しいサイズでは8MBまでの割り当てが可能であるため、BIOSはWOPCMと基本的なGFX Stolen 機能のための十分なスペースがあることを保証する必要があります。

00h:0MB
01h:32MB
02h:64MB
03h:96MB
etc..

GMCH Graphics Control Register(GGC) / GTT Graphics Memory Size(GGMS):
このフィールドは、内部グラフィックス変換テーブルをサポートするためにあらかじめ割り当てられているメインメモリの量を選択するために使用されます。BIOSは、内部グラフィックスが有効な場合にのみメモリが事前に割り当てられるようにします。GSMはDSMとの連続した物理的なDRAM空間であると想定され、BIOSは連続したメモリチャンクを割り当てる必要があります。
ハードウェアは、レジスタにプログラムされたGSMサイズのみを使用してDSMからGSMのベースを導出します。この値を予約済みにプログラミングする場合のハードウェア機能は保証されていません。

0x0:No Preallocated Memory
0x1:2MB of Preallocated Memory
0x2:4MB of Preallocated Memory
0x3:8MB of Preallocated Memory

となっています。



GTTMMADR(PCI BAR)は16MBが必要。
GMADR(PCI BAR) は  Multi Size Aperture Control (MSAC)で決まる。
GMADRはMMIO内でのPCIe GARTのApertureの開始アドレスになります。この値はOSが設定します。また、このApertureのサイズはBIOSがMulti Size Aperture Control (MSAC)の値を設定することで決定します。

GTTMMADR
このレジスタは、統合されたグラフィックス変換テーブル変更範囲とメモリマップ範囲の割り当てを要求します。この範囲には、MMIOおよびグローバルGTTアパーチャに合わせて16 MBが必要です.MMIOで使用される2 MBとGTTで8 MBが使用されます。

GTTADRは(GTTMMADR + 8 MB)から始まり、MMIOのベースアドレスはGTTMMADRと同じです。(GTTMMADR + 2MB) - (GTTMMADR + 8MB)の間の領域は予約されています。

  グローバルGTTの場合、この範囲はグラフィックスデバイスの設定領域のメモリBARとして定義されます。これは、ページテーブルエントリ値(PTE)を書き込むためにソフトウェアが必要とされる別名です。ソフトウェアは、グローバルグラフィックス変換テーブル(GTT)からPTE値を読み取ることができる。PTEはグローバルGTTメモリ領域に直接書き込むことはできません。  デバイスは、オンチップで実装されたさまざまなTLB内のキャッシュされた変換を無効にするために、この領域への書き込みをスヌープします。

割り当ては16MBで、ベースアドレスはビット[38:24]で定義され、OSが割り当てる。


          8MB   ->  Global GTT Table Aperture
GTTADR  --------------------------
          6MB   -> Reserved 
          -----------------
          2MB   -> MMIO
GTTMMADR ------------------------------------------------------

Multi Size Aperture Control (MSAC)
APSZ4: This field is used in conjunction with other APSZ* fields to determine the size
of Aperture (GMADR) and affects certain bits of GMADR register. The description below
is for all APSZ* fields 4:0 -

00000 = 128MB => GMADR.B[26:4] is hardwired to 0
00001 = 256MB => GMADR.B[27] = 0, R0
00010 = illegal (hardware will treat this as 00011)
00011 = 512MB => GMADR.B[28:27] = 0, R0
0100—00110 = illegal (hardware will treat this as 00111)
00111: 1024MB => GMADR.B[29:27] = 0, RO
000-01110 = illegal (hardware will treat this as 01111)
01111= 2048MB => GMADR.B[30:27] = 0, R0
10000-11110 = illegal (hardware will treat this as 11111)
11111 = 4096MB => GMADR.B[31:27] = 0, RO







関連記事

category: PC-HW

tb: 0   cm: 0

コメント

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://dxr165.blog.fc2.com/tb.php/438-92cbd1b8
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

最新コメント

カウンター(2012/3/10以降)