128-битные вычисления - 128-bit computing

редактировать
Архитектура компьютера

В архитектура компьютера, 128-битцелые числа, адреса памяти или др. er блоки данных - это блоки размером 128 бит (16 октетов ). Кроме того, 128-битные архитектуры CPU и ALU основаны на регистрах, адресных шинах или шинах данных. такого размера.

Хотя в настоящее время нет основных процессоров общего назначения, предназначенных для работы со 128-битными целыми числами или адресами, у ряда процессоров есть специальные способы работы с 128-битными порциями данных. IBM System / 370 можно считать первым простым 128-битным компьютером, поскольку он использовал 128-битные регистры с плавающей запятой. Большинство современных ЦП имеют наборы инструкций с несколькими данными и множеством данных (SIMD) (Streaming SIMD Extensions, AltiVec и т. Д.), Где используются 128-битные векторные регистры для хранения нескольких меньших чисел, например четырех 32-разрядных чисел с плавающей запятой. Затем одна инструкция может работать со всеми этими значениями параллельно. Однако эти процессоры не работают с отдельными числами длиной 128 двоичных разрядов; только их регистры имеют размер 128 бит.

DEC VAX поддерживал операции с типами данных 128-битных целых ('O' или octaword) и 128-битных чисел с плавающей запятой ('H-float' или HFLOAT). Поддержка таких операций была вариантом обновления, а не стандартной функцией. Поскольку регистры VAX имели ширину 32 бита, для 128-битной операции использовались четыре последовательных регистра или четыре длинных слова в памяти.

В ICL 2900 серии предусмотрен 128-битный аккумулятор, а его набор инструкций включает 128-битную арифметику с плавающей запятой и упакованную десятичную арифметику.

Таким же образом, как компиляторы эмулируют, например, 64-битная целочисленная арифметика на архитектурах с размером регистров менее 64 бит, некоторые компиляторы также поддерживают 128-битную целочисленную арифметику. Например, компилятор GCC C 4.6 и более поздних версий имеет 128-битный целочисленный тип __int128для некоторых архитектур. GCC и совместимые компиляторы сигнализируют о наличии 128-битной арифметики, когда определен макрос __SIZEOF_INT128__. Для языка программирования C 128-битная поддержка не является обязательной, например через тип int128_t, или это может быть реализовано с помощью расширения для конкретного компилятора. Язык программирования Rust имеет встроенную поддержку 128-битных целых чисел, которая реализована на всех платформах. 128-битный тип, предоставляемый компилятором C, может быть доступен в Perl через модуль Math::Int128.

128-битный регистр может хранить 2 ( более 3,40 × 10) различных значений. Диапазон значений целых чисел, которые могут быть сохранены в 128 битах, зависит от используемого целочисленного представления. В двух наиболее распространенных представлениях диапазон составляет от 0 до 340,282,366,920,938,463,463,374,607,431,768,211,455 (2 - 1) для представления в виде (беззнакового ) двоичного числа и от −170,141,183,460,469,231,731,687,303,715,884,105,731,718 (−1,731,687,303,715,884,105,731,718) (−1 2-1) для представления в виде дополнения до двух.

Использует
История

128-битный мультикомпаратор был описан исследователями в 1976 году.

ЦП со 128-битными мультимедийными расширениями был разработан исследователями в 1999 г.

Ссылки
Последняя правка сделана 2021-07-15 05:17:06
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте