Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Технический флейм »   Окончание производства 286-х
RSS

Окончание производства 286-х

<<Назад  Вперед>> Страницы: 1 2 3 * 4 5
Печать
 
0leg
Advanced Member


Откуда: Город-герой Тула
Всего сообщений: 1991
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 окт. 2007
borisfox,
> В любом случае, если в каких-то версиях 286 и можно было вернуться через LOADALL
Ну почему же "в каких-то"? Вообще ни в каких. Об этой команде можно почитать, напр., у Фроловых в 6 томе Библиотеки Системного Программиста. Там явно сказано: "... эту команду [loadall286] нельзя использовать для переключения процессора из защищённого в реальный режим.".

madmax,
>> кому был нужен ущербный защищённый режим 286 во встроенных системах
> В чем же его ущербность?
Странный вопрос... Понятия "страничная виртуальная память", "режим VM86" тебе о чём-нибудь говорят?
madmaks
Full Member


Откуда: Россия, Ярославская обл., г. Углич
Всего сообщений: 204
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
23 сен. 2008
borisfox написал:
[q]
В ссылке речь про LOADALL в 386 процессорах...
[/q]
Да, но там на странице сразу еще есть ссылка Read LOADALL magazine article and download LOADALL demo source code. . Можно поискать в сети "LOADALL 286" и т.п., чтобы выяснить вопрос о сбросе при перезагрузке регистра MSW при LOADALL, если это важно - не сбрасываться.


borisfox написал:
[q]
LOADALL - это ведь недокументированная возможность
[/q]
Да, недокументированная возможность это плохо, но применительно к LOADALL это скорее диагностическая возможность процессора, поскольку все процессоры при производстве нуждаются в диагностике, то можно рассчитывать на процессор, который ее имеет. Для больших партий процессоров можно просто заказать у производителя переход по флагу в MSW, когда сброс выполнят небольшие внутренние схемы процессора.


borisfox написал:
[q]
Но такой способ больше напоминает хак, чем нормальный путь
[/q]
Сбрасываться, вероятно, тяжело только в архитектуре IBM PC, в иных архитектурах, нежели IBM PC, переход в реальный режим может быть не очень нужен, так как используется только при инициализации самого BIOS после reset, для инициализации таблиц защищенного режима в ОЗУ (для надежности многозадачной системы функции BIOS тоже должны работать в защищенном режиме).
madmaks
Full Member


Откуда: Россия, Ярославская обл., г. Углич
Всего сообщений: 204
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
23 сен. 2008
borisfox написал:
[q]
В 16-разрядности виртуальных адресов
[/q]
Да ведь это 16 разрядный процессор! И что, он сильно хуже 186-го в этом плане?
madmaks
Full Member


Откуда: Россия, Ярославская обл., г. Углич
Всего сообщений: 204
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
23 сен. 2008
0leg написал:
[q]
Странный вопрос... Понятия "страничная виртуальная память"
[/q]
Ничего странного, вы сами то писали программы под 286 защищенный режим, в чем лично вы нашли проблему с виртуальной памятью 286-го?

(ред)Кстати,

0leg написал:
[q]
у Фроловых в 6 томе Библиотеки Системного Программиста. Там явно сказано: "... эту команду [loadall286] нельзя использовать для переключения процессора из защищённого в реальный режим
[/q]
Тогда как вы это объясните:

"Read LOADALL magazine article and download LOADALL demo source code" написал:
[q]
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.
...
Table 1 — 80286 LOADALL Table
...
[804] MSW DW ?
...
[/q]
Что же будет, если в защищенном режиме флаг MSW будет сигналить о реальном режиме?
borisfox
Advanced Member


Откуда: Хабаровск
Всего сообщений: 946
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 июля 2008
madmaks написал:
[q]
borisfox написал:
[q]
В 16-разрядности виртуальных адресов
[/q]
Да ведь это 16 разрядный процессор! И что, он сильно хуже 186-го в этом плане?
[/q]
Не хуже.
Но если говорить о встроенных системах, то во времена 286 столько ресурсов (и поддержка многозадачности с механизмами защиты памяти) в них требовались редко, а когда начали требоваться - уже стал доступен 386.
186 вполне хватало, тем более, что в нём, по сравнению с 286, не было лишнего (для данных систем), а не-лишнее в виде элементов ввода-вывода было.

В защищённом режиме с 16-разрядными указательными регистрами возни с программированием значительно больше, чем в реальном - приходилось организовывать множество относительно мелких дескрипторов...

Что же касается коммерческих ПК, то парк софта, полноценно использующий защищённый режим, просто не успел развиться, как уже сменилось поколение процессоров.
Опять же, отсутствие в многозадачных ОС обратной совместимости с большим спектром наработанного ПО для MS-DOS усугубляло ситуацию...
borisfox
Advanced Member


Откуда: Хабаровск
Всего сообщений: 946
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 июля 2008
madmaks написал:
[q]
0leg написал:
[q]
Странный вопрос... Понятия "страничная виртуальная память"
[/q]
Ничего странного, вы сами то писали программы под 286 защищенный режим, в чем лично вы нашли проблему с виртуальной памятью 286-го?
[/q]
В невозможности организовать виртуальную память вне физического ОЗУ методом paging. Без страничной организации памяти доступен только swapping.
Отличия вкратце описаны у Фроловых: http://www.emanual.ru/download/8259.html
Своппинг использовать, конечно, тоже можно, но некомфортно.
[q]
(ред)Кстати,

0leg написал:
[q]
у Фроловых в 6 томе Библиотеки Системного Программиста. Там явно сказано: "... эту команду [loadall286] нельзя использовать для переключения процессора из защищённого в реальный режим
[/q]
Тогда как вы это объясните:

"Read LOADALL magazine article and download LOADALL demo source code" написал:
[q]
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.
...
Table 1 — 80286 LOADALL Table
...
[804] MSW DW ?
...
[/q]
Что же будет, если в защищенном режиме флаг MSW будет сигналить о реальном режиме?
[/q]
Скорее всего, бит режима будет игнорирован. Эксперимент лично я сам не ставил, но тут утверждается, что возврат в реальный режим с помощью LOADALL невозможен. См. RESTRICTIONS в конце странички.
0leg
Advanced Member


Откуда: Город-герой Тула
Всего сообщений: 1991
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 окт. 2007
madmax,
> в чем лично вы нашли проблему с виртуальной памятью 286-го?
Собственно, borisfox уже ответил...

> Что же будет, если в защищенном режиме флаг MSW будет сигналить о реальном режиме?
А самому проверить это что, трудно?
madmaks
Full Member


Откуда: Россия, Ярославская обл., г. Углич
Всего сообщений: 204
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
23 сен. 2008
borisfox написал:
[q]
В защищённом режиме с 16-разрядными указательными регистрами возни с программированием значительно больше
[/q]
Нет-нет, это неправда. Если у вас в устройстве несколько независимых портов, которые надо уметь одновременно обрабатывать, то даже только аппаратные средства процессора по восстановлению/сохранению контекста обработчика наждого порта делают вашу жизнь лучше и веселее, а уж все остальное тем более.

Но никто никогда не мог предсказать с 286 процессором когда и как он выполнит нужную вам команду, откликнется на событие и т.д., т.е. ему нужны аппаратные обвесы (таймеры, буфера и т.д., даже иногда вспомогательные контроллеры), хотябы только чтобы соблюсти временные параметры для аппаратуры - поддержать обработку в реальном времени.


0leg написал:
[q]
Собственно, borisfox уже ответил...
[/q]
Просто интересно, а зачем вам понадобилась именно страничная память? Чем-то наверно не устроили остальные варианты?


borisfox написал:
[q]
Скорее всего, бит режима будет игнорирован.
[/q]
Да, это возможно.
borisfox
Advanced Member


Откуда: Хабаровск
Всего сообщений: 946
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 июля 2008
madmaks написал:
[q]
borisfox написал:
[q]
В защищённом режиме с 16-разрядными указательными регистрами возни с программированием значительно больше
[/q]
Нет-нет, это неправда. Если у вас в устройстве несколько независимых портов, которые надо уметь одновременно обрабатывать, то даже только аппаратные средства процессора по восстановлению/сохранению контекста обработчика наждого порта делают вашу жизнь лучше и веселее, а уж все остальное тем более.
[/q]
Для этого совершенно не требуются механизмы защиты памяти (и не всегда нужно переключение задач), т.к. во встроенных системах ОС, как правильно, всегда однопользовательская, с одной большой, если нужно - многопоточной, задачей, реализующей функции устройства. Обработка событий производится в основном в контексте прерываний.
Сама с собой встроенная ОС и различные задачи/потоки, исполняющиеся внутри неё, конфликтовать не должны, это задача разработчика - отладить встроенное ПО. Пользователь ничего к нему добавить/убавить не может, и тем самым стабильность правильно спроектированной системы не нарушит.

Более того, во многих современных ОС (например, в 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 - не знаю. :-)
[q]
Но никто никогда не мог предсказать с 286 процессором когда и как он выполнит нужную вам команду, откликнется на событие и т.д.,
[/q]
Всмысле?... Как задано, так и выполнит... Откликнется в соответствии со спецификацией... Какая тут может быть неопределённость?
[q]
т.е. ему нужны аппаратные обвесы (таймеры, буфера и т.д., даже иногда вспомогательные контроллеры), хотябы только чтобы соблюсти временные параметры для аппаратуры - поддержать обработку в реальном времени.
[/q]
Так ведь ни один процессор в вакууме не работает, любому нужны схемы тактирования и сопряжения с внешними устройствами - другое дело, что у некоторых они уже встроенные на кристалле, некоторым нужны внешние...
[q]
0leg написал:
[q]
Собственно, borisfox уже ответил...
[/q]
Просто интересно, а зачем вам понадобилась именно страничная память? Чем-то наверно не устроили остальные варианты?
[/q]
Со страничной организацией виртуальная память реализуется более эффективно, чем без неё.
Никто не говорит, что нельзя работать без страничной памяти. Можно (особенно если вообще отказаться от подкачки). Но с ней проще и удобнее.
То, что её нет в 286 - один из его недостатков. Особенно при уровне быстродействия оперативной памяти тех времён. В PDP-11, к слову, страничная адресация была (в моделях с MMU)...

По-моему спор зашёл в глубокий офтопик. :-)
madmaks
Full Member


Откуда: Россия, Ярославская обл., г. Углич
Всего сообщений: 204
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
23 сен. 2008
borisfox написал:
[q]
Для этого совершенно не требуются механизмы защиты памяти
[/q]
ну, вам виднее.


borisfox написал:
[q]
одним из разработчиков BSD/OS (Paul Borman) ... using a separate TSS per process or thread
[/q]
Парень, видать, путает процессы и нити.


borisfox написал:
[q]
Можно (особенно если вообще отказаться от подкачки). Но с ней проще и удобнее.
[/q]
Ни разу не встречал контроллеров с подкачкой.


borisfox написал:
[q]
По-моему спор зашёл в глубокий офтопик. :-)
[/q]
Отчего -же? Человек желал знать выпускаются ли 286, а если нет, то кто виноват и что делать.
<<Назад  Вперед>> Страницы: 1 2 3 * 4 5
Печать
Полигон-2 »   Технический флейм »   Окончание производства 286-х
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS