User Tag List

Страница 8 из 11 ПерваяПервая ... 4567891011 ПоследняяПоследняя
Показано с 71 по 80 из 116

Тема: М8 и я

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Интересно было бы узнать про конфигурацию памяти.
    ВМ3 работает на плате PDP-2018? Статическая память? Сколько циклов занимает чтение слова?
    М8 имеет на борту кеш, основная память тоже на борту PDP-2018?

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

  3. #2

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,557
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    720
    Поблагодарили
    602 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    И ВМ3 и J-11 используют одну и ту же статическую память.

    Но для ВМ3 она на той же плате и работают они от одного и того же тактового генератора 20 МГц, только для ВМ3 делится на 4.
    А для J-11 это внешняя плата, тактовый генератор тот же - 20 МГц

    Я сделал модуль ОЗУ-ПЗУ из 1201.2018 - на плате нет процессора и изменена прошивка.

    Но вот конфигурация немного отличается. Сказать с ходу, сколько тактов занимает чтение слова (для J-11?) - не могу, модуль писался из принципа - что бы заработало, пока никакой оптимизации. Но могу предположить, что чтение - скорее всего 2 такта на 20 МГц

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

    Конфигурация прошивки

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

    Посмотрел код. После прилёта DIN или DOUT - RPLY прилетит на следующем такте.
    Но вот оценить - сколько всё продлится от выдачи SYNC - не могу...

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

    То есть на плате с ВМ3 как только прилетает DIN или DOUT - сразу RPLY
    А на J-11 - после прилёта DIN или DOUT - задержка RPLY на один 20 МГц-овый такт

  4. #3

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    И ВМ3 и J-11 используют одну и ту же статическую память.
    Я предполагаю что там кеш на борту М8 играет. Его же можно отключить и попробовать на голой статической памяти?

  5. #4

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,557
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    720
    Поблагодарили
    602 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Судя по тому, что я наблюдал (разные показали скорости скорости сложения регистр - память в SPEED) - кэш играет свою роль.
    Возможно, там как раз плата стартует с выключенной или включённой кэш памятью.
    Вот только как это делается - я пока не понимаю.
    Способ, который я знаю - выставить бит cache bypass в регистре управления кэшом.
    Но он сбрасывается при выполнении команды RESET
    Она выполняется, когда входишь в код ПЗУ из MicroODT
    Можно, конечно, попробовать его выставить уже из ПЗУ и потом загрузиться, но пройдёт ли такой фокус - с ходу не скажу.

    По хорошему, надо сделать как в KDJ-11E - полностью отказаться от кэша, но учитывая, что на процессоре есть вход MISS L (промах кэша) - нужно, что бы на нём всегда висела единица.

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

    Вдогонку.

    Судя по документации - если пришёл сигнал MISS L, J-11 увеличивает длительность цикла шины минимум в два раза (то есть из кэша цикл - 4 такт, промах - и уже минимум 8 тактов, даже если RPLY прилетит раньше), ну и дальше шаг 2 такта
    Последний раз редактировалось Hunta; 12.04.2020 в 17:12.

  6. #5

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Судя по документации - если пришёл сигнал MISS L, J-11 увеличивает длительность цикла шины минимум в два раза (то есть из кэша цикл - 4 такт, промах - и уже минимум 8 тактов, даже если RPLY прилетит раньше, ну и дальше шаг 2 такта)
    Я правильно понимаю что это такты 10МГц? Число микроциклов не увеличивается, просто растягивается цикл внешнего обращения к шине.
    Поэтому просто поделить 10/4 и сказать что J-11 работает на 2.5МГц не совсем корректно.
    С ВМ3 ситуация другая, там частота внешней шины и ядра одинаковые. В ВМ3 добавили отдельный сумматор на PC+2 и, учитывая предварительный декодер команд, эта штука стала тратить всего 2 такта на операции регистр-регистр, узким местом стала внешняя шина (и ВМ3 очень не помешал бы внутренний кеш). Вот и любопытно, насколько удачно это решено в J-11. Кстати, а сколько тактов занимает обращение ВМ3 к статической памяти платы 2018? Интересно было бы увидеть собственно на процессоре.

  7. #6

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,557
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    720
    Поблагодарили
    602 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Я правильно понимаю что это такты 10МГц
    Нет, это такты 20 МГц (на стороне памяти). То есть разборки с адресом, ожидание DIN (DOUT) - и вот тут не понятно сколько, а как только прилете DIN(DOUT) - задержка на один такт 20 МГц - и выдача RPLY. Без задержки не работало (видимо данные не успевали устаканиваться, но я думаю попробовать по спаду клока).

    Насчёт 2.5 МГц - безусловно - не совсем корректно, но думаю можно сказать, что это его макс частота на чтение. Кроме чтения (из памяти!) с попаданием в кэш и nop-операции (проц не работает с шиной, у него внутренние дела) - вроде все остальные операции идут растянутым циклом - то есть минимум 8 клоков.

    Но и 1600 операций сложения на регистр-регистр - это тоже как бы макс скорость ВМ3 Что тоже не совсем корректно

    Цитата Сообщение от Vslav Посмотреть сообщение
    Кстати, а сколько тактов занимает обращение ВМ3 к статической памяти платы 2018?
    Как только прилетает DIN(DOUT) - выдаётся RPLY без задержки. Насколько я помню, это даже не тактируется клоком Память выбрана, DIN(DOOT) прилетел - логическим выражением выдаётся RPLY - то есть только внутри CPLD-шные задержки, а она 10 нс. Микрухи памяти - 45 нс.

    Я могу снять диаграммы, но это уже скорее всего в следующие выходные

  8. #7

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Насчёт 2.5 МГц - безусловно - не совсем корректно, но думаю можно сказать, что это его макс частота на чтение. Кроме чтения (из памяти!) с попаданием в кэш и nop-операции (проц не работает с шиной, у него внутренние дела) - вроде все остальные операции идут растянутым циклом - то есть минимум 8 клоков.

    Но и 1600 операций сложения на регистр-регистр - это тоже как бы макс скорость ВМ3 Что тоже не совсем корректно
    Почему? 3 такта на инструкцию у ВМ3 - это реально наблюдалось

    Сравним ВМ3 5 МГц и J11 на 10 МГц, рег-рег, без ветвлений и с идеальными доступом к памяти:

    1801ВМ3@5MHz - 3 такта на инструкцию (из них один такт ядро простаивает) - 600нс/инструкция
    J11@10MHz 10- 4 такта на инструкцию (попали в кеш) - 400нс/инструкция

    Итого - на штатных частотах ВМ3 проиграл, потому что медленная шина. Но если J11 лишить кеша, то ситуация может и поменяться
    А ядра у них на этих частотах одинаковые 2такта/инструкция и 4такта/инструкция дают одинаковые 2.5MIPS.

    Цитата Сообщение от Hunta Посмотреть сообщение
    Я могу снять диаграммы, но это уже скорее всего в следующие выходные
    SignalTap втыкнуть, должно все сразу все показать.

    Этот пользователь поблагодарил Vslav за это полезное сообщение:

    hobot(12.04.2020)

  9. #8

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,557
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    720
    Поблагодарили
    602 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Почему? 3 такта на инструкцию у ВМ3 - это реально наблюдалось
    Я не про то, что наблюдалось или не наблюдалось (знаю, что наблюдалось), я про то, что, как и в случае с 4 тактами у J-11 - это скорее редкость, чем правило

    Цитата Сообщение от Vslav Посмотреть сообщение
    Но если J11 лишить кеша
    Фокус в том, что именно лишить (та же быстрая память, которая БУДЕТ успевать работать со скоростью J-11), а не запретить. Потому как если кэш запретить - будут растянутые циклы по 8 тактов, когда J-11 ждёт якобы медленную память (а она та же самая, что и у ВМ3, то есть отнюдь не медленная). То есть по сути мы просто искусственно затормозим в два раза чтение из памяти для J-11, а ВМ3 будет работать на полной. Думаю, это неправильно

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

    Сигналтап - да, но у меня с сигналтапом только FPGA на мультиконтроллере, а там мало ячеек. Надо специально тест нарисовать. Попробую.

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

    Результат генерации на (почти) 15 МГц

    15 МГц:

    18:59:36
    15:28:47
    03:30:49

    10 МГц:

    19:16:26
    14:35:43
    04:40:43

    Против времени ВМ3

    15:59:13
    09:49:43
    06:09:30

  10. #9

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,557
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    720
    Поблагодарили
    602 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    intRAMReply_L <= SYNTHESIZED_WIRE_x207 or (intDIN_L and intDOUT_L);

    Думаю, RPLY снимается быстро

    Попробовал сделать задержку с RPLY по спаду клока

    Было
    Код:
    .RUN LD:SPEED
    
    ТЕСТ БЫСТРОДЕЙСТВИЯ
    
    КОМАНДА СЛОЖЕНИЯ РЕГИСТР-РЕГИСТР
    БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК)      528
    
    КОМАНДА СЛОЖЕНИЯ РЕГИСТР-ПАМЯТЬ
    БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК)      424
    
    КОМАНДА УМНОЖЕНИЯ РЕГИСТР-РЕГИСТР
    БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК)      136
    
    КОМАНДА ДЕЛЕНИЯ РЕГИСТР-РЕГИСТР
    БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК)      336
    .
    Стало

    Код:
    .RUN LD:SPEED
    
    ТЕСТ БЫСТРОДЕЙСТВИЯ
    
    КОМАНДА СЛОЖЕНИЯ РЕГИСТР-РЕГИСТР
    БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК)      560
    
    КОМАНДА СЛОЖЕНИЯ РЕГИСТР-ПАМЯТЬ
    БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК)      432
    
    КОМАНДА УМНОЖЕНИЯ РЕГИСТР-РЕГИСТР
    БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК)      136
    
    КОМАНДА ДЕЛЕНИЯ РЕГИСТР-РЕГИСТР
    БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК)      352
    .
    - - - Добавлено - - -

    Ну.. на скорости копирования в ноль не сильно сказалось - 1:53 против 1:55

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

    Щас погоняю ещё J-11 на предмет устойчивости - и попробую глянуть сигналтапом

  11. #10

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Ну.. на скорости копирования в ноль не сильно сказалось - 1:53 против 1:55
    На данный момент наиболее интересно сколько реально тактов тратит на цикл шины ВМ3, это ключевой момент.
    J11 считаем, в-основном, попадает в кеш. Тогда мы как-то сможем оценить уже проделанные тесты по генерации системы.

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

    Цитата Сообщение от MiX Посмотреть сообщение
    Может быть пропустить его через ТЛку или хотя бы подтянуть резистором. Фронт будет покруче и будет зацеп.
    Нет, там именно была очень жесткая времянка между снятием DIN и анализом RPLY внутри процессора. 50нс задержки оказалось много.

    Вот мой пост по теме.
    Последний раз редактировалось Vslav; 12.04.2020 в 19:07.

Страница 8 из 11 ПерваяПервая ... 4567891011 ПоследняяПоследняя

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

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

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

Ваши права

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