Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #19762
| From | BGB <cr88192@hotmail.com> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Program in 32-bit, run on 64-bit OK? |
| Date | 2012-11-15 22:46 -0600 |
| Organization | albasani.net |
| Message-ID | <k84gkt$mr0$1@news.albasani.net> (permalink) |
| References | (2 earlier) <k80j5b$o67$1@speranza.aioe.org> <50a3d194$0$289$14726298@news.sunsite.dk> <1ime9q5hlhcfs.x8wnfo60hr9g$.dlg@40tude.net> <k81l6c$oh3$1@news.albasani.net> <k83sma$3qm$1@dont-email.me> |
On 11/15/2012 5:08 PM, Stuart wrote: > On 11/15/12 sl@exabyte wrote: > [snip] >> And I suppose only hardware with 64-bit address bus can run 64-bit OS. > > Wrong. Typical 64 bit processors have either a 36 bit or a 40 bit > physical address bus (40 bits are 1 TB, an almost incredible amount of > RAM, wikipedia mentions that some AMD chips even offer a 48 bit memory > bus). Note that bus width and register width do not have to have a > one-to-one relationship. The early 286 processor had a register width of > 16 bits but an address bus with 24 bits (4MB), so they had to invent > this segmentation model in order to compute a 20bit address from two 16 > bit registers. Twenty years later, the segmenation unit is still present > at the Intel architecture while the numbers have been reversed: now the > 36 or 40 bit physical address is computed from a 16 bit value and a 64 > bit value. Sounds like overkill, and yes, it is. That's just for > backwards compatibility for applications from 1985. > corrections: 24 bits is 16MB (because 2^24 = 16777216), this bus size was used by both the 286 and 386SX (the 386DX and 486 used full 32-bits); the segments:offset -> 20 bit address thing was there since the 8086, which could only address 1MB of RAM (in contrast to 64kB on the 8080); on current 64-bit chips, the segmentation is also non-functional in 64 bit mode with the partial exception of the FS and GS segments (used mostly for implementing TLS and similar). (so, while the segment registers are still present, they don't really do all that much anymore). in effect, the chip is using a 64-bit flat address model, but may remap the addresses mostly through the use of page-based address translation (which maps from the program's virtual address space to the physical/RAM address space). yes, the CPU has backwards compatibility, but it actually involves a fair amount of mode-changing (as control is passed from one program to another, the CPU mode changes), but there are limits to this. however, real-mode software (IOW: most of the software from 1985) can't actually run on the CPU if it is running in "long mode", so it actually requires use of either hardware emulation or virtualization to make this work (for example, DOSbox does emulation, and VMware does virtualization). as-is, about the oldest software that can be run directly in modern Windows is roughly mid-to-late 90s era software (IOW: from when the world moved solidly over to 32 bits), although the hardware can technically still support running 16-bit protected-mode software in long-mode (theoretically, MS could have made Win3.x apps work without emulation, had they wanted to do so...). or such...
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Program in 32-bit, run on 64-bit OK? "sl@exabyte" <sb5309@hotmail.com> - 2012-11-14 21:58 +0800
Re: Program in 32-bit, run on 64-bit OK? "sl@exabyte" <sb5309@hotmail.com> - 2012-11-14 22:01 +0800
Re: Program in 32-bit, run on 64-bit OK? Arne Vajhøj <arne@vajhoej.dk> - 2012-11-14 09:12 -0500
Re: Program in 32-bit, run on 64-bit OK? Cholo Lennon <chololennon@hotmail.com> - 2012-11-14 14:11 -0300
Re: Program in 32-bit, run on 64-bit OK? Arne Vajhøj <arne@vajhoej.dk> - 2012-11-14 12:14 -0500
Re: Program in 32-bit, run on 64-bit OK? Joerg Meier <joergmmeier@arcor.de> - 2012-11-14 18:36 +0100
Re: Program in 32-bit, run on 64-bit OK? "sl@exabyte" <sb5309@hotmail.com> - 2012-11-15 10:48 +0800
Re: Program in 32-bit, run on 64-bit OK? Stuart <DerTopper@web.de> - 2012-11-16 00:08 +0100
Re: Program in 32-bit, run on 64-bit OK? "SL@maxis" <ecp_gen@my-rialto.com> - 2012-11-16 09:23 +0800
Re: Program in 32-bit, run on 64-bit OK? BGB <cr88192@hotmail.com> - 2012-11-15 22:52 -0600
Re: Program in 32-bit, run on 64-bit OK? Fritz Wuehler <fritz@spamexpire-201211.rodent.frell.theremailer.net> - 2012-11-16 16:44 +0100
Re: Program in 32-bit, run on 64-bit OK? Joerg Meier <joergmmeier@arcor.de> - 2012-11-17 13:18 +0100
Re: Program in 32-bit, run on 64-bit OK? BGB <cr88192@hotmail.com> - 2012-11-17 12:42 -0600
Re: Program in 32-bit, run on 64-bit OK? BGB <cr88192@hotmail.com> - 2012-11-15 22:46 -0600
Re: Program in 32-bit, run on 64-bit OK? Stuart <DerTopper@web.de> - 2012-11-16 12:08 +0100
Re: Program in 32-bit, run on 64-bit OK? BGB <cr88192@hotmail.com> - 2012-11-16 18:08 -0600
Re: Program in 32-bit, run on 64-bit OK? Stuart <DerTopper@web.de> - 2012-11-17 23:59 +0100
Re: Program in 32-bit, run on 64-bit OK? Anonymous <nobody@remailer.paranoici.org> - 2012-11-16 12:42 +0000
Re: Program in 32-bit, run on 64-bit OK? Roedy Green <see_website@mindprod.com.invalid> - 2012-11-16 05:17 -0800
Re: Program in 32-bit, run on 64-bit OK? Jan Burse <janburse@fastmail.fm> - 2012-11-14 20:08 +0100
csiph-web