Die Geräteadressen bzw wo sie sich am bus befinden werden in der regel vom BIOS bzw. Hersteller des Motherboards verwaltet/vorgegeben.
Die geräte IDs selbst werden vom Hersteller der jeweiligen Karten Chips vergeben, da gibts immer eine Vendor ID und eine Device ID (Google mal nach: "ven 1022 dev 57a4" wie aus deinem Screenshot dann solltest irgendwas mit AMD Bridge finden) das ist dann die spezifische geräte ID die du auch im Geräte Manager in Windows findest.
Vergleich nicht Windows und Linux, das sind 2 paar Schuhe schon alleine vom Kernel, bei Windows weiß man vieles nicht was der Kernel im hintergrund macht bzw wie alles funktioniert, aber vom prinzip her ist/kann im Hintergrund nicht viel anders sein.
Das ist irrelevant, im user space ist eigentlich nur wichtig ob es sda, sdb, sdc,... ist und diese bezeichnungen können sich auch von reboot zu reboot ändern da die reihenfolge der vergabe dieser bezeichnungen sich nach dem richtet wann die geräte antworten (ist in wirklichkeit ein wenig komplizierter aber das ist hier nicht wirklich relevant).
In Linux hat jedes Gerät einen "Ornder" bzw Pfad am System, du kannst dich beispielsweise noch weiter hier einlesen: Klick