169 похожих чатов

Float foo(float a, float b, float c, float d) {

return (a * b + c * d) / (a * c + b * d);
}

Так ли то, что подобный код на стековой машине считаться будет существенно медленнее чем на регистровой?

17 ответов

63 просмотра

1) если берем просто регистровый процессор, то цена не так высока, иначе фортом 50 лет назад никто не пользовался бы. Если стековый процессор, то и цена, естественно, нулевая. 2) и да и нет. Стековой архитектуре уже много лет, не взлетает по многим причинам. Я бы ставил на то, что основная проблема в том, что средний потребитель не знает разницы между арм и х86, про более экзотические архитектуры он вообще не слышал

Если регистров достаточно (т.е. память или стек для вычисления не нужны), и ABI таков что входные параметры уже лежат в регистрах, и выходное значение сохраняется в другой регистр, то, при условно равных прочих условиях (скажем, равном потреблении энергии), да — этот код будет (наверное) быстрей вычисляться на регистровой машине. Но, наверняка найдется другой код, который будет быстрей вычисляться на стековой машине при тех же условиях.

Defragmented-Panda Автор вопроса
Nauz Rem
1) если берем просто регистровый процессор, то цен...

1 понял, спасибо 2 что насчет спец железа где пользователь его не программирует? Всякие там девайсы которые сами работают. От ключей до умных колонок

Defragmented-Panda Автор вопроса
ruv
Если регистров достаточно (т.е. память или стек дл...

Ну, да Но имеется ввиду когда данных существенно больше чем регистров. Я так понимаю это обычная ситуация. Регистровая машина оптимизирует движение данных чтобы пореже обновлять регистры. Стековая машина эмулируемая на стековом железе будет чаще попадать в ситуацию когда в регистрах нет нужного значения

Nauz Rem
1) если берем просто регистровый процессор, то цен...

Изучая исторические ЭВМ я заметил, что многие из древнейших были с минимально возможным набором комманд и числом регистров. И многие конечно были стековой архитектуры - для экономии. Но с приходом интеграции и миниатюризации пришлось в процессор поместить некоторое количество быстрых регистров так как память на микросхемах была очень дорогая. А те технологии не позволяли поместить в кристалл процессора большой кэш. Когда же это стало возможно, уже все привыкли к регистрам. Имхо переход к регистровым архитектурам вызван именно таким путем развития технологий и маркетингом. Просто в стековые процесссоры не выгодно инвестировать

Andrey Smirnov
Изучая исторические ЭВМ я заметил, что многие из д...

Кажется, сложно теперь оценить перспективность стековых архитектур, когда в регистровые влито на миллиарды больше денег на изучение и оптимизацию

Andrey Smirnov
Изучая исторические ЭВМ я заметил, что многие из д...

Не выгодно, потому что регистровые уже более развиты и разработчики привыкли. Переход на новую архитектуру - потеря кучи бабла, х86 потому на столько популярен, что тянет легаси с 80х(?) годов

Andrey Smirnov
Изучая исторические ЭВМ я заметил, что многие из д...

скорее первые процессоры были гибридными регистрово стековыми. И стек это способ организации регистров. в х86 8 регистров и один стек? Если мы возьмем двухстековый процессор с глубиной стека в 16 регистров, то это уже в сумме 32 регистра, как в mips . На стековые процессоры легко было перейти, но проблема в том, что сами разработчики не готовили их как процессоры общего назначения. В большинство процессоров не встраивали mmu, и вообще они были процессорами общего назначения.

Igor 🐱 Jirkov
Кажется, сложно теперь оценить перспективность сте...

Я это и написал. И уже в этом чате многократно писали. Вложено слишком много денег, что бы поворачивать производство на другой путь 😢 По тому продолжаем теоретизировать. "Есть ли жизнь на стековых процессорах!?" 😂

Andrey Smirnov
Я это и написал. И уже в этом чате многократно пис...

я бы не сказал, что вложено слишком много денег. деньги которые уже вложены и отбились, уже не должны считаться. И в те времена были новички. Зачем теоретизировать? На тех что у же есть, жизни нет. На тех которые можно построить жизнь может быть. Но здесь ни у кого нет такой квалификации что бы построить современный стековый процессор используя современные схемотехнические решения.

Andrey Smirnov
Изучая исторические ЭВМ я заметил, что многие из д...

а стековые транспьютеры кто-то пытался делать? какой-нибудь Burrought B5700 а то кто-то вещал что стековые машины схемотехнически проще, соответственно можно больше ядер на кристалл нафигачить

B5000 ! Описание на википедии скудное

http://bitsavers.org/pdf/burroughs/B5000_5500_5700/

Andrey Smirnov
B5000 ! Описание на википедии скудное

Там пишут, что для B5000, B5500, B5700 одна и та же система команд.

И до кучи, разработка стекового суперскалярного процессора (от того же автора zzeng): https://habr.com/ru/post/278575/ (2016)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта