stringtranslate.com

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 (которые имела 31-битную адресацию), DEC VAX , NS320xx , семейство Motorola 68000 (первые две модели которого имели 24-битную адресацию), 32-битную версию архитектуры x86 Intel IA-32 и 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 килобайт кода или данных . Поскольку это занимает довольно много времени по сравнению с другими машинными операциями, производительность может ухудшиться. Более того, программирование с использованием сегментов имеет тенденцию усложняться; специальные ключевые слова «далеко » и «близко» или модели памяти необходимо было использовать (с осторожностью) не только в языке ассемблера , но и в языках высокого уровня, таких как Pascal , скомпилированный BASIC , Fortran , 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 .

Смотрите также

Рекомендации

  1. ^ Прозис, Джефф (11 ноября 1995 г.). «16 или 32 бита: должно ли это иметь для вас значение?». Журнал ПК . стр. 321–322 . Проверено 30 ноября 2022 г.
  2. ^ Бьюкенен, Уильям (1997). Разработка программного обеспечения для инженеров: C/C++, Pascal, Assembly, Visual Basic, HTML, Java Script, Java DOS, Windows NT, UNIX. Берлингтон: Elsevier Science. п. 230. ИСБН 978-0-08-054137-2. ОКЛК  854975383.
  3. ^ Венкатешварлу, НБ (2012). Основные основы работы с компьютером и информационными технологиями для студентов инженерных и естественных наук . Издательство С. Чанд. п. 143. ИСБН 978-81-219-4047-4.
  4. ^ Паттерсон, Дэвид; Дитцель, Дэвид (2000). Чтения по компьютерной архитектуре . Сан-Диего: Академическая пресса. п. 136. ИСБН 9781558605398.
  5. ^ Функциональные характеристики IBM System/360 Model 30 (PDF) . ИБМ. Август 1971. С. 8, 9. GA24-3231-7.
  6. ^ «Справочное руководство для программатора семейства Motorola 68000» (PDF) . 1992. с. 1-1 . Проверено 18 января 2022 г.
  7. Гвеннап, Линли (16 февраля 1995 г.). «Intel P6 использует несвязанную суперскалярную конструкцию» (PDF) . Отчет микропроцессора . Проверено 3 декабря 2012 г.
  8. ^ «Обзор архитектуры ARM» (PDF) .
  9. ^ Существовали также варианты UNIX для 80286 .

Внешние ссылки