Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Технический флейм » Окончание производства 286-х |
<<Назад Вперед>> | Страницы: 1 2 3 * 4 5 | Печать |
borisfox
Advanced Member
Откуда: Хабаровск Всего сообщений: 946 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 июля 2008 |
madmaks написал: В 16-разрядности виртуальных адресов, в неудобстве программирования с сегментной адресацией, в отсутствии страничной организации памяти... borisfox написал:В чем же его ущербность? кому был нужен ущербный защищённый режим 286 во встроенных системах Наши тоже вроде пытались сделать клон под закат эпохи, но рабочие БИС со столь высокой степенью интеграции на отечественных техпроцессах получались только чудом, да и никому оно особо уже было не нужно - железный занавес кончился, пошёл импорт... Помимо интел такие процессоры, программно совместимые с 286, выпускали все, кому не лень - амд, нек, и т.д. На счет наших заводов - не знаю. 1847ВМ286, что-ли, называлось. Живьём я не видел. |
0leg
Advanced Member
Откуда: Город-герой Тула Всего сообщений: 1991 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 6 окт. 2007 |
borisfox, > В любом случае, если в каких-то версиях 286 и можно было вернуться через LOADALL Ну почему же "в каких-то"? Вообще ни в каких. Об этой команде можно почитать, напр., у Фроловых в 6 томе Библиотеки Системного Программиста. Там явно сказано: "... эту команду [loadall286] нельзя использовать для переключения процессора из защищённого в реальный режим.". madmax, >> кому был нужен ущербный защищённый режим 286 во встроенных системах > В чем же его ущербность? Странный вопрос... Понятия "страничная виртуальная память", "режим VM86" тебе о чём-нибудь говорят? |
madmaks
Full Member
Откуда: Россия, Ярославская обл., г. Углич Всего сообщений: 204 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 23 сен. 2008 |
borisfox написал: Да, но там на странице сразу еще есть ссылка В ссылке речь про LOADALL в 386 процессорах...Read LOADALL magazine article and download LOADALL demo source code. . Можно поискать в сети "LOADALL 286" и т.п., чтобы выяснить вопрос о сбросе при перезагрузке регистра MSW при LOADALL, если это важно - не сбрасываться. borisfox написал: Да, недокументированная возможность это плохо, но применительно к LOADALL это скорее диагностическая возможность процессора, поскольку все процессоры при производстве нуждаются в диагностике, то можно рассчитывать на процессор, который ее имеет. Для больших партий процессоров можно просто заказать у производителя переход по флагу в MSW, когда сброс выполнят небольшие внутренние схемы процессора. LOADALL - это ведь недокументированная возможность borisfox написал: Сбрасываться, вероятно, тяжело только в архитектуре IBM PC, в иных архитектурах, нежели IBM PC, переход в реальный режим может быть не очень нужен, так как используется только при инициализации самого BIOS после reset, для инициализации таблиц защищенного режима в ОЗУ (для надежности многозадачной системы функции BIOS тоже должны работать в защищенном режиме). Но такой способ больше напоминает хак, чем нормальный путь |
madmaks
Full Member
Откуда: Россия, Ярославская обл., г. Углич Всего сообщений: 204 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 23 сен. 2008 |
borisfox написал: Да ведь это 16 разрядный процессор! И что, он сильно хуже 186-го в этом плане? В 16-разрядности виртуальных адресов |
madmaks
Full Member
Откуда: Россия, Ярославская обл., г. Углич Всего сообщений: 204 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 23 сен. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 13 октября 2008 7:56 Сообщение отредактировано: 13 октября 2008 8:44
0leg написал: Ничего странного, вы сами то писали программы под 286 защищенный режим, в чем лично вы нашли проблему с виртуальной памятью 286-го? Странный вопрос... Понятия "страничная виртуальная память" (ред)Кстати, 0leg написал: Тогда как вы это объясните: у Фроловых в 6 томе Библиотеки Системного Программиста. Там явно сказано: "... эту команду [loadall286] нельзя использовать для переключения процессора из защищённого в реальный режим "Read LOADALL magazine article and download LOADALL demo source code" написал: Что же будет, если в защищенном режиме флаг MSW будет сигналить о реальном режиме? LOADALL loads all of the CPU registers (including MSW, GDTR, CSBASE, ESACCESS) from a memory image. You can execute LOADALL in real or protected mode. |
borisfox
Advanced Member
Откуда: Хабаровск Всего сообщений: 946 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 июля 2008 |
madmaks написал: Не хуже. borisfox написал:Да ведь это 16 разрядный процессор! И что, он сильно хуже 186-го в этом плане? В 16-разрядности виртуальных адресов Но если говорить о встроенных системах, то во времена 286 столько ресурсов (и поддержка многозадачности с механизмами защиты памяти) в них требовались редко, а когда начали требоваться - уже стал доступен 386. 186 вполне хватало, тем более, что в нём, по сравнению с 286, не было лишнего (для данных систем), а не-лишнее в виде элементов ввода-вывода было. В защищённом режиме с 16-разрядными указательными регистрами возни с программированием значительно больше, чем в реальном - приходилось организовывать множество относительно мелких дескрипторов... Что же касается коммерческих ПК, то парк софта, полноценно использующий защищённый режим, просто не успел развиться, как уже сменилось поколение процессоров. Опять же, отсутствие в многозадачных ОС обратной совместимости с большим спектром наработанного ПО для MS-DOS усугубляло ситуацию... |
borisfox
Advanced Member
Откуда: Хабаровск Всего сообщений: 946 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 июля 2008 |
madmaks написал: В невозможности организовать виртуальную память вне физического ОЗУ методом paging. Без страничной организации памяти доступен только swapping. 0leg написал:Ничего странного, вы сами то писали программы под 286 защищенный режим, в чем лично вы нашли проблему с виртуальной памятью 286-го? Странный вопрос... Понятия "страничная виртуальная память" Отличия вкратце описаны у Фроловых: http://www.emanual.ru/download/8259.html Своппинг использовать, конечно, тоже можно, но некомфортно. Скорее всего, бит режима будет игнорирован. Эксперимент лично я сам не ставил, но (ред)Кстати,тут утверждается, что возврат в реальный режим с помощью LOADALL невозможен. См. RESTRICTIONS в конце странички. |
0leg
Advanced Member
Откуда: Город-герой Тула Всего сообщений: 1991 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 6 окт. 2007 |
madmax, > в чем лично вы нашли проблему с виртуальной памятью 286-го? Собственно, borisfox уже ответил... > Что же будет, если в защищенном режиме флаг MSW будет сигналить о реальном режиме? А самому проверить это что, трудно? |
madmaks
Full Member
Откуда: Россия, Ярославская обл., г. Углич Всего сообщений: 204 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 23 сен. 2008 |
borisfox написал: Нет-нет, это неправда. Если у вас в устройстве несколько независимых портов, которые надо уметь одновременно обрабатывать, то даже только аппаратные средства процессора по восстановлению/сохранению контекста обработчика наждого порта делают вашу жизнь лучше и веселее, а уж все остальное тем более. В защищённом режиме с 16-разрядными указательными регистрами возни с программированием значительно больше Но никто никогда не мог предсказать с 286 процессором когда и как он выполнит нужную вам команду, откликнется на событие и т.д., т.е. ему нужны аппаратные обвесы (таймеры, буфера и т.д., даже иногда вспомогательные контроллеры), хотябы только чтобы соблюсти временные параметры для аппаратуры - поддержать обработку в реальном времени. 0leg написал: Просто интересно, а зачем вам понадобилась именно страничная память? Чем-то наверно не устроили остальные варианты? Собственно, borisfox уже ответил... borisfox написал: Да, это возможно. Скорее всего, бит режима будет игнорирован. |
borisfox
Advanced Member
Откуда: Хабаровск Всего сообщений: 946 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 июля 2008 |
madmaks написал: Для этого совершенно не требуются механизмы защиты памяти (и не всегда нужно переключение задач), т.к. во встроенных системах ОС, как правильно, всегда однопользовательская, с одной большой, если нужно - многопоточной, задачей, реализующей функции устройства. Обработка событий производится в основном в контексте прерываний. borisfox написал:Нет-нет, это неправда. Если у вас в устройстве несколько независимых портов, которые надо уметь одновременно обрабатывать, то даже только аппаратные средства процессора по восстановлению/сохранению контекста обработчика наждого порта делают вашу жизнь лучше и веселее, а уж все остальное тем более. В защищённом режиме с 16-разрядными указательными регистрами возни с программированием значительно больше Сама с собой встроенная ОС и различные задачи/потоки, исполняющиеся внутри неё, конфликтовать не должны, это задача разработчика - отладить встроенное ПО. Пользователь ничего к нему добавить/убавить не может, и тем самым стабильность правильно спроектированной системы не нарушит. Более того, во многих современных ОС (например, в unix семейства BSD) не используются средства переключения задач, специально для этого разработанные в IA32 (TSS). Контекст сохраняется и восстанавливается обычным сохранением необходимых регистров. Году в 96 я переписывался с одним из разработчиков BSD/OS (Paul Borman) как раз по этому поводу - как же так, такой замечательный механизм, и не используется - и ответ был обескураживающим: "We are curious why you believe that using a separate TSS per process or thread would make context switching faster. On first glance we would think it would actually make it quite a bit slower." В линухе, насколько помню, аналогичный подход. В солярисе не смотрел, незачем было. Как в windows - не знаю. :-) Всмысле?... Как задано, так и выполнит... Откликнется в соответствии со спецификацией... Какая тут может быть неопределённость? Но никто никогда не мог предсказать с 286 процессором когда и как он выполнит нужную вам команду, откликнется на событие и т.д., Так ведь ни один процессор в вакууме не работает, любому нужны схемы тактирования и сопряжения с внешними устройствами - другое дело, что у некоторых они уже встроенные на кристалле, некоторым нужны внешние... т.е. ему нужны аппаратные обвесы (таймеры, буфера и т.д., даже иногда вспомогательные контроллеры), хотябы только чтобы соблюсти временные параметры для аппаратуры - поддержать обработку в реальном времени. Со страничной организацией виртуальная память реализуется более эффективно, чем без неё. 0leg написал:Просто интересно, а зачем вам понадобилась именно страничная память? Чем-то наверно не устроили остальные варианты? Собственно, borisfox уже ответил... Никто не говорит, что нельзя работать без страничной памяти. Можно (особенно если вообще отказаться от подкачки). Но с ней проще и удобнее. То, что её нет в 286 - один из его недостатков. Особенно при уровне быстродействия оперативной памяти тех времён. В PDP-11, к слову, страничная адресация была (в моделях с MMU)... По-моему спор зашёл в глубокий офтопик. :-) |
<<Назад Вперед>> | Страницы: 1 2 3 * 4 5 | Печать |
Полигон-2 » Технический флейм » Окончание производства 286-х |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |