1 (04.11.2011 19:59:06 отредактировано EXL)

Тема: Разгон процессора Freescale ARM11 (SCMA-11), i.MX31

[size=4]Введение:[/size]

Добрый день, дорогие друзья! Так сказать товарищи по платформе big_smile
Заранее извиняюсь перед модераторами, если тема размещена в неправильном разделе, и буду рад, если её переместят в правильный. (Флейм, например. Или где у вас тут обсуждаются околонокиевые вещи? smile ) Тема - небольшой аналог данной темки, и будет интересна лишь узкому кругу разработчиков.

Собственно имеется такой вот девайс: http://habrahabr.ru/blogs/gadgets/113321/
Вкратце: Внутри линь (Mobilinux 4.1 с ведром 2.6.10_dev), 64 RAM и камень ARM11 (arm1176jz-s) работающий на частотах от 133 (при простое и выключенной подсветке) до 532 (при нагрузке). Т.е режимы работы процессора следующие:
- 133 MHz
- 266 MHz
- 399 MHz
- 532 MHz
Т.к устройство мне уже практически не нужно, мне бы хотелось just for fun увеличить частоту процессора при нагрузке до 600-800(900) MHz. В принципе для этого имеется всё что нужно, а именно:
1. Исходники ядра.
2. Тулчейн для сборки ядра.
3. Программа для сборки прошивки.
4. Флешер.
Я подсмотрел некоторые действия по разгону смартфонов работающих под управлением Meego/Maemo вот здесь:
http://goo.gl/Tpz08
И думаю, что слишком сильно способы отличаться не будут.
Главной целью данной темы служит нахождение и изменение в сорцах ядра тех параметров, которые отвечают за работу процессора, его частоту (вольтаж/vsel??)

[size=4]Общая информация:[/size]

При стандартном кастомном ядре устройство выдаёт следующее на команду cat /proc/cpuinfo:

 cat /proc/cpuinfo
Processor       : Some Random V6 Processor rev 1 (v6l)
BogoMIPS        : 354.70
Features        : swp half thumb fastmult vfp edsp java
CPU implementer : 0x41
CPU architecture: 6TEJ
CPU variant     : 0x1
CPU part        : 0xb36
CPU revision    : 1
Cache type      : write-back
Cache clean     : cp15 c7 ops
Cache lockdown  : format C
Cache format    : Harvard
I size          : 16384
I assoc         : 4
I line length   : 32
I sets          : 128
D size          : 16384
D assoc         : 4
D line length   : 32
D sets          : 128

Hardware        : Motorola Product - SCM-A11 Phone
Revision        : 0021
Serial          : 0000000000000000

Производительность тестируется графическим* бенчмарком GPmark и составляет такую картину:
http://motodev.do.am/Site/Pictures/gpmark/motorola_zn5_HW_LIB_532.jpg
[size=1]* Т.к графического акселератора в девайсе нет, вся нагрузка приходиться на CPU.[/size]

[size=4]Инструменты:[/size]

1. Cорцы ядра нашего телефона с патчами от Motorol'ки:
http://rghost.ru/28528111 и http://zalil.ru/31993702
2. Лог компиляции ядра:
http://pastebin.com/4tZFL6fg
3. Папка arch/arm/mach-mxc91231, которая судя по логу компилируется (аналог arch/arm/mach-omap2 в Maemo):
http://rghost.ru/28529211 http://zalil.ru/31993735

[size=4]Экспериментальная часть:[/size]

Я буду уведомлять вас о результатах данной работы, и отправлять результаты бенчмарков итд. итп.
От вас мне лишь требуется так сказать наставление на путь истинный. К сожалению я не знаю что именно править в исходниках ядра. Проверка результатов будет лежать на мне.

На данный момент я набрался смелости и попробовал изменить файл arch/arm/mach-mxc91231/clock.c:
http://s1.ipicture.ru/uploads/20111104/TP6WP1DE.png

Заменив в нём значения с 26000000 на 60000000. (Якобы эквивалентно повышению частоты работы с 26 до 60 мгц??)

...
#define MXC_PLL_REF_CLK                         60000000
#define NO_UPDATE                               -1

/*
 * Define reference clock inputs
 */
#define CKIH_CLK_FREQ               60000000

#ifdef CONFIG_MOT_WFN420
...

При включении устройства получил следующие проблемы:
1. Телефон не определяет батарею. Но работает.
http://s2.ipicture.ru/uploads/20111104/v5kHTQEJ.png
2. На дисплее появились артефакты (синие линии), видные только на чёрном фоне. (Скриншоты снимаются нормально.)

Я так понял это точно частота чего либо другого. Например DSP/MXC?? Изменение его частоты и вызвало данный баг. Гугление MXC_PLL_REF_CLK  для меня ничего вразумительного не дало.
Как видно из бенчмарка, результаты немного "просели":
http://s2.ipicture.ru/uploads/20111104/LyeUuU2h.png
Зато в cat /proc/cpuinfo поменялось значение BogoMIPS с 354.70 до:

BogoMIPS        : 354.71

big_smile Как я понял, изменения данных значений лишь частично влияют на общую производительность устройства.
Нормальную работу девайса удалось вернуть прошивкой нормального (стабильного) ядра.

Проверьте файлик arch/arm/mach-mxc91231/mxc_pm.c там очень много значений частот процессора, вот только как править даже и не знаю sad

Ну собственно меня пока только на это и хватило. Выслушаю и попробую реализовать ваши идеи. С удовольствием отвечу на вопросы об устройстве.

Поделиться

2

Re: Разгон процессора Freescale ARM11 (SCMA-11), i.MX31

У меня есть предположение,что на частоте 800-900 мегагерц вполне может сгореть процессор.или будут ужасающие и бесконечные ребуты(хотя по-моему проц быстрее сдохнет).

Добавлено: 05.11.2011 23:37:09

MAX PAIN пишет:

У меня есть предположение,что на частоте 800-900 мегагерц вполне может сгореть процессор.или будут ужасающие и бесконечные ребуты(хотя по-моему проц быстрее сдохнет).

это эквивалентно разгону н900 до 1800-1900 мегагерц.хотя может я и ошибаюсь. smile

Сижу на iphone 5s, n900 лежит в коробке в шкафу

Поделиться

3

Re: Разгон процессора Freescale ARM11 (SCMA-11), i.MX31

MAX PAIN, ну мне бы поднять на немного хотя бы smile
Я нашёл два вот таких файлика:
mxc_pm.c: http://pastebin.com/0EVQmk4V
mxc_pm.h: http://pastebin.com/FfUjibYU

Позовите в тему программистов, может они объяснят что к чему smile

Поделиться

4

Re: Разгон процессора Freescale ARM11 (SCMA-11), i.MX31

MAX PAIN пишет:

У меня есть предположение,что на частоте 800-900 мегагерц вполне может сгореть процессор.или будут ужасающие и бесконечные ребуты(хотя по-моему проц быстрее сдохнет).

Добавлено: 05.11.2011 23:37:09

MAX PAIN пишет:

У меня есть предположение,что на частоте 800-900 мегагерц вполне может сгореть процессор.или будут ужасающие и бесконечные ребуты(хотя по-моему проц быстрее сдохнет).

это эквивалентно разгону н900 до 1800-1900 мегагерц.хотя может я и ошибаюсь. smile

если учесть, что проц н900 гонится до двух раз, очень редко, но были случаи успешного разгона до 1200
соответственно, 532 в теории можно гнать до 1064мгц
и так как до 1000 н900 гонятся почти в 99% случаев, сабжовая машинка на 900мгц вполне себе поедет
EXL не знаешь, сколько нан у твоего камня литография?
у нас на н900  вроде 60нм

Поделиться

5

Re: Разгон процессора Freescale ARM11 (SCMA-11), i.MX31

2 littre

наш процессор работает на 1 ггерце. просто для н900 его понизили до 600. так что он разгоняется только на 200 мгерц по сути.

Поделиться

6 (10.11.2011 04:56:16 отредактировано EXL)

Re: Разгон процессора Freescale ARM11 (SCMA-11), i.MX31

littre пишет:

EXL не знаешь, сколько нан у твоего камня литография?

45 нм вроде. У вас есть на форуме разрабы С/С++? Позовите их в эту темку пожалуйста smile Пусть посмотрят файлики:
mxc_pm.c: http://pastebin.com/0EVQmk4V
mxc_pm.h: http://pastebin.com/FfUjibYU

Поделиться

7

Re: Разгон процессора Freescale ARM11 (SCMA-11), i.MX31

На днях поковырялся в ядре и немного повысил частоту работы процессора.
В целом, производительность устройства увеличилась. Это можно судить по тестам:

532 MHz:
http://motodev.do.am/Site/Pictures/CPUZN5/533.png

665 MHz:
http://motodev.do.am/Site/Pictures/CPUZN5/665.png

798 MHz:
http://motodev.do.am/Site/Pictures/CPUZN5/798.png

Кроме того аппарат начал быстрее работать в некоторых меню, к сожалению поднятие частоты процессора конечно же не помогло избавится полностью от глюков и фризов Qt оболочки. Телефон нормально запускается и работает на 798 MHz у меня уже примерно две недели.
Насчёт продолжительности от работы аккумулятора точно сказать не могу, т.к имею убитый на морозе аккум. Но скажу точно, денёк у меня держит, если не играть и пользоваться телефоном - как телефоном.
Кроме того, немного повысилась производительность в играх и эмуляторах. Например, pscx4all стал работать быстрее, Picodrive от rock88 вообще выдаёт фуллспид, а в quake 1 разогнался настолько, что играть стало нереально. Подробнее можете посмотреть на видео:

Поделиться