Skip to content

Ryazha-clk v3.2.1

Choose a tag to compare

@Dimasick-git Dimasick-git released this 12 Sep 16:36
· 16 commits to main since this release
ad293ff

Ryazha-clk v3.2.1

Кратко

Релиз про память и удобство настройки. Три темы:

  1. Двенадцать новых ручек пропускной способности — очередь и пороги арбитра, доля процессора в арбитраже (PTSA), развороты шины и покрытия строк, терминация и сила драйверов чипа. Всего ручек теперь двадцать восемь.
  2. Исправлено направление ручек-задержек: плюс — медленнее. В 3.2.0 подсказки, руководство и шаблон timings.ini утверждали обратное.
  3. Экран ручек переделан — полки, шкалы в одном направлении, подписанный сток, короткие подсказки. Демон сам проверяет, дошли ли ручки арбитра до железа.

Ревизия таблицы настроек поднята до CUST_REV 35. Кип, сисмодуль и оверлей обновляются только вместе.


Память

Двенадцать новых ручек

Всё, чего движок лестницы не пишет, ступень разгона получает из стоковой таблицы 1600 МГц. На 2934 МГц арбитр держал тот же лимит очереди и тот же троттлинг, а чип — те же ODT и силу драйверов, что и на 1600.

Полка Ручки
Арбитр доля ЦПУ (PTSA), очередь запросов, троттлинг кольца, развороты шины, покрытия строк
Пороги арбитра PREVN, PRE, SOON
Терминация драйвер DQ чипа (MR3), ODT данных и команд (MR11), ODT контроллера (MR22)

Ноль у каждой — «как считалось раньше»: нетронутый набор даёт бит в бит прежние таблицы.

Доля процессора (PTSA)

Движок на всех ступенях писал ставку PTSA 277 — ровно стоковый закон для 2133 МГц. В стоковых таблицах она строго пропорциональна частоте, поэтому на 2665.6 процессор получал на 20 % меньше закона, на 2934.4 — на 27 %. Положения: «как было», «по частоте» и «частота +10…+50 %». Для MicroMemBench это первый кандидат: он гоняет память именно процессором.

Развороты и покрытия арбитра

Развороты — во что арбитру обходится смена направления «чтение → запись». Положения R2W 32 / 48 / 64 заставляют дольше копить обращения одного направления.

Покрытия — сколько тактов арбитр закладывает на цикл строки. Удвоенные — в двух вариантах раскладки полей, А и Б: какой из них верен, по коду не решить, рассудит замер.

Приоритет арбитра: пара 13 / 39

К прежним положениям добавлена пара порогов 13 / 39 рядом со стоковой 12 / 36.

Направление ручек-задержек

У RL, WL, растяжек шины, запаса арбитра, окна активаций, tRPab, tW2P, tXP и tCKESR плюс добавляет такты — медленнее. В 3.2.0 подсказки, руководство и шаблон timings.ini утверждали обратное, и растяжки +8 «ради скорости» давали 9200 МБ/с против 11000 на той же памяти. Подписи исправлены везде.

Заодно растяжки больше не переполняют пятибитное поле регистра: rext 29 + 8 = 37 уходил в регистр обрезанным.

Проверка «дошло ли до железа»

После каждого живого применения демон читает регистры арбитра и PTSA — только чтение — и пишет в лог строку [hw]: сколько регистров сверено и какие не дошли. Ручка, чей регистр не дошёл, на поток не влияет. У очереди запросов сравнивается только настройка: средний байт регистра контроллер ведёт сам.

Регистры EMC пользователю недоступны, поэтому сон памяти и терминация так не сверяются.

Оверлей

Ручки по полкам

Вместо длинного списка — восемь полок: сон памяти, задержки, шина, арбитр, пороги арбитра, строки и банки, регенерация, терминация. У полки справа видно «сток» или «изменено N» — и в общем меню, и на экране отдельной частоты.

Шкалы в одном направлении

Раньше положения шли по сырому числу, и шкалы выходили вразнобой: у ODT за стоком 40 Ом сразу стояло самое слабое 240 Ом. Теперь у всех ручек сверху — мягче и медленнее, снизу — быстрее, сток подписан, одно значение не повторяется. Значение вне списка показывается как «своё: N» и не теряется.

Возврат на сток на экране частоты

Поправка, равная общему значению, больше не остаётся в timings.ini — строка стирается, звёздочка у ручки снимается сразу. Раньше ручка, возвращённая на сток, продолжала числиться «своей».

Короче подсказки

Подсказки длиннее двух строк ужаты, подписи, которые не помещались на ползунке рядом с названием, укорочены.

Падение ovlloader

Оверлей падал по адресу 0, когда слой уже закрыт — оверлей прятался или перезапускался, — а кадр ещё рисовался. Теперь без кадра рисование пропускается.

Демон

Меньше обращений к PMIC

На каждом шаге подъёма памяти и на каждом тике в меню демон делал лишние чтения PMIC по шине I2C, которую делит с pcv. Лишние обращения к этой шине у нас уже рвали транзакции pcv. Теперь рейл SoC сверяется только на смене ступени, а строка лога [ram] не перечитывает рейлы. Промах записи VDD2/VDDQ теперь пишется в лог. Это снижение риска: доказательства, что пачки системных падений вызывала именно шина, нет.

Тихий выход при выключении

На выключении консоли службы закрывают сессии, и демон падал на проверке датчика — за секунду до перезагрузки появлялся отчёт о падении. Теперь он пишет строку в лог и выходит молча.

Прочее

Документация

Раздел 10 руководства переписан под полки и новые ручки. Шаблон timings.ini.template дополнен двенадцатью ключами (outReq, ring1, prevn, preSlack, drvDQ, odtDQ, odtCA, odtSoC, ptsaCpu, soonSlack, daTurns, daCovers), направление в нём исправлено.

Из текстов продукта убраны имена сторонних проектов.


Артефакты

Release публикует Ryazha-clk.zip: кип rcu.kip, sysmodule, оверлей, exosphere.bin, конфиг-шаблоны, языковые файлы и ресурс уведомлений.

Собранный пакет также лежит в ветке main исходного репозитория, в каталоге dist/.

Установка

Распаковать в корень SD-карты с объединением каталогов atmosphere, config и switch. Полностью перезагрузить консоль — ревизия таблицы настроек изменилась, и старый кип с новым сисмодулем работать не будет. Настройки, которые хранятся в кипе, после обновления начнутся с заводских — запишите свои значения заранее.

Если консоль не загружается

Убрать atmosphere/kips/rcu.kip с карты — консоль поднимется на стоковых частотах. Тайминги по частотам (timings.ini) окирпичить не могут: они не участвуют в загрузке.