User Tag List

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

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

Комбинированный просмотр

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

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,507
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    мода супервизора
    Пульта!!
    Цитата Сообщение от Patron Посмотреть сообщение
    два процесса
    Цитата Сообщение от Patron Посмотреть сообщение
    виртуальному адресному пространству 4Гб
    Операционка будет выделять программе 4 гига оперативки, даже если программе нужно 100 байт???

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

  3. #2

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

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Пульта!!
    Если даже перемапленная с пультового ПЗУ в ОЗУ мода обработки исключительных ситуаций больше похожа на "моду пульта" - пусть будет мода пульта.


    Цитата Сообщение от Hunta Посмотреть сообщение
    Операционка будет выделять программе 4 гига оперативки, даже если программе нужно 100 байт???
    Архитектуры со свопом могут работать гораздо быстрее, чем без свопа, потому что операционка получает возможность запускать на выполнение файлы любого размера, просто помечая их как "временные файлы подкачки" и без загрузки файла в память - просто передавая управление на "смотрящий в пустоту" стартовый адрес. Тогда во время исполнения программы в память попадут только те страницы файла исполняемой программы, куда будут происходить переходы и вызовы в коде.

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

  4. #3

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,507
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    пусть будет мода пульта.
    Человек читает - основана на архитектуре PDP-11. Человек читал доку по PDP-11 и он знает, что такое режим супервизора на PDP-11. Человек видит - мода супервизора... Профит!

    Цитата Сообщение от Patron Посмотреть сообщение
    Архитектуры со свопом могут работать гораздо быстрее
    Цитата Сообщение от Patron Посмотреть сообщение
    просто помечая их как "временные файлы подкачки" и без загрузки файла в память - просто передавая управление на "смотрящий в пустоту" стартовый адрес. Тогда во время исполнения программы в память попадут только те страницы файла исполняемой программы, куда будут происходить переходы и вызовы в коде.
    Назовём единицу выделения памяти (и подкачки) - страницей.

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

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

    Операционка - я передаю управление на страницу 0
    MMU - упс, памяти нет - подгружаем.
    Программа - я передаю управление на страницу 20
    MMU - упс, памяти нет - подгружаем.
    Программа - я передаю управление на страницу 21
    MMU - упс, памяти нет - подгружаем.
    Программа - я передаю управление на страницу 100
    MMU - упс, памяти нет - подгружаем.
    Программа - я передаю управление на страницу 101
    MMU - упс, памяти нет - подгружаем.
    Программа - я передаю управление на страницу 120
    MMU - упс, памяти нет - подгружаем.
    Программа - я передаю управление на страницу 12
    MMU - упс, памяти нет - подгружаем.
    Программа - я передаю управление на страницу 45
    MMU - упс, памяти нет - подгружаем.
    ....

    Пусть размер программы - 150 страниц.

    Вы серьёзно думаете, что в 150 запросов чтения по странице выполнятся быстрее, чем один, читающий 150 страниц за раз? (помните, у нас памяти сейчас у нас... как грязи)

  5. #4

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

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Вы серьёзно думаете, что в 150 запросов чтения по странице выполнятся быстрее, чем один, читающий 150 страниц за раз?
    Это называется "отображение файлов в память" и так сейчас работают все операционки. Но ничто не мешает иметь два варианта архитектуры - со свопом и без. В архитектурах без свопа есть только один способ, как при старте программы не загружать её в память целиком - использовать оверлеи.

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

    Возможно не все знают, что программа DIR в RT-11 v5.0 стала оверлейной не потому, что не лезла в память, а для того, чтобы при обычном просмотре каталога с диска считывались только первые блоки программы и лишь при использовании различных экзотических режимов - подгружался оверлей, обрабатывавший дополнительные ключи запуска.

  6. #5

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,507
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Это называется "отображение файлов в память
    Цитата Сообщение от Hunta Посмотреть сообщение
    кстати, в Windows аналогичный механизм носит название - файл, отображённый в память
    Похоже, чтение идёт избранных мест.

    Цитата Сообщение от Patron Посмотреть сообщение
    В архитектурах без свопа есть только один способ, как при старте программы не загружать её в память целиком
    ЗАЧЕМ МОЖЕТ ПОНАДОБИТЬСЯ НЕ ЗАГРУЖАТЬ ПРОГРАММУ В ПАМЯТЬ ЦЕЛИКОМ, если у нас не монструозные программы и памяти как грязи??

    Цитата Сообщение от Patron Посмотреть сообщение
    - использовать оверлеи.
    Расскажите это динамически-загружаемым библиотекам, которые, кстати, существовали уже в RSX-11M-Plus, а я делал для RSX-11M в восемьдесят-лохматом году.

    Не знаю как там с юникс-системах (на 32-битных процах), но в PDP-11 оверлеи - это способ ПОВТОРНО использовать адресное пространство в первую очередь. А ещё был такой вариант - оверлеи, резидентные в памяти, в системах с MMU (насчёт поддержки под XM монитором не скажу - но по идее должна быть, а уж в RSX - даже в M были) - когда программа целиком располагалась в памяти, но тем не менее использовала оверлеи.

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

    Цитата Сообщение от Patron Посмотреть сообщение
    с диска считывались только первые блоки программы
    Что даёт хорошо заметный эффект ускорения работы программы на чём нибудь типа DX01 - но нахрен не нужно уже даже на дисках типа RK05 при том размере, который у DIR. Или Ваш замечательный 32-битный проц Вы планируете использовать вместе с DX01??

  7. #6

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

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Расскажите это динамически-загружаемым библиотекам
    В системах с файловым отображением памяти - они просто отображаются (без обращения к диску), а в RSX - загружаются с диска только те подпрограммы динамической библиотеки, к которым идёт обращение, или всю библиотеку надо загружать целиком?

    Но зачем отказывать любому из двух вариантов в праве на существование. Сэмулировать можно обе архитектуры, но портировать RSX конечно проще на вариант без свопа.

  8. #7

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

    По умолчанию

    В варианте без свопа 32-разрядный MMU может быть весьма похож на 16-разрядный. На шине будут видны два набора 16-разрядных PAR и PDR - системный и предыдущей моды ( по номеру из битов предыдущей моды в PSW ). 64 регистра PAR могут разбить 4Гб адресов на 64 окна максимальным размером 64Мб и минимальным 64Кб ( с шагом 64Кб ). Если флаг PageWritten перенести в 4-й бит - 16-разрядный PDR позволяет иметь поле PLF длиной 10 бит ( что при странице 64М даёт минимальный размер страницы 64К и шаг размера 64К ).

    Для 1024 мод от MMU потребуется 1024*64*16*2 = 2Мб внутренней памяти.

    Возможно лучше, чтобы пара 16-разрядных PAR+PDR занимала один 32-разрядный регистр MMU, причём более часто используемый регистр был в младшем слове.

  9. #8

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,507
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Про остальное ничего пока сказать не могу - это уже конкретика (причём конкретика одного блока проца) - и что бы ответить на неё - нужна архитектура в целом и ответ на вопрос - зачем (нам это может понадобиться)? А мы пока ещё далеко в самом начале проекта архитектуры.

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

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

Эту тему просматривают: 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

Ваши права

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