В компьютерной архитектуры , 32-битных чисел , адресов памяти , или других данных единиц являются те , которые являются 32 бита (4 октета ) в ширину. Кроме того, 32-разрядные архитектуры ЦП и ALU основаны на регистрах , адресных шинах или шинах данных такого размера. 32-разрядные микрокомпьютеры - это компьютеры, в которых 32-разрядные микропроцессоры являются нормой.
Диапазон для хранения целых чисел
32-битный регистр может хранить 2 32 различных значения. Диапазон из целочисленных значений , которые могут быть сохранены в 32 битах зависит от целочисленного представления используется. В двух наиболее распространенных представлениях диапазон от 0 до 4294967295 (2 32 - 1) для представления в виде ( беззнакового ) двоичного числа и от −2 147 483 648 (−2 31 ) до 2147 483 647 (2 31 - 1) для представления в виде дополнения до двух .
Одним из важных следствий является то, что процессор с 32-разрядными адресами памяти может напрямую обращаться не более чем к 4 ГиБ памяти с байтовой адресацией (хотя на практике предел может быть ниже).
Техническая история
Первый в мире электронный компьютер с хранимой программой, Manchester Baby , в 1948 году использовал 32-битную архитектуру, хотя это было всего лишь доказательством концепции и мало практических возможностей. Он содержал только 32 32-битных слова ОЗУ на трубке Вильямса и не имел операции сложения, только вычитание.
Память, а также другие цифровые схемы и проводка были дорогими в первые десятилетия 32-битных архитектур (с 1960-х по 1980-е годы). [1] Старые семейства 32-битных процессоров (или их более простые и дешевые варианты) могут поэтому иметь множество компромиссов и ограничений для сокращения затрат. Это может быть , например, 16-битный ALU или внешние (или внутренние) шины, длина которых меньше 32 бит, что ограничивает размер памяти или требует большего количества циклов для выборки, выполнения или обратной записи команд.
Несмотря на это, такие процессоры можно было назвать «32-битными», поскольку у них все еще были 32-битные регистры и инструкции, способные управлять 32-битными величинами. Например, IBM System / 360 Model 30 имела 8-битный ALU, 8-битные внутренние пути данных и 8-битный путь к памяти [2], а исходная Motorola 68000 имела 16-битный ALU данных и 16-битная внешняя шина данных, но имела 32-битные регистры и 32-битный набор команд. Дизайн 68000 иногда называют «16/32-битным». [3]
Однако для более новых 32-битных проектов часто бывает наоборот. Например, процессор Pentium Pro представляет собой 32-разрядную машину с 32-разрядными регистрами и инструкциями, которые управляют 32-разрядными величинами, но внешняя адресная шина имеет ширину 36 бит, что дает большее адресное пространство, чем 4 ГБ, а внешнее шина данных имеет ширину 64 бита, в первую очередь для того, чтобы обеспечить более эффективную предварительную выборку инструкций и данных. [4]
Архитектура
Известные 32-битные архитектуры наборов команд, используемые в вычислениях общего назначения, включают IBM System / 360 и IBM System / 370 (с 24-битной адресацией) и System / 370-XA , ESA / 370 и ESA / 390 (которые имел 31-разрядную адресацию), DEC VAX , NS320xx , семейство Motorola 68000 (первые две модели которых имели 24-разрядную адресацию), 32-разрядная версия архитектуры x86 Intel IA-32 и 32-разрядная версия архитектуры x86. битовые версии архитектур ARM , [5] SPARC , MIPS , PowerPC и PA-RISC . 32-разрядные архитектуры наборов команд, используемые для встраиваемых вычислений, включают семейство 68000 и архитектуры ColdFire , x86, ARM, MIPS, PowerPC и Infineon TriCore .
Приложения
В архитектуре x86 32-разрядное приложение обычно означает программное обеспечение, которое обычно (не обязательно) использует 32-разрядное линейное адресное пространство (или плоскую модель памяти ), возможное с чипами 80386 и более поздних версий. В этом контексте термин появился потому , что DOS , Microsoft Windows и OS / 2 [6] были изначально написаны для 8088/8086 или 80286 , 16-разрядных микропроцессоров с сегментированным адресным пространством, где программы должны были переключаться между сегментами, чтобы достичь большего. чем 64 килобайтов из кода или данных. Поскольку это занимает довольно много времени по сравнению с другими операциями на машине, производительность может снизиться. Более того, программирование с использованием сегментов может усложняться; специальные дальние и близкие ключевые слова или модели памяти должны были использоваться (с осторожностью) не только на ассемблере, но и на языках высокого уровня, таких как Паскаль , скомпилированный БЕЙСИК , Фортран , C и т. д.
80386 и его последователи полностью поддерживают 16-битные сегменты 80286, но также и сегменты для 32-битных адресных смещений (с использованием новой 32-битной ширины основных регистров). Если базовый адрес всех 32-битных сегментов установлен на 0 и сегментные регистры не используются явно, о сегментации можно забыть, и процессор будет иметь простое линейное 32-битное адресное пространство. Операционные системы, такие как Windows или OS / 2, предоставляют возможность запускать 16-битные (сегментированные) программы, а также 32-битные программы. Первая возможность существует для обратной совместимости, а вторая обычно предназначена для использования при разработке нового программного обеспечения .
Изображений
В цифровых изображениях / изображениях 32-битное значение обычно относится к цветовому пространству RGBA ; то есть 24-битные полноцветные изображения с дополнительным 8-битным альфа-каналом . Другие форматы изображений также определяют 32 бита на пиксель, например RGBE .
В цифровых изображениях 32-битный формат иногда относится к форматам изображений с расширенным динамическим диапазоном (HDR), которые используют 32 бита на канал, всего 96 бит на пиксель. 32-битные изображения на канал используются для представления значений ярче, чем позволяет цветовое пространство sRGB (ярче белого); затем эти значения можно использовать для более точного сохранения ярких светов при уменьшении экспозиции изображения, при просмотре через темный фильтр или тусклое отражение.
Например, отражение в нефтяном пятне - это лишь часть отражения от зеркальной поверхности. Изображения HDR позволяют отражать блики, которые все еще можно увидеть как ярко-белые области, а не тускло- серые формы.
Форматы файлов
32-битный формат файла - это двоичный формат файла , для которого каждая элементарная информация определена на 32 бита (или 4 байта ). Примером такого формата является расширенный формат метафайлов .
Смотрите также
- 16 бит
- 64-битный
- История видеоигр (32-битная эпоха)
- Word (тип данных)
- Расширение физического адреса (PAE)
Рекомендации
- ^ Паттерсон, Дэвид; Дицель, Дэвид (2000). Чтения по компьютерной архитектуре . Сан-Диего: Academic Press. п. 136. ISBN. 9781558605398.
- ^ Функциональные характеристики IBM System / 360 Model 30 (PDF) . IBM. Август 1971. С. 8, 9. GA24-3231-7.
- ^ «Руководство пользователя 68000» (PDF) .
- ^ Гвеннап, Линли (16 февраля 1995 г.). «Intel P6 использует суперскалярный дизайн с развязкой» (PDF) . Отчет микропроцессора . Проверено 3 декабря 2012 года .
- ^ «Обзор архитектуры ARM» (PDF) .
- ^ Были также варианты UNIX для 80286 .
Внешние ссылки
- КАК работает Stuff "Как работают биты и байты"
- «Кен Колберн на LockerGnome.com: 32-битная версия против 64-битной Windows » . Архивировано из оригинала на 2016-03-30.