Why is this memory range on the PCI bus?

Page 1 of 2 12 LastLast

  1. Posts : 94
    Windows 7: Home Premium
       #1

    Why is this memory range on the PCI bus?


    Why is the following memory address range on the PCI bus?

    Why is this memory range on the PCI bus?-rntny.jpg

    The image is from Device Manager on Netbook that uses shared video memory with no dedicated video memory so I am unsure as to why the VGA memory range would be on the PCI bus. Wouldn't this range need to go to system memory which then the PCI device reads from?

    This isn't an issue but rather just curiosity as to why it is.

    Any help would be appreciated.

    Thanks.
      My Computer


  2. Posts : 1,653
    Windows 10 Pro. EFI boot partition, full EFI boot
       #2

    That address range is used to communicate with graphics card. It is only 131 KB.
      My Computer


  3. Posts : 94
    Windows 7: Home Premium
    Thread Starter
       #3

    Thanks for the reply.

    That address range is for VGA which would be in system memory, so I'm not too sure why it is going onto the PCI bus?
      My Computer


  4. Posts : 3,487
    Win 7 Pro x64/Win 10 Pro x64 dual boot
       #4

    The graphics card uses the PCI bus to communicate with memory. It still behaves like a standard graphics card, so the architecture is set up like a normal card. This avoids complicated driver rewrites, too.
      My Computer


  5. Posts : 94
    Windows 7: Home Premium
    Thread Starter
       #5

    Thanks Mellon Head,

    So Windows just sees it as a normal graphics card on the PCI bus, it's the BIOS that configures the Chipset to read/write to that address in system memory.

    Is that correct?
    Last edited by ownedandout; 09 Mar 2014 at 17:00.
      My Computer


  6. Posts : 3,487
    Win 7 Pro x64/Win 10 Pro x64 dual boot
       #6

    The BIOS has a little to do with it, but it's more the system architecture itself that determines what is where on the PCI bus. Everything in a computer has an address, or address range that it falls into, and they have become standardized over the years. Video cards live at a certain address, processors at another, etc. Most of these things are "hardwired" to be in certain places. That's how you get compatibility between computers sharing a common OS, like Windows. Windows knows that it will always find a graphics device at 0xA000 to 0xBFFFF, or somewhere in that range. It's coded that way, and the machine is designed that way.
      My Computer


  7. Posts : 94
    Windows 7: Home Premium
    Thread Starter
       #7

    Thanks again,

    My fault using the word BIOS, like you say it hard-wired into the chipset where to send each memory address. The initial confusion came because I know 0xA000 to 0xBFFFF is in system memory and yet Windows shows this to be on the PCI bus.

    So even when Windows shows this address range to be on the PCI bus, when anything writes to this address the chipset will write it to system memory from which the PCI card will then read from?

    ...and the only reason Windows shows the address on the PCI bus is because it is a PCI device?
      My Computer


  8. Posts : 94
    Windows 7: Home Premium
    Thread Starter
       #8

    bump.
      My Computer


  9. Posts : 3,487
    Win 7 Pro x64/Win 10 Pro x64 dual boot
       #9

    ownedandout said:
    Thanks again,

    My fault using the word BIOS, like you say it hard-wired into the chipset where to send each memory address. The initial confusion came because I know 0xA000 to 0xBFFFF is in system memory and yet Windows shows this to be on the PCI bus.

    So even when Windows shows this address range to be on the PCI bus, when anything writes to this address the chipset will write it to system memory from which the PCI card will then read from?

    ...and the only reason Windows shows the address on the PCI bus is because it is a PCI device?
    You're confusing RAM with system memory address space. The PCI bus for your video is hardwired at 0xA000 to 0xBFFFF. That is system address space. It has nothing to do with RAM except that it exists in your RAM address space, but that memory is reserved for the system, and you cannot use it. The hardware is mapped into these RAM locations and they are only available to the OS.

    When there are reads or writes to and from the PCI bus, they go directly to the hardware via the system address. It doesn't write to the system memory, per se, it writes to the memory locations where the hardware is mapped. In effect, it is writing directly to the hardware.
      My Computer


  10. Posts : 2,497
    Windows 7 Pro 64 bit
       #10

    Memory mapped hardware has been used in computers for many years. It allows the CPU to communicate with hardware devices just like it was accessing RAM and is the fastest form of hardware communication available. Only kernel level system components and device drivers can access hardware directly.

    There is RAM at addresses A0000 to BFFFF but it is totally inaccessible. The addresses go to the video interface, not RAM. For all practical purposes that RAM does not exist.
      My Computer


 
Page 1 of 2 12 LastLast

  Related Discussions
Our Sites
Site Links
About Us
Windows 7 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 7" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 15:44.
Find Us