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

User Tag List

Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 26

Тема: Адаптер шины МПИ для эмулятора ДВК-1

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

    По умолчанию Адаптер шины МПИ для эмулятора ДВК-1

    ...

    Адаптер шины МПИ для эмулятора ДВК-1 ( текущая сборка DVK1+MPI_01.01.2016 описана ЗДЕСЬ ) позволяет создать собственный потактовый эмулятор процессора 1801ВМ1 ( и другие потактовые эмуляторы устройств, взаимодействующих через сигналы МПИ ) и подключить к абстрактной шине эмулятора ДВК.

    Проект модуля MPI_module.em для Visual C++ 2005 находится в файле DVK1+MPI\MODULES\MPI_module\MPI_module.sln

    Эмуляция запускается файлом DVK1+MPI\pdp11.exe

    Для загрузки RT-11 нужно обнулить R0 и ввести команду 2G :

    Код:
    160442
    @R0/160440 0
    @2G
       HD Boot-I-Cold boot..
     
    HD (177720) disk driver  v1.4  2015
    SL V08.00 [SW] Сторожевых С.В. 1988
    KZ V01.00 (C) ВЦ МИЭТ,  НОЯБРЬ 1987
    ПРИМЕНЯЙТЕ КОМАНДУ "SET MX INFORM"
     
    RT-11SB (Y) V05.07
    Для запуска теста MAINDEC-11-DVKAA-A-PB.bin нужно запустить абсолютный перфоленточный загрузчик, сменить образ ленты в приводе PC на MAINDEC-11-DVKAA-A-PB.bin, нажать P и после загрузки ленты запустить тест с адреса 200 :

    Код:
    @177550L
    157500
    @P
    157712
    @200G
     END PASS
     END PASS
    ...

    Для запуска тестов 791401.bin и 791404.bin при старте эмуляции - нужно указать имя файла теста в параметре BinLoadFile раздела [CpuBoard.ini] в используемом файле конфигурации.

    ...

    Исходники модуля MPI_module.em находятся в каталоге DVK1+MPI\MODULES\MPI_module\ :

    MPI_module.cpp - исходник DllMain и экспортируемых из DLL-библиотеки функций.

    MPI_model.h ; MPI_model.cpp - базовые классы эмуляции шины МПИ и устройств для неё.

    MPI_Adapter.h ; MPI_Adapter.cpp - абстрактный эмулятор процессора 1801ВМ1 для абстрактной шины PDP11A16, переделанный для синхронной работы с процессором на шине МПИ.

    MPI_1801VM1.h ; MPI_1801VM1.cpp - абстрактный потактовый эмулятор процессора 1801ВМ1 для шины МПИ.

    MPI_VM1_V.h ; MPI_VM1_V.cpp - потактовый эмулятор процессора 1801ВМ1 для шины МПИ на базе модели Verilog
    ( исходники V-модели находятся в каталоге MPI_module\vm1cpu\ ).

    MPI_VE_Timer.h ; MPI_VE_Timer.cpp - абстрактный эмулятор ВЕ-таймера процессора 1801ВМ1, адаптированный для шины МПИ.

    MPI_BS7.h ; MPI_BS7.cpp - генератор сигнала BS7 в качестве примера простейшего устройства для шины МПИ.

    ...

    Важная особенность эмуляции - синхронная работа пассивного ВМ1 на абстрактной шине и активного ВМ1 на шине МПИ, поэтому к шине МПИ всегда должен быть подключен процессор. При нарушениях синхронности работы пассивного и активного процессоров - в листинг дизассемблера и на системную консоль выводятся диагностические сообщения.
    Последний раз редактировалось Patron; 01.01.2016 в 15:27.

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

  3. #2
    Guru Аватар для MiX
    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,065
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    62 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    При запуске вылезает ошибка:Инструкция по адресу "0х00169d6b" обратилась по адресу "0х00у57766". Память не может быть "written"...

    Если запустить отладку то дизассемблер показывает на такую команду-

    00169D6B add byte ptr [eax+EFFh] , ch

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

    По умолчанию

    Цитата Сообщение от MiX Посмотреть сообщение
    При запуске вылезает ошибка
    У меня в Windows Vista работает.

    Проверил в виртуальной машине - под Windows XP вылетает, под Windows 7 работает.

    Буду отлаживать, чтобы запускалось и под XP тоже.

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

    По умолчанию

    В Windows XP обнаружился жестокий глюк в реализации Fibers API, который удалось обойти. Исправленный вариант дистрибутива перезалит под тем же именем. Теперь под Windows XP тоже должно работать.

  6. #5
    Guru Аватар для MiX
    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,065
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    62 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Важная особенность эмуляции - синхронная работа пассивного ВМ1 на абстрактной шине и активного ВМ1 на шине МПИ, поэтому к шине МПИ всегда должен быть подключен процессор.
    Это относится к двухпроцессорности описанной ниже?

    Скрытый текст

    [свернуть]

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

    По умолчанию

    Цитата Сообщение от MiX Посмотреть сообщение
    Это относится к двухпроцессорности?
    Нет. Текущая версия адаптера МПИ может нормально работать только с одним процессором на шине МПИ.

    Поскольку в адаптере МПИ есть встроенная копия 1801ВМ1 - можно было бы сделать так, чтобы всё работало даже когда на шине МПИ процессора нет вообще, но так сделано не было, поэтому в текущем варианте адаптер работоспособен лишь в том случае, когда к шине МПИ подключен один и только один процессор.

  8. #7
    Guru Аватар для MiX
    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,065
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    62 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Тогда действительно шину надо сделать независимой, где вместо:
    Код:
    bus & CPU | CpuBoard
    сделать
    Код:
    bus | CPU & CpuBoard
    или наверно лучше
    Код:
    bus | CPU | CpuBoard
    Тогда можно будет до 4х процессоров навешать.

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

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

    По умолчанию

    Цитата Сообщение от MiX Посмотреть сообщение
    Код:
    bus & CPU | CpuBoard
    Значок '&' в секции [links] описания связей в файле конфигурации означает соединение двунаправленных сокетов, а значок '|' служит просто для сокращения числа записей.

    Следующие описания эквивалентны:

    Код:
    bus & MPI_Adapter | CpuBoard | HD | MX | DW | DX
    Код:
    bus & MPI_Adapter | CpuBoard
    bus & HD | MX | DW | DX
    Код:
    bus & MPI_Adapter
    bus & CpuBoard
    bus & HD 
    bus & MX
    bus & DW
    bus & DX
    ...

    Значок '+' означает подключение к точке присоединения.

    Подключения к абстрактной шине реализованы через двунаправленные сокеты, а подключения к шине МПИ - через точки присоединения, поэтому запись о подключении устройств к шине МПИ выглядит так:

    Код:
    MPI_Adapter + VM1 | BS7 | VE_Timer

    Но можно записать и так:

    Код:
    MPI_Adapter + VM1
    MPI_Adapter + BS7
    MPI_Adapter + VE_Timer


    ---------- Post added at 18:34 ---------- Previous post was at 18:10 ----------

    Цитата Сообщение от MiX Посмотреть сообщение
    шину надо сделать независимой, тогда можно будет до 4х процессоров навешать
    С точки зрения шины МПИ - ограничений числа процессоров нет уже сейчас. Надо только иметь МПИ-модель процессора, правильно реагирующую на номер процессора, и уметь одновременно выставлять разные номера для разных процессоров ( для этого нужен ещё один переходник, так как модель шины ВМ1 не может сама динамически переключать состояние линий PA, в зависимости от активного процессора ).
    Последний раз редактировалось Patron; 14.06.2015 в 18:40.

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

    По умолчанию

    ...

    Обновилась текущая сборка адаптера шины МПИ для эмулятора ДВК-1: DVK1+MPI_22.11.2015

    Изменения:

    1. Добавлена возможность запускать V-модель процессора 1801ВМ1 при помощи объекта MPI_1801VM1_Verilog. Добавлен файл конфигурации V-model.cfg, реализующий эту возможность.


    2. Поскольку V-модель грузится медленно - добавлен системный образ TSTSYS.DSK, содержащий RT-11 V05.04 G.

    Для загрузки RT-11 нужно обнулить R0 и ввести команду 2G :

    Код:
    160442
    @R0/160440 0
    @2G
       HD Boot-I-Cold boot..
     
    HD (177720) disk driver  v1.4  2015
    SL V08.00 [SW] Сторожевых С.В. 1988
     
    RT-11SJ (Y) V05.04 G
     
    .SET USR NOSWAP
     
    .SET EXIT NOSWAP
     
    .SET TT SCOPE
     
    .SET EDIT K52
     
    .

    3. Добавлен пример теста IRQtst.bin с исходником IRQtst.mac и файлом конфигурации IRQtst.cfg.


    4. Абстрактный потактовый аналог MPI_1801VM1 приведён в соответствие с V-моделью во всех режимах, кроме ДМА и мега-глюка.


    5. Объект MPI_Adapter получил дополнительные настройки листинга состояний шины:

    Show_nCLK - выводить/не выводить номера тактов.

    DisAsmStart_nCLK - не выводить листинг до такта с указанным номером.

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


    6. Выбор типа эмулируемого процессора 1801ВМ1а или 1801ВМ1г осуществляется одновременным изменением двух настроек - CPU_Type у адаптера и MicrocodeStepping у процессора ( по умолчанию там VM1A и A, но можно установить VM1G и G ).
    Последний раз редактировалось Patron; 22.11.2015 в 19:37.

  11. #10
    Guru Аватар для MiX
    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,065
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    62 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    На Windows XP рассчитано?

    Скрытый текст

    [свернуть]
    Последний раз редактировалось MiX; 22.11.2015 в 22:33.

Страница 1 из 3 123 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Как отловить Z состояние шины(8бит) устройства ?
    от fan в разделе Несортированное железо
    Ответов: 5
    Последнее: 02.03.2008, 00:52
  2. Ищу скорпионовский расширитель шины.
    от Evgeny Muchkin в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 03.08.2006, 10:05
  3. Ответов: 1
    Последнее: 09.04.2006, 14:47
  4. Куплю расширитель шины
    от Nikolaj Amosov (500:812/02.26) в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 03.04.2006, 12:35
  5. Циклы шины Z80 + разбивка команд по циклам шины
    от lvd в разделе Несортированное железо
    Ответов: 4
    Последнее: 28.03.2005, 02:08

Ваши права

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