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

User Tag List

Страница 22 из 63 ПерваяПервая ... 181920212223242526 ... ПоследняяПоследняя
Показано с 211 по 220 из 625

Тема: Расчёт точного времени выполнения команд различными процессорами архитектуры PDP-11.

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Не знаю, что такое абстрактный эмулятор
    Абстрактный эмулятор эмулирует суть происходящего, дискретный эмулятор эмулирует сигналы в виде логических уровней и время в виде тактов тактовой частоты, аналоговый эмулятор эмулирует сигналы в виде уровней напряжения и время в виде долей секунды ( тысячных, милллионных, миллиардных ).

    Эмулировать аналоговые переходные процессы в печатных проводниках платы и полупроводниковых элементах микросхем удобнее всего при аналоговой эмуляции. Как это можно было бы сделать в виде абстрактной эмуляции - представить не могу.

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

    А вот эту фразу совсем не понял)
    При проблемах с питанием процессор глючит безбожно.

    Здесь, например - по содержимому R0 видно, что команда MOV (PC),R0 сработала как MOVB (PC),R0:



    ...

    Когда вместо 40 тактов на команду в распечатке результатов теста появляется 3 - это означает, что или команда DEC R5 установила бит Z в PSW при R5 == 1000, или команда BEQ выполнила переход при сброшенном бите Z в PSW.
    Последний раз редактировалось Patron; 25.02.2013 в 15:59.

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

  3. #212
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,567
    Спасибо Благодарностей отдано 
    1,227
    Спасибо Благодарностей получено 
    1,779
    Поблагодарили
    686 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

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

    Эмулировать аналоговые переходные процессы в печатных проводниках платы и полупроводниковых элементах микросхем удобнее всего при аналоговой эмуляции. Как это можно было бы сделать в виде абстрактной эмуляции - представить не могу.

    Зависит от сферы применения эмулятора. Иногда идеально правильная эмуляция фронтов распространения сигнала на шине - гораздо важнее идеально правильной эмуляции результатов выполнения команды, хотя в подавляющем большинстве случаев - наоборот.
    Это слишком академический подход к эмуляторописанию и эмуляторопониманию. Либо абстрактный, либо логический, либо аналоговый.
    На деле, в моем понимании, чтобы написать абсолютно достоверный эмулятор, вовсе не обязательно писать на уровне логических элементов. Достаточно хорошо понимать работу и взаимодействие законченных логических автоматов, и умело описать это в своей программе. Тогда будет и быстрый и точный.

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Достаточно хорошо понимать работу и взаимодействие законченных логических автоматов
    Это позволяет точно эмулировать абстрактную спецификацию электронно-логического устройства, но не его реальную работу.

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

  5. #214
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,567
    Спасибо Благодарностей отдано 
    1,227
    Спасибо Благодарностей получено 
    1,779
    Поблагодарили
    686 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Это позволяет точно эмулировать абстрактную спецификацию электронно-логического устройства, но не его реальную работу.

    Когда время прихода того или иного логического сигнала не синхронно тактовой частоте и определяется аналоговыми характеристиками реальных линий передачи - абстрактные правила эмуляции такой системы (на мой взгляд) выходят за пределы логики автоматов.
    А вот на мой взгляд нет. Вся несинхронность так же описывается и закладывается в программу. Естественно, это должно быть учтено до проектирования программы.

    Скажем так, несинхронных вещей не бывает. Все они с чем-нибудь синхронны. С каким-то источником тактирования.

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

    По умолчанию

    Универсальный тест: MOVPC2.SAV позволяет определить число тактов, затрачиваемых любым процессором архитектуры PDP-11 на выполнение команды MOV с различными способами адресации относительно PC, не вошедшими в предыдущий тест MOVPC.SAV.

    При первом запуске теста нужно ввести правильное значение тактовой частоты тестируемого процессора в килогерцах.

    Команды типа MOV R0,(PC) невозможно тестировать в цикле, поэтому тест использует линейный движок. Если адрес возврата при входе в прерывание превышает верхний адрес свободной памяти - вместо числа заходов в буфер команд в первой позиции строки результата выводится *.

    На эмуляторе ДВК результаты запуска выглядят так:

    Код:
    .RU MOVPC2
    MovPC2 - v1.0
    Memory Top: 137554
    BUF words:   23108
    CPU KHz:  5300 >
     
    1: Nop                    14
    1: Mov   R0,  R0          14
    1: Mov   R0, (PC)         37
    1: MovB  R0, (PC)         37
    1: Mov  (PC), R0          30
    1: MovB (PC), R0          30
    ::: SP = PC :::
    1: Mov   R0, (SP)+        41
    1: MovB  R0, (SP)+        41
    1: Mov  (SP),(SP)+        49
    1: MovB (SP),(SP)+        49
     
    Program completed.
     
    .
    Вложения Вложения
    • Тип файла: zip MovPC2.zip (9.9 Кб, Просмотров: 182)

  7. #216
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    607
    Поблагодарили
    399 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Попробуйте мой тестик)
    Начнем. Выбрал только экраны для новых тестов.
    ПП:

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






    [свернуть]

    ЦП:

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





    [свернуть]


    ---------- Post added at 22:57 ---------- Previous post was at 22:53 ----------

    Цитата Сообщение от Patron Посмотреть сообщение
    Универсальный тест: MOVPC2.SAV позволяет определить число тактов, затрачиваемых любым процессором архитектуры PDP-11 на выполнение команды MOV с различными способами адресации относительно PC, не вошедшими в предыдущий тест MOVPC.SAV.

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

    [свернуть]
    Последний раз редактировалось Alex_K; 16.02.2019 в 23:21.

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

    По умолчанию

    Если добавить результаты из предыдущего теста, получится так:

    Код:
    :::::: SP = PC ::::::
    
    Mov    R0, (PC)       47
    Mov    R0, (PC)+      47
    Mov    R0, (SP)+      85
    
    MovB   R0, (PC)       57
    MovB   R0, (PC)+      57
    MovB   R0, (SP)+      94
    
    Mov   (PC),(PC)       82
    Mov   (SP),(SP)+     102
    
    MovB  (PC),(PC)       84
    MovB  (SP),(SP)+     113


    ---------- Post added at 22:16 ---------- Previous post was at 22:07 ----------

    Возникает интересный вопрос - а читает ли повторно 1801ВМ2 следующую ячейку памяти, если записать её с адресацией относительно PC ..

    Очень любопытно выглядит совпадение скорости выполнения команд, и исполняющих, и пропускающих следующее записанное слово.
    Последний раз редактировалось Patron; 26.02.2013 в 00:07.

  9. #218
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,567
    Спасибо Благодарностей отдано 
    1,227
    Спасибо Благодарностей получено 
    1,779
    Поблагодарили
    686 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Начнем. Выбрал только экраны для новых тестов.
    Эта ваша машина с плавающими таймингами для ПП не очень хороший вариант для тестов. На большинстве машин все тайминги ПП стоят как прибитые в диапазоне кратном 4 тактам.

    Кстати, и никаких сенсаций.

  10. #219
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    607
    Поблагодарили
    399 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Эта ваша машина с плавающими таймингами для ПП не очень хороший вариант для тестов. На большинстве машин все тайминги ПП стоят как прибитые в диапазоне кратном 4 тактам.

    Кстати, и никаких сенсаций.
    Посмотрите повнимательней результаты новых тестов относительно тестов Patron-а. Кое-где расхождение в два раза.

    ---------- Post added at 23:45 ---------- Previous post was at 23:43 ----------

    Цитата Сообщение от Patron Посмотреть сообщение
    Возникает интересный вопрос - а читает ли повторно 1801ВМ2 следующую ячейку памяти, если записать её с адресацией относительно PC ..

    Очень любопытно выглядит совпадение скорости выполнения команд, и исполняющих, и пропускающих следующее записанное слово.
    Если пишется слово по адресу предвыборки, то процессор заново перечитывает его после исполнения текущей команды. У Titus-а в тестах в таких случаях получалось различие в 52 такта.

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Кое-где расхождение в два раза.
    При тесте команд
    Код:
    Mov     (PC),(PC)+
    MovB    (PC),(PC)+
    похоже не было учтено, что следующее слово пропускается - поэтому, если не разделить количество "пройденных" слов на 2 - скорость получается в два раза выше.

    Что же до команд
    Код:
    Mov     (PC),R0
    MovB    (PC),R0
    весьма похоже, что в отличие от всех остальных команд - скорость у них и в словном, и байтовом вариантах одинаковая.

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

Страница 22 из 63 ПерваяПервая ... 181920212223242526 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 234
    Последнее: 26.02.2021, 11:05
  2. Время выполнения команд CPI/CPD/CPIR/CPDR
    от ARTi в разделе Программирование
    Ответов: 27
    Последнее: 18.12.2007, 16:32

Ваши права

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