უკან დაბრუნება
AMD-ის რიცხვების გენერატორი ნულს ვერ აბრუნებს? ფორუმზე RDRAND-სა და RDSEED-ს ამოწმებენ
SiTech AI Team2 წთ. საკითხავი

AMD-ის რიცხვების გენერატორი ნულს ვერ აბრუნებს? ფორუმზე RDRAND-სა და RDSEED-ს ამოწმებენ

flat assembler-ის ფორუმზე გამოქვეყნებული თემის მიხედვით, AMD-ის პროცესორებზე RDRAND და RDSEED მოთხოვნილი სიგანის სრულ ნულს არ აბრუნებენ. ავტორმა სატესტო აპლიკაცია, გამოსავალი და ბენჩმარკის შედეგები გამოაქვეყნა.

flat assembler-ის ფორუმზე 2026 წლის მაისში გახსნილ თემაში უჩვეულო დაკვირვებაა აღწერილი: AMD-ის პროცესორებზე RDRAND და RDSEED ინსტრუქციები, როგორც ჩანს, არასოდეს აბრუნებენ სრულად ნულოვან მნიშვნელობას მოთხოვნილი სიგანით. ავტორი, ფორუმის მომხმარებელი Jessé, ამბობს, რომ ეს შემთხვევით აღმოაჩინა ასემბლერის კოდის წერისას.

ნული, რომელიც არ ჩნდება

იგივე პროგრამები Intel-ის მანქანაზე ნულებს მოთხოვნილი ზომით მართლაც გამოიმუშავებს. ავტორი ადასტურებს, რომ 32- ან 64-ბიტიანი მოთხოვნისას ქვედა ბიტები ნულოვანი შეიძლება იყოს, თუმცა მოთხოვნილი სიგანის „ნამდვილი ნული“ AMD-ზე „არასოდეს ხდება“. სწორედ ეს კითხვა დასვა სხვა მონაწილემ და პასუხი გამოსავლად იქცა.

სატესტო პროგრამა და გამოსავალი

Jessé-მ დაურთო პატარა Linux-ის დიაგრამული აპლიკაცია gtk4-bargraph.tar.gz (7.25 KB), რომელიც ითვლის RDRAND-ის (წითელი), RDSEED-ის (ლურჯი) და დროის ტაიმერის მრიცხველზე (TSC) დაფუძნებული ტექნიკის (მწვანე) ნულებს; დანარჩენი სვეტები 16-ბიტიანი სივრცის დანარჩენ 65 535 მნიშვნელობას ასახავს.

ავტორის სატესტო გრაფიკის შედეგები

დანართის აღწერაში ის ხსნის გამოსავალს: 32- ან 64-ბიტიან რეგისტრებში აგენერირება, ხოლო გრაფიკისთვის მხოლოდ 16-ბიტიანი მონაცემების აღება. მისივე შედეგების სქრინშოტი 11 000-ზე მეტჯერ იქნა ნანახი, არქივი კი დაახლოებით 134-ჯერ ჩამოტვირთული.

AMD-ის პასუხი და ბენჩმარკები

2026 წლის 15 მაისს მან დაწერა, რომ AMD-მ უპასუხა, თუმცა პასუხი მის შედეგებს არასწორად წაიკითხავდა და ჰგავდა იმას, რაც მან ჩატბოტისგან მიიღო პრობლემის ცნობადობის შემოწმებისას. მან მეორე წერილი და პრობლემის გამომწვევი კოდის ნაწყვეტიც გაგზავნა. ერთი კვირის შემდეგ მან აღნიშნა, რომ საქმე კომპანიის შიგნით ესკალირებულია; მანამდე ორ AMD მანქანაზე არც ერთი ნული არ გამოსულა.

აპლიკაციის განახლებამ ბენჩმარკიც დაამატა: 2012 წლის Core i5 წამში 12.6 მილიონ რიცხვს გამოიმუშავებდა, 2017 წლის Core i7 7700 — მხოლოდ 750 ათასს, AMD Ryzen 7 კი — დაახლოებით 2.6 მილიონს. AMD-ის გენერატორი სიხშირის ცვლილებაზე თითქმის არ რეაგირებდა, ძველი Intel-ის ჩიპი კი სრულად სიხშირეზე იყო დამოკიდებული — RNG-ის სქემები, მისი დასკვნით, ძალიან განსხვავდება.

რას ნიშნავს ეს აპარატურული შემთხვევითობისთვის

სხვა მონაწილეებმა თემა პროცესორის შემთხვევითი რიცხვების გენერატორების ნდობაზე მსჯელობას მოახმარეს. ერთმა გაიხსენა Intel-ის ადრეული დოკუმენტაცია RDRAND-ზე: ერთბიტიანი ხმაურის წყარო, სინქრონიზებული სემპლერი, დაბალანსების სქემა და მიმდევრობითი ცვლა ქმნიან შიდა 128-ბიტიან თესლს, რომელიც კონტრული რეჟიმის AES გენერატორს კვებავს, RDSEED კი ნედლ ბიტებს გასცემს. მისი აზრით, RDRAND იზოლირებულად არასოდეს უნდა გამოიყენებოდეს, არამედ სხვა ენტროპიასთან შერეულად, „უკანა კარის“ აღმოჩენა კი სილიციუმის რევერს-ინჟინერიის გარეშე უკიდურესად რთულია.

SSiTech

SiTech — AI-გაძლიერებული ვებ დეველოპმენტი

ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.