Это обусловлено последовательным процессом обработки схемы в ОЛ от выхода ко входу и сверху в низ ,да еще наличием обратных связей,а так же ограничением процессора .Об этом уже много писалось ...
Не доработка была ,когда глубина стека была 6 ,а теперь он динамический .И ограничения наступают больше по физическим возможностям данной модели ПР.
электронщик до мозга костей и не только
^^^ это из серии "не читал, но осуждаю".
На картинки посмотрите: там 2 практически одинаковые программы, а использование стека почти в 8 раз различается.
Обратных связей нет, о каких ограничениях процессора речь -- тоже непонятно.
А почему именно сверху вниз, а не тем способом, который экономит ресурсы?
что за способ, если не трудно, то вкратце расскажите
ЗЫ а может Вы и есть wal79, только уже не работающий в компании, но знающий "секреты"![]()
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Компиляция схемы в машинный код может выглядеть так:
В результате требуется стек глубины 5Код:push I1 push I2 push I3 push I4 push I5 add add add add
А может так:
Результат тот же, но глубина требуемого стека -- 2.Код:push I1 push I2 add push I3 add push I4 add push I5 add
При компиляции, ОЛ может рассмотреть несколько вариантов, и выбрать оптимальный по результирующей глубине стека, используемым регистрам и т.п.
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Это вы не читали про стек для ПР110 ,а ту да же ....Лично я его первым сломал ,к слову .Идет последовательная обработка связей в ОЛ и промежуточные значения сохраняются в стеке .и как не крути с последовательностью (с низу в вверх ,сверху в низ) ,в реальной схеме может не хватить глубины стека ,если есть аппаратные ограничения .Потому и придумали разработчики более совершенный алгоритм -динамический стек и повысили его глубину до 15 ,при тех же ресурсах .
Простая замена неявных связей явными позволит снизить уровень стека в 4 раза во первом варианте .
Обработка элемента в ОЛ идет от выхода ко входу ,поэтому это всегда обратная связь ,учите мат часть.
нЕ поленитесь и сравните на каких МК сделан ПР110 и Пр114 (200) для общего развития .
Последний раз редактировалось rovki; 18.04.2016 в 09:04.
электронщик до мозга костей и не только
Тут вы ошибаетесь.
Компилятор вполне может поменять связи местами, особенно, если это не влияет на результат.
Правило a+(b+c)=(a+b)+c в школе проходят. Для целых чисел оно соблюдается.
Поэтому ОЛ запросто могло бы преобразовать a+(b+(c+(d))) к виду ((a+b)+c)+d.
Посмотрите же на картинки хоть раз.
Там все связи явные. То, что замена схемы на такую же сокращает размер стека говорит лишь о том, что в этой области ОЛ недоработано.
Это вы учите мат часть. Не надо называть обратной связью то, что ей не является