| Register | FAQ | Calendar | Search | Today's Posts | Mark Forums Read |
|
#1
| |||
| |||
| I'm using a machine which I believe has a 64-bit-capable processor (Intel e2140), but is running 32-bit Vista. Are there any useful 64-bit operations which are easily available in 32-bit mode, such as 64-bit arithmetic? -- Bartc |
|
#2
| |||
| |||
| On Wed, 30 Jul 2008 21:43:13 GMT "Bartc" <spamtrap@crayne.org> wrote: > Are there any useful 64-bit operations which are easily available in > 32-bit mode, such as 64-bit arithmetic? Unfortunately, no. The 64-bit operations are implemented by redefining valid 32-bit operations, and, therefore, can only be executed when the OS has put the CPU into 64-bit mode. -- Chuck http://www.pacificsites.com/~ccrayne/charles.html |
|
#3
| |||
| |||
| On Jul 30, 5:43*pm, "Bartc" <spamt...@crayne.org> wrote: > I'm using a machine which I believe has a 64-bit-capable processor (Intel > e2140), but is running 32-bit Vista. > > Are there any useful 64-bit operations which are easily available in 32-bit > mode, such as 64-bit arithmetic? > You can still use 64-bit code via emulation of an x86_64 CPU in your 32-bit environment: http://bellard.org/qemu/status.html Nathan. |
|
#4
| |||
| |||
| Bartc wrote: > I'm using a machine which I believe has a 64-bit-capable processor > (Intel e2140), but is running 32-bit Vista. > > Are there any useful 64-bit operations which are easily available in > 32-bit mode, such as 64-bit arithmetic? > Get a copy of VMWare and install a virtual 64-bit OS as a guest. This actually works pretty nicely, even if the host OS is 32-bit! I've used it many times to debug/verify 64-bit operation on code that needed to be portable. (Currently I'm running 32-bit XP and 64-bit Linux as guest with Vista-64 as the host OS.) Terje -- - <Terje.Mathisen@hda.hydro.com> "almost all programming can be viewed as an exercise in caching" |
|
#5
| |||
| |||
| Do you know if VMware emulates the 64-bit instructions (when running on a 32-bit host OS), or it actually puts the CPU into longmode? "Terje Mathisen" <spamtrap@crayne.org> wrote in message news:xZadna8Q18b_JgzVnZ2dnUVZ_qTinZ2d@giganews.com ... > Bartc wrote: >> I'm using a machine which I believe has a 64-bit-capable processor (Intel >> e2140), but is running 32-bit Vista. >> >> Are there any useful 64-bit operations which are easily available in >> 32-bit mode, such as 64-bit arithmetic? >> > Get a copy of VMWare and install a virtual 64-bit OS as a guest. > > This actually works pretty nicely, even if the host OS is 32-bit! > > I've used it many times to debug/verify 64-bit operation on code that > needed to be portable. > > (Currently I'm running 32-bit XP and 64-bit Linux as guest with Vista-64 > as the host OS.) > > Terje > > -- > - <Terje.Mathisen@hda.hydro.com> > "almost all programming can be viewed as an exercise in caching" > |
|
#6
| |||
| |||
| On Aug 4, 3:22*pm, "comrade" <spamt...@crayne.org> wrote: > Do you know if VMware emulates the 64-bit instructions (when running on a > 32-bit host OS), or it actually puts the CPU into longmode? It emulates. |
|
#7
| |||
| |||
| "robertwessel2@yahoo.com" <spamtrap@crayne.org> wrote: >On Aug 4, 3:22*pm, "comrade" <spamt...@crayne.org> wrote: >> Do you know if VMware emulates the 64-bit instructions (when running on a >> 32-bit host OS), or it actually puts the CPU into longmode? > >It emulates. Really? I'm dubious. I have a 64-bit Linux VM on my XP 32-bit machine, and it runs at essentially native speed. -- Tim Roberts, timr@probo.com Providenza & Boekelheide, Inc. |
|
#8
| |||
| |||
| robertwessel2@yahoo.com wrote: > On Aug 4, 3:22 pm, "comrade" <spamt...@crayne.org> wrote: >> Do you know if VMware emulates the 64-bit instructions (when running on a >> 32-bit host OS), or it actually puts the CPU into longmode? > > > It emulates. > Nope. I depends on having a cpu with virtualization (VTX) support, and this must be enabled in the BIOS. Given this, VMware runs 64-bit operating systems natively on a 32-bit host OS. The only thing that's really needed, and which Intel have been working on since about 1992-93, is that a task switch must be able to save all the (64-bit) state, not just the parts that a 32-bit OS knows about. This works because the task switch opcodes currently in use have a fairly large save area, much larger than theoretically needed for a 32-bit cpu. Intel wanted to have this area variable size, i.e. the OS would use CPUID to read of the needed size of each task block, but Microsoft said "No way, it has to be static size!", so the compromise was to make it a bit larger than what Intel needed immediately. OK? Terje -- - <Terje.Mathisen@hda.hydro.com> "almost all programming can be viewed as an exercise in caching" |
|
#9
| |||
| |||
| On Aug 5, 12:17 am, Terje Mathisen <spamt...@crayne.org> wrote: > robertwess...@yahoo.com wrote: > > On Aug 4, 3:22 pm, "comrade" <spamt...@crayne.org> wrote: > >> Do you know if VMware emulates the 64-bit instructions (when running on a > >> 32-bit host OS), or it actually puts the CPU into longmode? > > > It emulates. > > Nope. > > I depends on having a cpu with virtualization (VTX) support, and this > must be enabled in the BIOS. > > Given this, VMware runs 64-bit operating systems natively on a 32-bit > host OS. The only thing that's really needed, and which Intel have been > working on since about 1992-93, is that a task switch must be able to > save all the (64-bit) state, not just the parts that a 32-bit OS knows > about. > > This works because the task switch opcodes currently in use have a > fairly large save area, much larger than theoretically needed for a > 32-bit cpu. > > Intel wanted to have this area variable size, i.e. the OS would use > CPUID to read of the needed size of each task block, but Microsoft said > "No way, it has to be static size!", so the compromise was to make it a > bit larger than what Intel needed immediately. > > OK? What does the task switching has to do with this (apart from the need to be emulated by the host when the hardware virtualization is on)? Alex |
|
#10
| |||
| |||
| Alexei A. Frounze wrote: > On Aug 5, 12:17 am, Terje Mathisen <spamt...@crayne.org> wrote: >> Intel wanted to have this area variable size, i.e. the OS would use >> CPUID to read of the needed size of each task block, but Microsoft said >> "No way, it has to be static size!", so the compromise was to make it a >> bit larger than what Intel needed immediately. >> >> OK? > > What does the task switching has to do with this (apart from the need > to be emulated by the host when the hardware virtualization is on)? The job becomes much easier if the host OS can switch between a native task and one or more independent 64-bit virtual tasks. Otherwise the VMware device driver would need to hook into the host OS task scheduler, to make certain all the 64-bit stuff got saved away each time the host would switch away from a VMware task. Terje -- - <Terje.Mathisen@hda.hydro.com> "almost all programming can be viewed as an exercise in caching" |
![]() |
| Thread Tools | |
| Display Modes | |
In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.