Kempy Posted February 23, 2012 Posted February 23, 2012 Hi all. I am self studying computer science as a hobby. I am completely self taught, and as a result of this, there are gaping holes in my knowledge. I wondered if anybody could tell me how it is that addresses are assigned to hardware devices. If you have a PCI bus, I guess the computer could connect to each device and assign it hardware addresses, but how would the computer communicate with these devices in order to assign it a hardware address in the first place? I wondered if perhaps there was a unique address given to each piece of hardware when it is manufactured (much in the same was as network devices have a unique MAC address). Thanks in advance to anybody who can shed some light on the subject, and sorry if my terminology is completely wrong. This is my first post on the forum, and as I said, I have never been tutored in computer science.
Xittenn Posted February 23, 2012 Posted February 23, 2012 (edited) Hi! There has been much in terms of an 'evolution' of hardware addressing. I think what I can say about this is: 1) Hardware has its own hardcoded addressing; device registers and I/O are given specific device addresses that driver programmers make use of 2) There is a combined address that is comprised of the hardcoded address and a soft address issued by the operating system 3) There are other considerations that have complex stories, these considerations include ports and interrupt requests IRQ 4) devices can be assigned a Direct Memory Access DMA channel in addition to all of the above; this has particular relevance in that a sound card can be accessed before the OS has loaded and this is a cause of the soundcard having a designated DMA channel. A DMA channel allows hardware to be accessed directly, without first going through the CPU. just a gloss over Edited February 23, 2012 by Xittenn
Kempy Posted February 23, 2012 Author Posted February 23, 2012 So I guess the PCI controller sends out incrementing addresses and waits for a response from a device, and then allocates it an address for the rest of the system. This makes a lot more sense now. You can Google just about anything, but the internet didn't seem to know the answer to this one. Thanks.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now