# Where does GPU-Z get the chip ID



## renegade44 (Nov 27, 2009)

How does GPU-Z identify the GPU chip on a Video card?  Is there microcode inside the GPU chip itself.  Or does it come from the BIOS?


----------



## temp02 (Nov 27, 2009)

I guess none of the methods you mentioned but instead "hardcoded" (by hand) tables that relate PCI device IDs to a specific chipset.
But who's better to answer you than "tha man" itself: *W1zzard*, wait for an awnser from him.


----------



## renegade44 (Nov 28, 2009)

temp02 said:


> I guess none of the methods you mentioned but instead "hardcoded" (by hand) tables that relate PCI device IDs to a specific chipset.
> But who's better to answer you than "tha man" itself: *W1zzard*, wait for an awnser from him.




Ok the key question is whether someone could fool GPU-Z.  Say someone took a 9600GSO and wanted GPU-Z think it's a 9800gt.  How hard would it be to do?  Let's pretend it's some evil OEM sweat shop in Elbonia taht has a 1000 9600GSO chips and has an order for a 1000 9800gt cards.  Could they pull off this scam?


----------



## Mussels (Nov 28, 2009)

most of it comes from the registry, and yes it can easily be fooled.


the GPU 'code name' cant be tricked however - so if you see a "fermi" with a G92 core, you get the idea


----------



## W1zzard (Nov 28, 2009)

are you talking about the text string "RV770" ? that's stored in gpuz and selected based on the device id 1002 *9480*.
the device id is stored in the pci concfig space and is loaded there by the gpu when it is starting. it is created from a hardcoded value in the gpu and a second value inside the bios.

the text "ATI Radeon 4800 Series" from the driver inf file, gets stored in the registry, gpuz gets it from there via an api call


----------



## renegade44 (Nov 28, 2009)

W1zzard said:


> are you talking about the text string "RV770" ? that's stored in gpuz and selected based on the device id 1002 *9480*.
> the device id is stored in the pci concfig space and is loaded there by the gpu when it is starting. it is created from a hardcoded value in the gpu and a second value inside the bios.
> 
> the text "ATI Radeon 4800 Series" from the driver inf file, gets stored in the registry, gpuz gets it from there via an api call



No. What i want to know is where it comes from on a nvidia 9800GT?  Is it hardcoded in the GPU?  Could someone write a BIOS that could tell GPU-Z that it is a different chip than the one on the card that would fool someone who has some technical knowledge like a hardware enthusiast?

TIA


----------



## W1zzard (Nov 28, 2009)

where does WHAT EXACTLY come from ?


----------



## renegade44 (Nov 28, 2009)

W1zzard said:


> where does WHAT EXACTLY come from ?



Where does the device ID come from?

I assume we are having difficulty communicating because english is not your native language and I don't speak german.


----------



## angelkiller (Nov 28, 2009)

@renegade

Every field is named. Like where it shows the core speed, that 'box' is called 'GPU Clock'.

I think W1zzard wants to know the name of the 'box' that you're talking about.

If you want to make it _really_ clear, take a screenshot of GPU-Z, paste it in paint, and circle the part you're talking about. You can upload the pic at techpowerup.org.


----------



## renegade44 (Nov 28, 2009)

angelkiller said:


> @renegade
> 
> Every field is named. Like where it shows the core speed, that 'box' is called 'GPU Clock'.
> 
> ...




the boxes are

GPU

Device ID

Where does the information come from that are in those boxes?


----------



## W1zzard (Nov 28, 2009)

renegade44 said:


> Where does the device ID come from?
> 
> I assume we are having difficulty communicating because english is not your native language and I don't speak german.



thanks for the clarification, you should have asked like that before. i assume we are having difficulty communicating because talking in technical vga terms is not something you do regularly.

the device id is stored (read-only) inside the pci config space of the gpu. the gpu fills in the device id based on a hardcoded value inside the silicon and a second value inside the bios. usually only the lowest bits can be changed by the bios while the higher ones are hardcoded.

the gpu name is stored inside gpu-z and selected based on the device id.

while it is realistically possible to manipulate the lower bits of the device id, changing the higher bits is not possible or extremely hard. it would also result in a non working card because the driver looks at the device id to decide how to talk to the device


----------



## renegade44 (Nov 28, 2009)

W1zzard said:


> thanks for the clarification, you should have asked like that before. i assume we are having difficulty communicating because talking in technical vga terms is not something you do regularly.
> 
> the device id is stored (read-only) inside the pci config space of the gpu. the gpu fills in the device id based on a hardcoded value inside the silicon and a second value inside the bios. usually only the lowest bits can be changed by the bios while the higher ones are hardcoded.
> 
> ...



thanks


----------

