- Windows 10, 8 on 128-bit: What You Need to Know
- 128-bit computers
- Windows 10 0n 128-bit – No, not really
- Какой будет 128-битная операционная система?!
- Почему еще никто не создал 128-битную операционную систему (Microsoft или Linux)?
- What are the Features of a 128 Bit Operating System
- How Big is 128 bits?
- The CPU
- The Registers in the CPU
- Physical Address Extension in 32 Bit Processors
- Non-Uniform Memory Access
- 64 Bit and 128 Bit OS
- What Will a 128 Bit Process Achieve?
- References
- This post is part of the series: 64 Bit Computing vs 32 Bit Computing
Windows 10, 8 on 128-bit: What You Need to Know
Just like I was saying in a recent article, I have many friends that don’t know too much about computers. And I don’t consider myself an expert, neither, but there are some questions that even I can answer. So, whenever I see people looking for this – “Windows 10, Windows 8 on 128-bit” or “Windows 8, Windows 10 works on 128-bit?” I realize that this needs a little bit of explanation. For those that don’t want to read too much (TL-DR adopters) or already know the difference between 128-bit and 64-bit, you should know that Windows 8, Windows 10 on 128-bit is nothing more but a fairytale.
128-bit computers
For those that are still looking for this, even now, after Windows 8, Windows 10 have been released, you should really read the following:
While there are currently no mainstream general-purpose processors built to operate on 128-bit integers or addresses, a number of processors do have specialized ways to operate on 128-bit chunks of data. The IBM System/370 could be considered the first rudimentary 128-bit computer, as it used 128-bit floating point registers
This explains it all, doesn’t it? We don’t need and we won’t go into very advanced and geekish argumentations – 128-bit is A LOT more processing power than x64 currently. Take into consideration quantum computer progress, for example. Today, barely anyone has 64-bit computers. And you’d think that 128-bit is just double the power of 64-bit. Well, ponder over this.
A 64-bit register can store 264 (over 18 quintillion) different values. Hence, a processor with 64-bit memory addresses can directly access 264 bytes (=16 exbibytes) of byte-addressable memory.
and now, for the “Holy Grail”, the 128-bit
128-bit processors could be used for addressing directly up to 2128 (over 3.40 × 1038) bytes, which would greatly exceed the total data stored on Earth as of 2010, which has been estimated to be around 1.2 zettabytes (over 270 bytes).
Windows 10 0n 128-bit – No, not really
So, who is looking for Windows 8, Windows 10 on 128-bit either needs a little bit of explanation to be done to him or he’s secretly keeping a supercomputer hidden in a bunker at the North Pole. A more fortunate comparison is perhaps looking at the first mobile phone bricks and the actual 5G standard that we’re striving for.
But who knows, maybe Windows 10 will live for 50 years or so, and the next version after it will indeed bring support for 128-bit computers. However, that is highly unlikely and it’s obvious that Windows 10 won’t be available for supercomputers. We have a modified version of Windows on various systems through Windows Embedded 8, but I don’t think it will go beyond that.
Taking into account mainstream consumer needs, it is safe to say that the 64-bit architecture is the peak of what average consumers need right now. Increasing to 128-bit makes sense when running powerful AI or Mixed Reality software. However, I really think we’re decades away from making AI software mainstream. Indeed, judging by the current progress rate, this will happen sometime in the future, but unfortunately, we won’t live long enough to test 128-bit computers during our lifetime.
RELATED STORIES TO CHECK OUT:
Какой будет 128-битная операционная система?!
Будет ли он работать быстрее или что-то в этом роде? Попробуем поговорить про это простыми словами.
Некоторые из ответов здесь, кажется, придают большое значение объему памяти, доступному для данного количества бит, но вы можете легко спроектировать архитектуру, в которой это не является ограничением.
Этот монстр своего времени имел 16-bit:
Но это 8-bit процессор.
Этот может иметь 640 kb оперативной памяти (чуть меньше 200 бит)
Но имел 16- bit’ный чип, вот этот:
Чтобы получить доступ к пространству памяти, большему, чем то, что может быть представлено регистрами ЦП (центрального процессора), вы должны просто использовать пейджинг (подкачка — схема управления памятью) , где вы будете использовать одну инструкцию, чтобы сообщить системе, какую страницу памяти вы хотели бы использовать, и другую инструкцию для доступа к данным в этой страницы
Итак, у нас есть пара чисел: размер в битах общего пространства памяти, размер в битах регистров ЦП и размер в битах шины памяти, которая загружает данные в ЦП. Они могут в принципе варьироваться независимо друг от друга.
Так какое же преимущество будет иметь 128-битные по сравнению с 64-битными?
Немного . 64-битные с трудом дают преимущества по сравнению с 32-битными. 64-битные программы дают программам прямой доступ к пространству памяти, которое примерно в миллиард раз больше, чем у ПК сегодня, но даже для специализированных суперкомпьютеров это ограничение может быть преодолено другими архитектурными изменениями, помимо простого увеличения количества бит.
В типичной компьютерной программе большинство чисел редко превышает несколько миллионов, что намного меньше 64-разрядных, что составляет миллиарды миллиардов (18 446 744 073 709 551 616). Компьютерные программы также обычно используют так называемые числа с плавающей запятой, которые представляют дробные числа. Здесь число битов повышает точность, а 32-разрядные — для младшего разряда для научных расчетов, а 64-разрядные числа обычно используются. Однако точность битов с плавающей запятой имеет мало общего с битами операционной системы или объемом памяти. На самом деле с плавающей запятой, как правило, обрабатываются специальным оборудованием, которое внутренне использует еще больше битов.
Эта вещь с 1980 года использовала до 80 бит внутри:
В 1997 году, когда стандартным числом битов ОС было 32-разрядное, Intel выпустила набор инструкций MMX. Это дало программистам доступ к 128-битным инструкциям внутри. Преимущество этих инструкций заключается в том, что вы можете выполнять одну и ту же операцию, например, добавление, параллельно с каждым 8-разрядным фрагментом регистра (также возможны другие деления битов). Это позволило программистам писать гораздо более быстрый код обработки пикселей (который обычно является 8-разрядным), но это не требовало, чтобы ОС стала 128-разрядной.
Почему еще никто не создал 128-битную операционную систему (Microsoft или Linux)?
Создание 128-битной операционной системы на самом деле не приносит никакой пользы. 128-битная (или более высокая) архитектура полезна для некоторых математически интенсивных операций, таких как графика, криптография и/или моделирование сложных систем, но не для операционных систем.
Самой большой проблемой с 32-битными операционными системами было ограничение на 4 гигабайта адресуемого объема памяти ( ОЗУ ). Но нам действительно не нужно было переходить к 64-битной архитектуре и ОС, чтобы решить эту проблему на самом деле, 40-битная архитектура позволила бы использовать 1 терабайт адресуемого пространства памяти, которого было бы более чем достаточно в обозримом будущем.
Для каждого бита, который вы добавляете в архитектуру ОС, мы удваиваем количество доступных адресов. Адреса — это в основном количество комбинаций, которые могут быть сформированы при определенном количестве битов. Например:
- 1 бит = 0 или 1, что в сумме составляет 2 комбинации
- 2 бита = 00, 01, 10 или 11, что в сумме составляет 4 комбинации
- 3 бита = 000, 001, 010, 011, 100, 101, 110, или 111, что в общей сложности составляет 8 комбинаций
Таким образом, переход от 32 бит (что составляет в общей сложности 4 294 967 296 комбинаций) к 64 битам (что составляет в общей сложности 18 446 744 073 709 551 616 комбинаций) уже является избыточным. И это не просто адресуемое пространство, которое было резко увеличено, посмотрите на таблицу (это для операционных систем Windows):
Как видно 64-битная архитектура еще долго сможет покрывать допустимую мощность нашего времени
- 1971–1974: 4 бита (Intel 4004, 4040)
- 1972–1976: 8 бит (Intel 8008, 8080, 8085, 8051,…)
- 1978–1982: 16 бит (Intel 8086, 8088, 80186, 80286)
- 1981–2004: 32 бита (432, i960, 80386, 80486, Pentium,…)
- 2001–2010: 64 бита (Itanium, позже Pentium, Xeon,…)
Учитывая, что нам понадобилось около 30 лет, чтобы подняться на 60 бит, мы можем предугадать, сказав, что мы добавляем 2 бита в год. Это будет означать, что нам понадобятся 128-битные компьютеры где-то около 2033 года.
What are the Features of a 128 Bit Operating System
How Big is 128 bits?
With Windows 7 coming in 32 bit and 64 bit architecture format, the belief is that the next processors and Operating Systems will be 128 Bit. Is that true; and Is that the next natural progression?
What is 128 Bit computing? Well starting with 32 Bit computing, the CPU is able to process 232 bits of information, that is 4,294,967,296 or just over 4 gig. 64 bit computing is likewise 264 or 18,446,744,073,709,551,616; that is over 18 exobytes of memory (quintillion). That’s just for 64 bits. And 128 bit? That is 2128 or 3.4028236692093846346337460743177e+38 bits. That is a lot of bits to work with. So is this necessary? That is the question; operational bits and available bits are two different things. Can computers, and more importantly software, use that kind of bit space?
The CPU
Addressing the previous question will depend on the structure of the CPU. The CPU has registers, the ALUs (arithmetic-logic unit ), which does the math, and the data bus, which moves data from cache to memory. The fetch-execute cycle is important in addressing how data is processed.
Registers are not a part of memory, rather they are temporary storage areas and they work under the guise of the control unit. They take instructions or data and perform logic or arithmetic operations. More information is available about the Role of a CPU or Microprocessor Unit.
The Registers in the CPU
What does the register do?
Registers receive the information from memory or from the CPU, hold it temporarily and pass it on as directed by the control unit. Registers are tied to a clock, where an instruction in the register is executed in one clock cycle. The number of registers varies from computer to computer; each one is designed to perform a specific function. Registers have a specific storage capacity depending on the number of bits they are designed with. Normally 14 registers are present in a microcomputer.
1]The accumulator register is a special data register and it stores the result of the last processing step of the ALU.
2]User visible registers are divided into to data registers and address registers.
3]Address registers are used to hold memory registers and the next piece of data.
4]Data registers store data.
5]Condition registers are used to determine whether the instruction should execute or not.
6]Constant registers are used to store read only values.
7]Floating point registers store floating point numbers.
8]General purpose registers hold the data and addresses.
9]Special purpose registers are used to store the status of the program and it consists of program counter,
10]stack pointer and
12]The program counter holds the address of the next instruction to executed.
13]The instruction register holds the instruction while it is being executed.
14]The index register stores an index of memory addresses.
You can read about A Visual Interpretation of How a CPU Works and learn additional information about registers.
Physical Address Extension in 32 Bit Processors
So is there a way that will make the 32 bit processor work like a 64 bit? Actually there is. It is called Physical Address Extension (PAE).
Physical Address Extension is a technique that allows CPU’s to address more memory than available by design. It can only be done on x86 systems where 32 bits can be made to work up to 64 bits. This is accomplished when the addressing register splits up the total memory into different banks of space where it can then allow access to the full memory. So as the 32 bit data register receives data, it can split the data into a second bank and obtain the 64 bit operation and it is processed in one cycle.
When this process is put into place, the 32 bit registers act in concert to mimic a 64 bit register. This allows the CPU cycle to work to process two registers and send them to the ALU for processing in one cycle. But this is not the only CPU implementation available.
Non-Uniform Memory Access
Another CPU implementation is Non-Uniform Memory Access (NUMA), which allows CPU’s to access memory regardless of the distance of the memory addresses. Because some memory locations are closer to the CPU while others are further away, it will take longer for the CPU to process the data in memory that is further away. To solve this, the CPU is broken down into nodes so the processing is done per node and hence faster regardless of the memory physical location. Applications are then able to take advantage of 64 bit processing in a 32 bit environment if NUMA is in place. This begs the question: can this type of processing allow for 128 bit operations?
64 Bit and 128 Bit OS
Using 128 bit systems is not inevitable while there are processes in the CPU that can be used to make a 32 bit processor act like a 64 bit, and a 64 bit processor act like a 128 bit. If the Physical Address Extension, which now only applies to x86 (32 bit) systems, were modified to 64 bit systems to allow them to act like 128 bit systems, it would go a way toward working with 128 bits. The same goes for modifications using NUMA, in this case because of the number of memory locations that are distanced from the CPU have to be used because 64 bit CPU’s will naturally be larger in size than a 32 bit CPU.
Finally, there are some applications, like 128 bit encryption, or cryptography, that can naturally take advantage of 128 bit CPU. The encryption process will be faster because it will take only one processing cycle to do the encryption. But this shows that to take full advantage of the 128 bit processor, you need to have applications that are written to merge seamlessly into the CPU operations.
At this point, that is one of the largest drawbacks in application practices. Most applications are still only written for the 32 bit level, they are not even at the 64 bit level. This will take software design programs that have been re-written to create 128 bit applications. Software design programs like Visual Studio, or the .Net Framework, or SQL Server 2005, or SQL Server 2008, would have to produce 128 bit applications. But they are not at that level– now, they generate 32 bit applications.
What Will a 128 Bit Process Achieve?
Greater and faster processing power is the natural answer to that question. Complex applications that need a lot of processing power, i.e., processing that can be accomplished in one CPU cycle are ideal. These are engineering, or math, or scientific operations. These are sophisticated financial or economic modeling. These are also complex medical, or biological, or chemical processing that have to be performed quickly. Any of these applications that need to generate results quickly can benefit from an OS that can be in sync with a 128 bit CPU. You can read move about 128 bit architeture issues at Windows 128 Bit Architecture — How much RAM can a Processor Handle.
References
Numa: Image Wikimedia Commons
This post is part of the series: 64 Bit Computing vs 32 Bit Computing
As CPU’s get more sophisticated, so do the operating systems that support them. This is happening now with the 64 bit computer and the older 32 bit computer. Understanding how the size of the CPU affects the operating system is the goal of this series of articles.