Как сделать загрузчик игры

Пишем свой bootloader

Это статья была написана для людей, которым всегда интересно знать как работают разные вещи. Для тех разработчиков которые обычно пишут свои программы на высоком уровне, C, C++ или Java — не важно, но при этом столкнулись с необходимостью сделать что-то на низком уровне. Мы будем рассматривать низкоуровневое программирование на примере работы bootloader-а.

Мы опишем что происходит после включения компьютера и как система загружается. В качестве практического примера, рассмотрим как вы можете написать свой собственный загрузчик, который фактически является отправной точкой при загрузки системы.

Что такое Boot Loader

Boot loader — это программа, которая записана на первом секторе жесткого диска. BIOS автоматически считывает всё содержимое первого сектора в память, сразу после включения питания. Первый сектор также называется главной загрузочной записью. На самом деле, это не является обязательным для первого сектора жесткого диска для загрузки чего либо. Это название было исторически сложившиеся, так как разработчики использовали такой механизм для загрузки операционной системы.

Будьте готовы погружаться глубже

В этом разделе я расскажу о том, какие знания и инструменты, необходимы для разработки собственного загрузчика, а также напомню некоторую полезную информацию о загрузке системы.

И так, какой язык Вы должны знать, чтобы написать Boot Loader

В первую очереди, при работе компьютера, контроль аппаратного обеспечения осуществляется преимущественно посредством функций BIOS, известный как «прерывания». Вызвать прерывание можно только на ассемблере — будет здорово если вы хоть немного знакомы с этим языком. Но это не обязательное условие. Почему? Мы будем использовать технологию «смешанного кода», где можно совместить высокоуровневые конструкции с командами низкого уровня. Это не много упрощает нашу задачу.

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

И так, для разработки простого загрузчика вы должны знать, C или C++, а также было бы не плохо если вы знаете немного Ассемблера.

Какой компилятор вам нужен

Чтобы использовать технологию смешанного кода, нужно по крайней мере два компилятора: для ассемблера и для C/C++, а также компоновщик который объединит объектные файлы(.obj) в один исполняемый файл.

Теперь, давайте поговорим о некоторых особых моментов. Есть два режима функционирования процессора: реальный и защищенный режим. Реальный режим является 16-битным и имеет некоторые ограничения. Защищенный режим является 32-битным и полностью используется операционной системой. Когда компьютер только начинает работу, процессор работает в 16-битном режиме. Таким образом, чтобы написать программу и получить исполняемый файл, вам понадобится компилятор и компоновщик для ассемблера для 16-битного режима. Для C/C++ вам потребуется только компилятор, который умеет создавать объектные файлы для 16-битного режима.

Современные компиляторы сделаны для 32-разрядных приложений, поэтому мы не сможем их использовать.

Я пробовал несколько бесплатных и коммерческих компиляторов для 16-битного режима и выбрал продукт от Microsoft. Компилятор вместе с компоновщиком для ассемблера, C и C++ включены в Microsoft Visual Studio 1.52, его можно скадать с официального сайта компании. Некоторые подробности о компиляторов которые нам нужны приведены ниже.

ML 6,15 — компилятор ассемблера от Microsoft для 16-битного режима.
LINK 5,16 — компоновщик, который умеет создавать COM-файлы для 16-битного режима.
CL — С, С++ компилятор для 16-битного режима.

Вы также можете использовать несколько альтернативных вариантов.

DMC — бесплатный компилятор для компиляции ассемблера, C, C++ для 16 и 32-битном режиме Digital Mars.
LINK — бесплатный компоновщик для компилятора DMC.

Есть также некоторые продукты от Borland.

BCC 3,5 — С, С++ компилятор, который умеет создавать файлы для 16-битного режима.
TASM — компилятор асемблера для 16-битного режима.
TLINK — компоновщик, который может создавать файлы COM для 16-битного режима.

Все примеры кода в этой статьи, были разработаны с инструментами от Microsoft.

Как система загружается

Для того, чтобы решить нашу задачу мы должны вспомнить, как система загружает.
Рассмотрим кратко, как компоненты системы взаимодействуют при загрузке системы.

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

После того, как управление было передано по адресу 0000:7C00, Master Boot Record (MBR) начинает свою работу и запускает загрузку операционной системы.

Давайте перейдем к кодированию

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

Архитектура программы

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

Первый объект это StartPoint, который написан исключительно в ассемблере, поскольку в языках высокого уровня нет необходимых нам инструкции. Это говорит компилятору, какой тип памяти должен использоваться, и адрес команды в RAM, которая должна выполняться после его чтения. Он также исправляет регистры процессора и передает управление функции BootMain, которая написано на языке высокого уровня.

Следующий объект- BootMain — является аналогом main, что, в свою очередь является основной функцией в которой сконцентрированы все функции программы.

Классы CDisplay и CString заботиться о функциональной части программы и выводит сообщение на экран. Как вы можете видеть на предыдущей картинки, класс CDisplay использует класс CString в своей работе.

Среда разработки

Здесь я использую стандартные среды разработки Microsoft Visual Studio 2005 или 2008. Вы можете использовать любые другие инструменты, но я уверен, что эти два, с некоторыми настройками, компилируют и работают легко и удобно.

Сначала мы должны создать проект Makefile Project, где будет выполнена основная работа.

File->New\Project->Общие\Makefile Project
Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

BIOS прерывания и очистка экрана

Чтобы вывести сообщение на экране, мы должны очистить его для начала. Мы будем использовать специальные BIOS прерывания для этой цели.

BIOS предлагает ряд прерываний для работы с железом, таким как видеокарта, клавиатура, системный диск. Каждое прерывание имеет следующую структуру:

Где «number_of_interrupt» является числом прерывания.

Каждое прерывание имеет некоторое количество параметров, которые должны быть установлены до его вызова. Регистр процессора — ah, всегда несет ответственность за количество функций для текущего прерывания, и другие регистры обычно используются для других параметров текущей операции. Давайте посмотрим, как работа прерывания номер 10h выполняется на ассемблере. Мы будем использовать 00-функцию, она меняет видео режим и очищает экран:

Мы будем рассматривать только те прерывания и функции, которые будут использоваться в нашем приложении. Нам понадобится:

«Смешанный код»

Компилятор C++ поддерживает встроенный Ассемблер, то есть при написании кода на языке высокого уровня вы можете также использовать язык низкого уровня. Инструкции ассемблера, которые используются на высоком уровне, также называют asm вставками. Они состоят из ключевого слова «__asm» и блока ассемблерных инструкций:

Чтобы продемонстрировать пример смешанного кода мы будем использовать ранее упомянутый код на ассемблере, который выполняет очистку экрана и объединим его с кодом написанный на C++.

CString реализация

CString класс предназначен для работы со строками. Он включает в себя метод Strlen(), который получает в качестве параметра указатель на строку и возвращает количество символов в этой строке.

CDisplay — реализация
Types.h — реализация

Types.h является заголовочным файлом, который включает определения типов данных и макросов.

BootMain.cpp — реализация

BootMain() является основной функцией программы, которая является первой точкой входа (аналог main()). Основная работа проводится здесь.

StartPoint.asm — реализация

Давайте соберем все

Создание COM файла

Поместите компиляторы и компоновщик в каталог проекта. В том же каталоге, мы создаем командный файл и заполняем в соответствии с примером (можно использовать любой каталог вместо VC152, главное чтобы компиляторы и компоновщик находились в нем).:

Ассамблирование — автоматизация

В качестве заключительного этапа в этом разделе мы опишем как превратить Microsoft Visual Studio 2005, 2008, в среду разработки с поддержкой любого компилятора. Для этого нужно перейти в свойствах проекта: Project->Properties->Configuration Properties\General->Configuration Type.

Вкладка Configuration Properties включает в себя три пункта: General, Debugging и NMake. Выберите NMake и укажите путь к «build.bat» в Build Command Line и Rebuild Command Lin.

Если все сделано правильно, то вы можете скомпилировать нажав клавиши F7 или Ctrl + F7. При этом вся сопутствующие информация будет отображаться в окне вывода. Основным преимуществом здесь является не только автоматизация сборки, но и мониторинг ошибок в коде если они будут.

Тестирование и демонстрация

Этот раздел расскажет, как увидеть сделанный загрузчик в действии, как выполнить тестирование и отладку.

Как проверить загрузчик

Вы можете проверить загрузчик на реальном оборудовании или с использованием разработанных для этих целей виртуальных машинам — VMware. Тестирование на реальном оборудовании дает вам больше уверенности, что он работает также как и на виртуальной машине. Конечно, мы можем сказать, что VmWare отличный способ для тестирования и отладки. Мы рассмотрим оба метода.

Прежде всего, нужен инструмент, чтобы записать наш загрузчик на виртуальный или физический диск. Насколько я знаю, есть несколько бесплатных и коммерческих консолей и GUI приложений. Я использовал Disk Explorer для NTFS 3.66 (версия для FAT, называется Disk Explorer для FAT) для работы в ОС Windows и Norton Disk Editor 2002 для работы в MS-DOS.

Я опишу только Disk Explorer для NTFS 3,66 потому что это самый простой способ и подходит для наших целей больше всего.

Тестирование с помощью виртуальной машины VmWare
Создание виртуальной машины

Нам понадобится VmWare версия программы 5.0, 6.0 или выше. Чтобы проверить загрузчик мы создадим новую виртуальную машину с минимальным размером диска, например, 1 Gb. Отформатируйте его в файловую систему NTFS. Теперь нам нужно отобразить отформатированный жесткий диск на VmWare в качестве виртуального диска. Для этого выберите:

File->Map or Disconnect Virtual Disks.

После этого появится окно. Там вы должны нажать кнопку «Map». В следующем появившемся окне вы должны указать путь к диску. Теперь Вы также можете выбрать букву диска.

Не забудьте снять флажок «Open file in read-only mode (recommended)». После того как выполнили все выше описанные индикации диск должен быть доступен в режиме только для чтения чтобы избежать повреждения данных.

После этого мы можем работать с диском виртуальной машины, как с обычными логическим диском в ОС Windows. Теперь мы должны использовать Disk Explorer для NTFS 3,66 чтобы записать загрузочную запись с позиции 0.

Работа с Disk Explorer для NTFS

После запуска программы мы идем в наш диск (File-> Drive). В появившемся окне идем в раздел логические диски и выбираем наш созданный диск(в моем случае это Z).

Теперь мы выбираем меню пункт View как Hex команды. В это появившемся окне мы можем видеть информацию диска в 16-разрядном представлении, разделенная на сектора. Сейчас у нас только 0-ли, так как диск пуст, пока что.

Сейчас мы должны записать наш загрузчик в первый сектор. Мы устанавливаем маркер в положение 00, как это показано на предыдущей картинке. Чтобы скопировать загрузчик мы используем пункт меню Edit->Paste from file command. В открывшемся окне укажите путь к файлу и кликните Open. После этого содержимое первого сектора должен измениться и выглядеть, как это показано на картинке — если вы, конечно, ничего не меняли в коде.

Вы также должны записать подпись 55AAh по позиции 1FE от начала сектора. Если вы не сделаете это, BIOS проверит последние два байта, и не найдя указанную подписи, будет считать что этот сектор не является загрузочным и не загрузит его в память.

Для переключения в режим редактирования нажмите клавишу F2 и напишите необходимые номера — 55AAh подписи. Чтобы выйти из режима редактирования нажмите ESC.

Теперь нам нужно подтвердить записанные данные.

Чтобы применить записанное мы идем в Tools-> Options, теперь мы идем в пункт Mode и выбираем метод записывания — Virtual Write и нажмите кнопку Write.

Большую часть рутинных действий закончили, наконец, и теперь вы можете видеть, что мы разработали с самого начала этой статьи. Давайте вернемся к VwWare чтобы отключить виртуальный диск (File->Map or Disconnect Virtual Disks … and click Disconnect).

Давайте запустим виртуальную машину. Мы видим теперь, как из глубины царства машинных кодов появляются знакомые строки — «Hello World… », from low-level. «.

Тестирование на реальном оборудовании

Тестирование на реальном оборудовании почти такая же, как и на виртуальной машине, за исключением того, что если что-то не работает, вам потребуется намного больше времени, чтобы восстановить ее, чем создать новую виртуальную машину. Чтобы проверить загрузчик не имея возможность потерять данные (все может случиться), я предлагаю использовать флэш-накопитель, но сначала вы должны перезагрузить компьютер, зайдите в BIOS и убедитесь, что он поддерживает загрузку с флэш-накопителя. Если он поддерживает его, то все в порядке. Если нет, то вы должны ограничить тестированием на виртуальной тестовой машине.

Процесс написание загрузчика на флэш-диск в Disk Explorer для NTFS 3,66 такой же как и для виртуальной машины. Вы просто должны выбрать сам жесткий диск вместо своего логического раздела.

Заключение

В этой статье мы рассмотрели, что такое загрузчик, как работает BIOS, и как компоненты системы взаимодействуют при загрузке системы. Практическая часть дала нам понимание о том, как можно разработать свой собственный, простой загрузчик. Мы продемонстрировали технологию смешанного кода и процесс автоматизации сборки с использованием Microsoft Visual Studio 2005, 2008.

Конечно, это лишь малая часть по сравнению с огромной темой низкоуровневого программирования, но если вам было интересна это статья — то это круто.

Источник

Как ускорить загрузку игр на компьютере без разгона и прочего геморроя

Для, извините мой французский, миллениалов и прочих неповторимых индивидуальностей «быть проще» – позор и погибель, но вот производителям SSD такое качество идёт только в плюс. Потому что в твердотельных накопителях дешевле 7-10 тысяч рублей по-прежнему больше всего ценится соотношение количества гигабайт на потраченный рубль, а у престижных брендов за него придётся серьёзно переплатить. Например, современный SSD стандарта NVMe M.2 объёмом 500-512 Гбайт сегодня стоит от 5 до 6 тысяч рублей – Silicon Power P34A80, который мы будем сейчас тестировать, влетит вам примерно в 5600 рублей. А вот SSD аналогичного стандарта от «крутого» бренда обойдётся на 2-3 тысячи дороже.

Иногда это оправдано, если мы говорим о каком-нибудь Samsung 970 EVO Plus с его «придворными» контроллерами и памятью да соответствующе прокачанными характеристиками. А иногда вы просто попадаете на наценку за абсолютно такой же (или даже медленнее) по характеристикам SSD с престижной этикеткой – WD Black SN750 за 7500-8000 рублей это прекрасно доказывает. В общем, даже если вы давненько ничего не слышали о Silicon Power с эпохи, когда USB-флешки этой компании мелькали в каждом офисе и во многих домашних компьютерах, нет смысла переплачивать за шильдики Intel или Western Digital, если замеры скорости показывают, что вы можете получить настолько же хороший накопитель дешевле.

Почему мы берём в качестве примера именно M.2. NVMe SSD? Потому что в компьютере на современных платформах (см. системные требования новейших игр) такой накопитель будет нормально использовать скоростной потенциал шины PCIe 3.0 и без проблем встанет загрузочным (то есть с него можно будет стартовать Windows). Это актуально для систем на процессорах Intel Core i3/i5/i7 от серий 4xxx до новейших. Проблемы возникнут разве что на старых платформах Sandy Bridge и Ivy Bridge (2xxx и 3xxx), но там и ограничения в скорости упрутся в PCIe 2.0, и биос нужно модифицировать, чтобы NVMe SSD вообще завелись… А если вы умеете патчить BIOS, вы и без нас знаете, какой SSD вам нужен.

Почему мы не взяли за образец SATA-III SSD? Потому что они, хоть и немного, но медленнее в играх уже сейчас. То ли ещё будет.

Почему 512 Гбайт? Потому что в России живём – 10 тысяч за терабайтник при зарплатах трудящихся и бюджете в 40-50 тысяч на весь компьютер уже кусаются. На 256 Гбайт толком ничего не влепишь, кроме Windows и софта. А полтерабайта – хороший компромисс для того, чтобы записать на него несколько самых критичных для вас по времени загрузки игр + вместить всё ту же Windows и софт туда же.

Ху из мистер Silicon Power P34A80?

Вообще, официально накопитель называется SP512GBP34A80M28, но без пол-литра такое не выговоришь, поэтому мы будем называть его просто Silicon Power P34A80.

Упаковка симпатичная но без люксовых «понтов» наподобие шкатулок из накрахмаленного картона. Картонная коробка, в ней SSD в блистере (22×80 мм, согласно форм-фактору), список основных характеристик.

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

В отличие от терабайтной версии 512-гигабайтная модель односторонняя: все чипы расположены на одной стороне печатной платы. И это круто, если вы собираетесь ставить SSD в какой-нибудь тонкий ноутбук без запаса места – например, в Xiaomi Mi Notebook Air 13.3 нормально устанавливаются только односторонние SSD, тогда как двусторонние выгибаются дугой (с одной стороны разъём, с другой – винт) и рано или поздно из-за этого «крякнут».

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

От любопытных глаз чипы на SSD скрыты наклейкой со штрих-кодом, которую можно безболезненно удалить. после истечения гарантийного срока. В общем, не пытайтесь повторить дома то, чем мы сейчас здесь будем заниматься!

В комплектации нет никаких аксессуаров (например, радиатор). Ни одной информационной брошюры к накопителю также не прилагается. Ничего, кроме самого «привода». Понятное дело, что наличие дополнительного «обвеса» повлияло бы на увеличение цены, но какому ПК-боярину не хотелось бы большего?

Технические характеристики

Silicon Power P34A80 построен на базе двухъядерного контроллера Phison PS5012-E12 (на нём ещё выпускают SSD Seаgate, Gigabyte и Corsair, например). Восьмиканальный, с пропускной способностью до 667 Мбайт/с на канал. При нём – 64-слойная флеш-память Toshiba BiCS3 TLC 3D NAND (фигурирует также в накопителях Gigabyte и OCZ).

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

Начинка вполне солидная, предельная производительность контроллера – до 600 000 IOPS при чтении и записи блоков по 4 Кбайт, а сам Silicon Power обещает до 450 000 IOPS при чтении и до 390 000 IOPS при записи соответственно. Но это в теории, а на практике всё нужно проверять бенчмарками, ради чего мы с вами здесь и собрались.

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

Вообще, 64-слойная память с BiCS3-компоновкой уже далеко не последний писк моды – с тех пор вышла более новая 96-слойная BiCS4, которая ещё и немного быстрее. Только вот она серьёзно нагревается и требует хорошего охлаждения. Для владельцев компьютеров в компактных корпусах, или ноутбуков, это ненужная возня – либо SSD просто не будет работать в полную мощность. А если учесть, что к памяти BiCS3 у нас прилагается один из самых крутых контроллеров, Phison PS5012-E12, разница в скорости, скорее, теоретическая. Тут как со смартфонами, как если бы в одном был более мощный процессор и 3 Гбайт оперативной памяти, а в другом – менее мощный, но 6 Гбайт «оперативки».

НакопительSilicon Power PCIe Gen3x4 P34A80
Форм-факторM.2 2280
ПодключениеPCI Express 3.0 ×4, NVMe 1.3
Емкость, Гбайт256, 512, 1000, 2000
Чипы памятиToshiba 64L TLC 3D NAND (BiCS3)
КонтроллерPhison PS5012-E12
Скорость последовательного чтениядо 3400 Мбайт/с
Скорость последовательной записидо 3000 Мбайт/с
Макс. кол-во IOPS при чтениидо 450 000
Макс. кол-во IOPS при записидо 390 000
Версия прошивкиECFM12.3
Гарантийный срок5 лет
Габариты/вес22×80×3,5 мм/8 грамм

Из того, что не вошло в табличку с характеристиками: поддержка (само собой) атрибутов SMART, технологии уничтожения данных NVMe Secure Erase, коррекция ошибок на основе LDPC-кодирования, шифрование на базе криптографического алгоритма AES-265 и Pyrite, а вот поддержку TCG OPAL или Windows BitLocker не завезли, потому что SSD не корпоративного класса (да и шут с ним).

Для работы с SSD предусмотрена официальная софтина SP Toolbox, которую нужно скачивать с официального сайта производителя. В ней есть немного настроек, мониторинг состояния и производительности, и безопасное стирание данных без возможности их последующего восстановления.

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

Что касается ресурса: Silicon Power в вопросах заявленной износостойкости перестраховывается и заявляет, что SSD гарантированно переварит суммарный объём данных на уровне 250 Тбайт. Зная емкость накопителя (512 Гбайт) и его гарантийный срок (5 лет), можно рассчитать допустимое количество перезаписей всего объема накопителя в день – получаем 0,2 DWPD (200 гигабайт в день).

И кстати, да: пять лет гарантии на недорогой SSD, как в нашем случае – это круто. Конкуренты Silicon Power частенько заворачивают всего три года гарантии.

Как мы тестируем

Все замеры мы проводили на компьютере с 64-битной “Windows 10 Домашней” версии 17.763, которая адекватно работает с новыми NVMe-SSD. И, не забывайте, из-за сраных округлений в файловых системах, как и в случае с любыми другими жёсткими дисками/SSD/флешками вы получаете меньше гигабайт, чем заявлено на этикетке. В нашем случае – 476,9 Гбайт. Сейчас проверим, насколько быстрых гигабайт.

Тестовый стенд:

ПроцессорIntel Core i7-7700K (4533 МГц)
Материнская платаASUS Maximus IX Code rev.1.xx
Основной накопительGOODRAM Iridium Pro SSD 480GB
ВидеокартаPNY GeForce GTX 1060 6GB GDDR5 Twin Fan
Оперативная памятьADATA XPG Spectrix D41 DDR4 RGB 2×16GB (3200 МГц)
Блок питанияbe quiet! Straight Power 10 800W СM
Система охлажденияbe quiet! DARK ROCK TF

ATTO Disk Benchmark

ATTO – это простой замер характеристик SSD в самых «тепличных» условиях при последовательной записи (как если бы вы копировали файлы с одного SSD на другой целой папкой в Windows). Обычно цифры, которые производители указывают на упаковке, берутся именно из результатов этого бенчмарка. Ну и ещё его все любят за то, что в нём удобно поглядывать, как изменяется скорость работы SSD в зависимости от того, насколько крупные файлы вы будете перебрасывать.

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

С настройками по умолчанию P34A80 от Silicon Power всё-таки не вывозит обещанные 3,4 Гбайт/с при чтении и 3 Гбайт/с при записи. Максимальные скорости составляют 1,56 Гбайт/с и 1,65 Гбайт/с соответственно. «Ну и что же здесь криминального?» – спросит Ирина Аллегрова, и вы вместе с ней. Ну, в общем-то, ничего – WD Blue SN500, например, обещает 1700/1450 Мбайт/с, а по факту «едет» на 1040/810 Мбайт/с; Intel 760p заявляет 3230/1625 Мбайт/с, а на деле выдаёт 2070/650 Мбайт/с. Важнее то, что Silicon Power P34A80 оказывается не медленнее или даже быстрее близких по цене Intel 660p или WD Blue SN500.

А мораль – не верьте маркетинговой фигне на этикетках.

CrystalDiskMark 5.2.1

Еще один очень удобный инструмент для сравнения производительности твердотельных и магнитных накопителей. Его показания чуть повыше, чем у предыдущего синтетического бенчмарка. Здесь при операциях чтения и записи мы получаем скорость 1782 Мбайт/с и 1676 Мбайт/с соответственно.

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

HD Tune Pro 4.60

Бенчмарк HD Tune Pro, как обычно, скептичен больше прочих и показывает приземленные скоростные значения. После нескольких прогонов, максимальный результат по скорости чтения и записи составили 1192,7 Мбайт/с и 1103,9 Мбайт/с соответственно. И это на первом прогоне. При дальнейшей нагрузке на накопитель пропускная способность стала чуть ниже и результаты упали до 1056,1 Мбайт/с при записи и 1148,2 Мбайт/с при чтении.

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

AIDA64 Disk Benchmark

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

AS SSD Benchmark 2.0.7

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

UserBenchmark

Следующим бенчмарком мы выбрали онлайн-тест UserBenchmark, который показал, что среди 3062 пользователей, которые пользовались этим же сервисом для тестирования твердотельного NVMe-накопителя Silicon Power P34A80, средние скорости чтения и записи данных составляют 1138 Мбайт/с и 1629 Мбайт/с соответственно. Применительно к нашему экземпляру результаты оказались чуть ниже: 1068 Мбайт/с при чтении и 1262 Мбайт/с при записи.

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

AnvilPro 1.1.0

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

Как сделать загрузчик игры. Смотреть фото Как сделать загрузчик игры. Смотреть картинку Как сделать загрузчик игры. Картинка про Как сделать загрузчик игры. Фото Как сделать загрузчик игры

Самое время вспомнить про температуру накопителя под нагрузками и в простое. В состоянии покоя накопитель греется до 30 °C. Максимальная температура достигала 63 °C, при этом заметим, что мы использовали накопитель без дополнительного радиатора для теплоотвода и устанавливали его в закрытый стенд. Максимальная температура нагрева, заявленная в характеристиках составляет 70 °C, после чего накопитель, вероятно, должен уходить в троттлинг. Проверять этого мы не стали, но настоятельно советуем устанавливать Silicon Power P34A80 в хорошо проветриваемый корпус или использовать двусторонний радиатор. Лучше, как говорится, перебдеть, чем недобдеть.

SLC-кэш и его влияние на общую производительность

Не забывайте, что официальные характеристики – это только часть общей картины. Потому что большинство производителей SSD-решений используют SLC-кэш, самую быструю область флеш-памяти. Если рабочая нагрузка на накопитель выйдет за пределы этого кэша и файлы начнут записываться уже не в SLC-буфер, а в “родную” флеш-память накопителя (TLC или QLC). Поэтому во время тестов мы стараемся загрузить накопитель по максимуму, чтобы посмотреть, как он будет ворочаться при переполнении буфера SLC. В Silicon Power P34A80 быстрого кэша насыпали около 64 Гбайт при расчете на каждый 256 Гбайт. Получается, что максимальной скорости можно добиться только в пределах заданной области.

И всё-таки восьмиканальный массив памяти Toshiba сам по себе довольно быстр, а с ёмким SLC-кэшем проседания в скорости при записи файлов размером 1-2 Гбайт особо и не наблюдается. Кстати, SLC-кэш задействуется не только при записи, но и при чтении. В чем это выражается? А в том, что данные, которые пользователь открывает сразу после их копирования на накопитель, все еще остаются в быстром кэше и операция чтения происходит быстрее, чем в случае обращения к TLC-памяти.

Вот поэтому слепо доверять результатам синтетических бенчмарков не стоит на 100%, потому что они выполняют чтение и запись, оперируя только что созданными файлами, которые располагаются в SLC-кэше. Короче говоря, при тестировании показываются чуть более высокие скорости чтения данных.

Что умеет фирменный софт для обслуживания SSD Silicon Power?

Насколько он полезен? Да и нужен ли он вообще? Это главный вопрос, который хочется вынести на повестку. Как мы уже упоминали выше по тексту, программа SP Toolbox нужна для мониторинга состояния «здоровья» накопителя, оценки его скорости работы и безопасного стирания данных посредством Secure Erase.

Как и многие конкуренты, русской локализации Silicon Power не предлагает, но в целом не все так безнадежно: даже пятиклассник разберется без Google-переводчика, что означает каждый пункт меню.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *