User Tag List

Страница 82 из 120 ПерваяПервая ... 787980818283848586 ... ПоследняяПоследняя
Показано с 811 по 820 из 1199

Тема: Эмулятор УКНЦ - EmuStudio

  1. #811

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Такой вариант исключён и для ВМ1 и для ВМ2. Они хранят только одно прочитанное слово и это слово всегда команда.

    Дело в том, что предвыборка у ВМ1 и ВМ2 начинается только тогда, когда точно известно, что больше обращений к шине у текущей команды не будет. Такое бывает лишь в 2х случаях:

    1. Операция начата, а приёмник результата операции - регистр.
    2. Запись результата операции в память уже выполнена.

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

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

  3. #812

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

    По умолчанию

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

    Из-за того, что продолжительность выполнения практически всех команд ВМ1 - почти точно равна продолжительности используемых в этих командах циклов шины ( т.к. при выполнении любой команды циклы идут по шине "сплошняком" ) - чем позже в ход выполнения команды будет "всунут" цикл предвыборки - тем выше будет итоговое быстродействие.

    Оптимальная ( с точки зрения итогового быстродействия ) позиция для "всовывания" цикла предвыборки в команду - после завершающего шинного цикла команды, когда уже точно известно - нужна предвыборка или нет. ВМ1 так и делает - начиная предвыборку следующей команды после завершения последнего шинного цикла предыдущей.

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

    Но какой от этого выигрыш, кроме неизбежного проигрыша в быстродействии - совершенно не понятно.
    Последний раз редактировалось Patron; 19.12.2012 в 23:40.

  4. #813

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

    По умолчанию

    Обьясни по шагам методику предвыборки на ВМ1?

    У ВМ2 примерно так:

    Декодируем и исполняем предвыбранную в предыдущий раз команду, а в это время одновременно читаем слово следующей команды. Если в команде есть цикл обращения к шине, то он будет выполнен как только закончился цикл предвыборки, на сколько я понимаю.

  5. #814

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

    По умолчанию

    Предвыборка у ВМ1 - для большинства команд ( кроме команд EIS в военных версиях ) - это начало чтения следующей команды в тот момент, когда арифметический блок ещё устанавливает биты PSW в ходе текущей команды. Так ВМ1 экономит по 1 такту на каждой регистровой команде ( или полный цикл чтения на каждой команде EIS { это в теории - для практической проверки нужен ВМ1 с EIS } ). Но на каждой не-регистровой команде ВМ1 теряет по 2 такта ( возможно, по 1 такту - это надо уточнить ) из-за штрафа отмены предвыборки ( опять же в теории - на практике это может быть просто задержка получения исполнительного адреса ).

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

    ---------- Post added at 23:13 ---------- Previous post was at 23:05 ----------

    Кстати, если ВМ2 теряет по циклу чтения на каждой итерации цикла SOB - быстродействие цикла SOB у 5 МГц ВМ1 и 10 МГц ВМ2 должно совпадать. Это, типа - получается этакая супер-совместимость по программным задержкам у ВМ1 и ВМ2 !!!
    Последний раз редактировалось Patron; 20.12.2012 в 11:29.

  6. #815

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Предвыборка у ВМ1 - для большинства команд ( кроме команд EIS в военных версиях )
    Что такое EIS команды, и почему в военной версии?

  7. #816

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Что такое EIS команды, и почему в военной версии?
    ВМ1 (насколько я понял) был разработан с поддержкой команд Mul и Div. Те кристаллы, у которых эти блоки работали без проблем - шли на спецприменения, а у остальных эти команды отключались.

  8. #817

    Регистрация
    11.01.2006
    Адрес
    Брест/Минск
    Сообщений
    8,398
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    188
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    60 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    а у остальных эти команды отключались.
    типа отбраковка была?
    С уважением, Александр.
    Scorpion ZS-256 Turbo+ GMX-2048
    SID-Blaster/ZX
    Музей ретрокомпьютеров в Минске!
    Здесь ничего нет => http://byteman.by
    И здесь тоже --->>> http://bytespace.by

  9. #818

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

    По умолчанию

    Цитата Сообщение от BYTEMAN Посмотреть сообщение
    типа отбраковка была?
    В названии после ВМ1 шла буква, в зависимости от которой возможности процессоров сильно различались.

  10. #819

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

    По умолчанию

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

  11. #820

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Странно, что какой-то блок мог не получаться. Топология-то везде одинаковая, на всем кристалле.
    Значит просто секретили, по принципу "русский, когда хитрит - притворяется дураком".

    Кстати, насчёт потери полного цикла чтения на каждом переходе - я погорячился. Например, прочитав код команды JMP (R0) процессор ВМ1 впадает в ступор на добрых 12 тактов ( как будто "прокручивает в уме" тот самый "потерянный цикл DATI" процессора ВМ2 ). Если же переход происходит по абсолютному адресу или смещению - то именно это слово и будет прочитано процессором ВМ2 в ходе предвыборки.

Страница 82 из 120 ПерваяПервая ... 787980818283848586 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Эмулятор УКНЦ - UKNCBTL
    от nzeemin в разделе Эмуляторы отечественных компьютеров
    Ответов: 1114
    Последнее: 08.01.2025, 01:15
  2. PS/2 клавиатура в УКНЦ
    от balu_dark в разделе ДВК, УКНЦ
    Ответов: 83
    Последнее: 10.01.2021, 10:51
  3. Как проверить УКНЦ и КМД ? Help
    от Andrey_Ak в разделе ДВК, УКНЦ
    Ответов: 37
    Последнее: 23.07.2020, 15:50
  4. УКНЦ и шина МПИ
    от KALDYH в разделе ДВК, УКНЦ
    Ответов: 18
    Последнее: 14.03.2014, 14:30
  5. Продаю УКНЦ
    от Gryphon в разделе Барахолка (архив)
    Ответов: 10
    Последнее: 01.04.2009, 10:22

Ваши права

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