Prev: ACPI problems with Centrino processor
Next: Just $15
From: Tony Houghton on 24 Nov 2009 08:09 In <87hbsk93jh.fsf(a)spindle.srvr.nix>, Nix <nix-razor-pit(a)esperi.org.uk> wrote: > On 23 Nov 2009, spike1(a)freenet.co.uk said: > >> (a large powerful graphics card can also push addressable RAM past the 4gig >> limit) > > I dunno about that: they can't use more than 256Mb (the maximum size of > a PCI BAR). If you have several cards, perhaps (or if the card allows > for multiple PCI BARs, but I don't know if any do). I'm pretty sure you can get cards with more than 256MB. Does PCI-E not have that limit, or does it only limit how much can be paged into the main address space at a time? -- TH * http://www.realh.co.uk
From: Nix on 25 Nov 2009 18:59 On 24 Nov 2009, Richard Kettlewell outgrape: > Nix <nix-razor-pit(a)esperi.org.uk> writes: >> On 23 Nov 2009, spike1(a)freenet.co.uk said: >>> One disadvantage is that programs compiled for 64bit require more >>> memory due to the extra instructions, >> >> ITYM 'increased alignment requirements'? > > I'd have thought the double-sized pointers would be the biggest > additional consumer of memory. Yeah, on x86(-64) with its complex alignment rules you're probably right: we don't pay for alignments we don't use. On SPARC64, in which everything was pretty much constant-alignment, the alignment costs really did blow everything up (in I$ as well as D$).
From: Nix on 25 Nov 2009 19:02
On 24 Nov 2009, Tony Houghton said: > In <87hbsk93jh.fsf(a)spindle.srvr.nix>, > Nix <nix-razor-pit(a)esperi.org.uk> wrote: > >> I dunno about that: they can't use more than 256Mb (the maximum size of >> a PCI BAR). If you have several cards, perhaps (or if the card allows >> for multiple PCI BARs, but I don't know if any do). > > I'm pretty sure you can get cards with more than 256MB. Does PCI-E not > have that limit, or does it only limit how much can be paged into the > main address space at a time? Traditionally, neither. PCIe has the same limits as PCI (it looks almost exactly like PCI at the software level), so what the GPUs do is expose 256Mb to the CPU and reserve the rest for their own use. It's not quite like paging: you generally dump something (e.g. a texture) into the accessible memory and then use GPU instructions to move it somewhere only the GPU can see (that sort of thing is, of course, *fast* on graphics cards! plus you only do it at initialization time, unless you're so short of memory you have to swap textures in and out, in which case performance will suck in any case). |