NVIDIA Interview Question
Software Engineer / DevelopersAlso, improperly written 32-bit applications will need to be ported to 64-bit since a mere re-compile does not suffice. As an example, consider a naive implementation of 'reverse all bits in a word' where the implementation is a loop hard-coded to run from 0 to 31. Or a
http://en.wikipedia.org/wiki/64-bit
- googler August 13, 2009# 64-bit refers to the number of bits that make up the structure of various parts of a processor’s architecture. These structures usually include the data bus, address bus, and internal registers.
# Memory-mapped files are becoming more difficult to implement in 32-bit architectures, especially due to the introduction of relatively cheap recordable DVD technology. A 4 GB file is no longer uncommon, and such large files cannot be memory mapped easily to 32-bit architectures; only a region of the file can be mapped into the address space, and to access such a file by memory mapping, those regions will have to be mapped into and out of the address space as needed. This is a problem, as memory mapping remains one of the most efficient disk-to-memory methods, when properly implemented by the OS.
# Some programs such as data encryption software can benefit greatly from 64-bit registers (if the software is 64-bit compiled) and effectively execute 3 to 5 times faster on 64-bit than on 32-bit.
# The main disadvantage of 64-bit architectures is that relative to 32-bit architectures the same data occupies more space in memory (due to swollen pointers and possibly other types and alignment padding). This increases the memory requirements of a given process and can have implications for efficient processor cache utilization. The ability of 64-bit applications to access a larger physical and virtual memory space means that address tables are larger and can result in a larger data-transaction overhead. As a result, small or repetitive tasks may run marginally slower than in a 32-bit environment.