Page 1 of 1
Confused about GDT table
Posted: Thu Jan 06, 2005 12:00 am
by Peter
Hi people,
Sorry for so many questions but I'm very confused
.
When I set up a GDT Table, there is a limit and base.
Base have a maximum for 4GB, but why is the limit only 16bits?
another question is, if I make the BASE 1MB, the BASE contain 0x10000 but why not ox1024?
I'm a little bit confused, do you guys know a good tut ore something?
Thanks
Peter
Re: Confused about GDT table
Posted: Thu Jan 06, 2005 12:00 am
by sz
It's again the hexadecimal system - 0x100000 = 1* 16^5 = 1,048,576 (dec) = 1 MB
Re: Confused about GDT table
Posted: Thu Jan 06, 2005 12:00 am
by Peter
Thanks
, do you either why the limit is only 24 bits and de base 32?
Re: Confused about GDT table
Posted: Thu Jan 06, 2005 12:00 am
by JAAman
because the 286 (for which it was designed) only had 24 address lines(therefore 24bits)
iirc: if you set limit to max it will mean 4GB: get the intel manuals they describe it better than i ever could and a lot of other things youre going to need to know
also: you wont get very far without knowing HEX -- learn it BEFORE continuing it is very useful -- plus its what everyone else uses so you will be at a huge disadvantage if you dont know it
btw: anytime you see 0x before a number it means that it is in HEX (that is zero not o)
hope this helps you out
Re: Confused about GDT table
Posted: Thu Jan 06, 2005 12:00 am
by Peter
Thanks for your reply
,
I know the HEX and the o whas a spelling mistake,
Where can I find the intell manual, I'm Dutch and only 14 years old so its hard to understand all those hard things but thanks.
1 question....
When I make a segment model in PMODE, The maximum amount of one segment model is the maximum of the LIMIT, that is 16MB.
Is that right?
Thanks
Re: Confused about GDT table
Posted: Fri Jan 07, 2005 12:00 am
by gaf
Hi Peter,
you can either download the reference manual from Intel (
http://www.intel.com/design/pentium4/ma ... ex_new.htm) or browse though it in this online version (my.tele2.ee/mtx/i386/manual.htm - pretty usefull if you want to quote something on a message board). Anyway, the reference manual might be usefull to look thinks up but it can't replace a good tutorial or a messageboard.
When I make a segment model in PMODE, The maximum amount of one segment model is the maximum of the LIMIT, that is 16MB.
A segment in pmode can span the whole 4GB address-space. First of all it should be said that 20bits are used to describe the limit (my.tele2.ee/mtx/i386/chp06-03.htm#06-03 - have a look at the ASCII art). These 20bits can, of course, only descibe 1MB. In order to support limits larger than 1MB a small trick is used. If a special attribute bit in the descriptor is set (I think it's the 'G'-bit) the value in the limit-field is in 4kb (2^12) pages. The imit is basically multiplied with 4096.
20bits + 12bits = 32 bits
examples:
G-bit = 0
limit = 0x100
-> segment limit is 0x100 (=245bytes - sorry)
G-bit = 1
limit 0x100
-> segment limit is 0x100*0x1000 = 0x100000 (=1MB)
regards,
gaf
Re: Confused about GDT table
Posted: Fri Jan 07, 2005 12:00 am
by JAAman
sorry for the mis-information its been a long time since i studied the GDT and i didnt have my manuals with me
Re: Confused about GDT table
Posted: Mon Jan 10, 2005 12:00 am
by Peter
Thanks alot!
,
I was on a holiday so I couldn't reply.