nikos22 έγραψε:chrislsp έγραψε:Παιδιά μια ερώτηση, έχω AMD Athlon II X2 250 στα 3GHz. Να βάλω τα 32bit που γράφει recomended ή τα 64bit?Ετοιμάζω και upgrade της ram στα 8GB.Ευχαριστώ
Πανω απο 4 GB RAM ειναι απαραιτητα τα 64 bit καθως τα 32 bit μπορουν να διαβασουν ως 4 GB. Οποτε αν ειναι να αναβαθμισεις στα 8 GB δεν εχεις επιλογη απο το να βαλεισ τα 64bit.
Pros and cons
A common misconception is that 64-bit architectures are no better than 32-bit architectures unless the computer has more than 4 GB of random access memory.[20] This is not entirely true:
Some operating systems and certain hardware configurations limit the physical memory space to 3 GB on IA-32 systems, due to much of the 3–4 GB region being reserved for hardware addressing; see 3 GB barrier. This is not present in 64-bit architectures, which can use 4 GB of memory and more. However, IA-32 processors from the Pentium II onwards allow for a 36-bit physical memory address space, using Physical Address Extension (PAE), which gives a 64 GB physical address range, of which up to 62 GB may be used by main memory; operating systems that support PAE may not be limited to 4GB of physical memory, even on IA-32 processors.
Some operating systems reserve portions of process address space for OS use, effectively reducing the total address space available for mapping memory for user programs. For instance, Windows XP DLLs and other user mode OS components are mapped into each process's address space, leaving only 2 to 3 GB (depending on the settings) address space available. This limit is currently much higher on 64-bit operating systems and does not realistically restrict memory usage.
Memory-mapped files are becoming more difficult to implement in 32-bit architectures.[citation needed] 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 encoders, decoders and encryption software can benefit greatly from 64-bit registers (if the software is 64-bit compiled), while the performance of other programs, such as 3D graphics-oriented ones, remains unaffected when switching from a 32-bit environment to a 64-bit one. It is unusual for a 64-bit program to perform worse than its 32-bit equivalent and usually only happens due to a bug.[21]
Some 64-bit architectures, such as x86-64, allow for more general purpose registers than their 32-bit counterparts. This is a significant speed increase for tight loops since the processor does not have to fetch data from the cache or main memory if the data can fit in the available registers.
Example in C:
int a, b, c, d, e;
for (a=0; a<100; a++)
{
b = a;
c = b;
d = c;
e = d;
}
If a processor only has the ability to keep two or three values/variables in registers it would need to move some values between memory and registers to be able to process variables d and e as well; this is a process that takes a lot of CPU cycles. A processor that is capable of holding all the values/variables in registers can simply just loop through this without needing to move data between registers and memory for each iteration. This behavior can easily be compared with virtual memory, although any effects are contingent upon the compiler.
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. Maintaining a partial 32-bit model is one way to handle this and is in general reasonably effective. For example, the z/OS operating system takes this approach currently, requiring program code to reside in 31-bit address spaces (the high order bit is not used in address calculation on the underlying hardware platform) while data objects can optionally reside in 64-bit regions.
As of June 2011, most proprietary x86 software is compiled into 32-bit code, with less being also compiled into 64-bit code (although the trend is rapidly equalizing[citation needed]), so much does not take advantage of the larger 64-bit address space or wider 64-bit registers and data paths on x86 processors, or the additional registers in 64-bit mode. However, users of most RISC platforms, and users of free or open source operating systems (where the source code is available for recompiling with a 64-bit compiler) have been able to use exclusive 64-bit computing environments for years. Not all such applications require a large address space nor manipulate 64-bit data items, so they wouldn't benefit from the larger address space or wider registers and data paths. The main advantage to 64-bit versions of such applications is the ability to access more registers in the x86-64 architecture.
Από
http://en.wikipedia.org/wiki/64-bit
1 Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2
Desktop : Ubuntu 16.04 64bit
a Intel Core i3 CPU 530 2.93GHz ‖ RAM 3824 MiB ‖ Intel DH55HC -
b nVidia Device [10de:1040] (rev a1)
c eth0: Intel 82578DC Gigabit Network Connection
3
Notebook : Ubuntu 16.04 64 bit
a Intel Core i3-2365M CPU @ 1.40GHz ‖ RAM 3854 MiB ‖ LENOVO 20197
b Intel 2nd Generation Core Processor Family Integrated Graphics Controller
c 5 wlan0: Intel Centrino Wireless-N 2230 ⋮ eth0: Realtek RTL8101E/RTL8102E
Αυτόματη υπογραφή.