List of I/O addresses
Hello guys,
I'm going to be taking A+ core exam August 7th, I'm trying to get DMA, IRQ and I/O straight before the test.
My exam cram book talks very little about I/O addresses, is this something I need to focus my attention on for the exam?
Where can I find a comprehensive list of these addresses? Any place online?
I'm going to be taking A+ core exam August 7th, I'm trying to get DMA, IRQ and I/O straight before the test.
My exam cram book talks very little about I/O addresses, is this something I need to focus my attention on for the exam?
Where can I find a comprehensive list of these addresses? Any place online?
Comments
-
Delmiroc Member Posts: 43 ■■□□□□□□□□hah.. alright thanks
should I worry about these I/O addresses too much? -
Webmaster Admin Posts: 10,292 AdminNo, certainly not 'too' much. It's good to know the common ones, but personally I wouldn't spend much time on actually 'memorizing' them. Did you notice our DMA,IRQ,I/O practice test?
www.techexams.net/coexam/start.php?exam=apluscore2 -
Delmiroc Member Posts: 43 ■■□□□□□□□□Yes I noticed , your test is what got me all worried about these I/O addresses.. lol
I'm gonna try to memorize the ones there. -
OpenSource Member Posts: 135Here are the basics I have found during my studies...I/O Address Basics:
-> 65,536 total I/O Addresses
-> Numbered 0000h-FFFFh
Most Important I/O's;
1st Floppy = 03F0-03F5, 6-Bytes
2nd Floppy = 0370-0375, 6-Bytes
1st IDE/ATA = 01F0-01F7, 8-Bytes
2nd IDE/ATA = 0170-0177, 8-Bytes
Parallel Port LPT1 = 0378-037F, 8-Bytes
*Parallel Port LPT1 = 03BC-03BF, 4-Bytes
Parallel Port LPT2 = 0278-027F, 8-Bytes
*Parallel Port LPT3 = 03BC-03BF, 4-Bytes
Serial Port1 (COM1) = 03F8-03FF, 8-Bytes
Serial Port1 (COM3) = 03E8-03EF, 8-Bytes
Serial Port2 (COM2) = 02F8-02FF, 8-Bytes
Serial Port2 (COM4) = 02E8-02EF, 8-Bytes
GamePort = 0200-0207, 8-Bytes
USB = FF80-FF9F, 32-Bytes
Video (EGA/VGA/Mono) = 03B0-03BB, 12-Bytes
Video (EGA/VGA) = 03C0-03CF, 16-Bytes
Video (EGA/VGA/CGA) = 03D0-03DF, 16-Bytes
- Joey -
BubbaJ Member Posts: 323OpenSource wrote:Here are the basics I have found during my studies...I/O Address Basics:
-> 65,535 total I/O Addresses
-> Numbered 0000h-FFFFh
- Joey -
OpenSource Member Posts: 135BubbaJ wrote:OpenSource wrote:Here are the basics I have found during my studies...I/O Address Basics:
-> 65,536 total I/O Addresses
-> Numbered 0000h-FFFFh
- Joey
Not according to my sources. Seeing as I am not proficient in hex, I even double checked with the "PC Bible" ("Upgrading and Repairing PC's")...
According to Scott Mueller, and I quote:... Unlike IRQs and DMA channels, our systems have an abundance of I/O ports. There are 65,535 ports
to be exact—numbered from 0000h to FFFFh—...
See for yourself...
Page #390 "Upgrading and Repairing PC's" 17th Edition
Page ~#376 "Upgrading and Repairing PC's" 16th Edition
Page ~#344 "Upgrading and Repairing PC's" 15th Edition
Page ~#333 "Upgrading and Repairing PC's" 14th Edition
Page ~#345 "Upgrading and Repairing PC's" 13th Edition
Page ~#372 "Upgrading and Repairing PC's" 12th Edition
Page ~#322 "Upgrading and Repairing PC's" 11th Edition
Page ~#312 "Upgrading and Repairing PC's" 10th Edition
Page #18 "Upgrading and Repairing PC's: A+ Certification Study Guide"
Page #321 "Upgrading and Repairing PC's: Linux Edition"
.... So fourth and so on.
- Joey -
BubbaJ Member Posts: 323OpenSource wrote:Not according to my sources. Seeing as I am not proficient in hex, I even double checked with the "PC Bible" ("Upgrading and Repairing PC's")...
-
OpenSource Member Posts: 135BubbaJ wrote:OpenSource wrote:Not according to my sources. Seeing as I am not proficient in hex, I even double checked with the "PC Bible" ("Upgrading and Repairing PC's")...
Pardon my ignorance as math is not one of my stronger talents, but where are you getting 16-Bit from??
It is my understanding devices can use I/O addresses that range in size from as little as 1-Byte (8-Bits) and as high as 32-Bytes (256-Bits) and even higher... Though most devices use 4-Bytes (32-Bits), 8-Bytes (64-Bits) or 16-Bytes (128-Bits)...
- Joey -
BubbaJ Member Posts: 323OpenSource wrote:Pardon my ignorance as math is not one of my stronger talents, but where are you getting 16-Bit from??
Each hex character is 4 bits (0h to Fh) or 2^4 which is 16 different numbers, hence hexadecimal (base 16).
Since there are 4 hex digits in an I/O address, it would be 16^4 or 2^(4*4) or 2^16. Any way you look at it, it is 65536 different addresses.
The highest I/O address is FFFFh which is 65535, but that doesn't include 0h. If you add 1 for the 0h address, you get 65536 different I/O addresses. Remember that computer have to do everything in powers of 2 (by definition, an even number), and they start with 0 and end with 1 less than the power of 2 (an odd number), but the total is the power of 2. -
OpenSource Member Posts: 135Well, okay. I understand everything. I had to break out some math knowledge I haven't used since high school, but I got the basic idea and I will agree that 2^16 is indeed 65,536. That said, where are you getting 2 from?
You mentioned everything in computers is a power of 2, but why? I cannot recall ever hearing that before, at least from immediate memory... Can you elaborate on that aspect??
BTW: I am very curious as to why Scott Mueller says 65,535 and not 65,536. He is more intelligent then the both of us and has written well over 20 books and has been in the industry for almost 30 years... I may have to contact him about this and see if I can get an answer.
\\ EDIT: Oops. I meant 2^16, not 16^2.
- Joey -
Danman32 Member Posts: 1,243Each bit has two states: 1 or 0, on or off, true or false. That's base 2. Compare that to what our brains have been taught, which is base 10: 0,1,2,3,4,5,6,7,8,9.
So in binary, each bit position has a value in base 2. The first bit has a value of one. The second has a value of 2, The third has a value of 4, etc. 2^0=1, 2^1=2, 2^2=4, etc. Oh, in case you were wondering, the symbol '^' is common computer notation for power. So is '**' as in 2**3=8.
So, 2^16 is 65536.
Now an interface (chip) may only use 8 bits for its relative address, in the PC's I/O address space, it is 16 bits. The circuit to the chip would pre-wire the base address the chip uses.
But don't get too hung up on all this. -
Webmaster Admin Posts: 10,292 AdminBTW: I am very curious as to why Scott Mueller says 65,535 and not 65,536.
0 1 2 3 | 1 | 2 | 3 |
Danman32 wrote:But don't get too hung up on all thispcguide wrote:Most devices use an I/O address space of 4, 8 or 16 bytes; some use as few as 1 byte and others as many as 32 or more. -
BubbaJ Member Posts: 323Webmaster wrote:pcguide wrote:Most devices use an I/O address space of 4, 8 or 16 bytes; some use as few as 1 byte and others as many as 32 or more.
IBM never actually used all the I/O address lines in the PC so the actual number available in a PC is much less than 65536. Why the author decided it was proper to instruct people that it was 65535 is beyond me. It is simply wrong. The PC was just a bunch of stapled together Intel tech notes. -
OpenSource Member Posts: 135Thanks. I know all about Binary, though I was not sure if that was your logic behind "everything in 2" or not. But that makes sense seeing as Binary is of course strictly 0 and 1. As for "^" and "**", I'm aware of what they mean and how to process the math, I just have not used such math since I was probably in 9th and 10th grade...
Anyway, very interesting information. Though I'm not concerned much I/O addresses, I like having the ability to seek information. I sware this is the only website where I can actually discuss such technical jargon. Now if only my mind will get out of neutral and actually function.
- Joey -
scot_donecker Member Posts: 45 ■■□□□□□□□□Hey buuudddyyy..you should be serious about the input output addresses for the A+ certification exam. I personally had at least 10 questions relating to I/O, IRQ, and DMA..more than likly more than 10 come to think of it. Just a heads up..good luck bro!
p.s. I made flash cards to help me practice..believe me it helps!
-Scot"If the answer was never to look to yourself, then how can you expect to find it anywhere else" -Eyedea -
OpenSource Member Posts: 135scot_donecker wrote:Hey buuudddyyy..you should be serious about the input output addresses for the A+ certification exam. I personally had at least 10 questions relating to I/O, IRQ, and DMA..more than likly more than 10 come to think of it. Just a heads up..good luck bro!
p.s. I made flash cards to help me practice..believe me it helps!
-Scot
I agree, and as such, I've got IRQ and DMA down pat. I've just finished up with these I/O addresses and the discussion in this thread helped me understand even better and will hopefully help others...
It has come to my attention there are actually 65,536 total I/O addresses. Here is why there are actually 65,536 and not 65,535...I/O Address = 0000h - FFFFh
[Note: h = denotes hexadecimal (Base16), not a character]
[Note: Why 2^16? Because computers only know Binary (0,1), which is Base2]
Each I/O address contains 4 hexadecimal characters (ex. 0000-FFFF).
Each hexadecimal character is 4-Bits, thus, each I/O address equals 16-Bits (2-Bytes).
Therefore, since each I/O address is 16-Bits (2-Bytes) and there are 16 total possible hex characters (ex. 0-F), if you take 2^16 you get 65,536 total possible I/O addresses.
0000 = 0000 0000 0000 0000 (Binary)
^^ 16 Binary Digits = 16-Bits (2-Bytes)
FFFF = 1111 1111 1111 1111 (Binary)
^^ 16 Binary Digits = 16-Bits (2-Bytes)
Hex - Binary - Decimal
0 - 0000 - 0
1 - 0001 - 1
2 - 0010 - 2
3 - 0011 - 3
4 - 0100 - 4
5 - 0101 - 5
6 - 0110 - 6
7 - 0111 - 7
8 - 1000 - 8
9 - 1001 - 9
A - 1010 - 10
B - 1011 - 11
C - 1100 - 12
D - 1101 - 13
E - 1110 - 14
F - 1111 - 15
- Joey \m/ -
OpenSource Member Posts: 135Interesting news. Last night I contacted Scott Mueller with the information you see in my previous post above this one and here was his response I just received...Joey,
Thanks for pointing this out. It is indeed an error in the book, the number should be 65,536 total ports, exactly for the reasons you surmise. I have known about this for some time now, but I keep forgetting to correct it! I'll definitely make a note this time and insure that the number is corrected in the next edition. Thanks for reminding me about this, and thanks as well for your comments and for purchasing my books.
Scott.
That is very cool. I will be looking to see if he made the change in his 18th Edition when it comes out next year. But I think it's great to see an author actually responsd to a question and actually admit making an error. That is why I find Scott Mueller to not only be a master technician, but a great guy.
- Joey -
Delmiroc Member Posts: 43 ■■□□□□□□□□OpenSource wrote:Interesting news. Last night I contacted Scott Mueller with the information you see in my previous post above this one and here was his response I just received...Joey,
Thanks for pointing this out. It is indeed an error in the book, the number should be 65,536 total ports, exactly for the reasons you surmise. I have known about this for some time now, but I keep forgetting to correct it! I'll definitely make a note this time and insure that the number is corrected in the next edition. Thanks for reminding me about this, and thanks as well for your comments and for purchasing my books.
Scott.
That is very cool. I will be looking to see if he made the change in his 18th Edition when it comes out next year. But I think it's great to see an author actually responsd to a question and actually admit making an error. That is why I find Scott Mueller to not only be a master technician, but a great guy.
- Joey
Yes indeed. -
OpenSource Member Posts: 135I think it's great because as I told him in my e-mail, I own several of his books and I have read nearly all of them front to back. I also enjoy the DVD's that have come with his books since I think the 14th Edition and I have watched all of those as well, over and over...
But more importantly, I have several questions I would like to ask him about material covered in his book and material not covered, so now that I am aware that I can actually ask a question and obtain an answer is great.
BTW: I fixed my posts above to reflect 65,536 total I/O addresses...
- Joey -
BubbaJ Member Posts: 323You have learned a fact that you won't soon forget, and, more importantly, you learned the why of the fact. I think this is the key to success. It may be possible to pass exams by memorizing facts (high school and college kids do it all the time), but what do you really learn doing it that way?
-
OpenSource Member Posts: 135BubbaJ wrote:You have learned a fact that you won't soon forget, and, more importantly, you learned the why of the fact. I think this is the key to success. It may be possible to pass exams by memorizing facts (high school and college kids do it all the time), but what do you really learn doing it that way?
Indeed. My memory is honestly so bad and my head is so foggy these days, that my only resort is merely learning the material. Not to say that I rather memorize than learn, but it honestly is my only choice. With our discussion above and your help, I actually learned why there are 65,536 and not 65,535, as opposed to merely memorizing the fact... LOL
- Joey -
Danman32 Member Posts: 1,243We often forget to include 0 when finding all possibilities.
It's like counting people to see how many are going to the game in the van. Sometimes we forget to count ourselves.