User Tag List

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

Тема: М8 и я

  1. #71

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,508
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    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.

  2. #72

    Регистрация
    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? Интересно было бы увидеть собственно на процессоре.

  3. #73

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,508
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    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 нс.

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

  4. #74

    Регистрация
    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)

  5. #75

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,508
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    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

  6. #76

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

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    искусственно затормозим в два раза чтение из памяти для J-11, а ВМ3 будет работать на полной. Думаю, это неправильно
    Из моего предыдущего поста вполне очевидно что J11 с кешем быстрее, тут интересного немного.
    Правильно было бы обеспечить эквивалентно-равную частоту ядрам (5/10) и равный доступ к памяти и сравнить эффективность именно ядер. Но как это сделать, когда у процессоров соотношения частот шины и ядра разные - непонятно. Это только переносить ядра на FPGA и делать одинаковый ввод-вывод на одной и той же шине.

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

  8. #77

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

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    и равный доступ к памяти
    Равный доступ в нашем случае - это не искусственное замедление работы проца при достаточно быстрой памяти. Для J-11 это ситуация, когда кэщ не промахивается. DEC делала платы с J-11 и без кэша с быстрой памятью - 11/93. И его производительность - максимальная для J11 - 1 vup. Модель с таким же по частоте процом (18 МГц) и с кэшем - 11/83 - 0.72 VUP.

    Тогда и для ВМ3 надо замедлять память.

    А ещё - память у ВМ3 сидит рядом, а J-11 обращается к ней через корзину - поэтому, думаю, и пришлось поставить задержку с выдачей RPLY, что бы данные устаканились.

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

  9. #78

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

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    а ВМ3 будет работать на полной.
    Я, кстати, про диаграммы и спросил - потому что интересно за сколько тактов ВМ3 обращается к памяти. Если там 4 такта @5MHz, то условия с J-11 без кеша (8 тактов @10 MHz) будут равными.

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

    Цитата Сообщение от Hunta Посмотреть сообщение
    Так что в данной варианте адекватных результатов мы не получим - надо оба проца сажать в одинаковые условия работы с памятью.
    У них разные блоки ввода-вывода и разные соотношения частот к ядру, пока непонятно можно ли это сделать. Можно достичь только какого-то приближения, вариант с равным доступом 800нс - один из возможных.

  10. #79

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

    По умолчанию

    Я пробовал убирать задержку - начинали работать неустойчиво ПЗУ и ОЗУ. То есть в любой момент могла вылететь система или код в ПЗУ.
    Но судя по тому, что до какой то степени работал - можно попробовать по спаду выдавать RPLY

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

    Цитата Сообщение от Vslav Посмотреть сообщение
    Если там 4 такта @5MHz
    SSYNC выдаётся сразу с SYNC, RPLY сразу на DIN(DOUT) - думаю - три такта

  11. #80

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

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    SSYNC выдаётся сразу с SYNC, RPLY сразу на DIN(DOUT) - думаю - три такта
    Надо смотреть реальные диаграммы. Я тоже думал что на моем стенде 3 такта, но SignalTap меня в этом разубедил, пришлось ухищряться и даже менять прошивку MAX3064 на модуле чтобы выйти на 3 такта. Проблема была в позднем снятии REPLY по снятию DIN/DOUT, пока сигнал DIN/DOUT проходил с ВМ3 через буфер на 3064, обрабатывался автоматом состояний на 50МГц внутри основной платы, снимался RPLY и проходил обратно через 3064 на процессор - ВМ3 на частоте 5+МГц считал что RPLY не снят вовремя и не начинал новый цикл. Пришлось добавить RPLY &= DIN | DOUT внутри MAX3064 и это помогло. Любопытно что помогало и снижение частоты ВМ3 - на 4МГц процессор успевал увидеть снятый RPLY и тратил тоже только 3 такта на цикл шины.

    PS. Можно просто запустить цикл из сотни MOV подряд и посмотреть скопом на частоту SYNC.
    Последний раз редактировалось Vslav; 12.04.2020 в 18:43.

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

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

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

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

Ваши права

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