Здравствуйте, ДимДимыч, Вы писали:
I>>Разговор был вполне конкртный — mix, а сейчас ты решил ">Микс — это не то, на что стоит обращать внимание у Кнута"
ДД>Разговор был вполне конкретный — Кнут. Ты утверждал, что "Кнут нужен тем кто реального железа не видит и работать с ним не будет", потому что его примеры разбираются на вымышленной архитектуре, которая отстала от современных процессоров. Я пытаюсь тебе донести, что архитектура — это не то, о чем хотел сказать Кнут.
Вот расскажи чего он хотел сказать то своим Миксом.
I>>Расскажи, пожалуйста, что же ты там увидел , имеется ввиду MIX.
ДД>Я там увидел описание множества алгоритмов. Так же увидел примеры реализации их на MIX.
Какие например алгоритмы ? В контексте MIX. Для алгоритмов, анализа оных и построения, структур данных и тд. у меня друая литература, например Томас Кормен.
Посему интересует только MIX, что в этом разеделе алгоритмы ?
I>>У меня например первые три года ежедневное использование x86. потом еще года два периодически, где то раз в неделю, на разных процессорах. ДД>Молодец, возьми с полки пирожок.
Вот видишь, всё просто
I>>Обратно — разговор про MIX. C него пошла эта беседа (про Кнута и тд).
ДД>Разговор пошел с целесообразности изучения ассемблера в вузах, если ты забыл. Потом кто-то упомянул MIX. Ты выдал, что "Низкоуровневые алгоритмы в каждой архтектуре процессора и тд свои, представь себе, на то они и низкоуровневые".
Это если выдрать слова из контекста, то да. Ловко ты с контекстом обращаешься. Синклер точно так же.
I>>Принципиальная невозможность была про микроконтроллеры, ты это забыл ? ДД>Не забыл, помню, что ты это утверждал. Мою просьбу объяснить, в чем же заключается эта принципиальная невозможность, ты бездарно слил.
Я думал что это очевидно
В микроконтролерах память программ в большинстве случаев или редонли, или перепрограммируется внешним устройством или специальным устройством в микроконтроллере, что вобщем то означает тоже самое — редонли, ибо случай настольо редкий, что вероятность использования на грани стат. погрешности.
Доступ к такой памяти делается по специальной шине которая недоступна для обычных операций в целях быстродействия например.
Всего то гарвардская архитектура.
Я бы сказал это наиболе общий случай.
Самые дешовые чипы коих вагоны так и вовсе редонли.
При этом ограничения могут быть и в неймановской, когда ПЗУ включается в адресное пространство а не копируется в ОЗУ.
I>>Разумеется, я вижу ты в совершенстве освоил искусство скипанья неудобных аргументов и подмены контекста. ДД>Приведи пример.
Честно говоря утомляет, когда с вопроса "Чем "его абстрактное железо" при программировании принципиально отличается от "реального железа"?"
переходят на "Разговор был вполне конкретный — Кнут."
Эдак с Кнута можно перейти на математику, с математики на науку, с науки на бытие.
Если у тебя есть что сказать кроме "за деталями не видишь сути", "читай кнута" и всякие общие фразы, можешь не стараться, делай как Синклер — не пиши сюда. Я переживу
Я, кстати, не понял, что за низкоуровневые алгоритмы ты имеешь ввиду (и Синклер например) в свете последних его и твоих сообщений.
Сортировку я не считаю низкоуровневым.
А вот умножение — это низкоуровневый. И деление.
Разумеется алгоритм это не загрузка регистров и вызов комманды умножения. Я думал это ясно сразу и объяснять не нужно.
Строковые операции — обратно низкоуровневые алгоритмы.
Разумеется, теоретически можно сделать любой алгоритм почти на любом процессоре.
Здравствуйте, Ikemefula, Вы писали:
I>Специально для читателей Кнута
I>
I>Несмотря на то, что модель MIX содержит минимальное количество технических деталей, за четыре десятилетия она все-таки устарела.
I>Собственно, уже два десятиления назад она безбожно устарела.
I>MMIX — и тот безбожно устарел.
Сегодня ночью, когда делать было абсолютно нечего, достал с полки книгу "Микропроцессорный комплект К1810".
Этот комплекст есть аналог такого же но для процессора 8086 в буржуйском варианте.
Только открыл и сразу понял, что же мне больше всего напоминает этот MIX.
MIX — Это специализированый процессор ввода-вывода вроде 8089 только древнее
Кнут хотел сделать модель абстрактного железа безо всяких особенностей, а вышло ровно наоборот — получился конкретный с вагоном особенностей.
Первая особенность — отсутствие стека. Это означает, что процессор не поддерживает работу с контроллером прервываний.
Т.е. не поддерживает ввод вывод фактически. Кнут сидел и выдумывал различные устройсва, комманды работы с портами и не учел одного — его процессор не пригоден для самого общего случая — работы с контроллером прерываний.
Такая особенность у процессоров ввода-вывода, программы выполняются без прерываний.
Вторая особенность — переходы. Это затрудняет работу процессора в железе появившемся где то с конца 70х.
Процессор ввода-вывода 8089 наприммер имеет такую комманду — lcall addr,addr — вызов подпрограммы по адресу и адрес, куда сохраняется значение регистра TP(счетчик комманд).
Возврат делается так — MOVP TP, addr.
В этом случае можно было бы вручную сделать хотя бы стек подпрограмм.
все остальные особенности, перечисленные в этом топике, разумеется остаются актульными.
Думаю, сейчас Кнут добавил бы в свою архитектуру и аппаратную поддержку стека, контроллер прерываний и возможно даже нечт вроде кеша и предсказателя ветвлений.
Даже больше — возможно что и вовсе не стал бы париться с Миксом а взял бы готовый ассемблер.
Вобщем вердикт окончательный — студентам железячных специальностей МИКС не дает абсолютно ничего по сравнению с 8086. АБСОЛЮТНО.
Вобщем то другим примерно столько же.
Здравствуйте, Ikemefula, Вы писали:
I>Вот расскажи чего он хотел сказать то своим Миксом.
Ну ты прицепился до этого Микса, как пьяный до радио.
I>Какие например алгоритмы ? В контексте MIX.
В контексе Микс — никаких. Замени Микс хоть на 8086, хоть на AVR — суть книги не изменится.
I>В микроконтролерах память программ в большинстве случаев или редонли, или перепрограммируется внешним устройством или специальным устройством в микроконтроллере, что вобщем то означает тоже самое — редонли, ибо случай настольо редкий, что вероятность использования на грани стат. погрешности.
Об аппаратной невозможности записи в память программ (гарвардская архитектура — частный случай) я писал парой постов выше. Так что теперь видно, кто у нас не умеет читать.
I>http://www.rsdn.ru/forum/message/3221345.1.aspx
I>Читай отсюда вниз по ветке. I>Честно говоря утомляет, когда с вопроса "Чем "его абстрактное железо" при программировании принципиально отличается от "реального железа"?" I>переходят на "Разговор был вполне конкретный — Кнут."
Переход обусловлен тем, что ты, не читав книгу, пытаешься тут доказать, что MIX — устаревшая архитектура, поэтому и книга не заслуживает внимания. Так никто ж не спорит, что она устаревшая, но суть книги от этого не меняется. Это не есть еще одна спецификация еще одной архитектуры.
I>Эдак с Кнута можно перейти на математику, с математики на науку, с науки на бытие.
Кнут — это и есть "математика" программирования, а не спецификация архитектуры MIX.
I>Если у тебя есть что сказать кроме "за деталями не видишь сути", "читай кнута" и всякие общие фразы, можешь не стараться, делай как Синклер — не пиши сюда. Я переживу
А мне было забавно
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Здравствуйте, ДимДимыч, Вы писали:
ДД>В контексе Микс — никаких.
Значит ни ты ни Синклер читать не умеете.
Вы оба зацеплись за слова "низкоуровневые алгоритмы на каждом процессоре" свои и трактовали это как вам угодно, хотя было как косвенное так и явное разъяснение моей позиции.
Вобщем, как водится, горе от уму.
Между тем swined понял всё правильно, стоит у него поучиться
ДД>Об аппаратной невозможности записи в память программ (гарвардская архитектура — частный случай) я писал парой постов выше. Так что теперь видно, кто у нас не умеет читать.
Гарвардская это наиболее общий случай для микроконтролеров + ПЗУ в адресном пространстве в неймановской архитектуре, все вместе это примерно 90-95% всех микроконтроллеров.
+ возможность аппаратной защиты от модификаци кода в универсальных процессорах неймановской архитектуры
+ снижение перформанса на порядок-другой
все это означает, что самомодифицирующийся код это экзотика и никак не общий подход.
Как ни крути, а код не модифицирующий сам себя, по любому будет общим подходом.
+ отсутствие стека есть случай резкоэкзотический, я уже написал — хилый специализированый процессор ввода-вывода образца тыща осьмсот двунадесятого года
ДД>Переход обусловлен тем, что ты, не читав книгу, пытаешься тут доказать, что MIX — устаревшая архитектура, поэтому и книга не заслуживает внимания. Так никто ж не спорит, что она устаревшая, но суть книги от этого не меняется. Это не есть еще одна спецификация еще одной архитектуры.
Я про всю книгу я ничего не говорю, только про МИКС.
Заместо "Искусство программирования" Кнута я читаю например Томаса Кормена "Алгоритмы, построение и анализ".
Здравствуйте, Sinclair, Вы писали:
S>А я-то удивляюсь, с чего это тут народ считает, что в технический ВУЗ нужны два года репетиторов и/или взятки и связи. S>Ребята, в технический ВУЗ я бы поступил после девятого класса, с похмелья, и если бы мне дали уполовиненное время на экзамен. Это же детский лепет просто.
Мда, как много поменялось...
Я поступал в 00, при этом из физ-мат школы, никто и никак не мог предположить уровень проверки экзаменов да и было так повсемостно в те годы (возможно за исключением московских вузов и до появления ЕГЭ) балы тупо снижались за оформление!
Вот. И дополнительные занятие с профессорами требовались исключительно для того, чтобы правильно подойти к решение и формлению задачи.
Вы не представляете на солько это было важно. Доходило до абсурда — на каждом углу говорили, что они проверяют реальные знания, что если в черновике у вас все решено правильно и вы просто ошиблись при переписывании в чистовик, то на аппеляции мы вам все исправим, бла-бла-бла...
В итоге просмотра черновика было установлено, что решил-то я правильно, и просто ошибся при переписывании, но балы полностью не добавили, де "Ну ты же все таки ошибся...", и потом извиняющимся тоном: "Нам нельзя полностью балы за такое поднимать", типо будут ругаться! Финиш.