Важная информация

User Tag List

Страница 2 из 18 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 180

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

  1. #11
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от bigral Посмотреть сообщение
    Тут надо понимать что процессор должен проектироваться так чтобы работать с как можно меньшим реально доступным обьемом ОЗУ
    В предлагаемом варианте процессор после включения питания работает вообще без ОЗУ, для загрузки и работы 16-разрядной операционной системы требует от 4Мб до 8Мб ОЗУ, а для загрузки и работы 32-разрядной ОС - от 32Мб до 2Тб ОЗУ.


    Цитата Сообщение от bigral Посмотреть сообщение
    32bit режим в котором можно использовать кроме всего того что есть в j11 еще и 32bit aдресацию!!!
    Тащить старый MMU в 32-разрядный режим абсурдно - для мапинга 2Тб виртуальной памяти в [32Мб ОЗУ + своп-файл] нужен другой функционал.

    ...

    В принципе - для лучшего использования физической памяти можно уменьшить размер "атома" виртуальной памяти с 4 Мб до 64Кб, что позволит создавать 16-разрядные регионы размером от 64Кб до 8Мб ( при разделении команд и данных ) и 32-разрядные регионы размером от 64Кб до 4Гб.

  2. #12
    Guru Аватар для bigral
    Регистрация
    12.07.2006
    Адрес
    г. Киев, Украина
    Сообщений
    2,147
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    82 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Тащить старый MMU в 32-разрядный режим абсурдно - для мапинга 2Тб виртуальной памяти в [32Мб ОЗУ + своп-файл] нужен другой функционал.
    Несовместимый с j11 процессор уже никакой не pdp11 вообще, так что обсуждать его тут значит выходить за рамки темы.

    Цитата Сообщение от Patron Посмотреть сообщение
    работает вообще без ОЗУ, для загрузки и работы 16-разрядной операционной системы требует от 4Мб до 8Мб ОЗУ
    Это звучит как оксиморон. Я о реальном мире говорю а не об академической теории. Например i386 требует минимальной памяти около 256...512кб (вектора прерывания + таблицы поддержки защищенного режима + код минимального OS + код задач (по сути части могут быть в swap) + код обслуживания прерывания + код драйвера внешнего диска для загрузки задач и свопа). Возможно ктото сможет все это дело ужать до 128кб но я очень сомневаюсь.

  3. #13
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от bigral Посмотреть сообщение
    Несовместимый с j11 процессор уже никакой не pdp11 вообще
    У J11 нет 32-разрядного режима, поэтому любой процессор с 32-разрядным режимом не совместим с J11 в 32-разрядном режиме.

    Речь лишь о том, чтобы 32-разрядный процессор был полностью совместим с PDP-11 в 16-разрядном режиме ( с 22-разрядной адресацией и разделением адресного пространства кода и данных ). Относительно 32-разрядного режима в принципе не может быть "критериев совместимости с PDP-11".

  4. #14
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    6,964
    Спасибо Благодарностей отдано 
    284
    Спасибо Благодарностей получено 
    626
    Поблагодарили
    527 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вопрос - какой практический смысл в xMode?

  5. #15
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Вопрос - какой практический смысл в xMode?
    Смысл в том, что реализация более чем одной 32-разрядной моды относительно несложна, а там где есть две моды - почему не быть остальным ( сколько влезет в PSW ).

    Ведь виртуальная память и при одной моде нужна - нельзя же требовать, чтобы минимальный объём физической памяти был 4Гб. А при наличии механизма виртуальной памяти, мапящего блоки виртуальных адресов в относительно компактное ОЗУ и теоретически бесконечный своп-файл, расширить виртуальное адресное пространство дополнительными модами - практически ничего не стоит.

    32-разрядный процессор работает с диспетчером виртуальной памяти через виртуальную ( или физическую, при реализации процессора на нескольких чипах ) 32-разрядную шину виртуальных адресов, а уже диспетчер виртуальной памяти работает с реальной физической памятью через внешнюю 42 разрядную шину. Поэтому физически, и при одной моде, и при сотнях мод - в реальном ОЗУ будут находиться только те блоки виртуальной памяти, к которым было обращение процессора, и разница лишь в том, что при работе в одной общей моде - в регистры базы кода, стека и данных надо каждый раз записывать конкретные значения активируемого процесса, а при работе в разных модах - регистр базы кода всегда нулевой, потому что каждому процессу выделяются все 4Гб 32-разрядных виртуальных адресов.

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

  6. #16
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    6,964
    Спасибо Благодарностей отдано 
    284
    Спасибо Благодарностей получено 
    626
    Поблагодарили
    527 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Цитата Сообщение от Patron Посмотреть сообщение
    а при работе в разных модах - регистр базы кода всегда нулевой, потому что каждому процессу выделяются все 4Гб 32-разрядных виртуальных адресов.
    В ваших терминах - в PDP-11 используется всего одна мода для пользовательских процессов, что не мешает
    Цитата Сообщение от Patron Посмотреть сообщение
    каждому процессу выделяются все
    выделить полные 64 кб

    Цитата Сообщение от Patron Посмотреть сообщение
    там где есть две моды - почему не быть остальным
    Принцип - пусть будет, но для чего это пригодится - не понятно - плохой принцип.

    Ещё раз вопрос - практический смысл в наличии не трёх, а большего количество мод.

    Особенно учитывая, что у Вас идёт совмещение - старых двух бит из PSW, задающих режим работы процессора и непонятного xMode
    Цитата Сообщение от Patron Посмотреть сообщение
    Нулевой процесс имеет особые привилегии и выполняется в адресном пространстве KERNEL-моды
    Нулевой процесс - этот тот, которые имеет xMode=0? А если в старых битах PSW для него стоит режим работы процессора 11 (то есть пользовательский) - это тогда как. А если (xMode=0, psw 00) и (xMode=0, psw=11) - тогда как - это разные процессы, это один процесс, если это один процесс - на что влияют биты в psw?

  7. #16
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #17
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    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.

  9. #18
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    6,964
    Спасибо Благодарностей отдано 
    284
    Спасибо Благодарностей получено 
    626
    Поблагодарили
    527 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    они вряд ли отказались бы от 512 мод вместо двух-трёх
    Может да, а может нет.

    Сколько потребуется регистров-описателей памяти? Если я не ошибаюсь, то при минимальной единицы 4 мб (22 бита) и общем адресном пространстве 42 бита количество адресуемых единиц 2 в 20 степени. Если идти по логике работы MMU PDP-11 - 2 в 20 степени регистров и если предположить регистр в 32 бита - то получается, один набор аналогов PAR - 4 мб (вроде не ошибся в вычислениях). Плюс 8+2=10 2 в 10 = 1024 - 256 = 768 - итого 3 гигабайта памяти на описание всех PAR. А в PDP-11 было два регистра - PAR и PDR (смещение и дескриптор) - итого 6 гигабайт памяти внутрь проца - если его делать железным.

    И даже если это эмулятор - 6 гигов - только эта структура. Какой то толстый эмулятор получается.

    А теперь другой вопрос - если у меня в систему запущено пара десятков процессов - нафига мне большая часть этих регистров описателей?

    Напомнить, как пошла Интел в своём диспетчере памяти проца?

  10. #19
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Сколько потребуется регистров-описателей памяти?
    Вряд ли есть смысл подходить к вопросу статически. Как внутри себя работает диспетчер памяти - это его проблема. Главное, чтобы он обеспечивал максимальное быстродействие при оптимальном использовании ресурсов. Сразу понятно, что диспетчеру памяти нет смысла описывать больше виртуальной памяти, чем размер ОЗУ + размер своп-файла. Если размер ОЗУ мал, а размер своп-файла большой - всё умрёт в свопе и никто не станет ругать диспетчер памяти, если он высвопит часть таблицы доступа. Когда ОЗУ некуда девать - никто не станет ругать диспетчер памяти, если он использует малую часть ОЗУ под таблицы доступа. Главное, чтобы всё происходило оптимальным образом - тогда итоговое быстродействие будет максимальным по сравнению с любым другим сценарием.

  11. #20
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,130
    Спасибо Благодарностей отдано 
    468
    Спасибо Благодарностей получено 
    516
    Поблагодарили
    410 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не проще ли ограничиться DEC-16 бит и сделать просто надстройку для работы с 32-х битным котом ?
    И , пожалуйста, сделайте полноценную МПИ 24-х бит адрес по ГОСТ. Разумеется, мультиплексировать А/Д не надо, можно ограничиться исходной ISA-16 ( или подобной ).
    *
    По поводу формата 32-бит инструктажа - целесообразно вынести этот вопрос в отдельный блок типа СОЗУ , для того, что бы каждый смог собрать свою кодировку инструкций. Да, понадобится изрядный массив СОЗУ - но в итоге будет "супер-универсальность".
    Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения [email protected]

Страница 2 из 18 ПерваяПервая 123456 ... ПоследняяПоследняя

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

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

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

Похожие темы

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

Ваши права

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