Русский
Русский
English
Статистика
Реклама

Компьютерное железо

Перевод Новый высокопроизводительный одноплатный компьютер BeagleV построенный на открытой архитектуре RISC-V за 119

16.01.2021 02:07:06 | Автор: admin
BeagleV SBC

До недавнего времени платы построенные на процессоре RISC-V такие как Kendryte K210, невозможно было использовать для высоко ресурсоемких задач, т.к. производительность конечных была очень низкой. В частности одноплатный компьютер XuanTie C906 на базе Allwinner RISC-V можно было использовать только для нишевых небольших задач, например в качестве камеры из-за отсутствия аппаратного графического ускорителя и наличия только 256 МБ оперативной памяти. Можно использовать одноплатные компьютеры такие как SiFive HiFive Unmatched или PolarBerry, но стоимость конечной системы составит сотни, а то и более тысячи долларов, что является весьма дороговато.

Таким образом, очевидна необходимость в недорогом одноплатном компьютере на Linux, построенным на высокопроизводительном процессоре RISC-V. И есть отличная новость, фонд BeagleBoard.org, Seeed Studio и китайский фабричный производитель микросхем Starfive объединились для разработки и производства одноплатного компьютера BeagleV (Beagle Five) на базе двухъядерного процессора StarFive JH7100 (ядро SiFive U74 RISC-V) с цифровым сигнальным процессором(DSP) для компьютерного зрения, ускорителем машинного обучения (Deep learning) NVDLA и нейронной сети для искусственного интеллекта (AI).

Технические характеристики BeagleV:
  • Процессор: SoC StarFive JH7100 Vision SoC с:
    • двухядерным ядром RISC-V U74 с 2MB L2 cache @ 1.5 GHz
    • Vision DSP Tensilica-VP6 для компьютерного зрения
    • NVDLAEngine 1 core (configuration 2048 MACs @ 800MHz 3.5 TOPS)
    • Ускоритель нейронной сети (1024MACs @ 500MHz 1 TOPS)
    • VPU H.264/H.265 decoder up to 4Kp60, dual-stream decoding up to 2Kp30
    • JPEG encoder/decoder
    • Цифровым сигнальным процессором(DSP) для обработка аудио потока

  • Оперативная память: 4GB или 8GB LPDDR4
  • Пользовательская память: слот MicroSD
  • Видео:
    • 1x HDMI порт с поддержкой разрешения до 1080p30
    • 1x MIPI DSI интерфейс с поддержкой разрешения до 4Kp30
    • MIPI-CSI TX для вывода видео после обработки модуля искусственного интеллекта (AI)

  • Камера:Двухканнальный процессор обработки изображений (ISP) с поддержкой разрешения до 4K @ 30FPS,2 x MIPI-CSI Rx
  • Звук: аналоговый вывод (3.5 mm TRRS jack)
  • Связь: 1x Gigabit Ethernet, 2.4 GHz 802.11b/g/n WiFi 4, и Bluetooth 4.2
  • USB: 4 порта USB 3.0
  • Expansions Header: 40-контактный разъем совместимый с Raspberry Pi 3, включает GPIO с 28 x GPIO, I2C, I2S, SPI, UART
  • Безопасность: поддержка TRNG и OTP
  • Разное: кнопка питания и сброса
  • Питание: 5V/3A через порт USB Type-C
  • Размер: 9070 (приблизительно) мм.


BeagleV block diagram

Основываясь на сведениях о ядре SiFive U74, производительность должна быть эквивалентна ядру Cortex-A55. Cortex-A55 является приемником Cortex-A53 на котором построен процессор Allwinner A64. По заявлению компании ARM, ядро Cortex-A55 имеет на 18% большую производительность и на 15% большую энергоэффективность. Плата Banana Pi BPI-M64 содержит 4-ядра Cortex-A53 с частотой 1.2 GHz, а BeagleV будет содержать два ядра RISC-V U74 с частотой 1.5 GHz, что говорит о практически идентичной производительности.

Поэтому производительность одноплатного компьютера BeagleV будет не такой высокой по сравнению с платами на процессоре Arm, но за счет наличия модуля ускорителя нейронной сети и цифрового зрения, BeagleV будет конкурентоспособным по сравнению с другими платами с искусственными интеллектом, такими как Coral Dev Board mini.

Первая партия поставок плат запланированная на март будет без графического процессора, но следующая которая должна будет выпущена в сентябре будет с графическим процессором от Imagination Technologies GPU.

Поддержка BeagleV будет в основной ветки mainline Linux, образ ОС будет построен на версии Debian. Так будет поддержка Fedora и FreeRTOS. Одноплатные компьютеры на RISC-V являются открытым аппаратным обеспечением(open-source hardware) как и другие платы организации BeagleBoard.org, это означает что файлы дизайна оборудования(hardware design files), прошивки(firmware) и программное обеспечение будут общедоступными.

Конечная цена BeagleV составит $119 с 4GB RAM и $149 с 8GB RAM, но первая партия будет выпущена только с 8GB RAM. Энтузиасты и гики могут заполнить заявку на получение платы на сайте. Так же можно оформить предзаказ платы в Seeed Studio. Дополнительную информацию можно найти на странице продукта.

Ссылки:


Подробнее..

Перевод Обзор материнской платы Supermicro C9Z490-PGW

24.12.2020 14:22:40 | Автор: admin
Supermicro известная компания, сфокусированная на производстве высококачественных решений для серверов зачастую презентует небольшое количество потребительских материнских плат с дополнительными комплектующими, чего не встретишь у других поставщиков. На этот раз в Supermicro C9Z490-PGW используется микросхема PLX, которая позволяет плате работать с двумя слотами PCIe 3.0 x16 или четырьмя слотами PCIe 3.0 x8. Такая комбинация из двух слотов PCIe 3.0 x4 M.2 на чипсете, 10-гигабитного контроллера Ethernet и интерфейса Wi-Fi 6 делает C9Z490-PGW универсальной материнской платой для широкого круга пользователей.



Обзор Supermicro C9Z490-PGW


Supermicro один из самых узнаваемых брендов на рынке серверов и рабочих станций. Тем не менее уже в обзоре C9Z390-PGW наблюдается тенденция Supermicro к внедрению серверного ДНК в свои десктопные продукты. Разница между Z390 и Z490 не так велика, как могла бы быть, главное свойство заключается в поддержке сети: встроенный MAC-адрес Wi-Fi 6 позволяет использовать модули CNVi. Для запуска процессоров Intel Comet Lake 10-го поколения Supermicro представила пару моделей Z490, C9Z490-PG и C9Z490-PGW, с той лишь разницей, что PGW поставляется с интерфейсом Wi-Fi 6, а PG нет.

Supermicro C9Z490-PGW можно по праву считать одной из самых уникальных моделей Z490: в ней удачное сочетание не только оригинального серверного дизайна, но и наличие интересного набора функций характерных для премиум-класса. Серия материнских плат SuperO от Supermicro это серверное качество в стандартной ориентированной на потребителя модели. Немного коснемся дизайна C9Z490-PGW. Смесь черного и серебристого создает стильную двухцветную тему: черные цельные алюминиевые радиаторы и металлическое усиление SuperO на слотах памяти и PCIe. В C9Z490-PGW отсутствует встроенная светодиодная подсветка RGB.

Важной особенностью является наличие коммутатора PLX, обеспечивающего 32 линии PCIe 3.0 на этой материнской плате. Во времена платформы Z77 использование коммутаторов PLX на мейнстрим материнских платах было обычным явлением, которое позже отошло на второй план из-за возросшей стоимости (была продана компания, производившая эти коммутаторы). С таким свичем плата может поддерживать две карты расширения x16 / x16 или четыре карты с x8 / x8 / x8 / x8, PCIe 3.0. Это открывает ряд возможностей для пользователей, которые хотели бы например включить в систему хранения Comet Lake RAID-контроллеры. Чтобы получить такое количество полос, в противном случае потребовалась бы другая платформа, хай-енд десктоп, или Xeon. Помимо линий PCIe, имеется два слота PCIe 3.0 x4 M.2 с четырьмя доступными портами SATA, поддерживающими массивы RAID 0, 1, 5 и 10 и сетевое соединение через 10-гигабитный контроллер Ethernet; Wi-Fi 6 с дополнительной поддержкой устройств BT 5.1. Кроме того есть встроенная звуковая HD карта премиум класса c множеством USB-портов; что касается оперативной памяти выбор отдан в пользу DDR4-4000 емкостью до 128 ГБ.

Во время нашего тестирования мы увидели ожидаемый уровень производительности, соответствующий производительности платы с настройками питания Intel по умолчанию. Дефолтно платы Supermicro работают со строгими настройками Intel, тогда как потребительские материнские платы более свободны от предложений Intel в отношении ограничений мощности и уровней турбо. Если принять это во внимание, C9Z490-PGW показала себя конкурентноспособной, в сравнении с ASUS ROG Maximus XII Hero WiF. Правда производительность была немного ниже, чем у других моделей Z490, в которых по умолчанию включены функции многоядерного расширения. Наши системные тесты показали, что энергопотребление заметно выше, чем у других тестируемых моделей, что вполне прогнозировано из-за PLX чипа. Более длительное время POST, чем у других моделей Z490 характерно для плат Supermicro. Изначально показатель производительности задержки DPC по умолчанию не был слишком крут, но все же вписался в пределы приемлемости.



Разгон C9Z490-PGW оказался не таким простым, как могло показаться на первый взгляд. Даже с грамотной 8+2 фазной подачей питания, прошивка ограничивает возможности. Единственный способ заметно повысить производительность вручную отрегулировать пределы мощности PL1 и PL2 в BIOS. Без этих настроек мы не увидели бы реальной пользы от разгона нашего Core i7-10700K, даже при разгоне до 5,1 ГГц. Мы наблюдали тепловое дросселирование на частоте 5,2 ГГц, и, к сожалению, VDroop Control на плате довольно слабый, при более высокой нагрузке CPU VCore, чем установлено в BIOS. Это придало хаотичный характер нашим тестам энергопотребления при разгоне. Во время теплового тестирования мы заметили, что VRM довольно сильно нагрелись, а сокет центрального процессора был намного горячее, чем должно быть, особенно если говорить о модели ATX.

Изначально на Supermicro C9Z490-PGW была заявлена рекомендованная розничная цена в 395 долларов, но сейчас ее можно купить в Newegg всего за 360 долларов. Выходит, модель конкурирует с ASRock Z490 Taichi (370 долларов), GIGABYTE Z490 Aorus Master (389 долларов) и ASUS ROG Maximus XII Hero (399 долларов), но при этом Supermicro отличается использованием в ней микросхемы PLX. Что ж, Supermicro C9Z490-PGW это материнская плата немного другого типа, но с маркетинговой стратегией, ориентированной на игровой рынок, при этом без некоторых востребованных игровых функций, таких как RGB. Это надежная плата с солидным набором функций, правда SuperO не так известен, как другие игровые бренды, типа Aorus или ROG.

Визуальный осмотр


Как упоминалось выше, Supermicro более известна производством профессиональных рабочих станций и материнских плат серверного уровня, отражение дизайна компании во внешнем виде C9Z490-PGW. Во-первых, отсутствует встроенная светодиодная RGB-подсветка. В модели Z490 под маркой SuperO черные радиаторы на матовой черной печатной плате удачно играют на контрасте с серебряно металлическим обрамлением на PCIe 3.0 и слотах памяти. Логотип SuperO на пластиковой крышке задней панели светится белым светом, такое решение делает модель одной из наименее блистательных Z490 премиум-класса на рынке. Вместо этого Supermicro полагается на свой широкий набор функций, а пользователям, которые в поиске изюминок, наверняка прийдется по нраву данная модель.


Микросхема Broadcom PEX8747 PLX на C9Z490-PGW

Главной изюминкой Supermicro C9Z490-PGW остаются четыре полноразмерных слота PCIe 3.0. Используется микросхема Broadcom PEX8747 PLX. Микросхема PLX по существу мультиплексирует дорожки ЦП, обеспечивая до 32 полос в четырех полноразмерных слотах. Они могут работать либо на x16 / x0 / x16 / x0, либо на x8 / x8 / x8 / x8. Это дает дополнительные возможности расширения с помощью контроллеров RAID, дополнительных карт FPGA PCIe, вычислительных карт, а также дополнительных сетевых контроллеров. В середине каждой пары полноразмерных слотов находится по одному слоту PCIe 3.0 x1.



Под хранилище имеется пара слотов PCIe 3.0 x4 / SATA M.2, причем верхний слот поддерживает накопители форм фактора М.2 2280, а второй слот М.2 22110. Несмотря на то, что чипсет Z490 поддерживает до шести собственных портов SATA, Supermicro использует только четыре из них. Четыре порта SATA включают поддержку массивов RAID 0, 1, 5 и 10. Официально заявлена поддержка памяти DDR4-4000, что является ограничением по сравнению с другими моделями Z490. Четыре слота памяти поддерживают максимальную емкость до 128 ГБ, содержат металлическое армированное усиление SuperO с поддержкой двухканальной памяти.



В правом нижнем углу расположен двухцифровой LED-индикатор отладки, который помогает диагностировать POST проблемы. Наряду с индикатором в диагностике помогает внутренний динамик обычное явление для плат Supermicro который издает звуковой сигнал при POSTинге и отдельный звуковой сигнал при возникновении определенной проблемы. В C9Z490-PGW нестандартная передняя панель под заголовок в виде четырехугольника с наклонными углами. На плате есть шесть 4-контактных разъемов под охлаждение, два из которых предназначены для кулеров процессора, один для водяного насоса и три для кулеров корпуса.



Что же касается энергоснабжения, то здесь используется 10-фазная схема, в цепи питания ШИМ-контроллер Infineon XDPE12284C, работающий в конфигурации 8+2. Плата оснащена силовыми каскадами Infineon TDA21490 для CPU, каждый способный выдерживать ток 90 А, и каскадами Infineon TDA21535 с чуть более низкими характеристиками для SoC. При таком энергоснабжении потребляемая процессором мощность может максимально достичь 720А, хотя используется только один 8-контактный разъем питания 12 В ATX. В теории этого более чем достаточно, чтобы довести Intel Core i9-10900K до своих пределов.



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



В плате C9Z490-PGW используется аудиокодек Realtek ALC1220 HD для питания как аудиоразъемов на задней панели, так и аудиоразъема на передней панели. Аудио область отделена от остальных контроллеров платы, хотя и не изолирована от электромагнитных помех (EMI) специальным антишумовым экраном.



Что в коробке




В комплект входят четыре кабеля SATA, краткое справочное руководство, две антенны для адаптера Intel AX201 Wi-Fi 6. Имеется набор винтов для сборки M.2, наклейка для разметки кабелей и установочный диск с драйверами и программным обеспечением, защитная задняя панель I/O.

BIOS


Как и многие другие производители, Supermicro практически не изменила дизайн прошивки с момента перехода Z390 на Z490. Используемый UEFI BIOS, очень похож на предыдущий C9Z390-PGW, C9Z490-PGW отличается лишь усложненным меню с новым набором опций для функции Thermal Velocity Boost (TVB) Comet Lake. Прошивка SuperO использует единый графический интерфейс, преимущественно в черной цветовой теме с элементами в оттенках серого и синего. Текст белый, а для обозначения выбранного варианта в данный момент темно синий. Меню настройки имеет два режима: Advanced, где доступны все возможные органы управления, и EZ Mode.



При первой загрузке BIOS пользователи будут встречены режимом EZ. Сверху вниз в EZ Mode размещена информация о версии прошивки BIOS, установленной на BIOS чипе емкостью 256 МБ, а также информация о процессоре, памяти и хранилище. Ниже пользователи могут выбрать между доступными наборами XMP 2.0 профилей: оверлокинг, включающий заводские настройки, OC mode, и auto-tuning (дает плате возможность разгонять процессор на основе параметров, установленных в прошивке).



Наиболее важные настройки платы для максимизации производительности находятся в настройках конфигураций TDP. Здесь пользователи могут настроить параметры ограничения мощности, которые по умолчанию установлены в соответствии со спецификациями Intel. То есть, когда процессор установлен на C9Z490-PGW, он работает в соответствии с рекомендациями Intel без какого-либо вмешательства в PL или Tau. Приведенные ограничения Intel носят лишь рекомендательный характер, плата по сути более чем способна обеспечить выигрыш в производительности путем разгона, последнее слово остается за выбором самого пользователя.

Далее идут настройки для разгона комплектующих: частоты процессора для всех ядер или для каждого ядра отдельно; BCLK; элементы управления значимых напряжений VCore процессора, CPU PLL, VSCIO. В целом прошивка выглядит аккуратно, есть утилита для настройки рабочего профиля кулера.

Программное обеспечение


Единственное ПО, поставляемое с C9Z490-PGW, это утилита SuperOBooster. Для аудиокодека ALC1220 HD прилагается программное обеспечение Realtek Audio HD Manager. Это позволяет юзерам настраивать параметры звука и добавлять эффекты, напоминающие о временах Windows XP.



Пользователи могут кастомизировать настройки профиля кулера на вкладке Thermal. Последняя вкладка позволяет пользователям обновить прошивку до последней версии, доступной для загрузки с серверов Supermicro.



Особенности платы


Supermicro C9Z490-PGW это материнская плата ATX с набором контроллеров премиум-класса, с чипом Broadcom PEX8747 PLX. Микросхема PLX допускает мультиплексирование, что означает четыре полноразмерных слота PCIe 3.0, которые могут работать на x16 / x0 / x16 / x0 или x8 / x8 / x8 / x8. Плата включает в себя слот PCIe 3.0 x1, пару слотов PCIe 3.0 / SATA M.2 и четыре порта SATA с поддержкой массивов RAID 0, 1, 5 и 10. Официально C9Z490-PGW идет с DDR4-4000 UDIMM с максимальной емкостью до 128 ГБ, поддерживаемую в четырех слотах памяти. Для охлаждения на плате есть шесть 4-контактных разъема: два под вентиляторы процессора, три под вентиляторы корпуса и один отдельный разъем под водяные насосы.




Задняя панель премиальной модели Z490 является одной из самых скудных панелей под USB, которые мы когда-либо видели: всего один порт USB 3.2 G2x2 Type-C, два порта USB 3.2 G2 Type-A и два порта USB 3.2 G1 Type-A. С помощью USB header пользователи могут заполучить еще один порт USB 3.2 G2 Type-C, два порта USB 3.2 G1 Type-A и четыре порта USB 2.0. Есть два видеовыхода DisplayPort 1.4 и HDMI 2.0a, с пятью аудиоразъемами 3,5 мм и оптический выход S / PDIF с питанием от аудиокодека Realtek ALC1220 HD. C9Z490-PGW включает интерфейс Intel AX201 Wi-Fi 6, наличие которого является единственным отличием от более дешевой модели C9Z490-PG. Плата оснащена контроллером премиум-класса Aquantia AQC107 10 GbE и сетевым гигабитным адаптером PHY Intel I219-V.

Испытательный стенд


В соответствии с нашей политикой тестирования мы берем хай-энд процессор, подходящий для материнской платы, выпущенной во время первого запуска сокета, и оснащаем систему максимальным доступным объемом памяти, работающей на максимальной поддерживаемой частоте. Также, как правило, мы тестируем плату на сабтаймингах JEDEC, если это возможно. Следует отметить, что некоторые пользователи не согласны с такой политикой, утверждая, что иногда максимальная поддерживаемая частота является весьма низкой, или что доступна более быстрая память по сходной цене, или что скорости JEDEC могут ограничивать производительность.

Хотя эти комментарии имеют смысл, в конечном итоге очень редкие пользователи применяют профили памяти (XMP или другие), поскольку для этого требуется взаимодействие с BIOS, а остальные будут использовать поддерживаемые JEDEC скорости. Это касается как домашних пользователей, так и производителей, которые могут захотеть сэкономить пару центов от стоимости, или постараются остаться в пределах, установленных производителем. Где это возможно, мы расширим тестирование, включив более быстрые модули памяти одновременно с обзором или позднее.



Читатели наших обзоров материнских плат могли заметить тенденцию в современных материнских платах реализовывать опцию MultiCore Enhancement / Acceleration / Turbo. У разных производителей она называлась по-разному, но смысл был один при ее включении снимался лимит по TDP (тепловой пакет) процессоров и они могли увеличивать частоты Turbo Boost до максимальных значений даже если превышали TDP. Наша методика тестирования является готовой, с последней общедоступной версией BIOS с установленным XMP.



Производительность системы


Не все материнские платы созданы равными. На первый взгляд, все они должны работать одинаково и различаться только предоставляемой функциональностью, однако это далеко не так. Очевидными показателями являются энергопотребление, а также возможность производителя оптимизировать скорость USB, качество звука (на основе аудиокодека), время POST и задержки. Эти показатели могут уходить корнями к производственному процессу и должны быть протестированы.

Для Z490 мы используем Windows 10 версии 1909 для компьютеров на базе x64.

Потребляемая мощность


Потребление энергии проверялось на системе с одним графическим процессором MSI GTX 1080 серии Gaming, со счётчиком электрической энергии, подключённым к источнику питания. Этот блок питания имеет ~ 75% КПД> 50 Вт и 90% + КПД при 250 Вт, что подходит нам как для режима простоя, так и для использования под нагрузкой нескольких видеокарт. Такой метод считывания мощности позволяет оценивать управление питанием платы для поддержки работы компонентов под нагрузкой, и учитывает типичные потери из-за КПД блока питания. Это реальные значения потребления, которые потребители могут ожидать от типичной системы (не считая монитор), использующей эту материнскую плату.

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







По сравнению с другими моделями Z490, плата хорошо себя показала на длительных простоях, в режиме бездействия. В первую очередь из-за PLX и 10-гигабитного Ethernet на борту.

Non-UEFI POST Time


Разные материнские платы имеют разные последовательности POST до инициализации операционной системы. Многое из этого зависит от самой платы, а время загрузки POST определяется контроллерами на плате (и последовательностью организации загрузки). В рамках нашего тестирования мы оцениваем время загрузки POST с помощью секундомера. Это время от нажатия кнопки ON на компьютере до начала загрузки Windows. (Мы не учитываем загрузку Windows, поскольку она сильно варьируется, учитывая особенности операционной системы.)



Несмотря на то, что система Supermicro не является серверной платой для Xeon и в ней не реализована архитектура IPM, время POST у нее такое же как и у серверных плат. Частично это связано с микросхемой PLX; система может выполнять POST быстрее при авто определении тех же ЦП и DRAM как и при последнем включении, в то время как другие материнские платы будут проводить проверку каждый раз.

Задержка DPC (Deferred Procedure Call)


DPC это способ, которым Windows выполняет обработку прерываний. Чтобы дождаться, пока процессор подтвердит запрос, система ставит в очередь (по приоритету) все запросы на прерывание. Критические прерывания будут обрабатываться как можно скорее, в то время как запросы с меньшим приоритетом, такие как аудио, будут отложены еще дальше. Если аудиоустройству требуются данные, ему придется подождать, пока запрос будет обработан и произойдет заполнение буфера.

Если драйверы устройств с более высоким приоритетом в системе реализованы плохо, это может привести к задержкам в планировании запросов и увеличенному времени обработки. Это может привести к пустому аудиобуферу и характерным звуковым паузам и щелчкам. Средство проверки задержки DPC измеряет, сколько времени занимает обработка DPC из вызова драйвера. Чем ниже значение, тем лучше передача звука при меньших размерах буфера. Результаты измеряются в микросекундах.



Обычно показатель ниже 250 микросекунд это неплохо, однако очевиден тот факт, что в сравнении с другими производителями Supermicro по данному параметру проигрывает.

Производительность процессора, сокращенно


Для обзоров материнских плат мы используем сокращенное тестирования. Эти тесты обычно сосредотачиваются на том, использует ли материнская плата MultiCore Turbo (функция, позволяющая постоянно поддерживать максимальный турбо, давая преимущество в частоте), или если есть некоторые преимущества от хорошей настройки прошивки. Мы настроили память согласно рекомендованным параметрам производителя процессора, что позволяет легко увидеть, на каких материнских платах по умолчанию включена MCT.

Для Z490 мы используем Windows 10 версии 1909 для компьютеров на базе x64.

Обновление: примечание о Z490 и Turbo


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

В то время как большинство поставщиков вносят коррективы в рекомендации Intel в отношении ограничений мощности и турбо, Supermicro, наоборот, строго их придерживается.

Rendering Blender 2.7b: 3D Creation Suite


Blender инструмент рендеринга высокого уровня с открытым исходным кодом, с огромным количеством возможностей настройки, используется многими известными анимационными студиями по всему миру. Недавно был релиз тестового пакета Blender, через пару недель после того, как мы сузили наш тест Blender для нового набора, однако их тест занимает более часа. Для наших результатов мы запускаем один из подтестов в этом наборе через командную строку стандартную сцену bmw27 в режиме только CPU, и измеряем время необходимое для завершения рендеринга.



Рендеринг POV-Ray 3.7.1: Ray Tracing


Persistence of Vision Ray Tracer, или POV-Ray, является бесплатным пакетом для, как следует из названия, трассировки лучей. Это чистый рендерер, а не программное обеспечение для моделирования, но последняя бета-версия содержит удобный тест для определения нагрузки на все потоки обработки на платформе. Мы использовали этот тест в обзорах материнских плат для проверки стабильности памяти на разных скоростях процессора: если тест пройден, IMC в процессоре считается стабильным для данной скорости процессора. В качестве теста ЦП он выполняется в течение 1-2 минут на высокопроизводительных платформах.



Рендеринг Crysis CPU Render


Один из наиболее часто используемых мемов в компьютерных играх " А сможет ли он запустить Crysis?/Can it run Crysis?. Игра 2007 года на движке Crytek была разработана немецкой студией Crytek, и провозглашена сложной с вычислительной точки зрения игрой, предназначенной для оборудования с завышенными системными требованиями для того времени. Через десять лет после релиза, запуск игры на современных графических процессорах не составляет большого труда. Применив ту же концепцию к чистому рендерингу CPU, проверим, может ли CPU рендерить Crysis? Ведь с появлением на рынке 64-ядерных процессоров можно и помечтать. Для этого мы и создали тест.



Для этого теста мы запускаем собственный тест GPU Crysis, но в режиме рендеринга CPU. Это тест на 2000 кадров, запускаем его на разрешении от 800x600 до 1920x1080. Ниже приведены результаты с разрешением 1080p.



Операции с плавающей запятой: 3D Movement Algorithm


3DPM это самописный эталонный тест, в котором применяются базовые алгоритмы трехмерного движения, используемые при моделировании Броуновского движения, и тестируется скорость их исполнения. Высокая производительность операций с плавающей запятой, MHz и IPC выигрывают в однопоточной версии, тогда как многопоточная версия масштабирует потоки и любит побольше ядер.



Производительность в играх


Для Z490 мы используем Windows 10 версии 1909 для компьютеров на базе x64.

Grand Theft Auto V


Долгожданная итерация франшизы Grand Theft Auto попала на полки 14 апреля 2015 года, и AMD, и NVIDIA приложили усилия для оптимизации игры. В GTA нет графических пресетов, но все же игра открывает новые возможности для пользователей и расширяет границы современной графики, нагружая даже самые мощные компьютеры до предела при помощи Advanced Game Engine от Rockstar под DirectX 11. Независимо от того, летает ли пользователь высоко в горах, где понадобится прорисовка мира на дальних дистанциях, или имеет дело с сортировкой мусора в городе, когда он сжимается до максимума, игра создает потрясающие визуальные эффекты, плюс напряженную работу как для процессора, так и для графической карты.



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





F1 2018


Помимо поддержания в актуальном состоянии мира гонок Формулы-1, F1 2017 добавила поддержку HDR, которую имеет и F1 2018. В противном случае мы бы увидели, как новые версии движка EGO от Codemasters прокладывают путь в F1. Заявляя свои права на хорошую графику, F1 2018 обеспечивает полезную графическую нагрузку в наших тестах.



Мы используем встроенный игровой тест, который запускается на трассе в Монреале на мокрой дороге, стартуя как Льюис Хэмилтон с последнего места на сетке. Данные принимаются за гонку на один круг.





Strange Brigade (DX12, Vulkan)


Strange Brigade переносит игрока в Египет 1903 года и следует за историей, которая очень похожа на историю серии фильмов Мумия. Этот типичный шутер от третьего лица разработан компанией Rebellion Developments, которая более известна благодаря играм серии Sniper Elite и Alien vs Predator. Игра следует идее охоты на Цетеки (воскресшая Королева Ведьм) в составе единственного отряда, который может в конечном счете остановить ее. Геймплей ориентирован на кооперативное прохождение, с широким арсеналом различных уровней и множеством головоломок, которые будет решать группа британских агентов колониальной секретной службы, чья цель положить конец царствованию варварства и жестокости.



Игра поддерживает как API DirectX 12, так и Vulkan API и содержит собственный встроенный тест, который предлагает различные варианты настроек, включая текстуры, сглаживание, отражения, расстояние отрисовки, и даже позволяет пользователям включать или отключать размытость изображения, окклюзию окружающего пространства, тесселяцию и прочее. Ранее AMD хвасталась тем, что Strange Brigade применяет собственную интеграцию Vulkan API, которая предполагает масштабируемость при использовании нескольких графических карт AMD на машине игрока.





Overclocking


Опыт с Supermicro C9Z490-PGW


Разгон с целью выжать столько свободной производительности насколько есть мочи сейчас не так востребован, как много лет назад. Ведь Intel и AMD уже проделали за нас тяжелую работу, все время работая над улучшением архитектуры ядра. Все усовершенствования касаются Turbo Boost для ускорения процессора, что обычно относится к одному или двум ядрам. Отлично подходит для однопоточных приложений, но для многопоточных приложений и рабочих нагрузок больше преимуществ можно получить при разгоне всех ядер.

Основные недостатки ручного разгона процессора до максимума это высокое тепловыделение и энергопотребление, которые можно свести на нет, применив премиум решения для охлаждения, такие как большие кулеры AIO. Следует учитывать параметр Intel Thermal Velocity Boost. Благодаря лучшим решениям для охлаждения процессоры Intel Comet Lake могут получить дополнительные 100 МГц сверх турбо, при условии, что процессор поддерживает температуру ниже 70 C. Горячий процессор вызывает тепловое дросселирование, что в свою очередь снижает производительность системы.



Работать с Supermicro C9Z490-PGW в целом было приятно. Прошивка содержит все настройки, связанные с разгоном, их можно найти во вкладке Overclocking в разделе Advanced, для этого необходимо нажать F7 и попасть в продвинутое меню.

Существует множество вариантов разгона ЦП, наиболее полезные для оверклокинга параметры CPU Core Ratio (коэффициент ядра ЦП), BCLK Frequency (позволяет изменять внутреннюю базовую частоту), изменение подаваемого на процессор напряжения.

В комплектациях, поддерживающих X.M.P 2.0, процесс разгона памяти прост, пользователю необходимо включить X.M.P. Для ручного разгона памяти есть опции по изменению частоты памяти, настройки таймингов, регулировка напряжения DRAM.



Лучший способ максимально выжать соки из процессора с C9Z490-PGW это поработать в меню конфигураций TDP. Плата работает с настройками Intel по умолчанию, ограничения PL1 и PL2 не позволяют C9Z490-PGW раскрыть свои возможности на полную мощь. Эти параметры можно найти во вкладке Overclocking в подменю Config TDP Configurations. Увеличив показатель PL1 на 125 Вт, заметно вырастет и производительность. В целом прошивка Supermicro SuperO проста в навигации и удобна.

Методика разгона


Наша стандартная методика разгона выглядит так: мы выбираем параметры автоматического разгона и тестируем стабильность с помощью POV-Ray и OCCT для имитации тяжелых рабочих нагрузок. Эти тесты стабильности направлены на выявление любых непосредственных ошибок памяти или процессора.

При ручном разгоне, который основан на информации, полученной в ходе предыдущего тестирования, система запускается при номинальном напряжении и множителе ЦП. После этого множитель увеличивается, пока тесты стабильности не будут провалены. Затем напряжение ЦП постепенно увеличивается до тех пор, пока тесты стабильности снова пройдут успешно. Процесс будет повторяться до тех пор, пока материнская плата не уменьшит множитель автоматически (по протоколу безопасности), или пока температура ЦП не достигнет недопустимо высокого уровня (105C +). Наш испытательный стенд находится не в корпусе, а значит, свежий (и прохладный) воздух окажет положительное влияние на наши эксперименты.



Supermicro C9Z490-PGW работает в соответствии со спецификацией Intel, а это сильно отражается не только в нашем наборе тестов, но и в нашем тестировании разгона.

Анализ энергопотребления


Методология тестирования


Мы проверяем показатели эффективности отвода тепла от источника питания и радиатора во время длительной работы при высокой нагрузке ЦП. Мы применяем разгон, который считается безопасным и максимально допустимым для процессора из нашего тестового стенда. Затем мы запускаем приложение Prime95 с включенным AVX2, в течение часа проводим тестирование в жестких условиях эксплуатации, при завышенных нагрузках. Мы собираем данные тремя разными способами, чтобы показать точные значения температуры:

  • с помощью тепловизора Flir Pro получаем тепловое изображения (с высоты птичьего полета, после часа тестирования)
  • с помощью двух датчиков, расположенных на задней части печатной платы, прямо под CPU VCore блока питания
  • проводим мониторинг температуры VRM при помощи приложения HWInfo



Для запитки Supermicro C9Z490-PGW используется 10-фазная подача питания, в цепи питания ШИМ-контроллер Infineon XDPE12284C, работающий в конфигурации 8+2. Плата оснащена силовыми каскадами Infineon TDA21490 для CPU, каждый способный выдерживать ток 90 А, и каскадами Infineon TDA21535 с чуть более низкими характеристиками для SoC. Для охлаждения есть пара алюминиевых радиаторов, причем больше внимания уделено площади поверхности радиаторов, чем их массе.



Показатели тепловых характеристик блока питания Supermicro C9Z490-PGW, не самые крутые. Несмотря на наличие большого двойного радиатора с пассивным охлаждением, он изо всех сил пытается справиться с нагревом при полной нагрузке при разгоне. Мы измерили показатели нашей пары термопар K-типа 78 C и 79 C соответственно; на плате нет встроенного термодатчика.

Наша тепловизионная камера зафиксировала температуру в 86,4 C в самой горячей части печатной платы вокруг области сокета процессора. Охлаждающие свойства радиатора на C9Z490-PGW не так эффективны, как у других протестированных нами моделей Z490 ATX.

Заключение


Supermicro в основном специализируется на выпуске x86-серверных платформ и различных комплектующих для серверов, рабочих станций и систем хранения данных. В прошлом году мы рассматривали Supermicro C9Z390-PGW, которая составила достойную конкуренцию другим моделям Z390. В этом году, после того как Intel представила свои процессоры Comet Lake 10-го поколения, Supermicro презентовала Z490 с аналогичным набором функций, как и у своего предшественника, почти за ту же цену. Supermicro, откидывая слоган Play Harder, плату Z490 продвигает под новым названием Ultimate HEDT Performance, и хотя сокет LGA1200 технически не является HEDT, он поддерживает Core i9-10900K с 10 ядрами и 20 потоками.

Особенностью Supermicro C9Z490-PGW является микросхема Broadcom PEX8747 PLX. Это позволяет мультиплексировать линии PCI от ЦП, получить дополнительные опции в отношении расширения PCIe. Есть четыре полноразмерных слота PCIe 3.0, которые можно использовать либо на x16 / / x16 / -, либо на x8 / x8 / x8 / x8. В свое время такое решение считалось надежным для соединения видеокарт NVIDIA по технологии 4-way SLI. Сегодня и NVIDIA, и AMD отходят от поддержки нескольких графических процессоров, вместо этого выбирают единственное надежное графическое решение.



В категорию премиум-класса C9Z490-PGW попадает благодаря:
надежному сетевому массиву во главе с контроллером Aquantia AQC107 10 GbE, гигабитному PHY Intel I219-V
интерфейсу Intel AX201 Wi-Fi 6, с поддержкой BT 5.1
встроенному аудиокодеку Realtek ALC1220 HD, который питает пять аудиоразъемов 3,5 мм и оптический выход S / PDIF на задней панели, аудиоразъем на передней панели.
наличию на задней панели порта USB 3.2 G2x2 Type-C, трех портов USB 3.2 G2 Type-A, одного USB 3.2 G2 Type-C, двух портов USB 3.2 G1 Type-A, а также DisplayPort 1.4 и HDMI. 2.0a

Если говорить о производительности, сразу становится очевидным, что Supermicro придерживается спецификаций Intel. Это несколько снижает производительность по сравнению с другими платами, если учитывать ограничения Intel PL1 и PL2. В наших системных тестах мы наблюдали более медленное, чем обычно, время POST для модели Z490 но это нормально для платы Supermicro. Стоит отметить, что энергопотребление приемлемо, но немного выше как по умолчанию, так и при разгоне из-за чипа PLX.

Supermicro C9Z490-PGW предлагает больше функциональных возможностей, чем другие модели Z490, в основном благодаря включению микросхемы PLX для мультиплексирования четырех полноразмерных слотов PCIe. Это самая дешевая модель Z490 с сетью 10 GbE за 395 долларов, следующая модель ASUS ROG Maximus XII Formula стоит 475 долларов. С этой точки зрения Supermicro C9Z490-PGW в целом представляет собой хороший пакет. Выходит, что пользователи, знакомые с настройкой параметров PL1 и PL2 Comet Lake, могут заполучить хорошую плату за разумные деньги.

Немного рекламы


Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас, оформив заказ или порекомендовав знакомым, облачные VPS для разработчиков от $4.99, уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps от $19 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

Dell R730xd в 2 раза дешевле в дата-центре Maincubes Tier IV в Амстердаме? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?
Подробнее..

OCP Experience Lab как мы строили мини-ЦОД в офисе

06.01.2021 00:04:36 | Автор: admin

Начиналось всё с создания стенда для тестирования серверов нашей собственной разработки. Потом стенд разросся и мы решили сделать небольшой датацентр для пилотирования различных софтовых решений. Сейчас это единственная в Россси и вторая в Европе лаборатория OCP Experience Lab.


Вообще я недавно в разработке вычислительной техники. Мне это всегда казалось чем-то невозможно сложным и доступным только огромным командам с очень большими бюджетами. И, наверное, поэтому очень привлекательным. В прошлом году звёзды сошлись и мне удалось привлечь инвесторов и найти стартовых клиентов, чтобы запустить свой собственный проект создания российского сервера. Выяснилось, что в России в этом направлении работает пара десятков команд совершенно разных размеров и специализаций. Одни просто привозят комплекты деталей от тайваньских производителей и делают в России только сборку, а другие копают сильно глубже, вплоть до написания собственного BIOS. Короче, стало понятно, что тема хоть и сложная, но вполне посильная.

Для старта разработки выбрали сервера стандарта OCP. ОСР это Open Compute Project, открытое сообщество, в котором конструкторская документация на все продукты выкладывется в открытый доступ для свободного использования. Настоящий Open Source Hardware, и как следствие, самый прогрессивный, бурно растущий и перспективный стандарт, к тому же продвигаемый преимущественно не поставщиками, а потребителями оборудования. Помимо всех технических преимуществ, открытая документация должна была упростить нам старт разработки и ускорить встраивание в такую тяжелую тему, как серверное железо. Но это, наверное, тема для отдельной статьи.

А компанию, кстати, назвали GAGAR>IN. Скоро вы про неё ещё услышите.

Готовимся

Моё же личное знакомство с ОСР состоялось лет пять назад, когда я участвовал в продвижении решений американской Stack Velocity на российский рынок. Уже тогда у нас была идея локализовать их производство и сделать собранные в России сервера с открытой документацией для нужд госкомпаний и госзаказчиков. Но тогда импотрозамещение было ещё не в тренде, и все потенциальные заказчики в итоге предпочли купить тайваньское оборудование. Именно тогда произошел первый сдвиг в популяризации OCP в России: Яндекс установил в свой новый датацентр как-бы-OCP сервера от небольшого тайваньского вендора AIC, а Сбербанк, РЖД и Mail вовсю тестировали полноценные OCP решения от гиганта Quanta, крупнейшего мирового производителя вычислительной техники.

С тех пор прошло довольно много времени и поэтому первым шагом моего плана было обойти всех основных вендоров и ближайших дистрибьюторов OCP, чтобы подружиться, запартнёриться и посмотреть-пощупать реальные железки. До начала карантинных ограничений я чудом успел объехать с десяток поставщиков в России, Тайване, Китае и Европе это был стремительный и весьма продуктивный тур, из которого стало многое понятно. Не боги горшки обжигают и у нас точно есть шанс успешно воспроизвести сервер OCP, и более того сделать его немного лучше по характеристикам.

Сборочная линия небольшого тайваньского производителя серверовСборочная линия небольшого тайваньского производителя серверовКалифорнийское производство серверов крупного азиатского производителяКалифорнийское производство серверов крупного азиатского производителя

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

Стойка OCP Experience Center в Амстердаме выглядит очень красиво, но довольно бессмысленноСтойка OCP Experience Center в Амстердаме выглядит очень красиво, но довольно бессмысленно

Стартуем

Создание тестового стенда всегда стояло одним из первых пунктов плана развития компании, но то, что мы увидели в Голландии, понравилось нам настолько сильно, что было решено совместить стенд тестирования своего железа, шоу-рум и лабораторию для отладки программно-аппаратных решений клиентов в одном месте, назвав это OCP Experience Lab. То есть мы создадим лабораторию, максимально соответствующую духу открытых сообществ удобное и легко доступное место, где и конечные потребители, и интеграторы могут своими руками пощупать и потестировать реальное, боевое и самое прогрессивное железо.

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

Тестирование новейшего сервера в домашних условияхТестирование новейшего сервера в домашних условиях

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

В июне, как только карантин немного ослаб, мы смогли начать сборку лаборатории нашей мечты.

Затащить серверные стойки в неприспособленный под это офис - само по себе нетривиальная задачаЗатащить серверные стойки в неприспособленный под это офис - само по себе нетривиальная задача

Наконец-то получилось собрать всё закупленное оборудование в одном месте и нормально установить в стойки. Нам повезло, что в помещении был трехфазный электрический ввод, и существовала возможность проложить оптику. Тем не менее, первое время, пока мы согласовывали с арендодателем проект, тащили оптику и подводили электричество к стойкам всё наше оборудование работало от обычной розетки и через LTE модем. Причем из-за толстых стен и плотной застройки, этот модем пришлось приклеить скотчем к окну.

Монтаж очередного сервера в стойкуМонтаж очередного сервера в стойку

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

Три стойки, рабочий стол инженера и большой плакат - так выглядела наша лаборатория в сентябре 2020Три стойки, рабочий стол инженера и большой плакат - так выглядела наша лаборатория в сентябре 2020

Комплектующие в лабораторию мы собирали со всего мира: заказали всё самое новое и интересное, что есть в мире OCP. В итоге у нас образовалось три стойки от трёх разных производителей, полтора десятка различных вычислительных серверов, несколько дисковых массивов и целых шесть коммутаторов! Такое многообразие позволило одновременно запускать два-три функциональных стенда и проводить на них долговременные тесты.

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

Что и как тестируем

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

Всё началось с базовых тестов производительности железа. Мы прогнали через испытания множество компонент: модули памяти Samsung, Micron, Hynix; SSD от тех же Samsung, Micron и Intel; сетевые карты Mellanox, Broadcom, Emulex и Intel. И даже сравнили между собой процессора Intel SkyLake и AMD EPYC2.

Но понятно, что лаборатория не только место для тестирования новых железок. Потребители не бенчмарки будут мерять, им нужны рабочие программно-аппаратные конфигурации. И поэтому мы стали потихоньку собирать конфигурации различного софта и проверять его работоспособность и производительность. Начали с российских Линуксов: Альт, Астра и Роса. На базовых тестах всё прошло без сюрпризов - возможно стоит делать более глубокие исследования и сравнение в сложных задачах. Потом собрали несколько различных стендов систем виртуализации. Для начала попробовали VmWare, Proxmox, Virtuozzo с ними также всё прошло довольно гладко и скучно. Мы сохранили конфигурации и решили вернуться к этим системам позже, уже с реальными клиентскими задачами.

Так как основная идея OCP оборудование без излишеств, то всё разнообразие функционала перенесено на уровень софта. Фактически, любые конфигурации собираются из двух кирпичиков вычислительного сервера и присоединяемого к нему дискового массива JBOD (Just a Bunch Of Discs). Мы же собрали в лаборатории несколько различных исполнений как серверов, так и дисковых массивов, и следующим логичным шагом было тестирование их совместной работы.

В ходе всех этих тестов, постоянного конфигурирования и переконфигурирования серверов и сетей, стало понятно, что без полноценного мониторинга систем нам не справиться, и с этого момента у нас завёлся Zabbix.

Дашборд ZabbixДашборд Zabbix

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

Кстати, одним из преимуществ оборудования OCP, является его способность работать при температурах до 30 градусов, а максимум допустимой температуры составляет как раз 35 градусов. Получилось, что мы сами того не желая, устроили своего рода стресс-тест нашим серверам. Но всё же оставлять серверную без кондиционирования опасно ещё несколько серверов и температура уползёт под сорок, да и клиентов приводить в такую жаркую комнату неудобно.

Финальный рывок

Наши продажники всегда просили красивый шоу-рум, но я до последнего надеялся обойтись малой кровью. Чистенько, удобно, функционально и достаточно. Однако в планах было сделать большой анонс открытия лаборатории уже в октябре и для этого нужно было снять небольшое видео. Позвали съемочную группу и получили суровый приговор дорисовывать красоту в кадре будет не сильно дешевле, чем сделать нормальный, полноценный ремонт. В результате торжественное открытие лаборатории отложилось ещё на пару месяцев, и появились дизайнеры, чтобы "сделать красиво".

Один из первых вариантов дизайнаОдин из первых вариантов дизайна

Дизайн и ремонт мы заказали у застройщиков выставочных стендов они как никто умеют делать яркие конструкции. Месяц согласований, месяц строительства и получилось вот так:

Лаборатория после ремонтаЛаборатория после ремонта

Теперь можно было проводить официальное открытие и снимать полноценное видео:

В итоге, у нас есть не только лаборитория, шоурум, но и удобная съемочная площадка для производства серии видеороликов про оборудование Open Compute.


Так что продолжение следует!

Самое главное - табличка на входе!Самое главное - табличка на входе!
Подробнее..

Аппаратный эмулятор клавиатуры и мыши с интерфейсом USB

12.01.2021 20:07:52 | Автор: admin
Для чего нужен аппаратный эмулятор клавиатуры и мышки? Многим часто приходится выполнять рутинную работу и возникает мысль как-то автоматизировать этот процесс чтобы компьютер сам кликал в окнах и нажимал кнопки клавиатуры в то время как вы не спеша пьете кофе или занимаетесь другими делами. Не всегда для этой цели подходит программная эмуляция и в таких случаях необходим аппаратный эмулятор.

Что же из себя представляет аппаратный эмулятор клавиатуры и мыши? Обычно это небольшое устройство подключаемое к компьютеру через USB порт и которое он определяет как клавиатуру и мышь. Кроме того предусмотрен канал передачи управляющих команд (обычно через тот же USB порт) по которому устройству приходят команды нажать или отпустить кнопку клавиатуры или переместить мышь и покликать ее кнопками. Таким устройством могут быть различные микроконтроллеры имеющие в своем составе модуль связи по USB и прошитые специальной программой эмулятора клавиатуры и мыши.
Для этой цели хорошо подходит отладочная плата Blue Pill.



На ней есть все необходимое микроконтроллер STM32F103C8T6 с интерфейсом USB который выведен на разъем microUSB и вся необходимая обвязка для микроконтроллера. Нужно только прошить микроконтроллер программой эмулятора. Также для этой цели подойдет другие отладочные платы и устройства с микроконтроллером STM32F103C8T6 например отладчик ST-Link в форм-факторе флешки. Использование готовых компонентов позволяет сделать этот эмулятор почти каждому.

Возможности эмулятора зависят от прошивки и у предлагаемой они таковы:

  • Эмуляция расширенной клавиатуры содержащей 230 кнопок.
  • Одновременное нажатие до 14 кнопок клавиатуры не считая кнопок модификаторов.
  • Эмуляция дополнительной мультимедийной клавиатуры.
  • Эмуляция стандартной мыши с 8 кнопками, колесиком и возможностью позиционирования курсора в пределах координат 0 32000.
  • Скорость работы до 500 эмуляций в секунду (2 мс. на каждую эмуляцию).

Видео работы эмулятора. На нем вначале показан код передающий команды аппаратному эмулятору, а затем код выполнен и эмулятор напечатал 200 раз слово Emulator.


Инструкцию по прошивке эмулятора, примеры, документацию, прошивку и т. д. можно найти на сайте emulator.ucoz.org
Подробнее..

Учимся работать с USB-устройством и испытываем систему, сделанную на базе контроллера FX3

11.01.2021 14:11:20 | Автор: admin
В двух предыдущих статьях мы сделали USB 3.0 систему на базе контроллера FX3. Пришла пора научиться работать с нею из своих программ для PC. Ну, и попутно понять, насколько получившаяся система пригодна для практического применения. Действительно ли ширины канала хватает на весь поток? И не теряются ли единичные байты из потока? Кто хоть немного поработал тестировщиком, не поверит в то, что если система в принципе работает, значит, работает и в деталях. А я на этой должности проработал лет пять, не меньше, поэтому привык проверять всё на практике. В общем, приступаем.




1 Теория о методах доступа к USB


1.1 Windows


Когда новое, доселе неизвестное системе USB-устройство впервые вставлено в ЭВМ, работающую под управлением Windows, оно отображается в диспетчере устройств с жёлтым знаком вопроса. Это связано с тем, что Windows обязательно нужен драйвер для работы с ним. Давайте я немного порассуждаю про эти драйверы, но не с научной точки зрения, а как инженер, раскрыв чисто практические аспекты, но несколько упростив теорию. Потому что мне не нужно, чтобы все уснули. Мне нужно, чтобы суть была понятна, так что ряд скучных деталей придётся опустить.

1.1.1 Драйверы, работающие на функциональном уровне


Что такое USB-устройство? Это набор конечных точек. Но прикладному программисту, если честно, эти точки не интересны. Давным-давно, ещё в прошлом тысячелетии, когда последовательные порты делались на микросхеме UART16550, под неё был сделан функциональный драйвер для Windows, и все прикладные программисты привыкли работать с абстракциями именно этого драйвера. И с этой привычкой трудно спорить. Представим на минутку, что с переходником USB-COM придётся работать в USB-шном стиле, на уровне конечных точек. Есть идеология CDC: две конечных точки туда-обратно, одна точка статуса в режиме прерываний и определённый набор команд, подаваемых через конечную точку EP0. Это всё описано в стандартах, относящихся к USB.

Всё? Нет, некоторым этого мало! Prolific сделала свой набор команд для точки EP0, не совместимый с CDC. А FTDI свой. Он не совместим ни с CDC, ни с Prolific. Так что, если бы прикладной программист работал бы с переходниками USB-COM на уровне конечных точек, ему пришлось бы нелегко. К счастью, Prolific и FTDI предоставляют функциональные драйверы для своих чипов, а для CDC функциональный драйвер разработала сама Microsoft и прилагает его в составе Windows. Поэтому прикладной программист понятия не имеет, как работать с конкретным переходником (помню, мы целый NDA лет 15 назад с FTDI подписывали, чтобы получить от них руководство по их командам, причём я сразу же им послал информацию об ошибке в документе, так как пока работали бюрократы, я через дизассемблер всё сам уже успел изучить, так что сразу нашёл несовпадение их описания с моим). На прикладном уровне драйверы всех упомянутых производителей дают интерфейс такой же, как и при работе со старым добрым UART16550.

То же касается и USB-накопителей. Мало кто знает, что физически там две конечных точки. Почти никому не интересно, как там надо гонять пакеты, чтобы посылать команды и данные. Как разруливать ошибки, знает ещё меньше людей. Все работают через драйвер usbstor.sys, предоставляемый Microsoft, который обеспечивает работу точно так же, как и с дисками, подключёнными через локальную шину материнской платы.
Удобно? Однозначно! Но вот мы сделали своё устройство, не совместимое по логике работы ни с каким из стандартных. И что нам теперь, всенепременно писать для него персональный драйвер?

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

1.1.2 CyUSB


С этим драйвером я познакомился раньше других. Было это 12 лет назад. Вот с него и начну рассказ. Правда, скажу лишь вскользь. Фирма Cypress, выпуская замечательные контроллеры FX2LP, просто обязана была сделать драйвер, работающий на уровне конечных точек, чтобы облегчить жизнь своим клиентам. И она его сделала. Кому интересно ищите по слову CyAPI. Это DLL-ка, предоставляющая ряд функций для прикладного программиста. Я как системщик старался обойтись без DLL, поэтому сделал себе библиотеку, работающую с драйвером на уровне IOCTL запросов.

Главный недостаток данной библиотеки заключается в её лицензионном соглашении. Её можно использовать только с контроллерами Cypress. А чтобы всё было убедительнее, начиная с некоторых версий, драйвер стал просто зависать, если он работает с контроллерами других производителей. По крайней мере, старые версии с AT90USB работали, а более свежие нет. Поэтому я решил, что не буду пользоваться данным драйвером. Даже написал свой Но вскоре обнаружился замечательный готовый вариант от Microsoft, и я перешёл на него.

1.1.3 WinUSB


Этот драйвер уходит своими корнями в инфраструктуру UMDF. Когда фирма Microsoft работала над возможностью запускать драйверы на пользовательском уровне защиты, они сделали специальный драйвер-прослойку WinUSB. Но через этот же драйвер можно работать и из обычных прикладных программ, а не только из UMDF-драйверов. Кому интересно вбейте в поиск WinUSB API. Через эту функциональность можно делать то же самое, что и через CyUSB, но с контроллерами любых производителей.

Сам драйвер входит в состав Windows, поэтому в Win7 его можно было вообще ставить без каких-либо проблем с подписыванием. Можно было создать по инструкции от Microsoft или найти и скачать готовый inf файл, поменять в нём VID/PID на свои и установить. К сожалению, начиная с WIN8, обязательно надо подписывать не только сам драйвер, но и INF файл. Однако никто не мешает поправить VID/PID у устройства на тот, который будет найден. Вот у меня есть вот такой подписанный inf файл.
Посмотреть inf файл.
;; Android WinUsb driver installation.;[Version]Signature           = "$Windows NT$"Class               = AndroidUsbDeviceClassClassGuid           = {3F966BD9-FA04-4ec5-991C-D326973B5128}Provider            = %ProviderName%DriverVer           = 06/06/2017,2.0.0010.00003CatalogFile.NTx86   = MT16_x86.catCatalogFile.NTamd64 = MT16_x64.cat;; This section seems to be required for WinUsb driver installation.; If this section is removed the installer will report an error; "Required section not found in INF file".;[ClassInstall32]Addreg = AndroidWinUsbClassReg[AndroidWinUsbClassReg]HKR,,,0,%ClassName%HKR,,Icon,,"-26"[Manufacturer]%ProviderName% = Google, NTx86, NTamd64[Google.NTx86]%CompositeAdbInterface1%     = USB_Install, USB\VID_1234&PID_0001%CompositeAdbInterface2%     = USB_Install, USB\VID_1234&PID_0002%CompositeAdbInterface3%     = USB_Install, USB\VID_1234&PID_0003%CompositeAdbInterface5%     = USB_Install, USB\VID_1234&PID_0005%OldBox%          = USB_Install, USB\VID_4844&PID_8816%HIDkey%          = USB_Install, USB\VID_A1A2&PID_2001[Google.NTamd64]%CompositeAdbInterface1%     = USB_Install, USB\VID_1234&PID_0001%CompositeAdbInterface2%     = USB_Install, USB\VID_1234&PID_0002%CompositeAdbInterface3%     = USB_Install, USB\VID_1234&PID_0003%CompositeAdbInterface5%     = USB_Install, USB\VID_1234&PID_0005%OldBox%          = USB_Install, USB\VID_4844&PID_8816%HIDkey%          = USB_Install, USB\VID_A1A2&PID_2001[USB_Install]Include = winusb.infNeeds   = WINUSB.NT[USB_Install.Services]Include     = winusb.infAddService  = WinUSB,0x00000002,WinUSB_ServiceInstall[WinUSB_ServiceInstall]DisplayName     = %WinUSB_SvcDesc%ServiceType     = 1StartType       = 3ErrorControl    = 1ServiceBinary   = %12%\WinUSB.sys[USB_Install.Wdf]KmdfService = WINUSB, WinUSB_Install[WinUSB_Install]KmdfLibraryVersion  = 1.7[USB_Install.HW]AddReg  = Dev_AddReg[Dev_AddReg]HKR,,DeviceInterfaceGUIDs,0x10000,"{F72FE0D4-CBCB-407d-8814-9ED673D0DD6B}"[USB_Install.CoInstallers]AddReg    = CoInstallers_AddRegCopyFiles = CoInstallers_CopyFiles[CoInstallers_AddReg]HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01009.dll,WdfCoInstaller","WinUSBCoInstaller2.dll"[CoInstallers_CopyFiles]WinUSBCoInstaller2.dllWdfCoInstaller01009.dll[DestinationDirs]CoInstallers_CopyFiles=11[SourceDisksNames]1 = %DISK_NAME%,,,\i3862 = %DISK_NAME%,,,\amd64[SourceDisksFiles.x86]WinUSBCoInstaller2.dll  = 1WdfCoInstaller01009.dll = 1[SourceDisksFiles.amd64]WinUSBCoInstaller2.dll  = 2WdfCoInstaller01009.dll = 2[Strings]ProviderName                = "GM Software"CompositeAdbInterface1      = "MT16 Device"CompositeAdbInterface2      = "MT16 Ports 1-5"CompositeAdbInterface3      = "MT16 Ports 12-16"CompositeAdbInterface5      = "TBR Flasher"OldBox          = "Old MT16 Box"HIDkey          = "HID Dongle via WinUSB"WinUSB_SvcDesc              = "MT16 COM Ports"DISK_NAME                   = "MT16 Driver Installation Directory"ClassName                   = "MT16 USB Devices"


Раньше таких inf файлов на просторах сети было много. Андроид-телефоны через них подключались. Сейчас надо искать по слову WinUSB.sys внутри. Ну, или ServiceBinary = %12%\WinUSB.sys.
Я поправил Прошивку для FX3 вот так:


То же самое текстом.
const uint8_t CyFxUSB30DeviceDscr[] __attribute__ ((aligned (32))) ={    0x12,                           /* Descriptor size */    CY_U3P_USB_DEVICE_DESCR,        /* Device descriptor type */    0x00,0x03,                      /* USB 3.0 */    0x00,                           /* Device class */    0x00,                           /* Device sub-class */    0x00,                           /* Device protocol */    0x09,                           /* Maxpacket size for EP0 : 2^9 */#ifdef CY_VID_PID    0xB4,0x04,                      /* Vendor ID */    0xF1,0x00,                      /* Product ID */#else    0x34,0x12,                      /* Vendor ID */    0x05,0x00,                      /* Product ID */#endif


И теперь могу собирать варианты хоть под CyUSB, хоть под WinUSB с привязкой к имеющемуся у меня inf файлу. А так можно перевести ОС в режим, не требующий подписывания драйверов, хоть это и не очень удобно.

1.1.4 Библиотека libusb


Вариант с WinUSB отличный, но не кроссплатформенный. Насколько мне известно, под Linux нет точно такого же API, который предоставляет Microsoft для Windows. Кроссплатформенный вариант это использование библиотеки libusb. Причём под Windows эта библиотека по умолчанию опирается на всё тот же драйвер WinUSB. Нашли драйвер, накатили его на устройство. Скачали библиотеку, начали через неё работать с этим драйвером. Надо будет через неё же можно будет работать и под Linux. Замечательно? Да. Особенно если мы разработали полностью своё устройство. Но, увы, я просто обязан указать недостаток данного метода для общего случая.

Когда мы устанавливаем на устройство драйвер WinUSB, мы убираем оригинальный драйвер. В рамках данного блока статей мы теряем возможность общаться с нашим устройством при помощи утилиты ControlCenter. Ну, и я не упоминал в статьях про утилиту Streamer, позволяющую измерять скорость устройства В общем, ею мы тоже не сможем пользоваться, если заменим штатный драйвер на WinUSB.

В рамках другой задачи мне надо было экспериментировать с аудиоустройствами из своего приложения. При этом я не хотел постигать все тонкости работы с ними. Я хотел только некоторые команды подавать, а чтобы всё остальное за меня делала сама операционка. Но если бы я посадил устройства на WinUSB, ОС бы потеряла контроль над ними и не могла бы оказывать мне всемерное содействие.

Можно ли работать из прикладной программы с устройствами, не пересаживая их на специальный драйвер? В принципе, да (правда, это очень аккуратное утверждение). Давайте я покажу этот метод Правда, в конце сильно раскритикую его.

1.1.5 Драйвер UsbDk


Библиотека libusb существует в двух версиях. Версия 0.1 и версия 1.0. Обе версии в настоящее время развиваются, создавая некоторую путаницу. И вот версия 1.0 может работать не только через драйвер WinUSB, но и через драйвер UsbDk. Последний является фильтр-драйвером. Что такое фильтр-драйверы? Вспоминаем детство, сказку о царе Салтане:



Собственно, фильтр-драйвер встаёт на пути IRP-пакетов от прикладной программы к основному драйверу и обратно. IRP это гонцы, которые бегают туда-сюда. А фильтр-драйвер может их пропустить, не изменяя, а может подменить их содержимое. Он придуман для исправления ошибок, чтобы не менять основной драйвер, а просто немножко подправить пакеты, дабы те не вызывали проблем. Их можно править на прямом и на обратном пути. Но в целом, никто не мешает через этот фильтр-драйвер запустить в основной драйвер запросы от приложения, которое общается именно с фильтром. И UsbDk этим и занимается.

Очень схематично, опустив ряд неважных подробностей, это можно показать так:



Вот тут мы видим, что фильтр-драйвер UsbDK подсел на пути пакетов к нашему устройству (на самом деле, он подсел на пути ко всем USB-устройствам, так как прицепился к драйверу класса USB):



Если при открытии библиотеки libusb 1.0 сказать:
    libusb_init(&m_ctx);    libusb_set_option(m_ctx, LIBUSB_OPTION_USE_USBDK);

то она будет использовать в качестве основы не WinUSB, а UsbDk. Ура? Не совсем. Приведу минимум две проблемы, создаваемые при использовании данного пути.

Первая проблема организационная. Если мы запустили программу, поработали, вышли, то всё будет хорошо. Но вот мы запустили программу, начали работать, а потом почему-то прервались. Да хоть у меня стояла точка останова, исполнение прервалось, я осмотрел переменные, увидел, что программа работает неверно, и завершил её. Могу я так сделать? Дело-то житейское при разработке программы. Или просто зациклилась она. В общем, мы её прервали. Снова запускаем устройство уже не открывается. Смотрим код ошибки он очень интересный.
Driver file operation error. DeviceIoControl failed (Cannot create a file when that file already exists.  Error code = 183)Cannot Open USB Device

И всё. Выдёргивать-вставлять USB-кабель бесполезно. Только полная перезагрузка Windows спасёт Отца Русской Демократии. Когда перезапускаешься третий-четвёртый раз за час это начинает несколько раздражать. Поиск в сети не дал никаких результатов. Попытка бегло осмотреть исходники UsbDk тоже, а на детальные разбирательства нет времени. Может, кто в комментариях чего подскажет

Но на самом деле, эта проблема раздражает, но не является фатальной. Вторая проблема более серьёзная. Вот я поставил VirtualBox. Я просто запустил виртуальную машину и хочу подключить к ней, скажем, бластер. И что получаю?



Аналогично любое другое устройство.

Поиск по сети даёт много вариантов типа: У меня всё заработало после того, как я потёр заячьей лапкой по бубну из кожи тушканчика, спрыснутому кровью семидесятидвухлетней девственницы, полученной Что там дальше в рецепте сейчас уже не помню Тем более, мне он не помог Более осмысленные рекомендации требуют сносить фильтр-драйверы USB, пока не полегчает. Проблема уходит, когда сносишь именно UsbDK. Ну, значится, так тому и быть. Хотя для экспериментов с аудио, других приемлемых вариантов я не нашёл. Так что драйвер я снёс, но дистрибутив оставил. Пригодится. Именно поэтому описываю эту методику. Ну, и вдруг кто в комментариях подскажет, как обходить эти две проблемы. Тогда станет совсем здорово.

1.1.6 Итого
Итого, сегодня мы будем работать через библиотеку libusb, посадив устройство на драйвер WinUSB. Да, мы потеряем возможность работать с устройством через стандартные приложения от Cypress. Зато всё будет стабильно и хорошо.

1.2 Linux


1.2.1 Драйвер


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

Некоторые устройства уже поддержаны в Линуксе по классу, либо по VID/PID. Вот, скажем, я подключил макетную плату ICE40 с ПЛИС Latice и подал сначала команду lsusb, чтобы увидеть USB устройства, а затем уже полюбившуюся нам по прошлым статьям команду:
ls l /dev/serial/by-path
чтобы увидеть, что мост фирмы FTDI сам прикинулся двумя последовательными портами.



С такими устройствами, если ничего не предпринимать, можно работать только на функциональном уровне. Однако, если функциональный драйвер не подключился, как уверяет начальник, в отличие от Windows такие устройства не станут неизвестными (а потому недоступными). Напротив, с ними можно сразу и без какой-либо подготовки работать через библиотеку libusb. А разработанное нами устройство относится к таковым. Поэтому никакой подготовки для начала работы не требуется. Надеюсь, начальник меня не обманул.

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

1.2.2 Отключение требований прав администратора при работе с USB-устройствами


Главная особенность USB-устройств в Linux состоит в том, что по умолчанию для доступа к ним надо обладать правами администратора. То есть, для сборки прошивки для ПЛИС ICE40 (к теме статьи они не относятся, но по проекту я сейчас их осваиваю, причём под Linux, так что скриншоты готовить проще для них) мне достаточно набрать make, а вот если для прошивки я наберу make prog, то получу такое сообщение:



Не хватает прав. Надо набирать sudo make prog.

Чтобы понизить требуемые права, надо прописать правила. А чтобы быстро выяснить, как их прописать, я обычно даю такой запрос Гуглю:
Usb blaster Linux

Ссылок будет много, все они разной степени шаманства. Вот более-менее подробная ссылка:
Using USB Blaster / USB Blaster II under Linux | Documentation | RocketBoards.org

Что сразу бросается в глаза: имена файлов с правилами для Debian и для Ubuntu разные. /etc/udev/rules.d/92-usbblaster.rules и /etc/udev/rules.d/51-usbblaster.rules, соответственно.

Всё тот же начальник, а по совместительству любитель Линукса, объяснил, что если в нескольких файлах есть правила для одного и того же устройства, число задаёт приоритет разбора файлов. Собственно, документ также говорит, что число 92 базируется на том, что в системе имеется файл /lib/udev/rules.d/91-permissions.rules.

Вообще, мне стало интересно, и я вбил в Гугля строку поиска
/etc/udev/rules.d/

Он нашёл мне много статей про udev. Некоторые более теоретические. Некоторые слишком практические. Пересказывать их не вижу смысла. При желании вы можете погуглить сами. Дам только ссылку на статью, которая мне кажется хорошо сбалансированной по теории и практике:
Igorka: Знакомство с udev в ubuntu

Итак. Иду в каталог /etc/udev/rules.d. Вижу файл 70-snap.snapd.rules, в котором есть правило, относящееся ко всем FTDI чипам:

FTDI-based serial adapters
#   FTDI does USB to serial converter ICs; and it's very likely that they'll#   never do modems themselves, so it should be safe to add a rule only based#   on the vendor Id.ATTRS{idVendor}=="0403", ENV{ID_MM_DEVICE_MANUAL_SCAN_ONLY}="1"

Не понимая до конца, что творю, запускаю не просто mc, а sudo mc и в его редакторе создаю файл /etc/udev/rules.d /71-ice40.rules со следующим содержимым:
#FTDI Programmer for laticeSUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", MODE="0666"

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



Поэтому можете просто повторить мои шаманства, можете почитать теорию по ссылкам, после чего у вас всё получится уже с пониманием физики процесса. А так в рамках данной статьи я буду работать только через Windows, но через кроссплатформенную библиотеку libusb версии 1.0 (не путать с 0.1). Поэтому в Линуксе прописывать правила для устройства FX3 не буду.

2 Практика


Ох, и огромный сегодня получился теоретический раздел! Но наконец, мы владеем достаточным количеством знаний, чтобы приступить к опытам. Напомню, я буду работать в ОС Windows, пользуясь библиотекой libusb 1.0, опираясь на драйвер WinUSB. Я сейчас осваиваю работу с кроссплатформенной библиотекой Qt, поэтому буду разрабатывать код под неё.

2.1 Добавляем libusb в проект


Я скачал библиотеку libusb и распаковал её в каталог своего проекта. Чтобы подключить её к проекту, в файл *.pro пришлось добавить блок:
win32:{LIBS +=  D:/Work/AS/2020/teensy/Qt/UsbSpeedTest/LibUSB/MinGW64/static/libusb-1.0.a}

Кто сказал, что абсолютные пути зло? Золотые слова! Я тоже так считаю. Но я уйму времени убил на эксперименты с относительными путями в этом месте. Ничего не получалось. Поэтому пока сделал так. Если кто-то знает тайну, как в проект добавляются относительные пути, да ещё так, чтобы работали, буду премного благодарен за разъяснения. А пока отмечаю, что такой вариант работает, но однозначно является злом, так как он работает только у меня и только, пока я не соберусь перенести проект куда-то. Собственно, всё. Библиотека добавлена и готова к работе.

2.2 Класс для доступа к библиотеке


Обычно примеры для статей я пишу в слитном стиле. Но сегодняшний код получился несколько запутанным, поэтому пришлось вынести работу с платой FX3 в примитивный класс. Вот его интерфейсная часть:
#ifndef CUSBTESTER_H#define CUSBTESTER_H#include "./LibUSB/libusb.h"class CUsbTester{public:    CUsbTester();    ~CUsbTester();    virtual bool ConnectToDevice();    virtual void DisconnectFromDevice();    libusb_device_handle* m_hUsb;protected:    libusb_context * m_ctx = NULL;};#endif // CUSBTESTER_H

По функциям мы ещё пройдёмся, а пока я отмечу то, что у класса есть переменная-член, хранящая указатель на контекст, который будет нужен для вызова некоторых функций тонкой настройки библиотеки, и манипулятор (в простонародии хэндл) устройства, необходимый для обращения к устройству.

В конструкторе происходит инициализация и тонкая настройка библиотеки:
//#define CY_VID_PIDCUsbTester::CUsbTester(){    libusb_init(&m_ctx);#ifdef CY_VID_PID    libusb_set_option(m_ctx, LIBUSB_OPTION_USE_USBDK);#endif    libusb_set_option(m_ctx, LIBUSB_OPTION_LOG_LEVEL, LIBUSB_LOG_LEVEL_DEBUG);    m_hUsb = 0;}

Как видим, возможна работа библиотеки через драйвер CyUSB и фильтр UsbDk, но сейчас она отключена. И мы включаем расширенную диагностику работы библиотеки. Все сообщения о проблемах будут сыпаться в окно отладочного вывода. Помните, я показывал сообщение об ошибке при работе UsbDk? Без этой опции никто бы ничего не узнал. Ошибка и ошибка.

Деструктор, соответственно, всё деинициализирует. Класс тестовый, заботиться о наличии дополнительных пользователей библиотекой нет смысла. Так что просто деинициализируем и всё.
CUsbTester::~CUsbTester(){    DisconnectFromDevice();    libusb_exit(m_ctx);}

Подключение к устройству интересно лишь тем, что может работать по разным парам VID/PID. Как я уже говорил, я могу собирать прошивку под штатные VID/PID от Cypress, если идёт работа через UsbDk, и под те, на которые у меня нашёлся inf-файл, устанавливающий драйвер WinUSB. В остальном, ничем не примечательные типовые вызовы функции библиотеки libusb:
bool CUsbTester::ConnectToDevice(){#ifdef CY_VID_PID    m_hUsb = libusb_open_device_with_vid_pid(m_ctx,0x4b4,0xf1);#else    m_hUsb = libusb_open_device_with_vid_pid(m_ctx,0x1234,0x0005);#endif    if (m_hUsb == 0)    {        qDebug()<<"Cannot Open USB Device";        return false;    }    int res = libusb_claim_interface(m_hUsb,0);    if (res != 0)    {        qDebug()<<"Cannot claim interface - "<<libusb_error_name(res);    }    return true;}

Ну, и отключаемся от устройства тоже типовым методом:
void CUsbTester::DisconnectFromDevice(){    if (m_hUsb != 0)    {        libusb_release_interface(m_hUsb,0);        libusb_close(m_hUsb);        m_hUsb = 0;    }}

Собственно, всё. Функцию чтения из устройства я буду вызывать напрямую. Это противоречит принципам проектирования классов, но для опытов сойдёт. Я просто заметил, что код инициализации сильно разросся и отделил его от основного кода, вынеся в класс. А чтение оно в одну строку выполняется, его отделять было не нужно.

2.3 Тестовая программа


Программа состоит из функции main() и тестовой функции.

Тестовая функция делится на две части. Первая часть измеряет скорость передачи данных. Вторая проверяет то, что данные из счётчика приходят с инкрементом. При обнаружении разрыва сведения об этом выдаются в консоль отладочного вывода. Собственно, вот текст функции:
bool TestStep(CUsbTester& tester,uint16_t* pData, const int bytesCnt){    bool bResult = true;    qDebug() << "Testing...";    QElapsedTimer timer;    timer.start();    int actualLength;    int res = libusb_bulk_transfer(tester.m_hUsb,0x81,(uint8_t*)pData,bytesCnt,&actualLength,10000);    if (res != 0)    {        qDebug() << libusb_error_name(res);        return false;    }    quint64 after = timer.elapsed();    qDebug() << "Read Result = " << res;    qDebug() << "Actual Length = " << actualLength;    qDebug() << "Time = " << after;    double speed = bytesCnt/after;    qDebug() << speed << "Bytes / Sec";    uint16_t prevData = pData[0];    for (int i=1;i<bytesCnt/2;i++)    {        if (pData[i] != ((prevData + 1)&0xffff))        {            qDebug() << Qt::hex << i << " : " << prevData << ", " << pData[i];        }        prevData = pData[i];    }    return bResult;}

В будущем я планирую вызывать эту функцию многократно, но пока функция main() вызывает её один раз:
int main(int argc, char *argv[]){    QCoreApplication a(argc, argv);    CUsbTester tester;    if (tester.ConnectToDevice())    {        QByteArray ar1;        ar1.resize(128*1024*1024);        for (int i=0;i<1;i++)        {            TestStep (tester,(uint16_t*)ar1.constData(),ar1.size());        }        tester.DisconnectFromDevice();    }    return a.exec();}

Собственно, и вся программа.

2.4 Результат тестового прогона


2.4.1 Скорость


При тестовом прогоне мы видим, что скорость близка к требуемой. Напомню, что источник гонит 16-битные данные на скорости 60 МГц, так что нам требуется поток 120 миллионов байт в секунду. Когда на временных диаграммах наблюдался огромный дефицит колбасы, скорость была всего 30 Мегабайт в секунду. Даже меньше, чем практически достижимая скорость на шине USB 2.0. Так что текущие результаты вполне приемлемые.



Правда, чтобы окончательно успокоиться, я решил немного поэкспериментировать со скоростью. Чаще всего она была равна 119 0XX XXX байт в секунду. Изредка 119 4XX XXX. Ну, и совсем редко промежуточные значения, похожие на указанные выше. Сначала я решил, что это могут быть ошибки округления. У нас идёт округление показаний таймера, и возникают округления при делении. Тогда я переписал вычисление скорости так (перешёл на наносекунды и стал умножать перед делением, чтобы минимизировать ошибку округления):
    QElapsedTimer timer;    int actualLength;    timer.start();    int res = libusb_bulk_transfer(tester.m_hUsb,0x81,(uint8_t*)pData,bytesCnt,&actualLength,10000);    quint64 after = timer.nsecsElapsed();    if (res != 0)    {        qDebug() << libusb_error_name(res);        return false;    }    qDebug() << "Read Result = " << res;    qDebug() << "Actual Length = " << actualLength;    qDebug() << "Time = " << after;    quint64 size = bytesCnt;    size *= 1000000000;    quint64 speed = size/after;    qDebug() << speed << "Bytes / Sec";

Результат ничуть не изменился. Следующее подозрение было, что источник имеет некоторую ошибку кварцевого резонатора и шлёт данные чуть медленнее, чем надо. Но другая плата даёт точно такие же показания! Значит, дело не в экземпляре. Мало того, осциллограф (правда, весьма дешёвый китайский) говорит, что тактовая частота нисколько не занижена, даже чуть завышена.

Тогда я полез в исходники библиотеки libusb и просто-таки утонул в коде, который исполняется при ожидании конца передачи данных. Там такая цепочка функций просто закачаешься! И много, где может возникать задержка. Но давайте прикинем, какова задержка.

120 мегабайт в секунду Округлим до ста. Это 1 мегабайт в 10 миллисекунд. А у нас просадка как раз на 1 мегабайт. Неужели начало и конец прокачки съедают так много времени? Как бы проверить хотя бы начерно? Я решил переписать на пробу код под прямой вызов WinUSB API. Полностью объяснять я его не стану, там устройство открывается хитро, через SetupDi API. Я просто воспользовался готовыми своими старыми классами, поэтому всё было сделано под Visual Studio. Но вместо страшных километровых текстов ожидания завершения библиотеки WinUSB, моя функция чтения выглядит вполне канонически:
int CWinUSBConnector::ReadViaBulk (void* pData,int count,int timeOut){DWORD dwRead;ResetEvent (m_hEvRead);if ((!WinUsb_ReadPipe (m_hUsbDrive,m_nReadEP,(BYTE*)pData,count,&dwRead,&m_ovRead)) && (GetLastError() != ERROR_IO_PENDING)){return -1;}if (WaitForSingleObject(m_hEvRead,timeOut)!=WAIT_OBJECT_0){WinUsb_AbortPipe (m_hUsbDrive,m_nReadEP);return -2;} else{WinUsb_GetOverlappedResult (m_hUsbDrive,&m_ovRead,&dwRead,FALSE);}return dwRead;}

А тест теперь выглядит так:
#include <iostream>#include <windows.h>#include "./USB/WinUSBConnector.h"CWinUSBConnector m_connector;int main(){    std::cout << "Hello World!\n";if (m_connector.Open() != 0){std::cerr << "Cannot Open Drive\n";return 1;}LARGE_INTEGER Frequency;QueryPerformanceFrequency(&Frequency);static const UINT64 cnt = 128 * 1024 * 1024;BYTE* pData = new BYTE [cnt];LARGE_INTEGER StartingTime, EndingTime, ElapsedMicroseconds;QueryPerformanceCounter(&StartingTime);UINT64 realSize = m_connector.ReadViaBulk(pData, (int)cnt, 10000);QueryPerformanceCounter(&EndingTime);if (realSize != cnt){std::cerr << "Cannot Read Data\n";return 2;}ElapsedMicroseconds.QuadPart = EndingTime.QuadPart - StartingTime.QuadPart;ElapsedMicroseconds.QuadPart *= 1000000;ElapsedMicroseconds.QuadPart /= Frequency.QuadPart;UINT64 bytesPerSeconds = (cnt*1000000LL) / ElapsedMicroseconds.QuadPart;std::cout << "Test Finished! " << bytesPerSeconds << " Bytes  per second \n";delete[] pData;return 0;}

Теперь скорость стабильно находится в районе 119 2XX XXX байт в секунду. Вот какой красивый результат я подловил для красного словца:



А вот результат нескольких прогонов подряд:



В общем, никто не запрещает просадке возникать и на входе-выходе в функцию чтения. Если разрывов в показаниях счётчика не будет, то и ладно.

2.4.2 Пропуски в показаниях счётчика


Но на тему разрывов у нас тоже имеется пара строк в выводе основной тестовой программы:



Имеется два нарушения последовательности счёта. Неужели мы нарвались на выпадение данных? К счастью, всё в порядке. Множественные прогоны говорят, что проблемы всегда в одном и том же месте. И мы с таким уже сталкивались в одной из старых статей. У нас есть две точки буферизации данных: буфер контроллера и FIFO в ПЛИС. Готовы ли мы принимать данные или нет, они с выхода счётчика будут заливаться в буфер FX3. Когда тот переполнится, заливка остановится. Кроме буфера FX3, есть ещё FIFO в ПЛИС. Вот у нас и имеется две ёмкости, которые заполнились, но счётчик продолжил работу. При чтении мы увидели разрывы в счёте.

Соответственно, мы наблюдаем явление переходных процессов. При реальной работе надо будет настроить источник так, чтобы он не заполнял буфер данными, пока мы не готовы их принимать (собственно, в статье про голову USB-Анализатора мы уже делали такую функцию через добавление бита Go), а пока просто будем игнорировать ошибки в этой области. Считаем, что это не баги, а фичи. Меняем проверку разрывов на такую:


То же самое текстом.
    int from = 0xc001;    uint16_t prevData = pData[from];    for (int i=from+1;i<bytesCnt/2;i++)    {        if (pData[i] != ((prevData + 1)&0xffff))        {            qDebug() << Qt::hex << i << " : " << prevData << ", " << pData[i];        }        prevData = pData[i];    }


Делаем массовый прогон для такого варианта И тут я понял, кто даёт задержку Отладочный вывод!!! Вот так всё выглядит:



Масса вспомогательных текстов, выдаваемых библиотекой. Ну и отлично. Закомментируем в конструкторе класса, обслуживающего libusb, строку:

// libusb_set_option(m_ctx, LIBUSB_OPTION_LOG_LEVEL, LIBUSB_LOG_LEVEL_DEBUG);

Получаем красоту, ничем не отличимую от того, что мы получали при прямом вызове WinUSB API (жаль только, что не идеальный результат):



Но главное нет сообщений про разрывы в показаниях счётчика (известные точки разрывов мы игнорируем).

А что там нам про таймауты промежуточные говорили? Попробуем читать не 128, а 32 мегабайта! Получаем уже скорость вплоть до 119 8XX XXX мегабайт в секунду!



В общем, всё хорошо Кроме одного. Я нашёл такой нестандартный вариант теста, при котором штатная прошивка FX3 подвисает. Но статья получилась такой большой, что как это найти, а главное как исправить, я расскажу в следующий раз.

3 Заключение


Мы познакомились с теоретическими особенностями работы с USB устройствами в ОС Windows и Linux, а также получили практический навык работы с кроссплатформенной библиотекой libusb. Начерно, разработанное USB 3.0 устройство на базе контроллера FX обеспечивает требуемый поток данных для приёма данных из микросхемы ULPI без промежуточного их сохранения в SDRAM. В потоке не выявлено разрывов, то есть, протокол передачи с виду устойчивый. Автор утверждает, что выявил принципиальную проблему в системе, но выносит её обсуждение в следующую статью.
Подробнее..

80-ядерные ARM-процессоры Ampere Altra протестировали производительность на уровне AMD EPYC 7742

27.12.2020 16:14:22 | Автор: admin

Летом этого года компания Ampere представила 128-ядерный ARM-процессор Altra Max. А весной она же анонсировала первый в отрасли 80-ядерный процессор Ampere Altra. Тогда сообщалось, что он предназначен для работы в серверном оборудовании, а не в потребительских устройствах.

На днях стало известно о том, что компания разослала разным обозревателям двухсокетные платформы Mount Jade. Сторонники ARM-архитектуры могут быть довольны результаты тестирования положительные. В ряде тестов чипы не отстают от аналогов x86-64, а в чем-то их и превосходят.

Что собой представляет Ampere Altra



Чипы из этого модельного ряда имеют до 80 ядер с архитектурой ARM v8.2+ (с некоторыми улучшениями из наборов v8.3 и 8.4), связанных между собой mesh-шиной Arm CoreLink CMN-600. Кроме того, есть и развитая система кешей. Это 64+64 Кбайт L2, 1 Мбайт L2 и до 32 Мбайт общего L3. У подсистемы памяти 8 каналов DDR4-3200 (72-бит, 2DPC, до 4 Тбайт суммарно).

Поскольку чип позиционируется, как адаптированный к серверным приложениям, включая аналитику больших данных, нейросейти, базы данных, пограничные вычисления и т.п., то в нем на аппаратном уровне реализована как поддержка форматов данных FP16 (числа половинной точности), так и INT8 (однобайтное представление целого числа). Плюс ко всему, разработчики предусмотрели аппаратное ускорение хэширования AES и SHA-256.

Периферия подключается через PCIe 4.0 на 128 линий. В двухсокетном варианте с каждой стороны отводится по 32 линии на связь с CPU. В результате получается 192 линии, с использованием CCIX. По словам специалистов, сейчас Ampere повторяет путь AMD цена чипов зависит лишь от количества ядер и частоты их работы. А вот функциональность младших и старших моделей одинакова.


Особенность Altra отсутствие многопоточности, что сам производитель называет преимуществом. Дело в том, что отказ от SMT дал возможность снизить уровень энергопотребления это показатель, который очень важен для рынка высокоплотных серверных систем. Еще одна названная причина повышенная безопасность.


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

И теперь о тестах


Тестовые образцы процессоров, которые попали к обозревателям две старших модели 80-ядерных процессоров Altra Q80-33, которые работают на частоте 3,3 ГГц. К слову, двухпроцессорный вариант создан в партнерстве с разработчиком и поставщиком OCR-платформ, компанией Wiwynn.


Установка процессора производится при помощи откидной рамки, которая закрепляется пятью винтами. Размеры процессора удивляют 77 66,8 мм. Что касается радиаторов, то площадь контакта у них небольшая, около 25% от общей площади крышки теплораспределителя процессора. Сам кристалл монолитный, производится он по 7-нм технологии. Радиаторы снабжены специальным механизмом отвода тепла испарительной камерой, благодаря которой TDP 250 Вт не составляет проблем.


Что касается аналогов в мире x86-64, ими являются AMD EPYC 7742 (64 ядра, SMT2, 225 Ватт, $6950) и Intel Xeon Platinum 8280 (28 ядер, SMT2, 205 Ватт, $10009). При этом стоимость чипа от Ampere всего $4050 (всего если сравнивать со стоимостью конкурентов). Возможно, именно цена станет на первых порах основным фактором привлечения внимания к чипу корпоративных клиентов.

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

Недостаток этих чипов высокие задержки, как в пределах одного разъема, так и межпроцессорные. Это, по словам экспертов из AnandTech, слабая сторона новых процессоров. Но проблема не фатальная.


Что касается тестов на пропускную способность памяти, то результаты у Altra Q80-33 очень хорошие. В этом тесте проиграл Xeon, у которого всего шесть каналов, в отличие от восьми у AMD и Ampere.

В тестах SPECint2017 и SPECfp2017 новый чип показал себя очень неплохо не хуже, чем Xeon Platinum 8280 и близко к AMD EPYC 7742. Результаты оказались низкими только в одном случае в тестах на вычисление с плавающей запятой.


А вот в другом тесте еще один ARM-процессор, AWS Graviton2, показал себя неплохо. Не очень хороший результат теста чипа от Ampere, возможно, связан с тем, что тот же Xeon может разгоняться до 4 ГГц, имея два активных ядра.


Отличные результаты новый чип показал в тестах на многопоточность, опередив Xeon. Altra Q80-33 можно назвать абсолютным чемпионом в классе двухпроцессорных систем.

Хуже дело обстоит с результатами тестов Java но здесь проблема в отсутствии SMT и сыром ПО. Кроме того, проблемой является и отсутствие мультитрединга.


Новый процессор отлично себя показал и в тестах на компиляцию. В LLVM Suite результаты у Altra Q80-33 аналогичны показателям EPYC 7742. При этом у ARM все хорошо с энергоэффективностью. Новый чип шел вровень с AMD в тестах на сжатие, в тестах MariaDB, nginx и файл-серверных сценариях.


Практически все обозреватели, тестировавшие процессоры, отозвались о новинке хорошо. Ей удалось сохранять низкий уровень энергопотребления с демонстрацией высокой производительности по этому показателю процессор был примерно равен AMD EPYC 7742. Есть, конечно, определенные недостатки, но они не фатальны.


Обозреватели публиковали большое количество информации относительно тестов, так что если нужно больше данных о проводимом тестировании, результатах и заключениях экспертов, стоит обратиться к AnandTech, ServeTheHome и Phoronix.

Подробнее..

Китай продолжает разработку процессоров представлен 8-ядерный ARM-чип D2000 для мощных систем

08.01.2021 22:18:59 | Автор: admin

Китай продолжает работу по разработке собственных процессоров стране это нужно и для обхода санкций США в отношении ряда компаний из Поднебесной, и для снижения зависимости от поставок со стороны.

Сейчас в этом направлении работают несколько компаний. Одна из них Phytium Technology, которая недавно представила 8-ядерный ARM-процессор D2000 для производительных ПК. Его можно использовать как для небольших ПК, в форм-факторе Mac Mini, так и для обычных десктопов.

Новый процессор производная от FeiTeng-2000/4, представленного летом 2020 года. Правда, у D2000 в два раза больше ядер 8 вместо 4. Вообще говоря, этот же процессор компания Phytium будет использовать для создания нового суперкомпьютера. Но, как и говорилось выше, чип пригоден для пользовательских систем.


У новинки 8 ядер FTC663, совместимых с ARMv8. Энергопотребление чипа составляет 25 Вт при работе на частотах 2,302,60 ГГц. У каждого ядра четыре конвейера с внеочередным исполнением команд, динамическим предсказателем ветвлений, плюс новыми блоками INT и FP. Для того, чтобы ускорить рабочие нагрузки с плавающей запятой, разработчики добавили поддержку инструкций Arm ASIMD.

У каждой из пары ядер общая кэш-память второго уровня объемом 2 МБ. Все восемь ядер работают с кэшем третьего уровня, объем которого составляет 4 МБ. Процессор поддерживает алгоритмы шифрования SM2, SM3, SM4 и SM9, а также собственную платформу безопасности PSPA 1.0.

Что касается ввода-вывода, то у D2000 128-битный интерфейс памяти DDR4-3200 / LPDDR4, 34 линии PCIe 3.0, два порта GbE, 32 линии GPIO и интерфейсы CAN, UART, I2C, SPI, а также LPC. Кроме того, у чипа есть поддержка звука, но отсутствует встроенная графика.

Как и предшественник, D2000 получит 1144-контактный корпус FCBGA размером 32 35 мм. Выводы у процессоров совместимые, так что при необходимости более старую модель можно обновить на D2000.

А кто производитель?


Это самое интересное, поскольку, как уже говорилось, это полностью китайская разработка. Скорее всего, произвела чипы не компания TSMC. Прошлую модель производила именно она, по 16-нм техпроцессу. Новый же процессор выпущен по 14-нм техпроцессу.

Исходя из этого, можно предположить, что производитель китайская Semiconductor Manufacturing International Corp. (SMIC) или United Microelectronics Corp. из Тайваня. Маловероятно, но все же возможно, что чип поставили GlobalFoundries или Samsung Foundry.

Но совершенно точно это не TSMC, которая, к слову, будет поставлять 64-ядерный процессор S2500 для этой же компании. S2500 тоже выполнен по 16-нм техпроцессу и предназначен для работы в оборудовании ДЦ и суперкомпьютеров. Площадь поверхности чипа 132 мм2 (у A10 от Apple 125 мм2).

К слову, дела у Phytium идут очень неплохо. В прошлом году продажи компании выросли в 7,5 раза.


Это объясняется работающей программой импортозамещения. Сейчас все больше компаний и государственных организаций Поднебесной переходят на отечественное программное и аппаратное обеспечение. В 2020 году компания продала 1,5 млн чипов против 200 000 в 2019. 80% поставок ушли государственным заказчикам.

В этом году компания, скорее всего, продаст еще больше процессоров, чем в прошлом. Первые системы с новым чипом появятся в начале этого года.

Подробнее..

Intel о топовом процессоре Core i9-11900K быстрее Ryzen 9 5900X, выйдет уже в этом квартале

13.01.2021 00:05:12 | Автор: admin

Компания Intel решила ускорить процесс вывода своего нового процессора Core i9-11900K на рынок. Теперь уже официально известно, что чип поступит в продажу в ближайшие пару месяцев. Компания на CES 2021 представила целое семейство Rocket Lake-S, но больше всего внимания уделила старшему представителю того семейства.

Немудрено ведь это действительно топовый на данный момент чип. Ориентирован он, в первую очередь, на геймеров и пользователей, которым нужны высокопроизводительные системы. По словам представителей Intel, процессоры дают прирост IPC (числа исполняемых за такт инструкций) на 19% по сравнению с Comet Lake.


У Core i9-11900K 8 ядер с поддержкой 16 потоков. Работает чип на частоте вплоть до 4,8 ГГц при полной многопоточной нагрузке. Сообщается, что максимальная частота составляет 5,3 ГГц, такая высокая скорость работы возможна благодаря технологии Thermal Velocity Boost, но только в однопоточном режиме.
Zen 3 Ryzen 5000 Series Processors Cores/Threads Base/Boost Freq. TDP
Ryzen 9 5900X 12 / 24 3.7 / 4.8 105W
Intel Core i9-11900K 8 / 16 ? / 5.3 150W?
Core i9-10900K / F 10 / 20 3.7 / 5.3 125W
Ryzen 7 5800X 8 / 16 3.8 / 4.7 105W
Core i9-10850K 10 / 20 3.6 / 5.2 95W
Core i7-10700K / F 8 / 16 3.8 / 5.1 125W

Процессоры, кроме всего прочего, получили поддержку DDR4-3200 и 20 линий PCIe 4.0, которые служат для подключения графического адаптера и SSD. С памятью DDR4-3200 чип работает в духканальном режиме.

Чипы семейства Intel Rocket Lake-S выпускаются по оптимизированной 14-нм технологии, получив конструктивное исполнение LGA1200. Компания заявила, что устанавливать их можно на платы с чипсетами не только 500-й, но и 400-й серии. Правда, не все модели поддерживаются, но тем не менее.

Системы с наборами логики Z490, Q470 и H470 получат необходимые для корректной работы чипа обновления UEFI. А вот платы B460 и H410 не обновят, так что они будут совместимы лишь с предыдущими поколениями чипов.

Компания уже заявила, что 8C/16T Core i9-11900K новый король игрового мира среди чипов. Он превосходит по производительности AMD Ryzen 9 5900X при разрешении 1080p и настройках качества графики Ultra. При тестировании с графическими адаптерами EVGA RTX 3080 XC3 чип показывает прирост производительности по сравнению со своим конкурентом от 2% до 8%. В среднем получается 4%, что не так много, но все же приятно для пользователя.


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

В ходе сравнения производительности систем на основе Core i9-11900K и второго чипа компании, Core i9-10900K, выяснилось, что преимущество новинки составляет около 7%. Тестирование проводилось при помощи встроенного бенчмарка игры Hitman III.

Есть у чипа и другие преимущества, включая интегрированную графику Intel Xe, а также совместимость с технологией Intel Deep Learning Boost. Что касается интегрированной графики, то она на 50% более производительна, чем встроенная графика Comet Lake. Ну а совместимость с Intel Deep Learning Boost обеспечивается поддержкой набора инструкций AVX-512.


После Intel Rocket Lake-S и материнских плат на чипсетах 500-й серии компания собирается выпустить 10-нм процессоры Alder Lake. У них сочетаются ядра на двух разных микроархитектурах.

Подробнее..

Новые AMD Ryzen на архитектуре Zen 3 сравниваем с предыдущим поколением, а также сIntel Core i9

14.01.2021 12:05:51 | Автор: admin


Я планировал написать эту статью еще весной 2020-го, но постоянно откладывал её в дальний ящик. Хотелось бы сказать, что причиной тому экологическая ситуация в стране и мире, но на самом деле желание накопить больше практического и тестового материала и, что поделать, безграничная прокрастинация. Теперь же, когда отдел маркетинга пишет мне чаще, чем кредиторы, и, по всей видимости, скоро начнет приходить домой справляться о самочувствии, я решил, что откладывать больше некуда. Тем более, что опыта накопилось достаточно, а AMD выпустил процессоры на новой архитектуре Zen 3.

Изначально в статье хотелось столкнуть лбами двух производителей AMD и Intel. Но все сроки были упущены. Поэтому вместо того, чтобы явно сравнивать красных и синих, протестируем два поколения Ryzen на Zen 2 и Zen 3. Справедливости ради и об Интел не забудем. Тем более, что исторически мы всегда предлагали серверы именно на их процессорах как серверных, так и десктопных. И статьи с тестами выпускали исключительно про них же. Монополия Intel в линейке представленных у нас конфигураций закончилась примерно год назад в декабре 2019-го мы стали предлагать серверы на базе AMD Ryzen 7 3700X и AMD Ryzen 9 3900X, затем в октябре 2020-го к ним добавился AMD Ryzen 9 3950X, а в декабре 2020-го и AMD Ryzen 9 5900X.

В общем, я решил, что процессоры обоих производителей на тестовом стенде может и не совсем вовремя, но точно неплохо.

Из истории моего знакомства с AMD


Прежде, чем мы перейдем к тестам и графикам, я бы хотел немного отойти от основной темы. Если вы не сторонники ностальжи, можете смело пропустить эту часть. Кроме авторских воспоминаний об ушедшей молодости и моём опыте работы с компьютерами, в том числе и на процессорах AMD, тут ничего не будет.

Для меня знакомство с продукцией AMD началось в далёком 2006 году, когда я будучи студентом первого курса устроился подмастерьем в сервисный центр и стал ремонтировать компухтеры. Тогда в моём личном пользовании находился домашний компьютер на процессоре Intel Pentium 4 531 на 3 ГГц, аж с Hyper-Threading. На фирменной материнской плате Intel, с SATA1, жёстким диском SATA на 80 Гб от Seagate и видеокартой ATI Radeon X300. На тот момент не самый топовый, но всё равно страшно крутой среди однокурсников компьютер, позволявший спокойно играть по сетке в CS 1.6.

Работая в сервисе, я впервые увидел компьютеры и ноутбуки на процессорах AMD (Athlon, Duron и Turion) по моему субъективному мнению, в городе их было примерно 50/50 с машинами на Intel. К тому же периодически встречались x86-совместимые процессоры VIA и Cyrix. Приблизительно в это же время появилась легенда о том, что АМД греются и даже сгорают от перегрева, что было в общем-то недалеко от правды. К слову, сей факт позволил компании Intel успешно пройти под радарами потребителя со всем ворохом технических и маркетинговых косяков, которые наблюдались при переходе от Pentium 4 к Core 2 Duo.

Пользуясь служебным положением, я достаточно быстро собрал личный компьютер на процессоре Intel Core 2 Duo E7200 на сокете LGA775 и материнской плате Asus так как десятками видел материнки Gigabyte на 478 сокете с прогаром в южном мосту. Меня всё устраивало, кроме того, что у процессора не было поддержки аппаратной виртуализации и появившийся тогда VirtualBox работал очень неспешно. Я перешёл на AMD Athlon II X2 и благодаря прямой и обратной совместимости сокетов имел шикарную возможность спокойно обновляться в течение пары лет. Intel этим похвастаться не мог.

Позже я пересел на AMD Phenom II X6, и это было что-то невероятное! Gentoo Linux, которая тогда была моей основной ОС, компилировалась меньше суток! Такой результат не удавалось получить никому из моих коллег на Intel Core 2 Quad. До опредёленного момента я считал, что это апофеоз компьютерной мысли. Пока поставщик не предложил новые AMD FX-8100 на микроархитектуре Bulldozer. Восемь ядер, не каких-то там жалких шесть! И я обновился Скорость пересборки мира упала, а я узнал, что процессор может перегреваться на боксовом охлаждении. Позже я обновился ещё пару раз FX-8150, FX-8300 и остановился на AMD FX-8350 на микроархитектуре Piledriver, причём с обновлением материнской платы (сокет AM3+). Но это всё равно было уже не то. Поэтому в моей памяти линейка Phenom II X6 так и осталась лучшей у AMD на многие годы.

Время шло, юношеские прыщи сошли на нет, Gentoo Linux подвинула Fedora Linux, и необходимость в повседневном компиляте отпала. Я смирился с прошлым, обзавёлся семьей, и, как следствие, лишился возможности постоянного апгрейда личной техники. За выходом новых линеек AMD наблюдал уже без особого энтузиазма, а потом и вовсе переехал на продукцию компании Apple, закончил карьеру сервисника и админа локалхоста и потерял связь с десктопами. История стала легендой, легенда фарсом. А потом уже и анекдотов насочиняли.

И вот в 2018 году АМД выпускает новое поколение процессоров на архитектуре Zen. Я аж весь оживился: что-то новое после стольких лет стагнации. Уже тогда я работал тут, где работаю, и как писал выше, имел дело только с процессорами Intel. Правда, надеясь, что однажды мы станем предлагать конфигурации на базе AMD.

И вот моя призрачная надежда внезапно становится реальностью. Не без моего участия, естественно.

Вспоминая историю с FX-8100, начать было решено с Райзенов третьей тысячи, тесты которых показали, на мой взгляд, просто шикарные результаты. А теперь вышла новая линейка процессоров на архитектуре Zen 3, которую тоже не обошла участь быть протестированной.

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

Пара слов о техпроцессе и нанометрах


Многие, и мы в том числе, неоднократно сетовали на то, что Интел давно застрял на своих 14 нм. Доказательством тому были частые разговорчики типа: А у АМД уже давно 7 нм. А скоро будет ещё меньше.... Я решил немного разобраться в вопросе, поэтому вот моя краткая ремарка о техпроцессе и влиянии заявленных нанометров на производительность процессора.
Важной характеристикой для сравнения техпроцессов всё же остается число транзисторов на квадратном миллиметре. То есть сколько в кристалле процессора простейших логических элементов. Дело в том, что техпроцесс говорит не о размере самого транзистора, а о размере одной из его частей а именно затвора (насколько я себе это представляю). Остальные же составляющие элементы транзистора строго к величине техпроцесса не привязаны.

Ранее, на мой взгляд, до появления такой технология как FinFET, в которой стали использоваться трёхмерные, а не планарные транзисторы, ещё имело смысл сравнивать техпроцессы производителей, отталкиваясь от размеров транзистора. Но после производители пошли в разные стороны, разрабатывая собственные технологические решения. И нанометры из реального показателя превратились в абстрактный. При этом привычка сравнивать техпроцессы никуда не делась, хотя всё свелось к сравнению мягкого с тёплым. Теперь ориентироваться на размер заявленного техпроцесса даже не столько бессмысленно, сколько не очень показательно. И стоит сравнивать совсем другие параметры.

Например, в этой статье автор даёт интересную таблицу по сравнению техпроцессов:


Источник www.hardwareluxx.ru

  • Fin Pitch: расстояние между ребрами (эмиттер и коллектор) транзистора
  • Min Metal Pitch: минимальное расстояние между двумя слоями металла
  • Fin Height: высота ребер от подложки Si в слое оксида
  • Fin Width: толщина ребер

Между транзисторами на подложке тоже есть расстояние. И, надо заметить, что оно различается у таких производителей, как Samsung, TSMC, Intel и GF, при одной и той же заявленной величине техпроцесса.

В итоге получается, что понятие техпроцесса в один прекрасный момент стало сугубо маркетинговым и не говорит, как в былые времена, о техническом преимуществе процессоров, у которых он меньше. Таким образом, техпроцесс TSMC 7nm FinFET, на котором изготавливаются два последних поколения процессоров AMD, нельзя с твёрдой уверенностью назвать лучшим относительно фирменного техпроцесса Intel 14 нм. Если хотите углубиться в тему, то вот вам одна интересная статья и познавательный видеоролик по этому поводу. А мы наконец-то переходим к тестированию.

Тестирование


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

И раз уж мы заговорили о том, что влияет на результаты тестирования, вспомнился мне один пример из жизни. Как-то одного метеоролога спросили в интервью Скажите, что влияет на прогноз погоды?, он ответил проще сказать, что не влияет. Так вот на результаты тестов не влияет фаза луны, но это не точно.

А если серьёзно, факторов, которые могут повлиять на итоговый результат тестирования, более чем достаточно. И это не только операционная система или дистрибутив Linux. Результат будет зависеть и от версии ядра ОС, версий системного софта, планок памяти, даже если они имеют одинаковые характеристики, чипсета, фаз питания процессора и их охлаждения, версии BIOS, версии бенчмарков, особенно пакета phoronix, обновление тестов которого происходят чаще, чем презентации Apple в 2020 году. Даже накопитель влияет, например, на прохождение теста phoronix Apache. В общем, масса условий, которые трудно повторить по прошествии времени. Поэтому по мере сил при тестировании стараемся создать максимально одинаковые условия для тех процессоров, результаты которых попадут в одну статью.

Особо хочу отметить следующий момент. Он относится в меньшей степени к процессорам Intel, много лет делающей рефреши одной и той же архитектуры, и в большей степени к процессорам AMD: после релиза процессоров первые результаты тестов хуже, чем результаты тех же тестов спустя год. Предполагаю, что это связано с добавлением поддержки соответствующих процессоров и оптимизаций в ядро, софт и бенчмарки. Именно поэтому сюда не попали результаты первых тестов процессоров AMD: они были хороши, но новые ещё лучше.
В этот раз мы всё перепроверили заново, чтобы читатель смог получить самые актуальные результаты тестов.

Итак, что же сегодня попало в наши цепкие лапы?

Во-первых, это два процессора AMD на архитектуре Zen 2 Ryzen 9 3900X и Ryzen 9 3950X. Честнее было бы сравнивать их с девятой тысячей процессоров Интел Core i9-9900K. Почти одногодки всё-таки. Но мы решили, что в сравнении примет участие другой представитель от Интела, а точнее Core i9-10900K, относительно топовый процессор для сокета 1151. С одной стороны, у нас уже есть сравнительные тесты i9-9900K и i9-10900K, с другой оба этих процессора построены на одной архитектуре. Так что все честно.

Также мы решили протестировать свежие AMD пятой тысячи платформы на их базе пополнили нашу линейку серверов совсем недавно, поэтому без традиционных тестов не обойтись. Проверять будем три процессора на архитектуре Zen 3: Ryzen 7 5800X, Ryzen 9 5900X, Ryzen 9 5950X.

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

В случае сравнения Intel и AMD разное ВСЁ: производитель, ядерная архитектура, техпроцесс, процессорный кэш, как по объёмам, так и по архитектуре исполнения, количественное и качественное решение исполнения ядер, частота процессоров, количество вычислительных блоков. Единственное, что объединяет данные процессоры это архитектура x86/x86_64. И то технически это не совсем верно. В случае сравнения процессоров AMD разных поколений: это две разные ядерные архитектуры. Ну и, пожалуй, мы сейчас объединим их своими тестами.

Стоит сказать пару слов о третьей и пятой тысяче процессоров AMD. Как утверждает компания, в линейке Zen 3 ей удалось совершить ещё больший скачок в производительности, чем при выпуске предыдущих поколений Ryzen. Благодаря этому новинки, по мнению производителя, должны стать самыми быстрыми решениями на рынке не только в вычислительных задачах, но и в играх. В AMD заявляют, что серьёзно переработали архитектуру кристалла, что позволило без повышения базовых частот на том же техпроцессе поднять общую производительность до 19% относительно Zen 2. Ну, будем посмотреть.

Итак, в тестировании участвуют шесть процессоров:

  • Intel Core i9-10900K,
  • AMD Ryzen 9 3900X,
  • AMD Ryzen 9 3950X,
  • AMD Ryzen 7 5800X,
  • AMD Ryzen 9 5900X,
  • AMD Ryzen 9 5950X.

В тестировании использовались только одноюнитовые серверы (1U). Все процессоры охлаждаются жидкостным охлаждением (далее водяное охлаждение, СВО, вода, водянка).

Процессоры AMD охлаждаются водой в классическом исполнение для 1U платформ. Процессор Intel охлаждается продвинутым жидкостным охлаждением кастомизированное решение собственного производства, о конфигурации которого мы по-прежнему не распространяемся. Иначе i9-10900K перегреваются. Ну хоть не горят.

Все тестовые экземпляры подведены под единый общий знаменатель: 1U, вода, одинаковая оперативная память на частоте 2933, один и тот же накопитель данных. Память с частотой 2933 это максимум для i9-10900K, при этом представленные Рязани поддерживают память и на 3200. А как известно, производительность AMD процессоров, в том числе в тестах, сильно зависит от частоты памяти. С нашей стороны это делается для того, чтобы, так сказать, сравнять шансы.

Процессоры AMD тестируются на одной и той же материнской плате с новым чипсетом.

И ещё один момент, на который хотелось бы обратить внимание.

Сравнение между собой процессоров AMD 9 3900X, AMD 9 3950X и AMD 9 5900X, AMD 9 5950X логично и понятно: последние правопреемники предыдущих. Но вот AMD 7 5800X выбивается из этого ряда. Дело в том, что в нашей тарифной линейке также присутствует AMD 7 3700X, который я с удовольствием бы сравнил с новым AMD 7 5800X. И это было бы также понятно. Увы, протестировать его в момент подготовки статьи возможности не было. Но раз есть результаты 5800Х, то почему бы ими не поделиться.


Тактико-технические характеристики платформ

Процессоры Intel i9-10900k

  • Материнская плата: ASRockRack W480D4U
  • Оперативная память: 32 Гб DDR4-2933 MT/s Kingston 2 штуки
  • NVMe SSD-накопитель: 1 Тб Intel 665P

Процессоры AMD

  • Материнская плата: ASRockRack X570D4U (bios beta)
  • Оперативная память: 32 Гб DDR4-2933 MT/s Kingston 2 штуки
  • NVMe SSD-накопитель: 1 Тб Intel 665P

Программная часть: ОС CentOS Linux 8 x86_64 (8.3.2011).
Ядро: 4.18.0-240.1.1.el8_3.x86_64
Внесённые оптимизации относительно штатной установки: добавлены опции запуска ядра elevator=noop selinux=0

Тестирование производится со всеми патчами от атак Spectre, Meltdown и Foreshadow, бэкпортироваными в данное ядро.

Список тестов, которые проводились:

1) Sysbench
2) Geekbench 4
3) Geekbench 5
4) Phoronix Test Suite

Подробное описание тестов
Тест Geekbench

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

  • Single-Core Score однопоточные тесты.
  • Multi-Core Score многопоточные тесты.

Единицы измерения: абстрактные попугаи. Чем больше попугаев, тем лучше.

Тест Sysbench

Sysbench пакет тестов (или бенчмарков) для оценки производительности разных подсистем компьютера: процессор, оперативная память, накопители данных. Тест многопоточный, на все ядра. В этом тесте я замерял один показатель: CPU speed events per second количество выполненных процессором операций за секунду. Чем выше значение, тем производительнее система.

Тест Phoronix Test Suite

Phoronix Test Suite очень богатый набор тестов. Почти все представленные тут тесты многопоточные. Исключение составляют лишь два из них: однопоточные тесты Himeno и LAME MP3 Encoding.

В этих тестах чем показатель больше, тем лучше.

  1. Многопоточный тест John the Ripper для подбора паролей. Возьмём криптоалгоритм Blowfish. Измеряет количество операций в секунду.
  2. Тест Himeno линейный решатель давления Пуассона, использующий точечный метод Якоби.
  3. 7-Zip Compression тест 7-Zip с использованием p7zip с интегрированной функцией тестирования производительности.
  4. OpenSSL это набор инструментов, реализующих протоколы SSL (Secure Sockets Layer) и TLS (Transport Layer Security). Измеряет производительность RSA 4096-бит OpenSSL.
  5. Apache Benchmark тест измеряет, сколько запросов в секунду может выдержать данная система при выполнении 1 000 000 запросов, при этом 100 запросов выполняются одновременно.

А в этих если меньше, то лучше во всех тестах измеряется время его прохождения.

  1. C-Ray тестирует производительность CPU на вычислениях с числами с плавающей запятой. Этот тест является многопоточным (16 потоков на ядро), будет стрелять 8 лучами из каждого пикселя для сглаживания и генерировать изображение 1600x1200. Измеряется время выполнения теста.
  2. Кодирование аудиоданных. Тест LAME MP3 Encoding выполняется в один поток. Измеряется время прохождения теста.
  3. Кодирование видеоданных. Тест ffmpeg x264 многопоточный. Измеряется время прохождения теста.


Результаты тестирования



5950Х лучше 3950Х на 160%.
5900Х лучше 3900Х на 166%.


5950Х лучше 3950Х 23,3%.
5900Х лучше 3900Х 20,7%.


5950Х лучше 3950Х 7,3%.
5900Х лучше 3900Х 8,7%.


5950Х лучше 3950Х 27,2%.
5900Х лучше 3900Х 25,8%.


5950Х лучше 3950Х 8,5%.
5900Х лучше 3900Х 10,8%.


5950Х проигрывает 3950Х 1,1%.
5900Х лучше 3900Х 0,2% (почти равны).


5950Х лучше 3950Х 1,4%.
5900Х лучше 3900Х 3,6%.


5950Х лучше 3950Х 8,1%.
5900Х лучше 3900Х 10,8%.


5950Х лучше 3950Х 3,0%.
5900Х лучше 3900Х 7,6%.


5950Х лучше 3950Х 16,1%.
5900Х лучше 3900Х 16,5%.


5950Х лучше 3950Х 17,3%.
5900Х лучше 3900Х 20,3%.


5950Х лучше 3950Х 2,3%.
5900Х лучше 3900Х 10,0%.


5950Х лучше 3950Х 21,7%.
5900Х лучше 3900Х 19,8%.



В целом, результаты получились предсказуемые последнее поколение пятитысячных AMD уверенно обходит своих предшественников и оставляет далеко позади относительно свежие интеловские Core i9-10900K. При этом стоит отметить, что Ryzen 9 3950X из третьей тысячи показал себя весьма достойно по результатам тестов Geekbench он занимает второе место после новинок, а в многопоточном тесте John the Ripper, который измеряет количество операций в секунду, обошел даже Ryzen 9 5950X.

Довольно интересно показал себя и Ryzen 7 5800X, ставший лидером не только по результатам тестов Geekbench как в однопоточном, так и в многопоточном режиме, но и в других тестах - на кодирование аудиоданных (encode mp3) и на количество запросов в секунду (Apache). К серверам с этим процессором я бы порекомендовал присмотреться более внимательно. Особенно, для обработки медиаконтента или в качестве веб-сервера.

Ну и раз мы пообещали сравнение с Intel, то пару слов скажу и о них. Судя по результатам тестов, у i9-10900K есть шанс побороться за первенство в однопоточных тестах Geekbench (вероятнее всего, благодаря паре дополнительных ГГц), но только с AMD третьей тысячи показатели пятой тысячи на порядок лучше. Причём даже третья тысяча делает i9-10900K в большинстве тестов.

Так как секретариат партии намекнул мне, что громкие ликования не в нашем стиле, просто спокойно выскажу свое мнение. На моя взгляд, Intel уже два года если и не является догоняющим, то как минимум идёт наравне с AMD в десктопном и игровом сегменте. Как только Intel выпускает новое поколение процессоров, AMD сразу бьёт эту карту. По всей видимости, превосходству синих над красными приходит конец. Красные же, на мой взгляд, как Феникс сгорели, когда выпустили серию FX, и переродились из пепла с выпуском Ryzen.

Как видите, моя неподдельная любовь к AMD вызвана не только романтическими чувствами, но и банальным холодным расчётом. Если вы следите за новостями, то, по данным от PassMark Software, в начале 2021 года компания AMD заняла 50,8% рынка процессоров для настольных ПК в мире. Доля Intel, соответственно, упала до 49,2%. Это значит, что конкуренция гигантов-производителей выходит на иной уровень, который будет держать в тонусе обе компании. Поэтому предполагаю, что 2021 год окажется не менее динамичным, чем ушедший 2020-й в плане прорывных новостей на рынке процессоров. Тем более, что обеим компаниям есть что улучшать Intel-таки предстоит разобраться с техпроцессом 10 нм, а AMD, как минимум, решить проблемы с поставками, чтоб не получилось так, как в декабре, когда не все получили то, что заказали.

В тестировании использовались серверы на базе процессоров AMD Ryzen и Intel Core с 1dedic.ru. Выделенные серверы с этими процессорами можно собрать в конфигураторе и заказать со скидкой 7% на выбранный период оплаты 1, 3, 6 или 12 месяцев по промокоду HABR1DEDIC21. Скидка не распространяется на дополнительные услуги, подключенные к серверу. Промокод действует до 28 февраля 2021 года.
Подробнее..

Huawei выпускает собственный ноутбук с ARM-процессором и китайским Linux для обхода санкций США

21.12.2020 18:22:45 | Автор: admin

Китайская компания Huawei после наложения на нее санкций со стороны США ищет способы решить эту проблему. Один из способов разработка собственной операционной системы для планшетов, телефонов и умных часов. Об этой ОС мы уже писали.

Следующий шаг попытка обойтись без американских технологий при производстве ноутбуков. Компания заявила о новом лэптопе Qingyun L410 на базе ARM-процессора Kirin 990 и без ОС Windows. Вместо этой операционной системы установлен Linux-дистрибутив UOS. Ноутбук смонтирован в корпусе MateBook 14.

Больше подробностей о характеристиках


Процессор Kirin 990 выполнен по 9-нм технологии, что немного странно, поскольку совсем недавно компания анонсировала собственный 5-нм процессор Kirin 9000. Кроме того, у Kirin 990 есть модификация со встроенным 5G-модемом. Вероятно, компания решила сначала собрать ноутбук на базе не самых дорогих и современных компонентов, оценить спрос, а затем уже двигаться дальше, исходя из фидбека покупателей и количества проданных девайсов.

Насколько известно, этот ноутбук появится в марте следующего года. Его интересная особенность в том, что система не разрабатывалась с нуля. Компания просто изменила базу под чипы Intel для ARM-архитектуры. В качестве основы Huawei использовала модель MateBook B5-420, которая считается премиум-моделью. Она же смонтирована в корпусе MateBook 14, так что логично, что Qingyun L410 смонтирован в нем же.


Дисплей девайса получил разрешение Quad HD, или 2K. Это IPS-экран с диагональю в 14 дюймов и соотношением сторон 3:2. У модели MateBook B5-420, который послужил основой для разработки нового устройства, был установлен процессор Intel Core i5 10 поколения.

Видеочип, который был установлен в MateBook B5-420, дискретная видеокарта Nvidia GeForce MX 350. Правда, неясно, будет ли она установлена в новом ноутбуке с ARM-процессором. Дело в том, что у Kirin 990 есть собственная видеоподсистема Mali-G76 MP16 с 16 ядрами и частотой 700 МГц. Так что Huawei может решить не ставить дискретный видеочип, а использовать то, что есть по умолчанию.


А что насчет китайского Linux?


Версия, которую планируется установить, хорошо известна. Это Unity Operating System, которая существует в двух версиях серверной и десктопной. Об этой системе было известно еще год назад, когда разработчики опубликовали ее бета-версию. Стабильный же релиз вышел в начале 2020 года.

К слову, это не разработка Huawei, а официальная государственная ОС, которую власти Поднебесной предлагают устанавливать на всех ПК в государственных организациях. Она заменит все американские системы: по плану уже через два года все ПО на устройствах в государственных организациях должно быть китайского производства. В итоге импортозамещение будет полным китайцы решили заменить все американские решения без исключения.


Основа системы разрабатываемый много лет дистрибутив Deepin. Ранее он назывался Hiweed Linux, со времени старта разработки в 2004 году. Затем его стала развивать компания Wuhan Deepin Technology. Несмотря на то, что система государственная, она является международным проектом.

В свою очередь, в основе Hiweed Linux Debian Linux. После всех доработок система получила уникальный интерфейс и несколько десятков предустановленных утилит, большинство из которых разработаны китайцами. В список предустанавливаемого ПО входит файловый менеджер Deepin File Manager и видеоплеер DMovie. Кроме того, частью этой же системы является офисный пакет WPS Office.

Насколько можно понять, ноутбуки на основе китайской ОС будут продаваться только в Китае. Вряд ли они выйдут на международный рынок.

Не только Huawei


От процессоров Intel отказывается не только Huawei, но и другие компании, включая Apple. Здесь, конечно, причина уже не в санкциях. Тем не менее, летом 2020 года корпорация из Купертино приняла решение полностью отказаться от чипов Intel, перейдя на ARM-чип М1. При этом ноутбуки и неттоп, получившие новый процессор, внешне не изменились.

Huawei уже вывела на рынок ARM-компьютер, правда, не ноутбук, а десктоп, который получил название Qingyun W510. Его основа процессор производства Huawei, который называется Kunpeng. Модель процессора Kunpeng 920 3211K с 24 ядрами, он же HiSilicon Hi1620. Процессор обходит в некоторых тестах Core i9-9900K, так что с производительностью здесь все в порядке.

Без США тоже можно жить


Сейчас Китай очень активно работает в рамках импортозамещения стране это жизненно необходимо. Правительство Китая собирается вложить около $1,4 трлн в развитие высоких технологий до 2025 года. Средства планируется предоставить китайским компаниям, производителям электроники и софта. В том числе и разработчикам чипов.


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

Компания Huawei планирует начать промышленное производство собственных чипов, открыв завод в Шанхае. Американские технологии для этого использоваться не будут.

На первом этапе компания начнет производить 45-нм чипы (речь не о мобильных процессорах), через год освоит 28-нм процессоры, а еще через год 20-нм чипы, включая процессоры для устройств на базе технологии 5G. Если у китайцев все получится, у США появится мощнейший конкурент. Кстати, правительство Южной Кореи заявило о намерении начать развивать собственную инфраструктуру IT-предприятий, включая и производство чипов. Правда, у этой страны ресурсов все же несколько меньше, чем у Китая, так что планы могут так и остаться планами.

Подробнее..

ODROID-Go Super игровая консоль на Ubuntu за 80

24.12.2020 20:04:36 | Автор: admin

Компания Hardkernel выпустила новую игровую консоль, уже третью в модельном ряду, которая получила название ODROID-Go Super. У этого девайса экран большего размера, емкая батарея, отличная беспроводная связь и вроде как удобный для пользователя дизайн.

Программная платформа устройства ОС Ubuntu. О том, как реализована игровая система, в продолжении.

Разработчики пошли простым путем игры для этой консоли хорошо известны. Проще говоря, используются эмуляторы популярных игровых приставок. В первую очередь, это PlayStation 1, PlayStation Portable, Nintendo 64. Для игры устанавливается эмулятор, загружается ROM и можно развлекаться.


Характеристики устройства:
  • Экран 5 дюймов, разрешение 854 x 480 пикселей.
  • Есть кнопки для управления игровым процессом и самой консолью, кроме того, есть стики и D-Pad.
  • Аппаратная платформа 1.3 GHz Rockchip RK3326, четырехъядерный ARM Cortex-A35 процессор с графикой ARM Mali-G31 MP2 и 1 ГБ ОЗУ DDR3L.
  • Для хранения файлов нужная SD-карта.
  • Есть USB 2.0, порт для наушников, порт для зарядки.
  • Батарея 4000 мА*ч.


Предыдущая консоль была примерно такой же по характеристикам, но ее размеры и емкость батареи чуть меньше. Кроме того, в новом устройстве добавлен модуль беспроводной связи с поддержкой UWB WiFi+ Bluetooth.

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

Вот ссылка на образ Ubuntu для консоли, ядро Linux и патчи U-boot.

Компания, кстати, существует уже 10 лет. Впервые игровую консоль ODROID (первое поколение называлось Go) она выпустила в 2018 году.

Подробнее..

Hackboard 2 одноплатник для разработчиков с x86-процессором за 99

31.12.2020 14:09:18 | Автор: admin

У большинства одноплатных компьютеров самых разных производителей, включая Raspberry Pi, есть одна общая черта. Это ARM-процессор. Но далеко не всем разработчикам и любителям DIY-электроники такие платы подходят.

На днях в продажу поступил одноплатный ПК Hackboard 2, который решает эту проблему. Его создатели оснастили устройство x86-процессором. Чипы ARM позволяют уменьшать платы, делать их недорогими и экономными в плане энергопотребления. Но x86 увеличивает степень совместимости одноплатника с другими системами. Что собой представляет Hackboard 2?


Этот одноплатник разработан в качестве недорогой альтернативы подобным ПК на основе чипов Intel, например, ODYSSEY X86J4105800, который стоит $218.

Стоимость же Hackboard 2 составляет $99. Размеры платы 120*80 мм, ее основа 64-х битный Intel Celeron N4020. Частота работы 2,8 ГГц, кэш 4 МБ. Кроме того, плата оснащена 4 ГБ ОЗУ DDR4, eMMC объемом в 64 ГБ и двумя слотами NVMe M.2, которые дают возможность установить SSD объемом до 4 ТБ.

Что касается аудио и видео, то плата оснащена Intel UHD Graphics 600 с выводом 4K HDMI 2.1 output. Плюс есть стандартный аудиоразъем для наушников. Беспроводные модули тоже есть: плата оснащена Wi-Fi модулем Intel dual-band AC95060, Bluetooth 5.1, гигабитным Ethernet и опциональными модулями 4G и 5G связи.

image

Также у платы есть три USB 3.0 порта, USB 2.0 и 40-пиновой интерфейс для подключения дополнительных модулей.

Разработчики создали для платы несколько дополнительных устройств. Например, в Hackboard 2 Starter Kit входит Hackboard 2 с Windows 10 Pro, блок питания, теплоотвод, веб-камера, беспроводная клавиатура со встроенным тачпадом. В Hackboard 2 Complete Kit входит еще и дисплей 13.3" IPS 1080p HD со встроенными динамиками.


Что еще? Плата поддерживает как Windows, так и Linux. Что касается Windows, то плата идет с предустановленным Python. Есть и вариант платы с Ubuntu Linux. У платы есть традиционное BIOS-меню, позволяющее без проблем сконфигурировать загрузку и настроить некоторые другие параметры.


Пока что плата доступна только на Crowd Supply. За $99 можно приобрести начальный комплект с Linux, за $140 то же самое с Windows 10. Понятно, что можно приобрести самую недорогую версию и установить на нее Windows в случае необходимости. Ну и еще дороже обойдутся разные варианты наборов платы и дополнительных модулей к ней.

Подробнее..

Превью-обзор консоли Atari VCS

08.01.2021 18:05:33 | Автор: admin

Под конец года всем предзаказавшим Atari VCS на ресурсе Indie Go-Go (краудфандинговая площадка аналог Кикстартера) отправили подарок. И пока все продолжают обсуждать новые консоли от Sony и Microsoft (к которым скоро присоединится новый Переключатель от Нинтендо), давайте выясним, что за зверь такой эта Atari VCS.

Дизайн консоли и геймпадов

Изначально релиз планировали на июль 2019 года, но широкой публике консоль станет доступна только во второй половине 2021 года. Дизайн VCS восходит к оригинальной Atari 2600. Устройство меньше, но имеет ту же переднюю панель из дерева и рёбра по типу жалюзи. И честно говоря, мне такой дизайн нравится больше, чем у консолей предполагаемых конкурентов.

Правда, деревянная панель идёт в ограниченной серии и основной публике доступна лишь более простая версия дизайна полностью в чёрном цвете.

Atari в сотрудничестве с производителем игровой периферии PowerA разработали два контроллера. Классический джойстик похож на контроллер от модели 2600. Он теперь беспроводной со встроенным аккумулятором. Клавиш стало больше: сбоку добавили вторую кнопку огня, клавишу включения и ещё пару для управления меню консоли. Вокруг рукоятки появилась светодиодная подсветка, которая реагирует на её положение.

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

Современный контроллер напоминает геймпад от Xbox One с направляющим диском, заменяющим привычную крестовину.

Оба контроллера хорошо сконструированы и доступны по адекватной цене в 60 долларов. Правда, на данный момент возникают проблемы с подключением. Современный контроллер не выводит консоль из спящего режима, а его беспроводное подключение занимает много времени. Но можно ожидать, что последующие обновления прошивки решат эти проблемы.

Владельцы VCS могут использовать сторонние контроллеры: проводные, Bluetooth и с USB-брелками (например, как линейка известных геймпадов 8BitDo).

Начинка консоли и апгрейд

Приставка работает на процессоре AMD Ryzen Embedded R1606G с видеочипом Vega 3. Это ноутбучные комплектующие, рассчитанные на офисное применение. Таким образом, Atari VCS не способна соревноваться с консолями последнего поколения от Сони и Майкрософт. Устаревшее железо можно объяснить задержкой релиза более чем на год. Некстген-консоли тоже проигрывают в производительности современным ПК, но не в сравнении с бюджетными процессорами.

Приставка поставляется с 8 ГБ оперативной памяти: две планки DDR4 2400 SO-DIMM по 4 ГБ. Объём можно увеличить до 32 ГБ (16 ГБ x 2). Консоль оснащена накопителем eMMC на 32 ГБ, но внутри есть разъём M.2 для установки жёсткого диска. Также через USB можно подключить внешний диск.

Подключение по Bluetooth и Wi-Fi оставляют желать лучшего. Оба соединения часто обрываются, а Wi-Fi и вовсе может перестать работать, пока вы не перезагрузите приставку. К счастью, порт Ethernet работает отлично. Скорее всего, все эти проблемы решат с обновлениями системы.

Апгрейд консоли делать очень не удобно внутренний дизайн и архитектуру явно не продумывали. Чтобы добавить памяти или установить жесткий диск потребуется почти полностью разобрать устройство! Будь это ПК никто бы не обратил внимания, но для консоли это неприемлемо.

Понятно, что Atari VCS не способна соперничать с Sony и Microsoft, но у неё есть шансы стать заменой Apple TV или Nvidia Shield. В режиме ПК вы не сможете запустить современные игры, но инди-проекты библиотеки Steam пойдут без проблем. И разумеется, приставка отлично справляется с эмуляцией старых игр.

Atari OС

Операционная система Atari на базе Debian крайне проста и не радует инструментарием. ОС служит интерфейсом для запуска приложений и игр, установленных через витрину магазина. Она красиво выглядит, но имеет проблемы с производительностью. Хоть консоль и поддерживает 4K, но интерфейс в таком режиме тормозит. Опять же, это поправят обновлениями прошивки, но такое железо не потянет 4К даже в нетребовательной игре. Очевидно, что этот функционал рассчитан на стриминг и просмотр видео.

Консоль поставляется с установленным сборником игр Atari Vault Vol. 1. В магазине есть несколько приложений и игр, но выбор не блещет разнообразием. В приложении Atari Vault есть классика Atari, и вы сможете пополнить там библиотеку. Но ценники на игры кусаются: платить от 5 до 20 долларов за малоизвестные игры, которые не затянут более чем на час сомнительное удовольствие.

Большинство приложений являются просто закладками в браузере. При их запуске открывается браузер Chrome и вы просто попадете на сайт.

Сторонняя ОС или режим ПК

Самая привлекательная опция Atari VCS это возможность установки второй ОС. Учитывая сырую ось от самой компании, это отличный способ получить больше функционала от оборудования. Но и здесь не всё гладко

В настоящее время доступ к BIOS заблокирован программно. Это означает, что безопасная загрузка включена принудительно, и пользователи не могут изменить порядок загрузки. Безопасная загрузка ограничивает количество операционных систем, которые можно запустить на консоли. Ubuntu самый распространенный дистрибутив Linux отлично работает на Atari VCS, но многие другие разновидности Линукса несовместимы с Secure Boot. Также на приставку можно поставить Windows.

Если готовы к слайд-шоу, можете запустить на приставке современную игруЕсли готовы к слайд-шоу, можете запустить на приставке современную игруWindows 10 тоже поддерживаетсяWindows 10 тоже поддерживается

Итог

Atari VCS это просто более привлекательная (внешне) версия мини-ПК, представленных на рынке. Однако, в отличие от этих железок, заблокированный BIOS не позволяет пользователям использовать консоль для своих целей. Сырое состояние стандартной ОС от Atari и прочие проблемы, пока не позволяют её рекомендовать. Разве что у вас есть лишние деньги (полный комплект вместе с геймпадами обойдётся в 400 $) и хотите повозиться с чудной железкой.

Atari заявила об эксклюзивных играх для платформы, но известные студии не станут работать с непопулярной платформой. Консоль привлечёт ретрогеймеров и ностальгаторов, но современное поколение пройдёт мимо.

Вспоминается провальная консоль на Андроиде Ouya, которая тоже набрала достаточно средств на Кикстартере, но канула в Лету после запуска. И это несмотря на уверения Фиргала Мак Конулада генерального менеджера Atari о том, что они учли ошибки, приведшие к коммерческому провалу Ouya. Конечно, у Атари есть своя фан-база, правда сомневаюсь, что это им сильно поможет.

Atari VCS постигнет та же судьба?Atari VCS постигнет та же судьба?

Для написания превью использовал следующие материалы:

Обзор с сайта GameRevolution

Статью на Википедии

Видео блогера Kevin Kenson

Оффициальный сайт Atari VCS

Подробнее..

Перевод Гениальность микропроцессоров RISC-V

23.12.2020 12:19:27 | Автор: admin
image

Войны между RISC и CISC, проходившие в конце 1990-х, уже давно отгремели, и сегодня считается, что разница между RISC и CISC совершенно не имеет значения. Многие заявляют, что наборы команд несущественны.

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

Недавно я подробнее изучил информацию об архитектуре набора команд (instruction-set architecture, ISA) RISC-V и вот некоторые из аспектов, которые по-настоящему впечатлили меня в ISA RISC-V:

  1. Это небольшой и простой в изучении набор команд RISC. Очень предпочтителен для тех, кому интересно получать знания о микропроцессорах.
  2. Благодаря своей простоте, открытости и связи с университетскими профессорами он с большой вероятностью будет доминировать как архитектура, выбираемая для обучения процессорам в вузах.
  3. Его продуманная структура позволяет разработчикам CPU создавать высокопроизводительные микропроцессоры на основе ISA RISC-V.
  4. Благодаря отсутствую лицензионных отчислений и нацеленности на простую аппаратную реализацию увлечённый любитель может, в принципе, создать за приемлемое время собственную конструкцию процессора RISC-V.

Месть RISC


Когда я начал понимать RISC-V лучше, то осознал, что RISC-V оказался радикальным возвратом к тому, что многие считали давно прошедшей эпохой вычислений. С точки зрения конструкции, RISC-V подобен перемещению на машине времени к классическому Reduced Instruction Set Computer (RISC, компьютеру с набором коротких команд) начала 80-х и 90-х.

В последние годы многие заявляли, что разделение на RISC и CISC больше не имеет смысла, поскольку в процессоры RISC наподобие ARM добавили так много команд, и при этом многие из них довольно сложны, что на текущем этапе это скорее гибрид, чем чистый процессор RISC. Похожие рассуждения применялись и к другим процессорам RISC, например, PowerPC.

RISC-V же, напротив, является действительно хардкорным представителем процессоров RISC. Если вы почитаете в Интернете обсуждения RISC-V, то найдёте людей, утверждающих, что RISC-V был разработан какими-то олдскульными RISC-радикалами, отказывающимися двигаться в ногу со временем.

Бывшая инженер ARM Эрин Шеперд несколько лет назад написала интересную критику RISC-V:

ISA RISC-V слишком стремился к минимализму. В нём есть сильный упор на минимизацию количества команд, нормализацию кодирования и т.д. Это стремление к минимализму привело к ложным ортогональностям (например, использованию одной и той же команды для ветвления, вызовов и возвратов) и требованию избыточных команд, влияющих на плотность кода с точки зрения размера и количества команд.

Вкратце приведу немного контекста. Малый размер кода даёт преимущество в производительности, поскольку так проще хранить выполняемый код внутри высокоскоростного кэша процессора.

Критика здесь заключается в том, что проектировщики RISC-V слишком сосредоточились на обеспечении малого набора команд. В конце концов, это ведь одна из исходных целей RISC.

По словам Эрин, следствием этого стало то, что реальной программе для выполнения задач потребуется гораздо больше команд, то есть она займёт больше места в памяти.

Традиционно долгие годы считалось, что в процессор RISC нужно добавить больше команд, чтобы он стал более похожим на CISC. Идея заключается в том, что более специализированные команды могут заменить использование множественных общих команд.

Сжатие команд и Macro-Operation Fusion


Однако в архитектуре процессоров присутствуют две инновации, из-за которых эта стратегия добавления более сложных команд во многих смыслах оказывается избыточной:

  • Сжатые команды команды сжимаются в памяти и распаковываются на первой стадии процессора.
  • Macro-operation Fusion две или несколько простых команд считываются процессором и сливаются в одну более сложную команду.

На самом деле, в ARM уже используются обе эти стратегии, а в процессорах x86 применяется вторая, поэтому RISC-V не проделывает здесь каких-то новых трюков.

Однако тут есть тонкость: RISC-V получает из этих двух стратегий гораздо больше выгод по двум важным причинам:

  1. Сжатые команды были добавлены изначально. В других архитектурах, например, в ARM, об этом подумали позже, и прикрутили их довольно поспешным образом.
  2. Здесь оправдывает себя одержимость RISC малым количеством уникальных команд. Для добавления сжатых команд просто остаётся больше места.

Второй пункт требует некоторых пояснений. В архитектурах RISC команды обычно имеют ширину 32 бита. Эти биты нужно использовать для кодирования различной информации. Допустим, у нас есть такая команда (после точки с запятой идут комментарии):

ADD x1, x4, x8    ; x1  x4 + x8

Она складывает содержимое регистров x4 и x8, сохраняя результат в x1. Требуемое для кодирования этой команды количество битов зависит от количества имеющихся регистров. У RISC-V и ARM есть 32 регистра. Число 32 можно выразить 5 битами:

2 = 32

Так как в команде нужно указать три разных регистра, то для кодирования операндов (входящих данных для операции сложения) требуется в сумме 15 бит (3 5).

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

Агрессивно стремясь к сохранению малого количества команд, RISC-V оставляет больше места для добавления битов, обозначающих, что мы используем сжатые команды. Если процессор видит, что в команде заданы определённые биты, то он понимает, что её нужно интерпретировать как сжатую.

Это означает, что вместо засовывания внутрь 32 бит одной команды мы можем уместить две команды по 16 бит шириной каждая. Естественно, не все команды RISC-V можно выразить в 16-битном формате. Поэтому подмножество 32-битных команд выбирается на основании их полезности и частоты использования. Если несжатые команды могут получать 3 операнда (входящих данных), то сжатые команды только 2 операнда. То есть сжатая команда ADD будет выглядеть так:

C.ADD x4, x8     ; x4  x4 + x8

В ассемблерном коде RISC-V используется префикс C., сообщающий, что команду нужно преобразовать ассемблером в сжатую команду.

По сути, сжатые команды уменьшают количество операндов. Три регистра-операнда заняли бы 15 бит, оставив на указание операции всего 1 бит! Таким образом, при использовании двух операндов для указания опкода (выполняемой операции) у нас остаётся 6 бит.

На самом деле это близко к тому, как работает ассемблер x86, когда зарезервировано недостаточно битов для использования трёх регистров-операндов. Процессор x86 при этом тратит биты, чтобы позволить, например, команде ADD считывать входящие данные и из памяти, и из регистров.

Однако истинную выгоду мы получаем, объединив сжатие команд с Macro-operation fusion. Когда процессор получает 32-битное слово, содержащее две сжатые 16-битные команды, он может слить их в одну более сложную команду.

Звучит, как чушь мы что, вернулись к тому, с чего начинали?

Нет, поскольку мы минуем необходимость заполнения спецификации ISA кучей сложных команд (то есть стратегии, которой придерживается ARM). Вместо этого мы, по сути, выражаем целое множество сложных команд косвенно, через различные сочетания простых команд.

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

Давайте рассмотрим один из примеров, приведённых Эрин Шеперд. В своей критической статье о ISA RISC-V она показывает простую функцию на C. Чтобы было понятнее, я взял на себя смелость переписать её:

int get_index(int *array, int i) {     return array[i];}

На x86 это скомпилируется в следующий ассемблерный код:

mov eax, [rdi+rsi*4]ret

При вызове функции в языке программирования аргументы обычно передаются функции в регистре согласно установленному порядку, который зависит от используемого набора команд. На x86 первый аргумент помещается в регистр rdi, второй в rsi. По стандарту возвращаемые значения должны помещаться в регистр eax.

Первая команда умножает содержимое rsi на 4. Он содержит переменную i. Почему умножает? Потому что array состоит из элементов integer, разделённых друг от друга 4 байтами. Следовательно, третий элемент массива находится в смещении 3 4 = 12 байт.

Далее мы прибавляем это к rdi, который содержит базовый адрес array. Это даёт нам окончательный адрес i-того элемента array. Мы считываем содержимое ячейки памяти по этому адресу и сохраняем его в eax: задача выполнена.

На ARM всё происходит похожим образом:

LDR r0, [r0, r1, lsl #2]BX  lr                    ;return

Здесь мы не умножаем на 4, а сдвигаем регистр r1 на 2 бита влево, что эквивалентно умножению на 4. Вероятно, это более верное описание и того, что происходит на x86. Сомневаюсь, что можно умножать на что-либо, не являющееся кратным 2, поскольку умножение это довольно сложная операция, а сдвиг малозатратен и прост.

Из моего описания x86 об остальном можно только догадываться. Теперь давайте перейдём к RISC-V, где начинается настоящее веселье! (точкой с запятой начинаются комментарии)

SLLI a1, a1, 2     ; a1  a1 << 2ADD  a0, a0, a1    ; a0  a0 + a1LW   a0, a0, 0     ; a0  [a0 + 0]RET

На RISC-V регистры a0 и a1 являются просто псевдонимами x10 и x11. Именно в них помещаются первый и второй аргументы вызова функции. RET это псевдокоманда (сокращение):

JALR x0, 0(ra)     ; sp  0 + ra                   ; x0  sp + 4  ignoring result

JALR выполняет переход к адресу, хранящемуся в ra, который относится к адресу возврата. ra это псевдоним x1.

И всё это выглядит совершенно ужасно, правда? Вдвое больше команд для такой простой и часто используемой операции, как выполнение поиска по индексу в таблице и возврат результата.

Это действительно выглядит плохо. Именно поэтому Эрин Шеперд чрезвычайно критически отнеслась к проектировочным решениям, сделанным разработчиками RISC-V. Она пишет:

Упрощения RISC-V делают более простым декодер (т.е. фронтенд процессора), однако за это приходится расплачиваться большим количеством команд. Однако масштабирование ширины конвейера это сложная задача, в то время как декодирование немного (или сильно) необычных команд хорошо изучено (основные сложности возникают, когда определение длины команды нетривиально из-за своих бесконечных префиксов особо запущенным случаем является x86).

Однако благодаря сжатию команд и macro-op fusion можно изменить ситуацию к лучшему.

C.SLLI a1, 2      ; a1  a1 << 2C.ADD  a0, a1     ; a0  a0 + a1C.LW   a0, a0, 0  ; a0  [a0 + 0]C.JR   ra

Теперь команды занимают ровно столько же места в памяти, что и пример для ARM.

Так, а теперь давайте выполним Macro-op fusion!

Одно из условий RISC-V для разрешения слияния операций в одну это совпадение целевого регистра. Это условие выполняется для команд ADD и LW (load word, загрузить слово). Поэтому процессор превратит их в одну команду.

Если бы это условие выполнялось и для SLLI, то мы могли бы слить в одну все три команды. То есть процессор бы увидел нечто, напоминающее более сложную команду ARM:

LDR r0, [r0, r1, lsl #2]

Но почему мы не могли прописать эту сложную макро-операцию непосредственно в коде?

Потому что в ISA нет поддержки такой макро-операции! Вспомним, что у нас есть ограниченное количество битов. Тогда сделаем команды длиннее! Нет, это займёт слишком много памяти и быстрее переполнит драгоценный кэш процессора.

Однако если вместо этого мы будем изготавливать эти длинные полусложные команды внутри процессора, то никаких проблем не возникает. У процессора никогда не бывает одновременно в наличии более нескольких сотен команд. Поэтому если мы потратим на каждую команду, допустим, 128 бит, то это не создаст затруднений. Кремния по-прежнему будет хватать на всё.

Когда декодер получает обычную команду, он обычно превращает её в одну или несколько микро-операций. Такие микро-операции и есть команды, с которыми на самом деле работает процессор. Они могут быть очень широкими и содержат множество дополнительной полезной информации. Приставка микро звучит иронично, ведь они оказываются шире. Однако на самом деле микро означает, что они имеют ограниченное количество задач.

Macro-operation fusing немного переворачивает работу декодера вниз головой: вместо превращения одной команды в несколько микро-операций, мы берём много операций и превращаем их в одну микро-операцию.

То есть происходящее в современном процессоре может выглядеть довольно странно:

  1. Сначала он объединяет две команды в одну с помощью сжатия.
  2. Затем он разделяет их на две с помощью распаковки.
  3. Далее комбинирует их обратно в одну операцию при помощи macro-op fusion.

Другие же команды могут оказаться разделёнными на несколько микро-операций, а не быть слиты. Почему же некоторые команды сливаются, а другие разделяются? Есть ли в этом безумии система?

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

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

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

Получаемые преимущества


Мы обсудили множество подробностей, поэтому сейчас вам, должно быть, трудно понять, в чём смысл всех этих трудов. Зачем нужны все эти сжатия и слияния? Похоже, что из-за них выполняется много лишней работы.

Во-первых, сжатие команд совершенно не походит на сжатие zip. Слово сжатие немного неверное, потому что мгновенное сжатие или распаковка команды выполняются абсолютно просто. На это не тратится времени.

То же самое относится к macro-operation fusion. Хотя этот процесс может казаться сложным, подобные системы уже используются в современных микропроцессорах. Поэтому затраты, которые добавляет вся эта сложность, уже были оплачены.

Однако в отличие от проектировщиков ARM, MIPS и x86, приступая к проектированию своего ISA, создатели RISC-V знали о сжатии команд и macro-ops fusion. Благодаря различным тестам с первым минимальным набором команд они сделали два важных открытия:

  1. Программы RISC-V обычно занимают примерно столько же или меньше места в памяти, чем любая другая процессорная архитектура. В том числе и x86, который должен эффективно использовать память, учитывая, что это ISA CISC.
  2. Ему требуется выполнять меньше микро-операций, чем другим ISA.

По сути, спроектировав базовый набор команд с учётом использования fusion, они смогли сливать достаточное количество команд для того, чтобы процессору для любой программы приходилось выполнять меньше микро-операций, чем процессорам-конкурентам.

Это заставило коллектив разработчиков RISC-V удворить усилия по реализации macro-operation fusion как фундаментальной стратегии RISC-V. В руководстве по RISC-V есть множество примечаний о том, с какими операциями можно выполнять слияние. Также в него внесены правки, упрощающие слияние команд, встречающихся в частых паттернах.

Благодаря малому ISA его проще изучать студентам. А это означает, что изучающему процессорные архитектуры студенту проще спроектировать собственный процессор, работающий на командах RISC-V. Стоит помнить, что и сжатие команд, и macro-op fusion использовать необязательно.

RISC-V имеет небольшой фундаментальный набор команд, реализация которого обязательна. Однако все остальные команды реализуются как части расширений. Сжатые команды это просто дополнительное расширение.

Macro-op fusion это просто оптимизация. Она не меняет поведения в целом, а поэтому её необязательно реализовывать в собственном процессоре RISC-V.

Стратегия проектирования RISC-V


RISC-V взял всё, что мы знаем сегодня о современных процессорах, и использовал эти знания в проектировании процессоров ISA. Например, мы знаем, что:

  • Сегодня у процессорных ядер есть сложная система прогнозирования ветвления.
  • Процессорные ядра суперскалярны, то есть выполняют множество команд параллельно.
  • Для обеспечения суперскалярности используется выполнение команд с изменением очерёдности (Out-of-Order execution).
  • Они имеют конвейеры.

Это означает, что такие особенности, как поддерживаемое ARM условное выполнение, больше не требуется. Поддержка этой функции в ARM отъедает биты от формата команд. RISC-V может сэкономить эти биты.

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

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

Именно из-за этого RISV-C не имеет и регистров состояния, ведь они создают зависимости между командами. Чем более независима каждая команда, тем проще выполнять её параллельно с другой командой.

По сути, стратегия RISC-V заключается в том, что мы можем сделать ISA как можно более простым, а минимальную реализацию процессора RISC-V как можно более простой без необходимости принятия конструкторских решений, из-за которых невозможно будет создать высокопроизводительный процессор.



На правах рекламы


Наша компания предлагает серверы не только с CPU от Intel, но и серверы с процессорами AMD EPYC. Как и для других типов серверов, огромный выбор операционных систем для автоматической установки, есть возможность установить любую ОС с собственного образа. Попробуйте прямо сейчас!

Подробнее..

Итальянская IBM-PC Olivetti Prodest PC1 HD

27.12.2020 22:06:28 | Автор: admin

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

Olivetti Prodest PC 1 (Olivetti PC 1HD) это IBM-PC совместимый ПК, выпущенный в 1988 году. Как это было принято в то время, он имеет встроенную клавиатуру и может использовать телевизор в качестве монитора. В целом, эта модель была не очень популярной на рынке из-за своей цены.

Вид сзади:

Разъемы:

  • Питание

  • Джек 3,5 - выход звука

  • Порт мыши, девятиконтактный разъем типа DB-9 (не совместим с мышами под COM-порт)

  • Последовательный порт RS-232 типа DB-25

  • Параллельный порт принтера DB-25

  • Девятиконтактный разъем типа DB-9 для подключения CGA монитора

  • Разъем DIN 8 для аналогового RGB-монитора/телевизора

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

  • Разъем подключения жесткого диска IDE.

  • Разъем расширения (сбоку). С помощью модуля расширения можно дополнительно получить 1 или 2 8-битных слота ISA

Со снятой верхней крышкой:

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

ЦПУ: NEC V40 (совместимый с Intel 8088), 16 разрядный, на частоте 4,77 / 8 MHz. Запускается в режиме Turbo, если в тесте памяти не нажата клавиша. На фото - около ленточных шлейфов клавиатуры.

ПЗУ: 16 КБ BIOS на микросхеме ПЗУ, который отображается в адреса 0xFC000 (повторяется в 0xF0000, 0xF4000 и 0xF8000). На фото - микросхема с желтенькой наклеечкой.

ОЗУ: 512 КБ на материнской плате с возможностью расширения до 640 КБ. На фото - над микросхемой ПЗУ.

VRAM: 16 КБ интегрированного CGA - адаптера (на фото - большая микросхема фирмы YAMAHA в левом нижнем углу платы), режимы:

  • 320200 пикселей и 4 цвета графики

  • Текстовый режим 4025

  • Графика 640200 пикселей и 2 цвета

  • Текстовый режим 8025.

Звук: встроенный динамик (на фото не видно, он под клавиатурой, рядом с регулятором громкости).

Периферия:

  • Один или два дисковода 3,5 дюйма на 720 КБ;

  • Дополнительный внешний жесткий диск.

  • Встроенная 82-клавишная клавиатура серого цвета с 10 желтыми функциональными клавишами и цифровой клавиатурой.

Операционная система MS-DOS.

Корпус типа моноблок (как и у Электроники) выполнен из серого пластика, размер 39 x 31 x 9 см. Клавиатура наклонена, благодаря чему работать на компьютере намного удобнее чем на Электронике МС-1502. Да и в общем клавиши нажимаются немного приятнее. Над клавиатурой располагаются один или два флоппи-дисковода (в зависимости от модификации, также в некоторых модификациях вместо одного из дисководов устанавливался встроенный жесткий диск). На левой боковой стороне находится выключатель питания. На правой боковой стороне, слот расширения. На задней стенке корпуса располагаются кнопка сброса, выход для наушников, разъем DB-25 для подключения принтера, разъем DB-25 последовательного порта RS-232, 9-контактный разъем мыши, разъем для подключения к телевизору, 9-контактный разъем для подключения монитора CGA.

Разъем мыши, как было сказано выше, несовместим с обычными COM-овскими мышками. Туда необходимо подключать мыши квадратурного типа, например, Amstrad Mouse. Если сигнал ENA (pin 9) не замкнут на землю, устройство предполагает, что к нему подключен стандартный джойстик Atari. Однако, ничто не мешает подключить стандартную COM-овскую мышь через переходник к разъему RS-232.

На материнской плате, расположенной под клавиатурой находятся:

  • Центральный процессор NEC V40 16-битный микропроцессор, разработанный компанией NEC и выпущенный на рынок в 1984 году. Он содержит приблизительно 29000 транзисторов и является аналогом процессора Intel 8088 (в частности, совместим с ним по расположению выводов), работает на частоте от 8 до 12 МГц, изготовлен по технологии CMOS. Его архитектура более совершенна, чем у 8088, в результате чего быстродействие приблизительно на 30% выше. Основной причиной этого является аппаратная реализация инструкции умножения, тогда как 8088 выполняет её микропрограммно. Замечательной особенностью процессора является наличие режима эмуляции процессора Intel 8080, что позволяло выполнять программы, написанные для Intel 8080. Для перехода в данный режим и возврата из него использовались дополнительные инструкции BRKEM, RETEM и CALLN. Кроме того, этот процессор дополнительно содержит в себе логику микросхем 8251 (контроллер последовательного порта), 8253 (таймер) и 8255 (контроллер программируемого параллельного интерфейса). Это позволяет сэкономить место на материнской плате.

  • ОЗУ. ОЗУ набрано на микросхемах динамического ОЗУ с организацией 256K x 4бит (1 Мбит). Для объема памяти 512 кБ необходимо 4 таких микросхемы. Для расширения памяти до 640 кБ на плате есть пустые панельки под третий банк аналогичной памяти, но, зачастую (как и многие другие похожие ПК) компьютер поставлялся с объемом памяти 512 кБ. Связано это с тем что оперативная память была дорогая, а из верхней половины мегабайта ОЗУ используется только 128 кБ (с адреса 512 кБ по адрес 640 кБ). Остальное ОЗУ отображается в пустоту т. к. на этих адресах располагаются видеоадаптеры, контроллеры и ПЗУ. Но сейчас с ценами на память проблем нет, поэтому я без проблем нашел и воткнул дополнительное ОЗУ (вытащил из старой видеокарты VGA).

  • Контроллер дисководов. Можно подключить два дисковода. В общем, ничего необычного кроме наличия возможности подключить третий внешний дисковод (5-дюймовый). При этом необходимо переключить микротумблер и один из существующих дисководов отключается и подключается внешний. Хотя при наличии современных 3,5 дюймовых дисководов, необходимости в 5-дюймовом, как правило, не возникает.

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

  • Контроллер жестких дисков. Как и в других ХТ позволяет подключить один жесткий диск. Интерфейс подключения - IDE, но с одним очень важным отличием: это 8-битный IDE (поскольку весь ПК имеет 8-битную шину). Поэтому, какой попало IDE жесткий диск на него не поставишь, необходимо найти такой (ооочень древний :) ), который имеет переключатель или джампер AT/XT. К счастью, такой диск у меня был и, несмотря на сильную поюзанность, был подключен и успешно запустился. От времени он, конечно, уже местами посыпался, имеет множество бэдов, но я при создании разделов расположил их таким образом, чтобы большая часть бэдов оказалась в промежутке между разделами. Таким образом удалось получить 2 раздела общей емкостью порядка 32 Мбайт, что для ХТ очень и очень неплохо). Сам жесткий диск я смонтировал в корпусе от старого CD-ROM, вывел на переднюю панель светодиоды включения питания и активности. В задней части корпуса располагается стабилизатор 5 В, а 12 В поступает непосредственно от выносного блока питания.

  • Видеоконтроллер V6355D-J с двумя микросхемами динамической памяти с организацией 16К х 4бит. Совместим с IBM-PC, CGA, видеорежимы перечислены выше.

В качестве монитора я использую обычный телевизор со SCART разъемом. На этот раз импортный. Для подключения пришлось только спаять переходник из разъема DIN8 в разъем SCART. Проблема была с поиском разъема DIN8, его нигде не было. Я взял отечественный разъем DIN5, просверлил с максимально возможной точностью в центре дырочку и вклеил на эпоксидку недостающий контакт. Получилось норм, все работает.

А теперь соберем все вместе и попробуем включить.

После старта компьютера первым делом запускается самодиагностика. Проверяются регистры процессора, целостность данных в ПЗУ, контроллер DMA, контроллер прерываний, таймер, ОЗУ. Определяется и прописывается в системе жесткий диск и дисководы. У меня конфигурация по-максимуму - 1 жесткий и 2 дисковода.

Поскольку это ХТ, часов реального времени в них нет и при запуске с дискеты, ДОС первым делом запрашивает текущую дату и время. Ее приходилось вводить при каждом старте компьютера, в противном случае все даты создания файлов были не пойми какие. Но у нас можно загрузится и с жесткого диска, и мы видим привычные нам панели Volkov Commander'a.

Здесь уже диски отображаются по-людски, не как в Электронике. Диски А и В - дисководы, соответственно, первый и второй. Диски С и D - разделы жесткого диска.

Запустим как и в прошлый раз Принца Персии. Как видно, графика ничем не лучше чем в Электронике. И не удивительно, и там и тут один видеоадаптер - CGA.

Аналогично здесь выглядит и игра Block Out.

Но поскольку здесь есть жесткий диск, уже можно запускать серьезные компиляторы, заниматься серьезными вещами. Давайте, например, напишем и откомпилируем программу "Hello, World!!!" на языке Си в среде Quick C 2.0.

Компиляция даже такой простенькой программы идет очень неспешно и занимает несколько секунд. Зато сама программа выполняется быстро и на выходе мы имеем стандартный EXE-шник.

А давайте теперь оценим производительность системы небезызвестной программой CheckIt. Программа без проблем запускается и даже выдает некоторую информацию о системе.

По измерениям этой программы, наш ПК примерно в 1,75 раза быстрее оригинального IBM PC-XT. Связано это, вероятно, с оптимизированным процессором NEC V40 и включенным турбо-режимом.

А вот для сравнения что выдает этот тест для Электроники МС-1502.

Производительность почти один в один с IBM PC-XT. Тест производительности видеосистемы итальянца:

Где-то в 1,5 - 2 раза производительнее чем IBM PC-XT. А что же Электроника?

Электроника при работе через БИОС на 25% быстрее IBM PC-XT, но при прямой записи на 5% медленнее. Это, вероятно, потому, что там видеопамять осталась в медленной динамической памяти. Вот если бы и ее пересобрать на быстрой статической, в производительности можно было бы немного выиграть.

Итак, подведем итог. В целом, итальянская ХТ, конечно, намного круче Электроники. Это и стильный корпус, и удобная клавиатура. Новейшие по тем временам (1988 год) 3,5-дюймовые дисководы, причем уже встроенные в корпус. Возможность подключения жесткого диска, тоже новейшего в то время форм-фактора 3,5 дюйма и интерфейсом IDE. Но расплачиваться за это все великолепие пришлось очень высокой ценой. Немаленькой не только по советским, но и по европейским меркам. Причем из-за формфактора типа моноблок, не было возможности собирать систему с нуля, собирая сначала самую дешевую конфигурацию, а потом докупая по мере возможности остальное. Также не было возможности апгрейда системы или хотя бы частичного использования компонентов в следующем поколении IBM-PC AT.

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

Подробнее..

Pentium имя нарицательное. Часть 2 Повстанцы наносят ответный удар

30.12.2020 14:14:51 | Автор: admin

Краткое содержание предыдущей серии:

Intel выпускает инновационный процессор и уходит в отрыв. Конкуренты продолжают выпускать 486-ые процессоры. Основные продажи у Intel тоже делает именно они. Конкуренты объявили о начале разработки процессоров пятого поколения и уже наступают на пятки. Intel загодя планирует ответ. Тем временем Socket 4 сменяет Socket 5, но и его дни сочтены.

Наступил 1995 год, К5 задерживается, разработка Cyrix 5x86 и 6x86(!) идет полным ходом, IDT занимается MIPS процессорами, о Rise еще не никто не слышал. А Intel выпускает новый чипсет...


Русалкин папа


В январе 1995 года появился чипсет, ставший родоначальником семейства. На ближайшую пару-тройку лет он станет основной рабочей лошадкой в мире ПК. Чипсет относился к все той же серии 430 и носил обозначение 430FX.

Северный мост Triton

Имя ему было Triton (не амфибия, но мужчина-русал, судя по всему, непростых кровей сын Нептуна), и по сути он был упрощенным вариантом старого доброго 430NX Neptune. Он состоял все так же из 4 чипов, но микросхемы контроллера шины (Datapath) кардинально уменьшились до размеров микросхем кэш-памяти, упаковка 100-pin PQFP вместо 208-pin. На плате стали доминировать две микросхемы будущие северный и южный мосты.

Для уменьшения габаритов и, главное, стоимости, пришлось пожертвовать дополнительной буферизацией и функционалом контроллера памяти. Тем не менее, по сравнению с предыдущими чипсетами производительность как минимум не снизилась, во многом благодаря дополнительной оптимизации. Снижение поддерживаемого объема памяти до уровня 430LX (128 Мбайт), кэшируемого L2-кэшем до 64 Мбайт, на тот момент не было значительным недостатком. Большинство ПК оснащались 8 или 16 Мбайт памяти, и запас на расширение был достаточным. Лишился чипсет и поддержки многопроцессорных систем, но это тем более прошло незамеченным для серьезных систем оставался привычный Нептун. Куда более заметным и приятным изменением стала интеграция в южник PIIX (82371FB) полноценного IDE контроллера с поддержкой DMA. Уже осенью появилась ужатая до двух чипов мобильная версия 430MX Triton Mobile.

Вместе с новым чипсетом был анонсирован и младший Pentium с частотой 75 МГц (шина 50 МГц). Благодаря этой связке Pentium наконец попал в средний сегмент и начал активно теснить устаревающие 486 системы (важно отметить, что за год до этого вполне нормальным бюджетным ПК был 486SX-25 c 4 Мбайт памяти).

Новая нога и революция в анатомии


Первые платы на Тритоне использовали все тот же Socket 5, что и прежние. Однако вышедший летом 1995 года Pentium 133 года принес новшество тот самый Socket 7, отличавшийся от пятого дополнительной 321-й ногой. Она была нужна для будущих моделей с раздельным питанием, требовавших 3.3 В для питания цепей ввода-вывода и 2.8 В для ядра. Фактически этот функционал начали использовать лишь более поздние процессоры с поддержкой команд MMX. При этом старые процессоры могли устанавливаться в новый сокет, но не наоборот. В итоге ранние платы на 430NX и 430FX (например, Intel Advanced/MN Morisson и Intel Advanced/ZP Zappa), ограничены поддержкой процессоров до 120 МГц.

Socket 7

Сложилась парадоксальная ситуация: для новых процессоров (пока только модель на 133 МГц) аж до начала следующего года единственным вариантом от Intel оставался чипсет среднего уровня. Плат на 430NX под Socket 7 не производилось, замены Нептуну пока не было.

Но именно в среднем сегменте и произошла революция, последствия которой заметны и сегодня. Одной из первых плат для Socket 7 стала плата, интегрированная Intel Advanced/ATX Thor (опционально имела встроенные видео- и аудиоконтроллеры).Она же стала самой первой в мире серийной платой в форм-факторе ATX, который и ныне широко используется во множестве подвариантов, до сих пор не удалось найти ему удачной замены.

Помимо программного управления питанием (прощай знаменитая надпись Теперь питание компьютера можно отключить) и выноса большинства портов на отдельную панель (вспомним плату Intel Altserver!), в нем было воплощено множество прогрессивных идей. И ATX, и AT (на самом деле Baby-AT) отталкивались от полноразмерного формата Full-AT (305x330 мм, как будущий EATX). Но Baby-AT в первую очередь был уменьшен относительно большого брата по высоте и предусматривал дальнейшее сокращение ширины платы при необходимости с учетом сохранения количества слотов расширения. Для нового формата была также предусмотрена относительная вольность с шириной, но основой для сокращения размеров была именно высота. Два первых подформата MicroATX, где число слотов расширения сокращалось с семи до четырех, и FlexATX с двумя слотами расширения, отличались именно меньшей высотой платы, ширина была задана не фиксированным значением, а допустимым диапазоном.

Предусматривалось зонирование корпуса для оптимального распределения тепла. Раньше процессор в башенном корпусе располагался в нижнем правом углу платы (реже в верхнем правом). Теперь же место для него было предусмотрено в верхней половине посередине или левее, ближе к портам (в зависимости от ширины платы и количества процессоров). В первых версиях стандарта вентилятор блока питания должен был нагнетать воздух внутрь корпуса, а не отводить его наружу, как в АТ-блоках и более современных (и горячих) АТХ.

Подразумевалось, что этот же поток воздуха будет охлаждать процессор, использующий лишь крупный радиатор, без выделенного кулера. Предусматривалась возможность интеграции видео- и звукового контроллера с выводом портов в общую панель, а не на выкидыши, как в АТ-формате. Изначально речь шла именно о дискретных контроллерах, до интеграции этих компонентов в чипсет оставалось еще несколько лет.

Забегая вперед, отметим, что форм-фактов АТ просуществовал еще около пяти лет, смещаясь все сильнее в бюджетный сегмент. Рынок он покинул с уходом платформы Super 7 (тогда же практически перестали выпускать Socket 370 АТ-платы, но последняя АТ-плата была выпущена аж для Pentium 4 в Socket 478!). Intel также более не выпускала новых AT-плат после выхода Thor.

Последний Hi-End


Вышедший в ноябре 1995 года Pentium Pro с его умопомрачительными 200 МГц несколько спутал мысли пользователей, но все равно основные события развивались именно на платформе Socket 7. Новый процессор занял ультравысокий сегмент, борясь там с RISC-процессорами, а обычному Pentium остался не только средний, но обычный верхний сегмент. Первым делом, в январе, Intel представляет новые модели Pentium с частотой 150 и 166 МГц (множитель 2.5, шина 60 и 66 МГц). А месяц спустя и пару новых чипсетов великолепный 430HX (ошибочно именуемый Triton II) и среднеуровневый 430VX (собственно, Triton II), оба с новым южным мостом PIIX3 (82371SB), поддерживающим USB.

430HX

Последний был, по сути, обновленным, чуть более быстрым FX и также состоял из 4 чипов, а 430HX состоял всего из двух. Его северный мост получил BGA упаковку, что позволило решить вопрос с требуемым для реализации его функционала количеством выводов. Чипсет получил поддержку EDO памяти до 512 Мбайт (весь объем кэшируется при достаточном количестве TagRAM, поддерживается ECC) и умел работать с двумя процессорами. Применялась глубокая буферизация, что позволило увеличить скорость работы с памятью и периферийными шинами так, что даже с EDO памятью HX оказывался быстрее 430VX, поддерживающего новейшую SDRAM, и даже его наследника 430TX. HX стал последним чипсетом Intel для Pentium в верхнем сегменте, на нем выпущено большое количество интересных плат, в том числе и для двухпроцессорных машин.

В середине года также вышла 200 МГц версия Pentium, ставшая самой быстрой из не-MMX версий.

Криптон, а не Криптонит!


Не успели новинки от Intel попасть на прилавки, как первый удар нанесла компания AMD. В марте 1996 года вышел процессор, ранее известный под кодовым именем Криптон AMD K5. Он стал третьим, после NexGen и Pentium Pro х86, процессором с RISC-подобным ядром. Причем не каким-то абстрактным RISC! Упоминалась даже внутренняя система команд, унаследованная от раннего проекта компании серии процессоров 29000. Несмотря на продвинутую архитектуру, он оказался лишь немного быстрее Pentium по производительности в целочисленных вычислениях и сильно уступал в операциях, задействовавших FPU. Впрочем, и стоили К5 ощутимо дешевле, чем Pentium.

AMD K5

Первая серия имела частоты от 75 до 100 МГц и обозначалась SSA/5. Вышедшая осенью вторая серия (5k86) имела частоты от 90 до 116.6, но маркировалась P-рейтингом (конечно, performance, а не pentium, но все всё поняли :) ) от 120 до 166. Планировалась также модель с PR200 (133 МГц), но ее реальная доступность задержалась аж до начала поставок новых К6 и объемы выпуска были. Важным отличием 5k86 от SSA/5 было наличие работоспособного блока предсказания ветвлений, который дал значительную (до 30%) прибавку производительности. Этот блок присутствовал и в ядре SSA/5, но был деактивирован, так как его не успели довести до ума к релизу.

Немного о технической стороне:

  • Количество транзисторов 4.3 млн.
  • Техпроцесс 500 или 350 нм для SSA/5, 350 нм для 5k86.
  • Кэш L1 24 Кбайт (16 Кбайт инструкций и 8 Кбайт данных).
  • Шина 50 МГц (только SSA/5), 60/66 МГц (обе версии).
  • Напряжение питания 3.52 В.
  • Разъем Socket 5 (совместим с Socket 7).

Собственных чипсетов AMD в тот момент не выпускала, поэтому чаще всего К5 соседствовал с Intel 430FX.

Во многих источниках утверждается, что процессор получился неудачным, но, на взгляд автора, это касается в основном коммерческой успешности. К5 хоть и уступал Pentium, но не так значительно, как процессоры других производителей, и эта уступка вполне нивелировалась ценой.

Гоша, он же Гога, он же Жора


В том же 1996 дебютировал еще один пентиумоборец Cyrix 6x86 (кодовое имя M1), не имевший никакого отношения к пятому поколению х86, зато имевший несколько псевдоминов. Процессор выпускался на мощностях американской IBM и европейской SGS-Thompson (ныне STMicroelectronics) и продавался в том числе под их именем. Процессор был построен по классической схеме, без RISC-подобного ядра, и имел улучшенный по сравнению с предыдущими моделями компании FPU (в первую очередь, имеется в виду полупентиум 5х86, фактически бывший 486 аналогичная модель была и у AMD). Но в сравнении с Pentium и даже K5 его производительность была очень и очень низка. Не помогало даже то, что процессор оказался очень неплох в целочисленных вычислениях.

Cyrix 6x86

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

  • Количество транзисторов 4.3 млн.
  • Техпроцесс 500 нм.
  • Разъем Socket 5 (совместим с Socket 7).
  • Тепловыделение 25 Вт (против 15 Вт у Intel и AMD)

Как и AMD, в Cyrix решили использовать для обозначения процессора P-рейтинг (Pentium опять ни при чем), и рейтинг этот был вычислен очень оптимистично. Например, процессор с частотой 133 МГц маркировался как PR166+. Впрочем, все решала цена: такие машины уже заходили на территорию 486 и начали постепенно вытеснять их с рынка.

Из-за высокого энергопотребления, даже несмотря на вышедшую вскоре экономичную версию 6x86L (M1L), эти процессоры практически не использовались в ноутбуках (автору удалось найти единственное упоминание о начале поставок ноутбуков с 6х86 ныне не существующим небольшим производителем), хотя 486 и 5х86 процессоры от Cyrix имели определенную долю в мобильной технике, так как устанавливались даже в бюджетные версии знаменитых IBM ThinkPad.

Ход конем!


Если двигаться в хронологическом порядке, в этой части статьи был бы рассказ о сторонних чипсетах, помогавших экспансии Pentium, а после (и в первую очередь!) AMD и Cyrix в нижнии слои рынка. Но, так как чипсетов было множество и новые (слегка обновленные) модели сменяли друг друга достаточно быстро, отложим их на потом и прыгнем в начало 1997 года.

Напомню обстановку: наверху все так же Pentium Pro 200 МГц, пока еще с 512 Кбайт кэша. До выхода нового доступного флагмана Pentium II почти пять месяцев. Intel нужно предложить что-то интересное в ожидании выхода действительно нового процессора. А что модно в середине 90-х? Ответ мультимедиа. Новые SIMD (single instruction, multiple data) инструкции MMX (MultiMedia Extensions мультимедийные расширения) позволили значительно снизить нагрузку при обработке звука и видео, особенно сжатых форматов. Например, нагрузка от популярнейшего плеера WinAMP на процессоре Pentium 166 могла достигать 20%, а на Pentium MMX 166 1%.

Pentium MMX 166

Новые инструкции позволили улучшить музыкальную и графическую составляющую игр и познавательных мультимедиа-приложений. Полезны они были и в приложениях для создания соответствующего контента, но в таких задачах все же были важнее возможность многопроцессорной обработки, большие объемы памяти и кэша, обеспечиваемые Pentium Pro.

Итак, в январе 1997 появились модели на 150, 166 и 200 МГц. Летом, уже после анонса Pentium II, появился варианта на 233 МГц. Вскоре после этого в производственную гамму вошли мобильные версии, среди которых были и низковольтные модели со сниженными частотами 120 и 133 МГц. Ядро получило название P55C, выпускалось по техпроцессу 350 нм (позднее 280 нм) и имело в своем составе 4.5 миллиона транзисторов (вместо 3.1-3.3 млн в прежних сериях). Помимо блока MMX, транзисторный бюджет пошел на удвоенный кэш второго уровня (32+32 Кбайт для инструкций и данных). Ядро занимало 141 мм2 (128 мм2 после перехода на 280 нм техпроцесс). Поддержка двухпроцессорных решений сохранилась, но, по некоторым данным, лишь для процессоров до 200 МГц.

В пару к новым процессорам вышел и новый чипсет 430TX Triton III последний чипсет для этой платформы от Intel. Он относился к среднему сегменту и имел те же ограничения, что и 430VX например, кэширование лишь 64 Мбайт памяти из поддерживаемых 256 Мбайт. На тот момент 32 Мбайт уже были стандартом для среднебюджетных ПК, и такое ограничение становилось если не критичным, то весьма заметным. По сравнению с предшественником улучшилась производительность и стала лучше поддерживаться память SDRAM чипсет научился работать с модулями, набранными из чипов, емкостью 64 Мбит вместо 16 Мбит.

Овердрайв для всех и пусть никто не уйдет обиженным


В условиях отсутствия нового топового чипсета была продлена жизнь 430HX. Значительная часть плат, выпущенных на нем, поддерживают процессоры MMX, предоставляя требуемое им раздельное питание. Но большинство не значит все.

Intel проявил удивительную лояльность и выпустил очередную серию OverDrive процессоров, причем не только для обновления систем с Socket 7 на FX и HX, но и для более старых NX-плат. На самом деле, отличий было всего два:1. Новый процессор содержал на борту VRM, предоставлявший ядру требуемое напряжение питания; 2. Была удалена поддержка многопроцессорных систем. От платы же требовалась лишь поддержка процессора на уровне BIOS.

OverDrive-процессор

В принципе, на часть плат без раздельного питания (к поддержке BIOS добавлялось лишь одно условие разъем Socket 7) можно было установить и обычный Pentium MMX разница в напряжении составляла 0,5 В. Процессоры в таком режиме были вполне работоспособны, но сильнее грелись и могли скончаться раньше времени. Естественно, не сохранялась и гарантия производителя.

Существовало четыре варианта:

  • PODPMT60X150 множитель 2.5, шина 60 или 50 МГц, частота 150 или 125 МГц; предназначен для замены процессоров с частотой 75 и 90 МГц
  • PODPMT66X166 множитель 2.5, шина 66, частота 166 МГц; предназначен для замены процессоров с частотой 100 и 133 МГц
  • PODPMT60X180 множитель 3.0, шина 60 или 50 МГц, частота 180 или 150 МГц; предназначен для замены процессоров с частотой 75, 90, 120 и 150 МГц
  • PODPMT66X200 множитель 3.0, шина 66, частота 200 МГц; предназначен для замены процессоров с частотой 100, 133 и 166 МГц

OverDrive были выпущены сравнительно небольшой партией и имели фиксированный множитель. Ныне являются довольно редкой находкой для коллекционера.

Должна ли скорость стоить дорого?


После выхода К5 AMD не сидела сложа руки активно шла разработка нового К6. Цели были амбициозны, но результата достигнуть не получалось. Все спас случай: у компании NexGen был практически готов новый процессор Nx686, но денег на запуск его в производство уже не оставалось. Инвестора найти не получалось, и руководство компании отправилось на поклон в AMD. В результате значительная часть команды NexGen пополнила ряды AMD (и для последней это оказалось отличным подспорьем!), а Nx686 стал К6. Оставалось лишь переделать его с родной шины на универсальный Socket 7.

Занимательный факт: процессор Nx586 устанавливался в сокет с 463 контактами, по расположению ножек и габаритам идентичный будущему Socket A (462), отличаясь лишь на одну ножку. Электрически и логически, конечно, совместимости между ними не было, но сам выбор конструктива символичен.

AMD K6

К6 (с одноименным ядром) вышел в апреле 1997 года, работал на частотах от 166 до 233 МГц и производился с соблюдением норм 350 нм техпроцесса. В январе 1998 года вышло обновление ядро Little Foot, произведенное по техпроцессу 250 нм. Оно расширило частотный диапазон до 200-300 МГц. Оба варианта содержали блок MMX и 64 Кбайт (32+32 Кбайт) кэша первого уровня с разделением для инструкций и данных. Для реализации процессора потребовалось 8.8 миллионов транзисторов.

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

К6 был только началом. Уже в мае 1998 года были выпущены процессоры K6-2, ориентированные на конкуренцию с Pentium II. Ядро получило имя Chomper, выпускалось по техпроцессу 250 нм и имело 9.3 миллиона транзисторов. Дополнительные полмиллиона позволили реализовать свой собственный набор расширений 3DNow!, позволяющий оптимизировать вычисления для входивших в моду 3D-игр (и не только). Частоты 233-366 МГц, шина 66 или 100 МГц.

Уже в ноябре вышло обновление Chomper Extended. Частота достигла 550 МГц, частоты шины стали разнообразнее добавились варианты на 95 и 97 МГц (частотный ряд 200, 233, 266, 300, 333, 350, 366, 380, 400, 427.5, 450, 475, 500, 533 и 550 МГц). К6-2 стал настоящим успехом для AMD и позволил занять ей нишу между ушедшими в бюджетный сегмента машинами с Pentium MMX, тем более процессорами младших конкурентов (и заменившими их Celeronами), и довольно дорогими системами с Pentium II.

Последнее большое обновление платформы от AMD произошло феврале 1999 года, с выходом K6-III (ядро Sharptooth, техпроцесс 250 нм). Процессор получил интегрированный в ядро кэш объемом 256 Кбайт и имел возможность использовать кэш на материнской плате в качестве кэша третьего уровня (L3). Впрочем, часть плат, рассчитанных именно на этот процессор, уже не предусматривали внешнего кэша как такового. К6-III был рассчитан на конкуренцию с ранними моделями Pentium III и действительно мог соперничать с ними. Частоты составили 366-550 МГц, что не позволяло рассчитывать на долгосрочный эффект и борьбу с Coppermine, но позволило спокойно дотянуть до новых процессоров K7 Athlon.

Финальным аккордом стали мобильные процессоры K6-III+ и K6-2+ (отличались объемом кэша L2 256 Кбайт и 128 Кбайт соответственно, оба базировались на дизайне K6-III), вышедшие в апреле 2000 с использованием 180 нм техпроцесса. В это время основным продуктом AMD уже были Athlon, и младшие процессоры предназначались исключительно для ноутбуков. Пока не появятся мобильные чипы нового поколения.

А всем ли нужна скорость?


Сейчас это может показаться странным, но уже в те времена были задачи, не требующие самого быстрого процессора. Переход с DOS/Windows 3.x на Windows 95 потребовал определенного прироста производительности, но для офисных и многих домашних приложений вполне хватало простых машин. Причем речь даже не о Cyrix и К5 в сравнении c Pentium, а о машинах более скромных, чем Cyrix. И чем глубже в бюджетный сегмент, тем актуальнее. С этой целью пришел на рынок еще один игрок IDT (рабочая группа Centaur компании Integrated Devices Technology).

IDT WinChip, появившийся все в том же 1997 году, стал находкой для производителей бюджетных компьютеров. Хотя его производительность была минимально достаточной даже для офисных приложений. Наиболее слабой частью процессора был его FPU. Вычисления с плавающей запятой давались ему с большим трудом.

IDT WinChip

Всего было выпущено четыре серии процессоров С6, 2A, 2B и 3. Первые две были совместимы с Socket 5, но при этом поддерживали MMX. Кэш первого уровня имел объем 64 Кбайт (по 32 Кбайт для инструкций и данных). Выпускались процессоры по техпроцессу 350 нм. Последние две серии получили удвоенный кэш L1 и поддержку инструкций 3DNow!, разработанных AMD. За исключением этого больших отличий между сериями не было, но маркетологи IDT все же разделяли WinChip, WinChip 2 и WinChip 3.

Процессоры IDT маркировались P-рейтингом, но для большинства процессоров (точнее для моделей с частотой шины 66 и 75 МГц) он соответствовал частоте. Для моделей с частотой шины 83 и 100 МГц рейтинг опережал частоту на одну-две ступени. Частота самой старшей модели составляла 266 МГц (младшей 180 МГц), рейтинг ее был PR333. Производство WinChip завершилось в 1999 году, подразделение Centaur было продано компании VIA.

Судьбу Centaur разделила и компания Cyrix, сначала она досталась National Semiconductor, которая впоследствии разделила наработки между VIA и AMD. AMD достался MediaGX, к тому моменту уже переименованный в Geode (о нем и NexGen будет написана отдельная статья очень уж они выбивались из ряда процессоров пятого поколения). VIA получила основную линейку процессоров.

В 1997 году Cyrix представила модельный ряд 6x86MX, довольно быстро сменивший имя на MII. По большому счету это были все те же 6x86/M1, с добавленным блоком MMX. Первый процессоры были весьма сырыми, это и привело к смене имени.

Но ребрендинг не помог решить проблемы с производительностью, да и Cyrix слишком увлеклась P-рейтингом: старшая модель имела рейтинг PR433, имея частоту лишь 300 МГц. При этом одинаковый рейтинг могли иметь разные по частотной формуле процессоры. Компания комбинировала частоты шины и множители, используя в том числе и нестандартные значения. Помимо 66, 75 и 100 МГц, шина могла работать и на 83 или 95 МГц. Например, процессор с PR300 мог иметь формулу 75х3.0 или 66х3.5.

Догнать уходящий поезд


Последним игроком, попытавшимся разработать х86 процессор с нуля, стала темная лошадка Rise Technology со своим mP6. Они также не метили в рекордсмены по производительности, но подходили с другой стороны проблемы. Их основной целью были мобильные компьютеры, особенно это касалось субноутбуков владельцы были готовы пожертвовать производительностью ради компактности, малого нагрева и долгой работы от батарей.

Rise mP6

Rise mP6 был представлен в конце 1998 года и пошел в малосерийное производство лишь в начале 1999 года. Но уже в конце того же года его производство было свернуто, и компания полностью перешла под контроль SiS. Забавно, что среди инвесторов компании, вложивших деньги при ее создании, были бывшие или настоящие конкуренты SiS VIA, Acer, UMC.

О процессоре известно немногое: компания активно шифровалась всю свою недолгую жизнь. Известно, что объем кэша первого уровня составлял лишь 16 Кбайт (как у Pentium без MMX), имел 3 блока исполнения инструкций MMX (конкуренты имели два), выпускался в виде BGA-микросхемы. Процессоры, предназначавшиеся для настольных компьютеров, припаивались к плате-переходнику для установки во все тот же Socket 7.

Особенностью процессора была сильная зависимость производительности от частоты системной шины (расплата за небольшой и, видимо, не очень эффективный кэш). Это подчеркивалось даже в обозначении (опять P-рейтинг!). Процессор с PR166 имел частоту 166 МГц и шину 66 МГц, а старший PR366 частоту 250 МГц, но шину 100 МГц! В свое время процессор прошел почти незамеченным, а после перехода компании под крыло SiS стал основой для встраиваемых процессоров и SoC Vortex86 (ныне принадлежит DM&P Electronics). Оригинальные Rise в наши дни очень редки и являются желанной находкой для коллекционеров.

Уйти, чтобы остаться


В 1998 году, с выходом Celeron тех самых печально знаменитых отсутствием L2-кэша Covington, Intel записал платформу Socket 7 в список устаревших. Фактически это касалось только настольных процессоров. Mobile Pentium II был не только весьма дорог, но в добавок еще и достаточно горяч для повсеместного применения. Таким образом, Pentium MMX еще на год-два прописался в ноутбуках. Среди стандартных лэптопов он обычно сопутствовал бюджетным моделям или младшим комплектациям. Этому особенно благоприятствовала новая версия упаковки MMC-1 (Mobile Module Connector 1) мини-картридж, сочетающий в себе процессор и южный мост чипсета. Соответственно, это мог быть или Mobile Pentium II в комплекте с Intel 82443BX, или Mobile Pentium MMX с южником Intel 82439TX. Ярчайший пример ноутбука с такой вариабельной начинкой бестселлер IBM ThinkPad 600, вышедший в апреле 1998 года и до конца года поставлявшийся как с Pentium MMX, так и с Pentium II.

MMC-1

В варианте MMC-1 процессор, как правило, имел частоту 233 МГц, более производительные версии автору не встречались. При этом в 1998 году вышла версия на 266 МГц, а годом позже последний процессор Pentium MMX с частотой 300 МГц. Но эти процессоры благодаря низкому энергопотреблению, как правило, устанавливались в субноутбуки, например, Sony Vaio PCG-505 TR. В бюджетном сегменте же правили бал новые мобильные Celeron.

Поздняя мобильная версия Pentium MMX (166-300 МГц) имела свое собственное ядро по имени Tillamook, выпускалось по более тонкому, 250 нм, техпроцессу. И если более ранние версии мобильных Pentium выпускались в разных вариантах упаковки, в том числе и в виде привычной многим керамики, то для Tillamook основным стал самый экзотичный из всех TCP.

PGA-варианты встречались, но они куда более редки. TCP расшифровывается как Tape Carrier Package кристалл приклеивался к прочной гибкой пленке, вместо керамической или пластиковой подложки, выводы проволочные, по периметру пленки. Такой же вариант распаивался на картриджах MMC-1. Pentium II и более поздние имели уже привычную BGA-упаковку.

Чипсетные приключения


С экспансией Intel на чипсетный рынок альтернативные производители заметно сдали позиции, особенно поспособствовали этому Тритоны. Они были доступны, адекватны функционально, в меру производительны и, главное, стабильны. В мобильных компьютерах еще применялись чипы VLSI (например, VLSI Eagle II в HP Omnibook 800CT), свои решения выпускала Toshiba. В настольных системах альтернативу изделиям Intel в основном составляли обновленные версии первых Pentium-чипсетов SiS 5501/5511, ALi Aladdin II/III. Opti, как и VLSI, практически сошли на нет. В тоже время зарождалось новая, весьма успешная серия VIA Apollo. Впрочем, первые модели Apollo Master, Plus и VP еще оставались темными лошадками и на фоне Intel особой популярности не снискали.

Сейчас выглядит самим собой разумеющимся, что у каждого (из оставшихся двух) производителя х86 процессоров своя технология системной шины и свои разъемы. На заре становления персональных компьютеров ситуация была противоположной: начиная с 8086 и до 386 все процессоры разных производителей в пределах поколения были совместимы не только программно, но и электрически. 486 разделился на три подпоколения (Socket 1/2/3), но принципиально не изменилось ничего. Socket 4 был пропущен конкурентами Intel из-за его слишком короткого жизненного цикла (читай не успели!), но с Socket 5/7 все вернулось на круги своя. Исключением за все это время были, пожалуй, лишь NexGen, использовавший собственную платформу, и Cyrix MediaGX, бывший интегрированным решением. Добавить можно также различные мобильные и прочие специальные версии обычных процессоров, как правило, припаивающиеся на материнскую плату. Причина явления проста: производители процессоров считали (возможно, даже небезосновательно), что при их объемах производства, поставщики материнских плат просто не будут заинтересованы в разработке отдельных моделей для их процессоров.

Все изменилось с появлением в конце 1997 года процессоров, работающих с частотой шины выше 66 МГц. К тому времени Intel объявил платформу Socket 7 устаревшей, полностью переключив внимание на Slot 1. Сторонним производителям давать лицензию на новую шину GTL+, впервые появившуюся на Pentium Pro, Intel отказался. Производителям ничего не оставалось, как продолжить развитие прежней платформы, получившей полуофициальное название Super 7.

Пожалуй, самыми популярными для обновленной платформы стали чипсеты VIA Apollo. Первыми ласточками стали VPX и VP2 лицензию на последний приобрела сама AMD и выпускала под именем AMD 640. В их активе поддержка шины до 75 МГц и оперативной памяти EDO и SDRAM до 512 Мбайт (кэшируемый объем зависит от установленного объема кэша и TagRAM). Вышедший в том же 1997 году VP3 получил поддержку AGP и удвоил поддерживаемый объем памяти, но потерял поддержку процессоров с шиной быстрее 66 МГц. Это недоразумение было исправлено в MVP3 он поддерживал шину аж до 100 МГц и мог работать со всем вышедшими позднее Super 7 процессорами. Максимальный объем ОЗУ немного сократился до 768 Мбайт.

Появившийся вскоре MVP4 стал шагом в сторону он лишился AGP, но получил встроенное видеоядро Trident Blade. Любопытный момент: перечисленные наборы, кроме VPX, поддерживали память с коррекцией ошибок ECC. Для MVP3 и MVP4 на стадии разработки декларировалась поддержка памяти DDR SDRAM, но из-за неготовности финального спецификации стандарта она так и не была реализована. Контроллер памяти для VIA всегда был слабой стороной. Он мог работать быстро, но становился очень требовательным к модулям и требовал тонкой настройки. В результате чаще всего в BIOS программировались очень консервативные тайминги и не всегда была возможность изменения всех значений.

Чипсеты ALi Aladdin хоть и уступали в популярности, но во многих случаях были самыми производительными (особенно это касалось работы с памятью). Aladdin IV/IV+ принесли поддержку частоты шины до 83 МГц и поддержку SDRAM до 1 Гбайт. С кэшированием были нюансы: по умолчанию ставились микросхемы 8 бит TagRAM, что давало лишь 64 Мбайт кэшируемой памяти, при установке 11 бит микросхем кэшировалось до 512 Мбайт).

<img src=habrastorage.org/webt/ae/b8/s0/aeb8s0a4ioys1ama2-jce5h6com.png
align=center />Aladdin

В модели Aladdin V/V+ появилась поддержка AGP, а TagRAM интегрировали в чипсет, что дало кэшируемый объем до 128 Мбайт в ранних ревизиях и до 1 Гбайт в поздних. Aladdin 7 стал последним чипсетом для Super 7, он вышел на самом закате платформы в 1999 году и был ориентирован на процессоры AMD K6-III. Во-первых, он лишился поддержки внешнего кэша, ведь в K6-III кэш L2 был уже интегрирован в ядро. Не было и поддержки AGP. В северный мост был интегрирован видеопроцессор ArtX полноценное решение с поддержкой аппаратного T&L (Transform and Lighting), обеспечивающее более чем достойную производительность, сравнимую с младшими версиями дискретных видеопроцессоров того времени.

К сожалению, плат на нем было выпущено совсем немного, и сейчас они очень ценятся коллекционерами. В целом, к этому моменту недостатки архитектуры Pentium с внешним кэшем были в значительной мере устранены. Super 7 мог бы развиваться и далее, если бы не пришло время нового решения AMD линейки процессоров К7 Athlon и шины EV6, лицензированной у Digital и впервые примененной в процессорах DEC Alpha. Эта шина обеспечивала эффективную частоту 200 МГц (позднее 266-400 МГц), значительно опережая GTL+/AGTL+ от Intel, достигшую лишь 133 МГц.

Наборы микросхем VIA и ALi в эпоху зрелости платформы представляли собой классические двухчиповые решения. Но была компания, которая уже тогда шагнула дальше Silicon Integrated Systems, SiS. Если их ранние решения были трехчиповыми, то уже SiS 5596 (1996 год) с поддержкой SDRAM поместился в двух чипах, при этом в северном мосту было интегрировано видеоядро собственной разработки.

В том же году появился SiS 5571 (без встроенной графики), ставший первым одночиповым решением для платформы Socket 7. Это чипсет уже поддерживал шину с частотой 75 МГц, хотя процессоры для нее еще не были анонсированы. В 1997 году появились новые решения SiS 5120, SiS SiS 5581/5582, не получивших большого распространения (практикой у компании стал выпуск чипов в двух версиях с зеркальным расположением выводов относительно друг друга для упрощения дизайна материнских плат).

А вот новый интегрированный чипсет SiS 5597/5598 стал популярной основой недорогих плат. Вышедший в 1998 году SiS 5591/5592 с поддержкой AGP снова стал двухчиповым. Начиная с него, наконец стал адекватным кэшируемый объем памяти 256 Мбайт против 64 или 128 Мбайт у ранних вариантов. Впрочем, в бюджетном сегменте, куда всегда ориентировался SiS, это не было большой проблемой.

SiS 530 стал интегрированной версией 5591 и получил поддержку 100 МГц шины, но лишился при этом поддержки устаревающей FPM/EDO памяти. Наконец, заключительным решением для Super 7 от SiS в 1999 стал SiS 540 снова одночиповое решение с интегрированными видеоядром. Он поддерживал 1.5 Гбайт памяти (кэшировалось 512 МБайт) и поддержку ECC.

На этом историю платформы Super 7 можно считать завершенной, но нельзя не упомянуть еще один курьез.

Ты кто вообще такой?


В конце 90-х компьютерные магазины России наводнили платы с загадочными надписями на микросхемах чипсета или радиаторе северного моста TX Pro, HX Pro, TX Pro II и далее (почти) до бесконечности. К продукции Intel, естественно, никакого отношения они не имели. Чудила в основном компания PC Chips (не путайте с Chips & Technologies, часто упоминавшейся как просто Chips) крупный китайский производитель недорогих материнок, прославившийся 486 платами с фальшивыми микросхемами кэша.

Сама PC Chips, конечно, чипсетов не производила и тем более не разрабатывала. Даже с ее объемами производства это было невыгодно. На самом деле идея проста: Badge Engineering, если проще перемаркировка. Ниже в таблице приведены самые распространенные супермегапро чипсеты. Аналогичные вольности компания творила и с аудио/видеочипами, что в наши дни несколько усложняет поиск драйверов.

Маркировка Настоящий чипсет
HX Pro ALi M1521 (Aladdin III)
Super TX SiS 5598
Super TX ALi M1541 (Aladdin V)
Super TX3 SiS 5598
Super TX4 SiS 5591
SX Pro SiS 530
TX AGP Pro SiS 5591
TX Pro ALi M1531 (Aladdin IV+)
TX Pro II SiS 5598
TX Pro III VIA Apollo VPX (VT82C580VPX)
TX Pro IV SiS 5591
TX Two ALi M1531 (Aladdin IV+)
VIA GRA VIA MVP4 (VT8501)
VX Pro VIA Apollo VP1 (VT82C580VP)
VX Pro+ VIA Apollo VPX (VT82C580VPX)
VX Pro II Utron UT801x
VX Two VIA Apollo VP1 (VT82C580VP)
VX Two VVIA Apollo VPX (VT82C580VPX)


Кроме PC Chips, отметилась компания Soyo, также производитель плат. Soyo выпустила серию чипсетов ETEQ, которые фактически были перемаркированными чипсетами VIA. Но в данном случае не было никаких попыток сыграть на схожести названия с продукцией конкурентов, скорее просто капелька тщеславия. Чипсетов было всего три: ETEQ 6618 (VIA Apollo VPX), ETEQ 6628 (VIA Apollo VP3) и ETEQ 6638 (VIA Apollo MVP3).

Напоследок хотелось бы упомянуть еще два экзотических чипсета. Первый Utron UT85C501/502, выпущенный в 1997 году компанией-производителем SRAM памяти и известный в основном благодаря табличке перемаркированных чипсетов. Второй NEC Power TX, наиболее интересный тем, что компания NEC никогда его не производила это целиком творчество кремниевых пиратов. Одночиповое решение в корпусе PQFP (квадратный с выводами по периметру) с поддержкой до 128 Мбайт FPM/EDO/SDRAM памяти и 100 МГц шины. Точные данные неизвестны. Встречена лишь одна плата с его использованием Eagle Power 586. Очень небольшая плата, всего 220х170 мм. Три слота для памяти 1 DIMM и 2 SIMM. Кэш не отсутствует. По отзывам немногих владельцев, изделие довольно глючное, капризное и нестабильное.

В руках коллекционера


Платформа Socket 7/Super 7 является одной из самых популярных среди коллекционеров и любителей ретро-игр. Большая часть систем не является редкостью, но благодаря своей долгой жизни и былой популярности (а также отличной совместимостью с практически всеми написанными до того играми) высоко ценится и за пределами ретро-сообщества. Самые интересные среди них двухпроцессорные системы на чипсете 430HX и игровые машины на старших процессорах AMD, особенно K6-III и интегрированным кэшем. Отдельно стоят экзотические системы на Rise mP6, Cyrix MediaGX и NexGen, но последние двое тема отдельной статьи.

Не исключение и коллекция Digital Vintage. Не считая огромного числа ноутбуков, можно отметить пять(!) сборок с героями этой статьи. Напомним, что SERVERGHOST это самосбор-бренд автора, названный в честь сетевого имени его первого компьютера. А модели названы в честь интересных самолетов прошлого. Кроме, разве что, Rotoscope это отсылка к одной забавной песне.

SERVERGHOST Rotoscope P5/2 LPX



Ранняя модель в компактном корпусе форм-фактора LPX. Построена на плате Intel Advanced/MN Morrison (Socket 5) с интегрированным видео и звуком. Модель 1995 года. Система попала в коллекцию совсем недавно и в отличие от большинства собиралась не с нуля. С момента покупки в 1996 году компьютер жил в одной семье (огромное спасибо от Digital Vintage бывшим владельцам за подарок!).

Машина попала в коллекцию в отличном состоянии и полном комплекте с монитором, клавиатурой и мышкой, приобретенными вместе с системным блоком. Сохранились даже документы на комплектующие! Оставалось только заменить уставший от времени оптический привод, переустановить ОС и поставить брендовую наклейку SERVERGHOST.


  • Intel Pentium 90 МГц Socket 5, версия с золотой крышкой.
  • Intel Advanced/MN Morrison на основе чипсета Intel 430FX.
  • 64 Мбайт FPM DRAM памяти.
  • 1.2 Гбайт жесткий диск Seagate IDE.
  • Интегрированная видеокарта 2 Мбайт S3 Trio32 (установлен 1 Мбайт дополнительной видеопамяти).
  • Интегрированная звуковая карта на чипе Crystal.
  • Сетевая плата 10 Мбит/с 3Com Etherlink III ISA.
  • 24x CD-ROM Hitachi IDE.
  • 3.5 дисковод.
  • Корпус формата Slim Desktop LPX.
  • Установлена OS/2 Warp 4.0 (Merlin).

SERVERGHOST Rotoscope P5/2



Рабочая станция среднего уровня, модель 1996 года. Построена на базе платы Intel Advanced/ML Marl, одной из первых в формате ATX. Плата не поддерживает раздельное питания для MMX-процессоров, поэтому в основную конфигурацию включен процессор без MMX. В комплекте присутствует апгрейд 1997 года процессор Pentium OverDrive MMX 166 МГц.

  • Intel Pentium 166 МГц Socket 7 / Pentium OverDrive MMX 166 МГц Socket 7.
  • Intel Advanced/ML Marl на основе чипсета Intel 430HX.
  • 64 Мбайт EDO DRAM памяти.
  • 6.4 Гбайт жесткий диск Fujitsu IDE.
  • Видеокарта 2 Мбайт ATi Rage II PCI.
  • Звуковая карта на чипе Сrystal PCI.
  • Сетевая плата 100 Мбит/с 3Com 905B PCI.
  • 8x CD-ROM LG со слотовой загрузкой IDE.
  • 5.25 и 3.5 дисководы.
  • Корпус Chieftec Dragon Midi.
  • Установлена Windows 95 OSR2.

SERVERGHOST Rotodyne P5/2I



Классический домашний компьютер. Модель 1996-1997 года в корпусе AT Minitower.

  • Intel Pentium 133 МГц Socket 7.
  • A-Trend ATC-1000+ на основе чипсета Intel 430VX.
  • 64 МБайт EDO DRAM памяти.
  • 3.2 Гбайт жесткий диск Seagate IDE.
  • Видеокарта 2 Мбайт S3 Trio3D PCI.
  • Звуковая карта на чипе Opti931 ISA.
  • Сетевая плата 100 Мбит/с 3Com 905B PCI.
  • 8x CD-ROM NEC IDE.
  • 3.5 дисковод.
  • Корпус Minitower AT.
  • Установлена Windows NT 3.51 Workstation.

SERVERGHOST Rotodyne SS7S



Бюджетная машинка модели 1998 года, вызывающая у автора сильный приступ ностальгии. Практически такой аппарат (только с платами PC Chips TX Pro II) был первым домашним сервером автора. Достался он ему в качестве благодарности за настройку сети нового компьютерного класса дружественной школы в 2003 году и, возможно, изрядно повлиял на его будущую карьеру. Как и почти 18 лет назад, приведение машины в порядок потребовало немало терпения и нервов. Мелкие глюки сопровождают наладку SiS-плат, особенно в совокупности с процессором от Cyrix! Тем не менее, 5597/98 любимый чипсет автора среди творений SiS :)

  • Cyrix MII-300GP 233МГц Socket 7.
  • Asus SP97-V на основе чипсета SiS 5598.
  • 64 Мбайт EDO DRAM памяти.
  • 2.6 Гбайт жесткий диск Seagate IDE.
  • Интегрированная видеокарта 4 Мбайт SiS PCI.
  • Звуковая карта на чипе ESS1869 ISA.
  • Сетевая плата 10 Мбит/с 3Com Etherlink III ISA.
  • 32x CD-ROM Samsung IDE.
  • 3.5 дисковод.
  • Корпус Minitower AT.
  • Установлена Windows NT 4.0 Workstation.

SERVERGHOST Lightning K6B


Одна из лучших конфигураций Super 7 недорогая, но полноценная домашне-игровая станция 1998-1999 годов. Процессор K6-2, видео ATi. Не хватает разве что Voodoo!

  • AMD K6-2 450 МГц (100 МГц шина) Socket 7.
  • Iwill XA100 на основе чипсета ALi Aladdin V (rev. E).
  • 128 МБайт SDRAM DRAM памяти.
  • 3.2 Гбайт жесткий диск Seagate IDE.
  • Видеокарта 4 МБайт ATi Rage Turbo AGP.
  • Звуковая карта Aureal Vortex 2 PCI.
  • Сетевая плата 10/100 Мбит/с Realtek 8139B PCI.
  • 16x CD-ROM Sony со слотовой загрузкой IDE.
  • 3.5 дисковод.
  • Корпус Miditower ATX.
  • Установлена Windows 98 SE.

Заключение


Вот и завершилась ретроспектива последней универсальной платформы для процессоров x86. Платформа Socket 7/Super 7 оставила большой след в истории и в сердцах пользователей. Для значительного числа пользователей именно эти компьютеры стали первыми в их жизни. Кто-то стер не одну клавомышку за играми на них, кто-то программируя или администруя эти системы. Как бы ни были быстры и успешны компьютеры следующих поколений, еще долго миллионы людей будут вспоминать добрым словом именно первые пеньки и тех, кого к ним по ошибке причисляли.

Подробнее..

Обычная IBM-PC XT

31.12.2020 00:22:22 | Автор: admin

После обзора отечественного клона IBM-PC XT и его итальянского коллеги хотелось бы рассказать о еще одной машинке из семейства IBM PC. На этот раз это ничем не примечательная, самая обычная ХТ-ха. Именно из-за своей обычности, я бы даже сказал, ширпотребности, она и занимает определенное место в коллекции. Этот ПК уже собран не в виде моноблока, а более привычной нам конструкции - состоит из системного блока и отдельной клавиатуры. Для отображения информации используется уже не бытовой телевизор, а компьютерный монитор.

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

В отличие от ранее рассмотренных ХТ-шек, компьютер собран в более привычном нам корпусе. Правда, в горизонтальном формате Desk-top. Такие корпуса были более популярны в то время чем корпуса в формате Tower. Что удобно, на него сверху можно было поставить монитор, что существенно экономило место на рабочем столе. Компоновка корпуса вполне стандартная, привычная, можно сказать, и в наши дни. В передней части располагаются накопители, в задней части - блок питания и места выхода разъемов плат расширения.

Монитор 14'' EGA фирмы SUN, тип MTS-560. Если его наименование попытаться загуглить, то, скорее всего, не удастся найти про него вообще ничего. Я тоже не нашел. А монитор этот достался мне в нерабочем состоянии и необходимо было его как-то починить. В конце концов, мне удалось найти на него только схему блока питания. Это не очень помогло в ремонте, но хоть что-то. Как оказалось, этот монитор крайне капризный и все время норовит выйти из строя (причем, хардкорно, с бабахом и дымком) даже если случайно установишь не тот режим вывода изображения. Дело в том, что в разных режимах этот монитор должен автоматически подбирать необходимое напряжение питания строчной развертки. Но в этом мониторе автоматика работала не очень, и при подаче слишком высокого напряжения у него разом дохли строчные силовые транзисторы (а их там два!), а за ними до кучи летел и блок питания (а там стоят дефицитные микросборки серии STR50xxx). В общем, беда просто, а не монитор).

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

Но зато этот монитор умеет всякое! У него, во-первых, два входных разъема ANALOG и TTL. На первый можно подавать аналоговые RGB и синхронизацию (как со спектрумов), а ко второму подключать EGA сигналы. В этом компе у меня торчит EGA карточка, поэтому подключаемся ко второму. Кроме того, есть тумблеры, которыми можно выбирать входной разъем, тип входного сигнала (обычный или PS/2, последний, насколько мне известно, отличался полярностью синхросигнала), количество цветов, а также их выбор автоматический или ручной. Что это означает, я точно не могу сказать, потому как все работает в любом положении этого переключателя. Внизу монитора есть куча дырочек с подстроечниками в каждом режиме можно отдельно настроить геометрию картинки и при переключении экран не будет убегать куда-то вверх или вбок. Монитор очень тяжелый. Как по весу, так и в настройках и ремонте.

Еще у монитора есть интересная кнопочка TEXT. При ее нажатии все цвета пропадают и экран становится монохромно желтым. Это, я так полагаю, для более комфортного чтения текста.

В компе изначально стояла видеокарта системы Hercules, но я ее поменял на более продвинутую EGA. Немного из Вики: HGC (англ. Hercules Graphics Card) стандарт мониторов и видеоадаптеров для IBM PC. Он поддерживает текстовый режим с высоким разрешением и один графический режим. Видеоадаптер подключался к монохромному (зелёному, желтому, светло-коричневому или, довольно редко, чёрно-белому) монитору.

В текстовом режиме на экран выводилось 25 строк текста по 80 символов в каждой строке. Этот режим был совместим со стандартом MDA. Разрешение в графическом режиме составляет 720348 пикселей. Так же, как и CGA и MDA, видеоконтроллер был построен на базе микросхемы MC6845, но был оснащён 64 кбайт видеопамяти вчетверо больше, чем CGA, и в 16 раз больше, чем MDA.

Для работы c ХТ необходима особая клавиатура. Какая попало не подойдет.

Дело в том, что коды клавиш и формат команд клавиатуры ХТ и появившейся позже АТ (которые сейчас PS/2) разные. И, несмотря на то что разъемы и распиновка с клавиатурой АТ совпадают, при подключении ее к ХТ машине она работать не будет. В переходный период между АТ и ХТ выпускались универсальные клавиатуры с переключателем АТ/ХТ. Сейчас достать такую клавиатуру достаточно проблематично, поэтому я спаял вот такой вот переходник.

Этот переходник принимает формат данных клавиатуры АТ и переделывает его в формат данных клавиатуры ХТ. Через этот переходник к ХТ машине можно подключить обычную современную клавиатуру PS/2 (заменив предварительно разъем на DIN5). Но потом я все же обзавелся нормальной клавиатурой с переключателем (на фото). Единственное, она оказалась немецкоязычной, вероятно, от какой то машины производства ФРГ. Нестандартное расположение некоторых символов немного затрудняет ее использование.

А вообще, каноничной для ХТ по раскладке является вот такая клавиатура (83 клавиши):

Ну а теперь заглянем внутрь.

Дисковод 360 Кб MITSUMI, жесткий диск СМ5508 (Болгария), 10 Мб, MFM, блок питания на 150 Вт, немного нестандартный формы. Выключатель сбоку, такое неудобное решение тогда было повсеместно. Только чуть позже стали выпускать блоки питания с выносным выключателем.

В слотах торчат следующие карты расширения:

1. Контроллер дисковода + порты СОМ 2 шт + порт принтера LPT. Все на одной плате. Плюс еще на ней смонтированы часы реального времени, на фотке батарейка от них. Вообще, в ХТ часы изначально не предусмотрены и БИОСом не поддерживаются.

2. Контроллер жесткого диска типа MFM. На этих дисках часть электроники была на самом диске, а часть на отдельной плате, которая втыкалась в слот. Только позже после появления спецификации АТА, вся эта электроника переехала на жесткий диск.

Жесткий диск советского (точнее, Болгарского) производства СМ5508, емкостью 10 Мб. Несмотря на более чем почтенный возраст, вполне исправен.

3. Видеокарта EGA EG-3000. Написал маркером название чтобы потом быстрее найти что же означает вся эта куча микропереключателей на ней. Кстати, наклейка на БИОСе видеокарты от широко известной в 90-е компании КОМПАН (КОМпьютеры Академии Наук). Эта видеокарта также позволяет подключить два обычных телевизора через тюльпаны.

4. Карта ввода/вывода, дает еще 2 дополнительных порта СОМ и один LPT.

А вот и сама материнка. На ней уже есть что то наподобие чипсета с маркировкой фирмы ACER и микросхем, в общем то, совсем немного. Пустые панельки под другой тип микросхем ОЗУ, менее емких чем те, что уже там установлены в других панельках. Они просто дублируют друг друга. Можно установить либо те, либо другие, смотря что оказалось под рукой или в магазине. Микросхема ПЗУ БИОСа одна, рядом пустая панелька. В нее, при желании, можно воткнуть еще одну ПЗУ со встроенным Бейсиком, например. Центральный процессор Р8088-1 фирмы AMD, судя по копирайту, выпущен по лицензии от Интел. Максимальная частота 10 МГц, напряжение питания 5 В. А вот математический сопроцессор D8087-2 чистый Интел. Максимальная частота 8 МГц, напряжение питания 5 В. Изначально сопроцессора не было, я его докупал и устанавливал отдельно. Математические сопроцессоры редко устанавливались на эти платы. Причина проста особой необходимости в нем не было, а стоил он как крыло от самолета. В общем, больше ничего про материнку сказать нечего она самая обычная, стандартная. Разъемы питания и точки крепления также стандартные.

Воспользовавшись тем что компьютер разобран, я решил его немного проапгрейдить поставить вместо советского 10 Мб MFM диска СМ5508, 20 Мб жесткий диск ST225 фирмы Seagate. Диск ST225 был весьма популярен в то время на просторах бывшего СССР, их было ввезено огромное количество и даже сейчас найти такой диск за вменяемые деньги не проблема. Однако подключить и запустить диск системы MFM не такая уж тривиальная задача. Как я уже показывал на фото, дисковая подсистема состоит из специализированного контроллера и самого диска, которые соединены шлейфами. Назначение сигналов, передаваемых между контроллером MFM и диском почти один в один повторяет аналогичные сигналы у дисководов гибких дисков, за мелкими отличиями (больше скорость приема/передачи, дисков не 2, а 4 и т. п.). Что, в общем то, логично, ведь подсистема жестких дисков, по сути, вышла из подсистемы гибких дисков. Или наоборот, сейчас уже не разберешь, что было первее, курица или яйцо. Только, в отличие от подсистемы гибких дисков, шлейфов используется два один общий для всех дисков (если их несколько), второй индивидуальный для каждого (по нему передаются данные). Вот эти два шлейфа нам и необходимо раздобыть. Первый шлейф найти проще всего, он 34-контактный, один в один совпадает с шлейфом для дисководов, если не использовать его дальнюю часть где часть жил сделана в перекрест. Отрезав эту часть мы легко получим то что нам нужно.

Со вторым шлейфом сложнее, у него меньше контактов, он не такой широкодоступный. Тем более для ST225 необходим шлейф, оконеченный краевым разъемом (как у 5 дюймовых дисководов). К счастью, у меня такой шлейф был в наличии.

Итак, железо собрали, диск подключили, что же дальше? Диск сразу будет виден в системе как это происходит с современными? Нет. Тут все намного сложнее. Во первых, на ХТ-машинах нет памяти CMOS, где хранятся настройки BIOSа, и, соответственно, BIOS Setup тоже нет. Где прописывать диск, его параметры, и прочее? Негде, кроме как на самом диске. Большинство контроллеров записывают эту информацию на каком-нибудь скрытом секторе диска и, чаще всего, этот диск можно прочитать только подключив совместно с этим же самым контроллером. Подключив диск к другому контроллеру необходимо по новой провести его форматирование, при этом, естественно, все данные теряются. Ну, нам то данные не жалко, главное чтобы работало.

Включаем комп, тот радостно сообщает что какой то один жесткий диск он видит. Отлично, значит железо работает, шлейфы подключены верно. Кстати, при работе с MFM дисками надо быть крайне внимательным, при ошибочном подключении очень велика вероятность все спалить. Теперь надо загрузиться каким-либо способом. Тут у меня возникла проблема. Стоящий на компе дисковод был на 360 Кб и в глаза не хотел видеть ни одну из моих дискет. Другие же доступные компы были с 5-дюймовыми дисководами на 1,2 Мб и ни в какую не хотели форматировать дискету на 360 Кб. В общем, промучавшись час, я просто подкинул 3,5 дюймовый дисковод. Но и тут была засада контроллер дисководов ХТшки не умел работать с дисками 1,44 Мб, только 720 Кб. Но это я уже проходил с Оливетти, поэтому, заклеив окошко на дискете, легко сделал загрузочную на 720 Кб.

Продолжаем танцы с бубнами. Чтобы начать работать с MFM диском надо сначала провести низкоуровневое форматирование. В более поздних материнках это можно было сделать утилитой в специальном пункте меню BIOS Setup, а здесь этого нет. Но на самом деле это все есть, только очень глубоко скрыто - утилита располагается на ПЗУ контроллера диска! Как же до нее добраться? Это можно сделать с помощью программыdebug.com, которая, как я уже говорил, является неким эмулятором МОНИТОРа. Специальной командой можно запустить на выполнение код, находящийся в любом месте адресного пространства ПК. Для контроллеров MFM это чаще всего это команда g=C800:5. Где g команда запуска исполнения кода, С800[0] адрес в памяти ПК (819-й килобайт), куда отсвечивает ПЗУ контроллера MFM, 5 смещение в сегменте памяти, по которому начинается исполняемый код. Запустив эту команду на экране тут же появляется меню встроенной утилиты контроллера.

Он предлагает на выбор 3 варианта произвести низкоуровневое форматирование, выполнить парковку головок, выйти из утилиты.

Да! Очень важное замечание. Диски MFM необходимо всегда перед выключением питания парковать, т.е. передвигать головки в парковочную зону диска, где они не могут повредить поверхность с данными, если головка ее коснется когда диск остановится. Это делается с помощью специальной утилиты PARK, которую необходимо не забывать запускать перед выключением питания. Забывчивость может привести к повреждению диска и прилипанию головок к поверхности.

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

После низкоуровневого форматирования необходимо по новой создать разделы на диске досовской утилитой FDISK. Для такого маленького диска, раздел, разумеется, будет только один. После перезагрузки созданный раздел необходимо отформатировать досовской утилитой FORMAT.

Фуф. Раздел готов, отформатирован и на него можно записывать файлы! Теперь надо установить на него операционную систему, сделать загрузочным. Установка ДОСа происходит (в отличие от всяких там виндовсов) крайне просто, командой SYS системные файлы копируются с загрузочной дискеты на диск и он становится загрузочным!

До кучи скопируем Волков Коммандер, SCANDISK и прочие нужные утилиты. Ввиду очень ограниченного объема диска, копировать на него папку со всеми утилитами ДОСа нецелесообразно, лучше скопировать только самое-самое необходимое.

Проверив диск и его поверхность утилитой SCANDISK, приятно видеть, что несмотря на почтенный возраст, на диске 0 сбойных секторов. Что не удивительно при такой сверхнизкой плотности записи.

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

В ХТ производительность очень сильно различается при нажатии кнопки ТУРБО на передней панели. Связано это с тем что эта кнопка физически в два раза увеличивает реальную тактовую частоту процессора. В более поздних 286 и 386, насколько мне известно, эта кнопка только меняла тайминги памяти и частоту шины на более агрессивные, рабочая частота процессора не менялась.

С ненажатой кнопкой производительнось почти ровно как у исходной ХТ и только мат.сопроцессор в 17 раз круче чем у ХТ (вероятно потому, что в ХТ изначально не было мат. сопроцессора, он эмулировался).

При нажатии кнопки ТУРБО все становится ровно в два раза быстрее. Тест видеопамяти:

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

Подробнее..

Электромеханический арифмометр ВК-2

02.01.2021 14:12:00 | Автор: admin

Предлагаю вам обзор электромеханического арифмометра ВК-2. Хоть это и не компьютер, в современном понимании, но тоже относится к вычислительным устройствам. Название расшифровывается как Вычислитель Клавишный, вторая модель . Слово клавишный, вынесенное в название призвано подчеркнуть одно из основных достоинств машины ввод чисел и операций с помощью клавиш. Что же в этом такого особенного?

Машина представляет собой дальнейшее усовершенствование известнейшего арифмометра Однера (арифмометры Феликс и ему подобные). Усовершенствования направлены прежде всего на ускорение работы и автоматизацию некоторых операций. В частности, одним из самых больших неудобств является то, что в арифмометре Феликс число необходимо набирать на барабане с помощью рычажков, по очереди двигая их на соответствующую позицию. Это занимает достаточно много времени и требует внимания оператора. В данном арифмометре (как и в предыдущей модели, ВК-1) числа вводятся намного быстрее - нажатием цифровых клавиш, почти как в современном калькуляторе. Также в нем полностью автоматизированы операции деления и очистки установочного регистра (барабана). Умножение полуавтоматическое.

Арифмометр выпускался с 1951 по начало 1970-х. Данная модель выпущена в 1974 г., одна из последних. Сделан по образу и подобию шведской модели фирмы FACIT, которая выпускалась с 1939 года. Вес 11 кг.

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

Назначение рычажков и клавиш.

Клавиша с цифрой 0 служит для сброса. При ее нажатии установочный барабан обнуляется, сдвигается в крайнее правое положение и готов ко вводу нового числа.

Клавиши со стрелочками служат для ручного сдвига барабана на разряд влево, вправо и в крайнее левое положение (для операции деления). Эти клавиши аналогичны по назначению таким же у арифмометров Феликс и ВК-1.

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

Клавиша х ведет себя почти как клавиша +, за исключением того, что после одного оборота автоматического обнуления не происходит и барабан может вращаться до тех пор пока клавиша держится нажатой. Это необходимо для операции умножения, далее рассмотрим подробнее почему это нужно.

Клавиша служит одновременно для вычитания и для деления. В автоматическом режиме запускается деление, в ручном вычитание.

Большой рычажок внизу имеет 3 положения левое, среднее и правое и отвечает за автоматический сдвиг барабана. Если рычажок в правом положении, барабан автоматически сдвигается вправо (необходимо для операции деления), если в левом сдвигается влево (необходимо для операции умножения), если в среднем стоит на месте (при операциях сложения и вычитания).

Маленький рычажок под клавишей сброса (с надписью СТОП) служит для прерывания работы если из-за неправильно выставленных рычажках машина зациклилась или делит на ноль. Также этот рычажок отвечает за автоматическое обнуление барабана после однократного нажатия на клавиши х или .

Электромеханические кишочки машины. Как видно, внутри одни железки и нет ни единого полупроводника. Машина приводится в действие асинхронным электродвигателем.

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

Кому-то может показаться это немного непривычным из-за отсутствия кнопки =, но так было на всех машинах того времени. Более того, даже первые электронные калькуляторы повторяли приемы работы как на механических арифмометрах и на них тоже отсутствовала клавиша = (например, калькулятор Б3-24).

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

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

Сложнее производится умножение. Оно, как было написано выше, полуавтоматическое. Это значит, что требуется внимание оператора. Обнуляем счетчики результата и оборотов. Рычажок внизу ставим в левое положение, на установочном барабане набираем первый множитель. Затем нажимаем и удерживаем клавишу х до тех пор пока в первом разряде счетчика оборотов не нащелкается такое число, сколько единиц во втором множителе. После отпускания клавиши барабан автоматически переместится на один разряд влево. Снова нажимаем и удерживаем клавишу х до тех пор пока во втором разряде счетчика оборотов не нащелкается количество десятков во втором множителе. Аналогичным образом пробегаем по всем разрядам второго множителя.

Это, наверное, может показаться сложным и непонятным, но на самом деле это я описываю процесс долго и нудно, если понять математический смысл операции, то на практике это происходит легко и быстро! А математический смысл операции умножения простой он аналогичен умножению в столбик, которое все проходили в школе. Сначала мы умножаем первый множитель на количество единиц во втором, потом на количество десятков, потом сотен, и т. д. А промежуточные множители записываем со сдвигом на один разряд и потом суммируем. Машина делает то же самое. Именно для этого барабан и сдвигается каждый раз на один разряд. При умножении дробных чисел все происходит аналогично, но необходимо правильно расставить запятые. Они подвижные и в круглом окошке у каждой запятой виднеется циферка на линейке. Так вот, у произведения запятая должна стоять на таком месте, чтобы ее цифра была суммой цифр запятых множителей.

Кстати, машина крутит двигателем довольно бодро и считает очень шустро и если нет достаточного навыка, может не получится вовремя отпустить клавишу и в каком-то разряде машина насчитает больше или меньше на единицу. Это не беда, результат всегда можно потом подкорректировать в ручном режиме с помощью клавиш ручного перемещения барабана.

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

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

Небольшое видео с демонстрацией работы.

Что происходит на видео: вычисляем (758,36 + 44,20 - 356,99) * 125,74 / 14,01.

Сбрасываем счетчики, обнуляем барабан. Вводим число 758,36, прибавляем к нему 44,20, получаем промежуточный результат 802,56. Затем вычитаем из него 356,99 (промежуточный результат 445,57). Результат заново набираем на барабане, сбрасываем счетчики и умножаем его на 125,74 в полуавтоматическом режиме. Корректируем результат, получаем 56025,9718. Это число заново набираем на барабане, переносим в левую часть и делим на 14,01. Получаем окончательный результат 3998,9987.

Вопросы и замечания прошу писать в комментариях.

Подробнее..

IBM PCAT

05.01.2021 16:09:52 | Автор: admin

Представляю вам очередной обзор ретро ЭВМ на этот раз клона компьютера IBM PC AT, он же 286, он же "двойка" . Несмотря на то, что это клон, он почти один-в-один, вплоть до расположения микросхем на печатной плате, повторяет оригинальный IBM 5170.

IBM PC/AT (cокращение от Advanced Technology ) относится к 3 поколению семейства компьютеров IBM PC (после, собственно, IBM PC и IBM PC/XT). Именно компьютеры этого поколения можно назвать прародителями всех современных компьютеров семейства х86, поскольку именно в этом поколении появились большое количество нововведений и фич, которые сохраняются для совместимости и поныне. Конечно, многие эти фичи со временем превратились в палки, мешающие дальнейшему развитию системы, для их обхода придуманы многочисленные костыли. Есть мнение, что система х86 до сих пор держит пальму первенства по количеству атавизмов, заплат и костылей, наделанных с момента появления первого IBM PC/AT.

Первые IBM PC/AT были выпущены в 1984 г. Мой экземпляр, судя по датам на микросхемах примерно 1988 г. выпуска. Начали его делать в 1986 году. На это указывают даты БИОСа и копирайты.

Что же было введено нового в этом компьютере по сравнению с предыдущими моделями?

Прежде всего, это применение самого современного на тот момент процессора 80286. Процессор позволял адресовать 16 Мб оперативной памяти по 16-разрядной шине данных и работал на частоте 6 или 8 МГц.

По сравнению с IBM PC/XT это существенный шаг вперед, обеспечивающий в 3-6 раз большую производительность. Также этот процессор поддерживал защищенный режим и многозадачность, но она была реализована не очень удачно и была несовместима с ранее разработанными программами для х86. Поэтому многозадачные ОС использовались на IBM PC/AT очень ограниченно, в основном там безраздельно властвовал DOS.

16-разрядная шина данных потянула за собой новую шину AT-bus (ISA 16 бит). Эта шина была механически совместимой и со старой 8-битной шиной что сделало ее достаточно популярной. Настолько, что она продержалась почти 20 лет и исчезла с материнских плат компьютеров лишь в начале 2000-х годов. Эта шина также широко использовалась (и до сих пор используется) во встраиваемых системах, где она известна как шина РС/104.

Эта шина также дала жизнь популярному параллельному интерфейсу подключения жестких дисков IDE. Спецификация ATA (AT attachment) по сути является лишь буферизированной шиной АТ. Этот интерфейс продержался еще дольше и исчез с материнских плат только в 2010-х.

На плате IBM PC/AT появилась микросхема CMOS-памяти, в которой хранились настройки BIOS Setup. Теперь конфигурировать аппаратные средства можно было программно, а не перемычками на плате. Эта память питалась от маломощной батарейки. Эта же батарейка питала и часы реального времени, наличие которых начиная с этой модели стало стандартом. Теперь не надо каждый раз при старте компьютера вручную вводить дату и время.

Кстати, один очень интересный нюанс: в этом клоне, как и в оригинальной машине IBM PC/AT нет встроенной в ПЗУ программы BIOS Setup. При старте компьютера сколько не нажимай DEL, F2 и прочие комбинации, ничего не произойдет. Я поначалу не знал этого нюанса и меня это очень озадачивало. Специальную программу для конфигурации BIOS'а нужно запускать с диска как и любую другую программу для DOS. Оригинальную, конкретно для этой платы, конечно же найти не удалось, но благодаря высокой степени стандартизации расположения данных в микросхеме CMOS, подойдет и любая другая. Вот как она примерно выглядит.

Отсутствие встроенного BIOS Setupа встретилось мне еще в одном клоне IBM PC/AT, даже еще более "современном". А так, практически во всех 286 клонах программа BIOS Setup уже была зашита в ПЗУ BIOSa и вызывалась привычным всем нам образом - нажатием клавиши DEL. Даже более того, на некоторых платах 286 в ПЗУ была зашита программа тестирования железа, такой простенький аналог Check Itа. На 386 такого уже не было. Но зато на некоторых 486 появился модный графический (!) BIOS Setup с окошками а-ля Windows 3.0!

Также с новым компьютером появилась и новая клавиатура, несовместимая с IBM PC/XT. Раскладка этой клавиатуры стала стандартом де-факто и используется и поныне. Также высок уровень ее аппаратной совместимости. АТ - клавиатуру 1986 года выпуска можно подключить к современному компу через переходник DIN-PS/2, и через обратный переходник можно подключить относительно современную PS/2 клавиатуру к старому IBM PC/AT. И на удивление все будет работать.

В новой модели стали доступны дисководы 5" с емкостью 1,2 Мбайт (на ХТ и ранее поддерживались обычно дискеты не более 720 Кб), а со временем и дисководы 3". В моей модели стоят 2 шт MD 5201 фирмы Canon, емкостью по 360 КБ (исключительно ради исторического соответствия, можно без проблем поменять на 1,2 Мб, и на 3-дюймовые). Обычно в моделях тех лет ставили 2 разных дисковода. Один умел работать со 180 КБ, 360 КБ, 720 КБ, второй с 1,2 Мб. Потому как дискеты для тех и других достаточно сильно несовместимы. Различие связано с коэрцитивной силой магнитного слоя, у дискеты на 1,2 Мб она в 2 раза выше.

Перечень видеоадаптеров для этой модели поражает воображение можно было поставить любой, MDA, CGA, EGA и даже, появившийся позднее VGA. И все будет работать! В моем ПК стоит видеоадаптер PGA или PGC (Professional Graphics Adapter или Professional Graphics Controller) фирмы ORCHID.

Данный контроллер позволяет выводить 256 цветов на экран разрешением 640х480 (как у появившегося намного позднее VGA). Это очень интересный адаптер, даже по одному его виду можно понять что стоил он в свое время баснословных денег. Огромная плата, под завязку забитая микросхемами и заправляет там всем процессор 80186.

Это тот самый процессор, промежуточное звено между 8086 процессором и 80286. Этот процессор никогда не ставился в персональные компьютеры, а применялся в основном, во встраиваемых системах. Вот и здесь он рулит выводом картинки на экран. Еще один интересный момент: этот видеоадаптер, по сути состоит из двух видеоадаптеров: EGA и PGA.

Нашлепка вторым этажом обычная видеокарта EGA, ее контакты непосредственно выходят на шину ISA. Видеосигналы с этой платы выходят на выходные разъемы через контакты реле на основной плате. Таким образом, компьютер стартует и начинает работать как бы с видеоадаптером EGA, но когда драйвер PGA дает команду своему адаптеру включится, тот с помощью реле отключает адаптер EGA от монитора и подключает вместо него себя.

Для работы с таким хитрым адаптером, конечно же необходим специальный монитор, который должен как поддерживать эти режимы, так и быть совместимым по уровням сигналов. В отличие от видеоадаптеров CGA и EGA, где выходные уровни сигналов цифровые ТТЛ (0 В или 5 В), уровни сигналов RGB этого видеоадаптера аналоговые амплитудой 1 В (как, например, аналоговые сигналы RGB в видеокартах VGA или как аналоговые сигналы RGB в большинстве отечественных ПК). В настоящее время найти монитор CGA или EGA уже существенная проблема, не говоря уж о таком, весьма специфическом мониторе.

Поэтому для этого компьютера я решил взять обычный монитор VGA или SVGA и немного его доработать, сделать возможным его работу на пониженной частоте строчной развертки. Мне попался под руку монитор неизвестной фирмы TYSTAR. Вообще, для такой доработки подойдет любой монитор с аналоговыми регулировками. Процесс доработки я насколько это возможно подробно расписал на сайте zx-pk.ru (http://personeltest.ru/aways/zx-pk.ru/threads/29452-peredelka-vga-na-15-kgts-dubl-2.html). Вкратце, доработка сводится к понижению напряжения питания строчной развертки тем или иным способом, понижению частоты строчной развертки и коррекции геометрических искажений, возникающих при снижении частоты.

После такой доработки монитор можно подключать и к отечественным компьютерам со стандартной телевизионной частотой развертки 15,625 кГц. При этом монитор обеспечивает намного более высокое качество картинки чем бытовой телевизор, благодаря применению компьютерного кинескопа с более мелким зерном. При этом сохраняется и некая аутентичность.

Порты COM, GAME и LPT обеспечиваются отдельным контроллером.

В компьютер также воткнуты ISA сетевая карта и ISA модем, так что теоретически возможно подключение компьютера к интернету.

На шине ISA сидит MFM-контроллер КТ-102, контроллер ничем не примечательный, работает совместно с широко распространенным жестким диском MFM типа ST-225 фирмы Seagate емкостью аж целых 20 Мб.

На контроллер даже сохранился бумажный мануал!

На материнской плате в панельках набраны 640 кБ ОЗУ (тех, которых должно хватать каждому).

Рядом стоят панельки для ПЗУ, их четыре, заняты две (вероятно, старший и младший байты 16-разрядного слова). Под небольшим радиатором в панельке стоит процессор в керамическом корпусе, рядом математический сопроцессор 80287.

Все остальное пространство материнской платы плотно забито микросхемами малой и средней степени интеграции. Специализированного чипсета на материнке нет, все собрано на рассыпухе. Материнская плата формата АТ, а точнее full AT. Она значительно больше как по длине, так и по ширине. Не во всякий АТ корпус она залезет. Как правило, значительная часть АТ корпусов допускает установку плат формата baby AT и меньше (micro AT и пр.).

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

В шину АТ также втыкается интересная штуковина плата расширения оперативной памяти. Она нужна для тех, кому уже не хватает 640 кБ ОЗУ. Поскольку на шину АТ отображаются все проводники адреса и данных, прямо в слот можно воткнуть дополнительную память.

Такой фокус возможен на самых первых материнках, с простой логикой на рассыпухе. На более поздних, собранных на чипсете, такой фокус может и не пройти. На дополнительной плате смонтирован свой собственный контроллер динамического ОЗУ и 5 банков памяти по 512 кБ, всего 2,5 Мб дополнительной памяти. Интересная особенность платы дополнительных банков памяти 5 шт, число нечетное и не степень двойки. Описание на эту плату я найти не смог, даже на сайте th99. Причем, все подобные платы имеют, по крайней мере, четное число банков памяти - 2, 4 или 6. С пятью банками нет вообще ни одной.

Блок питания, несмотря на заявленную мощность всего в 200 Вт поражает качествои исполнения силовой части. Все очень мощно сделано, с большим запасом. Это особенно бросается в глаза после сравнения с появившимися позже в огромном количестве дешевыми китайскими блоками питания. Выключатель питания сбоку корпуса, как и на ХТ. Выводить его на переднюю панель начали после распространения уменьшенных по размеру материнских плат в формате baby AT.

Попробуем теперь запустить компьютер. При старте кратковременно высвечивается строка с версией BIOS EGA видеоадаптера.

Потом появляются сообщения БИОСа материнской платы, начинается тест памяти.

Если с жестким диском все ок, он размечен, отформатирован и правильно прописан, с него начинает грузиться MS DOS.

Показывать на нем особо интересного нечего, поэтому по традиции запустим тесты Check It.

Как видно из тестов, данный компьютер всего в 3 с копейками раза быстрее исходного IBM PC, в 23 раз быстрее его по математическим операциям и в 2 с лишним раза быстрее по видеоподсистеме. И по ощущениям тормозит лишь ненамного меньше чем ХТ-шки. Ну, а действительно, что еще ждать от процессора с частотой 6 МГц.

Но это уже 286! В него можно воткнуть видеокарту VGA и запускать значительно большее количество игрушек и различных программ. Например, вот как выглядит игра Block Out на EGA.

Вот и все что я хотел рассказать об этом экспонате. Предложения и замечания прошу писать в комментариях.

Подробнее..

Recovery mode МОБА здорового человека (концепт)

24.12.2020 22:23:19 | Автор: admin
На здоровье сегодняшнего киберспортсмена сказывается целый ряд негативных факторов, источником которых является несовершенство спортинвентаря (устройств ввода). В связи с этим принято решение, в преддверии скорого выхода основной статьи на тему, опубликовать в качестве иллюстрации к ней один из концептов трансформации устройств ввода-вывода для игр в изометрической проекции.

Просим прощения за качество контента. Концепт родился за пару минут на пике дебатов в отсутствии иллюстратора.

image

Сенсорный экран выводящий разом всё игровое поле + вывод основных внутриигровых команд на замыкаемые в различных комбинациях контакты на руку/руки.

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

Категории

Последние комментарии

© 2006-2021, personeltest.ru