User Tag List

Показано с 1 по 10 из 180

Тема: 32-разрядный процессор, полностью совместимый с архитектурой PDP-11.

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    в PDP-11 используется всего одна мода для пользовательских процессов, что не мешает выделить полные 64 кб
    Но для этого надо вручную управлять диспетчером памяти, меняя мапинг USER-моды при каждой смене активного процесса. Если бы у разработчиков PDP11 было не по 2 бита на номер моды, а по 9 ( и диспетчер памяти имел не несколько единиц наборов регистров PAR, а несколько сотен ) - они вряд ли отказались бы от 512 мод вместо двух-трёх. Ведь тогда содержимое регистров PAR не надо изменять при переключении процессов и это ничего не стоит.

    Конечно, можно вместо 512 наборов PAR использовать только два, но ЗАЧЕМ, если это ничего не стоит, тем более, что диспетчер виртуальной памяти может сам заполнять всё содержимое PAR, и лишь иногда процессор может изменять для некоторых страниц приоритет вытеснения в своп. Когда диспетчер памяти работает параллельно с процессором - общая работа идёт гораздо быстрее, для этого и нужны расширенные биты моды.


    Цитата Сообщение от Hunta Посмотреть сообщение
    идёт совмещение - старых двух бит из PSW, задающих режим работы процессора и непонятного xMode
    xMode - это старшие биты моды, дополнительно к "старым" битам моды из PSW. Если отдать всю моду супервизора под работу с устройствами - остаётся 9 битов моды ( старший бит моды "старого" PSW + 8 битов xMode ). У KERNEL-моды все биты моды нулевые.

    - - - Добавлено - - -

    если два бита моды "старого" PSW = 00 - номер моды определяется как [xMode*2 + 0]
    если два бита моды "старого" PSW = 01 - значение xMode не учитывается и выбирается мода супервизора
    если два бита моды "старого" PSW = 11 - номер моды определяется как [xMode*2 + 1]

    При этом нулевая мода - это KERNEL-мода, а все остальные ( кроме моды супервизора ) - это USER-моды.

    ...

    В принципе можно наплевать на запрещённую моду 16-разрядного режима, тогда номер моды будет иметь 10 битов:

    если два бита моды "старого" PSW = 00 - номер моды определяется как [xMode*4 + 0]
    если два бита моды "старого" PSW = 01 - и значение xMode == 00 - выбирается мода супервизора
    если два бита моды "старого" PSW = 01 - и значение xMode != 00 - номер моды определяется как [xMode*4 + 1]
    если два бита моды "старого" PSW = 10 - номер моды определяется как [xMode*4 + 2]
    если два бита моды "старого" PSW = 11 - номер моды определяется как [xMode*4 + 3]

    При этом нулевая мода - это KERNEL-мода, первая мода - мода супервизора, а все остальные - это USER-моды.
    Последний раз редактировалось Patron; 02.09.2017 в 00:39.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Собрал комп полностью своими руками
    от scooby-do в разделе Зарубежные компьютеры
    Ответов: 15
    Последнее: 15.03.2025, 00:11
  2. Fuzebox - полностью открытая 8-битная игровая приставка
    от CityAceE в разделе Зарубежные компьютеры
    Ответов: 22
    Последнее: 09.03.2017, 15:35
  3. MSX и EPSON-совместимый принтер
    от ipkin в разделе MSX
    Ответов: 3
    Последнее: 01.12.2011, 19:23
  4. Ответов: 5
    Последнее: 20.06.2011, 03:18
  5. Куплю ZX совместимый компьютер.
    от billgilbert81 в разделе Барахолка (архив)
    Ответов: 19
    Последнее: 05.12.2008, 20:33

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •