Raspberry Pi:Настройка/«Турбо-режим»: 50-процентное улучшение производительности

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


//в процессе обработки

«Турбо-режим»: 50-процентное улучшение производительности[1]

Raspberry Pi поддерживает аппаратный разгон и подачу повышенного напряжения с самого релиза, и делается это при помощи редактирования файла config.txt. Чем больше подается питания, тем больше возможностей для разгона, однако подача повышенного напряжения аннулирует гарантию на Pi, т.к. это, по мнению компании-производителя, сокращает срок эксплуатации SoC. Причем, они поместили внутрь BCM2835 sticky-бит, с помощью которого определяют, какие платы были подвергнуты подаче повышенного питания, а какие нет.

Кроме того, они много работали, пытаясь понять, как напряжение и температура влияют на срок жизни платы, и теперь готовы предложить новый «Турбо-режим», который динамически активирует разгон и подачу повышенного напряжения под управлением драйвера cpufreq, но при этом никак не влияя на вашу гарантию. Таким образом, режим «Турбо» будет включаться, когда Pi начнет заниматься чем-то трудоемким, но будет ограничен, если внутренняя температура BCM2835 достигнет 85 градусов Цельсия. Благодаря этому негативное влияние на срок жизни будет сведено к минимуму.

Теперь в raspi-config можно будет выбрать между пятью различными разгонными пресетами, самый высокий из которых разгоняет ARM до 1 Гц. Наиболее стабильные разгонные настройки вам лучше подобрать самостоятельно, т.к. они будут зависеть от вашей конкретной Pi и качества электропитания. И, на наш взгляд, хорошим способом протестировать стабильность разгона будет Quake 3. В случае, если разгонные настройки будут слишком высокими и Pi не загрузится, то во время загрузки нужно зажать клавишу Shift — это отключит разгон для данной загрузки, тем самым позволив вам выбрать более слабый уровень.

Хорошо, ну а как насчет конкретных цифр? Если сравнивать работу Pi при активированном «Турбо-режиме» на 1 Гц и прежними 700 Гц, то тестирование через nbench показывает 52% прироста производительности при работе с целыми числами, 64% — с числами с плавающей точкой и 55% — при работе с памятью.

Прежний результат:

BYTEmark* Native Mode Benchmark ver. 2 (10/95)
Index-split by Andrew D. Balsa (11/97)
Linux/Unix* port by Uwe F. Mayer (12/96,11/97)

TEST : Iterations/sec. : Old Index : New Index
 : : Pentium 90* : AMD K6/233*
--------------------:------------------:-------------:------------
NUMERIC SORT : 222.08 : 5.70 : 1.87
STRING SORT : 31.659 : 14.15 : 2.19
BITFIELD : 7.1294e+07 : 12.23 : 2.55
FP EMULATION : 44.808 : 21.50 : 4.96
FOURIER : 2188.1 : 2.49 : 1.40
ASSIGNMENT : 2.6545 : 10.10 : 2.62
IDEA : 671.41 : 10.27 : 3.05
HUFFMAN : 414.2 : 11.49 : 3.67
NEURAL NET : 2.9586 : 4.75 : 2.00
LU DECOMPOSITION : 77.374 : 4.01 : 2.89
=====================ORIGINAL BYTEMARK RESULTS=====================
INTEGER INDEX : 11.414
FLOATING-POINT INDEX: 3.619
Baseline (MSDOS*) : Pentium* 90, 256 KB L2-cache, ...
=========================LINUX DATA BELOW==========================
CPU :
L2 Cache :
OS : Linux 3.1.9+
C compiler : arm-linux-gnueabihf-gcc
libc : static
MEMORY INDEX : 2.447
INTEGER INDEX : 3.192
FLOATING-POINT INDEX: 2.007
Baseline (LINUX) : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, ..
* Trademarks are property of their respective holder.

Результат работы образа при разгоне до 1 Гц:

BYTEmark* Native Mode Benchmark ver. 2 (10/95)
Index-split by Andrew D. Balsa (11/97)
Linux/Unix* port by Uwe F. Mayer (12/96,11/97)

TEST : Iterations/sec. : Old Index : New Index
 : : Pentium 90* : AMD K6/233*
--------------------:------------------:-------------:------------
NUMERIC SORT : 340.8 : 8.74 : 2.87
STRING SORT : 47.52 : 21.23 : 3.29
BITFIELD : 1.05e+08 : 18.01 : 3.76
FP EMULATION : 66.32 : 31.82 : 7.34
FOURIER : 3431 : 3.90 : 2.19
ASSIGNMENT : 4.5311 : 17.24 : 4.47
IDEA : 991.67 : 15.17 : 4.50
HUFFMAN : 615.08 : 17.06 : 5.45
NEURAL NET : 4.76 : 7.65 : 3.22
LU DECOMPOSITION : 135.12 : 7.00 : 5.05
=====================ORIGINAL BYTEMARK RESULTS=====================
INTEGER INDEX : 17.356
FLOATING-POINT INDEX: 5.933
Baseline (MSDOS*) : Pentium* 90, 256 KB L2-cache, ...
=========================LINUX DATA BELOW==========================
CPU :
L2 Cache :
OS : Linux 3.2.27+
C compiler : arm-linux-gnueabihf-gcc
libc : static
MEMORY INDEX : 3.810
INTEGER INDEX : 4.768
FLOATING-POINT INDEX: 3.291
Baseline (LINUX) : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, ..
* Trademarks are property of their respective holder.

Среди других изменений в последнем апдейте прошивки:

Виджеты для температуры и частоты.

На панели задач LXDE теперь доступен температурный виджет, показывающий, насколько температура приблизилась к 85°C, а также виджет cpufreq, показывающий текущую частоту ARM. Более подробно — тут.

Снижение коэффициента прерываний в USB.

USB-драйвер проапгрейден «фиксом FIQ» от Гордона — он снижает коэффициент прерываний, увеличивая общую производительность на 10%.

WiFi теперь доступен сразу же.

Если ваш WiFi-драйвер поддерживается дефолтным Linux-деревом или базируется на популярном чипсете RTL8188CUS, то WiFi должен работать сразу же, т.е. не требуя никаких дополнительных настроек. Подключите WiFi-адаптер (желательно через автономно питаемый USB-хаб) и загрузите образ. Запустите startx и выберите «WiFi Config». Тут, т.е. в GUI, можно поискать доступные WiFi-сети, ввести пароль и, наконец, подключиться. Установки дополнительных пакетов и скриптов не требуется.

Улучшенное аналоговое аудио.

Качество аналогового аудио было улучшено.

Некоторое дополнительное ПО теперь установлено по умолчанию.

SmartSim и PenguinsPuzzle теперь будут предустановленными.

Если вы используете старый образ, его можно обновить командой

sudo apt-get update && sudo apt-get upgrade

— она должна установить все самые последние обновления.

Спасибо MrEngman за его советы пользователям с разными WiFi-адаптерами, Дориану Пику (Dorian Peake) за температурный и разгонный (cpufreq) драйверы, а также Дмитрию Дудкину за работу над драйверами для USB и SD card.

См.также

Внешние ссылки