Today, a problem arises: what is a 32-bit CPU, a 32-bit OS, and a 32-bit program? Why can 32-bit CPU only support 4 GB memory?
This problem occurs. Today, I ran SSIS and found that the memory was not enough. I checked the memory and found that 4 GB memory only showed more than 3 GB memory. I want to add memory. But I have heard that 32-bit computers can only support 4 GB memory at most. Why? I don't know. It's strange that you didn't study well when you were young. If you do not work hard, the boss will be miserable. Check it out.
The GOOGLE results are as follows. Each memory requires an address. The size of a piece of memory is 8 bits, that is, a byte. This address is represented by INT. Of course, a 32-bit CPU can only support 4 GB memory.
By the way, there is a small problem. Why is the memory displayed in the OS not 4 GB? 32-bit support? What other memory? Because the video card, PCI, and other things also require address space.
It should have ended, but not actually. Why can I only use INT to represent the memory address? Why not use long? You can use LONG to support 264B memory.
Continue to GOOGLE. We found that Word size (I don't know how to translate) is the number of digits that the CPU can process at a time (bit numbers). A 32-bit CPU can process 32 bits at a time. Generally, Word size is as same as memory address size. but it does not always hold. for instance, almost all 8-bit processors, such as 6502, supported 16-bit addresses-if not they wowould have been limited to a mere 256 byte memory. the reason why a 32-bit CPU only supports 32-bit memory addresses is that such a memory address can exist in a word (the number of digits that the CPU can read at a time), the CPU will probably be faster.
In this way, I finally know what a 32-bit CPU is, but what is a 32-bit OS? What is a 32-bit program?