32-битные вычисления
Разрядность архитектуры компьютера |
---|
Кусочек |
Приложение |
с плавающей запятой Двоичная точность |
с плавающей запятой Десятичная точность |
В компьютерной архитектуре 32 -битные вычисления относятся к компьютерным системам с процессором , памятью и другими основными системными компонентами, которые работают с данными в 32- битных единицах. [1] [2] По сравнению с компьютерами меньшей разрядности, 32-разрядные компьютеры могут выполнять большие вычисления более эффективно и обрабатывать больше данных за такт. Типичные 32-битные персональные компьютеры также имеют 32-битную адресную шину к 4 ГБ оперативной памяти , что намного больше, чем позволяли предыдущие поколения системной архитектуры. , обеспечивающую доступ [3]
32-битные конструкции использовались с самых первых дней электронных вычислений в экспериментальных системах, а затем в больших мэйнфреймах и миникомпьютерных системах. Первый гибридный 16/32-битный микропроцессор Motorola 68000 был представлен в конце 1970-х годов и использовался в таких системах, как оригинальный Apple Macintosh . Полностью 32-битные микропроцессоры, такие как HP FOCUS , Motorola 68020 и Intel 80386, были выпущены в начале-середине 1980-х годов и стали доминирующими к началу 1990-х годов. Это поколение персональных компьютеров совпало с первым массовым внедрением Всемирной паутины и сделало его возможным . Хотя 32-битные архитектуры по-прежнему широко используются в конкретных приложениях, рынок ПК и серверов перешел на 64-битные архитектуры с x86-64 с середины 2000-х годов, при этом установленная память часто превышает ограничения на 32-битные адреса 4G RAM на начальном уровне. компьютеры. Последнее поколение мобильных телефонов также перешло на 64-битную версию.
Диапазон хранения целых чисел
[ редактировать ]32-битный регистр может хранить 2 32 разные ценности. Диапазон используемого целочисленных значений , которые могут храниться в 32 битах, зависит от целочисленного представления . В двух наиболее распространенных представлениях диапазон составляет от 0 до 4 294 967 295 (2 32 − 1) для представления в виде ( беззнакового ) двоичного числа и −2 147 483 648 (−2 31 ) через 2 147 483 647 (2 31 − 1) для представления в виде дополнения до двух .
Одним из важных последствий является то, что процессор с 32-битными адресами памяти может напрямую обращаться максимум к 4 ГБ памяти с байтовой адресацией (хотя на практике предел может быть ниже).
Техническая история
[ редактировать ]Первый в мире электронный компьютер с хранимой программой , Manchester Baby , использовал 32-битную архитектуру в 1948 году, хотя это было лишь подтверждением концепции и имело мало практических возможностей. Он содержал только 32 32-битных слова ОЗУ на лампе Уильямса и не выполнял никаких операций сложения, а только вычитание.
Память, а также другие цифровые схемы и проводка были дорогими в первые десятилетия существования 32-битных архитектур (с 1960-х по 1980-е годы). [4] Поэтому старые семейства 32-битных процессоров (или их более простые и дешевые варианты) могут иметь множество компромиссов и ограничений для сокращения затрат. Это может быть 16-битное АЛУ , например, или внешние (или внутренние) шины уже 32 бита, что ограничивает размер памяти или требует большего количества циклов для выборки, выполнения или обратной записи инструкций.
Несмотря на это, такие процессоры можно было назвать 32-битными , поскольку они все еще имели 32-битные регистры и инструкции, способные манипулировать 32-битными величинами. Например, IBM System/360 Model 30 имела 8-битное ALU, 8-битные внутренние пути данных и 8-битный путь к памяти. [5] а оригинальный Motorola 68000 имел 16-битное ALU данных и 16-битную внешнюю шину данных, но имел 32-битные регистры и 32-битный набор команд. Дизайн 68000 иногда называли 16/32-битным . [6]
Однако для новых 32-битных проектов часто верно обратное. Например, процессор Pentium Pro — это 32-битная машина с 32-битными регистрами и инструкциями, управляющими 32-битными величинами, но внешняя адресная шина имеет ширину 36 бит, что дает адресное пространство большее, чем 4 ГБ, а внешняя адресная шина имеет ширину 36 бит. Шина данных имеет ширину 64 бита, главным образом для того, чтобы обеспечить более эффективную предварительную выборку инструкций и данных. [7]
Архитектуры
[ редактировать ]Известные 32-битные архитектуры набора команд, используемые в вычислениях общего назначения, включают IBM System/360 , IBM System/370 (с 24-битной адресацией), System/370-XA , ESA/370 и ESA/390 (с 24-битной адресацией). 31-битная адресация), DEC VAX , NS320xx , семейство Motorola 68000 (первые две модели которого имели 24-битную адресацию), Intel IA-32 32-битная версия архитектуры x86 и 32-битная версия. версии ARM , [8] Архитектуры SPARC , MIPS , PowerPC и PA-RISC . 32-битные архитектуры набора команд, используемые для встраиваемых вычислений, включают семейство 68000 и ColdFire , x86, ARM, MIPS, PowerPC и Infineon TriCore архитектуры .
Приложения
[ редактировать ]В архитектуре x86 32-битное приложение обычно означает программное обеспечение , которое обычно (не обязательно) использует 32-битное линейное адресное пространство (или модель плоской памяти ), возможное с чипами 80386 и более поздних версий. В этом контексте этот термин возник потому, что DOS , Microsoft Windows и OS/2 [9] изначально были написаны для 8088/8086 или 80286 , 16-битных микропроцессоров с сегментированным данных более 64 килобайт или адресным пространством, в котором программам приходилось переключаться между сегментами, чтобы достичь размера кода . Поскольку это занимает довольно много времени по сравнению с другими машинными операциями, производительность может ухудшиться. Более того, программирование с использованием сегментов имеет тенденцию усложняться; специальные ключевые слова «далеко » и «близко » или модели памяти необходимо было использовать (с осторожностью) не только в языке ассемблера , но и в языках высокого уровня, таких как Паскаль , скомпилированный BASIC , Фортран , 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 байтах ). Примером такого формата является Enhanced Metafile Format .
См. также
[ редактировать ]- 64-битные вычисления
- История видеоигр (32-битная эпоха)
- Слово (компьютерная архитектура)
- Расширение физического адреса (PAE)
Ссылки
[ редактировать ]- ^ Прозайз, Джефф (7 ноября 1995 г.). «16 или 32 бита: должно ли это иметь для вас значение?» . Журнал ПК . стр. 321–322 . Проверено 30 ноября 2022 г.
- ^ Бьюкенен, Уильям (1997). Разработка программного обеспечения для инженеров: C/C++, Pascal, Assembly, Visual Basic, HTML, Java Script, Java DOS, Windows NT, UNIX . Берлингтон: Elsevier Science. п. 230. ИСБН 978-0-08-054137-2 . OCLC 854975383 .
- ^ Венкатешварлу, НБ (2012). Основные основы работы с компьютером и информационными технологиями для студентов инженерных и естественных наук . Издательство С. Чанд. п. 143. ИСБН 978-81-219-4047-4 .
- ^ Паттерсон, Дэвид; Дитцель, Дэвид (2000). Чтения по компьютерной архитектуре . Сан-Диего: Академическая пресса. п. 136. ИСБН 9781558605398 .
- ^ Функциональные характеристики IBM System/360 Model 30 (PDF) . ИБМ. Август 1971. С. 8, 9. GA24-3231-7.
- ^ «Справочное руководство для программатора семейства Motorola 68000» (PDF) . 1992. с. 1-1 . Проверено 18 января 2022 г.
- ^ Гвеннап, Линли (16 февраля 1995 г.). «Intel P6 использует несвязанную суперскалярную конструкцию» (PDF) . Отчет микропроцессора . Проверено 3 декабря 2012 г.
- ^ «Обзор архитектуры ARM» (PDF) .
- ^ Существовали также варианты UNIX для 80286 .
Внешние ссылки
[ редактировать ]- КАК Все работает «Как работают биты и байты»
- «Кен Колберн на LockerGnome.com: 32-битная и 64-битная Windows » . Архивировано из оригинала 30 марта 2016 г.