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

User Tag List

Страница 5 из 18 ПерваяПервая 123456789 ... ПоследняяПоследняя
Показано с 41 по 50 из 180

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

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

    По умолчанию

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

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

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

  2. #42
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,005
    Спасибо Благодарностей отдано 
    287
    Спасибо Благодарностей получено 
    631
    Поблагодарили
    531 сообщений
    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??

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

    По умолчанию

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

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

  4. #44
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,005
    Спасибо Благодарностей отдано 
    287
    Спасибо Благодарностей получено 
    631
    Поблагодарили
    531 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Уточнение.
    Я не против файла подкачки - потому что есть ситуации, когда он МОЖЕТ пригодиться. Но складывается впечатление, что у Вас это идея-фикс, раз всплыло аж на первой странице.

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

    Цитата Сообщение от Patron Посмотреть сообщение
    в RSX - загружаются с диска только те подпрограммы динамической библиотеки, к которым идёт обращение, или всю библиотеку надо загружать целиком?
    Вся целиком.
    В RSX-11M она должна быть загружена в память до того, как будет запущена программа, которая будет к ней обращаться (FCSRES обычно в VMR загружают) , в RSX-11M-Plus её грузит сама система как только запускается программа, которая к ней прилинкована. И насколько мне не изменяет память, PLUS может при дефрагментации памяти может или двигать её (есть запущенные проги, которые её используют) или вообще выкинуть из памяти (нет запущенных прог, которые её используют).

    Но для RSX-11M я делал прогу, которая достаточно сильно воспроизводит поведение динамических библиотек в PLUS-е. Жаль только в смутные времена (когда СМ-ка уже умирала) я не всё перетащил, что было (в первую очередь на лентах), на ДВК - в том числе свои проги, в том числе такую экзотику, как DECNET-RT. Щас сильно жалею..

    Цитата Сообщение от Patron Посмотреть сообщение
    Но зачем отказывать любому из двух вариантов в праве на существование
    Выше ответил.

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

    Просто учитывая накладные расходы и задержки - это то, что надо КРАЙНЕ ХОРОШО продумать - а не реализовывать по принципу - шоб було.
    Последний раз редактировалось Hunta; 03.09.2017 в 19:40.

  5. #45
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    123
    Поблагодарили
    62 сообщений
    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, причём более часто используемый регистр был в младшем слове.

  6. #46
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,005
    Спасибо Благодарностей отдано 
    287
    Спасибо Благодарностей получено 
    631
    Поблагодарили
    531 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

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

    По умолчанию

    В таком варианте нулевой бит PDR не используется и в системе со свопом его можно отдать под флаг "страница в свопе". Тогда подсистема свопа в операционке должна будет иметь собственные дополнительные дескрипторы страниц и учитывать размер страницы ( из PLF ) при свопе.

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

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

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

    В принципе - в качестве флага "страница не в памяти" можно использовать значение поля доступа PDR - NonResident ( 00 ), при котором MMU на попытки обращения к странице будет выдавать прерывание по специальному вектору ( чтобы регистр ошибок MMU каждый раз не читать ).
    Последний раз редактировалось Patron; 03.09.2017 в 20:06.

  9. #48
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,005
    Спасибо Благодарностей отдано 
    287
    Спасибо Благодарностей получено 
    631
    Поблагодарили
    531 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    Пока нет механизма - конкретикой заниматься не стоит - поменяется 100500 раз. Весь мой опыт программирования говорит об этом.

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

    По умолчанию

    Номер страницы - старшие 6 бит виртуального адреса - даёт нам номер регистра PAR, который мы сдвигаем на 10 ( 26 ) битов влево, складываем с 32-разрядным адресом внутри страницы (без старших 6 битов) и получаем физический 42-разрядный адрес.

  11. #50
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,005
    Спасибо Благодарностей отдано 
    287
    Спасибо Благодарностей получено 
    631
    Поблагодарили
    531 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Шож Вас так тянет на конкретику не вовремя..
    Вот Вам архитектурное решение.
    - Что бы сохранить возможность перекомпиляции существующих программ на Macro-11 малой кровью - шестой регистр - указатель стека, а седьмой - указатель команд - в обеих режимах (16 и 32 битных). Независимо от того - сколько и каких ещё будет регистров

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

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

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

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

Ваши права

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