All off topic discussions go here. Everything from the funny thing your cat did to your favorite tv shows. Non-programming computer questions are ok too.
manonthemoon wrote:That's good to hear. The 586 will guarantee that you have the ability to use 4MB pages and an on-chip APIC.
No. 4 MiB pages were added in Pentium Pro CPUs and weren't supported by any Pentium CPU. Pentium CPUs do have a local APIC, but almost all BIOSs disable it so that it's impossible for an OS to enabled it or use it.
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
Brendan wrote:
No. 4 MiB pages were added in Pentium Pro CPUs and weren't supported by any Pentium CPU.
Volume 1 of the Intel Software Developer's Manual:
2.1.5 The Intel® Pentium® Processor (1993):
... ... ...
In addition, the processor added:
• Extensions to make the virtual-8086 mode more efficient and allow for 4-MByte as well as 4-KByte pages
Doh
You're entirely right - I was using Intel's original programmer's guide which didn't say anything about 4 MiB pages. I had to try CPUID on a Pentium I have here to figure out which Intel manual is wrong.
After I found out that 4 MiB actually is supported on the original Pentium CPUs I remembered what happened - 4 MiB pages were an undocumented feature (there was a hidden appendix to the programmer's manual for the Pentium that nobody was allowed to have which did mention support for 4 MiB pages, and it wasn't mentioned anywhere else until later manuals came out).
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
manonthemoon wrote:On a somewhat-related note, thanks a lot for updating and correcting the wiki page about the IA32 family.
Thanks, but it was only small changes. I'll have another look tomorrow though (currently at the end of a longish day)...
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
Wow...you guys are so way ahead of me. Imagine...guys creating specifications. But don't worry: I'll bridge that gap soon enough
Anyway: I highly doubt I'll be actually able to reach anyone with a 486, but I'll still make that the base. I'm just to paranoid to make that daring leap to i586+.
17:56 < sortie> Paging is called paging because you need to draw it on pages in your notebook to succeed at it.
The oldest computer in my house is a Celeron 1.3Ghz laptop, and though I want to keep as compatible as possible I do draw the line at modern systems. That is if it runs reasonable on an i686, I won't go out my way to support anything less.
gravaera wrote:Wow...you guys are so way ahead of me. Imagine...guys creating specifications. But don't worry: I'll bridge that gap soon enough
You should never complex write code (simple tech demos excluded, but most certainly an OS) without a specification. A specification gives you an ending to reach for, expectations, milestones, and you build your implementation around that. You have an idea of what features you want in v1.0 (or even projecting further ahead) and you can allow for that in your design. There's nothing worse than not implementing something you always wanted to because it means a lot of code restructuring/rewriting. It's better to have your code ready for that, even if it's calling blank placeholder functions for now (that's only bad when you're releasing version 1.0).
MessiahAndrw wrote:The oldest computer in my house is a Celeron 1.3Ghz laptop
You mean you only have new stuff :). My oldest is my original (clone) XT, but I don't think I'll target that for a while :). I have spare parts of a 286, possibily 386 and 486 lying around, and my trusty (well, very untrusty actually) old P1 MMX 233 MHz is still up and running (well, never really running recentyly actually, although I used it semi-recently to backup all my old 360K 5 1/4" floppies...).