- x86 или x64 — в чем разница?
- How to determine if you have a 32-bit or 64-bit CPU
- Windows 8 and 10
- Earlier versions of Windows
- Determine if using 32-bit or 64-bit version of Windows
- Determine if Windows Vista, 7, 8 and 10 is 32-bit or 64-bit
- Determine if Windows XP is 32-bit or 64-bit
- Determine if Windows 2000 and prior is 32-bit or 64-bit
- Apple macOS
- Linux
- Determine if the Linux kernel is 32-bit or 64-bit
- How To Know If You Have 32 Bit or 64 Bit Computer in Linux and Windows
- 32-bit vs 64-bit Systems: What’s the difference?
- How to know if your computer is 32-bit or 64-bit on Windows
- How to know whether your computer is 32-bit or 64-bit on Linux
- How to tell if Ubuntu is 32- or 64-bit
- x64 Architecture
- Registers
- Calling Conventions
- Addressing Modes
x86 или x64 — в чем разница?
Если вы впервые устанавливаете Windows на ноутбук или компьютер, у вас обязательно возникнет вопрос: какую версию Windows ставить: x86 или x64, 32 или 64 бит? Иногда 32-битную называют x86, хотя это неправильно — x86 может быть как 32 так и 64 бита. Запутались? Ну конечно же. X86 — это архитектура микропроцессора, а 32 или 64 — его разрядность. Когда кто-то пишет x86/x64/x32 — сам того не понимая, создаёт большую путаницу. Правильно писать x86_32BIT и x86-64BIT или просто x32 / x64.
У каждого процессора, совместимого с платформой x86, есть поддерживаемые наборы инструкций, например: MMX, SSE , 3DNow!, SSE2, EMMX и другие. Если в программе указано, что она будет работать с x86 совместимым процессором, значит, она будет работать на любом из процессоров семейства x86. Просто если программа поддерживает наборы инструкций, она будет использовать их для более быстрой работы. Если нет — будет работать медленнее, используя основные инструкции.
Итак, разница между x86 и x64 колоссальна — первое это платформа процессора, а второе — его разрядность. Но всё же во многих источниках указывают x86 как 32 битную систему. Именно поэтому если вы видите выбор x86 или x64 имейте ввиду, что имеется ввиду выбор между 32 и 64 битной системой. Если же вы вы видите надпись x86_64, скорее всего имеется ввиду именно 64 битная версия.
Забивать голову подробностями я вам не буду — для этого вы можете выбрать любой технический форум. Тем более, что вы уже поняли чем x86 отличается от x64 и этот вопрос больше не поставит вас в тупик. Если у вас есть предложения или исправления, пишите в комментарии — мы обязательно опубликуем его. Вам может быть интересно:
How to determine if you have a 32-bit or 64-bit CPU
The steps to determine whether your computer has a 32-bit or 64-bit processor (CPU) depend on the type of operating system installed. Below are the steps to determine the processor type for Windows, Mac, and Linux.
Windows 8 and 10
To determine your CPU type in Windows 8 and Windows 10:
- In the Windows search box, type system information and select the System Information icon.
Or, if you do not have a search box (because you have disabled it):
- Open a File Explorer window by pressing Windows key + E .
- On the left, right-click This PC.
- In the context menu, select Properties. The System Properties window opens.
- In the System Properties window, find your System type, which lists your operating system and CPU type.
Earlier versions of Windows
If you are using an earlier version of Windows, follow these steps.
- Open the Start menu >All Programs. Open the Accessories folder, then the System Tools folder. In the System Tools folder, select the System Information option.
On the right side of System Information, look for the System Type option under the Item column. The associated value, in the Value column, will tell you which type of CPU the computer has in it. If the System Type value includes «x86» in it, the CPU is 32-bit. If the System Type value includes «x64» in it, the CPU is 64-bit.
Determine if using 32-bit or 64-bit version of Windows
Microsoft Windows is available in 64-bit and 32-bit. 32-bit processors can only run 32-bit versions of Windows. However, 64-bit processors can run either the 64-bit or 32-bit versions.
To determine if the version of Windows on your computer is 32-bit or 64-bit, choose your version and follow the steps.
Determine if Windows Vista, 7, 8 and 10 is 32-bit or 64-bit
- Press and hold the Windows key and the Pause key.
- In the System window, next to System type, it lists 32-bit Operating System for a 32-bit version of Windows, and 64-bit Operating System if you’re running the 64-bit version. Below is a picture and an example of this window.
Determine if Windows XP is 32-bit or 64-bit
- Press and hold the Windows key and the Pause key, or open the System icon in the Control Panel.
- On the General tab of the System Properties window, if it has the text Windows XP, the computer is running the 32-bit version of Windows XP. If it has the text Windows XP Professional x64 Edition, the computer is running the 64-bit version of Windows XP.
Determine if Windows 2000 and prior is 32-bit or 64-bit
Windows operating systems, from Windows 95 to Windows 2000, are all 32-bit. There are no 64-bit versions of these operating systems.
Apple macOS
On the macOS, click the Apple icon in the menu bar. Select the About This Mac option in the Apple menu. On the About This Mac window, click the More Info option. Open the Hardware section and find the Processor Name attribute. Once listed, perform an Internet search, using that CPU’s processor name as a keyword, to determine if it’s a 32-bit or 64-bit CPU.
Processor | 32-bit or 64-bit |
---|---|
Intel Core Duo or Solo | 32-bit |
Intel Core 2 Duo | 64-bit |
Any Intel Xeon processor | 64-bit |
Intel Core i3 | 64-bit |
Intel Core i5 | 64-bit |
Intel Core i7 | 64-bit |
As shown in the table above, all the most recent Mac computers are 64-bit processors.
Linux
On the Linux operating system, access the command line interface and enter the following command.
Look for «lm» in the command output. If lm is found in the output, then the CPU is 64-bit. If you don’t see lm or see i386, i486, i586, or i686 in the output, then the CPU is 32-bit. Below is an example output of the command above with lm in the information.
Determine if the Linux kernel is 32-bit or 64-bit
Using the uname command, you can determine if your Linux kernel is 32-bit or 64-bit by running the command below.
This command would give you output similar to the example output below.
If you see x86_64 in the output, this indicates it is x86 and that it is 64-bit.
How To Know If You Have 32 Bit or 64 Bit Computer in Linux and Windows
Last updated August 15, 2020 By Abhishek Prakash 40 Comments
Brief: This quick tip shows you how to check whether your computer is 32-bit or 64-bit. You can also check if your system can support 64-bit or not.
Do I have a 32-bit system or 64-bit system? How to tell if my computer is 32-bit or 64-bit? How to find out if my system is 64 bit capable or not? Am I running 32-bit Ubuntu or 64-bit Ubuntu? Am I running 32-bit Ubuntu on a 64-bit CPU? Do I have 32- or 64-bit Windows?
These are some common questions that users often wonder about. Finding out whether a computer is 32-bit or 64-bit is fairly simple. Before we see how to tell whether your computer is 32-bit or 64-bit, first let’s see the difference between the two systems.
32-bit vs 64-bit Systems: What’s the difference?
Processors in the early 1990s used 32-bit architecture. This means that their data bus had the capacity to handle 32 bits at a time. As the technology grew, 64-bit processors came on the scene.
These newer processors have a data bus width of 64 bits. This means they’re at least twice as fast as their 32-bit counterparts. To use the capabilities of 64-bit processors, operating systems began to release 64-bit versions.
One thing to remember is that a 64-bit processor can support either a 32-bit or a 64-bit OS but a 32-bit processor can only run a 32-bit OS.
If you bought your computer in the last 7-8 years, you should have a 64-bit system. Don’t worry, I won’t force you to dig up and see when you bought your computer.
Read more about 32-bit vs 64-bit here.
So now, you’ve learned these few things:
- Your computer can have either a 32-bit or a 64-bit processor
- Your operating system can be 32-bit or 64-bit
- A computer with a 64-bit processor can run both 32-bit and 64-bit operating systems
- A computer with a 32-bit processor cannot run 64-bit operating systems
Now that you know the basics, let’s see how to find out whether you have a 32-bit or a 64-bit system on both Windows and Linux.
How to know if your computer is 32-bit or 64-bit on Windows
Getting this information is fairly easy on Windows. Here’s how to do it in two easy steps.
Go to Windows Explorer, right click on This PC and then select Properties.
You’ll see the system information on the next screen. In here, you should look for System Type.
As you can see in the image above, it says “64-bit Operating System, x64-based processor”.
Which means that I have the 64-bit Windows operating system installed on a 64-bit CPU.
That’s how it works on Windows. Now let me show you how to find out whether you have a 32-bit or 64-bit system on Linux.
How to know whether your computer is 32-bit or 64-bit on Linux
If you’re using Ubuntu or any other form of Linux, it’s still easy to find out whether your system is 32-bit or 64-bit. Mind that we’re talking about the processor here, not the OS itself.
Open a terminal and run the following command:
You should see a result like this:
You need to look for the line that starts with CPU op-mode. As you can see in the above result, my CPU can support 32-bit and 64-bit. This means I have a 64-bit CPU.
If you see only 32-bit under CPU op-mode, you have a 32-bit system.
How to tell if Ubuntu is 32- or 64-bit
So, we just saw how to find out whether our system is 32 bit or 64-bit. But how can you learn whether the Ubuntu you installed on your system is 32-bit or 64-bit?
I mean, a 64-bit system can support both 32-bit and 64-bit operating systems. So if you have a 64-bit system, it’s better (and recommended) to install a 64-bit OS.
To check whether the installed Ubuntu OS is 32-bit or 64-bit, we’ll use the same command we used in the previous section:
In the result, look for the line starting with Architecture. This will tell you the OS architecture.
- x86, i686 or i386 means 32-bit Linux
- x86_64 , amd64 or x64 means 64-bit Linux
In my case, I had x86_64 in the result, which means I have 64-bit Ubuntu installed.
Alternatively, you can use this command that we saw in an older article about finding your Ubuntu Unity version:
The result will be x86, i686, i386, x86_64, x64, etc. And you can easily work out the OS architecture from it.
You can also use the arch command:
The output will indicate whether your installed Linux system is 32-bit or 64-bit.
I hope this quick post helped you find out whether you have a 32-bit or 64-bit CPU and a 32-bit or 64-bit operating system.
Like what you read? Please share it with others.
x64 Architecture
The x64 architecture is a backwards-compatible extension of x86. It provides a legacy 32-bit mode, which is identical to x86, and a new 64-bit mode.
The term «x64» includes both AMD 64 and Intel64. The instruction sets are close to identical.
Registers
x64 extends x86’s 8 general-purpose registers to be 64-bit, and adds 8 new 64-bit registers. The 64-bit registers have names beginning with «r», so for example the 64-bit extension of eax is called rax. The new registers are named r8 through r15.
The lower 32 bits, 16 bits, and 8 bits of each register are directly addressable in operands. This includes registers, like esi, whose lower 8 bits were not previously addressable. The following table specifies the assembly-language names for the lower portions of 64-bit registers.
64-bit register | Lower 32 bits | Lower 16 bits | Lower 8 bits |
---|---|---|---|