Последно редактирано на 19.09.2024 от waldorf, видяно: 279 пъти.
На мен ми е забавно, че размера на операндите намалява (сега се обсъждат 1.5 битови операнди) докато размера на указателите расте.
досега растяха заедно.
1.5 бита? Това си дивотия. Напомня ми на аритметичното кодиране. То ясно, че за ИИ моделите би свършило работа за да ги посмачкат малко и да може сметките да се джуркат по бързо ама си е извращение. По скоро ще се появи нова специализирана архитектура която по да пасва на ИИ сметките.
- 1, 0, и 1
Това не е 1.5 ... а по скоро '-1', '-0', '+0' и '+1'
Или се надявате да дойдат след като се пенсионирате? Чувам за 2035-та, колайдъра още няма да е готов…
Рано е още. 128 бита имат смисъл когато има нужда от памет над 2^64 ... т.е. трябва да има нужда от адресно пространство което да принуди да се увеличи големината на регистрите за да може да обработваш адреси. Вкарване на адрес в два регистъра е тегаво - сегментите на х86 примерно. А да се прави аритметика с числа които не се събират в един регистър не е такава драма - биг инт, дабъл, флоат и т.н.
Страницирането си заема 64 битово адресно пространство ако искаш растящи масиви без реалокация.
На мен ми е забавно, че размера на операндите намалява (сега се обсъждат 1.5 битови операнди) докато размера на указателите расте.
досега растяха заедно.
1.5 бита? Това си дивотия. Напомня ми на аритметичното кодиране. То ясно, че за ИИ моделите би свършило работа за да ги посмачкат малко и да може сметките да се джуркат по бързо ама си е извращение. По скоро ще се появи нова специализирана архитектура която по да пасва на ИИ сметките.
Или се надявате да дойдат след като се пенсионирате? Чувам за 2035-та, колайдъра още няма да е готов…
Рано е още. 128 бита имат смисъл когато има нужда от памет над 2^64 ... т.е. трябва да има нужда от адресно пространство което да принуди да се увеличи големината на регистрите за да може да обработваш адреси. Вкарване на адрес в два регистъра е тегаво - сегментите на х86 примерно. А да се прави аритметика с числа които не се събират в един регистър не е такава драма - биг инт, дабъл, флоат и т.н.
Страницирането си заема 64 битово адресно пространство ако искаш растящи масиви без реалокация.
Бая зор си е да напълниш 2^64 ... не забравяй, че дисковете трябва да са по големи от рам-а - иначе става още по шантаво.
Т.е. аз го виждам - първо да се появят дискове над 2^64
След това да се появи РАМ-ец на разумна цена над 2^64
И чак тогава процесорите ще повлекат крак.
Или се надявате да дойдат след като се пенсионирате? Чувам за 2035-та, колайдъра още няма да е готов…
Рано е още. 128 бита имат смисъл когато има нужда от памет над 2^64 ... т.е. трябва да има нужда от адресно пространство което да принуди да се увеличи големината на регистрите за да може да обработваш адреси. Вкарване на адрес в два регистъра е тегаво - сегментите на х86 примерно. А да се прави аритметика с числа които не се събират в един регистър не е такава драма - биг инт, дабъл, флоат и т.н.
Страницирането си заема 64 битово адресно пространство ако искаш растящи масиви без реалокация.
Бая зор си е да напълниш 2^64 ... не забравяй, че дисковете трябва да са по големи от рам-а - иначе става още по шантаво.
Т.е. аз го виждам - първо да се появят дискове над 2^64
След това да се появи РАМ-ец на разумна цена над 2^64
И чак тогава процесорите ще повлекат крак.
Отдавна има файлови системи по-големи от 2^64. паметта също ще започне да става shared. погледни например CXL.
Последно редактирано на 19.09.2024 от waldorf, видяно: 264 пъти.
На мен ми е забавно, че размера на операндите намалява (сега се обсъждат 1.5 битови операнди) докато размера на указателите расте.
досега растяха заедно.
1.5 бита? Това си дивотия. Напомня ми на аритметичното кодиране. То ясно, че за ИИ моделите би свършило работа за да ги посмачкат малко и да може сметките да се джуркат по бързо ама си е извращение. По скоро ще се появи нова специализирана архитектура която по да пасва на ИИ сметките.
- 1, 0, и 1
Това не е 1.5 ... а по скоро 1, 0, +0 и +1
1.5 бита е. Твоето е 2 бита.
Ми щото така правят във форматите за плаваща запетая - имаше '+0' и '-0' както и '+безкрайност' и '-безкрайност'
Но сега ме караш да се замисля ... има идея да се вкарат в 3 бита 2 променливи:
П1 П2 Д
-1 -1 0
-1 0 1
-1 1 2
0 -1 3
0 0 4
0 1 5
1 -1 6
1 0 7
1 1 8 - тук за малко не стигнаха 3 бита ама идеята мисля, че е ясна
Т.е. за 3 променливи ще ни трябват 3^3 значения или 27 което влиза в 5 бита .... пак не е оптимална компресия ама е по добре от 6 бита което би било за 3 пъти по 2 бита
Хубаво е да не се бърка шина за данни с адресна шина. Широчината на шината за данни е по голяма от вътрешната архитектура за да се ускори чрез паралелезиране достъпа до паметта заради по бързата скорост вътре в процесора отколкото скороста за зареждане на данни. Това не прави процесора 256 битов. Скаларните регистри също са друга бира и също са праралелезиране на операции заради бавния достъп до данни.
Но сега с ИИ моделите се променя фундаментално начина на писане на работа на процесорите и това няма начин да не се отрази и на архитектурата им т.е. това понятие N битов може да остане за класическите процесори които се програмират на асемблер или с компилатори докато за евентуалните ИИ процесори сигурно ще имаме нова терминология. Да видим де.
Точно почнах да гледам тази лекция - в началото човеко говори точно за промените в архитектурите на процесорите последните 10-на години за да обоснове оптимизациите които компилатора трябва да прави за да вдигне производителността.
Хубав пример е как 12 адрен процесор е по бавен от 8 ядрен защото всъщност е на 2 х 6 ядра на два отделни чипа които са бонднати един за друг т.е. пробутват ти за 12 ядрен процесор два 6 ядрени.