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

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

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

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

17 ответов

58 просмотров

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)

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

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

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта