Введение
В компьютерной архитектуре, 32-битные вычисления относятся к компьютерным системам с процессором, памятью и другими основными компонентами, которые оперируют данными в 32-битных единицах. По сравнению с меньшей разрядностью, 32-битные компьютеры могут более эффективно выполнять сложные вычисления и обрабатывать больше данных за один такт. Типичные 32-битные персональные компьютеры также имеют 32-битную адресную шину, что позволяет обращаться к 4 ГБ оперативной памяти – значительно больше, чем позволяли предыдущие поколения системной архитектуры. 32-битные решения использовались с первых дней электронных вычислений, в экспериментальных системах, а затем в крупных мейнфреймах и мини-компьютерах. Первый гибридный 16/32-битный микропроцессор, Motorola 68000, был представлен в конце 1970-х годов и использовался в таких системах, как оригинальный Apple Macintosh. Полностью 32-битные микропроцессоры, такие как HP FOCUS, Motorola 68020 и Intel 80386, были выпущены в начале и середине 1980-х годов и стали доминирующими к началу 1990-х годов. Это поколение персональных компьютеров совпало с и способствовало первому массовому распространению Всемирной паутины. Хотя 32-битные архитектуры все еще широко используются в определенных областях, рынок ПК и серверов перешел на 64-битную архитектуру x86-64 с середины 2000-х годов, при этом объем установленной памяти часто превышает 32-битный лимит в 4 ГБ оперативной памяти на компьютерах начального уровня. Последнее поколение мобильных телефонов также перешло на 64-битную архитектуру.
In computer architecture, 32 bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in 32 bit units. Compared to smaller bit widths, 32 bit computers can perform large calculations more efficiently and process more data per clock cycle. Typical 32 bit personal computers also have a 32 bit address bus, permitting up to 4 GB of RAM to be accessed, far more than previous generations of system architecture allowed. 32 bit designs have been used since the earliest days of electronic computing, in experimental systems and then in large mainframe and minicomputer systems. The first hybrid 16/32 bit microprocessor, the Motorola 68000, was introduced in the late 1970s and used in systems such as the original Apple Macintosh. Fully 32 bit microprocessors such as the HP FOCUS, Motorola 68020 and Intel 80386 were launched in the early to mid 1980s and became dominant by the early 1990s. This generation of personal computers coincided with and enabled the first mass adoption of the World Wide Web. While 32 bit architectures are still widely used in specific applications, the PC and server market has moved on to 64 bits with x86 64 since the mid 2000s with installed memory often exceeding the 32 bit 4G RAM address limits on entry level computers. The latest generation of mobile phones have also switched to 64 bits.
Диапазон для хранения целых чисел
32-битный регистр может хранить 2<sup>32</sup> различных значения. Диапазон целых значений, которые могут быть сохранены в 32 битах, зависит от используемого представления целых чисел. При двух наиболее распространенных представлениях диапазон составляет от 0 до 4 294 967 295 (2<sup>32</sup> − 1) при представлении в виде (беззнакового) двоичного числа и от −2 147 483 648 (−2<sup>31</sup>) до 2 147 483 647 (2<sup>31</sup> − 1) при представлении в дополнительном коде. Важным следствием этого является то, что процессор с 32-битными адресами памяти может напрямую обращаться не более чем к 4 Гбайт байтовой адресуемой памяти (хотя на практике этот предел может быть ниже).
История техники
Первый в мире электронный компьютер с хранимой программой, Manchester Baby, использовал 32-битную архитектуру в 1948 году, хотя это был лишь концептуальный прототип с ограниченной практической функциональностью. Он содержал всего 32 32-битных слова оперативной памяти на трубке Уильямса и поддерживал только операцию вычитания, не имея операции сложения. Память, а также другие цифровые схемы и проводка, были дорогими в первые десятилетия развития 32-битных архитектур (1960-е – 1980-е годы). Поэтому более ранние 32-битные семейства процессоров (или их более простые и дешевые варианты) часто имели множество компромиссов и ограничений для снижения стоимости. Это могло выражаться, например, в использовании 16-битного АЛУ или внешних (или внутренних) шин, уже 32 бит, что ограничивало размер памяти или требовало большего количества циклов для выборки, выполнения или записи инструкций. Несмотря на это, такие процессоры могли классифицироваться как 32-битные, поскольку они все равно имели 32-битные регистры и инструкции, способные обрабатывать 32-битные значения. Например, IBM System/360 Model 30 имел 8-битное АЛУ, 8-битные внутренние шины данных и 8-битный канал памяти, а оригинальный Motorola 68000 – 16-битное АЛУ данных и 16-битную внешнюю шину данных, но при этом обладал 32-битными регистрами и 32-битным набором инструкций. Архитектура 68000 иногда называлась 16/32-битной. Однако для более современных 32-битных разработок часто наблюдается обратная ситуация. Например, процессор Pentium Pro является 32-битной машиной с 32-битными регистрами и инструкциями, работающими с 32-битными величинами, но его внешняя адресная шина имеет ширину 36 бит, обеспечивая адресное пространство больше 4 ГБ, а внешняя шина данных – 64 бита, что в первую очередь предназначено для более эффективной предварительной выборки инструкций и данных.
Архитектура
Известные 32-битные архитектуры наборов команд, используемые в вычислительных системах общего назначения, включают IBM System/360 и IBM System/370 (с 24-битным адресованием) и System/370 XA, ESA/370 и ESA/390 (с 31-битным адресованием), DEC VAX, NS320xx, семейство Motorola 68000 (первые две модели которого имели 24-битное адресование), 32-битную версию Intel IA-32 архитектуры x86, а также 32-битные версии архитектур ARM, SPARC, MIPS, PowerPC и PA-RISC. Архитектуры 32-битных наборов команд, используемые для встраиваемых вычислений, включают в себя семейства 68000 и ColdFire, x86, ARM, MIPS, PowerPC и архитектуру Infineon TriCore.
Приложения
На архитектуре x86, 32-битное приложение обычно означает программное обеспечение, которое, как правило (но не обязательно), использует 32-битное линейное адресное пространство (или плоскую модель памяти), ставшее возможным с чипами 80386 и более поздними. Этот термин возник в связи с тем, что DOS, Microsoft Windows и OS/2 изначально были написаны для 16-битных микропроцессоров 8088/8086 или 80286 с сегментированным адресным пространством, где программам приходилось переключаться между сегментами для доступа к более чем 64 килобайтам кода или данных. Поскольку это довольно затратно по времени по сравнению с другими машинным операциями, производительность может снижаться. Кроме того, программирование с сегментами часто становится сложным; требовалось использовать специальные ключевые слова "far" (дальний) и "near" (ближний) или модели памяти (с осторожностью), не только в ассемблере, но и в языках высокого уровня, таких как Pascal, Compiled BASIC, Fortran, C и т.д. 80386 и его преемники полностью поддерживают 16-битные сегменты 80286, а также сегменты для 32-битных адресных смещений (используя новую 32-битную ширину основных регистров). Если базовый адрес всех 32-битных сегментов установлен в 0, а сегментные регистры не используются явно, сегментацию можно игнорировать, и процессор будет казаться имеющим простое линейное 32-битное адресное пространство. Операционные системы, такие как Windows или OS/2, предоставляют возможность запускать как 16-битные (сегментированные) программы, так и 32-битные программы. Первая возможность существует для обратной совместимости, а вторая обычно предназначена для разработки нового программного обеспечения.
Изображения
В цифровых изображениях/картинках, 32 бита обычно обозначают цветовое пространство RGBA, то есть 24-битные truecolor изображения с дополнительным 8-битным альфа-каналом. Другие форматы изображений также используют 32 бита на пиксель, например, RGBE. В цифровых изображениях 32 бита иногда относятся к форматам изображений с высоким динамическим диапазоном (HDR), использующим 32 бита на канал, что в сумме составляет 96 бит на пиксель. Изображения с 32 битами на канал применяются для представления значений, превышающих яркость, допустимую цветовым пространством sRGB (ярче белого); эти значения затем позволяют более точно сохранять яркие блики при уменьшении экспозиции изображения или при просмотре через темный фильтр или приглушенное отражение. Например, отражение в масляной пленке – лишь малая часть отражения, видимого на зеркальной поверхности. HDR-изображения позволяют отображать блики, которые все еще видны как яркие белые области, а не тусклые серые фигуры.
Форматы файлов
32-битный формат файла — это двоичный формат файла, в котором каждая элементарная единица информации определена с использованием 32 бит (или 4 байт). Примером такого формата является формат расширенных метафайлов.