Кіріспе
Компьютерлік архитектура бит ені
Жалпы үй есептеулері мен ойынға арналған пайдалы құралдар 8 биттік сөз өлшемдерінде пайда болды – бірақ 1 биттік немесе 4 биттік емес, себебі 28=256 сөз, деректердің табиғи бірлігі мүмкін болды. Осылайша, алғашқы 8 биттік процессорлар (Zilog Z80, 6502, Intel 8088, 1976–1981 жылдары Commodore, Tandy Corporation, Apple және IBM компаниялары ұсынған) жеке есептеулер дәуірін ашты. Көптеген 16 биттік процессорлар 1970-ші жылдардың ортасында-ақ қолданыста болды. Келесі 30 жыл ішінде 16 бит, 32 бит және 64 бит есептеулерге көшу сәйкесінше 216=65 536 бірегей сөз, 232=4 294 967 296 бірегей сөз және 264=18 446 744 073 709 551 615 бірегей сөз мүмкіндіктерін ұсынды, әр қадам 64 битке жеткенге дейін мағыналы артықшылықтарды қамтамасыз етті. 64 биттен 128 бит есептеуге көшуден қосымша артықшылықтар байқалмайды, себебі регистрдегі мүмкін мәндердің саны шамамен 18 квинтиллионнан (1.8) 340 ундициллионға (3.40) дейін өседі, бірақ осы көптеген бірегей мәндердің көпшілігі пайдаланылмайды. Осылайша, 2128 мәнді сақтай алатын регистр 64 биттік есептеуге қарағанда үй есептеулеріне немесе ойынға ешқандай артықшылық бермейді. Үлкен сөз өлшемі бар процессорлар көбірек схемаларды қажет етеді, физикалық тұрғыдан үлкен, көбірек қуатты қажет етеді және көбірек жылу шығарады. Сондықтан, қазіргі уақытта 128 биттік бүтін сандармен немесе адрестермен жұмыс істеуге арналған жалпы мақсаттағы процессорлар жоқ, бірақ бірқатар процессорлар 128 биттік деректер блогымен жұмыс істеудің арнайы әдістеріне ие және олар .
Өкілдік
128 биттік байт адрестеуі бар процессор тікелей 2128 (3,40-тан астам) байтқа дейін адрестеуге мүмкіндік береді, бұл 2018 жылға дейін Жерде сақталған, жасалған немесе көшірілген барлық деректердің көлемін (шамамен 33 зеттабайт, 274 байттан астам) асып түседі. 128 биттік тіркегіш 2128 (3,40 × 1038-ден астам) түрлі мәнді сақтай алады. 128 битте сақталатын бүтін сандардың диапазоны қолданылатын бүтін сан форматына байланысты. Ең көп қолданылатын екі формат бойынша, диапазон (белгісіз) екілік сан түрінде 0-ден 340,282,366,920,938,463,463,374,607,431,768,211,455 (2128 - 1) аралығында, ал екілік толықтыру түрінде -170,141,183,460,469,231,731,687,303,715,884,105,728 (-2127) дейін 170,141,183,460,469,231,731,687,303,715,884,105,727 (2127 - 1) аралығында болады. Төрттік дәлдіктегі (128 бит) қозғалатын нүктелі сандар 113 биттік қатаң нүктелі сандарды немесе бүтін сандарды дәлдік жоғалтпай сақтай алады (әсіресе 64 биттік бүтін сандар). Төрттік дәлдіктегі қозғалатын нүктелі сандар байқалатын ғаламдағы кез келген нүктені кемінде микрометрлік дәлдікпен бейнелей алады. Decimal128 қозғалатын нүктелі сандар 34 маңызды цифрға дейін сандарды көрсете алады.
Тарих
1976 жылы зерттеушілер 128 биттік мультикомпараторды сипаттады. IBM System/360 Model 85, IBM System/370 және оның мұрагерлері 128 биттік қалқыма нүктелік арифметиканы қолдайды. Siemens 7.700 және 7.500 сериялы мейнфреймдер және олардың мұрагерлері 128 биттік қалқыма нүктелік арифметиканы қолдайды. Көптеген қазіргі заманғы процессорлар (CPU) бір нұсқама, бірнеше дерек (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 биттік қалқыма нүкте және жиынтық ондық арифметика кірді. 1999 жылы зерттеушілер 128 биттік мультимедиялық кеңейтулері бар процессорды жобалады. Видео ойын консольдарының алтыншы буынының ішінде Dreamcast және PlayStation 2 өздерінің мүмкіндіктерін көрсету үшін маркетингте "128 бит" терминін қолданды. Playstation 2 процесоры 128 бит SIMD мүмкіндіктеріне ие болды. Екі консоль де 128 биттік адрестеуді немесе 128 биттік бүтін санды арифметиканы қолдамады. Қазіргі заманғы графикалық процессорлар (GPU) 128 биттік шина арқылы деректерді өңдей алады.
Жабдық
2016 жылғы RISC V ISA спецификациясы архитектураның 128 биттік нұсқасы үшін орын қорлап қойған, бірақ бұл нұсқаның толыққанды сипаттамасы әдейі берілмеген, себебі мұндай үлкен сөз өлшемімен тәжірибе жинақталуда.
Бағдарламалық жасақтама
Компиляторлар 64 биттік бүтін сандық арифметиканы 64 биттен кіші тіркеуіштері бар архитектураларда эмуляциялайтындай, кейбір компиляторлар 128 биттік бүтін сандық арифметиканы да қолдайды. Мысалы, GCC C 4.6 және одан кейінгі нұсқаларының кейбір архитектуралары үшін 128 биттік int128 бүтін сан түрі бар. GCC және оған үйлесімді компиляторлар SIZEOF_INT128 макросы анықталғанда 128 биттік арифметика қолдау көрсетіліп тұрғанын хабарлайды. C бағдарламалау тілі үшін 128 биттік қолдау міндетті емес, мысалы, int128_t түрі арқылы, немесе компиляторға арналған кеңейтім арқылы іске асырылуы мүмкін. Rust бағдарламалау тілі 128 биттік бүтін сандарды бастапқыда LLVM арқылы қолдады, және бұл қолдау барлық платформаларда іске асырылған. C компиляторы ұсынатын 128 биттік тип Perl-де Math::Int128 модулі арқылы қолжетімді болуы мүмкін.
Қолданылуы
Универсалды бірегей идентификаторлар (UUID) 128 биттік мәннен тұрады. IPv6 компьютерлік желі трафигін 128 биттік адрестер диапазонында бағыттайды. ZFS – 128 биттік файлдық жүйе. 128 бит – симметриялық шифрлар үшін жиі қолданылатын кілт өлшемі және криптографиядағы блок шифрлар үшін жиі қолданылатын блок өлшемі. IBM i Machine Interface барлық көрсеткіштерді 128 бит деп анықтайды. Машина интерфейсі нұсқаулары қажет болған жағдайда аппараттық құралдың нақты нұсқаулар жиынтығына аударылады, бұл негізгі аппаратты өзгертуге мүмкіндік береді, бағдарламалық жасақтаманы қайта компиляциялау қажеттілігін жояды. Бұрынғы аппараттарда 48 биттік адрестеумен CISC нұсқаулар жиынтығы болған, ал қазіргі аппараттарда 64 биттік PowerPC/Power ISA қолданылады. PowerPC/Power ISA ішінде алғашқы төрт байт сілтеме жасалатын нысанның түрін анықтауға арналған ақпаратты қамтиды, ал соңғы сегіз байт виртуалды жад мекенжайы ретінде пайдаланылады. Қалған төрт байт қолданылмайды, бұл IBM i қолданбаларын кодты өзгертуді қажет етпей, болашақта 96 биттік адрестеуге кеңейтуге мүмкіндік береді. Сөз өлшемін ұлғайту көп дәлдікті математикалық кітапханаларды, криптография саласындағы қолданбалармен бірге жылдамдатуға және күрделі математикалық өңдеуде (сандық талдау, сигнал өңдеу, күрделі фотосуретке түсіруді өңдеу және аудио және бейне өңдеу) қолданылатын алгоритмдерді жылдамдатуға мүмкіндік береді. MD5 – 128 биттік хэш-мәнді құрайтын хэш-функция. Apache Avro деректер файлдарын тиімді бөлу үшін синхрондау белгісі ретінде 128 биттік кездейсоқ санды пайдаланады.