<bgdev />free

Вход Регистрация

Първият ми проект с вайб-кодинг. 3D CAD система.
0

0 1 2 3 4 ...15 16 17 18 19 ...31 32 33 34 35

#195328 (ツ) Rabin
Създадено на 12:20 , видяно: 168 пъти.
waldorf

Рабинка, почти всички тука са правили всичкото това, че и много повече. Самия факт, че си мислиш, че е кой знае какво е още едно доказателство колко неадекватна завалийка си. И неможач.

Изброй ги "тия всички", дето го били правили. Сайта на Лудия го видях, на С++ писал сайт, който е статичен на 99%. Голия свирец не знаа кво е програматор. Ребавия мерзавец едва ли е писал за микросървисна архитектура. Същото се отнася и за тебе.

Не се сещам и за един, дето е вдигал и WEB и ембед. Жонката, нали, форума де го писа виждаш на какво мяза. 5 човека сме тука и работи, подозирам, че след 500 юзера ще клекне, особено както си качва картинките на blob в SQL Lite.

Чак ми е съвестно като кача неко простотия на картинка, че товаря базата, дето е за всичко останало.

#195330 (ツ) Rabin
Създадено на 12:22 , видяно: 166 пъти.
|

Козоеба пак си изрецитира по колко "технологии" е неможач, но за register renaming нито дума. :)

Макя ти в устенцата кирливи, register renaming в ембед не съм срещал, и предполагам, че не ми и трябва.

#195331 (ツ) |
Създадено на 12:24 , видяно: 164 пъти.
waldorf

В съвременните процедори има на практика компилатор дето компилира до вътрешни по прости инструкции като прави редица оптимизации - out of order & speculative execution, register renaming и т.н. И това му поведение се контролира от микрокод който пък си е съвсем отделно и може да се променя по желание на кораба майка. Основите са сложени още в първите 8 битови процесори и след това е мазано отгоре 50-на години. И май отдавна сложността на един процедор надхвърля капацитета на нормалния човек да осмисли и да разбере.

Чак компилатор няма. Някои инструкции се кракват и стават поредица от микроопс, други се фюзват и стават един микрооп. Основите са сложени от Роб Томасуло за някой от IBM/360 или 370, не помня.

Никой не успя да каже точно какво е register renaming, но както казах, това не е много важно. Просто ми беше интересно. Ще се опитам да го обясня като имам достатъчно кофеин в кръвта, за който му е интересно.

#195332 (ツ) BIGBUGEX
Последно редактирано на 12:29 от BIGBUGEX, видяно: 160 пъти.

С удоволствие ши прочета чуек. Аз навремето с удоволствие четох и документации, ма много не е останало както виждаш.

#195333 (ツ) Rabin
Създадено на 12:31 , видяно: 155 пъти.
|

Никой не успя да каже точно какво е register renaming, но както казах, това не е много важно. Просто ми беше интересно. Ще се опитам да го обясня като имам достатъчно кофеин в кръвта, за който му е интересно.

Мен не ме интересува.

#195355 (ツ) |
Последно редактирано на 15:50 от |, видяно: 137 пъти.

Alright, register renaming...

Който внимава каква е производителността на съвременните процесори знае, че в повечето случаи те изпълняват 2-4-8 инструкции на цикъл. За да постигнат това при ограничения като стотици цикли достъп до паметта, и десетина цикъла достъп дори до най-близкия кеш, процесорите изпълняват буквално стотици инструкции едновременно. Да дам пример по-близък до програмирането: това което процесорните инженери са постигнали е да им дадеш еднонишкова програма на C++, и те да я направят автоматично да работи на 20 процесора.

Та, да оставим спекулативното изпълнение и да се концентрираме на най-простия начин да се направят нещата паралелни: register renaming. Имаме само код, който няма branches, basic blocks му казват обикновено. Значи единствения начин да се паралелизира кода е да се изпълняват независими инструкции едновременно. Ограничения брой регистри прави това трудно, защото ако две независими групи инструкции използват AX, втората трябва да чака първата да го освободи. Затова процесорите имат голям брой (стотици) физически регистри, и една от първите стъпки (rename) в изпълнението на инструкция е заменянето на архитектурните регистри с физическите. След rename stage, инструкциите имат стотици регистри, а не само 6-7.

А козоеба е ясно, че нищо няма да разбере, той за една проста "нова технология" за звъ̀нци му трябват месеци.

#195356 (ツ) Rabin
Създадено на 15:59 , видяно: 125 пъти.
|

А козоеба е ясно, че нищо няма да разбере, той за една проста "нова технология" за звъ̀нци му трябват месеци.

Тебе всичко ти е просто и ясно, вкл. ламбажийница, каквато може и да не си виждал на живо. И там си гуру. Макя ти деба проста!

Аз какво съм разбрал и какво не не ти е писано да знаеш.

#195357 (ツ) |
Създадено на 16:14 , видяно: 117 пъти.

Това което не е очевидно на пръв поглед е, че тези физически регистри не са само за general purpose регистрите, но и за неща като флаговете-резултат от сравнения. Процесорите имат десетки такива, всяка от инструкциите за сравнение знае кой да използва и изпълнението на инструкциите след нея зависят от съответния регистър.

#195358 (ツ) |
Създадено на 16:17 , видяно: 114 пъти.

Load-balancing беше интересен към 1999-2000 година, трябва да си пълен идиот да се хвалиш, че си правил load balancing след това.

#195360 (ツ) Rabin
Създадено на 17:06 , видяно: 97 пъти.
|

Load-balancing беше интересен към 1999-2000 година, трябва да си пълен идиот да се хвалиш, че си правил load balancing след това.

T.e. след 2000 г. няма load balancing, тъй ли, некадърник?

#195363 (ツ) |
Създадено на 18:34 , видяно: 70 пъти.

След началото на века методите вече бяха ясни и дори и рабиняците ср научиха да го правят.

#195365 (ツ) Rabin
Последно редактирано на 18:44 от Rabin, видяно: 67 пъти.
|

След началото на века методите вече бяха ясни и дори и рабиняците ср научиха да го правят.

Рабиняците се научиха ама ти не си. Само Евгени освен мен, е бутал такова.

#195370 (ツ) |
Създадено на 18:56 , видяно: 58 пъти.

Е щом ми е било интересно в началото на века, мисля че е очевидно че съм се научил преди козоеба да е чувал за load balancing :)

#195371 (ツ) Rabin
Последно редактирано на 18:58 от Rabin, видяно: 54 пъти.
|

Е щом ми е било интересно в началото на века, мисля че е очевидно че съм се научил преди козоеба да е чувал за load balancing :)

Ся ако се явиш на интервю за жаварин, и за стажант нема са класираш!

За другите съм рабиняк. За теб съм майкоеб.

#195374 (ツ) |
Последно редактирано на 19:19 от |, видяно: 46 пъти.

Да се явя на интервю за джаварин??? Да не ми е изпила чавка акъла? На Джава не бих писал и за 2 милиона годишно. :)

Ясно е, че на козоеба много му се иска да ебе майка си, но за негово нещастие, това няма как да се случи. :)

#195375 (ツ) |
Създадено на 19:19 , видяно: 43 пъти.

И така, сега след като знаете какво е register renaming, можете ли да предположите какво е memory renaming? :)

#195391 (ツ) waldorf
Създадено на 20:49 , видяно: 25 пъти.

Още едно име за peephole optimisation rofl

#195392 (ツ) Евлампи
Създадено на 20:54 , видяно: 24 пъти.
Последният акаунт на Единия

И дължи 50 евро, щото е путка...

Хахахаха, това влезе като четернайска дюбел за тежка мивка :)

#195393 (ツ) Rabin
Създадено на 21:01 , видяно: 21 пъти.
Евлампи

Хахахаха, това влезе като четернайска дюбел за тежка мивка :)

Да не преквалифицираш плочкаджия?

#195394 (ツ) Евлампи
Създадено на 21:18 , видяно: 14 пъти.
|

Значи единствения начин да се паралелизира кода е да се изпълняват независими инструкции едновременно. Ограничения брой регистри прави това трудно, защото ако две независими групи инструкции използват AX, втората трябва да чака първата да го освободи. Затова процесорите имат голям брой (стотици) физически регистри, и една от първите стъпки (rename) в изпълнението на инструкция е заменянето на архитектурните регистри с физическите. След rename stage, инструкциите имат стотици регистри, а не само 6-7.

Аз това го живях като бях казарма у Брезник (Пешо Коня е служил там!)

Половината поделение беха регистри (кенефи), шефа беше неква мутра майор дето криеше борци бегащи от закона но за тея неща беше усетен - двеста човека войска - двеста клетки, ся верно - сиромашки, но двеста, не като в 'луксозните' поделения - двеста човека - пет клетки, луксозни, ама пет :)

0 1 2 3 4 ...15 16 17 18 19 ...31 32 33 34 35

Първият ми проект с вайб-кодинг. 3D CAD система.
0

AsmBB v3.0 (check-in: 2fb30f0a060190b0); SQLite v3.53.0 (check-in: 4525003a53a7fc63);
©2016..2024 John Found; Licensed under EUPL. Powered by Assembly language Created with Fresh IDE