User Tag List

Страница 30 из 157 ПерваяПервая ... 262728293031323334 ... ПоследняяПоследняя
Показано с 291 по 300 из 1564

Тема: Программирование на УКНЦ как?

  1. #291

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

    По умолчанию

    Нам мой взгляд, при исследованиях растактовок выполнения команд нужно стремиться:

    1. На первом этапе - выяснить зависимость растактовок циклов шины от задержки памяти, сравнивая продолжительность выполнения одних и тех же команд при использовании разных типов памяти (ОЗУ, ПЗУ, регистров устройств).

    2. На втором этапе - определить "алгоритмическую добавку" для каждой команды, определяющую превышение числа тактов, необходимых для выполнения команды, над числом тактов, необходимых для выполнения всех использующихся в команде циклов шины.

  2. #292

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,386
    Спасибо Благодарностей отдано 
    1,700
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Нам мой взгляд, при исследованиях растактовок выполнения команд нужно стремиться:

    2. На втором этапе - определить "алгоритмическую добавку" для каждой команды, определяющую превышение числа тактов, необходимых для выполнения команды, над числом тактов, необходимых для выполнения всех использующихся в команде циклов шины.
    Если просто вычесть из фактического времени выполнения команды все циклы шины, это нам в остатке не даст никакой полезной информации, т.к. на ВМ2 работа ALU идет в параллель с циклами доступа к шине.

    А тест нацелен только на две вещи. Первое олучить фактические времена выполнения команд, для тестирования правильности работы, как эмуляторов, так и реальных машинок. И второе, используя эти фактические времена, путем некоторых вычислений сравнить правильность понимания внутренней работы ВМ2 с тем, что должно получаться при заданных задержках и фазах шины.

  3. #293

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Если просто вычесть из фактического времени выполнения команды все циклы шины, это нам в остатке не даст никакой полезной информации, т.к. на ВМ2 работа ALU идет в параллель с циклами доступа к шине.
    Из этого утверждения следует, что продолжительность выполнения всех команд с одинаковым количеством одинаковых циклов шины - одинакова.

    У процессора 1801ВМ1 это точно не так. Подозреваю, что и у 1801ВМ2 - тоже.

    Первое получить фактические времена выполнения команд, для тестирования правильности работы, как эмуляторов, так и реальных машинок.
    При эмуляции выполнения процессором команды - для каждой операции доступа к памяти, производящейся для чтения/записи аргументов - необходимо учитывать задержку памяти. Иначе эмуляция команды CMP (R0),(R1) будет осуществляться за одинаковое количество тактов и при выборке операндов из ОЗУ, и из ПЗУ.

  4. #294

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,247
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    При эмуляции выполнения процессором команды - для каждой операции доступа к памяти, производящейся для чтения/записи аргументов - необходимо учитывать задержку памяти. Иначе эмуляция команды CMP (R0),(R1) будет осуществляться за одинаковое количество тактов и при выборке операндов из ОЗУ, и из ПЗУ.
    С этим все согласны. Но я уже писал, что у УКНЦ время доступа к памяти довольно плавающее, из-за перемежающихся циклов доступа к ОЗУ еще и видеоадаптера, т.е. это не 1801ВП1-013 или 1801ВП1-030. Так же в 1801ВМ2 есть предвыборка команд, может так произойти, что дешифрация команды пройдет относительно быстро, надо доступ на шину для операционного блока, а там еще из памяти команда вытягивается для предвыборки, чувствуется на магистрали ПП особенно.

    ---------- Post added at 14:05 ---------- Previous post was at 13:51 ----------

    Кстати еще по поводу большого времени исполнения команд на магистрали ПП в УКНЦ. Как известно процессор 1801ВМ2 имеет вход AR для подтверждения приема адреса по SYNC. Так вот на магистрали ПП сигнал на AR подается с большим запаздыванием, чем на магистрали ЦП. На магистрали ПП для части устройств (в том числе разъемы ВУ) шина AD проходит через буфер 1801ВП1-055, что тоже вносит задержку, поэтому и AR защелкивается позже, чтобы адрес смогли считать.

  5. #295

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,386
    Спасибо Благодарностей отдано 
    1,700
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

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

    У процессора 1801ВМ1 это точно не так. Подозреваю, что и у 1801ВМ2 - тоже.
    Нет, не следует) В параллель - не значит, что перкрывает полностью)

  6. #296

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    я уже писал, что у УКНЦ время доступа к памяти довольно плавающее
    Это лишь увеличивает количество необходимых этапов тестирования, но никак не изменяет их объективно необходимой последовательности.

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

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

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

    ...

    Цитата Сообщение от Titus Посмотреть сообщение
    Нет, не следует) В параллель - не значит, что перкрывает полностью)
    Да, на быстрой памяти, читающей ячейку за два такта - АЛУ 1801ВМ1 добавляет к продолжительности некоторых команд ещё один такт, а на медленной памяти - полностью успевает сработать за время ожидания памяти и "свой такт" не добавляет.

    Но определение зависимости "алгоритмической задержки" от задержки памяти - это лишь ещё один этап тестирования, никак не отменяющий объективной необходимости соблюдения их рациональной последовательности.
    Последний раз редактировалось Patron; 30.11.2011 в 14:34.

  7. #297

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,386
    Спасибо Благодарностей отдано 
    1,700
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Если не выводить универсальных "формул быстродействия", то адекватность эмуляции будет достижима только при эмуляции той конфигурации, которая использовалась при тестировании. Изменение тактовой частоты реального компьютера хотя бы на один герц или изменение задержки адресуемой памяти хотя бы на одну наносекунду - может привести к весьма существенным отклонениям реального быстродействия от эмулируемого.
    Для полноценной правильной эмуляции нужна эмуляция всех ступеней выполнения команд ВМ2, равно, как и такая же эмуляция железа УКНЦ. При таком, и только таком подходе возможна точная эмуляция. Все остальное, как-то установка в эмуляторе командам процессора их примерное время выполнения, полученное хоть какими тестами, даст лишь приближенную по скорости модель УКНЦ, но никак не 100% совместимую.

  8. #298

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,247
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Для полноценной правильной эмуляции нужна эмуляция всех ступеней выполнения команд ВМ2, равно, как и такая же эмуляция железа УКНЦ. При таком, и только таком подходе возможна точная эмуляция. Все остальное, как-то установка в эмуляторе командам процессора их примерное время выполнения, полученное хоть какими тестами, даст лишь приближенную по скорости модель УКНЦ, но никак не 100% совместимую.
    Ну по поводу 100% совместимости, не совместимы даже УКНЦ разных заводов, из-за небольшой разнице в схемотехнике. Вроде бы мелочь, а влияет. В качестве примера - формирование сигнала AR на магистрали ПП. Уже выкладывались тесты из программы SPEED, так у всех одинаково только исполнение MUL и DIV, а регистровый и косвенно-регистровый тесты отличаются.
    Про 100% эмуляцию железа - знаю некоторые особенности связанные с конвеером 1801ВМ2, пробовал их на реальной машине, на эмуляторе это естественно не работает. Далее 100% эмуляция 1801ВП1-128 (контроллер дисковода) - это только на уровне кода MFM, я достаточно хорошо знаю как он работает, но ведь эмулятор повесится при таком эмулировании, производительности не хватит. Да это в принципе и не надо, эти тонкости никто реально не использует, разве только для того, чтобы отличить, работает программа на реале или в эмуляторе.

  9. #299

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Попытался представить себе эмуляцию 11/83 с полноценной MSV11-J
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  10. #300

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,247
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Попытался представить себе эмуляцию 11/83 с полноценной MSV11-J
    Кстати по поводу DCJ-11, существует ведь распечатка микрокода, вот поле для эмуляции с абсолютной точностью до полутакта.

Страница 30 из 157 ПерваяПервая ... 262728293031323334 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Программирование на Эмуляторе. Возможно ли это?
    от Toxic в разделе Программирование
    Ответов: 10
    Последнее: 20.01.2008, 19:20
  2. Программирование Altera и JTAG
    от Mikka_A в разделе Несортированное железо
    Ответов: 7
    Последнее: 18.01.2008, 09:07
  3. Программирование и софтмейк на NES
    от Splinter в разделе Nintendo
    Ответов: 7
    Последнее: 30.06.2006, 04:31

Ваши права

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