次の R4000 ドキュメントの 81 ページ: http://www.scribd.com/doc/53181649/70/EntryLo0-2-and-EntryLo1-3-Registers
各 TLB エントリに 1 つのグローバル ビットを表示します (これは理にかなっています)。グローバル ビットが TLB エントリに設定されている場合、ルックアップ中に ASID は無視されます。
However, on the following page, the EntryHi register has a reserved (0) field in place of the TLB entry's global bit (as mentioned in the header on page 82). In its place, there are two global bits, one in each EntryLo{0,1} register.
Several sources (including "See MIPS Run") suggest that, when writing a TLB entry using the TLBW instruction, if the EntryLo0 (G) and EntryLo1 (G) bits are not identical, "bad things will happen." Other sources, such as a forum post on linux-mips.org, (http://www.linux-mips.org/archives/linux-mips/2003-04/msg00226.html) suggest that "in other words, writing a TLB entry with only one of the G bits in the EntryLo{0,1} register pair set will result in a TLB entry with the G bit cleared." (Which, in and of itself, is unclear what exactly will happen -- "something bad", or a TLB entry with its G bit clear).
What is the reason for two global bits, then? Is it in place for legacy support, or am I missing out on something?